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