Implement texture_depth_multisampled_2d
Implemented for all readers and writers.
Cleaned up some verbose code in sem::Function and the Inspector in the
process.
Fixed: tint:1032
Change-Id: Ia6f2f59e6d2e511c89160b97be990e8b7c9828d9
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/59664
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: David Neto <dneto@google.com>
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Auto-Submit: Ben Clayton <bclayton@google.com>
diff --git a/docs/translations.md b/docs/translations.md
index 911dda1..d7b2713 100644
--- a/docs/translations.md
+++ b/docs/translations.md
@@ -126,6 +126,7 @@
| texture_depth_2d_array | OpTypeImage 2D Depth=1 Arrayed=1 Sampled=1 | depth2d_array<float, access::sample> | Texture2DArray |
| texture_depth_cube | OpTypeImage Cube Depth=1 Sampled=1 | depthcube<float, access::sample> | TextureCube |
| texture_depth_cube_array | OpTypeImage Cube Depth=1 Arrayed=1 Sampled=1 | depthcube_array<float, access::sample> | TextureCubeArray |
+| texture_depth_multisampled_2d | OpTypeImage 2D Depth=1 MS=1 Sampled=1 | depth2d<float, access::sample>| Texture2DMSArray |
| | | |
| texture_storage_1d<image_storage_type> | OpTypeImage 1D Sampled=2| texture1d<type, access::read> | RWTexture1D |
| texture_storage_2d<image_storage_type> | OpTypeImage 2D Sampled=2 | texture2d<type, access::read> | RWTexture2D |
diff --git a/fuzzers/dictionary.txt b/fuzzers/dictionary.txt
index d139434..8f15ff6 100644
--- a/fuzzers/dictionary.txt
+++ b/fuzzers/dictionary.txt
@@ -85,6 +85,7 @@
"texture_depth_2d_array"
"texture_depth_cube"
"texture_depth_cube_array"
+"texture_depth_multisampled_2d"
"texture_multisampled_2d"
"texture_storage_1d"
"texture_storage_2d_array"
diff --git a/samples/main.cc b/samples/main.cc
index e76342d..729978d 100644
--- a/samples/main.cc
+++ b/samples/main.cc
@@ -351,6 +351,9 @@
return "WriteOnlyStorageTexture";
case tint::inspector::ResourceBinding::ResourceType::kDepthTexture:
return "DepthTexture";
+ case tint::inspector::ResourceBinding::ResourceType::
+ kDepthMultisampledTexture:
+ return "DepthMultisampledTexture";
case tint::inspector::ResourceBinding::ResourceType::kExternalTexture:
return "ExternalTexture";
}
diff --git a/src/BUILD.gn b/src/BUILD.gn
index 70ed266..acb21d8 100644
--- a/src/BUILD.gn
+++ b/src/BUILD.gn
@@ -210,6 +210,8 @@
"ast/continue_statement.h",
"ast/decoration.cc",
"ast/decoration.h",
+ "ast/depth_multisampled_texture.cc",
+ "ast/depth_multisampled_texture.h",
"ast/depth_texture.cc",
"ast/depth_texture.h",
"ast/disable_validation_decoration.cc",
@@ -377,6 +379,7 @@
"sem/call.h",
"sem/call_target.h",
"sem/constant.h",
+ "sem/depth_multisampled_texture_type.h",
"sem/depth_texture_type.h",
"sem/expression.h",
"sem/external_texture_type.h",
@@ -502,6 +505,8 @@
"sem/call_target.h",
"sem/constant.cc",
"sem/constant.h",
+ "sem/depth_multisampled_texture_type.cc",
+ "sem/depth_multisampled_texture_type.h",
"sem/depth_texture_type.cc",
"sem/depth_texture_type.h",
"sem/expression.cc",
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index c36ec70..b56686d 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -80,6 +80,8 @@
ast/continue_statement.h
ast/decoration.cc
ast/decoration.h
+ ast/depth_multisampled_texture.cc
+ ast/depth_multisampled_texture.h
ast/disable_validation_decoration.cc
ast/disable_validation_decoration.h
ast/depth_texture.cc
@@ -256,6 +258,8 @@
sem/call.h
sem/constant.cc
sem/constant.h
+ sem/depth_multisampled_texture_type.cc
+ sem/depth_multisampled_texture_type.h
sem/expression.cc
sem/expression.h
sem/function.cc
@@ -564,6 +568,7 @@
ast/call_statement_test.cc
ast/case_statement_test.cc
ast/continue_statement_test.cc
+ ast/depth_multisampled_texture_test.cc
ast/depth_texture_test.cc
ast/discard_statement_test.cc
ast/else_statement_test.cc
@@ -669,6 +674,7 @@
test_main.cc
sem/atomic_type_test.cc
sem/bool_type_test.cc
+ sem/depth_multisampled_texture_type_test.cc
sem/depth_texture_type_test.cc
sem/external_texture_type_test.cc
sem/f32_type_test.cc
diff --git a/src/ast/depth_multisampled_texture.cc b/src/ast/depth_multisampled_texture.cc
new file mode 100644
index 0000000..bfa5501
--- /dev/null
+++ b/src/ast/depth_multisampled_texture.cc
@@ -0,0 +1,62 @@
+// Copyright 2021 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#include "src/ast/depth_multisampled_texture.h"
+
+#include "src/program_builder.h"
+
+TINT_INSTANTIATE_TYPEINFO(tint::ast::DepthMultisampledTexture);
+
+namespace tint {
+namespace ast {
+namespace {
+
+bool IsValidDepthDimension(TextureDimension dim) {
+ return dim == TextureDimension::k2d;
+}
+
+} // namespace
+
+DepthMultisampledTexture::DepthMultisampledTexture(ProgramID program_id,
+ const Source& source,
+ TextureDimension dim)
+ : Base(program_id, source, dim) {
+ TINT_ASSERT(AST, IsValidDepthDimension(dim));
+}
+
+DepthMultisampledTexture::DepthMultisampledTexture(DepthMultisampledTexture&&) =
+ default;
+
+DepthMultisampledTexture::~DepthMultisampledTexture() = default;
+
+std::string DepthMultisampledTexture::type_name() const {
+ std::ostringstream out;
+ out << "__depth_multisampled_texture_" << dim();
+ return out.str();
+}
+
+std::string DepthMultisampledTexture::FriendlyName(const SymbolTable&) const {
+ std::ostringstream out;
+ out << "texture_depth_multisampled_" << dim();
+ return out.str();
+}
+
+DepthMultisampledTexture* DepthMultisampledTexture::Clone(
+ CloneContext* ctx) const {
+ auto src = ctx->Clone(source());
+ return ctx->dst->create<DepthMultisampledTexture>(src, dim());
+}
+
+} // namespace ast
+} // namespace tint
diff --git a/src/ast/depth_multisampled_texture.h b/src/ast/depth_multisampled_texture.h
new file mode 100644
index 0000000..b25658e
--- /dev/null
+++ b/src/ast/depth_multisampled_texture.h
@@ -0,0 +1,57 @@
+// Copyright 2021 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_AST_DEPTH_MULTISAMPLED_TEXTURE_H_
+#define SRC_AST_DEPTH_MULTISAMPLED_TEXTURE_H_
+
+#include <string>
+
+#include "src/ast/texture.h"
+
+namespace tint {
+namespace ast {
+
+/// A multisampled depth texture type.
+class DepthMultisampledTexture
+ : public Castable<DepthMultisampledTexture, Texture> {
+ public:
+ /// Constructor
+ /// @param program_id the identifier of the program that owns this node
+ /// @param source the source of this node
+ /// @param dim the dimensionality of the texture
+ DepthMultisampledTexture(ProgramID program_id,
+ const Source& source,
+ TextureDimension dim);
+ /// Move constructor
+ DepthMultisampledTexture(DepthMultisampledTexture&&);
+ ~DepthMultisampledTexture() override;
+
+ /// @returns the name for this type
+ std::string type_name() const override;
+
+ /// @param symbols the program's symbol table
+ /// @returns the name for this type that closely resembles how it would be
+ /// declared in WGSL.
+ std::string FriendlyName(const SymbolTable& symbols) const override;
+
+ /// Clones this type and all transitive types using the `CloneContext` `ctx`.
+ /// @param ctx the clone context
+ /// @return the newly cloned type
+ DepthMultisampledTexture* Clone(CloneContext* ctx) const override;
+};
+
+} // namespace ast
+} // namespace tint
+
+#endif // SRC_AST_DEPTH_MULTISAMPLED_TEXTURE_H_
diff --git a/src/ast/depth_multisampled_texture_test.cc b/src/ast/depth_multisampled_texture_test.cc
new file mode 100644
index 0000000..4c092a2
--- /dev/null
+++ b/src/ast/depth_multisampled_texture_test.cc
@@ -0,0 +1,42 @@
+// Copyright 2021 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#include "src/ast/depth_multisampled_texture.h"
+
+#include "src/ast/test_helper.h"
+
+namespace tint {
+namespace ast {
+namespace {
+
+using AstDepthMultisampledTextureTest = TestHelper;
+
+TEST_F(AstDepthMultisampledTextureTest, Dim) {
+ auto* d = create<DepthMultisampledTexture>(TextureDimension::k2d);
+ EXPECT_EQ(d->dim(), TextureDimension::k2d);
+}
+
+TEST_F(AstDepthMultisampledTextureTest, TypeName) {
+ auto* d = create<DepthMultisampledTexture>(TextureDimension::k2d);
+ EXPECT_EQ(d->type_name(), "__depth_multisampled_texture_2d");
+}
+
+TEST_F(AstDepthMultisampledTextureTest, FriendlyName) {
+ auto* d = create<DepthMultisampledTexture>(TextureDimension::k2d);
+ EXPECT_EQ(d->FriendlyName(Symbols()), "texture_depth_multisampled_2d");
+}
+
+} // namespace
+} // namespace ast
+} // namespace tint
diff --git a/src/ast/intrinsic_texture_helper_test.cc b/src/ast/intrinsic_texture_helper_test.cc
index 2fd6406..4330526 100644
--- a/src/ast/intrinsic_texture_helper_test.cc
+++ b/src/ast/intrinsic_texture_helper_test.cc
@@ -88,6 +88,9 @@
case TextureKind::kDepth:
out << "depth";
break;
+ case TextureKind::kDepthMultisampled:
+ out << "depth-multisampled";
+ break;
case TextureKind::kMultisampled:
out << "multisampled";
break;
@@ -163,6 +166,11 @@
return b->Global("texture", b->ty.depth_texture(texture_dimension),
decos);
+ case ast::intrinsic::test::TextureKind::kDepthMultisampled:
+ return b->Global("texture",
+ b->ty.depth_multisampled_texture(texture_dimension),
+ decos);
+
case ast::intrinsic::test::TextureKind::kMultisampled:
return b->Global(
"texture",
@@ -401,6 +409,16 @@
[](ProgramBuilder* b) { return b->ExprList("texture", 1); },
},
{
+ ValidTextureOverload::kDimensionsDepthMultisampled2d,
+ "textureDimensions(t : texture_depth_multisampled_2d) -> vec2<i32>",
+ TextureKind::kDepthMultisampled,
+ ast::SamplerKind::kSampler,
+ ast::TextureDimension::k2d,
+ TextureDataType::kF32,
+ "textureDimensions",
+ [](ProgramBuilder* b) { return b->ExprList("texture"); },
+ },
+ {
ValidTextureOverload::kDimensionsStorageRO1d,
"textureDimensions(t : texture_storage_1d<rgba32float>) -> i32",
ast::Access::kRead,
diff --git a/src/ast/intrinsic_texture_helper_test.h b/src/ast/intrinsic_texture_helper_test.h
index ccacdc3..92c6986 100644
--- a/src/ast/intrinsic_texture_helper_test.h
+++ b/src/ast/intrinsic_texture_helper_test.h
@@ -26,7 +26,13 @@
namespace intrinsic {
namespace test {
-enum class TextureKind { kRegular, kDepth, kMultisampled, kStorage };
+enum class TextureKind {
+ kRegular,
+ kDepth,
+ kDepthMultisampled,
+ kMultisampled,
+ kStorage
+};
enum class TextureDataType { kF32, kU32, kI32 };
std::ostream& operator<<(std::ostream& out, const TextureKind& kind);
@@ -54,6 +60,7 @@
kDimensionsDepthCubeLevel,
kDimensionsDepthCubeArray,
kDimensionsDepthCubeArrayLevel,
+ kDimensionsDepthMultisampled2d,
kDimensionsStorageRO1d,
kDimensionsStorageRO2d,
kDimensionsStorageRO2dArray,
@@ -77,6 +84,7 @@
kNumLevelsDepthCube,
kNumLevelsDepthCubeArray,
kNumSamplesMultisampled2d,
+ kNumSamplesDepthMultisampled2d,
kSample1dF32,
kSample2dF32,
kSample2dOffsetF32,
@@ -151,6 +159,7 @@
kLoadMultisampled2dI32,
kLoadDepth2dLevelF32,
kLoadDepth2dArrayLevelF32,
+ kLoadDepthMultisampled2dF32,
kLoadStorageRO1dRgba32float, // Not permutated for all texel formats
kLoadStorageRO2dRgba8unorm,
kLoadStorageRO2dRgba8snorm,
diff --git a/src/inspector/inspector.cc b/src/inspector/inspector.cc
index 84a1eee..d02f5bf 100644
--- a/src/inspector/inspector.cc
+++ b/src/inspector/inspector.cc
@@ -29,6 +29,7 @@
#include "src/ast/uint_literal.h"
#include "src/sem/array.h"
#include "src/sem/call.h"
+#include "src/sem/depth_multisampled_texture_type.h"
#include "src/sem/f32_type.h"
#include "src/sem/function.h"
#include "src/sem/i32_type.h"
@@ -319,27 +320,22 @@
}
std::vector<ResourceBinding> result;
-
- AppendResourceBindings(&result,
- GetUniformBufferResourceBindings(entry_point));
- AppendResourceBindings(&result,
- GetStorageBufferResourceBindings(entry_point));
- AppendResourceBindings(&result,
- GetReadOnlyStorageBufferResourceBindings(entry_point));
- AppendResourceBindings(&result, GetSamplerResourceBindings(entry_point));
- AppendResourceBindings(&result,
- GetComparisonSamplerResourceBindings(entry_point));
- AppendResourceBindings(&result,
- GetSampledTextureResourceBindings(entry_point));
- AppendResourceBindings(&result,
- GetMultisampledTextureResourceBindings(entry_point));
- AppendResourceBindings(
- &result, GetReadOnlyStorageTextureResourceBindings(entry_point));
- AppendResourceBindings(
- &result, GetWriteOnlyStorageTextureResourceBindings(entry_point));
- AppendResourceBindings(&result, GetDepthTextureResourceBindings(entry_point));
- AppendResourceBindings(&result,
- GetExternalTextureResourceBindings(entry_point));
+ for (auto fn : {
+ &Inspector::GetUniformBufferResourceBindings,
+ &Inspector::GetStorageBufferResourceBindings,
+ &Inspector::GetReadOnlyStorageBufferResourceBindings,
+ &Inspector::GetSamplerResourceBindings,
+ &Inspector::GetComparisonSamplerResourceBindings,
+ &Inspector::GetSampledTextureResourceBindings,
+ &Inspector::GetMultisampledTextureResourceBindings,
+ &Inspector::GetReadOnlyStorageTextureResourceBindings,
+ &Inspector::GetWriteOnlyStorageTextureResourceBindings,
+ &Inspector::GetDepthTextureResourceBindings,
+ &Inspector::GetDepthMultisampledTextureResourceBindings,
+ &Inspector::GetExternalTextureResourceBindings,
+ }) {
+ AppendResourceBindings(&result, (this->*fn)(entry_point));
+ }
return result;
}
@@ -465,8 +461,10 @@
return GetStorageTextureResourceBindingsImpl(entry_point, false);
}
-std::vector<ResourceBinding> Inspector::GetDepthTextureResourceBindings(
- const std::string& entry_point) {
+std::vector<ResourceBinding> Inspector::GetTextureResourceBindings(
+ const std::string& entry_point,
+ const tint::TypeInfo& texture_type,
+ ResourceBinding::ResourceType resource_type) {
auto* func = FindEntryPointByName(entry_point);
if (!func) {
return {};
@@ -474,18 +472,18 @@
std::vector<ResourceBinding> result;
auto* func_sem = program_->Sem().Get(func);
- for (auto& ref : func_sem->ReferencedDepthTextureVariables()) {
+ for (auto& ref : func_sem->ReferencedVariablesOfType(texture_type)) {
auto* var = ref.first;
auto binding_info = ref.second;
ResourceBinding entry;
- entry.resource_type = ResourceBinding::ResourceType::kDepthTexture;
+ entry.resource_type = resource_type;
entry.bind_group = binding_info.group->value();
entry.binding = binding_info.binding->value();
- auto* texture_type = var->Type()->UnwrapRef()->As<sem::Texture>();
- entry.dim = TypeTextureDimensionToResourceBindingTextureDimension(
- texture_type->dim());
+ auto* tex = var->Type()->UnwrapRef()->As<sem::Texture>();
+ entry.dim =
+ TypeTextureDimensionToResourceBindingTextureDimension(tex->dim());
result.push_back(entry);
}
@@ -493,31 +491,26 @@
return result;
}
+std::vector<ResourceBinding> Inspector::GetDepthTextureResourceBindings(
+ const std::string& entry_point) {
+ return GetTextureResourceBindings(
+ entry_point, TypeInfo::Of<sem::DepthTexture>(),
+ ResourceBinding::ResourceType::kDepthTexture);
+}
+
+std::vector<ResourceBinding>
+Inspector::GetDepthMultisampledTextureResourceBindings(
+ const std::string& entry_point) {
+ return GetTextureResourceBindings(
+ entry_point, TypeInfo::Of<sem::DepthMultisampledTexture>(),
+ ResourceBinding::ResourceType::kDepthMultisampledTexture);
+}
+
std::vector<ResourceBinding> Inspector::GetExternalTextureResourceBindings(
const std::string& entry_point) {
- auto* func = FindEntryPointByName(entry_point);
- if (!func) {
- return {};
- }
-
- std::vector<ResourceBinding> result;
- auto* func_sem = program_->Sem().Get(func);
- for (auto& ref : func_sem->ReferencedExternalTextureVariables()) {
- auto* var = ref.first;
- auto binding_info = ref.second;
-
- ResourceBinding entry;
- entry.resource_type = ResourceBinding::ResourceType::kExternalTexture;
- entry.bind_group = binding_info.group->value();
- entry.binding = binding_info.binding->value();
-
- auto* texture_type = var->Type()->UnwrapRef()->As<sem::Texture>();
- entry.dim = TypeTextureDimensionToResourceBindingTextureDimension(
- texture_type->dim());
-
- result.push_back(entry);
- }
- return result;
+ return GetTextureResourceBindings(
+ entry_point, TypeInfo::Of<sem::ExternalTexture>(),
+ ResourceBinding::ResourceType::kExternalTexture);
}
std::vector<SamplerTexturePair> Inspector::GetSamplerTextureUses(
@@ -734,7 +727,7 @@
auto* func_sem = program_->Sem().Get(func);
std::vector<ResourceBinding> result;
- for (auto& ref : func_sem->ReferencedStorageTextureVariables()) {
+ for (auto& ref : func_sem->ReferencedVariablesOfType<sem::StorageTexture>()) {
auto* var = ref.first;
auto binding_info = ref.second;
diff --git a/src/inspector/inspector.h b/src/inspector/inspector.h
index 9ed9648..613bd0b 100644
--- a/src/inspector/inspector.h
+++ b/src/inspector/inspector.h
@@ -122,6 +122,11 @@
const std::string& entry_point);
/// @param entry_point name of the entry point to get information about.
+ /// @returns vector of all of the bindings for depth textures.
+ std::vector<ResourceBinding> GetDepthMultisampledTextureResourceBindings(
+ const std::string& entry_point);
+
+ /// @param entry_point name of the entry point to get information about.
/// @returns vector of all of the bindings for external textures.
std::vector<ResourceBinding> GetExternalTextureResourceBindings(
const std::string& entry_point);
@@ -167,6 +172,18 @@
bool ContainsSampleMaskBuiltin(sem::Type* type,
const ast::DecorationList& decorations) const;
+ /// Gathers all the texture resource bindings of the given type for the given
+ /// entry point.
+ /// @param entry_point name of the entry point to get information about.
+ /// @param texture_type the type of the textures to gather.
+ /// @param resource_type the ResourceBinding::ResourceType for the given
+ /// texture type.
+ /// @returns vector of all of the bindings for depth textures.
+ std::vector<ResourceBinding> GetTextureResourceBindings(
+ const std::string& entry_point,
+ const tint::TypeInfo& texture_type,
+ ResourceBinding::ResourceType resource_type);
+
/// @param entry_point name of the entry point to get information about.
/// @param read_only if true get only read-only bindings, if false get
/// write-only bindings.
diff --git a/src/inspector/inspector_test.cc b/src/inspector/inspector_test.cc
index 40fc591..91d120a 100644
--- a/src/inspector/inspector_test.cc
+++ b/src/inspector/inspector_test.cc
@@ -116,6 +116,10 @@
: public InspectorBuilder,
public testing::TestWithParam<GetDepthTextureTestParams> {};
+class InspectorGetDepthMultisampledTextureResourceBindingsTest
+ : public InspectorBuilder,
+ public testing::Test {};
+
typedef std::tuple<ast::TextureDimension, ResourceBinding::TextureDimension>
DimensionParams;
typedef std::tuple<ast::ImageFormat,
@@ -1005,22 +1009,26 @@
{{0, ty.i32()}});
auto* s_texture_type =
- MakeSampledTextureType(ast::TextureDimension::k1d, ty.f32());
- AddSampledTexture("s_texture", s_texture_type, 2, 0);
+ ty.sampled_texture(ast::TextureDimension::k1d, ty.f32());
+ AddResource("s_texture", s_texture_type, 2, 0);
AddSampler("s_var", 3, 0);
AddGlobalVariable("s_coords", ty.f32());
MakeSamplerReferenceBodyFunction("s_func", "s_texture", "s_var", "s_coords",
ty.f32(), {});
- auto* cs_depth_texture_type =
- MakeDepthTextureType(ast::TextureDimension::k2d);
- AddDepthTexture("cs_texture", cs_depth_texture_type, 3, 1);
+ auto* cs_depth_texture_type = ty.depth_texture(ast::TextureDimension::k2d);
+ AddResource("cs_texture", cs_depth_texture_type, 3, 1);
AddComparisonSampler("cs_var", 3, 2);
AddGlobalVariable("cs_coords", ty.vec2<f32>());
AddGlobalVariable("cs_depth", ty.f32());
MakeComparisonSamplerReferenceBodyFunction(
"cs_func", "cs_texture", "cs_var", "cs_coords", "cs_depth", ty.f32(), {});
+ auto* depth_ms_texture_type =
+ ty.depth_multisampled_texture(ast::TextureDimension::k2d);
+ AddResource("depth_ms_texture", depth_ms_texture_type, 3, 3);
+ Func("depth_ms_func", {}, ty.void_(), {Ignore("depth_ms_texture")});
+
auto* st_type = MakeStorageTextureTypes(ast::TextureDimension::k2d,
ast::ImageFormat::kR32Uint, false);
AddStorageTexture("st_var", st_type, 4, 0);
@@ -1033,7 +1041,7 @@
MakeCallerBodyFunction("ep_func",
{"ub_func", "sb_func", "rosb_func", "s_func",
- "cs_func", "st_func", "rost_func"},
+ "cs_func", "depth_ms_func", "st_func", "rost_func"},
ast::DecorationList{
Stage(ast::PipelineStage::kFragment),
});
@@ -1042,7 +1050,7 @@
auto result = inspector.GetResourceBindings("ep_func");
ASSERT_FALSE(inspector.has_error()) << inspector.error();
- ASSERT_EQ(9u, result.size());
+ ASSERT_EQ(10u, result.size());
EXPECT_EQ(ResourceBinding::ResourceType::kUniformBuffer,
result[0].resource_type);
@@ -1087,6 +1095,11 @@
result[8].resource_type);
EXPECT_EQ(3u, result[8].bind_group);
EXPECT_EQ(1u, result[8].binding);
+
+ EXPECT_EQ(ResourceBinding::ResourceType::kDepthMultisampledTexture,
+ result[9].resource_type);
+ EXPECT_EQ(3u, result[9].bind_group);
+ EXPECT_EQ(3u, result[9].binding);
}
TEST_F(InspectorGetUniformBufferResourceBindingsTest, MissingEntryPoint) {
@@ -1663,8 +1676,8 @@
TEST_F(InspectorGetSamplerResourceBindingsTest, Simple) {
auto* sampled_texture_type =
- MakeSampledTextureType(ast::TextureDimension::k1d, ty.f32());
- AddSampledTexture("foo_texture", sampled_texture_type, 0, 0);
+ ty.sampled_texture(ast::TextureDimension::k1d, ty.f32());
+ AddResource("foo_texture", sampled_texture_type, 0, 0);
AddSampler("foo_sampler", 0, 1);
AddGlobalVariable("foo_coords", ty.f32());
@@ -1700,8 +1713,8 @@
TEST_F(InspectorGetSamplerResourceBindingsTest, InFunction) {
auto* sampled_texture_type =
- MakeSampledTextureType(ast::TextureDimension::k1d, ty.f32());
- AddSampledTexture("foo_texture", sampled_texture_type, 0, 0);
+ ty.sampled_texture(ast::TextureDimension::k1d, ty.f32());
+ AddResource("foo_texture", sampled_texture_type, 0, 0);
AddSampler("foo_sampler", 0, 1);
AddGlobalVariable("foo_coords", ty.f32());
@@ -1726,8 +1739,8 @@
TEST_F(InspectorGetSamplerResourceBindingsTest, UnknownEntryPoint) {
auto* sampled_texture_type =
- MakeSampledTextureType(ast::TextureDimension::k1d, ty.f32());
- AddSampledTexture("foo_texture", sampled_texture_type, 0, 0);
+ ty.sampled_texture(ast::TextureDimension::k1d, ty.f32());
+ AddResource("foo_texture", sampled_texture_type, 0, 0);
AddSampler("foo_sampler", 0, 1);
AddGlobalVariable("foo_coords", ty.f32());
@@ -1744,8 +1757,8 @@
}
TEST_F(InspectorGetSamplerResourceBindingsTest, SkipsComparisonSamplers) {
- auto* depth_texture_type = MakeDepthTextureType(ast::TextureDimension::k2d);
- AddDepthTexture("foo_texture", depth_texture_type, 0, 0);
+ auto* depth_texture_type = ty.depth_texture(ast::TextureDimension::k2d);
+ AddResource("foo_texture", depth_texture_type, 0, 0);
AddComparisonSampler("foo_sampler", 0, 1);
AddGlobalVariable("foo_coords", ty.vec2<f32>());
AddGlobalVariable("foo_depth", ty.f32());
@@ -1765,8 +1778,8 @@
}
TEST_F(InspectorGetComparisonSamplerResourceBindingsTest, Simple) {
- auto* depth_texture_type = MakeDepthTextureType(ast::TextureDimension::k2d);
- AddDepthTexture("foo_texture", depth_texture_type, 0, 0);
+ auto* depth_texture_type = ty.depth_texture(ast::TextureDimension::k2d);
+ AddResource("foo_texture", depth_texture_type, 0, 0);
AddComparisonSampler("foo_sampler", 0, 1);
AddGlobalVariable("foo_coords", ty.vec2<f32>());
AddGlobalVariable("foo_depth", ty.f32());
@@ -1803,8 +1816,8 @@
}
TEST_F(InspectorGetComparisonSamplerResourceBindingsTest, InFunction) {
- auto* depth_texture_type = MakeDepthTextureType(ast::TextureDimension::k2d);
- AddDepthTexture("foo_texture", depth_texture_type, 0, 0);
+ auto* depth_texture_type = ty.depth_texture(ast::TextureDimension::k2d);
+ AddResource("foo_texture", depth_texture_type, 0, 0);
AddComparisonSampler("foo_sampler", 0, 1);
AddGlobalVariable("foo_coords", ty.vec2<f32>());
AddGlobalVariable("foo_depth", ty.f32());
@@ -1831,8 +1844,8 @@
}
TEST_F(InspectorGetComparisonSamplerResourceBindingsTest, UnknownEntryPoint) {
- auto* depth_texture_type = MakeDepthTextureType(ast::TextureDimension::k2d);
- AddDepthTexture("foo_texture", depth_texture_type, 0, 0);
+ auto* depth_texture_type = ty.depth_texture(ast::TextureDimension::k2d);
+ AddResource("foo_texture", depth_texture_type, 0, 0);
AddComparisonSampler("foo_sampler", 0, 1);
AddGlobalVariable("foo_coords", ty.vec2<f32>());
AddGlobalVariable("foo_depth", ty.f32());
@@ -1851,8 +1864,8 @@
TEST_F(InspectorGetComparisonSamplerResourceBindingsTest, SkipsSamplers) {
auto* sampled_texture_type =
- MakeSampledTextureType(ast::TextureDimension::k1d, ty.f32());
- AddSampledTexture("foo_texture", sampled_texture_type, 0, 0);
+ ty.sampled_texture(ast::TextureDimension::k1d, ty.f32());
+ AddResource("foo_texture", sampled_texture_type, 0, 0);
AddSampler("foo_sampler", 0, 1);
AddGlobalVariable("foo_coords", ty.f32());
@@ -1884,9 +1897,9 @@
}
TEST_P(InspectorGetSampledTextureResourceBindingsTestWithParam, textureSample) {
- auto* sampled_texture_type = MakeSampledTextureType(
+ auto* sampled_texture_type = ty.sampled_texture(
GetParam().type_dim, GetBaseType(GetParam().sampled_kind));
- AddSampledTexture("foo_texture", sampled_texture_type, 0, 0);
+ AddResource("foo_texture", sampled_texture_type, 0, 0);
AddSampler("foo_sampler", 0, 1);
auto* coord_type = GetCoordsType(GetParam().type_dim, ty.f32());
AddGlobalVariable("foo_coords", coord_type);
@@ -1942,9 +1955,9 @@
TEST_P(InspectorGetSampledArrayTextureResourceBindingsTestWithParam,
textureSample) {
- auto* sampled_texture_type = MakeSampledTextureType(
+ auto* sampled_texture_type = ty.sampled_texture(
GetParam().type_dim, GetBaseType(GetParam().sampled_kind));
- AddSampledTexture("foo_texture", sampled_texture_type, 0, 0);
+ AddResource("foo_texture", sampled_texture_type, 0, 0);
AddSampler("foo_sampler", 0, 1);
auto* coord_type = GetCoordsType(GetParam().type_dim, ty.f32());
AddGlobalVariable("foo_coords", coord_type);
@@ -1986,9 +1999,9 @@
TEST_P(InspectorGetMultisampledTextureResourceBindingsTestWithParam,
textureLoad) {
- auto* multisampled_texture_type = MakeMultisampledTextureType(
+ auto* multisampled_texture_type = ty.multisampled_texture(
GetParam().type_dim, GetBaseType(GetParam().sampled_kind));
- AddMultisampledTexture("foo_texture", multisampled_texture_type, 0, 0);
+ AddResource("foo_texture", multisampled_texture_type, 0, 0);
auto* coord_type = GetCoordsType(GetParam().type_dim, ty.i32());
AddGlobalVariable("foo_coords", coord_type);
AddGlobalVariable("foo_sample_index", ty.i32());
@@ -2055,9 +2068,9 @@
TEST_P(InspectorGetMultisampledArrayTextureResourceBindingsTestWithParam,
DISABLED_textureSample) {
- auto* multisampled_texture_type = MakeMultisampledTextureType(
+ auto* multisampled_texture_type = ty.multisampled_texture(
GetParam().type_dim, GetBaseType(GetParam().sampled_kind));
- AddMultisampledTexture("foo_texture", multisampled_texture_type, 0, 0);
+ AddResource("foo_texture", multisampled_texture_type, 0, 0);
AddSampler("foo_sampler", 0, 1);
auto* coord_type = GetCoordsType(GetParam().type_dim, ty.f32());
AddGlobalVariable("foo_coords", coord_type);
@@ -2247,13 +2260,12 @@
TEST_P(InspectorGetDepthTextureResourceBindingsTestWithParam,
textureDimensions) {
- auto* depth_texture_type = MakeDepthTextureType(GetParam().type_dim);
- AddDepthTexture("dt", depth_texture_type, 0, 0);
- AddGlobalVariable("dt_level", ty.i32());
+ auto* depth_texture_type = ty.depth_texture(GetParam().type_dim);
+ AddResource("dt", depth_texture_type, 0, 0);
Func("ep", ast::VariableList(), ty.void_(),
ast::StatementList{
- Ignore(Call("textureDimensions", "dt", "dt_level")),
+ Ignore(Call("textureDimensions", "dt")),
},
ast::DecorationList{
Stage(ast::PipelineStage::kFragment),
@@ -2289,9 +2301,36 @@
ast::TextureDimension::kCubeArray,
inspector::ResourceBinding::TextureDimension::kCubeArray}));
+TEST_F(InspectorGetDepthMultisampledTextureResourceBindingsTest,
+ textureDimensions) {
+ auto* depth_ms_texture_type =
+ ty.depth_multisampled_texture(ast::TextureDimension::k2d);
+ AddResource("tex", depth_ms_texture_type, 0, 0);
+
+ Func("ep", ast::VariableList(), ty.void_(),
+ ast::StatementList{
+ Ignore(Call("textureDimensions", "tex")),
+ },
+ ast::DecorationList{
+ Stage(ast::PipelineStage::kFragment),
+ });
+
+ Inspector& inspector = Build();
+
+ auto result = inspector.GetDepthMultisampledTextureResourceBindings("ep");
+ ASSERT_FALSE(inspector.has_error()) << inspector.error();
+
+ EXPECT_EQ(ResourceBinding::ResourceType::kDepthMultisampledTexture,
+ result[0].resource_type);
+ ASSERT_EQ(1u, result.size());
+ EXPECT_EQ(0u, result[0].bind_group);
+ EXPECT_EQ(0u, result[0].binding);
+ EXPECT_EQ(ResourceBinding::TextureDimension::k2d, result[0].dim);
+}
+
TEST_F(InspectorGetExternalTextureResourceBindingsTest, Simple) {
- auto* external_texture_type = MakeExternalTextureType();
- AddExternalTexture("et", external_texture_type, 0, 0);
+ auto* external_texture_type = ty.external_texture();
+ AddResource("et", external_texture_type, 0, 0);
Func("ep", ast::VariableList(), ty.void_(),
ast::StatementList{
@@ -2328,8 +2367,8 @@
TEST_F(InspectorGetSamplerTextureUsesTest, Simple) {
auto* sampled_texture_type =
- MakeSampledTextureType(ast::TextureDimension::k1d, ty.f32());
- AddSampledTexture("foo_texture", sampled_texture_type, 0, 10);
+ ty.sampled_texture(ast::TextureDimension::k1d, ty.f32());
+ AddResource("foo_texture", sampled_texture_type, 0, 10);
AddSampler("foo_sampler", 0, 1);
AddGlobalVariable("foo_coords", ty.f32());
@@ -2354,8 +2393,8 @@
TEST_F(InspectorGetSamplerTextureUsesTest, MultipleCalls) {
auto* sampled_texture_type =
- MakeSampledTextureType(ast::TextureDimension::k1d, ty.f32());
- AddSampledTexture("foo_texture", sampled_texture_type, 0, 10);
+ ty.sampled_texture(ast::TextureDimension::k1d, ty.f32());
+ AddResource("foo_texture", sampled_texture_type, 0, 10);
AddSampler("foo_sampler", 0, 1);
AddGlobalVariable("foo_coords", ty.f32());
@@ -2378,8 +2417,8 @@
TEST_F(InspectorGetSamplerTextureUsesTest, InFunction) {
auto* sampled_texture_type =
- MakeSampledTextureType(ast::TextureDimension::k1d, ty.f32());
- AddSampledTexture("foo_texture", sampled_texture_type, 0, 0);
+ ty.sampled_texture(ast::TextureDimension::k1d, ty.f32());
+ AddResource("foo_texture", sampled_texture_type, 0, 0);
AddSampler("foo_sampler", 0, 1);
AddGlobalVariable("foo_coords", ty.f32());
diff --git a/src/inspector/resource_binding.h b/src/inspector/resource_binding.h
index faf609a..f107626 100644
--- a/src/inspector/resource_binding.h
+++ b/src/inspector/resource_binding.h
@@ -99,6 +99,7 @@
kReadOnlyStorageTexture,
kWriteOnlyStorageTexture,
kDepthTexture,
+ kDepthMultisampledTexture,
kExternalTexture
};
diff --git a/src/inspector/test_inspector_builder.cc b/src/inspector/test_inspector_builder.cc
index 5667acb..ad048af 100644
--- a/src/inspector/test_inspector_builder.cc
+++ b/src/inspector/test_inspector_builder.cc
@@ -207,42 +207,10 @@
});
}
-ast::SampledTexture* InspectorBuilder::MakeSampledTextureType(
- ast::TextureDimension dim,
- ast::Type* type) {
- return ty.sampled_texture(dim, type);
-}
-
-ast::DepthTexture* InspectorBuilder::MakeDepthTextureType(
- ast::TextureDimension dim) {
- return ty.depth_texture(dim);
-}
-
-ast::MultisampledTexture* InspectorBuilder::MakeMultisampledTextureType(
- ast::TextureDimension dim,
- ast::Type* type) {
- return ty.multisampled_texture(dim, type);
-}
-
-ast::ExternalTexture* InspectorBuilder::MakeExternalTextureType() {
- return ty.external_texture();
-}
-
-void InspectorBuilder::AddSampledTexture(const std::string& name,
- ast::Type* type,
- uint32_t group,
- uint32_t binding) {
- Global(name, type,
- ast::DecorationList{
- create<ast::BindingDecoration>(binding),
- create<ast::GroupDecoration>(group),
- });
-}
-
-void InspectorBuilder::AddMultisampledTexture(const std::string& name,
- ast::Type* type,
- uint32_t group,
- uint32_t binding) {
+void InspectorBuilder::AddResource(const std::string& name,
+ ast::Type* type,
+ uint32_t group,
+ uint32_t binding) {
Global(name, type,
ast::DecorationList{
create<ast::BindingDecoration>(binding),
@@ -255,28 +223,6 @@
Global(name, type, ast::StorageClass::kPrivate);
}
-void InspectorBuilder::AddDepthTexture(const std::string& name,
- ast::Type* type,
- uint32_t group,
- uint32_t binding) {
- Global(name, type,
- ast::DecorationList{
- create<ast::BindingDecoration>(binding),
- create<ast::GroupDecoration>(group),
- });
-}
-
-void InspectorBuilder::AddExternalTexture(const std::string& name,
- ast::Type* type,
- uint32_t group,
- uint32_t binding) {
- Global(name, type,
- ast::DecorationList{
- create<ast::BindingDecoration>(binding),
- create<ast::GroupDecoration>(group),
- });
-}
-
ast::Function* InspectorBuilder::MakeSamplerReferenceBodyFunction(
const std::string& func_name,
const std::string& texture_name,
diff --git a/src/inspector/test_inspector_builder.h b/src/inspector/test_inspector_builder.h
index 7697601..03cf838 100644
--- a/src/inspector/test_inspector_builder.h
+++ b/src/inspector/test_inspector_builder.h
@@ -256,75 +256,21 @@
uint32_t group,
uint32_t binding);
- /// Generates a SampledTexture appropriate for the params
- /// @param dim the dimensions of the texture
- /// @param type the data type of the sampled texture
- /// @returns the generated SampleTextureType
- ast::SampledTexture* MakeSampledTextureType(ast::TextureDimension dim,
- ast::Type* type);
-
- /// Generates a DepthTexture appropriate for the params
- /// @param dim the dimensions of the texture
- /// @returns the generated DepthTexture
- ast::DepthTexture* MakeDepthTextureType(ast::TextureDimension dim);
-
- /// Generates a MultisampledTexture appropriate for the params
- /// @param dim the dimensions of the texture
- /// @param type the data type of the sampled texture
- /// @returns the generated SampleTextureType
- ast::MultisampledTexture* MakeMultisampledTextureType(
- ast::TextureDimension dim,
- ast::Type* type);
-
- /// Generates an ExternalTexture appropriate for the params
- /// @returns the generated ExternalTexture
- ast::ExternalTexture* MakeExternalTextureType();
-
- /// Adds a sampled texture variable to the program
+ /// Adds a sampler or texture variable to the program
/// @param name the name of the variable
/// @param type the type to use
- /// @param group the binding/group to use for the sampled texture
- /// @param binding the binding number to use for the sampled texture
- void AddSampledTexture(const std::string& name,
- ast::Type* type,
- uint32_t group,
- uint32_t binding);
-
- /// Adds a multi-sampled texture variable to the program
- /// @param name the name of the variable
- /// @param type the type to use
- /// @param group the binding/group to use for the multi-sampled texture
- /// @param binding the binding number to use for the multi-sampled texture
- void AddMultisampledTexture(const std::string& name,
- ast::Type* type,
- uint32_t group,
- uint32_t binding);
+ /// @param group the binding/group to use for the resource
+ /// @param binding the binding number to use for the resource
+ void AddResource(const std::string& name,
+ ast::Type* type,
+ uint32_t group,
+ uint32_t binding);
/// Add a module scope private variable to the progames
/// @param name the name of the variable
/// @param type the type to use
void AddGlobalVariable(const std::string& name, ast::Type* type);
- /// Adds a depth texture variable to the program
- /// @param name the name of the variable
- /// @param type the type to use
- /// @param group the binding/group to use for the depth texture
- /// @param binding the binding number to use for the depth texture
- void AddDepthTexture(const std::string& name,
- ast::Type* type,
- uint32_t group,
- uint32_t binding);
-
- /// Adds an external texture variable to the program
- /// @param name the name of the variable
- /// @param type the type to use
- /// @param group the binding/group to use for the external texture
- /// @param binding the binding number to use for the external texture
- void AddExternalTexture(const std::string& name,
- ast::Type* type,
- uint32_t group,
- uint32_t binding);
-
/// Generates a function that references a specific sampler variable
/// @param func_name name of the function created
/// @param texture_name name of the texture to be sampled
diff --git a/src/intrinsic_table.cc b/src/intrinsic_table.cc
index 4f02b6d..970a9dd 100644
--- a/src/intrinsic_table.cc
+++ b/src/intrinsic_table.cc
@@ -21,6 +21,7 @@
#include "src/program_builder.h"
#include "src/sem/atomic_type.h"
+#include "src/sem/depth_multisampled_texture_type.h"
#include "src/sem/depth_texture_type.h"
#include "src/sem/external_texture_type.h"
#include "src/sem/multisampled_texture_type.h"
@@ -592,6 +593,20 @@
DECLARE_DEPTH_TEXTURE(cube_array, ast::TextureDimension::kCubeArray)
#undef DECLARE_DEPTH_TEXTURE
+bool match_texture_depth_multisampled_2d(const sem::Type* ty) {
+ if (ty->Is<Any>()) {
+ return true;
+ }
+ return ty->Is<sem::DepthMultisampledTexture>(
+ [&](auto t) { return t->dim() == ast::TextureDimension::k2d; });
+}
+
+sem::DepthMultisampledTexture* build_texture_depth_multisampled_2d(
+ MatchState& state) {
+ return state.builder.create<sem::DepthMultisampledTexture>(
+ ast::TextureDimension::k2d);
+}
+
bool match_texture_storage(const sem::Type* ty,
ast::TextureDimension dim,
Number& F,
diff --git a/src/intrinsic_table.inl b/src/intrinsic_table.inl
index 8792292..430fa8b 100644
--- a/src/intrinsic_table.inl
+++ b/src/intrinsic_table.inl
@@ -823,8 +823,35 @@
return "texture_depth_cube_array";
}
-/// TypeMatcher for 'type texture_storage_1d'
+/// TypeMatcher for 'type texture_depth_multisampled_2d'
/// @see src/intrinsics.def:93:6
+class TextureDepthMultisampled2D : public TypeMatcher {
+ public:
+ /// Checks whether the given type matches the matcher rules.
+ /// Match may close open types and numbers in state.
+ /// @param state the MatchState
+ /// @param type the type to match
+ /// @returns the canonicalized type on match, otherwise nullptr
+ const sem::Type* Match(MatchState& state,
+ const sem::Type* type) const override;
+ /// @param state the MatchState
+ /// @return a string representation of the matcher.
+ std::string String(MatchState& state) const override;
+};
+
+const sem::Type* TextureDepthMultisampled2D::Match(MatchState& state, const sem::Type* ty) const {
+ if (!match_texture_depth_multisampled_2d(ty)) {
+ return nullptr;
+ }
+ return build_texture_depth_multisampled_2d(state);
+}
+
+std::string TextureDepthMultisampled2D::String(MatchState&) const {
+ return "texture_depth_multisampled_2d";
+}
+
+/// TypeMatcher for 'type texture_storage_1d'
+/// @see src/intrinsics.def:94:6
class TextureStorage1D : public TypeMatcher {
public:
/// Checks whether the given type matches the matcher rules.
@@ -863,7 +890,7 @@
}
/// TypeMatcher for 'type texture_storage_2d'
-/// @see src/intrinsics.def:94:6
+/// @see src/intrinsics.def:95:6
class TextureStorage2D : public TypeMatcher {
public:
/// Checks whether the given type matches the matcher rules.
@@ -902,7 +929,7 @@
}
/// TypeMatcher for 'type texture_storage_2d_array'
-/// @see src/intrinsics.def:95:6
+/// @see src/intrinsics.def:96:6
class TextureStorage2DArray : public TypeMatcher {
public:
/// Checks whether the given type matches the matcher rules.
@@ -941,7 +968,7 @@
}
/// TypeMatcher for 'type texture_storage_3d'
-/// @see src/intrinsics.def:96:6
+/// @see src/intrinsics.def:97:6
class TextureStorage3D : public TypeMatcher {
public:
/// Checks whether the given type matches the matcher rules.
@@ -980,7 +1007,7 @@
}
/// TypeMatcher for 'type texture_external'
-/// @see src/intrinsics.def:97:6
+/// @see src/intrinsics.def:98:6
class TextureExternal : public TypeMatcher {
public:
/// Checks whether the given type matches the matcher rules.
@@ -1007,7 +1034,7 @@
}
/// TypeMatcher for 'type _modf_result'
-/// @see src/intrinsics.def:99:6
+/// @see src/intrinsics.def:100:6
class ModfResult : public TypeMatcher {
public:
/// Checks whether the given type matches the matcher rules.
@@ -1034,7 +1061,7 @@
}
/// TypeMatcher for 'type _modf_result_vec'
-/// @see src/intrinsics.def:100:41
+/// @see src/intrinsics.def:101:41
class ModfResultVec : public TypeMatcher {
public:
/// Checks whether the given type matches the matcher rules.
@@ -1069,7 +1096,7 @@
}
/// TypeMatcher for 'type _frexp_result'
-/// @see src/intrinsics.def:101:6
+/// @see src/intrinsics.def:102:6
class FrexpResult : public TypeMatcher {
public:
/// Checks whether the given type matches the matcher rules.
@@ -1096,7 +1123,7 @@
}
/// TypeMatcher for 'type _frexp_result_vec'
-/// @see src/intrinsics.def:102:42
+/// @see src/intrinsics.def:103:42
class FrexpResultVec : public TypeMatcher {
public:
/// Checks whether the given type matches the matcher rules.
@@ -1131,7 +1158,7 @@
}
/// TypeMatcher for 'match fiu32'
-/// @see src/intrinsics.def:110:7
+/// @see src/intrinsics.def:111:7
class Fiu32 : public TypeMatcher {
public:
/// Checks whether the given type matches the matcher rules, and returns the
@@ -1165,7 +1192,7 @@
}
/// TypeMatcher for 'match iu32'
-/// @see src/intrinsics.def:111:7
+/// @see src/intrinsics.def:112:7
class Iu32 : public TypeMatcher {
public:
/// Checks whether the given type matches the matcher rules, and returns the
@@ -1196,7 +1223,7 @@
}
/// TypeMatcher for 'match scalar'
-/// @see src/intrinsics.def:112:7
+/// @see src/intrinsics.def:113:7
class Scalar : public TypeMatcher {
public:
/// Checks whether the given type matches the matcher rules, and returns the
@@ -1233,7 +1260,7 @@
}
/// EnumMatcher for 'match f32_texel_format'
-/// @see src/intrinsics.def:123:7
+/// @see src/intrinsics.def:124:7
class F32TexelFormat : public NumberMatcher {
public:
/// Checks whether the given number matches the enum matcher rules.
@@ -1266,7 +1293,7 @@
}
/// EnumMatcher for 'match i32_texel_format'
-/// @see src/intrinsics.def:125:7
+/// @see src/intrinsics.def:126:7
class I32TexelFormat : public NumberMatcher {
public:
/// Checks whether the given number matches the enum matcher rules.
@@ -1298,7 +1325,7 @@
}
/// EnumMatcher for 'match u32_texel_format'
-/// @see src/intrinsics.def:127:7
+/// @see src/intrinsics.def:128:7
class U32TexelFormat : public NumberMatcher {
public:
/// Checks whether the given number matches the enum matcher rules.
@@ -1330,7 +1357,7 @@
}
/// EnumMatcher for 'match read_or_write'
-/// @see src/intrinsics.def:130:7
+/// @see src/intrinsics.def:131:7
class ReadOrWrite : public NumberMatcher {
public:
/// Checks whether the given number matches the enum matcher rules.
@@ -1359,7 +1386,7 @@
}
/// EnumMatcher for 'match function_private_workgroup'
-/// @see src/intrinsics.def:132:7
+/// @see src/intrinsics.def:133:7
class FunctionPrivateWorkgroup : public NumberMatcher {
public:
/// Checks whether the given number matches the enum matcher rules.
@@ -1389,7 +1416,7 @@
}
/// EnumMatcher for 'match workgroup_or_storage'
-/// @see src/intrinsics.def:133:7
+/// @see src/intrinsics.def:134:7
class WorkgroupOrStorage : public NumberMatcher {
public:
/// Checks whether the given number matches the enum matcher rules.
@@ -1549,6 +1576,7 @@
TextureDepth2DArray TextureDepth2DArray_;
TextureDepthCube TextureDepthCube_;
TextureDepthCubeArray TextureDepthCubeArray_;
+ TextureDepthMultisampled2D TextureDepthMultisampled2D_;
TextureStorage1D TextureStorage1D_;
TextureStorage2D TextureStorage2D_;
TextureStorage2DArray TextureStorage2DArray_;
@@ -1579,7 +1607,7 @@
~Matchers();
/// The open-types, types, and type matchers
- TypeMatcher const* const type[38] = {
+ TypeMatcher const* const type[39] = {
/* [0] */ &open_type_0_,
/* [1] */ &Bool_,
/* [2] */ &F32_,
@@ -1606,18 +1634,19 @@
/* [23] */ &TextureDepth2DArray_,
/* [24] */ &TextureDepthCube_,
/* [25] */ &TextureDepthCubeArray_,
- /* [26] */ &TextureStorage1D_,
- /* [27] */ &TextureStorage2D_,
- /* [28] */ &TextureStorage2DArray_,
- /* [29] */ &TextureStorage3D_,
- /* [30] */ &TextureExternal_,
- /* [31] */ &ModfResult_,
- /* [32] */ &ModfResultVec_,
- /* [33] */ &FrexpResult_,
- /* [34] */ &FrexpResultVec_,
- /* [35] */ &Fiu32_,
- /* [36] */ &Iu32_,
- /* [37] */ &Scalar_,
+ /* [26] */ &TextureDepthMultisampled2D_,
+ /* [27] */ &TextureStorage1D_,
+ /* [28] */ &TextureStorage2D_,
+ /* [29] */ &TextureStorage2DArray_,
+ /* [30] */ &TextureStorage3D_,
+ /* [31] */ &TextureExternal_,
+ /* [32] */ &ModfResult_,
+ /* [33] */ &ModfResultVec_,
+ /* [34] */ &FrexpResult_,
+ /* [35] */ &FrexpResultVec_,
+ /* [36] */ &Fiu32_,
+ /* [37] */ &Iu32_,
+ /* [38] */ &Scalar_,
};
/// The open-numbers, and number matchers
@@ -1642,7 +1671,7 @@
Matchers::~Matchers() = default;
constexpr MatcherIndex kMatcherIndices[] = {
- /* [0] */ 29,
+ /* [0] */ 30,
/* [1] */ 5,
/* [2] */ 10,
/* [3] */ 1,
@@ -1689,124 +1718,124 @@
/* [44] */ 8,
/* [45] */ 0,
/* [46] */ 0,
- /* [47] */ 28,
+ /* [47] */ 29,
/* [48] */ 0,
/* [49] */ 1,
- /* [50] */ 29,
+ /* [50] */ 30,
/* [51] */ 0,
/* [52] */ 1,
- /* [53] */ 27,
+ /* [53] */ 28,
/* [54] */ 0,
/* [55] */ 1,
- /* [56] */ 29,
+ /* [56] */ 30,
/* [57] */ 5,
/* [58] */ 11,
- /* [59] */ 26,
+ /* [59] */ 27,
/* [60] */ 0,
/* [61] */ 1,
- /* [62] */ 28,
+ /* [62] */ 29,
/* [63] */ 5,
/* [64] */ 11,
- /* [65] */ 27,
+ /* [65] */ 28,
/* [66] */ 5,
/* [67] */ 11,
/* [68] */ 8,
/* [69] */ 0,
/* [70] */ 1,
- /* [71] */ 26,
+ /* [71] */ 27,
/* [72] */ 5,
/* [73] */ 11,
- /* [74] */ 29,
+ /* [74] */ 30,
/* [75] */ 4,
/* [76] */ 11,
- /* [77] */ 28,
+ /* [77] */ 29,
/* [78] */ 4,
/* [79] */ 11,
- /* [80] */ 27,
+ /* [80] */ 28,
/* [81] */ 4,
/* [82] */ 11,
- /* [83] */ 26,
+ /* [83] */ 27,
/* [84] */ 4,
/* [85] */ 11,
- /* [86] */ 29,
+ /* [86] */ 30,
/* [87] */ 3,
/* [88] */ 11,
- /* [89] */ 28,
+ /* [89] */ 29,
/* [90] */ 3,
/* [91] */ 11,
- /* [92] */ 27,
+ /* [92] */ 28,
/* [93] */ 3,
/* [94] */ 11,
- /* [95] */ 26,
+ /* [95] */ 27,
/* [96] */ 3,
/* [97] */ 11,
- /* [98] */ 28,
+ /* [98] */ 29,
/* [99] */ 5,
/* [100] */ 10,
- /* [101] */ 27,
+ /* [101] */ 28,
/* [102] */ 5,
/* [103] */ 10,
- /* [104] */ 26,
+ /* [104] */ 27,
/* [105] */ 5,
/* [106] */ 10,
- /* [107] */ 29,
+ /* [107] */ 30,
/* [108] */ 4,
/* [109] */ 10,
- /* [110] */ 28,
+ /* [110] */ 29,
/* [111] */ 4,
/* [112] */ 10,
- /* [113] */ 27,
+ /* [113] */ 28,
/* [114] */ 4,
/* [115] */ 10,
- /* [116] */ 26,
+ /* [116] */ 27,
/* [117] */ 4,
/* [118] */ 10,
- /* [119] */ 29,
+ /* [119] */ 30,
/* [120] */ 3,
/* [121] */ 10,
- /* [122] */ 28,
+ /* [122] */ 29,
/* [123] */ 3,
/* [124] */ 10,
- /* [125] */ 26,
+ /* [125] */ 27,
/* [126] */ 3,
/* [127] */ 10,
- /* [128] */ 27,
+ /* [128] */ 28,
/* [129] */ 3,
/* [130] */ 10,
- /* [131] */ 5,
- /* [132] */ 3,
- /* [133] */ 7,
- /* [134] */ 2,
- /* [135] */ 5,
+ /* [131] */ 6,
+ /* [132] */ 2,
+ /* [133] */ 5,
+ /* [134] */ 3,
+ /* [135] */ 7,
/* [136] */ 2,
/* [137] */ 6,
/* [138] */ 3,
/* [139] */ 7,
/* [140] */ 3,
- /* [141] */ 6,
+ /* [141] */ 5,
/* [142] */ 2,
- /* [143] */ 32,
- /* [144] */ 0,
- /* [145] */ 7,
- /* [146] */ 4,
+ /* [143] */ 7,
+ /* [144] */ 4,
+ /* [145] */ 33,
+ /* [146] */ 0,
/* [147] */ 20,
/* [148] */ 2,
/* [149] */ 15,
/* [150] */ 0,
/* [151] */ 7,
/* [152] */ 0,
- /* [153] */ 34,
+ /* [153] */ 16,
/* [154] */ 0,
- /* [155] */ 19,
- /* [156] */ 2,
- /* [157] */ 16,
- /* [158] */ 0,
- /* [159] */ 18,
- /* [160] */ 2,
- /* [161] */ 17,
+ /* [155] */ 35,
+ /* [156] */ 0,
+ /* [157] */ 19,
+ /* [158] */ 2,
+ /* [159] */ 17,
+ /* [160] */ 0,
+ /* [161] */ 18,
/* [162] */ 0,
/* [163] */ 18,
- /* [164] */ 0,
+ /* [164] */ 2,
/* [165] */ 21,
/* [166] */ 0,
/* [167] */ 17,
@@ -1821,15 +1850,16 @@
/* [176] */ 2,
/* [177] */ 5,
/* [178] */ 0,
- /* [179] */ 25,
- /* [180] */ 13,
+ /* [179] */ 13,
+ /* [180] */ 25,
/* [181] */ 24,
/* [182] */ 23,
/* [183] */ 22,
/* [184] */ 14,
- /* [185] */ 30,
+ /* [185] */ 26,
/* [186] */ 31,
- /* [187] */ 33,
+ /* [187] */ 32,
+ /* [188] */ 34,
};
// Assert that the MatcherIndex is big enough to index all the matchers, plus
@@ -1847,12 +1877,12 @@
{
/* [1] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
+ /* matcher indices */ &kMatcherIndices[179],
},
{
/* [2] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[141],
},
{
/* [3] */
@@ -1862,17 +1892,17 @@
{
/* [4] */
/* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[141],
},
{
/* [5] */
/* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[141],
},
{
/* [6] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [7] */
@@ -1882,12 +1912,12 @@
{
/* [8] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
+ /* matcher indices */ &kMatcherIndices[179],
},
{
/* [9] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[141],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [10] */
@@ -1897,12 +1927,12 @@
{
/* [11] */
/* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[141],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [12] */
/* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[141],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [13] */
@@ -1912,12 +1942,12 @@
{
/* [14] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
+ /* matcher indices */ &kMatcherIndices[179],
},
{
/* [15] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[141],
},
{
/* [16] */
@@ -1932,7 +1962,7 @@
{
/* [18] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [19] */
@@ -1942,12 +1972,12 @@
{
/* [20] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
+ /* matcher indices */ &kMatcherIndices[179],
},
{
/* [21] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[141],
},
{
/* [22] */
@@ -1962,77 +1992,77 @@
{
/* [24] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [25] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[167],
+ /* matcher indices */ &kMatcherIndices[163],
},
{
/* [26] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
+ /* matcher indices */ &kMatcherIndices[179],
},
{
/* [27] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [28] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[6],
+ /* usage */ ParameterUsage::kDdx,
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [29] */
- /* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[135],
+ /* usage */ ParameterUsage::kDdy,
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [30] */
- /* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[135],
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[137],
},
{
/* [31] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[169],
+ /* matcher indices */ &kMatcherIndices[182],
},
{
/* [32] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
+ /* matcher indices */ &kMatcherIndices[184],
},
{
/* [33] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[141],
},
{
/* [34] */
- /* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[135],
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[6],
},
{
/* [35] */
- /* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[135],
+ /* usage */ ParameterUsage::kDepthRef,
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [36] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [37] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[159],
+ /* matcher indices */ &kMatcherIndices[167],
},
{
/* [38] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
+ /* matcher indices */ &kMatcherIndices[179],
},
{
/* [39] */
@@ -2041,48 +2071,48 @@
},
{
/* [40] */
- /* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[141],
- },
- {
- /* [41] */
- /* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[141],
- },
- {
- /* [42] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[137],
- },
- {
- /* [43] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[182],
- },
- {
- /* [44] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[184],
- },
- {
- /* [45] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[135],
- },
- {
- /* [46] */
/* usage */ ParameterUsage::kArrayIndex,
/* matcher indices */ &kMatcherIndices[6],
},
{
+ /* [41] */
+ /* usage */ ParameterUsage::kDdx,
+ /* matcher indices */ &kMatcherIndices[141],
+ },
+ {
+ /* [42] */
+ /* usage */ ParameterUsage::kDdy,
+ /* matcher indices */ &kMatcherIndices[141],
+ },
+ {
+ /* [43] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[169],
+ },
+ {
+ /* [44] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[179],
+ },
+ {
+ /* [45] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[141],
+ },
+ {
+ /* [46] */
+ /* usage */ ParameterUsage::kDdx,
+ /* matcher indices */ &kMatcherIndices[141],
+ },
+ {
/* [47] */
- /* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[7],
+ /* usage */ ParameterUsage::kDdy,
+ /* matcher indices */ &kMatcherIndices[141],
},
{
/* [48] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [49] */
@@ -2092,12 +2122,12 @@
{
/* [50] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
+ /* matcher indices */ &kMatcherIndices[179],
},
{
/* [51] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[141],
},
{
/* [52] */
@@ -2112,7 +2142,7 @@
{
/* [54] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [55] */
@@ -2127,7 +2157,7 @@
{
/* [57] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[141],
},
{
/* [58] */
@@ -2142,17 +2172,17 @@
{
/* [60] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [61] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[159],
+ /* matcher indices */ &kMatcherIndices[183],
},
{
/* [62] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
+ /* matcher indices */ &kMatcherIndices[184],
},
{
/* [63] */
@@ -2161,28 +2191,28 @@
},
{
/* [64] */
- /* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[141],
+ /* usage */ ParameterUsage::kDepthRef,
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [65] */
- /* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[141],
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [66] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[147],
+ /* matcher indices */ &kMatcherIndices[180],
},
{
/* [67] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
+ /* matcher indices */ &kMatcherIndices[184],
},
{
/* [68] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[141],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [69] */
@@ -2191,43 +2221,43 @@
},
{
/* [70] */
- /* usage */ ParameterUsage::kBias,
+ /* usage */ ParameterUsage::kDepthRef,
/* matcher indices */ &kMatcherIndices[7],
},
{
/* [71] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[159],
+ /* matcher indices */ &kMatcherIndices[180],
},
{
/* [72] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
+ /* matcher indices */ &kMatcherIndices[179],
},
{
/* [73] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[141],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [74] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[7],
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[6],
},
{
/* [75] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[137],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[6],
},
{
/* [76] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[147],
+ /* matcher indices */ &kMatcherIndices[182],
},
{
/* [77] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
+ /* matcher indices */ &kMatcherIndices[184],
},
{
/* [78] */
@@ -2241,58 +2271,58 @@
},
{
/* [80] */
- /* usage */ ParameterUsage::kLevel,
+ /* usage */ ParameterUsage::kDepthRef,
/* matcher indices */ &kMatcherIndices[7],
},
{
/* [81] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[167],
+ /* matcher indices */ &kMatcherIndices[163],
},
{
/* [82] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
+ /* matcher indices */ &kMatcherIndices[179],
},
{
/* [83] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [84] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[6],
- },
- {
- /* [85] */
/* usage */ ParameterUsage::kLevel,
/* matcher indices */ &kMatcherIndices[7],
},
{
+ /* [85] */
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[137],
+ },
+ {
/* [86] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[159],
+ /* matcher indices */ &kMatcherIndices[147],
},
{
/* [87] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
+ /* matcher indices */ &kMatcherIndices[179],
},
{
/* [88] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[141],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [89] */
- /* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[7],
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[6],
},
{
/* [90] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[137],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [91] */
@@ -2302,22 +2332,22 @@
{
/* [92] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[184],
+ /* matcher indices */ &kMatcherIndices[179],
},
{
/* [93] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[141],
},
{
/* [94] */
- /* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[7],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[6],
},
{
/* [95] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [96] */
@@ -2327,12 +2357,12 @@
{
/* [97] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[184],
+ /* matcher indices */ &kMatcherIndices[179],
},
{
/* [98] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[141],
},
{
/* [99] */
@@ -2341,8 +2371,8 @@
},
{
/* [100] */
- /* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[7],
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [101] */
@@ -2352,37 +2382,37 @@
{
/* [102] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
+ /* matcher indices */ &kMatcherIndices[179],
},
{
/* [103] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[141],
},
{
/* [104] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[7],
+ /* usage */ ParameterUsage::kDdx,
+ /* matcher indices */ &kMatcherIndices[141],
},
{
/* [105] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[131],
+ /* usage */ ParameterUsage::kDdy,
+ /* matcher indices */ &kMatcherIndices[141],
},
{
/* [106] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[182],
+ /* matcher indices */ &kMatcherIndices[180],
},
{
/* [107] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
+ /* matcher indices */ &kMatcherIndices[184],
},
{
/* [108] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [109] */
@@ -2391,18 +2421,18 @@
},
{
/* [110] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[131],
+ /* usage */ ParameterUsage::kDepthRef,
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [111] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[179],
+ /* matcher indices */ &kMatcherIndices[167],
},
{
/* [112] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[184],
+ /* matcher indices */ &kMatcherIndices[179],
},
{
/* [113] */
@@ -2416,8 +2446,8 @@
},
{
/* [115] */
- /* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[7],
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [116] */
@@ -2427,12 +2457,12 @@
{
/* [117] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
+ /* matcher indices */ &kMatcherIndices[179],
},
{
/* [118] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[141],
},
{
/* [119] */
@@ -2441,98 +2471,98 @@
},
{
/* [120] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[131],
+ /* usage */ ParameterUsage::kBias,
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [121] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[183],
+ /* matcher indices */ &kMatcherIndices[182],
},
{
/* [122] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
+ /* matcher indices */ &kMatcherIndices[179],
},
{
/* [123] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[141],
},
{
/* [124] */
- /* usage */ ParameterUsage::kLevel,
+ /* usage */ ParameterUsage::kArrayIndex,
/* matcher indices */ &kMatcherIndices[6],
},
{
/* [125] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[131],
- },
- {
- /* [126] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[182],
- },
- {
- /* [127] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
- },
- {
- /* [128] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[135],
- },
- {
- /* [129] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[6],
- },
- {
- /* [130] */
/* usage */ ParameterUsage::kLevel,
/* matcher indices */ &kMatcherIndices[6],
},
{
+ /* [126] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[169],
+ },
+ {
+ /* [127] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[179],
+ },
+ {
+ /* [128] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[141],
+ },
+ {
+ /* [129] */
+ /* usage */ ParameterUsage::kBias,
+ /* matcher indices */ &kMatcherIndices[7],
+ },
+ {
+ /* [130] */
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[133],
+ },
+ {
/* [131] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[182],
+ /* matcher indices */ &kMatcherIndices[163],
},
{
/* [132] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[184],
+ /* matcher indices */ &kMatcherIndices[179],
},
{
/* [133] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [134] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[6],
+ /* usage */ ParameterUsage::kDdx,
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [135] */
- /* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[7],
+ /* usage */ ParameterUsage::kDdy,
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [136] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[179],
+ /* matcher indices */ &kMatcherIndices[147],
},
{
/* [137] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[184],
+ /* matcher indices */ &kMatcherIndices[179],
},
{
/* [138] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[141],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [139] */
@@ -2541,32 +2571,32 @@
},
{
/* [140] */
- /* usage */ ParameterUsage::kDepthRef,
+ /* usage */ ParameterUsage::kBias,
/* matcher indices */ &kMatcherIndices[7],
},
{
/* [141] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[169],
+ /* matcher indices */ &kMatcherIndices[157],
},
{
/* [142] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
+ /* matcher indices */ &kMatcherIndices[179],
},
{
/* [143] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [144] */
- /* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[7],
+ /* usage */ ParameterUsage::kDdx,
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [145] */
- /* usage */ ParameterUsage::kOffset,
+ /* usage */ ParameterUsage::kDdy,
/* matcher indices */ &kMatcherIndices[131],
},
{
@@ -2577,32 +2607,32 @@
{
/* [147] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
+ /* matcher indices */ &kMatcherIndices[179],
},
{
/* [148] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[141],
},
{
/* [149] */
- /* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[135],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [150] */
- /* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[135],
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [151] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[155],
+ /* matcher indices */ &kMatcherIndices[182],
},
{
/* [152] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
+ /* matcher indices */ &kMatcherIndices[184],
},
{
/* [153] */
@@ -2611,127 +2641,127 @@
},
{
/* [154] */
- /* usage */ ParameterUsage::kDdx,
- /* matcher indices */ &kMatcherIndices[141],
- },
- {
- /* [155] */
- /* usage */ ParameterUsage::kDdy,
- /* matcher indices */ &kMatcherIndices[141],
- },
- {
- /* [156] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[167],
- },
- {
- /* [157] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
- },
- {
- /* [158] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[135],
- },
- {
- /* [159] */
/* usage */ ParameterUsage::kArrayIndex,
/* matcher indices */ &kMatcherIndices[6],
},
{
- /* [160] */
- /* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[7],
- },
- {
- /* [161] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[183],
- },
- {
- /* [162] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[184],
- },
- {
- /* [163] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[135],
- },
- {
- /* [164] */
+ /* [155] */
/* usage */ ParameterUsage::kDepthRef,
/* matcher indices */ &kMatcherIndices[7],
},
{
- /* [165] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[131],
- },
- {
- /* [166] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[179],
- },
- {
- /* [167] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
- },
- {
- /* [168] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[141],
- },
- {
- /* [169] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[6],
- },
- {
- /* [170] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[6],
- },
- {
- /* [171] */
+ /* [156] */
/* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[183],
},
{
- /* [172] */
+ /* [157] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
+ /* matcher indices */ &kMatcherIndices[184],
},
{
- /* [173] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[135],
- },
- {
- /* [174] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[131],
- },
- {
- /* [175] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[181],
- },
- {
- /* [176] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
- },
- {
- /* [177] */
+ /* [158] */
/* usage */ ParameterUsage::kCoords,
/* matcher indices */ &kMatcherIndices[141],
},
{
- /* [178] */
+ /* [159] */
+ /* usage */ ParameterUsage::kDepthRef,
+ /* matcher indices */ &kMatcherIndices[7],
+ },
+ {
+ /* [160] */
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[133],
+ },
+ {
+ /* [161] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[167],
+ },
+ {
+ /* [162] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[179],
+ },
+ {
+ /* [163] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[141],
+ },
+ {
+ /* [164] */
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[6],
+ },
+ {
+ /* [165] */
/* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[7],
+ },
+ {
+ /* [166] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[163],
+ },
+ {
+ /* [167] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[179],
+ },
+ {
+ /* [168] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[131],
+ },
+ {
+ /* [169] */
+ /* usage */ ParameterUsage::kBias,
+ /* matcher indices */ &kMatcherIndices[7],
+ },
+ {
+ /* [170] */
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[137],
+ },
+ {
+ /* [171] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[169],
+ },
+ {
+ /* [172] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[179],
+ },
+ {
+ /* [173] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[141],
+ },
+ {
+ /* [174] */
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[7],
+ },
+ {
+ /* [175] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[180],
+ },
+ {
+ /* [176] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[179],
+ },
+ {
+ /* [177] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[131],
+ },
+ {
+ /* [178] */
+ /* usage */ ParameterUsage::kArrayIndex,
/* matcher indices */ &kMatcherIndices[6],
},
{
@@ -2742,7 +2772,7 @@
{
/* [180] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [181] */
@@ -2757,272 +2787,272 @@
{
/* [183] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[169],
+ /* matcher indices */ &kMatcherIndices[159],
},
{
/* [184] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [185] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[135],
- },
- {
- /* [186] */
- /* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[7],
- },
- {
- /* [187] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[179],
- },
- {
- /* [188] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
- },
- {
- /* [189] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[141],
- },
- {
- /* [190] */
/* usage */ ParameterUsage::kArrayIndex,
/* matcher indices */ &kMatcherIndices[6],
},
{
+ /* [186] */
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[6],
+ },
+ {
+ /* [187] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[163],
+ },
+ {
+ /* [188] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[179],
+ },
+ {
+ /* [189] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[131],
+ },
+ {
+ /* [190] */
+ /* usage */ ParameterUsage::kBias,
+ /* matcher indices */ &kMatcherIndices[7],
+ },
+ {
/* [191] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[169],
+ /* matcher indices */ &kMatcherIndices[183],
},
{
/* [192] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
+ /* matcher indices */ &kMatcherIndices[184],
},
{
/* [193] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[141],
},
{
/* [194] */
- /* usage */ ParameterUsage::kLevel,
+ /* usage */ ParameterUsage::kDepthRef,
/* matcher indices */ &kMatcherIndices[7],
},
{
/* [195] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[98],
+ /* matcher indices */ &kMatcherIndices[163],
},
{
/* [196] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[179],
+ },
+ {
+ /* [197] */
/* usage */ ParameterUsage::kCoords,
/* matcher indices */ &kMatcherIndices[131],
},
{
- /* [197] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[6],
- },
- {
/* [198] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[145],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [199] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[181],
+ /* matcher indices */ &kMatcherIndices[98],
},
{
/* [200] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[184],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [201] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[141],
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[6],
},
{
/* [202] */
- /* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[7],
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [203] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[110],
+ /* matcher indices */ &kMatcherIndices[182],
},
{
/* [204] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[131],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[179],
},
{
/* [205] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[6],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[141],
},
{
/* [206] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[139],
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[6],
},
{
/* [207] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[182],
+ /* matcher indices */ &kMatcherIndices[183],
},
{
/* [208] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
+ /* matcher indices */ &kMatcherIndices[179],
},
{
/* [209] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[141],
},
{
/* [210] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[6],
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [211] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[161],
+ /* matcher indices */ &kMatcherIndices[157],
},
{
/* [212] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[131],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[179],
},
{
/* [213] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[6],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [214] */
/* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[6],
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [215] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[159],
+ /* matcher indices */ &kMatcherIndices[110],
},
{
/* [216] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [217] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[141],
- },
- {
- /* [218] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[7],
- },
- {
- /* [219] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[155],
- },
- {
- /* [220] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
- },
- {
- /* [221] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[141],
- },
- {
- /* [222] */
- /* usage */ ParameterUsage::kBias,
- /* matcher indices */ &kMatcherIndices[7],
- },
- {
- /* [223] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[122],
- },
- {
- /* [224] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[131],
- },
- {
- /* [225] */
/* usage */ ParameterUsage::kArrayIndex,
/* matcher indices */ &kMatcherIndices[6],
},
{
- /* [226] */
+ /* [218] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[133],
+ /* matcher indices */ &kMatcherIndices[139],
},
{
- /* [227] */
+ /* [219] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[155],
+ /* matcher indices */ &kMatcherIndices[147],
},
{
- /* [228] */
+ /* [220] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
+ /* matcher indices */ &kMatcherIndices[179],
},
{
- /* [229] */
+ /* [221] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[141],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
- /* [230] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[7],
+ /* [222] */
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[6],
},
{
- /* [231] */
+ /* [223] */
/* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[183],
},
{
+ /* [224] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[179],
+ },
+ {
+ /* [225] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[141],
+ },
+ {
+ /* [226] */
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[6],
+ },
+ {
+ /* [227] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[163],
+ },
+ {
+ /* [228] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[179],
+ },
+ {
+ /* [229] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[131],
+ },
+ {
+ /* [230] */
+ /* usage */ ParameterUsage::kOffset,
+ /* matcher indices */ &kMatcherIndices[137],
+ },
+ {
+ /* [231] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[167],
+ },
+ {
/* [232] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[184],
+ /* matcher indices */ &kMatcherIndices[179],
},
{
/* [233] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[141],
},
{
/* [234] */
- /* usage */ ParameterUsage::kDepthRef,
- /* matcher indices */ &kMatcherIndices[7],
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[6],
},
{
/* [235] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[159],
+ /* matcher indices */ &kMatcherIndices[169],
},
{
/* [236] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
+ /* matcher indices */ &kMatcherIndices[179],
},
{
/* [237] */
@@ -3032,62 +3062,62 @@
{
/* [238] */
/* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[137],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [239] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[167],
+ /* matcher indices */ &kMatcherIndices[181],
},
{
/* [240] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
+ /* matcher indices */ &kMatcherIndices[179],
},
{
/* [241] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [242] */
- /* usage */ ParameterUsage::kArrayIndex,
+ /* usage */ ParameterUsage::kLevel,
/* matcher indices */ &kMatcherIndices[6],
},
{
/* [243] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[169],
+ /* matcher indices */ &kMatcherIndices[122],
},
{
/* [244] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [245] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[135],
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* matcher indices */ &kMatcherIndices[6],
},
{
/* [246] */
- /* usage */ ParameterUsage::kOffset,
- /* matcher indices */ &kMatcherIndices[131],
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[135],
},
{
/* [247] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[159],
+ /* matcher indices */ &kMatcherIndices[157],
},
{
/* [248] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
+ /* matcher indices */ &kMatcherIndices[179],
},
{
/* [249] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[141],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [250] */
@@ -3097,7 +3127,7 @@
{
/* [251] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[183],
+ /* matcher indices */ &kMatcherIndices[181],
},
{
/* [252] */
@@ -3107,7 +3137,7 @@
{
/* [253] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [254] */
@@ -3127,7 +3157,7 @@
{
/* [257] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[141],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [258] */
@@ -3137,32 +3167,32 @@
{
/* [259] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[183],
+ /* matcher indices */ &kMatcherIndices[169],
},
{
/* [260] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
+ /* matcher indices */ &kMatcherIndices[179],
},
{
/* [261] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[141],
},
{
/* [262] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[6],
+ /* usage */ ParameterUsage::kBias,
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [263] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[147],
+ /* matcher indices */ &kMatcherIndices[183],
},
{
/* [264] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
+ /* matcher indices */ &kMatcherIndices[184],
},
{
/* [265] */
@@ -3171,38 +3201,38 @@
},
{
/* [266] */
+ /* usage */ ParameterUsage::kDepthRef,
+ /* matcher indices */ &kMatcherIndices[7],
+ },
+ {
+ /* [267] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[89],
+ },
+ {
+ /* [268] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[133],
+ },
+ {
+ /* [269] */
/* usage */ ParameterUsage::kArrayIndex,
/* matcher indices */ &kMatcherIndices[6],
},
{
- /* [267] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
- },
- {
- /* [268] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
- },
- {
- /* [269] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
- },
- {
/* [270] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[125],
+ /* matcher indices */ &kMatcherIndices[119],
},
{
/* [271] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[6],
+ /* matcher indices */ &kMatcherIndices[137],
},
{
/* [272] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[133],
+ /* matcher indices */ &kMatcherIndices[135],
},
{
/* [273] */
@@ -3237,57 +3267,57 @@
{
/* [279] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[128],
+ /* matcher indices */ &kMatcherIndices[116],
},
{
/* [280] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[6],
},
{
/* [281] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[133],
+ /* matcher indices */ &kMatcherIndices[139],
},
{
/* [282] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[113],
},
{
/* [283] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [284] */
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[139],
+ },
+ {
+ /* [285] */
/* usage */ ParameterUsage::kNone,
/* matcher indices */ &kMatcherIndices[10],
},
{
- /* [285] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[119],
- },
- {
/* [286] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[137],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [287] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[133],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [288] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[116],
+ /* matcher indices */ &kMatcherIndices[107],
},
{
/* [289] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[6],
+ /* matcher indices */ &kMatcherIndices[137],
},
{
/* [290] */
@@ -3297,52 +3327,52 @@
{
/* [291] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[113],
+ /* matcher indices */ &kMatcherIndices[101],
},
{
/* [292] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [293] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[139],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [294] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[104],
+ /* matcher indices */ &kMatcherIndices[0],
},
{
/* [295] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[6],
+ /* matcher indices */ &kMatcherIndices[137],
},
{
/* [296] */
/* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[145],
+ /* matcher indices */ &kMatcherIndices[143],
},
{
/* [297] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[101],
+ /* matcher indices */ &kMatcherIndices[149],
},
{
/* [298] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[6],
},
{
/* [299] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[145],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[6],
},
{
/* [300] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[0],
+ /* matcher indices */ &kMatcherIndices[161],
},
{
/* [301] */
@@ -3351,33 +3381,33 @@
},
{
/* [302] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[145],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[6],
},
{
/* [303] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[149],
+ /* matcher indices */ &kMatcherIndices[165],
},
{
/* [304] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[6],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [305] */
- /* usage */ ParameterUsage::kLevel,
+ /* usage */ ParameterUsage::kSampleIndex,
/* matcher indices */ &kMatcherIndices[6],
},
{
/* [306] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[157],
+ /* matcher indices */ &kMatcherIndices[183],
},
{
/* [307] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [308] */
@@ -3387,57 +3417,57 @@
{
/* [309] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[163],
+ /* matcher indices */ &kMatcherIndices[185],
},
{
/* [310] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[137],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [311] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[6],
- },
- {
- /* [312] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[165],
- },
- {
- /* [313] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[131],
- },
- {
- /* [314] */
/* usage */ ParameterUsage::kSampleIndex,
/* matcher indices */ &kMatcherIndices[6],
},
{
+ /* [312] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[7],
+ },
+ {
+ /* [313] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[7],
+ },
+ {
+ /* [314] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[7],
+ },
+ {
/* [315] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[183],
+ /* matcher indices */ &kMatcherIndices[125],
},
{
/* [316] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[6],
},
{
/* [317] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[6],
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[135],
},
{
/* [318] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[5],
+ /* matcher indices */ &kMatcherIndices[44],
},
{
/* [319] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[5],
+ /* matcher indices */ &kMatcherIndices[44],
},
{
/* [320] */
@@ -3446,48 +3476,48 @@
},
{
/* [321] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[185],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [322] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [323] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[135],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [324] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[128],
},
{
/* [325] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [326] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[135],
},
{
/* [327] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[89],
+ /* matcher indices */ &kMatcherIndices[183],
},
{
/* [328] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[131],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[179],
},
{
/* [329] */
- /* usage */ ParameterUsage::kArrayIndex,
- /* matcher indices */ &kMatcherIndices[6],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[141],
},
{
/* [330] */
@@ -3497,12 +3527,12 @@
{
/* [331] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
+ /* matcher indices */ &kMatcherIndices[179],
},
{
/* [332] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[141],
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [333] */
@@ -3512,7 +3542,7 @@
{
/* [334] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [335] */
@@ -3521,18 +3551,18 @@
},
{
/* [336] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[44],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[153],
},
{
/* [337] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[44],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [338] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[44],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[6],
},
{
/* [339] */
@@ -3547,37 +3577,37 @@
{
/* [341] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[5],
+ /* matcher indices */ &kMatcherIndices[3],
},
{
/* [342] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[183],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[44],
},
{
/* [343] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[44],
},
{
/* [344] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[135],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[44],
},
{
/* [345] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[155],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [346] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [347] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[141],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [348] */
@@ -3587,7 +3617,7 @@
{
/* [349] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[133],
},
{
/* [350] */
@@ -3641,48 +3671,48 @@
},
{
/* [360] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[157],
},
{
/* [361] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[179],
+ },
+ {
+ /* [362] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[131],
+ },
+ {
+ /* [363] */
/* usage */ ParameterUsage::kNone,
/* matcher indices */ &kMatcherIndices[10],
},
{
- /* [362] */
+ /* [364] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[10],
+ },
+ {
+ /* [365] */
/* usage */ ParameterUsage::kNone,
/* matcher indices */ &kMatcherIndices[7],
},
{
- /* [363] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[159],
- },
- {
- /* [364] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
- },
- {
- /* [365] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[141],
- },
- {
/* [366] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[14],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[163],
},
{
/* [367] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[5],
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[179],
},
{
/* [368] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[5],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[131],
},
{
/* [369] */
@@ -3692,97 +3722,97 @@
{
/* [370] */
/* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
+ /* matcher indices */ &kMatcherIndices[179],
},
{
/* [371] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[141],
},
{
/* [372] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[175],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[14],
},
{
/* [373] */
- /* usage */ ParameterUsage::kSampler,
- /* matcher indices */ &kMatcherIndices[180],
- },
- {
- /* [374] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[7],
- },
- {
- /* [375] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[107],
- },
- {
- /* [376] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[137],
- },
- {
- /* [377] */
- /* usage */ ParameterUsage::kValue,
- /* matcher indices */ &kMatcherIndices[139],
- },
- {
- /* [378] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[44],
- },
- {
- /* [379] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[44],
- },
- {
- /* [380] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[3],
- },
- {
- /* [381] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[44],
- },
- {
- /* [382] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[44],
- },
- {
- /* [383] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[68],
- },
- {
- /* [384] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
- },
- {
- /* [385] */
/* usage */ ParameterUsage::kNone,
/* matcher indices */ &kMatcherIndices[5],
},
{
+ /* [374] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[5],
+ },
+ {
+ /* [375] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[175],
+ },
+ {
+ /* [376] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[179],
+ },
+ {
+ /* [377] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[7],
+ },
+ {
+ /* [378] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[104],
+ },
+ {
+ /* [379] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[6],
+ },
+ {
+ /* [380] */
+ /* usage */ ParameterUsage::kValue,
+ /* matcher indices */ &kMatcherIndices[143],
+ },
+ {
+ /* [381] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[186],
+ },
+ {
+ /* [382] */
+ /* usage */ ParameterUsage::kSampler,
+ /* matcher indices */ &kMatcherIndices[179],
+ },
+ {
+ /* [383] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[141],
+ },
+ {
+ /* [384] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[44],
+ },
+ {
+ /* [385] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[44],
+ },
+ {
/* [386] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[68],
},
{
/* [387] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[8],
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [388] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [389] */
@@ -3792,7 +3822,7 @@
{
/* [390] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [391] */
@@ -3812,32 +3842,32 @@
{
/* [394] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [395] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[36],
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [396] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[44],
+ /* matcher indices */ &kMatcherIndices[8],
},
{
/* [397] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[44],
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [398] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[5],
+ /* matcher indices */ &kMatcherIndices[36],
},
{
/* [399] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[5],
+ /* matcher indices */ &kMatcherIndices[44],
},
{
/* [400] */
@@ -3847,7 +3877,7 @@
{
/* [401] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[44],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [402] */
@@ -3857,144 +3887,144 @@
{
/* [403] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[5],
+ /* matcher indices */ &kMatcherIndices[44],
},
{
/* [404] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[44],
},
{
/* [405] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[44],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [406] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [407] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[2],
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [408] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[44],
+ },
+ {
+ /* [409] */
/* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[171],
},
{
- /* [409] */
+ /* [410] */
/* usage */ ParameterUsage::kLevel,
/* matcher indices */ &kMatcherIndices[6],
},
{
- /* [410] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
- },
- {
/* [411] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[32],
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [412] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[173],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[2],
},
{
/* [413] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[6],
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [414] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[32],
},
{
/* [415] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[173],
},
{
/* [416] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[6],
},
{
/* [417] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
- },
- {
- /* [418] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
- },
- {
- /* [419] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
- },
- {
- /* [420] */
/* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[95],
},
{
- /* [421] */
+ /* [418] */
/* usage */ ParameterUsage::kCoords,
/* matcher indices */ &kMatcherIndices[6],
},
{
- /* [422] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[141],
- },
- {
- /* [423] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[141],
- },
- {
- /* [424] */
+ /* [419] */
/* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[92],
},
{
- /* [425] */
+ /* [420] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[133],
+ },
+ {
+ /* [421] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[10],
+ },
+ {
+ /* [422] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[10],
+ },
+ {
+ /* [423] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[10],
+ },
+ {
+ /* [424] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[10],
+ },
+ {
+ /* [425] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [426] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[7],
+ },
+ {
+ /* [427] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[131],
+ },
+ {
+ /* [428] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[131],
+ },
+ {
+ /* [429] */
/* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[86],
},
{
- /* [427] */
+ /* [430] */
/* usage */ ParameterUsage::kCoords,
/* matcher indices */ &kMatcherIndices[137],
},
{
- /* [428] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[83],
- },
- {
- /* [429] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[6],
- },
- {
- /* [430] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
- },
- {
/* [431] */
/* usage */ ParameterUsage::kNone,
/* matcher indices */ &kMatcherIndices[7],
@@ -4002,7 +4032,7 @@
{
/* [432] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [433] */
@@ -4012,472 +4042,472 @@
{
/* [434] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[14],
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [435] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[5],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[83],
},
{
/* [436] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[74],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[6],
},
{
/* [437] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[137],
- },
- {
- /* [438] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[71],
- },
- {
- /* [439] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[6],
- },
- {
- /* [440] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
- },
- {
- /* [441] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
- },
- {
- /* [442] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
- },
- {
- /* [443] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
- },
- {
- /* [444] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[65],
- },
- {
- /* [445] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[131],
- },
- {
- /* [446] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[56],
- },
- {
- /* [447] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[137],
- },
- {
- /* [448] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[185],
- },
- {
- /* [449] */
- /* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[131],
- },
- {
- /* [450] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[14],
- },
- {
- /* [451] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[5],
- },
- {
- /* [452] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[14],
- },
- {
- /* [453] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[5],
- },
- {
- /* [454] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[14],
- },
- {
- /* [455] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[5],
- },
- {
- /* [456] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[14],
- },
- {
- /* [457] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[5],
- },
- {
- /* [458] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[14],
- },
- {
- /* [459] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[5],
- },
- {
- /* [460] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[14],
- },
- {
- /* [461] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[5],
- },
- {
- /* [462] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[179],
- },
- {
- /* [463] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[6],
- },
- {
- /* [464] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[149],
- },
- {
- /* [465] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[6],
- },
- {
- /* [466] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[181],
- },
- {
- /* [467] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[6],
- },
- {
- /* [468] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[157],
- },
- {
- /* [469] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[6],
- },
- {
- /* [470] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[14],
- },
- {
- /* [471] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[5],
- },
- {
- /* [472] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[161],
- },
- {
- /* [473] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[6],
- },
- {
- /* [474] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[182],
- },
- {
- /* [475] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[6],
- },
- {
- /* [476] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[163],
- },
- {
- /* [477] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[6],
- },
- {
- /* [478] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[183],
- },
- {
- /* [479] */
- /* usage */ ParameterUsage::kLevel,
- /* matcher indices */ &kMatcherIndices[6],
- },
- {
- /* [480] */
/* usage */ ParameterUsage::kTexture,
/* matcher indices */ &kMatcherIndices[80],
},
{
- /* [481] */
+ /* [438] */
/* usage */ ParameterUsage::kCoords,
- /* matcher indices */ &kMatcherIndices[131],
+ /* matcher indices */ &kMatcherIndices[133],
+ },
+ {
+ /* [439] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[71],
+ },
+ {
+ /* [440] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[6],
+ },
+ {
+ /* [441] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[65],
+ },
+ {
+ /* [442] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[133],
+ },
+ {
+ /* [443] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[10],
+ },
+ {
+ /* [444] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[10],
+ },
+ {
+ /* [445] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[7],
+ },
+ {
+ /* [446] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[7],
+ },
+ {
+ /* [447] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[56],
+ },
+ {
+ /* [448] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[137],
+ },
+ {
+ /* [449] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[186],
+ },
+ {
+ /* [450] */
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[133],
+ },
+ {
+ /* [451] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[14],
+ },
+ {
+ /* [452] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[5],
+ },
+ {
+ /* [453] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[14],
+ },
+ {
+ /* [454] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[5],
+ },
+ {
+ /* [455] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[14],
+ },
+ {
+ /* [456] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[5],
+ },
+ {
+ /* [457] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[14],
+ },
+ {
+ /* [458] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[5],
+ },
+ {
+ /* [459] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[14],
+ },
+ {
+ /* [460] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[5],
+ },
+ {
+ /* [461] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[14],
+ },
+ {
+ /* [462] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[5],
+ },
+ {
+ /* [463] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[14],
+ },
+ {
+ /* [464] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[5],
+ },
+ {
+ /* [465] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[149],
+ },
+ {
+ /* [466] */
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[6],
+ },
+ {
+ /* [467] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[180],
+ },
+ {
+ /* [468] */
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[6],
+ },
+ {
+ /* [469] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[153],
+ },
+ {
+ /* [470] */
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[6],
+ },
+ {
+ /* [471] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[181],
+ },
+ {
+ /* [472] */
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[6],
+ },
+ {
+ /* [473] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[14],
+ },
+ {
+ /* [474] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[5],
+ },
+ {
+ /* [475] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[182],
+ },
+ {
+ /* [476] */
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[6],
+ },
+ {
+ /* [477] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[161],
+ },
+ {
+ /* [478] */
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[6],
+ },
+ {
+ /* [479] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[183],
+ },
+ {
+ /* [480] */
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[6],
+ },
+ {
+ /* [481] */
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[74],
},
{
/* [482] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[161],
+ /* usage */ ParameterUsage::kCoords,
+ /* matcher indices */ &kMatcherIndices[137],
},
{
/* [483] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[173],
+ /* matcher indices */ &kMatcherIndices[159],
},
{
/* [484] */
- /* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[165],
+ /* usage */ ParameterUsage::kLevel,
+ /* matcher indices */ &kMatcherIndices[6],
},
{
/* [485] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[183],
+ /* matcher indices */ &kMatcherIndices[173],
},
{
/* [486] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[171],
+ /* matcher indices */ &kMatcherIndices[165],
},
{
/* [487] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[182],
+ /* matcher indices */ &kMatcherIndices[183],
},
{
/* [488] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[163],
+ /* matcher indices */ &kMatcherIndices[171],
},
{
/* [489] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[181],
+ /* matcher indices */ &kMatcherIndices[182],
},
{
/* [490] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[157],
+ /* matcher indices */ &kMatcherIndices[161],
},
{
/* [491] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[179],
+ /* matcher indices */ &kMatcherIndices[181],
},
{
/* [492] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[149],
+ /* matcher indices */ &kMatcherIndices[159],
},
{
/* [493] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[59],
+ /* matcher indices */ &kMatcherIndices[180],
},
{
/* [494] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[53],
+ /* matcher indices */ &kMatcherIndices[153],
},
{
/* [495] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[47],
+ /* matcher indices */ &kMatcherIndices[185],
},
{
/* [496] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[50],
+ /* matcher indices */ &kMatcherIndices[59],
},
{
/* [497] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[185],
+ /* matcher indices */ &kMatcherIndices[53],
},
{
/* [498] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[161],
+ /* matcher indices */ &kMatcherIndices[47],
},
{
/* [499] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[173],
+ /* matcher indices */ &kMatcherIndices[50],
},
{
/* [500] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[182],
+ /* matcher indices */ &kMatcherIndices[186],
},
{
/* [501] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[179],
+ /* matcher indices */ &kMatcherIndices[159],
},
{
/* [502] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[47],
+ /* matcher indices */ &kMatcherIndices[173],
},
{
/* [503] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[149],
+ /* matcher indices */ &kMatcherIndices[182],
},
{
/* [504] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[157],
+ /* matcher indices */ &kMatcherIndices[180],
},
{
/* [505] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[161],
+ /* matcher indices */ &kMatcherIndices[47],
},
{
/* [506] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[163],
+ /* matcher indices */ &kMatcherIndices[149],
},
{
/* [507] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[171],
+ /* matcher indices */ &kMatcherIndices[153],
},
{
/* [508] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[173],
+ /* matcher indices */ &kMatcherIndices[159],
},
{
/* [509] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[183],
+ /* matcher indices */ &kMatcherIndices[161],
},
{
/* [510] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[182],
+ /* matcher indices */ &kMatcherIndices[171],
},
{
/* [511] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[181],
+ /* matcher indices */ &kMatcherIndices[173],
},
{
/* [512] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[179],
+ /* matcher indices */ &kMatcherIndices[183],
},
{
/* [513] */
/* usage */ ParameterUsage::kTexture,
- /* matcher indices */ &kMatcherIndices[165],
+ /* matcher indices */ &kMatcherIndices[182],
},
{
/* [514] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[75],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[181],
},
{
/* [515] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[75],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[180],
},
{
/* [516] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[75],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[165],
},
{
/* [517] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[75],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[185],
},
{
/* [518] */
- /* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[75],
+ /* usage */ ParameterUsage::kTexture,
+ /* matcher indices */ &kMatcherIndices[149],
},
{
/* [519] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[44],
},
{
/* [520] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[75],
},
{
/* [521] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[24],
+ /* matcher indices */ &kMatcherIndices[75],
},
{
/* [522] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[75],
},
{
/* [523] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[75],
},
{
/* [524] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[75],
},
{
/* [525] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [526] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [527] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[24],
},
{
/* [528] */
@@ -4502,92 +4532,92 @@
{
/* [532] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [533] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [534] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [535] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [536] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[44],
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [537] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[5],
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [538] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[133],
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [539] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[133],
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [540] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [541] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [542] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[135],
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [543] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[44],
},
{
/* [544] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [545] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[135],
},
{
/* [546] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[135],
},
{
/* [547] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[141],
},
{
/* [548] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[141],
},
{
/* [549] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[141],
},
{
/* [550] */
@@ -4597,62 +4627,62 @@
{
/* [551] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [552] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [553] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [554] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [555] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [556] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [557] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [558] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [559] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [560] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [561] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [562] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[5],
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [563] */
@@ -4687,127 +4717,127 @@
{
/* [569] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [570] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [571] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [572] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [573] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [574] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [575] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [576] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [577] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [578] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [579] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [580] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [581] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [582] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [583] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [584] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [585] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [586] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [587] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [588] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [589] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [590] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [591] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[28],
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [592] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[44],
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [593] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[5],
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [594] */
@@ -4832,71 +4862,96 @@
{
/* [598] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[28],
},
{
/* [599] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[44],
},
{
/* [600] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[5],
},
{
/* [601] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [602] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [603] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [604] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[14],
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [605] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[19],
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [606] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[68],
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [607] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[68],
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [608] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[10],
+ /* matcher indices */ &kMatcherIndices[7],
},
{
/* [609] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[7],
+ /* matcher indices */ &kMatcherIndices[14],
},
{
/* [610] */
/* usage */ ParameterUsage::kNone,
- /* matcher indices */ &kMatcherIndices[44],
+ /* matcher indices */ &kMatcherIndices[10],
},
{
/* [611] */
/* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[7],
+ },
+ {
+ /* [612] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[19],
+ },
+ {
+ /* [613] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[68],
+ },
+ {
+ /* [614] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[68],
+ },
+ {
+ /* [615] */
+ /* usage */ ParameterUsage::kNone,
+ /* matcher indices */ &kMatcherIndices[10],
+ },
+ {
+ /* [616] */
+ /* usage */ ParameterUsage::kNone,
/* matcher indices */ &kMatcherIndices[5],
},
};
@@ -4910,17 +4965,17 @@
{
/* [1] */
/* name */ "T",
- /* matcher index */ 35,
+ /* matcher index */ 36,
},
{
/* [2] */
/* name */ "T",
- /* matcher index */ 36,
+ /* matcher index */ 37,
},
{
/* [3] */
/* name */ "T",
- /* matcher index */ 37,
+ /* matcher index */ 38,
},
};
@@ -4970,7 +5025,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[492],
+ /* parameters */ &kParameters[518],
/* return matcher indices */ &kMatcherIndices[6],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -4982,7 +5037,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[464],
+ /* parameters */ &kParameters[465],
/* return matcher indices */ &kMatcherIndices[6],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -4994,8 +5049,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[490],
- /* return matcher indices */ &kMatcherIndices[131],
+ /* parameters */ &kParameters[494],
+ /* return matcher indices */ &kMatcherIndices[133],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5006,8 +5061,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[468],
- /* return matcher indices */ &kMatcherIndices[131],
+ /* parameters */ &kParameters[469],
+ /* return matcher indices */ &kMatcherIndices[133],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5018,8 +5073,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[482],
- /* return matcher indices */ &kMatcherIndices[131],
+ /* parameters */ &kParameters[492],
+ /* return matcher indices */ &kMatcherIndices[133],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5030,8 +5085,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[472],
- /* return matcher indices */ &kMatcherIndices[131],
+ /* parameters */ &kParameters[483],
+ /* return matcher indices */ &kMatcherIndices[133],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5042,7 +5097,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[488],
+ /* parameters */ &kParameters[490],
/* return matcher indices */ &kMatcherIndices[137],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5054,7 +5109,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[476],
+ /* parameters */ &kParameters[477],
/* return matcher indices */ &kMatcherIndices[137],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5066,8 +5121,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[486],
- /* return matcher indices */ &kMatcherIndices[131],
+ /* parameters */ &kParameters[488],
+ /* return matcher indices */ &kMatcherIndices[133],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5078,8 +5133,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[408],
- /* return matcher indices */ &kMatcherIndices[131],
+ /* parameters */ &kParameters[409],
+ /* return matcher indices */ &kMatcherIndices[133],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5090,8 +5145,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[483],
- /* return matcher indices */ &kMatcherIndices[131],
+ /* parameters */ &kParameters[485],
+ /* return matcher indices */ &kMatcherIndices[133],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5102,8 +5157,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[412],
- /* return matcher indices */ &kMatcherIndices[131],
+ /* parameters */ &kParameters[415],
+ /* return matcher indices */ &kMatcherIndices[133],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5114,8 +5169,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[484],
- /* return matcher indices */ &kMatcherIndices[131],
+ /* parameters */ &kParameters[486],
+ /* return matcher indices */ &kMatcherIndices[133],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5126,8 +5181,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[485],
- /* return matcher indices */ &kMatcherIndices[131],
+ /* parameters */ &kParameters[487],
+ /* return matcher indices */ &kMatcherIndices[133],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5138,8 +5193,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[478],
- /* return matcher indices */ &kMatcherIndices[131],
+ /* parameters */ &kParameters[479],
+ /* return matcher indices */ &kMatcherIndices[133],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5150,8 +5205,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[487],
- /* return matcher indices */ &kMatcherIndices[131],
+ /* parameters */ &kParameters[489],
+ /* return matcher indices */ &kMatcherIndices[133],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5162,8 +5217,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[474],
- /* return matcher indices */ &kMatcherIndices[131],
+ /* parameters */ &kParameters[475],
+ /* return matcher indices */ &kMatcherIndices[133],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5174,8 +5229,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[489],
- /* return matcher indices */ &kMatcherIndices[131],
+ /* parameters */ &kParameters[491],
+ /* return matcher indices */ &kMatcherIndices[133],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5186,8 +5241,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[466],
- /* return matcher indices */ &kMatcherIndices[131],
+ /* parameters */ &kParameters[471],
+ /* return matcher indices */ &kMatcherIndices[133],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5198,8 +5253,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[491],
- /* return matcher indices */ &kMatcherIndices[131],
+ /* parameters */ &kParameters[493],
+ /* return matcher indices */ &kMatcherIndices[133],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5210,8 +5265,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[462],
- /* return matcher indices */ &kMatcherIndices[131],
+ /* parameters */ &kParameters[467],
+ /* return matcher indices */ &kMatcherIndices[133],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5219,11 +5274,11 @@
/* [21] */
/* num parameters */ 1,
/* num open types */ 0,
- /* num open numbers */ 2,
+ /* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
- /* parameters */ &kParameters[493],
- /* return matcher indices */ &kMatcherIndices[6],
+ /* open numbers */ &kOpenNumbers[7],
+ /* parameters */ &kParameters[495],
+ /* return matcher indices */ &kMatcherIndices[133],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5234,8 +5289,8 @@
/* num open numbers */ 2,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[4],
- /* parameters */ &kParameters[494],
- /* return matcher indices */ &kMatcherIndices[131],
+ /* parameters */ &kParameters[496],
+ /* return matcher indices */ &kMatcherIndices[6],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5246,8 +5301,8 @@
/* num open numbers */ 2,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[4],
- /* parameters */ &kParameters[495],
- /* return matcher indices */ &kMatcherIndices[131],
+ /* parameters */ &kParameters[497],
+ /* return matcher indices */ &kMatcherIndices[133],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5258,8 +5313,8 @@
/* num open numbers */ 2,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[4],
- /* parameters */ &kParameters[496],
- /* return matcher indices */ &kMatcherIndices[137],
+ /* parameters */ &kParameters[498],
+ /* return matcher indices */ &kMatcherIndices[133],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5267,23 +5322,23 @@
/* [25] */
/* num parameters */ 1,
/* num open types */ 0,
- /* num open numbers */ 0,
+ /* num open numbers */ 2,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[497],
- /* return matcher indices */ &kMatcherIndices[131],
+ /* open numbers */ &kOpenNumbers[4],
+ /* parameters */ &kParameters[499],
+ /* return matcher indices */ &kMatcherIndices[137],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [26] */
- /* num parameters */ 3,
- /* num open types */ 1,
+ /* num parameters */ 1,
+ /* num open types */ 0,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[303],
- /* return matcher indices */ &kMatcherIndices[151],
+ /* parameters */ &kParameters[500],
+ /* return matcher indices */ &kMatcherIndices[133],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5294,31 +5349,31 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[306],
+ /* parameters */ &kParameters[297],
/* return matcher indices */ &kMatcherIndices[151],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [28] */
- /* num parameters */ 4,
+ /* num parameters */ 3,
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[211],
+ /* parameters */ &kParameters[336],
/* return matcher indices */ &kMatcherIndices[151],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [29] */
- /* num parameters */ 3,
+ /* num parameters */ 4,
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[309],
+ /* parameters */ &kParameters[183],
/* return matcher indices */ &kMatcherIndices[151],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5330,7 +5385,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[312],
+ /* parameters */ &kParameters[300],
/* return matcher indices */ &kMatcherIndices[151],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5338,17 +5393,29 @@
{
/* [31] */
/* num parameters */ 3,
- /* num open types */ 0,
+ /* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[315],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* parameters */ &kParameters[303],
+ /* return matcher indices */ &kMatcherIndices[151],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [32] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[7],
+ /* parameters */ &kParameters[306],
+ /* return matcher indices */ &kMatcherIndices[7],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [33] */
/* num parameters */ 4,
/* num open types */ 0,
/* num open numbers */ 0,
@@ -5360,38 +5427,26 @@
/* is_deprecated */ false,
},
{
- /* [33] */
- /* num parameters */ 2,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[420],
- /* return matcher indices */ &kMatcherIndices[133],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ true,
- },
- {
/* [34] */
- /* num parameters */ 2,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[424],
- /* return matcher indices */ &kMatcherIndices[133],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ true,
- },
- {
- /* [35] */
/* num parameters */ 3,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[327],
- /* return matcher indices */ &kMatcherIndices[133],
+ /* parameters */ &kParameters[309],
+ /* return matcher indices */ &kMatcherIndices[7],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [35] */
+ /* num parameters */ 2,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[7],
+ /* parameters */ &kParameters[417],
+ /* return matcher indices */ &kMatcherIndices[135],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ true,
},
@@ -5402,20 +5457,20 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[426],
- /* return matcher indices */ &kMatcherIndices[133],
+ /* parameters */ &kParameters[419],
+ /* return matcher indices */ &kMatcherIndices[135],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ true,
},
{
/* [37] */
- /* num parameters */ 2,
+ /* num parameters */ 3,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[428],
- /* return matcher indices */ &kMatcherIndices[139],
+ /* parameters */ &kParameters[267],
+ /* return matcher indices */ &kMatcherIndices[135],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ true,
},
@@ -5426,19 +5481,19 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[480],
- /* return matcher indices */ &kMatcherIndices[139],
+ /* parameters */ &kParameters[429],
+ /* return matcher indices */ &kMatcherIndices[135],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ true,
},
{
/* [39] */
- /* num parameters */ 3,
+ /* num parameters */ 2,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[333],
+ /* parameters */ &kParameters[435],
/* return matcher indices */ &kMatcherIndices[139],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ true,
@@ -5450,20 +5505,20 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[436],
+ /* parameters */ &kParameters[437],
/* return matcher indices */ &kMatcherIndices[139],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ true,
},
{
/* [41] */
- /* num parameters */ 2,
+ /* num parameters */ 3,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[438],
- /* return matcher indices */ &kMatcherIndices[145],
+ /* parameters */ &kParameters[333],
+ /* return matcher indices */ &kMatcherIndices[139],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ true,
},
@@ -5474,20 +5529,20 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[444],
- /* return matcher indices */ &kMatcherIndices[145],
+ /* parameters */ &kParameters[481],
+ /* return matcher indices */ &kMatcherIndices[139],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ true,
},
{
/* [43] */
- /* num parameters */ 3,
+ /* num parameters */ 2,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[348],
- /* return matcher indices */ &kMatcherIndices[145],
+ /* parameters */ &kParameters[439],
+ /* return matcher indices */ &kMatcherIndices[143],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ true,
},
@@ -5498,92 +5553,92 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[446],
- /* return matcher indices */ &kMatcherIndices[145],
+ /* parameters */ &kParameters[441],
+ /* return matcher indices */ &kMatcherIndices[143],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ true,
},
{
/* [45] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[7],
+ /* parameters */ &kParameters[348],
+ /* return matcher indices */ &kMatcherIndices[143],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ true,
+ },
+ {
+ /* [46] */
/* num parameters */ 2,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[448],
- /* return matcher indices */ &kMatcherIndices[133],
+ /* parameters */ &kParameters[447],
+ /* return matcher indices */ &kMatcherIndices[143],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [46] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[191],
- /* return matcher indices */ &kMatcherIndices[133],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
+ /* is_deprecated */ true,
},
{
/* [47] */
- /* num parameters */ 5,
+ /* num parameters */ 2,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[101],
- /* return matcher indices */ &kMatcherIndices[133],
+ /* parameters */ &kParameters[449],
+ /* return matcher indices */ &kMatcherIndices[135],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [48] */
- /* num parameters */ 5,
+ /* num parameters */ 4,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[81],
- /* return matcher indices */ &kMatcherIndices[133],
+ /* parameters */ &kParameters[171],
+ /* return matcher indices */ &kMatcherIndices[135],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [49] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[7],
+ /* parameters */ &kParameters[146],
+ /* return matcher indices */ &kMatcherIndices[135],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [50] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[7],
+ /* parameters */ &kParameters[161],
+ /* return matcher indices */ &kMatcherIndices[135],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [51] */
/* num parameters */ 6,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
/* parameters */ &kParameters[49],
- /* return matcher indices */ &kMatcherIndices[133],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [50] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[215],
- /* return matcher indices */ &kMatcherIndices[133],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [51] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[71],
- /* return matcher indices */ &kMatcherIndices[133],
+ /* return matcher indices */ &kMatcherIndices[135],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5594,8 +5649,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[227],
- /* return matcher indices */ &kMatcherIndices[133],
+ /* parameters */ &kParameters[195],
+ /* return matcher indices */ &kMatcherIndices[135],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5606,8 +5661,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[76],
- /* return matcher indices */ &kMatcherIndices[133],
+ /* parameters */ &kParameters[81],
+ /* return matcher indices */ &kMatcherIndices[135],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5618,8 +5673,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[259],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* parameters */ &kParameters[211],
+ /* return matcher indices */ &kMatcherIndices[135],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -5630,25 +5685,49 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
+ /* parameters */ &kParameters[86],
+ /* return matcher indices */ &kMatcherIndices[135],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [56] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[7],
+ /* parameters */ &kParameters[223],
+ /* return matcher indices */ &kMatcherIndices[7],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [57] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[7],
+ /* parameters */ &kParameters[91],
+ /* return matcher indices */ &kMatcherIndices[7],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [58] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[7],
/* parameters */ &kParameters[121],
/* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
- /* [56] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[126],
- /* return matcher indices */ &kMatcherIndices[7],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [57] */
+ /* [59] */
/* num parameters */ 6,
/* num open types */ 0,
/* num open numbers */ 0,
@@ -5660,51 +5739,27 @@
/* is_deprecated */ false,
},
{
- /* [58] */
+ /* [60] */
/* num parameters */ 4,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[175],
+ /* parameters */ &kParameters[239],
/* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
- /* [59] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[166],
- /* return matcher indices */ &kMatcherIndices[7],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [60] */
- /* num parameters */ 3,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[321],
- /* return matcher indices */ &kMatcherIndices[133],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
/* [61] */
- /* num parameters */ 3,
+ /* num parameters */ 5,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[372],
- /* return matcher indices */ &kMatcherIndices[133],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* parameters */ &kParameters[71],
+ /* return matcher indices */ &kMatcherIndices[7],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
@@ -5714,68 +5769,68 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[369],
- /* return matcher indices */ &kMatcherIndices[133],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* parameters */ &kParameters[381],
+ /* return matcher indices */ &kMatcherIndices[135],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [63] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[243],
- /* return matcher indices */ &kMatcherIndices[133],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [64] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[239],
- /* return matcher indices */ &kMatcherIndices[133],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [65] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[116],
- /* return matcher indices */ &kMatcherIndices[133],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [66] */
/* num parameters */ 3,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[363],
- /* return matcher indices */ &kMatcherIndices[133],
+ /* parameters */ &kParameters[375],
+ /* return matcher indices */ &kMatcherIndices[135],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
- /* [67] */
+ /* [64] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[7],
+ /* parameters */ &kParameters[369],
+ /* return matcher indices */ &kMatcherIndices[135],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [65] */
/* num parameters */ 4,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
/* parameters */ &kParameters[235],
- /* return matcher indices */ &kMatcherIndices[133],
+ /* return matcher indices */ &kMatcherIndices[135],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [66] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[7],
+ /* parameters */ &kParameters[231],
+ /* return matcher indices */ &kMatcherIndices[135],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [67] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[7],
+ /* parameters */ &kParameters[111],
+ /* return matcher indices */ &kMatcherIndices[135],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
@@ -5786,8 +5841,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[345],
- /* return matcher indices */ &kMatcherIndices[133],
+ /* parameters */ &kParameters[366],
+ /* return matcher indices */ &kMatcherIndices[135],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
@@ -5798,8 +5853,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[263],
- /* return matcher indices */ &kMatcherIndices[133],
+ /* parameters */ &kParameters[227],
+ /* return matcher indices */ &kMatcherIndices[135],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
@@ -5810,8 +5865,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[342],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* parameters */ &kParameters[360],
+ /* return matcher indices */ &kMatcherIndices[135],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
@@ -5822,13 +5877,25 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[171],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* parameters */ &kParameters[219],
+ /* return matcher indices */ &kMatcherIndices[135],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
/* [72] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[7],
+ /* parameters */ &kParameters[327],
+ /* return matcher indices */ &kMatcherIndices[7],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [73] */
/* num parameters */ 4,
/* num open types */ 0,
/* num open numbers */ 0,
@@ -5840,37 +5907,25 @@
/* is_deprecated */ false,
},
{
- /* [73] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[106],
- /* return matcher indices */ &kMatcherIndices[7],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
/* [74] */
- /* num parameters */ 3,
+ /* num parameters */ 4,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[330],
+ /* parameters */ &kParameters[203],
/* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
/* [75] */
- /* num parameters */ 4,
+ /* num parameters */ 5,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[187],
+ /* parameters */ &kParameters[96],
/* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -5882,31 +5937,31 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[270],
- /* return matcher indices */ nullptr,
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* parameters */ &kParameters[330],
+ /* return matcher indices */ &kMatcherIndices[7],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
/* [77] */
- /* num parameters */ 3,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[279],
- /* return matcher indices */ nullptr,
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [78] */
/* num parameters */ 4,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[223],
+ /* parameters */ &kParameters[175],
+ /* return matcher indices */ &kMatcherIndices[7],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [78] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[7],
+ /* parameters */ &kParameters[315],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5918,19 +5973,19 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[285],
+ /* parameters */ &kParameters[324],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [80] */
- /* num parameters */ 3,
+ /* num parameters */ 4,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[288],
+ /* parameters */ &kParameters[243],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5942,19 +5997,19 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[291],
+ /* parameters */ &kParameters[270],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [82] */
- /* num parameters */ 4,
+ /* num parameters */ 3,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[203],
+ /* parameters */ &kParameters[279],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5966,19 +6021,19 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[375],
+ /* parameters */ &kParameters[282],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [84] */
- /* num parameters */ 3,
+ /* num parameters */ 4,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[294],
+ /* parameters */ &kParameters[215],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -5990,19 +6045,19 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[297],
+ /* parameters */ &kParameters[288],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [86] */
- /* num parameters */ 4,
+ /* num parameters */ 3,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[195],
+ /* parameters */ &kParameters[378],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6014,32 +6069,32 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[300],
+ /* parameters */ &kParameters[291],
/* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [88] */
- /* num parameters */ 1,
- /* num open types */ 1,
+ /* num parameters */ 4,
+ /* num open types */ 0,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[503],
- /* return matcher indices */ &kMatcherIndices[6],
+ /* parameters */ &kParameters[199],
+ /* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [89] */
- /* num parameters */ 1,
- /* num open types */ 1,
+ /* num parameters */ 3,
+ /* num open types */ 0,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[504],
- /* return matcher indices */ &kMatcherIndices[6],
+ /* parameters */ &kParameters[294],
+ /* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6050,25 +6105,13 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[505],
- /* return matcher indices */ &kMatcherIndices[6],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [91] */
- /* num parameters */ 1,
- /* num open types */ 1,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[7],
/* parameters */ &kParameters[506],
/* return matcher indices */ &kMatcherIndices[6],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
- /* [92] */
+ /* [91] */
/* num parameters */ 1,
/* num open types */ 1,
/* num open numbers */ 0,
@@ -6080,7 +6123,7 @@
/* is_deprecated */ false,
},
{
- /* [93] */
+ /* [92] */
/* num parameters */ 1,
/* num open types */ 1,
/* num open numbers */ 0,
@@ -6092,11 +6135,11 @@
/* is_deprecated */ false,
},
{
- /* [94] */
+ /* [93] */
/* num parameters */ 1,
- /* num open types */ 0,
+ /* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[7],
/* parameters */ &kParameters[509],
/* return matcher indices */ &kMatcherIndices[6],
@@ -6104,11 +6147,11 @@
/* is_deprecated */ false,
},
{
- /* [95] */
+ /* [94] */
/* num parameters */ 1,
- /* num open types */ 0,
+ /* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[7],
/* parameters */ &kParameters[510],
/* return matcher indices */ &kMatcherIndices[6],
@@ -6116,13 +6159,25 @@
/* is_deprecated */ false,
},
{
+ /* [95] */
+ /* num parameters */ 1,
+ /* num open types */ 1,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[1],
+ /* open numbers */ &kOpenNumbers[7],
+ /* parameters */ &kParameters[511],
+ /* return matcher indices */ &kMatcherIndices[6],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
/* [96] */
/* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[511],
+ /* parameters */ &kParameters[512],
/* return matcher indices */ &kMatcherIndices[6],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6134,80 +6189,80 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[512],
+ /* parameters */ &kParameters[513],
/* return matcher indices */ &kMatcherIndices[6],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [98] */
- /* num parameters */ 5,
+ /* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[146],
- /* return matcher indices */ &kMatcherIndices[133],
+ /* parameters */ &kParameters[514],
+ /* return matcher indices */ &kMatcherIndices[6],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [99] */
- /* num parameters */ 6,
+ /* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[31],
- /* return matcher indices */ &kMatcherIndices[133],
+ /* parameters */ &kParameters[515],
+ /* return matcher indices */ &kMatcherIndices[6],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [100] */
- /* num parameters */ 6,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[25],
- /* return matcher indices */ &kMatcherIndices[133],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [101] */
- /* num parameters */ 7,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[0],
- /* return matcher indices */ &kMatcherIndices[133],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [102] */
/* num parameters */ 5,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[61],
- /* return matcher indices */ &kMatcherIndices[133],
+ /* parameters */ &kParameters[101],
+ /* return matcher indices */ &kMatcherIndices[135],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
- /* [103] */
+ /* [101] */
+ /* num parameters */ 6,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[7],
+ /* parameters */ &kParameters[43],
+ /* return matcher indices */ &kMatcherIndices[135],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [102] */
/* num parameters */ 6,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
/* parameters */ &kParameters[37],
- /* return matcher indices */ &kMatcherIndices[133],
+ /* return matcher indices */ &kMatcherIndices[135],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [103] */
+ /* num parameters */ 7,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[7],
+ /* parameters */ &kParameters[0],
+ /* return matcher indices */ &kMatcherIndices[135],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6218,8 +6273,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[151],
- /* return matcher indices */ &kMatcherIndices[133],
+ /* parameters */ &kParameters[131],
+ /* return matcher indices */ &kMatcherIndices[135],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6230,80 +6285,80 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[7],
- /* return matcher indices */ &kMatcherIndices[133],
+ /* parameters */ &kParameters[25],
+ /* return matcher indices */ &kMatcherIndices[135],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [106] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[183],
- /* return matcher indices */ &kMatcherIndices[133],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [107] */
/* num parameters */ 5,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
/* parameters */ &kParameters[141],
- /* return matcher indices */ &kMatcherIndices[133],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* return matcher indices */ &kMatcherIndices[135],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
- /* [108] */
- /* num parameters */ 5,
+ /* [107] */
+ /* num parameters */ 6,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[156],
- /* return matcher indices */ &kMatcherIndices[133],
+ /* parameters */ &kParameters[7],
+ /* return matcher indices */ &kMatcherIndices[135],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [108] */
+ /* num parameters */ 4,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[7],
+ /* parameters */ &kParameters[259],
+ /* return matcher indices */ &kMatcherIndices[135],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
/* [109] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[7],
+ /* parameters */ &kParameters[126],
+ /* return matcher indices */ &kMatcherIndices[135],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [110] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[7],
+ /* parameters */ &kParameters[116],
+ /* return matcher indices */ &kMatcherIndices[135],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [111] */
/* num parameters */ 6,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
/* parameters */ &kParameters[19],
- /* return matcher indices */ &kMatcherIndices[133],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [110] */
- /* num parameters */ 4,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[247],
- /* return matcher indices */ &kMatcherIndices[133],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
- /* is_deprecated */ false,
- },
- {
- /* [111] */
- /* num parameters */ 5,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[86],
- /* return matcher indices */ &kMatcherIndices[133],
+ /* return matcher indices */ &kMatcherIndices[135],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
@@ -6314,8 +6369,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[219],
- /* return matcher indices */ &kMatcherIndices[133],
+ /* parameters */ &kParameters[187],
+ /* return matcher indices */ &kMatcherIndices[135],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
@@ -6326,8 +6381,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[66],
- /* return matcher indices */ &kMatcherIndices[133],
+ /* parameters */ &kParameters[166],
+ /* return matcher indices */ &kMatcherIndices[135],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
@@ -6338,9 +6393,9 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[251],
- /* return matcher indices */ &kMatcherIndices[7],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* parameters */ &kParameters[247],
+ /* return matcher indices */ &kMatcherIndices[135],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
@@ -6350,55 +6405,55 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[161],
- /* return matcher indices */ &kMatcherIndices[7],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* parameters */ &kParameters[136],
+ /* return matcher indices */ &kMatcherIndices[135],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
/* [116] */
- /* num parameters */ 5,
+ /* num parameters */ 4,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[96],
+ /* parameters */ &kParameters[263],
/* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [117] */
- /* num parameters */ 6,
+ /* num parameters */ 5,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[43],
+ /* parameters */ &kParameters[156],
/* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [118] */
- /* num parameters */ 4,
+ /* num parameters */ 5,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[199],
+ /* parameters */ &kParameters[151],
/* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [119] */
- /* num parameters */ 5,
+ /* num parameters */ 6,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[111],
+ /* parameters */ &kParameters[31],
/* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6410,9 +6465,9 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[231],
+ /* parameters */ &kParameters[255],
/* return matcher indices */ &kMatcherIndices[7],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
@@ -6422,25 +6477,49 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[91],
+ /* parameters */ &kParameters[106],
/* return matcher indices */ &kMatcherIndices[7],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [122] */
- /* num parameters */ 5,
+ /* num parameters */ 4,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[131],
+ /* parameters */ &kParameters[191],
/* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
/* [123] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[7],
+ /* parameters */ &kParameters[61],
+ /* return matcher indices */ &kMatcherIndices[7],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [124] */
+ /* num parameters */ 5,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[7],
+ /* parameters */ &kParameters[76],
+ /* return matcher indices */ &kMatcherIndices[7],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [125] */
/* num parameters */ 6,
/* num open types */ 0,
/* num open numbers */ 0,
@@ -6452,61 +6531,37 @@
/* is_deprecated */ false,
},
{
- /* [124] */
+ /* [126] */
/* num parameters */ 4,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[255],
+ /* parameters */ &kParameters[251],
/* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
- /* [125] */
+ /* [127] */
/* num parameters */ 5,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[136],
+ /* parameters */ &kParameters[66],
/* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
- /* [126] */
- /* num parameters */ 1,
- /* num open types */ 1,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[498],
- /* return matcher indices */ &kMatcherIndices[6],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [127] */
- /* num parameters */ 1,
- /* num open types */ 1,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
- /* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[499],
- /* return matcher indices */ &kMatcherIndices[6],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
/* [128] */
/* num parameters */ 1,
- /* num open types */ 0,
+ /* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[500],
+ /* parameters */ &kParameters[501],
/* return matcher indices */ &kMatcherIndices[6],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6514,11 +6569,11 @@
{
/* [129] */
/* num parameters */ 1,
- /* num open types */ 0,
+ /* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[501],
+ /* parameters */ &kParameters[502],
/* return matcher indices */ &kMatcherIndices[6],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6527,112 +6582,136 @@
/* [130] */
/* num parameters */ 1,
/* num open types */ 0,
- /* num open numbers */ 2,
+ /* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[4],
- /* parameters */ &kParameters[502],
+ /* open numbers */ &kOpenNumbers[7],
+ /* parameters */ &kParameters[503],
/* return matcher indices */ &kMatcherIndices[6],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [131] */
- /* num parameters */ 2,
+ /* num parameters */ 1,
/* num open types */ 0,
- /* num open numbers */ 2,
+ /* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[2],
- /* parameters */ &kParameters[394],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* open numbers */ &kOpenNumbers[7],
+ /* parameters */ &kParameters[504],
+ /* return matcher indices */ &kMatcherIndices[6],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ true,
+ /* is_deprecated */ false,
},
{
/* [132] */
- /* num parameters */ 2,
+ /* num parameters */ 1,
/* num open types */ 0,
- /* num open numbers */ 3,
+ /* num open numbers */ 2,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[386],
- /* return matcher indices */ &kMatcherIndices[10],
+ /* open numbers */ &kOpenNumbers[4],
+ /* parameters */ &kParameters[505],
+ /* return matcher indices */ &kMatcherIndices[6],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ true,
+ /* is_deprecated */ false,
},
{
/* [133] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[545],
- /* return matcher indices */ &kMatcherIndices[186],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [134] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[544],
- /* return matcher indices */ &kMatcherIndices[143],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [135] */
/* num parameters */ 2,
/* num open types */ 0,
/* num open numbers */ 2,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[2],
- /* parameters */ &kParameters[410],
+ /* parameters */ &kParameters[397],
/* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ true,
},
{
- /* [136] */
+ /* [134] */
/* num parameters */ 2,
/* num open types */ 0,
/* num open numbers */ 3,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[406],
+ /* parameters */ &kParameters[395],
/* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ true,
},
{
- /* [137] */
+ /* [135] */
/* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[570],
+ /* parameters */ &kParameters[552],
/* return matcher indices */ &kMatcherIndices[187],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
- /* [138] */
+ /* [136] */
/* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[569],
- /* return matcher indices */ &kMatcherIndices[153],
+ /* parameters */ &kParameters[551],
+ /* return matcher indices */ &kMatcherIndices[145],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
+ /* [137] */
+ /* num parameters */ 2,
+ /* num open types */ 0,
+ /* num open numbers */ 2,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[2],
+ /* parameters */ &kParameters[413],
+ /* return matcher indices */ &kMatcherIndices[7],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ true,
+ },
+ {
+ /* [138] */
+ /* num parameters */ 2,
+ /* num open types */ 0,
+ /* num open numbers */ 3,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[1],
+ /* parameters */ &kParameters[411],
+ /* return matcher indices */ &kMatcherIndices[10],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ true,
+ },
+ {
/* [139] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[7],
+ /* parameters */ &kParameters[577],
+ /* return matcher indices */ &kMatcherIndices[188],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [140] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[1],
+ /* parameters */ &kParameters[576],
+ /* return matcher indices */ &kMatcherIndices[155],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [141] */
/* num parameters */ 3,
/* num open types */ 0,
/* num open numbers */ 0,
@@ -6644,7 +6723,7 @@
/* is_deprecated */ false,
},
{
- /* [140] */
+ /* [142] */
/* num parameters */ 3,
/* num open types */ 0,
/* num open numbers */ 1,
@@ -6656,7 +6735,7 @@
/* is_deprecated */ false,
},
{
- /* [141] */
+ /* [143] */
/* num parameters */ 3,
/* num open types */ 0,
/* num open numbers */ 1,
@@ -6668,62 +6747,38 @@
/* is_deprecated */ false,
},
{
- /* [142] */
+ /* [144] */
/* num parameters */ 3,
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[3],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[318],
+ /* parameters */ &kParameters[339],
/* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
- /* [143] */
- /* num parameters */ 3,
- /* num open types */ 1,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[3],
- /* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[378],
- /* return matcher indices */ &kMatcherIndices[44],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [144] */
- /* num parameters */ 3,
- /* num open types */ 1,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[3],
- /* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[381],
- /* return matcher indices */ &kMatcherIndices[44],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
/* [145] */
- /* num parameters */ 2,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[442],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* num parameters */ 3,
+ /* num open types */ 1,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[3],
+ /* open numbers */ &kOpenNumbers[1],
+ /* parameters */ &kParameters[318],
+ /* return matcher indices */ &kMatcherIndices[44],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [146] */
- /* num parameters */ 2,
- /* num open types */ 0,
+ /* num parameters */ 3,
+ /* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
+ /* open types */ &kOpenTypes[3],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[440],
- /* return matcher indices */ &kMatcherIndices[10],
+ /* parameters */ &kParameters[384],
+ /* return matcher indices */ &kMatcherIndices[44],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -6734,7 +6789,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[418],
+ /* parameters */ &kParameters[445],
/* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6746,33 +6801,33 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[416],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* parameters */ &kParameters[443],
+ /* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [149] */
- /* num parameters */ 1,
+ /* num parameters */ 2,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[590],
+ /* parameters */ &kParameters[425],
/* return matcher indices */ &kMatcherIndices[7],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [150] */
- /* num parameters */ 1,
+ /* num parameters */ 2,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[589],
- /* return matcher indices */ &kMatcherIndices[10],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* parameters */ &kParameters[423],
+ /* return matcher indices */ &kMatcherIndices[7],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
@@ -6782,7 +6837,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[588],
+ /* parameters */ &kParameters[597],
/* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -6794,7 +6849,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[587],
+ /* parameters */ &kParameters[596],
/* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -6806,7 +6861,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[586],
+ /* parameters */ &kParameters[595],
/* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -6818,7 +6873,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[585],
+ /* parameters */ &kParameters[594],
/* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -6830,7 +6885,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[584],
+ /* parameters */ &kParameters[593],
/* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -6842,7 +6897,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[583],
+ /* parameters */ &kParameters[592],
/* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -6854,7 +6909,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[582],
+ /* parameters */ &kParameters[591],
/* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -6866,7 +6921,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[581],
+ /* parameters */ &kParameters[590],
/* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -6878,7 +6933,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[580],
+ /* parameters */ &kParameters[589],
/* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -6890,7 +6945,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[579],
+ /* parameters */ &kParameters[588],
/* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -6902,9 +6957,9 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[578],
+ /* parameters */ &kParameters[587],
/* return matcher indices */ &kMatcherIndices[7],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
@@ -6914,9 +6969,9 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[577],
+ /* parameters */ &kParameters[586],
/* return matcher indices */ &kMatcherIndices[10],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
@@ -6926,7 +6981,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[576],
+ /* parameters */ &kParameters[585],
/* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6938,31 +6993,31 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[575],
+ /* parameters */ &kParameters[584],
/* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [165] */
- /* num parameters */ 3,
+ /* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[267],
+ /* parameters */ &kParameters[583],
/* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [166] */
- /* num parameters */ 3,
+ /* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[324],
+ /* parameters */ &kParameters[582],
/* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6974,7 +7029,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[574],
+ /* parameters */ &kParameters[534],
/* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -6986,13 +7041,37 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[573],
+ /* parameters */ &kParameters[533],
/* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [169] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[7],
+ /* parameters */ &kParameters[581],
+ /* return matcher indices */ &kMatcherIndices[7],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [170] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[1],
+ /* parameters */ &kParameters[580],
+ /* return matcher indices */ &kMatcherIndices[10],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [171] */
/* num parameters */ 3,
/* num open types */ 0,
/* num open numbers */ 0,
@@ -7004,7 +7083,7 @@
/* is_deprecated */ false,
},
{
- /* [170] */
+ /* [172] */
/* num parameters */ 3,
/* num open types */ 0,
/* num open numbers */ 1,
@@ -7016,75 +7095,51 @@
/* is_deprecated */ false,
},
{
- /* [171] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[572],
- /* return matcher indices */ &kMatcherIndices[7],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [172] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[571],
- /* return matcher indices */ &kMatcherIndices[10],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
/* [173] */
/* num parameters */ 1,
- /* num open types */ 1,
+ /* num open types */ 0,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[2],
+ /* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[593],
- /* return matcher indices */ &kMatcherIndices[5],
+ /* parameters */ &kParameters[579],
+ /* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [174] */
/* num parameters */ 1,
- /* num open types */ 1,
+ /* num open types */ 0,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[2],
+ /* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[592],
- /* return matcher indices */ &kMatcherIndices[44],
+ /* parameters */ &kParameters[578],
+ /* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [175] */
/* num parameters */ 1,
- /* num open types */ 0,
+ /* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
+ /* open types */ &kOpenTypes[2],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[568],
- /* return matcher indices */ &kMatcherIndices[7],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* parameters */ &kParameters[600],
+ /* return matcher indices */ &kMatcherIndices[5],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [176] */
/* num parameters */ 1,
- /* num open types */ 0,
+ /* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
+ /* open types */ &kOpenTypes[2],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[567],
- /* return matcher indices */ &kMatcherIndices[10],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
+ /* parameters */ &kParameters[599],
+ /* return matcher indices */ &kMatcherIndices[44],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
@@ -7094,7 +7149,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[566],
+ /* parameters */ &kParameters[575],
/* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -7106,7 +7161,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[565],
+ /* parameters */ &kParameters[574],
/* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -7118,7 +7173,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[564],
+ /* parameters */ &kParameters[573],
/* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -7130,7 +7185,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[563],
+ /* parameters */ &kParameters[572],
/* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
@@ -7142,9 +7197,9 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[595],
+ /* parameters */ &kParameters[571],
/* return matcher indices */ &kMatcherIndices[7],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
@@ -7154,9 +7209,9 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[594],
+ /* parameters */ &kParameters[570],
/* return matcher indices */ &kMatcherIndices[10],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment),
/* is_deprecated */ false,
},
{
@@ -7166,7 +7221,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[561],
+ /* parameters */ &kParameters[602],
/* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7178,7 +7233,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[560],
+ /* parameters */ &kParameters[601],
/* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7190,8 +7245,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[559],
- /* return matcher indices */ &kMatcherIndices[3],
+ /* parameters */ &kParameters[568],
+ /* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7202,8 +7257,8 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[558],
- /* return matcher indices */ &kMatcherIndices[68],
+ /* parameters */ &kParameters[567],
+ /* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7214,7 +7269,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[557],
+ /* parameters */ &kParameters[566],
/* return matcher indices */ &kMatcherIndices[3],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7226,7 +7281,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[556],
+ /* parameters */ &kParameters[565],
/* return matcher indices */ &kMatcherIndices[68],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7238,7 +7293,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[555],
+ /* parameters */ &kParameters[564],
/* return matcher indices */ &kMatcherIndices[3],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7250,7 +7305,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[554],
+ /* parameters */ &kParameters[563],
/* return matcher indices */ &kMatcherIndices[68],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7262,7 +7317,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[553],
+ /* parameters */ &kParameters[562],
/* return matcher indices */ &kMatcherIndices[3],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7274,56 +7329,56 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[552],
+ /* parameters */ &kParameters[561],
/* return matcher indices */ &kMatcherIndices[68],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [193] */
- /* num parameters */ 2,
- /* num open types */ 1,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[2],
- /* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[384],
- /* return matcher indices */ &kMatcherIndices[7],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [194] */
- /* num parameters */ 2,
- /* num open types */ 1,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[2],
- /* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[404],
- /* return matcher indices */ &kMatcherIndices[10],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [195] */
/* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[551],
+ /* parameters */ &kParameters[560],
+ /* return matcher indices */ &kMatcherIndices[3],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [194] */
+ /* num parameters */ 1,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[1],
+ /* parameters */ &kParameters[559],
+ /* return matcher indices */ &kMatcherIndices[68],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [195] */
+ /* num parameters */ 2,
+ /* num open types */ 1,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[2],
+ /* open numbers */ &kOpenNumbers[7],
+ /* parameters */ &kParameters[387],
/* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [196] */
- /* num parameters */ 1,
- /* num open types */ 0,
+ /* num parameters */ 2,
+ /* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
+ /* open types */ &kOpenTypes[2],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[550],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* parameters */ &kParameters[407],
+ /* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7334,7 +7389,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[549],
+ /* parameters */ &kParameters[558],
/* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7346,8 +7401,8 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[548],
- /* return matcher indices */ &kMatcherIndices[10],
+ /* parameters */ &kParameters[557],
+ /* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7358,7 +7413,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[547],
+ /* parameters */ &kParameters[556],
/* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7370,32 +7425,32 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[546],
+ /* parameters */ &kParameters[555],
/* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [201] */
- /* num parameters */ 2,
- /* num open types */ 1,
+ /* num parameters */ 1,
+ /* num open types */ 0,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[402],
- /* return matcher indices */ &kMatcherIndices[5],
+ /* parameters */ &kParameters[554],
+ /* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [202] */
- /* num parameters */ 2,
- /* num open types */ 1,
+ /* num parameters */ 1,
+ /* num open types */ 0,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[400],
- /* return matcher indices */ &kMatcherIndices[44],
+ /* parameters */ &kParameters[553],
+ /* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7406,7 +7461,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[398],
+ /* parameters */ &kParameters[405],
/* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7418,92 +7473,92 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[396],
+ /* parameters */ &kParameters[403],
/* return matcher indices */ &kMatcherIndices[44],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [205] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[597],
- /* return matcher indices */ &kMatcherIndices[7],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [206] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[596],
- /* return matcher indices */ &kMatcherIndices[10],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [207] */
- /* num parameters */ 3,
+ /* num parameters */ 2,
/* num open types */ 1,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[339],
+ /* parameters */ &kParameters[401],
/* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
- /* [208] */
- /* num parameters */ 3,
+ /* [206] */
+ /* num parameters */ 2,
/* num open types */ 1,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[336],
+ /* parameters */ &kParameters[399],
/* return matcher indices */ &kMatcherIndices[44],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
- /* [209] */
+ /* [207] */
/* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[527],
+ /* parameters */ &kParameters[604],
/* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
- /* [210] */
+ /* [208] */
/* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[526],
+ /* parameters */ &kParameters[603],
/* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
+ /* [209] */
+ /* num parameters */ 3,
+ /* num open types */ 1,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[1],
+ /* open numbers */ &kOpenNumbers[7],
+ /* parameters */ &kParameters[345],
+ /* return matcher indices */ &kMatcherIndices[5],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [210] */
+ /* num parameters */ 3,
+ /* num open types */ 1,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[1],
+ /* open numbers */ &kOpenNumbers[1],
+ /* parameters */ &kParameters[342],
+ /* return matcher indices */ &kMatcherIndices[44],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
/* [211] */
/* num parameters */ 1,
- /* num open types */ 0,
+ /* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[599],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* parameters */ &kParameters[516],
+ /* return matcher indices */ &kMatcherIndices[6],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7511,34 +7566,34 @@
/* [212] */
/* num parameters */ 1,
/* num open types */ 0,
- /* num open numbers */ 1,
+ /* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[598],
- /* return matcher indices */ &kMatcherIndices[10],
+ /* open numbers */ &kOpenNumbers[7],
+ /* parameters */ &kParameters[517],
+ /* return matcher indices */ &kMatcherIndices[6],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [213] */
- /* num parameters */ 1,
+ /* num parameters */ 3,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[529],
+ /* parameters */ &kParameters[312],
/* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [214] */
- /* num parameters */ 1,
+ /* num parameters */ 3,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[528],
+ /* parameters */ &kParameters[321],
/* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7550,7 +7605,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[601],
+ /* parameters */ &kParameters[536],
/* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7562,7 +7617,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[600],
+ /* parameters */ &kParameters[535],
/* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7574,7 +7629,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[520],
+ /* parameters */ &kParameters[606],
/* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7586,7 +7641,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[519],
+ /* parameters */ &kParameters[605],
/* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7598,7 +7653,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[523],
+ /* parameters */ &kParameters[608],
/* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7610,79 +7665,79 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[522],
+ /* parameters */ &kParameters[607],
/* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [221] */
- /* num parameters */ 2,
+ /* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[388],
+ /* parameters */ &kParameters[526],
/* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [222] */
- /* num parameters */ 2,
+ /* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[390],
+ /* parameters */ &kParameters[525],
/* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [223] */
- /* num parameters */ 1,
+ /* num parameters */ 2,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[603],
+ /* parameters */ &kParameters[389],
/* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [224] */
- /* num parameters */ 1,
+ /* num parameters */ 2,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[602],
+ /* parameters */ &kParameters[391],
/* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [225] */
- /* num parameters */ 2,
+ /* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[430],
+ /* parameters */ &kParameters[529],
/* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [226] */
- /* num parameters */ 2,
+ /* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[432],
+ /* parameters */ &kParameters[528],
/* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7690,48 +7745,48 @@
{
/* [227] */
/* num parameters */ 1,
- /* num open types */ 1,
+ /* num open types */ 0,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[2],
+ /* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[537],
- /* return matcher indices */ &kMatcherIndices[5],
+ /* parameters */ &kParameters[611],
+ /* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [228] */
/* num parameters */ 1,
- /* num open types */ 1,
+ /* num open types */ 0,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[2],
+ /* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[536],
- /* return matcher indices */ &kMatcherIndices[44],
+ /* parameters */ &kParameters[610],
+ /* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [229] */
/* num parameters */ 1,
- /* num open types */ 0,
+ /* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
+ /* open types */ &kOpenTypes[2],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[535],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* parameters */ &kParameters[544],
+ /* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [230] */
/* num parameters */ 1,
- /* num open types */ 0,
+ /* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
+ /* open types */ &kOpenTypes[2],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[534],
- /* return matcher indices */ &kMatcherIndices[10],
+ /* parameters */ &kParameters[543],
+ /* return matcher indices */ &kMatcherIndices[44],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7742,7 +7797,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[609],
+ /* parameters */ &kParameters[542],
/* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7754,7 +7809,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[608],
+ /* parameters */ &kParameters[541],
/* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7766,7 +7821,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[533],
+ /* parameters */ &kParameters[532],
/* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7778,7 +7833,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[532],
+ /* parameters */ &kParameters[615],
/* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7790,7 +7845,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[531],
+ /* parameters */ &kParameters[540],
/* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7802,7 +7857,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[530],
+ /* parameters */ &kParameters[539],
/* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7814,7 +7869,7 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[525],
+ /* parameters */ &kParameters[538],
/* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -7826,32 +7881,32 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[524],
+ /* parameters */ &kParameters[537],
/* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [239] */
- /* num parameters */ 1,
- /* num open types */ 1,
+ /* num parameters */ 2,
+ /* num open types */ 0,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[611],
- /* return matcher indices */ &kMatcherIndices[5],
+ /* parameters */ &kParameters[431],
+ /* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [240] */
- /* num parameters */ 1,
- /* num open types */ 1,
+ /* num parameters */ 2,
+ /* num open types */ 0,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[610],
- /* return matcher indices */ &kMatcherIndices[44],
+ /* parameters */ &kParameters[433],
+ /* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7862,44 +7917,44 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[541],
- /* return matcher indices */ &kMatcherIndices[75],
+ /* parameters */ &kParameters[531],
+ /* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [242] */
- /* num parameters */ 3,
+ /* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[360],
+ /* parameters */ &kParameters[530],
/* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [243] */
- /* num parameters */ 0,
- /* num open types */ 0,
+ /* num parameters */ 1,
+ /* num open types */ 1,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[4],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[612],
- /* return matcher indices */ nullptr,
- /* supported_stages */ PipelineStageSet(PipelineStage::kCompute),
+ /* parameters */ &kParameters[616],
+ /* return matcher indices */ &kMatcherIndices[5],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [244] */
- /* num parameters */ 2,
- /* num open types */ 0,
+ /* num parameters */ 1,
+ /* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
+ /* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[392],
- /* return matcher indices */ &kMatcherIndices[10],
+ /* parameters */ &kParameters[519],
+ /* return matcher indices */ &kMatcherIndices[44],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7910,44 +7965,44 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[538],
+ /* parameters */ &kParameters[548],
/* return matcher indices */ &kMatcherIndices[75],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [246] */
- /* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 2,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[0],
- /* parameters */ &kParameters[521],
- /* return matcher indices */ &kMatcherIndices[40],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
- /* is_deprecated */ false,
- },
- {
- /* [247] */
- /* num parameters */ 1,
+ /* num parameters */ 0,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[539],
- /* return matcher indices */ &kMatcherIndices[75],
+ /* parameters */ &kParameters[617],
+ /* return matcher indices */ nullptr,
+ /* supported_stages */ PipelineStageSet(PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [247] */
+ /* num parameters */ 3,
+ /* num open types */ 0,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[1],
+ /* parameters */ &kParameters[363],
+ /* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [248] */
- /* num parameters */ 1,
+ /* num parameters */ 2,
/* num open types */ 0,
- /* num open numbers */ 0,
+ /* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[518],
- /* return matcher indices */ &kMatcherIndices[135],
+ /* open numbers */ &kOpenNumbers[1],
+ /* parameters */ &kParameters[393],
+ /* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7955,11 +8010,11 @@
/* [249] */
/* num parameters */ 1,
/* num open types */ 0,
- /* num open numbers */ 0,
+ /* num open numbers */ 2,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[517],
- /* return matcher indices */ &kMatcherIndices[135],
+ /* open numbers */ &kOpenNumbers[0],
+ /* parameters */ &kParameters[527],
+ /* return matcher indices */ &kMatcherIndices[40],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7970,8 +8025,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[516],
- /* return matcher indices */ &kMatcherIndices[135],
+ /* parameters */ &kParameters[545],
+ /* return matcher indices */ &kMatcherIndices[75],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7982,8 +8037,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[515],
- /* return matcher indices */ &kMatcherIndices[133],
+ /* parameters */ &kParameters[524],
+ /* return matcher indices */ &kMatcherIndices[141],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -7994,21 +8049,21 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[514],
- /* return matcher indices */ &kMatcherIndices[133],
+ /* parameters */ &kParameters[523],
+ /* return matcher indices */ &kMatcherIndices[141],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [253] */
- /* num parameters */ 0,
+ /* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[612],
- /* return matcher indices */ nullptr,
- /* supported_stages */ PipelineStageSet(PipelineStage::kCompute),
+ /* parameters */ &kParameters[522],
+ /* return matcher indices */ &kMatcherIndices[141],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
@@ -8018,8 +8073,8 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[540],
- /* return matcher indices */ &kMatcherIndices[75],
+ /* parameters */ &kParameters[521],
+ /* return matcher indices */ &kMatcherIndices[135],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -8030,104 +8085,104 @@
/* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[542],
- /* return matcher indices */ &kMatcherIndices[75],
+ /* parameters */ &kParameters[520],
+ /* return matcher indices */ &kMatcherIndices[135],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [256] */
- /* num parameters */ 1,
+ /* num parameters */ 0,
/* num open types */ 0,
- /* num open numbers */ 1,
+ /* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[543],
- /* return matcher indices */ &kMatcherIndices[10],
- /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
+ /* open numbers */ &kOpenNumbers[7],
+ /* parameters */ &kParameters[617],
+ /* return matcher indices */ nullptr,
+ /* supported_stages */ PipelineStageSet(PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [257] */
/* num parameters */ 1,
- /* num open types */ 1,
+ /* num open types */ 0,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[1],
+ /* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[513],
- /* return matcher indices */ &kMatcherIndices[6],
+ /* parameters */ &kParameters[546],
+ /* return matcher indices */ &kMatcherIndices[75],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [258] */
/* num parameters */ 1,
- /* num open types */ 1,
+ /* num open types */ 0,
/* num open numbers */ 0,
- /* open types */ &kOpenTypes[0],
+ /* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[562],
- /* return matcher indices */ nullptr,
+ /* parameters */ &kParameters[547],
+ /* return matcher indices */ &kMatcherIndices[75],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [259] */
- /* num parameters */ 3,
+ /* num parameters */ 1,
/* num open types */ 0,
- /* num open numbers */ 1,
+ /* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[282],
- /* return matcher indices */ &kMatcherIndices[10],
+ /* open numbers */ &kOpenNumbers[7],
+ /* parameters */ &kParameters[549],
+ /* return matcher indices */ &kMatcherIndices[75],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [260] */
- /* num parameters */ 2,
+ /* num parameters */ 1,
/* num open types */ 0,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[414],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* parameters */ &kParameters[550],
+ /* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [261] */
/* num parameters */ 1,
- /* num open types */ 0,
- /* num open numbers */ 1,
- /* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[591],
- /* return matcher indices */ &kMatcherIndices[7],
+ /* num open types */ 1,
+ /* num open numbers */ 0,
+ /* open types */ &kOpenTypes[0],
+ /* open numbers */ &kOpenNumbers[7],
+ /* parameters */ &kParameters[569],
+ /* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [262] */
- /* num parameters */ 2,
+ /* num parameters */ 3,
/* num open types */ 0,
- /* num open numbers */ 0,
+ /* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[7],
- /* parameters */ &kParameters[422],
- /* return matcher indices */ &kMatcherIndices[141],
+ /* open numbers */ &kOpenNumbers[1],
+ /* parameters */ &kParameters[285],
+ /* return matcher indices */ &kMatcherIndices[10],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [263] */
- /* num parameters */ 1,
- /* num open types */ 1,
+ /* num parameters */ 2,
+ /* num open types */ 0,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[0],
- /* open numbers */ &kOpenNumbers[3],
- /* parameters */ &kParameters[605],
- /* return matcher indices */ &kMatcherIndices[75],
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[1],
+ /* parameters */ &kParameters[421],
+ /* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -8138,20 +8193,20 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[606],
- /* return matcher indices */ &kMatcherIndices[3],
+ /* parameters */ &kParameters[598],
+ /* return matcher indices */ &kMatcherIndices[7],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [265] */
- /* num parameters */ 1,
+ /* num parameters */ 2,
/* num open types */ 0,
- /* num open numbers */ 1,
+ /* num open numbers */ 0,
/* open types */ &kOpenTypes[4],
- /* open numbers */ &kOpenNumbers[1],
- /* parameters */ &kParameters[607],
- /* return matcher indices */ &kMatcherIndices[3],
+ /* open numbers */ &kOpenNumbers[7],
+ /* parameters */ &kParameters[427],
+ /* return matcher indices */ &kMatcherIndices[131],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -8160,45 +8215,45 @@
/* num parameters */ 1,
/* num open types */ 1,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[2],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[604],
- /* return matcher indices */ &kMatcherIndices[5],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
+ /* open types */ &kOpenTypes[0],
+ /* open numbers */ &kOpenNumbers[3],
+ /* parameters */ &kParameters[612],
+ /* return matcher indices */ &kMatcherIndices[75],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [267] */
- /* num parameters */ 2,
- /* num open types */ 1,
+ /* num parameters */ 1,
+ /* num open types */ 0,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[2],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[450],
- /* return matcher indices */ nullptr,
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[1],
+ /* parameters */ &kParameters[613],
+ /* return matcher indices */ &kMatcherIndices[3],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [268] */
- /* num parameters */ 2,
- /* num open types */ 1,
+ /* num parameters */ 1,
+ /* num open types */ 0,
/* num open numbers */ 1,
- /* open types */ &kOpenTypes[2],
- /* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[452],
- /* return matcher indices */ &kMatcherIndices[5],
- /* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
+ /* open types */ &kOpenTypes[4],
+ /* open numbers */ &kOpenNumbers[1],
+ /* parameters */ &kParameters[614],
+ /* return matcher indices */ &kMatcherIndices[3],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [269] */
- /* num parameters */ 2,
+ /* num parameters */ 1,
/* num open types */ 1,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[2],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[454],
+ /* parameters */ &kParameters[609],
/* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -8210,8 +8265,8 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[2],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[456],
- /* return matcher indices */ &kMatcherIndices[5],
+ /* parameters */ &kParameters[451],
+ /* return matcher indices */ nullptr,
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@@ -8222,7 +8277,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[2],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[458],
+ /* parameters */ &kParameters[453],
/* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -8234,7 +8289,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[2],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[470],
+ /* parameters */ &kParameters[455],
/* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -8246,7 +8301,7 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[2],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[460],
+ /* parameters */ &kParameters[457],
/* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -8258,19 +8313,55 @@
/* num open numbers */ 1,
/* open types */ &kOpenTypes[2],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[434],
+ /* parameters */ &kParameters[459],
/* return matcher indices */ &kMatcherIndices[5],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
{
/* [275] */
+ /* num parameters */ 2,
+ /* num open types */ 1,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[2],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[461],
+ /* return matcher indices */ &kMatcherIndices[5],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [276] */
+ /* num parameters */ 2,
+ /* num open types */ 1,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[2],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[463],
+ /* return matcher indices */ &kMatcherIndices[5],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [277] */
+ /* num parameters */ 2,
+ /* num open types */ 1,
+ /* num open numbers */ 1,
+ /* open types */ &kOpenTypes[2],
+ /* open numbers */ &kOpenNumbers[6],
+ /* parameters */ &kParameters[473],
+ /* return matcher indices */ &kMatcherIndices[5],
+ /* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
+ /* is_deprecated */ false,
+ },
+ {
+ /* [278] */
/* num parameters */ 3,
/* num open types */ 1,
/* num open numbers */ 1,
/* open types */ &kOpenTypes[2],
/* open numbers */ &kOpenNumbers[6],
- /* parameters */ &kParameters[366],
+ /* parameters */ &kParameters[372],
/* return matcher indices */ &kMatcherIndices[177],
/* supported_stages */ PipelineStageSet(PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
@@ -8283,196 +8374,196 @@
/* fn abs<T : fiu32>(T) -> T */
/* fn abs<N : num, T : fiu32>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[239],
+ /* overloads */ &kOverloads[243],
},
{
/* [1] */
/* fn acos(f32) -> f32 */
/* fn acos<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[231],
+ /* overloads */ &kOverloads[233],
},
{
/* [2] */
/* fn all<N : num>(vec<N, bool>) -> bool */
/* num overloads */ 1,
- /* overloads */ &kOverloads[265],
+ /* overloads */ &kOverloads[268],
},
{
/* [3] */
/* fn any<N : num>(vec<N, bool>) -> bool */
/* num overloads */ 1,
- /* overloads */ &kOverloads[264],
+ /* overloads */ &kOverloads[267],
},
{
/* [4] */
/* fn arrayLength<T, A : access>(ptr<storage, array<T>, A>) -> u32 */
/* num overloads */ 1,
- /* overloads */ &kOverloads[263],
+ /* overloads */ &kOverloads[266],
},
{
/* [5] */
/* fn asin(f32) -> f32 */
/* fn asin<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[223],
+ /* overloads */ &kOverloads[227],
},
{
/* [6] */
/* fn atan(f32) -> f32 */
/* fn atan<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[215],
+ /* overloads */ &kOverloads[219],
},
{
/* [7] */
/* fn atan2(f32, f32) -> f32 */
/* fn atan2<N : num>(vec<N, f32>, vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[145],
+ /* overloads */ &kOverloads[147],
},
{
/* [8] */
/* fn ceil(f32) -> f32 */
/* fn ceil<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[211],
+ /* overloads */ &kOverloads[217],
},
{
/* [9] */
/* fn clamp<T : fiu32>(T, T, T) -> T */
/* fn clamp<N : num, T : fiu32>(vec<N, T>, vec<N, T>, vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[207],
+ /* overloads */ &kOverloads[209],
},
{
/* [10] */
/* fn cos(f32) -> f32 */
/* fn cos<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[205],
+ /* overloads */ &kOverloads[207],
},
{
/* [11] */
/* fn cosh(f32) -> f32 */
/* fn cosh<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[181],
+ /* overloads */ &kOverloads[183],
},
{
/* [12] */
/* fn countOneBits<T : iu32>(T) -> T */
/* fn countOneBits<N : num, T : iu32>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[173],
+ /* overloads */ &kOverloads[175],
},
{
/* [13] */
/* fn cross(vec3<f32>, vec3<f32>) -> vec3<f32> */
/* num overloads */ 1,
- /* overloads */ &kOverloads[262],
+ /* overloads */ &kOverloads[265],
},
{
/* [14] */
/* fn determinant<N : num>(mat<N, N, f32>) -> f32 */
/* num overloads */ 1,
- /* overloads */ &kOverloads[261],
+ /* overloads */ &kOverloads[264],
},
{
/* [15] */
/* fn distance(f32, f32) -> f32 */
/* fn distance<N : num>(vec<N, f32>, vec<N, f32>) -> f32 */
/* num overloads */ 2,
- /* overloads */ &kOverloads[147],
+ /* overloads */ &kOverloads[149],
},
{
/* [16] */
/* fn dot<N : num>(vec<N, f32>, vec<N, f32>) -> f32 */
/* num overloads */ 1,
- /* overloads */ &kOverloads[260],
+ /* overloads */ &kOverloads[263],
},
{
/* [17] */
/* fn dpdx(f32) -> f32 */
/* fn dpdx<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[149],
+ /* overloads */ &kOverloads[151],
},
{
/* [18] */
/* fn dpdxCoarse(f32) -> f32 */
/* fn dpdxCoarse<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[151],
+ /* overloads */ &kOverloads[153],
},
{
/* [19] */
/* fn dpdxFine(f32) -> f32 */
/* fn dpdxFine<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[153],
+ /* overloads */ &kOverloads[155],
},
{
/* [20] */
/* fn dpdy(f32) -> f32 */
/* fn dpdy<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[155],
+ /* overloads */ &kOverloads[157],
},
{
/* [21] */
/* fn dpdyCoarse(f32) -> f32 */
/* fn dpdyCoarse<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[157],
+ /* overloads */ &kOverloads[159],
},
{
/* [22] */
/* fn dpdyFine(f32) -> f32 */
/* fn dpdyFine<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[159],
+ /* overloads */ &kOverloads[161],
},
{
/* [23] */
/* fn exp(f32) -> f32 */
/* fn exp<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[161],
+ /* overloads */ &kOverloads[163],
},
{
/* [24] */
/* fn exp2(f32) -> f32 */
/* fn exp2<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[163],
+ /* overloads */ &kOverloads[165],
},
{
/* [25] */
/* fn faceForward<N : num>(vec<N, f32>, vec<N, f32>, vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 1,
- /* overloads */ &kOverloads[259],
+ /* overloads */ &kOverloads[262],
},
{
/* [26] */
/* fn floor(f32) -> f32 */
/* fn floor<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[167],
+ /* overloads */ &kOverloads[169],
},
{
/* [27] */
/* fn fma(f32, f32, f32) -> f32 */
/* fn fma<N : num>(vec<N, f32>, vec<N, f32>, vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[169],
+ /* overloads */ &kOverloads[171],
},
{
/* [28] */
/* fn fract(f32) -> f32 */
/* fn fract<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[171],
+ /* overloads */ &kOverloads[173],
},
{
/* [29] */
@@ -8481,111 +8572,111 @@
/* fn frexp(f32) -> _frexp_result */
/* fn frexp<N : num>(vec<N, f32>) -> _frexp_result_vec<N> */
/* num overloads */ 4,
- /* overloads */ &kOverloads[135],
+ /* overloads */ &kOverloads[137],
},
{
/* [30] */
/* fn fwidth(f32) -> f32 */
/* fn fwidth<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[175],
+ /* overloads */ &kOverloads[177],
},
{
/* [31] */
/* fn fwidthCoarse(f32) -> f32 */
/* fn fwidthCoarse<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[177],
+ /* overloads */ &kOverloads[179],
},
{
/* [32] */
/* fn fwidthFine(f32) -> f32 */
/* fn fwidthFine<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[179],
+ /* overloads */ &kOverloads[181],
},
{
/* [33] */
/* fn ignore<T>(T) */
/* num overloads */ 1,
- /* overloads */ &kOverloads[258],
+ /* overloads */ &kOverloads[261],
},
{
/* [34] */
/* fn inverseSqrt(f32) -> f32 */
/* fn inverseSqrt<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[183],
+ /* overloads */ &kOverloads[185],
},
{
/* [35] */
/* fn isFinite(f32) -> bool */
/* fn isFinite<N : num>(vec<N, f32>) -> vec<N, bool> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[185],
+ /* overloads */ &kOverloads[187],
},
{
/* [36] */
/* fn isInf(f32) -> bool */
/* fn isInf<N : num>(vec<N, f32>) -> vec<N, bool> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[187],
+ /* overloads */ &kOverloads[189],
},
{
/* [37] */
/* fn isNan(f32) -> bool */
/* fn isNan<N : num>(vec<N, f32>) -> vec<N, bool> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[189],
+ /* overloads */ &kOverloads[191],
},
{
/* [38] */
/* fn isNormal(f32) -> bool */
/* fn isNormal<N : num>(vec<N, f32>) -> vec<N, bool> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[191],
+ /* overloads */ &kOverloads[193],
},
{
/* [39] */
/* fn ldexp<T : iu32>(f32, T) -> f32 */
/* fn ldexp<N : num, T : iu32>(vec<N, f32>, vec<N, T>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[193],
+ /* overloads */ &kOverloads[195],
},
{
/* [40] */
/* fn length(f32) -> f32 */
/* fn length<N : num>(vec<N, f32>) -> f32 */
/* num overloads */ 2,
- /* overloads */ &kOverloads[195],
+ /* overloads */ &kOverloads[197],
},
{
/* [41] */
/* fn log(f32) -> f32 */
/* fn log<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[197],
+ /* overloads */ &kOverloads[199],
},
{
/* [42] */
/* fn log2(f32) -> f32 */
/* fn log2<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[199],
+ /* overloads */ &kOverloads[201],
},
{
/* [43] */
/* fn max<T : fiu32>(T, T) -> T */
/* fn max<N : num, T : fiu32>(vec<N, T>, vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[201],
+ /* overloads */ &kOverloads[203],
},
{
/* [44] */
/* fn min<T : fiu32>(T, T) -> T */
/* fn min<N : num, T : fiu32>(vec<N, T>, vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[203],
+ /* overloads */ &kOverloads[205],
},
{
/* [45] */
@@ -8593,7 +8684,7 @@
/* fn mix<N : num>(vec<N, f32>, vec<N, f32>, vec<N, f32>) -> vec<N, f32> */
/* fn mix<N : num>(vec<N, f32>, vec<N, f32>, f32) -> vec<N, f32> */
/* num overloads */ 3,
- /* overloads */ &kOverloads[139],
+ /* overloads */ &kOverloads[141],
},
{
/* [46] */
@@ -8602,76 +8693,76 @@
/* fn modf(f32) -> _modf_result */
/* fn modf<N : num>(vec<N, f32>) -> _modf_result_vec<N> */
/* num overloads */ 4,
- /* overloads */ &kOverloads[131],
+ /* overloads */ &kOverloads[133],
},
{
/* [47] */
/* fn normalize<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 1,
- /* overloads */ &kOverloads[256],
+ /* overloads */ &kOverloads[260],
},
{
/* [48] */
/* fn pack2x16float(vec2<f32>) -> u32 */
/* num overloads */ 1,
- /* overloads */ &kOverloads[255],
+ /* overloads */ &kOverloads[259],
},
{
/* [49] */
/* fn pack2x16snorm(vec2<f32>) -> u32 */
/* num overloads */ 1,
- /* overloads */ &kOverloads[241],
+ /* overloads */ &kOverloads[245],
},
{
/* [50] */
/* fn pack2x16unorm(vec2<f32>) -> u32 */
/* num overloads */ 1,
- /* overloads */ &kOverloads[254],
+ /* overloads */ &kOverloads[258],
},
{
/* [51] */
/* fn pack4x8snorm(vec4<f32>) -> u32 */
/* num overloads */ 1,
- /* overloads */ &kOverloads[247],
+ /* overloads */ &kOverloads[257],
},
{
/* [52] */
/* fn pack4x8unorm(vec4<f32>) -> u32 */
/* num overloads */ 1,
- /* overloads */ &kOverloads[245],
+ /* overloads */ &kOverloads[250],
},
{
/* [53] */
/* fn pow(f32, f32) -> f32 */
/* fn pow<N : num>(vec<N, f32>, vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[221],
+ /* overloads */ &kOverloads[223],
},
{
/* [54] */
/* fn reflect<N : num>(vec<N, f32>, vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 1,
- /* overloads */ &kOverloads[244],
+ /* overloads */ &kOverloads[248],
},
{
/* [55] */
/* fn refract<N : num>(vec<N, f32>, vec<N, f32>, f32) -> vec<N, f32> */
/* num overloads */ 1,
- /* overloads */ &kOverloads[242],
+ /* overloads */ &kOverloads[247],
},
{
/* [56] */
/* fn reverseBits<T : iu32>(T) -> T */
/* fn reverseBits<N : num, T : iu32>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[227],
+ /* overloads */ &kOverloads[229],
},
{
/* [57] */
/* fn round(f32) -> f32 */
/* fn round<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[229],
+ /* overloads */ &kOverloads[231],
},
{
/* [58] */
@@ -8679,118 +8770,118 @@
/* 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 */ &kOverloads[142],
+ /* overloads */ &kOverloads[144],
},
{
/* [59] */
/* fn sign(f32) -> f32 */
/* fn sign<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[233],
+ /* overloads */ &kOverloads[235],
},
{
/* [60] */
/* fn sin(f32) -> f32 */
/* fn sin<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[235],
+ /* overloads */ &kOverloads[237],
},
{
/* [61] */
/* fn sinh(f32) -> f32 */
/* fn sinh<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[213],
+ /* overloads */ &kOverloads[215],
},
{
/* [62] */
/* fn smoothStep(f32, f32, f32) -> f32 */
/* fn smoothStep<N : num>(vec<N, f32>, vec<N, f32>, vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[165],
+ /* overloads */ &kOverloads[213],
},
{
/* [63] */
/* fn sqrt(f32) -> f32 */
/* fn sqrt<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[209],
+ /* overloads */ &kOverloads[167],
},
{
/* [64] */
/* fn step(f32, f32) -> f32 */
/* fn step<N : num>(vec<N, f32>, vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[225],
+ /* overloads */ &kOverloads[239],
},
{
/* [65] */
/* fn storageBarrier() */
/* num overloads */ 1,
- /* overloads */ &kOverloads[243],
+ /* overloads */ &kOverloads[246],
},
{
/* [66] */
/* fn tan(f32) -> f32 */
/* fn tan<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[237],
+ /* overloads */ &kOverloads[241],
},
{
/* [67] */
/* fn tanh(f32) -> f32 */
/* fn tanh<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[219],
+ /* overloads */ &kOverloads[225],
},
{
/* [68] */
/* fn transpose<M : num, N : num>(mat<M, N, f32>) -> mat<N, M, f32> */
/* num overloads */ 1,
- /* overloads */ &kOverloads[246],
+ /* overloads */ &kOverloads[249],
},
{
/* [69] */
/* fn trunc(f32) -> f32 */
/* fn trunc<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ &kOverloads[217],
+ /* overloads */ &kOverloads[221],
},
{
/* [70] */
/* fn unpack2x16float(u32) -> vec2<f32> */
/* num overloads */ 1,
- /* overloads */ &kOverloads[248],
+ /* overloads */ &kOverloads[251],
},
{
/* [71] */
/* fn unpack2x16snorm(u32) -> vec2<f32> */
/* num overloads */ 1,
- /* overloads */ &kOverloads[249],
+ /* overloads */ &kOverloads[252],
},
{
/* [72] */
/* fn unpack2x16unorm(u32) -> vec2<f32> */
/* num overloads */ 1,
- /* overloads */ &kOverloads[250],
+ /* overloads */ &kOverloads[253],
},
{
/* [73] */
/* fn unpack4x8snorm(u32) -> vec4<f32> */
/* num overloads */ 1,
- /* overloads */ &kOverloads[251],
+ /* overloads */ &kOverloads[254],
},
{
/* [74] */
/* fn unpack4x8unorm(u32) -> vec4<f32> */
/* num overloads */ 1,
- /* overloads */ &kOverloads[252],
+ /* overloads */ &kOverloads[255],
},
{
/* [75] */
/* fn workgroupBarrier() */
/* num overloads */ 1,
- /* overloads */ &kOverloads[253],
+ /* overloads */ &kOverloads[256],
},
{
/* [76] */
@@ -8815,12 +8906,13 @@
/* fn textureDimensions(texture: texture_depth_cube, level: i32) -> vec2<i32> */
/* fn textureDimensions(texture: texture_depth_cube_array) -> vec2<i32> */
/* fn textureDimensions(texture: texture_depth_cube_array, level: i32) -> vec2<i32> */
+ /* fn textureDimensions(texture: texture_depth_multisampled_2d) -> vec2<i32> */
/* fn textureDimensions<F : texel_format, A : read_or_write>(texture: texture_storage_1d<F, A>) -> i32 */
/* fn textureDimensions<F : texel_format, A : read_or_write>(texture: texture_storage_2d<F, A>) -> vec2<i32> */
/* fn textureDimensions<F : texel_format, A : read_or_write>(texture: texture_storage_2d_array<F, A>) -> vec2<i32> */
/* fn textureDimensions<F : texel_format, A : read_or_write>(texture: texture_storage_3d<F, A>) -> vec3<i32> */
/* fn textureDimensions(texture: texture_external) -> vec2<i32> */
- /* num overloads */ 26,
+ /* num overloads */ 27,
/* overloads */ &kOverloads[0],
},
{
@@ -8831,7 +8923,7 @@
/* fn textureNumLayers(texture: texture_depth_cube_array) -> i32 */
/* fn textureNumLayers<F : texel_format, A : read_or_write>(texture: texture_storage_2d_array<F, A>) -> i32 */
/* num overloads */ 5,
- /* overloads */ &kOverloads[126],
+ /* overloads */ &kOverloads[128],
},
{
/* [78] */
@@ -8846,13 +8938,14 @@
/* fn textureNumLevels(texture: texture_depth_cube) -> i32 */
/* fn textureNumLevels(texture: texture_depth_cube_array) -> i32 */
/* num overloads */ 10,
- /* overloads */ &kOverloads[88],
+ /* overloads */ &kOverloads[90],
},
{
/* [79] */
/* fn textureNumSamples<T : fiu32>(texture: texture_multisampled_2d<T>) -> i32 */
- /* num overloads */ 1,
- /* overloads */ &kOverloads[257],
+ /* fn textureNumSamples(texture: texture_depth_multisampled_2d) -> i32 */
+ /* num overloads */ 2,
+ /* overloads */ &kOverloads[211],
},
{
/* [80] */
@@ -8872,7 +8965,7 @@
/* fn textureSample(texture: texture_depth_cube, sampler: sampler, coords: vec3<f32>) -> f32 */
/* fn textureSample(texture: texture_depth_cube_array, sampler: sampler, coords: vec3<f32>, array_index: i32) -> f32 */
/* num overloads */ 15,
- /* overloads */ &kOverloads[61],
+ /* overloads */ &kOverloads[63],
},
{
/* [81] */
@@ -8885,7 +8978,7 @@
/* fn textureSampleBias(texture: texture_cube<f32>, sampler: sampler, coords: vec3<f32>, bias: f32) -> vec4<f32> */
/* fn textureSampleBias(texture: texture_cube_array<f32>, sampler: sampler, coords: vec3<f32>, array_index: i32, bias: f32) -> vec4<f32> */
/* num overloads */ 8,
- /* overloads */ &kOverloads[106],
+ /* overloads */ &kOverloads[108],
},
{
/* [82] */
@@ -8896,7 +8989,7 @@
/* fn textureSampleCompare(texture: texture_depth_cube, sampler: sampler_comparison, coords: vec3<f32>, depth_ref: f32) -> f32 */
/* fn textureSampleCompare(texture: texture_depth_cube_array, sampler: sampler_comparison, coords: vec3<f32>, array_index: i32, depth_ref: f32) -> f32 */
/* num overloads */ 6,
- /* overloads */ &kOverloads[120],
+ /* overloads */ &kOverloads[122],
},
{
/* [83] */
@@ -8907,7 +9000,7 @@
/* fn textureSampleCompareLevel(texture: texture_depth_cube, sampler: sampler_comparison, coords: vec3<f32>, depth_ref: f32) -> f32 */
/* fn textureSampleCompareLevel(texture: texture_depth_cube_array, sampler: sampler_comparison, coords: vec3<f32>, array_index: i32, depth_ref: f32) -> f32 */
/* num overloads */ 6,
- /* overloads */ &kOverloads[114],
+ /* overloads */ &kOverloads[116],
},
{
/* [84] */
@@ -8920,7 +9013,7 @@
/* fn textureSampleGrad(texture: texture_cube<f32>, sampler: sampler, coords: vec3<f32>, ddx: vec3<f32>, ddy: vec3<f32>) -> vec4<f32> */
/* fn textureSampleGrad(texture: texture_cube_array<f32>, sampler: sampler, coords: vec3<f32>, array_index: i32, ddx: vec3<f32>, ddy: vec3<f32>) -> vec4<f32> */
/* num overloads */ 8,
- /* overloads */ &kOverloads[98],
+ /* overloads */ &kOverloads[100],
},
{
/* [85] */
@@ -8940,7 +9033,7 @@
/* fn textureSampleLevel(texture: texture_depth_cube_array, sampler: sampler, coords: vec3<f32>, array_index: i32, level: i32) -> f32 */
/* fn textureSampleLevel(texture: texture_external, sampler: sampler, coords: vec2<f32>) -> vec4<f32> */
/* num overloads */ 15,
- /* overloads */ &kOverloads[46],
+ /* overloads */ &kOverloads[48],
},
{
/* [86] */
@@ -8957,7 +9050,7 @@
/* fn textureStore(texture: texture_storage_2d_array<u32_texel_format, write>, coords: vec2<i32>, array_index: i32, value: vec4<u32>) */
/* fn textureStore(texture: texture_storage_3d<u32_texel_format, write>, coords: vec3<i32>, value: vec4<u32>) */
/* num overloads */ 12,
- /* overloads */ &kOverloads[76],
+ /* overloads */ &kOverloads[78],
},
{
/* [87] */
@@ -8968,6 +9061,7 @@
/* fn textureLoad<T : fiu32>(texture: texture_multisampled_2d<T>, coords: vec2<i32>, sample_index: i32) -> vec4<T> */
/* fn textureLoad(texture: texture_depth_2d, coords: vec2<i32>, level: i32) -> f32 */
/* fn textureLoad(texture: texture_depth_2d_array, coords: vec2<i32>, array_index: i32, level: i32) -> f32 */
+ /* fn textureLoad(texture: texture_depth_multisampled_2d, coords: vec2<i32>, sample_index: i32) -> f32 */
/* fn textureLoad(texture: texture_storage_1d<f32_texel_format, read>, coords: i32) -> vec4<f32> */
/* fn textureLoad(texture: texture_storage_2d<f32_texel_format, read>, coords: vec2<i32>) -> vec4<f32> */
/* fn textureLoad(texture: texture_storage_2d_array<f32_texel_format, read>, coords: vec2<i32>, array_index: i32) -> vec4<f32> */
@@ -8981,68 +9075,68 @@
/* fn textureLoad(texture: texture_storage_2d_array<u32_texel_format, read>, coords: vec2<i32>, array_index: i32) -> vec4<u32> */
/* fn textureLoad(texture: texture_storage_3d<u32_texel_format, read>, coords: vec3<i32>) -> vec4<u32> */
/* fn textureLoad(texture: texture_external, coords: vec2<i32>) -> vec4<f32> */
- /* num overloads */ 20,
- /* overloads */ &kOverloads[26],
+ /* num overloads */ 21,
+ /* overloads */ &kOverloads[27],
},
{
/* [88] */
/* fn atomicLoad<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>) -> T */
/* num overloads */ 1,
- /* overloads */ &kOverloads[266],
+ /* overloads */ &kOverloads[269],
},
{
/* [89] */
/* fn atomicStore<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) */
/* num overloads */ 1,
- /* overloads */ &kOverloads[267],
+ /* overloads */ &kOverloads[270],
},
{
/* [90] */
/* fn atomicAdd<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
- /* overloads */ &kOverloads[268],
+ /* overloads */ &kOverloads[271],
},
{
/* [91] */
/* fn atomicMax<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
- /* overloads */ &kOverloads[269],
+ /* overloads */ &kOverloads[272],
},
{
/* [92] */
/* fn atomicMin<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
- /* overloads */ &kOverloads[270],
+ /* overloads */ &kOverloads[273],
},
{
/* [93] */
/* fn atomicAnd<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
- /* overloads */ &kOverloads[271],
+ /* overloads */ &kOverloads[274],
},
{
/* [94] */
/* fn atomicOr<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
- /* overloads */ &kOverloads[272],
+ /* overloads */ &kOverloads[275],
},
{
/* [95] */
/* fn atomicXor<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
- /* overloads */ &kOverloads[273],
+ /* overloads */ &kOverloads[276],
},
{
/* [96] */
/* fn atomicExchange<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
- /* overloads */ &kOverloads[274],
+ /* overloads */ &kOverloads[277],
},
{
/* [97] */
/* fn atomicCompareExchangeWeak<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T, T) -> vec2<T> */
/* num overloads */ 1,
- /* overloads */ &kOverloads[275],
+ /* overloads */ &kOverloads[278],
},
};
diff --git a/src/intrinsic_table_test.cc b/src/intrinsic_table_test.cc
index 374c56b..9a334ad 100644
--- a/src/intrinsic_table_test.cc
+++ b/src/intrinsic_table_test.cc
@@ -16,6 +16,7 @@
#include "gmock/gmock.h"
#include "src/program_builder.h"
+#include "src/sem/depth_multisampled_texture_type.h"
#include "src/sem/depth_texture_type.h"
#include "src/sem/external_texture_type.h"
#include "src/sem/multisampled_texture_type.h"
@@ -346,6 +347,26 @@
EXPECT_EQ(result->Parameters()[2]->Usage(), ParameterUsage::kLevel);
}
+TEST_F(IntrinsicTableTest, MatchDepthMultisampledTexture) {
+ auto* f32 = create<sem::F32>();
+ auto* i32 = create<sem::I32>();
+ auto* vec2_i32 = create<sem::Vector>(i32, 2);
+ auto* tex = create<sem::DepthMultisampledTexture>(ast::TextureDimension::k2d);
+ auto* result = table->Lookup(IntrinsicType::kTextureLoad,
+ {tex, vec2_i32, i32}, Source{});
+ ASSERT_NE(result, nullptr) << Diagnostics().str();
+ ASSERT_EQ(Diagnostics().str(), "");
+ EXPECT_THAT(result->Type(), IntrinsicType::kTextureLoad);
+ EXPECT_THAT(result->ReturnType(), f32);
+ ASSERT_EQ(result->Parameters().size(), 3u);
+ EXPECT_EQ(result->Parameters()[0]->Type(), tex);
+ EXPECT_EQ(result->Parameters()[0]->Usage(), ParameterUsage::kTexture);
+ EXPECT_EQ(result->Parameters()[1]->Type(), vec2_i32);
+ EXPECT_EQ(result->Parameters()[1]->Usage(), ParameterUsage::kCoords);
+ EXPECT_EQ(result->Parameters()[2]->Type(), i32);
+ EXPECT_EQ(result->Parameters()[2]->Usage(), ParameterUsage::kSampleIndex);
+}
+
TEST_F(IntrinsicTableTest, MatchExternalTexture) {
auto* f32 = create<sem::F32>();
auto* i32 = create<sem::I32>();
@@ -519,7 +540,7 @@
ASSERT_EQ(Diagnostics().str(),
R"(error: no matching call to textureDimensions(bool, bool)
-26 candidate functions:
+27 candidate functions:
textureDimensions(texture: texture_1d<T>, level: i32) -> i32 where: T is f32, i32 or u32
textureDimensions(texture: texture_2d<T>, level: i32) -> vec2<i32> where: T is f32, i32 or u32
textureDimensions(texture: texture_2d_array<T>, level: i32) -> vec2<i32> where: T is f32, i32 or u32
@@ -541,6 +562,7 @@
textureDimensions(texture: texture_depth_2d_array) -> vec2<i32>
textureDimensions(texture: texture_depth_cube) -> vec2<i32>
textureDimensions(texture: texture_depth_cube_array) -> vec2<i32>
+ textureDimensions(texture: texture_depth_multisampled_2d) -> vec2<i32>
textureDimensions(texture: texture_storage_1d<F, A>) -> i32 where: A is read or write
textureDimensions(texture: texture_storage_2d<F, A>) -> vec2<i32> where: A is read or write
textureDimensions(texture: texture_storage_2d_array<F, A>) -> vec2<i32> where: A is read or write
@@ -557,7 +579,7 @@
Diagnostics().str(),
R"(error: no matching call to textureDimensions(texture_depth_2d, bool)
-26 candidate functions:
+27 candidate functions:
textureDimensions(texture: texture_depth_2d, level: i32) -> vec2<i32>
textureDimensions(texture: texture_depth_2d) -> vec2<i32>
textureDimensions(texture: texture_1d<T>, level: i32) -> i32 where: T is f32, i32 or u32
@@ -579,6 +601,7 @@
textureDimensions(texture: texture_depth_2d_array) -> vec2<i32>
textureDimensions(texture: texture_depth_cube) -> vec2<i32>
textureDimensions(texture: texture_depth_cube_array) -> vec2<i32>
+ textureDimensions(texture: texture_depth_multisampled_2d) -> vec2<i32>
textureDimensions(texture: texture_storage_1d<F, A>) -> i32 where: A is read or write
textureDimensions(texture: texture_storage_2d<F, A>) -> vec2<i32> where: A is read or write
textureDimensions(texture: texture_storage_2d_array<F, A>) -> vec2<i32> where: A is read or write
diff --git a/src/intrinsics.def b/src/intrinsics.def
index 5c39206..2c00daf 100644
--- a/src/intrinsics.def
+++ b/src/intrinsics.def
@@ -90,6 +90,7 @@
type texture_depth_2d_array
type texture_depth_cube
type texture_depth_cube_array
+type texture_depth_multisampled_2d
type texture_storage_1d<F: texel_format, A: access>
type texture_storage_2d<F: texel_format, A: access>
type texture_storage_2d_array<F: texel_format, A: access>
@@ -418,6 +419,7 @@
fn textureDimensions(texture: texture_depth_cube, level: i32) -> vec2<i32>
fn textureDimensions(texture: texture_depth_cube_array) -> vec2<i32>
fn textureDimensions(texture: texture_depth_cube_array, level: i32) -> vec2<i32>
+fn textureDimensions(texture: texture_depth_multisampled_2d) -> vec2<i32>
fn textureDimensions<F: texel_format, A: read_or_write>(texture: texture_storage_1d<F, A>) -> i32
fn textureDimensions<F: texel_format, A: read_or_write>(texture: texture_storage_2d<F, A>) -> vec2<i32>
fn textureDimensions<F: texel_format, A: read_or_write>(texture: texture_storage_2d_array<F, A>) -> vec2<i32>
@@ -439,6 +441,7 @@
fn textureNumLevels(texture: texture_depth_cube) -> i32
fn textureNumLevels(texture: texture_depth_cube_array) -> i32
fn textureNumSamples<T: fiu32>(texture: texture_multisampled_2d<T>) -> i32
+fn textureNumSamples(texture: texture_depth_multisampled_2d) -> i32
[[stage("fragment")]] fn textureSample(texture: texture_1d<f32>, sampler: sampler, coords: f32) -> vec4<f32>
[[stage("fragment")]] fn textureSample(texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>) -> vec4<f32>
[[stage("fragment")]] fn textureSample(texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>, offset: vec2<i32>) -> vec4<f32>
@@ -516,6 +519,7 @@
fn textureLoad<T: fiu32>(texture: texture_multisampled_2d<T>, coords: vec2<i32>, sample_index: i32) -> vec4<T>
fn textureLoad(texture: texture_depth_2d, coords: vec2<i32>, level: i32) -> f32
fn textureLoad(texture: texture_depth_2d_array, coords: vec2<i32>, array_index: i32, level: i32) -> f32
+fn textureLoad(texture: texture_depth_multisampled_2d, coords: vec2<i32>, sample_index: i32) -> f32
[[deprecated]] fn textureLoad(texture: texture_storage_1d<f32_texel_format, read>, coords: i32) -> vec4<f32>
[[deprecated]] fn textureLoad(texture: texture_storage_2d<f32_texel_format, read>, coords: vec2<i32>) -> vec4<f32>
[[deprecated]] fn textureLoad(texture: texture_storage_2d_array<f32_texel_format, read>, coords: vec2<i32>, array_index: i32) -> vec4<f32>
diff --git a/src/program_builder.h b/src/program_builder.h
index a7d8f90..5a77533 100644
--- a/src/program_builder.h
+++ b/src/program_builder.h
@@ -32,6 +32,7 @@
#include "src/ast/call_expression.h"
#include "src/ast/call_statement.h"
#include "src/ast/case_statement.h"
+#include "src/ast/depth_multisampled_texture.h"
#include "src/ast/depth_texture.h"
#include "src/ast/external_texture.h"
#include "src/ast/f32.h"
@@ -802,6 +803,22 @@
}
/// @param dims the dimensionality of the texture
+ /// @returns the multisampled depth texture
+ ast::DepthMultisampledTexture* depth_multisampled_texture(
+ ast::TextureDimension dims) const {
+ return builder->create<ast::DepthMultisampledTexture>(dims);
+ }
+
+ /// @param source the Source of the node
+ /// @param dims the dimensionality of the texture
+ /// @returns the multisampled depth texture
+ ast::DepthMultisampledTexture* depth_multisampled_texture(
+ const Source& source,
+ ast::TextureDimension dims) const {
+ return builder->create<ast::DepthMultisampledTexture>(source, dims);
+ }
+
+ /// @param dims the dimensionality of the texture
/// @param subtype the texture subtype.
/// @returns the sampled texture
ast::SampledTexture* sampled_texture(ast::TextureDimension dims,
diff --git a/src/reader/spirv/function.cc b/src/reader/spirv/function.cc
index f48940b..727ad83 100644
--- a/src/reader/spirv/function.cc
+++ b/src/reader/spirv/function.cc
@@ -5404,7 +5404,7 @@
// dref gather vec4 ImageFetch vec4 TODO(dneto)
// Construct a 4-element vector with the result from the builtin in the
// first component.
- if (texture_type->Is<DepthTexture>()) {
+ if (texture_type->IsAnyOf<DepthTexture, DepthMultisampledTexture>()) {
if (is_non_dref_sample || (opcode == SpvOpImageFetch)) {
value = create<ast::TypeConstructorExpression>(
Source{},
diff --git a/src/reader/spirv/parser_impl.cc b/src/reader/spirv/parser_impl.cc
index 0a7c053..7981c0a 100644
--- a/src/reader/spirv/parser_impl.cc
+++ b/src/reader/spirv/parser_impl.cc
@@ -2516,7 +2516,11 @@
// OpImage variable with an OpImage*Dref* instruction. In WGSL we must
// treat that as a depth texture.
if (image_type->depth() || usage.IsDepthTexture()) {
- ast_store_type = ty_.DepthTexture(dim);
+ if (image_type->is_multisampled()) {
+ ast_store_type = ty_.DepthMultisampledTexture(dim);
+ } else {
+ ast_store_type = ty_.DepthTexture(dim);
+ }
} else if (image_type->is_multisampled()) {
if (dim != ast::TextureDimension::k2d) {
Fail() << "WGSL multisampled textures must be 2d and non-arrayed: "
diff --git a/src/reader/spirv/parser_impl_handle_test.cc b/src/reader/spirv/parser_impl_handle_test.cc
index 74e48b2..99c7d53 100644
--- a/src/reader/spirv/parser_impl_handle_test.cc
+++ b/src/reader/spirv/parser_impl_handle_test.cc
@@ -3974,6 +3974,52 @@
})"}}));
INSTANTIATE_TEST_SUITE_P(
+ ImageFetch_DepthMultisampled,
+ // In SPIR-V OpImageFetch always yields a vector of 4
+ // elements, even for depth images. But in WGSL,
+ // textureLoad on a depth image yields f32.
+ // crbug.com/tint/439
+ SpvParserHandleTest_ImageAccessTest,
+ ::testing::ValuesIn(std::vector<ImageAccessCase>{
+ // ImageFetch on multisampled depth image.
+ {"%float 2D 1 0 1 1 Unknown",
+ "%99 = OpImageFetch %v4float %im %vi12 Sample %i1",
+ R"(Variable{
+ Decorations{
+ GroupDecoration{2}
+ BindingDecoration{1}
+ }
+ x_20
+ none
+ undefined
+ __depth_multisampled_texture_2d
+ })",
+ R"(VariableDeclStatement{
+ VariableConst{
+ x_99
+ none
+ undefined
+ __vec_4__f32
+ {
+ TypeConstructor[not set]{
+ __vec_4__f32
+ Call[not set]{
+ Identifier[not set]{textureLoad}
+ (
+ Identifier[not set]{x_20}
+ Identifier[not set]{vi12}
+ Identifier[not set]{i1}
+ )
+ }
+ ScalarConstructor[not set]{0.000000}
+ ScalarConstructor[not set]{0.000000}
+ ScalarConstructor[not set]{0.000000}
+ }
+ }
+ }
+ })"}}));
+
+INSTANTIATE_TEST_SUITE_P(
ImageFetch_Multisampled,
SpvParserHandleTest_ImageAccessTest,
::testing::ValuesIn(std::vector<ImageAccessCase>{
diff --git a/src/reader/spirv/parser_type.cc b/src/reader/spirv/parser_type.cc
index 4f46b7d..9b3e527 100644
--- a/src/reader/spirv/parser_type.cc
+++ b/src/reader/spirv/parser_type.cc
@@ -36,6 +36,7 @@
TINT_INSTANTIATE_TYPEINFO(tint::reader::spirv::Sampler);
TINT_INSTANTIATE_TYPEINFO(tint::reader::spirv::Texture);
TINT_INSTANTIATE_TYPEINFO(tint::reader::spirv::DepthTexture);
+TINT_INSTANTIATE_TYPEINFO(tint::reader::spirv::DepthMultisampledTexture);
TINT_INSTANTIATE_TYPEINFO(tint::reader::spirv::MultisampledTexture);
TINT_INSTANTIATE_TYPEINFO(tint::reader::spirv::SampledTexture);
TINT_INSTANTIATE_TYPEINFO(tint::reader::spirv::StorageTexture);
@@ -206,6 +207,15 @@
return b.ty.depth_texture(dims);
}
+DepthMultisampledTexture::DepthMultisampledTexture(ast::TextureDimension d)
+ : Base(d) {}
+DepthMultisampledTexture::DepthMultisampledTexture(
+ const DepthMultisampledTexture&) = default;
+
+ast::Type* DepthMultisampledTexture::Build(ProgramBuilder& b) const {
+ return b.ty.depth_multisampled_texture(dims);
+}
+
MultisampledTexture::MultisampledTexture(ast::TextureDimension d, const Type* t)
: Base(d), type(t) {}
MultisampledTexture::MultisampledTexture(const MultisampledTexture&) = default;
@@ -288,6 +298,10 @@
/// Map of ast::TextureDimension to returned DepthTexture instance
std::unordered_map<ast::TextureDimension, const spirv::DepthTexture*>
depth_textures_;
+ /// Map of ast::TextureDimension to returned DepthMultisampledTexture instance
+ std::unordered_map<ast::TextureDimension,
+ const spirv::DepthMultisampledTexture*>
+ depth_multisampled_textures_;
/// Map of MultisampledTexture to the returned MultisampledTexture type
/// instance
std::unordered_map<spirv::MultisampledTexture,
@@ -487,6 +501,13 @@
});
}
+const spirv::DepthMultisampledTexture* TypeManager::DepthMultisampledTexture(
+ ast::TextureDimension dims) {
+ return utils::GetOrCreate(state->depth_multisampled_textures_, dims, [&] {
+ return state->allocator_.Create<spirv::DepthMultisampledTexture>(dims);
+ });
+}
+
const spirv::MultisampledTexture* TypeManager::MultisampledTexture(
ast::TextureDimension dims,
const Type* ty) {
@@ -586,6 +607,12 @@
return ss.str();
}
+std::string DepthMultisampledTexture::String() const {
+ std::stringstream ss;
+ ss << "depth_multisampled_" << dims;
+ return ss.str();
+}
+
std::string MultisampledTexture::String() const {
std::stringstream ss;
ss << "texture_multisampled_" << dims << "<" << type << ">";
diff --git a/src/reader/spirv/parser_type.h b/src/reader/spirv/parser_type.h
index 85d80cd..0db8aee 100644
--- a/src/reader/spirv/parser_type.h
+++ b/src/reader/spirv/parser_type.h
@@ -344,6 +344,27 @@
#endif // NDEBUG
};
+/// `texture_depth_multisampled_D` type
+struct DepthMultisampledTexture
+ : public Castable<DepthMultisampledTexture, Texture> {
+ /// Constructor
+ /// @param d the texture dimensions
+ explicit DepthMultisampledTexture(ast::TextureDimension d);
+
+ /// Copy constructor
+ /// @param other the other type to copy
+ DepthMultisampledTexture(const DepthMultisampledTexture& other);
+
+ /// @param b the ProgramBuilder used to construct the AST types
+ /// @returns the constructed ast::Type node for the given type
+ ast::Type* Build(ProgramBuilder& b) const override;
+
+#ifndef NDEBUG
+ /// @returns a string representation of the type, for debug purposes only
+ std::string String() const override;
+#endif // NDEBUG
+};
+
/// `texture_multisampled_D<T>` type
struct MultisampledTexture : public Castable<MultisampledTexture, Texture> {
/// Constructor
@@ -549,6 +570,11 @@
/// return the same pointer.
const spirv::DepthTexture* DepthTexture(ast::TextureDimension d);
/// @param d the texture dimensions
+ /// @return a DepthMultisampledTexture type. Repeated calls with the same
+ /// arguments will return the same pointer.
+ const spirv::DepthMultisampledTexture* DepthMultisampledTexture(
+ ast::TextureDimension d);
+ /// @param d the texture dimensions
/// @param t the multisampled texture type
/// @return a MultisampledTexture type. Repeated calls with the same arguments
/// will return the same pointer.
diff --git a/src/reader/wgsl/lexer.cc b/src/reader/wgsl/lexer.cc
index 9ddcdb8..60c8a35 100644
--- a/src/reader/wgsl/lexer.cc
+++ b/src/reader/wgsl/lexer.cc
@@ -931,6 +931,10 @@
return {Token::Type::kTextureDepthCubeArray, source,
"texture_depth_cube_array"};
}
+ if (str == "texture_depth_multisampled_2d") {
+ return {Token::Type::kTextureDepthMultisampled2d, source,
+ "texture_depth_multisampled_2d"};
+ }
if (str == "texture_external") {
return {Token::Type::kTextureExternal, source, "texture_external"};
}
diff --git a/src/reader/wgsl/lexer_test.cc b/src/reader/wgsl/lexer_test.cc
index b134bc0..54e5e58 100644
--- a/src/reader/wgsl/lexer_test.cc
+++ b/src/reader/wgsl/lexer_test.cc
@@ -543,6 +543,8 @@
TokenData{"texture_depth_cube", Token::Type::kTextureDepthCube},
TokenData{"texture_depth_cube_array",
Token::Type::kTextureDepthCubeArray},
+ TokenData{"texture_depth_multisampled_2d",
+ Token::Type::kTextureDepthMultisampled2d},
TokenData{"texture_multisampled_2d",
Token::Type::kTextureMultisampled2d},
TokenData{"texture_storage_1d", Token::Type::kTextureStorage1d},
diff --git a/src/reader/wgsl/parser_impl.cc b/src/reader/wgsl/parser_impl.cc
index 20c2a97..2f36c17 100644
--- a/src/reader/wgsl/parser_impl.cc
+++ b/src/reader/wgsl/parser_impl.cc
@@ -724,21 +724,25 @@
// | TEXTURE_DEPTH_2D_ARRAY
// | TEXTURE_DEPTH_CUBE
// | TEXTURE_DEPTH_CUBE_ARRAY
+// | TEXTURE_DEPTH_MULTISAMPLED_2D
Maybe<ast::Type*> ParserImpl::depth_texture_type() {
Source source;
-
- if (match(Token::Type::kTextureDepth2d, &source))
+ if (match(Token::Type::kTextureDepth2d, &source)) {
return builder_.ty.depth_texture(source, ast::TextureDimension::k2d);
-
- if (match(Token::Type::kTextureDepth2dArray, &source))
+ }
+ if (match(Token::Type::kTextureDepth2dArray, &source)) {
return builder_.ty.depth_texture(source, ast::TextureDimension::k2dArray);
-
- if (match(Token::Type::kTextureDepthCube, &source))
+ }
+ if (match(Token::Type::kTextureDepthCube, &source)) {
return builder_.ty.depth_texture(source, ast::TextureDimension::kCube);
-
- if (match(Token::Type::kTextureDepthCubeArray, &source))
+ }
+ if (match(Token::Type::kTextureDepthCubeArray, &source)) {
return builder_.ty.depth_texture(source, ast::TextureDimension::kCubeArray);
-
+ }
+ if (match(Token::Type::kTextureDepthMultisampled2d, &source)) {
+ return builder_.ty.depth_multisampled_texture(source,
+ ast::TextureDimension::k2d);
+ }
return Failure::kNoMatch;
}
diff --git a/src/reader/wgsl/parser_impl_depth_texture_type_test.cc b/src/reader/wgsl/parser_impl_depth_texture_type_test.cc
index e41b2e9..0102296 100644
--- a/src/reader/wgsl/parser_impl_depth_texture_type_test.cc
+++ b/src/reader/wgsl/parser_impl_depth_texture_type_test.cc
@@ -80,6 +80,19 @@
EXPECT_EQ(t.value->source().range, (Source::Range{{1u, 1u}, {1u, 25u}}));
}
+TEST_F(ParserImplTest, DepthTextureType_Multisampled2d) {
+ auto p = parser("texture_depth_multisampled_2d");
+ auto t = p->depth_texture_type();
+ EXPECT_TRUE(t.matched);
+ EXPECT_FALSE(t.errored);
+ ASSERT_NE(t.value, nullptr);
+ ASSERT_TRUE(t->Is<ast::Texture>());
+ ASSERT_TRUE(t->Is<ast::DepthMultisampledTexture>());
+ EXPECT_EQ(t->As<ast::Texture>()->dim(), ast::TextureDimension::k2d);
+ EXPECT_FALSE(p->has_error());
+ EXPECT_EQ(t.value->source().range, (Source::Range{{1u, 1u}, {1u, 30u}}));
+}
+
} // namespace
} // namespace wgsl
} // namespace reader
diff --git a/src/reader/wgsl/token.cc b/src/reader/wgsl/token.cc
index 9b3e066..4e4a62c 100644
--- a/src/reader/wgsl/token.cc
+++ b/src/reader/wgsl/token.cc
@@ -269,6 +269,8 @@
return "texture_depth_cube";
case Token::Type::kTextureDepthCubeArray:
return "texture_depth_cube_array";
+ case Token::Type::kTextureDepthMultisampled2d:
+ return "texture_depth_multisampled_2d";
case Token::Type::kTextureExternal:
return "texture_external";
case Token::Type::kTextureMultisampled2d:
diff --git a/src/reader/wgsl/token.h b/src/reader/wgsl/token.h
index a8cd213..f34c24e 100644
--- a/src/reader/wgsl/token.h
+++ b/src/reader/wgsl/token.h
@@ -277,6 +277,8 @@
kTextureDepthCube,
/// A 'texture_depth_cube_array'
kTextureDepthCubeArray,
+ /// A 'texture_depth_multisampled_2d'
+ kTextureDepthMultisampled2d,
/// A 'texture_external'
kTextureExternal,
/// A 'texture_multisampled_2d'
diff --git a/src/resolver/intrinsic_test.cc b/src/resolver/intrinsic_test.cc
index a6ac321..e899bab 100644
--- a/src/resolver/intrinsic_test.cc
+++ b/src/resolver/intrinsic_test.cc
@@ -1867,6 +1867,7 @@
case ValidTextureOverload::kDimensionsDepth2dArray:
case ValidTextureOverload::kDimensionsDepthCube:
case ValidTextureOverload::kDimensionsDepthCubeArray:
+ case ValidTextureOverload::kDimensionsDepthMultisampled2d:
case ValidTextureOverload::kDimensionsStorageRO1d:
case ValidTextureOverload::kDimensionsStorageRO2d:
case ValidTextureOverload::kDimensionsStorageRO2dArray:
@@ -1892,6 +1893,7 @@
case ValidTextureOverload::kNumLevelsDepthCube:
case ValidTextureOverload::kNumLevelsDepthCubeArray:
return R"(textureNumLevels(texture))";
+ case ValidTextureOverload::kNumSamplesDepthMultisampled2d:
case ValidTextureOverload::kNumSamplesMultisampled2d:
return R"(textureNumSamples(texture))";
case ValidTextureOverload::kDimensions2dLevel:
@@ -2019,41 +2021,29 @@
case ValidTextureOverload::kSampleCompareLevelDepthCubeArrayF32:
return R"(textureSampleCompare(texture, sampler, coords, array_index, depth_ref))";
case ValidTextureOverload::kLoad1dLevelF32:
- return R"(textureLoad(texture, coords, level))";
case ValidTextureOverload::kLoad1dLevelU32:
- return R"(textureLoad(texture, coords, level))";
case ValidTextureOverload::kLoad1dLevelI32:
- return R"(textureLoad(texture, coords, level))";
case ValidTextureOverload::kLoad2dLevelF32:
- return R"(textureLoad(texture, coords, level))";
case ValidTextureOverload::kLoad2dLevelU32:
- return R"(textureLoad(texture, coords, level))";
case ValidTextureOverload::kLoad2dLevelI32:
return R"(textureLoad(texture, coords, level))";
case ValidTextureOverload::kLoad2dArrayLevelF32:
- return R"(textureLoad(texture, coords, array_index, level))";
case ValidTextureOverload::kLoad2dArrayLevelU32:
- return R"(textureLoad(texture, coords, array_index, level))";
case ValidTextureOverload::kLoad2dArrayLevelI32:
return R"(textureLoad(texture, coords, array_index, level))";
case ValidTextureOverload::kLoad3dLevelF32:
- return R"(textureLoad(texture, coords, level))";
case ValidTextureOverload::kLoad3dLevelU32:
- return R"(textureLoad(texture, coords, level))";
case ValidTextureOverload::kLoad3dLevelI32:
- return R"(textureLoad(texture, coords, level))";
- case ValidTextureOverload::kLoadMultisampled2dF32:
- return R"(textureLoad(texture, coords, sample_index))";
- case ValidTextureOverload::kLoadMultisampled2dU32:
- return R"(textureLoad(texture, coords, sample_index))";
- case ValidTextureOverload::kLoadMultisampled2dI32:
- return R"(textureLoad(texture, coords, sample_index))";
case ValidTextureOverload::kLoadDepth2dLevelF32:
return R"(textureLoad(texture, coords, level))";
+ case ValidTextureOverload::kLoadDepthMultisampled2dF32:
+ case ValidTextureOverload::kLoadMultisampled2dF32:
+ case ValidTextureOverload::kLoadMultisampled2dU32:
+ case ValidTextureOverload::kLoadMultisampled2dI32:
+ return R"(textureLoad(texture, coords, sample_index))";
case ValidTextureOverload::kLoadDepth2dArrayLevelF32:
return R"(textureLoad(texture, coords, array_index, level))";
case ValidTextureOverload::kLoadStorageRO1dRgba32float:
- return R"(textureLoad(texture, coords))";
case ValidTextureOverload::kLoadStorageRO2dRgba8unorm:
case ValidTextureOverload::kLoadStorageRO2dRgba8snorm:
case ValidTextureOverload::kLoadStorageRO2dRgba8uint:
@@ -2076,13 +2066,11 @@
case ValidTextureOverload::kLoadStorageRO3dRgba32float:
return R"(textureLoad(texture, coords))";
case ValidTextureOverload::kStoreWO1dRgba32float:
- return R"(textureStore(texture, coords, value))";
case ValidTextureOverload::kStoreWO2dRgba32float:
+ case ValidTextureOverload::kStoreWO3dRgba32float:
return R"(textureStore(texture, coords, value))";
case ValidTextureOverload::kStoreWO2dArrayRgba32float:
return R"(textureStore(texture, coords, array_index, value))";
- case ValidTextureOverload::kStoreWO3dRgba32float:
- return R"(textureStore(texture, coords, value))";
}
return "<unmatched texture overload>";
}
@@ -2152,7 +2140,8 @@
}
break;
}
- case ast::intrinsic::test::TextureKind::kDepth: {
+ case ast::intrinsic::test::TextureKind::kDepth:
+ case ast::intrinsic::test::TextureKind::kDepthMultisampled: {
EXPECT_TRUE(TypeOf(call)->Is<sem::F32>());
break;
}
diff --git a/src/resolver/resolver.cc b/src/resolver/resolver.cc
index aeed87e..e366e23 100644
--- a/src/resolver/resolver.cc
+++ b/src/resolver/resolver.cc
@@ -52,6 +52,7 @@
#include "src/sem/array.h"
#include "src/sem/atomic_type.h"
#include "src/sem/call.h"
+#include "src/sem/depth_multisampled_texture_type.h"
#include "src/sem/depth_texture_type.h"
#include "src/sem/for_loop_statement.h"
#include "src/sem/function.h"
@@ -372,6 +373,9 @@
if (auto* t = ty->As<ast::DepthTexture>()) {
return builder_->create<sem::DepthTexture>(t->dim());
}
+ if (auto* t = ty->As<ast::DepthMultisampledTexture>()) {
+ return builder_->create<sem::DepthMultisampledTexture>(t->dim());
+ }
if (auto* t = ty->As<ast::StorageTexture>()) {
if (auto* el = Type(t->type())) {
if (!ValidateStorageTexture(t)) {
diff --git a/src/sem/depth_multisampled_texture_type.cc b/src/sem/depth_multisampled_texture_type.cc
new file mode 100644
index 0000000..6f11f1a
--- /dev/null
+++ b/src/sem/depth_multisampled_texture_type.cc
@@ -0,0 +1,54 @@
+// Copyright 2021 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#include "src/sem/depth_multisampled_texture_type.h"
+
+#include "src/program_builder.h"
+
+TINT_INSTANTIATE_TYPEINFO(tint::sem::DepthMultisampledTexture);
+
+namespace tint {
+namespace sem {
+namespace {
+
+bool IsValidDepthDimension(ast::TextureDimension dim) {
+ return dim == ast::TextureDimension::k2d;
+}
+
+} // namespace
+
+DepthMultisampledTexture::DepthMultisampledTexture(ast::TextureDimension dim)
+ : Base(dim) {
+ TINT_ASSERT(Semantic, IsValidDepthDimension(dim));
+}
+
+DepthMultisampledTexture::DepthMultisampledTexture(DepthMultisampledTexture&&) =
+ default;
+
+DepthMultisampledTexture::~DepthMultisampledTexture() = default;
+
+std::string DepthMultisampledTexture::type_name() const {
+ std::ostringstream out;
+ out << "__depth_multisampled_texture_" << dim();
+ return out.str();
+}
+
+std::string DepthMultisampledTexture::FriendlyName(const SymbolTable&) const {
+ std::ostringstream out;
+ out << "texture_depth_multisampled_" << dim();
+ return out.str();
+}
+
+} // namespace sem
+} // namespace tint
diff --git a/src/sem/depth_multisampled_texture_type.h b/src/sem/depth_multisampled_texture_type.h
new file mode 100644
index 0000000..f9570d2
--- /dev/null
+++ b/src/sem/depth_multisampled_texture_type.h
@@ -0,0 +1,48 @@
+// Copyright 2021 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_SEM_DEPTH_MULTISAMPLED_TEXTURE_TYPE_H_
+#define SRC_SEM_DEPTH_MULTISAMPLED_TEXTURE_TYPE_H_
+
+#include <string>
+
+#include "src/sem/texture_type.h"
+
+namespace tint {
+namespace sem {
+
+/// A multisampled depth texture type.
+class DepthMultisampledTexture
+ : public Castable<DepthMultisampledTexture, Texture> {
+ public:
+ /// Constructor
+ /// @param dim the dimensionality of the texture
+ explicit DepthMultisampledTexture(ast::TextureDimension dim);
+ /// Move constructor
+ DepthMultisampledTexture(DepthMultisampledTexture&&);
+ ~DepthMultisampledTexture() override;
+
+ /// @returns the name for this type
+ std::string type_name() const override;
+
+ /// @param symbols the program's symbol table
+ /// @returns the name for this type that closely resembles how it would be
+ /// declared in WGSL.
+ std::string FriendlyName(const SymbolTable& symbols) const override;
+};
+
+} // namespace sem
+} // namespace tint
+
+#endif // SRC_SEM_DEPTH_MULTISAMPLED_TEXTURE_TYPE_H_
diff --git a/src/sem/depth_multisampled_texture_type_test.cc b/src/sem/depth_multisampled_texture_type_test.cc
new file mode 100644
index 0000000..7881a33
--- /dev/null
+++ b/src/sem/depth_multisampled_texture_type_test.cc
@@ -0,0 +1,46 @@
+// Copyright 2021 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#include "src/sem/depth_multisampled_texture_type.h"
+
+#include "src/sem/test_helper.h"
+
+#include "src/sem/external_texture_type.h"
+#include "src/sem/sampled_texture_type.h"
+#include "src/sem/storage_texture_type.h"
+
+namespace tint {
+namespace sem {
+namespace {
+
+using DepthMultisampledTextureTest = TestHelper;
+
+TEST_F(DepthMultisampledTextureTest, Dim) {
+ DepthMultisampledTexture d(ast::TextureDimension::k2d);
+ EXPECT_EQ(d.dim(), ast::TextureDimension::k2d);
+}
+
+TEST_F(DepthMultisampledTextureTest, TypeName) {
+ DepthMultisampledTexture d(ast::TextureDimension::k2d);
+ EXPECT_EQ(d.type_name(), "__depth_multisampled_texture_2d");
+}
+
+TEST_F(DepthMultisampledTextureTest, FriendlyName) {
+ DepthMultisampledTexture d(ast::TextureDimension::k2d);
+ EXPECT_EQ(d.FriendlyName(Symbols()), "texture_depth_multisampled_2d");
+}
+
+} // namespace
+} // namespace sem
+} // namespace tint
diff --git a/src/sem/function.cc b/src/sem/function.cc
index 454be74..4912a69 100644
--- a/src/sem/function.cc
+++ b/src/sem/function.cc
@@ -130,53 +130,15 @@
return ReferencedSampledTextureVariablesImpl(true);
}
-Function::VariableBindings Function::ReferencedStorageTextureVariables() const {
+Function::VariableBindings Function::ReferencedVariablesOfType(
+ const tint::TypeInfo& type_info) const {
VariableBindings ret;
-
for (auto* var : ReferencedModuleVariables()) {
auto* unwrapped_type = var->Type()->UnwrapRef();
- auto* storage_texture = unwrapped_type->As<sem::StorageTexture>();
- if (storage_texture == nullptr) {
- continue;
- }
-
- if (auto binding_point = var->Declaration()->binding_point()) {
- ret.push_back({var, binding_point});
- }
- }
- return ret;
-}
-
-Function::VariableBindings Function::ReferencedDepthTextureVariables() const {
- VariableBindings ret;
-
- for (auto* var : ReferencedModuleVariables()) {
- auto* unwrapped_type = var->Type()->UnwrapRef();
- auto* storage_texture = unwrapped_type->As<sem::DepthTexture>();
- if (storage_texture == nullptr) {
- continue;
- }
-
- if (auto binding_point = var->Declaration()->binding_point()) {
- ret.push_back({var, binding_point});
- }
- }
- return ret;
-}
-
-Function::VariableBindings Function::ReferencedExternalTextureVariables()
- const {
- VariableBindings ret;
-
- for (auto* var : ReferencedModuleVariables()) {
- auto* unwrapped_type = var->Type()->UnwrapRef();
- auto* external_texture = unwrapped_type->As<sem::ExternalTexture>();
- if (external_texture == nullptr) {
- continue;
- }
-
- if (auto binding_point = var->Declaration()->binding_point()) {
- ret.push_back({var, binding_point});
+ if (unwrapped_type->TypeInfo().Is(type_info)) {
+ if (auto binding_point = var->Declaration()->binding_point()) {
+ ret.push_back({var, binding_point});
+ }
}
}
return ret;
diff --git a/src/sem/function.h b/src/sem/function.h
index ebf6303..08ea5bf 100644
--- a/src/sem/function.h
+++ b/src/sem/function.h
@@ -144,20 +144,20 @@
/// @returns the referenced sampled textures
VariableBindings ReferencedMultisampledTextureVariables() const;
- /// Retrieves any referenced storage texture variables. Note, the variables
+ /// Retrieves any referenced variables of the given type. Note, the variables
/// must be decorated with both binding and group decorations.
- /// @returns the referenced storage textures
- VariableBindings ReferencedStorageTextureVariables() const;
+ /// @param type_info the type of the variables to find
+ /// @returns the referenced variables
+ VariableBindings ReferencedVariablesOfType(
+ const tint::TypeInfo& type_info) const;
- /// Retrieves any referenced depth texture variables. Note, the variables
+ /// Retrieves any referenced variables of the given type. Note, the variables
/// must be decorated with both binding and group decorations.
- /// @returns the referenced depth textures
- VariableBindings ReferencedDepthTextureVariables() const;
-
- /// Retrieves any referenced external texture variables. Note, the variables
- /// must be decorated with both binding and group decorations.
- /// @returns the referenced external textures
- VariableBindings ReferencedExternalTextureVariables() const;
+ /// @returns the referenced variables
+ template <typename T>
+ VariableBindings ReferencedVariablesOfType() const {
+ return ReferencedVariablesOfType(TypeInfo::Of<T>());
+ }
/// Checks if the given entry point is an ancestor
/// @param sym the entry point symbol
diff --git a/src/transform/transform.cc b/src/transform/transform.cc
index 3b6f335..ec55e33 100644
--- a/src/transform/transform.cc
+++ b/src/transform/transform.cc
@@ -20,6 +20,7 @@
#include "src/program_builder.h"
#include "src/sem/atomic_type.h"
#include "src/sem/block_statement.h"
+#include "src/sem/depth_multisampled_texture_type.h"
#include "src/sem/for_loop_statement.h"
#include "src/sem/reference_type.h"
#include "src/sem/sampler_type.h"
@@ -146,6 +147,9 @@
if (auto* t = ty->As<sem::DepthTexture>()) {
return ctx.dst->create<ast::DepthTexture>(t->dim());
}
+ if (auto* t = ty->As<sem::DepthMultisampledTexture>()) {
+ return ctx.dst->create<ast::DepthMultisampledTexture>(t->dim());
+ }
if (auto* t = ty->As<sem::MultisampledTexture>()) {
return ctx.dst->create<ast::MultisampledTexture>(
t->dim(), CreateASTTypeFor(ctx, t->type()));
diff --git a/src/writer/hlsl/generator_impl.cc b/src/writer/hlsl/generator_impl.cc
index a924c86..1616e65 100644
--- a/src/writer/hlsl/generator_impl.cc
+++ b/src/writer/hlsl/generator_impl.cc
@@ -32,6 +32,7 @@
#include "src/sem/atomic_type.h"
#include "src/sem/block_statement.h"
#include "src/sem/call.h"
+#include "src/sem/depth_multisampled_texture_type.h"
#include "src/sem/depth_texture_type.h"
#include "src/sem/function.h"
#include "src/sem/member_accessor_expression.h"
@@ -1605,7 +1606,8 @@
case sem::IntrinsicType::kTextureNumLevels:
case sem::IntrinsicType::kTextureNumSamples: {
// All of these intrinsics use the GetDimensions() method on the texture
- bool is_ms = texture_type->Is<sem::MultisampledTexture>();
+ bool is_ms = texture_type->IsAnyOf<sem::MultisampledTexture,
+ sem::DepthMultisampledTexture>();
int num_dimensions = 0;
std::string swizzle;
@@ -3002,7 +3004,8 @@
out << StructName(str);
} else if (auto* tex = type->As<sem::Texture>()) {
auto* storage = tex->As<sem::StorageTexture>();
- auto* multism = tex->As<sem::MultisampledTexture>();
+ auto* ms = tex->As<sem::MultisampledTexture>();
+ auto* depth_ms = tex->As<sem::DepthMultisampledTexture>();
auto* sampled = tex->As<sem::SampledTexture>();
if (storage && storage->access() != ast::Access::kRead) {
@@ -3015,10 +3018,10 @@
out << "1D";
break;
case ast::TextureDimension::k2d:
- out << (multism ? "2DMS" : "2D");
+ out << ((ms || depth_ms) ? "2DMS" : "2D");
break;
case ast::TextureDimension::k2dArray:
- out << (multism ? "2DMSArray" : "2DArray");
+ out << ((ms || depth_ms) ? "2DMSArray" : "2DArray");
break;
case ast::TextureDimension::k3d:
out << "3D";
@@ -3044,8 +3047,10 @@
return false;
}
out << "<" << component << ">";
- } else if (sampled || multism) {
- auto* subtype = sampled ? sampled->type() : multism->type();
+ } else if (depth_ms) {
+ out << "<float4>";
+ } else if (sampled || ms) {
+ auto* subtype = sampled ? sampled->type() : ms->type();
out << "<";
if (subtype->Is<sem::F32>()) {
out << "float4";
diff --git a/src/writer/hlsl/generator_impl_intrinsic_texture_test.cc b/src/writer/hlsl/generator_impl_intrinsic_texture_test.cc
index d5171b6..1572cbf 100644
--- a/src/writer/hlsl/generator_impl_intrinsic_texture_test.cc
+++ b/src/writer/hlsl/generator_impl_intrinsic_texture_test.cc
@@ -56,6 +56,7 @@
)",
"tint_tmp;",
};
+ case ValidTextureOverload::kDimensionsDepthMultisampled2d:
case ValidTextureOverload::kDimensionsMultisampled2d:
return {
R"(int3 tint_tmp;
@@ -170,6 +171,7 @@
)",
"tint_tmp.w;",
};
+ case ValidTextureOverload::kNumSamplesDepthMultisampled2d:
case ValidTextureOverload::kNumSamplesMultisampled2d:
return {
R"(int3 tint_tmp;
@@ -292,33 +294,23 @@
case ValidTextureOverload::kSampleCompareLevelDepthCubeArrayF32:
return R"(tint_symbol.SampleCmpLevelZero(tint_symbol_1, float4(1.0f, 2.0f, 3.0f, float(4)), 5.0f);)";
case ValidTextureOverload::kLoad1dLevelF32:
- return R"(tint_symbol.Load(int2(1, 3));)";
case ValidTextureOverload::kLoad1dLevelU32:
- return R"(tint_symbol.Load(int2(1, 3));)";
case ValidTextureOverload::kLoad1dLevelI32:
return R"(tint_symbol.Load(int2(1, 3));)";
case ValidTextureOverload::kLoad2dLevelF32:
- return R"(tint_symbol.Load(int3(1, 2, 3));)";
case ValidTextureOverload::kLoad2dLevelU32:
- return R"(tint_symbol.Load(int3(1, 2, 3));)";
case ValidTextureOverload::kLoad2dLevelI32:
return R"(tint_symbol.Load(int3(1, 2, 3));)";
case ValidTextureOverload::kLoad2dArrayLevelF32:
- return R"(tint_symbol.Load(int4(1, 2, 3, 4));)";
case ValidTextureOverload::kLoad2dArrayLevelU32:
- return R"(tint_symbol.Load(int4(1, 2, 3, 4));)";
case ValidTextureOverload::kLoad2dArrayLevelI32:
- return R"(tint_symbol.Load(int4(1, 2, 3, 4));)";
case ValidTextureOverload::kLoad3dLevelF32:
- return R"(tint_symbol.Load(int4(1, 2, 3, 4));)";
case ValidTextureOverload::kLoad3dLevelU32:
- return R"(tint_symbol.Load(int4(1, 2, 3, 4));)";
case ValidTextureOverload::kLoad3dLevelI32:
return R"(tint_symbol.Load(int4(1, 2, 3, 4));)";
+ case ValidTextureOverload::kLoadDepthMultisampled2dF32:
case ValidTextureOverload::kLoadMultisampled2dF32:
- return R"(tint_symbol.Load(int2(1, 2), 3);)";
case ValidTextureOverload::kLoadMultisampled2dU32:
- return R"(tint_symbol.Load(int2(1, 2), 3);)";
case ValidTextureOverload::kLoadMultisampled2dI32:
return R"(tint_symbol.Load(int2(1, 2), 3);)";
case ValidTextureOverload::kLoadDepth2dLevelF32:
@@ -345,7 +337,6 @@
case ValidTextureOverload::kLoadStorageRO2dRgba32float:
return R"(tint_symbol.Load(int3(1, 2, 0));)";
case ValidTextureOverload::kLoadStorageRO2dArrayRgba32float:
- return R"(tint_symbol.Load(int4(1, 2, 3, 0));)";
case ValidTextureOverload::kLoadStorageRO3dRgba32float:
return R"(tint_symbol.Load(int4(1, 2, 3, 0));)";
case ValidTextureOverload::kStoreWO1dRgba32float:
diff --git a/src/writer/hlsl/generator_impl_type_test.cc b/src/writer/hlsl/generator_impl_type_test.cc
index 56baf78..b9a8fc6 100644
--- a/src/writer/hlsl/generator_impl_type_test.cc
+++ b/src/writer/hlsl/generator_impl_type_test.cc
@@ -361,6 +361,26 @@
HlslDepthTextureData{ast::TextureDimension::kCubeArray,
"TextureCubeArray tex : register(t1, space2);"}));
+using HlslDepthMultisampledTexturesTest = TestHelper;
+TEST_F(HlslDepthMultisampledTexturesTest, Emit) {
+ auto* t = ty.depth_multisampled_texture(ast::TextureDimension::k2d);
+
+ Global("tex", t,
+ ast::DecorationList{
+ create<ast::BindingDecoration>(1),
+ create<ast::GroupDecoration>(2),
+ });
+
+ Func("main", {}, ty.void_(), {Ignore(Call("textureDimensions", "tex"))},
+ {Stage(ast::PipelineStage::kFragment)});
+
+ GeneratorImpl& gen = Build();
+
+ ASSERT_TRUE(gen.Generate()) << gen.error();
+ EXPECT_THAT(gen.result(),
+ HasSubstr("Texture2DMS<float4> tex : register(t1, space2);"));
+}
+
enum class TextureDataType { F32, U32, I32 };
struct HlslSampledTextureData {
ast::TextureDimension dim;
diff --git a/src/writer/msl/generator_impl.cc b/src/writer/msl/generator_impl.cc
index f9cfe89..c5220a0 100644
--- a/src/writer/msl/generator_impl.cc
+++ b/src/writer/msl/generator_impl.cc
@@ -37,6 +37,7 @@
#include "src/sem/atomic_type.h"
#include "src/sem/bool_type.h"
#include "src/sem/call.h"
+#include "src/sem/depth_multisampled_texture_type.h"
#include "src/sem/depth_texture_type.h"
#include "src/sem/f32_type.h"
#include "src/sem/function.h"
@@ -2034,7 +2035,7 @@
}
if (auto* tex = type->As<sem::Texture>()) {
- if (tex->Is<sem::DepthTexture>()) {
+ if (tex->IsAnyOf<sem::DepthTexture, sem::DepthMultisampledTexture>()) {
out << "depth";
} else {
out << "texture";
@@ -2064,12 +2065,15 @@
"Invalid texture dimensions");
return false;
}
- if (tex->Is<sem::MultisampledTexture>()) {
+ if (tex->IsAnyOf<sem::MultisampledTexture,
+ sem::DepthMultisampledTexture>()) {
out << "_ms";
}
out << "<";
if (tex->Is<sem::DepthTexture>()) {
out << "float, access::sample";
+ } else if (tex->Is<sem::DepthMultisampledTexture>()) {
+ out << "float, access::read";
} else if (auto* storage = tex->As<sem::StorageTexture>()) {
if (!EmitType(out, storage->type(), "")) {
return false;
diff --git a/src/writer/msl/generator_impl_intrinsic_texture_test.cc b/src/writer/msl/generator_impl_intrinsic_texture_test.cc
index c4af75b..c1f0787 100644
--- a/src/writer/msl/generator_impl_intrinsic_texture_test.cc
+++ b/src/writer/msl/generator_impl_intrinsic_texture_test.cc
@@ -38,6 +38,7 @@
case ValidTextureOverload::kDimensionsDepth2dArray:
case ValidTextureOverload::kDimensionsDepthCube:
case ValidTextureOverload::kDimensionsDepthCubeArray:
+ case ValidTextureOverload::kDimensionsDepthMultisampled2d:
case ValidTextureOverload::kDimensionsStorageRO2d:
case ValidTextureOverload::kDimensionsStorageRO2dArray:
case ValidTextureOverload::kDimensionsStorageWO2d:
@@ -74,6 +75,7 @@
case ValidTextureOverload::kNumLevelsDepthCube:
case ValidTextureOverload::kNumLevelsDepthCubeArray:
return R"(int(texture.get_num_mip_levels()))";
+ case ValidTextureOverload::kNumSamplesDepthMultisampled2d:
case ValidTextureOverload::kNumSamplesMultisampled2d:
return R"(int(texture.get_num_samples()))";
case ValidTextureOverload::kSample1dF32:
@@ -221,6 +223,7 @@
case ValidTextureOverload::kLoadMultisampled2dI32:
return R"(texture.read(uint2(int2(1, 2)), 3))";
case ValidTextureOverload::kLoadDepth2dLevelF32:
+ case ValidTextureOverload::kLoadDepthMultisampled2dF32:
return R"(texture.read(uint2(int2(1, 2)), 3))";
case ValidTextureOverload::kLoadDepth2dArrayLevelF32:
return R"(texture.read(uint2(int2(1, 2)), 3, 4))";
diff --git a/src/writer/msl/generator_impl_type_test.cc b/src/writer/msl/generator_impl_type_test.cc
index 09e3bc8..073990e 100644
--- a/src/writer/msl/generator_impl_type_test.cc
+++ b/src/writer/msl/generator_impl_type_test.cc
@@ -17,6 +17,7 @@
#include "gmock/gmock.h"
#include "src/ast/struct_block_decoration.h"
+#include "src/sem/depth_multisampled_texture_type.h"
#include "src/sem/depth_texture_type.h"
#include "src/sem/multisampled_texture_type.h"
#include "src/sem/sampled_texture_type.h"
@@ -780,6 +781,17 @@
ast::TextureDimension::kCubeArray,
"depthcube_array<float, access::sample>"}));
+using MslDepthMultisampledTexturesTest = TestHelper;
+TEST_F(MslDepthMultisampledTexturesTest, Emit) {
+ sem::DepthMultisampledTexture s(ast::TextureDimension::k2d);
+
+ GeneratorImpl& gen = Build();
+
+ std::stringstream out;
+ ASSERT_TRUE(gen.EmitType(out, &s, "")) << gen.error();
+ EXPECT_EQ(out.str(), "depth2d_ms<float, access::read>");
+}
+
struct MslTextureData {
ast::TextureDimension dim;
std::string result;
diff --git a/src/writer/spirv/builder.cc b/src/writer/spirv/builder.cc
index e8b6935..b42d8ac 100644
--- a/src/writer/spirv/builder.cc
+++ b/src/writer/spirv/builder.cc
@@ -25,6 +25,7 @@
#include "src/sem/array.h"
#include "src/sem/atomic_type.h"
#include "src/sem/call.h"
+#include "src/sem/depth_multisampled_texture_type.h"
#include "src/sem/depth_texture_type.h"
#include "src/sem/function.h"
#include "src/sem/intrinsic.h"
@@ -2697,7 +2698,8 @@
// If the texture is not a depth texture, then this function simply delegates
// to calling append_result_type_and_id_to_spirv_params().
auto append_result_type_and_id_to_spirv_params_for_read = [&]() {
- if (texture_type->Is<sem::DepthTexture>()) {
+ if (texture_type
+ ->IsAnyOf<sem::DepthTexture, sem::DepthMultisampledTexture>()) {
auto* f32 = builder_.create<sem::F32>();
auto* spirv_result_type = builder_.create<sem::Vector>(f32, 4);
auto spirv_result = result_op();
@@ -2821,8 +2823,9 @@
}
spirv_params.emplace_back(gen_arg(Usage::kTexture));
- if (texture_type->Is<sem::MultisampledTexture>() ||
- texture_type->Is<sem::StorageTexture>()) {
+ if (texture_type->IsAnyOf<sem::MultisampledTexture, //
+ sem::DepthMultisampledTexture, //
+ sem::StorageTexture>()) {
op = spv::Op::OpImageQuerySize;
} else if (auto* level = arg(Usage::kLevel)) {
op = spv::Op::OpImageQuerySizeLod;
@@ -3805,7 +3808,6 @@
});
}
-// TODO(tommek): Cover multisampled textures here when they're included in AST
bool Builder::GenerateTextureType(const sem::Texture* texture,
const Operand& result) {
uint32_t array_literal = 0u;
@@ -3833,18 +3835,19 @@
}
uint32_t ms_literal = 0u;
- if (texture->Is<sem::MultisampledTexture>()) {
+ if (texture->IsAnyOf<sem::MultisampledTexture,
+ sem::DepthMultisampledTexture>()) {
ms_literal = 1u;
}
uint32_t depth_literal = 0u;
- if (texture->Is<sem::DepthTexture>()) {
+ if (texture->IsAnyOf<sem::DepthTexture, sem::DepthMultisampledTexture>()) {
depth_literal = 1u;
}
uint32_t sampled_literal = 2u;
- if (texture->Is<sem::MultisampledTexture>() ||
- texture->Is<sem::SampledTexture>() || texture->Is<sem::DepthTexture>()) {
+ if (texture->IsAnyOf<sem::MultisampledTexture, sem::SampledTexture,
+ sem::DepthTexture, sem::DepthMultisampledTexture>()) {
sampled_literal = 1u;
}
@@ -3856,7 +3859,7 @@
}
uint32_t type_id = 0u;
- if (texture->Is<sem::DepthTexture>()) {
+ if (texture->IsAnyOf<sem::DepthTexture, sem::DepthMultisampledTexture>()) {
sem::F32 f32;
type_id = GenerateTypeIfNeeded(&f32);
} else if (auto* s = texture->As<sem::SampledTexture>()) {
diff --git a/src/writer/spirv/builder_intrinsic_texture_test.cc b/src/writer/spirv/builder_intrinsic_texture_test.cc
index 8cfcc72..2f19989 100644
--- a/src/writer/spirv/builder_intrinsic_texture_test.cc
+++ b/src/writer/spirv/builder_intrinsic_texture_test.cc
@@ -473,6 +473,26 @@
OpCapability SampledCubeArray
OpCapability ImageQuery
)"};
+ case ValidTextureOverload::kDimensionsDepthMultisampled2d:
+ return {
+ R"(
+%4 = OpTypeFloat 32
+%3 = OpTypeImage %4 2D 1 0 1 1 Unknown
+%2 = OpTypePointer UniformConstant %3
+%1 = OpVariable %2 UniformConstant
+%7 = OpTypeSampler
+%6 = OpTypePointer UniformConstant %7
+%5 = OpVariable %6 UniformConstant
+%10 = OpTypeInt 32 1
+%9 = OpTypeVector %10 2
+)",
+ R"(
+%11 = OpLoad %3 %1
+%8 = OpImageQuerySize %9 %11
+)",
+ R"(
+OpCapability ImageQuery
+)"};
case ValidTextureOverload::kDimensionsStorageRO1d:
return {
R"(
@@ -925,6 +945,24 @@
R"(
OpCapability ImageQuery
)"};
+ case ValidTextureOverload::kNumSamplesDepthMultisampled2d:
+ return {R"(
+%4 = OpTypeFloat 32
+%3 = OpTypeImage %4 2D 1 0 1 1 Unknown
+%2 = OpTypePointer UniformConstant %3
+%1 = OpVariable %2 UniformConstant
+%7 = OpTypeSampler
+%6 = OpTypePointer UniformConstant %7
+%5 = OpVariable %6 UniformConstant
+%9 = OpTypeInt 32 1
+)",
+ R"(
+%10 = OpLoad %3 %1
+%8 = OpImageQuerySamples %9 %10
+)",
+ R"(
+OpCapability ImageQuery
+)"};
case ValidTextureOverload::kSample1dF32:
return {
R"(
@@ -3054,6 +3092,32 @@
)",
R"(
)"};
+ case ValidTextureOverload::kLoadDepthMultisampled2dF32:
+ return {
+ R"(
+%4 = OpTypeFloat 32
+%3 = OpTypeImage %4 2D 1 1 0 1 Unknown
+%2 = OpTypePointer UniformConstant %3
+%1 = OpVariable %2 UniformConstant
+%7 = OpTypeSampler
+%6 = OpTypePointer UniformConstant %7
+%5 = OpVariable %6 UniformConstant
+%10 = OpTypeVector %4 4
+%13 = OpTypeInt 32 1
+%12 = OpTypeVector %13 3
+%14 = OpConstant %13 1
+%15 = OpConstant %13 2
+%16 = OpConstant %13 3
+%17 = OpConstantComposite %12 %14 %15 %16
+%18 = OpConstant %13 4
+)",
+ R"(
+%11 = OpLoad %3 %1
+%9 = OpImageFetch %10 %11 %17 Sample %18
+%8 = OpCompositeExtract %4 %9 0
+)",
+ R"(
+)"};
case ValidTextureOverload::kLoadStorageRO1dRgba32float:
return {
R"(
diff --git a/src/writer/wgsl/generator_impl.cc b/src/writer/wgsl/generator_impl.cc
index 3dc824d..698efcd 100644
--- a/src/writer/wgsl/generator_impl.cc
+++ b/src/writer/wgsl/generator_impl.cc
@@ -445,6 +445,8 @@
out << "texture_";
if (texture->Is<ast::DepthTexture>()) {
out << "depth_";
+ } else if (texture->Is<ast::DepthMultisampledTexture>()) {
+ out << "depth_multisampled_";
} else if (texture->Is<ast::SampledTexture>()) {
/* nothing to emit */
} else if (texture->Is<ast::MultisampledTexture>()) {
diff --git a/test/BUILD.gn b/test/BUILD.gn
index b1c8c24..bd33d62 100644
--- a/test/BUILD.gn
+++ b/test/BUILD.gn
@@ -162,6 +162,7 @@
"../src/ast/call_statement_test.cc",
"../src/ast/case_statement_test.cc",
"../src/ast/continue_statement_test.cc",
+ "../src/ast/depth_multisampled_texture_test.cc",
"../src/ast/depth_texture_test.cc",
"../src/ast/discard_statement_test.cc",
"../src/ast/else_statement_test.cc",
@@ -262,6 +263,7 @@
"../src/scope_stack_test.cc",
"../src/sem/atomic_type_test.cc",
"../src/sem/bool_type_test.cc",
+ "../src/sem/depth_multisampled_texture_type_test.cc",
"../src/sem/depth_texture_type_test.cc",
"../src/sem/external_texture_type_test.cc",
"../src/sem/f32_type_test.cc",
diff --git a/test/intrinsics/gen/ignore/2a6ac2.wgsl b/test/intrinsics/gen/ignore/2a6ac2.wgsl
new file mode 100644
index 0000000..a7bb0c6
--- /dev/null
+++ b/test/intrinsics/gen/ignore/2a6ac2.wgsl
@@ -0,0 +1,46 @@
+// Copyright 2021 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/intrinsic-gen
+// using the template:
+// test/intrinsics/intrinsics.wgsl.tmpl
+// and the intrinsic defintion file:
+// src/intrinsics.def
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+[[group(1), binding(0)]] var arg_0: texture_depth_multisampled_2d;
+
+// fn ignore(texture_depth_multisampled_2d)
+fn ignore_2a6ac2() {
+ ignore(arg_0);
+}
+
+[[stage(vertex)]]
+fn vertex_main() -> [[builtin(position)]] vec4<f32> {
+ ignore_2a6ac2();
+ return vec4<f32>();
+}
+
+[[stage(fragment)]]
+fn fragment_main() {
+ ignore_2a6ac2();
+}
+
+[[stage(compute), workgroup_size(1)]]
+fn compute_main() {
+ ignore_2a6ac2();
+}
diff --git a/test/intrinsics/gen/ignore/2a6ac2.wgsl.expected.hlsl b/test/intrinsics/gen/ignore/2a6ac2.wgsl.expected.hlsl
new file mode 100644
index 0000000..3b6a45c
--- /dev/null
+++ b/test/intrinsics/gen/ignore/2a6ac2.wgsl.expected.hlsl
@@ -0,0 +1,26 @@
+Texture2DMS<float4> arg_0 : register(t0, space1);
+
+void ignore_2a6ac2() {
+ arg_0;
+}
+
+struct tint_symbol {
+ float4 value : SV_Position;
+};
+
+tint_symbol vertex_main() {
+ ignore_2a6ac2();
+ const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)};
+ return tint_symbol_1;
+}
+
+void fragment_main() {
+ ignore_2a6ac2();
+ return;
+}
+
+[numthreads(1, 1, 1)]
+void compute_main() {
+ ignore_2a6ac2();
+ return;
+}
diff --git a/test/intrinsics/gen/ignore/2a6ac2.wgsl.expected.msl b/test/intrinsics/gen/ignore/2a6ac2.wgsl.expected.msl
new file mode 100644
index 0000000..5b89993
--- /dev/null
+++ b/test/intrinsics/gen/ignore/2a6ac2.wgsl.expected.msl
@@ -0,0 +1,27 @@
+#include <metal_stdlib>
+
+using namespace metal;
+struct tint_symbol {
+ float4 value [[position]];
+};
+
+void ignore_2a6ac2(depth2d_ms<float, access::read> tint_symbol_2) {
+ (void) tint_symbol_2;
+}
+
+vertex tint_symbol vertex_main(depth2d_ms<float, access::read> tint_symbol_3 [[texture(0)]]) {
+ ignore_2a6ac2(tint_symbol_3);
+ tint_symbol const tint_symbol_1 = {.value=float4()};
+ return tint_symbol_1;
+}
+
+fragment void fragment_main(depth2d_ms<float, access::read> tint_symbol_4 [[texture(0)]]) {
+ ignore_2a6ac2(tint_symbol_4);
+ return;
+}
+
+kernel void compute_main(depth2d_ms<float, access::read> tint_symbol_5 [[texture(0)]]) {
+ ignore_2a6ac2(tint_symbol_5);
+ return;
+}
+
diff --git a/test/intrinsics/gen/ignore/2a6ac2.wgsl.expected.spvasm b/test/intrinsics/gen/ignore/2a6ac2.wgsl.expected.spvasm
new file mode 100644
index 0000000..4a95840
--- /dev/null
+++ b/test/intrinsics/gen/ignore/2a6ac2.wgsl.expected.spvasm
@@ -0,0 +1,68 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 33
+; Schema: 0
+ OpCapability Shader
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
+ OpEntryPoint Fragment %fragment_main "fragment_main"
+ OpEntryPoint GLCompute %compute_main "compute_main"
+ OpExecutionMode %fragment_main OriginUpperLeft
+ OpExecutionMode %compute_main LocalSize 1 1 1
+ OpName %tint_pointsize "tint_pointsize"
+ OpName %arg_0 "arg_0"
+ OpName %tint_symbol_1 "tint_symbol_1"
+ OpName %ignore_2a6ac2 "ignore_2a6ac2"
+ OpName %tint_symbol_2 "tint_symbol_2"
+ OpName %tint_symbol "tint_symbol"
+ OpName %vertex_main "vertex_main"
+ OpName %fragment_main "fragment_main"
+ OpName %compute_main "compute_main"
+ OpDecorate %tint_pointsize BuiltIn PointSize
+ OpDecorate %arg_0 DescriptorSet 1
+ OpDecorate %arg_0 Binding 0
+ OpDecorate %tint_symbol_1 BuiltIn Position
+ %float = OpTypeFloat 32
+%_ptr_Output_float = OpTypePointer Output %float
+ %4 = OpConstantNull %float
+%tint_pointsize = OpVariable %_ptr_Output_float Output %4
+ %7 = OpTypeImage %float 2D 1 0 1 1 Unknown
+%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7
+ %arg_0 = OpVariable %_ptr_UniformConstant_7 UniformConstant
+ %v4float = OpTypeVector %float 4
+%_ptr_Output_v4float = OpTypePointer Output %v4float
+ %11 = OpConstantNull %v4float
+%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %11
+ %void = OpTypeVoid
+ %12 = OpTypeFunction %void
+ %18 = OpTypeFunction %void %v4float
+ %float_1 = OpConstant %float 1
+%ignore_2a6ac2 = OpFunction %void None %12
+ %15 = OpLabel
+ %17 = OpLoad %7 %arg_0
+ OpReturn
+ OpFunctionEnd
+%tint_symbol_2 = OpFunction %void None %18
+%tint_symbol = OpFunctionParameter %v4float
+ %21 = OpLabel
+ OpStore %tint_symbol_1 %tint_symbol
+ OpReturn
+ OpFunctionEnd
+%vertex_main = OpFunction %void None %12
+ %23 = OpLabel
+ OpStore %tint_pointsize %float_1
+ %25 = OpFunctionCall %void %ignore_2a6ac2
+ %26 = OpFunctionCall %void %tint_symbol_2 %11
+ OpReturn
+ OpFunctionEnd
+%fragment_main = OpFunction %void None %12
+ %28 = OpLabel
+ %29 = OpFunctionCall %void %ignore_2a6ac2
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %12
+ %31 = OpLabel
+ %32 = OpFunctionCall %void %ignore_2a6ac2
+ OpReturn
+ OpFunctionEnd
diff --git a/test/intrinsics/gen/ignore/2a6ac2.wgsl.expected.wgsl b/test/intrinsics/gen/ignore/2a6ac2.wgsl.expected.wgsl
new file mode 100644
index 0000000..7c93736
--- /dev/null
+++ b/test/intrinsics/gen/ignore/2a6ac2.wgsl.expected.wgsl
@@ -0,0 +1,21 @@
+[[group(1), binding(0)]] var arg_0 : texture_depth_multisampled_2d;
+
+fn ignore_2a6ac2() {
+ ignore(arg_0);
+}
+
+[[stage(vertex)]]
+fn vertex_main() -> [[builtin(position)]] vec4<f32> {
+ ignore_2a6ac2();
+ return vec4<f32>();
+}
+
+[[stage(fragment)]]
+fn fragment_main() {
+ ignore_2a6ac2();
+}
+
+[[stage(compute), workgroup_size(1)]]
+fn compute_main() {
+ ignore_2a6ac2();
+}
diff --git a/test/intrinsics/gen/textureDimensions/f60bdb.wgsl b/test/intrinsics/gen/textureDimensions/f60bdb.wgsl
new file mode 100644
index 0000000..dd3c2da
--- /dev/null
+++ b/test/intrinsics/gen/textureDimensions/f60bdb.wgsl
@@ -0,0 +1,46 @@
+// Copyright 2021 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/intrinsic-gen
+// using the template:
+// test/intrinsics/intrinsics.wgsl.tmpl
+// and the intrinsic defintion file:
+// src/intrinsics.def
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+[[group(1), binding(0)]] var arg_0: texture_depth_multisampled_2d;
+
+// fn textureDimensions(texture: texture_depth_multisampled_2d) -> vec2<i32>
+fn textureDimensions_f60bdb() {
+ var res: vec2<i32> = textureDimensions(arg_0);
+}
+
+[[stage(vertex)]]
+fn vertex_main() -> [[builtin(position)]] vec4<f32> {
+ textureDimensions_f60bdb();
+ return vec4<f32>();
+}
+
+[[stage(fragment)]]
+fn fragment_main() {
+ textureDimensions_f60bdb();
+}
+
+[[stage(compute), workgroup_size(1)]]
+fn compute_main() {
+ textureDimensions_f60bdb();
+}
diff --git a/test/intrinsics/gen/textureDimensions/f60bdb.wgsl.expected.hlsl b/test/intrinsics/gen/textureDimensions/f60bdb.wgsl.expected.hlsl
new file mode 100644
index 0000000..b1c7273
--- /dev/null
+++ b/test/intrinsics/gen/textureDimensions/f60bdb.wgsl.expected.hlsl
@@ -0,0 +1,28 @@
+Texture2DMS<float4> arg_0 : register(t0, space1);
+
+void textureDimensions_f60bdb() {
+ int3 tint_tmp;
+ arg_0.GetDimensions(tint_tmp.x, tint_tmp.y, tint_tmp.z);
+ int2 res = tint_tmp.xy;
+}
+
+struct tint_symbol {
+ float4 value : SV_Position;
+};
+
+tint_symbol vertex_main() {
+ textureDimensions_f60bdb();
+ const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)};
+ return tint_symbol_1;
+}
+
+void fragment_main() {
+ textureDimensions_f60bdb();
+ return;
+}
+
+[numthreads(1, 1, 1)]
+void compute_main() {
+ textureDimensions_f60bdb();
+ return;
+}
diff --git a/test/intrinsics/gen/textureDimensions/f60bdb.wgsl.expected.msl b/test/intrinsics/gen/textureDimensions/f60bdb.wgsl.expected.msl
new file mode 100644
index 0000000..5cf3b7a
--- /dev/null
+++ b/test/intrinsics/gen/textureDimensions/f60bdb.wgsl.expected.msl
@@ -0,0 +1,27 @@
+#include <metal_stdlib>
+
+using namespace metal;
+struct tint_symbol {
+ float4 value [[position]];
+};
+
+void textureDimensions_f60bdb(depth2d_ms<float, access::read> tint_symbol_2) {
+ int2 res = int2(tint_symbol_2.get_width(), tint_symbol_2.get_height());
+}
+
+vertex tint_symbol vertex_main(depth2d_ms<float, access::read> tint_symbol_3 [[texture(0)]]) {
+ textureDimensions_f60bdb(tint_symbol_3);
+ tint_symbol const tint_symbol_1 = {.value=float4()};
+ return tint_symbol_1;
+}
+
+fragment void fragment_main(depth2d_ms<float, access::read> tint_symbol_4 [[texture(0)]]) {
+ textureDimensions_f60bdb(tint_symbol_4);
+ return;
+}
+
+kernel void compute_main(depth2d_ms<float, access::read> tint_symbol_5 [[texture(0)]]) {
+ textureDimensions_f60bdb(tint_symbol_5);
+ return;
+}
+
diff --git a/test/intrinsics/gen/textureDimensions/f60bdb.wgsl.expected.spvasm b/test/intrinsics/gen/textureDimensions/f60bdb.wgsl.expected.spvasm
new file mode 100644
index 0000000..c29deb3
--- /dev/null
+++ b/test/intrinsics/gen/textureDimensions/f60bdb.wgsl.expected.spvasm
@@ -0,0 +1,77 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 38
+; Schema: 0
+ OpCapability Shader
+ OpCapability ImageQuery
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
+ OpEntryPoint Fragment %fragment_main "fragment_main"
+ OpEntryPoint GLCompute %compute_main "compute_main"
+ OpExecutionMode %fragment_main OriginUpperLeft
+ OpExecutionMode %compute_main LocalSize 1 1 1
+ OpName %tint_pointsize "tint_pointsize"
+ OpName %arg_0 "arg_0"
+ OpName %tint_symbol_1 "tint_symbol_1"
+ OpName %textureDimensions_f60bdb "textureDimensions_f60bdb"
+ OpName %res "res"
+ OpName %tint_symbol_2 "tint_symbol_2"
+ OpName %tint_symbol "tint_symbol"
+ OpName %vertex_main "vertex_main"
+ OpName %fragment_main "fragment_main"
+ OpName %compute_main "compute_main"
+ OpDecorate %tint_pointsize BuiltIn PointSize
+ OpDecorate %arg_0 DescriptorSet 1
+ OpDecorate %arg_0 Binding 0
+ OpDecorate %tint_symbol_1 BuiltIn Position
+ %float = OpTypeFloat 32
+%_ptr_Output_float = OpTypePointer Output %float
+ %4 = OpConstantNull %float
+%tint_pointsize = OpVariable %_ptr_Output_float Output %4
+ %7 = OpTypeImage %float 2D 1 0 1 1 Unknown
+%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7
+ %arg_0 = OpVariable %_ptr_UniformConstant_7 UniformConstant
+ %v4float = OpTypeVector %float 4
+%_ptr_Output_v4float = OpTypePointer Output %v4float
+ %11 = OpConstantNull %v4float
+%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %11
+ %void = OpTypeVoid
+ %12 = OpTypeFunction %void
+ %int = OpTypeInt 32 1
+ %v2int = OpTypeVector %int 2
+%_ptr_Function_v2int = OpTypePointer Function %v2int
+ %22 = OpConstantNull %v2int
+ %23 = OpTypeFunction %void %v4float
+ %float_1 = OpConstant %float 1
+%textureDimensions_f60bdb = OpFunction %void None %12
+ %15 = OpLabel
+ %res = OpVariable %_ptr_Function_v2int Function %22
+ %19 = OpLoad %7 %arg_0
+ %16 = OpImageQuerySize %v2int %19
+ OpStore %res %16
+ OpReturn
+ OpFunctionEnd
+%tint_symbol_2 = OpFunction %void None %23
+%tint_symbol = OpFunctionParameter %v4float
+ %26 = OpLabel
+ OpStore %tint_symbol_1 %tint_symbol
+ OpReturn
+ OpFunctionEnd
+%vertex_main = OpFunction %void None %12
+ %28 = OpLabel
+ OpStore %tint_pointsize %float_1
+ %30 = OpFunctionCall %void %textureDimensions_f60bdb
+ %31 = OpFunctionCall %void %tint_symbol_2 %11
+ OpReturn
+ OpFunctionEnd
+%fragment_main = OpFunction %void None %12
+ %33 = OpLabel
+ %34 = OpFunctionCall %void %textureDimensions_f60bdb
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %12
+ %36 = OpLabel
+ %37 = OpFunctionCall %void %textureDimensions_f60bdb
+ OpReturn
+ OpFunctionEnd
diff --git a/test/intrinsics/gen/textureDimensions/f60bdb.wgsl.expected.wgsl b/test/intrinsics/gen/textureDimensions/f60bdb.wgsl.expected.wgsl
new file mode 100644
index 0000000..9a0b4b5
--- /dev/null
+++ b/test/intrinsics/gen/textureDimensions/f60bdb.wgsl.expected.wgsl
@@ -0,0 +1,21 @@
+[[group(1), binding(0)]] var arg_0 : texture_depth_multisampled_2d;
+
+fn textureDimensions_f60bdb() {
+ var res : vec2<i32> = textureDimensions(arg_0);
+}
+
+[[stage(vertex)]]
+fn vertex_main() -> [[builtin(position)]] vec4<f32> {
+ textureDimensions_f60bdb();
+ return vec4<f32>();
+}
+
+[[stage(fragment)]]
+fn fragment_main() {
+ textureDimensions_f60bdb();
+}
+
+[[stage(compute), workgroup_size(1)]]
+fn compute_main() {
+ textureDimensions_f60bdb();
+}
diff --git a/test/intrinsics/gen/textureLoad/6273b1.wgsl b/test/intrinsics/gen/textureLoad/6273b1.wgsl
new file mode 100644
index 0000000..600fb45
--- /dev/null
+++ b/test/intrinsics/gen/textureLoad/6273b1.wgsl
@@ -0,0 +1,46 @@
+// Copyright 2021 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/intrinsic-gen
+// using the template:
+// test/intrinsics/intrinsics.wgsl.tmpl
+// and the intrinsic defintion file:
+// src/intrinsics.def
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+[[group(1), binding(0)]] var arg_0: texture_depth_multisampled_2d;
+
+// fn textureLoad(texture: texture_depth_multisampled_2d, coords: vec2<i32>, sample_index: i32) -> f32
+fn textureLoad_6273b1() {
+ var res: f32 = textureLoad(arg_0, vec2<i32>(), 1);
+}
+
+[[stage(vertex)]]
+fn vertex_main() -> [[builtin(position)]] vec4<f32> {
+ textureLoad_6273b1();
+ return vec4<f32>();
+}
+
+[[stage(fragment)]]
+fn fragment_main() {
+ textureLoad_6273b1();
+}
+
+[[stage(compute), workgroup_size(1)]]
+fn compute_main() {
+ textureLoad_6273b1();
+}
diff --git a/test/intrinsics/gen/textureLoad/6273b1.wgsl.expected.hlsl b/test/intrinsics/gen/textureLoad/6273b1.wgsl.expected.hlsl
new file mode 100644
index 0000000..71cfaf3
--- /dev/null
+++ b/test/intrinsics/gen/textureLoad/6273b1.wgsl.expected.hlsl
@@ -0,0 +1,26 @@
+Texture2DMS<float4> arg_0 : register(t0, space1);
+
+void textureLoad_6273b1() {
+ float res = arg_0.Load(int3(0, 0, 0), 1).x;
+}
+
+struct tint_symbol {
+ float4 value : SV_Position;
+};
+
+tint_symbol vertex_main() {
+ textureLoad_6273b1();
+ const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)};
+ return tint_symbol_1;
+}
+
+void fragment_main() {
+ textureLoad_6273b1();
+ return;
+}
+
+[numthreads(1, 1, 1)]
+void compute_main() {
+ textureLoad_6273b1();
+ return;
+}
diff --git a/test/intrinsics/gen/textureLoad/6273b1.wgsl.expected.msl b/test/intrinsics/gen/textureLoad/6273b1.wgsl.expected.msl
new file mode 100644
index 0000000..c389b38
--- /dev/null
+++ b/test/intrinsics/gen/textureLoad/6273b1.wgsl.expected.msl
@@ -0,0 +1,27 @@
+#include <metal_stdlib>
+
+using namespace metal;
+struct tint_symbol {
+ float4 value [[position]];
+};
+
+void textureLoad_6273b1(depth2d_ms<float, access::read> tint_symbol_2) {
+ float res = tint_symbol_2.read(uint2(int2()), 1);
+}
+
+vertex tint_symbol vertex_main(depth2d_ms<float, access::read> tint_symbol_3 [[texture(0)]]) {
+ textureLoad_6273b1(tint_symbol_3);
+ tint_symbol const tint_symbol_1 = {.value=float4()};
+ return tint_symbol_1;
+}
+
+fragment void fragment_main(depth2d_ms<float, access::read> tint_symbol_4 [[texture(0)]]) {
+ textureLoad_6273b1(tint_symbol_4);
+ return;
+}
+
+kernel void compute_main(depth2d_ms<float, access::read> tint_symbol_5 [[texture(0)]]) {
+ textureLoad_6273b1(tint_symbol_5);
+ return;
+}
+
diff --git a/test/intrinsics/gen/textureLoad/6273b1.wgsl.expected.spvasm b/test/intrinsics/gen/textureLoad/6273b1.wgsl.expected.spvasm
new file mode 100644
index 0000000..f4cf793
--- /dev/null
+++ b/test/intrinsics/gen/textureLoad/6273b1.wgsl.expected.spvasm
@@ -0,0 +1,78 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 40
+; Schema: 0
+ OpCapability Shader
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
+ OpEntryPoint Fragment %fragment_main "fragment_main"
+ OpEntryPoint GLCompute %compute_main "compute_main"
+ OpExecutionMode %fragment_main OriginUpperLeft
+ OpExecutionMode %compute_main LocalSize 1 1 1
+ OpName %tint_pointsize "tint_pointsize"
+ OpName %arg_0 "arg_0"
+ OpName %tint_symbol_1 "tint_symbol_1"
+ OpName %textureLoad_6273b1 "textureLoad_6273b1"
+ OpName %res "res"
+ OpName %tint_symbol_2 "tint_symbol_2"
+ OpName %tint_symbol "tint_symbol"
+ OpName %vertex_main "vertex_main"
+ OpName %fragment_main "fragment_main"
+ OpName %compute_main "compute_main"
+ OpDecorate %tint_pointsize BuiltIn PointSize
+ OpDecorate %arg_0 DescriptorSet 1
+ OpDecorate %arg_0 Binding 0
+ OpDecorate %tint_symbol_1 BuiltIn Position
+ %float = OpTypeFloat 32
+%_ptr_Output_float = OpTypePointer Output %float
+ %4 = OpConstantNull %float
+%tint_pointsize = OpVariable %_ptr_Output_float Output %4
+ %7 = OpTypeImage %float 2D 1 0 1 1 Unknown
+%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7
+ %arg_0 = OpVariable %_ptr_UniformConstant_7 UniformConstant
+ %v4float = OpTypeVector %float 4
+%_ptr_Output_v4float = OpTypePointer Output %v4float
+ %11 = OpConstantNull %v4float
+%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %11
+ %void = OpTypeVoid
+ %12 = OpTypeFunction %void
+ %int = OpTypeInt 32 1
+ %v2int = OpTypeVector %int 2
+ %21 = OpConstantNull %v2int
+ %int_1 = OpConstant %int 1
+%_ptr_Function_float = OpTypePointer Function %float
+ %25 = OpTypeFunction %void %v4float
+ %float_1 = OpConstant %float 1
+%textureLoad_6273b1 = OpFunction %void None %12
+ %15 = OpLabel
+ %res = OpVariable %_ptr_Function_float Function %4
+ %18 = OpLoad %7 %arg_0
+ %17 = OpImageFetch %v4float %18 %21 Sample %int_1
+ %16 = OpCompositeExtract %float %17 0
+ OpStore %res %16
+ OpReturn
+ OpFunctionEnd
+%tint_symbol_2 = OpFunction %void None %25
+%tint_symbol = OpFunctionParameter %v4float
+ %28 = OpLabel
+ OpStore %tint_symbol_1 %tint_symbol
+ OpReturn
+ OpFunctionEnd
+%vertex_main = OpFunction %void None %12
+ %30 = OpLabel
+ OpStore %tint_pointsize %float_1
+ %32 = OpFunctionCall %void %textureLoad_6273b1
+ %33 = OpFunctionCall %void %tint_symbol_2 %11
+ OpReturn
+ OpFunctionEnd
+%fragment_main = OpFunction %void None %12
+ %35 = OpLabel
+ %36 = OpFunctionCall %void %textureLoad_6273b1
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %12
+ %38 = OpLabel
+ %39 = OpFunctionCall %void %textureLoad_6273b1
+ OpReturn
+ OpFunctionEnd
diff --git a/test/intrinsics/gen/textureLoad/6273b1.wgsl.expected.wgsl b/test/intrinsics/gen/textureLoad/6273b1.wgsl.expected.wgsl
new file mode 100644
index 0000000..9d21c59
--- /dev/null
+++ b/test/intrinsics/gen/textureLoad/6273b1.wgsl.expected.wgsl
@@ -0,0 +1,21 @@
+[[group(1), binding(0)]] var arg_0 : texture_depth_multisampled_2d;
+
+fn textureLoad_6273b1() {
+ var res : f32 = textureLoad(arg_0, vec2<i32>(), 1);
+}
+
+[[stage(vertex)]]
+fn vertex_main() -> [[builtin(position)]] vec4<f32> {
+ textureLoad_6273b1();
+ return vec4<f32>();
+}
+
+[[stage(fragment)]]
+fn fragment_main() {
+ textureLoad_6273b1();
+}
+
+[[stage(compute), workgroup_size(1)]]
+fn compute_main() {
+ textureLoad_6273b1();
+}
diff --git a/test/intrinsics/gen/textureNumSamples/a3c8a0.wgsl b/test/intrinsics/gen/textureNumSamples/a3c8a0.wgsl
new file mode 100644
index 0000000..4cc3843
--- /dev/null
+++ b/test/intrinsics/gen/textureNumSamples/a3c8a0.wgsl
@@ -0,0 +1,46 @@
+// Copyright 2021 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/intrinsic-gen
+// using the template:
+// test/intrinsics/intrinsics.wgsl.tmpl
+// and the intrinsic defintion file:
+// src/intrinsics.def
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+[[group(1), binding(0)]] var arg_0: texture_depth_multisampled_2d;
+
+// fn textureNumSamples(texture: texture_depth_multisampled_2d) -> i32
+fn textureNumSamples_a3c8a0() {
+ var res: i32 = textureNumSamples(arg_0);
+}
+
+[[stage(vertex)]]
+fn vertex_main() -> [[builtin(position)]] vec4<f32> {
+ textureNumSamples_a3c8a0();
+ return vec4<f32>();
+}
+
+[[stage(fragment)]]
+fn fragment_main() {
+ textureNumSamples_a3c8a0();
+}
+
+[[stage(compute), workgroup_size(1)]]
+fn compute_main() {
+ textureNumSamples_a3c8a0();
+}
diff --git a/test/intrinsics/gen/textureNumSamples/a3c8a0.wgsl.expected.hlsl b/test/intrinsics/gen/textureNumSamples/a3c8a0.wgsl.expected.hlsl
new file mode 100644
index 0000000..a585b13
--- /dev/null
+++ b/test/intrinsics/gen/textureNumSamples/a3c8a0.wgsl.expected.hlsl
@@ -0,0 +1,28 @@
+Texture2DMS<float4> arg_0 : register(t0, space1);
+
+void textureNumSamples_a3c8a0() {
+ int3 tint_tmp;
+ arg_0.GetDimensions(tint_tmp.x, tint_tmp.y, tint_tmp.z);
+ int res = tint_tmp.z;
+}
+
+struct tint_symbol {
+ float4 value : SV_Position;
+};
+
+tint_symbol vertex_main() {
+ textureNumSamples_a3c8a0();
+ const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)};
+ return tint_symbol_1;
+}
+
+void fragment_main() {
+ textureNumSamples_a3c8a0();
+ return;
+}
+
+[numthreads(1, 1, 1)]
+void compute_main() {
+ textureNumSamples_a3c8a0();
+ return;
+}
diff --git a/test/intrinsics/gen/textureNumSamples/a3c8a0.wgsl.expected.msl b/test/intrinsics/gen/textureNumSamples/a3c8a0.wgsl.expected.msl
new file mode 100644
index 0000000..b2ba8c6
--- /dev/null
+++ b/test/intrinsics/gen/textureNumSamples/a3c8a0.wgsl.expected.msl
@@ -0,0 +1,27 @@
+#include <metal_stdlib>
+
+using namespace metal;
+struct tint_symbol {
+ float4 value [[position]];
+};
+
+void textureNumSamples_a3c8a0(depth2d_ms<float, access::read> tint_symbol_2) {
+ int res = int(tint_symbol_2.get_num_samples());
+}
+
+vertex tint_symbol vertex_main(depth2d_ms<float, access::read> tint_symbol_3 [[texture(0)]]) {
+ textureNumSamples_a3c8a0(tint_symbol_3);
+ tint_symbol const tint_symbol_1 = {.value=float4()};
+ return tint_symbol_1;
+}
+
+fragment void fragment_main(depth2d_ms<float, access::read> tint_symbol_4 [[texture(0)]]) {
+ textureNumSamples_a3c8a0(tint_symbol_4);
+ return;
+}
+
+kernel void compute_main(depth2d_ms<float, access::read> tint_symbol_5 [[texture(0)]]) {
+ textureNumSamples_a3c8a0(tint_symbol_5);
+ return;
+}
+
diff --git a/test/intrinsics/gen/textureNumSamples/a3c8a0.wgsl.expected.spvasm b/test/intrinsics/gen/textureNumSamples/a3c8a0.wgsl.expected.spvasm
new file mode 100644
index 0000000..38604f0
--- /dev/null
+++ b/test/intrinsics/gen/textureNumSamples/a3c8a0.wgsl.expected.spvasm
@@ -0,0 +1,76 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 37
+; Schema: 0
+ OpCapability Shader
+ OpCapability ImageQuery
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
+ OpEntryPoint Fragment %fragment_main "fragment_main"
+ OpEntryPoint GLCompute %compute_main "compute_main"
+ OpExecutionMode %fragment_main OriginUpperLeft
+ OpExecutionMode %compute_main LocalSize 1 1 1
+ OpName %tint_pointsize "tint_pointsize"
+ OpName %arg_0 "arg_0"
+ OpName %tint_symbol_1 "tint_symbol_1"
+ OpName %textureNumSamples_a3c8a0 "textureNumSamples_a3c8a0"
+ OpName %res "res"
+ OpName %tint_symbol_2 "tint_symbol_2"
+ OpName %tint_symbol "tint_symbol"
+ OpName %vertex_main "vertex_main"
+ OpName %fragment_main "fragment_main"
+ OpName %compute_main "compute_main"
+ OpDecorate %tint_pointsize BuiltIn PointSize
+ OpDecorate %arg_0 DescriptorSet 1
+ OpDecorate %arg_0 Binding 0
+ OpDecorate %tint_symbol_1 BuiltIn Position
+ %float = OpTypeFloat 32
+%_ptr_Output_float = OpTypePointer Output %float
+ %4 = OpConstantNull %float
+%tint_pointsize = OpVariable %_ptr_Output_float Output %4
+ %7 = OpTypeImage %float 2D 1 0 1 1 Unknown
+%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7
+ %arg_0 = OpVariable %_ptr_UniformConstant_7 UniformConstant
+ %v4float = OpTypeVector %float 4
+%_ptr_Output_v4float = OpTypePointer Output %v4float
+ %11 = OpConstantNull %v4float
+%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %11
+ %void = OpTypeVoid
+ %12 = OpTypeFunction %void
+ %int = OpTypeInt 32 1
+%_ptr_Function_int = OpTypePointer Function %int
+ %21 = OpConstantNull %int
+ %22 = OpTypeFunction %void %v4float
+ %float_1 = OpConstant %float 1
+%textureNumSamples_a3c8a0 = OpFunction %void None %12
+ %15 = OpLabel
+ %res = OpVariable %_ptr_Function_int Function %21
+ %18 = OpLoad %7 %arg_0
+ %16 = OpImageQuerySamples %int %18
+ OpStore %res %16
+ OpReturn
+ OpFunctionEnd
+%tint_symbol_2 = OpFunction %void None %22
+%tint_symbol = OpFunctionParameter %v4float
+ %25 = OpLabel
+ OpStore %tint_symbol_1 %tint_symbol
+ OpReturn
+ OpFunctionEnd
+%vertex_main = OpFunction %void None %12
+ %27 = OpLabel
+ OpStore %tint_pointsize %float_1
+ %29 = OpFunctionCall %void %textureNumSamples_a3c8a0
+ %30 = OpFunctionCall %void %tint_symbol_2 %11
+ OpReturn
+ OpFunctionEnd
+%fragment_main = OpFunction %void None %12
+ %32 = OpLabel
+ %33 = OpFunctionCall %void %textureNumSamples_a3c8a0
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %12
+ %35 = OpLabel
+ %36 = OpFunctionCall %void %textureNumSamples_a3c8a0
+ OpReturn
+ OpFunctionEnd
diff --git a/test/intrinsics/gen/textureNumSamples/a3c8a0.wgsl.expected.wgsl b/test/intrinsics/gen/textureNumSamples/a3c8a0.wgsl.expected.wgsl
new file mode 100644
index 0000000..141f059
--- /dev/null
+++ b/test/intrinsics/gen/textureNumSamples/a3c8a0.wgsl.expected.wgsl
@@ -0,0 +1,21 @@
+[[group(1), binding(0)]] var arg_0 : texture_depth_multisampled_2d;
+
+fn textureNumSamples_a3c8a0() {
+ var res : i32 = textureNumSamples(arg_0);
+}
+
+[[stage(vertex)]]
+fn vertex_main() -> [[builtin(position)]] vec4<f32> {
+ textureNumSamples_a3c8a0();
+ return vec4<f32>();
+}
+
+[[stage(fragment)]]
+fn fragment_main() {
+ textureNumSamples_a3c8a0();
+}
+
+[[stage(compute), workgroup_size(1)]]
+fn compute_main() {
+ textureNumSamples_a3c8a0();
+}
diff --git a/test/intrinsics/textureDimensions/depth_ms.spvasm b/test/intrinsics/textureDimensions/depth_ms.spvasm
new file mode 100644
index 0000000..c29deb3
--- /dev/null
+++ b/test/intrinsics/textureDimensions/depth_ms.spvasm
@@ -0,0 +1,77 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 38
+; Schema: 0
+ OpCapability Shader
+ OpCapability ImageQuery
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
+ OpEntryPoint Fragment %fragment_main "fragment_main"
+ OpEntryPoint GLCompute %compute_main "compute_main"
+ OpExecutionMode %fragment_main OriginUpperLeft
+ OpExecutionMode %compute_main LocalSize 1 1 1
+ OpName %tint_pointsize "tint_pointsize"
+ OpName %arg_0 "arg_0"
+ OpName %tint_symbol_1 "tint_symbol_1"
+ OpName %textureDimensions_f60bdb "textureDimensions_f60bdb"
+ OpName %res "res"
+ OpName %tint_symbol_2 "tint_symbol_2"
+ OpName %tint_symbol "tint_symbol"
+ OpName %vertex_main "vertex_main"
+ OpName %fragment_main "fragment_main"
+ OpName %compute_main "compute_main"
+ OpDecorate %tint_pointsize BuiltIn PointSize
+ OpDecorate %arg_0 DescriptorSet 1
+ OpDecorate %arg_0 Binding 0
+ OpDecorate %tint_symbol_1 BuiltIn Position
+ %float = OpTypeFloat 32
+%_ptr_Output_float = OpTypePointer Output %float
+ %4 = OpConstantNull %float
+%tint_pointsize = OpVariable %_ptr_Output_float Output %4
+ %7 = OpTypeImage %float 2D 1 0 1 1 Unknown
+%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7
+ %arg_0 = OpVariable %_ptr_UniformConstant_7 UniformConstant
+ %v4float = OpTypeVector %float 4
+%_ptr_Output_v4float = OpTypePointer Output %v4float
+ %11 = OpConstantNull %v4float
+%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %11
+ %void = OpTypeVoid
+ %12 = OpTypeFunction %void
+ %int = OpTypeInt 32 1
+ %v2int = OpTypeVector %int 2
+%_ptr_Function_v2int = OpTypePointer Function %v2int
+ %22 = OpConstantNull %v2int
+ %23 = OpTypeFunction %void %v4float
+ %float_1 = OpConstant %float 1
+%textureDimensions_f60bdb = OpFunction %void None %12
+ %15 = OpLabel
+ %res = OpVariable %_ptr_Function_v2int Function %22
+ %19 = OpLoad %7 %arg_0
+ %16 = OpImageQuerySize %v2int %19
+ OpStore %res %16
+ OpReturn
+ OpFunctionEnd
+%tint_symbol_2 = OpFunction %void None %23
+%tint_symbol = OpFunctionParameter %v4float
+ %26 = OpLabel
+ OpStore %tint_symbol_1 %tint_symbol
+ OpReturn
+ OpFunctionEnd
+%vertex_main = OpFunction %void None %12
+ %28 = OpLabel
+ OpStore %tint_pointsize %float_1
+ %30 = OpFunctionCall %void %textureDimensions_f60bdb
+ %31 = OpFunctionCall %void %tint_symbol_2 %11
+ OpReturn
+ OpFunctionEnd
+%fragment_main = OpFunction %void None %12
+ %33 = OpLabel
+ %34 = OpFunctionCall %void %textureDimensions_f60bdb
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %12
+ %36 = OpLabel
+ %37 = OpFunctionCall %void %textureDimensions_f60bdb
+ OpReturn
+ OpFunctionEnd
diff --git a/test/intrinsics/textureDimensions/depth_ms.spvasm.expected.hlsl b/test/intrinsics/textureDimensions/depth_ms.spvasm.expected.hlsl
new file mode 100644
index 0000000..16dec5d
--- /dev/null
+++ b/test/intrinsics/textureDimensions/depth_ms.spvasm.expected.hlsl
@@ -0,0 +1,57 @@
+Texture2DMS<float4> arg_0 : register(t0, space1);
+static float4 tint_symbol_1 = float4(0.0f, 0.0f, 0.0f, 0.0f);
+
+void textureDimensions_f60bdb() {
+ int2 res = int2(0, 0);
+ int3 tint_tmp;
+ arg_0.GetDimensions(tint_tmp.x, tint_tmp.y, tint_tmp.z);
+ const int2 x_16 = int2(tint_tmp.xy);
+ res = x_16;
+ return;
+}
+
+void tint_symbol_2(float4 tint_symbol) {
+ tint_symbol_1 = tint_symbol;
+ return;
+}
+
+void vertex_main_1() {
+ textureDimensions_f60bdb();
+ tint_symbol_2(float4(0.0f, 0.0f, 0.0f, 0.0f));
+ return;
+}
+
+struct vertex_main_out {
+ float4 tint_symbol_1_1;
+};
+struct tint_symbol_3 {
+ float4 tint_symbol_1_1 : SV_Position;
+};
+
+tint_symbol_3 vertex_main() {
+ vertex_main_1();
+ const vertex_main_out tint_symbol_4 = {tint_symbol_1};
+ const tint_symbol_3 tint_symbol_5 = {tint_symbol_4.tint_symbol_1_1};
+ return tint_symbol_5;
+}
+
+void fragment_main_1() {
+ textureDimensions_f60bdb();
+ return;
+}
+
+void fragment_main() {
+ fragment_main_1();
+ return;
+}
+
+void compute_main_1() {
+ textureDimensions_f60bdb();
+ return;
+}
+
+[numthreads(1, 1, 1)]
+void compute_main() {
+ compute_main_1();
+ return;
+}
diff --git a/test/intrinsics/textureDimensions/depth_ms.spvasm.expected.msl b/test/intrinsics/textureDimensions/depth_ms.spvasm.expected.msl
new file mode 100644
index 0000000..d68fff0
--- /dev/null
+++ b/test/intrinsics/textureDimensions/depth_ms.spvasm.expected.msl
@@ -0,0 +1,56 @@
+#include <metal_stdlib>
+
+using namespace metal;
+struct vertex_main_out {
+ float4 tint_symbol_1_1;
+};
+struct tint_symbol_3 {
+ float4 tint_symbol_1_1 [[position]];
+};
+
+void textureDimensions_f60bdb(depth2d_ms<float, access::read> tint_symbol_6) {
+ int2 res = int2(0, 0);
+ int2 const x_16 = int2(int2(tint_symbol_6.get_width(), tint_symbol_6.get_height()));
+ res = x_16;
+ return;
+}
+
+void tint_symbol_2(float4 tint_symbol, thread float4* const tint_symbol_7) {
+ *(tint_symbol_7) = tint_symbol;
+ return;
+}
+
+void vertex_main_1(depth2d_ms<float, access::read> tint_symbol_8, thread float4* const tint_symbol_9) {
+ textureDimensions_f60bdb(tint_symbol_8);
+ tint_symbol_2(float4(0.0f, 0.0f, 0.0f, 0.0f), tint_symbol_9);
+ return;
+}
+
+vertex tint_symbol_3 vertex_main(depth2d_ms<float, access::read> tint_symbol_10 [[texture(0)]]) {
+ thread float4 tint_symbol_11 = float4(0.0f, 0.0f, 0.0f, 0.0f);
+ vertex_main_1(tint_symbol_10, &(tint_symbol_11));
+ vertex_main_out const tint_symbol_4 = {.tint_symbol_1_1=tint_symbol_11};
+ tint_symbol_3 const tint_symbol_5 = {.tint_symbol_1_1=tint_symbol_4.tint_symbol_1_1};
+ return tint_symbol_5;
+}
+
+void fragment_main_1(depth2d_ms<float, access::read> tint_symbol_12) {
+ textureDimensions_f60bdb(tint_symbol_12);
+ return;
+}
+
+fragment void fragment_main(depth2d_ms<float, access::read> tint_symbol_13 [[texture(0)]]) {
+ fragment_main_1(tint_symbol_13);
+ return;
+}
+
+void compute_main_1(depth2d_ms<float, access::read> tint_symbol_14) {
+ textureDimensions_f60bdb(tint_symbol_14);
+ return;
+}
+
+kernel void compute_main(depth2d_ms<float, access::read> tint_symbol_15 [[texture(0)]]) {
+ compute_main_1(tint_symbol_15);
+ return;
+}
+
diff --git a/test/intrinsics/textureDimensions/depth_ms.spvasm.expected.spvasm b/test/intrinsics/textureDimensions/depth_ms.spvasm.expected.spvasm
new file mode 100644
index 0000000..9f80aa2
--- /dev/null
+++ b/test/intrinsics/textureDimensions/depth_ms.spvasm.expected.spvasm
@@ -0,0 +1,120 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 63
+; Schema: 0
+ OpCapability Shader
+ OpCapability ImageQuery
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_4
+ OpEntryPoint Fragment %fragment_main "fragment_main"
+ OpEntryPoint GLCompute %compute_main "compute_main"
+ OpExecutionMode %fragment_main OriginUpperLeft
+ OpExecutionMode %compute_main LocalSize 1 1 1
+ OpName %tint_pointsize "tint_pointsize"
+ OpName %arg_0 "arg_0"
+ OpName %tint_symbol_1 "tint_symbol_1"
+ OpName %tint_symbol_4 "tint_symbol_4"
+ OpName %textureDimensions_f60bdb "textureDimensions_f60bdb"
+ OpName %res "res"
+ OpName %tint_symbol_2 "tint_symbol_2"
+ OpName %tint_symbol "tint_symbol"
+ OpName %vertex_main_1 "vertex_main_1"
+ OpName %vertex_main_out "vertex_main_out"
+ OpMemberName %vertex_main_out 0 "tint_symbol_1_1"
+ OpName %tint_symbol_5 "tint_symbol_5"
+ OpName %tint_symbol_3 "tint_symbol_3"
+ OpName %vertex_main "vertex_main"
+ OpName %fragment_main_1 "fragment_main_1"
+ OpName %fragment_main "fragment_main"
+ OpName %compute_main_1 "compute_main_1"
+ OpName %compute_main "compute_main"
+ OpDecorate %tint_pointsize BuiltIn PointSize
+ OpDecorate %arg_0 DescriptorSet 1
+ OpDecorate %arg_0 Binding 0
+ OpDecorate %tint_symbol_4 BuiltIn Position
+ OpMemberDecorate %vertex_main_out 0 Offset 0
+ %float = OpTypeFloat 32
+%_ptr_Output_float = OpTypePointer Output %float
+ %4 = OpConstantNull %float
+%tint_pointsize = OpVariable %_ptr_Output_float Output %4
+ %7 = OpTypeImage %float 2D 1 0 1 1 Unknown
+%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7
+ %arg_0 = OpVariable %_ptr_UniformConstant_7 UniformConstant
+ %v4float = OpTypeVector %float 4
+ %float_0 = OpConstant %float 0
+ %10 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
+%_ptr_Private_v4float = OpTypePointer Private %v4float
+%tint_symbol_1 = OpVariable %_ptr_Private_v4float Private %10
+%_ptr_Output_v4float = OpTypePointer Output %v4float
+ %15 = OpConstantNull %v4float
+%tint_symbol_4 = OpVariable %_ptr_Output_v4float Output %15
+ %void = OpTypeVoid
+ %16 = OpTypeFunction %void
+ %int = OpTypeInt 32 1
+ %v2int = OpTypeVector %int 2
+ %int_0 = OpConstant %int 0
+ %23 = OpConstantComposite %v2int %int_0 %int_0
+%_ptr_Function_v2int = OpTypePointer Function %v2int
+ %26 = OpConstantNull %v2int
+ %30 = OpTypeFunction %void %v4float
+%vertex_main_out = OpTypeStruct %v4float
+ %38 = OpTypeFunction %void %vertex_main_out
+ %float_1 = OpConstant %float 1
+%textureDimensions_f60bdb = OpFunction %void None %16
+ %19 = OpLabel
+ %res = OpVariable %_ptr_Function_v2int Function %26
+ OpStore %res %23
+ %29 = OpLoad %7 %arg_0
+ %28 = OpImageQuerySize %v2int %29
+ OpStore %res %28
+ OpReturn
+ OpFunctionEnd
+%tint_symbol_2 = OpFunction %void None %30
+%tint_symbol = OpFunctionParameter %v4float
+ %33 = OpLabel
+ OpStore %tint_symbol_1 %tint_symbol
+ OpReturn
+ OpFunctionEnd
+%vertex_main_1 = OpFunction %void None %16
+ %35 = OpLabel
+ %36 = OpFunctionCall %void %textureDimensions_f60bdb
+ %37 = OpFunctionCall %void %tint_symbol_2 %10
+ OpReturn
+ OpFunctionEnd
+%tint_symbol_5 = OpFunction %void None %38
+%tint_symbol_3 = OpFunctionParameter %vertex_main_out
+ %42 = OpLabel
+ %43 = OpCompositeExtract %v4float %tint_symbol_3 0
+ OpStore %tint_symbol_4 %43
+ OpReturn
+ OpFunctionEnd
+%vertex_main = OpFunction %void None %16
+ %45 = OpLabel
+ OpStore %tint_pointsize %float_1
+ %47 = OpFunctionCall %void %vertex_main_1
+ %49 = OpLoad %v4float %tint_symbol_1
+ %50 = OpCompositeConstruct %vertex_main_out %49
+ %48 = OpFunctionCall %void %tint_symbol_5 %50
+ OpReturn
+ OpFunctionEnd
+%fragment_main_1 = OpFunction %void None %16
+ %52 = OpLabel
+ %53 = OpFunctionCall %void %textureDimensions_f60bdb
+ OpReturn
+ OpFunctionEnd
+%fragment_main = OpFunction %void None %16
+ %55 = OpLabel
+ %56 = OpFunctionCall %void %fragment_main_1
+ OpReturn
+ OpFunctionEnd
+%compute_main_1 = OpFunction %void None %16
+ %58 = OpLabel
+ %59 = OpFunctionCall %void %textureDimensions_f60bdb
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %16
+ %61 = OpLabel
+ %62 = OpFunctionCall %void %compute_main_1
+ OpReturn
+ OpFunctionEnd
diff --git a/test/intrinsics/textureDimensions/depth_ms.spvasm.expected.wgsl b/test/intrinsics/textureDimensions/depth_ms.spvasm.expected.wgsl
new file mode 100644
index 0000000..f7fbc92
--- /dev/null
+++ b/test/intrinsics/textureDimensions/depth_ms.spvasm.expected.wgsl
@@ -0,0 +1,52 @@
+[[group(1), binding(0)]] var arg_0 : texture_depth_multisampled_2d;
+
+var<private> tint_symbol_1 : vec4<f32> = vec4<f32>(0.0, 0.0, 0.0, 0.0);
+
+fn textureDimensions_f60bdb() {
+ var res : vec2<i32> = vec2<i32>(0, 0);
+ let x_16 : vec2<i32> = vec2<i32>(textureDimensions(arg_0));
+ res = x_16;
+ return;
+}
+
+fn tint_symbol_2(tint_symbol : vec4<f32>) {
+ tint_symbol_1 = tint_symbol;
+ return;
+}
+
+fn vertex_main_1() {
+ textureDimensions_f60bdb();
+ tint_symbol_2(vec4<f32>(0.0, 0.0, 0.0, 0.0));
+ return;
+}
+
+struct vertex_main_out {
+ [[builtin(position)]]
+ tint_symbol_1_1 : vec4<f32>;
+};
+
+[[stage(vertex)]]
+fn vertex_main() -> vertex_main_out {
+ vertex_main_1();
+ return vertex_main_out(tint_symbol_1);
+}
+
+fn fragment_main_1() {
+ textureDimensions_f60bdb();
+ return;
+}
+
+[[stage(fragment)]]
+fn fragment_main() {
+ fragment_main_1();
+}
+
+fn compute_main_1() {
+ textureDimensions_f60bdb();
+ return;
+}
+
+[[stage(compute), workgroup_size(1, 1, 1)]]
+fn compute_main() {
+ compute_main_1();
+}
diff --git a/test/intrinsics/textureLoad/depth_ms.spvasm b/test/intrinsics/textureLoad/depth_ms.spvasm
new file mode 100644
index 0000000..f4cf793
--- /dev/null
+++ b/test/intrinsics/textureLoad/depth_ms.spvasm
@@ -0,0 +1,78 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 40
+; Schema: 0
+ OpCapability Shader
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
+ OpEntryPoint Fragment %fragment_main "fragment_main"
+ OpEntryPoint GLCompute %compute_main "compute_main"
+ OpExecutionMode %fragment_main OriginUpperLeft
+ OpExecutionMode %compute_main LocalSize 1 1 1
+ OpName %tint_pointsize "tint_pointsize"
+ OpName %arg_0 "arg_0"
+ OpName %tint_symbol_1 "tint_symbol_1"
+ OpName %textureLoad_6273b1 "textureLoad_6273b1"
+ OpName %res "res"
+ OpName %tint_symbol_2 "tint_symbol_2"
+ OpName %tint_symbol "tint_symbol"
+ OpName %vertex_main "vertex_main"
+ OpName %fragment_main "fragment_main"
+ OpName %compute_main "compute_main"
+ OpDecorate %tint_pointsize BuiltIn PointSize
+ OpDecorate %arg_0 DescriptorSet 1
+ OpDecorate %arg_0 Binding 0
+ OpDecorate %tint_symbol_1 BuiltIn Position
+ %float = OpTypeFloat 32
+%_ptr_Output_float = OpTypePointer Output %float
+ %4 = OpConstantNull %float
+%tint_pointsize = OpVariable %_ptr_Output_float Output %4
+ %7 = OpTypeImage %float 2D 1 0 1 1 Unknown
+%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7
+ %arg_0 = OpVariable %_ptr_UniformConstant_7 UniformConstant
+ %v4float = OpTypeVector %float 4
+%_ptr_Output_v4float = OpTypePointer Output %v4float
+ %11 = OpConstantNull %v4float
+%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %11
+ %void = OpTypeVoid
+ %12 = OpTypeFunction %void
+ %int = OpTypeInt 32 1
+ %v2int = OpTypeVector %int 2
+ %21 = OpConstantNull %v2int
+ %int_1 = OpConstant %int 1
+%_ptr_Function_float = OpTypePointer Function %float
+ %25 = OpTypeFunction %void %v4float
+ %float_1 = OpConstant %float 1
+%textureLoad_6273b1 = OpFunction %void None %12
+ %15 = OpLabel
+ %res = OpVariable %_ptr_Function_float Function %4
+ %18 = OpLoad %7 %arg_0
+ %17 = OpImageFetch %v4float %18 %21 Sample %int_1
+ %16 = OpCompositeExtract %float %17 0
+ OpStore %res %16
+ OpReturn
+ OpFunctionEnd
+%tint_symbol_2 = OpFunction %void None %25
+%tint_symbol = OpFunctionParameter %v4float
+ %28 = OpLabel
+ OpStore %tint_symbol_1 %tint_symbol
+ OpReturn
+ OpFunctionEnd
+%vertex_main = OpFunction %void None %12
+ %30 = OpLabel
+ OpStore %tint_pointsize %float_1
+ %32 = OpFunctionCall %void %textureLoad_6273b1
+ %33 = OpFunctionCall %void %tint_symbol_2 %11
+ OpReturn
+ OpFunctionEnd
+%fragment_main = OpFunction %void None %12
+ %35 = OpLabel
+ %36 = OpFunctionCall %void %textureLoad_6273b1
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %12
+ %38 = OpLabel
+ %39 = OpFunctionCall %void %textureLoad_6273b1
+ OpReturn
+ OpFunctionEnd
diff --git a/test/intrinsics/textureLoad/depth_ms.spvasm.expected.hlsl b/test/intrinsics/textureLoad/depth_ms.spvasm.expected.hlsl
new file mode 100644
index 0000000..8acb0b5
--- /dev/null
+++ b/test/intrinsics/textureLoad/depth_ms.spvasm.expected.hlsl
@@ -0,0 +1,55 @@
+Texture2DMS<float4> arg_0 : register(t0, space1);
+static float4 tint_symbol_1 = float4(0.0f, 0.0f, 0.0f, 0.0f);
+
+void textureLoad_6273b1() {
+ float res = 0.0f;
+ const float4 x_17 = float4(arg_0.Load(int3(0, 0, 0), 1).x, 0.0f, 0.0f, 0.0f);
+ res = x_17.x;
+ return;
+}
+
+void tint_symbol_2(float4 tint_symbol) {
+ tint_symbol_1 = tint_symbol;
+ return;
+}
+
+void vertex_main_1() {
+ textureLoad_6273b1();
+ tint_symbol_2(float4(0.0f, 0.0f, 0.0f, 0.0f));
+ return;
+}
+
+struct vertex_main_out {
+ float4 tint_symbol_1_1;
+};
+struct tint_symbol_3 {
+ float4 tint_symbol_1_1 : SV_Position;
+};
+
+tint_symbol_3 vertex_main() {
+ vertex_main_1();
+ const vertex_main_out tint_symbol_4 = {tint_symbol_1};
+ const tint_symbol_3 tint_symbol_5 = {tint_symbol_4.tint_symbol_1_1};
+ return tint_symbol_5;
+}
+
+void fragment_main_1() {
+ textureLoad_6273b1();
+ return;
+}
+
+void fragment_main() {
+ fragment_main_1();
+ return;
+}
+
+void compute_main_1() {
+ textureLoad_6273b1();
+ return;
+}
+
+[numthreads(1, 1, 1)]
+void compute_main() {
+ compute_main_1();
+ return;
+}
diff --git a/test/intrinsics/textureLoad/depth_ms.spvasm.expected.msl b/test/intrinsics/textureLoad/depth_ms.spvasm.expected.msl
new file mode 100644
index 0000000..05a872b
--- /dev/null
+++ b/test/intrinsics/textureLoad/depth_ms.spvasm.expected.msl
@@ -0,0 +1,56 @@
+#include <metal_stdlib>
+
+using namespace metal;
+struct vertex_main_out {
+ float4 tint_symbol_1_1;
+};
+struct tint_symbol_3 {
+ float4 tint_symbol_1_1 [[position]];
+};
+
+void textureLoad_6273b1(depth2d_ms<float, access::read> tint_symbol_6) {
+ float res = 0.0f;
+ float4 const x_17 = float4(tint_symbol_6.read(uint2(int2(0, 0)), 1), 0.0f, 0.0f, 0.0f);
+ res = x_17.x;
+ return;
+}
+
+void tint_symbol_2(float4 tint_symbol, thread float4* const tint_symbol_7) {
+ *(tint_symbol_7) = tint_symbol;
+ return;
+}
+
+void vertex_main_1(depth2d_ms<float, access::read> tint_symbol_8, thread float4* const tint_symbol_9) {
+ textureLoad_6273b1(tint_symbol_8);
+ tint_symbol_2(float4(0.0f, 0.0f, 0.0f, 0.0f), tint_symbol_9);
+ return;
+}
+
+vertex tint_symbol_3 vertex_main(depth2d_ms<float, access::read> tint_symbol_10 [[texture(0)]]) {
+ thread float4 tint_symbol_11 = float4(0.0f, 0.0f, 0.0f, 0.0f);
+ vertex_main_1(tint_symbol_10, &(tint_symbol_11));
+ vertex_main_out const tint_symbol_4 = {.tint_symbol_1_1=tint_symbol_11};
+ tint_symbol_3 const tint_symbol_5 = {.tint_symbol_1_1=tint_symbol_4.tint_symbol_1_1};
+ return tint_symbol_5;
+}
+
+void fragment_main_1(depth2d_ms<float, access::read> tint_symbol_12) {
+ textureLoad_6273b1(tint_symbol_12);
+ return;
+}
+
+fragment void fragment_main(depth2d_ms<float, access::read> tint_symbol_13 [[texture(0)]]) {
+ fragment_main_1(tint_symbol_13);
+ return;
+}
+
+void compute_main_1(depth2d_ms<float, access::read> tint_symbol_14) {
+ textureLoad_6273b1(tint_symbol_14);
+ return;
+}
+
+kernel void compute_main(depth2d_ms<float, access::read> tint_symbol_15 [[texture(0)]]) {
+ compute_main_1(tint_symbol_15);
+ return;
+}
+
diff --git a/test/intrinsics/textureLoad/depth_ms.spvasm.expected.spvasm b/test/intrinsics/textureLoad/depth_ms.spvasm.expected.spvasm
new file mode 100644
index 0000000..4a5da4d
--- /dev/null
+++ b/test/intrinsics/textureLoad/depth_ms.spvasm.expected.spvasm
@@ -0,0 +1,122 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 65
+; Schema: 0
+ OpCapability Shader
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_4
+ OpEntryPoint Fragment %fragment_main "fragment_main"
+ OpEntryPoint GLCompute %compute_main "compute_main"
+ OpExecutionMode %fragment_main OriginUpperLeft
+ OpExecutionMode %compute_main LocalSize 1 1 1
+ OpName %tint_pointsize "tint_pointsize"
+ OpName %arg_0 "arg_0"
+ OpName %tint_symbol_1 "tint_symbol_1"
+ OpName %tint_symbol_4 "tint_symbol_4"
+ OpName %textureLoad_6273b1 "textureLoad_6273b1"
+ OpName %res "res"
+ OpName %tint_symbol_2 "tint_symbol_2"
+ OpName %tint_symbol "tint_symbol"
+ OpName %vertex_main_1 "vertex_main_1"
+ OpName %vertex_main_out "vertex_main_out"
+ OpMemberName %vertex_main_out 0 "tint_symbol_1_1"
+ OpName %tint_symbol_5 "tint_symbol_5"
+ OpName %tint_symbol_3 "tint_symbol_3"
+ OpName %vertex_main "vertex_main"
+ OpName %fragment_main_1 "fragment_main_1"
+ OpName %fragment_main "fragment_main"
+ OpName %compute_main_1 "compute_main_1"
+ OpName %compute_main "compute_main"
+ OpDecorate %tint_pointsize BuiltIn PointSize
+ OpDecorate %arg_0 DescriptorSet 1
+ OpDecorate %arg_0 Binding 0
+ OpDecorate %tint_symbol_4 BuiltIn Position
+ OpMemberDecorate %vertex_main_out 0 Offset 0
+ %float = OpTypeFloat 32
+%_ptr_Output_float = OpTypePointer Output %float
+ %4 = OpConstantNull %float
+%tint_pointsize = OpVariable %_ptr_Output_float Output %4
+ %7 = OpTypeImage %float 2D 1 0 1 1 Unknown
+%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7
+ %arg_0 = OpVariable %_ptr_UniformConstant_7 UniformConstant
+ %v4float = OpTypeVector %float 4
+ %float_0 = OpConstant %float 0
+ %10 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
+%_ptr_Private_v4float = OpTypePointer Private %v4float
+%tint_symbol_1 = OpVariable %_ptr_Private_v4float Private %10
+%_ptr_Output_v4float = OpTypePointer Output %v4float
+ %15 = OpConstantNull %v4float
+%tint_symbol_4 = OpVariable %_ptr_Output_v4float Output %15
+ %void = OpTypeVoid
+ %16 = OpTypeFunction %void
+%_ptr_Function_float = OpTypePointer Function %float
+ %int = OpTypeInt 32 1
+ %v2int = OpTypeVector %int 2
+ %int_0 = OpConstant %int 0
+ %28 = OpConstantComposite %v2int %int_0 %int_0
+ %int_1 = OpConstant %int 1
+ %32 = OpTypeFunction %void %v4float
+%vertex_main_out = OpTypeStruct %v4float
+ %40 = OpTypeFunction %void %vertex_main_out
+ %float_1 = OpConstant %float 1
+%textureLoad_6273b1 = OpFunction %void None %16
+ %19 = OpLabel
+ %res = OpVariable %_ptr_Function_float Function %4
+ OpStore %res %float_0
+ %24 = OpLoad %7 %arg_0
+ %23 = OpImageFetch %v4float %24 %28 Sample %int_1
+ %22 = OpCompositeExtract %float %23 0
+ %30 = OpCompositeConstruct %v4float %22 %float_0 %float_0 %float_0
+ %31 = OpCompositeExtract %float %30 0
+ OpStore %res %31
+ OpReturn
+ OpFunctionEnd
+%tint_symbol_2 = OpFunction %void None %32
+%tint_symbol = OpFunctionParameter %v4float
+ %35 = OpLabel
+ OpStore %tint_symbol_1 %tint_symbol
+ OpReturn
+ OpFunctionEnd
+%vertex_main_1 = OpFunction %void None %16
+ %37 = OpLabel
+ %38 = OpFunctionCall %void %textureLoad_6273b1
+ %39 = OpFunctionCall %void %tint_symbol_2 %10
+ OpReturn
+ OpFunctionEnd
+%tint_symbol_5 = OpFunction %void None %40
+%tint_symbol_3 = OpFunctionParameter %vertex_main_out
+ %44 = OpLabel
+ %45 = OpCompositeExtract %v4float %tint_symbol_3 0
+ OpStore %tint_symbol_4 %45
+ OpReturn
+ OpFunctionEnd
+%vertex_main = OpFunction %void None %16
+ %47 = OpLabel
+ OpStore %tint_pointsize %float_1
+ %49 = OpFunctionCall %void %vertex_main_1
+ %51 = OpLoad %v4float %tint_symbol_1
+ %52 = OpCompositeConstruct %vertex_main_out %51
+ %50 = OpFunctionCall %void %tint_symbol_5 %52
+ OpReturn
+ OpFunctionEnd
+%fragment_main_1 = OpFunction %void None %16
+ %54 = OpLabel
+ %55 = OpFunctionCall %void %textureLoad_6273b1
+ OpReturn
+ OpFunctionEnd
+%fragment_main = OpFunction %void None %16
+ %57 = OpLabel
+ %58 = OpFunctionCall %void %fragment_main_1
+ OpReturn
+ OpFunctionEnd
+%compute_main_1 = OpFunction %void None %16
+ %60 = OpLabel
+ %61 = OpFunctionCall %void %textureLoad_6273b1
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %16
+ %63 = OpLabel
+ %64 = OpFunctionCall %void %compute_main_1
+ OpReturn
+ OpFunctionEnd
diff --git a/test/intrinsics/textureLoad/depth_ms.spvasm.expected.wgsl b/test/intrinsics/textureLoad/depth_ms.spvasm.expected.wgsl
new file mode 100644
index 0000000..d78aed2
--- /dev/null
+++ b/test/intrinsics/textureLoad/depth_ms.spvasm.expected.wgsl
@@ -0,0 +1,52 @@
+[[group(1), binding(0)]] var arg_0 : texture_depth_multisampled_2d;
+
+var<private> tint_symbol_1 : vec4<f32> = vec4<f32>(0.0, 0.0, 0.0, 0.0);
+
+fn textureLoad_6273b1() {
+ var res : f32 = 0.0;
+ let x_17 : vec4<f32> = vec4<f32>(textureLoad(arg_0, vec2<i32>(0, 0), 1), 0.0, 0.0, 0.0);
+ res = x_17.x;
+ return;
+}
+
+fn tint_symbol_2(tint_symbol : vec4<f32>) {
+ tint_symbol_1 = tint_symbol;
+ return;
+}
+
+fn vertex_main_1() {
+ textureLoad_6273b1();
+ tint_symbol_2(vec4<f32>(0.0, 0.0, 0.0, 0.0));
+ return;
+}
+
+struct vertex_main_out {
+ [[builtin(position)]]
+ tint_symbol_1_1 : vec4<f32>;
+};
+
+[[stage(vertex)]]
+fn vertex_main() -> vertex_main_out {
+ vertex_main_1();
+ return vertex_main_out(tint_symbol_1);
+}
+
+fn fragment_main_1() {
+ textureLoad_6273b1();
+ return;
+}
+
+[[stage(fragment)]]
+fn fragment_main() {
+ fragment_main_1();
+}
+
+fn compute_main_1() {
+ textureLoad_6273b1();
+ return;
+}
+
+[[stage(compute), workgroup_size(1, 1, 1)]]
+fn compute_main() {
+ compute_main_1();
+}
diff --git a/test/intrinsics/textureNumSamples/depth_ms.spvasm b/test/intrinsics/textureNumSamples/depth_ms.spvasm
new file mode 100644
index 0000000..38604f0
--- /dev/null
+++ b/test/intrinsics/textureNumSamples/depth_ms.spvasm
@@ -0,0 +1,76 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 37
+; Schema: 0
+ OpCapability Shader
+ OpCapability ImageQuery
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
+ OpEntryPoint Fragment %fragment_main "fragment_main"
+ OpEntryPoint GLCompute %compute_main "compute_main"
+ OpExecutionMode %fragment_main OriginUpperLeft
+ OpExecutionMode %compute_main LocalSize 1 1 1
+ OpName %tint_pointsize "tint_pointsize"
+ OpName %arg_0 "arg_0"
+ OpName %tint_symbol_1 "tint_symbol_1"
+ OpName %textureNumSamples_a3c8a0 "textureNumSamples_a3c8a0"
+ OpName %res "res"
+ OpName %tint_symbol_2 "tint_symbol_2"
+ OpName %tint_symbol "tint_symbol"
+ OpName %vertex_main "vertex_main"
+ OpName %fragment_main "fragment_main"
+ OpName %compute_main "compute_main"
+ OpDecorate %tint_pointsize BuiltIn PointSize
+ OpDecorate %arg_0 DescriptorSet 1
+ OpDecorate %arg_0 Binding 0
+ OpDecorate %tint_symbol_1 BuiltIn Position
+ %float = OpTypeFloat 32
+%_ptr_Output_float = OpTypePointer Output %float
+ %4 = OpConstantNull %float
+%tint_pointsize = OpVariable %_ptr_Output_float Output %4
+ %7 = OpTypeImage %float 2D 1 0 1 1 Unknown
+%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7
+ %arg_0 = OpVariable %_ptr_UniformConstant_7 UniformConstant
+ %v4float = OpTypeVector %float 4
+%_ptr_Output_v4float = OpTypePointer Output %v4float
+ %11 = OpConstantNull %v4float
+%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %11
+ %void = OpTypeVoid
+ %12 = OpTypeFunction %void
+ %int = OpTypeInt 32 1
+%_ptr_Function_int = OpTypePointer Function %int
+ %21 = OpConstantNull %int
+ %22 = OpTypeFunction %void %v4float
+ %float_1 = OpConstant %float 1
+%textureNumSamples_a3c8a0 = OpFunction %void None %12
+ %15 = OpLabel
+ %res = OpVariable %_ptr_Function_int Function %21
+ %18 = OpLoad %7 %arg_0
+ %16 = OpImageQuerySamples %int %18
+ OpStore %res %16
+ OpReturn
+ OpFunctionEnd
+%tint_symbol_2 = OpFunction %void None %22
+%tint_symbol = OpFunctionParameter %v4float
+ %25 = OpLabel
+ OpStore %tint_symbol_1 %tint_symbol
+ OpReturn
+ OpFunctionEnd
+%vertex_main = OpFunction %void None %12
+ %27 = OpLabel
+ OpStore %tint_pointsize %float_1
+ %29 = OpFunctionCall %void %textureNumSamples_a3c8a0
+ %30 = OpFunctionCall %void %tint_symbol_2 %11
+ OpReturn
+ OpFunctionEnd
+%fragment_main = OpFunction %void None %12
+ %32 = OpLabel
+ %33 = OpFunctionCall %void %textureNumSamples_a3c8a0
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %12
+ %35 = OpLabel
+ %36 = OpFunctionCall %void %textureNumSamples_a3c8a0
+ OpReturn
+ OpFunctionEnd
diff --git a/test/intrinsics/textureNumSamples/depth_ms.spvasm.expected.hlsl b/test/intrinsics/textureNumSamples/depth_ms.spvasm.expected.hlsl
new file mode 100644
index 0000000..a968cd1
--- /dev/null
+++ b/test/intrinsics/textureNumSamples/depth_ms.spvasm.expected.hlsl
@@ -0,0 +1,57 @@
+Texture2DMS<float4> arg_0 : register(t0, space1);
+static float4 tint_symbol_1 = float4(0.0f, 0.0f, 0.0f, 0.0f);
+
+void textureNumSamples_a3c8a0() {
+ int res = 0;
+ int3 tint_tmp;
+ arg_0.GetDimensions(tint_tmp.x, tint_tmp.y, tint_tmp.z);
+ const int x_16 = tint_tmp.z;
+ res = x_16;
+ return;
+}
+
+void tint_symbol_2(float4 tint_symbol) {
+ tint_symbol_1 = tint_symbol;
+ return;
+}
+
+void vertex_main_1() {
+ textureNumSamples_a3c8a0();
+ tint_symbol_2(float4(0.0f, 0.0f, 0.0f, 0.0f));
+ return;
+}
+
+struct vertex_main_out {
+ float4 tint_symbol_1_1;
+};
+struct tint_symbol_3 {
+ float4 tint_symbol_1_1 : SV_Position;
+};
+
+tint_symbol_3 vertex_main() {
+ vertex_main_1();
+ const vertex_main_out tint_symbol_4 = {tint_symbol_1};
+ const tint_symbol_3 tint_symbol_5 = {tint_symbol_4.tint_symbol_1_1};
+ return tint_symbol_5;
+}
+
+void fragment_main_1() {
+ textureNumSamples_a3c8a0();
+ return;
+}
+
+void fragment_main() {
+ fragment_main_1();
+ return;
+}
+
+void compute_main_1() {
+ textureNumSamples_a3c8a0();
+ return;
+}
+
+[numthreads(1, 1, 1)]
+void compute_main() {
+ compute_main_1();
+ return;
+}
diff --git a/test/intrinsics/textureNumSamples/depth_ms.spvasm.expected.msl b/test/intrinsics/textureNumSamples/depth_ms.spvasm.expected.msl
new file mode 100644
index 0000000..572f1e0
--- /dev/null
+++ b/test/intrinsics/textureNumSamples/depth_ms.spvasm.expected.msl
@@ -0,0 +1,56 @@
+#include <metal_stdlib>
+
+using namespace metal;
+struct vertex_main_out {
+ float4 tint_symbol_1_1;
+};
+struct tint_symbol_3 {
+ float4 tint_symbol_1_1 [[position]];
+};
+
+void textureNumSamples_a3c8a0(depth2d_ms<float, access::read> tint_symbol_6) {
+ int res = 0;
+ int const x_16 = int(tint_symbol_6.get_num_samples());
+ res = x_16;
+ return;
+}
+
+void tint_symbol_2(float4 tint_symbol, thread float4* const tint_symbol_7) {
+ *(tint_symbol_7) = tint_symbol;
+ return;
+}
+
+void vertex_main_1(depth2d_ms<float, access::read> tint_symbol_8, thread float4* const tint_symbol_9) {
+ textureNumSamples_a3c8a0(tint_symbol_8);
+ tint_symbol_2(float4(0.0f, 0.0f, 0.0f, 0.0f), tint_symbol_9);
+ return;
+}
+
+vertex tint_symbol_3 vertex_main(depth2d_ms<float, access::read> tint_symbol_10 [[texture(0)]]) {
+ thread float4 tint_symbol_11 = float4(0.0f, 0.0f, 0.0f, 0.0f);
+ vertex_main_1(tint_symbol_10, &(tint_symbol_11));
+ vertex_main_out const tint_symbol_4 = {.tint_symbol_1_1=tint_symbol_11};
+ tint_symbol_3 const tint_symbol_5 = {.tint_symbol_1_1=tint_symbol_4.tint_symbol_1_1};
+ return tint_symbol_5;
+}
+
+void fragment_main_1(depth2d_ms<float, access::read> tint_symbol_12) {
+ textureNumSamples_a3c8a0(tint_symbol_12);
+ return;
+}
+
+fragment void fragment_main(depth2d_ms<float, access::read> tint_symbol_13 [[texture(0)]]) {
+ fragment_main_1(tint_symbol_13);
+ return;
+}
+
+void compute_main_1(depth2d_ms<float, access::read> tint_symbol_14) {
+ textureNumSamples_a3c8a0(tint_symbol_14);
+ return;
+}
+
+kernel void compute_main(depth2d_ms<float, access::read> tint_symbol_15 [[texture(0)]]) {
+ compute_main_1(tint_symbol_15);
+ return;
+}
+
diff --git a/test/intrinsics/textureNumSamples/depth_ms.spvasm.expected.spvasm b/test/intrinsics/textureNumSamples/depth_ms.spvasm.expected.spvasm
new file mode 100644
index 0000000..5cda796
--- /dev/null
+++ b/test/intrinsics/textureNumSamples/depth_ms.spvasm.expected.spvasm
@@ -0,0 +1,118 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Google Tint Compiler; 0
+; Bound: 60
+; Schema: 0
+ OpCapability Shader
+ OpCapability ImageQuery
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_4
+ OpEntryPoint Fragment %fragment_main "fragment_main"
+ OpEntryPoint GLCompute %compute_main "compute_main"
+ OpExecutionMode %fragment_main OriginUpperLeft
+ OpExecutionMode %compute_main LocalSize 1 1 1
+ OpName %tint_pointsize "tint_pointsize"
+ OpName %arg_0 "arg_0"
+ OpName %tint_symbol_1 "tint_symbol_1"
+ OpName %tint_symbol_4 "tint_symbol_4"
+ OpName %textureNumSamples_a3c8a0 "textureNumSamples_a3c8a0"
+ OpName %res "res"
+ OpName %tint_symbol_2 "tint_symbol_2"
+ OpName %tint_symbol "tint_symbol"
+ OpName %vertex_main_1 "vertex_main_1"
+ OpName %vertex_main_out "vertex_main_out"
+ OpMemberName %vertex_main_out 0 "tint_symbol_1_1"
+ OpName %tint_symbol_5 "tint_symbol_5"
+ OpName %tint_symbol_3 "tint_symbol_3"
+ OpName %vertex_main "vertex_main"
+ OpName %fragment_main_1 "fragment_main_1"
+ OpName %fragment_main "fragment_main"
+ OpName %compute_main_1 "compute_main_1"
+ OpName %compute_main "compute_main"
+ OpDecorate %tint_pointsize BuiltIn PointSize
+ OpDecorate %arg_0 DescriptorSet 1
+ OpDecorate %arg_0 Binding 0
+ OpDecorate %tint_symbol_4 BuiltIn Position
+ OpMemberDecorate %vertex_main_out 0 Offset 0
+ %float = OpTypeFloat 32
+%_ptr_Output_float = OpTypePointer Output %float
+ %4 = OpConstantNull %float
+%tint_pointsize = OpVariable %_ptr_Output_float Output %4
+ %7 = OpTypeImage %float 2D 1 0 1 1 Unknown
+%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7
+ %arg_0 = OpVariable %_ptr_UniformConstant_7 UniformConstant
+ %v4float = OpTypeVector %float 4
+ %float_0 = OpConstant %float 0
+ %10 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
+%_ptr_Private_v4float = OpTypePointer Private %v4float
+%tint_symbol_1 = OpVariable %_ptr_Private_v4float Private %10
+%_ptr_Output_v4float = OpTypePointer Output %v4float
+ %15 = OpConstantNull %v4float
+%tint_symbol_4 = OpVariable %_ptr_Output_v4float Output %15
+ %void = OpTypeVoid
+ %16 = OpTypeFunction %void
+ %int = OpTypeInt 32 1
+ %int_0 = OpConstant %int 0
+%_ptr_Function_int = OpTypePointer Function %int
+ %24 = OpConstantNull %int
+ %27 = OpTypeFunction %void %v4float
+%vertex_main_out = OpTypeStruct %v4float
+ %35 = OpTypeFunction %void %vertex_main_out
+ %float_1 = OpConstant %float 1
+%textureNumSamples_a3c8a0 = OpFunction %void None %16
+ %19 = OpLabel
+ %res = OpVariable %_ptr_Function_int Function %24
+ OpStore %res %int_0
+ %26 = OpLoad %7 %arg_0
+ %25 = OpImageQuerySamples %int %26
+ OpStore %res %25
+ OpReturn
+ OpFunctionEnd
+%tint_symbol_2 = OpFunction %void None %27
+%tint_symbol = OpFunctionParameter %v4float
+ %30 = OpLabel
+ OpStore %tint_symbol_1 %tint_symbol
+ OpReturn
+ OpFunctionEnd
+%vertex_main_1 = OpFunction %void None %16
+ %32 = OpLabel
+ %33 = OpFunctionCall %void %textureNumSamples_a3c8a0
+ %34 = OpFunctionCall %void %tint_symbol_2 %10
+ OpReturn
+ OpFunctionEnd
+%tint_symbol_5 = OpFunction %void None %35
+%tint_symbol_3 = OpFunctionParameter %vertex_main_out
+ %39 = OpLabel
+ %40 = OpCompositeExtract %v4float %tint_symbol_3 0
+ OpStore %tint_symbol_4 %40
+ OpReturn
+ OpFunctionEnd
+%vertex_main = OpFunction %void None %16
+ %42 = OpLabel
+ OpStore %tint_pointsize %float_1
+ %44 = OpFunctionCall %void %vertex_main_1
+ %46 = OpLoad %v4float %tint_symbol_1
+ %47 = OpCompositeConstruct %vertex_main_out %46
+ %45 = OpFunctionCall %void %tint_symbol_5 %47
+ OpReturn
+ OpFunctionEnd
+%fragment_main_1 = OpFunction %void None %16
+ %49 = OpLabel
+ %50 = OpFunctionCall %void %textureNumSamples_a3c8a0
+ OpReturn
+ OpFunctionEnd
+%fragment_main = OpFunction %void None %16
+ %52 = OpLabel
+ %53 = OpFunctionCall %void %fragment_main_1
+ OpReturn
+ OpFunctionEnd
+%compute_main_1 = OpFunction %void None %16
+ %55 = OpLabel
+ %56 = OpFunctionCall %void %textureNumSamples_a3c8a0
+ OpReturn
+ OpFunctionEnd
+%compute_main = OpFunction %void None %16
+ %58 = OpLabel
+ %59 = OpFunctionCall %void %compute_main_1
+ OpReturn
+ OpFunctionEnd
diff --git a/test/intrinsics/textureNumSamples/depth_ms.spvasm.expected.wgsl b/test/intrinsics/textureNumSamples/depth_ms.spvasm.expected.wgsl
new file mode 100644
index 0000000..8666466
--- /dev/null
+++ b/test/intrinsics/textureNumSamples/depth_ms.spvasm.expected.wgsl
@@ -0,0 +1,52 @@
+[[group(1), binding(0)]] var arg_0 : texture_depth_multisampled_2d;
+
+var<private> tint_symbol_1 : vec4<f32> = vec4<f32>(0.0, 0.0, 0.0, 0.0);
+
+fn textureNumSamples_a3c8a0() {
+ var res : i32 = 0;
+ let x_16 : i32 = textureNumSamples(arg_0);
+ res = x_16;
+ return;
+}
+
+fn tint_symbol_2(tint_symbol : vec4<f32>) {
+ tint_symbol_1 = tint_symbol;
+ return;
+}
+
+fn vertex_main_1() {
+ textureNumSamples_a3c8a0();
+ tint_symbol_2(vec4<f32>(0.0, 0.0, 0.0, 0.0));
+ return;
+}
+
+struct vertex_main_out {
+ [[builtin(position)]]
+ tint_symbol_1_1 : vec4<f32>;
+};
+
+[[stage(vertex)]]
+fn vertex_main() -> vertex_main_out {
+ vertex_main_1();
+ return vertex_main_out(tint_symbol_1);
+}
+
+fn fragment_main_1() {
+ textureNumSamples_a3c8a0();
+ return;
+}
+
+[[stage(fragment)]]
+fn fragment_main() {
+ fragment_main_1();
+}
+
+fn compute_main_1() {
+ textureNumSamples_a3c8a0();
+ return;
+}
+
+[[stage(compute), workgroup_size(1, 1, 1)]]
+fn compute_main() {
+ compute_main_1();
+}