aboutsummaryrefslogtreecommitdiffhomepage
path: root/dm/DMWriteTask.h
Commit message (Collapse)AuthorAge
* Separate JSON functions from DMWriteTask.Gravatar scroggo2014-11-04
| | | | | | | | | Add JsonWriter, which handles Json output from DM, in preparation for adding json output for tests. This change should not affect behavior. BUG=skia:2454 Review URL: https://codereview.chromium.org/702513003
* Update DM JSON format.Gravatar mtklein2014-09-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ex. dm --match patch -w bad --key arch x86 gpu nvidia model z620 --properties git_hash abcd build_number 20 -> { "build_number" : "20", "git_hash" : "abcd", "key" : { "arch" : "x86", "gpu" : "nvidia", "model" : "z620" }, "results" : [ { "key" : { "config" : "565", "name" : "ninepatch-stretch" }, "md5" : "f78cfafcbabaf815f3dfcf61fb59acc7", "options" : { "source_type" : "GM" } }, { "key" : { "config" : "8888", "name" : "ninepatch-stretch" }, "md5" : "3e8a42f35a1e76f00caa191e6310d789", "options" : { "source_type" : "GM" } }, ... This breaks -r, but that's okay. Going to follow up this CL with one that removes that entirely. BUG=skia: R=stephana@google.com, jcgregorio@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/551873003
* Remove expectations / -r from DM entirely.Gravatar mtklein2014-09-09
| | | | | | | | | | | | It's getting tricky to coordinate changes to output for bots with -r, and -r is not widely used. The suggested alternative is to run skdiff. BUG=skia: R=jcgregorio@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/553583004
* Start to rework DM JSON handling.Gravatar mtklein2014-09-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DM's striking off into its own JSON world. This gets strawman implementations in place for writing and reading a JSON file mapping test name to hashes. For what it's worth, I basically want to change _all_ these pieces, - MD5 is slow and we can replace it with something faster, - JSON schema needs room to grow more data, - it'd be nice to hash once instead of twice when reading and writing, - this code wants lots of refactoring, but this gives us a starting platform to work on these bits at our leisure. E.x. file for now: mtklein@mtklein ~/skia (dm)> cat good/dm.json { "3x3bitmaprect_565" : "fc70d985fbfbe70e3a3c9dc626d4f5bc", "3x3bitmaprect_8888" : "df1591dde35907399734ea19feb76663", "3x3bitmaprect_gpu" : "df1591dde35907399734ea19feb76663", "aaclip_565" : "1862798689b838a7ab0dc0652b9ace3a", "aaclip_8888" : "47bb314329f0ce243f1d83fd583decb7", "aaclip_gpu" : "75f72412d0ef4815770202d297246e7d", ... BUG=skia: R=jcgregorio@google.com, stephana@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/546873002
* SkData to SkStreamAsset to avoid unneeded copyingGravatar halcanary2014-08-26
| | | | | | | | R=mtklein@google.com Author: halcanary@google.com Review URL: https://codereview.chromium.org/502193002
* DM: add pdfGravatar mtklein2014-06-03
| | | | | | | | | BUG=skia:2598 R=halcanary@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/312873002
* DM: tweaksGravatar commit-bot@chromium.org2014-05-14
| | | | | | | | | | | | | | - translate filenames to task names instead of using a verbatim mode in WriteTask - add an option to write out only PNG data to the .png if you don't need -r to work BUG=skia: R=reed@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/288823002 git-svn-id: http://skia.googlecode.com/svn/trunk@14742 2bbb7eff-a529-9590-31e7-b0007b416f81
* DM: Add --skps.Gravatar commit-bot@chromium.org2014-05-14
| | | | | | | | | | | | | | | This does render_pictures, plus checks SkRecord optimizations. Disable an SkRecord optimization that draws several bot SKPs wrong. (To be investigated.) BUG=skia:2378 R=reed@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/270543004 git-svn-id: http://skia.googlecode.com/svn/trunk@14739 2bbb7eff-a529-9590-31e7-b0007b416f81
* DM: make GPU tasks multithreaded again. Big refactor.Gravatar commit-bot@chromium.org2014-02-28
| | | | | | | | | | | | | | | | | | | | | | The main meat of things is in SkThreadPool. We can now give SkThreadPool a type for each thread to create and destroy on its local stack. It's TLS without going through SkTLS. I've split the DM tasks into CpuTasks that run on threads with no TLS, and GpuTasks that run on threads with a thread local GrContextFactory. The old CpuTask and GpuTask have been renamed to CpuGMTask and GpuGMTask. Upshot: default run of out/Debug/dm goes from ~45 seconds to ~20 seconds. BUG=skia: R=bsalomon@google.com, mtklein@google.com, reed@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/179233005 git-svn-id: http://skia.googlecode.com/svn/trunk@13632 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add support for reading a directory of images with --expectations (-r).Gravatar commit-bot@chromium.org2013-12-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DM writes out its images in a hierarchy that's a little different than GM, so this can't read GM's output. But it can read its own, written with -w. Example usage: $ out/Release/dm -w /tmp/baseline $ out/Release/dm -r /tmp/baseline -w /tmp/new (and optionally) $ mkdir /tmp/diff; out/Release/skdiff /tmp/baseline /tmp/new /tmp/diff GM's IndividualImageExpectationsSource and Expectations are a little too eager about decoding and hashing the expected images, so I took the opportunity to add DM::Expectations that mostly replaces skiagm::ExpectationsSource and skiagm::Expectations in DM. It mainly exists to move the image decoding and comparison off the main thread, which would otherwise be a major speed bottleneck. I tried to use skiagm code where possible. One notable place where I differed is in this new feature. When -r is a directory of images, DM does no hashing. It considerably faster to read the expected file into an SkBitmap and do a byte-for-byte comparison than to hash the two bitmaps and check those. The example usage above isn't quite working 100% yet. Expectations on some GMs fail, even with no binary change. I haven't pinned down whether this is due to - a bug in DM - flaky GMs - unthreadsafe GMs - flaky image decoding - unthreadsafe image decoding - something else but I intend to. Leon, Derek and I have suspected PNG decoding isn't threadsafe, but are as yet unable to prove it. I also seem to be able to cause malloc to fail on my laptop if I run too many configs at once, though I never seem to be using more than ~1G of RAM. Will track that down too. BUG= R=reed@google.com, bsalomon@google.com Author: mtklein@google.com Review URL: https://codereview.chromium.org/108963002 git-svn-id: http://skia.googlecode.com/svn/trunk@12596 2bbb7eff-a529-9590-31e7-b0007b416f81
* Reverting r12427Gravatar rmistry@google.com2013-12-02
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@12428 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2013-12-02
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@12427 2bbb7eff-a529-9590-31e7-b0007b416f81
* DM: write failed comparison mode .pngs one more level deep in the tree.Gravatar mtklein@google.com2013-11-26
| | | | | | | | | | | | | | | | | | | | | | E.g. instead of having to compare /tmp/dm/565/optimizations.png vs. /tmp/dm/replay/optimizations_565.png it's now /tmp/dm/565/optimizations.png vs. /tmp/dm/replay/565/optimizations.png This lets working with skdiff go a lot more smoothly. BUG= R=bsalomon@google.com Review URL: https://codereview.chromium.org/88773002 git-svn-id: http://skia.googlecode.com/svn/trunk@12402 2bbb7eff-a529-9590-31e7-b0007b416f81
* DM: add --writePathGravatar mtklein@google.com2013-10-18
For fun, make the output prettier, hiding ", N failures" unless there is one. BUG= R=bsalomon@google.com Review URL: https://codereview.chromium.org/29293003 git-svn-id: http://skia.googlecode.com/svn/trunk@11867 2bbb7eff-a529-9590-31e7-b0007b416f81