tint/ast: Remove ast::ExternalTexture
Instead use ast::TypeName.
Bug: tint:1810
Change-Id: Ia1ae61b2bffd386f8958c8164e2223df5f8ac91c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/119121
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Ben Clayton <bclayton@chromium.org>
Commit-Queue: Ben Clayton <bclayton@chromium.org>
diff --git a/src/tint/BUILD.gn b/src/tint/BUILD.gn
index ae9f9ae..6eff6a8 100644
--- a/src/tint/BUILD.gn
+++ b/src/tint/BUILD.gn
@@ -270,7 +270,6 @@
"ast/enable.h",
"ast/expression.h",
"ast/extension.h",
- "ast/external_texture.h",
"ast/float_literal_expression.h",
"ast/for_loop_statement.h",
"ast/function.h",
@@ -607,8 +606,6 @@
"ast/expression.h",
"ast/extension.cc",
"ast/extension.h",
- "ast/external_texture.cc",
- "ast/external_texture.h",
"ast/float_literal_expression.cc",
"ast/float_literal_expression.h",
"ast/for_loop_statement.cc",
@@ -1318,7 +1315,6 @@
"ast/discard_statement_test.cc",
"ast/enable_test.cc",
"ast/extension_test.cc",
- "ast/external_texture_test.cc",
"ast/float_literal_expression_test.cc",
"ast/for_loop_statement_test.cc",
"ast/function_test.cc",
diff --git a/src/tint/CMakeLists.txt b/src/tint/CMakeLists.txt
index cbd9a3e..e146ff8 100644
--- a/src/tint/CMakeLists.txt
+++ b/src/tint/CMakeLists.txt
@@ -142,8 +142,6 @@
ast/enable.h
ast/expression.cc
ast/expression.h
- ast/external_texture.cc
- ast/external_texture.h
ast/float_literal_expression.cc
ast/float_literal_expression.h
ast/for_loop_statement.cc
@@ -841,7 +839,6 @@
ast/diagnostic_directive_test.cc
ast/discard_statement_test.cc
ast/enable_test.cc
- ast/external_texture_test.cc
ast/float_literal_expression_test.cc
ast/for_loop_statement_test.cc
ast/function_test.cc
diff --git a/src/tint/ast/external_texture.cc b/src/tint/ast/external_texture.cc
deleted file mode 100644
index 95d9bc7..0000000
--- a/src/tint/ast/external_texture.cc
+++ /dev/null
@@ -1,40 +0,0 @@
-// 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/tint/ast/external_texture.h"
-
-#include "src/tint/program_builder.h"
-#include "src/tint/type/texture_dimension.h"
-
-TINT_INSTANTIATE_TYPEINFO(tint::ast::ExternalTexture);
-
-namespace tint::ast {
-
-// ExternalTexture::ExternalTexture() : Base(type::TextureDimension::k2d) {}
-ExternalTexture::ExternalTexture(ProgramID pid, NodeID nid, const Source& src)
- : Base(pid, nid, src, type::TextureDimension::k2d) {}
-
-ExternalTexture::ExternalTexture(ExternalTexture&&) = default;
-
-ExternalTexture::~ExternalTexture() = default;
-
-std::string ExternalTexture::FriendlyName(const SymbolTable&) const {
- return "texture_external";
-}
-
-const ExternalTexture* ExternalTexture::Clone(CloneContext* ctx) const {
- return ctx->dst->create<ExternalTexture>();
-}
-
-} // namespace tint::ast
diff --git a/src/tint/ast/external_texture.h b/src/tint/ast/external_texture.h
deleted file mode 100644
index f2d68b4..0000000
--- a/src/tint/ast/external_texture.h
+++ /dev/null
@@ -1,50 +0,0 @@
-// 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_TINT_AST_EXTERNAL_TEXTURE_H_
-#define SRC_TINT_AST_EXTERNAL_TEXTURE_H_
-
-#include <string>
-
-#include "src/tint/ast/texture.h"
-
-namespace tint::ast {
-
-/// An external texture type
-class ExternalTexture final : public Castable<ExternalTexture, Texture> {
- public:
- /// Constructor
- /// @param pid the identifier of the program that owns this node
- /// @param nid the unique node identifier
- /// @param src the source of this node
- ExternalTexture(ProgramID pid, NodeID nid, const Source& src);
-
- /// Move constructor
- ExternalTexture(ExternalTexture&&);
- ~ExternalTexture() 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
- const ExternalTexture* Clone(CloneContext* ctx) const override;
-};
-
-} // namespace tint::ast
-
-#endif // SRC_TINT_AST_EXTERNAL_TEXTURE_H_
diff --git a/src/tint/ast/external_texture_test.cc b/src/tint/ast/external_texture_test.cc
deleted file mode 100644
index 873dca8..0000000
--- a/src/tint/ast/external_texture_test.cc
+++ /dev/null
@@ -1,45 +0,0 @@
-// 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/tint/ast/external_texture.h"
-
-#include "src/tint/ast/test_helper.h"
-#include "src/tint/type/texture_dimension.h"
-
-namespace tint::ast {
-namespace {
-
-using AstExternalTextureTest = TestHelper;
-
-TEST_F(AstExternalTextureTest, IsTexture) {
- Texture* ty = create<ExternalTexture>();
- EXPECT_FALSE(ty->Is<DepthTexture>());
- EXPECT_TRUE(ty->Is<ExternalTexture>());
- EXPECT_FALSE(ty->Is<MultisampledTexture>());
- EXPECT_FALSE(ty->Is<SampledTexture>());
- EXPECT_FALSE(ty->Is<StorageTexture>());
-}
-
-TEST_F(AstExternalTextureTest, Dim) {
- auto* ty = create<ExternalTexture>();
- EXPECT_EQ(ty->dim, type::TextureDimension::k2d);
-}
-
-TEST_F(AstExternalTextureTest, FriendlyName) {
- auto* ty = create<ExternalTexture>();
- EXPECT_EQ(ty->FriendlyName(Symbols()), "texture_external");
-}
-
-} // namespace
-} // namespace tint::ast
diff --git a/src/tint/intrinsics.def b/src/tint/intrinsics.def
index e76a48e..633aeb4 100644
--- a/src/tint/intrinsics.def
+++ b/src/tint/intrinsics.def
@@ -170,6 +170,8 @@
// https://www.w3.org/TR/WGSL/#sampler-type
sampler
sampler_comparison
+ // https://www.w3.org/TR/WGSL/#external-texture-type
+ texture_external
}
////////////////////////////////////////////////////////////////////////////////
diff --git a/src/tint/program_builder.h b/src/tint/program_builder.h
index 7ba1a3b..77995f3 100644
--- a/src/tint/program_builder.h
+++ b/src/tint/program_builder.h
@@ -47,7 +47,6 @@
#include "src/tint/ast/discard_statement.h"
#include "src/tint/ast/enable.h"
#include "src/tint/ast/extension.h"
-#include "src/tint/ast/external_texture.h"
#include "src/tint/ast/float_literal_expression.h"
#include "src/tint/ast/for_loop_statement.h"
#include "src/tint/ast/id_attribute.h"
@@ -1071,14 +1070,12 @@
}
/// @returns the external texture
- const ast::ExternalTexture* external_texture() const {
- return builder->create<ast::ExternalTexture>();
- }
+ const ast::TypeName* external_texture() const { return external_texture(builder->source_); }
/// @param source the Source of the node
- /// @returns the external texture
- const ast::ExternalTexture* external_texture(const Source& source) const {
- return builder->create<ast::ExternalTexture>(source);
+ /// @returns the external texture typename
+ const ast::TypeName* external_texture(const Source& source) const {
+ return (*this)(source, "texture_external");
}
/// Constructs a TypeName for the type declaration.
diff --git a/src/tint/reader/wgsl/parser_impl.cc b/src/tint/reader/wgsl/parser_impl.cc
index 3e3e3ca..3021bf6 100644
--- a/src/tint/reader/wgsl/parser_impl.cc
+++ b/src/tint/reader/wgsl/parser_impl.cc
@@ -24,7 +24,6 @@
#include "src/tint/ast/call_statement.h"
#include "src/tint/ast/continue_statement.h"
#include "src/tint/ast/discard_statement.h"
-#include "src/tint/ast/external_texture.h"
#include "src/tint/ast/id_attribute.h"
#include "src/tint/ast/if_statement.h"
#include "src/tint/ast/increment_decrement_statement.h"
diff --git a/src/tint/resolver/builtin_test.cc b/src/tint/resolver/builtin_test.cc
index 007154e..74c1d60 100644
--- a/src/tint/resolver/builtin_test.cc
+++ b/src/tint/resolver/builtin_test.cc
@@ -2116,7 +2116,8 @@
void add_call_param(std::string name, const ast::Type* type, ExpressionList* call_params) {
if (auto* type_name = type->As<ast::TypeName>()) {
- if (utils::HasPrefix(Symbols().NameFor(type_name->name->symbol), "sampler")) {
+ auto n = Symbols().NameFor(type_name->name->symbol);
+ if (utils::HasPrefix(n, "texture") || utils::HasPrefix(n, "sampler")) {
GlobalVar(name, type, Binding(0_a), Group(0_a));
return;
}
diff --git a/src/tint/resolver/dependency_graph.cc b/src/tint/resolver/dependency_graph.cc
index 262fbd6..53f928b 100644
--- a/src/tint/resolver/dependency_graph.cc
+++ b/src/tint/resolver/dependency_graph.cc
@@ -33,7 +33,6 @@
#include "src/tint/ast/depth_texture.h"
#include "src/tint/ast/diagnostic_attribute.h"
#include "src/tint/ast/discard_statement.h"
-#include "src/tint/ast/external_texture.h"
#include "src/tint/ast/for_loop_statement.h"
#include "src/tint/ast/id_attribute.h"
#include "src/tint/ast/identifier.h"
@@ -405,8 +404,7 @@
TraverseType(tex->type);
},
[&](Default) {
- if (!ty->IsAnyOf<ast::DepthTexture, ast::DepthMultisampledTexture,
- ast::ExternalTexture>()) {
+ if (!ty->IsAnyOf<ast::DepthTexture, ast::DepthMultisampledTexture>()) {
UnhandledNode(diagnostics_, ty);
}
});
diff --git a/src/tint/resolver/resolver.cc b/src/tint/resolver/resolver.cc
index 8c889bb..39f63e2 100644
--- a/src/tint/resolver/resolver.cc
+++ b/src/tint/resolver/resolver.cc
@@ -78,6 +78,7 @@
#include "src/tint/type/builtin.h"
#include "src/tint/type/depth_multisampled_texture.h"
#include "src/tint/type/depth_texture.h"
+#include "src/tint/type/external_texture.h"
#include "src/tint/type/multisampled_texture.h"
#include "src/tint/type/pointer.h"
#include "src/tint/type/reference.h"
@@ -321,7 +322,6 @@
}
return nullptr;
},
- [&](const ast::ExternalTexture*) { return builder_->create<type::ExternalTexture>(); },
[&](const ast::TypeName* t) -> type::Type* {
Mark(t->name);
@@ -2527,6 +2527,8 @@
return builder_->create<type::Sampler>(type::SamplerKind::kSampler);
case type::Builtin::kSamplerComparison:
return builder_->create<type::Sampler>(type::SamplerKind::kComparisonSampler);
+ case type::Builtin::kTextureExternal:
+ return builder_->create<type::ExternalTexture>();
case type::Builtin::kUndefined:
break;
}
diff --git a/src/tint/transform/transform.cc b/src/tint/transform/transform.cc
index 12deb03..2947b90 100644
--- a/src/tint/transform/transform.cc
+++ b/src/tint/transform/transform.cc
@@ -153,7 +153,7 @@
return ctx.dst->create<ast::DepthMultisampledTexture>(t->dim());
}
if (ty->Is<type::ExternalTexture>()) {
- return ctx.dst->create<ast::ExternalTexture>();
+ return ctx.dst->ty.external_texture();
}
if (auto* t = ty->As<type::MultisampledTexture>()) {
return ctx.dst->create<ast::MultisampledTexture>(t->dim(),
diff --git a/src/tint/type/builtin.cc b/src/tint/type/builtin.cc
index 1523619..595a510 100644
--- a/src/tint/type/builtin.cc
+++ b/src/tint/type/builtin.cc
@@ -100,6 +100,9 @@
if (str == "sampler_comparison") {
return Builtin::kSamplerComparison;
}
+ if (str == "texture_external") {
+ return Builtin::kTextureExternal;
+ }
if (str == "u32") {
return Builtin::kU32;
}
@@ -194,6 +197,8 @@
return out << "sampler";
case Builtin::kSamplerComparison:
return out << "sampler_comparison";
+ case Builtin::kTextureExternal:
+ return out << "texture_external";
case Builtin::kU32:
return out << "u32";
case Builtin::kVec2F:
diff --git a/src/tint/type/builtin.h b/src/tint/type/builtin.h
index a69724f..a996a72 100644
--- a/src/tint/type/builtin.h
+++ b/src/tint/type/builtin.h
@@ -54,6 +54,7 @@
kMat4X4H,
kSampler,
kSamplerComparison,
+ kTextureExternal,
kU32,
kVec2F,
kVec2H,
@@ -80,12 +81,43 @@
Builtin ParseBuiltin(std::string_view str);
constexpr const char* kBuiltinStrings[] = {
- "bool", "f16", "f32", "i32", "mat2x2f", "mat2x2h",
- "mat2x3f", "mat2x3h", "mat2x4f", "mat2x4h", "mat3x2f", "mat3x2h",
- "mat3x3f", "mat3x3h", "mat3x4f", "mat3x4h", "mat4x2f", "mat4x2h",
- "mat4x3f", "mat4x3h", "mat4x4f", "mat4x4h", "sampler", "sampler_comparison",
- "u32", "vec2f", "vec2h", "vec2i", "vec2u", "vec3f",
- "vec3h", "vec3i", "vec3u", "vec4f", "vec4h", "vec4i",
+ "bool",
+ "f16",
+ "f32",
+ "i32",
+ "mat2x2f",
+ "mat2x2h",
+ "mat2x3f",
+ "mat2x3h",
+ "mat2x4f",
+ "mat2x4h",
+ "mat3x2f",
+ "mat3x2h",
+ "mat3x3f",
+ "mat3x3h",
+ "mat3x4f",
+ "mat3x4h",
+ "mat4x2f",
+ "mat4x2h",
+ "mat4x3f",
+ "mat4x3h",
+ "mat4x4f",
+ "mat4x4h",
+ "sampler",
+ "sampler_comparison",
+ "texture_external",
+ "u32",
+ "vec2f",
+ "vec2h",
+ "vec2i",
+ "vec2u",
+ "vec3f",
+ "vec3h",
+ "vec3i",
+ "vec3u",
+ "vec4f",
+ "vec4h",
+ "vec4i",
"vec4u",
};
diff --git a/src/tint/type/builtin_bench.cc b/src/tint/type/builtin_bench.cc
index 8404209..123012d 100644
--- a/src/tint/type/builtin_bench.cc
+++ b/src/tint/type/builtin_bench.cc
@@ -199,97 +199,104 @@
"samplpLL_comparisI",
"smplerfomparison",
"sYmpURDr_comprison",
- "u3h",
- "IIq",
- "u3H",
+ "texturh_external",
+ "teqtureuIIextnal",
+ "texture_externaH",
+ "texture_external",
+ "texre_externaQvv",
+ "te66ue_external",
+ "textue_e7tOrnal",
+ "550DD",
+ "II3H",
+ "u3",
"u32",
- "Qvv",
- "66",
- "73",
- "ve055DD",
- "IIec2f",
- "vec2",
+ "r2",
+ "u3l",
+ "uGt",
+ "ey2f",
+ "vc2f",
+ "IIeBB2f",
"vec2f",
- "rec2",
- "lec2f",
- "GeJ2f",
- "ey2h",
- "vc2h",
- "IIeBB2h",
- "vec2h",
"TTec338",
"veUUSS2nnd",
"vZx5CC",
"kkec2q",
- "v005ii",
- "vnIIc2i",
- "vec2i",
+ "v005ih",
+ "vnIIc2h",
+ "vec2h",
"cceW",
"cKK",
- "vec66i",
+ "vec66h",
"vePPK",
- "vexxu",
- "qec2u",
- "vec2u",
+ "vexxi",
+ "qec2i",
+ "vec2i",
"veSyMMr",
"v2u",
"ec",
- "5eFF3f",
+ "5eFF2u",
"rrecz44",
"vWW",
- "vec3f",
+ "vec2u",
"XJecCZZ",
- "vePP3",
- "vec3c",
- "ve6ll3h",
+ "vePP2",
+ "vec2c",
+ "ve6ll3f",
"vcyy99",
"Jec3KK",
- "vec3h",
+ "vec3f",
"_ex3",
"Ky3",
- "zek3h",
- "veKSi",
- "vc3i",
+ "zek3f",
+ "veKSh",
+ "vc3h",
"ec3VV",
- "vec3i",
- "IAAc3i",
+ "vec3h",
+ "IAAc3h",
"jbR",
"veY4",
- "ec3u",
+ "ec3i",
"vc911",
- "mmccu",
- "vec3u",
- "vJJcu",
+ "mmcci",
+ "vec3i",
+ "vJJci",
"lDDcUfC",
"vec3g",
"CCe",
- "ec4f",
- "vIc__f",
- "vec4f",
+ "ec3u",
+ "vIc__u",
+ "vec3u",
"ePPtt",
- "v3dc4f",
- "vcyyf",
+ "v3dc3u",
+ "vcyyu",
"u4",
- "v03nnh",
+ "v03nnf",
"Cuuecnv",
- "vec4h",
+ "vec4f",
"vX4ll",
- "vocpph",
+ "vocppf",
"vwwc4",
"veuug",
"vaac",
- "TRZccci",
- "vec4i",
+ "TRZccch",
+ "vec4h",
"vTc4O8",
- "vem04i",
- "meBB4i",
+ "vem04h",
+ "meBB4h",
"Mpp4",
- "OOe4u",
+ "OOe4i",
"veG4G",
- "vec4u",
- "11eHH4u",
+ "vec4i",
+ "11eHH4i",
"veFFe6",
"ve4",
+ "vKii4l",
+ "ec4u",
+ "v994IIv",
+ "vec4u",
+ "vecu",
+ "vechu",
+ "vczllPu",
};
for (auto _ : state) {
for (auto* str : kStrings) {
diff --git a/src/tint/type/builtin_test.cc b/src/tint/type/builtin_test.cc
index bb30408..18b5cc7 100644
--- a/src/tint/type/builtin_test.cc
+++ b/src/tint/type/builtin_test.cc
@@ -43,24 +43,43 @@
}
static constexpr Case kValidCases[] = {
- {"bool", Builtin::kBool}, {"f16", Builtin::kF16},
- {"f32", Builtin::kF32}, {"i32", Builtin::kI32},
- {"mat2x2f", Builtin::kMat2X2F}, {"mat2x2h", Builtin::kMat2X2H},
- {"mat2x3f", Builtin::kMat2X3F}, {"mat2x3h", Builtin::kMat2X3H},
- {"mat2x4f", Builtin::kMat2X4F}, {"mat2x4h", Builtin::kMat2X4H},
- {"mat3x2f", Builtin::kMat3X2F}, {"mat3x2h", Builtin::kMat3X2H},
- {"mat3x3f", Builtin::kMat3X3F}, {"mat3x3h", Builtin::kMat3X3H},
- {"mat3x4f", Builtin::kMat3X4F}, {"mat3x4h", Builtin::kMat3X4H},
- {"mat4x2f", Builtin::kMat4X2F}, {"mat4x2h", Builtin::kMat4X2H},
- {"mat4x3f", Builtin::kMat4X3F}, {"mat4x3h", Builtin::kMat4X3H},
- {"mat4x4f", Builtin::kMat4X4F}, {"mat4x4h", Builtin::kMat4X4H},
- {"sampler", Builtin::kSampler}, {"sampler_comparison", Builtin::kSamplerComparison},
- {"u32", Builtin::kU32}, {"vec2f", Builtin::kVec2F},
- {"vec2h", Builtin::kVec2H}, {"vec2i", Builtin::kVec2I},
- {"vec2u", Builtin::kVec2U}, {"vec3f", Builtin::kVec3F},
- {"vec3h", Builtin::kVec3H}, {"vec3i", Builtin::kVec3I},
- {"vec3u", Builtin::kVec3U}, {"vec4f", Builtin::kVec4F},
- {"vec4h", Builtin::kVec4H}, {"vec4i", Builtin::kVec4I},
+ {"bool", Builtin::kBool},
+ {"f16", Builtin::kF16},
+ {"f32", Builtin::kF32},
+ {"i32", Builtin::kI32},
+ {"mat2x2f", Builtin::kMat2X2F},
+ {"mat2x2h", Builtin::kMat2X2H},
+ {"mat2x3f", Builtin::kMat2X3F},
+ {"mat2x3h", Builtin::kMat2X3H},
+ {"mat2x4f", Builtin::kMat2X4F},
+ {"mat2x4h", Builtin::kMat2X4H},
+ {"mat3x2f", Builtin::kMat3X2F},
+ {"mat3x2h", Builtin::kMat3X2H},
+ {"mat3x3f", Builtin::kMat3X3F},
+ {"mat3x3h", Builtin::kMat3X3H},
+ {"mat3x4f", Builtin::kMat3X4F},
+ {"mat3x4h", Builtin::kMat3X4H},
+ {"mat4x2f", Builtin::kMat4X2F},
+ {"mat4x2h", Builtin::kMat4X2H},
+ {"mat4x3f", Builtin::kMat4X3F},
+ {"mat4x3h", Builtin::kMat4X3H},
+ {"mat4x4f", Builtin::kMat4X4F},
+ {"mat4x4h", Builtin::kMat4X4H},
+ {"sampler", Builtin::kSampler},
+ {"sampler_comparison", Builtin::kSamplerComparison},
+ {"texture_external", Builtin::kTextureExternal},
+ {"u32", Builtin::kU32},
+ {"vec2f", Builtin::kVec2F},
+ {"vec2h", Builtin::kVec2H},
+ {"vec2i", Builtin::kVec2I},
+ {"vec2u", Builtin::kVec2U},
+ {"vec3f", Builtin::kVec3F},
+ {"vec3h", Builtin::kVec3H},
+ {"vec3i", Builtin::kVec3I},
+ {"vec3u", Builtin::kVec3U},
+ {"vec4f", Builtin::kVec4F},
+ {"vec4h", Builtin::kVec4H},
+ {"vec4i", Builtin::kVec4I},
{"vec4u", Builtin::kVec4U},
};
@@ -137,45 +156,48 @@
{"sWWpleq_compari44on", Builtin::kUndefined},
{"sampler_compaisoOO", Builtin::kUndefined},
{"smpeoo_coYparison", Builtin::kUndefined},
- {"", Builtin::kUndefined},
- {"u3", Builtin::kUndefined},
- {"3w", Builtin::kUndefined},
- {"veff", Builtin::kUndefined},
- {"KKeq2f", Builtin::kUndefined},
- {"vFmm2f", Builtin::kUndefined},
- {"vech", Builtin::kUndefined},
- {"qc2h", Builtin::kUndefined},
+ {"eture_eternal", Builtin::kUndefined},
+ {"texture_exeFnal", Builtin::kUndefined},
+ {"textureewternal", Builtin::kUndefined},
+ {"Gf", Builtin::kUndefined},
+ {"KK3q", Builtin::kUndefined},
+ {"umm2", Builtin::kUndefined},
+ {"vecf", Builtin::kUndefined},
+ {"qc2f", Builtin::kUndefined},
{"vecbb", Builtin::kUndefined},
{"iic2", Builtin::kUndefined},
- {"vqOOi", Builtin::kUndefined},
- {"vevvTTi", Builtin::kUndefined},
- {"veFF2u", Builtin::kUndefined},
+ {"vqOOh", Builtin::kUndefined},
+ {"vevvTTh", Builtin::kUndefined},
+ {"veFF2i", Builtin::kUndefined},
{"00PfQ", Builtin::kUndefined},
{"vec2P", Builtin::kUndefined},
{"vec77s", Builtin::kUndefined},
- {"vecbbCf", Builtin::kUndefined},
- {"vecXXf", Builtin::kUndefined},
+ {"vecbbCu", Builtin::kUndefined},
+ {"vecXXu", Builtin::kUndefined},
{"CCOOec3", Builtin::kUndefined},
{"vs3u", Builtin::kUndefined},
- {"Xec3h", Builtin::kUndefined},
- {"ve3i", Builtin::kUndefined},
+ {"Xec3f", Builtin::kUndefined},
+ {"ve3h", Builtin::kUndefined},
{"qq3", Builtin::kUndefined},
{"vec322", Builtin::kUndefined},
{"vezzXy", Builtin::kUndefined},
{"ieVVP", Builtin::kUndefined},
- {"venCu", Builtin::kUndefined},
- {"vHc4Aq", Builtin::kUndefined},
- {"ve4f", Builtin::kUndefined},
+ {"venCi", Builtin::kUndefined},
+ {"vHc3Aq", Builtin::kUndefined},
+ {"ve3u", Builtin::kUndefined},
{"vefK", Builtin::kUndefined},
{"vgg4", Builtin::kUndefined},
- {"vech", Builtin::kUndefined},
- {"4TNc4h", Builtin::kUndefined},
+ {"vecf", Builtin::kUndefined},
+ {"4TNc4f", Builtin::kUndefined},
{"ppec7l", Builtin::kUndefined},
- {"zNe4i", Builtin::kUndefined},
- {"uXXb4i", Builtin::kUndefined},
+ {"zNe4h", Builtin::kUndefined},
+ {"uXXb4h", Builtin::kUndefined},
{"vec4", Builtin::kUndefined},
{"884K", Builtin::kUndefined},
- {"vq9u", Builtin::kUndefined},
+ {"vq9i", Builtin::kUndefined},
+ {"vec411", Builtin::kUndefined},
+ {"22ciiu", Builtin::kUndefined},
+ {"ec77u", Builtin::kUndefined},
};
using BuiltinParseTest = testing::TestWithParam<Case>;
diff --git a/src/tint/writer/generate_external_texture_bindings.cc b/src/tint/writer/generate_external_texture_bindings.cc
index 459d736..6e5daf0 100644
--- a/src/tint/writer/generate_external_texture_bindings.cc
+++ b/src/tint/writer/generate_external_texture_bindings.cc
@@ -18,7 +18,6 @@
#include <unordered_map>
#include <vector>
-#include "src/tint/ast/external_texture.h"
#include "src/tint/ast/module.h"
#include "src/tint/program.h"
#include "src/tint/sem/variable.h"
diff --git a/src/tint/writer/wgsl/generator_impl.cc b/src/tint/writer/wgsl/generator_impl.cc
index 7e497eb..353e200 100644
--- a/src/tint/writer/wgsl/generator_impl.cc
+++ b/src/tint/writer/wgsl/generator_impl.cc
@@ -22,7 +22,6 @@
#include "src/tint/ast/bool_literal_expression.h"
#include "src/tint/ast/call_statement.h"
#include "src/tint/ast/depth_texture.h"
-#include "src/tint/ast/external_texture.h"
#include "src/tint/ast/float_literal_expression.h"
#include "src/tint/ast/id_attribute.h"
#include "src/tint/ast/internal_attribute.h"
@@ -452,10 +451,6 @@
out << ">";
return true;
},
- [&](const ast::ExternalTexture*) {
- out << "texture_external";
- return true;
- },
[&](const ast::Texture* texture) {
out << "texture_";
bool ok = Switch(