aboutsummaryrefslogtreecommitdiffhomepage
path: root/bench/Benchmark.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/Benchmark.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/Benchmark.cpp')
-rw-r--r--bench/Benchmark.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/bench/Benchmark.cpp b/bench/Benchmark.cpp
index bf622b0683..98fec2e7aa 100644
--- a/bench/Benchmark.cpp
+++ b/bench/Benchmark.cpp
@@ -33,14 +33,22 @@ SkIPoint Benchmark::getSize() {
return this->onGetSize();
}
-void Benchmark::preDraw() {
- this->onPreDraw();
+void Benchmark::delayedSetup() {
+ this->onDelayedSetup();
}
void Benchmark::perCanvasPreDraw(SkCanvas* canvas) {
this->onPerCanvasPreDraw(canvas);
}
+void Benchmark::preDraw(SkCanvas* canvas) {
+ this->onPreDraw(canvas);
+}
+
+void Benchmark::postDraw(SkCanvas* canvas) {
+ this->onPostDraw(canvas);
+}
+
void Benchmark::perCanvasPostDraw(SkCanvas* canvas) {
this->onPerCanvasPostDraw(canvas);
}