Index: tools/bench_pictures_main.cpp |
diff --git a/tools/bench_pictures_main.cpp b/tools/bench_pictures_main.cpp |
index b740877cce053a9fbd530df5787b9ebafc50cee7..ac66dc50d644b1be2a27b6896487def4964bc457 100644 |
--- a/tools/bench_pictures_main.cpp |
+++ b/tools/bench_pictures_main.cpp |
@@ -197,6 +197,14 @@ static bool run_single_benchmark(const SkString& inputPath, |
return false; |
} |
+ if (FLAGS_preprocess) { |
+ // Because the GPU preprocessing step relies on the in-memory picture |
+ // statistics we need to rerecord the picture here |
+ SkPictureRecorder recorder; |
+ picture->draw(recorder.beginRecording(picture->width(), picture->height(), NULL, 0)); |
+ picture.reset(recorder.endRecording()); |
+ } |
+ |
SkString filename = SkOSPath::Basename(inputPath.c_str()); |
gWriter.bench(filename.c_str(), picture->width(), picture->height()); |