Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(190)

Side by Side Diff: bench/BitmapBench.cpp

Issue 23876006: Refactoring: get rid of the SkBenchmark void* parameter. (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: sync to head Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « bench/BicubicBench.cpp ('k') | bench/BitmapRectBench.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 1
2 /* 2 /*
3 * Copyright 2011 Google Inc. 3 * Copyright 2011 Google Inc.
4 * 4 *
5 * Use of this source code is governed by a BSD-style license that can be 5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file. 6 * found in the LICENSE file.
7 */ 7 */
8 #include "SkBenchmark.h" 8 #include "SkBenchmark.h"
9 #include "SkBitmap.h" 9 #include "SkBitmap.h"
10 #include "SkPaint.h" 10 #include "SkPaint.h"
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 SkBitmap fBitmap; 77 SkBitmap fBitmap;
78 SkPaint fPaint; 78 SkPaint fPaint;
79 bool fIsOpaque; 79 bool fIsOpaque;
80 bool fForceUpdate; //bitmap marked as dirty before each draw. forces bitmap to be updated on device cache 80 bool fForceUpdate; //bitmap marked as dirty before each draw. forces bitmap to be updated on device cache
81 bool fIsVolatile; 81 bool fIsVolatile;
82 SkBitmap::Config fConfig; 82 SkBitmap::Config fConfig;
83 SkString fName; 83 SkString fName;
84 enum { W = 128 }; 84 enum { W = 128 };
85 enum { H = 128 }; 85 enum { H = 128 };
86 public: 86 public:
87 BitmapBench(void* param, bool isOpaque, SkBitmap::Config c, 87 BitmapBench(bool isOpaque, SkBitmap::Config c,
88 bool forceUpdate = false, bool bitmapVolatile = false) 88 bool forceUpdate = false, bool bitmapVolatile = false)
89 : INHERITED(param) 89 : fIsOpaque(isOpaque)
90 , fIsOpaque(isOpaque)
91 , fForceUpdate(forceUpdate) 90 , fForceUpdate(forceUpdate)
92 , fIsVolatile(bitmapVolatile) 91 , fIsVolatile(bitmapVolatile)
93 , fConfig(c) { 92 , fConfig(c) {
94 } 93 }
95 94
96 protected: 95 protected:
97 virtual const char* onGetName() { 96 virtual const char* onGetName() {
98 fName.set("bitmap"); 97 fName.set("bitmap");
99 fName.appendf("_%s%s", gConfigName[fConfig], 98 fName.appendf("_%s%s", gConfigName[fConfig],
100 fIsOpaque ? "" : "_A"); 99 fIsOpaque ? "" : "_A");
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 } 192 }
194 193
195 static bool isBicubic(uint32_t flags) { 194 static bool isBicubic(uint32_t flags) {
196 return (flags & (kBilerp_Flag | kBicubic_Flag)) == (kBilerp_Flag | kBicubic_ Flag); 195 return (flags & (kBilerp_Flag | kBicubic_Flag)) == (kBilerp_Flag | kBicubic_ Flag);
197 } 196 }
198 197
199 class FilterBitmapBench : public BitmapBench { 198 class FilterBitmapBench : public BitmapBench {
200 uint32_t fFlags; 199 uint32_t fFlags;
201 SkString fFullName; 200 SkString fFullName;
202 public: 201 public:
203 FilterBitmapBench(void* param, bool isOpaque, SkBitmap::Config c, 202 FilterBitmapBench(bool isOpaque, SkBitmap::Config c,
204 bool forceUpdate, bool isVolitile, uint32_t flags) 203 bool forceUpdate, bool isVolitile, uint32_t flags)
205 : INHERITED(param, isOpaque, c, forceUpdate, isVolitile) 204 : INHERITED(isOpaque, c, forceUpdate, isVolitile)
206 , fFlags(flags) { 205 , fFlags(flags) {
207 } 206 }
208 207
209 protected: 208 protected:
210 virtual const char* onGetName() { 209 virtual const char* onGetName() {
211 fFullName.set(INHERITED::onGetName()); 210 fFullName.set(INHERITED::onGetName());
212 if (fFlags & kScale_Flag) { 211 if (fFlags & kScale_Flag) {
213 fFullName.append("_scale"); 212 fFullName.append("_scale");
214 } 213 }
215 if (fFlags & kRotate_Flag) { 214 if (fFlags & kRotate_Flag) {
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
272 /** Verify optimizations that test source alpha values. */ 271 /** Verify optimizations that test source alpha values. */
273 272
274 class SourceAlphaBitmapBench : public BitmapBench { 273 class SourceAlphaBitmapBench : public BitmapBench {
275 public: 274 public:
276 enum SourceAlpha { kOpaque_SourceAlpha, kTransparent_SourceAlpha, 275 enum SourceAlpha { kOpaque_SourceAlpha, kTransparent_SourceAlpha,
277 kTwoStripes_SourceAlpha, kThreeStripes_SourceAlpha}; 276 kTwoStripes_SourceAlpha, kThreeStripes_SourceAlpha};
278 private: 277 private:
279 SkString fFullName; 278 SkString fFullName;
280 SourceAlpha fSourceAlpha; 279 SourceAlpha fSourceAlpha;
281 public: 280 public:
282 SourceAlphaBitmapBench(void* param, SourceAlpha alpha, SkBitmap::Config c, 281 SourceAlphaBitmapBench(SourceAlpha alpha, SkBitmap::Config c,
283 bool forceUpdate = false, bool bitmapVolatile = false) 282 bool forceUpdate = false, bool bitmapVolatile = false)
284 : INHERITED(param, false, c, forceUpdate, bitmapVolatile) 283 : INHERITED(false, c, forceUpdate, bitmapVolatile)
285 , fSourceAlpha(alpha) { 284 , fSourceAlpha(alpha) {
286 } 285 }
287 286
288 protected: 287 protected:
289 virtual const char* onGetName() { 288 virtual const char* onGetName() {
290 fFullName.set(INHERITED::onGetName()); 289 fFullName.set(INHERITED::onGetName());
291 290
292 if (fSourceAlpha == kOpaque_SourceAlpha) { 291 if (fSourceAlpha == kOpaque_SourceAlpha) {
293 fFullName.append("_source_opaque"); 292 fFullName.append("_source_opaque");
294 } else if (fSourceAlpha == kTransparent_SourceAlpha) { 293 } else if (fSourceAlpha == kTransparent_SourceAlpha) {
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
351 r.set(SkIntToScalar(x), 0, SkIntToScalar(x+1), SkIntToScalar(h)) ; 350 r.set(SkIntToScalar(x), 0, SkIntToScalar(x+1), SkIntToScalar(h)) ;
352 canvas.drawRect(r, p); 351 canvas.drawRect(r, p);
353 } 352 }
354 } 353 }
355 } 354 }
356 355
357 private: 356 private:
358 typedef BitmapBench INHERITED; 357 typedef BitmapBench INHERITED;
359 }; 358 };
360 359
361 DEF_BENCH( return new BitmapBench(p, false, SkBitmap::kARGB_8888_Config); ) 360 DEF_BENCH( return new BitmapBench(false, SkBitmap::kARGB_8888_Config); )
362 DEF_BENCH( return new BitmapBench(p, true, SkBitmap::kARGB_8888_Config); ) 361 DEF_BENCH( return new BitmapBench(true, SkBitmap::kARGB_8888_Config); )
363 DEF_BENCH( return new BitmapBench(p, true, SkBitmap::kRGB_565_Config); ) 362 DEF_BENCH( return new BitmapBench(true, SkBitmap::kRGB_565_Config); )
364 DEF_BENCH( return new BitmapBench(p, false, SkBitmap::kIndex8_Config); ) 363 DEF_BENCH( return new BitmapBench(false, SkBitmap::kIndex8_Config); )
365 DEF_BENCH( return new BitmapBench(p, true, SkBitmap::kIndex8_Config); ) 364 DEF_BENCH( return new BitmapBench(true, SkBitmap::kIndex8_Config); )
366 DEF_BENCH( return new BitmapBench(p, true, SkBitmap::kARGB_8888_Config, true, tr ue); ) 365 DEF_BENCH( return new BitmapBench(true, SkBitmap::kARGB_8888_Config, true, true) ; )
367 DEF_BENCH( return new BitmapBench(p, true, SkBitmap::kARGB_8888_Config, true, fa lse); ) 366 DEF_BENCH( return new BitmapBench(true, SkBitmap::kARGB_8888_Config, true, false ); )
368 367
369 // scale filter -> S32_opaque_D32_filter_DX_{SSE2,SSSE3} and Fact9 is also for S 32_D16_filter_DX_SSE2 368 // scale filter -> S32_opaque_D32_filter_DX_{SSE2,SSSE3} and Fact9 is also for S 32_D16_filter_DX_SSE2
370 DEF_BENCH( return new FilterBitmapBench(p, false, SkBitmap::kARGB_8888_Config, f alse, false, kScale_Flag | kBilerp_Flag); ) 369 DEF_BENCH( return new FilterBitmapBench(false, SkBitmap::kARGB_8888_Config, fals e, false, kScale_Flag | kBilerp_Flag); )
371 DEF_BENCH( return new FilterBitmapBench(p, true, SkBitmap::kARGB_8888_Config, fa lse, false, kScale_Flag | kBilerp_Flag); ) 370 DEF_BENCH( return new FilterBitmapBench(true, SkBitmap::kARGB_8888_Config, false , false, kScale_Flag | kBilerp_Flag); )
372 DEF_BENCH( return new FilterBitmapBench(p, true, SkBitmap::kARGB_8888_Config, tr ue, true, kScale_Flag | kBilerp_Flag); ) 371 DEF_BENCH( return new FilterBitmapBench(true, SkBitmap::kARGB_8888_Config, true, true, kScale_Flag | kBilerp_Flag); )
373 DEF_BENCH( return new FilterBitmapBench(p, true, SkBitmap::kARGB_8888_Config, tr ue, false, kScale_Flag | kBilerp_Flag); ) 372 DEF_BENCH( return new FilterBitmapBench(true, SkBitmap::kARGB_8888_Config, true, false, kScale_Flag | kBilerp_Flag); )
374 373
375 // scale rotate filter -> S32_opaque_D32_filter_DXDY_{SSE2,SSSE3} 374 // scale rotate filter -> S32_opaque_D32_filter_DXDY_{SSE2,SSSE3}
376 DEF_BENCH( return new FilterBitmapBench(p, false, SkBitmap::kARGB_8888_Config, f alse, false, kScale_Flag | kRotate_Flag | kBilerp_Flag); ) 375 DEF_BENCH( return new FilterBitmapBench(false, SkBitmap::kARGB_8888_Config, fals e, false, kScale_Flag | kRotate_Flag | kBilerp_Flag); )
377 DEF_BENCH( return new FilterBitmapBench(p, true, SkBitmap::kARGB_8888_Config, fa lse, false, kScale_Flag | kRotate_Flag | kBilerp_Flag); ) 376 DEF_BENCH( return new FilterBitmapBench(true, SkBitmap::kARGB_8888_Config, false , false, kScale_Flag | kRotate_Flag | kBilerp_Flag); )
378 DEF_BENCH( return new FilterBitmapBench(p, true, SkBitmap::kARGB_8888_Config, tr ue, true, kScale_Flag | kRotate_Flag | kBilerp_Flag); ) 377 DEF_BENCH( return new FilterBitmapBench(true, SkBitmap::kARGB_8888_Config, true, true, kScale_Flag | kRotate_Flag | kBilerp_Flag); )
379 DEF_BENCH( return new FilterBitmapBench(p, true, SkBitmap::kARGB_8888_Config, tr ue, false, kScale_Flag | kRotate_Flag | kBilerp_Flag); ) 378 DEF_BENCH( return new FilterBitmapBench(true, SkBitmap::kARGB_8888_Config, true, false, kScale_Flag | kRotate_Flag | kBilerp_Flag); )
380 379
381 DEF_BENCH( return new FilterBitmapBench(p, false, SkBitmap::kARGB_8888_Config, f alse, false, kScale_Flag | kBilerp_Flag | kBicubic_Flag); ) 380 DEF_BENCH( return new FilterBitmapBench(false, SkBitmap::kARGB_8888_Config, fals e, false, kScale_Flag | kBilerp_Flag | kBicubic_Flag); )
382 DEF_BENCH( return new FilterBitmapBench(p, false, SkBitmap::kARGB_8888_Config, f alse, false, kScale_Flag | kRotate_Flag | kBilerp_Flag | kBicubic_Flag); ) 381 DEF_BENCH( return new FilterBitmapBench(false, SkBitmap::kARGB_8888_Config, fals e, false, kScale_Flag | kRotate_Flag | kBilerp_Flag | kBicubic_Flag); )
383 382
384 // source alpha tests -> S32A_Opaque_BlitRow32_{arm,neon} 383 // source alpha tests -> S32A_Opaque_BlitRow32_{arm,neon}
385 DEF_BENCH( return new SourceAlphaBitmapBench(p, SourceAlphaBitmapBench::kOpaque_ SourceAlpha, SkBitmap::kARGB_8888_Config); ) 384 DEF_BENCH( return new SourceAlphaBitmapBench(SourceAlphaBitmapBench::kOpaque_Sou rceAlpha, SkBitmap::kARGB_8888_Config); )
386 DEF_BENCH( return new SourceAlphaBitmapBench(p, SourceAlphaBitmapBench::kTranspa rent_SourceAlpha, SkBitmap::kARGB_8888_Config); ) 385 DEF_BENCH( return new SourceAlphaBitmapBench(SourceAlphaBitmapBench::kTransparen t_SourceAlpha, SkBitmap::kARGB_8888_Config); )
387 DEF_BENCH( return new SourceAlphaBitmapBench(p, SourceAlphaBitmapBench::kTwoStri pes_SourceAlpha, SkBitmap::kARGB_8888_Config); ) 386 DEF_BENCH( return new SourceAlphaBitmapBench(SourceAlphaBitmapBench::kTwoStripes _SourceAlpha, SkBitmap::kARGB_8888_Config); )
388 DEF_BENCH( return new SourceAlphaBitmapBench(p, SourceAlphaBitmapBench::kThreeSt ripes_SourceAlpha, SkBitmap::kARGB_8888_Config); ) 387 DEF_BENCH( return new SourceAlphaBitmapBench(SourceAlphaBitmapBench::kThreeStrip es_SourceAlpha, SkBitmap::kARGB_8888_Config); )
OLDNEW
« no previous file with comments | « bench/BicubicBench.cpp ('k') | bench/BitmapRectBench.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698