Index: dm/DM.cpp |
diff --git a/dm/DM.cpp b/dm/DM.cpp |
index 84bb1952c106d11134f6a7365f4591552209b24e..44d071f438f14d1e213484ad5d3ca5496728fdba 100644 |
--- a/dm/DM.cpp |
+++ b/dm/DM.cpp |
@@ -444,16 +444,25 @@ int dm_main() { |
tg.batch( run_test, gCPUTests.begin(), gCPUTests.count()); |
if (FLAGS_gpu_threading) { |
tg.batch(run_test, gGPUTests.begin(), gGPUTests.count()); |
+ #if !defined(SK_BUILD_FOR_WIN32) |
} else { |
for (int i = 0; i < gGPUTests.count(); i++) { |
run_test(&gGPUTests[i]); |
} |
+ #endif |
} |
tg.wait(); |
- |
// At this point we're back in single-threaded land. |
- SkDebugf("\n"); |
+ // This is not ideal for parallelism, but Windows seems crash-prone if we run |
+ // these GPU tests in parallel with any GPU Src/Sink work. Everyone else seems fine. |
+#if defined(SK_BUILD_FOR_WIN32) |
+ for (int i = 0; i < gGPUTests.count(); i++) { |
+ run_test(&gGPUTests[i]); |
+ } |
+#endif |
+ |
+ SkDebugf("\n"); |
JsonWriter::DumpJson(); |
if (gFailures.count() > 0) { |