| Index: tools/skpdiff/SkDiffContext.cpp
|
| diff --git a/tools/skpdiff/SkDiffContext.cpp b/tools/skpdiff/SkDiffContext.cpp
|
| index 78d84009687424447f6f791b4ecea57d8c665789..42d20de19da7b831dd66c16bca4a0535caf6417a 100644
|
| --- a/tools/skpdiff/SkDiffContext.cpp
|
| +++ b/tools/skpdiff/SkDiffContext.cpp
|
| @@ -12,7 +12,7 @@
|
| #include "SkSize.h"
|
| #include "SkStream.h"
|
| #include "SkTDict.h"
|
| -#include "SkTaskGroup.h"
|
| +#include "SkThreadPool.h"
|
|
|
| // from the tools directory for replace_char(...)
|
| #include "picture_utils.h"
|
| @@ -24,6 +24,7 @@
|
| SkDiffContext::SkDiffContext() {
|
| fDiffers = NULL;
|
| fDifferCount = 0;
|
| + fThreadCount = SkThreadPool::kThreadPerCore;
|
| }
|
|
|
| SkDiffContext::~SkDiffContext() {
|
| @@ -86,7 +87,7 @@
|
| }
|
|
|
| static SkString get_combined_name(const SkString& a, const SkString& b) {
|
| - // Note (stephana): We must keep this function in sync with
|
| + // Note (stephana): We must keep this function in sync with
|
| // getImageDiffRelativeUrl() in static/loader.js (under rebaseline_server).
|
| SkString result = a;
|
| result.append("-vs-");
|
| @@ -237,7 +238,7 @@
|
| return;
|
| }
|
|
|
| - SkTaskGroup tg;
|
| + SkThreadPool threadPool(fThreadCount);
|
| SkTArray<SkThreadedDiff> runnableDiffs;
|
| runnableDiffs.reset(baselineEntries.count());
|
|
|
| @@ -252,11 +253,13 @@
|
| if (sk_exists(testFile.c_str()) && !sk_isdir(testFile.c_str())) {
|
| // Queue up the comparison with the differ
|
| runnableDiffs[x].setup(this, baselineFile, testFile);
|
| - tg.add(&runnableDiffs[x]);
|
| + threadPool.add(&runnableDiffs[x]);
|
| } else {
|
| SkDebugf("Baseline file \"%s\" has no corresponding test file\n", baselineFile.c_str());
|
| }
|
| }
|
| +
|
| + threadPool.wait();
|
| }
|
|
|
|
|
| @@ -281,14 +284,16 @@
|
| return;
|
| }
|
|
|
| - SkTaskGroup tg;
|
| + SkThreadPool threadPool(fThreadCount);
|
| SkTArray<SkThreadedDiff> runnableDiffs;
|
| runnableDiffs.reset(baselineEntries.count());
|
|
|
| for (int x = 0; x < baselineEntries.count(); x++) {
|
| runnableDiffs[x].setup(this, baselineEntries[x], testEntries[x]);
|
| - tg.add(&runnableDiffs[x]);
|
| - }
|
| + threadPool.add(&runnableDiffs[x]);
|
| + }
|
| +
|
| + threadPool.wait();
|
| }
|
|
|
| void SkDiffContext::outputRecords(SkWStream& stream, bool useJSONP) {
|
|
|