aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/skdiff/skdiff_main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/skdiff/skdiff_main.cpp')
-rw-r--r--tools/skdiff/skdiff_main.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/tools/skdiff/skdiff_main.cpp b/tools/skdiff/skdiff_main.cpp
index 59e9b0a6b7..56aebe7ffb 100644
--- a/tools/skdiff/skdiff_main.cpp
+++ b/tools/skdiff/skdiff_main.cpp
@@ -344,7 +344,7 @@ static void get_bounds(DiffResource& resource, const char* name) {
if (resource.fBitmap.empty() && !DiffResource::isStatusFailed(resource.fStatus)) {
sk_sp<SkData> fileBits(read_file(resource.fFullPath.c_str()));
if (fileBits) {
- get_bitmap(fileBits, resource, true);
+ get_bitmap(fileBits, resource, true, true);
} else {
SkDebugf("WARNING: couldn't read %s file <%s>\n", name, resource.fFullPath.c_str());
resource.fStatus = DiffResource::kCouldNotRead_Status;
@@ -375,6 +375,7 @@ static void get_bounds(DiffRecord& drp) {
/// If outputDir.isEmpty(), don't write out diff files.
static void create_diff_images (DiffMetricProc dmp,
const int colorThreshold,
+ bool ignoreColorSpace,
RecordArray* differences,
const SkString& baseDir,
const SkString& comparisonDir,
@@ -495,8 +496,8 @@ static void create_diff_images (DiffMetricProc dmp,
VERBOSE_STATUS("MATCH", ANSI_COLOR_GREEN, baseFiles[i]);
} else {
AutoReleasePixels arp(drp);
- get_bitmap(baseFileBits, drp->fBase, false);
- get_bitmap(comparisonFileBits, drp->fComparison, false);
+ get_bitmap(baseFileBits, drp->fBase, false, ignoreColorSpace);
+ get_bitmap(comparisonFileBits, drp->fComparison, false, ignoreColorSpace);
VERBOSE_STATUS("DIFFERENT", ANSI_COLOR_RED, baseFiles[i]);
if (DiffResource::kDecoded_Status == drp->fBase.fStatus &&
DiffResource::kDecoded_Status == drp->fComparison.fStatus) {
@@ -585,6 +586,7 @@ static void usage (char * argv0) {
"\n --match <substring>: compare files whose filenames contain this substring;"
"\n if unspecified, compare ALL files."
"\n this flag may be repeated."
+"\n --nocolorspace: Ignore color space of images."
"\n --nodiffs: don't write out image diffs or index.html, just generate"
"\n report on stdout"
"\n --nomatch <substring>: regardless of --match, DO NOT compare files whose"
@@ -630,6 +632,7 @@ int main(int argc, char** argv) {
bool recurseIntoSubdirs = true;
bool verbose = false;
bool listFailingBase = false;
+ bool ignoreColorSpace = false;
RecordArray differences;
DiffSummary summary;
@@ -705,6 +708,10 @@ int main(int argc, char** argv) {
matchSubstrings.push(new SkString(argv[++i]));
continue;
}
+ if (!strcmp(argv[i], "--nocolorspace")) {
+ ignoreColorSpace = true;
+ continue;
+ }
if (!strcmp(argv[i], "--nodiffs")) {
generateDiffs = false;
continue;
@@ -805,7 +812,7 @@ int main(int argc, char** argv) {
matchSubstrings.push(new SkString(""));
}
- create_diff_images(diffProc, colorThreshold, &differences,
+ create_diff_images(diffProc, colorThreshold, ignoreColorSpace, &differences,
baseDir, comparisonDir, outputDir,
matchSubstrings, nomatchSubstrings, recurseIntoSubdirs, generateDiffs,
verbose, &summary);