Add benchmark for comparing multitexturing to non-multitexturing image draws.

Allows benchmarks to override GrContextOptions.

Removes the ability to use the same GrContext for all benchmarks in a config.

Change-Id: I5ab9f6e81055451ac912a66537843d1a49f3b479
Reviewed-on: https://skia-review.googlesource.com/34080
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
diff --git a/bench/Benchmark.h b/bench/Benchmark.h
index 8fc75f8..ddc9387 100644
--- a/bench/Benchmark.h
+++ b/bench/Benchmark.h
@@ -27,7 +27,7 @@
  *  DEF_BENCH(return new MyBenchmark(...))
  */
 
-
+struct GrContextOptions;
 class SkCanvas;
 class SkPaint;
 
@@ -63,6 +63,9 @@
         return backend != kNonRendering_Backend;
     }
 
+    // Allows a benchmark to override options used to construct the GrContext.
+    virtual void modifyGrContextOptions(GrContextOptions*) {}
+
     virtual int calculateLoops(int defaultLoops) const {
         return defaultLoops;
     }