Have GPU based approach workingish.

Benchmarks do not work and it is always on.

git-svn-id: http://skia.googlecode.com/svn/trunk@5175 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/tools/PictureBenchmark.h b/tools/PictureBenchmark.h
index 53ab5c2..309f570 100644
--- a/tools/PictureBenchmark.h
+++ b/tools/PictureBenchmark.h
@@ -28,19 +28,45 @@
         return fRepeats;
     }
 
+    void setUseBitmapDevice() {
+      sk_tools::PictureRenderer* renderer = getRenderer();
+
+        if (renderer != NULL) {
+            renderer->setUseBitmapDevice();
+        }
+    }
+
+#if SK_SUPPORT_GPU
+    void setUseGpuDevice() {
+      sk_tools::PictureRenderer* renderer = getRenderer();
+
+        if (renderer != NULL) {
+            renderer->setUseGpuDevice();
+        }
+    }
+#endif
+
 protected:
     int fRepeats;
 
 private:
     typedef SkRefCnt INHERITED;
+
+    virtual sk_tools::PictureRenderer* getRenderer() {
+        return NULL;
+    }
 };
 
 class PipePictureBenchmark : public PictureBenchmark {
 public:
     virtual void run(SkPicture* pict) SK_OVERRIDE;
 private:
-    PipePictureRenderer renderer;
+    PipePictureRenderer fRenderer;
     typedef PictureBenchmark INHERITED;
+
+    virtual sk_tools::PictureRenderer* getRenderer() SK_OVERRIDE {
+        return &fRenderer;
+    }
 };
 
 class RecordPictureBenchmark : public PictureBenchmark {
@@ -54,8 +80,12 @@
 public:
     virtual void run(SkPicture* pict) SK_OVERRIDE;
 private:
-    SimplePictureRenderer renderer;
+    SimplePictureRenderer fRenderer;
     typedef PictureBenchmark INHERITED;
+
+    virtual sk_tools::PictureRenderer* getRenderer() SK_OVERRIDE {
+        return &fRenderer;
+    }
 };
 
 class TiledPictureBenchmark : public PictureBenchmark {
@@ -63,40 +93,44 @@
     virtual void run(SkPicture* pict) SK_OVERRIDE;
 
     void setTileWidth(int width) {
-        renderer.setTileWidth(width);
+        fRenderer.setTileWidth(width);
     }
 
     int getTileWidth() const {
-        return renderer.getTileWidth();
+        return fRenderer.getTileWidth();
     }
 
     void setTileHeight(int height) {
-        renderer.setTileHeight(height);
+        fRenderer.setTileHeight(height);
     }
 
     int getTileHeight() const {
-        return renderer.getTileHeight();
+        return fRenderer.getTileHeight();
     }
 
     void setTileWidthPercentage(double percentage) {
-        renderer.setTileWidthPercentage(percentage);
+        fRenderer.setTileWidthPercentage(percentage);
     }
 
     double getTileWidthPercentage() const {
-        return renderer.getTileWidthPercentage();
+        return fRenderer.getTileWidthPercentage();
     }
 
     void setTileHeightPercentage(double percentage) {
-        renderer.setTileHeightPercentage(percentage);
+        fRenderer.setTileHeightPercentage(percentage);
     }
 
     double getTileHeightPercentage() const {
-        return renderer.getTileHeightPercentage();
+        return fRenderer.getTileHeightPercentage();
     }
 
 private:
-    TiledPictureRenderer renderer;
+    TiledPictureRenderer fRenderer;
     typedef PictureBenchmark INHERITED;
+
+    virtual sk_tools::PictureRenderer* getRenderer() SK_OVERRIDE{
+        return &fRenderer;
+    }
 };
 
 class UnflattenPictureBenchmark : public PictureBenchmark {