diff options
author | reed <reed@google.com> | 2016-03-18 07:25:55 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-03-18 07:25:55 -0700 |
commit | ca2622ba051829fed5f30facd74c5b41cd4b931c (patch) | |
tree | 3d8248b7764e500f857b3d6cfb6866e72b632199 /bench | |
parent | eb75c7db3a7372de68347d0df8d58acebc33a9ad (diff) |
return pictures as sk_sp
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1811703002
Review URL: https://codereview.chromium.org/1811703002
Diffstat (limited to 'bench')
-rw-r--r-- | bench/PictureNestingBench.cpp | 9 | ||||
-rw-r--r-- | bench/PictureOverheadBench.cpp | 2 | ||||
-rw-r--r-- | bench/PicturePlaybackBench.cpp | 12 | ||||
-rw-r--r-- | bench/RecordingBench.cpp | 2 | ||||
-rw-r--r-- | bench/nanobench.cpp | 29 |
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; } |