[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) {