skia2/dm
mtklein cd50bcae10 Spin off more thread-safe work in DM.
Even in GPU configs, encoding a .png and writing to disk is thread safe.
This CL moves that work to an SkTaskGroup, offloading it from the GPU
thread to a threadpool.

In my brief local testing, this makes DM run in about half the time
for GPU-bound work, e.g.

    $ out/Release/dm --src gm --config gpudft -w output
    Before: 43.79 real        37.01 user         4.28 sys
    After : 23.64 real        39.31 user         4.46 sys

This won't affect the bots much, as they already skip .png generation
when gold.skia.org already has a .png of an image with a given hash.
(Most of the time saved here is under WriteToDisk() after the
gUninterestingHashes check.)

CQ_EXTRA_TRYBOTS=client.skia:Test-Mac10.9-Clang-MacMini6.2-GPU-HD4000-x86_64-Release-Trybot

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1561553002

Review URL: https://codereview.chromium.org/1561553002
2016-01-05 06:20:20 -08:00
..
DM.cpp Spin off more thread-safe work in DM. 2016-01-05 06:20:20 -08:00
DMGpuSupport.h Add config options to run different GPU APIs to dm and nanobench 2015-12-23 01:33:01 -08:00
DMJsonWriter.cpp Remove SkThread.h, include SkMutex.h or SkAtomics.h as appropriate. 2015-07-07 12:21:22 -07:00
DMJsonWriter.h Update DM to allow Src's to have optional options. 2015-04-03 07:24:48 -07:00
DMSrcSink.cpp Two malloc+bzero -> calloc. 2016-01-04 18:56:57 -08:00
DMSrcSink.h Add config options to run different GPU APIs to dm and nanobench 2015-12-23 01:33:01 -08:00
DMSrcSinkAndroid.cpp Simplify linkages to Android framework internals 2015-10-26 07:21:32 -07:00
DMSrcSinkAndroid.h Missing overrides for Sinks in HWUI. 2015-08-03 10:20:28 -07:00