summaryrefslogtreecommitdiffstats
path: root/tools/gfx-unit-test
diff options
context:
space:
mode:
Diffstat (limited to 'tools/gfx-unit-test')
-rw-r--r--tools/gfx-unit-test/precompiled-module-2.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/tools/gfx-unit-test/precompiled-module-2.cpp b/tools/gfx-unit-test/precompiled-module-2.cpp
index 792f328b0..87420aa6e 100644
--- a/tools/gfx-unit-test/precompiled-module-2.cpp
+++ b/tools/gfx-unit-test/precompiled-module-2.cpp
@@ -59,8 +59,15 @@ static Slang::Result precompileProgram(
(void**)precompileService.writeRef()) == SLANG_OK)
{
Slang::ComPtr<slang::IBlob> diagnosticsBlob;
- precompileService->precompileForTarget(target, diagnosticsBlob.writeRef());
+ auto res = precompileService->precompileForTarget(target, diagnosticsBlob.writeRef());
diagnoseIfNeeded(diagnosticsBlob);
+ SLANG_RETURN_ON_FAIL(res);
+
+ // compile a second time to check for driver bugs.
+ diagnosticsBlob = nullptr;
+ res = precompileService->precompileForTarget(target, diagnosticsBlob.writeRef());
+ diagnoseIfNeeded(diagnosticsBlob);
+ SLANG_RETURN_ON_FAIL(res);
}
}