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 "SkCanvas.h" | 10 #include "SkCanvas.h" |
(...skipping 28 matching lines...) Expand all Loading... |
39 random.nextUScalar1() * (size.fHeight - h), | 39 random.nextUScalar1() * (size.fHeight - h), |
40 w, | 40 w, |
41 h | 41 h |
42 ); | 42 ); |
43 canvas->drawRect(rect, paint); | 43 canvas->drawRect(rect, paint); |
44 } | 44 } |
45 } | 45 } |
46 | 46 |
47 private: | 47 private: |
48 enum { | 48 enum { |
49 kNumRects = SkBENCHLOOP(1000), | 49 kNumRects = SkBENCHLOOP(75), |
50 kMinSize = 10, | 50 kMinSize = 50, |
51 kMaxSize = 400, | 51 kMaxSize = 100, |
52 }; | 52 }; |
53 SkAutoTUnref<SkXfermode> fXfermode; | 53 SkAutoTUnref<SkXfermode> fXfermode; |
54 SkString fName; | 54 SkString fName; |
55 | 55 |
56 typedef SkBenchmark INHERITED; | 56 typedef SkBenchmark INHERITED; |
57 }; | 57 }; |
58 | 58 |
59 ////////////////////////////////////////////////////////////////////////////// | 59 ////////////////////////////////////////////////////////////////////////////// |
60 | 60 |
| 61 static SkBenchmark* Fact00(void* p) { return new XfermodeBench(p, SkXfermode::kC
lear_Mode); } |
| 62 static SkBenchmark* Fact01(void* p) { return new XfermodeBench(p, SkXfermode::kS
rc_Mode); } |
| 63 static SkBenchmark* Fact02(void* p) { return new XfermodeBench(p, SkXfermode::kD
st_Mode); } |
| 64 static SkBenchmark* Fact03(void* p) { return new XfermodeBench(p, SkXfermode::kS
rcOver_Mode); } |
| 65 static SkBenchmark* Fact04(void* p) { return new XfermodeBench(p, SkXfermode::kD
stOver_Mode); } |
| 66 static SkBenchmark* Fact05(void* p) { return new XfermodeBench(p, SkXfermode::kS
rcIn_Mode); } |
| 67 static SkBenchmark* Fact06(void* p) { return new XfermodeBench(p, SkXfermode::kD
stIn_Mode); } |
| 68 static SkBenchmark* Fact07(void* p) { return new XfermodeBench(p, SkXfermode::kS
rcOut_Mode); } |
| 69 static SkBenchmark* Fact08(void* p) { return new XfermodeBench(p, SkXfermode::kD
stOut_Mode); } |
| 70 static SkBenchmark* Fact09(void* p) { return new XfermodeBench(p, SkXfermode::kS
rcATop_Mode); } |
| 71 static SkBenchmark* Fact10(void* p) { return new XfermodeBench(p, SkXfermode::kD
stATop_Mode); } |
| 72 static SkBenchmark* Fact11(void* p) { return new XfermodeBench(p, SkXfermode::kX
or_Mode); } |
| 73 static SkBenchmark* Fact12(void* p) { return new XfermodeBench(p, SkXfermode::kP
lus_Mode); } |
| 74 static SkBenchmark* Fact13(void* p) { return new XfermodeBench(p, SkXfermode::kM
odulate_Mode); } |
| 75 static SkBenchmark* Fact14(void* p) { return new XfermodeBench(p, SkXfermode::kS
creen_Mode); } |
| 76 static SkBenchmark* Fact15(void* p) { return new XfermodeBench(p, SkXfermode::kO
verlay_Mode); } |
| 77 static SkBenchmark* Fact16(void* p) { return new XfermodeBench(p, SkXfermode::kD
arken_Mode); } |
| 78 static SkBenchmark* Fact17(void* p) { return new XfermodeBench(p, SkXfermode::kL
ighten_Mode); } |
| 79 static SkBenchmark* Fact18(void* p) { return new XfermodeBench(p, SkXfermode::kC
olorDodge_Mode); } |
| 80 static SkBenchmark* Fact19(void* p) { return new XfermodeBench(p, SkXfermode::kC
olorBurn_Mode); } |
| 81 static SkBenchmark* Fact20(void* p) { return new XfermodeBench(p, SkXfermode::kH
ardLight_Mode); } |
| 82 static SkBenchmark* Fact21(void* p) { return new XfermodeBench(p, SkXfermode::kS
oftLight_Mode); } |
| 83 static SkBenchmark* Fact22(void* p) { return new XfermodeBench(p, SkXfermode::kD
ifference_Mode); } |
| 84 static SkBenchmark* Fact23(void* p) { return new XfermodeBench(p, SkXfermode::kE
xclusion_Mode); } |
| 85 static SkBenchmark* Fact24(void* p) { return new XfermodeBench(p, SkXfermode::kM
ultiply_Mode); } |
| 86 static SkBenchmark* Fact25(void* p) { return new XfermodeBench(p, SkXfermode::kH
ue_Mode); } |
| 87 static SkBenchmark* Fact26(void* p) { return new XfermodeBench(p, SkXfermode::kS
aturation_Mode); } |
| 88 static SkBenchmark* Fact27(void* p) { return new XfermodeBench(p, SkXfermode::kC
olor_Mode); } |
| 89 static SkBenchmark* Fact28(void* p) { return new XfermodeBench(p, SkXfermode::kL
uminosity_Mode); } |
61 | 90 |
62 // These modes were chosen because they are expected to be successively harder f
or the GPU. | 91 static BenchRegistry gReg00(Fact00); |
63 // kSrc can disable blending, kSrcOver cannot, kDarken requires reading the dst
pixel in the shader. | 92 static BenchRegistry gReg01(Fact01); |
64 static SkBenchmark* Fact0(void* p) { return new XfermodeBench(p, SkXfermode::kSr
c_Mode); } | 93 static BenchRegistry gReg02(Fact02); |
65 static SkBenchmark* Fact1(void* p) { return new XfermodeBench(p, SkXfermode::kSr
cOver_Mode); } | 94 static BenchRegistry gReg03(Fact03); |
66 static SkBenchmark* Fact2(void* p) { return new XfermodeBench(p, SkXfermode::kDa
rken_Mode); } | 95 static BenchRegistry gReg04(Fact04); |
| 96 static BenchRegistry gReg05(Fact05); |
| 97 static BenchRegistry gReg06(Fact06); |
| 98 static BenchRegistry gReg07(Fact07); |
| 99 static BenchRegistry gReg08(Fact08); |
| 100 static BenchRegistry gReg09(Fact09); |
| 101 static BenchRegistry gReg10(Fact10); |
| 102 static BenchRegistry gReg11(Fact11); |
| 103 static BenchRegistry gReg12(Fact12); |
| 104 static BenchRegistry gReg13(Fact13); |
| 105 static BenchRegistry gReg14(Fact14); |
| 106 static BenchRegistry gReg15(Fact15); |
| 107 static BenchRegistry gReg16(Fact16); |
| 108 static BenchRegistry gReg17(Fact17); |
| 109 static BenchRegistry gReg18(Fact18); |
| 110 static BenchRegistry gReg19(Fact19); |
| 111 static BenchRegistry gReg20(Fact20); |
| 112 static BenchRegistry gReg21(Fact21); |
| 113 static BenchRegistry gReg22(Fact22); |
| 114 static BenchRegistry gReg23(Fact23); |
| 115 static BenchRegistry gReg24(Fact24); |
| 116 static BenchRegistry gReg25(Fact25); |
| 117 static BenchRegistry gReg26(Fact26); |
| 118 static BenchRegistry gReg27(Fact27); |
| 119 static BenchRegistry gReg28(Fact28); |
67 | 120 |
68 static BenchRegistry gReg0(Fact0); | |
69 static BenchRegistry gReg1(Fact1); | |
70 static BenchRegistry gReg2(Fact2); | |
OLD | NEW |