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/tests/ImageTest.cpp b/tests/ImageTest.cpp
index 2a9c4da..92222bc 100644
--- a/tests/ImageTest.cpp
+++ b/tests/ImageTest.cpp
@@ -36,9 +36,9 @@
#include "src/image/SkImage_Base.h"
#include "src/image/SkImage_GpuYUVA.h"
#include "tests/Test.h"
-#include "tests/TestUtils.h"
#include "tools/Resources.h"
#include "tools/ToolUtils.h"
+#include "tools/gpu/ManagedBackendTexture.h"
using namespace sk_gpu_test;
@@ -487,19 +487,17 @@
SkColorType colorType = static_cast<SkColorType>(ct);
bool can = dContext->colorTypeSupportedAsImage(colorType);
- GrBackendTexture backendTex;
- CreateBackendTexture(dContext, &backendTex, kSize, kSize, colorType, SkColors::kTransparent,
- GrMipmapped::kNo, GrRenderable::kNo, GrProtected::kNo);
-
- auto img = SkImage::MakeFromTexture(dContext, backendTex, kTopLeft_GrSurfaceOrigin,
+ auto mbet = sk_gpu_test::ManagedBackendTexture::MakeWithoutData(
+ dContext, kSize, kSize, colorType, GrMipmapped::kNo, GrRenderable::kNo);
+ if (!mbet) {
+ ERRORF(reporter, "Could not create texture with color type %d.", colorType);
+ continue;
+ }
+ auto img = SkImage::MakeFromTexture(dContext, mbet->texture(), kTopLeft_GrSurfaceOrigin,
colorType, kOpaque_SkAlphaType, nullptr);
REPORTER_ASSERT(reporter, can == SkToBool(img),
"colorTypeSupportedAsImage:%d, actual:%d, ct:%d", can, SkToBool(img),
colorType);
-
- img.reset();
- dContext->flushAndSubmit();
- dContext->deleteBackendTexture(backendTex);
}
}
@@ -832,27 +830,36 @@
auto dContext = ctxInfo.directContext();
- SkImageInfo ii = SkImageInfo::Make(kWidth, kHeight, SkColorType::kRGBA_8888_SkColorType,
- kPremul_SkAlphaType);
- GrBackendTexture backendTex;
- if (!CreateBackendTexture(dContext, &backendTex, ii, SkColors::kRed, GrMipmapped::kNo,
- GrRenderable::kNo)) {
+ auto mbet = sk_gpu_test::ManagedBackendTexture::MakeWithoutData(dContext,
+ kWidth,
+ kHeight,
+ kRGBA_8888_SkColorType,
+ GrMipmapped::kNo,
+ GrRenderable::kNo,
+ GrProtected::kNo);
+ if (!mbet) {
ERRORF(reporter, "couldn't create backend texture\n");
}
TextureReleaseChecker releaseChecker;
GrSurfaceOrigin texOrigin = kBottomLeft_GrSurfaceOrigin;
- sk_sp<SkImage> refImg(
- SkImage::MakeFromTexture(dContext, backendTex, texOrigin, kRGBA_8888_SkColorType,
- kPremul_SkAlphaType, nullptr,
- TextureReleaseChecker::Release, &releaseChecker));
+ sk_sp<SkImage> refImg = SkImage::MakeFromTexture(
+ dContext,
+ mbet->texture(),
+ texOrigin,
+ kRGBA_8888_SkColorType,
+ kPremul_SkAlphaType,
+ /*color space*/nullptr,
+ sk_gpu_test::ManagedBackendTexture::ReleaseProc,
+ mbet->releaseContext(TextureReleaseChecker::Release, &releaseChecker));
GrSurfaceOrigin readBackOrigin;
GrBackendTexture readBackBackendTex = refImg->getBackendTexture(false, &readBackOrigin);
- if (!GrBackendTexture::TestingOnly_Equals(readBackBackendTex, backendTex)) {
+ if (!GrBackendTexture::TestingOnly_Equals(readBackBackendTex, mbet->texture())) {
ERRORF(reporter, "backend mismatch\n");
}
- REPORTER_ASSERT(reporter, GrBackendTexture::TestingOnly_Equals(readBackBackendTex, backendTex));
+ REPORTER_ASSERT(reporter,
+ GrBackendTexture::TestingOnly_Equals(readBackBackendTex, mbet->texture()));
if (readBackOrigin != texOrigin) {
ERRORF(reporter, "origin mismatch %d %d\n", readBackOrigin, texOrigin);
}
@@ -862,8 +869,6 @@
REPORTER_ASSERT(reporter, 0 == releaseChecker.fReleaseCount);
refImg.reset(nullptr); // force a release of the image
REPORTER_ASSERT(reporter, 1 == releaseChecker.fReleaseCount);
-
- DeleteBackendTexture(dContext, backendTex);
}
static void test_cross_context_image(skiatest::Reporter* reporter, const GrContextOptions& options,