Move texture release proc to GrSurface so that render targets can also have releases.
Bug: skia:
Change-Id: I65e7872057110295376ad76e0656a47bca3f712d
Reviewed-on: https://skia-review.googlesource.com/c/188633
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
diff --git a/src/gpu/vk/GrVkTextureRenderTarget.h b/src/gpu/vk/GrVkTextureRenderTarget.h
index ecd6343..5e90aa0 100644
--- a/src/gpu/vk/GrVkTextureRenderTarget.h
+++ b/src/gpu/vk/GrVkTextureRenderTarget.h
@@ -104,6 +104,13 @@
// GrGLRenderTarget accounts for the texture's memory and any MSAA renderbuffer's memory.
size_t onGpuMemorySize() const override;
+
+ // In Vulkan we call the release proc after we are finished with the underlying
+ // GrVkImage::Resource object (which occurs after the GPU has finished all work on it).
+ void onSetRelease(sk_sp<GrReleaseProcHelper> releaseHelper) override {
+ // Forward the release proc on to GrVkImage
+ this->setResourceRelease(std::move(releaseHelper));
+ }
};
#endif