OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2013 Google Inc. | 2 * Copyright 2013 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 // TODO(djsollen): Rename this whole package (perhaps to "SkMultiDiffer"). | 8 // TODO(djsollen): Rename this whole package (perhaps to "SkMultiDiffer"). |
9 // It's not just for "pdiff" (perceptual diffs)--it's a harness that allows | 9 // It's not just for "pdiff" (perceptual diffs)--it's a harness that allows |
10 // the execution of an arbitrary set of difference algorithms. | 10 // the execution of an arbitrary set of difference algorithms. |
11 // See http://skbug.com/2711 ('rename skpdiff') | 11 // See http://skbug.com/2711 ('rename skpdiff') |
12 | 12 |
13 #if SK_SUPPORT_OPENCL | 13 #if SK_SUPPORT_OPENCL |
14 | 14 |
15 #define __NO_STD_VECTOR // Uses cl::vectpr instead of std::vectpr | 15 #define __NO_STD_VECTOR // Uses cl::vectpr instead of std::vectpr |
16 #define __NO_STD_STRING // Uses cl::STRING_CLASS instead of std::string | 16 #define __NO_STD_STRING // Uses cl::STRING_CLASS instead of std::string |
17 #if SK_BUILD_FOR_MAC | 17 #if SK_BUILD_FOR_MAC |
18 // Note that some macs don't have this header and it can be downloaded from the
Khronos registry | 18 // Note that some macs don't have this header and it can be downloaded from the
Khronos registry |
19 # include <OpenCL/cl.hpp> | 19 # include <OpenCL/cl.hpp> |
20 #else | 20 #else |
21 # include <CL/cl.hpp> | 21 # include <CL/cl.hpp> |
22 #endif | 22 #endif |
23 | 23 |
24 #endif | 24 #endif |
25 | 25 |
26 #include "SkCommandLineFlags.h" | 26 #include "SkCommandLineFlags.h" |
27 #include "SkGraphics.h" | 27 #include "SkGraphics.h" |
28 #include "SkStream.h" | 28 #include "SkStream.h" |
29 #include "SkTDArray.h" | 29 #include "SkTDArray.h" |
| 30 #include "SkTaskGroup.h" |
30 | 31 |
31 #include "SkDifferentPixelsMetric.h" | 32 #include "SkDifferentPixelsMetric.h" |
32 #include "SkDiffContext.h" | 33 #include "SkDiffContext.h" |
33 #include "SkImageDiffer.h" | 34 #include "SkImageDiffer.h" |
34 #include "SkPMetric.h" | 35 #include "SkPMetric.h" |
35 #include "skpdiff_util.h" | 36 #include "skpdiff_util.h" |
36 | 37 |
37 #include "SkForceLinking.h" | 38 #include "SkForceLinking.h" |
38 __SK_FORCE_IMAGE_DECODER_LINKING; | 39 __SK_FORCE_IMAGE_DECODER_LINKING; |
39 | 40 |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
118 SkImageDiffer* gDiffers[] = { &gDiffPixel, &gPDiff, NULL }; | 119 SkImageDiffer* gDiffers[] = { &gDiffPixel, &gPDiff, NULL }; |
119 | 120 |
120 int tool_main(int argc, char * argv[]); | 121 int tool_main(int argc, char * argv[]); |
121 int tool_main(int argc, char * argv[]) { | 122 int tool_main(int argc, char * argv[]) { |
122 // Setup command line parsing | 123 // Setup command line parsing |
123 SkCommandLineFlags::SetUsage("Compare images using various metrics."); | 124 SkCommandLineFlags::SetUsage("Compare images using various metrics."); |
124 SkCommandLineFlags::Parse(argc, argv); | 125 SkCommandLineFlags::Parse(argc, argv); |
125 | 126 |
126 // Needed by various Skia components | 127 // Needed by various Skia components |
127 SkAutoGraphics ag; | 128 SkAutoGraphics ag; |
| 129 SkTaskGroup::Enabler enabled; |
128 | 130 |
129 if (FLAGS_list) { | 131 if (FLAGS_list) { |
130 SkDebugf("Available Metrics:\n"); | 132 SkDebugf("Available Metrics:\n"); |
131 } | 133 } |
132 | 134 |
133 // Figure which differs the user chose, and optionally print them if the use
r requests it | 135 // Figure which differs the user chose, and optionally print them if the use
r requests it |
134 SkTDArray<SkImageDiffer*> chosenDiffers; | 136 SkTDArray<SkImageDiffer*> chosenDiffers; |
135 for (int differIndex = 0; NULL != gDiffers[differIndex]; differIndex++) { | 137 for (int differIndex = 0; NULL != gDiffers[differIndex]; differIndex++) { |
136 SkImageDiffer* differ = gDiffers[differIndex]; | 138 SkImageDiffer* differ = gDiffers[differIndex]; |
137 if (FLAGS_list) { | 139 if (FLAGS_list) { |
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
255 } | 257 } |
256 | 258 |
257 return 0; | 259 return 0; |
258 } | 260 } |
259 | 261 |
260 #if !defined(SK_BUILD_FOR_IOS) && !defined(SK_BUILD_FOR_NACL) | 262 #if !defined(SK_BUILD_FOR_IOS) && !defined(SK_BUILD_FOR_NACL) |
261 int main(int argc, char * argv[]) { | 263 int main(int argc, char * argv[]) { |
262 return tool_main(argc, (char**) argv); | 264 return tool_main(argc, (char**) argv); |
263 } | 265 } |
264 #endif | 266 #endif |
OLD | NEW |