[graphite] Remove ref counting from Recorder.
Bug: skia:12794
Change-Id: Iefdc2d84991a542533d13c227051c372459564db
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/494241
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
diff --git a/dm/DMSrcSink.cpp b/dm/DMSrcSink.cpp
index 2b207ac..6eda694 100644
--- a/dm/DMSrcSink.cpp
+++ b/dm/DMSrcSink.cpp
@@ -2164,7 +2164,7 @@
precompile(context.get());
}
- sk_sp<skgpu::Recorder> recorder = context->createRecorder();
+ std::unique_ptr<skgpu::Recorder> recorder = context->makeRecorder();
if (!recorder) {
return Result::Fatal("Could not create a recorder.");
}
diff --git a/experimental/graphite/include/Context.h b/experimental/graphite/include/Context.h
index 58168f3..921c006 100644
--- a/experimental/graphite/include/Context.h
+++ b/experimental/graphite/include/Context.h
@@ -63,7 +63,7 @@
BackendApi backend() const { return fBackend; }
- sk_sp<Recorder> createRecorder();
+ std::unique_ptr<Recorder> makeRecorder();
void insertRecording(std::unique_ptr<Recording>);
void submit(SyncToCpu = SyncToCpu::kNo);
diff --git a/experimental/graphite/include/Recorder.h b/experimental/graphite/include/Recorder.h
index 496d9e9..5438a07 100644
--- a/experimental/graphite/include/Recorder.h
+++ b/experimental/graphite/include/Recorder.h
@@ -19,9 +19,9 @@
class Recording;
class UniformCache;
-class Recorder final : public SkRefCnt {
+class Recorder final {
public:
- ~Recorder() override;
+ ~Recorder();
void add(sk_sp<Task>);
diff --git a/experimental/graphite/src/Context.cpp b/experimental/graphite/src/Context.cpp
index 74cf936..58abcb8 100644
--- a/experimental/graphite/src/Context.cpp
+++ b/experimental/graphite/src/Context.cpp
@@ -45,8 +45,8 @@
}
#endif
-sk_sp<Recorder> Context::createRecorder() {
- return sk_sp<Recorder>(new Recorder(sk_ref_sp(this)));
+std::unique_ptr<Recorder> Context::makeRecorder() {
+ return std::unique_ptr<Recorder>(new Recorder(sk_ref_sp(this)));
}
void Context::insertRecording(std::unique_ptr<Recording> recording) {
diff --git a/tests/graphite/BackendTextureTest.cpp b/tests/graphite/BackendTextureTest.cpp
index c8a4344..ca1b2f6 100644
--- a/tests/graphite/BackendTextureTest.cpp
+++ b/tests/graphite/BackendTextureTest.cpp
@@ -73,7 +73,7 @@
// formats, color types, etc.
auto caps = context->priv().gpu()->caps();
- sk_sp<Recorder> recorder = context->createRecorder();
+ std::unique_ptr<Recorder> recorder = context->makeRecorder();
TextureInfo info = caps->getDefaultSampledTextureInfo(kRGBA_8888_SkColorType,
/*levelCount=*/1,
diff --git a/tests/graphite/RecorderTest.cpp b/tests/graphite/RecorderTest.cpp
index 552be3c..5f66a75 100644
--- a/tests/graphite/RecorderTest.cpp
+++ b/tests/graphite/RecorderTest.cpp
@@ -15,7 +15,7 @@
// Tests to make sure the managing of back pointers between Recorder and Device all work properly.
DEF_GRAPHITE_TEST_FOR_CONTEXTS(RecorderDevicePtrTest, reporter, context) {
- sk_sp<Recorder> recorder = context->createRecorder();
+ std::unique_ptr<Recorder> recorder = context->makeRecorder();
SkImageInfo info = SkImageInfo::Make({16, 16}, kRGBA_8888_SkColorType, kPremul_SkAlphaType);
diff --git a/tests/graphite/UniformCacheTest.cpp b/tests/graphite/UniformCacheTest.cpp
index f101b59..20ecaeb 100644
--- a/tests/graphite/UniformCacheTest.cpp
+++ b/tests/graphite/UniformCacheTest.cpp
@@ -41,7 +41,7 @@
} // anonymous namespace
DEF_GRAPHITE_TEST_FOR_CONTEXTS(UniformCacheTest, reporter, context) {
- sk_sp<Recorder> recorder = context->createRecorder();
+ std::unique_ptr<Recorder> recorder = context->makeRecorder();
auto cache = recorder->uniformCache();