aboutsummaryrefslogtreecommitdiffhomepage
path: root/bench/GameBench.cpp
diff options
context:
space:
mode:
authorGravatar robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-05-15 14:18:32 +0000
committerGravatar robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-05-15 14:18:32 +0000
commit347fd4e9fde6843128c841a3f0ba2482154781a5 (patch)
treef546f5d6eb2e1ec2fbb6b4781448e6c4fffd1856 /bench/GameBench.cpp
parent6db962617ff75cadaa6574d85620f7fe0161e23e (diff)
Add aligned case to game bench
Diffstat (limited to 'bench/GameBench.cpp')
-rw-r--r--bench/GameBench.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/bench/GameBench.cpp b/bench/GameBench.cpp
index 36a67113a8..4998bd8414 100644
--- a/bench/GameBench.cpp
+++ b/bench/GameBench.cpp
@@ -22,10 +22,11 @@ public:
kRotate_Type
};
- GameBench(void* param, Type type, bool partialClear)
+ GameBench(void* param, Type type, bool partialClear, bool aligned = false)
: INHERITED(param)
, fType(type)
, fPartialClear(partialClear)
+ , fAligned(aligned)
, fName("game")
, fNumSaved(0)
, fInitialized(false) {
@@ -42,6 +43,10 @@ public:
break;
};
+ if (aligned) {
+ fName.append("_aligned");
+ }
+
if (partialClear) {
fName.append("_partial");
} else {
@@ -130,6 +135,11 @@ protected:
fSaved[fNumSaved][0] = transRand.nextRangeScalar(0.0f, maxTransX);
fSaved[fNumSaved][1] = transRand.nextRangeScalar(0.0f, maxTransY);
+ if (fAligned) {
+ // make the translations integer aligned
+ fSaved[fNumSaved][0] = SkScalarFloorToScalar(fSaved[fNumSaved][0]);
+ fSaved[fNumSaved][1] = SkScalarFloorToScalar(fSaved[fNumSaved][1]);
+ }
mat.setTranslate(fSaved[fNumSaved][0], fSaved[fNumSaved][1]);
@@ -160,6 +170,7 @@ private:
Type fType;
bool fPartialClear;
+ bool fAligned;
SkString fName;
int fNumSaved; // num draws stored in 'fSaved'
bool fInitialized;
@@ -197,9 +208,11 @@ private:
// Partial clear
DEF_BENCH( return SkNEW_ARGS(GameBench, (p, GameBench::kScale_Type, false)); )
DEF_BENCH( return SkNEW_ARGS(GameBench, (p, GameBench::kTranslate_Type, false)); )
+DEF_BENCH( return SkNEW_ARGS(GameBench, (p, GameBench::kTranslate_Type, false, true)); )
DEF_BENCH( return SkNEW_ARGS(GameBench, (p, GameBench::kRotate_Type, false)); )
// Full clear
DEF_BENCH( return SkNEW_ARGS(GameBench, (p, GameBench::kScale_Type, true)); )
DEF_BENCH( return SkNEW_ARGS(GameBench, (p, GameBench::kTranslate_Type, true)); )
+DEF_BENCH( return SkNEW_ARGS(GameBench, (p, GameBench::kTranslate_Type, true, true)); )
DEF_BENCH( return SkNEW_ARGS(GameBench, (p, GameBench::kRotate_Type, true)); )