[glsl] Add fuzzer precondition for clip_distance
Change-Id: Id3057b598189963bae9aed962f2dc391e0fce5f1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/213656
Reviewed-by: dan sinclair <dsinclair@chromium.org>
diff --git a/src/tint/lang/glsl/writer/writer_fuzz.cc b/src/tint/lang/glsl/writer/writer_fuzz.cc
index eeed8a9..c08e5eb 100644
--- a/src/tint/lang/glsl/writer/writer_fuzz.cc
+++ b/src/tint/lang/glsl/writer/writer_fuzz.cc
@@ -104,6 +104,20 @@
}
}
+ // Check for clip_distance builtins.
+ for (auto& func : module.functions) {
+ if (func->Stage() != core::ir::Function::PipelineStage::kVertex) {
+ continue;
+ }
+ if (auto* str = func->ReturnType()->As<core::type::Struct>()) {
+ for (auto* member : str->Members()) {
+ if (member->Attributes().builtin == core::BuiltinValue::kClipDistances) {
+ return false;
+ }
+ }
+ }
+ }
+
static constexpr uint32_t kMaxOffset = 0x1000;
Hashset<uint32_t, 4> push_constant_word_offsets;
auto check_push_constant_offset = [&](uint32_t offset) {