Index: tools/skpdiff/skpdiff_main.cpp |
diff --git a/tools/skpdiff/skpdiff_main.cpp b/tools/skpdiff/skpdiff_main.cpp |
index b1bf9173c7c5fad03e6d30aa23f12f17d3a34afe..178ceea4593adbf11c0a816cce5eab5c04a55bf2 100644 |
--- a/tools/skpdiff/skpdiff_main.cpp |
+++ b/tools/skpdiff/skpdiff_main.cpp |
@@ -37,10 +37,12 @@ DEFINE_bool2(list, l, false, "List out available differs"); |
DEFINE_string2(differs, d, "", "The names of the differs to use or all of them by default"); |
DEFINE_string2(folders, f, "", "Compare two folders with identical subfile names: <baseline folder> <test folder>"); |
DEFINE_string2(patterns, p, "", "Use two patterns to compare images: <baseline> <test>"); |
-DEFINE_string2(output, o, "", "Writes the output of these diffs to output: <output>"); |
-DEFINE_string(alphaDir, "", "Writes the alpha mask of these diffs to output: <output>"); |
+DEFINE_string2(output, o, "", "Writes a JSON summary of these diffs to file: <filepath>"); |
+DEFINE_string(alphaDir, "", "If the differ can generate an alpha mask, write it into directory: <dirpath>"); |
+DEFINE_string(rgbDiffDir, "", "If the differ can generate an image showing the RGB diff at each pixel, write it into directory: <dirpath>"); |
+DEFINE_string(whiteDiffDir, "", "If the differ can generate an image showing every changed pixel in white, write it into directory: <dirpath>"); |
DEFINE_bool(jsonp, true, "Output JSON with padding"); |
-DEFINE_string(csv, "", "Writes the output of these diffs to a csv file"); |
+DEFINE_string(csv, "", "Writes the output of these diffs to a csv file: <filepath>"); |
DEFINE_int32(threads, -1, "run N threads in parallel [default is derived from CPUs available]"); |
#if SK_SUPPORT_OPENCL |
@@ -193,12 +195,30 @@ int tool_main(int argc, char * argv[]) { |
return 1; |
} |
} |
+ if (!FLAGS_rgbDiffDir.isEmpty()) { |
+ if (1 != FLAGS_rgbDiffDir.count()) { |
+ SkDebugf("rgbDiffDir flag expects one argument: <directory>\n"); |
+ return 1; |
+ } |
+ } |
+ if (!FLAGS_whiteDiffDir.isEmpty()) { |
+ if (1 != FLAGS_whiteDiffDir.count()) { |
+ SkDebugf("whiteDiffDir flag expects one argument: <directory>\n"); |
+ return 1; |
+ } |
+ } |
SkDiffContext ctx; |
ctx.setDiffers(chosenDiffers); |
if (!FLAGS_alphaDir.isEmpty()) { |
- ctx.setDifferenceDir(SkString(FLAGS_alphaDir[0])); |
+ ctx.setAlphaMaskDir(SkString(FLAGS_alphaDir[0])); |
+ } |
+ if (!FLAGS_rgbDiffDir.isEmpty()) { |
+ ctx.setRgbDiffDir(SkString(FLAGS_rgbDiffDir[0])); |
+ } |
+ if (!FLAGS_whiteDiffDir.isEmpty()) { |
+ ctx.setWhiteDiffDir(SkString(FLAGS_whiteDiffDir[0])); |
} |
if (FLAGS_threads >= 0) { |