Revert "Be more consistent about calling release procs in SkImage factories"
This reverts commit f075414d63b3d837a7a93ae3dcb4deb62b14767b.
Reason for revert: blocking Chrome roll
Original change's description:
> Be more consistent about calling release procs in SkImage factories
>
> I will follow this up with a Chrome-side CL to fix the call sites of the following factories:
> MakeFromCompressedTexture
> MakeFromTexture
> MakeFromYUVATexturesCopyWithExternalBackend
> MakeFromYUVTexturesCopyWithExternalBackend
> MakeFromNV12TexturesCopyWithExternalBackend
>
> Here is the Chrome-side CL: https://chromium-review.googlesource.com/c/chromium/src/+/2264598/ (Skia's SkImage::Make* factories now guarantee cleanup)
>
> Bug: 1097484
> Change-Id: I65e6ce30c3dd906e2bfede6c8202d7fab5832da3
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298751
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
TBR=bsalomon@google.com,robertphillips@google.com
Change-Id: I306e3beb60461c89cc1980f6c7f3ad4900a34c76
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 1097484
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298847
Reviewed-by: Robert Phillips <robertphillips@google.com>
diff --git a/src/gpu/GrProxyProvider.cpp b/src/gpu/GrProxyProvider.cpp
index e2bfd76..e5bd752 100644
--- a/src/gpu/GrProxyProvider.cpp
+++ b/src/gpu/GrProxyProvider.cpp
@@ -523,11 +523,11 @@
this->isDDLProvider()));
}
-sk_sp<GrTextureProxy> GrProxyProvider::wrapCompressedBackendTexture(
- const GrBackendTexture& beTex,
- GrWrapOwnership ownership,
- GrWrapCacheable cacheable,
- sk_sp<GrRefCntedCallback> releaseHelper) {
+sk_sp<GrTextureProxy> GrProxyProvider::wrapCompressedBackendTexture(const GrBackendTexture& beTex,
+ GrWrapOwnership ownership,
+ GrWrapCacheable cacheable,
+ ReleaseProc releaseProc,
+ ReleaseContext releaseCtx) {
if (this->isAbandoned()) {
return nullptr;
}
@@ -546,8 +546,8 @@
return nullptr;
}
- if (releaseHelper) {
- tex->setRelease(std::move(releaseHelper));
+ if (releaseProc) {
+ tex->setRelease(releaseProc, releaseCtx);
}
SkASSERT(!tex->asRenderTarget()); // Strictly a GrTexture
@@ -563,7 +563,8 @@
int sampleCnt,
GrWrapOwnership ownership,
GrWrapCacheable cacheable,
- sk_sp<GrRefCntedCallback> releaseHelper) {
+ ReleaseProc releaseProc,
+ ReleaseContext releaseCtx) {
if (this->isAbandoned()) {
return nullptr;
}
@@ -587,8 +588,8 @@
return nullptr;
}
- if (releaseHelper) {
- tex->setRelease(std::move(releaseHelper));
+ if (releaseProc) {
+ tex->setRelease(releaseProc, releaseCtx);
}
SkASSERT(tex->asRenderTarget()); // A GrTextureRenderTarget
@@ -601,7 +602,8 @@
sk_sp<GrSurfaceProxy> GrProxyProvider::wrapBackendRenderTarget(
const GrBackendRenderTarget& backendRT,
- sk_sp<GrRefCntedCallback> releaseHelper) {
+ ReleaseProc releaseProc,
+ ReleaseContext releaseCtx) {
if (this->isAbandoned()) {
return nullptr;
}
@@ -619,8 +621,8 @@
return nullptr;
}
- if (releaseHelper) {
- rt->setRelease(std::move(releaseHelper));
+ if (releaseProc) {
+ rt->setRelease(releaseProc, releaseCtx);
}
SkASSERT(!rt->asTexture()); // A GrRenderTarget that's not textureable