aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/ImageTest.cpp
diff options
context:
space:
mode:
authorGravatar Greg Daniel <egdaniel@google.com>2017-04-20 16:41:55 +0000
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-04-20 17:17:43 +0000
commit7ef28f35a2f7d17b90c776f76d4b374ccee6c347 (patch)
tree0e59cfede60a2173c53f701661927cc4e045c74c /tests/ImageTest.cpp
parent774831a4e80f49cfec3cb78f684bd44cb19a7b2a (diff)
Revert "Revert "Plumb GrBackendTexture throughout skia.""
This reverts commit 7fa5c31c2c9af834bee66d5fcf476e250076c8d6. Reason for revert: Relanding this change now that other fixes have landed. Original change's description: > Revert "Plumb GrBackendTexture throughout skia." > > This reverts commit 7da62b9059f3c1d31624a0e4da96ee5f908f9c12. > > Reason for revert: fix android roll > > Original change's description: > > Plumb GrBackendTexture throughout skia. > > > > Bug: skia: > > Change-Id: I1bae6768ee7229818a83ba608035a1f7867e6875 > > Reviewed-on: https://skia-review.googlesource.com/13645 > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > Reviewed-by: Robert Phillips <robertphillips@google.com> > > > > TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com,brianosman@google.com,reviews@skia.org,stani@google.com > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > > Change-Id: I5cb8763cc837c83ebc6d10366fe2dd3efe35fb89 > Reviewed-on: https://skia-review.googlesource.com/13773 > Reviewed-by: Stan Iliev <stani@google.com> > Commit-Queue: Stan Iliev <stani@google.com> > TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com,reviews@skia.org,brianosman@google.com,stani@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Change-Id: I92bc074e4fe37fa5c83186afadc472c03802e8f2 Reviewed-on: https://skia-review.googlesource.com/13975 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
Diffstat (limited to 'tests/ImageTest.cpp')
-rw-r--r--tests/ImageTest.cpp40
1 files changed, 23 insertions, 17 deletions
diff --git a/tests/ImageTest.cpp b/tests/ImageTest.cpp
index 77017f3885..382a624253 100644
--- a/tests/ImageTest.cpp
+++ b/tests/ImageTest.cpp
@@ -32,7 +32,9 @@
#include "sk_tool_utils.h"
#if SK_SUPPORT_GPU
+#include "GrContextPriv.h"
#include "GrGpu.h"
+#include "GrTest.h"
#endif
using namespace sk_gpu_test;
@@ -808,44 +810,48 @@ DEF_GPUTEST_FOR_GL_RENDERING_CONTEXTS(SkImage_NewFromTextureRelease, reporter, c
const int kWidth = 10;
const int kHeight = 10;
std::unique_ptr<uint32_t[]> pixels(new uint32_t[kWidth * kHeight]);
- GrBackendTextureDesc backendDesc;
- backendDesc.fFlags = kRenderTarget_GrBackendTextureFlag;
- backendDesc.fOrigin = kBottomLeft_GrSurfaceOrigin;
- backendDesc.fConfig = kRGBA_8888_GrPixelConfig;
- backendDesc.fWidth = kWidth;
- backendDesc.fHeight = kHeight;
- backendDesc.fSampleCnt = 0;
- backendDesc.fTextureHandle = ctxInfo.grContext()->getGpu()->createTestingOnlyBackendTexture(
- pixels.get(), kWidth, kHeight, kRGBA_8888_GrPixelConfig, true);
+
+ GrContext* ctx = ctxInfo.grContext();
+
+ GrBackendObject backendTexHandle =
+ ctxInfo.grContext()->getGpu()->createTestingOnlyBackendTexture(
+ pixels.get(), kWidth, kHeight, kRGBA_8888_GrPixelConfig, true);
+
+ GrBackendTexture backendTex = GrTest::CreateBackendTexture(ctx->contextPriv().getBackend(),
+ kWidth,
+ kHeight,
+ kRGBA_8888_GrPixelConfig,
+ backendTexHandle);
TextureReleaseChecker releaseChecker;
+ GrSurfaceOrigin texOrigin = kBottomLeft_GrSurfaceOrigin;
sk_sp<SkImage> refImg(
- SkImage::MakeFromTexture(ctxInfo.grContext(), backendDesc, kPremul_SkAlphaType,
+ SkImage::MakeFromTexture(ctx, backendTex, texOrigin, kPremul_SkAlphaType, nullptr,
TextureReleaseChecker::Release, &releaseChecker));
GrSurfaceOrigin readBackOrigin;
GrBackendObject readBackHandle = refImg->getTextureHandle(false, &readBackOrigin);
// TODO: Make it so we can check this (see skbug.com/5019)
#if 0
- if (*readBackHandle != *(backendDesc.fTextureHandle)) {
+ if (*readBackHandle != *(backendTexHandle)) {
ERRORF(reporter, "backend mismatch %d %d\n",
- (int)readBackHandle, (int)backendDesc.fTextureHandle);
+ (int)readBackHandle, (int)backendTexHandle);
}
- REPORTER_ASSERT(reporter, readBackHandle == backendDesc.fTextureHandle);
+ REPORTER_ASSERT(reporter, readBackHandle == backendTexHandle);
#else
REPORTER_ASSERT(reporter, SkToBool(readBackHandle));
#endif
- if (readBackOrigin != backendDesc.fOrigin) {
- ERRORF(reporter, "origin mismatch %d %d\n", readBackOrigin, backendDesc.fOrigin);
+ if (readBackOrigin != texOrigin) {
+ ERRORF(reporter, "origin mismatch %d %d\n", readBackOrigin, texOrigin);
}
- REPORTER_ASSERT(reporter, readBackOrigin == backendDesc.fOrigin);
+ REPORTER_ASSERT(reporter, readBackOrigin == texOrigin);
// Now exercise the release proc
REPORTER_ASSERT(reporter, 0 == releaseChecker.fReleaseCount);
refImg.reset(nullptr); // force a release of the image
REPORTER_ASSERT(reporter, 1 == releaseChecker.fReleaseCount);
- ctxInfo.grContext()->getGpu()->deleteTestingOnlyBackendTexture(backendDesc.fTextureHandle);
+ ctxInfo.grContext()->getGpu()->deleteTestingOnlyBackendTexture(backendTexHandle);
}
static void check_images_same(skiatest::Reporter* reporter, const SkImage* a, const SkImage* b) {