SkCanvas::resetForNextPicture()
No diffs against head for DM --config 8888 gpu 2ndpic-8888 2ndpic-gpu.
picture_overhead_draw 1.62us -> 1.6us 0.99x
picture_overhead_nodraw 792ns -> 342ns 0.43x
tiles and serialization modes will also test this a bit.
BUG=chromium:470553
Committed: https://skia.googlesource.com/skia/+/f920e468ac66a36c9653d1b11181480295044c7d
Review URL: https://codereview.chromium.org/1067893002
diff --git a/src/core/SkRecorder.cpp b/src/core/SkRecorder.cpp
index aafb540..8684a8e 100644
--- a/src/core/SkRecorder.cpp
+++ b/src/core/SkRecorder.cpp
@@ -39,6 +39,12 @@
: SkCanvas(bounds.roundOut(), SkCanvas::kConservativeRasterClip_InitFlag)
, fRecord(record) {}
+void SkRecorder::reset(SkRecord* record, const SkRect& bounds) {
+ this->forgetRecord();
+ fRecord = record;
+ this->resetForNextPicture(bounds.roundOut());
+}
+
void SkRecorder::forgetRecord() {
fDrawableList.reset(NULL);
fRecord = NULL;