reader/spirv: Don't pass invalid programs to DecomposeStridedMatrix
This transform expects valid input.
Fixed: chromium:1233795
Change-Id: I6460bded0a7e89888a4b034e792db6dc07012127
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/60348
Auto-Submit: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
diff --git a/src/reader/spirv/parser.cc b/src/reader/spirv/parser.cc
index bcbc193..0f71d99 100644
--- a/src/reader/spirv/parser.cc
+++ b/src/reader/spirv/parser.cc
@@ -45,6 +45,9 @@
ProgramBuilder output;
CloneContext(&output, &program_with_disjoint_ast, false).Clone();
auto program = Program(std::move(output));
+ if (!program.IsValid()) {
+ return program;
+ }
// If the generated program contains matrices with a custom MatrixStride
// attribute then we need to decompose these into an array of vectors