skia2/tools/skpdiff
mtklein 406654be7a SkThreadPool ~~> SkTaskGroup
SkTaskGroup is like SkThreadPool except the threads stay in
one global pool.  Each SkTaskGroup itself is tiny (4 bytes)
and its wait() method applies only to tasks add()ed to that
instance, not the whole thread pool.

This means we don't need to bring up new thread pools when
tests themselves want to use multithreading (e.g. pathops,
quilt).  We just create a new SkTaskGroup and wait for that
to complete.  This should be more efficient, and allow us
to expand where we use threads to really latency sensitive
places.  E.g. we can probably now use these in nanobench
for CPU .skp rendering.

Now that all threads are sharing the same pool, I think we
can remove most of the custom mechanism pathops tests use
to control threading.  They'll just ride on the global pool
with all other tests now.

This (temporarily?) removes the GPU multithreading feature
from DM, which we don't use.

On my desktop, DM runs a little faster (57s -> 55s) in
Debug, and a lot faster in Release (36s -> 24s).  The bots
show speedups of similar proportions, cutting more than a
minute off the N4/Release and Win7/Debug runtimes.

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/9c7207b5dc71dc5a96a2eb107d401133333d5b6f

R=caryclark@google.com, bsalomon@google.com, bungeman@google.com, mtklein@google.com, reed@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/531653002
2014-09-03 15:34:37 -07:00
..
diff_viewer.js The default size of mask canvas is not appropriate. its height is too small: 150, while its width is 300. As a result, for non-alphaMask canvas who doesn't update the mask canvas size, this tool just magnify the upper part of 'Expected Image' as well as 'Actual Image' when user open view.html to show skpdiff_output.json in browser for many cases. The other part can't be shown because it is out of the mask canvas. This CL update non-alphaMask canvas size according to baseline canvas for each case, then the tool can magnify anywhere you want for the whole image when you click and move mouse on the mask canvas. 2013-12-12 14:55:45 +00:00
generate_pmetric_tables.py move skpdiff into tools 2013-07-22 18:46:45 +00:00
README move skpdiff into tools 2013-07-22 18:46:45 +00:00
SkCLImageDiffer.cpp stop using SkBitmap::Config 2014-06-14 05:30:20 -07:00
SkCLImageDiffer.h fix multithread related crashes in skpdiff 2013-11-12 18:29:17 +00:00
SkDiffContext.cpp SkThreadPool ~~> SkTaskGroup 2014-09-03 15:34:37 -07:00
SkDiffContext.h This eliminates the need to copy the generated images from a temporary directory to the directory that is served by the rebaseline_server. 2014-08-13 10:36:06 -07:00
SkDifferentPixelsMetric_cpu.cpp rebaseline_server: use just skpdiff, not Python Image Library 2014-07-02 07:43:04 -07:00
SkDifferentPixelsMetric_opencl.cpp rebaseline_server: use just skpdiff, not Python Image Library 2014-07-02 07:43:04 -07:00
SkDifferentPixelsMetric.h rebaseline_server: use just skpdiff, not Python Image Library 2014-07-02 07:43:04 -07:00
SkImageDiffer.cpp Remove unnecessary includes. 2013-11-18 17:27:16 +00:00
SkImageDiffer.h rebaseline_server: use just skpdiff, not Python Image Library 2014-07-02 07:43:04 -07:00
skpdiff_main.cpp SkThreadPool ~~> SkTaskGroup 2014-09-03 15:34:37 -07:00
skpdiff_server.py fix path issues on mac and win for skpdiff_server.py 2013-08-14 19:20:35 +00:00
skpdiff_util.cpp Cleanup: Rename SkOSPath functions. 2014-07-28 19:26:58 -07:00
skpdiff_util.h fix skpdiff viewer bug when using relative paths 2013-08-02 15:54:30 +00:00
SkPMetric.cpp rebaseline_server: use just skpdiff, not Python Image Library 2014-07-02 07:43:04 -07:00
SkPMetric.h rebaseline_server: use just skpdiff, not Python Image Library 2014-07-02 07:43:04 -07:00
SkPMetricUtil_generated.h move skpdiff into tools 2013-07-22 18:46:45 +00:00
viewer_style.css Update skpdiff to include a name with each file. 2013-10-16 15:00:11 +00:00
viewer.html update skpdiff visualization (image magnification with alpha mask) 2013-11-07 19:24:06 +00:00

Some example invocations:

Note how the asterisks are not expanded inside the shell because of the quotes

out/Debug/skpdiff -p \
                  "/usr/local/google/home/zachr/Downloads/gm/*_8888.png" \
                  "/usr/local/google/home/zachr/Downloads/gm/*_gpu.png"


out/Debug/skpdiff --differs different_pixels -f \
                  "/usr/local/google/home/zachr/Downloads/diffs/baseline" \
                  "/usr/local/google/home/zachr/Downloads/diffs/test"