[validator] Remove obsolete rules and tests Entry points are now allowed to have parameters and return types as part of the changes made in: https://github.com/gpuweb/gpuweb/pull/1426 Bug: tint:512 Change-Id: I20caa940f6d194f62ce1dfa5d247927c5b5a9628 Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44080 Auto-Submit: James Price <jrprice@google.com> Commit-Queue: Ben Clayton <bclayton@google.com> Reviewed-by: Ben Clayton <bclayton@google.com>
diff --git a/src/validator/validator_function_test.cc b/src/validator/validator_function_test.cc index eb212d9..1377369 100644 --- a/src/validator/validator_function_test.cc +++ b/src/validator/validator_function_test.cc
@@ -161,48 +161,6 @@ EXPECT_EQ(v.error(), "12:34 v-0016: function names must be unique 'func'"); } -TEST_F(ValidateFunctionTest, Function_WithPipelineStage_NotVoid_Fail) { - // [[stage(vertex)]] - // fn vtx_main() -> i32 { return 0; } - - Func(Source{Source::Location{12, 34}}, "vtx_main", ast::VariableList{}, - ty.i32(), - ast::StatementList{ - create<ast::ReturnStatement>(Expr(0)), - }, - ast::FunctionDecorationList{ - create<ast::StageDecoration>(ast::PipelineStage::kVertex), - }); - - ValidatorImpl& v = Build(); - - EXPECT_FALSE(v.Validate()); - EXPECT_EQ(v.error(), - "12:34 v-0024: Entry point function must return void: 'vtx_main'"); -} - -TEST_F(ValidateFunctionTest, Function_WithPipelineStage_WithParams_Fail) { - // [[stage(vertex)]] - // fn vtx_func(a : i32) -> void { return; } - - Func(Source{Source::Location{12, 34}}, "vtx_func", - ast::VariableList{Var("a", ty.i32(), ast::StorageClass::kNone)}, - ty.void_(), - ast::StatementList{ - create<ast::ReturnStatement>(), - }, - ast::FunctionDecorationList{ - create<ast::StageDecoration>(ast::PipelineStage::kVertex), - }); - - ValidatorImpl& v = Build(); - - EXPECT_FALSE(v.Validate()); - EXPECT_EQ(v.error(), - "12:34 v-0023: Entry point function must accept no parameters: " - "'vtx_func'"); -} - TEST_F(ValidateFunctionTest, PipelineStage_MustBeUnique_Fail) { // [[stage(fragment)]] // [[stage(vertex)]]
diff --git a/src/validator/validator_impl.cc b/src/validator/validator_impl.cc index ec46aa6..a75dc9e 100644 --- a/src/validator/validator_impl.cc +++ b/src/validator/validator_impl.cc
@@ -150,19 +150,6 @@ for (auto* func : funcs) { if (func->IsEntryPoint()) { shader_is_present = true; - if (!func->params().empty()) { - add_error(func->source(), "v-0023", - "Entry point function must accept no parameters: '" + - program_->Symbols().NameFor(func->symbol()) + "'"); - return false; - } - - if (!func->return_type()->Is<type::Void>()) { - add_error(func->source(), "v-0024", - "Entry point function must return void: '" + - program_->Symbols().NameFor(func->symbol()) + "'"); - return false; - } auto stage_deco_count = 0; for (auto* deco : func->decorations()) { if (deco->Is<ast::StageDecoration>()) {