[wgsl] Remove kIgnoreClipDistancesType override This was only needed by the HLSL backend. Change-Id: I4f5f473dcd58a4e007a1cdda1774a627f5e034b3 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/250814 Reviewed-by: dan sinclair <dsinclair@chromium.org> Commit-Queue: dan sinclair <dsinclair@chromium.org> Auto-Submit: James Price <jrprice@google.com>
diff --git a/src/tint/lang/wgsl/ast/disable_validation_attribute.cc b/src/tint/lang/wgsl/ast/disable_validation_attribute.cc index cbc2dee..5eac848 100644 --- a/src/tint/lang/wgsl/ast/disable_validation_attribute.cc +++ b/src/tint/lang/wgsl/ast/disable_validation_attribute.cc
@@ -50,8 +50,6 @@ return "disable_validation__function_parameter"; case DisabledValidation::kIgnoreStrideAttribute: return "disable_validation__ignore_stride"; - case DisabledValidation::kIgnoreClipDistancesType: - return "disable_validation__ignore_clip_distances_type"; } return "<invalid>"; }
diff --git a/src/tint/lang/wgsl/ast/disable_validation_attribute.h b/src/tint/lang/wgsl/ast/disable_validation_attribute.h index 75012a7..b333b7a 100644 --- a/src/tint/lang/wgsl/ast/disable_validation_attribute.h +++ b/src/tint/lang/wgsl/ast/disable_validation_attribute.h
@@ -46,9 +46,6 @@ kFunctionParameter, /// When applied to a member attribute, a stride attribute may be applied to non-array types. kIgnoreStrideAttribute, - /// When applied to a struct member, validation of the type of the builtin `clip_distances` is - /// skipped. - kIgnoreClipDistancesType, }; /// An internal attribute used to tell the validator to ignore specific
diff --git a/src/tint/lang/wgsl/resolver/validator.cc b/src/tint/lang/wgsl/resolver/validator.cc index 390b4ee..3255ceb 100644 --- a/src/tint/lang/wgsl/resolver/validator.cc +++ b/src/tint/lang/wgsl/resolver/validator.cc
@@ -949,8 +949,7 @@ bool Validator::BuiltinAttribute(const ast::BuiltinAttribute* attr, const core::type::Type* storage_ty, ast::PipelineStage stage, - const bool is_input, - const bool ignore_clip_distances_type_validation) const { + const bool is_input) const { auto* type = storage_ty->UnwrapRef(); bool is_stage_mismatch = false; bool is_output = !is_input; @@ -1103,8 +1102,7 @@ return false; } auto* arr = type->As<sem::Array>(); - if (!ignore_clip_distances_type_validation && - !((arr != nullptr) && arr->ElemType()->Is<core::type::F32>() && + if (!((arr != nullptr) && arr->ElemType()->Is<core::type::F32>() && arr->ConstantCount().has_value() && *arr->ConstantCount() <= kMaxClipDistancesSize)) { AddError(attr->source) @@ -1294,8 +1292,6 @@ const ast::BlendSrcAttribute* blend_src_attribute = nullptr; const ast::InterpolateAttribute* interpolate_attribute = nullptr; const ast::InvariantAttribute* invariant_attribute = nullptr; - bool ignore_clip_distances_type = - IsValidationDisabled(attrs, ast::DisabledValidation::kIgnoreClipDistancesType); for (auto* attr : attrs) { bool ok = Switch( attr, // @@ -1320,9 +1316,9 @@ return false; } - if (!BuiltinAttribute(builtin_attr, ty, stage, - /* is_input */ param_or_ret == ParamOrRetType::kParameter, - ignore_clip_distances_type)) { + if (!BuiltinAttribute( + builtin_attr, ty, stage, + /* is_input */ param_or_ret == ParamOrRetType::kParameter)) { return false; } builtins.Add(builtin); @@ -2555,8 +2551,6 @@ const ast::ColorAttribute* color_attribute = nullptr; const ast::InvariantAttribute* invariant_attribute = nullptr; const ast::InterpolateAttribute* interpolate_attribute = nullptr; - bool ignore_clip_distances_type = IsValidationDisabled( - member->Declaration()->attributes, ast::DisabledValidation::kIgnoreClipDistancesType); for (auto* attr : member->Declaration()->attributes) { bool ok = Switch( attr, // @@ -2581,7 +2575,7 @@ }, [&](const ast::BuiltinAttribute* builtin_attr) { if (!BuiltinAttribute(builtin_attr, member->Type(), stage, - /* is_input */ false, ignore_clip_distances_type)) { + /* is_input */ false)) { return false; } if (builtin_attr->builtin == core::BuiltinValue::kPosition) {
diff --git a/src/tint/lang/wgsl/resolver/validator.h b/src/tint/lang/wgsl/resolver/validator.h index 80e9ce1..6dfa0ac 100644 --- a/src/tint/lang/wgsl/resolver/validator.h +++ b/src/tint/lang/wgsl/resolver/validator.h
@@ -243,13 +243,11 @@ /// @param storage_type the attribute storage type /// @param stage the current pipeline stage /// @param is_input true if this is an input attribute - /// @param ignore_clip_distances_type_validation true if ignore type check on clip_distances /// @returns true on success, false otherwise. bool BuiltinAttribute(const ast::BuiltinAttribute* attr, const core::type::Type* storage_type, ast::PipelineStage stage, - const bool is_input, - const bool ignore_clip_distances_type_validation = false) const; + const bool is_input) const; /// Validates a continue statement /// @param stmt the continue statement to validate