From 558a3537c968bb611571e82c25c98f86a83be2a8 Mon Sep 17 00:00:00 2001 From: Ben Clayton Date: Fri, 30 Jul 2021 16:05:26 +0000 Subject: [PATCH] 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 Kokoro: Kokoro Reviewed-by: David Neto Commit-Queue: Ben Clayton --- src/reader/spirv/parser.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/reader/spirv/parser.cc b/src/reader/spirv/parser.cc index bcbc19349e..0f71d997a0 100644 --- a/src/reader/spirv/parser.cc +++ b/src/reader/spirv/parser.cc @@ -45,6 +45,9 @@ Program Parse(const std::vector& input) { 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