[tint][intrinsic] Add 'Table' and 'Dialect' types
Re-introduce a Table class that wraps new Dialect structures. This makes the lookup functions type-safe by statically associating the table data with the enum types.
Should avoid bugs where the wrong dialect enum is used to look up entries from a different dialect's table.
Change-Id: Ic2ffdb44a5463de3a70211cbb131d9b73f079ec0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/153620
Kokoro: Kokoro <noreply+kokoro@google.com>
Auto-Submit: Ben Clayton <bclayton@google.com>
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: James Price <jrprice@google.com>
diff --git a/src/tint/lang/core/constant/BUILD.bazel b/src/tint/lang/core/constant/BUILD.bazel
index 6b5ca7b..6904781 100644
--- a/src/tint/lang/core/constant/BUILD.bazel
+++ b/src/tint/lang/core/constant/BUILD.bazel
@@ -94,6 +94,7 @@
"//src/tint/lang/core/type:test",
"//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
+ "//src/tint/lang/wgsl/intrinsic",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/reader",
"//src/tint/lang/wgsl/resolver",
diff --git a/src/tint/lang/core/constant/BUILD.cmake b/src/tint/lang/core/constant/BUILD.cmake
index 5e1666d..d77761f 100644
--- a/src/tint/lang/core/constant/BUILD.cmake
+++ b/src/tint/lang/core/constant/BUILD.cmake
@@ -93,6 +93,7 @@
tint_lang_core_type_test
tint_lang_wgsl
tint_lang_wgsl_ast
+ tint_lang_wgsl_intrinsic
tint_lang_wgsl_program
tint_lang_wgsl_reader
tint_lang_wgsl_resolver
diff --git a/src/tint/lang/core/constant/BUILD.gn b/src/tint/lang/core/constant/BUILD.gn
index 4d5ccd8..2f15285 100644
--- a/src/tint/lang/core/constant/BUILD.gn
+++ b/src/tint/lang/core/constant/BUILD.gn
@@ -96,6 +96,7 @@
"${tint_src_dir}/lang/core/type:unittests",
"${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
+ "${tint_src_dir}/lang/wgsl/intrinsic",
"${tint_src_dir}/lang/wgsl/program",
"${tint_src_dir}/lang/wgsl/reader",
"${tint_src_dir}/lang/wgsl/resolver",
diff --git a/src/tint/lang/core/intrinsic/BUILD.bazel b/src/tint/lang/core/intrinsic/BUILD.bazel
index 2ef3c24..5dfde8d 100644
--- a/src/tint/lang/core/intrinsic/BUILD.bazel
+++ b/src/tint/lang/core/intrinsic/BUILD.bazel
@@ -27,12 +27,15 @@
name = "intrinsic",
srcs = [
"ctor_conv.cc",
+ "data.cc",
"table.cc",
],
hdrs = [
"ctor_conv.h",
+ "dialect.h",
"table.h",
"table_data.h",
+ "type_matchers.h",
],
deps = [
"//src/tint/lang/core",
@@ -65,11 +68,11 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/intrinsic",
- "//src/tint/lang/core/intrinsic/data",
"//src/tint/lang/core/type",
"//src/tint/lang/core/type:test",
"//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
+ "//src/tint/lang/wgsl/intrinsic",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/resolver",
"//src/tint/lang/wgsl/resolver:test",
diff --git a/src/tint/lang/core/intrinsic/BUILD.cmake b/src/tint/lang/core/intrinsic/BUILD.cmake
index 713c8eb..399d71d 100644
--- a/src/tint/lang/core/intrinsic/BUILD.cmake
+++ b/src/tint/lang/core/intrinsic/BUILD.cmake
@@ -21,8 +21,6 @@
# Do not modify this file directly
################################################################################
-include(lang/core/intrinsic/data/BUILD.cmake)
-
################################################################################
# Target: tint_lang_core_intrinsic
# Kind: lib
@@ -30,9 +28,12 @@
tint_add_target(tint_lang_core_intrinsic lib
lang/core/intrinsic/ctor_conv.cc
lang/core/intrinsic/ctor_conv.h
+ lang/core/intrinsic/data.cc
+ lang/core/intrinsic/dialect.h
lang/core/intrinsic/table.cc
lang/core/intrinsic/table.h
lang/core/intrinsic/table_data.h
+ lang/core/intrinsic/type_matchers.h
)
tint_target_add_dependencies(tint_lang_core_intrinsic lib
@@ -66,11 +67,11 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_intrinsic
- tint_lang_core_intrinsic_data
tint_lang_core_type
tint_lang_core_type_test
tint_lang_wgsl
tint_lang_wgsl_ast
+ tint_lang_wgsl_intrinsic
tint_lang_wgsl_program
tint_lang_wgsl_resolver
tint_lang_wgsl_resolver_test
diff --git a/src/tint/lang/core/intrinsic/BUILD.gn b/src/tint/lang/core/intrinsic/BUILD.gn
index f66d3fe..2ee3356 100644
--- a/src/tint/lang/core/intrinsic/BUILD.gn
+++ b/src/tint/lang/core/intrinsic/BUILD.gn
@@ -33,9 +33,12 @@
sources = [
"ctor_conv.cc",
"ctor_conv.h",
+ "data.cc",
+ "dialect.h",
"table.cc",
"table.h",
"table_data.h",
+ "type_matchers.h",
]
deps = [
"${tint_src_dir}/lang/core",
@@ -65,11 +68,11 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/intrinsic",
- "${tint_src_dir}/lang/core/intrinsic/data",
"${tint_src_dir}/lang/core/type",
"${tint_src_dir}/lang/core/type:unittests",
"${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
+ "${tint_src_dir}/lang/wgsl/intrinsic",
"${tint_src_dir}/lang/wgsl/program",
"${tint_src_dir}/lang/wgsl/resolver",
"${tint_src_dir}/lang/wgsl/resolver:unittests",
diff --git a/src/tint/lang/core/intrinsic/data/data.cc b/src/tint/lang/core/intrinsic/data.cc
similarity index 99%
copy from src/tint/lang/core/intrinsic/data/data.cc
copy to src/tint/lang/core/intrinsic/data.cc
index 94f9779..804e52f 100644
--- a/src/tint/lang/core/intrinsic/data/data.cc
+++ b/src/tint/lang/core/intrinsic/data.cc
@@ -14,7 +14,7 @@
////////////////////////////////////////////////////////////////////////////////
// File generated by 'tools/src/cmd/gen' using the template:
-// src/tint/lang/core/intrinsic/data/data.cc.tmpl
+// src/tint/lang/core/intrinsic/data.cc.tmpl
//
// To regenerate run: './tools/run gen'
//
@@ -24,11 +24,11 @@
#include <limits>
#include <string>
-#include "src/tint/lang/core/intrinsic/data/data.h"
-#include "src/tint/lang/core/intrinsic/data/type_matchers.h"
+#include "src/tint/lang/core/intrinsic/dialect.h"
+#include "src/tint/lang/core/intrinsic/type_matchers.h"
#include "src/tint/utils/text/string_stream.h"
-namespace tint::core::intrinsic::data {
+namespace tint::core::intrinsic {
namespace {
@@ -12233,7 +12233,7 @@
} // anonymous namespace
-const core::intrinsic::TableData kData{
+const core::intrinsic::TableData Dialect::kData{
/* template_types */ kTemplateTypes,
/* template_numbers */ kTemplateNumbers,
/* type_matcher_indices */ kTypeMatcherIndices,
@@ -12268,4 +12268,4 @@
/* unary '-' */ kUnaryOperators[kUnaryOperatorMinus],
};
-} // namespace tint::core::intrinsic::data
+} // namespace tint::core::intrinsic
diff --git a/src/tint/lang/core/intrinsic/data/data.cc.tmpl b/src/tint/lang/core/intrinsic/data.cc.tmpl
similarity index 77%
rename from src/tint/lang/core/intrinsic/data/data.cc.tmpl
rename to src/tint/lang/core/intrinsic/data.cc.tmpl
index 0879608..6e29145 100644
--- a/src/tint/lang/core/intrinsic/data/data.cc.tmpl
+++ b/src/tint/lang/core/intrinsic/data.cc.tmpl
@@ -19,14 +19,14 @@
#include <limits>
#include <string>
-#include "src/tint/lang/core/intrinsic/data/data.h"
-#include "src/tint/lang/core/intrinsic/data/type_matchers.h"
+#include "src/tint/lang/core/intrinsic/dialect.h"
+#include "src/tint/lang/core/intrinsic/type_matchers.h"
#include "src/tint/utils/text/string_stream.h"
-namespace tint::core::intrinsic::data {
+namespace tint::core::intrinsic {
{{ Eval "Data"
"Intrinsics" $I
- "Name" "kData" -}}
+ "Name" "Dialect::kData" -}}
-} // namespace tint::core::intrinsic::data
+} // namespace tint::core::intrinsic
diff --git a/src/tint/lang/core/intrinsic/data/BUILD.bazel b/src/tint/lang/core/intrinsic/data/BUILD.bazel
deleted file mode 100644
index 7359e8e..0000000
--- a/src/tint/lang/core/intrinsic/data/BUILD.bazel
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 2023 The Tint Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-################################################################################
-# File generated by 'tools/src/cmd/gen' using the template:
-# tools/src/cmd/gen/build/BUILD.bazel.tmpl
-#
-# To regenerate run: './tools/run gen'
-#
-# Do not modify this file directly
-################################################################################
-
-load("//src/tint:flags.bzl", "COPTS")
-load("@bazel_skylib//lib:selects.bzl", "selects")
-cc_library(
- name = "data",
- srcs = [
- "data.cc",
- ],
- hdrs = [
- "data.h",
- "type_matchers.h",
- ],
- deps = [
- "//src/tint/lang/core",
- "//src/tint/lang/core/constant",
- "//src/tint/lang/core/intrinsic",
- "//src/tint/lang/core/type",
- "//src/tint/utils/containers",
- "//src/tint/utils/diagnostic",
- "//src/tint/utils/ice",
- "//src/tint/utils/id",
- "//src/tint/utils/macros",
- "//src/tint/utils/math",
- "//src/tint/utils/memory",
- "//src/tint/utils/result",
- "//src/tint/utils/rtti",
- "//src/tint/utils/symbol",
- "//src/tint/utils/text",
- "//src/tint/utils/traits",
- ],
- copts = COPTS,
- visibility = ["//visibility:public"],
-)
-
diff --git a/src/tint/lang/core/intrinsic/data/BUILD.cmake b/src/tint/lang/core/intrinsic/data/BUILD.cmake
deleted file mode 100644
index dc4cb63..0000000
--- a/src/tint/lang/core/intrinsic/data/BUILD.cmake
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 2023 The Tint Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-################################################################################
-# File generated by 'tools/src/cmd/gen' using the template:
-# tools/src/cmd/gen/build/BUILD.cmake.tmpl
-#
-# To regenerate run: './tools/run gen'
-#
-# Do not modify this file directly
-################################################################################
-
-################################################################################
-# Target: tint_lang_core_intrinsic_data
-# Kind: lib
-################################################################################
-tint_add_target(tint_lang_core_intrinsic_data lib
- lang/core/intrinsic/data/data.cc
- lang/core/intrinsic/data/data.h
- lang/core/intrinsic/data/type_matchers.h
-)
-
-tint_target_add_dependencies(tint_lang_core_intrinsic_data lib
- tint_lang_core
- tint_lang_core_constant
- tint_lang_core_intrinsic
- tint_lang_core_type
- tint_utils_containers
- tint_utils_diagnostic
- tint_utils_ice
- tint_utils_id
- tint_utils_macros
- tint_utils_math
- tint_utils_memory
- tint_utils_result
- tint_utils_rtti
- tint_utils_symbol
- tint_utils_text
- tint_utils_traits
-)
diff --git a/src/tint/lang/core/intrinsic/data/BUILD.gn b/src/tint/lang/core/intrinsic/data/BUILD.gn
deleted file mode 100644
index 289deb7..0000000
--- a/src/tint/lang/core/intrinsic/data/BUILD.gn
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 2023 The Tint Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-################################################################################
-# File generated by 'tools/src/cmd/gen' using the template:
-# tools/src/cmd/gen/build/BUILD.gn.tmpl
-#
-# To regenerate run: './tools/run gen'
-#
-# Do not modify this file directly
-################################################################################
-
-import("../../../../../../scripts/tint_overrides_with_defaults.gni")
-
-import("${tint_src_dir}/tint.gni")
-
-libtint_source_set("data") {
- sources = [
- "data.cc",
- "data.h",
- "type_matchers.h",
- ]
- deps = [
- "${tint_src_dir}/lang/core",
- "${tint_src_dir}/lang/core/constant",
- "${tint_src_dir}/lang/core/intrinsic",
- "${tint_src_dir}/lang/core/type",
- "${tint_src_dir}/utils/containers",
- "${tint_src_dir}/utils/diagnostic",
- "${tint_src_dir}/utils/ice",
- "${tint_src_dir}/utils/id",
- "${tint_src_dir}/utils/macros",
- "${tint_src_dir}/utils/math",
- "${tint_src_dir}/utils/memory",
- "${tint_src_dir}/utils/result",
- "${tint_src_dir}/utils/rtti",
- "${tint_src_dir}/utils/symbol",
- "${tint_src_dir}/utils/text",
- "${tint_src_dir}/utils/traits",
- ]
-}
diff --git a/src/tint/lang/core/intrinsic/data/data.h b/src/tint/lang/core/intrinsic/data/data.h
deleted file mode 100644
index 8325e74..0000000
--- a/src/tint/lang/core/intrinsic/data/data.h
+++ /dev/null
@@ -1,26 +0,0 @@
-// 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_LANG_CORE_INTRINSIC_DATA_DATA_H_
-#define SRC_TINT_LANG_CORE_INTRINSIC_DATA_DATA_H_
-
-#include "src/tint/lang/core/intrinsic/table_data.h"
-
-namespace tint::core::intrinsic::data {
-
-extern const TableData kData;
-
-} // namespace tint::core::intrinsic::data
-
-#endif // SRC_TINT_LANG_CORE_INTRINSIC_DATA_DATA_H_
diff --git a/src/tint/lang/core/intrinsic/dialect.h b/src/tint/lang/core/intrinsic/dialect.h
new file mode 100644
index 0000000..53621d7
--- /dev/null
+++ b/src/tint/lang/core/intrinsic/dialect.h
@@ -0,0 +1,46 @@
+// 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_LANG_CORE_INTRINSIC_DIALECT_H_
+#define SRC_TINT_LANG_CORE_INTRINSIC_DIALECT_H_
+
+#include "src/tint/lang/core/builtin_fn.h"
+#include "src/tint/lang/core/intrinsic/ctor_conv.h"
+#include "src/tint/lang/core/intrinsic/table_data.h"
+
+namespace tint::core::intrinsic {
+
+/// Dialect holds the intrinsic table data and types for the core dialect
+struct Dialect {
+ /// The dialect's intrinsic table data
+ static const TableData kData;
+
+ /// The dialect's builtin function enumerator
+ using BuiltinFn = core::BuiltinFn;
+
+ /// The dialect's type constructor / convertor enumerator
+ using CtorConv = core::intrinsic::CtorConv;
+
+ /// @returns the name of the builtin function @p fn
+ /// @param fn the builtin function
+ static std::string_view ToString(BuiltinFn fn) { return str(fn); }
+
+ /// @returns the name of the type constructor / convertor @p ty
+ /// @param ty the type constructor / convertor
+ static std::string_view ToString(CtorConv ty) { return str(ty); }
+};
+
+} // namespace tint::core::intrinsic
+
+#endif // SRC_TINT_LANG_CORE_INTRINSIC_DIALECT_H_
diff --git a/src/tint/lang/core/intrinsic/table.cc b/src/tint/lang/core/intrinsic/table.cc
index ef46dc0..b01a447 100644
--- a/src/tint/lang/core/intrinsic/table.cc
+++ b/src/tint/lang/core/intrinsic/table.cc
@@ -98,7 +98,7 @@
/// @returns the matched intrinsic
Result<Overload> MatchIntrinsic(Context& context,
const IntrinsicInfo& intrinsic,
- const char* intrinsic_name,
+ std::string_view intrinsic_name,
VectorRef<const core::type::Type*> args,
EvaluationStage earliest_eval_stage,
TemplateState templates,
@@ -131,7 +131,7 @@
/// @returns the resolved Candidate.
Candidate ResolveCandidate(Context& context,
Candidates&& candidates,
- const char* intrinsic_name,
+ std::string_view intrinsic_name,
VectorRef<const core::type::Type*> args,
TemplateState templates);
@@ -152,24 +152,24 @@
void PrintOverload(StringStream& ss,
Context& context,
const OverloadInfo& overload,
- const char* intrinsic_name);
+ std::string_view intrinsic_name);
// Prints the list of candidates for emitting diagnostics
void PrintCandidates(StringStream& ss,
Context& context,
VectorRef<Candidate> candidates,
- const char* intrinsic_name);
+ std::string_view intrinsic_name);
/// Raises an error when no overload is a clear winner of overload resolution
void ErrAmbiguousOverload(Context& context,
- const char* intrinsic_name,
+ std::string_view intrinsic_name,
VectorRef<const core::type::Type*> args,
TemplateState templates,
VectorRef<Candidate> candidates);
/// @return a string representing a call to a builtin with the given argument
/// types.
-std::string CallSignature(const char* intrinsic_name,
+std::string CallSignature(std::string_view intrinsic_name,
VectorRef<const core::type::Type*> args,
const core::type::Type* template_arg = nullptr) {
StringStream ss;
@@ -195,7 +195,7 @@
Result<Overload> MatchIntrinsic(Context& context,
const IntrinsicInfo& intrinsic,
- const char* intrinsic_name,
+ std::string_view intrinsic_name,
VectorRef<const core::type::Type*> args,
EvaluationStage earliest_eval_stage,
TemplateState templates,
@@ -377,7 +377,7 @@
Candidate ResolveCandidate(Context& context,
Candidates&& candidates,
- const char* intrinsic_name,
+ std::string_view intrinsic_name,
VectorRef<const core::type::Type*> args,
TemplateState templates) {
Vector<uint32_t, kNumFixedParams> best_ranks;
@@ -455,7 +455,7 @@
void PrintOverload(StringStream& ss,
Context& context,
const OverloadInfo& overload,
- const char* intrinsic_name) {
+ std::string_view intrinsic_name) {
TemplateState templates;
// TODO(crbug.com/tint/1730): Use input evaluation stage to output only relevant overloads.
@@ -536,7 +536,7 @@
void PrintCandidates(StringStream& ss,
Context& context,
VectorRef<Candidate> candidates,
- const char* intrinsic_name) {
+ std::string_view intrinsic_name) {
for (auto& candidate : candidates) {
ss << " ";
PrintOverload(ss, context, *candidate.overload, intrinsic_name);
@@ -545,7 +545,7 @@
}
void ErrAmbiguousOverload(Context& context,
- const char* intrinsic_name,
+ std::string_view intrinsic_name,
VectorRef<const core::type::Type*> args,
TemplateState templates,
VectorRef<Candidate> candidates) {
@@ -584,7 +584,7 @@
} // namespace
Result<Overload> LookupFn(Context& context,
- const char* intrinsic_name,
+ std::string_view intrinsic_name,
size_t function_id,
VectorRef<const core::type::Type*> args,
EvaluationStage earliest_eval_stage,
@@ -613,7 +613,7 @@
EvaluationStage earliest_eval_stage,
const Source& source) {
const IntrinsicInfo* intrinsic_info = nullptr;
- const char* intrinsic_name = nullptr;
+ std::string_view intrinsic_name;
switch (op) {
case core::UnaryOp::kComplement:
intrinsic_info = &context.data.unary_complement;
@@ -660,7 +660,7 @@
const Source& source,
bool is_compound) {
const IntrinsicInfo* intrinsic_info = nullptr;
- const char* intrinsic_name = nullptr;
+ std::string_view intrinsic_name;
switch (op) {
case core::BinaryOp::kAnd:
intrinsic_info = &context.data.binary_and;
@@ -757,7 +757,7 @@
}
Result<Overload> LookupCtorConv(Context& context,
- const char* type_name,
+ std::string_view type_name,
size_t type_id,
const core::type::Type* template_arg,
VectorRef<const core::type::Type*> args,
diff --git a/src/tint/lang/core/intrinsic/table.h b/src/tint/lang/core/intrinsic/table.h
index 3092a1e..6b90c15 100644
--- a/src/tint/lang/core/intrinsic/table.h
+++ b/src/tint/lang/core/intrinsic/table.h
@@ -110,37 +110,12 @@
/// @param source the source of the builtin call
/// @return the resolved builtin function overload
Result<Overload> LookupFn(Context& context,
- const char* function_name,
+ std::string_view function_name,
size_t function_id,
VectorRef<const core::type::Type*> args,
EvaluationStage earliest_eval_stage,
const Source& source);
-/// Lookup looks for the builtin overload with the given signature, raising an error diagnostic
-/// if the builtin was not found.
-/// @param context the intrinsic context
-/// @param builtin_fn the builtin function
-/// @param args the argument types passed to the builtin function
-/// @param earliest_eval_stage the the earliest evaluation stage that a call to
-/// the builtin can be made. This can alter the overloads considered.
-/// For example, if the earliest evaluation stage is `EvaluationStage::kRuntime`, then
-/// only overloads with concrete argument types will be considered, as all
-/// abstract-numerics will have been materialized after shader creation time
-/// (EvaluationStage::kConstant).
-/// @param source the source of the builtin call
-/// @return the resolved builtin function overload
-template <typename BUILTIN_FN>
-Result<Overload> LookupFn(Context& context,
- BUILTIN_FN builtin_fn,
- VectorRef<const core::type::Type*> args,
- EvaluationStage earliest_eval_stage,
- const Source& source) {
- static_assert(std::is_enum_v<BUILTIN_FN>);
- std::string name = tint::ToString(builtin_fn); // TODO(bclayton): Avoid this heap allocation
- size_t id = static_cast<size_t>(builtin_fn);
- return LookupFn(context, name.c_str(), id, std::move(args), earliest_eval_stage, source);
-}
-
/// Lookup looks for the unary op overload with the given signature, raising an error
/// diagnostic if the operator was not found.
/// @param context the intrinsic context
@@ -198,39 +173,120 @@
/// @param source the source of the call
/// @return the resolved type constructor or conversion function overload
Result<Overload> LookupCtorConv(Context& context,
- const char* type_name,
+ std::string_view type_name,
size_t type_id,
const core::type::Type* template_arg,
VectorRef<const core::type::Type*> args,
EvaluationStage earliest_eval_stage,
const Source& source);
-/// Lookup looks for the value constructor or conversion overload for the given CtorConv.
-/// @param context the intrinsic context
-/// @param type the type being constructed or converted
-/// @param template_arg the optional template argument
-/// @param args the argument types passed to the constructor / conversion call
-/// @param earliest_eval_stage the the earliest evaluation stage that a call to
-/// the constructor or conversion can be made. This can alter the overloads considered.
-/// For example, if the earliest evaluation stage is
-/// `EvaluationStage::kRuntime`, then only overloads with concrete argument types
-/// will be considered, as all abstract-numerics will have been materialized
-/// after shader creation time (EvaluationStage::kConstant).
-/// @param source the source of the call
-/// @return the resolved type constructor or conversion function overload
-template <typename TYPE>
-Result<Overload> LookupCtorConv(Context& context,
- TYPE type,
- const core::type::Type* template_arg,
- VectorRef<const core::type::Type*> args,
- EvaluationStage earliest_eval_stage,
- const Source& source) {
- static_assert(std::is_enum_v<TYPE>);
- std::string name = tint::ToString(type); // TODO(bclayton): Avoid this heap allocation
- size_t id = static_cast<size_t>(type);
- return LookupCtorConv(context, name.c_str(), id, template_arg, std::move(args),
- earliest_eval_stage, source);
-}
+/// Table is a wrapper around a dialect to provide type-safe interface to the intrinsic table.
+template <typename DIALECT>
+struct Table {
+ /// Alias to DIALECT::BuiltinFn
+ using BuiltinFn = typename DIALECT::BuiltinFn;
+
+ /// Alias to DIALECT::CtorConv
+ using CtorConv = typename DIALECT::CtorConv;
+
+ static_assert(std::is_enum_v<BuiltinFn>);
+ static_assert(std::is_enum_v<CtorConv>);
+
+ /// @param types The type manager
+ /// @param symbols The symbol table
+ /// @param diags The diagnostics
+ Table(core::type::Manager& types, SymbolTable& symbols, diag::List& diags)
+ : context{DIALECT::kData, types, symbols, diags} {}
+
+ /// Lookup looks for the builtin overload with the given signature, raising an error diagnostic
+ /// if the builtin was not found.
+ /// @param builtin_fn the builtin function
+ /// @param args the argument types passed to the builtin function
+ /// @param earliest_eval_stage the the earliest evaluation stage that a call to
+ /// the builtin can be made. This can alter the overloads considered.
+ /// For example, if the earliest evaluation stage is `EvaluationStage::kRuntime`, then
+ /// only overloads with concrete argument types will be considered, as all
+ /// abstract-numerics will have been materialized after shader creation time
+ /// (EvaluationStage::kConstant).
+ /// @param source the source of the builtin call
+ /// @return the resolved builtin function overload
+ Result<Overload> Lookup(BuiltinFn builtin_fn,
+ VectorRef<const core::type::Type*> args,
+ EvaluationStage earliest_eval_stage,
+ const Source& source) {
+ std::string_view name = DIALECT::ToString(builtin_fn);
+ size_t id = static_cast<size_t>(builtin_fn);
+ return LookupFn(context, name, id, std::move(args), earliest_eval_stage, source);
+ }
+
+ /// Lookup looks for the unary op overload with the given signature, raising an error
+ /// diagnostic if the operator was not found.
+ /// @param op the unary operator
+ /// @param arg the type of the expression passed to the operator
+ /// @param earliest_eval_stage the the earliest evaluation stage that a call to
+ /// the unary operator can be made. This can alter the overloads considered.
+ /// For example, if the earliest evaluation stage is
+ /// `EvaluationStage::kRuntime`, then only overloads with concrete argument types
+ /// will be considered, as all abstract-numerics will have been materialized
+ /// after shader creation time (EvaluationStage::kConstant).
+ /// @param source the source of the operator call
+ /// @return the resolved unary operator overload
+ Result<Overload> Lookup(core::UnaryOp op,
+ const core::type::Type* arg,
+ EvaluationStage earliest_eval_stage,
+ const Source& source) {
+ return LookupUnary(context, op, arg, earliest_eval_stage, source);
+ }
+
+ /// Lookup looks for the binary op overload with the given signature, raising an error
+ /// diagnostic if the operator was not found.
+ /// @param op the binary operator
+ /// @param lhs the LHS value type passed to the operator
+ /// @param rhs the RHS value type passed to the operator
+ /// @param source the source of the operator call
+ /// @param earliest_eval_stage the the earliest evaluation stage that a call to
+ /// the binary operator can be made. This can alter the overloads considered.
+ /// For example, if the earliest evaluation stage is
+ /// `EvaluationStage::kRuntime`, then only overloads with concrete argument types
+ /// will be considered, as all abstract-numerics will have been materialized
+ /// after shader creation time (EvaluationStage::kConstant).
+ /// @param is_compound true if the binary operator is being used as a compound assignment
+ /// @return the resolved binary operator overload
+ Result<Overload> Lookup(core::BinaryOp op,
+ const core::type::Type* lhs,
+ const core::type::Type* rhs,
+ EvaluationStage earliest_eval_stage,
+ const Source& source,
+ bool is_compound) {
+ return LookupBinary(context, op, lhs, rhs, earliest_eval_stage, source, is_compound);
+ }
+
+ /// Lookup looks for the value constructor or conversion overload for the given CtorConv.
+ /// @param type the type being constructed or converted
+ /// @param template_arg the optional template argument
+ /// @param args the argument types passed to the constructor / conversion call
+ /// @param earliest_eval_stage the the earliest evaluation stage that a call to
+ /// the constructor or conversion can be made. This can alter the overloads considered.
+ /// For example, if the earliest evaluation stage is
+ /// `EvaluationStage::kRuntime`, then only overloads with concrete argument types
+ /// will be considered, as all abstract-numerics will have been materialized
+ /// after shader creation time (EvaluationStage::kConstant).
+ /// @param source the source of the call
+ /// @return the resolved type constructor or conversion function overload
+ Result<Overload> Lookup(CtorConv type,
+ const core::type::Type* template_arg,
+ VectorRef<const core::type::Type*> args,
+ EvaluationStage earliest_eval_stage,
+ const Source& source) {
+ std::string_view name = DIALECT::ToString(type);
+ size_t id = static_cast<size_t>(type);
+ return LookupCtorConv(context, name, id, template_arg, std::move(args), earliest_eval_stage,
+ source);
+ }
+
+ /// The intrinsic context
+ Context context;
+};
} // namespace tint::core::intrinsic
diff --git a/src/tint/lang/core/intrinsic/table_test.cc b/src/tint/lang/core/intrinsic/table_test.cc
index 93f2ede..914fe66 100644
--- a/src/tint/lang/core/intrinsic/table_test.cc
+++ b/src/tint/lang/core/intrinsic/table_test.cc
@@ -17,7 +17,7 @@
#include <utility>
#include "gmock/gmock.h"
-#include "src/tint/lang/core/intrinsic/data/data.h"
+#include "src/tint/lang/core/intrinsic/dialect.h"
#include "src/tint/lang/core/intrinsic/table_data.h"
#include "src/tint/lang/core/type/atomic.h"
#include "src/tint/lang/core/type/depth_multisampled_texture.h"
@@ -50,13 +50,13 @@
class IntrinsicTableTest : public testing::Test, public ProgramBuilder {
public:
- Context context{core::intrinsic::data::kData, Types(), Symbols(), Diagnostics()};
+ Table<Dialect> table{Types(), Symbols(), Diagnostics()};
};
TEST_F(IntrinsicTableTest, MatchF32) {
auto* f32 = create<core::type::F32>();
auto result =
- LookupFn(context, core::BuiltinFn::kCos, Vector{f32}, EvaluationStage::kConstant, Source{});
+ table.Lookup(core::BuiltinFn::kCos, Vector{f32}, EvaluationStage::kConstant, Source{});
ASSERT_TRUE(result) << Diagnostics();
ASSERT_EQ(Diagnostics().str(), "");
EXPECT_EQ(result->return_type, f32);
@@ -67,7 +67,7 @@
TEST_F(IntrinsicTableTest, MismatchF32) {
auto* i32 = create<core::type::I32>();
auto result =
- LookupFn(context, core::BuiltinFn::kCos, Vector{i32}, EvaluationStage::kConstant, Source{});
+ table.Lookup(core::BuiltinFn::kCos, Vector{i32}, EvaluationStage::kConstant, Source{});
ASSERT_FALSE(result);
ASSERT_THAT(Diagnostics().str(), HasSubstr("no matching call"));
}
@@ -76,8 +76,8 @@
auto* f32 = create<core::type::F32>();
auto* u32 = create<core::type::U32>();
auto* vec2_f32 = create<core::type::Vector>(f32, 2u);
- auto result = LookupFn(context, core::BuiltinFn::kUnpack2X16Float, Vector{u32},
- EvaluationStage::kConstant, Source{});
+ auto result = table.Lookup(core::BuiltinFn::kUnpack2X16Float, Vector{u32},
+ EvaluationStage::kConstant, Source{});
ASSERT_TRUE(result) << Diagnostics();
ASSERT_EQ(Diagnostics().str(), "");
EXPECT_EQ(result->return_type, vec2_f32);
@@ -87,8 +87,8 @@
TEST_F(IntrinsicTableTest, MismatchU32) {
auto* f32 = create<core::type::F32>();
- auto result = LookupFn(context, core::BuiltinFn::kUnpack2X16Float, Vector{f32},
- EvaluationStage::kConstant, Source{});
+ auto result = table.Lookup(core::BuiltinFn::kUnpack2X16Float, Vector{f32},
+ EvaluationStage::kConstant, Source{});
ASSERT_FALSE(result);
ASSERT_THAT(Diagnostics().str(), HasSubstr("no matching call"));
}
@@ -98,8 +98,8 @@
auto* i32 = create<core::type::I32>();
auto* vec4_f32 = create<core::type::Vector>(f32, 4u);
auto* tex = create<core::type::SampledTexture>(core::type::TextureDimension::k1d, f32);
- auto result = LookupFn(context, core::BuiltinFn::kTextureLoad, Vector{tex, i32, i32},
- EvaluationStage::kConstant, Source{});
+ auto result = table.Lookup(core::BuiltinFn::kTextureLoad, Vector{tex, i32, i32},
+ EvaluationStage::kConstant, Source{});
ASSERT_TRUE(result) << Diagnostics();
ASSERT_EQ(Diagnostics().str(), "");
EXPECT_EQ(result->return_type, vec4_f32);
@@ -115,16 +115,16 @@
TEST_F(IntrinsicTableTest, MismatchI32) {
auto* f32 = create<core::type::F32>();
auto* tex = create<core::type::SampledTexture>(core::type::TextureDimension::k1d, f32);
- auto result = LookupFn(context, core::BuiltinFn::kTextureLoad, Vector{tex, f32},
- EvaluationStage::kConstant, Source{});
+ auto result = table.Lookup(core::BuiltinFn::kTextureLoad, Vector{tex, f32},
+ EvaluationStage::kConstant, Source{});
ASSERT_FALSE(result);
ASSERT_THAT(Diagnostics().str(), HasSubstr("no matching call"));
}
TEST_F(IntrinsicTableTest, MatchIU32AsI32) {
auto* i32 = create<core::type::I32>();
- auto result = LookupFn(context, core::BuiltinFn::kCountOneBits, Vector{i32},
- EvaluationStage::kConstant, Source{});
+ auto result = table.Lookup(core::BuiltinFn::kCountOneBits, Vector{i32},
+ EvaluationStage::kConstant, Source{});
ASSERT_TRUE(result) << Diagnostics();
ASSERT_EQ(Diagnostics().str(), "");
EXPECT_EQ(result->return_type, i32);
@@ -134,8 +134,8 @@
TEST_F(IntrinsicTableTest, MatchIU32AsU32) {
auto* u32 = create<core::type::U32>();
- auto result = LookupFn(context, core::BuiltinFn::kCountOneBits, Vector{u32},
- EvaluationStage::kConstant, Source{});
+ auto result = table.Lookup(core::BuiltinFn::kCountOneBits, Vector{u32},
+ EvaluationStage::kConstant, Source{});
ASSERT_TRUE(result) << Diagnostics();
ASSERT_EQ(Diagnostics().str(), "");
EXPECT_EQ(result->return_type, u32);
@@ -145,16 +145,16 @@
TEST_F(IntrinsicTableTest, MismatchIU32) {
auto* f32 = create<core::type::F32>();
- auto result = LookupFn(context, core::BuiltinFn::kCountOneBits, Vector{f32},
- EvaluationStage::kConstant, Source{});
+ auto result = table.Lookup(core::BuiltinFn::kCountOneBits, Vector{f32},
+ EvaluationStage::kConstant, Source{});
ASSERT_FALSE(result);
ASSERT_THAT(Diagnostics().str(), HasSubstr("no matching call"));
}
TEST_F(IntrinsicTableTest, MatchFIU32AsI32) {
auto* i32 = create<core::type::I32>();
- auto result = LookupFn(context, core::BuiltinFn::kClamp, Vector{i32, i32, i32},
- EvaluationStage::kConstant, Source{});
+ auto result = table.Lookup(core::BuiltinFn::kClamp, Vector{i32, i32, i32},
+ EvaluationStage::kConstant, Source{});
ASSERT_TRUE(result) << Diagnostics();
ASSERT_EQ(Diagnostics().str(), "");
EXPECT_EQ(result->return_type, i32);
@@ -166,8 +166,8 @@
TEST_F(IntrinsicTableTest, MatchFIU32AsU32) {
auto* u32 = create<core::type::U32>();
- auto result = LookupFn(context, core::BuiltinFn::kClamp, Vector{u32, u32, u32},
- EvaluationStage::kConstant, Source{});
+ auto result = table.Lookup(core::BuiltinFn::kClamp, Vector{u32, u32, u32},
+ EvaluationStage::kConstant, Source{});
ASSERT_TRUE(result) << Diagnostics();
ASSERT_EQ(Diagnostics().str(), "");
EXPECT_EQ(result->return_type, u32);
@@ -179,8 +179,8 @@
TEST_F(IntrinsicTableTest, MatchFIU32AsF32) {
auto* f32 = create<core::type::F32>();
- auto result = LookupFn(context, core::BuiltinFn::kClamp, Vector{f32, f32, f32},
- EvaluationStage::kConstant, Source{});
+ auto result = table.Lookup(core::BuiltinFn::kClamp, Vector{f32, f32, f32},
+ EvaluationStage::kConstant, Source{});
ASSERT_TRUE(result) << Diagnostics();
ASSERT_EQ(Diagnostics().str(), "");
EXPECT_EQ(result->return_type, f32);
@@ -192,8 +192,8 @@
TEST_F(IntrinsicTableTest, MismatchFIU32) {
auto* bool_ = create<core::type::Bool>();
- auto result = LookupFn(context, core::BuiltinFn::kClamp, Vector{bool_, bool_, bool_},
- EvaluationStage::kConstant, Source{});
+ auto result = table.Lookup(core::BuiltinFn::kClamp, Vector{bool_, bool_, bool_},
+ EvaluationStage::kConstant, Source{});
ASSERT_FALSE(result);
ASSERT_THAT(Diagnostics().str(), HasSubstr("no matching call"));
}
@@ -201,8 +201,8 @@
TEST_F(IntrinsicTableTest, MatchBool) {
auto* f32 = create<core::type::F32>();
auto* bool_ = create<core::type::Bool>();
- auto result = LookupFn(context, core::BuiltinFn::kSelect, Vector{f32, f32, bool_},
- EvaluationStage::kConstant, Source{});
+ auto result = table.Lookup(core::BuiltinFn::kSelect, Vector{f32, f32, bool_},
+ EvaluationStage::kConstant, Source{});
ASSERT_TRUE(result) << Diagnostics();
ASSERT_EQ(Diagnostics().str(), "");
EXPECT_EQ(result->return_type, f32);
@@ -214,8 +214,8 @@
TEST_F(IntrinsicTableTest, MismatchBool) {
auto* f32 = create<core::type::F32>();
- auto result = LookupFn(context, core::BuiltinFn::kSelect, Vector{f32, f32, f32},
- EvaluationStage::kConstant, Source{});
+ auto result = table.Lookup(core::BuiltinFn::kSelect, Vector{f32, f32, f32},
+ EvaluationStage::kConstant, Source{});
ASSERT_FALSE(result);
ASSERT_THAT(Diagnostics().str(), HasSubstr("no matching call"));
}
@@ -225,8 +225,8 @@
auto* atomicI32 = create<core::type::Atomic>(i32);
auto* ptr = create<core::type::Pointer>(core::AddressSpace::kWorkgroup, atomicI32,
core::Access::kReadWrite);
- auto result = LookupFn(context, core::BuiltinFn::kAtomicLoad, Vector{ptr},
- EvaluationStage::kConstant, Source{});
+ auto result = table.Lookup(core::BuiltinFn::kAtomicLoad, Vector{ptr},
+ EvaluationStage::kConstant, Source{});
ASSERT_TRUE(result) << Diagnostics();
ASSERT_EQ(Diagnostics().str(), "");
EXPECT_EQ(result->return_type, i32);
@@ -237,8 +237,8 @@
TEST_F(IntrinsicTableTest, MismatchPointer) {
auto* i32 = create<core::type::I32>();
auto* atomicI32 = create<core::type::Atomic>(i32);
- auto result = LookupFn(context, core::BuiltinFn::kAtomicLoad, Vector{atomicI32},
- EvaluationStage::kConstant, Source{});
+ auto result = table.Lookup(core::BuiltinFn::kAtomicLoad, Vector{atomicI32},
+ EvaluationStage::kConstant, Source{});
ASSERT_FALSE(result);
ASSERT_THAT(Diagnostics().str(), HasSubstr("no matching call"));
}
@@ -248,8 +248,8 @@
create<core::type::RuntimeArrayCount>(), 4u, 4u, 4u, 4u);
auto* arr_ptr =
create<core::type::Pointer>(core::AddressSpace::kStorage, arr, core::Access::kReadWrite);
- auto result = LookupFn(context, core::BuiltinFn::kArrayLength, Vector{arr_ptr},
- EvaluationStage::kConstant, Source{});
+ auto result = table.Lookup(core::BuiltinFn::kArrayLength, Vector{arr_ptr},
+ EvaluationStage::kConstant, Source{});
ASSERT_TRUE(result) << Diagnostics();
ASSERT_EQ(Diagnostics().str(), "");
EXPECT_TRUE(result->return_type->Is<core::type::U32>());
@@ -261,8 +261,8 @@
TEST_F(IntrinsicTableTest, MismatchArray) {
auto* f32 = create<core::type::F32>();
- auto result = LookupFn(context, core::BuiltinFn::kArrayLength, Vector{f32},
- EvaluationStage::kConstant, Source{});
+ auto result = table.Lookup(core::BuiltinFn::kArrayLength, Vector{f32},
+ EvaluationStage::kConstant, Source{});
ASSERT_FALSE(result);
ASSERT_THAT(Diagnostics().str(), HasSubstr("no matching call"));
}
@@ -273,8 +273,8 @@
auto* vec4_f32 = create<core::type::Vector>(f32, 4u);
auto* tex = create<core::type::SampledTexture>(core::type::TextureDimension::k2d, f32);
auto* sampler = create<core::type::Sampler>(core::type::SamplerKind::kSampler);
- auto result = LookupFn(context, core::BuiltinFn::kTextureSample, Vector{tex, sampler, vec2_f32},
- EvaluationStage::kConstant, Source{});
+ auto result = table.Lookup(core::BuiltinFn::kTextureSample, Vector{tex, sampler, vec2_f32},
+ EvaluationStage::kConstant, Source{});
ASSERT_TRUE(result) << Diagnostics();
ASSERT_EQ(Diagnostics().str(), "");
EXPECT_EQ(result->return_type, vec4_f32);
@@ -291,8 +291,8 @@
auto* f32 = create<core::type::F32>();
auto* vec2_f32 = create<core::type::Vector>(f32, 2u);
auto* tex = create<core::type::SampledTexture>(core::type::TextureDimension::k2d, f32);
- auto result = LookupFn(context, core::BuiltinFn::kTextureSample, Vector{tex, f32, vec2_f32},
- EvaluationStage::kConstant, Source{});
+ auto result = table.Lookup(core::BuiltinFn::kTextureSample, Vector{tex, f32, vec2_f32},
+ EvaluationStage::kConstant, Source{});
ASSERT_FALSE(result);
ASSERT_THAT(Diagnostics().str(), HasSubstr("no matching call"));
}
@@ -303,8 +303,8 @@
auto* vec2_i32 = create<core::type::Vector>(i32, 2u);
auto* vec4_f32 = create<core::type::Vector>(f32, 4u);
auto* tex = create<core::type::SampledTexture>(core::type::TextureDimension::k2d, f32);
- auto result = LookupFn(context, core::BuiltinFn::kTextureLoad, Vector{tex, vec2_i32, i32},
- EvaluationStage::kConstant, Source{});
+ auto result = table.Lookup(core::BuiltinFn::kTextureLoad, Vector{tex, vec2_i32, i32},
+ EvaluationStage::kConstant, Source{});
ASSERT_TRUE(result) << Diagnostics();
ASSERT_EQ(Diagnostics().str(), "");
EXPECT_EQ(result->return_type, vec4_f32);
@@ -323,8 +323,8 @@
auto* vec2_i32 = create<core::type::Vector>(i32, 2u);
auto* vec4_f32 = create<core::type::Vector>(f32, 4u);
auto* tex = create<core::type::MultisampledTexture>(core::type::TextureDimension::k2d, f32);
- auto result = LookupFn(context, core::BuiltinFn::kTextureLoad, Vector{tex, vec2_i32, i32},
- EvaluationStage::kConstant, Source{});
+ auto result = table.Lookup(core::BuiltinFn::kTextureLoad, Vector{tex, vec2_i32, i32},
+ EvaluationStage::kConstant, Source{});
ASSERT_TRUE(result) << Diagnostics();
ASSERT_EQ(Diagnostics().str(), "");
EXPECT_EQ(result->return_type, vec4_f32);
@@ -342,8 +342,8 @@
auto* i32 = create<core::type::I32>();
auto* vec2_i32 = create<core::type::Vector>(i32, 2u);
auto* tex = create<core::type::DepthTexture>(core::type::TextureDimension::k2d);
- auto result = LookupFn(context, core::BuiltinFn::kTextureLoad, Vector{tex, vec2_i32, i32},
- EvaluationStage::kConstant, Source{});
+ auto result = table.Lookup(core::BuiltinFn::kTextureLoad, Vector{tex, vec2_i32, i32},
+ EvaluationStage::kConstant, Source{});
ASSERT_TRUE(result) << Diagnostics();
ASSERT_EQ(Diagnostics().str(), "");
EXPECT_EQ(result->return_type, f32);
@@ -361,8 +361,8 @@
auto* i32 = create<core::type::I32>();
auto* vec2_i32 = create<core::type::Vector>(i32, 2u);
auto* tex = create<core::type::DepthMultisampledTexture>(core::type::TextureDimension::k2d);
- auto result = LookupFn(context, core::BuiltinFn::kTextureLoad, Vector{tex, vec2_i32, i32},
- EvaluationStage::kConstant, Source{});
+ auto result = table.Lookup(core::BuiltinFn::kTextureLoad, Vector{tex, vec2_i32, i32},
+ EvaluationStage::kConstant, Source{});
ASSERT_TRUE(result) << Diagnostics();
ASSERT_EQ(Diagnostics().str(), "");
EXPECT_EQ(result->return_type, f32);
@@ -381,8 +381,8 @@
auto* vec2_i32 = create<core::type::Vector>(i32, 2u);
auto* vec4_f32 = create<core::type::Vector>(f32, 4u);
auto* tex = create<core::type::ExternalTexture>();
- auto result = LookupFn(context, core::BuiltinFn::kTextureLoad, Vector{tex, vec2_i32},
- EvaluationStage::kConstant, Source{});
+ auto result = table.Lookup(core::BuiltinFn::kTextureLoad, Vector{tex, vec2_i32},
+ EvaluationStage::kConstant, Source{});
ASSERT_TRUE(result) << Diagnostics();
ASSERT_EQ(Diagnostics().str(), "");
EXPECT_EQ(result->return_type, vec4_f32);
@@ -403,8 +403,8 @@
core::TexelFormat::kR32Float,
core::Access::kWrite, subtype);
- auto result = LookupFn(context, core::BuiltinFn::kTextureStore, Vector{tex, vec2_i32, vec4_f32},
- EvaluationStage::kConstant, Source{});
+ auto result = table.Lookup(core::BuiltinFn::kTextureStore, Vector{tex, vec2_i32, vec4_f32},
+ EvaluationStage::kConstant, Source{});
ASSERT_TRUE(result) << Diagnostics();
ASSERT_EQ(Diagnostics().str(), "");
EXPECT_TRUE(result->return_type->Is<type::Void>());
@@ -421,20 +421,20 @@
auto* f32 = create<core::type::F32>();
auto* i32 = create<core::type::I32>();
auto* vec2_i32 = create<core::type::Vector>(i32, 2u);
- auto result = LookupFn(context, core::BuiltinFn::kTextureLoad, Vector{f32, vec2_i32},
- EvaluationStage::kConstant, Source{});
+ auto result = table.Lookup(core::BuiltinFn::kTextureLoad, Vector{f32, vec2_i32},
+ EvaluationStage::kConstant, Source{});
ASSERT_FALSE(result);
ASSERT_THAT(Diagnostics().str(), HasSubstr("no matching call"));
}
TEST_F(IntrinsicTableTest, ImplicitLoadOnReference) {
auto* f32 = create<core::type::F32>();
- auto result = LookupFn(context, core::BuiltinFn::kCos,
- Vector{
- create<core::type::Reference>(core::AddressSpace::kFunction, f32,
- core::Access::kReadWrite),
- },
- EvaluationStage::kConstant, Source{});
+ auto result = table.Lookup(core::BuiltinFn::kCos,
+ Vector{
+ create<core::type::Reference>(core::AddressSpace::kFunction, f32,
+ core::Access::kReadWrite),
+ },
+ EvaluationStage::kConstant, Source{});
ASSERT_TRUE(result) << Diagnostics();
ASSERT_EQ(Diagnostics().str(), "");
EXPECT_EQ(result->return_type, f32);
@@ -444,8 +444,8 @@
TEST_F(IntrinsicTableTest, MatchTemplateType) {
auto* f32 = create<core::type::F32>();
- auto result = LookupFn(context, core::BuiltinFn::kClamp, Vector{f32, f32, f32},
- EvaluationStage::kConstant, Source{});
+ auto result = table.Lookup(core::BuiltinFn::kClamp, Vector{f32, f32, f32},
+ EvaluationStage::kConstant, Source{});
ASSERT_TRUE(result) << Diagnostics();
ASSERT_EQ(Diagnostics().str(), "");
EXPECT_EQ(result->return_type, f32);
@@ -457,8 +457,8 @@
TEST_F(IntrinsicTableTest, MismatchTemplateType) {
auto* f32 = create<core::type::F32>();
auto* u32 = create<core::type::U32>();
- auto result = LookupFn(context, core::BuiltinFn::kClamp, Vector{f32, u32, f32},
- EvaluationStage::kConstant, Source{});
+ auto result = table.Lookup(core::BuiltinFn::kClamp, Vector{f32, u32, f32},
+ EvaluationStage::kConstant, Source{});
ASSERT_FALSE(result);
ASSERT_THAT(Diagnostics().str(), HasSubstr("no matching call"));
}
@@ -466,8 +466,8 @@
TEST_F(IntrinsicTableTest, MatchOpenSizeVector) {
auto* f32 = create<core::type::F32>();
auto* vec2_f32 = create<core::type::Vector>(f32, 2u);
- auto result = LookupFn(context, core::BuiltinFn::kClamp, Vector{vec2_f32, vec2_f32, vec2_f32},
- EvaluationStage::kConstant, Source{});
+ auto result = table.Lookup(core::BuiltinFn::kClamp, Vector{vec2_f32, vec2_f32, vec2_f32},
+ EvaluationStage::kConstant, Source{});
ASSERT_TRUE(result) << Diagnostics();
ASSERT_EQ(Diagnostics().str(), "");
EXPECT_EQ(result->return_type, vec2_f32);
@@ -481,8 +481,8 @@
auto* f32 = create<core::type::F32>();
auto* u32 = create<core::type::U32>();
auto* vec2_f32 = create<core::type::Vector>(f32, 2u);
- auto result = LookupFn(context, core::BuiltinFn::kClamp, Vector{vec2_f32, u32, vec2_f32},
- EvaluationStage::kConstant, Source{});
+ auto result = table.Lookup(core::BuiltinFn::kClamp, Vector{vec2_f32, u32, vec2_f32},
+ EvaluationStage::kConstant, Source{});
ASSERT_FALSE(result);
ASSERT_THAT(Diagnostics().str(), HasSubstr("no matching call"));
}
@@ -491,8 +491,8 @@
auto* f32 = create<core::type::F32>();
auto* vec3_f32 = create<core::type::Vector>(f32, 3u);
auto* mat3_f32 = create<core::type::Matrix>(vec3_f32, 3u);
- auto result = LookupFn(context, core::BuiltinFn::kDeterminant, Vector{mat3_f32},
- EvaluationStage::kConstant, Source{});
+ auto result = table.Lookup(core::BuiltinFn::kDeterminant, Vector{mat3_f32},
+ EvaluationStage::kConstant, Source{});
ASSERT_TRUE(result) << Diagnostics();
ASSERT_EQ(Diagnostics().str(), "");
EXPECT_EQ(result->return_type, f32);
@@ -504,8 +504,8 @@
auto* f32 = create<core::type::F32>();
auto* vec2_f32 = create<core::type::Vector>(f32, 2u);
auto* mat3x2_f32 = create<core::type::Matrix>(vec2_f32, 3u);
- auto result = LookupFn(context, core::BuiltinFn::kDeterminant, Vector{mat3x2_f32},
- EvaluationStage::kConstant, Source{});
+ auto result = table.Lookup(core::BuiltinFn::kDeterminant, Vector{mat3x2_f32},
+ EvaluationStage::kConstant, Source{});
ASSERT_FALSE(result);
ASSERT_THAT(Diagnostics().str(), HasSubstr("no matching call"));
}
@@ -513,8 +513,8 @@
TEST_F(IntrinsicTableTest, MatchDifferentArgsElementType_Builtin_ConstantEval) {
auto* af = create<core::type::AbstractFloat>();
auto* bool_ = create<core::type::Bool>();
- auto result = LookupFn(context, core::BuiltinFn::kSelect, Vector{af, af, bool_},
- EvaluationStage::kConstant, Source{});
+ auto result = table.Lookup(core::BuiltinFn::kSelect, Vector{af, af, bool_},
+ EvaluationStage::kConstant, Source{});
ASSERT_TRUE(result) << Diagnostics();
ASSERT_EQ(Diagnostics().str(), "");
EXPECT_NE(result->const_eval_fn, nullptr);
@@ -529,8 +529,8 @@
auto* af = create<core::type::AbstractFloat>();
auto* bool_ref = create<core::type::Reference>(
core::AddressSpace::kFunction, create<core::type::Bool>(), core::Access::kReadWrite);
- auto result = LookupFn(context, core::BuiltinFn::kSelect, Vector{af, af, bool_ref},
- EvaluationStage::kRuntime, Source{});
+ auto result = table.Lookup(core::BuiltinFn::kSelect, Vector{af, af, bool_ref},
+ EvaluationStage::kRuntime, Source{});
ASSERT_TRUE(result) << Diagnostics();
ASSERT_EQ(Diagnostics().str(), "");
EXPECT_NE(result->const_eval_fn, nullptr);
@@ -544,8 +544,8 @@
TEST_F(IntrinsicTableTest, MatchDifferentArgsElementType_Binary_ConstantEval) {
auto* ai = create<core::type::AbstractInt>();
auto* u32 = create<core::type::U32>();
- auto result = LookupBinary(context, core::BinaryOp::kShiftLeft, ai, u32,
- EvaluationStage::kConstant, Source{}, false);
+ auto result = table.Lookup(core::BinaryOp::kShiftLeft, ai, u32, EvaluationStage::kConstant,
+ Source{}, false);
ASSERT_TRUE(result) << Diagnostics();
ASSERT_NE(result->const_eval_fn, nullptr) << Diagnostics();
ASSERT_EQ(Diagnostics().str(), "");
@@ -557,8 +557,8 @@
TEST_F(IntrinsicTableTest, MatchDifferentArgsElementType_Binary_RuntimeEval) {
auto* ai = create<core::type::AbstractInt>();
auto* u32 = create<core::type::U32>();
- auto result = LookupBinary(context, core::BinaryOp::kShiftLeft, ai, u32,
- EvaluationStage::kRuntime, Source{}, false);
+ auto result = table.Lookup(core::BinaryOp::kShiftLeft, ai, u32, EvaluationStage::kRuntime,
+ Source{}, false);
ASSERT_TRUE(result) << Diagnostics();
ASSERT_NE(result->const_eval_fn, nullptr) << Diagnostics();
ASSERT_EQ(Diagnostics().str(), "");
@@ -571,8 +571,8 @@
// None of the arguments match, so expect the overloads with 2 parameters to
// come first
auto* bool_ = create<core::type::Bool>();
- auto result = LookupFn(context, core::BuiltinFn::kTextureDimensions, Vector{bool_, bool_},
- EvaluationStage::kConstant, Source{});
+ auto result = table.Lookup(core::BuiltinFn::kTextureDimensions, Vector{bool_, bool_},
+ EvaluationStage::kConstant, Source{});
EXPECT_FALSE(result);
ASSERT_EQ(Diagnostics().str(),
R"(error: no matching call to textureDimensions(bool, bool)
@@ -611,8 +611,8 @@
TEST_F(IntrinsicTableTest, OverloadOrderByMatchingParameter) {
auto* tex = create<core::type::DepthTexture>(core::type::TextureDimension::k2d);
auto* bool_ = create<core::type::Bool>();
- auto result = LookupFn(context, core::BuiltinFn::kTextureDimensions, Vector{tex, bool_},
- EvaluationStage::kConstant, Source{});
+ auto result = table.Lookup(core::BuiltinFn::kTextureDimensions, Vector{tex, bool_},
+ EvaluationStage::kConstant, Source{});
EXPECT_FALSE(result);
ASSERT_EQ(Diagnostics().str(),
R"(error: no matching call to textureDimensions(texture_depth_2d, bool)
@@ -651,16 +651,16 @@
TEST_F(IntrinsicTableTest, MatchUnaryOp) {
auto* i32 = create<core::type::I32>();
auto* vec3_i32 = create<core::type::Vector>(i32, 3u);
- auto result = LookupUnary(context, core::UnaryOp::kNegation, vec3_i32,
- EvaluationStage::kConstant, Source{{12, 34}});
+ auto result = table.Lookup(core::UnaryOp::kNegation, vec3_i32, EvaluationStage::kConstant,
+ Source{{12, 34}});
EXPECT_EQ(result->return_type, vec3_i32);
EXPECT_EQ(Diagnostics().str(), "");
}
TEST_F(IntrinsicTableTest, MismatchUnaryOp) {
auto* bool_ = create<core::type::Bool>();
- auto result = LookupUnary(context, core::UnaryOp::kNegation, bool_, EvaluationStage::kConstant,
- Source{{12, 34}});
+ auto result =
+ table.Lookup(core::UnaryOp::kNegation, bool_, EvaluationStage::kConstant, Source{{12, 34}});
ASSERT_FALSE(result);
EXPECT_EQ(Diagnostics().str(), R"(12:34 error: no matching overload for operator - (bool)
@@ -672,16 +672,16 @@
TEST_F(IntrinsicTableTest, MatchUnaryOp_Constant) {
auto* ai = create<core::type::AbstractInt>();
- auto result = LookupUnary(context, core::UnaryOp::kNegation, ai, EvaluationStage::kConstant,
- Source{{12, 34}});
+ auto result =
+ table.Lookup(core::UnaryOp::kNegation, ai, EvaluationStage::kConstant, Source{{12, 34}});
EXPECT_EQ(result->return_type, ai);
EXPECT_EQ(Diagnostics().str(), "");
}
TEST_F(IntrinsicTableTest, MatchUnaryOp_Runtime) {
auto* ai = create<core::type::AbstractInt>();
- auto result = LookupUnary(context, core::UnaryOp::kNegation, ai, EvaluationStage::kRuntime,
- Source{{12, 34}});
+ auto result =
+ table.Lookup(core::UnaryOp::kNegation, ai, EvaluationStage::kRuntime, Source{{12, 34}});
EXPECT_NE(result->return_type, ai);
EXPECT_TRUE(result->return_type->Is<core::type::I32>());
EXPECT_EQ(Diagnostics().str(), "");
@@ -690,8 +690,8 @@
TEST_F(IntrinsicTableTest, MatchBinaryOp) {
auto* i32 = create<core::type::I32>();
auto* vec3_i32 = create<core::type::Vector>(i32, 3u);
- auto result = LookupBinary(context, core::BinaryOp::kMultiply, i32, vec3_i32,
- EvaluationStage::kConstant, Source{{12, 34}},
+ auto result = table.Lookup(core::BinaryOp::kMultiply, i32, vec3_i32, EvaluationStage::kConstant,
+ Source{{12, 34}},
/* is_compound */ false);
EXPECT_EQ(result->return_type, vec3_i32);
EXPECT_EQ(result->parameters[0].type, i32);
@@ -702,8 +702,8 @@
TEST_F(IntrinsicTableTest, MismatchBinaryOp) {
auto* f32 = create<core::type::F32>();
auto* bool_ = create<core::type::Bool>();
- auto result = LookupBinary(context, core::BinaryOp::kMultiply, f32, bool_,
- EvaluationStage::kConstant, Source{{12, 34}},
+ auto result = table.Lookup(core::BinaryOp::kMultiply, f32, bool_, EvaluationStage::kConstant,
+ Source{{12, 34}},
/* is_compound */ false);
ASSERT_FALSE(result);
EXPECT_EQ(Diagnostics().str(), R"(12:34 error: no matching overload for operator * (f32, bool)
@@ -724,8 +724,8 @@
TEST_F(IntrinsicTableTest, MatchCompoundOp) {
auto* i32 = create<core::type::I32>();
auto* vec3_i32 = create<core::type::Vector>(i32, 3u);
- auto result = LookupBinary(context, core::BinaryOp::kMultiply, i32, vec3_i32,
- EvaluationStage::kConstant, Source{{12, 34}},
+ auto result = table.Lookup(core::BinaryOp::kMultiply, i32, vec3_i32, EvaluationStage::kConstant,
+ Source{{12, 34}},
/* is_compound */ true);
EXPECT_EQ(result->return_type, vec3_i32);
EXPECT_EQ(result->parameters[0].type, i32);
@@ -736,8 +736,8 @@
TEST_F(IntrinsicTableTest, MismatchCompoundOp) {
auto* f32 = create<core::type::F32>();
auto* bool_ = create<core::type::Bool>();
- auto result = LookupBinary(context, core::BinaryOp::kMultiply, f32, bool_,
- EvaluationStage::kConstant, Source{{12, 34}},
+ auto result = table.Lookup(core::BinaryOp::kMultiply, f32, bool_, EvaluationStage::kConstant,
+ Source{{12, 34}},
/* is_compound */ true);
ASSERT_FALSE(result);
EXPECT_EQ(Diagnostics().str(), R"(12:34 error: no matching overload for operator *= (f32, bool)
@@ -758,8 +758,8 @@
TEST_F(IntrinsicTableTest, MatchTypeInitializerImplicit) {
auto* i32 = create<core::type::I32>();
auto* vec3_i32 = create<core::type::Vector>(i32, 3u);
- auto result = LookupCtorConv(context, CtorConv::kVec3, nullptr, Vector{i32, i32, i32},
- EvaluationStage::kConstant, Source{{12, 34}});
+ auto result = table.Lookup(CtorConv::kVec3, nullptr, Vector{i32, i32, i32},
+ EvaluationStage::kConstant, Source{{12, 34}});
ASSERT_TRUE(result) << Diagnostics();
EXPECT_EQ(result->return_type, vec3_i32);
EXPECT_TRUE(result->info->flags.Contains(OverloadFlag::kIsConstructor));
@@ -773,8 +773,8 @@
TEST_F(IntrinsicTableTest, MatchTypeInitializerExplicit) {
auto* i32 = create<core::type::I32>();
auto* vec3_i32 = create<core::type::Vector>(i32, 3u);
- auto result = LookupCtorConv(context, CtorConv::kVec3, i32, Vector{i32, i32, i32},
- EvaluationStage::kConstant, Source{{12, 34}});
+ auto result = table.Lookup(CtorConv::kVec3, i32, Vector{i32, i32, i32},
+ EvaluationStage::kConstant, Source{{12, 34}});
ASSERT_TRUE(result) << Diagnostics();
EXPECT_EQ(result->return_type, vec3_i32);
EXPECT_TRUE(result->info->flags.Contains(OverloadFlag::kIsConstructor));
@@ -788,8 +788,8 @@
TEST_F(IntrinsicTableTest, MismatchTypeInitializerImplicit) {
auto* i32 = create<core::type::I32>();
auto* f32 = create<core::type::F32>();
- auto result = LookupCtorConv(context, CtorConv::kVec3, nullptr, Vector{i32, f32, i32},
- EvaluationStage::kConstant, Source{{12, 34}});
+ auto result = table.Lookup(CtorConv::kVec3, nullptr, Vector{i32, f32, i32},
+ EvaluationStage::kConstant, Source{{12, 34}});
ASSERT_FALSE(result);
EXPECT_EQ(Diagnostics().str(),
R"(12:34 error: no matching constructor for vec3(i32, f32, i32)
@@ -815,8 +815,8 @@
TEST_F(IntrinsicTableTest, MismatchTypeInitializerExplicit) {
auto* i32 = create<core::type::I32>();
auto* f32 = create<core::type::F32>();
- auto result = LookupCtorConv(context, CtorConv::kVec3, i32, Vector{i32, f32, i32},
- EvaluationStage::kConstant, Source{{12, 34}});
+ auto result = table.Lookup(CtorConv::kVec3, i32, Vector{i32, f32, i32},
+ EvaluationStage::kConstant, Source{{12, 34}});
ASSERT_FALSE(result);
EXPECT_EQ(Diagnostics().str(),
R"(12:34 error: no matching constructor for vec3<i32>(i32, f32, i32)
@@ -842,8 +842,8 @@
TEST_F(IntrinsicTableTest, MatchTypeInitializerImplicitVecFromVecAbstract) {
auto* ai = create<core::type::AbstractInt>();
auto* vec3_ai = create<core::type::Vector>(ai, 3u);
- auto result = LookupCtorConv(context, CtorConv::kVec3, nullptr, Vector{vec3_ai},
- EvaluationStage::kConstant, Source{{12, 34}});
+ auto result = table.Lookup(CtorConv::kVec3, nullptr, Vector{vec3_ai},
+ EvaluationStage::kConstant, Source{{12, 34}});
ASSERT_TRUE(result) << Diagnostics();
EXPECT_EQ(result->return_type, vec3_ai);
EXPECT_TRUE(result->info->flags.Contains(OverloadFlag::kIsConstructor));
@@ -857,8 +857,8 @@
auto* vec2_ai = create<core::type::Vector>(create<core::type::AbstractInt>(), 2u);
auto* vec2_af = create<core::type::Vector>(af, 2u);
auto* mat2x2_af = create<core::type::Matrix>(vec2_af, 2u);
- auto result = LookupCtorConv(context, CtorConv::kMat2x2, nullptr, Vector{vec2_ai, vec2_ai},
- EvaluationStage::kConstant, Source{{12, 34}});
+ auto result = table.Lookup(CtorConv::kMat2x2, nullptr, Vector{vec2_ai, vec2_ai},
+ EvaluationStage::kConstant, Source{{12, 34}});
ASSERT_TRUE(result) << Diagnostics();
EXPECT_TYPE(result->return_type, mat2x2_af);
EXPECT_TRUE(result->info->flags.Contains(OverloadFlag::kIsConstructor));
@@ -871,8 +871,8 @@
TEST_F(IntrinsicTableTest, MatchTypeInitializer_ConstantEval) {
auto* ai = create<core::type::AbstractInt>();
auto* vec3_ai = create<core::type::Vector>(ai, 3u);
- auto result = LookupCtorConv(context, CtorConv::kVec3, nullptr, Vector{ai, ai, ai},
- EvaluationStage::kConstant, Source{{12, 34}});
+ auto result = table.Lookup(CtorConv::kVec3, nullptr, Vector{ai, ai, ai},
+ EvaluationStage::kConstant, Source{{12, 34}});
ASSERT_TRUE(result) << Diagnostics();
EXPECT_NE(result->const_eval_fn, nullptr);
EXPECT_EQ(result->return_type, vec3_ai);
@@ -886,8 +886,8 @@
TEST_F(IntrinsicTableTest, MatchTypeInitializer_RuntimeEval) {
auto* ai = create<core::type::AbstractInt>();
- auto result = LookupCtorConv(context, CtorConv::kVec3, nullptr, Vector{ai, ai, ai},
- EvaluationStage::kRuntime, Source{{12, 34}});
+ auto result = table.Lookup(CtorConv::kVec3, nullptr, Vector{ai, ai, ai},
+ EvaluationStage::kRuntime, Source{{12, 34}});
auto* i32 = create<type::I32>();
auto* vec3_i32 = create<type::Vector>(i32, 3u);
ASSERT_TRUE(result) << Diagnostics();
@@ -906,8 +906,8 @@
auto* vec3_i32 = create<core::type::Vector>(i32, 3u);
auto* f32 = create<core::type::F32>();
auto* vec3_f32 = create<core::type::Vector>(f32, 3u);
- auto result = LookupCtorConv(context, CtorConv::kVec3, i32, Vector{vec3_f32},
- EvaluationStage::kConstant, Source{{12, 34}});
+ auto result = table.Lookup(CtorConv::kVec3, i32, Vector{vec3_f32}, EvaluationStage::kConstant,
+ Source{{12, 34}});
ASSERT_TRUE(result) << Diagnostics();
EXPECT_EQ(result->return_type, vec3_i32);
EXPECT_FALSE(result->info->flags.Contains(OverloadFlag::kIsConstructor));
@@ -919,8 +919,8 @@
auto* arr = create<core::type::Array>(create<core::type::U32>(),
create<core::type::RuntimeArrayCount>(), 4u, 4u, 4u, 4u);
auto* f32 = create<core::type::F32>();
- auto result = LookupCtorConv(context, CtorConv::kVec3, f32, Vector{arr},
- EvaluationStage::kConstant, Source{{12, 34}});
+ auto result = table.Lookup(CtorConv::kVec3, f32, Vector{arr}, EvaluationStage::kConstant,
+ Source{{12, 34}});
ASSERT_FALSE(result);
EXPECT_EQ(Diagnostics().str(),
R"(12:34 error: no matching constructor for vec3<f32>(array<u32>)
@@ -949,8 +949,8 @@
auto* vec3_ai = create<core::type::Vector>(ai, 3u);
auto* f32 = create<core::type::F32>();
auto* vec3_f32 = create<core::type::Vector>(f32, 3u);
- auto result = LookupCtorConv(context, CtorConv::kVec3, af, Vector{vec3_ai},
- EvaluationStage::kConstant, Source{{12, 34}});
+ auto result = table.Lookup(CtorConv::kVec3, af, Vector{vec3_ai}, EvaluationStage::kConstant,
+ Source{{12, 34}});
ASSERT_TRUE(result) << Diagnostics();
EXPECT_NE(result->const_eval_fn, nullptr);
// NOTE: Conversions are explicit, so there's no way to have it return abstracts
@@ -966,8 +966,8 @@
auto* vec3_ai = create<core::type::Vector>(ai, 3u);
auto* vec3_f32 = create<core::type::Vector>(create<core::type::F32>(), 3u);
auto* vec3_i32 = create<core::type::Vector>(create<core::type::I32>(), 3u);
- auto result = LookupCtorConv(context, CtorConv::kVec3, af, Vector{vec3_ai},
- EvaluationStage::kRuntime, Source{{12, 34}});
+ auto result = table.Lookup(CtorConv::kVec3, af, Vector{vec3_ai}, EvaluationStage::kRuntime,
+ Source{{12, 34}});
ASSERT_TRUE(result) << Diagnostics();
EXPECT_NE(result->const_eval_fn, nullptr);
EXPECT_EQ(result->return_type, vec3_f32);
@@ -980,8 +980,8 @@
auto* f32 = create<core::type::F32>();
Vector<const core::type::Type*, 0> arg_tys;
arg_tys.Resize(257, f32);
- auto result = LookupFn(context, core::BuiltinFn::kAbs, std::move(arg_tys),
- EvaluationStage::kConstant, Source{});
+ auto result = table.Lookup(core::BuiltinFn::kAbs, std::move(arg_tys),
+ EvaluationStage::kConstant, Source{});
ASSERT_FALSE(result);
ASSERT_THAT(Diagnostics().str(), HasSubstr("no matching call"));
}
@@ -993,8 +993,8 @@
// The first should win overload resolution.
auto* ai = create<core::type::AbstractInt>();
auto* i32 = create<core::type::I32>();
- auto result = LookupCtorConv(context, CtorConv::kI32, nullptr, Vector{ai},
- EvaluationStage::kConstant, Source{});
+ auto result =
+ table.Lookup(CtorConv::kI32, nullptr, Vector{ai}, EvaluationStage::kConstant, Source{});
ASSERT_TRUE(result) << Diagnostics();
EXPECT_EQ(result->return_type, i32);
EXPECT_EQ(result->parameters.Length(), 1u);
@@ -1030,14 +1030,14 @@
};
struct IntrinsicTableAbstractBinaryTest : public resolver::ResolverTestWithParam<Case> {
- Context context{core::intrinsic::data::kData, Types(), Symbols(), Diagnostics()};
+ Table<Dialect> table{Types(), Symbols(), Diagnostics()};
};
TEST_P(IntrinsicTableAbstractBinaryTest, MatchAdd) {
auto* arg_lhs = GetParam().arg_lhs(*this);
auto* arg_rhs = GetParam().arg_rhs(*this);
- auto result = LookupBinary(context, core::BinaryOp::kAdd, arg_lhs, arg_rhs,
- EvaluationStage::kConstant, Source{{12, 34}},
+ auto result = table.Lookup(core::BinaryOp::kAdd, arg_lhs, arg_rhs, EvaluationStage::kConstant,
+ Source{{12, 34}},
/* is_compound */ false);
bool matched = result;
@@ -1214,15 +1214,15 @@
};
struct IntrinsicTableAbstractTernaryTest : public resolver::ResolverTestWithParam<Case> {
- Context context{core::intrinsic::data::kData, Types(), Symbols(), Diagnostics()};
+ Table<Dialect> table{Types(), Symbols(), Diagnostics()};
};
TEST_P(IntrinsicTableAbstractTernaryTest, MatchClamp) {
auto* arg_a = GetParam().arg_a(*this);
auto* arg_b = GetParam().arg_b(*this);
auto* arg_c = GetParam().arg_c(*this);
- auto builtin = LookupFn(context, core::BuiltinFn::kClamp, Vector{arg_a, arg_b, arg_c},
- EvaluationStage::kConstant, Source{{12, 34}});
+ auto builtin = table.Lookup(core::BuiltinFn::kClamp, Vector{arg_a, arg_b, arg_c},
+ EvaluationStage::kConstant, Source{{12, 34}});
bool expected_match = GetParam().expected_match;
EXPECT_EQ(builtin == true, expected_match) << Diagnostics();
diff --git a/src/tint/lang/core/intrinsic/data/type_matchers.h b/src/tint/lang/core/intrinsic/type_matchers.h
similarity index 98%
rename from src/tint/lang/core/intrinsic/data/type_matchers.h
rename to src/tint/lang/core/intrinsic/type_matchers.h
index 1dbd965..37735c2 100644
--- a/src/tint/lang/core/intrinsic/data/type_matchers.h
+++ b/src/tint/lang/core/intrinsic/type_matchers.h
@@ -12,8 +12,8 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#ifndef SRC_TINT_LANG_CORE_INTRINSIC_DATA_TYPE_MATCHERS_H_
-#define SRC_TINT_LANG_CORE_INTRINSIC_DATA_TYPE_MATCHERS_H_
+#ifndef SRC_TINT_LANG_CORE_INTRINSIC_TYPE_MATCHERS_H_
+#define SRC_TINT_LANG_CORE_INTRINSIC_TYPE_MATCHERS_H_
#include "src/tint/lang/core/evaluation_stage.h"
#include "src/tint/lang/core/intrinsic/table_data.h"
@@ -40,7 +40,9 @@
#include "src/tint/lang/core/type/u32.h"
#include "src/tint/lang/core/type/vector.h"
-namespace tint::core::intrinsic::data {
+//! @cond Doxygen_Suppress
+
+namespace tint::core::intrinsic {
inline bool MatchBool(intrinsic::MatchState&, const type::Type* ty) {
return ty->IsAnyOf<intrinsic::Any, type::Bool>();
@@ -588,6 +590,8 @@
return type::CreateAtomicCompareExchangeResult(state.types, state.symbols, ty);
}
-} // namespace tint::core::intrinsic::data
+} // namespace tint::core::intrinsic
-#endif // SRC_TINT_LANG_CORE_INTRINSIC_DATA_TYPE_MATCHERS_H_
+//! @endcond
+
+#endif // SRC_TINT_LANG_CORE_INTRINSIC_TYPE_MATCHERS_H_
diff --git a/src/tint/lang/core/ir/BUILD.bazel b/src/tint/lang/core/ir/BUILD.bazel
index c1efb4f..dd00a54 100644
--- a/src/tint/lang/core/ir/BUILD.bazel
+++ b/src/tint/lang/core/ir/BUILD.bazel
@@ -132,7 +132,6 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/intrinsic",
- "//src/tint/lang/core/intrinsic/data",
"//src/tint/lang/core/type",
"//src/tint/utils/containers",
"//src/tint/utils/diagnostic",
@@ -203,7 +202,6 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/intrinsic",
- "//src/tint/lang/core/intrinsic/data",
"//src/tint/lang/core/ir",
"//src/tint/lang/core/type",
"//src/tint/utils/containers",
diff --git a/src/tint/lang/core/ir/BUILD.cmake b/src/tint/lang/core/ir/BUILD.cmake
index a56200d..795ca8f 100644
--- a/src/tint/lang/core/ir/BUILD.cmake
+++ b/src/tint/lang/core/ir/BUILD.cmake
@@ -133,7 +133,6 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_intrinsic
- tint_lang_core_intrinsic_data
tint_lang_core_type
tint_utils_containers
tint_utils_diagnostic
@@ -204,7 +203,6 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_intrinsic
- tint_lang_core_intrinsic_data
tint_lang_core_ir
tint_lang_core_type
tint_utils_containers
diff --git a/src/tint/lang/core/ir/BUILD.gn b/src/tint/lang/core/ir/BUILD.gn
index 21a81bb..ff12f1e 100644
--- a/src/tint/lang/core/ir/BUILD.gn
+++ b/src/tint/lang/core/ir/BUILD.gn
@@ -135,7 +135,6 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/intrinsic",
- "${tint_src_dir}/lang/core/intrinsic/data",
"${tint_src_dir}/lang/core/type",
"${tint_src_dir}/utils/containers",
"${tint_src_dir}/utils/diagnostic",
@@ -205,7 +204,6 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/intrinsic",
- "${tint_src_dir}/lang/core/intrinsic/data",
"${tint_src_dir}/lang/core/ir",
"${tint_src_dir}/lang/core/type",
"${tint_src_dir}/utils/containers",
diff --git a/src/tint/lang/core/ir/core_builtin_call.h b/src/tint/lang/core/ir/core_builtin_call.h
index 9228678..ced02de 100644
--- a/src/tint/lang/core/ir/core_builtin_call.h
+++ b/src/tint/lang/core/ir/core_builtin_call.h
@@ -18,7 +18,7 @@
#include <string>
#include "src/tint/lang/core/builtin_fn.h"
-#include "src/tint/lang/core/intrinsic/data/data.h"
+#include "src/tint/lang/core/intrinsic/dialect.h"
#include "src/tint/lang/core/intrinsic/table_data.h"
#include "src/tint/lang/core/ir/builtin_call.h"
#include "src/tint/utils/rtti/castable.h"
@@ -50,7 +50,9 @@
std::string FriendlyName() override { return core::str(func_); }
/// @returns the table data to validate this builtin
- const core::intrinsic::TableData& TableData() override { return core::intrinsic::data::kData; }
+ const core::intrinsic::TableData& TableData() override {
+ return core::intrinsic::Dialect::kData;
+ }
private:
core::BuiltinFn func_;
diff --git a/src/tint/lang/core/ir/transform/BUILD.bazel b/src/tint/lang/core/ir/transform/BUILD.bazel
index 4388198..f381912 100644
--- a/src/tint/lang/core/ir/transform/BUILD.bazel
+++ b/src/tint/lang/core/ir/transform/BUILD.bazel
@@ -59,7 +59,6 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/intrinsic",
- "//src/tint/lang/core/intrinsic/data",
"//src/tint/lang/core/ir",
"//src/tint/lang/core/type",
"//src/tint/utils/containers",
@@ -102,7 +101,6 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/intrinsic",
- "//src/tint/lang/core/intrinsic/data",
"//src/tint/lang/core/ir",
"//src/tint/lang/core/ir/transform",
"//src/tint/lang/core/type",
diff --git a/src/tint/lang/core/ir/transform/BUILD.cmake b/src/tint/lang/core/ir/transform/BUILD.cmake
index 5e772df..c441513 100644
--- a/src/tint/lang/core/ir/transform/BUILD.cmake
+++ b/src/tint/lang/core/ir/transform/BUILD.cmake
@@ -58,7 +58,6 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_intrinsic
- tint_lang_core_intrinsic_data
tint_lang_core_ir
tint_lang_core_type
tint_utils_containers
@@ -101,7 +100,6 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_intrinsic
- tint_lang_core_intrinsic_data
tint_lang_core_ir
tint_lang_core_ir_transform
tint_lang_core_type
diff --git a/src/tint/lang/core/ir/transform/BUILD.gn b/src/tint/lang/core/ir/transform/BUILD.gn
index cf99aba..b907ec2 100644
--- a/src/tint/lang/core/ir/transform/BUILD.gn
+++ b/src/tint/lang/core/ir/transform/BUILD.gn
@@ -62,7 +62,6 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/intrinsic",
- "${tint_src_dir}/lang/core/intrinsic/data",
"${tint_src_dir}/lang/core/ir",
"${tint_src_dir}/lang/core/type",
"${tint_src_dir}/utils/containers",
@@ -104,7 +103,6 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/intrinsic",
- "${tint_src_dir}/lang/core/intrinsic/data",
"${tint_src_dir}/lang/core/ir",
"${tint_src_dir}/lang/core/ir/transform",
"${tint_src_dir}/lang/core/type",
diff --git a/src/tint/lang/msl/writer/printer/BUILD.bazel b/src/tint/lang/msl/writer/printer/BUILD.bazel
index b56908f..6f326c0 100644
--- a/src/tint/lang/msl/writer/printer/BUILD.bazel
+++ b/src/tint/lang/msl/writer/printer/BUILD.bazel
@@ -79,7 +79,6 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/intrinsic",
- "//src/tint/lang/core/intrinsic/data",
"//src/tint/lang/core/ir",
"//src/tint/lang/core/type",
"//src/tint/lang/msl/writer/raise",
diff --git a/src/tint/lang/msl/writer/printer/BUILD.cmake b/src/tint/lang/msl/writer/printer/BUILD.cmake
index b716984..211c5e0 100644
--- a/src/tint/lang/msl/writer/printer/BUILD.cmake
+++ b/src/tint/lang/msl/writer/printer/BUILD.cmake
@@ -84,7 +84,6 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_intrinsic
- tint_lang_core_intrinsic_data
tint_lang_core_ir
tint_lang_core_type
tint_lang_msl_writer_raise
diff --git a/src/tint/lang/msl/writer/printer/BUILD.gn b/src/tint/lang/msl/writer/printer/BUILD.gn
index 52f1d40..cf2af5a 100644
--- a/src/tint/lang/msl/writer/printer/BUILD.gn
+++ b/src/tint/lang/msl/writer/printer/BUILD.gn
@@ -82,7 +82,6 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/intrinsic",
- "${tint_src_dir}/lang/core/intrinsic/data",
"${tint_src_dir}/lang/core/ir",
"${tint_src_dir}/lang/core/type",
"${tint_src_dir}/lang/msl/writer/raise",
diff --git a/src/tint/lang/spirv/intrinsic/BUILD.bazel b/src/tint/lang/spirv/intrinsic/BUILD.bazel
index 9f81589..d7d16d9 100644
--- a/src/tint/lang/spirv/intrinsic/BUILD.bazel
+++ b/src/tint/lang/spirv/intrinsic/BUILD.bazel
@@ -23,4 +23,37 @@
load("//src/tint:flags.bzl", "COPTS")
load("@bazel_skylib//lib:selects.bzl", "selects")
+cc_library(
+ name = "intrinsic",
+ srcs = [
+ "data.cc",
+ ],
+ hdrs = [
+ "dialect.h",
+ "type_matchers.h",
+ ],
+ deps = [
+ "//src/tint/lang/core",
+ "//src/tint/lang/core/constant",
+ "//src/tint/lang/core/intrinsic",
+ "//src/tint/lang/core/ir",
+ "//src/tint/lang/core/type",
+ "//src/tint/lang/spirv",
+ "//src/tint/lang/spirv/type",
+ "//src/tint/utils/containers",
+ "//src/tint/utils/diagnostic",
+ "//src/tint/utils/ice",
+ "//src/tint/utils/id",
+ "//src/tint/utils/macros",
+ "//src/tint/utils/math",
+ "//src/tint/utils/memory",
+ "//src/tint/utils/result",
+ "//src/tint/utils/rtti",
+ "//src/tint/utils/symbol",
+ "//src/tint/utils/text",
+ "//src/tint/utils/traits",
+ ],
+ copts = COPTS,
+ visibility = ["//visibility:public"],
+)
diff --git a/src/tint/lang/spirv/intrinsic/BUILD.cmake b/src/tint/lang/spirv/intrinsic/BUILD.cmake
index af6fdc2..545fc3b 100644
--- a/src/tint/lang/spirv/intrinsic/BUILD.cmake
+++ b/src/tint/lang/spirv/intrinsic/BUILD.cmake
@@ -21,4 +21,34 @@
# Do not modify this file directly
################################################################################
-include(lang/spirv/intrinsic/data/BUILD.cmake)
+################################################################################
+# Target: tint_lang_spirv_intrinsic
+# Kind: lib
+################################################################################
+tint_add_target(tint_lang_spirv_intrinsic lib
+ lang/spirv/intrinsic/data.cc
+ lang/spirv/intrinsic/dialect.h
+ lang/spirv/intrinsic/type_matchers.h
+)
+
+tint_target_add_dependencies(tint_lang_spirv_intrinsic lib
+ tint_lang_core
+ tint_lang_core_constant
+ tint_lang_core_intrinsic
+ tint_lang_core_ir
+ tint_lang_core_type
+ tint_lang_spirv
+ tint_lang_spirv_type
+ tint_utils_containers
+ tint_utils_diagnostic
+ tint_utils_ice
+ tint_utils_id
+ tint_utils_macros
+ tint_utils_math
+ tint_utils_memory
+ tint_utils_result
+ tint_utils_rtti
+ tint_utils_symbol
+ tint_utils_text
+ tint_utils_traits
+)
diff --git a/src/tint/lang/spirv/intrinsic/BUILD.gn b/src/tint/lang/spirv/intrinsic/BUILD.gn
index b502e46..175a3b2 100644
--- a/src/tint/lang/spirv/intrinsic/BUILD.gn
+++ b/src/tint/lang/spirv/intrinsic/BUILD.gn
@@ -24,3 +24,32 @@
import("../../../../../scripts/tint_overrides_with_defaults.gni")
import("${tint_src_dir}/tint.gni")
+
+libtint_source_set("intrinsic") {
+ sources = [
+ "data.cc",
+ "dialect.h",
+ "type_matchers.h",
+ ]
+ deps = [
+ "${tint_src_dir}/lang/core",
+ "${tint_src_dir}/lang/core/constant",
+ "${tint_src_dir}/lang/core/intrinsic",
+ "${tint_src_dir}/lang/core/ir",
+ "${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/spirv",
+ "${tint_src_dir}/lang/spirv/type",
+ "${tint_src_dir}/utils/containers",
+ "${tint_src_dir}/utils/diagnostic",
+ "${tint_src_dir}/utils/ice",
+ "${tint_src_dir}/utils/id",
+ "${tint_src_dir}/utils/macros",
+ "${tint_src_dir}/utils/math",
+ "${tint_src_dir}/utils/memory",
+ "${tint_src_dir}/utils/result",
+ "${tint_src_dir}/utils/rtti",
+ "${tint_src_dir}/utils/symbol",
+ "${tint_src_dir}/utils/text",
+ "${tint_src_dir}/utils/traits",
+ ]
+}
diff --git a/src/tint/lang/spirv/intrinsic/data/data.cc b/src/tint/lang/spirv/intrinsic/data.cc
similarity index 99%
rename from src/tint/lang/spirv/intrinsic/data/data.cc
rename to src/tint/lang/spirv/intrinsic/data.cc
index 3ae440d..ee44eca 100644
--- a/src/tint/lang/spirv/intrinsic/data/data.cc
+++ b/src/tint/lang/spirv/intrinsic/data.cc
@@ -14,7 +14,7 @@
////////////////////////////////////////////////////////////////////////////////
// File generated by 'tools/src/cmd/gen' using the template:
-// src/tint/lang/spirv/intrinsic/data/data.cc.tmpl
+// src/tint/lang/spirv/intrinsic/data.cc.tmpl
//
// To regenerate run: './tools/run gen'
//
@@ -24,14 +24,14 @@
#include <limits>
#include <string>
-#include "src/tint/lang/core/intrinsic/data/type_matchers.h"
-#include "src/tint/lang/spirv/intrinsic/data/data.h"
-#include "src/tint/lang/spirv/intrinsic/data/type_matchers.h"
+#include "src/tint/lang/core/intrinsic/type_matchers.h"
+#include "src/tint/lang/spirv/intrinsic/dialect.h"
+#include "src/tint/lang/spirv/intrinsic/type_matchers.h"
#include "src/tint/utils/text/string_stream.h"
-namespace tint::spirv::intrinsic::data {
+namespace tint::spirv::intrinsic {
-using namespace tint::core::intrinsic::data; // NOLINT(build/namespaces)
+using namespace tint::core::intrinsic; // NOLINT(build/namespaces)
namespace {
@@ -5771,7 +5771,7 @@
} // anonymous namespace
-const core::intrinsic::TableData kData{
+const core::intrinsic::TableData Dialect::kData{
/* template_types */ kTemplateTypes,
/* template_numbers */ kTemplateNumbers,
/* type_matcher_indices */ kTypeMatcherIndices,
@@ -5806,4 +5806,4 @@
/* unary '-' */ tint::core::intrinsic::kNoOverloads,
};
-} // namespace tint::spirv::intrinsic::data
+} // namespace tint::spirv::intrinsic
diff --git a/src/tint/lang/spirv/intrinsic/data/data.cc.tmpl b/src/tint/lang/spirv/intrinsic/data.cc.tmpl
similarity index 67%
rename from src/tint/lang/spirv/intrinsic/data/data.cc.tmpl
rename to src/tint/lang/spirv/intrinsic/data.cc.tmpl
index 8130aea..6086b0a 100644
--- a/src/tint/lang/spirv/intrinsic/data/data.cc.tmpl
+++ b/src/tint/lang/spirv/intrinsic/data.cc.tmpl
@@ -19,17 +19,17 @@
#include <limits>
#include <string>
-#include "src/tint/lang/core/intrinsic/data/type_matchers.h"
-#include "src/tint/lang/spirv/intrinsic/data/type_matchers.h"
-#include "src/tint/lang/spirv/intrinsic/data/data.h"
+#include "src/tint/lang/core/intrinsic/type_matchers.h"
+#include "src/tint/lang/spirv/intrinsic/dialect.h"
+#include "src/tint/lang/spirv/intrinsic/type_matchers.h"
#include "src/tint/utils/text/string_stream.h"
-namespace tint::spirv::intrinsic::data {
+namespace tint::spirv::intrinsic {
-using namespace tint::core::intrinsic::data; // NOLINT(build/namespaces)
+using namespace tint::core::intrinsic; // NOLINT(build/namespaces)
{{ Eval "Data"
"Intrinsics" $I
- "Name" "kData" -}}
+ "Name" "Dialect::kData" -}}
-} // namespace tint::spirv::intrinsic::data
+} // namespace tint::spirv::intrinsic
diff --git a/src/tint/lang/spirv/intrinsic/data/BUILD.bazel b/src/tint/lang/spirv/intrinsic/data/BUILD.bazel
deleted file mode 100644
index 3a2673d..0000000
--- a/src/tint/lang/spirv/intrinsic/data/BUILD.bazel
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 2023 The Tint Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-################################################################################
-# File generated by 'tools/src/cmd/gen' using the template:
-# tools/src/cmd/gen/build/BUILD.bazel.tmpl
-#
-# To regenerate run: './tools/run gen'
-#
-# Do not modify this file directly
-################################################################################
-
-load("//src/tint:flags.bzl", "COPTS")
-load("@bazel_skylib//lib:selects.bzl", "selects")
-cc_library(
- name = "data",
- srcs = [
- "data.cc",
- ],
- hdrs = [
- "data.h",
- "type_matchers.h",
- ],
- deps = [
- "//src/tint/lang/core",
- "//src/tint/lang/core/constant",
- "//src/tint/lang/core/intrinsic",
- "//src/tint/lang/core/intrinsic/data",
- "//src/tint/lang/core/ir",
- "//src/tint/lang/core/type",
- "//src/tint/lang/spirv/type",
- "//src/tint/utils/containers",
- "//src/tint/utils/diagnostic",
- "//src/tint/utils/ice",
- "//src/tint/utils/id",
- "//src/tint/utils/macros",
- "//src/tint/utils/math",
- "//src/tint/utils/memory",
- "//src/tint/utils/result",
- "//src/tint/utils/rtti",
- "//src/tint/utils/symbol",
- "//src/tint/utils/text",
- "//src/tint/utils/traits",
- ],
- copts = COPTS,
- visibility = ["//visibility:public"],
-)
-
diff --git a/src/tint/lang/spirv/intrinsic/data/BUILD.cmake b/src/tint/lang/spirv/intrinsic/data/BUILD.cmake
deleted file mode 100644
index dc7d4da..0000000
--- a/src/tint/lang/spirv/intrinsic/data/BUILD.cmake
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 2023 The Tint Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-################################################################################
-# File generated by 'tools/src/cmd/gen' using the template:
-# tools/src/cmd/gen/build/BUILD.cmake.tmpl
-#
-# To regenerate run: './tools/run gen'
-#
-# Do not modify this file directly
-################################################################################
-
-################################################################################
-# Target: tint_lang_spirv_intrinsic_data
-# Kind: lib
-################################################################################
-tint_add_target(tint_lang_spirv_intrinsic_data lib
- lang/spirv/intrinsic/data/data.cc
- lang/spirv/intrinsic/data/data.h
- lang/spirv/intrinsic/data/type_matchers.h
-)
-
-tint_target_add_dependencies(tint_lang_spirv_intrinsic_data lib
- tint_lang_core
- tint_lang_core_constant
- tint_lang_core_intrinsic
- tint_lang_core_intrinsic_data
- tint_lang_core_ir
- tint_lang_core_type
- tint_lang_spirv_type
- tint_utils_containers
- tint_utils_diagnostic
- tint_utils_ice
- tint_utils_id
- tint_utils_macros
- tint_utils_math
- tint_utils_memory
- tint_utils_result
- tint_utils_rtti
- tint_utils_symbol
- tint_utils_text
- tint_utils_traits
-)
diff --git a/src/tint/lang/spirv/intrinsic/data/BUILD.gn b/src/tint/lang/spirv/intrinsic/data/BUILD.gn
deleted file mode 100644
index 17a0d59..0000000
--- a/src/tint/lang/spirv/intrinsic/data/BUILD.gn
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 2023 The Tint Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-################################################################################
-# File generated by 'tools/src/cmd/gen' using the template:
-# tools/src/cmd/gen/build/BUILD.gn.tmpl
-#
-# To regenerate run: './tools/run gen'
-#
-# Do not modify this file directly
-################################################################################
-
-import("../../../../../../scripts/tint_overrides_with_defaults.gni")
-
-import("${tint_src_dir}/tint.gni")
-
-libtint_source_set("data") {
- sources = [
- "data.cc",
- "data.h",
- "type_matchers.h",
- ]
- deps = [
- "${tint_src_dir}/lang/core",
- "${tint_src_dir}/lang/core/constant",
- "${tint_src_dir}/lang/core/intrinsic",
- "${tint_src_dir}/lang/core/intrinsic/data",
- "${tint_src_dir}/lang/core/ir",
- "${tint_src_dir}/lang/core/type",
- "${tint_src_dir}/lang/spirv/type",
- "${tint_src_dir}/utils/containers",
- "${tint_src_dir}/utils/diagnostic",
- "${tint_src_dir}/utils/ice",
- "${tint_src_dir}/utils/id",
- "${tint_src_dir}/utils/macros",
- "${tint_src_dir}/utils/math",
- "${tint_src_dir}/utils/memory",
- "${tint_src_dir}/utils/result",
- "${tint_src_dir}/utils/rtti",
- "${tint_src_dir}/utils/symbol",
- "${tint_src_dir}/utils/text",
- "${tint_src_dir}/utils/traits",
- ]
-}
diff --git a/src/tint/lang/spirv/intrinsic/data/data.h b/src/tint/lang/spirv/intrinsic/data/data.h
deleted file mode 100644
index 60b0c2a..0000000
--- a/src/tint/lang/spirv/intrinsic/data/data.h
+++ /dev/null
@@ -1,26 +0,0 @@
-// 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_LANG_SPIRV_INTRINSIC_DATA_DATA_H_
-#define SRC_TINT_LANG_SPIRV_INTRINSIC_DATA_DATA_H_
-
-#include "src/tint/lang/core/intrinsic/table_data.h"
-
-namespace tint::spirv::intrinsic::data {
-
-extern const core::intrinsic::TableData kData;
-
-} // namespace tint::spirv::intrinsic::data
-
-#endif // SRC_TINT_LANG_SPIRV_INTRINSIC_DATA_DATA_H_
diff --git a/src/tint/lang/spirv/intrinsic/dialect.h b/src/tint/lang/spirv/intrinsic/dialect.h
new file mode 100644
index 0000000..37fb3c7
--- /dev/null
+++ b/src/tint/lang/spirv/intrinsic/dialect.h
@@ -0,0 +1,38 @@
+// 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_LANG_SPIRV_INTRINSIC_DIALECT_H_
+#define SRC_TINT_LANG_SPIRV_INTRINSIC_DIALECT_H_
+
+#include "src/tint/lang/core/intrinsic/table_data.h"
+#include "src/tint/lang/spirv/builtin_fn.h"
+
+namespace tint::spirv::intrinsic {
+
+/// Dialect holds the intrinsic table data and types for the SPIR-V dialect
+struct Dialect {
+ /// The dialect's intrinsic table data
+ static const core::intrinsic::TableData kData;
+
+ /// The dialect's builtin function enumerator
+ using BuiltinFn = spirv::BuiltinFn;
+
+ /// @returns the name of the builtin function @p fn
+ /// @param fn the builtin function
+ static std::string_view ToString(BuiltinFn fn) { return str(fn); }
+};
+
+} // namespace tint::spirv::intrinsic
+
+#endif // SRC_TINT_LANG_SPIRV_INTRINSIC_DIALECT_H_
diff --git a/src/tint/lang/spirv/intrinsic/data/type_matchers.h b/src/tint/lang/spirv/intrinsic/type_matchers.h
similarity index 88%
rename from src/tint/lang/spirv/intrinsic/data/type_matchers.h
rename to src/tint/lang/spirv/intrinsic/type_matchers.h
index 9840ab8..afe545d 100644
--- a/src/tint/lang/spirv/intrinsic/data/type_matchers.h
+++ b/src/tint/lang/spirv/intrinsic/type_matchers.h
@@ -12,8 +12,8 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#ifndef SRC_TINT_LANG_SPIRV_INTRINSIC_DATA_TYPE_MATCHERS_H_
-#define SRC_TINT_LANG_SPIRV_INTRINSIC_DATA_TYPE_MATCHERS_H_
+#ifndef SRC_TINT_LANG_SPIRV_INTRINSIC_TYPE_MATCHERS_H_
+#define SRC_TINT_LANG_SPIRV_INTRINSIC_TYPE_MATCHERS_H_
#include "src/tint/lang/core/intrinsic/table.h"
#include "src/tint/lang/core/type/array.h"
@@ -21,7 +21,7 @@
#include "src/tint/lang/core/type/struct.h"
#include "src/tint/lang/spirv/type/sampled_image.h"
-namespace tint::spirv::intrinsic::data {
+namespace tint::spirv::intrinsic {
inline bool MatchStructWithRuntimeArray(core::intrinsic::MatchState&, const core::type::Type* ty) {
if (auto* str = ty->As<core::type::Struct>()) {
@@ -62,6 +62,6 @@
return state.types.Get<type::SampledImage>(T);
}
-} // namespace tint::spirv::intrinsic::data
+} // namespace tint::spirv::intrinsic
-#endif // SRC_TINT_LANG_SPIRV_INTRINSIC_DATA_TYPE_MATCHERS_H_
+#endif // SRC_TINT_LANG_SPIRV_INTRINSIC_TYPE_MATCHERS_H_
diff --git a/src/tint/lang/spirv/ir/BUILD.bazel b/src/tint/lang/spirv/ir/BUILD.bazel
index 4bc4c29..c6570fc 100644
--- a/src/tint/lang/spirv/ir/BUILD.bazel
+++ b/src/tint/lang/spirv/ir/BUILD.bazel
@@ -39,7 +39,7 @@
"//src/tint/lang/core/ir",
"//src/tint/lang/core/type",
"//src/tint/lang/spirv",
- "//src/tint/lang/spirv/intrinsic/data",
+ "//src/tint/lang/spirv/intrinsic",
"//src/tint/utils/containers",
"//src/tint/utils/diagnostic",
"//src/tint/utils/ice",
@@ -68,12 +68,11 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/intrinsic",
- "//src/tint/lang/core/intrinsic/data",
"//src/tint/lang/core/ir",
"//src/tint/lang/core/ir:test",
"//src/tint/lang/core/type",
"//src/tint/lang/spirv",
- "//src/tint/lang/spirv/intrinsic/data",
+ "//src/tint/lang/spirv/intrinsic",
"//src/tint/lang/spirv/ir",
"//src/tint/utils/containers",
"//src/tint/utils/diagnostic",
diff --git a/src/tint/lang/spirv/ir/BUILD.cmake b/src/tint/lang/spirv/ir/BUILD.cmake
index 120c578..e17a474 100644
--- a/src/tint/lang/spirv/ir/BUILD.cmake
+++ b/src/tint/lang/spirv/ir/BUILD.cmake
@@ -38,7 +38,7 @@
tint_lang_core_ir
tint_lang_core_type
tint_lang_spirv
- tint_lang_spirv_intrinsic_data
+ tint_lang_spirv_intrinsic
tint_utils_containers
tint_utils_diagnostic
tint_utils_ice
@@ -67,12 +67,11 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_intrinsic
- tint_lang_core_intrinsic_data
tint_lang_core_ir
tint_lang_core_ir_test
tint_lang_core_type
tint_lang_spirv
- tint_lang_spirv_intrinsic_data
+ tint_lang_spirv_intrinsic
tint_lang_spirv_ir
tint_utils_containers
tint_utils_diagnostic
diff --git a/src/tint/lang/spirv/ir/BUILD.gn b/src/tint/lang/spirv/ir/BUILD.gn
index b558471..2a81280 100644
--- a/src/tint/lang/spirv/ir/BUILD.gn
+++ b/src/tint/lang/spirv/ir/BUILD.gn
@@ -42,7 +42,7 @@
"${tint_src_dir}/lang/core/ir",
"${tint_src_dir}/lang/core/type",
"${tint_src_dir}/lang/spirv",
- "${tint_src_dir}/lang/spirv/intrinsic/data",
+ "${tint_src_dir}/lang/spirv/intrinsic",
"${tint_src_dir}/utils/containers",
"${tint_src_dir}/utils/diagnostic",
"${tint_src_dir}/utils/ice",
@@ -68,12 +68,11 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/intrinsic",
- "${tint_src_dir}/lang/core/intrinsic/data",
"${tint_src_dir}/lang/core/ir",
"${tint_src_dir}/lang/core/ir:unittests",
"${tint_src_dir}/lang/core/type",
"${tint_src_dir}/lang/spirv",
- "${tint_src_dir}/lang/spirv/intrinsic/data",
+ "${tint_src_dir}/lang/spirv/intrinsic",
"${tint_src_dir}/lang/spirv/ir",
"${tint_src_dir}/utils/containers",
"${tint_src_dir}/utils/diagnostic",
diff --git a/src/tint/lang/spirv/ir/builtin_call.h b/src/tint/lang/spirv/ir/builtin_call.h
index 5eeefb9..0892e1c 100644
--- a/src/tint/lang/spirv/ir/builtin_call.h
+++ b/src/tint/lang/spirv/ir/builtin_call.h
@@ -20,7 +20,7 @@
#include "src/tint/lang/core/intrinsic/table_data.h"
#include "src/tint/lang/core/ir/builtin_call.h"
#include "src/tint/lang/spirv/builtin_fn.h"
-#include "src/tint/lang/spirv/intrinsic/data/data.h"
+#include "src/tint/lang/spirv/intrinsic/dialect.h"
#include "src/tint/utils/rtti/castable.h"
namespace tint::spirv::ir {
@@ -50,7 +50,9 @@
std::string FriendlyName() override { return std::string("spirv.") + str(func_); }
/// @returns the table data to validate this builtin
- const core::intrinsic::TableData& TableData() override { return spirv::intrinsic::data::kData; }
+ const core::intrinsic::TableData& TableData() override {
+ return spirv::intrinsic::Dialect::kData;
+ }
private:
BuiltinFn func_;
diff --git a/src/tint/lang/spirv/writer/BUILD.bazel b/src/tint/lang/spirv/writer/BUILD.bazel
index 3f9d6e9..6c14c69 100644
--- a/src/tint/lang/spirv/writer/BUILD.bazel
+++ b/src/tint/lang/spirv/writer/BUILD.bazel
@@ -38,12 +38,11 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/intrinsic",
- "//src/tint/lang/core/intrinsic/data",
"//src/tint/lang/core/ir",
"//src/tint/lang/core/ir/transform",
"//src/tint/lang/core/type",
"//src/tint/lang/spirv",
- "//src/tint/lang/spirv/intrinsic/data",
+ "//src/tint/lang/spirv/intrinsic",
"//src/tint/lang/spirv/ir",
"//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
@@ -112,11 +111,10 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/intrinsic",
- "//src/tint/lang/core/intrinsic/data",
"//src/tint/lang/core/ir",
"//src/tint/lang/core/type",
"//src/tint/lang/spirv",
- "//src/tint/lang/spirv/intrinsic/data",
+ "//src/tint/lang/spirv/intrinsic",
"//src/tint/lang/spirv/ir",
"//src/tint/utils/containers",
"//src/tint/utils/diagnostic",
diff --git a/src/tint/lang/spirv/writer/BUILD.cmake b/src/tint/lang/spirv/writer/BUILD.cmake
index 5dd6423..c0d3ce0 100644
--- a/src/tint/lang/spirv/writer/BUILD.cmake
+++ b/src/tint/lang/spirv/writer/BUILD.cmake
@@ -45,12 +45,11 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_intrinsic
- tint_lang_core_intrinsic_data
tint_lang_core_ir
tint_lang_core_ir_transform
tint_lang_core_type
tint_lang_spirv
- tint_lang_spirv_intrinsic_data
+ tint_lang_spirv_intrinsic
tint_lang_spirv_ir
tint_lang_wgsl
tint_lang_wgsl_ast
@@ -124,11 +123,10 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_intrinsic
- tint_lang_core_intrinsic_data
tint_lang_core_ir
tint_lang_core_type
tint_lang_spirv
- tint_lang_spirv_intrinsic_data
+ tint_lang_spirv_intrinsic
tint_lang_spirv_ir
tint_utils_containers
tint_utils_diagnostic
diff --git a/src/tint/lang/spirv/writer/BUILD.gn b/src/tint/lang/spirv/writer/BUILD.gn
index bf60f83..9284214 100644
--- a/src/tint/lang/spirv/writer/BUILD.gn
+++ b/src/tint/lang/spirv/writer/BUILD.gn
@@ -41,12 +41,11 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/intrinsic",
- "${tint_src_dir}/lang/core/intrinsic/data",
"${tint_src_dir}/lang/core/ir",
"${tint_src_dir}/lang/core/ir/transform",
"${tint_src_dir}/lang/core/type",
"${tint_src_dir}/lang/spirv",
- "${tint_src_dir}/lang/spirv/intrinsic/data",
+ "${tint_src_dir}/lang/spirv/intrinsic",
"${tint_src_dir}/lang/spirv/ir",
"${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
@@ -116,11 +115,10 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/intrinsic",
- "${tint_src_dir}/lang/core/intrinsic/data",
"${tint_src_dir}/lang/core/ir",
"${tint_src_dir}/lang/core/type",
"${tint_src_dir}/lang/spirv",
- "${tint_src_dir}/lang/spirv/intrinsic/data",
+ "${tint_src_dir}/lang/spirv/intrinsic",
"${tint_src_dir}/lang/spirv/ir",
"${tint_src_dir}/utils/containers",
"${tint_src_dir}/utils/diagnostic",
diff --git a/src/tint/lang/spirv/writer/common/BUILD.bazel b/src/tint/lang/spirv/writer/common/BUILD.bazel
index 679753a..2c68623 100644
--- a/src/tint/lang/spirv/writer/common/BUILD.bazel
+++ b/src/tint/lang/spirv/writer/common/BUILD.bazel
@@ -76,11 +76,10 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/intrinsic",
- "//src/tint/lang/core/intrinsic/data",
"//src/tint/lang/core/ir",
"//src/tint/lang/core/type",
"//src/tint/lang/spirv",
- "//src/tint/lang/spirv/intrinsic/data",
+ "//src/tint/lang/spirv/intrinsic",
"//src/tint/lang/spirv/ir",
"//src/tint/utils/containers",
"//src/tint/utils/diagnostic",
diff --git a/src/tint/lang/spirv/writer/common/BUILD.cmake b/src/tint/lang/spirv/writer/common/BUILD.cmake
index 8e00115..e6165eb 100644
--- a/src/tint/lang/spirv/writer/common/BUILD.cmake
+++ b/src/tint/lang/spirv/writer/common/BUILD.cmake
@@ -81,11 +81,10 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_intrinsic
- tint_lang_core_intrinsic_data
tint_lang_core_ir
tint_lang_core_type
tint_lang_spirv
- tint_lang_spirv_intrinsic_data
+ tint_lang_spirv_intrinsic
tint_lang_spirv_ir
tint_utils_containers
tint_utils_diagnostic
diff --git a/src/tint/lang/spirv/writer/common/BUILD.gn b/src/tint/lang/spirv/writer/common/BUILD.gn
index 17330ef..2a6948f 100644
--- a/src/tint/lang/spirv/writer/common/BUILD.gn
+++ b/src/tint/lang/spirv/writer/common/BUILD.gn
@@ -79,11 +79,10 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/intrinsic",
- "${tint_src_dir}/lang/core/intrinsic/data",
"${tint_src_dir}/lang/core/ir",
"${tint_src_dir}/lang/core/type",
"${tint_src_dir}/lang/spirv",
- "${tint_src_dir}/lang/spirv/intrinsic/data",
+ "${tint_src_dir}/lang/spirv/intrinsic",
"${tint_src_dir}/lang/spirv/ir",
"${tint_src_dir}/utils/containers",
"${tint_src_dir}/utils/diagnostic",
diff --git a/src/tint/lang/spirv/writer/printer/BUILD.bazel b/src/tint/lang/spirv/writer/printer/BUILD.bazel
index 6cbbbbe..f595547 100644
--- a/src/tint/lang/spirv/writer/printer/BUILD.bazel
+++ b/src/tint/lang/spirv/writer/printer/BUILD.bazel
@@ -37,11 +37,10 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/intrinsic",
- "//src/tint/lang/core/intrinsic/data",
"//src/tint/lang/core/ir",
"//src/tint/lang/core/type",
"//src/tint/lang/spirv",
- "//src/tint/lang/spirv/intrinsic/data",
+ "//src/tint/lang/spirv/intrinsic",
"//src/tint/lang/spirv/ir",
"//src/tint/lang/spirv/type",
"//src/tint/lang/wgsl",
diff --git a/src/tint/lang/spirv/writer/printer/BUILD.cmake b/src/tint/lang/spirv/writer/printer/BUILD.cmake
index 2eccda6..81c1626 100644
--- a/src/tint/lang/spirv/writer/printer/BUILD.cmake
+++ b/src/tint/lang/spirv/writer/printer/BUILD.cmake
@@ -38,11 +38,10 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_intrinsic
- tint_lang_core_intrinsic_data
tint_lang_core_ir
tint_lang_core_type
tint_lang_spirv
- tint_lang_spirv_intrinsic_data
+ tint_lang_spirv_intrinsic
tint_lang_spirv_ir
tint_lang_spirv_type
tint_lang_wgsl
diff --git a/src/tint/lang/spirv/writer/printer/BUILD.gn b/src/tint/lang/spirv/writer/printer/BUILD.gn
index 69b21cd..476271a 100644
--- a/src/tint/lang/spirv/writer/printer/BUILD.gn
+++ b/src/tint/lang/spirv/writer/printer/BUILD.gn
@@ -36,11 +36,10 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/intrinsic",
- "${tint_src_dir}/lang/core/intrinsic/data",
"${tint_src_dir}/lang/core/ir",
"${tint_src_dir}/lang/core/type",
"${tint_src_dir}/lang/spirv",
- "${tint_src_dir}/lang/spirv/intrinsic/data",
+ "${tint_src_dir}/lang/spirv/intrinsic",
"${tint_src_dir}/lang/spirv/ir",
"${tint_src_dir}/lang/spirv/type",
"${tint_src_dir}/lang/wgsl",
diff --git a/src/tint/lang/spirv/writer/raise/BUILD.bazel b/src/tint/lang/spirv/writer/raise/BUILD.bazel
index 6c76444..f233c85 100644
--- a/src/tint/lang/spirv/writer/raise/BUILD.bazel
+++ b/src/tint/lang/spirv/writer/raise/BUILD.bazel
@@ -49,12 +49,11 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/intrinsic",
- "//src/tint/lang/core/intrinsic/data",
"//src/tint/lang/core/ir",
"//src/tint/lang/core/ir/transform",
"//src/tint/lang/core/type",
"//src/tint/lang/spirv",
- "//src/tint/lang/spirv/intrinsic/data",
+ "//src/tint/lang/spirv/intrinsic",
"//src/tint/lang/spirv/ir",
"//src/tint/lang/spirv/type",
"//src/tint/utils/containers",
@@ -100,7 +99,6 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/intrinsic",
- "//src/tint/lang/core/intrinsic/data",
"//src/tint/lang/core/ir",
"//src/tint/lang/core/ir/transform:test",
"//src/tint/lang/core/type",
diff --git a/src/tint/lang/spirv/writer/raise/BUILD.cmake b/src/tint/lang/spirv/writer/raise/BUILD.cmake
index 7e56366..8385c91 100644
--- a/src/tint/lang/spirv/writer/raise/BUILD.cmake
+++ b/src/tint/lang/spirv/writer/raise/BUILD.cmake
@@ -50,12 +50,11 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_intrinsic
- tint_lang_core_intrinsic_data
tint_lang_core_ir
tint_lang_core_ir_transform
tint_lang_core_type
tint_lang_spirv
- tint_lang_spirv_intrinsic_data
+ tint_lang_spirv_intrinsic
tint_lang_spirv_ir
tint_lang_spirv_type
tint_utils_containers
@@ -106,7 +105,6 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_intrinsic
- tint_lang_core_intrinsic_data
tint_lang_core_ir
tint_lang_core_ir_transform_test
tint_lang_core_type
diff --git a/src/tint/lang/spirv/writer/raise/BUILD.gn b/src/tint/lang/spirv/writer/raise/BUILD.gn
index db76051..6d187d6 100644
--- a/src/tint/lang/spirv/writer/raise/BUILD.gn
+++ b/src/tint/lang/spirv/writer/raise/BUILD.gn
@@ -52,12 +52,11 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/intrinsic",
- "${tint_src_dir}/lang/core/intrinsic/data",
"${tint_src_dir}/lang/core/ir",
"${tint_src_dir}/lang/core/ir/transform",
"${tint_src_dir}/lang/core/type",
"${tint_src_dir}/lang/spirv",
- "${tint_src_dir}/lang/spirv/intrinsic/data",
+ "${tint_src_dir}/lang/spirv/intrinsic",
"${tint_src_dir}/lang/spirv/ir",
"${tint_src_dir}/lang/spirv/type",
"${tint_src_dir}/utils/containers",
@@ -102,7 +101,6 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/intrinsic",
- "${tint_src_dir}/lang/core/intrinsic/data",
"${tint_src_dir}/lang/core/ir",
"${tint_src_dir}/lang/core/ir/transform:unittests",
"${tint_src_dir}/lang/core/type",
diff --git a/src/tint/lang/wgsl/helpers/BUILD.bazel b/src/tint/lang/wgsl/helpers/BUILD.bazel
index 7162fb1..16067dd 100644
--- a/src/tint/lang/wgsl/helpers/BUILD.bazel
+++ b/src/tint/lang/wgsl/helpers/BUILD.bazel
@@ -83,6 +83,7 @@
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/ast:test",
"//src/tint/lang/wgsl/helpers",
+ "//src/tint/lang/wgsl/intrinsic",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/reader",
"//src/tint/lang/wgsl/reader/lower",
diff --git a/src/tint/lang/wgsl/helpers/BUILD.cmake b/src/tint/lang/wgsl/helpers/BUILD.cmake
index 8781482..6eb49fb 100644
--- a/src/tint/lang/wgsl/helpers/BUILD.cmake
+++ b/src/tint/lang/wgsl/helpers/BUILD.cmake
@@ -82,6 +82,7 @@
tint_lang_wgsl_ast
tint_lang_wgsl_ast_test
tint_lang_wgsl_helpers
+ tint_lang_wgsl_intrinsic
tint_lang_wgsl_program
tint_lang_wgsl_reader
tint_lang_wgsl_reader_lower
diff --git a/src/tint/lang/wgsl/helpers/BUILD.gn b/src/tint/lang/wgsl/helpers/BUILD.gn
index 57843c5..25ea790 100644
--- a/src/tint/lang/wgsl/helpers/BUILD.gn
+++ b/src/tint/lang/wgsl/helpers/BUILD.gn
@@ -85,6 +85,7 @@
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/ast:unittests",
"${tint_src_dir}/lang/wgsl/helpers",
+ "${tint_src_dir}/lang/wgsl/intrinsic",
"${tint_src_dir}/lang/wgsl/program",
"${tint_src_dir}/lang/wgsl/reader",
"${tint_src_dir}/lang/wgsl/reader/lower",
diff --git a/src/tint/lang/wgsl/intrinsic/BUILD.bazel b/src/tint/lang/wgsl/intrinsic/BUILD.bazel
index 11db2ce..dc3205d 100644
--- a/src/tint/lang/wgsl/intrinsic/BUILD.bazel
+++ b/src/tint/lang/wgsl/intrinsic/BUILD.bazel
@@ -27,11 +27,29 @@
name = "intrinsic",
srcs = [
"ctor_conv.cc",
+ "data.cc",
],
hdrs = [
"ctor_conv.h",
+ "dialect.h",
],
deps = [
+ "//src/tint/lang/core",
+ "//src/tint/lang/core/constant",
+ "//src/tint/lang/core/intrinsic",
+ "//src/tint/lang/core/type",
+ "//src/tint/lang/wgsl",
+ "//src/tint/utils/containers",
+ "//src/tint/utils/diagnostic",
+ "//src/tint/utils/ice",
+ "//src/tint/utils/id",
+ "//src/tint/utils/macros",
+ "//src/tint/utils/math",
+ "//src/tint/utils/memory",
+ "//src/tint/utils/result",
+ "//src/tint/utils/rtti",
+ "//src/tint/utils/symbol",
+ "//src/tint/utils/text",
"//src/tint/utils/traits",
],
copts = COPTS,
diff --git a/src/tint/lang/wgsl/intrinsic/BUILD.cmake b/src/tint/lang/wgsl/intrinsic/BUILD.cmake
index 00e9790..95dcdcd 100644
--- a/src/tint/lang/wgsl/intrinsic/BUILD.cmake
+++ b/src/tint/lang/wgsl/intrinsic/BUILD.cmake
@@ -21,8 +21,6 @@
# Do not modify this file directly
################################################################################
-include(lang/wgsl/intrinsic/data/BUILD.cmake)
-
################################################################################
# Target: tint_lang_wgsl_intrinsic
# Kind: lib
@@ -30,8 +28,26 @@
tint_add_target(tint_lang_wgsl_intrinsic lib
lang/wgsl/intrinsic/ctor_conv.cc
lang/wgsl/intrinsic/ctor_conv.h
+ lang/wgsl/intrinsic/data.cc
+ lang/wgsl/intrinsic/dialect.h
)
tint_target_add_dependencies(tint_lang_wgsl_intrinsic lib
+ tint_lang_core
+ tint_lang_core_constant
+ tint_lang_core_intrinsic
+ tint_lang_core_type
+ tint_lang_wgsl
+ tint_utils_containers
+ tint_utils_diagnostic
+ tint_utils_ice
+ tint_utils_id
+ tint_utils_macros
+ tint_utils_math
+ tint_utils_memory
+ tint_utils_result
+ tint_utils_rtti
+ tint_utils_symbol
+ tint_utils_text
tint_utils_traits
)
diff --git a/src/tint/lang/wgsl/intrinsic/BUILD.gn b/src/tint/lang/wgsl/intrinsic/BUILD.gn
index 3e73267..f211f78 100644
--- a/src/tint/lang/wgsl/intrinsic/BUILD.gn
+++ b/src/tint/lang/wgsl/intrinsic/BUILD.gn
@@ -29,6 +29,26 @@
sources = [
"ctor_conv.cc",
"ctor_conv.h",
+ "data.cc",
+ "dialect.h",
]
- deps = [ "${tint_src_dir}/utils/traits" ]
+ deps = [
+ "${tint_src_dir}/lang/core",
+ "${tint_src_dir}/lang/core/constant",
+ "${tint_src_dir}/lang/core/intrinsic",
+ "${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
+ "${tint_src_dir}/utils/containers",
+ "${tint_src_dir}/utils/diagnostic",
+ "${tint_src_dir}/utils/ice",
+ "${tint_src_dir}/utils/id",
+ "${tint_src_dir}/utils/macros",
+ "${tint_src_dir}/utils/math",
+ "${tint_src_dir}/utils/memory",
+ "${tint_src_dir}/utils/result",
+ "${tint_src_dir}/utils/rtti",
+ "${tint_src_dir}/utils/symbol",
+ "${tint_src_dir}/utils/text",
+ "${tint_src_dir}/utils/traits",
+ ]
}
diff --git a/src/tint/lang/core/intrinsic/data/data.cc b/src/tint/lang/wgsl/intrinsic/data.cc
similarity index 99%
rename from src/tint/lang/core/intrinsic/data/data.cc
rename to src/tint/lang/wgsl/intrinsic/data.cc
index 94f9779..4b8cc9a 100644
--- a/src/tint/lang/core/intrinsic/data/data.cc
+++ b/src/tint/lang/wgsl/intrinsic/data.cc
@@ -14,7 +14,7 @@
////////////////////////////////////////////////////////////////////////////////
// File generated by 'tools/src/cmd/gen' using the template:
-// src/tint/lang/core/intrinsic/data/data.cc.tmpl
+// src/tint/lang/wgsl/intrinsic/data.cc.tmpl
//
// To regenerate run: './tools/run gen'
//
@@ -24,11 +24,13 @@
#include <limits>
#include <string>
-#include "src/tint/lang/core/intrinsic/data/data.h"
-#include "src/tint/lang/core/intrinsic/data/type_matchers.h"
+#include "src/tint/lang/core/intrinsic/type_matchers.h"
+#include "src/tint/lang/wgsl/intrinsic/dialect.h"
#include "src/tint/utils/text/string_stream.h"
-namespace tint::core::intrinsic::data {
+namespace tint::wgsl::intrinsic {
+
+using namespace tint::core::intrinsic; // NOLINT(build/namespaces)
namespace {
@@ -12233,7 +12235,7 @@
} // anonymous namespace
-const core::intrinsic::TableData kData{
+const core::intrinsic::TableData Dialect::kData{
/* template_types */ kTemplateTypes,
/* template_numbers */ kTemplateNumbers,
/* type_matcher_indices */ kTypeMatcherIndices,
@@ -12268,4 +12270,4 @@
/* unary '-' */ kUnaryOperators[kUnaryOperatorMinus],
};
-} // namespace tint::core::intrinsic::data
+} // namespace tint::wgsl::intrinsic
diff --git a/src/tint/lang/wgsl/intrinsic/data/data.cc.tmpl b/src/tint/lang/wgsl/intrinsic/data.cc.tmpl
similarity index 71%
rename from src/tint/lang/wgsl/intrinsic/data/data.cc.tmpl
rename to src/tint/lang/wgsl/intrinsic/data.cc.tmpl
index 5692ef5..da9bb11 100644
--- a/src/tint/lang/wgsl/intrinsic/data/data.cc.tmpl
+++ b/src/tint/lang/wgsl/intrinsic/data.cc.tmpl
@@ -19,16 +19,16 @@
#include <limits>
#include <string>
-#include "src/tint/lang/core/intrinsic/data/type_matchers.h"
-#include "src/tint/lang/wgsl/intrinsic/data/data.h"
+#include "src/tint/lang/core/intrinsic/type_matchers.h"
+#include "src/tint/lang/wgsl/intrinsic/dialect.h"
#include "src/tint/utils/text/string_stream.h"
-namespace tint::wgsl::intrinsic::data {
+namespace tint::wgsl::intrinsic {
-using namespace tint::core::intrinsic::data; // NOLINT(build/namespaces)
+using namespace tint::core::intrinsic; // NOLINT(build/namespaces)
{{ Eval "Data"
"Intrinsics" $I
- "Name" "kData" -}}
+ "Name" "Dialect::kData" -}}
-} // namespace tint::wgsl::intrinsic::data
+} // namespace tint::wgsl::intrinsic
diff --git a/src/tint/lang/wgsl/intrinsic/data/BUILD.bazel b/src/tint/lang/wgsl/intrinsic/data/BUILD.bazel
deleted file mode 100644
index 7a62681..0000000
--- a/src/tint/lang/wgsl/intrinsic/data/BUILD.bazel
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 2023 The Tint Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-################################################################################
-# File generated by 'tools/src/cmd/gen' using the template:
-# tools/src/cmd/gen/build/BUILD.bazel.tmpl
-#
-# To regenerate run: './tools/run gen'
-#
-# Do not modify this file directly
-################################################################################
-
-load("//src/tint:flags.bzl", "COPTS")
-load("@bazel_skylib//lib:selects.bzl", "selects")
-cc_library(
- name = "data",
- srcs = [
- "data.cc",
- ],
- hdrs = [
- "data.h",
- ],
- deps = [
- "//src/tint/lang/core",
- "//src/tint/lang/core/constant",
- "//src/tint/lang/core/intrinsic",
- "//src/tint/lang/core/intrinsic/data",
- "//src/tint/lang/core/type",
- "//src/tint/utils/containers",
- "//src/tint/utils/diagnostic",
- "//src/tint/utils/ice",
- "//src/tint/utils/id",
- "//src/tint/utils/macros",
- "//src/tint/utils/math",
- "//src/tint/utils/memory",
- "//src/tint/utils/result",
- "//src/tint/utils/rtti",
- "//src/tint/utils/symbol",
- "//src/tint/utils/text",
- "//src/tint/utils/traits",
- ],
- copts = COPTS,
- visibility = ["//visibility:public"],
-)
-
diff --git a/src/tint/lang/wgsl/intrinsic/data/BUILD.cmake b/src/tint/lang/wgsl/intrinsic/data/BUILD.cmake
deleted file mode 100644
index d676529..0000000
--- a/src/tint/lang/wgsl/intrinsic/data/BUILD.cmake
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 2023 The Tint Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-################################################################################
-# File generated by 'tools/src/cmd/gen' using the template:
-# tools/src/cmd/gen/build/BUILD.cmake.tmpl
-#
-# To regenerate run: './tools/run gen'
-#
-# Do not modify this file directly
-################################################################################
-
-################################################################################
-# Target: tint_lang_wgsl_intrinsic_data
-# Kind: lib
-################################################################################
-tint_add_target(tint_lang_wgsl_intrinsic_data lib
- lang/wgsl/intrinsic/data/data.cc
- lang/wgsl/intrinsic/data/data.h
-)
-
-tint_target_add_dependencies(tint_lang_wgsl_intrinsic_data lib
- tint_lang_core
- tint_lang_core_constant
- tint_lang_core_intrinsic
- tint_lang_core_intrinsic_data
- tint_lang_core_type
- tint_utils_containers
- tint_utils_diagnostic
- tint_utils_ice
- tint_utils_id
- tint_utils_macros
- tint_utils_math
- tint_utils_memory
- tint_utils_result
- tint_utils_rtti
- tint_utils_symbol
- tint_utils_text
- tint_utils_traits
-)
diff --git a/src/tint/lang/wgsl/intrinsic/data/BUILD.gn b/src/tint/lang/wgsl/intrinsic/data/BUILD.gn
deleted file mode 100644
index ba1f02a..0000000
--- a/src/tint/lang/wgsl/intrinsic/data/BUILD.gn
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 2023 The Tint Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-################################################################################
-# File generated by 'tools/src/cmd/gen' using the template:
-# tools/src/cmd/gen/build/BUILD.gn.tmpl
-#
-# To regenerate run: './tools/run gen'
-#
-# Do not modify this file directly
-################################################################################
-
-import("../../../../../../scripts/tint_overrides_with_defaults.gni")
-
-import("${tint_src_dir}/tint.gni")
-
-libtint_source_set("data") {
- sources = [
- "data.cc",
- "data.h",
- ]
- deps = [
- "${tint_src_dir}/lang/core",
- "${tint_src_dir}/lang/core/constant",
- "${tint_src_dir}/lang/core/intrinsic",
- "${tint_src_dir}/lang/core/intrinsic/data",
- "${tint_src_dir}/lang/core/type",
- "${tint_src_dir}/utils/containers",
- "${tint_src_dir}/utils/diagnostic",
- "${tint_src_dir}/utils/ice",
- "${tint_src_dir}/utils/id",
- "${tint_src_dir}/utils/macros",
- "${tint_src_dir}/utils/math",
- "${tint_src_dir}/utils/memory",
- "${tint_src_dir}/utils/result",
- "${tint_src_dir}/utils/rtti",
- "${tint_src_dir}/utils/symbol",
- "${tint_src_dir}/utils/text",
- "${tint_src_dir}/utils/traits",
- ]
-}
diff --git a/src/tint/lang/wgsl/intrinsic/data/data.cc b/src/tint/lang/wgsl/intrinsic/data/data.cc
deleted file mode 100644
index 4548260..0000000
--- a/src/tint/lang/wgsl/intrinsic/data/data.cc
+++ /dev/null
@@ -1,12273 +0,0 @@
-// Copyright 2023 The Tint Authors.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-////////////////////////////////////////////////////////////////////////////////
-// File generated by 'tools/src/cmd/gen' using the template:
-// src/tint/lang/wgsl/intrinsic/data/data.cc.tmpl
-//
-// To regenerate run: './tools/run gen'
-//
-// Do not modify this file directly
-////////////////////////////////////////////////////////////////////////////////
-
-#include <limits>
-#include <string>
-
-#include "src/tint/lang/core/intrinsic/data/type_matchers.h"
-#include "src/tint/lang/wgsl/intrinsic/data/data.h"
-#include "src/tint/utils/text/string_stream.h"
-
-namespace tint::wgsl::intrinsic::data {
-
-using namespace tint::core::intrinsic::data; // NOLINT(build/namespaces)
-
-namespace {
-
-using ConstEvalFunctionIndex = tint::core::intrinsic::ConstEvalFunctionIndex;
-using IntrinsicInfo = tint::core::intrinsic::IntrinsicInfo;
-using MatchState = tint::core::intrinsic::MatchState;
-using Number = tint::core::intrinsic::Number;
-using NumberMatcher = tint::core::intrinsic::NumberMatcher;
-using NumberMatcherIndex = tint::core::intrinsic::NumberMatcherIndex;
-using NumberMatcherIndicesIndex = tint::core::intrinsic::NumberMatcherIndicesIndex;
-using OverloadFlag = tint::core::intrinsic::OverloadFlag;
-using OverloadFlags = tint::core::intrinsic::OverloadFlags;
-using OverloadIndex = tint::core::intrinsic::OverloadIndex;
-using OverloadInfo = tint::core::intrinsic::OverloadInfo;
-using ParameterIndex = tint::core::intrinsic::ParameterIndex;
-using ParameterInfo = tint::core::intrinsic::ParameterInfo;
-using StringStream = tint::StringStream;
-using TemplateNumberIndex = tint::core::intrinsic::TemplateNumberIndex;
-using TemplateNumberInfo = tint::core::intrinsic::TemplateNumberInfo;
-using TemplateTypeIndex = tint::core::intrinsic::TemplateTypeIndex;
-using TemplateTypeInfo = tint::core::intrinsic::TemplateTypeInfo;
-using Type = tint::core::type::Type;
-using TypeMatcher = tint::core::intrinsic::TypeMatcher;
-using TypeMatcherIndex = tint::core::intrinsic::TypeMatcherIndex;
-using TypeMatcherIndicesIndex = tint::core::intrinsic::TypeMatcherIndicesIndex;
-
-template <size_t N>
-using TemplateNumberMatcher = tint::core::intrinsic::TemplateNumberMatcher<N>;
-
-template <size_t N>
-using TemplateTypeMatcher = tint::core::intrinsic::TemplateTypeMatcher<N>;
-
-// clang-format off
-
-/// TypeMatcher for 'type bool'
-constexpr TypeMatcher kBoolMatcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- if (!MatchBool(state, ty)) {
- return nullptr;
- }
- return BuildBool(state, ty);
- },
-/* string */ [](MatchState*) -> std::string {
- return "bool";
- }
-};
-
-
-/// TypeMatcher for 'type ia'
-constexpr TypeMatcher kIaMatcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- if (!MatchIa(state, ty)) {
- return nullptr;
- }
- return BuildIa(state, ty);
- },
-/* string */ [](MatchState*) -> std::string {
- StringStream ss;
- ss << "abstract-int";
- return ss.str();
- }
-};
-
-
-/// TypeMatcher for 'type fa'
-constexpr TypeMatcher kFaMatcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- if (!MatchFa(state, ty)) {
- return nullptr;
- }
- return BuildFa(state, ty);
- },
-/* string */ [](MatchState*) -> std::string {
- StringStream ss;
- ss << "abstract-float";
- return ss.str();
- }
-};
-
-
-/// TypeMatcher for 'type i32'
-constexpr TypeMatcher kI32Matcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- if (!MatchI32(state, ty)) {
- return nullptr;
- }
- return BuildI32(state, ty);
- },
-/* string */ [](MatchState*) -> std::string {
- return "i32";
- }
-};
-
-
-/// TypeMatcher for 'type u32'
-constexpr TypeMatcher kU32Matcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- if (!MatchU32(state, ty)) {
- return nullptr;
- }
- return BuildU32(state, ty);
- },
-/* string */ [](MatchState*) -> std::string {
- return "u32";
- }
-};
-
-
-/// TypeMatcher for 'type f32'
-constexpr TypeMatcher kF32Matcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- if (!MatchF32(state, ty)) {
- return nullptr;
- }
- return BuildF32(state, ty);
- },
-/* string */ [](MatchState*) -> std::string {
- return "f32";
- }
-};
-
-
-/// TypeMatcher for 'type f16'
-constexpr TypeMatcher kF16Matcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- if (!MatchF16(state, ty)) {
- return nullptr;
- }
- return BuildF16(state, ty);
- },
-/* string */ [](MatchState*) -> std::string {
- return "f16";
- }
-};
-
-
-/// TypeMatcher for 'type vec2'
-constexpr TypeMatcher kVec2Matcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- const Type* T = nullptr;
- if (!MatchVec2(state, ty, T)) {
- return nullptr;
- }
- T = state.Type(T);
- if (T == nullptr) {
- return nullptr;
- }
- return BuildVec2(state, ty, T);
- },
-/* string */ [](MatchState* state) -> std::string {
- const std::string T = state->TypeName();
- return "vec2<" + T + ">";
- }
-};
-
-
-/// TypeMatcher for 'type vec3'
-constexpr TypeMatcher kVec3Matcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- const Type* T = nullptr;
- if (!MatchVec3(state, ty, T)) {
- return nullptr;
- }
- T = state.Type(T);
- if (T == nullptr) {
- return nullptr;
- }
- return BuildVec3(state, ty, T);
- },
-/* string */ [](MatchState* state) -> std::string {
- const std::string T = state->TypeName();
- return "vec3<" + T + ">";
- }
-};
-
-
-/// TypeMatcher for 'type vec4'
-constexpr TypeMatcher kVec4Matcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- const Type* T = nullptr;
- if (!MatchVec4(state, ty, T)) {
- return nullptr;
- }
- T = state.Type(T);
- if (T == nullptr) {
- return nullptr;
- }
- return BuildVec4(state, ty, T);
- },
-/* string */ [](MatchState* state) -> std::string {
- const std::string T = state->TypeName();
- return "vec4<" + T + ">";
- }
-};
-
-
-/// TypeMatcher for 'type mat2x2'
-constexpr TypeMatcher kMat2X2Matcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- const Type* T = nullptr;
- if (!MatchMat2X2(state, ty, T)) {
- return nullptr;
- }
- T = state.Type(T);
- if (T == nullptr) {
- return nullptr;
- }
- return BuildMat2X2(state, ty, T);
- },
-/* string */ [](MatchState* state) -> std::string {
- const std::string T = state->TypeName();
- return "mat2x2<" + T + ">";
- }
-};
-
-
-/// TypeMatcher for 'type mat2x3'
-constexpr TypeMatcher kMat2X3Matcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- const Type* T = nullptr;
- if (!MatchMat2X3(state, ty, T)) {
- return nullptr;
- }
- T = state.Type(T);
- if (T == nullptr) {
- return nullptr;
- }
- return BuildMat2X3(state, ty, T);
- },
-/* string */ [](MatchState* state) -> std::string {
- const std::string T = state->TypeName();
- return "mat2x3<" + T + ">";
- }
-};
-
-
-/// TypeMatcher for 'type mat2x4'
-constexpr TypeMatcher kMat2X4Matcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- const Type* T = nullptr;
- if (!MatchMat2X4(state, ty, T)) {
- return nullptr;
- }
- T = state.Type(T);
- if (T == nullptr) {
- return nullptr;
- }
- return BuildMat2X4(state, ty, T);
- },
-/* string */ [](MatchState* state) -> std::string {
- const std::string T = state->TypeName();
- return "mat2x4<" + T + ">";
- }
-};
-
-
-/// TypeMatcher for 'type mat3x2'
-constexpr TypeMatcher kMat3X2Matcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- const Type* T = nullptr;
- if (!MatchMat3X2(state, ty, T)) {
- return nullptr;
- }
- T = state.Type(T);
- if (T == nullptr) {
- return nullptr;
- }
- return BuildMat3X2(state, ty, T);
- },
-/* string */ [](MatchState* state) -> std::string {
- const std::string T = state->TypeName();
- return "mat3x2<" + T + ">";
- }
-};
-
-
-/// TypeMatcher for 'type mat3x3'
-constexpr TypeMatcher kMat3X3Matcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- const Type* T = nullptr;
- if (!MatchMat3X3(state, ty, T)) {
- return nullptr;
- }
- T = state.Type(T);
- if (T == nullptr) {
- return nullptr;
- }
- return BuildMat3X3(state, ty, T);
- },
-/* string */ [](MatchState* state) -> std::string {
- const std::string T = state->TypeName();
- return "mat3x3<" + T + ">";
- }
-};
-
-
-/// TypeMatcher for 'type mat3x4'
-constexpr TypeMatcher kMat3X4Matcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- const Type* T = nullptr;
- if (!MatchMat3X4(state, ty, T)) {
- return nullptr;
- }
- T = state.Type(T);
- if (T == nullptr) {
- return nullptr;
- }
- return BuildMat3X4(state, ty, T);
- },
-/* string */ [](MatchState* state) -> std::string {
- const std::string T = state->TypeName();
- return "mat3x4<" + T + ">";
- }
-};
-
-
-/// TypeMatcher for 'type mat4x2'
-constexpr TypeMatcher kMat4X2Matcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- const Type* T = nullptr;
- if (!MatchMat4X2(state, ty, T)) {
- return nullptr;
- }
- T = state.Type(T);
- if (T == nullptr) {
- return nullptr;
- }
- return BuildMat4X2(state, ty, T);
- },
-/* string */ [](MatchState* state) -> std::string {
- const std::string T = state->TypeName();
- return "mat4x2<" + T + ">";
- }
-};
-
-
-/// TypeMatcher for 'type mat4x3'
-constexpr TypeMatcher kMat4X3Matcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- const Type* T = nullptr;
- if (!MatchMat4X3(state, ty, T)) {
- return nullptr;
- }
- T = state.Type(T);
- if (T == nullptr) {
- return nullptr;
- }
- return BuildMat4X3(state, ty, T);
- },
-/* string */ [](MatchState* state) -> std::string {
- const std::string T = state->TypeName();
- return "mat4x3<" + T + ">";
- }
-};
-
-
-/// TypeMatcher for 'type mat4x4'
-constexpr TypeMatcher kMat4X4Matcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- const Type* T = nullptr;
- if (!MatchMat4X4(state, ty, T)) {
- return nullptr;
- }
- T = state.Type(T);
- if (T == nullptr) {
- return nullptr;
- }
- return BuildMat4X4(state, ty, T);
- },
-/* string */ [](MatchState* state) -> std::string {
- const std::string T = state->TypeName();
- return "mat4x4<" + T + ">";
- }
-};
-
-
-/// TypeMatcher for 'type vec'
-constexpr TypeMatcher kVecMatcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- Number N = Number::invalid;
- const Type* T = nullptr;
- if (!MatchVec(state, ty, N, T)) {
- return nullptr;
- }
- N = state.Num(N);
- if (!N.IsValid()) {
- return nullptr;
- }
- T = state.Type(T);
- if (T == nullptr) {
- return nullptr;
- }
- return BuildVec(state, ty, N, T);
- },
-/* string */ [](MatchState* state) -> std::string {
- const std::string N = state->NumName();
- const std::string T = state->TypeName();
- StringStream ss;
- ss << "vec" << N << "<" << T << ">";
- return ss.str();
- }
-};
-
-
-/// TypeMatcher for 'type mat'
-constexpr TypeMatcher kMatMatcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- Number N = Number::invalid;
- Number M = Number::invalid;
- const Type* T = nullptr;
- if (!MatchMat(state, ty, N, M, T)) {
- return nullptr;
- }
- N = state.Num(N);
- if (!N.IsValid()) {
- return nullptr;
- }
- M = state.Num(M);
- if (!M.IsValid()) {
- return nullptr;
- }
- T = state.Type(T);
- if (T == nullptr) {
- return nullptr;
- }
- return BuildMat(state, ty, N, M, T);
- },
-/* string */ [](MatchState* state) -> std::string {
- const std::string N = state->NumName();
- const std::string M = state->NumName();
- const std::string T = state->TypeName();
- StringStream ss;
- ss << "mat" << N << "x" << M << "<" << T << ">";
- return ss.str();
- }
-};
-
-
-/// TypeMatcher for 'type ptr'
-constexpr TypeMatcher kPtrMatcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- Number S = Number::invalid;
- const Type* T = nullptr;
- Number A = Number::invalid;
- if (!MatchPtr(state, ty, S, T, A)) {
- return nullptr;
- }
- S = state.Num(S);
- if (!S.IsValid()) {
- return nullptr;
- }
- T = state.Type(T);
- if (T == nullptr) {
- return nullptr;
- }
- A = state.Num(A);
- if (!A.IsValid()) {
- return nullptr;
- }
- return BuildPtr(state, ty, S, T, A);
- },
-/* string */ [](MatchState* state) -> std::string {
- const std::string S = state->NumName();
- const std::string T = state->TypeName();
- const std::string A = state->NumName();
- return "ptr<" + S + ", " + T + ", " + A + ">";
- }
-};
-
-
-/// TypeMatcher for 'type atomic'
-constexpr TypeMatcher kAtomicMatcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- const Type* T = nullptr;
- if (!MatchAtomic(state, ty, T)) {
- return nullptr;
- }
- T = state.Type(T);
- if (T == nullptr) {
- return nullptr;
- }
- return BuildAtomic(state, ty, T);
- },
-/* string */ [](MatchState* state) -> std::string {
- const std::string T = state->TypeName();
- return "atomic<" + T + ">";
- }
-};
-
-
-/// TypeMatcher for 'type array'
-constexpr TypeMatcher kArrayMatcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- const Type* T = nullptr;
- if (!MatchArray(state, ty, T)) {
- return nullptr;
- }
- T = state.Type(T);
- if (T == nullptr) {
- return nullptr;
- }
- return BuildArray(state, ty, T);
- },
-/* string */ [](MatchState* state) -> std::string {
- const std::string T = state->TypeName();
- return "array<" + T + ">";
- }
-};
-
-
-/// TypeMatcher for 'type sampler'
-constexpr TypeMatcher kSamplerMatcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- if (!MatchSampler(state, ty)) {
- return nullptr;
- }
- return BuildSampler(state, ty);
- },
-/* string */ [](MatchState*) -> std::string {
- return "sampler";
- }
-};
-
-
-/// TypeMatcher for 'type sampler_comparison'
-constexpr TypeMatcher kSamplerComparisonMatcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- if (!MatchSamplerComparison(state, ty)) {
- return nullptr;
- }
- return BuildSamplerComparison(state, ty);
- },
-/* string */ [](MatchState*) -> std::string {
- return "sampler_comparison";
- }
-};
-
-
-/// TypeMatcher for 'type texture_1d'
-constexpr TypeMatcher kTexture1DMatcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- const Type* T = nullptr;
- if (!MatchTexture1D(state, ty, T)) {
- return nullptr;
- }
- T = state.Type(T);
- if (T == nullptr) {
- return nullptr;
- }
- return BuildTexture1D(state, ty, T);
- },
-/* string */ [](MatchState* state) -> std::string {
- const std::string T = state->TypeName();
- return "texture_1d<" + T + ">";
- }
-};
-
-
-/// TypeMatcher for 'type texture_2d'
-constexpr TypeMatcher kTexture2DMatcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- const Type* T = nullptr;
- if (!MatchTexture2D(state, ty, T)) {
- return nullptr;
- }
- T = state.Type(T);
- if (T == nullptr) {
- return nullptr;
- }
- return BuildTexture2D(state, ty, T);
- },
-/* string */ [](MatchState* state) -> std::string {
- const std::string T = state->TypeName();
- return "texture_2d<" + T + ">";
- }
-};
-
-
-/// TypeMatcher for 'type texture_2d_array'
-constexpr TypeMatcher kTexture2DArrayMatcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- const Type* T = nullptr;
- if (!MatchTexture2DArray(state, ty, T)) {
- return nullptr;
- }
- T = state.Type(T);
- if (T == nullptr) {
- return nullptr;
- }
- return BuildTexture2DArray(state, ty, T);
- },
-/* string */ [](MatchState* state) -> std::string {
- const std::string T = state->TypeName();
- return "texture_2d_array<" + T + ">";
- }
-};
-
-
-/// TypeMatcher for 'type texture_3d'
-constexpr TypeMatcher kTexture3DMatcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- const Type* T = nullptr;
- if (!MatchTexture3D(state, ty, T)) {
- return nullptr;
- }
- T = state.Type(T);
- if (T == nullptr) {
- return nullptr;
- }
- return BuildTexture3D(state, ty, T);
- },
-/* string */ [](MatchState* state) -> std::string {
- const std::string T = state->TypeName();
- return "texture_3d<" + T + ">";
- }
-};
-
-
-/// TypeMatcher for 'type texture_cube'
-constexpr TypeMatcher kTextureCubeMatcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- const Type* T = nullptr;
- if (!MatchTextureCube(state, ty, T)) {
- return nullptr;
- }
- T = state.Type(T);
- if (T == nullptr) {
- return nullptr;
- }
- return BuildTextureCube(state, ty, T);
- },
-/* string */ [](MatchState* state) -> std::string {
- const std::string T = state->TypeName();
- return "texture_cube<" + T + ">";
- }
-};
-
-
-/// TypeMatcher for 'type texture_cube_array'
-constexpr TypeMatcher kTextureCubeArrayMatcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- const Type* T = nullptr;
- if (!MatchTextureCubeArray(state, ty, T)) {
- return nullptr;
- }
- T = state.Type(T);
- if (T == nullptr) {
- return nullptr;
- }
- return BuildTextureCubeArray(state, ty, T);
- },
-/* string */ [](MatchState* state) -> std::string {
- const std::string T = state->TypeName();
- return "texture_cube_array<" + T + ">";
- }
-};
-
-
-/// TypeMatcher for 'type texture_multisampled_2d'
-constexpr TypeMatcher kTextureMultisampled2DMatcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- const Type* T = nullptr;
- if (!MatchTextureMultisampled2D(state, ty, T)) {
- return nullptr;
- }
- T = state.Type(T);
- if (T == nullptr) {
- return nullptr;
- }
- return BuildTextureMultisampled2D(state, ty, T);
- },
-/* string */ [](MatchState* state) -> std::string {
- const std::string T = state->TypeName();
- return "texture_multisampled_2d<" + T + ">";
- }
-};
-
-
-/// TypeMatcher for 'type texture_depth_2d'
-constexpr TypeMatcher kTextureDepth2DMatcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- if (!MatchTextureDepth2D(state, ty)) {
- return nullptr;
- }
- return BuildTextureDepth2D(state, ty);
- },
-/* string */ [](MatchState*) -> std::string {
- return "texture_depth_2d";
- }
-};
-
-
-/// TypeMatcher for 'type texture_depth_2d_array'
-constexpr TypeMatcher kTextureDepth2DArrayMatcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- if (!MatchTextureDepth2DArray(state, ty)) {
- return nullptr;
- }
- return BuildTextureDepth2DArray(state, ty);
- },
-/* string */ [](MatchState*) -> std::string {
- return "texture_depth_2d_array";
- }
-};
-
-
-/// TypeMatcher for 'type texture_depth_cube'
-constexpr TypeMatcher kTextureDepthCubeMatcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- if (!MatchTextureDepthCube(state, ty)) {
- return nullptr;
- }
- return BuildTextureDepthCube(state, ty);
- },
-/* string */ [](MatchState*) -> std::string {
- return "texture_depth_cube";
- }
-};
-
-
-/// TypeMatcher for 'type texture_depth_cube_array'
-constexpr TypeMatcher kTextureDepthCubeArrayMatcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- if (!MatchTextureDepthCubeArray(state, ty)) {
- return nullptr;
- }
- return BuildTextureDepthCubeArray(state, ty);
- },
-/* string */ [](MatchState*) -> std::string {
- return "texture_depth_cube_array";
- }
-};
-
-
-/// TypeMatcher for 'type texture_depth_multisampled_2d'
-constexpr TypeMatcher kTextureDepthMultisampled2DMatcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- if (!MatchTextureDepthMultisampled2D(state, ty)) {
- return nullptr;
- }
- return BuildTextureDepthMultisampled2D(state, ty);
- },
-/* string */ [](MatchState*) -> std::string {
- return "texture_depth_multisampled_2d";
- }
-};
-
-
-/// TypeMatcher for 'type texture_storage_1d'
-constexpr TypeMatcher kTextureStorage1DMatcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- Number F = Number::invalid;
- Number A = Number::invalid;
- if (!MatchTextureStorage1D(state, ty, F, A)) {
- return nullptr;
- }
- F = state.Num(F);
- if (!F.IsValid()) {
- return nullptr;
- }
- A = state.Num(A);
- if (!A.IsValid()) {
- return nullptr;
- }
- return BuildTextureStorage1D(state, ty, F, A);
- },
-/* string */ [](MatchState* state) -> std::string {
- const std::string F = state->NumName();
- const std::string A = state->NumName();
- return "texture_storage_1d<" + F + ", " + A + ">";
- }
-};
-
-
-/// TypeMatcher for 'type texture_storage_2d'
-constexpr TypeMatcher kTextureStorage2DMatcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- Number F = Number::invalid;
- Number A = Number::invalid;
- if (!MatchTextureStorage2D(state, ty, F, A)) {
- return nullptr;
- }
- F = state.Num(F);
- if (!F.IsValid()) {
- return nullptr;
- }
- A = state.Num(A);
- if (!A.IsValid()) {
- return nullptr;
- }
- return BuildTextureStorage2D(state, ty, F, A);
- },
-/* string */ [](MatchState* state) -> std::string {
- const std::string F = state->NumName();
- const std::string A = state->NumName();
- return "texture_storage_2d<" + F + ", " + A + ">";
- }
-};
-
-
-/// TypeMatcher for 'type texture_storage_2d_array'
-constexpr TypeMatcher kTextureStorage2DArrayMatcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- Number F = Number::invalid;
- Number A = Number::invalid;
- if (!MatchTextureStorage2DArray(state, ty, F, A)) {
- return nullptr;
- }
- F = state.Num(F);
- if (!F.IsValid()) {
- return nullptr;
- }
- A = state.Num(A);
- if (!A.IsValid()) {
- return nullptr;
- }
- return BuildTextureStorage2DArray(state, ty, F, A);
- },
-/* string */ [](MatchState* state) -> std::string {
- const std::string F = state->NumName();
- const std::string A = state->NumName();
- return "texture_storage_2d_array<" + F + ", " + A + ">";
- }
-};
-
-
-/// TypeMatcher for 'type texture_storage_3d'
-constexpr TypeMatcher kTextureStorage3DMatcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- Number F = Number::invalid;
- Number A = Number::invalid;
- if (!MatchTextureStorage3D(state, ty, F, A)) {
- return nullptr;
- }
- F = state.Num(F);
- if (!F.IsValid()) {
- return nullptr;
- }
- A = state.Num(A);
- if (!A.IsValid()) {
- return nullptr;
- }
- return BuildTextureStorage3D(state, ty, F, A);
- },
-/* string */ [](MatchState* state) -> std::string {
- const std::string F = state->NumName();
- const std::string A = state->NumName();
- return "texture_storage_3d<" + F + ", " + A + ">";
- }
-};
-
-
-/// TypeMatcher for 'type texture_external'
-constexpr TypeMatcher kTextureExternalMatcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- if (!MatchTextureExternal(state, ty)) {
- return nullptr;
- }
- return BuildTextureExternal(state, ty);
- },
-/* string */ [](MatchState*) -> std::string {
- return "texture_external";
- }
-};
-
-
-/// TypeMatcher for 'type packedVec3'
-constexpr TypeMatcher kPackedVec3Matcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- const Type* T = nullptr;
- if (!MatchPackedVec3(state, ty, T)) {
- return nullptr;
- }
- T = state.Type(T);
- if (T == nullptr) {
- return nullptr;
- }
- return BuildPackedVec3(state, ty, T);
- },
-/* string */ [](MatchState* state) -> std::string {
- const std::string T = state->TypeName();
- return "packedVec3<" + T + ">";
- }
-};
-
-
-/// TypeMatcher for 'type __modf_result'
-constexpr TypeMatcher kModfResultMatcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- const Type* T = nullptr;
- if (!MatchModfResult(state, ty, T)) {
- return nullptr;
- }
- T = state.Type(T);
- if (T == nullptr) {
- return nullptr;
- }
- return BuildModfResult(state, ty, T);
- },
-/* string */ [](MatchState* state) -> std::string {
- const std::string T = state->TypeName();
- StringStream ss;
- ss << "__modf_result_" << T;
- return ss.str();
- }
-};
-
-
-/// TypeMatcher for 'type __modf_result_vec'
-constexpr TypeMatcher kModfResultVecMatcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- Number N = Number::invalid;
- const Type* T = nullptr;
- if (!MatchModfResultVec(state, ty, N, T)) {
- return nullptr;
- }
- N = state.Num(N);
- if (!N.IsValid()) {
- return nullptr;
- }
- T = state.Type(T);
- if (T == nullptr) {
- return nullptr;
- }
- return BuildModfResultVec(state, ty, N, T);
- },
-/* string */ [](MatchState* state) -> std::string {
- const std::string N = state->NumName();
- const std::string T = state->TypeName();
- StringStream ss;
- ss << "__modf_result_vec" << N << "_" << T;
- return ss.str();
- }
-};
-
-
-/// TypeMatcher for 'type __frexp_result'
-constexpr TypeMatcher kFrexpResultMatcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- const Type* T = nullptr;
- if (!MatchFrexpResult(state, ty, T)) {
- return nullptr;
- }
- T = state.Type(T);
- if (T == nullptr) {
- return nullptr;
- }
- return BuildFrexpResult(state, ty, T);
- },
-/* string */ [](MatchState* state) -> std::string {
- const std::string T = state->TypeName();
- StringStream ss;
- ss << "__frexp_result_" << T;
- return ss.str();
- }
-};
-
-
-/// TypeMatcher for 'type __frexp_result_vec'
-constexpr TypeMatcher kFrexpResultVecMatcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- Number N = Number::invalid;
- const Type* T = nullptr;
- if (!MatchFrexpResultVec(state, ty, N, T)) {
- return nullptr;
- }
- N = state.Num(N);
- if (!N.IsValid()) {
- return nullptr;
- }
- T = state.Type(T);
- if (T == nullptr) {
- return nullptr;
- }
- return BuildFrexpResultVec(state, ty, N, T);
- },
-/* string */ [](MatchState* state) -> std::string {
- const std::string N = state->NumName();
- const std::string T = state->TypeName();
- StringStream ss;
- ss << "__frexp_result_vec" << N << "_" << T;
- return ss.str();
- }
-};
-
-
-/// TypeMatcher for 'type __atomic_compare_exchange_result'
-constexpr TypeMatcher kAtomicCompareExchangeResultMatcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- const Type* T = nullptr;
- if (!MatchAtomicCompareExchangeResult(state, ty, T)) {
- return nullptr;
- }
- T = state.Type(T);
- if (T == nullptr) {
- return nullptr;
- }
- return BuildAtomicCompareExchangeResult(state, ty, T);
- },
-/* string */ [](MatchState* state) -> std::string {
- const std::string T = state->TypeName();
- return "__atomic_compare_exchange_result<" + T + ">";
- }
-};
-
-
-/// TypeMatcher for 'match scalar'
-constexpr TypeMatcher kScalarMatcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- if (MatchIa(state, ty)) {
- return BuildIa(state, ty);
- }
- if (MatchFa(state, ty)) {
- return BuildFa(state, ty);
- }
- if (MatchI32(state, ty)) {
- return BuildI32(state, ty);
- }
- if (MatchU32(state, ty)) {
- return BuildU32(state, ty);
- }
- if (MatchF32(state, ty)) {
- return BuildF32(state, ty);
- }
- if (MatchF16(state, ty)) {
- return BuildF16(state, ty);
- }
- if (MatchBool(state, ty)) {
- return BuildBool(state, ty);
- }
- return nullptr;
- },
-/* string */ [](MatchState*) -> std::string {
- StringStream ss;
- // Note: We pass nullptr to the TypeMatcher::String() functions, as 'matcher's do not support
- // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
- ss << kIaMatcher.string(nullptr) << ", " << kFaMatcher.string(nullptr) << ", " << kF32Matcher.string(nullptr) << ", " << kF16Matcher.string(nullptr) << ", " << kI32Matcher.string(nullptr) << ", " << kU32Matcher.string(nullptr) << " or " << kBoolMatcher.string(nullptr);
- return ss.str();
- }
-};
-
-/// TypeMatcher for 'match concrete_scalar'
-constexpr TypeMatcher kConcreteScalarMatcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- if (MatchI32(state, ty)) {
- return BuildI32(state, ty);
- }
- if (MatchU32(state, ty)) {
- return BuildU32(state, ty);
- }
- if (MatchF32(state, ty)) {
- return BuildF32(state, ty);
- }
- if (MatchF16(state, ty)) {
- return BuildF16(state, ty);
- }
- if (MatchBool(state, ty)) {
- return BuildBool(state, ty);
- }
- return nullptr;
- },
-/* string */ [](MatchState*) -> std::string {
- StringStream ss;
- // Note: We pass nullptr to the TypeMatcher::String() functions, as 'matcher's do not support
- // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
- ss << kF32Matcher.string(nullptr) << ", " << kF16Matcher.string(nullptr) << ", " << kI32Matcher.string(nullptr) << ", " << kU32Matcher.string(nullptr) << " or " << kBoolMatcher.string(nullptr);
- return ss.str();
- }
-};
-
-/// TypeMatcher for 'match scalar_no_f32'
-constexpr TypeMatcher kScalarNoF32Matcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- if (MatchIa(state, ty)) {
- return BuildIa(state, ty);
- }
- if (MatchFa(state, ty)) {
- return BuildFa(state, ty);
- }
- if (MatchI32(state, ty)) {
- return BuildI32(state, ty);
- }
- if (MatchU32(state, ty)) {
- return BuildU32(state, ty);
- }
- if (MatchF16(state, ty)) {
- return BuildF16(state, ty);
- }
- if (MatchBool(state, ty)) {
- return BuildBool(state, ty);
- }
- return nullptr;
- },
-/* string */ [](MatchState*) -> std::string {
- StringStream ss;
- // Note: We pass nullptr to the TypeMatcher::String() functions, as 'matcher's do not support
- // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
- ss << kIaMatcher.string(nullptr) << ", " << kFaMatcher.string(nullptr) << ", " << kI32Matcher.string(nullptr) << ", " << kF16Matcher.string(nullptr) << ", " << kU32Matcher.string(nullptr) << " or " << kBoolMatcher.string(nullptr);
- return ss.str();
- }
-};
-
-/// TypeMatcher for 'match scalar_no_f16'
-constexpr TypeMatcher kScalarNoF16Matcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- if (MatchIa(state, ty)) {
- return BuildIa(state, ty);
- }
- if (MatchFa(state, ty)) {
- return BuildFa(state, ty);
- }
- if (MatchI32(state, ty)) {
- return BuildI32(state, ty);
- }
- if (MatchU32(state, ty)) {
- return BuildU32(state, ty);
- }
- if (MatchF32(state, ty)) {
- return BuildF32(state, ty);
- }
- if (MatchBool(state, ty)) {
- return BuildBool(state, ty);
- }
- return nullptr;
- },
-/* string */ [](MatchState*) -> std::string {
- StringStream ss;
- // Note: We pass nullptr to the TypeMatcher::String() functions, as 'matcher's do not support
- // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
- ss << kIaMatcher.string(nullptr) << ", " << kFaMatcher.string(nullptr) << ", " << kF32Matcher.string(nullptr) << ", " << kI32Matcher.string(nullptr) << ", " << kU32Matcher.string(nullptr) << " or " << kBoolMatcher.string(nullptr);
- return ss.str();
- }
-};
-
-/// TypeMatcher for 'match scalar_no_i32'
-constexpr TypeMatcher kScalarNoI32Matcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- if (MatchIa(state, ty)) {
- return BuildIa(state, ty);
- }
- if (MatchFa(state, ty)) {
- return BuildFa(state, ty);
- }
- if (MatchU32(state, ty)) {
- return BuildU32(state, ty);
- }
- if (MatchF32(state, ty)) {
- return BuildF32(state, ty);
- }
- if (MatchF16(state, ty)) {
- return BuildF16(state, ty);
- }
- if (MatchBool(state, ty)) {
- return BuildBool(state, ty);
- }
- return nullptr;
- },
-/* string */ [](MatchState*) -> std::string {
- StringStream ss;
- // Note: We pass nullptr to the TypeMatcher::String() functions, as 'matcher's do not support
- // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
- ss << kIaMatcher.string(nullptr) << ", " << kFaMatcher.string(nullptr) << ", " << kF32Matcher.string(nullptr) << ", " << kF16Matcher.string(nullptr) << ", " << kU32Matcher.string(nullptr) << " or " << kBoolMatcher.string(nullptr);
- return ss.str();
- }
-};
-
-/// TypeMatcher for 'match scalar_no_u32'
-constexpr TypeMatcher kScalarNoU32Matcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- if (MatchIa(state, ty)) {
- return BuildIa(state, ty);
- }
- if (MatchFa(state, ty)) {
- return BuildFa(state, ty);
- }
- if (MatchI32(state, ty)) {
- return BuildI32(state, ty);
- }
- if (MatchF32(state, ty)) {
- return BuildF32(state, ty);
- }
- if (MatchF16(state, ty)) {
- return BuildF16(state, ty);
- }
- if (MatchBool(state, ty)) {
- return BuildBool(state, ty);
- }
- return nullptr;
- },
-/* string */ [](MatchState*) -> std::string {
- StringStream ss;
- // Note: We pass nullptr to the TypeMatcher::String() functions, as 'matcher's do not support
- // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
- ss << kIaMatcher.string(nullptr) << ", " << kFaMatcher.string(nullptr) << ", " << kF32Matcher.string(nullptr) << ", " << kF16Matcher.string(nullptr) << ", " << kI32Matcher.string(nullptr) << " or " << kBoolMatcher.string(nullptr);
- return ss.str();
- }
-};
-
-/// TypeMatcher for 'match scalar_no_bool'
-constexpr TypeMatcher kScalarNoBoolMatcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- if (MatchIa(state, ty)) {
- return BuildIa(state, ty);
- }
- if (MatchFa(state, ty)) {
- return BuildFa(state, ty);
- }
- if (MatchI32(state, ty)) {
- return BuildI32(state, ty);
- }
- if (MatchU32(state, ty)) {
- return BuildU32(state, ty);
- }
- if (MatchF32(state, ty)) {
- return BuildF32(state, ty);
- }
- if (MatchF16(state, ty)) {
- return BuildF16(state, ty);
- }
- return nullptr;
- },
-/* string */ [](MatchState*) -> std::string {
- StringStream ss;
- // Note: We pass nullptr to the TypeMatcher::String() functions, as 'matcher's do not support
- // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
- ss << kIaMatcher.string(nullptr) << ", " << kFaMatcher.string(nullptr) << ", " << kF32Matcher.string(nullptr) << ", " << kF16Matcher.string(nullptr) << ", " << kI32Matcher.string(nullptr) << " or " << kU32Matcher.string(nullptr);
- return ss.str();
- }
-};
-
-/// TypeMatcher for 'match fia_fiu32_f16'
-constexpr TypeMatcher kFiaFiu32F16Matcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- if (MatchIa(state, ty)) {
- return BuildIa(state, ty);
- }
- if (MatchFa(state, ty)) {
- return BuildFa(state, ty);
- }
- if (MatchI32(state, ty)) {
- return BuildI32(state, ty);
- }
- if (MatchU32(state, ty)) {
- return BuildU32(state, ty);
- }
- if (MatchF32(state, ty)) {
- return BuildF32(state, ty);
- }
- if (MatchF16(state, ty)) {
- return BuildF16(state, ty);
- }
- return nullptr;
- },
-/* string */ [](MatchState*) -> std::string {
- StringStream ss;
- // Note: We pass nullptr to the TypeMatcher::String() functions, as 'matcher's do not support
- // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
- ss << kFaMatcher.string(nullptr) << ", " << kIaMatcher.string(nullptr) << ", " << kF32Matcher.string(nullptr) << ", " << kI32Matcher.string(nullptr) << ", " << kU32Matcher.string(nullptr) << " or " << kF16Matcher.string(nullptr);
- return ss.str();
- }
-};
-
-/// TypeMatcher for 'match fia_fi32_f16'
-constexpr TypeMatcher kFiaFi32F16Matcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- if (MatchIa(state, ty)) {
- return BuildIa(state, ty);
- }
- if (MatchFa(state, ty)) {
- return BuildFa(state, ty);
- }
- if (MatchI32(state, ty)) {
- return BuildI32(state, ty);
- }
- if (MatchF32(state, ty)) {
- return BuildF32(state, ty);
- }
- if (MatchF16(state, ty)) {
- return BuildF16(state, ty);
- }
- return nullptr;
- },
-/* string */ [](MatchState*) -> std::string {
- StringStream ss;
- // Note: We pass nullptr to the TypeMatcher::String() functions, as 'matcher's do not support
- // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
- ss << kFaMatcher.string(nullptr) << ", " << kIaMatcher.string(nullptr) << ", " << kF32Matcher.string(nullptr) << ", " << kI32Matcher.string(nullptr) << " or " << kF16Matcher.string(nullptr);
- return ss.str();
- }
-};
-
-/// TypeMatcher for 'match fia_fiu32'
-constexpr TypeMatcher kFiaFiu32Matcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- if (MatchIa(state, ty)) {
- return BuildIa(state, ty);
- }
- if (MatchFa(state, ty)) {
- return BuildFa(state, ty);
- }
- if (MatchI32(state, ty)) {
- return BuildI32(state, ty);
- }
- if (MatchU32(state, ty)) {
- return BuildU32(state, ty);
- }
- if (MatchF32(state, ty)) {
- return BuildF32(state, ty);
- }
- return nullptr;
- },
-/* string */ [](MatchState*) -> std::string {
- StringStream ss;
- // Note: We pass nullptr to the TypeMatcher::String() functions, as 'matcher's do not support
- // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
- ss << kFaMatcher.string(nullptr) << ", " << kIaMatcher.string(nullptr) << ", " << kF32Matcher.string(nullptr) << ", " << kI32Matcher.string(nullptr) << " or " << kU32Matcher.string(nullptr);
- return ss.str();
- }
-};
-
-/// TypeMatcher for 'match fa_f32'
-constexpr TypeMatcher kFaF32Matcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- if (MatchFa(state, ty)) {
- return BuildFa(state, ty);
- }
- if (MatchF32(state, ty)) {
- return BuildF32(state, ty);
- }
- return nullptr;
- },
-/* string */ [](MatchState*) -> std::string {
- StringStream ss;
- // Note: We pass nullptr to the TypeMatcher::String() functions, as 'matcher's do not support
- // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
- ss << kFaMatcher.string(nullptr) << " or " << kF32Matcher.string(nullptr);
- return ss.str();
- }
-};
-
-/// TypeMatcher for 'match fa_f32_f16'
-constexpr TypeMatcher kFaF32F16Matcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- if (MatchFa(state, ty)) {
- return BuildFa(state, ty);
- }
- if (MatchF32(state, ty)) {
- return BuildF32(state, ty);
- }
- if (MatchF16(state, ty)) {
- return BuildF16(state, ty);
- }
- return nullptr;
- },
-/* string */ [](MatchState*) -> std::string {
- StringStream ss;
- // Note: We pass nullptr to the TypeMatcher::String() functions, as 'matcher's do not support
- // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
- ss << kFaMatcher.string(nullptr) << ", " << kF32Matcher.string(nullptr) << " or " << kF16Matcher.string(nullptr);
- return ss.str();
- }
-};
-
-/// TypeMatcher for 'match ia_iu32'
-constexpr TypeMatcher kIaIu32Matcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- if (MatchIa(state, ty)) {
- return BuildIa(state, ty);
- }
- if (MatchI32(state, ty)) {
- return BuildI32(state, ty);
- }
- if (MatchU32(state, ty)) {
- return BuildU32(state, ty);
- }
- return nullptr;
- },
-/* string */ [](MatchState*) -> std::string {
- StringStream ss;
- // Note: We pass nullptr to the TypeMatcher::String() functions, as 'matcher's do not support
- // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
- ss << kIaMatcher.string(nullptr) << ", " << kI32Matcher.string(nullptr) << " or " << kU32Matcher.string(nullptr);
- return ss.str();
- }
-};
-
-/// TypeMatcher for 'match ia_i32'
-constexpr TypeMatcher kIaI32Matcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- if (MatchIa(state, ty)) {
- return BuildIa(state, ty);
- }
- if (MatchI32(state, ty)) {
- return BuildI32(state, ty);
- }
- return nullptr;
- },
-/* string */ [](MatchState*) -> std::string {
- StringStream ss;
- // Note: We pass nullptr to the TypeMatcher::String() functions, as 'matcher's do not support
- // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
- ss << kIaMatcher.string(nullptr) << " or " << kI32Matcher.string(nullptr);
- return ss.str();
- }
-};
-
-/// TypeMatcher for 'match fiu32_f16'
-constexpr TypeMatcher kFiu32F16Matcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- if (MatchI32(state, ty)) {
- return BuildI32(state, ty);
- }
- if (MatchU32(state, ty)) {
- return BuildU32(state, ty);
- }
- if (MatchF32(state, ty)) {
- return BuildF32(state, ty);
- }
- if (MatchF16(state, ty)) {
- return BuildF16(state, ty);
- }
- return nullptr;
- },
-/* string */ [](MatchState*) -> std::string {
- StringStream ss;
- // Note: We pass nullptr to the TypeMatcher::String() functions, as 'matcher's do not support
- // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
- ss << kF32Matcher.string(nullptr) << ", " << kI32Matcher.string(nullptr) << ", " << kU32Matcher.string(nullptr) << " or " << kF16Matcher.string(nullptr);
- return ss.str();
- }
-};
-
-/// TypeMatcher for 'match fiu32'
-constexpr TypeMatcher kFiu32Matcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- if (MatchI32(state, ty)) {
- return BuildI32(state, ty);
- }
- if (MatchU32(state, ty)) {
- return BuildU32(state, ty);
- }
- if (MatchF32(state, ty)) {
- return BuildF32(state, ty);
- }
- return nullptr;
- },
-/* string */ [](MatchState*) -> std::string {
- StringStream ss;
- // Note: We pass nullptr to the TypeMatcher::String() functions, as 'matcher's do not support
- // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
- ss << kF32Matcher.string(nullptr) << ", " << kI32Matcher.string(nullptr) << " or " << kU32Matcher.string(nullptr);
- return ss.str();
- }
-};
-
-/// TypeMatcher for 'match fi32_f16'
-constexpr TypeMatcher kFi32F16Matcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- if (MatchI32(state, ty)) {
- return BuildI32(state, ty);
- }
- if (MatchF32(state, ty)) {
- return BuildF32(state, ty);
- }
- if (MatchF16(state, ty)) {
- return BuildF16(state, ty);
- }
- return nullptr;
- },
-/* string */ [](MatchState*) -> std::string {
- StringStream ss;
- // Note: We pass nullptr to the TypeMatcher::String() functions, as 'matcher's do not support
- // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
- ss << kF32Matcher.string(nullptr) << ", " << kI32Matcher.string(nullptr) << " or " << kF16Matcher.string(nullptr);
- return ss.str();
- }
-};
-
-/// TypeMatcher for 'match fi32'
-constexpr TypeMatcher kFi32Matcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- if (MatchI32(state, ty)) {
- return BuildI32(state, ty);
- }
- if (MatchF32(state, ty)) {
- return BuildF32(state, ty);
- }
- return nullptr;
- },
-/* string */ [](MatchState*) -> std::string {
- StringStream ss;
- // Note: We pass nullptr to the TypeMatcher::String() functions, as 'matcher's do not support
- // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
- ss << kF32Matcher.string(nullptr) << " or " << kI32Matcher.string(nullptr);
- return ss.str();
- }
-};
-
-/// TypeMatcher for 'match f32_f16'
-constexpr TypeMatcher kF32F16Matcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- if (MatchF32(state, ty)) {
- return BuildF32(state, ty);
- }
- if (MatchF16(state, ty)) {
- return BuildF16(state, ty);
- }
- return nullptr;
- },
-/* string */ [](MatchState*) -> std::string {
- StringStream ss;
- // Note: We pass nullptr to the TypeMatcher::String() functions, as 'matcher's do not support
- // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
- ss << kF32Matcher.string(nullptr) << " or " << kF16Matcher.string(nullptr);
- return ss.str();
- }
-};
-
-/// TypeMatcher for 'match iu32'
-constexpr TypeMatcher kIu32Matcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- if (MatchI32(state, ty)) {
- return BuildI32(state, ty);
- }
- if (MatchU32(state, ty)) {
- return BuildU32(state, ty);
- }
- return nullptr;
- },
-/* string */ [](MatchState*) -> std::string {
- StringStream ss;
- // Note: We pass nullptr to the TypeMatcher::String() functions, as 'matcher's do not support
- // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
- ss << kI32Matcher.string(nullptr) << " or " << kU32Matcher.string(nullptr);
- return ss.str();
- }
-};
-
-/// EnumMatcher for 'match f32_texel_format'
-constexpr NumberMatcher kF32TexelFormatMatcher {
-/* match */ [](MatchState&, Number number) -> Number {
- switch (static_cast<core::TexelFormat>(number.Value())) {
- case core::TexelFormat::kBgra8Unorm:
- case core::TexelFormat::kRgba8Unorm:
- case core::TexelFormat::kRgba8Snorm:
- case core::TexelFormat::kRgba16Float:
- case core::TexelFormat::kR32Float:
- case core::TexelFormat::kRg32Float:
- case core::TexelFormat::kRgba32Float:
- return number;
- default:
- return Number::invalid;
- }
- },
-/* string */ [](MatchState*) -> std::string {
- return "bgra8unorm, rgba8unorm, rgba8snorm, rgba16float, r32float, rg32float or rgba32float";
- }
-};
-
-/// EnumMatcher for 'match i32_texel_format'
-constexpr NumberMatcher kI32TexelFormatMatcher {
-/* match */ [](MatchState&, Number number) -> Number {
- switch (static_cast<core::TexelFormat>(number.Value())) {
- case core::TexelFormat::kRgba8Sint:
- case core::TexelFormat::kRgba16Sint:
- case core::TexelFormat::kR32Sint:
- case core::TexelFormat::kRg32Sint:
- case core::TexelFormat::kRgba32Sint:
- return number;
- default:
- return Number::invalid;
- }
- },
-/* string */ [](MatchState*) -> std::string {
- return "rgba8sint, rgba16sint, r32sint, rg32sint or rgba32sint";
- }
-};
-
-/// EnumMatcher for 'match u32_texel_format'
-constexpr NumberMatcher kU32TexelFormatMatcher {
-/* match */ [](MatchState&, Number number) -> Number {
- switch (static_cast<core::TexelFormat>(number.Value())) {
- case core::TexelFormat::kRgba8Uint:
- case core::TexelFormat::kRgba16Uint:
- case core::TexelFormat::kR32Uint:
- case core::TexelFormat::kRg32Uint:
- case core::TexelFormat::kRgba32Uint:
- return number;
- default:
- return Number::invalid;
- }
- },
-/* string */ [](MatchState*) -> std::string {
- return "rgba8uint, rgba16uint, r32uint, rg32uint or rgba32uint";
- }
-};
-
-/// EnumMatcher for 'match write'
-constexpr NumberMatcher kWriteMatcher {
-/* match */ [](MatchState&, Number number) -> Number {
- if (number.IsAny() || number.Value() == static_cast<uint32_t>(core::Access::kWrite)) {
- return Number(static_cast<uint32_t>(core::Access::kWrite));
- }
- return Number::invalid;
- },
-/* string */ [](MatchState*) -> std::string {
- return "write";
- }
-};
-
-/// EnumMatcher for 'match read_write'
-constexpr NumberMatcher kReadWriteMatcher {
-/* match */ [](MatchState&, Number number) -> Number {
- if (number.IsAny() || number.Value() == static_cast<uint32_t>(core::Access::kReadWrite)) {
- return Number(static_cast<uint32_t>(core::Access::kReadWrite));
- }
- return Number::invalid;
- },
-/* string */ [](MatchState*) -> std::string {
- return "read_write";
- }
-};
-
-/// EnumMatcher for 'match readable'
-constexpr NumberMatcher kReadableMatcher {
-/* match */ [](MatchState&, Number number) -> Number {
- switch (static_cast<core::Access>(number.Value())) {
- case core::Access::kRead:
- case core::Access::kReadWrite:
- return number;
- default:
- return Number::invalid;
- }
- },
-/* string */ [](MatchState*) -> std::string {
- return "read or read_write";
- }
-};
-
-/// EnumMatcher for 'match writable'
-constexpr NumberMatcher kWritableMatcher {
-/* match */ [](MatchState&, Number number) -> Number {
- switch (static_cast<core::Access>(number.Value())) {
- case core::Access::kWrite:
- case core::Access::kReadWrite:
- return number;
- default:
- return Number::invalid;
- }
- },
-/* string */ [](MatchState*) -> std::string {
- return "write or read_write";
- }
-};
-
-/// EnumMatcher for 'match function_private_workgroup'
-constexpr NumberMatcher kFunctionPrivateWorkgroupMatcher {
-/* match */ [](MatchState&, Number number) -> Number {
- switch (static_cast<core::AddressSpace>(number.Value())) {
- case core::AddressSpace::kFunction:
- case core::AddressSpace::kPrivate:
- case core::AddressSpace::kWorkgroup:
- return number;
- default:
- return Number::invalid;
- }
- },
-/* string */ [](MatchState*) -> std::string {
- return "function, private or workgroup";
- }
-};
-
-/// EnumMatcher for 'match workgroup_or_storage'
-constexpr NumberMatcher kWorkgroupOrStorageMatcher {
-/* match */ [](MatchState&, Number number) -> Number {
- switch (static_cast<core::AddressSpace>(number.Value())) {
- case core::AddressSpace::kWorkgroup:
- case core::AddressSpace::kStorage:
- return number;
- default:
- return Number::invalid;
- }
- },
-/* string */ [](MatchState*) -> std::string {
- return "workgroup or storage";
- }
-};
-
-/// EnumMatcher for 'match storage'
-constexpr NumberMatcher kStorageMatcher {
-/* match */ [](MatchState&, Number number) -> Number {
- if (number.IsAny() || number.Value() == static_cast<uint32_t>(core::AddressSpace::kStorage)) {
- return Number(static_cast<uint32_t>(core::AddressSpace::kStorage));
- }
- return Number::invalid;
- },
-/* string */ [](MatchState*) -> std::string {
- return "storage";
- }
-};
-
-/// EnumMatcher for 'match workgroup'
-constexpr NumberMatcher kWorkgroupMatcher {
-/* match */ [](MatchState&, Number number) -> Number {
- if (number.IsAny() || number.Value() == static_cast<uint32_t>(core::AddressSpace::kWorkgroup)) {
- return Number(static_cast<uint32_t>(core::AddressSpace::kWorkgroup));
- }
- return Number::invalid;
- },
-/* string */ [](MatchState*) -> std::string {
- return "workgroup";
- }
-};
-
-/// Type and number matchers
-
-/// The template types, types, and type matchers
-constexpr TypeMatcher kTypeMatchers[] = {
- /* [0] */ TemplateTypeMatcher<0>::matcher,
- /* [1] */ TemplateTypeMatcher<1>::matcher,
- /* [2] */ TemplateTypeMatcher<2>::matcher,
- /* [3] */ TemplateTypeMatcher<3>::matcher,
- /* [4] */ kBoolMatcher,
- /* [5] */ kIaMatcher,
- /* [6] */ kFaMatcher,
- /* [7] */ kI32Matcher,
- /* [8] */ kU32Matcher,
- /* [9] */ kF32Matcher,
- /* [10] */ kF16Matcher,
- /* [11] */ kVec2Matcher,
- /* [12] */ kVec3Matcher,
- /* [13] */ kVec4Matcher,
- /* [14] */ kMat2X2Matcher,
- /* [15] */ kMat2X3Matcher,
- /* [16] */ kMat2X4Matcher,
- /* [17] */ kMat3X2Matcher,
- /* [18] */ kMat3X3Matcher,
- /* [19] */ kMat3X4Matcher,
- /* [20] */ kMat4X2Matcher,
- /* [21] */ kMat4X3Matcher,
- /* [22] */ kMat4X4Matcher,
- /* [23] */ kVecMatcher,
- /* [24] */ kMatMatcher,
- /* [25] */ kPtrMatcher,
- /* [26] */ kAtomicMatcher,
- /* [27] */ kArrayMatcher,
- /* [28] */ kSamplerMatcher,
- /* [29] */ kSamplerComparisonMatcher,
- /* [30] */ kTexture1DMatcher,
- /* [31] */ kTexture2DMatcher,
- /* [32] */ kTexture2DArrayMatcher,
- /* [33] */ kTexture3DMatcher,
- /* [34] */ kTextureCubeMatcher,
- /* [35] */ kTextureCubeArrayMatcher,
- /* [36] */ kTextureMultisampled2DMatcher,
- /* [37] */ kTextureDepth2DMatcher,
- /* [38] */ kTextureDepth2DArrayMatcher,
- /* [39] */ kTextureDepthCubeMatcher,
- /* [40] */ kTextureDepthCubeArrayMatcher,
- /* [41] */ kTextureDepthMultisampled2DMatcher,
- /* [42] */ kTextureStorage1DMatcher,
- /* [43] */ kTextureStorage2DMatcher,
- /* [44] */ kTextureStorage2DArrayMatcher,
- /* [45] */ kTextureStorage3DMatcher,
- /* [46] */ kTextureExternalMatcher,
- /* [47] */ kPackedVec3Matcher,
- /* [48] */ kModfResultMatcher,
- /* [49] */ kModfResultVecMatcher,
- /* [50] */ kFrexpResultMatcher,
- /* [51] */ kFrexpResultVecMatcher,
- /* [52] */ kAtomicCompareExchangeResultMatcher,
- /* [53] */ kScalarMatcher,
- /* [54] */ kConcreteScalarMatcher,
- /* [55] */ kScalarNoF32Matcher,
- /* [56] */ kScalarNoF16Matcher,
- /* [57] */ kScalarNoI32Matcher,
- /* [58] */ kScalarNoU32Matcher,
- /* [59] */ kScalarNoBoolMatcher,
- /* [60] */ kFiaFiu32F16Matcher,
- /* [61] */ kFiaFi32F16Matcher,
- /* [62] */ kFiaFiu32Matcher,
- /* [63] */ kFaF32Matcher,
- /* [64] */ kFaF32F16Matcher,
- /* [65] */ kIaIu32Matcher,
- /* [66] */ kIaI32Matcher,
- /* [67] */ kFiu32F16Matcher,
- /* [68] */ kFiu32Matcher,
- /* [69] */ kFi32F16Matcher,
- /* [70] */ kFi32Matcher,
- /* [71] */ kF32F16Matcher,
- /* [72] */ kIu32Matcher,
-};
-
-/// The template numbers, and number matchers
-constexpr NumberMatcher kNumberMatchers[] = {
- /* [0] */ TemplateNumberMatcher<0>::matcher,
- /* [1] */ TemplateNumberMatcher<1>::matcher,
- /* [2] */ TemplateNumberMatcher<2>::matcher,
- /* [3] */ kF32TexelFormatMatcher,
- /* [4] */ kI32TexelFormatMatcher,
- /* [5] */ kU32TexelFormatMatcher,
- /* [6] */ kWriteMatcher,
- /* [7] */ kReadWriteMatcher,
- /* [8] */ kReadableMatcher,
- /* [9] */ kWritableMatcher,
- /* [10] */ kFunctionPrivateWorkgroupMatcher,
- /* [11] */ kWorkgroupOrStorageMatcher,
- /* [12] */ kStorageMatcher,
- /* [13] */ kWorkgroupMatcher,
-};
-
-constexpr TypeMatcherIndex kTypeMatcherIndices[] = {
- /* [0] */ TypeMatcherIndex(25),
- /* [1] */ TypeMatcherIndex(27),
- /* [2] */ TypeMatcherIndex(0),
- /* [3] */ TypeMatcherIndex(25),
- /* [4] */ TypeMatcherIndex(26),
- /* [5] */ TypeMatcherIndex(0),
- /* [6] */ TypeMatcherIndex(23),
- /* [7] */ TypeMatcherIndex(0),
- /* [8] */ TypeMatcherIndex(23),
- /* [9] */ TypeMatcherIndex(4),
- /* [10] */ TypeMatcherIndex(12),
- /* [11] */ TypeMatcherIndex(0),
- /* [12] */ TypeMatcherIndex(24),
- /* [13] */ TypeMatcherIndex(0),
- /* [14] */ TypeMatcherIndex(23),
- /* [15] */ TypeMatcherIndex(9),
- /* [16] */ TypeMatcherIndex(50),
- /* [17] */ TypeMatcherIndex(0),
- /* [18] */ TypeMatcherIndex(51),
- /* [19] */ TypeMatcherIndex(0),
- /* [20] */ TypeMatcherIndex(23),
- /* [21] */ TypeMatcherIndex(1),
- /* [22] */ TypeMatcherIndex(48),
- /* [23] */ TypeMatcherIndex(0),
- /* [24] */ TypeMatcherIndex(49),
- /* [25] */ TypeMatcherIndex(0),
- /* [26] */ TypeMatcherIndex(11),
- /* [27] */ TypeMatcherIndex(9),
- /* [28] */ TypeMatcherIndex(13),
- /* [29] */ TypeMatcherIndex(9),
- /* [30] */ TypeMatcherIndex(25),
- /* [31] */ TypeMatcherIndex(0),
- /* [32] */ TypeMatcherIndex(30),
- /* [33] */ TypeMatcherIndex(0),
- /* [34] */ TypeMatcherIndex(11),
- /* [35] */ TypeMatcherIndex(8),
- /* [36] */ TypeMatcherIndex(31),
- /* [37] */ TypeMatcherIndex(0),
- /* [38] */ TypeMatcherIndex(32),
- /* [39] */ TypeMatcherIndex(0),
- /* [40] */ TypeMatcherIndex(12),
- /* [41] */ TypeMatcherIndex(8),
- /* [42] */ TypeMatcherIndex(33),
- /* [43] */ TypeMatcherIndex(0),
- /* [44] */ TypeMatcherIndex(34),
- /* [45] */ TypeMatcherIndex(0),
- /* [46] */ TypeMatcherIndex(35),
- /* [47] */ TypeMatcherIndex(0),
- /* [48] */ TypeMatcherIndex(36),
- /* [49] */ TypeMatcherIndex(0),
- /* [50] */ TypeMatcherIndex(13),
- /* [51] */ TypeMatcherIndex(0),
- /* [52] */ TypeMatcherIndex(11),
- /* [53] */ TypeMatcherIndex(7),
- /* [54] */ TypeMatcherIndex(12),
- /* [55] */ TypeMatcherIndex(9),
- /* [56] */ TypeMatcherIndex(30),
- /* [57] */ TypeMatcherIndex(9),
- /* [58] */ TypeMatcherIndex(31),
- /* [59] */ TypeMatcherIndex(9),
- /* [60] */ TypeMatcherIndex(32),
- /* [61] */ TypeMatcherIndex(9),
- /* [62] */ TypeMatcherIndex(33),
- /* [63] */ TypeMatcherIndex(9),
- /* [64] */ TypeMatcherIndex(12),
- /* [65] */ TypeMatcherIndex(7),
- /* [66] */ TypeMatcherIndex(34),
- /* [67] */ TypeMatcherIndex(9),
- /* [68] */ TypeMatcherIndex(35),
- /* [69] */ TypeMatcherIndex(9),
- /* [70] */ TypeMatcherIndex(11),
- /* [71] */ TypeMatcherIndex(0),
- /* [72] */ TypeMatcherIndex(13),
- /* [73] */ TypeMatcherIndex(7),
- /* [74] */ TypeMatcherIndex(13),
- /* [75] */ TypeMatcherIndex(8),
- /* [76] */ TypeMatcherIndex(11),
- /* [77] */ TypeMatcherIndex(1),
- /* [78] */ TypeMatcherIndex(12),
- /* [79] */ TypeMatcherIndex(1),
- /* [80] */ TypeMatcherIndex(52),
- /* [81] */ TypeMatcherIndex(0),
- /* [82] */ TypeMatcherIndex(23),
- /* [83] */ TypeMatcherIndex(8),
- /* [84] */ TypeMatcherIndex(11),
- /* [85] */ TypeMatcherIndex(5),
- /* [86] */ TypeMatcherIndex(11),
- /* [87] */ TypeMatcherIndex(10),
- /* [88] */ TypeMatcherIndex(11),
- /* [89] */ TypeMatcherIndex(4),
- /* [90] */ TypeMatcherIndex(12),
- /* [91] */ TypeMatcherIndex(5),
- /* [92] */ TypeMatcherIndex(12),
- /* [93] */ TypeMatcherIndex(10),
- /* [94] */ TypeMatcherIndex(12),
- /* [95] */ TypeMatcherIndex(4),
- /* [96] */ TypeMatcherIndex(13),
- /* [97] */ TypeMatcherIndex(5),
- /* [98] */ TypeMatcherIndex(13),
- /* [99] */ TypeMatcherIndex(1),
- /* [100] */ TypeMatcherIndex(13),
- /* [101] */ TypeMatcherIndex(10),
- /* [102] */ TypeMatcherIndex(13),
- /* [103] */ TypeMatcherIndex(4),
- /* [104] */ TypeMatcherIndex(14),
- /* [105] */ TypeMatcherIndex(0),
- /* [106] */ TypeMatcherIndex(14),
- /* [107] */ TypeMatcherIndex(10),
- /* [108] */ TypeMatcherIndex(14),
- /* [109] */ TypeMatcherIndex(9),
- /* [110] */ TypeMatcherIndex(15),
- /* [111] */ TypeMatcherIndex(0),
- /* [112] */ TypeMatcherIndex(15),
- /* [113] */ TypeMatcherIndex(10),
- /* [114] */ TypeMatcherIndex(15),
- /* [115] */ TypeMatcherIndex(9),
- /* [116] */ TypeMatcherIndex(16),
- /* [117] */ TypeMatcherIndex(0),
- /* [118] */ TypeMatcherIndex(16),
- /* [119] */ TypeMatcherIndex(10),
- /* [120] */ TypeMatcherIndex(16),
- /* [121] */ TypeMatcherIndex(9),
- /* [122] */ TypeMatcherIndex(17),
- /* [123] */ TypeMatcherIndex(0),
- /* [124] */ TypeMatcherIndex(17),
- /* [125] */ TypeMatcherIndex(10),
- /* [126] */ TypeMatcherIndex(17),
- /* [127] */ TypeMatcherIndex(9),
- /* [128] */ TypeMatcherIndex(18),
- /* [129] */ TypeMatcherIndex(0),
- /* [130] */ TypeMatcherIndex(18),
- /* [131] */ TypeMatcherIndex(10),
- /* [132] */ TypeMatcherIndex(18),
- /* [133] */ TypeMatcherIndex(9),
- /* [134] */ TypeMatcherIndex(19),
- /* [135] */ TypeMatcherIndex(0),
- /* [136] */ TypeMatcherIndex(19),
- /* [137] */ TypeMatcherIndex(10),
- /* [138] */ TypeMatcherIndex(19),
- /* [139] */ TypeMatcherIndex(9),
- /* [140] */ TypeMatcherIndex(20),
- /* [141] */ TypeMatcherIndex(0),
- /* [142] */ TypeMatcherIndex(20),
- /* [143] */ TypeMatcherIndex(10),
- /* [144] */ TypeMatcherIndex(20),
- /* [145] */ TypeMatcherIndex(9),
- /* [146] */ TypeMatcherIndex(21),
- /* [147] */ TypeMatcherIndex(0),
- /* [148] */ TypeMatcherIndex(21),
- /* [149] */ TypeMatcherIndex(10),
- /* [150] */ TypeMatcherIndex(21),
- /* [151] */ TypeMatcherIndex(9),
- /* [152] */ TypeMatcherIndex(22),
- /* [153] */ TypeMatcherIndex(0),
- /* [154] */ TypeMatcherIndex(22),
- /* [155] */ TypeMatcherIndex(10),
- /* [156] */ TypeMatcherIndex(22),
- /* [157] */ TypeMatcherIndex(9),
- /* [158] */ TypeMatcherIndex(47),
- /* [159] */ TypeMatcherIndex(0),
- /* [160] */ TypeMatcherIndex(37),
- /* [161] */ TypeMatcherIndex(38),
- /* [162] */ TypeMatcherIndex(39),
- /* [163] */ TypeMatcherIndex(40),
- /* [164] */ TypeMatcherIndex(41),
- /* [165] */ TypeMatcherIndex(42),
- /* [166] */ TypeMatcherIndex(43),
- /* [167] */ TypeMatcherIndex(44),
- /* [168] */ TypeMatcherIndex(45),
- /* [169] */ TypeMatcherIndex(46),
- /* [170] */ TypeMatcherIndex(28),
- /* [171] */ TypeMatcherIndex(2),
- /* [172] */ TypeMatcherIndex(29),
- /* [173] */ TypeMatcherIndex(3),
-};
-
-static_assert(TypeMatcherIndex::CanIndex(kTypeMatcherIndices),
- "TypeMatcherIndex is not large enough to index kTypeMatcherIndices");
-
-constexpr NumberMatcherIndex kNumberMatcherIndices[] = {
- /* [0] */ NumberMatcherIndex(12),
- /* [1] */ NumberMatcherIndex(0),
- /* [2] */ NumberMatcherIndex(0),
- /* [3] */ NumberMatcherIndex(1),
- /* [4] */ NumberMatcherIndex(0),
- /* [5] */ NumberMatcherIndex(7),
- /* [6] */ NumberMatcherIndex(13),
- /* [7] */ NumberMatcherIndex(7),
- /* [8] */ NumberMatcherIndex(3),
- /* [9] */ NumberMatcherIndex(9),
- /* [10] */ NumberMatcherIndex(4),
- /* [11] */ NumberMatcherIndex(9),
- /* [12] */ NumberMatcherIndex(5),
- /* [13] */ NumberMatcherIndex(9),
- /* [14] */ NumberMatcherIndex(3),
- /* [15] */ NumberMatcherIndex(8),
- /* [16] */ NumberMatcherIndex(4),
- /* [17] */ NumberMatcherIndex(8),
- /* [18] */ NumberMatcherIndex(5),
- /* [19] */ NumberMatcherIndex(8),
- /* [20] */ NumberMatcherIndex(1),
- /* [21] */ NumberMatcherIndex(2),
- /* [22] */ NumberMatcherIndex(0),
- /* [23] */ NumberMatcherIndex(2),
-};
-
-static_assert(NumberMatcherIndex::CanIndex(kNumberMatcherIndices),
- "NumberMatcherIndex is not large enough to index kNumberMatcherIndices");
-
-constexpr ParameterInfo kParameters[] = {
- {
- /* [0] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(3),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(4),
- },
- {
- /* [1] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [2] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [3] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [4] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [5] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [6] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [7] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [8] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [9] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [10] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [11] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [12] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [13] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [14] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [15] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [16] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [17] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [18] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [19] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(60),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [20] */
- /* usage */ core::ParameterUsage::kSampler,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(170),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [21] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(26),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [22] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [23] */
- /* usage */ core::ParameterUsage::kDdx,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(26),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [24] */
- /* usage */ core::ParameterUsage::kDdy,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(26),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [25] */
- /* usage */ core::ParameterUsage::kOffset,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(52),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [26] */
- /* usage */ core::ParameterUsage::kComponent,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(21),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [27] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(38),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [28] */
- /* usage */ core::ParameterUsage::kSampler,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(170),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [29] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(26),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [30] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(171),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [31] */
- /* usage */ core::ParameterUsage::kOffset,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(52),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [32] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(161),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [33] */
- /* usage */ core::ParameterUsage::kSampler,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(172),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [34] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(26),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [35] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [36] */
- /* usage */ core::ParameterUsage::kDepthRef,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [37] */
- /* usage */ core::ParameterUsage::kOffset,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(52),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [38] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(60),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [39] */
- /* usage */ core::ParameterUsage::kSampler,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(170),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [40] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(26),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [41] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [42] */
- /* usage */ core::ParameterUsage::kBias,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [43] */
- /* usage */ core::ParameterUsage::kOffset,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(52),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [44] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(58),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [45] */
- /* usage */ core::ParameterUsage::kSampler,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(170),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [46] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(26),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [47] */
- /* usage */ core::ParameterUsage::kDdx,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(26),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [48] */
- /* usage */ core::ParameterUsage::kDdy,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(26),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [49] */
- /* usage */ core::ParameterUsage::kOffset,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(52),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [50] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(62),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [51] */
- /* usage */ core::ParameterUsage::kSampler,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(170),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [52] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(54),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [53] */
- /* usage */ core::ParameterUsage::kDdx,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(54),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [54] */
- /* usage */ core::ParameterUsage::kDdy,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(54),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [55] */
- /* usage */ core::ParameterUsage::kOffset,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(64),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [56] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(68),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [57] */
- /* usage */ core::ParameterUsage::kSampler,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(170),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [58] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(54),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [59] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [60] */
- /* usage */ core::ParameterUsage::kDdx,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(54),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [61] */
- /* usage */ core::ParameterUsage::kDdy,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(54),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [62] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(60),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [63] */
- /* usage */ core::ParameterUsage::kSampler,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(170),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [64] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(26),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [65] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [66] */
- /* usage */ core::ParameterUsage::kLevel,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [67] */
- /* usage */ core::ParameterUsage::kOffset,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(52),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [68] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(161),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [69] */
- /* usage */ core::ParameterUsage::kSampler,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(170),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [70] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(26),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [71] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [72] */
- /* usage */ core::ParameterUsage::kLevel,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(21),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [73] */
- /* usage */ core::ParameterUsage::kOffset,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(52),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [74] */
- /* usage */ core::ParameterUsage::kComponent,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(21),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [75] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(36),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [76] */
- /* usage */ core::ParameterUsage::kSampler,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(170),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [77] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(26),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [78] */
- /* usage */ core::ParameterUsage::kOffset,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(52),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [79] */
- /* usage */ core::ParameterUsage::kComponent,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(21),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [80] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(46),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [81] */
- /* usage */ core::ParameterUsage::kSampler,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(170),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [82] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(54),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [83] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(171),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [84] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(161),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [85] */
- /* usage */ core::ParameterUsage::kSampler,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(170),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [86] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(26),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [87] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [88] */
- /* usage */ core::ParameterUsage::kOffset,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(52),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [89] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(160),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [90] */
- /* usage */ core::ParameterUsage::kSampler,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(172),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [91] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(26),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [92] */
- /* usage */ core::ParameterUsage::kDepthRef,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [93] */
- /* usage */ core::ParameterUsage::kOffset,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(52),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [94] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(163),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [95] */
- /* usage */ core::ParameterUsage::kSampler,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(172),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [96] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(54),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [97] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [98] */
- /* usage */ core::ParameterUsage::kDepthRef,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [99] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(60),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [100] */
- /* usage */ core::ParameterUsage::kSampler,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(170),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [101] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(26),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [102] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [103] */
- /* usage */ core::ParameterUsage::kOffset,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(52),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [104] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(58),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [105] */
- /* usage */ core::ParameterUsage::kSampler,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(170),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [106] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(26),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [107] */
- /* usage */ core::ParameterUsage::kBias,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [108] */
- /* usage */ core::ParameterUsage::kOffset,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(52),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [109] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(62),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [110] */
- /* usage */ core::ParameterUsage::kSampler,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(170),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [111] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(54),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [112] */
- /* usage */ core::ParameterUsage::kBias,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [113] */
- /* usage */ core::ParameterUsage::kOffset,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(64),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [114] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(68),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [115] */
- /* usage */ core::ParameterUsage::kSampler,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(170),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [116] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(54),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [117] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [118] */
- /* usage */ core::ParameterUsage::kBias,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [119] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(66),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [120] */
- /* usage */ core::ParameterUsage::kSampler,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(170),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [121] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(54),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [122] */
- /* usage */ core::ParameterUsage::kDdx,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(54),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [123] */
- /* usage */ core::ParameterUsage::kDdy,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(54),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [124] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(58),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [125] */
- /* usage */ core::ParameterUsage::kSampler,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(170),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [126] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(26),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [127] */
- /* usage */ core::ParameterUsage::kLevel,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [128] */
- /* usage */ core::ParameterUsage::kOffset,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(52),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [129] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(62),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [130] */
- /* usage */ core::ParameterUsage::kSampler,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(170),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [131] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(54),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [132] */
- /* usage */ core::ParameterUsage::kLevel,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [133] */
- /* usage */ core::ParameterUsage::kOffset,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(64),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [134] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(68),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [135] */
- /* usage */ core::ParameterUsage::kSampler,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(170),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [136] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(54),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [137] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [138] */
- /* usage */ core::ParameterUsage::kLevel,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [139] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(160),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [140] */
- /* usage */ core::ParameterUsage::kSampler,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(170),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [141] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(26),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [142] */
- /* usage */ core::ParameterUsage::kLevel,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [143] */
- /* usage */ core::ParameterUsage::kOffset,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(52),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [144] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(163),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [145] */
- /* usage */ core::ParameterUsage::kSampler,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(170),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [146] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(54),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [147] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [148] */
- /* usage */ core::ParameterUsage::kLevel,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(21),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [149] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(1),
- },
- {
- /* [150] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(1),
- },
- {
- /* [151] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [152] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [153] */
- /* usage */ core::ParameterUsage::kComponent,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(21),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [154] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(44),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [155] */
- /* usage */ core::ParameterUsage::kSampler,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(170),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [156] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(54),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [157] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(160),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [158] */
- /* usage */ core::ParameterUsage::kSampler,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(170),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [159] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(26),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [160] */
- /* usage */ core::ParameterUsage::kOffset,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(52),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [161] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(162),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [162] */
- /* usage */ core::ParameterUsage::kSampler,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(172),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [163] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(54),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [164] */
- /* usage */ core::ParameterUsage::kDepthRef,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [165] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(58),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [166] */
- /* usage */ core::ParameterUsage::kSampler,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(170),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [167] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(26),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [168] */
- /* usage */ core::ParameterUsage::kOffset,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(52),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [169] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(62),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [170] */
- /* usage */ core::ParameterUsage::kSampler,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(170),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [171] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(54),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [172] */
- /* usage */ core::ParameterUsage::kOffset,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(64),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [173] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(66),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [174] */
- /* usage */ core::ParameterUsage::kSampler,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(170),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [175] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(54),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [176] */
- /* usage */ core::ParameterUsage::kBias,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [177] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(66),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [178] */
- /* usage */ core::ParameterUsage::kSampler,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(170),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [179] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(54),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [180] */
- /* usage */ core::ParameterUsage::kLevel,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [181] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(162),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [182] */
- /* usage */ core::ParameterUsage::kSampler,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(170),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [183] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(54),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [184] */
- /* usage */ core::ParameterUsage::kLevel,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [185] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(167),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(8),
- },
- {
- /* [186] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(70),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [187] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(21),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [188] */
- /* usage */ core::ParameterUsage::kValue,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [189] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(167),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(10),
- },
- {
- /* [190] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(70),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [191] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(21),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [192] */
- /* usage */ core::ParameterUsage::kValue,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(72),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [193] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(167),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(12),
- },
- {
- /* [194] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(70),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [195] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(21),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [196] */
- /* usage */ core::ParameterUsage::kValue,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(74),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [197] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(38),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [198] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(76),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [199] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(171),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [200] */
- /* usage */ core::ParameterUsage::kLevel,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(173),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [201] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(161),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [202] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(70),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [203] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(21),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [204] */
- /* usage */ core::ParameterUsage::kLevel,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(171),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [205] */
- /* usage */ core::ParameterUsage::kX,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [206] */
- /* usage */ core::ParameterUsage::kY,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [207] */
- /* usage */ core::ParameterUsage::kZ,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [208] */
- /* usage */ core::ParameterUsage::kW,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [209] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(70),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [210] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(70),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [211] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(70),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [212] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(70),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [213] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(10),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [214] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(10),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [215] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(10),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [216] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(10),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [217] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(50),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [218] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(50),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [219] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(50),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [220] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(50),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [221] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(1),
- },
- {
- /* [222] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(1),
- },
- {
- /* [223] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(1),
- },
- {
- /* [224] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [225] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [226] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(9),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [227] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(9),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [228] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(1),
- },
- {
- /* [229] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(1),
- },
- {
- /* [230] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(9),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [231] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(1),
- },
- {
- /* [232] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(1),
- },
- {
- /* [233] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(8),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(1),
- },
- {
- /* [234] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(8),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(1),
- },
- {
- /* [235] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(56),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [236] */
- /* usage */ core::ParameterUsage::kSampler,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(170),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [237] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [238] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(169),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [239] */
- /* usage */ core::ParameterUsage::kSampler,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(170),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [240] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(26),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [241] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(165),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(8),
- },
- {
- /* [242] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [243] */
- /* usage */ core::ParameterUsage::kValue,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [244] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(166),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(8),
- },
- {
- /* [245] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(70),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [246] */
- /* usage */ core::ParameterUsage::kValue,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [247] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(168),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(8),
- },
- {
- /* [248] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(10),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [249] */
- /* usage */ core::ParameterUsage::kValue,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [250] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(165),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(10),
- },
- {
- /* [251] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [252] */
- /* usage */ core::ParameterUsage::kValue,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(72),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [253] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(166),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(10),
- },
- {
- /* [254] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(70),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [255] */
- /* usage */ core::ParameterUsage::kValue,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(72),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [256] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(168),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(10),
- },
- {
- /* [257] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(10),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [258] */
- /* usage */ core::ParameterUsage::kValue,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(72),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [259] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(165),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(12),
- },
- {
- /* [260] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [261] */
- /* usage */ core::ParameterUsage::kValue,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(74),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [262] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(166),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(12),
- },
- {
- /* [263] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(70),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [264] */
- /* usage */ core::ParameterUsage::kValue,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(74),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [265] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(168),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(12),
- },
- {
- /* [266] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(10),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [267] */
- /* usage */ core::ParameterUsage::kValue,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(74),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [268] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(32),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [269] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(21),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [270] */
- /* usage */ core::ParameterUsage::kLevel,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(171),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [271] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(36),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [272] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(76),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [273] */
- /* usage */ core::ParameterUsage::kLevel,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(171),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [274] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(42),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [275] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(78),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [276] */
- /* usage */ core::ParameterUsage::kLevel,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(171),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [277] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(48),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [278] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(76),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [279] */
- /* usage */ core::ParameterUsage::kSampleIndex,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(171),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [280] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(160),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [281] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(70),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [282] */
- /* usage */ core::ParameterUsage::kLevel,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(21),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [283] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(164),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [284] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(70),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [285] */
- /* usage */ core::ParameterUsage::kSampleIndex,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(21),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [286] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(167),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(14),
- },
- {
- /* [287] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(70),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [288] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(21),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [289] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(167),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(16),
- },
- {
- /* [290] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(70),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [291] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(21),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [292] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(167),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(18),
- },
- {
- /* [293] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(70),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [294] */
- /* usage */ core::ParameterUsage::kArrayIndex,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(21),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [295] */
- /* usage */ core::ParameterUsage::kXy,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(70),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [296] */
- /* usage */ core::ParameterUsage::kZ,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [297] */
- /* usage */ core::ParameterUsage::kW,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [298] */
- /* usage */ core::ParameterUsage::kX,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [299] */
- /* usage */ core::ParameterUsage::kYz,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(70),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [300] */
- /* usage */ core::ParameterUsage::kW,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [301] */
- /* usage */ core::ParameterUsage::kX,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [302] */
- /* usage */ core::ParameterUsage::kY,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [303] */
- /* usage */ core::ParameterUsage::kZw,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(70),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [304] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [305] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(21),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [306] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(1),
- },
- {
- /* [307] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(20),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(1),
- },
- {
- /* [308] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(32),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [309] */
- /* usage */ core::ParameterUsage::kLevel,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(21),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [310] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(36),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [311] */
- /* usage */ core::ParameterUsage::kLevel,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(21),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [312] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(38),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [313] */
- /* usage */ core::ParameterUsage::kLevel,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(21),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [314] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(42),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [315] */
- /* usage */ core::ParameterUsage::kLevel,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(21),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [316] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(44),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [317] */
- /* usage */ core::ParameterUsage::kLevel,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(21),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [318] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(46),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [319] */
- /* usage */ core::ParameterUsage::kLevel,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(21),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [320] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(160),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [321] */
- /* usage */ core::ParameterUsage::kLevel,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [322] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(161),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [323] */
- /* usage */ core::ParameterUsage::kLevel,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [324] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(162),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [325] */
- /* usage */ core::ParameterUsage::kLevel,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [326] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(163),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [327] */
- /* usage */ core::ParameterUsage::kLevel,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [328] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(169),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [329] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(70),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [330] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(165),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(14),
- },
- {
- /* [331] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [332] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(165),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(16),
- },
- {
- /* [333] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [334] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(165),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(18),
- },
- {
- /* [335] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [336] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(166),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(14),
- },
- {
- /* [337] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(70),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [338] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(166),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(16),
- },
- {
- /* [339] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(70),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [340] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(166),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(18),
- },
- {
- /* [341] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(70),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [342] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(168),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(14),
- },
- {
- /* [343] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(10),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [344] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(168),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(16),
- },
- {
- /* [345] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(10),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [346] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(168),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(18),
- },
- {
- /* [347] */
- /* usage */ core::ParameterUsage::kCoords,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(10),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [348] */
- /* usage */ core::ParameterUsage::kValue,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [349] */
- /* usage */ core::ParameterUsage::kSourceLaneIndex,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [350] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [351] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(1),
- },
- {
- /* [352] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(82),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(1),
- },
- {
- /* [353] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(12),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(2),
- },
- {
- /* [354] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(12),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(2),
- },
- {
- /* [355] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [356] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(12),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(2),
- },
- {
- /* [357] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(1),
- },
- {
- /* [358] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(3),
- },
- {
- /* [359] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(12),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(2),
- },
- {
- /* [360] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(12),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(22),
- },
- {
- /* [361] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(12),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(3),
- },
- {
- /* [362] */
- /* usage */ core::ParameterUsage::kXy,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(70),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [363] */
- /* usage */ core::ParameterUsage::kZw,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(70),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [364] */
- /* usage */ core::ParameterUsage::kXyz,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(10),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [365] */
- /* usage */ core::ParameterUsage::kW,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [366] */
- /* usage */ core::ParameterUsage::kX,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [367] */
- /* usage */ core::ParameterUsage::kZyw,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(10),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [368] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(0),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(0),
- },
- {
- /* [369] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(12),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(1),
- },
- {
- /* [370] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [371] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(14),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(1),
- },
- {
- /* [372] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(26),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [373] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [374] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(30),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(6),
- },
- {
- /* [375] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(165),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(2),
- },
- {
- /* [376] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(166),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(2),
- },
- {
- /* [377] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(167),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(2),
- },
- {
- /* [378] */
- /* usage */ core::ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(168),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(2),
- },
- {
- /* [379] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(53),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [380] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(87),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [381] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(76),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [382] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(78),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [383] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(98),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [384] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(104),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [385] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(108),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [386] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(106),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [387] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(110),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [388] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(114),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [389] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(112),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [390] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(116),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [391] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(120),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [392] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(118),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [393] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(122),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [394] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(126),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [395] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(124),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [396] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(128),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [397] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(132),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [398] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(130),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [399] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(134),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [400] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(138),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [401] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(136),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [402] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(140),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [403] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(144),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [404] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(142),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [405] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(146),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [406] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(150),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [407] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(148),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [408] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(152),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [409] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(156),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [410] */
- /* usage */ core::ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(154),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
-};
-
-static_assert(ParameterIndex::CanIndex(kParameters),
- "ParameterIndex is not large enough to index kParameters");
-
-constexpr TemplateTypeInfo kTemplateTypes[] = {
- {
- /* [0] */
- /* name */ "T",
- /* matcher_index */ TypeMatcherIndex(68),
- },
- {
- /* [1] */
- /* name */ "C",
- /* matcher_index */ TypeMatcherIndex(72),
- },
- {
- /* [2] */
- /* name */ "A",
- /* matcher_index */ TypeMatcherIndex(72),
- },
- {
- /* [3] */
- /* name */ "L",
- /* matcher_index */ TypeMatcherIndex(72),
- },
- {
- /* [4] */
- /* name */ "T",
- /* matcher_index */ TypeMatcherIndex(68),
- },
- {
- /* [5] */
- /* name */ "C",
- /* matcher_index */ TypeMatcherIndex(72),
- },
- {
- /* [6] */
- /* name */ "L",
- /* matcher_index */ TypeMatcherIndex(72),
- },
- {
- /* [7] */
- /* name */ "T",
- /* matcher_index */ TypeMatcherIndex(68),
- },
- {
- /* [8] */
- /* name */ "C",
- /* matcher_index */ TypeMatcherIndex(72),
- },
- {
- /* [9] */
- /* name */ "S",
- /* matcher_index */ TypeMatcherIndex(72),
- },
- {
- /* [10] */
- /* name */ "T",
- /* matcher_index */ TypeMatcherIndex(64),
- },
- {
- /* [11] */
- /* name */ "U",
- /* matcher_index */ TypeMatcherIndex(66),
- },
- {
- /* [12] */
- /* name */ "T",
- /* matcher_index */ TypeMatcherIndex(68),
- },
- {
- /* [13] */
- /* name */ "L",
- /* matcher_index */ TypeMatcherIndex(72),
- },
- {
- /* [14] */
- /* name */ "T",
- /* matcher_index */ TypeMatcherIndex(9),
- },
- {
- /* [15] */
- /* name */ "U",
- /* matcher_index */ TypeMatcherIndex(55),
- },
- {
- /* [16] */
- /* name */ "T",
- /* matcher_index */ TypeMatcherIndex(10),
- },
- {
- /* [17] */
- /* name */ "U",
- /* matcher_index */ TypeMatcherIndex(56),
- },
- {
- /* [18] */
- /* name */ "T",
- /* matcher_index */ TypeMatcherIndex(7),
- },
- {
- /* [19] */
- /* name */ "U",
- /* matcher_index */ TypeMatcherIndex(57),
- },
- {
- /* [20] */
- /* name */ "T",
- /* matcher_index */ TypeMatcherIndex(8),
- },
- {
- /* [21] */
- /* name */ "U",
- /* matcher_index */ TypeMatcherIndex(58),
- },
- {
- /* [22] */
- /* name */ "T",
- /* matcher_index */ TypeMatcherIndex(4),
- },
- {
- /* [23] */
- /* name */ "U",
- /* matcher_index */ TypeMatcherIndex(59),
- },
- {
- /* [24] */
- /* name */ "T",
- /* matcher_index */ TypeMatcherIndex(60),
- },
- {
- /* [25] */
- /* name */ "T",
- /* matcher_index */ TypeMatcherIndex(/* invalid */),
- },
- {
- /* [26] */
- /* name */ "T",
- /* matcher_index */ TypeMatcherIndex(72),
- },
- {
- /* [27] */
- /* name */ "T",
- /* matcher_index */ TypeMatcherIndex(53),
- },
- {
- /* [28] */
- /* name */ "T",
- /* matcher_index */ TypeMatcherIndex(61),
- },
- {
- /* [29] */
- /* name */ "T",
- /* matcher_index */ TypeMatcherIndex(65),
- },
- {
- /* [30] */
- /* name */ "T",
- /* matcher_index */ TypeMatcherIndex(57),
- },
- {
- /* [31] */
- /* name */ "T",
- /* matcher_index */ TypeMatcherIndex(58),
- },
- {
- /* [32] */
- /* name */ "T",
- /* matcher_index */ TypeMatcherIndex(55),
- },
- {
- /* [33] */
- /* name */ "T",
- /* matcher_index */ TypeMatcherIndex(56),
- },
- {
- /* [34] */
- /* name */ "T",
- /* matcher_index */ TypeMatcherIndex(59),
- },
- {
- /* [35] */
- /* name */ "T",
- /* matcher_index */ TypeMatcherIndex(54),
- },
- {
- /* [36] */
- /* name */ "T",
- /* matcher_index */ TypeMatcherIndex(71),
- },
-};
-
-static_assert(TemplateTypeIndex::CanIndex(kTemplateTypes),
- "TemplateTypeIndex is not large enough to index kTemplateTypes");
-
-constexpr TemplateNumberInfo kTemplateNumbers[] = {
- {
- /* [0] */
- /* name */ "K",
- /* matcher_index */ NumberMatcherIndex(/* invalid */),
- },
- {
- /* [1] */
- /* name */ "C",
- /* matcher_index */ NumberMatcherIndex(/* invalid */),
- },
- {
- /* [2] */
- /* name */ "R",
- /* matcher_index */ NumberMatcherIndex(/* invalid */),
- },
- {
- /* [3] */
- /* name */ "M",
- /* matcher_index */ NumberMatcherIndex(/* invalid */),
- },
- {
- /* [4] */
- /* name */ "N",
- /* matcher_index */ NumberMatcherIndex(/* invalid */),
- },
- {
- /* [5] */
- /* name */ "M",
- /* matcher_index */ NumberMatcherIndex(/* invalid */),
- },
- {
- /* [6] */
- /* name */ "F",
- /* matcher_index */ NumberMatcherIndex(/* invalid */),
- },
- {
- /* [7] */
- /* name */ "A",
- /* matcher_index */ NumberMatcherIndex(/* invalid */),
- },
- {
- /* [8] */
- /* name */ "S",
- /* matcher_index */ NumberMatcherIndex(11),
- },
-};
-
-static_assert(TemplateNumberIndex::CanIndex(kTemplateNumbers),
- "TemplateNumberIndex is not large enough to index kTemplateNumbers");
-
-constexpr core::constant::Eval::Function kConstEvalFunctions[] = {
- /* [0] */ &core::constant::Eval::abs,
- /* [1] */ &core::constant::Eval::acos,
- /* [2] */ &core::constant::Eval::acosh,
- /* [3] */ &core::constant::Eval::all,
- /* [4] */ &core::constant::Eval::any,
- /* [5] */ &core::constant::Eval::asin,
- /* [6] */ &core::constant::Eval::asinh,
- /* [7] */ &core::constant::Eval::atan,
- /* [8] */ &core::constant::Eval::atan2,
- /* [9] */ &core::constant::Eval::atanh,
- /* [10] */ &core::constant::Eval::ceil,
- /* [11] */ &core::constant::Eval::clamp,
- /* [12] */ &core::constant::Eval::cos,
- /* [13] */ &core::constant::Eval::cosh,
- /* [14] */ &core::constant::Eval::countLeadingZeros,
- /* [15] */ &core::constant::Eval::countOneBits,
- /* [16] */ &core::constant::Eval::countTrailingZeros,
- /* [17] */ &core::constant::Eval::cross,
- /* [18] */ &core::constant::Eval::degrees,
- /* [19] */ &core::constant::Eval::determinant,
- /* [20] */ &core::constant::Eval::distance,
- /* [21] */ &core::constant::Eval::dot,
- /* [22] */ &core::constant::Eval::exp,
- /* [23] */ &core::constant::Eval::exp2,
- /* [24] */ &core::constant::Eval::extractBits,
- /* [25] */ &core::constant::Eval::faceForward,
- /* [26] */ &core::constant::Eval::firstLeadingBit,
- /* [27] */ &core::constant::Eval::firstTrailingBit,
- /* [28] */ &core::constant::Eval::floor,
- /* [29] */ &core::constant::Eval::fma,
- /* [30] */ &core::constant::Eval::fract,
- /* [31] */ &core::constant::Eval::frexp,
- /* [32] */ &core::constant::Eval::insertBits,
- /* [33] */ &core::constant::Eval::inverseSqrt,
- /* [34] */ &core::constant::Eval::ldexp,
- /* [35] */ &core::constant::Eval::length,
- /* [36] */ &core::constant::Eval::log,
- /* [37] */ &core::constant::Eval::log2,
- /* [38] */ &core::constant::Eval::max,
- /* [39] */ &core::constant::Eval::min,
- /* [40] */ &core::constant::Eval::mix,
- /* [41] */ &core::constant::Eval::modf,
- /* [42] */ &core::constant::Eval::normalize,
- /* [43] */ &core::constant::Eval::pack2x16float,
- /* [44] */ &core::constant::Eval::pack2x16snorm,
- /* [45] */ &core::constant::Eval::pack2x16unorm,
- /* [46] */ &core::constant::Eval::pack4x8snorm,
- /* [47] */ &core::constant::Eval::pack4x8unorm,
- /* [48] */ &core::constant::Eval::pow,
- /* [49] */ &core::constant::Eval::quantizeToF16,
- /* [50] */ &core::constant::Eval::radians,
- /* [51] */ &core::constant::Eval::reflect,
- /* [52] */ &core::constant::Eval::refract,
- /* [53] */ &core::constant::Eval::reverseBits,
- /* [54] */ &core::constant::Eval::round,
- /* [55] */ &core::constant::Eval::saturate,
- /* [56] */ &core::constant::Eval::select_bool,
- /* [57] */ &core::constant::Eval::select_boolvec,
- /* [58] */ &core::constant::Eval::sign,
- /* [59] */ &core::constant::Eval::sin,
- /* [60] */ &core::constant::Eval::sinh,
- /* [61] */ &core::constant::Eval::smoothstep,
- /* [62] */ &core::constant::Eval::sqrt,
- /* [63] */ &core::constant::Eval::step,
- /* [64] */ &core::constant::Eval::tan,
- /* [65] */ &core::constant::Eval::tanh,
- /* [66] */ &core::constant::Eval::transpose,
- /* [67] */ &core::constant::Eval::trunc,
- /* [68] */ &core::constant::Eval::unpack2x16float,
- /* [69] */ &core::constant::Eval::unpack2x16snorm,
- /* [70] */ &core::constant::Eval::unpack2x16unorm,
- /* [71] */ &core::constant::Eval::unpack4x8snorm,
- /* [72] */ &core::constant::Eval::unpack4x8unorm,
- /* [73] */ &core::constant::Eval::Identity,
- /* [74] */ &core::constant::Eval::Not,
- /* [75] */ &core::constant::Eval::Complement,
- /* [76] */ &core::constant::Eval::UnaryMinus,
- /* [77] */ &core::constant::Eval::Plus,
- /* [78] */ &core::constant::Eval::Minus,
- /* [79] */ &core::constant::Eval::Multiply,
- /* [80] */ &core::constant::Eval::MultiplyMatVec,
- /* [81] */ &core::constant::Eval::MultiplyVecMat,
- /* [82] */ &core::constant::Eval::MultiplyMatMat,
- /* [83] */ &core::constant::Eval::Divide,
- /* [84] */ &core::constant::Eval::Modulo,
- /* [85] */ &core::constant::Eval::Xor,
- /* [86] */ &core::constant::Eval::And,
- /* [87] */ &core::constant::Eval::Or,
- /* [88] */ &core::constant::Eval::LogicalAnd,
- /* [89] */ &core::constant::Eval::LogicalOr,
- /* [90] */ &core::constant::Eval::Equal,
- /* [91] */ &core::constant::Eval::NotEqual,
- /* [92] */ &core::constant::Eval::LessThan,
- /* [93] */ &core::constant::Eval::GreaterThan,
- /* [94] */ &core::constant::Eval::LessThanEqual,
- /* [95] */ &core::constant::Eval::GreaterThanEqual,
- /* [96] */ &core::constant::Eval::ShiftLeft,
- /* [97] */ &core::constant::Eval::ShiftRight,
- /* [98] */ &core::constant::Eval::Zero,
- /* [99] */ &core::constant::Eval::Conv,
- /* [100] */ &core::constant::Eval::VecSplat,
- /* [101] */ &core::constant::Eval::VecInitS,
- /* [102] */ &core::constant::Eval::VecInitM,
- /* [103] */ &core::constant::Eval::MatInitS,
- /* [104] */ &core::constant::Eval::MatInitV,
-};
-
-static_assert(ConstEvalFunctionIndex::CanIndex(kConstEvalFunctions),
- "ConstEvalFunctionIndex is not large enough to index kConstEvalFunctions");
-
-constexpr OverloadInfo kOverloads[] = {
- {
- /* [0] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(0),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(268),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [1] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(12),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(308),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [2] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(0),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(75),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(34),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [3] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(12),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(310),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(34),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [4] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(0),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(27),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(34),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [5] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(12),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(312),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(34),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [6] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(0),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(274),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(40),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [7] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(12),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(314),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(40),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [8] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(0),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(154),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(34),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [9] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(12),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(316),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(34),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [10] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(0),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(80),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(34),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [11] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(12),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(318),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(34),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [12] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(0),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(277),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(34),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [13] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(89),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(34),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [14] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(3),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(320),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(34),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [15] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(32),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(34),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [16] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(3),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(322),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(34),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [17] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(161),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(34),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [18] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(3),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(324),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(34),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [19] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(94),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(34),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [20] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(3),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(326),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(34),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [21] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(283),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(34),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [22] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 2,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(6),
- /* parameters */ ParameterIndex(375),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [23] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 2,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(6),
- /* parameters */ ParameterIndex(376),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(34),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [24] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 2,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(6),
- /* parameters */ ParameterIndex(377),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(34),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [25] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 2,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(6),
- /* parameters */ ParameterIndex(378),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(40),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [26] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(238),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(34),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [27] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 3,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(4),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(268),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [28] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 3,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(4),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(271),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [29] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 4,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(0),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(197),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [30] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 3,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(4),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(274),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [31] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 3,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(7),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(277),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [32] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(5),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(280),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [33] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 3,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(1),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(201),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [34] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(8),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(283),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [35] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(1),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(328),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [36] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(1),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(330),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [37] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(1),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(332),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(72),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [38] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(1),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(334),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(74),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [39] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(1),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(336),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [40] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(1),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(338),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(72),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [41] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(1),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(340),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(74),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [42] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(1),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(286),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [43] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(1),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(289),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(72),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [44] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(1),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(292),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(74),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [45] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(1),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(342),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [46] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(1),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(344),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(72),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [47] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(1),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(346),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(74),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [48] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(96),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(98),
- },
- {
- /* [49] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(35),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(98),
- },
- {
- /* [50] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(217),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(73),
- },
- {
- /* [51] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(100),
- },
- {
- /* [52] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(205),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(101),
- },
- {
- /* [53] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(295),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(102),
- },
- {
- /* [54] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(298),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(102),
- },
- {
- /* [55] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(301),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(102),
- },
- {
- /* [56] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(362),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(102),
- },
- {
- /* [57] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(364),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(102),
- },
- {
- /* [58] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(366),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(102),
- },
- {
- /* [59] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(14),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(383),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [60] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(16),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(383),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(100),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [61] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(18),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(383),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(72),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [62] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(20),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(383),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(74),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [63] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(22),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(383),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(102),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [64] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(235),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [65] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(44),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [66] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(165),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [67] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(19),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [68] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(99),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [69] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(50),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [70] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(169),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [71] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(119),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [72] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(56),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [73] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(139),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [74] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(157),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [75] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(68),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [76] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(84),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [77] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(181),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [78] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(144),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [79] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(124),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [80] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(124),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [81] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(62),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [82] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 6,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(62),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [83] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(129),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [84] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(129),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [85] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(177),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [86] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(134),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [87] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(3),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(139),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [88] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(3),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(139),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [89] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(68),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [90] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 6,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(68),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [91] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(3),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(181),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [92] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(144),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [93] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(0),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(74),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [94] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(0),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(74),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [95] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 3,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(0),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(26),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [96] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 6,
- /* num_template_types */ 3,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(0),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(26),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [97] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(0),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(153),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [98] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 3,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(0),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(79),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [99] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(139),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [100] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(157),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [101] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(68),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [102] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(84),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [103] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(181),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [104] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(144),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [105] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(1),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(241),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(/* invalid */),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [106] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(1),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(244),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(/* invalid */),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [107] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 4,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(1),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(185),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(/* invalid */),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [108] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(1),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(247),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(/* invalid */),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [109] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(1),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(250),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(/* invalid */),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [110] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(1),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(253),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(/* invalid */),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [111] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 4,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(1),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(189),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(/* invalid */),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [112] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(1),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(256),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(/* invalid */),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [113] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(1),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(259),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(/* invalid */),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [114] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(1),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(262),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(/* invalid */),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [115] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 4,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(1),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(193),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(/* invalid */),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [116] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(1),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(265),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(/* invalid */),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [117] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(90),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(98),
- },
- {
- /* [118] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(35),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(10),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(98),
- },
- {
- /* [119] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(213),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(10),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(73),
- },
- {
- /* [120] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(10),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(100),
- },
- {
- /* [121] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(205),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(10),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(101),
- },
- {
- /* [122] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(295),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(10),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(102),
- },
- {
- /* [123] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(298),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(10),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(102),
- },
- {
- /* [124] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(14),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(382),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(54),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [125] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(16),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(382),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(92),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [126] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(18),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(382),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(64),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [127] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(20),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(382),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(40),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [128] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(22),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(382),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(94),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [129] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(0),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(268),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [130] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(0),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(75),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [131] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(0),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(27),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [132] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(0),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(274),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [133] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(0),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(154),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [134] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(0),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(80),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [135] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(89),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [136] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(32),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [137] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(161),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [138] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(94),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [139] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(84),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(98),
- },
- {
- /* [140] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(35),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(70),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(98),
- },
- {
- /* [141] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(209),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(70),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(73),
- },
- {
- /* [142] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(70),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(100),
- },
- {
- /* [143] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(205),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(70),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(101),
- },
- {
- /* [144] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(14),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(381),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(26),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [145] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(16),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(381),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(86),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [146] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(18),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(381),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(52),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [147] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(20),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(381),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(34),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [148] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(22),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(381),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(88),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [149] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(79),
- },
- {
- /* [150] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(79),
- },
- {
- /* [151] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(223),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(79),
- },
- {
- /* [152] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(350),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(79),
- },
- {
- /* [153] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 2,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(355),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(12),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(2),
- /* const_eval_fn */ ConstEvalFunctionIndex(79),
- },
- {
- /* [154] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 2,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(354),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(12),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(2),
- /* const_eval_fn */ ConstEvalFunctionIndex(79),
- },
- {
- /* [155] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 2,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(1),
- /* parameters */ ParameterIndex(356),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(3),
- /* const_eval_fn */ ConstEvalFunctionIndex(80),
- },
- {
- /* [156] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 2,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(1),
- /* parameters */ ParameterIndex(358),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(81),
- },
- {
- /* [157] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 3,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(0),
- /* parameters */ ParameterIndex(360),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(12),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(20),
- /* const_eval_fn */ ConstEvalFunctionIndex(82),
- },
- {
- /* [158] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(104),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [159] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(104),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [160] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(38),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [161] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 6,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(38),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [162] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(109),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [163] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(109),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [164] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(173),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [165] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(114),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [166] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(44),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [167] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 6,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(44),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [168] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 6,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(19),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [169] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 7,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(19),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [170] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(50),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [171] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 6,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(50),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [172] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(119),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [173] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 6,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(56),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [174] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(89),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [175] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(89),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [176] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(32),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [177] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 6,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(32),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [178] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(161),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [179] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(94),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [180] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(89),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [181] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(89),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [182] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(32),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [183] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 6,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(32),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [184] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(161),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [185] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(94),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [186] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(89),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [187] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(89),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [188] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(32),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [189] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 6,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(32),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [190] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(161),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [191] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(94),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [192] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(36),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(104),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(98),
- },
- {
- /* [193] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(36),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(384),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(104),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(73),
- },
- {
- /* [194] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(104),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(103),
- },
- {
- /* [195] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(209),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(104),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(104),
- },
- {
- /* [196] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(16),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(385),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(106),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [197] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(14),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(386),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(108),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [198] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(36),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(110),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(98),
- },
- {
- /* [199] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(36),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(387),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(110),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(73),
- },
- {
- /* [200] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 6,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(110),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(103),
- },
- {
- /* [201] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(213),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(110),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(104),
- },
- {
- /* [202] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(16),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(388),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(112),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [203] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(14),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(389),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(114),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [204] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(36),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(116),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(98),
- },
- {
- /* [205] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(36),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(390),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(116),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(73),
- },
- {
- /* [206] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 8,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(116),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(103),
- },
- {
- /* [207] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(217),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(116),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(104),
- },
- {
- /* [208] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(16),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(391),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(118),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [209] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(14),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(392),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(120),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [210] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(36),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(122),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(98),
- },
- {
- /* [211] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(36),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(393),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(122),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(73),
- },
- {
- /* [212] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 6,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(122),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(103),
- },
- {
- /* [213] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(209),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(122),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(104),
- },
- {
- /* [214] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(16),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(394),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(124),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [215] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(14),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(395),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(126),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [216] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(36),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(128),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(98),
- },
- {
- /* [217] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(36),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(396),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(128),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(73),
- },
- {
- /* [218] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 9,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(128),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(103),
- },
- {
- /* [219] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(213),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(128),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(104),
- },
- {
- /* [220] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(16),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(397),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(130),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [221] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(14),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(398),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(132),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [222] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(36),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(134),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(98),
- },
- {
- /* [223] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(36),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(399),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(134),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(73),
- },
- {
- /* [224] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 12,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(134),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(103),
- },
- {
- /* [225] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(217),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(134),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(104),
- },
- {
- /* [226] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(16),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(400),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(136),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [227] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(14),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(401),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(138),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [228] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(36),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(140),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(98),
- },
- {
- /* [229] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(36),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(402),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(140),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(73),
- },
- {
- /* [230] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 8,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(140),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(103),
- },
- {
- /* [231] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(209),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(140),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(104),
- },
- {
- /* [232] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(16),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(403),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(142),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [233] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(14),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(404),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(144),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [234] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(36),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(146),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(98),
- },
- {
- /* [235] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(36),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(405),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(146),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(73),
- },
- {
- /* [236] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 12,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(146),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(103),
- },
- {
- /* [237] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(213),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(146),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(104),
- },
- {
- /* [238] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(16),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(406),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(148),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [239] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(14),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(407),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(150),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [240] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(36),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(152),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(98),
- },
- {
- /* [241] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(36),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(408),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(152),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(73),
- },
- {
- /* [242] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 16,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(152),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(103),
- },
- {
- /* [243] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(217),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(152),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(104),
- },
- {
- /* [244] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(16),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(409),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(154),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [245] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(14),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(410),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(156),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [246] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(0),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(27),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [247] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(0),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(80),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [248] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(32),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [249] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(94),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [250] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 2,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(6),
- /* parameters */ ParameterIndex(377),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [251] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(77),
- },
- {
- /* [252] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(77),
- },
- {
- /* [253] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(223),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(77),
- },
- {
- /* [254] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(350),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(77),
- },
- {
- /* [255] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 2,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(353),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(12),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(2),
- /* const_eval_fn */ ConstEvalFunctionIndex(77),
- },
- {
- /* [256] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(78),
- },
- {
- /* [257] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(78),
- },
- {
- /* [258] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(223),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(78),
- },
- {
- /* [259] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(350),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(78),
- },
- {
- /* [260] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 2,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(353),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(12),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(2),
- /* const_eval_fn */ ConstEvalFunctionIndex(78),
- },
- {
- /* [261] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(83),
- },
- {
- /* [262] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(83),
- },
- {
- /* [263] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(223),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(83),
- },
- {
- /* [264] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(350),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(83),
- },
- {
- /* [265] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(84),
- },
- {
- /* [266] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(84),
- },
- {
- /* [267] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(223),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(84),
- },
- {
- /* [268] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(350),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(84),
- },
- {
- /* [269] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(226),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(9),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(86),
- },
- {
- /* [270] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 0,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(233),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(8),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(86),
- },
- {
- /* [271] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(29),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(86),
- },
- {
- /* [272] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(29),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(86),
- },
- {
- /* [273] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(226),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(9),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(87),
- },
- {
- /* [274] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 0,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(233),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(8),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(87),
- },
- {
- /* [275] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(29),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(87),
- },
- {
- /* [276] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(29),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(87),
- },
- {
- /* [277] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(40),
- },
- {
- /* [278] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(221),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(40),
- },
- {
- /* [279] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(222),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(40),
- },
- {
- /* [280] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(224),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(56),
- },
- {
- /* [281] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(228),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(56),
- },
- {
- /* [282] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(231),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(57),
- },
- {
- /* [283] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(53),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(98),
- },
- {
- /* [284] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(379),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(53),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(73),
- },
- {
- /* [285] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(30),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(53),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [286] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(98),
- },
- {
- /* [287] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(17),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(73),
- },
- {
- /* [288] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(31),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [289] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(98),
- },
- {
- /* [290] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(370),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(73),
- },
- {
- /* [291] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(32),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [292] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(87),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(98),
- },
- {
- /* [293] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(380),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(87),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(73),
- },
- {
- /* [294] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(33),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(87),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [295] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(9),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(98),
- },
- {
- /* [296] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(226),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(9),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(73),
- },
- {
- /* [297] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(34),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(9),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [298] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(0),
- },
- {
- /* [299] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(0),
- },
- {
- /* [300] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(1),
- },
- {
- /* [301] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(1),
- },
- {
- /* [302] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(2),
- },
- {
- /* [303] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(2),
- },
- {
- /* [304] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(226),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(9),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(3),
- },
- {
- /* [305] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(233),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(9),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(3),
- },
- {
- /* [306] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(226),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(9),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(4),
- },
- {
- /* [307] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(233),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(9),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(4),
- },
- {
- /* [308] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(5),
- },
- {
- /* [309] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(5),
- },
- {
- /* [310] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(6),
- },
- {
- /* [311] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(6),
- },
- {
- /* [312] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(7),
- },
- {
- /* [313] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(7),
- },
- {
- /* [314] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(8),
- },
- {
- /* [315] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(8),
- },
- {
- /* [316] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(9),
- },
- {
- /* [317] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(9),
- },
- {
- /* [318] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(10),
- },
- {
- /* [319] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(10),
- },
- {
- /* [320] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(11),
- },
- {
- /* [321] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(221),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(11),
- },
- {
- /* [322] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(12),
- },
- {
- /* [323] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(12),
- },
- {
- /* [324] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(13),
- },
- {
- /* [325] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(13),
- },
- {
- /* [326] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(26),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(14),
- },
- {
- /* [327] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(26),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(14),
- },
- {
- /* [328] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(26),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(15),
- },
- {
- /* [329] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(26),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(15),
- },
- {
- /* [330] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(26),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(16),
- },
- {
- /* [331] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(26),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(16),
- },
- {
- /* [332] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(18),
- },
- {
- /* [333] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(18),
- },
- {
- /* [334] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(20),
- },
- {
- /* [335] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(20),
- },
- {
- /* [336] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(370),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [337] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(371),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(14),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [338] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(22),
- },
- {
- /* [339] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(22),
- },
- {
- /* [340] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(23),
- },
- {
- /* [341] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(23),
- },
- {
- /* [342] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(26),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(16),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(24),
- },
- {
- /* [343] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(26),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(150),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(24),
- },
- {
- /* [344] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(26),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(26),
- },
- {
- /* [345] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(26),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(26),
- },
- {
- /* [346] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(26),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(27),
- },
- {
- /* [347] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(26),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(27),
- },
- {
- /* [348] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(28),
- },
- {
- /* [349] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(28),
- },
- {
- /* [350] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(29),
- },
- {
- /* [351] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(221),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(29),
- },
- {
- /* [352] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(30),
- },
- {
- /* [353] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(30),
- },
- {
- /* [354] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(16),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(31),
- },
- {
- /* [355] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(18),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(31),
- },
- {
- /* [356] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(26),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(15),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(32),
- },
- {
- /* [357] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(26),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(32),
- },
- {
- /* [358] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(33),
- },
- {
- /* [359] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(33),
- },
- {
- /* [360] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(304),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(34),
- },
- {
- /* [361] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 2,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(306),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(34),
- },
- {
- /* [362] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(35),
- },
- {
- /* [363] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(35),
- },
- {
- /* [364] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(36),
- },
- {
- /* [365] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(36),
- },
- {
- /* [366] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(37),
- },
- {
- /* [367] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(37),
- },
- {
- /* [368] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(38),
- },
- {
- /* [369] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(38),
- },
- {
- /* [370] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(39),
- },
- {
- /* [371] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(39),
- },
- {
- /* [372] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(22),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(41),
- },
- {
- /* [373] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(24),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(41),
- },
- {
- /* [374] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(48),
- },
- {
- /* [375] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(48),
- },
- {
- /* [376] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(370),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(49),
- },
- {
- /* [377] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(371),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(14),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(49),
- },
- {
- /* [378] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(50),
- },
- {
- /* [379] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(50),
- },
- {
- /* [380] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(26),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(53),
- },
- {
- /* [381] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(26),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(53),
- },
- {
- /* [382] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(54),
- },
- {
- /* [383] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(54),
- },
- {
- /* [384] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(55),
- },
- {
- /* [385] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(55),
- },
- {
- /* [386] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(28),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(58),
- },
- {
- /* [387] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(28),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(58),
- },
- {
- /* [388] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(59),
- },
- {
- /* [389] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(59),
- },
- {
- /* [390] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(60),
- },
- {
- /* [391] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(60),
- },
- {
- /* [392] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(61),
- },
- {
- /* [393] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(221),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(61),
- },
- {
- /* [394] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(62),
- },
- {
- /* [395] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(62),
- },
- {
- /* [396] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(63),
- },
- {
- /* [397] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(63),
- },
- {
- /* [398] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(64),
- },
- {
- /* [399] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(64),
- },
- {
- /* [400] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(65),
- },
- {
- /* [401] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(65),
- },
- {
- /* [402] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(67),
- },
- {
- /* [403] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(67),
- },
- {
- /* [404] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(0),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(277),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [405] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(283),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [406] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(44),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [407] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(238),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [408] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(226),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(9),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(74),
- },
- {
- /* [409] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(233),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(8),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(74),
- },
- {
- /* [410] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(29),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(75),
- },
- {
- /* [411] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(29),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(75),
- },
- {
- /* [412] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(28),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(76),
- },
- {
- /* [413] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(28),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(76),
- },
- {
- /* [414] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(29),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(85),
- },
- {
- /* [415] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(29),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(85),
- },
- {
- /* [416] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(9),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(90),
- },
- {
- /* [417] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(8),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(90),
- },
- {
- /* [418] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(9),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(91),
- },
- {
- /* [419] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(8),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(91),
- },
- {
- /* [420] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(9),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(92),
- },
- {
- /* [421] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(8),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(92),
- },
- {
- /* [422] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(9),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(93),
- },
- {
- /* [423] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(8),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(93),
- },
- {
- /* [424] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(9),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(94),
- },
- {
- /* [425] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(8),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(94),
- },
- {
- /* [426] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(9),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(95),
- },
- {
- /* [427] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(8),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(95),
- },
- {
- /* [428] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(29),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(16),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(96),
- },
- {
- /* [429] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(29),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(351),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(96),
- },
- {
- /* [430] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(29),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(16),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(97),
- },
- {
- /* [431] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(29),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(351),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(97),
- },
- {
- /* [432] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(25),
- /* template_numbers */ TemplateNumberIndex(7),
- /* parameters */ ParameterIndex(368),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [433] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(213),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(10),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(17),
- },
- {
- /* [434] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(369),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(19),
- },
- {
- /* [435] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(21),
- },
- {
- /* [436] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(17),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(53),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [437] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(17),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [438] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(221),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(25),
- },
- {
- /* [439] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(42),
- },
- {
- /* [440] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(372),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(43),
- },
- {
- /* [441] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(372),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(44),
- },
- {
- /* [442] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(372),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(45),
- },
- {
- /* [443] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(373),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(46),
- },
- {
- /* [444] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(373),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(47),
- },
- {
- /* [445] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(51),
- },
- {
- /* [446] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(222),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(52),
- },
- {
- /* [447] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 0,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(/* invalid */),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [448] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 2,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(3),
- /* parameters */ ParameterIndex(353),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(12),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(3),
- /* const_eval_fn */ ConstEvalFunctionIndex(66),
- },
- {
- /* [449] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(17),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(26),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(68),
- },
- {
- /* [450] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(17),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(26),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(69),
- },
- {
- /* [451] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(17),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(26),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(70),
- },
- {
- /* [452] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(17),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(71),
- },
- {
- /* [453] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(17),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(72),
- },
- {
- /* [454] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(25),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(374),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [455] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(26),
- /* template_numbers */ TemplateNumberIndex(8),
- /* parameters */ ParameterIndex(0),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [456] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(26),
- /* template_numbers */ TemplateNumberIndex(8),
- /* parameters */ ParameterIndex(0),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(/* invalid */),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [457] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(26),
- /* template_numbers */ TemplateNumberIndex(8),
- /* parameters */ ParameterIndex(0),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [458] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(26),
- /* template_numbers */ TemplateNumberIndex(8),
- /* parameters */ ParameterIndex(0),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(80),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [459] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(74),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [460] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(0),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(348),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [461] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(25),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(73),
- },
- {
- /* [462] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(226),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(9),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(88),
- },
- {
- /* [463] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(226),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(9),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(89),
- },
- {
- /* [464] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(35),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(213),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(158),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
-};
-
-static_assert(OverloadIndex::CanIndex(kOverloads),
- "OverloadIndex is not large enough to index kOverloads");
-
-constexpr IntrinsicInfo kBuiltins[] = {
- {
- /* [0] */
- /* fn abs<T : fia_fiu32_f16>(T) -> T */
- /* fn abs<N : num, T : fia_fiu32_f16>(vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(298),
- },
- {
- /* [1] */
- /* fn acos<T : fa_f32_f16>(@test_value(0.96891242171) T) -> T */
- /* fn acos<N : num, T : fa_f32_f16>(@test_value(0.96891242171) vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(300),
- },
- {
- /* [2] */
- /* fn acosh<T : fa_f32_f16>(@test_value(1.5430806348) T) -> T */
- /* fn acosh<N : num, T : fa_f32_f16>(@test_value(1.5430806348) vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(302),
- },
- {
- /* [3] */
- /* fn all(bool) -> bool */
- /* fn all<N : num>(vec<N, bool>) -> bool */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(304),
- },
- {
- /* [4] */
- /* fn any(bool) -> bool */
- /* fn any<N : num>(vec<N, bool>) -> bool */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(306),
- },
- {
- /* [5] */
- /* fn arrayLength<T, A : access>(ptr<storage, array<T>, A>) -> u32 */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(432),
- },
- {
- /* [6] */
- /* fn asin<T : fa_f32_f16>(@test_value(0.479425538604) T) -> T */
- /* fn asin<N : num, T : fa_f32_f16>(@test_value(0.479425538604) vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(308),
- },
- {
- /* [7] */
- /* fn asinh<T : fa_f32_f16>(T) -> T */
- /* fn asinh<N : num, T : fa_f32_f16>(vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(310),
- },
- {
- /* [8] */
- /* fn atan<T : fa_f32_f16>(T) -> T */
- /* fn atan<N : num, T : fa_f32_f16>(vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(312),
- },
- {
- /* [9] */
- /* fn atan2<T : fa_f32_f16>(T, T) -> T */
- /* fn atan2<T : fa_f32_f16, N : num>(vec<N, T>, vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(314),
- },
- {
- /* [10] */
- /* fn atanh<T : fa_f32_f16>(@test_value(0.5) T) -> T */
- /* fn atanh<N : num, T : fa_f32_f16>(@test_value(0.5) vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(316),
- },
- {
- /* [11] */
- /* fn ceil<T : fa_f32_f16>(@test_value(1.5) T) -> T */
- /* fn ceil<N : num, T : fa_f32_f16>(@test_value(1.5) vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(318),
- },
- {
- /* [12] */
- /* fn clamp<T : fia_fiu32_f16>(T, T, T) -> T */
- /* fn clamp<T : fia_fiu32_f16, N : num>(vec<N, T>, vec<N, T>, vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(320),
- },
- {
- /* [13] */
- /* fn cos<T : fa_f32_f16>(@test_value(0) T) -> T */
- /* fn cos<N : num, T : fa_f32_f16>(@test_value(0) vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(322),
- },
- {
- /* [14] */
- /* fn cosh<T : fa_f32_f16>(@test_value(0) T) -> T */
- /* fn cosh<N : num, T : fa_f32_f16>(@test_value(0) vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(324),
- },
- {
- /* [15] */
- /* fn countLeadingZeros<T : iu32>(T) -> T */
- /* fn countLeadingZeros<N : num, T : iu32>(vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(326),
- },
- {
- /* [16] */
- /* fn countOneBits<T : iu32>(T) -> T */
- /* fn countOneBits<N : num, T : iu32>(vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(328),
- },
- {
- /* [17] */
- /* fn countTrailingZeros<T : iu32>(T) -> T */
- /* fn countTrailingZeros<N : num, T : iu32>(vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(330),
- },
- {
- /* [18] */
- /* fn cross<T : fa_f32_f16>(vec3<T>, vec3<T>) -> vec3<T> */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(433),
- },
- {
- /* [19] */
- /* fn degrees<T : fa_f32_f16>(T) -> T */
- /* fn degrees<N : num, T : fa_f32_f16>(vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(332),
- },
- {
- /* [20] */
- /* fn determinant<N : num, T : fa_f32_f16>(mat<N, N, T>) -> T */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(434),
- },
- {
- /* [21] */
- /* fn distance<T : fa_f32_f16>(T, T) -> T */
- /* fn distance<N : num, T : fa_f32_f16>(vec<N, T>, vec<N, T>) -> T */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(334),
- },
- {
- /* [22] */
- /* fn dot<N : num, T : fia_fiu32_f16>(vec<N, T>, vec<N, T>) -> T */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(435),
- },
- {
- /* [23] */
- /* fn dot4I8Packed(u32, u32) -> i32 */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(436),
- },
- {
- /* [24] */
- /* fn dot4U8Packed(u32, u32) -> u32 */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(437),
- },
- {
- /* [25] */
- /* fn dpdx(f32) -> f32 */
- /* fn dpdx<N : num>(vec<N, f32>) -> vec<N, f32> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(336),
- },
- {
- /* [26] */
- /* fn dpdxCoarse(f32) -> f32 */
- /* fn dpdxCoarse<N : num>(vec<N, f32>) -> vec<N, f32> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(336),
- },
- {
- /* [27] */
- /* fn dpdxFine(f32) -> f32 */
- /* fn dpdxFine<N : num>(vec<N, f32>) -> vec<N, f32> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(336),
- },
- {
- /* [28] */
- /* fn dpdy(f32) -> f32 */
- /* fn dpdy<N : num>(vec<N, f32>) -> vec<N, f32> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(336),
- },
- {
- /* [29] */
- /* fn dpdyCoarse(f32) -> f32 */
- /* fn dpdyCoarse<N : num>(vec<N, f32>) -> vec<N, f32> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(336),
- },
- {
- /* [30] */
- /* fn dpdyFine(f32) -> f32 */
- /* fn dpdyFine<N : num>(vec<N, f32>) -> vec<N, f32> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(336),
- },
- {
- /* [31] */
- /* fn exp<T : fa_f32_f16>(T) -> T */
- /* fn exp<N : num, T : fa_f32_f16>(vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(338),
- },
- {
- /* [32] */
- /* fn exp2<T : fa_f32_f16>(T) -> T */
- /* fn exp2<N : num, T : fa_f32_f16>(vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(340),
- },
- {
- /* [33] */
- /* fn extractBits<T : iu32>(T, u32, u32) -> T */
- /* fn extractBits<N : num, T : iu32>(vec<N, T>, u32, u32) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(342),
- },
- {
- /* [34] */
- /* fn faceForward<N : num, T : fa_f32_f16>(vec<N, T>, vec<N, T>, vec<N, T>) -> vec<N, T> */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(438),
- },
- {
- /* [35] */
- /* fn firstLeadingBit<T : iu32>(T) -> T */
- /* fn firstLeadingBit<N : num, T : iu32>(vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(344),
- },
- {
- /* [36] */
- /* fn firstTrailingBit<T : iu32>(T) -> T */
- /* fn firstTrailingBit<N : num, T : iu32>(vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(346),
- },
- {
- /* [37] */
- /* fn floor<T : fa_f32_f16>(@test_value(1.5) T) -> T */
- /* fn floor<N : num, T : fa_f32_f16>(@test_value(1.5) vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(348),
- },
- {
- /* [38] */
- /* fn fma<T : fa_f32_f16>(T, T, T) -> T */
- /* fn fma<N : num, T : fa_f32_f16>(vec<N, T>, vec<N, T>, vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(350),
- },
- {
- /* [39] */
- /* fn fract<T : fa_f32_f16>(@test_value(1.25) T) -> T */
- /* fn fract<N : num, T : fa_f32_f16>(@test_value(1.25) vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(352),
- },
- {
- /* [40] */
- /* fn frexp<T : fa_f32_f16>(T) -> __frexp_result<T> */
- /* fn frexp<N : num, T : fa_f32_f16>(vec<N, T>) -> __frexp_result_vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(354),
- },
- {
- /* [41] */
- /* fn fwidth(f32) -> f32 */
- /* fn fwidth<N : num>(vec<N, f32>) -> vec<N, f32> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(336),
- },
- {
- /* [42] */
- /* fn fwidthCoarse(f32) -> f32 */
- /* fn fwidthCoarse<N : num>(vec<N, f32>) -> vec<N, f32> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(336),
- },
- {
- /* [43] */
- /* fn fwidthFine(f32) -> f32 */
- /* fn fwidthFine<N : num>(vec<N, f32>) -> vec<N, f32> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(336),
- },
- {
- /* [44] */
- /* fn insertBits<T : iu32>(T, T, u32, u32) -> T */
- /* fn insertBits<N : num, T : iu32>(vec<N, T>, vec<N, T>, u32, u32) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(356),
- },
- {
- /* [45] */
- /* fn inverseSqrt<T : fa_f32_f16>(T) -> T */
- /* fn inverseSqrt<N : num, T : fa_f32_f16>(vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(358),
- },
- {
- /* [46] */
- /* fn ldexp<T : fa_f32_f16, U : ia_i32>(T, U) -> T */
- /* fn ldexp<N : num, T : fa_f32_f16, U : ia_i32>(vec<N, T>, vec<N, U>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(360),
- },
- {
- /* [47] */
- /* fn length<T : fa_f32_f16>(@test_value(0) T) -> T */
- /* fn length<N : num, T : fa_f32_f16>(@test_value(0) vec<N, T>) -> T */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(362),
- },
- {
- /* [48] */
- /* fn log<T : fa_f32_f16>(T) -> T */
- /* fn log<N : num, T : fa_f32_f16>(vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(364),
- },
- {
- /* [49] */
- /* fn log2<T : fa_f32_f16>(T) -> T */
- /* fn log2<N : num, T : fa_f32_f16>(vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(366),
- },
- {
- /* [50] */
- /* fn max<T : fia_fiu32_f16>(T, T) -> T */
- /* fn max<N : num, T : fia_fiu32_f16>(vec<N, T>, vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(368),
- },
- {
- /* [51] */
- /* fn min<T : fia_fiu32_f16>(T, T) -> T */
- /* fn min<N : num, T : fia_fiu32_f16>(vec<N, T>, vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(370),
- },
- {
- /* [52] */
- /* fn mix<T : fa_f32_f16>(T, T, T) -> T */
- /* fn mix<N : num, T : fa_f32_f16>(vec<N, T>, vec<N, T>, vec<N, T>) -> vec<N, T> */
- /* fn mix<N : num, T : fa_f32_f16>(vec<N, T>, vec<N, T>, T) -> vec<N, T> */
- /* num overloads */ 3,
- /* overloads */ OverloadIndex(277),
- },
- {
- /* [53] */
- /* fn modf<T : fa_f32_f16>(@test_value(-1.5) T) -> __modf_result<T> */
- /* fn modf<N : num, T : fa_f32_f16>(@test_value(-1.5) vec<N, T>) -> __modf_result_vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(372),
- },
- {
- /* [54] */
- /* fn normalize<N : num, T : fa_f32_f16>(vec<N, T>) -> vec<N, T> */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(439),
- },
- {
- /* [55] */
- /* fn pack2x16float(vec2<f32>) -> u32 */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(440),
- },
- {
- /* [56] */
- /* fn pack2x16snorm(vec2<f32>) -> u32 */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(441),
- },
- {
- /* [57] */
- /* fn pack2x16unorm(vec2<f32>) -> u32 */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(442),
- },
- {
- /* [58] */
- /* fn pack4x8snorm(vec4<f32>) -> u32 */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(443),
- },
- {
- /* [59] */
- /* fn pack4x8unorm(vec4<f32>) -> u32 */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(444),
- },
- {
- /* [60] */
- /* fn pow<T : fa_f32_f16>(T, T) -> T */
- /* fn pow<N : num, T : fa_f32_f16>(vec<N, T>, vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(374),
- },
- {
- /* [61] */
- /* fn quantizeToF16(f32) -> f32 */
- /* fn quantizeToF16<N : num>(vec<N, f32>) -> vec<N, f32> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(376),
- },
- {
- /* [62] */
- /* fn radians<T : fa_f32_f16>(T) -> T */
- /* fn radians<N : num, T : fa_f32_f16>(vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(378),
- },
- {
- /* [63] */
- /* fn reflect<N : num, T : fa_f32_f16>(vec<N, T>, vec<N, T>) -> vec<N, T> */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(445),
- },
- {
- /* [64] */
- /* fn refract<N : num, T : fa_f32_f16>(vec<N, T>, vec<N, T>, T) -> vec<N, T> */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(446),
- },
- {
- /* [65] */
- /* fn reverseBits<T : iu32>(T) -> T */
- /* fn reverseBits<N : num, T : iu32>(vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(380),
- },
- {
- /* [66] */
- /* fn round<T : fa_f32_f16>(@test_value(3.5) T) -> T */
- /* fn round<N : num, T : fa_f32_f16>(@test_value(3.5) vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(382),
- },
- {
- /* [67] */
- /* fn saturate<T : fa_f32_f16>(@test_value(2) T) -> T */
- /* fn saturate<T : fa_f32_f16, N : num>(@test_value(2) vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(384),
- },
- {
- /* [68] */
- /* fn select<T : scalar>(T, T, bool) -> T */
- /* fn select<T : scalar, N : num>(vec<N, T>, vec<N, T>, bool) -> vec<N, T> */
- /* fn select<N : num, T : scalar>(vec<N, T>, vec<N, T>, vec<N, bool>) -> vec<N, T> */
- /* num overloads */ 3,
- /* overloads */ OverloadIndex(280),
- },
- {
- /* [69] */
- /* fn sign<T : fia_fi32_f16>(T) -> T */
- /* fn sign<N : num, T : fia_fi32_f16>(vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(386),
- },
- {
- /* [70] */
- /* fn sin<T : fa_f32_f16>(@test_value(1.57079632679) T) -> T */
- /* fn sin<N : num, T : fa_f32_f16>(@test_value(1.57079632679) vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(388),
- },
- {
- /* [71] */
- /* fn sinh<T : fa_f32_f16>(T) -> T */
- /* fn sinh<N : num, T : fa_f32_f16>(vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(390),
- },
- {
- /* [72] */
- /* fn smoothstep<T : fa_f32_f16>(@test_value(2) T, @test_value(4) T, @test_value(3) T) -> T */
- /* fn smoothstep<N : num, T : fa_f32_f16>(@test_value(2) vec<N, T>, @test_value(4) vec<N, T>, @test_value(3) vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(392),
- },
- {
- /* [73] */
- /* fn sqrt<T : fa_f32_f16>(T) -> T */
- /* fn sqrt<N : num, T : fa_f32_f16>(vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(394),
- },
- {
- /* [74] */
- /* fn step<T : fa_f32_f16>(T, T) -> T */
- /* fn step<N : num, T : fa_f32_f16>(vec<N, T>, vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(396),
- },
- {
- /* [75] */
- /* fn storageBarrier() */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(447),
- },
- {
- /* [76] */
- /* fn tan<T : fa_f32_f16>(T) -> T */
- /* fn tan<N : num, T : fa_f32_f16>(vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(398),
- },
- {
- /* [77] */
- /* fn tanh<T : fa_f32_f16>(T) -> T */
- /* fn tanh<N : num, T : fa_f32_f16>(vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(400),
- },
- {
- /* [78] */
- /* fn transpose<M : num, N : num, T : fa_f32_f16>(mat<M, N, T>) -> mat<N, M, T> */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(448),
- },
- {
- /* [79] */
- /* fn trunc<T : fa_f32_f16>(@test_value(1.5) T) -> T */
- /* fn trunc<N : num, T : fa_f32_f16>(@test_value(1.5) vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(402),
- },
- {
- /* [80] */
- /* fn unpack2x16float(u32) -> vec2<f32> */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(449),
- },
- {
- /* [81] */
- /* fn unpack2x16snorm(u32) -> vec2<f32> */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(450),
- },
- {
- /* [82] */
- /* fn unpack2x16unorm(u32) -> vec2<f32> */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(451),
- },
- {
- /* [83] */
- /* fn unpack4x8snorm(u32) -> vec4<f32> */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(452),
- },
- {
- /* [84] */
- /* fn unpack4x8unorm(u32) -> vec4<f32> */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(453),
- },
- {
- /* [85] */
- /* fn workgroupBarrier() */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(447),
- },
- {
- /* [86] */
- /* fn workgroupUniformLoad<T>(ptr<workgroup, T, read_write>) -> T */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(454),
- },
- {
- /* [87] */
- /* fn textureBarrier() */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(447),
- },
- {
- /* [88] */
- /* 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> */
- /* fn textureDimensions<T : fiu32, L : iu32>(texture: texture_2d<T>, level: L) -> vec2<u32> */
- /* fn textureDimensions<T : fiu32>(texture: texture_2d_array<T>) -> vec2<u32> */
- /* fn textureDimensions<T : fiu32, L : iu32>(texture: texture_2d_array<T>, level: L) -> vec2<u32> */
- /* fn textureDimensions<T : fiu32>(texture: texture_3d<T>) -> vec3<u32> */
- /* fn textureDimensions<T : fiu32, L : iu32>(texture: texture_3d<T>, level: L) -> vec3<u32> */
- /* fn textureDimensions<T : fiu32>(texture: texture_cube<T>) -> vec2<u32> */
- /* fn textureDimensions<T : fiu32, L : iu32>(texture: texture_cube<T>, level: L) -> vec2<u32> */
- /* fn textureDimensions<T : fiu32>(texture: texture_cube_array<T>) -> vec2<u32> */
- /* fn textureDimensions<T : fiu32, L : iu32>(texture: texture_cube_array<T>, level: L) -> vec2<u32> */
- /* fn textureDimensions<T : fiu32>(texture: texture_multisampled_2d<T>) -> vec2<u32> */
- /* fn textureDimensions(texture: texture_depth_2d) -> vec2<u32> */
- /* fn textureDimensions<L : iu32>(texture: texture_depth_2d, level: L) -> vec2<u32> */
- /* fn textureDimensions(texture: texture_depth_2d_array) -> vec2<u32> */
- /* fn textureDimensions<L : iu32>(texture: texture_depth_2d_array, level: L) -> vec2<u32> */
- /* fn textureDimensions(texture: texture_depth_cube) -> vec2<u32> */
- /* fn textureDimensions<L : iu32>(texture: texture_depth_cube, level: L) -> vec2<u32> */
- /* fn textureDimensions(texture: texture_depth_cube_array) -> vec2<u32> */
- /* fn textureDimensions<L : iu32>(texture: texture_depth_cube_array, level: L) -> vec2<u32> */
- /* fn textureDimensions(texture: texture_depth_multisampled_2d) -> vec2<u32> */
- /* fn textureDimensions<F : texel_format, A : access>(texture: texture_storage_1d<F, A>) -> u32 */
- /* fn textureDimensions<F : texel_format, A : access>(texture: texture_storage_2d<F, A>) -> vec2<u32> */
- /* fn textureDimensions<F : texel_format, A : access>(texture: texture_storage_2d_array<F, A>) -> vec2<u32> */
- /* fn textureDimensions<F : texel_format, A : access>(texture: texture_storage_3d<F, A>) -> vec3<u32> */
- /* fn textureDimensions(texture: texture_external) -> vec2<u32> */
- /* num overloads */ 27,
- /* overloads */ OverloadIndex(0),
- },
- {
- /* [89] */
- /* 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> */
- /* fn textureGather<T : fiu32, C : iu32, A : iu32>(@const component: C, texture: texture_2d_array<T>, sampler: sampler, coords: vec2<f32>, array_index: A, @const offset: vec2<i32>) -> vec4<T> */
- /* fn textureGather<T : fiu32, C : iu32>(@const component: C, texture: texture_cube<T>, sampler: sampler, coords: vec3<f32>) -> vec4<T> */
- /* fn textureGather<T : fiu32, C : iu32, A : iu32>(@const component: C, texture: texture_cube_array<T>, sampler: sampler, coords: vec3<f32>, array_index: A) -> vec4<T> */
- /* fn textureGather(texture: texture_depth_2d, sampler: sampler, coords: vec2<f32>) -> vec4<f32> */
- /* fn textureGather(texture: texture_depth_2d, sampler: sampler, coords: vec2<f32>, @const offset: vec2<i32>) -> vec4<f32> */
- /* fn textureGather<A : iu32>(texture: texture_depth_2d_array, sampler: sampler, coords: vec2<f32>, array_index: A) -> vec4<f32> */
- /* fn textureGather<A : iu32>(texture: texture_depth_2d_array, sampler: sampler, coords: vec2<f32>, array_index: A, @const offset: vec2<i32>) -> vec4<f32> */
- /* fn textureGather(texture: texture_depth_cube, sampler: sampler, coords: vec3<f32>) -> vec4<f32> */
- /* fn textureGather<A : iu32>(texture: texture_depth_cube_array, sampler: sampler, coords: vec3<f32>, array_index: A) -> vec4<f32> */
- /* num overloads */ 12,
- /* overloads */ OverloadIndex(93),
- },
- {
- /* [90] */
- /* 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> */
- /* fn textureGatherCompare<A : iu32>(texture: texture_depth_2d_array, sampler: sampler_comparison, coords: vec2<f32>, array_index: A, depth_ref: f32, @const offset: vec2<i32>) -> vec4<f32> */
- /* fn textureGatherCompare(texture: texture_depth_cube, sampler: sampler_comparison, coords: vec3<f32>, depth_ref: f32) -> vec4<f32> */
- /* fn textureGatherCompare<A : iu32>(texture: texture_depth_cube_array, sampler: sampler_comparison, coords: vec3<f32>, array_index: A, depth_ref: f32) -> vec4<f32> */
- /* num overloads */ 6,
- /* overloads */ OverloadIndex(174),
- },
- {
- /* [91] */
- /* 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 */
- /* fn textureNumLayers(texture: texture_depth_cube_array) -> u32 */
- /* fn textureNumLayers<F : texel_format, A : access>(texture: texture_storage_2d_array<F, A>) -> u32 */
- /* num overloads */ 5,
- /* overloads */ OverloadIndex(246),
- },
- {
- /* [92] */
- /* 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 */
- /* fn textureNumLevels<T : fiu32>(texture: texture_3d<T>) -> u32 */
- /* fn textureNumLevels<T : fiu32>(texture: texture_cube<T>) -> u32 */
- /* fn textureNumLevels<T : fiu32>(texture: texture_cube_array<T>) -> u32 */
- /* fn textureNumLevels(texture: texture_depth_2d) -> u32 */
- /* fn textureNumLevels(texture: texture_depth_2d_array) -> u32 */
- /* fn textureNumLevels(texture: texture_depth_cube) -> u32 */
- /* fn textureNumLevels(texture: texture_depth_cube_array) -> u32 */
- /* num overloads */ 10,
- /* overloads */ OverloadIndex(129),
- },
- {
- /* [93] */
- /* fn textureNumSamples<T : fiu32>(texture: texture_multisampled_2d<T>) -> u32 */
- /* fn textureNumSamples(texture: texture_depth_multisampled_2d) -> u32 */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(404),
- },
- {
- /* [94] */
- /* 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> */
- /* fn textureSample<A : iu32>(texture: texture_2d_array<f32>, sampler: sampler, coords: vec2<f32>, array_index: A) -> vec4<f32> */
- /* fn textureSample<A : iu32>(texture: texture_2d_array<f32>, sampler: sampler, coords: vec2<f32>, array_index: A, @const offset: vec2<i32>) -> vec4<f32> */
- /* fn textureSample(texture: texture_3d<f32>, sampler: sampler, coords: vec3<f32>) -> vec4<f32> */
- /* fn textureSample(texture: texture_3d<f32>, sampler: sampler, coords: vec3<f32>, @const offset: vec3<i32>) -> vec4<f32> */
- /* fn textureSample(texture: texture_cube<f32>, sampler: sampler, coords: vec3<f32>) -> vec4<f32> */
- /* fn textureSample<A : iu32>(texture: texture_cube_array<f32>, sampler: sampler, coords: vec3<f32>, array_index: A) -> vec4<f32> */
- /* fn textureSample(texture: texture_depth_2d, sampler: sampler, coords: vec2<f32>) -> f32 */
- /* fn textureSample(texture: texture_depth_2d, sampler: sampler, coords: vec2<f32>, @const offset: vec2<i32>) -> f32 */
- /* fn textureSample<A : iu32>(texture: texture_depth_2d_array, sampler: sampler, coords: vec2<f32>, array_index: A) -> f32 */
- /* fn textureSample<A : iu32>(texture: texture_depth_2d_array, sampler: sampler, coords: vec2<f32>, array_index: A, @const offset: vec2<i32>) -> f32 */
- /* fn textureSample(texture: texture_depth_cube, sampler: sampler, coords: vec3<f32>) -> f32 */
- /* fn textureSample<A : iu32>(texture: texture_depth_cube_array, sampler: sampler, coords: vec3<f32>, array_index: A) -> f32 */
- /* num overloads */ 15,
- /* overloads */ OverloadIndex(64),
- },
- {
- /* [95] */
- /* 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> */
- /* fn textureSampleBias<A : iu32>(texture: texture_2d_array<f32>, sampler: sampler, coords: vec2<f32>, array_index: A, bias: f32, @const offset: vec2<i32>) -> vec4<f32> */
- /* fn textureSampleBias(texture: texture_3d<f32>, sampler: sampler, coords: vec3<f32>, bias: f32) -> vec4<f32> */
- /* fn textureSampleBias(texture: texture_3d<f32>, sampler: sampler, coords: vec3<f32>, bias: f32, @const offset: vec3<i32>) -> vec4<f32> */
- /* fn textureSampleBias(texture: texture_cube<f32>, sampler: sampler, coords: vec3<f32>, bias: f32) -> vec4<f32> */
- /* fn textureSampleBias<A : iu32>(texture: texture_cube_array<f32>, sampler: sampler, coords: vec3<f32>, array_index: A, bias: f32) -> vec4<f32> */
- /* num overloads */ 8,
- /* overloads */ OverloadIndex(158),
- },
- {
- /* [96] */
- /* 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 */
- /* fn textureSampleCompare<A : iu32>(texture: texture_depth_2d_array, sampler: sampler_comparison, coords: vec2<f32>, array_index: A, depth_ref: f32, @const offset: vec2<i32>) -> f32 */
- /* fn textureSampleCompare(texture: texture_depth_cube, sampler: sampler_comparison, coords: vec3<f32>, depth_ref: f32) -> f32 */
- /* fn textureSampleCompare<A : iu32>(texture: texture_depth_cube_array, sampler: sampler_comparison, coords: vec3<f32>, array_index: A, depth_ref: f32) -> f32 */
- /* num overloads */ 6,
- /* overloads */ OverloadIndex(180),
- },
- {
- /* [97] */
- /* 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 */
- /* fn textureSampleCompareLevel<A : iu32>(texture: texture_depth_2d_array, sampler: sampler_comparison, coords: vec2<f32>, array_index: A, depth_ref: f32, @const offset: vec2<i32>) -> f32 */
- /* fn textureSampleCompareLevel(texture: texture_depth_cube, sampler: sampler_comparison, coords: vec3<f32>, depth_ref: f32) -> f32 */
- /* fn textureSampleCompareLevel<A : iu32>(texture: texture_depth_cube_array, sampler: sampler_comparison, coords: vec3<f32>, array_index: A, depth_ref: f32) -> f32 */
- /* num overloads */ 6,
- /* overloads */ OverloadIndex(186),
- },
- {
- /* [98] */
- /* 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> */
- /* fn textureSampleGrad<A : iu32>(texture: texture_2d_array<f32>, sampler: sampler, coords: vec2<f32>, array_index: A, ddx: vec2<f32>, ddy: vec2<f32>, @const offset: vec2<i32>) -> vec4<f32> */
- /* fn textureSampleGrad(texture: texture_3d<f32>, sampler: sampler, coords: vec3<f32>, ddx: vec3<f32>, ddy: vec3<f32>) -> vec4<f32> */
- /* fn textureSampleGrad(texture: texture_3d<f32>, sampler: sampler, coords: vec3<f32>, ddx: vec3<f32>, ddy: vec3<f32>, @const offset: vec3<i32>) -> vec4<f32> */
- /* fn textureSampleGrad(texture: texture_cube<f32>, sampler: sampler, coords: vec3<f32>, ddx: vec3<f32>, ddy: vec3<f32>) -> vec4<f32> */
- /* fn textureSampleGrad<A : iu32>(texture: texture_cube_array<f32>, sampler: sampler, coords: vec3<f32>, array_index: A, ddx: vec3<f32>, ddy: vec3<f32>) -> vec4<f32> */
- /* num overloads */ 8,
- /* overloads */ OverloadIndex(166),
- },
- {
- /* [99] */
- /* 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> */
- /* fn textureSampleLevel<A : iu32>(texture: texture_2d_array<f32>, sampler: sampler, coords: vec2<f32>, array_index: A, level: f32, @const offset: vec2<i32>) -> vec4<f32> */
- /* fn textureSampleLevel(texture: texture_3d<f32>, sampler: sampler, coords: vec3<f32>, level: f32) -> vec4<f32> */
- /* fn textureSampleLevel(texture: texture_3d<f32>, sampler: sampler, coords: vec3<f32>, level: f32, @const offset: vec3<i32>) -> vec4<f32> */
- /* fn textureSampleLevel(texture: texture_cube<f32>, sampler: sampler, coords: vec3<f32>, level: f32) -> vec4<f32> */
- /* fn textureSampleLevel<A : iu32>(texture: texture_cube_array<f32>, sampler: sampler, coords: vec3<f32>, array_index: A, level: f32) -> vec4<f32> */
- /* fn textureSampleLevel<L : iu32>(texture: texture_depth_2d, sampler: sampler, coords: vec2<f32>, level: L) -> f32 */
- /* fn textureSampleLevel<L : iu32>(texture: texture_depth_2d, sampler: sampler, coords: vec2<f32>, level: L, @const offset: vec2<i32>) -> f32 */
- /* fn textureSampleLevel<A : iu32, L : iu32>(texture: texture_depth_2d_array, sampler: sampler, coords: vec2<f32>, array_index: A, level: L) -> f32 */
- /* fn textureSampleLevel<A : iu32, L : iu32>(texture: texture_depth_2d_array, sampler: sampler, coords: vec2<f32>, array_index: A, level: L, @const offset: vec2<i32>) -> f32 */
- /* fn textureSampleLevel<L : iu32>(texture: texture_depth_cube, sampler: sampler, coords: vec3<f32>, level: L) -> f32 */
- /* fn textureSampleLevel<A : iu32, L : iu32>(texture: texture_depth_cube_array, sampler: sampler, coords: vec3<f32>, array_index: A, level: L) -> f32 */
- /* num overloads */ 14,
- /* overloads */ OverloadIndex(79),
- },
- {
- /* [100] */
- /* 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 */ OverloadIndex(406),
- },
- {
- /* [101] */
- /* fn textureStore<C : iu32>(texture: texture_storage_1d<f32_texel_format, writable>, coords: C, value: vec4<f32>) */
- /* fn textureStore<C : iu32>(texture: texture_storage_2d<f32_texel_format, writable>, coords: vec2<C>, value: vec4<f32>) */
- /* fn textureStore<C : iu32, A : iu32>(texture: texture_storage_2d_array<f32_texel_format, writable>, coords: vec2<C>, array_index: A, value: vec4<f32>) */
- /* fn textureStore<C : iu32>(texture: texture_storage_3d<f32_texel_format, writable>, coords: vec3<C>, value: vec4<f32>) */
- /* fn textureStore<C : iu32>(texture: texture_storage_1d<i32_texel_format, writable>, coords: C, value: vec4<i32>) */
- /* fn textureStore<C : iu32>(texture: texture_storage_2d<i32_texel_format, writable>, coords: vec2<C>, value: vec4<i32>) */
- /* fn textureStore<C : iu32, A : iu32>(texture: texture_storage_2d_array<i32_texel_format, writable>, coords: vec2<C>, array_index: A, value: vec4<i32>) */
- /* fn textureStore<C : iu32>(texture: texture_storage_3d<i32_texel_format, writable>, coords: vec3<C>, value: vec4<i32>) */
- /* fn textureStore<C : iu32>(texture: texture_storage_1d<u32_texel_format, writable>, coords: C, value: vec4<u32>) */
- /* fn textureStore<C : iu32>(texture: texture_storage_2d<u32_texel_format, writable>, coords: vec2<C>, value: vec4<u32>) */
- /* fn textureStore<C : iu32, A : iu32>(texture: texture_storage_2d_array<u32_texel_format, writable>, coords: vec2<C>, array_index: A, value: vec4<u32>) */
- /* fn textureStore<C : iu32>(texture: texture_storage_3d<u32_texel_format, writable>, coords: vec3<C>, value: vec4<u32>) */
- /* num overloads */ 12,
- /* overloads */ OverloadIndex(105),
- },
- {
- /* [102] */
- /* 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> */
- /* fn textureLoad<T : fiu32, C : iu32, L : iu32>(texture: texture_3d<T>, coords: vec3<C>, level: L) -> vec4<T> */
- /* fn textureLoad<T : fiu32, C : iu32, S : iu32>(texture: texture_multisampled_2d<T>, coords: vec2<C>, sample_index: S) -> vec4<T> */
- /* fn textureLoad<C : iu32, L : iu32>(texture: texture_depth_2d, coords: vec2<C>, level: L) -> f32 */
- /* fn textureLoad<C : iu32, A : iu32, L : iu32>(texture: texture_depth_2d_array, coords: vec2<C>, array_index: A, level: L) -> f32 */
- /* fn textureLoad<C : iu32, S : iu32>(texture: texture_depth_multisampled_2d, coords: vec2<C>, sample_index: S) -> f32 */
- /* fn textureLoad<C : iu32>(texture: texture_external, coords: vec2<C>) -> vec4<f32> */
- /* fn textureLoad<C : iu32>(texture: texture_storage_1d<f32_texel_format, readable>, coords: C) -> vec4<f32> */
- /* fn textureLoad<C : iu32>(texture: texture_storage_1d<i32_texel_format, readable>, coords: C) -> vec4<i32> */
- /* fn textureLoad<C : iu32>(texture: texture_storage_1d<u32_texel_format, readable>, coords: C) -> vec4<u32> */
- /* fn textureLoad<C : iu32>(texture: texture_storage_2d<f32_texel_format, readable>, coords: vec2<C>) -> vec4<f32> */
- /* fn textureLoad<C : iu32>(texture: texture_storage_2d<i32_texel_format, readable>, coords: vec2<C>) -> vec4<i32> */
- /* fn textureLoad<C : iu32>(texture: texture_storage_2d<u32_texel_format, readable>, coords: vec2<C>) -> vec4<u32> */
- /* fn textureLoad<C : iu32, A : iu32>(texture: texture_storage_2d_array<f32_texel_format, readable>, coords: vec2<C>, array_index: A) -> vec4<f32> */
- /* fn textureLoad<C : iu32, A : iu32>(texture: texture_storage_2d_array<i32_texel_format, readable>, coords: vec2<C>, array_index: A) -> vec4<i32> */
- /* fn textureLoad<C : iu32, A : iu32>(texture: texture_storage_2d_array<u32_texel_format, readable>, coords: vec2<C>, array_index: A) -> vec4<u32> */
- /* fn textureLoad<C : iu32>(texture: texture_storage_3d<f32_texel_format, readable>, coords: vec3<C>) -> vec4<f32> */
- /* fn textureLoad<C : iu32>(texture: texture_storage_3d<i32_texel_format, readable>, coords: vec3<C>) -> vec4<i32> */
- /* fn textureLoad<C : iu32>(texture: texture_storage_3d<u32_texel_format, readable>, coords: vec3<C>) -> vec4<u32> */
- /* num overloads */ 21,
- /* overloads */ OverloadIndex(27),
- },
- {
- /* [103] */
- /* fn atomicLoad<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>) -> T */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(455),
- },
- {
- /* [104] */
- /* fn atomicStore<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(456),
- },
- {
- /* [105] */
- /* fn atomicAdd<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(457),
- },
- {
- /* [106] */
- /* fn atomicSub<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(457),
- },
- {
- /* [107] */
- /* fn atomicMax<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(457),
- },
- {
- /* [108] */
- /* fn atomicMin<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(457),
- },
- {
- /* [109] */
- /* fn atomicAnd<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(457),
- },
- {
- /* [110] */
- /* fn atomicOr<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(457),
- },
- {
- /* [111] */
- /* fn atomicXor<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(457),
- },
- {
- /* [112] */
- /* fn atomicExchange<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(457),
- },
- {
- /* [113] */
- /* 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 */ OverloadIndex(458),
- },
- {
- /* [114] */
- /* fn subgroupBallot() -> vec4<u32> */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(459),
- },
- {
- /* [115] */
- /* fn subgroupBroadcast<T : fiu32>(value: T, @const sourceLaneIndex: u32) -> T */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(460),
- },
- {
- /* [116] */
- /* fn _tint_materialize<T>(T) -> T */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(461),
- },
-};
-
-constexpr IntrinsicInfo kUnaryOperators[] = {
- {
- /* [0] */
- /* op !(bool) -> bool */
- /* op !<N : num>(vec<N, bool>) -> vec<N, bool> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(408),
- },
- {
- /* [1] */
- /* op ~<T : ia_iu32>(T) -> T */
- /* op ~<T : ia_iu32, N : num>(vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(410),
- },
- {
- /* [2] */
- /* op -<T : fia_fi32_f16>(T) -> T */
- /* op -<T : fia_fi32_f16, N : num>(vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(412),
- },
-};
-constexpr uint8_t kUnaryOperatorNot = 0;
-constexpr uint8_t kUnaryOperatorComplement = 1;
-constexpr uint8_t kUnaryOperatorMinus = 2;
-
-constexpr IntrinsicInfo kBinaryOperators[] = {
- {
- /* [0] */
- /* op +<T : fia_fiu32_f16>(T, T) -> T */
- /* op +<T : fia_fiu32_f16, N : num>(vec<N, T>, vec<N, T>) -> vec<N, T> */
- /* op +<T : fia_fiu32_f16, N : num>(vec<N, T>, T) -> vec<N, T> */
- /* op +<T : fia_fiu32_f16, N : num>(T, vec<N, T>) -> vec<N, T> */
- /* op +<T : fa_f32_f16, N : num, M : num>(mat<N, M, T>, mat<N, M, T>) -> mat<N, M, T> */
- /* num overloads */ 5,
- /* overloads */ OverloadIndex(251),
- },
- {
- /* [1] */
- /* op -<T : fia_fiu32_f16>(T, T) -> T */
- /* op -<T : fia_fiu32_f16, N : num>(vec<N, T>, vec<N, T>) -> vec<N, T> */
- /* op -<T : fia_fiu32_f16, N : num>(vec<N, T>, T) -> vec<N, T> */
- /* op -<T : fia_fiu32_f16, N : num>(T, vec<N, T>) -> vec<N, T> */
- /* op -<T : fa_f32_f16, N : num, M : num>(mat<N, M, T>, mat<N, M, T>) -> mat<N, M, T> */
- /* num overloads */ 5,
- /* overloads */ OverloadIndex(256),
- },
- {
- /* [2] */
- /* op *<T : fia_fiu32_f16>(T, T) -> T */
- /* op *<T : fia_fiu32_f16, N : num>(vec<N, T>, vec<N, T>) -> vec<N, T> */
- /* op *<T : fia_fiu32_f16, N : num>(vec<N, T>, T) -> vec<N, T> */
- /* op *<T : fia_fiu32_f16, N : num>(T, vec<N, T>) -> vec<N, T> */
- /* op *<T : fa_f32_f16, N : num, M : num>(T, mat<N, M, T>) -> mat<N, M, T> */
- /* op *<T : fa_f32_f16, N : num, M : num>(mat<N, M, T>, T) -> mat<N, M, T> */
- /* op *<T : fa_f32_f16, C : num, R : num>(mat<C, R, T>, vec<C, T>) -> vec<R, T> */
- /* op *<T : fa_f32_f16, C : num, R : num>(vec<R, T>, mat<C, R, T>) -> vec<C, T> */
- /* op *<T : fa_f32_f16, K : num, C : num, R : num>(mat<K, R, T>, mat<C, K, T>) -> mat<C, R, T> */
- /* num overloads */ 9,
- /* overloads */ OverloadIndex(149),
- },
- {
- /* [3] */
- /* op /<T : fia_fiu32_f16>(T, T) -> T */
- /* op /<T : fia_fiu32_f16, N : num>(vec<N, T>, vec<N, T>) -> vec<N, T> */
- /* op /<T : fia_fiu32_f16, N : num>(vec<N, T>, T) -> vec<N, T> */
- /* op /<T : fia_fiu32_f16, N : num>(T, vec<N, T>) -> vec<N, T> */
- /* num overloads */ 4,
- /* overloads */ OverloadIndex(261),
- },
- {
- /* [4] */
- /* op %<T : fia_fiu32_f16>(T, T) -> T */
- /* op %<T : fia_fiu32_f16, N : num>(vec<N, T>, vec<N, T>) -> vec<N, T> */
- /* op %<T : fia_fiu32_f16, N : num>(vec<N, T>, T) -> vec<N, T> */
- /* op %<T : fia_fiu32_f16, N : num>(T, vec<N, T>) -> vec<N, T> */
- /* num overloads */ 4,
- /* overloads */ OverloadIndex(265),
- },
- {
- /* [5] */
- /* op ^<T : ia_iu32>(T, T) -> T */
- /* op ^<T : ia_iu32, N : num>(vec<N, T>, vec<N, T>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(414),
- },
- {
- /* [6] */
- /* op &(bool, bool) -> bool */
- /* op &<N : num>(vec<N, bool>, vec<N, bool>) -> vec<N, bool> */
- /* op &<T : ia_iu32>(T, T) -> T */
- /* op &<T : ia_iu32, N : num>(vec<N, T>, vec<N, T>) -> vec<N, T> */
- /* num overloads */ 4,
- /* overloads */ OverloadIndex(269),
- },
- {
- /* [7] */
- /* op |(bool, bool) -> bool */
- /* op |<N : num>(vec<N, bool>, vec<N, bool>) -> vec<N, bool> */
- /* op |<T : ia_iu32>(T, T) -> T */
- /* op |<T : ia_iu32, N : num>(vec<N, T>, vec<N, T>) -> vec<N, T> */
- /* num overloads */ 4,
- /* overloads */ OverloadIndex(273),
- },
- {
- /* [8] */
- /* op &&(bool, bool) -> bool */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(462),
- },
- {
- /* [9] */
- /* op ||(bool, bool) -> bool */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(463),
- },
- {
- /* [10] */
- /* op ==<T : scalar>(T, T) -> bool */
- /* op ==<T : scalar, N : num>(vec<N, T>, vec<N, T>) -> vec<N, bool> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(416),
- },
- {
- /* [11] */
- /* op !=<T : scalar>(T, T) -> bool */
- /* op !=<T : scalar, N : num>(vec<N, T>, vec<N, T>) -> vec<N, bool> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(418),
- },
- {
- /* [12] */
- /* op <<T : fia_fiu32_f16>(T, T) -> bool */
- /* op <<T : fia_fiu32_f16, N : num>(vec<N, T>, vec<N, T>) -> vec<N, bool> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(420),
- },
- {
- /* [13] */
- /* op ><T : fia_fiu32_f16>(T, T) -> bool */
- /* op ><T : fia_fiu32_f16, N : num>(vec<N, T>, vec<N, T>) -> vec<N, bool> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(422),
- },
- {
- /* [14] */
- /* op <=<T : fia_fiu32_f16>(T, T) -> bool */
- /* op <=<T : fia_fiu32_f16, N : num>(vec<N, T>, vec<N, T>) -> vec<N, bool> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(424),
- },
- {
- /* [15] */
- /* op >=<T : fia_fiu32_f16>(T, T) -> bool */
- /* op >=<T : fia_fiu32_f16, N : num>(vec<N, T>, vec<N, T>) -> vec<N, bool> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(426),
- },
- {
- /* [16] */
- /* op <<<T : ia_iu32>(T, u32) -> T */
- /* op <<<T : ia_iu32, N : num>(vec<N, T>, vec<N, u32>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(428),
- },
- {
- /* [17] */
- /* op >><T : ia_iu32>(T, u32) -> T */
- /* op >><T : ia_iu32, N : num>(vec<N, T>, vec<N, u32>) -> vec<N, T> */
- /* num overloads */ 2,
- /* overloads */ OverloadIndex(430),
- },
-};
-constexpr uint8_t kBinaryOperatorPlus = 0;
-constexpr uint8_t kBinaryOperatorMinus = 1;
-constexpr uint8_t kBinaryOperatorStar = 2;
-constexpr uint8_t kBinaryOperatorDivide = 3;
-constexpr uint8_t kBinaryOperatorModulo = 4;
-constexpr uint8_t kBinaryOperatorXor = 5;
-constexpr uint8_t kBinaryOperatorAnd = 6;
-constexpr uint8_t kBinaryOperatorOr = 7;
-constexpr uint8_t kBinaryOperatorLogicalAnd = 8;
-constexpr uint8_t kBinaryOperatorLogicalOr = 9;
-constexpr uint8_t kBinaryOperatorEqual = 10;
-constexpr uint8_t kBinaryOperatorNotEqual = 11;
-constexpr uint8_t kBinaryOperatorLessThan = 12;
-constexpr uint8_t kBinaryOperatorGreaterThan = 13;
-constexpr uint8_t kBinaryOperatorLessThanEqual = 14;
-constexpr uint8_t kBinaryOperatorGreaterThanEqual = 15;
-constexpr uint8_t kBinaryOperatorShiftLeft = 16;
-constexpr uint8_t kBinaryOperatorShiftRight = 17;
-
-constexpr IntrinsicInfo kConstructorsAndConverters[] = {
- {
- /* [0] */
- /* ctor i32() -> i32 */
- /* ctor i32(i32) -> i32 */
- /* conv i32<T : scalar_no_i32>(T) -> i32 */
- /* num overloads */ 3,
- /* overloads */ OverloadIndex(283),
- },
- {
- /* [1] */
- /* ctor u32() -> u32 */
- /* ctor u32(u32) -> u32 */
- /* conv u32<T : scalar_no_u32>(T) -> u32 */
- /* num overloads */ 3,
- /* overloads */ OverloadIndex(286),
- },
- {
- /* [2] */
- /* ctor f32() -> f32 */
- /* ctor f32(f32) -> f32 */
- /* conv f32<T : scalar_no_f32>(T) -> f32 */
- /* num overloads */ 3,
- /* overloads */ OverloadIndex(289),
- },
- {
- /* [3] */
- /* ctor f16() -> f16 */
- /* ctor f16(f16) -> f16 */
- /* conv f16<T : scalar_no_f16>(T) -> f16 */
- /* num overloads */ 3,
- /* overloads */ OverloadIndex(292),
- },
- {
- /* [4] */
- /* ctor bool() -> bool */
- /* ctor bool(bool) -> bool */
- /* conv bool<T : scalar_no_bool>(T) -> bool */
- /* num overloads */ 3,
- /* overloads */ OverloadIndex(295),
- },
- {
- /* [5] */
- /* ctor vec2() -> vec2<ia> */
- /* ctor vec2<T : concrete_scalar>() -> vec2<T> */
- /* ctor vec2<T : scalar>(vec2<T>) -> vec2<T> */
- /* ctor vec2<T : scalar>(T) -> vec2<T> */
- /* ctor vec2<T : scalar>(x: T, y: T) -> vec2<T> */
- /* conv vec2<T : f32, U : scalar_no_f32>(vec2<U>) -> vec2<f32> */
- /* conv vec2<T : f16, U : scalar_no_f16>(vec2<U>) -> vec2<f16> */
- /* conv vec2<T : i32, U : scalar_no_i32>(vec2<U>) -> vec2<i32> */
- /* conv vec2<T : u32, U : scalar_no_u32>(vec2<U>) -> vec2<u32> */
- /* conv vec2<T : bool, U : scalar_no_bool>(vec2<U>) -> vec2<bool> */
- /* num overloads */ 10,
- /* overloads */ OverloadIndex(139),
- },
- {
- /* [6] */
- /* ctor vec3() -> vec3<ia> */
- /* ctor vec3<T : concrete_scalar>() -> vec3<T> */
- /* ctor vec3<T : scalar>(vec3<T>) -> vec3<T> */
- /* ctor vec3<T : scalar>(T) -> vec3<T> */
- /* ctor vec3<T : scalar>(x: T, y: T, z: T) -> vec3<T> */
- /* ctor vec3<T : scalar>(xy: vec2<T>, z: T) -> vec3<T> */
- /* ctor vec3<T : scalar>(x: T, yz: vec2<T>) -> vec3<T> */
- /* conv vec3<T : f32, U : scalar_no_f32>(vec3<U>) -> vec3<f32> */
- /* conv vec3<T : f16, U : scalar_no_f16>(vec3<U>) -> vec3<f16> */
- /* conv vec3<T : i32, U : scalar_no_i32>(vec3<U>) -> vec3<i32> */
- /* conv vec3<T : u32, U : scalar_no_u32>(vec3<U>) -> vec3<u32> */
- /* conv vec3<T : bool, U : scalar_no_bool>(vec3<U>) -> vec3<bool> */
- /* num overloads */ 12,
- /* overloads */ OverloadIndex(117),
- },
- {
- /* [7] */
- /* ctor vec4() -> vec4<ia> */
- /* ctor vec4<T : concrete_scalar>() -> vec4<T> */
- /* ctor vec4<T : scalar>(vec4<T>) -> vec4<T> */
- /* ctor vec4<T : scalar>(T) -> vec4<T> */
- /* ctor vec4<T : scalar>(x: T, y: T, z: T, w: T) -> vec4<T> */
- /* ctor vec4<T : scalar>(xy: vec2<T>, z: T, w: T) -> vec4<T> */
- /* ctor vec4<T : scalar>(x: T, yz: vec2<T>, w: T) -> vec4<T> */
- /* ctor vec4<T : scalar>(x: T, y: T, zw: vec2<T>) -> vec4<T> */
- /* ctor vec4<T : scalar>(xy: vec2<T>, zw: vec2<T>) -> vec4<T> */
- /* ctor vec4<T : scalar>(xyz: vec3<T>, w: T) -> vec4<T> */
- /* ctor vec4<T : scalar>(x: T, zyw: vec3<T>) -> vec4<T> */
- /* conv vec4<T : f32, U : scalar_no_f32>(vec4<U>) -> vec4<f32> */
- /* conv vec4<T : f16, U : scalar_no_f16>(vec4<U>) -> vec4<f16> */
- /* conv vec4<T : i32, U : scalar_no_i32>(vec4<U>) -> vec4<i32> */
- /* conv vec4<T : u32, U : scalar_no_u32>(vec4<U>) -> vec4<u32> */
- /* conv vec4<T : bool, U : scalar_no_bool>(vec4<U>) -> vec4<bool> */
- /* num overloads */ 16,
- /* overloads */ OverloadIndex(48),
- },
- {
- /* [8] */
- /* ctor mat2x2<T : f32_f16>() -> mat2x2<T> */
- /* ctor mat2x2<T : f32_f16>(mat2x2<T>) -> mat2x2<T> */
- /* ctor mat2x2<T : fa_f32_f16>(T, T, T, T) -> mat2x2<T> */
- /* ctor mat2x2<T : fa_f32_f16>(vec2<T>, vec2<T>) -> mat2x2<T> */
- /* conv mat2x2<T : f16>(mat2x2<f32>) -> mat2x2<f16> */
- /* conv mat2x2<T : f32>(mat2x2<f16>) -> mat2x2<f32> */
- /* num overloads */ 6,
- /* overloads */ OverloadIndex(192),
- },
- {
- /* [9] */
- /* ctor mat2x3<T : f32_f16>() -> mat2x3<T> */
- /* ctor mat2x3<T : f32_f16>(mat2x3<T>) -> mat2x3<T> */
- /* ctor mat2x3<T : fa_f32_f16>(T, T, T, T, T, T) -> mat2x3<T> */
- /* ctor mat2x3<T : fa_f32_f16>(vec3<T>, vec3<T>) -> mat2x3<T> */
- /* conv mat2x3<T : f16>(mat2x3<f32>) -> mat2x3<f16> */
- /* conv mat2x3<T : f32>(mat2x3<f16>) -> mat2x3<f32> */
- /* num overloads */ 6,
- /* overloads */ OverloadIndex(198),
- },
- {
- /* [10] */
- /* ctor mat2x4<T : f32_f16>() -> mat2x4<T> */
- /* ctor mat2x4<T : f32_f16>(mat2x4<T>) -> mat2x4<T> */
- /* ctor mat2x4<T : fa_f32_f16>(T, T, T, T, T, T, T, T) -> mat2x4<T> */
- /* ctor mat2x4<T : fa_f32_f16>(vec4<T>, vec4<T>) -> mat2x4<T> */
- /* conv mat2x4<T : f16>(mat2x4<f32>) -> mat2x4<f16> */
- /* conv mat2x4<T : f32>(mat2x4<f16>) -> mat2x4<f32> */
- /* num overloads */ 6,
- /* overloads */ OverloadIndex(204),
- },
- {
- /* [11] */
- /* ctor mat3x2<T : f32_f16>() -> mat3x2<T> */
- /* ctor mat3x2<T : f32_f16>(mat3x2<T>) -> mat3x2<T> */
- /* ctor mat3x2<T : fa_f32_f16>(T, T, T, T, T, T) -> mat3x2<T> */
- /* ctor mat3x2<T : fa_f32_f16>(vec2<T>, vec2<T>, vec2<T>) -> mat3x2<T> */
- /* conv mat3x2<T : f16>(mat3x2<f32>) -> mat3x2<f16> */
- /* conv mat3x2<T : f32>(mat3x2<f16>) -> mat3x2<f32> */
- /* num overloads */ 6,
- /* overloads */ OverloadIndex(210),
- },
- {
- /* [12] */
- /* ctor mat3x3<T : f32_f16>() -> mat3x3<T> */
- /* ctor mat3x3<T : f32_f16>(mat3x3<T>) -> mat3x3<T> */
- /* ctor mat3x3<T : fa_f32_f16>(T, T, T, T, T, T, T, T, T) -> mat3x3<T> */
- /* ctor mat3x3<T : fa_f32_f16>(vec3<T>, vec3<T>, vec3<T>) -> mat3x3<T> */
- /* conv mat3x3<T : f16>(mat3x3<f32>) -> mat3x3<f16> */
- /* conv mat3x3<T : f32>(mat3x3<f16>) -> mat3x3<f32> */
- /* num overloads */ 6,
- /* overloads */ OverloadIndex(216),
- },
- {
- /* [13] */
- /* ctor mat3x4<T : f32_f16>() -> mat3x4<T> */
- /* ctor mat3x4<T : f32_f16>(mat3x4<T>) -> mat3x4<T> */
- /* ctor mat3x4<T : fa_f32_f16>(T, T, T, T, T, T, T, T, T, T, T, T) -> mat3x4<T> */
- /* ctor mat3x4<T : fa_f32_f16>(vec4<T>, vec4<T>, vec4<T>) -> mat3x4<T> */
- /* conv mat3x4<T : f16>(mat3x4<f32>) -> mat3x4<f16> */
- /* conv mat3x4<T : f32>(mat3x4<f16>) -> mat3x4<f32> */
- /* num overloads */ 6,
- /* overloads */ OverloadIndex(222),
- },
- {
- /* [14] */
- /* ctor mat4x2<T : f32_f16>() -> mat4x2<T> */
- /* ctor mat4x2<T : f32_f16>(mat4x2<T>) -> mat4x2<T> */
- /* ctor mat4x2<T : fa_f32_f16>(T, T, T, T, T, T, T, T) -> mat4x2<T> */
- /* ctor mat4x2<T : fa_f32_f16>(vec2<T>, vec2<T>, vec2<T>, vec2<T>) -> mat4x2<T> */
- /* conv mat4x2<T : f16>(mat4x2<f32>) -> mat4x2<f16> */
- /* conv mat4x2<T : f32>(mat4x2<f16>) -> mat4x2<f32> */
- /* num overloads */ 6,
- /* overloads */ OverloadIndex(228),
- },
- {
- /* [15] */
- /* ctor mat4x3<T : f32_f16>() -> mat4x3<T> */
- /* ctor mat4x3<T : f32_f16>(mat4x3<T>) -> mat4x3<T> */
- /* ctor mat4x3<T : fa_f32_f16>(T, T, T, T, T, T, T, T, T, T, T, T) -> mat4x3<T> */
- /* ctor mat4x3<T : fa_f32_f16>(vec3<T>, vec3<T>, vec3<T>, vec3<T>) -> mat4x3<T> */
- /* conv mat4x3<T : f16>(mat4x3<f32>) -> mat4x3<f16> */
- /* conv mat4x3<T : f32>(mat4x3<f16>) -> mat4x3<f32> */
- /* num overloads */ 6,
- /* overloads */ OverloadIndex(234),
- },
- {
- /* [16] */
- /* ctor mat4x4<T : f32_f16>() -> mat4x4<T> */
- /* ctor mat4x4<T : f32_f16>(mat4x4<T>) -> mat4x4<T> */
- /* ctor mat4x4<T : fa_f32_f16>(T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) -> mat4x4<T> */
- /* ctor mat4x4<T : fa_f32_f16>(vec4<T>, vec4<T>, vec4<T>, vec4<T>) -> mat4x4<T> */
- /* conv mat4x4<T : f16>(mat4x4<f32>) -> mat4x4<f16> */
- /* conv mat4x4<T : f32>(mat4x4<f16>) -> mat4x4<f32> */
- /* num overloads */ 6,
- /* overloads */ OverloadIndex(240),
- },
- {
- /* [17] */
- /* conv packedVec3<T : concrete_scalar>(vec3<T>) -> packedVec3<T> */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(464),
- },
-};
-
-// clang-format on
-
-} // anonymous namespace
-
-const core::intrinsic::TableData kData{
- /* template_types */ kTemplateTypes,
- /* template_numbers */ kTemplateNumbers,
- /* type_matcher_indices */ kTypeMatcherIndices,
- /* number_matcher_indices */ kNumberMatcherIndices,
- /* type_matchers */ kTypeMatchers,
- /* number_matchers */ kNumberMatchers,
- /* parameters */ kParameters,
- /* overloads */ kOverloads,
- /* const_eval_functions */ kConstEvalFunctions,
- /* ctor_conv */ kConstructorsAndConverters,
- /* builtins */ kBuiltins,
- /* binary '+' */ kBinaryOperators[kBinaryOperatorPlus],
- /* binary '-' */ kBinaryOperators[kBinaryOperatorMinus],
- /* binary '*' */ kBinaryOperators[kBinaryOperatorStar],
- /* binary '/' */ kBinaryOperators[kBinaryOperatorDivide],
- /* binary '%' */ kBinaryOperators[kBinaryOperatorModulo],
- /* binary '^' */ kBinaryOperators[kBinaryOperatorXor],
- /* binary '&' */ kBinaryOperators[kBinaryOperatorAnd],
- /* binary '|' */ kBinaryOperators[kBinaryOperatorOr],
- /* binary '&&' */ kBinaryOperators[kBinaryOperatorLogicalAnd],
- /* binary '||' */ kBinaryOperators[kBinaryOperatorLogicalOr],
- /* binary '==' */ kBinaryOperators[kBinaryOperatorEqual],
- /* binary '!=' */ kBinaryOperators[kBinaryOperatorNotEqual],
- /* binary '<' */ kBinaryOperators[kBinaryOperatorLessThan],
- /* binary '>' */ kBinaryOperators[kBinaryOperatorGreaterThan],
- /* binary '<=' */ kBinaryOperators[kBinaryOperatorLessThanEqual],
- /* binary '>=' */ kBinaryOperators[kBinaryOperatorGreaterThanEqual],
- /* binary '<<' */ kBinaryOperators[kBinaryOperatorShiftLeft],
- /* binary '>>' */ kBinaryOperators[kBinaryOperatorShiftRight],
- /* unary '!' */ kUnaryOperators[kUnaryOperatorNot],
- /* unary '~' */ kUnaryOperators[kUnaryOperatorComplement],
- /* unary '-' */ kUnaryOperators[kUnaryOperatorMinus],
-};
-
-} // namespace tint::wgsl::intrinsic::data
diff --git a/src/tint/lang/wgsl/intrinsic/data/data.h b/src/tint/lang/wgsl/intrinsic/data/data.h
deleted file mode 100644
index 74faeb3..0000000
--- a/src/tint/lang/wgsl/intrinsic/data/data.h
+++ /dev/null
@@ -1,26 +0,0 @@
-// 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_LANG_WGSL_INTRINSIC_DATA_DATA_H_
-#define SRC_TINT_LANG_WGSL_INTRINSIC_DATA_DATA_H_
-
-#include "src/tint/lang/core/intrinsic/table_data.h"
-
-namespace tint::wgsl::intrinsic::data {
-
-extern const core::intrinsic::TableData kData;
-
-} // namespace tint::wgsl::intrinsic::data
-
-#endif // SRC_TINT_LANG_WGSL_INTRINSIC_DATA_DATA_H_
diff --git a/src/tint/lang/wgsl/intrinsic/dialect.h b/src/tint/lang/wgsl/intrinsic/dialect.h
new file mode 100644
index 0000000..3a7a8ba
--- /dev/null
+++ b/src/tint/lang/wgsl/intrinsic/dialect.h
@@ -0,0 +1,46 @@
+// 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_LANG_WGSL_INTRINSIC_DIALECT_H_
+#define SRC_TINT_LANG_WGSL_INTRINSIC_DIALECT_H_
+
+#include "src/tint/lang/core/intrinsic/table_data.h"
+#include "src/tint/lang/wgsl/builtin_fn.h"
+#include "src/tint/lang/wgsl/intrinsic/ctor_conv.h"
+
+namespace tint::wgsl::intrinsic {
+
+/// Dialect holds the intrinsic table data and types for the WGSL dialect
+struct Dialect {
+ /// The dialect's intrinsic table data
+ static const core::intrinsic::TableData kData;
+
+ /// The dialect's builtin function enumerator
+ using BuiltinFn = wgsl::BuiltinFn;
+
+ /// The dialect's type constructor / convertor enumerator
+ using CtorConv = wgsl::intrinsic::CtorConv;
+
+ /// @returns the name of the builtin function @p fn
+ /// @param fn the builtin function
+ static std::string_view ToString(BuiltinFn fn) { return str(fn); }
+
+ /// @returns the name of the type constructor / convertor @p ty
+ /// @param ty the type constructor / convertor
+ static std::string_view ToString(CtorConv ty) { return str(ty); }
+};
+
+} // namespace tint::wgsl::intrinsic
+
+#endif // SRC_TINT_LANG_WGSL_INTRINSIC_DIALECT_H_
diff --git a/src/tint/lang/wgsl/ir/BUILD.bazel b/src/tint/lang/wgsl/ir/BUILD.bazel
index cc09dc5..3d275f9 100644
--- a/src/tint/lang/wgsl/ir/BUILD.bazel
+++ b/src/tint/lang/wgsl/ir/BUILD.bazel
@@ -39,7 +39,7 @@
"//src/tint/lang/core/ir",
"//src/tint/lang/core/type",
"//src/tint/lang/wgsl",
- "//src/tint/lang/wgsl/intrinsic/data",
+ "//src/tint/lang/wgsl/intrinsic",
"//src/tint/utils/containers",
"//src/tint/utils/diagnostic",
"//src/tint/utils/ice",
diff --git a/src/tint/lang/wgsl/ir/BUILD.cmake b/src/tint/lang/wgsl/ir/BUILD.cmake
index 72ba88a..47523eb 100644
--- a/src/tint/lang/wgsl/ir/BUILD.cmake
+++ b/src/tint/lang/wgsl/ir/BUILD.cmake
@@ -38,7 +38,7 @@
tint_lang_core_ir
tint_lang_core_type
tint_lang_wgsl
- tint_lang_wgsl_intrinsic_data
+ tint_lang_wgsl_intrinsic
tint_utils_containers
tint_utils_diagnostic
tint_utils_ice
diff --git a/src/tint/lang/wgsl/ir/BUILD.gn b/src/tint/lang/wgsl/ir/BUILD.gn
index 7be98a4..f947343 100644
--- a/src/tint/lang/wgsl/ir/BUILD.gn
+++ b/src/tint/lang/wgsl/ir/BUILD.gn
@@ -38,7 +38,7 @@
"${tint_src_dir}/lang/core/ir",
"${tint_src_dir}/lang/core/type",
"${tint_src_dir}/lang/wgsl",
- "${tint_src_dir}/lang/wgsl/intrinsic/data",
+ "${tint_src_dir}/lang/wgsl/intrinsic",
"${tint_src_dir}/utils/containers",
"${tint_src_dir}/utils/diagnostic",
"${tint_src_dir}/utils/ice",
diff --git a/src/tint/lang/wgsl/ir/builtin_call.h b/src/tint/lang/wgsl/ir/builtin_call.h
index 6e1d413..5f68683 100644
--- a/src/tint/lang/wgsl/ir/builtin_call.h
+++ b/src/tint/lang/wgsl/ir/builtin_call.h
@@ -20,7 +20,7 @@
#include "src/tint/lang/core/intrinsic/table_data.h"
#include "src/tint/lang/core/ir/builtin_call.h"
#include "src/tint/lang/wgsl/builtin_fn.h"
-#include "src/tint/lang/wgsl/intrinsic/data/data.h"
+#include "src/tint/lang/wgsl/intrinsic/dialect.h"
#include "src/tint/utils/rtti/castable.h"
namespace tint::wgsl::ir {
@@ -50,7 +50,7 @@
std::string FriendlyName() override { return std::string("wgsl.") + str(fn_); }
/// @returns the table data to validate this builtin
- const core::intrinsic::TableData& TableData() override { return intrinsic::data::kData; }
+ const core::intrinsic::TableData& TableData() override { return intrinsic::Dialect::kData; }
private:
BuiltinFn fn_;
diff --git a/src/tint/lang/wgsl/reader/lower/BUILD.bazel b/src/tint/lang/wgsl/reader/lower/BUILD.bazel
index 4ff3379..783f5ee 100644
--- a/src/tint/lang/wgsl/reader/lower/BUILD.bazel
+++ b/src/tint/lang/wgsl/reader/lower/BUILD.bazel
@@ -36,11 +36,10 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/intrinsic",
- "//src/tint/lang/core/intrinsic/data",
"//src/tint/lang/core/ir",
"//src/tint/lang/core/type",
"//src/tint/lang/wgsl",
- "//src/tint/lang/wgsl/intrinsic/data",
+ "//src/tint/lang/wgsl/intrinsic",
"//src/tint/lang/wgsl/ir",
"//src/tint/utils/containers",
"//src/tint/utils/diagnostic",
@@ -70,12 +69,11 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/intrinsic",
- "//src/tint/lang/core/intrinsic/data",
"//src/tint/lang/core/ir",
"//src/tint/lang/core/ir/transform:test",
"//src/tint/lang/core/type",
"//src/tint/lang/wgsl",
- "//src/tint/lang/wgsl/intrinsic/data",
+ "//src/tint/lang/wgsl/intrinsic",
"//src/tint/lang/wgsl/ir",
"//src/tint/lang/wgsl/reader/lower",
"//src/tint/utils/containers",
diff --git a/src/tint/lang/wgsl/reader/lower/BUILD.cmake b/src/tint/lang/wgsl/reader/lower/BUILD.cmake
index 3bc145f..5685867 100644
--- a/src/tint/lang/wgsl/reader/lower/BUILD.cmake
+++ b/src/tint/lang/wgsl/reader/lower/BUILD.cmake
@@ -35,11 +35,10 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_intrinsic
- tint_lang_core_intrinsic_data
tint_lang_core_ir
tint_lang_core_type
tint_lang_wgsl
- tint_lang_wgsl_intrinsic_data
+ tint_lang_wgsl_intrinsic
tint_lang_wgsl_ir
tint_utils_containers
tint_utils_diagnostic
@@ -69,12 +68,11 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_intrinsic
- tint_lang_core_intrinsic_data
tint_lang_core_ir
tint_lang_core_ir_transform_test
tint_lang_core_type
tint_lang_wgsl
- tint_lang_wgsl_intrinsic_data
+ tint_lang_wgsl_intrinsic
tint_lang_wgsl_ir
tint_lang_wgsl_reader_lower
tint_utils_containers
diff --git a/src/tint/lang/wgsl/reader/lower/BUILD.gn b/src/tint/lang/wgsl/reader/lower/BUILD.gn
index f9c38e3..674130d 100644
--- a/src/tint/lang/wgsl/reader/lower/BUILD.gn
+++ b/src/tint/lang/wgsl/reader/lower/BUILD.gn
@@ -39,11 +39,10 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/intrinsic",
- "${tint_src_dir}/lang/core/intrinsic/data",
"${tint_src_dir}/lang/core/ir",
"${tint_src_dir}/lang/core/type",
"${tint_src_dir}/lang/wgsl",
- "${tint_src_dir}/lang/wgsl/intrinsic/data",
+ "${tint_src_dir}/lang/wgsl/intrinsic",
"${tint_src_dir}/lang/wgsl/ir",
"${tint_src_dir}/utils/containers",
"${tint_src_dir}/utils/diagnostic",
@@ -70,12 +69,11 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/intrinsic",
- "${tint_src_dir}/lang/core/intrinsic/data",
"${tint_src_dir}/lang/core/ir",
"${tint_src_dir}/lang/core/ir/transform:unittests",
"${tint_src_dir}/lang/core/type",
"${tint_src_dir}/lang/wgsl",
- "${tint_src_dir}/lang/wgsl/intrinsic/data",
+ "${tint_src_dir}/lang/wgsl/intrinsic",
"${tint_src_dir}/lang/wgsl/ir",
"${tint_src_dir}/lang/wgsl/reader/lower",
"${tint_src_dir}/utils/containers",
diff --git a/src/tint/lang/wgsl/reader/program_to_ir/BUILD.bazel b/src/tint/lang/wgsl/reader/program_to_ir/BUILD.bazel
index 9f6305d..e964d93 100644
--- a/src/tint/lang/wgsl/reader/program_to_ir/BUILD.bazel
+++ b/src/tint/lang/wgsl/reader/program_to_ir/BUILD.bazel
@@ -36,12 +36,11 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/intrinsic",
- "//src/tint/lang/core/intrinsic/data",
"//src/tint/lang/core/ir",
"//src/tint/lang/core/type",
"//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
- "//src/tint/lang/wgsl/intrinsic/data",
+ "//src/tint/lang/wgsl/intrinsic",
"//src/tint/lang/wgsl/ir",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/sem",
diff --git a/src/tint/lang/wgsl/reader/program_to_ir/BUILD.cmake b/src/tint/lang/wgsl/reader/program_to_ir/BUILD.cmake
index 812feec..7cff404 100644
--- a/src/tint/lang/wgsl/reader/program_to_ir/BUILD.cmake
+++ b/src/tint/lang/wgsl/reader/program_to_ir/BUILD.cmake
@@ -35,12 +35,11 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_intrinsic
- tint_lang_core_intrinsic_data
tint_lang_core_ir
tint_lang_core_type
tint_lang_wgsl
tint_lang_wgsl_ast
- tint_lang_wgsl_intrinsic_data
+ tint_lang_wgsl_intrinsic
tint_lang_wgsl_ir
tint_lang_wgsl_program
tint_lang_wgsl_sem
diff --git a/src/tint/lang/wgsl/reader/program_to_ir/BUILD.gn b/src/tint/lang/wgsl/reader/program_to_ir/BUILD.gn
index 110350a..87f764b 100644
--- a/src/tint/lang/wgsl/reader/program_to_ir/BUILD.gn
+++ b/src/tint/lang/wgsl/reader/program_to_ir/BUILD.gn
@@ -39,12 +39,11 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/intrinsic",
- "${tint_src_dir}/lang/core/intrinsic/data",
"${tint_src_dir}/lang/core/ir",
"${tint_src_dir}/lang/core/type",
"${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
- "${tint_src_dir}/lang/wgsl/intrinsic/data",
+ "${tint_src_dir}/lang/wgsl/intrinsic",
"${tint_src_dir}/lang/wgsl/ir",
"${tint_src_dir}/lang/wgsl/program",
"${tint_src_dir}/lang/wgsl/sem",
diff --git a/src/tint/lang/wgsl/resolver/BUILD.bazel b/src/tint/lang/wgsl/resolver/BUILD.bazel
index 96d5541..5e4635f 100644
--- a/src/tint/lang/wgsl/resolver/BUILD.bazel
+++ b/src/tint/lang/wgsl/resolver/BUILD.bazel
@@ -50,7 +50,6 @@
"//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/intrinsic",
- "//src/tint/lang/wgsl/intrinsic/data",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/sem",
"//src/tint/utils/containers",
@@ -144,6 +143,7 @@
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/ast/transform",
"//src/tint/lang/wgsl/ast:test",
+ "//src/tint/lang/wgsl/intrinsic",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/reader",
"//src/tint/lang/wgsl/resolver",
diff --git a/src/tint/lang/wgsl/resolver/BUILD.cmake b/src/tint/lang/wgsl/resolver/BUILD.cmake
index 94a6252..fd17863 100644
--- a/src/tint/lang/wgsl/resolver/BUILD.cmake
+++ b/src/tint/lang/wgsl/resolver/BUILD.cmake
@@ -49,7 +49,6 @@
tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_intrinsic
- tint_lang_wgsl_intrinsic_data
tint_lang_wgsl_program
tint_lang_wgsl_sem
tint_utils_containers
@@ -143,6 +142,7 @@
tint_lang_wgsl_ast
tint_lang_wgsl_ast_transform
tint_lang_wgsl_ast_test
+ tint_lang_wgsl_intrinsic
tint_lang_wgsl_program
tint_lang_wgsl_reader
tint_lang_wgsl_resolver
diff --git a/src/tint/lang/wgsl/resolver/BUILD.gn b/src/tint/lang/wgsl/resolver/BUILD.gn
index 5c55c63..c10075f 100644
--- a/src/tint/lang/wgsl/resolver/BUILD.gn
+++ b/src/tint/lang/wgsl/resolver/BUILD.gn
@@ -53,7 +53,6 @@
"${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/intrinsic",
- "${tint_src_dir}/lang/wgsl/intrinsic/data",
"${tint_src_dir}/lang/wgsl/program",
"${tint_src_dir}/lang/wgsl/sem",
"${tint_src_dir}/utils/containers",
@@ -146,6 +145,7 @@
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/ast:unittests",
"${tint_src_dir}/lang/wgsl/ast/transform",
+ "${tint_src_dir}/lang/wgsl/intrinsic",
"${tint_src_dir}/lang/wgsl/program",
"${tint_src_dir}/lang/wgsl/reader",
"${tint_src_dir}/lang/wgsl/resolver",
diff --git a/src/tint/lang/wgsl/resolver/resolver.cc b/src/tint/lang/wgsl/resolver/resolver.cc
index 992653f..bf0e9b3 100644
--- a/src/tint/lang/wgsl/resolver/resolver.cc
+++ b/src/tint/lang/wgsl/resolver/resolver.cc
@@ -60,7 +60,7 @@
#include "src/tint/lang/wgsl/ast/while_statement.h"
#include "src/tint/lang/wgsl/ast/workgroup_attribute.h"
#include "src/tint/lang/wgsl/intrinsic/ctor_conv.h"
-#include "src/tint/lang/wgsl/intrinsic/data/data.h"
+#include "src/tint/lang/wgsl/intrinsic/dialect.h"
#include "src/tint/lang/wgsl/resolver/uniformity.h"
#include "src/tint/lang/wgsl/sem/break_if_statement.h"
#include "src/tint/lang/wgsl/sem/builtin_enum_expression.h"
@@ -118,8 +118,7 @@
: builder_(builder),
diagnostics_(builder->Diagnostics()),
const_eval_(builder->constants, diagnostics_),
- intrinsic_context_{wgsl::intrinsic::data::kData, builder->Types(), builder->Symbols(),
- builder->Diagnostics()},
+ intrinsic_table_{builder->Types(), builder->Symbols(), builder->Diagnostics()},
sem_(builder),
validator_(builder,
sem_,
@@ -2084,8 +2083,7 @@
auto ctor_or_conv = [&](CtorConvIntrinsic ty,
const core::type::Type* template_arg) -> sem::Call* {
auto arg_tys = tint::Transform(args, [](auto* arg) { return arg->Type(); });
- auto match = core::intrinsic::LookupCtorConv(intrinsic_context_, ty, template_arg, arg_tys,
- args_stage, expr->source);
+ auto match = intrinsic_table_.Lookup(ty, template_arg, arg_tys, args_stage, expr->source);
if (!match) {
return nullptr;
}
@@ -2409,8 +2407,7 @@
}
auto arg_tys = tint::Transform(args, [](auto* arg) { return arg->Type(); });
- auto overload =
- core::intrinsic::LookupFn(intrinsic_context_, fn, arg_tys, arg_stage, expr->source);
+ auto overload = intrinsic_table_.Lookup(fn, arg_tys, arg_stage, expr->source);
if (!overload) {
return nullptr;
}
@@ -3569,8 +3566,8 @@
}
auto stage = core::EarliestStage(lhs->Stage(), rhs->Stage());
- auto overload = core::intrinsic::LookupBinary(intrinsic_context_, expr->op, lhs->Type(),
- rhs->Type(), stage, expr->source, false);
+ auto overload =
+ intrinsic_table_.Lookup(expr->op, lhs->Type(), rhs->Type(), stage, expr->source, false);
if (!overload) {
return nullptr;
}
@@ -3691,8 +3688,7 @@
default: {
stage = expr->Stage();
- auto overload = core::intrinsic::LookupUnary(intrinsic_context_, unary->op, expr_ty,
- stage, unary->source);
+ auto overload = intrinsic_table_.Lookup(unary->op, expr_ty, stage, unary->source);
if (!overload) {
return nullptr;
}
@@ -4720,8 +4716,8 @@
auto stage = core::EarliestStage(lhs->Stage(), rhs->Stage());
auto overload =
- core::intrinsic::LookupBinary(intrinsic_context_, stmt->op, lhs->Type()->UnwrapRef(),
- rhs->Type()->UnwrapRef(), stage, stmt->source, true);
+ intrinsic_table_.Lookup(stmt->op, lhs->Type()->UnwrapRef(), rhs->Type()->UnwrapRef(),
+ stage, stmt->source, true);
if (!overload) {
return false;
}
diff --git a/src/tint/lang/wgsl/resolver/resolver.h b/src/tint/lang/wgsl/resolver/resolver.h
index 04c5243..3846d1a 100644
--- a/src/tint/lang/wgsl/resolver/resolver.h
+++ b/src/tint/lang/wgsl/resolver/resolver.h
@@ -27,6 +27,7 @@
#include "src/tint/lang/core/constant/eval.h"
#include "src/tint/lang/core/constant/value.h"
#include "src/tint/lang/core/intrinsic/table.h"
+#include "src/tint/lang/wgsl/intrinsic/dialect.h"
#include "src/tint/lang/wgsl/program/program_builder.h"
#include "src/tint/lang/wgsl/resolver/dependency_graph.h"
#include "src/tint/lang/wgsl/resolver/sem_helper.h"
@@ -612,7 +613,7 @@
ProgramBuilder* const builder_;
diag::List& diagnostics_;
core::constant::Eval const_eval_;
- core::intrinsic::Context intrinsic_context_;
+ core::intrinsic::Table<wgsl::intrinsic::Dialect> intrinsic_table_;
DependencyGraph dependencies_;
SemHelper sem_;
Validator validator_;
diff --git a/src/tint/lang/wgsl/writer/ir_to_program/BUILD.bazel b/src/tint/lang/wgsl/writer/ir_to_program/BUILD.bazel
index c14817f..c67c82f 100644
--- a/src/tint/lang/wgsl/writer/ir_to_program/BUILD.bazel
+++ b/src/tint/lang/wgsl/writer/ir_to_program/BUILD.bazel
@@ -38,12 +38,11 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/intrinsic",
- "//src/tint/lang/core/intrinsic/data",
"//src/tint/lang/core/ir",
"//src/tint/lang/core/type",
"//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
- "//src/tint/lang/wgsl/intrinsic/data",
+ "//src/tint/lang/wgsl/intrinsic",
"//src/tint/lang/wgsl/ir",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/resolver",
@@ -79,7 +78,6 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/intrinsic",
- "//src/tint/lang/core/intrinsic/data",
"//src/tint/lang/core/ir",
"//src/tint/lang/core/ir:test",
"//src/tint/lang/core/type",
diff --git a/src/tint/lang/wgsl/writer/ir_to_program/BUILD.cmake b/src/tint/lang/wgsl/writer/ir_to_program/BUILD.cmake
index d6e6e5f..1fa4481 100644
--- a/src/tint/lang/wgsl/writer/ir_to_program/BUILD.cmake
+++ b/src/tint/lang/wgsl/writer/ir_to_program/BUILD.cmake
@@ -37,12 +37,11 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_intrinsic
- tint_lang_core_intrinsic_data
tint_lang_core_ir
tint_lang_core_type
tint_lang_wgsl
tint_lang_wgsl_ast
- tint_lang_wgsl_intrinsic_data
+ tint_lang_wgsl_intrinsic
tint_lang_wgsl_ir
tint_lang_wgsl_program
tint_lang_wgsl_resolver
@@ -78,7 +77,6 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_intrinsic
- tint_lang_core_intrinsic_data
tint_lang_core_ir
tint_lang_core_ir_test
tint_lang_core_type
diff --git a/src/tint/lang/wgsl/writer/ir_to_program/BUILD.gn b/src/tint/lang/wgsl/writer/ir_to_program/BUILD.gn
index d2b88ff..c823bb4 100644
--- a/src/tint/lang/wgsl/writer/ir_to_program/BUILD.gn
+++ b/src/tint/lang/wgsl/writer/ir_to_program/BUILD.gn
@@ -41,12 +41,11 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/intrinsic",
- "${tint_src_dir}/lang/core/intrinsic/data",
"${tint_src_dir}/lang/core/ir",
"${tint_src_dir}/lang/core/type",
"${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
- "${tint_src_dir}/lang/wgsl/intrinsic/data",
+ "${tint_src_dir}/lang/wgsl/intrinsic",
"${tint_src_dir}/lang/wgsl/ir",
"${tint_src_dir}/lang/wgsl/program",
"${tint_src_dir}/lang/wgsl/resolver",
@@ -81,7 +80,6 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/intrinsic",
- "${tint_src_dir}/lang/core/intrinsic/data",
"${tint_src_dir}/lang/core/ir",
"${tint_src_dir}/lang/core/ir:unittests",
"${tint_src_dir}/lang/core/type",
diff --git a/src/tint/lang/wgsl/writer/raise/BUILD.bazel b/src/tint/lang/wgsl/writer/raise/BUILD.bazel
index d49adb4..90b5007 100644
--- a/src/tint/lang/wgsl/writer/raise/BUILD.bazel
+++ b/src/tint/lang/wgsl/writer/raise/BUILD.bazel
@@ -36,11 +36,10 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/intrinsic",
- "//src/tint/lang/core/intrinsic/data",
"//src/tint/lang/core/ir",
"//src/tint/lang/core/type",
"//src/tint/lang/wgsl",
- "//src/tint/lang/wgsl/intrinsic/data",
+ "//src/tint/lang/wgsl/intrinsic",
"//src/tint/lang/wgsl/ir",
"//src/tint/utils/containers",
"//src/tint/utils/diagnostic",
@@ -70,7 +69,6 @@
"//src/tint/lang/core",
"//src/tint/lang/core/constant",
"//src/tint/lang/core/intrinsic",
- "//src/tint/lang/core/intrinsic/data",
"//src/tint/lang/core/ir",
"//src/tint/lang/core/ir/transform:test",
"//src/tint/lang/core/type",
diff --git a/src/tint/lang/wgsl/writer/raise/BUILD.cmake b/src/tint/lang/wgsl/writer/raise/BUILD.cmake
index fcbe110..61e716d 100644
--- a/src/tint/lang/wgsl/writer/raise/BUILD.cmake
+++ b/src/tint/lang/wgsl/writer/raise/BUILD.cmake
@@ -35,11 +35,10 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_intrinsic
- tint_lang_core_intrinsic_data
tint_lang_core_ir
tint_lang_core_type
tint_lang_wgsl
- tint_lang_wgsl_intrinsic_data
+ tint_lang_wgsl_intrinsic
tint_lang_wgsl_ir
tint_utils_containers
tint_utils_diagnostic
@@ -69,7 +68,6 @@
tint_lang_core
tint_lang_core_constant
tint_lang_core_intrinsic
- tint_lang_core_intrinsic_data
tint_lang_core_ir
tint_lang_core_ir_transform_test
tint_lang_core_type
diff --git a/src/tint/lang/wgsl/writer/raise/BUILD.gn b/src/tint/lang/wgsl/writer/raise/BUILD.gn
index 18ec5e1..7dc51e0 100644
--- a/src/tint/lang/wgsl/writer/raise/BUILD.gn
+++ b/src/tint/lang/wgsl/writer/raise/BUILD.gn
@@ -39,11 +39,10 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/intrinsic",
- "${tint_src_dir}/lang/core/intrinsic/data",
"${tint_src_dir}/lang/core/ir",
"${tint_src_dir}/lang/core/type",
"${tint_src_dir}/lang/wgsl",
- "${tint_src_dir}/lang/wgsl/intrinsic/data",
+ "${tint_src_dir}/lang/wgsl/intrinsic",
"${tint_src_dir}/lang/wgsl/ir",
"${tint_src_dir}/utils/containers",
"${tint_src_dir}/utils/diagnostic",
@@ -70,7 +69,6 @@
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/intrinsic",
- "${tint_src_dir}/lang/core/intrinsic/data",
"${tint_src_dir}/lang/core/ir",
"${tint_src_dir}/lang/core/ir/transform:unittests",
"${tint_src_dir}/lang/core/type",