| 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) { | 
|  |