| 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 "Benchmark.h" |
| 10 #include "SkBitmap.h" | 10 #include "SkBitmap.h" |
| 11 #include "SkCanvas.h" | 11 #include "SkCanvas.h" |
| 12 #include "SkShader.h" | 12 #include "SkShader.h" |
| 13 #include "SkString.h" | 13 #include "SkString.h" |
| 14 | 14 |
| 15 static void create_gradient(SkBitmap* bm) { | 15 static void create_gradient(SkBitmap* bm) { |
| 16 SkASSERT(1 == bm->width()); | 16 SkASSERT(1 == bm->width()); |
| 17 const int height = bm->height(); | 17 const int height = bm->height(); |
| 18 | 18 |
| 19 float deltaB = 255.0f / height; | 19 float deltaB = 255.0f / height; |
| 20 float blue = 255.0f; | 20 float blue = 255.0f; |
| 21 | 21 |
| 22 SkAutoLockPixels lock(*bm); | 22 SkAutoLockPixels lock(*bm); |
| 23 for (int y = 0; y < height; y++) { | 23 for (int y = 0; y < height; y++) { |
| 24 *bm->getAddr32(0, y) = SkColorSetRGB(0, 0, (U8CPU) blue); | 24 *bm->getAddr32(0, y) = SkColorSetRGB(0, 0, (U8CPU) blue); |
| 25 blue -= deltaB; | 25 blue -= deltaB; |
| 26 } | 26 } |
| 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 Benchmark { |
| 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 static const int kWidth = 1; | 37 static const int kWidth = 1; |
| 38 static const int kHeight = 300; | 38 static const int kHeight = 300; |
| 39 | 39 |
| 40 public: | 40 public: |
| 41 ConstXTileBench(SkShader::TileMode xTile, | 41 ConstXTileBench(SkShader::TileMode xTile, |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 104 for (int i = 0; i < loops; i++) { | 104 for (int i = 0; i < loops; i++) { |
| 105 if (fDoTrans) { | 105 if (fDoTrans) { |
| 106 canvas->drawRect(r, bgPaint); | 106 canvas->drawRect(r, bgPaint); |
| 107 } | 107 } |
| 108 | 108 |
| 109 canvas->drawRect(r, paint); | 109 canvas->drawRect(r, paint); |
| 110 } | 110 } |
| 111 } | 111 } |
| 112 | 112 |
| 113 private: | 113 private: |
| 114 typedef SkBenchmark INHERITED; | 114 typedef Benchmark INHERITED; |
| 115 }; | 115 }; |
| 116 | 116 |
| 117 DEF_BENCH(return new ConstXTileBench(SkShader::kRepeat_TileMode, SkShader::kRepe
at_TileMode, false, false, true)) | 117 DEF_BENCH(return new ConstXTileBench(SkShader::kRepeat_TileMode, SkShader::kRepe
at_TileMode, false, false, true)) |
| 118 DEF_BENCH(return new ConstXTileBench(SkShader::kClamp_TileMode, SkShader::kClamp
_TileMode, false, false, false)) | 118 DEF_BENCH(return new ConstXTileBench(SkShader::kClamp_TileMode, SkShader::kClamp
_TileMode, false, false, false)) |
| 119 DEF_BENCH(return new ConstXTileBench(SkShader::kMirror_TileMode, SkShader::kMirr
or_TileMode, false, false, true)) | 119 DEF_BENCH(return new ConstXTileBench(SkShader::kMirror_TileMode, SkShader::kMirr
or_TileMode, false, false, true)) |
| 120 | 120 |
| 121 DEF_BENCH(return new ConstXTileBench(SkShader::kRepeat_TileMode, SkShader::kRepe
at_TileMode, true, false, false)) | 121 DEF_BENCH(return new ConstXTileBench(SkShader::kRepeat_TileMode, SkShader::kRepe
at_TileMode, true, false, false)) |
| 122 DEF_BENCH(return new ConstXTileBench(SkShader::kClamp_TileMode, SkShader::kClamp
_TileMode, true, false, true)) | 122 DEF_BENCH(return new ConstXTileBench(SkShader::kClamp_TileMode, SkShader::kClamp
_TileMode, true, false, true)) |
| 123 DEF_BENCH(return new ConstXTileBench(SkShader::kMirror_TileMode, SkShader::kMirr
or_TileMode, true, false, false)) | 123 DEF_BENCH(return new ConstXTileBench(SkShader::kMirror_TileMode, SkShader::kMirr
or_TileMode, true, false, false)) |
| 124 | 124 |
| 125 DEF_BENCH(return new ConstXTileBench(SkShader::kRepeat_TileMode, SkShader::kRepe
at_TileMode, false, true, true)) | 125 DEF_BENCH(return new ConstXTileBench(SkShader::kRepeat_TileMode, SkShader::kRepe
at_TileMode, false, true, true)) |
| 126 DEF_BENCH(return new ConstXTileBench(SkShader::kClamp_TileMode, SkShader::kClamp
_TileMode, false, true, false)) | 126 DEF_BENCH(return new ConstXTileBench(SkShader::kClamp_TileMode, SkShader::kClamp
_TileMode, false, true, false)) |
| 127 DEF_BENCH(return new ConstXTileBench(SkShader::kMirror_TileMode, SkShader::kMirr
or_TileMode, false, true, true)) | 127 DEF_BENCH(return new ConstXTileBench(SkShader::kMirror_TileMode, SkShader::kMirr
or_TileMode, false, true, true)) |
| 128 | 128 |
| 129 DEF_BENCH(return new ConstXTileBench(SkShader::kRepeat_TileMode, SkShader::kRepe
at_TileMode, true, true, false)) | 129 DEF_BENCH(return new ConstXTileBench(SkShader::kRepeat_TileMode, SkShader::kRepe
at_TileMode, true, true, false)) |
| 130 DEF_BENCH(return new ConstXTileBench(SkShader::kClamp_TileMode, SkShader::kClamp
_TileMode, true, true, true)) | 130 DEF_BENCH(return new ConstXTileBench(SkShader::kClamp_TileMode, SkShader::kClamp
_TileMode, true, true, true)) |
| 131 DEF_BENCH(return new ConstXTileBench(SkShader::kMirror_TileMode, SkShader::kMirr
or_TileMode, true, true, false)) | 131 DEF_BENCH(return new ConstXTileBench(SkShader::kMirror_TileMode, SkShader::kMirr
or_TileMode, true, true, false)) |
| OLD | NEW |