| 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 #if SK_SUPPORT_OPENCL | 8 #if SK_SUPPORT_OPENCL |
| 9 | 9 |
| 10 #define __NO_STD_VECTOR // Uses cl::vectpr instead of std::vectpr | 10 #define __NO_STD_VECTOR // Uses cl::vectpr instead of std::vectpr |
| (...skipping 22 matching lines...) Expand all Loading... |
| 33 __SK_FORCE_IMAGE_DECODER_LINKING; | 33 __SK_FORCE_IMAGE_DECODER_LINKING; |
| 34 | 34 |
| 35 // Command line argument definitions go here | 35 // Command line argument definitions go here |
| 36 DEFINE_bool2(list, l, false, "List out available differs"); | 36 DEFINE_bool2(list, l, false, "List out available differs"); |
| 37 DEFINE_string2(differs, d, "", "The names of the differs to use or all of them b
y default"); | 37 DEFINE_string2(differs, d, "", "The names of the differs to use or all of them b
y default"); |
| 38 DEFINE_string2(folders, f, "", "Compare two folders with identical subfile names
: <baseline folder> <test folder>"); | 38 DEFINE_string2(folders, f, "", "Compare two folders with identical subfile names
: <baseline folder> <test folder>"); |
| 39 DEFINE_string2(patterns, p, "", "Use two patterns to compare images: <baseline>
<test>"); | 39 DEFINE_string2(patterns, p, "", "Use two patterns to compare images: <baseline>
<test>"); |
| 40 DEFINE_string2(output, o, "", "Writes the output of these diffs to output: <outp
ut>"); | 40 DEFINE_string2(output, o, "", "Writes the output of these diffs to output: <outp
ut>"); |
| 41 DEFINE_bool(jsonp, true, "Output JSON with padding"); | 41 DEFINE_bool(jsonp, true, "Output JSON with padding"); |
| 42 DEFINE_string(csv, "", "Writes the output of these diffs to a csv file"); | 42 DEFINE_string(csv, "", "Writes the output of these diffs to a csv file"); |
| 43 DEFINE_int32(threads, -1, "run N threads in parallel [default is derived from CP
Us available]"); |
| 43 | 44 |
| 44 #if SK_SUPPORT_OPENCL | 45 #if SK_SUPPORT_OPENCL |
| 45 /// A callback for any OpenCL errors | 46 /// A callback for any OpenCL errors |
| 46 static void CL_CALLBACK error_notify(const char* errorInfo, const void* privateI
nfoSize, ::size_t cb, void* userData) { | 47 static void CL_CALLBACK error_notify(const char* errorInfo, const void* privateI
nfoSize, ::size_t cb, void* userData) { |
| 47 SkDebugf("OpenCL error notify: %s\n", errorInfo); | 48 SkDebugf("OpenCL error notify: %s\n", errorInfo); |
| 48 exit(1); | 49 exit(1); |
| 49 } | 50 } |
| 50 | 51 |
| 51 /// Creates a device and context with OpenCL | 52 /// Creates a device and context with OpenCL |
| 52 static bool init_device_and_context(cl::Device* device, cl::Context* context) { | 53 static bool init_device_and_context(cl::Device* device, cl::Context* context) { |
| (...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 181 if (!FLAGS_csv.isEmpty()) { | 182 if (!FLAGS_csv.isEmpty()) { |
| 182 if (1 != FLAGS_csv.count()) { | 183 if (1 != FLAGS_csv.count()) { |
| 183 SkDebugf("csv flag expects one argument: <csv file>\n"); | 184 SkDebugf("csv flag expects one argument: <csv file>\n"); |
| 184 return 1; | 185 return 1; |
| 185 } | 186 } |
| 186 } | 187 } |
| 187 | 188 |
| 188 SkDiffContext ctx; | 189 SkDiffContext ctx; |
| 189 ctx.setDiffers(chosenDiffers); | 190 ctx.setDiffers(chosenDiffers); |
| 190 | 191 |
| 192 if (FLAGS_threads >= 0) { |
| 193 ctx.setThreadCount(FLAGS_threads); |
| 194 } |
| 195 |
| 191 // Perform a folder diff if one is requested | 196 // Perform a folder diff if one is requested |
| 192 if (!FLAGS_folders.isEmpty()) { | 197 if (!FLAGS_folders.isEmpty()) { |
| 193 ctx.diffDirectories(FLAGS_folders[0], FLAGS_folders[1]); | 198 ctx.diffDirectories(FLAGS_folders[0], FLAGS_folders[1]); |
| 194 } | 199 } |
| 195 | 200 |
| 196 // Perform a pattern diff if one is requested | 201 // Perform a pattern diff if one is requested |
| 197 if (!FLAGS_patterns.isEmpty()) { | 202 if (!FLAGS_patterns.isEmpty()) { |
| 198 ctx.diffPatterns(FLAGS_patterns[0], FLAGS_patterns[1]); | 203 ctx.diffPatterns(FLAGS_patterns[0], FLAGS_patterns[1]); |
| 199 } | 204 } |
| 200 | 205 |
| 201 // Output to the file specified | 206 // Output to the file specified |
| 202 if (!FLAGS_output.isEmpty()) { | 207 if (!FLAGS_output.isEmpty()) { |
| 203 SkFILEWStream outputStream(FLAGS_output[0]); | 208 SkFILEWStream outputStream(FLAGS_output[0]); |
| 204 ctx.outputRecords(outputStream, FLAGS_jsonp); | 209 ctx.outputRecords(outputStream, FLAGS_jsonp); |
| 205 } | 210 } |
| 206 | 211 |
| 207 if (!FLAGS_csv.isEmpty()) { | 212 if (!FLAGS_csv.isEmpty()) { |
| 208 SkFILEWStream outputStream(FLAGS_csv[0]); | 213 SkFILEWStream outputStream(FLAGS_csv[0]); |
| 209 ctx.outputCsv(outputStream); | 214 ctx.outputCsv(outputStream); |
| 210 } | 215 } |
| 211 | 216 |
| 212 return 0; | 217 return 0; |
| 213 } | 218 } |
| 214 | 219 |
| 215 #if !defined(SK_BUILD_FOR_IOS) && !defined(SK_BUILD_FOR_NACL) | 220 #if !defined(SK_BUILD_FOR_IOS) && !defined(SK_BUILD_FOR_NACL) |
| 216 int main(int argc, char * argv[]) { | 221 int main(int argc, char * argv[]) { |
| 217 return tool_main(argc, (char**) argv); | 222 return tool_main(argc, (char**) argv); |
| 218 } | 223 } |
| 219 #endif | 224 #endif |
| OLD | NEW |