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/GrVkTexture.h b/src/gpu/vk/GrVkTexture.h
index 97d7f06..be84229 100644
--- a/src/gpu/vk/GrVkTexture.h
+++ b/src/gpu/vk/GrVkTexture.h
@@ -38,13 +38,6 @@
 
     const GrVkImageView* textureView();
 
-    // In Vulkan we call the release proc after we are finished with the underlying
-    // GrVkImage::Resource object (which occurs after the GPU has finsihed all work on it).
-    void setRelease(sk_sp<GrReleaseProcHelper> releaseHelper) override {
-        // Forward the release proc on to GrVkImage
-        this->setResourceRelease(std::move(releaseHelper));
-    }
-
     void setIdleProc(IdleProc, void* context) override;
     void* idleContext() const override { return fIdleProcContext; }
 
@@ -69,6 +62,13 @@
                 const GrVkImageView*, GrMipMapsStatus, GrBackendObjectOwnership, GrWrapCacheable,
                 GrIOType);
 
+    // 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));
+    }
+
     void removedLastRefOrPendingIO() override;
 
     const GrVkImageView* fTextureView;