aboutsummaryrefslogtreecommitdiffhomepage
path: root/bench
diff options
context:
space:
mode:
authorGravatar reed <reed@google.com>2016-03-18 07:25:55 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-03-18 07:25:55 -0700
commitca2622ba051829fed5f30facd74c5b41cd4b931c (patch)
tree3d8248b7764e500f857b3d6cfb6866e72b632199 /bench
parenteb75c7db3a7372de68347d0df8d58acebc33a9ad (diff)
return pictures as sk_sp
Diffstat (limited to 'bench')
-rw-r--r--bench/PictureNestingBench.cpp9
-rw-r--r--bench/PictureOverheadBench.cpp2
-rw-r--r--bench/PicturePlaybackBench.cpp12
-rw-r--r--bench/RecordingBench.cpp2
-rw-r--r--bench/nanobench.cpp29
5 files changed, 24 insertions, 30 deletions
diff --git a/bench/PictureNestingBench.cpp b/bench/PictureNestingBench.cpp
index a968d51db5..abe89368f9 100644
--- a/bench/PictureNestingBench.cpp
+++ b/bench/PictureNestingBench.cpp
@@ -74,8 +74,7 @@ protected:
c->restore();
if (recordPicture) {
- SkAutoTUnref<SkPicture> picture(recorder.endRecording());
- canvas->drawPicture(picture);
+ canvas->drawPicture(recorder.finishRecordingAsPicture());
}
return pics;
@@ -125,7 +124,7 @@ protected:
SkCanvas* c = recorder.beginRecording(SkIntToScalar(canvasSize.x()),
SkIntToScalar(canvasSize.y()));
this->doDraw(c);
- SkAutoTUnref<SkPicture> picture(recorder.endRecording());
+ (void)recorder.finishRecordingAsPicture();
}
}
@@ -148,7 +147,7 @@ protected:
SkIntToScalar(canvasSize.y()));
this->doDraw(c);
- fPicture.reset(recorder.endRecording());
+ fPicture = recorder.finishRecordingAsPicture();
}
void onDraw(int loops, SkCanvas* canvas) override {
@@ -158,7 +157,7 @@ protected:
}
private:
- SkAutoTUnref<SkPicture> fPicture;
+ sk_sp<SkPicture> fPicture;
typedef PictureNesting INHERITED;
};
diff --git a/bench/PictureOverheadBench.cpp b/bench/PictureOverheadBench.cpp
index 62a51ec359..fc72f8623a 100644
--- a/bench/PictureOverheadBench.cpp
+++ b/bench/PictureOverheadBench.cpp
@@ -26,7 +26,7 @@ struct PictureOverheadBench : public Benchmark {
if (kDraw) {
rec.getRecordingCanvas()->drawRect(SkRect::MakeXYWH(10, 10, 1000, 1000), SkPaint());
}
- SkAutoTUnref<SkPicture> pic(rec.endRecordingAsPicture());
+ (void)rec.finishRecordingAsPicture();
}
}
};
diff --git a/bench/PicturePlaybackBench.cpp b/bench/PicturePlaybackBench.cpp
index 84951a1665..2b2b6ad1fe 100644
--- a/bench/PicturePlaybackBench.cpp
+++ b/bench/PicturePlaybackBench.cpp
@@ -42,7 +42,7 @@ protected:
SkPictureRecorder recorder;
SkCanvas* pCanvas = recorder.beginRecording(PICTURE_WIDTH, PICTURE_HEIGHT, nullptr, 0);
this->recordCanvas(pCanvas);
- SkAutoTUnref<SkPicture> picture(recorder.endRecording());
+ sk_sp<SkPicture> picture(recorder.finishRecordingAsPicture());
const SkPoint translateDelta = getTranslateDelta(loops);
@@ -182,7 +182,7 @@ public:
paint.setAlpha(0xFF);
canvas->drawRect(SkRect::MakeXYWH(x,y,w,h), paint);
}
- fPic.reset(recorder.endRecording());
+ fPic = recorder.finishRecordingAsPicture();
}
void onDraw(int loops, SkCanvas* canvas) override {
@@ -207,10 +207,10 @@ public:
}
private:
- BBH fBBH;
- Mode fMode;
- SkString fName;
- SkAutoTUnref<SkPicture> fPic;
+ BBH fBBH;
+ Mode fMode;
+ SkString fName;
+ sk_sp<SkPicture> fPic;
};
DEF_BENCH( return new TiledPlaybackBench(kNone, kRandom); )
diff --git a/bench/RecordingBench.cpp b/bench/RecordingBench.cpp
index 1cc4d15345..537c9e158e 100644
--- a/bench/RecordingBench.cpp
+++ b/bench/RecordingBench.cpp
@@ -38,6 +38,6 @@ void RecordingBench::onDraw(int loops, SkCanvas*) {
for (int i = 0; i < loops; i++) {
SkPictureRecorder recorder;
fSrc->playback(recorder.beginRecording(w, h, fUseBBH ? &factory : nullptr, flags));
- SkSafeUnref(recorder.endRecording());
+ (void)recorder.finishRecordingAsPicture();
}
}
diff --git a/bench/nanobench.cpp b/bench/nanobench.cpp
index 88dd74f92d..df6bcd7531 100644
--- a/bench/nanobench.cpp
+++ b/bench/nanobench.cpp
@@ -617,25 +617,20 @@ public:
fColorTypes.reset(colorTypes, SK_ARRAY_COUNT(colorTypes));
}
- static bool ReadPicture(const char* path, SkAutoTUnref<SkPicture>* pic) {
+ static sk_sp<SkPicture> ReadPicture(const char* path) {
// Not strictly necessary, as it will be checked again later,
// but helps to avoid a lot of pointless work if we're going to skip it.
if (SkCommandLineFlags::ShouldSkip(FLAGS_match, SkOSPath::Basename(path).c_str())) {
- return false;
+ return nullptr;
}
SkAutoTDelete<SkStream> stream(SkStream::NewFromFile(path));
if (stream.get() == nullptr) {
SkDebugf("Could not read %s.\n", path);
- return false;
+ return nullptr;
}
- pic->reset(SkPicture::CreateFromStream(stream.get()));
- if (pic->get() == nullptr) {
- SkDebugf("Could not read %s as an SkPicture.\n", path);
- return false;
- }
- return true;
+ return SkPicture::MakeFromStream(stream.get());
}
Benchmark* next() {
@@ -672,14 +667,14 @@ public:
// First add all .skps as RecordingBenches.
while (fCurrentRecording < fSKPs.count()) {
const SkString& path = fSKPs[fCurrentRecording++];
- SkAutoTUnref<SkPicture> pic;
- if (!ReadPicture(path.c_str(), &pic)) {
+ sk_sp<SkPicture> pic = ReadPicture(path.c_str());
+ if (!pic) {
continue;
}
SkString name = SkOSPath::Basename(path.c_str());
fSourceType = "skp";
fBenchType = "recording";
- fSKPBytes = static_cast<double>(SkPictureUtils::ApproximateBytesUsed(pic));
+ fSKPBytes = static_cast<double>(SkPictureUtils::ApproximateBytesUsed(pic.get()));
fSKPOps = pic->approximateOpCount();
return new RecordingBench(name.c_str(), pic.get(), FLAGS_bbh);
}
@@ -688,8 +683,8 @@ public:
while (fCurrentScale < fScales.count()) {
while (fCurrentSKP < fSKPs.count()) {
const SkString& path = fSKPs[fCurrentSKP];
- SkAutoTUnref<SkPicture> pic;
- if (!ReadPicture(path.c_str(), &pic)) {
+ sk_sp<SkPicture> pic = ReadPicture(path.c_str());
+ if (!pic) {
fCurrentSKP++;
continue;
}
@@ -704,7 +699,7 @@ public:
pic->cullRect().height(),
&factory,
fUseMPDs[fCurrentUseMPD] ? kFlags : 0));
- pic.reset(recorder.endRecording());
+ pic = recorder.finishRecordingAsPicture();
}
SkString name = SkOSPath::Basename(path.c_str());
fSourceType = "skp";
@@ -723,8 +718,8 @@ public:
if (fZoomMax != 1.0f && fZoomPeriodMs > 0) {
while (fCurrentAnimSKP < fSKPs.count()) {
const SkString& path = fSKPs[fCurrentAnimSKP];
- SkAutoTUnref<SkPicture> pic;
- if (!ReadPicture(path.c_str(), &pic)) {
+ sk_sp<SkPicture> pic = ReadPicture(path.c_str());
+ if (!pic) {
fCurrentAnimSKP++;
continue;
}