[tint][ast][fuzz] Skip MultiplanarExternalTexture fuzzer if builtins are shadowed
This transform assumes the Renamer transform has been run first.
Bug: 339704100
Change-Id: I636ececfba3b1c770db347f18af68291fa93c958
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/189121
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
diff --git a/src/tint/lang/wgsl/ast/transform/multiplanar_external_texture_fuzz.cc b/src/tint/lang/wgsl/ast/transform/multiplanar_external_texture_fuzz.cc
index 4c6efeb..78d6d9a 100644
--- a/src/tint/lang/wgsl/ast/transform/multiplanar_external_texture_fuzz.cc
+++ b/src/tint/lang/wgsl/ast/transform/multiplanar_external_texture_fuzz.cc
@@ -36,7 +36,13 @@
namespace {
bool CanRun(const Program& program,
+ const fuzz::wgsl::Context& context,
const MultiplanarExternalTexture::NewBindingPoints& remappings) {
+ if (context.program_properties.Contains(fuzz::wgsl::ProgramProperties::kBuiltinFnsShadowed) ||
+ context.program_properties.Contains(fuzz::wgsl::ProgramProperties::kBuiltinTypesShadowed)) {
+ return false; // MultiplanarExternalTexture assumes the Renamer transform has been run
+ }
+
Hashset<BindingPoint, 8> all_binding_points;
for (auto* global : program.AST().GlobalVariables()) {
if (auto* sem = program.Sem().Get<sem::GlobalVariable>(global)) {
@@ -83,8 +89,9 @@
void MultiplanarExternalTextureFuzzer(
const Program& program,
+ const fuzz::wgsl::Context& context,
const MultiplanarExternalTexture::NewBindingPoints& binding_points) {
- if (!CanRun(program, binding_points)) {
+ if (!CanRun(program, context, binding_points)) {
return;
}