diff options
110 files changed, 483 insertions, 56 deletions
diff --git a/dm/DMCpuGMTask.cpp b/dm/DMCpuGMTask.cpp index 7ab1d44ee5..e1ba81d1c1 100644 --- a/dm/DMCpuGMTask.cpp +++ b/dm/DMCpuGMTask.cpp @@ -1,10 +1,10 @@ #include "DMCpuGMTask.h" #include "DMExpectationsTask.h" #include "DMPipeTask.h" +#include "DMQuiltTask.h" #include "DMRecordTask.h" #include "DMReplayTask.h" #include "DMSerializeTask.h" -#include "DMTileGridTask.h" #include "DMUtil.h" #include "DMWriteTask.h" @@ -39,11 +39,11 @@ void CpuGMTask::draw() { SPAWN(PipeTask, fGMFactory(NULL), bitmap, false, false); SPAWN(PipeTask, fGMFactory(NULL), bitmap, true, false); SPAWN(PipeTask, fGMFactory(NULL), bitmap, true, true); + SPAWN(QuiltTask, fGMFactory(NULL), bitmap); SPAWN(RecordTask, fGMFactory(NULL), bitmap); SPAWN(ReplayTask, fGMFactory(NULL), bitmap, false); SPAWN(ReplayTask, fGMFactory(NULL), bitmap, true); SPAWN(SerializeTask, fGMFactory(NULL), bitmap); - SPAWN(TileGridTask, fGMFactory(NULL), bitmap, SkISize::Make(16,16)); SPAWN(WriteTask, bitmap); #undef SPAWN diff --git a/dm/DMTileGridTask.cpp b/dm/DMQuiltTask.cpp index 4299bd7985..e8f8b60a0f 100644 --- a/dm/DMTileGridTask.cpp +++ b/dm/DMQuiltTask.cpp @@ -1,51 +1,38 @@ -#include "DMTileGridTask.h" -#include "DMWriteTask.h" +#include "DMQuiltTask.h" #include "DMUtil.h" +#include "DMWriteTask.h" -#include "SkBBHFactory.h" #include "SkCommandLineFlags.h" #include "SkPicture.h" -// TODO(mtklein): Tile grid tests are currently failing. (Skia issue 1198). When fixed, -> true. -DEFINE_bool(tileGrid, false, "If true, run picture replay tests with a tile grid."); +DEFINE_bool(quilt, true, "If true, draw into a quilt of small tiles and compare."); +DEFINE_int32(quiltTile, 16, "Dimension of (square) quilt tile."); namespace DM { -TileGridTask::TileGridTask(const Task& parent, skiagm::GM* gm, SkBitmap reference, SkISize tileSize) +QuiltTask::QuiltTask(const Task& parent, skiagm::GM* gm, SkBitmap reference) : CpuTask(parent) - , fName(UnderJoin(parent.name().c_str(), "tilegrid")) + , fName(UnderJoin(parent.name().c_str(), "quilt")) , fGM(gm) , fReference(reference) - , fTileSize(tileSize) {} static int tiles_needed(int fullDimension, int tileDimension) { return (fullDimension + tileDimension - 1) / tileDimension; } -void TileGridTask::draw() { - const SkTileGridFactory::TileGridInfo info = { - fTileSize, - SkISize::Make(0,0), // Overlap between adjacent tiles. - SkIPoint::Make(0,0), // Offset. - }; - SkTileGridFactory factory(info); - SkAutoTUnref<SkPicture> recorded(RecordPicture(fGM.get(), - SkPicture::kUsePathBoundsForClip_RecordingFlag, - &factory)); +void QuiltTask::draw() { + SkAutoTUnref<SkPicture> recorded(RecordPicture(fGM.get())); SkBitmap full; SetupBitmap(fReference.colorType(), fGM.get(), &full); SkCanvas fullCanvas(full); SkBitmap tile; - tile.allocPixels(SkImageInfo::Make(fTileSize.width(), fTileSize.height(), + tile.allocPixels(SkImageInfo::Make(FLAGS_quiltTile, FLAGS_quiltTile, fReference.colorType(), kPremul_SkAlphaType)); SkCanvas tileCanvas(tile); - SkPaint paint; - paint.setXfermodeMode(SkXfermode::kSrc_Mode); - for (int y = 0; y < tiles_needed(full.height(), tile.height()); y++) { for (int x = 0; x < tiles_needed(full.width(), tile.width()); x++) { SkAutoCanvasRestore ar(&tileCanvas, true/*also save now*/); @@ -58,7 +45,7 @@ void TileGridTask::draw() { recorded->draw(&tileCanvas); tileCanvas.flush(); - fullCanvas.drawBitmap(tile, xOffset, yOffset, &paint); + fullCanvas.drawBitmap(tile, xOffset, yOffset, NULL); } } @@ -68,14 +55,14 @@ void TileGridTask::draw() { } } -bool TileGridTask::shouldSkip() const { +bool QuiltTask::shouldSkip() const { if (fGM->getFlags() & skiagm::GM::kSkipPicture_Flag) { return true; } if (fGM->getFlags() & skiagm::GM::kSkipTiled_Flag) { return true; } - return !FLAGS_tileGrid; + return !FLAGS_quilt; } } // namespace DM diff --git a/dm/DMTileGridTask.h b/dm/DMQuiltTask.h index 911a1c52a1..56f322f067 100644 --- a/dm/DMTileGridTask.h +++ b/dm/DMQuiltTask.h @@ -1,5 +1,5 @@ -#ifndef DMTileGridTask_DEFINED -#define DMTileGridTask_DEFINED +#ifndef DMQuiltTask_DEFINED +#define DMQuiltTask_DEFINED #include "DMTask.h" #include "SkBitmap.h" @@ -11,13 +11,12 @@ namespace DM { -class TileGridTask : public CpuTask { +class QuiltTask : public CpuTask { public: - TileGridTask(const Task& parent, // TileGridTask must be a child task. Pass its parent here. - skiagm::GM*, // GM to run through a picture. Takes ownership. - SkBitmap reference, // Bitmap to compare picture replay results to. - SkISize tileSize); // Tile size to use. + QuiltTask(const Task& parent, // QuiltTask must be a child task. Pass its parent here. + skiagm::GM*, // GM to run through a picture. Takes ownership. + SkBitmap reference); // Bitmap to compare picture replay results to. virtual void draw() SK_OVERRIDE; virtual bool shouldSkip() const SK_OVERRIDE; @@ -27,7 +26,6 @@ private: const SkString fName; SkAutoTDelete<skiagm::GM> fGM; const SkBitmap fReference; - const SkISize fTileSize; }; } // namespace DM diff --git a/gm/aarectmodes.cpp b/gm/aarectmodes.cpp index f12ff8c63f..ee0bacee2e 100644 --- a/gm/aarectmodes.cpp +++ b/gm/aarectmodes.cpp @@ -133,6 +133,9 @@ namespace skiagm { } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } virtual SkString onShortName() { return SkString("aarectmodes"); diff --git a/gm/alphagradients.cpp b/gm/alphagradients.cpp index 0db51e8ea1..e63fbc9f47 100644 --- a/gm/alphagradients.cpp +++ b/gm/alphagradients.cpp @@ -73,7 +73,7 @@ protected: } } - virtual uint32_t onGetFlags() const { return kSkipPipe_Flag; } + virtual uint32_t onGetFlags() const { return kSkipPipe_Flag | kSkipTiled_Flag; } private: typedef skiagm::GM INHERITED; diff --git a/gm/arcofzorro.cpp b/gm/arcofzorro.cpp index f5a6c21c98..d78c76c590 100644 --- a/gm/arcofzorro.cpp +++ b/gm/arcofzorro.cpp @@ -20,6 +20,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() SK_OVERRIDE { return SkString("arcofzorro"); } diff --git a/gm/bicubicfilter.cpp b/gm/bicubicfilter.cpp index 825175e252..ebaed51d0d 100644 --- a/gm/bicubicfilter.cpp +++ b/gm/bicubicfilter.cpp @@ -18,6 +18,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() { return SkString("bicubicfilter"); } diff --git a/gm/bigmatrix.cpp b/gm/bigmatrix.cpp index 30de8653d9..288e827589 100644 --- a/gm/bigmatrix.cpp +++ b/gm/bigmatrix.cpp @@ -19,6 +19,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() { return SkString("bigmatrix"); } diff --git a/gm/bigtext.cpp b/gm/bigtext.cpp index e487625dcf..9c2682c15b 100644 --- a/gm/bigtext.cpp +++ b/gm/bigtext.cpp @@ -19,6 +19,10 @@ public: BigTextGM() {} protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() SK_OVERRIDE { return SkString("bigtext"); } diff --git a/gm/bitmapmatrix.cpp b/gm/bitmapmatrix.cpp index e0b9199011..b5b8e59dc1 100644 --- a/gm/bitmapmatrix.cpp +++ b/gm/bitmapmatrix.cpp @@ -24,6 +24,10 @@ public: DrawBitmapMatrixGM() {} protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() SK_OVERRIDE { return SkString("drawbitmapmatrix"); } diff --git a/gm/bitmaprecttest.cpp b/gm/bitmaprecttest.cpp index 6f0ab58077..06495b957e 100644 --- a/gm/bitmaprecttest.cpp +++ b/gm/bitmaprecttest.cpp @@ -56,6 +56,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() { return SkString("bitmaprecttest"); } diff --git a/gm/bitmapscroll.cpp b/gm/bitmapscroll.cpp index d2b8ca0f9a..ee5efc0e7d 100644 --- a/gm/bitmapscroll.cpp +++ b/gm/bitmapscroll.cpp @@ -59,6 +59,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() { return SkString("bitmapscroll"); } diff --git a/gm/bitmapshader.cpp b/gm/bitmapshader.cpp index 8085f5c42c..5cf5e14ce8 100644 --- a/gm/bitmapshader.cpp +++ b/gm/bitmapshader.cpp @@ -50,6 +50,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() { return SkString("bitmapshaders"); } diff --git a/gm/bleed.cpp b/gm/bleed.cpp index 426129b044..99dba70d52 100644 --- a/gm/bleed.cpp +++ b/gm/bleed.cpp @@ -85,6 +85,10 @@ public: BleedGM() {} protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() SK_OVERRIDE { return SkString("bleed"); } diff --git a/gm/blurrect.cpp b/gm/blurrect.cpp index bc5dbc8adf..835d6aea7d 100644 --- a/gm/blurrect.cpp +++ b/gm/blurrect.cpp @@ -115,7 +115,7 @@ protected: } } - virtual uint32_t onGetFlags() const { return kSkipPipe_Flag; } + virtual uint32_t onGetFlags() const { return kSkipPipe_Flag | kSkipTiled_Flag; } private: void drawProcs(SkCanvas* canvas, const SkRect& r, const SkPaint& paint, diff --git a/gm/blurroundrect.cpp b/gm/blurroundrect.cpp index 6221480d55..52938c04dc 100644 --- a/gm/blurroundrect.cpp +++ b/gm/blurroundrect.cpp @@ -43,6 +43,10 @@ public: fRRect.setRectRadii(r, radii); } + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() SK_OVERRIDE { return fName; } @@ -101,6 +105,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() SK_OVERRIDE { return fName; } diff --git a/gm/blurs.cpp b/gm/blurs.cpp index 822d488e59..bc73d9577f 100644 --- a/gm/blurs.cpp +++ b/gm/blurs.cpp @@ -18,6 +18,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() { return SkString("blurs"); } diff --git a/gm/circles.cpp b/gm/circles.cpp index 36cd8b000d..e69a96d300 100644 --- a/gm/circles.cpp +++ b/gm/circles.cpp @@ -25,6 +25,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() SK_OVERRIDE { return SkString("circles"); } diff --git a/gm/circularclips.cpp b/gm/circularclips.cpp index fdf2dfb4f3..07b59f0a83 100644 --- a/gm/circularclips.cpp +++ b/gm/circularclips.cpp @@ -16,6 +16,10 @@ public: CircularClipsGM() {} protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() { return SkString("circular-clips"); } diff --git a/gm/coloremoji.cpp b/gm/coloremoji.cpp index 8497521582..a935c979f8 100644 --- a/gm/coloremoji.cpp +++ b/gm/coloremoji.cpp @@ -22,6 +22,10 @@ public: SkSafeUnref(fTypeface); } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual void onOnceBeforeDraw() SK_OVERRIDE { SkString filename(INHERITED::gResourcePath); diff --git a/gm/colorfilters.cpp b/gm/colorfilters.cpp index 45e975e7ea..5af2122dc9 100644 --- a/gm/colorfilters.cpp +++ b/gm/colorfilters.cpp @@ -49,6 +49,10 @@ protected: return SkISize::Make(640, 480); } + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE { SkPaint paint; SkRect r; diff --git a/gm/complexclip.cpp b/gm/complexclip.cpp index 8ff1dfafd9..987b20133e 100644 --- a/gm/complexclip.cpp +++ b/gm/complexclip.cpp @@ -29,6 +29,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + SkString onShortName() { SkString str; diff --git a/gm/complexclip2.cpp b/gm/complexclip2.cpp index 2b94ffd661..4c69cadc3c 100644 --- a/gm/complexclip2.cpp +++ b/gm/complexclip2.cpp @@ -111,6 +111,13 @@ protected: return ""; } + virtual uint32_t onGetFlags() const SK_OVERRIDE { + if (kRect_Clip != fClip) { + return kSkipTiled_Flag; + } + return 0; + } + virtual SkString onShortName() { if (kRect_Clip == fClip && !fAntiAlias) { return SkString("complexclip2"); diff --git a/gm/composeshader.cpp b/gm/composeshader.cpp index 4f2c76204f..b40e2263d6 100644 --- a/gm/composeshader.cpp +++ b/gm/composeshader.cpp @@ -51,6 +51,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() SK_OVERRIDE { return SkString("composeshader"); } diff --git a/gm/convexpaths.cpp b/gm/convexpaths.cpp index 91afbfeba3..9acabe1e61 100644 --- a/gm/convexpaths.cpp +++ b/gm/convexpaths.cpp @@ -34,6 +34,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() { return SkString("convexpaths"); } diff --git a/gm/convexpolyclip.cpp b/gm/convexpolyclip.cpp index ed67434009..b76335c856 100644 --- a/gm/convexpolyclip.cpp +++ b/gm/convexpolyclip.cpp @@ -213,7 +213,7 @@ protected: } virtual uint32_t onGetFlags() const { - return kAsBench_Flag; + return kAsBench_Flag | kSkipTiled_Flag; } private: diff --git a/gm/cubicpaths.cpp b/gm/cubicpaths.cpp index f95f700660..39417010c1 100644 --- a/gm/cubicpaths.cpp +++ b/gm/cubicpaths.cpp @@ -16,6 +16,10 @@ public: ClippedCubicGM() {} protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + SkString onShortName() { return SkString("clippedcubic"); } @@ -55,6 +59,10 @@ public: CubicPathGM() {} protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + SkString onShortName() { return SkString("cubicpath"); } @@ -198,6 +206,10 @@ public: CubicClosePathGM() {} protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + SkString onShortName() { return SkString("cubicclosepath"); } diff --git a/gm/dashcubics.cpp b/gm/dashcubics.cpp index f99c0c34f4..1e23f15a53 100644 --- a/gm/dashcubics.cpp +++ b/gm/dashcubics.cpp @@ -20,6 +20,10 @@ public: DashCubicsGM() {} protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() { return SkString("dashcubics"); } diff --git a/gm/dashing.cpp b/gm/dashing.cpp index 595de5227a..2f5be08159 100644 --- a/gm/dashing.cpp +++ b/gm/dashing.cpp @@ -37,6 +37,10 @@ public: DashingGM() {} protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + SkString onShortName() { return SkString("dashing"); } @@ -119,6 +123,10 @@ public: Dashing2GM() {} protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + SkString onShortName() { return SkString("dashing2"); } @@ -177,6 +185,10 @@ public: Dashing3GM() {} protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + SkString onShortName() { return SkString("dashing3"); } diff --git a/gm/degeneratesegments.cpp b/gm/degeneratesegments.cpp index 3f99c6852d..022f1b1920 100644 --- a/gm/degeneratesegments.cpp +++ b/gm/degeneratesegments.cpp @@ -22,6 +22,10 @@ protected: const char* fName2; }; + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + SkString onShortName() { return SkString("degeneratesegments"); } diff --git a/gm/downsamplebitmap.cpp b/gm/downsamplebitmap.cpp index 4b97804b01..00b1a4b587 100644 --- a/gm/downsamplebitmap.cpp +++ b/gm/downsamplebitmap.cpp @@ -40,6 +40,13 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + if (SkPaint::kHigh_FilterLevel != fFilterLevel) { + return kSkipTiled_Flag; + } + return 0; + } + virtual SkString onShortName() SK_OVERRIDE { return fName; } diff --git a/gm/drawlooper.cpp b/gm/drawlooper.cpp index 67e280e4c4..a04955b4a8 100644 --- a/gm/drawlooper.cpp +++ b/gm/drawlooper.cpp @@ -27,6 +27,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkISize onISize() { return SkISize::Make(520, 160); } diff --git a/gm/dropshadowimagefilter.cpp b/gm/dropshadowimagefilter.cpp index 93768412a6..ec849b244d 100644 --- a/gm/dropshadowimagefilter.cpp +++ b/gm/dropshadowimagefilter.cpp @@ -115,7 +115,7 @@ protected: // from scaled replay tests because drawSprite ignores the // reciprocal scale that is applied at record time, which is // the intended behavior of drawSprite. - return kSkipScaledReplay_Flag; + return kSkipScaledReplay_Flag | kSkipTiled_Flag; } virtual void onDraw(SkCanvas* canvas) { diff --git a/gm/drrect.cpp b/gm/drrect.cpp index 74c6f1dc58..d7cd894a79 100644 --- a/gm/drrect.cpp +++ b/gm/drrect.cpp @@ -15,6 +15,10 @@ public: DRRectGM() {} protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() SK_OVERRIDE { return SkString("drrect"); } diff --git a/gm/fatpathfill.cpp b/gm/fatpathfill.cpp index 8b892327a9..ba6fffee12 100644 --- a/gm/fatpathfill.cpp +++ b/gm/fatpathfill.cpp @@ -56,6 +56,10 @@ public: FatPathFillGM() {} protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() { return SkString("fatpathfill"); } diff --git a/gm/filltypes.cpp b/gm/filltypes.cpp index 7df02ae5c9..bc9de530a3 100644 --- a/gm/filltypes.cpp +++ b/gm/filltypes.cpp @@ -25,6 +25,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() { return SkString("filltypes"); } diff --git a/gm/filltypespersp.cpp b/gm/filltypespersp.cpp index cbd966cb2d..9d0827c449 100644 --- a/gm/filltypespersp.cpp +++ b/gm/filltypespersp.cpp @@ -24,6 +24,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() { return SkString("filltypespersp"); } diff --git a/gm/filterbitmap.cpp b/gm/filterbitmap.cpp index c580591b39..c650902b4b 100644 --- a/gm/filterbitmap.cpp +++ b/gm/filterbitmap.cpp @@ -71,6 +71,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() SK_OVERRIDE { return fName; } diff --git a/gm/fontscaler.cpp b/gm/fontscaler.cpp index 33f6779d2c..a88710217b 100644 --- a/gm/fontscaler.cpp +++ b/gm/fontscaler.cpp @@ -19,6 +19,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() { return SkString("fontscaler"); } diff --git a/gm/getpostextpath.cpp b/gm/getpostextpath.cpp index 68faf95fad..0cb5bb3ede 100644 --- a/gm/getpostextpath.cpp +++ b/gm/getpostextpath.cpp @@ -16,6 +16,10 @@ public: GetPosTextPathGM() {} protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + SkString onShortName() { return SkString("getpostextpath"); } diff --git a/gm/giantbitmap.cpp b/gm/giantbitmap.cpp index ed4190a814..1a78fcfb90 100644 --- a/gm/giantbitmap.cpp +++ b/gm/giantbitmap.cpp @@ -71,6 +71,13 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + if (fDoFilter && fDoRotate && fMode != SkShader::kClamp_TileMode) { + return kSkipTiled_Flag; + } + return 0; + } + virtual SkString onShortName() { SkString str("giantbitmap_"); switch (fMode) { diff --git a/gm/gradientDirtyLaundry.cpp b/gm/gradientDirtyLaundry.cpp index ff6864ad7a..f7797e718f 100644 --- a/gm/gradientDirtyLaundry.cpp +++ b/gm/gradientDirtyLaundry.cpp @@ -75,6 +75,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + SkString onShortName() SK_OVERRIDE { return SkString("gradient_dirty_laundry"); } virtual SkISize onISize() SK_OVERRIDE { return make_isize(640, 615); } diff --git a/gm/gradient_matrix.cpp b/gm/gradient_matrix.cpp index b2bc5d1cd8..4f2915ab4d 100644 --- a/gm/gradient_matrix.cpp +++ b/gm/gradient_matrix.cpp @@ -120,6 +120,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + SkString onShortName() SK_OVERRIDE { return SkString("gradient_matrix"); } diff --git a/gm/gradients.cpp b/gm/gradients.cpp index 5f84d9f3fa..f5abb07efc 100644 --- a/gm/gradients.cpp +++ b/gm/gradients.cpp @@ -112,6 +112,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + SkString onShortName() { return SkString("gradients"); } @@ -165,6 +169,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + SkString onShortName() { return SkString("gradients_local_perspective"); } @@ -294,6 +302,10 @@ public: ClampedGradientsGM() {} protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + SkString onShortName() { return SkString("clamped_gradients"); } virtual SkISize onISize() { return SkISize::Make(640, 510); } @@ -333,6 +345,10 @@ public: RadialGradientGM() {} protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + SkString onShortName() { return SkString("radial_gradient"); } virtual SkISize onISize() { return SkISize::Make(1280, 1280); } void drawBG(SkCanvas* canvas) { @@ -372,6 +388,10 @@ public: RadialGradient2GM() {} protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + SkString onShortName() { return SkString("radial_gradient2"); } virtual SkISize onISize() { return SkISize::Make(800, 400); } void drawBG(SkCanvas* canvas) { diff --git a/gm/gradients_2pt_conical.cpp b/gm/gradients_2pt_conical.cpp index 7f0467e53e..dece66ed8b 100644 --- a/gm/gradients_2pt_conical.cpp +++ b/gm/gradients_2pt_conical.cpp @@ -339,6 +339,13 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + if (fGradCaseType != kInside_GradCaseType) { + return kSkipTiled_Flag; + } + return 0; + } + SkString onShortName() { return fName; } diff --git a/gm/gradients_no_texture.cpp b/gm/gradients_no_texture.cpp index 8086eabbf4..2e75c9ed79 100644 --- a/gm/gradients_no_texture.cpp +++ b/gm/gradients_no_texture.cpp @@ -92,6 +92,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + SkString onShortName() SK_OVERRIDE { return SkString("gradients_no_texture"); } virtual SkISize onISize() SK_OVERRIDE { return make_isize(640, 615); } @@ -214,6 +218,10 @@ public: GradientsManyColorsGM() {} protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + SkString onShortName() SK_OVERRIDE { return SkString("gradients_many"); } virtual SkISize onISize() SK_OVERRIDE { return SkISize::Make(850, 100); } diff --git a/gm/gradtext.cpp b/gm/gradtext.cpp index d782338823..42513b73de 100644 --- a/gm/gradtext.cpp +++ b/gm/gradtext.cpp @@ -100,6 +100,10 @@ public: GradTextGM () {} protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() { return SkString("gradtext"); diff --git a/gm/hairlines.cpp b/gm/hairlines.cpp index fb99d238ea..5a512d291f 100644 --- a/gm/hairlines.cpp +++ b/gm/hairlines.cpp @@ -13,6 +13,10 @@ namespace skiagm { class HairlinesGM : public GM { protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() SK_OVERRIDE { return SkString("hairlines"); diff --git a/gm/hairmodes.cpp b/gm/hairmodes.cpp index 783c225e98..f1fa260ef7 100644 --- a/gm/hairmodes.cpp +++ b/gm/hairmodes.cpp @@ -78,7 +78,6 @@ namespace skiagm { SkPaint fBGPaint; protected: - virtual SkString onShortName() SK_OVERRIDE { return SkString("hairmodes"); } @@ -123,7 +122,7 @@ namespace skiagm { } // disable pdf for now, since it crashes on mac - virtual uint32_t onGetFlags() const { return kSkipPDF_Flag; } + virtual uint32_t onGetFlags() const { return kSkipPDF_Flag | kSkipTiled_Flag; } private: typedef GM INHERITED; diff --git a/gm/hittestpath.cpp b/gm/hittestpath.cpp index 6ffc1f9f86..d971db9282 100644 --- a/gm/hittestpath.cpp +++ b/gm/hittestpath.cpp @@ -34,6 +34,10 @@ public: HitTestPathGM () {} protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() { return SkString("hittestpath"); } diff --git a/gm/imageblur.cpp b/gm/imageblur.cpp index ff8a4812cf..0b1ab3077f 100644 --- a/gm/imageblur.cpp +++ b/gm/imageblur.cpp @@ -23,6 +23,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() { return fName; } diff --git a/gm/imagefiltersbase.cpp b/gm/imagefiltersbase.cpp index 2970ff285a..4779c81438 100644 --- a/gm/imagefiltersbase.cpp +++ b/gm/imagefiltersbase.cpp @@ -161,7 +161,6 @@ public: ImageFiltersBaseGM () {} protected: - virtual SkString onShortName() { return SkString("imagefiltersbase"); } @@ -180,7 +179,7 @@ protected: // from scaled replay tests because drawSprite ignores the // reciprocal scale that is applied at record time, which is // the intended behavior of drawSprite. - return kSkipScaledReplay_Flag; + return kSkipScaledReplay_Flag | kSkipTiled_Flag; } virtual void onDraw(SkCanvas* canvas) { diff --git a/gm/imagefiltersclipped.cpp b/gm/imagefiltersclipped.cpp index 4187ba02aa..7851f2e984 100644 --- a/gm/imagefiltersclipped.cpp +++ b/gm/imagefiltersclipped.cpp @@ -31,6 +31,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() { return SkString("imagefiltersclipped"); } diff --git a/gm/imagefilterscropped.cpp b/gm/imagefilterscropped.cpp index fa834d51c0..a128c6b116 100644 --- a/gm/imagefilterscropped.cpp +++ b/gm/imagefilterscropped.cpp @@ -102,7 +102,6 @@ public: ImageFiltersCroppedGM () {} protected: - virtual SkString onShortName() { return SkString("imagefilterscropped"); } @@ -121,7 +120,7 @@ protected: // from scaled replay tests because drawSprite ignores the // reciprocal scale that is applied at record time, which is // the intended behavior of drawSprite. - return kSkipScaledReplay_Flag; + return kSkipScaledReplay_Flag | kSkipTiled_Flag; } virtual void onDraw(SkCanvas* canvas) { diff --git a/gm/imagefiltersgraph.cpp b/gm/imagefiltersgraph.cpp index 83903792d4..d19dd85e78 100644 --- a/gm/imagefiltersgraph.cpp +++ b/gm/imagefiltersgraph.cpp @@ -90,6 +90,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() { return SkString("imagefiltersgraph"); } diff --git a/gm/imagefiltersscaled.cpp b/gm/imagefiltersscaled.cpp index 0e7af56e09..c4a65b3407 100644 --- a/gm/imagefiltersscaled.cpp +++ b/gm/imagefiltersscaled.cpp @@ -31,6 +31,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() { return SkString("imagefiltersscaled"); } diff --git a/gm/imageresizetiled.cpp b/gm/imageresizetiled.cpp index 0e6bd6d6bc..afa18baf64 100644 --- a/gm/imageresizetiled.cpp +++ b/gm/imageresizetiled.cpp @@ -30,10 +30,6 @@ protected: return make_isize(WIDTH, HEIGHT); } - virtual uint32_t onGetFlags() const SK_OVERRIDE { - return kSkipTiled_Flag; - } - virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE { SkPaint paint; SkMatrix matrix; diff --git a/gm/inversepaths.cpp b/gm/inversepaths.cpp index dc2b636119..e5b16267ab 100644 --- a/gm/inversepaths.cpp +++ b/gm/inversepaths.cpp @@ -70,6 +70,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() { return SkString("inverse_paths"); } diff --git a/gm/lerpmode.cpp b/gm/lerpmode.cpp index 30e6abd523..89301ea3ea 100644 --- a/gm/lerpmode.cpp +++ b/gm/lerpmode.cpp @@ -39,6 +39,10 @@ public: LerpXfermodeGM() {} protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() SK_OVERRIDE { return SkString("lerpmode"); } diff --git a/gm/lighting.cpp b/gm/lighting.cpp index 858976b90f..50698fadfc 100644 --- a/gm/lighting.cpp +++ b/gm/lighting.cpp @@ -20,6 +20,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() { return SkString("lighting"); } diff --git a/gm/linepaths.cpp b/gm/linepaths.cpp index 69c47fe80c..3b0ae75461 100644 --- a/gm/linepaths.cpp +++ b/gm/linepaths.cpp @@ -16,6 +16,10 @@ public: LinePathGM() {} protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + SkString onShortName() { return SkString("linepath"); } diff --git a/gm/lumafilter.cpp b/gm/lumafilter.cpp index c12bae0ba5..4414093c9b 100644 --- a/gm/lumafilter.cpp +++ b/gm/lumafilter.cpp @@ -97,6 +97,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() SK_OVERRIDE { return SkString("lumafilter"); } diff --git a/gm/matrixconvolution.cpp b/gm/matrixconvolution.cpp index c37f7ad182..c081bf5f35 100644 --- a/gm/matrixconvolution.cpp +++ b/gm/matrixconvolution.cpp @@ -19,6 +19,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() { return SkString("matrixconvolution"); } diff --git a/gm/mixedxfermodes.cpp b/gm/mixedxfermodes.cpp index f2d7fa3b91..43f8e897eb 100644 --- a/gm/mixedxfermodes.cpp +++ b/gm/mixedxfermodes.cpp @@ -124,7 +124,7 @@ protected: virtual uint32_t onGetFlags() const { // Skip PDF rasterization since rendering this PDF takes forever. - return kSkipPDFRasterization_Flag; + return kSkipPDFRasterization_Flag | kSkipTiled_Flag; } private: diff --git a/gm/nested.cpp b/gm/nested.cpp index b3d75cfa39..e72e5c4280 100644 --- a/gm/nested.cpp +++ b/gm/nested.cpp @@ -19,6 +19,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() SK_OVERRIDE { SkString name("nested"); if (fDoAA) { diff --git a/gm/ninepatchstretch.cpp b/gm/ninepatchstretch.cpp index 74cc87f305..8806acc895 100644 --- a/gm/ninepatchstretch.cpp +++ b/gm/ninepatchstretch.cpp @@ -44,6 +44,10 @@ public: NinePatchStretchGM() {} protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() { return SkString("ninepatch-stretch"); } diff --git a/gm/nonclosedpaths.cpp b/gm/nonclosedpaths.cpp index 98ccb1cb15..9c5096666b 100644 --- a/gm/nonclosedpaths.cpp +++ b/gm/nonclosedpaths.cpp @@ -32,6 +32,10 @@ public: }; protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() SK_OVERRIDE { return SkString("nonclosedpaths"); } diff --git a/gm/ovals.cpp b/gm/ovals.cpp index 53ccb16ee9..9f007acf81 100755 --- a/gm/ovals.cpp +++ b/gm/ovals.cpp @@ -26,6 +26,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() SK_OVERRIDE { return SkString("ovals"); } diff --git a/gm/patheffects.cpp b/gm/patheffects.cpp index 4c5cd4512a..35bb84a0cf 100644 --- a/gm/patheffects.cpp +++ b/gm/patheffects.cpp @@ -107,6 +107,10 @@ public: PathEffectGM() {} protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + SkString onShortName() { return SkString("patheffect"); } diff --git a/gm/pathfill.cpp b/gm/pathfill.cpp index 993917abdd..01811e3c94 100644 --- a/gm/pathfill.cpp +++ b/gm/pathfill.cpp @@ -125,6 +125,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() { return SkString("pathfill"); } @@ -159,6 +163,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() { return SkString("pathinvfill"); } diff --git a/gm/pathinterior.cpp b/gm/pathinterior.cpp index 559fb8973c..e58792877d 100644 --- a/gm/pathinterior.cpp +++ b/gm/pathinterior.cpp @@ -25,6 +25,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkISize onISize() { return SkISize::Make(770, 770); } diff --git a/gm/pathopsinverse.cpp b/gm/pathopsinverse.cpp index c1ffd944f3..ec4d4d38f1 100644 --- a/gm/pathopsinverse.cpp +++ b/gm/pathopsinverse.cpp @@ -50,6 +50,10 @@ protected: paint->setColor(color); } + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; // Only for 565. 8888 is fine. + } + virtual SkString onShortName() SK_OVERRIDE { return SkString("pathopsinverse"); } diff --git a/gm/pathopsskpclip.cpp b/gm/pathopsskpclip.cpp index 8346745bcd..e04692bfac 100644 --- a/gm/pathopsskpclip.cpp +++ b/gm/pathopsskpclip.cpp @@ -24,6 +24,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() SK_OVERRIDE { return SkString("pathopsskpclip"); } diff --git a/gm/pathreverse.cpp b/gm/pathreverse.cpp index b605a4c647..51c0d524b7 100644 --- a/gm/pathreverse.cpp +++ b/gm/pathreverse.cpp @@ -69,6 +69,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() { return SkString("path-reverse"); } diff --git a/gm/pictureshader.cpp b/gm/pictureshader.cpp index 195ee738bc..44db338fc2 100644 --- a/gm/pictureshader.cpp +++ b/gm/pictureshader.cpp @@ -58,6 +58,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() SK_OVERRIDE { return SkString("pictureshader"); } diff --git a/gm/points.cpp b/gm/points.cpp index 4902c889cc..f4df741092 100644 --- a/gm/points.cpp +++ b/gm/points.cpp @@ -15,6 +15,10 @@ public: PointsGM() {} protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() { return SkString("points"); } diff --git a/gm/poly2poly.cpp b/gm/poly2poly.cpp index c36ac85483..9e58d9d036 100644 --- a/gm/poly2poly.cpp +++ b/gm/poly2poly.cpp @@ -178,6 +178,10 @@ public: Poly2PolyGM() {} protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() SK_OVERRIDE { return SkString("poly2poly"); } diff --git a/gm/polygons.cpp b/gm/polygons.cpp index 436035530e..56b2e97ceb 100644 --- a/gm/polygons.cpp +++ b/gm/polygons.cpp @@ -22,6 +22,10 @@ public: PolygonsGM() {} protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() SK_OVERRIDE { return SkString("polygons"); } diff --git a/gm/quadpaths.cpp b/gm/quadpaths.cpp index 7351e45fcf..decf50a96e 100644 --- a/gm/quadpaths.cpp +++ b/gm/quadpaths.cpp @@ -16,6 +16,10 @@ public: QuadPathGM() {} protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + SkString onShortName() { return SkString("quadpath"); } @@ -158,6 +162,10 @@ public: QuadClosePathGM() {} protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + SkString onShortName() { return SkString("quadclosepath"); } diff --git a/gm/rects.cpp b/gm/rects.cpp index 4b126059d8..a8d718855e 100644 --- a/gm/rects.cpp +++ b/gm/rects.cpp @@ -25,6 +25,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() SK_OVERRIDE { return SkString("rects"); } diff --git a/gm/resizeimagefilter.cpp b/gm/resizeimagefilter.cpp index 3f4f1fae65..417f4f47a8 100644 --- a/gm/resizeimagefilter.cpp +++ b/gm/resizeimagefilter.cpp @@ -21,6 +21,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() { return SkString("resizeimagefilter"); } diff --git a/gm/roundrects.cpp b/gm/roundrects.cpp index 7f5b9eaf08..b6e5a2754d 100644 --- a/gm/roundrects.cpp +++ b/gm/roundrects.cpp @@ -27,6 +27,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() SK_OVERRIDE { return SkString("roundrects"); } diff --git a/gm/rrect.cpp b/gm/rrect.cpp index c13f1456c7..8e26b1b897 100644 --- a/gm/rrect.cpp +++ b/gm/rrect.cpp @@ -126,6 +126,10 @@ public: RRectGM() {} protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() { return SkString("rrect"); } diff --git a/gm/rrects.cpp b/gm/rrects.cpp index 0dc70b190d..8e4b199c72 100644 --- a/gm/rrects.cpp +++ b/gm/rrects.cpp @@ -58,9 +58,9 @@ protected: virtual uint32_t onGetFlags() const SK_OVERRIDE { if (kEffect_Type == fType) { - return kGPUOnly_Flag; + return kGPUOnly_Flag | kSkipTiled_Flag; } else { - return 0; + return kSkipTiled_Flag; } } diff --git a/gm/samplerstress.cpp b/gm/samplerstress.cpp index 4303118d07..a809c25c3d 100644 --- a/gm/samplerstress.cpp +++ b/gm/samplerstress.cpp @@ -28,6 +28,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() { return SkString("samplerstress"); } diff --git a/gm/shaderbounds.cpp b/gm/shaderbounds.cpp index 2a52ead04b..f0b8b9781d 100644 --- a/gm/shaderbounds.cpp +++ b/gm/shaderbounds.cpp @@ -34,6 +34,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + SkString onShortName() { return fName; } diff --git a/gm/shadertext.cpp b/gm/shadertext.cpp index 02b90926a3..b9e28be898 100644 --- a/gm/shadertext.cpp +++ b/gm/shadertext.cpp @@ -113,6 +113,9 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } SkString onShortName() { return SkString("shadertext"); diff --git a/gm/shadertext2.cpp b/gm/shadertext2.cpp index 87fe1b29f4..d6a9a721cd 100644 --- a/gm/shadertext2.cpp +++ b/gm/shadertext2.cpp @@ -205,7 +205,7 @@ protected: virtual uint32_t onGetFlags() const SK_OVERRIDE { // disable 565 for now, til mike fixes the debug assert - return this->INHERITED::onGetFlags() | kSkip565_Flag; + return kSkip565_Flag | kSkipTiled_Flag; } private: diff --git a/gm/shadertext3.cpp b/gm/shadertext3.cpp index 6ae3159b91..8aa6e6965c 100644 --- a/gm/shadertext3.cpp +++ b/gm/shadertext3.cpp @@ -58,6 +58,9 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } virtual SkString onShortName() SK_OVERRIDE { return SkString("shadertext3"); diff --git a/gm/shadows.cpp b/gm/shadows.cpp index 44fa8e22bf..d5458e0833 100644 --- a/gm/shadows.cpp +++ b/gm/shadows.cpp @@ -36,6 +36,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() { return SkString("shadows"); } diff --git a/gm/shallowgradient.cpp b/gm/shallowgradient.cpp index fd14943395..a2b29d37ed 100644 --- a/gm/shallowgradient.cpp +++ b/gm/shallowgradient.cpp @@ -42,6 +42,13 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + if (fName.contains("linear") || fName.contains("radial")) { + return kSkipTiled_Flag; + } + return 0; + } + virtual SkString onShortName() SK_OVERRIDE { return fName; } diff --git a/gm/simpleaaclip.cpp b/gm/simpleaaclip.cpp index 41fb9fba69..1e51f99395 100644 --- a/gm/simpleaaclip.cpp +++ b/gm/simpleaaclip.cpp @@ -124,6 +124,10 @@ protected: canvas->restore(); } + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kPath_GeomType == fGeomType ? kSkipTiled_Flag : 0; + } + virtual SkString onShortName() { SkString str; str.printf("simpleaaclip_%s", diff --git a/gm/skbug1719.cpp b/gm/skbug1719.cpp index 22caffd026..893ad94593 100644 --- a/gm/skbug1719.cpp +++ b/gm/skbug1719.cpp @@ -24,6 +24,10 @@ public: SkBug1719GM() {} protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() SK_OVERRIDE { return SkString("skbug1719"); } diff --git a/gm/spritebitmap.cpp b/gm/spritebitmap.cpp index f7997eeaba..a387dd3a9a 100644 --- a/gm/spritebitmap.cpp +++ b/gm/spritebitmap.cpp @@ -62,6 +62,10 @@ public: SpriteBitmapGM() {} protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() { return SkString("spritebitmap"); } diff --git a/gm/stringart.cpp b/gm/stringart.cpp index 1d81e13f6a..24d7b14442 100644 --- a/gm/stringart.cpp +++ b/gm/stringart.cpp @@ -23,6 +23,10 @@ public: StringArtGM() {} protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() { return SkString("stringart"); } diff --git a/gm/strokefill.cpp b/gm/strokefill.cpp index 445de811ec..ce74b396b8 100644 --- a/gm/strokefill.cpp +++ b/gm/strokefill.cpp @@ -19,6 +19,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() { return SkString("stroke-fill"); } diff --git a/gm/strokerect.cpp b/gm/strokerect.cpp index 489f7b4d3f..9c86aec642 100644 --- a/gm/strokerect.cpp +++ b/gm/strokerect.cpp @@ -46,6 +46,10 @@ public: StrokeRectGM() {} protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() { return SkString("strokerect"); } diff --git a/gm/strokerects.cpp b/gm/strokerects.cpp index 6abb89f2d8..eb37f32baf 100644 --- a/gm/strokerects.cpp +++ b/gm/strokerects.cpp @@ -25,6 +25,10 @@ public: StrokeRectsGM() {} protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() { return SkString("strokerects"); } diff --git a/gm/strokes.cpp b/gm/strokes.cpp index 861fd76352..81741693cf 100644 --- a/gm/strokes.cpp +++ b/gm/strokes.cpp @@ -39,6 +39,10 @@ public: StrokesGM() {} protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() { return SkString("strokes_round"); } @@ -91,6 +95,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() { return SkString("strokes_poly"); } @@ -188,6 +196,10 @@ public: Strokes3GM() {} protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() { return SkString("strokes3"); } diff --git a/gm/stroketext.cpp b/gm/stroketext.cpp index b9d56f10e4..387843a0b4 100644 --- a/gm/stroketext.cpp +++ b/gm/stroketext.cpp @@ -50,6 +50,10 @@ public: StrokeTextGM() {} protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() SK_OVERRIDE { return SkString("stroketext"); } diff --git a/gm/testimagefilters.cpp b/gm/testimagefilters.cpp index 2b937ecf47..799b44c017 100644 --- a/gm/testimagefilters.cpp +++ b/gm/testimagefilters.cpp @@ -101,6 +101,10 @@ protected: return SkString("testimagefilters"); } + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkISize onISize() { return SkISize::Make(700, 460); } virtual void onDraw(SkCanvas* canvas) { diff --git a/gm/thinstrokedrects.cpp b/gm/thinstrokedrects.cpp index 2f839d1c00..19746f79a7 100644 --- a/gm/thinstrokedrects.cpp +++ b/gm/thinstrokedrects.cpp @@ -17,6 +17,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual SkString onShortName() SK_OVERRIDE { return SkString("thinstrokedrects"); } diff --git a/gm/tilemodes.cpp b/gm/tilemodes.cpp index abecadae9a..e04c52ae0f 100644 --- a/gm/tilemodes.cpp +++ b/gm/tilemodes.cpp @@ -200,6 +200,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + SkString onShortName() { return fName; } diff --git a/gm/tilemodes_scaled.cpp b/gm/tilemodes_scaled.cpp index e9c6c9950a..a79002b56b 100644 --- a/gm/tilemodes_scaled.cpp +++ b/gm/tilemodes_scaled.cpp @@ -68,12 +68,18 @@ public: SkBitmap fTexture[SK_ARRAY_COUNT(gColorTypes)]; protected: - enum { kPOTSize = 4, kNPOTSize = 3, }; + virtual uint32_t onGetFlags() const SK_OVERRIDE { + if (!fPowerOfTwoSize) { + return kSkipTiled_Flag; // Only for 565. 8888 is fine. + } + return 0; + } + SkString onShortName() { SkString name("scaled_tilemodes"); if (!fPowerOfTwoSize) { @@ -214,6 +220,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + SkString onShortName() { return fName; } diff --git a/gm/twopointradial.cpp b/gm/twopointradial.cpp index a10f5af6d5..f4a4ddfb3b 100644 --- a/gm/twopointradial.cpp +++ b/gm/twopointradial.cpp @@ -56,6 +56,10 @@ public: TwoPointRadialGM() {} protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + SkString onShortName() { return SkString("twopointconical"); } diff --git a/gm/vertices.cpp b/gm/vertices.cpp index 644000e8ff..0d09dc669b 100644 --- a/gm/vertices.cpp +++ b/gm/vertices.cpp @@ -37,6 +37,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + virtual void onOnceBeforeDraw() SK_OVERRIDE { const SkScalar X = 150; const SkScalar Y = 150; diff --git a/gm/verttext.cpp b/gm/verttext.cpp index 1f1c64dfe6..736a5cf607 100644 --- a/gm/verttext.cpp +++ b/gm/verttext.cpp @@ -49,6 +49,9 @@ public: //SkAutoTUnref<SkTypeface> fFace; protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } SkString onShortName() { return SkString("verttext"); diff --git a/gm/verttext2.cpp b/gm/verttext2.cpp index 33380e067c..331b99d2c5 100644 --- a/gm/verttext2.cpp +++ b/gm/verttext2.cpp @@ -31,6 +31,10 @@ public: } protected: + virtual uint32_t onGetFlags() const SK_OVERRIDE { + return kSkipTiled_Flag; + } + SkString onShortName() { return SkString("verttext2"); diff --git a/gm/verylargebitmap.cpp b/gm/verylargebitmap.cpp index 6eca701cc7..d3b16e9dc2 100644 --- a/gm/verylargebitmap.cpp +++ b/gm/verylargebitmap.cpp @@ -109,7 +109,7 @@ protected: kSkipTiled_Flag | kSkipScaledReplay_Flag; #else - return 0; + return kSkipTiled_Flag; #endif } diff --git a/gyp/dm.gyp b/gyp/dm.gyp index 8bb8ddf7eb..4cfcdc6e8b 100644 --- a/gyp/dm.gyp +++ b/gyp/dm.gyp @@ -33,6 +33,7 @@ '../dm/DMExpectationsTask.cpp', '../dm/DMGpuGMTask.cpp', '../dm/DMPipeTask.cpp', + '../dm/DMQuiltTask.cpp', '../dm/DMRecordTask.cpp', '../dm/DMReplayTask.cpp', '../dm/DMReporter.cpp', @@ -40,7 +41,6 @@ '../dm/DMTask.cpp', '../dm/DMTaskRunner.cpp', '../dm/DMTestTask.cpp', - '../dm/DMTileGridTask.cpp', '../dm/DMUtil.cpp', '../dm/DMWriteTask.cpp', '../gm/gm.cpp', |