Revert "SW mask gen: release scratch bitmap after upload"

This reverts commit 49e5b3a339ed18e7bdd7ff8dd4e852d51f051775.

Reason for revert: Going back to deferred proxies

Original change's description:
> SW mask gen: release scratch bitmap after upload
>
> This fixes a regression introduced in 366716, where we
> were retaining the scratch bitmap. Before that change we were
> destroying it after upload which is what we should do.
>
> Bug: skia:11288
> Change-Id: Ib567be037a2ff7595cd305a2ef3502d336795c46
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/367880
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Adlai Holler <adlai@google.com>

TBR=egdaniel@google.com,robertphillips@google.com,adlai@google.com

Change-Id: I454622563ad899691fa55cd99853261e2ce66086
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:11288
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/368253
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Adlai Holler <adlai@google.com>
diff --git a/src/gpu/GrSWMaskHelper.cpp b/src/gpu/GrSWMaskHelper.cpp
index 0914876..69c254f 100644
--- a/src/gpu/GrSWMaskHelper.cpp
+++ b/src/gpu/GrSWMaskHelper.cpp
@@ -92,7 +92,10 @@
                                                        desc.fFit,
                                                        desc.fProtected,
                                                        mip);
-        return GrProxyProvider::LazyCallbackResult(std::move(tex));
+        GrProxyProvider::LazyCallbackResult result(std::move(tex));
+        // Callback refs us, we own bitmap, don't release callback.
+        result.fReleaseCallback = false;
+        return result;
     };
     const GrCaps* caps = context->priv().caps();
     GrProxyProvider* proxyProvider = context->priv().proxyProvider();