Revert "Reland "Revert "Use ManagedBackendTexture in place of TestUtils backend texture helpers."""

This reverts commit 4efaf5e9feada3eddf286fb362f60d3b11a24e34.

Cq-Include-Trybots: luci.skia.skia.primary:Test-Win10-MSVC-Golo-GPU-QuadroP400-x86_64-Debug-All-Direct3D,Test-Win10-Clang-ShuttleA-GPU-RadeonHD7770-x86_64-Debug-All-Direct3D
Change-Id: I0f5f1c427e8892a67b027b0fbe4863d9fcee2363
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/325863
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
diff --git a/tools/gpu/BackendTextureImageFactory.cpp b/tools/gpu/BackendTextureImageFactory.cpp
index b0faf45..e2950af 100644
--- a/tools/gpu/BackendTextureImageFactory.cpp
+++ b/tools/gpu/BackendTextureImageFactory.cpp
@@ -40,4 +40,36 @@
                                     ManagedBackendTexture::ReleaseProc,
                                     mbet->releaseContext());
 }
+
+sk_sp<SkImage> MakeBackendTextureImage(GrDirectContext* dContext,
+                                       const SkImageInfo& info,
+                                       SkColor4f color,
+                                       GrMipmapped mipmapped,
+                                       GrRenderable renderable,
+                                       GrSurfaceOrigin origin) {
+    if (info.alphaType() == kOpaque_SkAlphaType) {
+        color = color.makeOpaque();
+    } else if (info.alphaType() == kPremul_SkAlphaType) {
+        auto pmColor = color.premul();
+        color = {pmColor.fR, pmColor.fG, pmColor.fB, pmColor.fA};
+    }
+    auto mbet = ManagedBackendTexture::MakeWithData(dContext,
+                                                    info.width(),
+                                                    info.height(),
+                                                    info.colorType(),
+                                                    color,
+                                                    mipmapped,
+                                                    renderable,
+                                                    GrProtected::kNo);
+
+    return SkImage::MakeFromTexture(dContext,
+                                    mbet->texture(),
+                                    origin,
+                                    info.colorType(),
+                                    info.alphaType(),
+                                    info.refColorSpace(),
+                                    ManagedBackendTexture::ReleaseProc,
+                                    mbet->releaseContext());
+}
+
 }  // namespace sk_gpu_test