impl getROPixels for gpu SkImage

BUG=skia:
R=jvanverth@google.com

Review URL: https://codereview.chromium.org/150513005

git-svn-id: http://skia.googlecode.com/svn/trunk@13352 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/bench/benchmain.cpp b/bench/benchmain.cpp
index 49ef00d..13241e9 100644
--- a/bench/benchmain.cpp
+++ b/bench/benchmain.cpp
@@ -154,7 +154,7 @@
     SkString path = SkOSPath::SkPathJoin(dir, filename.c_str());
     ::remove(path.c_str());
 
-    SkFILEWStream   stream(filename.c_str());
+    SkFILEWStream   stream(path.c_str());
     stream.write(data->data(), data->size());
 }
 
diff --git a/src/image/SkImage_Gpu.cpp b/src/image/SkImage_Gpu.cpp
index ab0a523..0d8ddaa 100644
--- a/src/image/SkImage_Gpu.cpp
+++ b/src/image/SkImage_Gpu.cpp
@@ -23,10 +23,7 @@
     virtual void onDraw(SkCanvas*, SkScalar x, SkScalar y, const SkPaint*) SK_OVERRIDE;
     virtual void onDrawRectToRect(SkCanvas*, const SkRect* src, const SkRect& dst, const SkPaint*) SK_OVERRIDE;
     virtual GrTexture* onGetTexture() SK_OVERRIDE;
-    virtual bool getROPixels(SkBitmap*) const SK_OVERRIDE {
-        // TODO
-        return false;
-    }
+    virtual bool getROPixels(SkBitmap*) const SK_OVERRIDE;
 
     GrTexture* getTexture() { return fBitmap.getTexture(); }
 
@@ -61,6 +58,10 @@
     return fBitmap.getTexture();
 }
 
+bool SkImage_Gpu::getROPixels(SkBitmap* dst) const {
+    return fBitmap.copyTo(dst, SkBitmap::kARGB_8888_Config);
+}
+
 ///////////////////////////////////////////////////////////////////////////////
 
 SkImage* SkImage::NewTexture(const SkBitmap& bitmap) {