Remove workaround for not calling SkImage release proc
Also rename release proc
Change-Id: Id1900f6428466e71e14f612256e89e4c1248e6cd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300202
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
diff --git a/tools/gpu/BackendTextureImageFactory.cpp b/tools/gpu/BackendTextureImageFactory.cpp
index 4519e0a..82e6921 100644
--- a/tools/gpu/BackendTextureImageFactory.cpp
+++ b/tools/gpu/BackendTextureImageFactory.cpp
@@ -23,14 +23,13 @@
}
}
- static void Proc(void* context) { static_cast<ManagedBackendTexture*>(context)->unref(); }
+ static void Release(void* context) { static_cast<ManagedBackendTexture*>(context)->unref(); }
template <typename... Args>
static sk_sp<ManagedBackendTexture> Make(GrContext* context, Args&&... args) {
sk_sp<ManagedBackendTexture> mbet(new ManagedBackendTexture);
mbet->fContext = context;
- mbet->fTexture = context->createBackendTexture(std::forward<Args>(args)...,
- Proc,
+ mbet->fTexture = context->createBackendTexture(std::forward<Args>(args)..., Release,
mbet->refAndPassAsContext());
return mbet;
}
@@ -66,18 +65,13 @@
src = &temp;
}
auto mbet = ManagedBackendTexture::Make(context, src, 1, renderable, GrProtected::kNo);
- auto image = SkImage::MakeFromTexture(context, mbet->texture(), origin, src->colorType(),
- src->alphaType(), src->refColorSpace(),
- ManagedBackendTexture::Proc, mbet->refAndPassAsContext());
- // We currently have an issue where depending on how MakeFromTexture fails it may not
- // call the release proc (to be fixed soon, crbug.com/1097484). For now we use this hack
- // to see if it failed without calling Proc.
- if (!image) {
- context->submit(true);
- if (!mbet->unique()) {
- ManagedBackendTexture::Proc(mbet.get());
- }
- }
- return image;
+ return SkImage::MakeFromTexture(context,
+ mbet->texture(),
+ origin,
+ src->colorType(),
+ src->alphaType(),
+ src->refColorSpace(),
+ ManagedBackendTexture::Release,
+ mbet->refAndPassAsContext());
}
} // namespace sk_gpu_test