| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2013 Google Inc. | 3 * Copyright 2013 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 | 8 |
| 9 #include "SkBenchmark.h" | 9 #include "SkBenchmark.h" |
| 10 #include "SkBitmap.h" | 10 #include "SkBitmap.h" |
| (...skipping 16 matching lines...) Expand all Loading... |
| 27 } | 27 } |
| 28 | 28 |
| 29 // Test out the special case of a tiled 1xN texture. Test out opacity, | 29 // Test out the special case of a tiled 1xN texture. Test out opacity, |
| 30 // filtering and the different tiling modes | 30 // filtering and the different tiling modes |
| 31 class ConstXTileBench : public SkBenchmark { | 31 class ConstXTileBench : public SkBenchmark { |
| 32 SkPaint fPaint; | 32 SkPaint fPaint; |
| 33 SkString fName; | 33 SkString fName; |
| 34 bool fDoFilter; | 34 bool fDoFilter; |
| 35 bool fDoTrans; | 35 bool fDoTrans; |
| 36 bool fDoScale; | 36 bool fDoScale; |
| 37 enum { N = SkBENCHLOOP(20) }; | |
| 38 static const int kWidth = 1; | 37 static const int kWidth = 1; |
| 39 static const int kHeight = 300; | 38 static const int kHeight = 300; |
| 40 | 39 |
| 41 public: | 40 public: |
| 42 ConstXTileBench(void* param, | 41 ConstXTileBench(void* param, |
| 43 SkShader::TileMode xTile, | 42 SkShader::TileMode xTile, |
| 44 SkShader::TileMode yTile, | 43 SkShader::TileMode yTile, |
| 45 bool doFilter, | 44 bool doFilter, |
| 46 bool doTrans, | 45 bool doTrans, |
| 47 bool doScale) | 46 bool doScale) |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 99 if (fDoScale) { | 98 if (fDoScale) { |
| 100 r = SkRect::MakeWH(SkIntToScalar(2 * 640), SkIntToScalar(2 * 480)); | 99 r = SkRect::MakeWH(SkIntToScalar(2 * 640), SkIntToScalar(2 * 480)); |
| 101 canvas->scale(SK_ScalarHalf, SK_ScalarHalf); | 100 canvas->scale(SK_ScalarHalf, SK_ScalarHalf); |
| 102 } else { | 101 } else { |
| 103 r = SkRect::MakeWH(SkIntToScalar(640), SkIntToScalar(480)); | 102 r = SkRect::MakeWH(SkIntToScalar(640), SkIntToScalar(480)); |
| 104 } | 103 } |
| 105 | 104 |
| 106 SkPaint bgPaint; | 105 SkPaint bgPaint; |
| 107 bgPaint.setColor(SK_ColorWHITE); | 106 bgPaint.setColor(SK_ColorWHITE); |
| 108 | 107 |
| 109 for (int i = 0; i < N; i++) { | 108 for (int i = 0; i < this->getLoops(); i++) { |
| 110 if (fDoTrans) { | 109 if (fDoTrans) { |
| 111 canvas->drawRect(r, bgPaint); | 110 canvas->drawRect(r, bgPaint); |
| 112 } | 111 } |
| 113 | 112 |
| 114 canvas->drawRect(r, paint); | 113 canvas->drawRect(r, paint); |
| 115 } | 114 } |
| 116 } | 115 } |
| 117 | 116 |
| 118 private: | 117 private: |
| 119 typedef SkBenchmark INHERITED; | 118 typedef SkBenchmark INHERITED; |
| 120 }; | 119 }; |
| 121 | 120 |
| 122 DEF_BENCH(return new ConstXTileBench(p, SkShader::kRepeat_TileMode, SkShader::kR
epeat_TileMode, false, false, true)) | 121 DEF_BENCH(return new ConstXTileBench(p, SkShader::kRepeat_TileMode, SkShader::kR
epeat_TileMode, false, false, true)) |
| 123 DEF_BENCH(return new ConstXTileBench(p, SkShader::kClamp_TileMode, SkShader::kCl
amp_TileMode, false, false, false)) | 122 DEF_BENCH(return new ConstXTileBench(p, SkShader::kClamp_TileMode, SkShader::kCl
amp_TileMode, false, false, false)) |
| 124 DEF_BENCH(return new ConstXTileBench(p, SkShader::kMirror_TileMode, SkShader::kM
irror_TileMode, false, false, true)) | 123 DEF_BENCH(return new ConstXTileBench(p, SkShader::kMirror_TileMode, SkShader::kM
irror_TileMode, false, false, true)) |
| 125 | 124 |
| 126 DEF_BENCH(return new ConstXTileBench(p, SkShader::kRepeat_TileMode, SkShader::kR
epeat_TileMode, true, false, false)) | 125 DEF_BENCH(return new ConstXTileBench(p, SkShader::kRepeat_TileMode, SkShader::kR
epeat_TileMode, true, false, false)) |
| 127 DEF_BENCH(return new ConstXTileBench(p, SkShader::kClamp_TileMode, SkShader::kCl
amp_TileMode, true, false, true)) | 126 DEF_BENCH(return new ConstXTileBench(p, SkShader::kClamp_TileMode, SkShader::kCl
amp_TileMode, true, false, true)) |
| 128 DEF_BENCH(return new ConstXTileBench(p, SkShader::kMirror_TileMode, SkShader::kM
irror_TileMode, true, false, false)) | 127 DEF_BENCH(return new ConstXTileBench(p, SkShader::kMirror_TileMode, SkShader::kM
irror_TileMode, true, false, false)) |
| 129 | 128 |
| 130 DEF_BENCH(return new ConstXTileBench(p, SkShader::kRepeat_TileMode, SkShader::kR
epeat_TileMode, false, true, true)) | 129 DEF_BENCH(return new ConstXTileBench(p, SkShader::kRepeat_TileMode, SkShader::kR
epeat_TileMode, false, true, true)) |
| 131 DEF_BENCH(return new ConstXTileBench(p, SkShader::kClamp_TileMode, SkShader::kCl
amp_TileMode, false, true, false)) | 130 DEF_BENCH(return new ConstXTileBench(p, SkShader::kClamp_TileMode, SkShader::kCl
amp_TileMode, false, true, false)) |
| 132 DEF_BENCH(return new ConstXTileBench(p, SkShader::kMirror_TileMode, SkShader::kM
irror_TileMode, false, true, true)) | 131 DEF_BENCH(return new ConstXTileBench(p, SkShader::kMirror_TileMode, SkShader::kM
irror_TileMode, false, true, true)) |
| 133 | 132 |
| 134 DEF_BENCH(return new ConstXTileBench(p, SkShader::kRepeat_TileMode, SkShader::kR
epeat_TileMode, true, true, false)) | 133 DEF_BENCH(return new ConstXTileBench(p, SkShader::kRepeat_TileMode, SkShader::kR
epeat_TileMode, true, true, false)) |
| 135 DEF_BENCH(return new ConstXTileBench(p, SkShader::kClamp_TileMode, SkShader::kCl
amp_TileMode, true, true, true)) | 134 DEF_BENCH(return new ConstXTileBench(p, SkShader::kClamp_TileMode, SkShader::kCl
amp_TileMode, true, true, true)) |
| 136 DEF_BENCH(return new ConstXTileBench(p, SkShader::kMirror_TileMode, SkShader::kM
irror_TileMode, true, true, false)) | 135 DEF_BENCH(return new ConstXTileBench(p, SkShader::kMirror_TileMode, SkShader::kM
irror_TileMode, true, true, false)) |
| OLD | NEW |