aboutsummaryrefslogtreecommitdiffhomepage
path: root/bench/XfermodeBench.cpp
diff options
context:
space:
mode:
authorGravatar senorblanco <senorblanco@chromium.org>2016-04-08 14:29:47 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-04-08 14:29:47 -0700
commit7adf9c1dd27323f60553aa5d8ffd4db9f92b95da (patch)
treec6ad1bdf17a0fce41c9edae25e7a9a94abec5040 /bench/XfermodeBench.cpp
parent42da45d399d73fe3521d9c18c483fb540ad0723c (diff)
Add some benches for SkArithmeticMode.
Diffstat (limited to 'bench/XfermodeBench.cpp')
-rw-r--r--bench/XfermodeBench.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/bench/XfermodeBench.cpp b/bench/XfermodeBench.cpp
index 829c437e09..7d00f411bd 100644
--- a/bench/XfermodeBench.cpp
+++ b/bench/XfermodeBench.cpp
@@ -6,6 +6,7 @@
*/
#include "Benchmark.h"
+#include "SkArithmeticMode.h"
#include "SkCanvas.h"
#include "SkPaint.h"
#include "SkRandom.h"
@@ -22,9 +23,8 @@ public:
fName.printf("Xfermode_%s%s", SkXfermode::ModeName(mode), aa ? "_aa" : "");
}
- XfermodeBench(SkXfermode* xferMode, const char* name, bool aa) {
- SkASSERT(xferMode);
- fXfermode.reset(xferMode);
+ XfermodeBench(sk_sp<SkXfermode> xferMode, const char* name, bool aa) {
+ fXfermode = xferMode;
fAA = aa;
fName.printf("Xfermode_%s%s", name, aa ? "_aa" : "");
}
@@ -135,4 +135,13 @@ BENCH(SkXfermode::kSaturation_Mode)
BENCH(SkXfermode::kColor_Mode)
BENCH(SkXfermode::kLuminosity_Mode)
+DEF_BENCH( return new XfermodeBench(SkArithmeticMode::Make(0.2f, -0.3f, 1.5f, -0.7f, false), \
+ "arithmetic", false); )
+DEF_BENCH( return new XfermodeBench(SkArithmeticMode::Make(0.2f, -0.3f, 1.5f, -0.7f, true), \
+ "arithmetic_enforce_pm", false); )
+DEF_BENCH( return new XfermodeBench(SkArithmeticMode::Make(0.2f, -0.3f, 1.5f, -0.7f, false), \
+ "arithmetic", true); )
+DEF_BENCH( return new XfermodeBench(SkArithmeticMode::Make(0.2f, -0.3f, 1.5f, -0.7f, true), \
+ "arithmetic_enforce_pm", true); )
+
DEF_BENCH(return new XferCreateBench;)