aboutsummaryrefslogtreecommitdiffhomepage
path: root/bench/PathBench.cpp
diff options
context:
space:
mode:
authorGravatar joshualitt <joshualitt@chromium.org>2015-09-30 12:11:07 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2015-09-30 12:11:07 -0700
commit8a6697af95b340aad6dee7e6228048fa305c1e59 (patch)
tree08b4c39b0bc264940ff65b97a83c95d3d9bc1bbf /bench/PathBench.cpp
parent7fac5af5e9310826721ff416bdbe71294d607b2a (diff)
Fix for nexus 5 crashing in GL benches
GLBenches do not expect gl state to change between onPerCanvasPreDraw and *PostDraw, but we do a clear and sometimes we clear as draw. This causes us to bind vertex objects / programs / etc. This change creates two new virtual methods which are called right before and immediately after timing. BUG=skia: Review URL: https://codereview.chromium.org/1379853003
Diffstat (limited to 'bench/PathBench.cpp')
-rw-r--r--bench/PathBench.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/bench/PathBench.cpp b/bench/PathBench.cpp
index 8c157119d4..e09fc3ecab 100644
--- a/bench/PathBench.cpp
+++ b/bench/PathBench.cpp
@@ -325,7 +325,7 @@ protected:
return "path_create";
}
- void onPreDraw() override {
+ void onDelayedSetup() override {
this->createData(10, 100);
}
@@ -354,7 +354,7 @@ protected:
const char* onGetName() override {
return "path_copy";
}
- void onPreDraw() override {
+ void onDelayedSetup() override {
this->createData(10, 100);
fPaths.reset(kPathCnt);
fCopies.reset(kPathCnt);
@@ -390,7 +390,7 @@ protected:
return fInPlace ? "path_transform_in_place" : "path_transform_copy";
}
- void onPreDraw() override {
+ void onDelayedSetup() override {
fMatrix.setScale(5 * SK_Scalar1, 6 * SK_Scalar1);
this->createData(10, 100);
fPaths.reset(kPathCnt);
@@ -438,7 +438,7 @@ protected:
return "path_equality_50%";
}
- void onPreDraw() override {
+ void onDelayedSetup() override {
fParity = 0;
this->createData(10, 100);
fPaths.reset(kPathCnt);
@@ -501,7 +501,7 @@ protected:
}
}
- void onPreDraw() override {
+ void onDelayedSetup() override {
// reversePathTo assumes a single contour path.
bool allowMoves = kReversePathTo_AddType != fType;
this->createData(10, 100, allowMoves);
@@ -769,7 +769,7 @@ private:
}
}
- void onPreDraw() override {
+ void onDelayedSetup() override {
fQueryRects.setCount(kQueryRectCnt);
SkRandom rand;