aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/mock/GrMockTexture.h
diff options
context:
space:
mode:
authorGravatar Greg Daniel <egdaniel@google.com>2018-01-30 09:28:44 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-01-30 14:50:00 +0000
commit6a0176bf033c780bb92396220db8140f30948345 (patch)
treee1ddcf9e3ca552d5063542d18ce30028e1ca0ca7 /src/gpu/mock/GrMockTexture.h
parentaa71c899fdf55e0a6cce60a2aed1ad904d23646d (diff)
Add ref counted wrapped around GrTexture ReleaseProc
Bug: skia: Change-Id: I0cd11a539fd6b16d4b3f9512694f84e0a429518c Reviewed-on: https://skia-review.googlesource.com/101341 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'src/gpu/mock/GrMockTexture.h')
-rw-r--r--src/gpu/mock/GrMockTexture.h21
1 files changed, 7 insertions, 14 deletions
diff --git a/src/gpu/mock/GrMockTexture.h b/src/gpu/mock/GrMockTexture.h
index a25ff9ba67..0be1da1f4c 100644
--- a/src/gpu/mock/GrMockTexture.h
+++ b/src/gpu/mock/GrMockTexture.h
@@ -20,11 +20,8 @@ public:
: GrMockTexture(gpu, desc, mipMapsStatus, info) {
this->registerWithCache(budgeted);
}
- ~GrMockTexture() override {
- if (fReleaseProc) {
- fReleaseProc(fReleaseCtx);
- }
- }
+ ~GrMockTexture() override {}
+
GrBackendObject getTextureHandle() const override {
return reinterpret_cast<GrBackendObject>(&fInfo);
}
@@ -34,9 +31,8 @@ public:
}
void textureParamsModified() override {}
- void setRelease(ReleaseProc proc, ReleaseCtx ctx) override {
- fReleaseProc = proc;
- fReleaseCtx = ctx;
+ void setRelease(sk_sp<GrReleaseProcHelper> releaseHelper) override {
+ fReleaseHelper = std::move(releaseHelper);
}
protected:
@@ -46,18 +42,15 @@ protected:
: GrSurface(gpu, desc)
, INHERITED(gpu, desc, kITexture2DSampler_GrSLType, GrSamplerState::Filter::kMipMap,
mipMapsStatus)
- , fInfo(info)
- , fReleaseProc(nullptr)
- , fReleaseCtx(nullptr) {}
+ , fInfo(info) {}
bool onStealBackendTexture(GrBackendTexture*, SkImage::BackendTextureReleaseProc*) override {
return false;
}
private:
- GrMockTextureInfo fInfo;
- ReleaseProc fReleaseProc;
- ReleaseCtx fReleaseCtx;
+ GrMockTextureInfo fInfo;
+ sk_sp<GrReleaseProcHelper> fReleaseHelper;
typedef GrTexture INHERITED;
};