diff options
author | Greg Daniel <egdaniel@google.com> | 2018-01-30 09:28:44 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-01-30 14:50:00 +0000 |
commit | 6a0176bf033c780bb92396220db8140f30948345 (patch) | |
tree | e1ddcf9e3ca552d5063542d18ce30028e1ca0ca7 /src/gpu/mock/GrMockTexture.h | |
parent | aa71c899fdf55e0a6cce60a2aed1ad904d23646d (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.h | 21 |
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; }; |