Fix for nexus 5 crashing in GL benches
authorjoshualitt <joshualitt@chromium.org>
Wed, 30 Sep 2015 19:11:07 +0000 (12:11 -0700)
committerCommit bot <commit-bot@chromium.org>
Wed, 30 Sep 2015 19:11:07 +0000 (12:11 -0700)
commit8a6697af95b340aad6dee7e6228048fa305c1e59
tree08b4c39b0bc264940ff65b97a83c95d3d9bc1bbf
parent7fac5af5e9310826721ff416bdbe71294d607b2a
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
47 files changed:
bench/AlternatingColorPatternBench.cpp
bench/Benchmark.cpp
bench/Benchmark.h
bench/BigPathBench.cpp
bench/BitmapBench.cpp
bench/BitmapRectBench.cpp
bench/BitmapRegionDecoderBench.cpp
bench/BitmapRegionDecoderBench.h
bench/BitmapScaleBench.cpp
bench/BlurImageFilterBench.cpp
bench/CodecBench.cpp
bench/CodecBench.h
bench/ColorCubeBench.cpp
bench/ColorPrivBench.cpp
bench/DecodingBench.cpp
bench/DecodingBench.h
bench/DisplacementBench.cpp
bench/DrawBitmapAABench.cpp
bench/ETCBitmapBench.cpp
bench/FSRectBench.cpp
bench/GLBench.cpp
bench/GLBench.h
bench/GameBench.cpp
bench/GeometryBench.cpp
bench/GrResourceCacheBench.cpp
bench/ImageFilterCollapse.cpp
bench/MagnifierBench.cpp
bench/MatrixBench.cpp
bench/MergeBench.cpp
bench/MipMapBench.cpp
bench/PatchBench.cpp
bench/PatchGridBench.cpp
bench/PathBench.cpp
bench/PictureNestingBench.cpp
bench/PicturePlaybackBench.cpp
bench/PremulAndUnpremulAlphaOpsBench.cpp
bench/RTreeBench.cpp
bench/RectBench.cpp
bench/RectanizerBench.cpp
bench/RepeatTileBench.cpp
bench/SkipZeroesBench.cpp
bench/SortBench.cpp
bench/TextBench.cpp
bench/TextBlobBench.cpp
bench/nanobench.cpp
tools/VisualBench/VisualInteractiveModule.cpp
tools/VisualBench/VisualLightweightBenchModule.cpp