[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