diff options
author | Greg Daniel <egdaniel@google.com> | 2017-04-20 16:41:55 +0000 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-04-20 17:17:43 +0000 |
commit | 7ef28f35a2f7d17b90c776f76d4b374ccee6c347 (patch) | |
tree | 0e59cfede60a2173c53f701661927cc4e045c74c /tests/ImageTest.cpp | |
parent | 774831a4e80f49cfec3cb78f684bd44cb19a7b2a (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.cpp | 40 |
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) { |