From b8b92ea089a380e17984e4df7b49b379cb6bd929 Mon Sep 17 00:00:00 2001 From: "reed@google.com" Date: Tue, 16 Oct 2012 15:57:13 +0000 Subject: add DEF_BENCH marco to make it easy to register new benches extend bitmaprect bench to include drawing with non-opaque alpha git-svn-id: http://skia.googlecode.com/svn/trunk@5965 2bbb7eff-a529-9590-31e7-b0007b416f81 --- bench/BitmapRectBench.cpp | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'bench/BitmapRectBench.cpp') diff --git a/bench/BitmapRectBench.cpp b/bench/BitmapRectBench.cpp index 2bed21d6dc..b9e71f753b 100644 --- a/bench/BitmapRectBench.cpp +++ b/bench/BitmapRectBench.cpp @@ -41,11 +41,15 @@ static void drawIntoBitmap(const SkBitmap& bm) { class BitmapRectBench : public SkBenchmark { SkBitmap fBitmap; bool fDoFilter; + uint8_t fAlpha; SkString fName; SkRect fSrcR, fDstR; enum { N = SkBENCHLOOP(300) }; public: - BitmapRectBench(void* param, bool doFilter) : INHERITED(param), fDoFilter(doFilter) { + BitmapRectBench(void* param, U8CPU alpha, bool doFilter) : INHERITED(param) { + fAlpha = SkToU8(alpha); + fDoFilter = doFilter; + const int w = 128; const int h = 128; @@ -61,7 +65,7 @@ public: protected: virtual const char* onGetName() { - fName.printf("bitmaprect_%sfilter", fDoFilter ? "" : "no"); + fName.printf("bitmaprect_%02X_%sfilter", fAlpha, fDoFilter ? "" : "no"); return fName.c_str(); } @@ -72,6 +76,7 @@ protected: SkPaint paint; this->setupPaint(&paint); paint.setFilterBitmap(fDoFilter); + paint.setAlpha(fAlpha); for (int i = 0; i < N; i++) { canvas->drawBitmapRectToRect(fBitmap, &fSrcR, fDstR, &paint); @@ -82,8 +87,8 @@ private: typedef SkBenchmark INHERITED; }; -static SkBenchmark* Fact0(void* p) { return new BitmapRectBench(p, false); } -static SkBenchmark* Fact1(void* p) { return new BitmapRectBench(p, true); } +DEF_BENCH(return new BitmapRectBench(p, 0xFF, false)) +DEF_BENCH(return new BitmapRectBench(p, 0x80, false)) +DEF_BENCH(return new BitmapRectBench(p, 0xFF, true)) +DEF_BENCH(return new BitmapRectBench(p, 0x80, true)) -static BenchRegistry gReg0(Fact0); -static BenchRegistry gReg1(Fact1); -- cgit v1.2.3