Add `tools/run tests` flag for SPIR-V Ir Reader. This Cl adds a `--use-ir-reader` flag to the `tools/run tests` commands which enables use of the new SPIR-V IR Reader in Tint. Bug: 42250952 Change-Id: I3e595e7ae87a34c67a88617ac8095d396b82ac19 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/220395 Reviewed-by: James Price <jrprice@google.com> Commit-Queue: dan sinclair <dsinclair@chromium.org>
diff --git a/tools/src/cmd/tests/main.go b/tools/src/cmd/tests/main.go index 89544de..e4cc081 100644 --- a/tools/src/cmd/tests/main.go +++ b/tools/src/cmd/tests/main.go
@@ -137,6 +137,7 @@ var formatList, ignore, dxcPath, fxcPath, tintPath, xcrunPath string var maxTableWidth int + var useIrReader bool numCPU := runtime.NumCPU() verbose, generateExpected, generateSkip := false, false, false flag.StringVar(&formatList, "format", "all", "comma separated list of formats to emit. Possible values are: all, wgsl, spvasm, msl, msl-ir, hlsl, hlsl-ir, hlsl-dxc, hlsl-dxc-ir, hlsl-fxc, hlsl-fxc-ir, glsl") @@ -148,6 +149,7 @@ flag.BoolVar(&verbose, "verbose", false, "print all run tests, including rows that all pass") flag.BoolVar(&generateExpected, "generate-expected", false, "create or update all expected outputs") flag.BoolVar(&generateSkip, "generate-skip", false, "create or update all expected outputs that fail with SKIP") + flag.BoolVar(&useIrReader, "use-ir-reader", false, "force use of IR SPIR-V Reader") flag.IntVar(&numCPU, "j", numCPU, "maximum number of concurrent threads to run tests") flag.IntVar(&maxTableWidth, "table-width", terminalWidth, "maximum width of the results table") flag.Usage = showUsage @@ -324,6 +326,7 @@ generateExpected: generateExpected, generateSkip: generateSkip, validationCache: validationCache, + useIrReader: useIrReader, } for cpu := 0; cpu < numCPU; cpu++ { go func() { @@ -662,6 +665,7 @@ generateExpected bool generateSkip bool validationCache validationCache + useIrReader bool } // Skips the path portion of FXC warning/error strings, matching the rest. @@ -729,6 +733,10 @@ args = append(args, "--use-ir") } + if cfg.useIrReader { + args = append(args, "--use-ir-reader") + } + // Append any skip-hashes, if they're found. if j.format != "wgsl" { // Don't skip 'wgsl' as this 'toolchain' is ever changing. if skipHashes := cfg.validationCache.knownGood[fileAndFormat{j.file, j.format}]; len(skipHashes) > 0 {