From 8db65a6d0c60d0e31eadc64d427f6e7f050e1140 Mon Sep 17 00:00:00 2001 From: joshualitt Date: Thu, 24 Sep 2015 12:42:02 -0700 Subject: stop scaling loops and improve warmup bench BUG=skia: Review URL: https://codereview.chromium.org/1363663004 --- bench/RectBench.cpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'bench/RectBench.cpp') diff --git a/bench/RectBench.cpp b/bench/RectBench.cpp index f793c8ff57..23fb7c50c2 100644 --- a/bench/RectBench.cpp +++ b/bench/RectBench.cpp @@ -114,6 +114,30 @@ private: typedef RectBench INHERITED; }; +class TransparentRectBench : public RectBench { +public: + TransparentRectBench() : INHERITED(1, 0) {} + +protected: + void setupPaint(SkPaint* paint) override { + this->INHERITED::setupPaint(paint); + // draw non opaque rect + paint->setAlpha(0x80); + } + + const char* onGetName() override { + fName.set(this->INHERITED::onGetName()); + fName.prepend("transparent_"); + return fName.c_str(); + } + +private: + SkString fName; + + typedef RectBench INHERITED; +}; + + class OvalBench : public RectBench { public: OvalBench(int shift, int stroke = 0) : RectBench(shift, stroke) {} @@ -269,6 +293,8 @@ DEF_BENCH(return new PointsBench(SkCanvas::kPolygon_PointMode, "polygon");) DEF_BENCH(return new SrcModeRectBench();) +DEF_BENCH(return new TransparentRectBench();) + /* init the blitmask bench */ DEF_BENCH(return new BlitMaskBench(SkCanvas::kPoints_PointMode, -- cgit v1.2.3