diff options
author | joshualitt <joshualitt@chromium.org> | 2015-09-30 12:11:07 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-09-30 12:11:07 -0700 |
commit | 8a6697af95b340aad6dee7e6228048fa305c1e59 (patch) | |
tree | 08b4c39b0bc264940ff65b97a83c95d3d9bc1bbf /bench/PathBench.cpp | |
parent | 7fac5af5e9310826721ff416bdbe71294d607b2a (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.cpp | 12 |
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; |