@@ -122,23 +122,24 @@ class PassTest : public TestT {
122122 auto status = Pass::Status::SuccessWithoutChange;
123123 std::tie (optimized_bin, status) = SinglePassRunToBinary<PassT>(
124124 assembly, skip_nop, std::forward<Args>(args)...);
125+ std::string optimized_asm;
126+ SpirvTools tools (env_);
127+ EXPECT_TRUE (
128+ tools.Disassemble (optimized_bin, &optimized_asm, disassemble_options_))
129+ << " Disassembling failed for shader:\n "
130+ << assembly << std::endl;
125131 if (do_validation) {
126132 spv_context spvContext = spvContextCreate (env_);
127133 spv_diagnostic diagnostic = nullptr ;
128134 spv_const_binary_t binary = {optimized_bin.data (), optimized_bin.size ()};
129135 spv_result_t error = spvValidateWithOptions (
130136 spvContext, ValidatorOptions (), &binary, &diagnostic);
131- EXPECT_EQ (error, 0 );
137+ EXPECT_EQ (error, 0 ) << " validation failed for optimized asm:\n "
138+ << optimized_asm;
132139 if (error != 0 ) spvDiagnosticPrint (diagnostic);
133140 spvDiagnosticDestroy (diagnostic);
134141 spvContextDestroy (spvContext);
135142 }
136- std::string optimized_asm;
137- SpirvTools tools (env_);
138- EXPECT_TRUE (
139- tools.Disassemble (optimized_bin, &optimized_asm, disassemble_options_))
140- << " Disassembling failed for shader:\n "
141- << assembly << std::endl;
142143 return std::make_tuple (optimized_asm, status);
143144 }
144145
0 commit comments