| Index: bench/BitmapBench.cpp
|
| diff --git a/bench/BitmapBench.cpp b/bench/BitmapBench.cpp
|
| index efd6d9668429ee93cf8b378682d310e31ec6088f..da2e829a4d9dfe45b4cd5c4422aa026eacf26fde 100644
|
| --- a/bench/BitmapBench.cpp
|
| +++ b/bench/BitmapBench.cpp
|
| @@ -75,6 +75,7 @@ class BitmapBench : public Benchmark {
|
| const SkAlphaType fAlphaType;
|
| const bool fForceUpdate; //bitmap marked as dirty before each draw. forces bitmap to be updated on device cache
|
| const bool fIsVolatile;
|
| + const bool fDoScale;
|
|
|
| SkBitmap fBitmap;
|
| SkPaint fPaint;
|
| @@ -83,11 +84,12 @@ class BitmapBench : public Benchmark {
|
| enum { W = 128 };
|
| enum { H = 128 };
|
| public:
|
| - BitmapBench(SkColorType ct, SkAlphaType at, bool forceUpdate = false, bool isVolatile = false)
|
| + BitmapBench(SkColorType ct, SkAlphaType at, bool forceUpdate, bool isVolatile, bool doScale)
|
| : fColorType(ct)
|
| , fAlphaType(at)
|
| , fForceUpdate(forceUpdate)
|
| , fIsVolatile(isVolatile)
|
| + , fDoScale(doScale)
|
| {}
|
|
|
| protected:
|
| @@ -95,10 +97,15 @@ protected:
|
| fName.set("bitmap");
|
| fName.appendf("_%s%s", sk_tool_utils::colortype_name(fColorType),
|
| kOpaque_SkAlphaType == fAlphaType ? "" : "_A");
|
| - if (fForceUpdate)
|
| + if (fDoScale) {
|
| + fName.append("_scale");
|
| + }
|
| + if (fForceUpdate) {
|
| fName.append("_update");
|
| - if (fIsVolatile)
|
| + }
|
| + if (fIsVolatile) {
|
| fName.append("_volatile");
|
| + }
|
|
|
| return fName.c_str();
|
| }
|
| @@ -125,6 +132,9 @@ protected:
|
| }
|
|
|
| virtual void onDraw(const int loops, SkCanvas* canvas) {
|
| + if (fDoScale) {
|
| + canvas->scale(.99f, .99f);
|
| + }
|
| SkIPoint dim = this->getSize();
|
| SkRandom rand;
|
|
|
| @@ -193,7 +203,7 @@ class FilterBitmapBench : public BitmapBench {
|
| public:
|
| FilterBitmapBench(SkColorType ct, SkAlphaType at,
|
| bool forceUpdate, bool isVolitile, uint32_t flags)
|
| - : INHERITED(ct, at, forceUpdate, isVolitile)
|
| + : INHERITED(ct, at, forceUpdate, isVolitile, false)
|
| , fFlags(flags) {
|
| }
|
|
|
| @@ -272,7 +282,7 @@ private:
|
| public:
|
| SourceAlphaBitmapBench(SourceAlpha alpha, SkColorType ct,
|
| bool forceUpdate = false, bool bitmapVolatile = false)
|
| - : INHERITED(ct, kPremul_SkAlphaType, forceUpdate, bitmapVolatile)
|
| + : INHERITED(ct, kPremul_SkAlphaType, forceUpdate, bitmapVolatile, false)
|
| , fSourceAlpha(alpha) {
|
| }
|
|
|
| @@ -349,13 +359,14 @@ private:
|
| typedef BitmapBench INHERITED;
|
| };
|
|
|
| -DEF_BENCH( return new BitmapBench(kN32_SkColorType, kPremul_SkAlphaType); )
|
| -DEF_BENCH( return new BitmapBench(kN32_SkColorType, kOpaque_SkAlphaType); )
|
| -DEF_BENCH( return new BitmapBench(kRGB_565_SkColorType, kOpaque_SkAlphaType); )
|
| -DEF_BENCH( return new BitmapBench(kIndex_8_SkColorType, kPremul_SkAlphaType); )
|
| -DEF_BENCH( return new BitmapBench(kIndex_8_SkColorType, kOpaque_SkAlphaType); )
|
| -DEF_BENCH( return new BitmapBench(kN32_SkColorType, kOpaque_SkAlphaType, true, true); )
|
| -DEF_BENCH( return new BitmapBench(kN32_SkColorType, kOpaque_SkAlphaType, true, false); )
|
| +DEF_BENCH( return new BitmapBench(kN32_SkColorType, kPremul_SkAlphaType, false, false, false); )
|
| +DEF_BENCH( return new BitmapBench(kN32_SkColorType, kOpaque_SkAlphaType, false, false, false); )
|
| +DEF_BENCH( return new BitmapBench(kN32_SkColorType, kOpaque_SkAlphaType, false, false, true); )
|
| +DEF_BENCH( return new BitmapBench(kRGB_565_SkColorType, kOpaque_SkAlphaType, false, false, false); )
|
| +DEF_BENCH( return new BitmapBench(kIndex_8_SkColorType, kPremul_SkAlphaType, false, false, false); )
|
| +DEF_BENCH( return new BitmapBench(kIndex_8_SkColorType, kOpaque_SkAlphaType, false, false, false); )
|
| +DEF_BENCH( return new BitmapBench(kN32_SkColorType, kOpaque_SkAlphaType, true, true, false); )
|
| +DEF_BENCH( return new BitmapBench(kN32_SkColorType, kOpaque_SkAlphaType, true, false, false); )
|
|
|
| // scale filter -> S32_opaque_D32_filter_DX_{SSE2,SSSE3} and Fact9 is also for S32_D16_filter_DX_SSE2
|
| DEF_BENCH( return new FilterBitmapBench(kN32_SkColorType, kPremul_SkAlphaType, false, false, kScale_Flag | kBilerp_Flag); )
|
|
|