aboutsummaryrefslogtreecommitdiffhomepage
path: root/dm
Commit message (Collapse)AuthorAge
* Add NVPR configs to DMGravatar commit-bot@chromium.org2014-03-12
| | | | | | | | | | | | Add NVPR configs to DM. The bench and gm parts support NVPR already. R=bsalomon@google.com Author: kkinnunen@nvidia.com Review URL: https://codereview.chromium.org/196633005 git-svn-id: http://skia.googlecode.com/svn/trunk@13763 2bbb7eff-a529-9590-31e7-b0007b416f81
* DM: read image files without an extra copyGravatar commit-bot@chromium.org2014-03-05
| | | | | | | | | | | BUG=skia: R=halcanary@google.com, reed@google.com, bsalomon@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/185263012 git-svn-id: http://skia.googlecode.com/svn/trunk@13669 2bbb7eff-a529-9590-31e7-b0007b416f81
* DM: tweak output.Gravatar commit-bot@chromium.org2014-03-03
| | | | | | | | | | | | | Show task name in verbose mode only, and add task runtime. BUG=skia: R=reed@google.com, bsalomon@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/185233004 git-svn-id: http://skia.googlecode.com/svn/trunk@13639 2bbb7eff-a529-9590-31e7-b0007b416f81
* DM: fix -w/-r problems stemming from PM/UPM conversions.Gravatar commit-bot@chromium.org2014-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | DM will now read and write a custom image format, which begins first with a normal PNG, but also includes the bitmap's raw pixels. Most tools (file browser, Preview, Chrome, Skia image decoder) will read the file as PNG. DM skips the encoded PNG and reads the raw pixels instead. This scheme allows perfect pixel comparisons that never go through PM -> UPM or UPM -> PM conversions, as long as you compare on a machine with the same native pixel format as the machine which generated the images. Since we've only ever used this to do same-machine comparisons, that's more than good enough for now. We could convert as needed to a standardized PM pixel format if we find we want these files to be portable. DM -w output now does increase to ~1.3G. If that turns out to be annoyingly big, I'm sure I can come up with a simple pixelwise RLE instead of writing uncompressed pixels. BUG=skia: R=reed@google.com, bsalomon@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/185343002 git-svn-id: http://skia.googlecode.com/svn/trunk@13638 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
* DM: don't crash on Mac.Gravatar commit-bot@chromium.org2014-02-28
| | | | | | | | | | | BUG=skia: R=reed@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/177053005 git-svn-id: http://skia.googlecode.com/svn/trunk@13631 2bbb7eff-a529-9590-31e7-b0007b416f81
* DM: also run benches once.Gravatar commit-bot@chromium.org2014-02-26
| | | | | | | | | | | | | | | | | | Also: - make GrMemoryPoolBenches threadsafe - some tweaks to various DM code - rename GM::shortName() to getName() to match benches and tests On my desktop, (289 GMs, 617 benches) x 4 configs, 227 tests takes 46s in Debug, 14s in Release. (Still minutes faster than running tests && bench && gm.) GPU singlethreading is definitely the limiting factor again; going to reexamine whether that's helpful to thread it again. BUG=skia: R=reed@google.com, bsalomon@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/178473006 git-svn-id: http://skia.googlecode.com/svn/trunk@13603 2bbb7eff-a529-9590-31e7-b0007b416f81
* Let DM run unit tests.Gravatar commit-bot@chromium.org2014-02-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | - refactor GYPs and a few flags - make GPU tests grab a thread-local GrContextFactory when needed as we do in DM for GMs - add a few more UI features to make DM more like tests I believe this makes the program 'tests' obsolete. It should be somewhat faster to run the two sets together than running the old binaries serially: - serial: tests 20s (3m18s CPU), dm 21s (3m01s CPU) - together: 27s (6m21s CPU) Next up is to incorporate benches. I'm only planning there on a single-pass sanity check, so that won't obsolete the program 'bench' just yet. Tested: out/Debug/tests && out/Debug/dm && echo ok BUG=skia: Committed: http://code.google.com/p/skia/source/detail?r=13586 R=reed@google.com, bsalomon@google.com, mtklein@google.com, tfarina@chromium.org Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/178273002 git-svn-id: http://skia.googlecode.com/svn/trunk@13592 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert of Let DM run unit tests. (https://codereview.chromium.org/178273002/)Gravatar commit-bot@chromium.org2014-02-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reason for revert: broke tests Original issue's description: > Let DM run unit tests. > - refactor GYPs and a few flags > - make GPU tests grab a thread-local GrContextFactory when needed as we do in DM for GMs > - add a few more UI features to make DM more like tests > > I believe this makes the program 'tests' obsolete. > > It should be somewhat faster to run the two sets together than running the old binaries serially: > - serial: tests 20s (3m18s CPU), dm 21s (3m01s CPU) > - together: 27s (6m21s CPU) > > Next up is to incorporate benches. I'm only planning there on a single-pass sanity check, so that won't obsolete the program 'bench' just yet. > > Tested: out/Debug/tests && out/Debug/dm && echo ok > BUG=skia: > > Committed: http://code.google.com/p/skia/source/detail?r=13586 R=bsalomon@google.com, mtklein@google.com, tfarina@chromium.org, mtklein@chromium.org TBR=bsalomon@google.com, mtklein@chromium.org, mtklein@google.com, tfarina@chromium.org NOTREECHECKS=true NOTRY=true BUG=skia: Author: reed@google.com Review URL: https://codereview.chromium.org/179403010 git-svn-id: http://skia.googlecode.com/svn/trunk@13587 2bbb7eff-a529-9590-31e7-b0007b416f81
* Let DM run unit tests.Gravatar commit-bot@chromium.org2014-02-25
| | | | | | | | | | | | | | | | | | | | | | | | - refactor GYPs and a few flags - make GPU tests grab a thread-local GrContextFactory when needed as we do in DM for GMs - add a few more UI features to make DM more like tests I believe this makes the program 'tests' obsolete. It should be somewhat faster to run the two sets together than running the old binaries serially: - serial: tests 20s (3m18s CPU), dm 21s (3m01s CPU) - together: 27s (6m21s CPU) Next up is to incorporate benches. I'm only planning there on a single-pass sanity check, so that won't obsolete the program 'bench' just yet. Tested: out/Debug/tests && out/Debug/dm && echo ok BUG=skia: R=reed@google.com, bsalomon@google.com, mtklein@google.com, tfarina@chromium.org Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/178273002 git-svn-id: http://skia.googlecode.com/svn/trunk@13586 2bbb7eff-a529-9590-31e7-b0007b416f81
* add new copyTo version to SkBitmap, which takes SkColorTypeGravatar commit-bot@chromium.org2014-02-23
| | | | | | | | | | | BUG=skia: R=scroggo@google.com, halcanary@google.com, bsalomon@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/171723007 git-svn-id: http://skia.googlecode.com/svn/trunk@13553 2bbb7eff-a529-9590-31e7-b0007b416f81
* DM: don't run rtree when kSkipTiled is set.Gravatar commit-bot@chromium.org2014-02-21
| | | | | | | | | | | | | | | | | | | | Follow up to http://crrev.com/165723009, which changed this in GM. Tested: out/Debug/dm BUG=skia: Committed: http://code.google.com/p/skia/source/detail?r=13537 NOTREECHECKS=True NOTRY=True R=scroggo@google.com, senorblanco@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/175283002 git-svn-id: http://skia.googlecode.com/svn/trunk@13540 2bbb7eff-a529-9590-31e7-b0007b416f81
* DM: don't run rtree when kSkipTiled is set.Gravatar commit-bot@chromium.org2014-02-21
| | | | | | | | | | | | | | | Follow up to http://crrev.com/165723009, which changed this in GM. Tested: out/Debug/dm BUG=skia: R=scroggo@google.com, senorblanco@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/175283002 git-svn-id: http://skia.googlecode.com/svn/trunk@13537 2bbb7eff-a529-9590-31e7-b0007b416f81
* Change device factories to take SkImageInfo instead of SkBitmap::ConfigGravatar commit-bot@chromium.org2014-02-16
| | | | | | | | | | | | | patch from issue 167033002 BUG=skia: R=reed@google.com Author: reed@chromium.org Review URL: https://codereview.chromium.org/168653002 git-svn-id: http://skia.googlecode.com/svn/trunk@13463 2bbb7eff-a529-9590-31e7-b0007b416f81
* DM: catch -r foo -w foo.Gravatar commit-bot@chromium.org2014-02-10
| | | | | | | | | | | BUG=skia: R=reed@google.com Author: mtklein@google.com Review URL: https://codereview.chromium.org/152223003 git-svn-id: http://skia.googlecode.com/svn/trunk@13383 2bbb7eff-a529-9590-31e7-b0007b416f81
* Factor out UnPreMultiplyPreservingByteOrderGravatar commit-bot@chromium.org2014-01-15
| | | | | | | | | | | BUG= R=reed@google.com Author: mtklein@google.com Review URL: https://codereview.chromium.org/130303005 git-svn-id: http://skia.googlecode.com/svn/trunk@13103 2bbb7eff-a529-9590-31e7-b0007b416f81
* DM: don't change byte order when unpremultiplying to compare to PNGs.Gravatar commit-bot@chromium.org2014-01-15
| | | | | | | | | | | | | | | | | | | | We've already decoded the PNGs themselves into unpremultiplied bitmaps with native byte order. SkColor is just not the right choice unless you get lucky. dm -w /tmp/dm && dm -r /tmp/dm still works on Linux, and it's much closer to working on Mac: 0 tasks left, 2 failed Failures: matrixconvolution_gpu colormatrix_gpu BUG=skia: R=reed@google.com Author: mtklein@google.com Review URL: https://codereview.chromium.org/139943002 git-svn-id: http://skia.googlecode.com/svn/trunk@13101 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add 565 to dm defaults.Gravatar commit-bot@chromium.org2014-01-09
| | | | | | | | | | | | | Now that optimizations picture modes pass (are skipped) in 565, add 565 to the default configs DM runs. BUG=skia:1994 R=bsalomon@google.com Author: mtklein@google.com Review URL: https://codereview.chromium.org/132133002 git-svn-id: http://skia.googlecode.com/svn/trunk@12999 2bbb7eff-a529-9590-31e7-b0007b416f81
* change offset to xy for pixelref subsettingGravatar reed@google.com2014-01-08
| | | | | | | | | BUG= R=scroggo@google.com Review URL: https://codereview.chromium.org/105893012 git-svn-id: http://skia.googlecode.com/svn/trunk@12958 2bbb7eff-a529-9590-31e7-b0007b416f81
* DM: fix failures when using -r by comparing unpremultiplied.Gravatar commit-bot@chromium.org2014-01-06
| | | | | | | | | | | | | | | | | | | | PNGs store unpremultiplied colors, so we have to convert back and forth with SkBitmap. This is lossy. GM solves this problem by stripping the alpha channel before writing the PNG. This flips it around, converting the GM's output to unpremultiplied as needed. This way each pixel goes from premul to unpremul once, never back. Tested: out/Release/dm -w /tmp/w --config 565 8888 gpu out/Release/dm -r /tmp/w --config 565 8888 gpu BUG= R=bsalomon@google.com Author: mtklein@google.com Review URL: https://codereview.chromium.org/122923003 git-svn-id: http://skia.googlecode.com/svn/trunk@12926 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make tests output spin on the same line by default.Gravatar commit-bot@chromium.org2014-01-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -v now gives a cleaned-up version of the existing output (every test timed, useless information removed) Example output, default: [ 36/193] PathOpsCubicIntersectionOneOffTest then later when finished... [193/193] BlurMaskFilter Example output, -v: (note, codereview is messing up my pretty spacing) Skia UnitTests: --resourcePath resources SK_RELEASE SK_SCALAR_IS_FLOAT skia_arch_width=32 [ 1/193] 0ms PathOpsSimplifyDontFailOneTest [ 2/193] 0ms PathOpsSimplifyFailOneTest [ 3/193] 30ms PathOpsSkpTest [ 4/193] 21ms PathOpsSimplifyFailTest .... [182/193] 1026ms BlitRow [183/193] 808ms AAClip [184/193] 4333ms Math [185/193] 5068ms PackBits [186/193] 2265ms DrawText_DrawPosText [187/193] 9163ms PathOpsRectsThreadedTest [188/193] 5540ms GLPrograms [189/193] 0ms GLInterfaceValidation [190/193] 2ms DeferredCanvas [191/193] 1ms ClipCache [192/193] 30ms BlurMaskFilter [193/193] 10396ms PathOpsOpCubicsThreadedTest Finished 193 tests, 0 failures, 0 skipped. (622610 internal tests) BUG= R=halcanary@google.com, mtklein@google.com, bungeman@google.com Author: mtklein@google.com Review URL: https://codereview.chromium.org/109513002 git-svn-id: http://skia.googlecode.com/svn/trunk@12860 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
* Missed this flag. imagemagnifier asserts without it.Gravatar commit-bot@chromium.org2013-12-02
| | | | | | | | | | | BUG=skia:781 R=epoger@google.com Author: mtklein@google.com Review URL: https://codereview.chromium.org/89533004 git-svn-id: http://skia.googlecode.com/svn/trunk@12441 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
* Add missing SkIntToScalars.Gravatar mtklein@google.com2013-11-27
| | | | | | | | BUG= Review URL: https://codereview.chromium.org/89663003 git-svn-id: http://skia.googlecode.com/svn/trunk@12411 2bbb7eff-a529-9590-31e7-b0007b416f81
* DM: add --tileGridGravatar mtklein@google.com2013-11-26
| | | | | | | | | BUG= R=epoger@google.com Review URL: https://codereview.chromium.org/88563003 git-svn-id: http://skia.googlecode.com/svn/trunk@12408 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: some refactoringGravatar mtklein@google.com2013-11-26
| | | | | | | | | | | | | | - rename ComparisonTask to ChecksumTask - have ChecksumTask handle all the checksum-checking - turn on all extra modes by default - simplify progress output to a countdown BUG= R=bsalomon@google.com Review URL: https://codereview.chromium.org/88543002 git-svn-id: http://skia.googlecode.com/svn/trunk@12398 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix a warning building DM using ninja on Mac.Gravatar scroggo@google.com2013-11-20
| | | | | | | | | | | | | | Here is the warning: ../../dm/DMTask.cpp: In copy constructor ‘DM::Task::Task(const DM::Task&)’: ../../dm/DMTask.cpp:17: warning: base class ‘class SkRunnable’ should be explicitly initialized in the copy constructor Also add an SK_OVERRIDE. R=mtklein@google.com Review URL: https://codereview.chromium.org/76903002 git-svn-id: http://skia.googlecode.com/svn/trunk@12317 2bbb7eff-a529-9590-31e7-b0007b416f81
* DM: add --rtree.Gravatar commit-bot@chromium.org2013-10-30
| | | | | | | | | | | BUG= R=epoger@google.com Author: mtklein@google.com Review URL: https://codereview.chromium.org/51243003 git-svn-id: http://skia.googlecode.com/svn/trunk@12033 2bbb7eff-a529-9590-31e7-b0007b416f81
* DM: add --quietGravatar commit-bot@chromium.org2013-10-29
| | | | | | | | | | | | | This has been handy when tossing in other SkDebugf's. BUG= R=bsalomon@google.com Author: mtklein@google.com Review URL: https://codereview.chromium.org/49323007 git-svn-id: http://skia.googlecode.com/svn/trunk@11998 2bbb7eff-a529-9590-31e7-b0007b416f81
* DM: add --pipeGravatar commit-bot@chromium.org2013-10-28
| | | | | | | | | | | | | internal_links is failing across all three versions. One of the rects doesn't draw. BUG= R=epoger@google.com Author: mtklein@google.com Review URL: https://codereview.chromium.org/47773002 git-svn-id: http://skia.googlecode.com/svn/trunk@11985 2bbb7eff-a529-9590-31e7-b0007b416f81
* DM: move --match check earlier to fix the "N GMs x M configs" log line.Gravatar commit-bot@chromium.org2013-10-25
| | | | | | | | | | | BUG= R=bsalomon@google.com Author: mtklein@google.com Review URL: https://codereview.chromium.org/44443002 git-svn-id: http://skia.googlecode.com/svn/trunk@11963 2bbb7eff-a529-9590-31e7-b0007b416f81
* DM: print cache stats after every GPU GM when GR_CACHE_STATS is setGravatar commit-bot@chromium.org2013-10-24
| | | | | | | | | | | BUG= R=bsalomon@google.com Author: mtklein@google.com Review URL: https://codereview.chromium.org/39743003 git-svn-id: http://skia.googlecode.com/svn/trunk@11950 2bbb7eff-a529-9590-31e7-b0007b416f81
* DM: add --serializeGravatar commit-bot@chromium.org2013-10-21
| | | | | | | | | | | | | | | | | Plus: - minor ReplayTask refactoring to share code with SerializeTask - move --replay to ReplayTask and --serialize to SerializeTask like WriteTask - when --writePath is given, write failures for Replay and Serialize tasks - function names have fewer blatant Skia style violations BUG= R=bsalomon@google.com Author: mtklein@google.com Review URL: https://codereview.chromium.org/32613003 git-svn-id: http://skia.googlecode.com/svn/trunk@11890 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
* DM: duh, don't calculate digests unless we're going to look at them.Gravatar commit-bot@chromium.org2013-10-16
| | | | | | | | | | | | | This doesn't cut the runtime significantly (~6s either way) but it does cut the CPU time down from ~10s to ~6s. BUG= R=bungeman@google.com Author: mtklein@google.com Review URL: https://codereview.chromium.org/27476007 git-svn-id: http://skia.googlecode.com/svn/trunk@11826 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix DM build failures:Gravatar commit-bot@chromium.org2013-10-16
| | | | | | | | | | | | | | | | | - forgot tool_main; - skip building where skia_gpu is false; - lots of scalar -> int warnings; - stray return on a void method; - stifle warning about a uint32_t cast to bool BUG= R=bungeman@google.com Author: mtklein@google.com Review URL: https://codereview.chromium.org/26468005 git-svn-id: http://skia.googlecode.com/svn/trunk@11821 2bbb7eff-a529-9590-31e7-b0007b416f81
* dm is like gm, but faster and with fewer features.Gravatar mtklein@google.com2013-10-16
This is sort of the near-minimal proof-of-concept skeleton. - It can run existing GMs. - It supports most configs (just not PDF). - --replay is the only "fancy" feature it currently supports Hopefully you will be disturbed by its speed. BUG= R=epoger@google.com Review URL: https://codereview.chromium.org/22839016 git-svn-id: http://skia.googlecode.com/svn/trunk@11802 2bbb7eff-a529-9590-31e7-b0007b416f81