[tint][ast] Skip ClampFragDepth fuzzer if member offsets collide

Bug: 338329043
Change-Id: Ia0b5b10bc3a1a0d4cb107e024072f23f82857f86
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/186902
Auto-Submit: Ben Clayton <bclayton@google.com>
Commit-Queue: James Price <jrprice@google.com>
Reviewed-by: James Price <jrprice@google.com>
diff --git a/src/tint/lang/wgsl/ast/transform/clamp_frag_depth_fuzz.cc b/src/tint/lang/wgsl/ast/transform/clamp_frag_depth_fuzz.cc
index d2ef4c8..b357f1b 100644
--- a/src/tint/lang/wgsl/ast/transform/clamp_frag_depth_fuzz.cc
+++ b/src/tint/lang/wgsl/ast/transform/clamp_frag_depth_fuzz.cc
@@ -31,7 +31,18 @@
 namespace tint::ast::transform {
 namespace {
 
+bool CanRun(const ClampFragDepth::Config& config) {
+    if (config.offsets && config.offsets->min == config.offsets->max) {
+        return false;  // member offset collision
+    }
+    return true;
+}
+
 void ClampFragDepthFuzzer(const Program& program, const ClampFragDepth::Config& config) {
+    if (!CanRun(config)) {
+        return;
+    }
+
     DataMap inputs;
     inputs.Add<ClampFragDepth::Config>(std::move(config));