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