SkRecord: turn on cull annotation pass in public API.
Also, switch Skia internal tools over to use the public headers where
possible. Where it's not, the tools -Isrc/record explicitly now, and
if it's not obvious, note why they don't use SkRecording.h.
BUG=skia:2378
R=reed@google.com, mtklein@google.com, fmalita@chromium.org
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/231853006
git-svn-id: http://skia.googlecode.com/svn/trunk@14191 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/tools/bench_playback.cpp b/tools/bench_playback.cpp
index b5dc57b..052ded8 100644
--- a/tools/bench_playback.cpp
+++ b/tools/bench_playback.cpp
@@ -24,6 +24,8 @@
DEFINE_int32(tile, 1000000000, "Simulated tile size.");
static void bench(SkPMColor* scratch, SkPicture& src, const char* name) {
+ // We don't use the public SkRecording interface here because we need kWriteOnly_Mode.
+ // (We don't want SkPicturePlayback to be able to optimize playing into our SkRecord.)
SkRecord record;
SkRecorder recorder(SkRecorder::kWriteOnly_Mode, &record, src.width(), src.height());
src.draw(&recorder);
diff --git a/tools/bench_record.cpp b/tools/bench_record.cpp
index 19bff78..ae91eb1 100644
--- a/tools/bench_record.cpp
+++ b/tools/bench_record.cpp
@@ -11,7 +11,7 @@
#include "SkOSFile.h"
#include "SkPicture.h"
#include "SkQuadTreePicture.h"
-#include "SkRecorder.h"
+#include "SkRecording.h"
#include "SkStream.h"
#include "SkString.h"
#include "SkTileGridPicture.h"
@@ -86,11 +86,12 @@
for (int i = 0; i < FLAGS_loops; i++) {
if (FLAGS_skr) {
- SkRecord record;
- SkRecorder canvas(SkRecorder::kWriteOnly_Mode, &record, width, height);
+ using EXPERIMENTAL::SkRecording;
+ SkRecording* recording = SkRecording::Create(width, height);
if (NULL != src) {
- src->draw(&canvas);
+ src->draw(recording->canvas());
}
+ SkDELETE(SkRecording::Delete(recording)); // delete the SkPlayback*.
} else {
int recordingFlags = FLAGS_flags;
SkAutoTUnref<SkPictureFactory> factory(pictureFactory(&recordingFlags));