Add --enforce-default-limits to run-cts command

It's important to test CTS tests with --compat and --enforce-default-limits
because some devices have 0 storage buffers and 0 storage textures in
vertex and fragment stages and it's easy to make a test that will fail
if those are 0.

The CTS will force them to the default with this flag so adding an
argument so the flag can bu used from run-cts.

Bug: 389099880
Change-Id: Ie8b4e6b979a4540ba6684e2be8cc0c76d80e3516
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/221754
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: Gregg Tavares <gman@chromium.org>
diff --git a/tools/src/cmd/run-cts/node/cmd.go b/tools/src/cmd/run-cts/node/cmd.go
index 4b00237..af3c3ea 100644
--- a/tools/src/cmd/run-cts/node/cmd.go
+++ b/tools/src/cmd/run-cts/node/cmd.go
@@ -59,6 +59,7 @@
 	genCoverage          bool
 	compatibilityMode    bool
 	skipVSCodeInfo       bool
+	enforceDefaultLimits bool
 	dawn                 node.Flags
 }
 
@@ -109,6 +110,7 @@
 	flag.StringVar(&c.flags.coverageFile, "export-coverage", "", "write coverage data to the given path")
 	flag.BoolVar(&c.flags.compatibilityMode, "compat", false, "run tests in compatibility mode")
 	flag.BoolVar(&c.flags.skipVSCodeInfo, "skip-vs-code-info", false, "skips emitting VS Code information")
+	flag.BoolVar(&c.flags.enforceDefaultLimits, "enforce-default-limits", false, "enforce the default limits (note: powerPreference tests may fail)")
 
 	return []string{"[query]"}, nil
 }
diff --git a/tools/src/cmd/run-cts/node/cmdline.go b/tools/src/cmd/run-cts/node/cmdline.go
index 990a909..ee9b691 100644
--- a/tools/src/cmd/run-cts/node/cmdline.go
+++ b/tools/src/cmd/run-cts/node/cmdline.go
@@ -109,6 +109,9 @@
 	if c.flags.compatibilityMode {
 		args = append(args, "--compat")
 	}
+	if c.flags.enforceDefaultLimits {
+		args = append(args, "--enforce-default-limits")
+	}
 	for _, f := range c.flags.dawn {
 		args = append(args, "--gpu-provider-flag", f)
 	}
diff --git a/tools/src/cmd/run-cts/node/server.go b/tools/src/cmd/run-cts/node/server.go
index efb457d..ef330e0 100644
--- a/tools/src/cmd/run-cts/node/server.go
+++ b/tools/src/cmd/run-cts/node/server.go
@@ -123,6 +123,9 @@
 		if c.flags.compatibilityMode {
 			args = append(args, "--compat")
 		}
+		if c.flags.enforceDefaultLimits {
+			args = append(args, "--enforce-default-limits")
+		}
 		for _, f := range c.flags.dawn {
 			args = append(args, "--gpu-provider-flag", f)
 		}