aboutsummaryrefslogtreecommitdiffhomepage
path: root/gm/gm.h
Commit message (Collapse)AuthorAge
* GM: replace boilerplate with macrosGravatar halcanary2015-09-09
| | | | | | | | | | | I have verified locally that nothing draws differently. Motivation: * SK_SIMPLE_GM makes it easier to write a GM. * Reducing 1100 lines of code makes maintenance easier. * Simple GMs are easy to convert to Fiddles. Review URL: https://codereview.chromium.org/1333553002
* Style Change: SkNEW->new; SkDELETE->deleteGravatar halcanary2015-08-26
| | | | | | DOCS_PREVIEW= https://skia.org/?cl=1316123003 Review URL: https://codereview.chromium.org/1316123003
* Add caps overrides to GMsGravatar bsalomon2015-05-27
| | | | Review URL: https://codereview.chromium.org/1158963002
* C++11 override should now be supported by all of {bots,Chrome,Android,Mozilla}Gravatar mtklein2015-03-25
| | | | | | | | | NOPRESUBMIT=true BUG=skia: DOCS_PREVIEW= https://skia.org/?cl=1037793002 Review URL: https://codereview.chromium.org/1037793002
* add SkAnimTimer, SPACE = pause/resume, ESP = stopGravatar reed2015-02-02
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/894083003
* allow GMs to animateGravatar reed2015-02-01
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/888283002
* Remove extraneous newline.Gravatar Brian Salomon2015-01-31
| | | | | | TBR=mtklein@google.com Review URL: https://codereview.chromium.org/878333004
* Add standard way to indicate GM is GPU-only.Gravatar bsalomon2015-01-31
| | | | | | TBR=egdaniel@google.com,mtklein@google.com Review URL: https://codereview.chromium.org/869393007
* Revert of DM::SKPSrc::size() reports correct size. (patchset #3 id:40001 of ↵Gravatar mtklein2015-01-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/863243005/) Reason for revert: Still no good on Chrome OS bot: http://build.chromium.org/p/client.skia/builders/Test-ChromeOS-Alex-GMA3150-x86-Release/builds/628/steps/dm/logs/stdio Original issue's description: > DM::SKPSrc::size() reports correct size. > > Also, DM::GPUSink and DM::RasterSink crop DM::Src::size() to 2048x2048. > > Motivation: > Improve PDF testing by printing the entire SKP. > > Source: http://crrev.com/863243004 > > BUG=skia:3365 > > Committed: https://skia.googlesource.com/skia/+/441b10eac09a1f44983e35da827a6b438a409e63 > > CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu12-ShuttleA-GTX660-x86-Release-Trybot,Test-ChromeOS-Alex-GMA3150-x86-Release-Trybot > > Committed: https://skia.googlesource.com/skia/+/d4dd58e43ca4551531ad6a9f54bfc5632ea45a80 TBR=halcanary@google.com,mtklein@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:3365 Review URL: https://codereview.chromium.org/886543005
* DM::SKPSrc::size() reports correct size.Gravatar mtklein2015-01-28
| | | | | | | | | | | | | | | | | Also, DM::GPUSink and DM::RasterSink crop DM::Src::size() to 2048x2048. Motivation: Improve PDF testing by printing the entire SKP. Source: http://crrev.com/863243004 BUG=skia:3365 Committed: https://skia.googlesource.com/skia/+/441b10eac09a1f44983e35da827a6b438a409e63 CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu12-ShuttleA-GTX660-x86-Release-Trybot Review URL: https://codereview.chromium.org/863243005
* remove unused GM flagsGravatar mtklein2015-01-23
| | | | | | | | | | Depends on https://codereview.chromium.org/873753002/ Thumbs up to CLion for refactoring this for me. BUG=skia: Review URL: https://codereview.chromium.org/867963004
* Spin off GM::runAsBench() from flags.Gravatar mtklein2015-01-23
| | | | | | | | This will let us kill flags. BUG=skia: Review URL: https://codereview.chromium.org/873753002
* SIMPLE_GM generates less codeGravatar halcanary2015-01-12
| | | | Review URL: https://codereview.chromium.org/811703005
* Fix up all the easy virtual ... SK_OVERRIDE cases.Gravatar mtklein2015-01-09
| | | | | | | | | | | | This fixes every case where virtual and SK_OVERRIDE were on the same line, which should be the bulk of cases. We'll have to manually clean up the rest over time unless I level up in regexes. for f in (find . -type f); perl -p -i -e 's/virtual (.*)SK_OVERRIDE/\1SK_OVERRIDE/g' $f; end BUG=skia: Review URL: https://codereview.chromium.org/806653007
* add gm: colorwheelGravatar halcanary2014-10-26
| | | | | | BUG=skia:3061 Review URL: https://codereview.chromium.org/680533002
* Merge Replay and Quilt tasks, adding in all BBH implementations.Gravatar mtklein2014-07-09
| | | | | | | | | | | | | | | | | | | | | | | | Replay isn't that helpful of a test any more now that we have the more stringent Quilt tests. Quilt was missing bounding box hierarchies, though, while Replay was sort of testing RTree (pointlessly, as it was drawing without any clip). Now Quilt does everything, testing RTree, QuadTree, and TileGrid. Quilt mode now falls back to drawing all at once (i.e. Replay) for GMs that don't tile perfectly. Still a TODO to make this check more flexible than exact pixel matches. Two GMs fail when using a BBH: - imageresizetiled - resizeimagefilter We think we're not adjusting the bounds of save layers by their paint. This is probably a bug, but one to be fixed separately from adding new tests. BUG=skia: R=robertphillips@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/377373003
* use platform-independent font for gmGravatar caryclark2014-06-23
| | | | | | | | | | | | | | Create a custom typeface and scaler to render simple paths the same on all platforms. GM tests are modified to explicitly select the custom typeface. R=reed@google.com, mtklein@google.com, bungeman@google.com TBR=reed Author: caryclark@google.com Review URL: https://codereview.chromium.org/348323003
* Refactor how we handle resources path in Tests.Gravatar tfarina2014-06-18
| | | | | | | | | | | | | This idea emerged while doing https://codereview.chromium.org/321723002/ (commit 880914c35c8f7fc2e9c57134134c883baf66e538). BUG=None TEST=make tests && out/Debug/tests R=mtklein@google.com Author: tfarina@chromium.org Review URL: https://codereview.chromium.org/346453002
* Cleanup: Get rid of make_isize() function from gm.h.Gravatar tfarina2014-06-09
| | | | | | | | | | | | | | | This helper function is not necessary. The same thing can be achieved by using SkISize::Make() provided by SkTSize API. BUG=skia:2645 TEST=make dm && out/Debug/dm R=robertphillips@google.com, reed@google.com Author: tfarina@chromium.org Review URL: https://codereview.chromium.org/326523002
* Reland "Clean up Test's resourcePath code."Gravatar tfarina2014-06-09
| | | | | | | | | | | | | This relands commit 91359bed48bc006a4319da86eb26db3b2e6d4afb (Clean up Test's resourcePath code." BUG=None TEST=make dm && out/Debug/dm R=mtklein@google.com Author: tfarina@chromium.org Review URL: https://codereview.chromium.org/321723002
* Revert of Clean up Test's resourcePath code. ↵Gravatar mtklein2014-06-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/319473003/) Reason for revert: Some benchmarks are written in a way that makes this change unsafe (e.g. const char* resPath = GetResourcePath().c_str(); in SkipZeroesBench) and Valgrind and ASAN caught that. We can try again after a more careful cleanup of GetResourcePath(). Original issue's description: > Clean up resourcePath code. > > 1) Make the implementation of SetResourcePath/GetResourcePath of GM and SkBenchmark match with the one in Test. > 2) Make gResourcePath a static pointer to const char and move it inside the classes. > > BUG=None > TEST=make tests && out/Debug/tests > make gm && out/Debug/gm > make bench && out/Debug/bench > R=mtklein@google.com > > Committed: https://skia.googlesource.com/skia/+/52e4f413ffe2d281f9e90ff2147db08083ffcba7 R=tfarina@chromium.org TBR=tfarina@chromium.org NOTREECHECKS=true NOTRY=true BUG=None Author: mtklein@google.com Review URL: https://codereview.chromium.org/320733002
* Clean up resourcePath code.Gravatar tfarina2014-06-07
| | | | | | | | | | | | | | | | 1) Make the implementation of SetResourcePath/GetResourcePath of GM and SkBenchmark match with the one in Test. 2) Make gResourcePath a static pointer to const char and move it inside the classes. BUG=None TEST=make tests && out/Debug/tests make gm && out/Debug/gm make bench && out/Debug/bench R=mtklein@google.com Author: tfarina@chromium.org Review URL: https://codereview.chromium.org/319473003
* 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
* add peekPixels to SkCanvas and SkSurfaceGravatar commit-bot@chromium.org2014-02-13
| | | | | | | | | | | | | | fix reference to SkBaseDevice, which was only a problem in no-gpu build This reverts commit 4fa44a6bf73891b21917fb90d02beef9143bffa3. R=reed@google.com Author: reed@chromium.org Review URL: https://codereview.chromium.org/163603003 git-svn-id: http://skia.googlecode.com/svn/trunk@13432 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert of add peekPixels to SkCanvas and SkSurface ↵Gravatar commit-bot@chromium.org2014-02-13
| | | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/161733002/) Reason for revert: compile issues with gm/xfermodes3 Original issue's description: > add peekPixels to SkCanvas and SkSurface > > clone of https://codereview.chromium.org/159723006/ > > Committed: https://code.google.com/p/skia/source/detail?r=13427 R=jvanverth@google.com NOTREECHECKS=true NOTRY=true Author: reed@chromium.org Review URL: https://codereview.chromium.org/163823002 git-svn-id: http://skia.googlecode.com/svn/trunk@13428 2bbb7eff-a529-9590-31e7-b0007b416f81
* add peekPixels to SkCanvas and SkSurfaceGravatar mike@reedtribe.org2014-02-13
| | | | | | | | clone of https://codereview.chromium.org/159723006/ Review URL: https://codereview.chromium.org/161733002 git-svn-id: http://skia.googlecode.com/svn/trunk@13427 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make GMs aware of what tool they're being run in.Gravatar commit-bot@chromium.org2014-02-07
| | | | | | | | | | | | | Add a saveLayer set of draws to convex_poly_clip and fix GPU bug where polygon clips don't account for the translation between clip and device space. BUG=skia:2051 R=robertphillips@google.com, reed@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/148283017 git-svn-id: http://skia.googlecode.com/svn/trunk@13371 2bbb7eff-a529-9590-31e7-b0007b416f81
* Allow GMs to be used as benchmarks. Make convex_poly_clip opt in.Gravatar commit-bot@chromium.org2014-02-03
| | | | | | | | | | R=reed@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/151843002 git-svn-id: http://skia.googlecode.com/svn/trunk@13279 2bbb7eff-a529-9590-31e7-b0007b416f81
* Implement a benchmark for GrResourceCacheGravatar commit-bot@chromium.org2013-11-21
| | | | | | | | | | | | | | | | | | | | | | | Adds "grresourcecache_add" and "grresourcecache_find" bench tests to test GrResourceCache::add and GrResourceCache::find. The tests work only with GPU backends, since GrResourceCache needs an GrGpu. Modifies bench tests to override SkBenchmark::isSuitableFor(Backend) function that specifies what kind of backend the test is inteded for. This replaces the previous "fIsRendering" flag that would indicate test that did no rendering. Adds SkCanvas::getGrContext() call to get the GrContext that the canvas ends up drawing to. The member function solves a common use-case that is also used in the benchmark added here. R=mtklein@google.com, bsalomon@google.com Author: kkinnunen@nvidia.com Review URL: https://codereview.chromium.org/73643005 git-svn-id: http://skia.googlecode.com/svn/trunk@12334 2bbb7eff-a529-9590-31e7-b0007b416f81
* GM: Allow ignored-tests.txt to list configs as well as tests (and ↵Gravatar epoger@google.com2013-10-07
| | | | | | | | | | | | | | | combinations too) BUG=skia:1657 This will allow us to ignore poppler failures until bug 1657 is resolved (but this CL doesn't actually make that change to ignored-tests.txt yet) R=scroggo@google.com Review URL: https://codereview.chromium.org/26294004 git-svn-id: http://skia.googlecode.com/svn/trunk@11639 2bbb7eff-a529-9590-31e7-b0007b416f81
* gm: add a flag to force perspective usage in all gmsGravatar commit-bot@chromium.org2013-09-26
| | | | | | | | | | | BUG= R=reed@google.com, epoger@google.com, borenet@google.com Author: edisonn@google.com Review URL: https://chromiumcodereview.appspot.com/23587029 git-svn-id: http://skia.googlecode.com/svn/trunk@11487 2bbb7eff-a529-9590-31e7-b0007b416f81
* gm: add --ignoreTests flagGravatar epoger@google.com2013-09-19
| | | | | | | | | BUG=skia:1600 R=scroggo@google.com Review URL: https://codereview.chromium.org/23526065 git-svn-id: http://skia.googlecode.com/svn/trunk@11374 2bbb7eff-a529-9590-31e7-b0007b416f81
* Have GMs read the GrContext via a setter/getter rather than a global.Gravatar mtklein@google.com2013-09-16
| | | | | | | | | | | | | | | | GetGr's current global state makes things rather tricky to run GPU GMs in parallel (DM). This API change will let me feed the right GrContext to the right GM in DM. I'm not planning on changing the status quo in GM-the-tool: the new getters and setters still just return the same global. BUG=skia:1590 R=bsalomon@google.com, robertphillips@google.com Review URL: https://codereview.chromium.org/23567032 git-svn-id: http://skia.googlecode.com/svn/trunk@11306 2bbb7eff-a529-9590-31e7-b0007b416f81
* Rewrite SkTRegistry to take any trivially-copyable type.Gravatar mtklein@google.com2013-09-04
| | | | | | | | | | | | | | Obviously these are all currently function pointers of type T(*)(P) for various T and P. In bench refactoring, I'm trying to register a function pointer of type T(*)(), which can't be done as is (passing P=void doesn't work). This also lets us register things like primitives, which is conceivable useful. BUG= R=reed@google.com, scroggo@google.com Review URL: https://codereview.chromium.org/23453031 git-svn-id: http://skia.googlecode.com/svn/trunk@11082 2bbb7eff-a529-9590-31e7-b0007b416f81
* Split SkDevice into SkBaseDevice and SkBitmapDeviceGravatar robertphillips@google.com2013-08-29
| | | | | | | | https://codereview.chromium.org/22978012/ git-svn-id: http://skia.googlecode.com/svn/trunk@10995 2bbb7eff-a529-9590-31e7-b0007b416f81
* Create new target to hold gpu test code, enable direct testing of GrEffects ↵Gravatar commit-bot@chromium.org2013-08-21
| | | | | | | | | | | | in GM. R=robertphillips@google.com, jvanverth@google.com, egdaniel@google.com Author: bsalomon@google.com Review URL: https://chromiumcodereview.appspot.com/23352003 git-svn-id: http://skia.googlecode.com/svn/trunk@10866 2bbb7eff-a529-9590-31e7-b0007b416f81
* Support multiple PDF rendering backends in the GMGravatar vandebo@chromium.org2013-08-20
| | | | | | | | R=epoger@google.com, vandebo@chromium.org Review URL: https://codereview.chromium.org/21669004 git-svn-id: http://skia.googlecode.com/svn/trunk@10841 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fixes for factory GM.Gravatar commit-bot@chromium.org2013-08-16
| | | | | | | | | | | | | | | | | | | Skip cross process pipe playback in gm/factory.cpp. Add a new flag to gm.h to skip only this form of pipe playback. In gmmain.cpp, use a bitmap encoder function for serialization that stores the encoded data if present, and use a bitmap decoder on deserialization. This allows gm/factory to work through serialization. Also respect the new pipe skipping flag. BUG=https://code.google.com/p/skia/issues/detail?id=1231 R=borenet@google.com Author: scroggo@google.com Review URL: https://chromiumcodereview.appspot.com/23192004 git-svn-id: http://skia.googlecode.com/svn/trunk@10786 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add an option to create unpremultiplied bitmaps.Gravatar scroggo@google.com2013-06-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently they cannot be used directly by Skia, but the pixels can be used elsewhere. SkImageDecoder: Add functions to require unpremultiplied output and query the presence of the requirement SkImageDecoder_libpng: SkImageDecoder_libwebp: SkImageDecoder_WIC: Respect the requirement for unpremultiplied output. TODO: Fix SkImageDecoder_CG. SkScaledBitmapSampler: Add procs to skip premultiplication and a boolean parameter to use those procs. ImageDecodingTest: Test unpremultiplied bitmap decoding. SampleUnpremul: Add a sample which allows visually comparing between the unpremultiplied version (copied into a premultiplied bitmap, since drawing unpremultiplied is not currently supported) and a premultiplied version of image files. gm.h: Add a getter for the resource path, so Samples can use it. As of patch set 13, https://codereview.chromium.org/16816016/ and https://codereview.chromium.org/16983004/, which were approved separately. R=reed@google.com Review URL: https://codereview.chromium.org/16410009 git-svn-id: http://skia.googlecode.com/svn/trunk@9612 2bbb7eff-a529-9590-31e7-b0007b416f81
* GM::height() now returns the height, not the width.Gravatar scroggo@google.com2013-04-12
| | | | | | | | | Fortunately, the only current caller has a width and height that match, so this should not change any existing GMs. Review URL: https://codereview.chromium.org/14234022 git-svn-id: http://skia.googlecode.com/svn/trunk@8669 2bbb7eff-a529-9590-31e7-b0007b416f81
* gm: write all messages to stdout/stderr with "GM:" preamble to distinguish ↵Gravatar epoger@google.com2013-03-13
| | | | | | | | from various debug messages coming from elsewhere Review URL: https://codereview.chromium.org/12691009 git-svn-id: http://skia.googlecode.com/svn/trunk@8126 2bbb7eff-a529-9590-31e7-b0007b416f81
* add flag to skip gpu testGravatar reed@google.com2013-03-08
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@8036 2bbb7eff-a529-9590-31e7-b0007b416f81
* GM : Unused parameters cleanupGravatar sugoi@google.com2013-02-27
| | | | | | | | | I removed unused parameters in the gms wherever it was trivial to do so. I'm trying to get the easy ones out of the way before we get into more involved discussions around this. Review URL: https://codereview.appspot.com/7398056 git-svn-id: http://skia.googlecode.com/svn/trunk@7881 2bbb7eff-a529-9590-31e7-b0007b416f81
* add width() and height() helpersGravatar reed@google.com2013-02-01
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@7511 2bbb7eff-a529-9590-31e7-b0007b416f81
* Changing imageFilter GM tests to use drawBitmap instead of drawSpriteGravatar junov@chromium.org2013-01-14
| | | | | | | The motivation is be able to test the filters with scaled SkPicture playback in isolation from the issues that surround usage of drawSprite Review URL: https://codereview.appspot.com/7060071 git-svn-id: http://skia.googlecode.com/svn/trunk@7152 2bbb7eff-a529-9590-31e7-b0007b416f81
* Adding gm test steps for rtree and tileGridGravatar junov@chromium.org2012-12-18
| | | | | | | | | | | The new passes are enabled by default, and can be disabled with --nortree and --notileGrid. With this change, the skia buildbots will begin continuously testing rtree and tileGrid. BUG=http://code.google.com/p/skia/issues/detail?id=1014 TEST=gm Review URL: https://codereview.appspot.com/6941072 git-svn-id: http://skia.googlecode.com/svn/trunk@6886 2bbb7eff-a529-9590-31e7-b0007b416f81
* Modifying SkTileGrid to support arbitrary query rectangles.Gravatar junov@chromium.org2012-12-13
| | | | | | | | | | | Exposing SkTileGrid functionality in the public API through SkTileGridPicture. This patch also makes TileGrid and Rtree testable in gm, which revealed errors. TEST=gm with '--tileGrid' BUG=http://code.google.com/p/chromium/issues/detail?id=164636 Review URL: https://codereview.appspot.com/6933044 git-svn-id: http://skia.googlecode.com/svn/trunk@6783 2bbb7eff-a529-9590-31e7-b0007b416f81
* add onOnceBeforeDraw() virtual, so gm's can easily perform lazy initializationGravatar reed@google.com2012-11-27
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@6559 2bbb7eff-a529-9590-31e7-b0007b416f81
* flag the GM if we're in deferred-canvas mode, to work-around bug trying toGravatar reed@google.com2012-11-16
| | | | | | | | get the context from its device. git-svn-id: http://skia.googlecode.com/svn/trunk@6452 2bbb7eff-a529-9590-31e7-b0007b416f81
* add test for bug in line drawing. fix is pending a way to handle all of theGravatar reed@google.com2012-10-30
| | | | | | | | rebaselines... git-svn-id: http://skia.googlecode.com/svn/trunk@6208 2bbb7eff-a529-9590-31e7-b0007b416f81