diff options
author | robertphillips <robertphillips@google.com> | 2016-07-26 11:38:17 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-07-26 11:38:17 -0700 |
commit | 7e922765545f42ce691e4f3d5fbbd4e44ba47ff1 (patch) | |
tree | 40f15d00e25acaf015f46e45d11d1858eb3b8cf6 /tests | |
parent | 3a0dbde1cfa84b08c7dd5b597142e9f6179f2d07 (diff) |
Reduce usage of MakeRenderTargetDirect
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2187573002
Review-Url: https://codereview.chromium.org/2187573002
Diffstat (limited to 'tests')
-rw-r--r-- | tests/DeviceTest.cpp | 3 | ||||
-rw-r--r-- | tests/ReadPixelsTest.cpp | 13 | ||||
-rw-r--r-- | tests/ReadWriteAlphaTest.cpp | 31 | ||||
-rw-r--r-- | tests/SurfaceTest.cpp | 13 | ||||
-rw-r--r-- | tests/WritePixelsTest.cpp | 13 | ||||
-rw-r--r-- | tests/skbug5221.cpp | 3 |
6 files changed, 30 insertions, 46 deletions
diff --git a/tests/DeviceTest.cpp b/tests/DeviceTest.cpp index d6bd1bfe47..f7d855a266 100644 --- a/tests/DeviceTest.cpp +++ b/tests/DeviceTest.cpp @@ -81,7 +81,8 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(SpecialImage_GPUDevice, reporter, ctxInfo) { SkImageInfo ii = SkImageInfo::MakeN32Premul(2*kWidth, 2*kHeight); sk_sp<SkBaseDevice> gpuDev(SkGpuDevice::Make(context, SkBudgeted::kNo, ii, - 0, nullptr, SkGpuDevice::kClear_InitContents)); + 0, kBottomLeft_GrSurfaceOrigin, nullptr, + SkGpuDevice::kClear_InitContents)); SkBitmap bm; SkAssertResult(bm.tryAllocN32Pixels(kWidth, kHeight)); diff --git a/tests/ReadPixelsTest.cpp b/tests/ReadPixelsTest.cpp index 5d3bfc9902..c1fa4d2328 100644 --- a/tests/ReadPixelsTest.cpp +++ b/tests/ReadPixelsTest.cpp @@ -387,17 +387,10 @@ DEF_TEST(ReadPixels, reporter) { } #if SK_SUPPORT_GPU DEF_GPUTEST_FOR_RENDERING_CONTEXTS(ReadPixels_Gpu, reporter, ctxInfo) { + const SkImageInfo ii = SkImageInfo::MakeN32Premul(DEV_W, DEV_H); for (auto& origin : {kBottomLeft_GrSurfaceOrigin, kTopLeft_GrSurfaceOrigin}) { - GrSurfaceDesc desc; - desc.fFlags = kRenderTarget_GrSurfaceFlag; - desc.fWidth = DEV_W; - desc.fHeight = DEV_H; - desc.fConfig = kSkia8888_GrPixelConfig; - desc.fOrigin = origin; - SkAutoTUnref<GrTexture> surfaceTexture( - ctxInfo.grContext()->textureProvider()->createTexture(desc, SkBudgeted::kNo)); - auto surface(SkSurface::MakeRenderTargetDirect(surfaceTexture->asRenderTarget(), nullptr)); - desc.fFlags = kNone_GrSurfaceFlags; + sk_sp<SkSurface> surface(SkSurface::MakeRenderTarget(ctxInfo.grContext(), SkBudgeted::kNo, + ii, 0, origin, nullptr)); test_readpixels(reporter, surface, kLast_BitmapInit); } } diff --git a/tests/ReadWriteAlphaTest.cpp b/tests/ReadWriteAlphaTest.cpp index 16f43ea310..e5240666aa 100644 --- a/tests/ReadWriteAlphaTest.cpp +++ b/tests/ReadWriteAlphaTest.cpp @@ -41,12 +41,10 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(ReadWriteAlpha, reporter, ctxInfo) { bool match; static const size_t kRowBytes[] = {0, X_SIZE, X_SIZE + 1, 2 * X_SIZE - 1}; - for (int rt = 0; rt < 2; ++rt) { + { GrSurfaceDesc desc; - // let Skia know we will be using this texture as a render target - desc.fFlags = rt ? kRenderTarget_GrSurfaceFlag : kNone_GrSurfaceFlags; - // it is a single channel texture - desc.fConfig = kAlpha_8_GrPixelConfig; + desc.fFlags = kNone_GrSurfaceFlags; + desc.fConfig = kAlpha_8_GrPixelConfig; // it is a single channel texture desc.fWidth = X_SIZE; desc.fHeight = Y_SIZE; @@ -54,14 +52,16 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(ReadWriteAlpha, reporter, ctxInfo) { memset(alphaData, 0, X_SIZE * Y_SIZE); SkAutoTUnref<GrTexture> texture( ctxInfo.grContext()->textureProvider()->createTexture(desc, SkBudgeted::kNo, alphaData, - 0)); + 0)); if (!texture) { - if (!rt) { - ERRORF(reporter, "Could not create alpha texture."); - } - continue; + ERRORF(reporter, "Could not create alpha texture."); + return; } + const SkImageInfo ii = SkImageInfo::MakeA8(X_SIZE, Y_SIZE); + sk_sp<SkSurface> surf(SkSurface::MakeRenderTarget(ctxInfo.grContext(), + SkBudgeted::kNo, ii)); + // create a distinctive texture for (int y = 0; y < Y_SIZE; ++y) { for (int x = 0; x < X_SIZE; ++x) { @@ -87,14 +87,12 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(ReadWriteAlpha, reporter, ctxInfo) { // make sure the original & read back versions match SkString msg; - msg.printf("rt:%d, rb:%d A8", rt, SkToU32(rowBytes)); + msg.printf("rb:%d A8", SkToU32(rowBytes)); validate_alpha_data(reporter, X_SIZE, Y_SIZE, readback.get(), nonZeroRowBytes, alphaData, msg); - // Now try writing on the single channel texture (if we could create as a RT). - if (texture->asRenderTarget()) { - sk_sp<SkSurface> surf(SkSurface::MakeRenderTargetDirect(texture->asRenderTarget(), - nullptr)); + // Now try writing to a single channel surface (if we could create one). + if (surf) { SkCanvas* canvas = surf->getCanvas(); SkPaint paint; @@ -106,8 +104,7 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(ReadWriteAlpha, reporter, ctxInfo) { canvas->drawRect(rect, paint); memset(readback.get(), kClearValue, nonZeroRowBytes * Y_SIZE); - result = texture->readPixels(0, 0, desc.fWidth, desc.fHeight, - desc.fConfig, readback.get(), rowBytes); + result = surf->readPixels(ii, readback.get(), nonZeroRowBytes, 0, 0); REPORTER_ASSERT_MESSAGE(reporter, result, "A8 readPixels after clear failed"); match = true; diff --git a/tests/SurfaceTest.cpp b/tests/SurfaceTest.cpp index 8d2ba51e19..87c3a52fc9 100644 --- a/tests/SurfaceTest.cpp +++ b/tests/SurfaceTest.cpp @@ -56,7 +56,7 @@ static sk_sp<SkSurface> create_gpu_surface(GrContext* context, SkAlphaType at = if (requestedInfo) { *requestedInfo = info; } - return SkSurface::MakeRenderTarget(context, SkBudgeted::kNo, info, 0, nullptr); + return SkSurface::MakeRenderTarget(context, SkBudgeted::kNo, info); } static sk_sp<SkSurface> create_gpu_scratch_surface(GrContext* context, SkAlphaType at = kPremul_SkAlphaType, @@ -65,7 +65,7 @@ static sk_sp<SkSurface> create_gpu_scratch_surface(GrContext* context, if (requestedInfo) { *requestedInfo = info; } - return SkSurface::MakeRenderTarget(context, SkBudgeted::kYes, info, 0, nullptr); + return SkSurface::MakeRenderTarget(context, SkBudgeted::kYes, info); } #endif @@ -79,8 +79,7 @@ DEF_TEST(SurfaceEmpty, reporter) { DEF_GPUTEST_FOR_RENDERING_CONTEXTS(SurfaceEmpty_Gpu, reporter, ctxInfo) { const SkImageInfo info = SkImageInfo::Make(0, 0, kN32_SkColorType, kPremul_SkAlphaType); REPORTER_ASSERT(reporter, nullptr == - SkSurface::MakeRenderTarget(ctxInfo.grContext(), SkBudgeted::kNo, info, 0, - nullptr)); + SkSurface::MakeRenderTarget(ctxInfo.grContext(), SkBudgeted::kNo, info)); } #endif @@ -335,13 +334,13 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(UniqueImageSnapshot_Gpu, reporter, ctxInfo) { desc.fHeight = 10; desc.fFlags = kRenderTarget_GrBackendTextureFlag; desc.fTextureHandle = textureObject; - GrTexture* texture = context->textureProvider()->wrapBackendTexture(desc); + { - auto surface(SkSurface::MakeRenderTargetDirect(texture->asRenderTarget(), nullptr)); + sk_sp<SkSurface> surface(SkSurface::MakeFromBackendTexture(context, desc, nullptr)); test_unique_image_snap(reporter, surface.get(), true, imageBackingStore, surfaceBackingStore); } - texture->unref(); + context->getGpu()->deleteTestingOnlyBackendTexture(textureObject); } } diff --git a/tests/WritePixelsTest.cpp b/tests/WritePixelsTest.cpp index ec88f03c2b..1839a40183 100644 --- a/tests/WritePixelsTest.cpp +++ b/tests/WritePixelsTest.cpp @@ -407,16 +407,11 @@ DEF_TEST(WritePixels, reporter) { } #if SK_SUPPORT_GPU DEF_GPUTEST_FOR_RENDERING_CONTEXTS(WritePixels_Gpu, reporter, ctxInfo) { + const SkImageInfo ii = SkImageInfo::MakeN32Premul(DEV_W, DEV_H); + for (auto& origin : { kTopLeft_GrSurfaceOrigin, kBottomLeft_GrSurfaceOrigin }) { - GrSurfaceDesc desc; - desc.fFlags = kRenderTarget_GrSurfaceFlag; - desc.fWidth = DEV_W; - desc.fHeight = DEV_H; - desc.fConfig = kSkia8888_GrPixelConfig; - desc.fOrigin = origin; - SkAutoTUnref<GrTexture> texture( - ctxInfo.grContext()->textureProvider()->createTexture(desc, SkBudgeted::kNo)); - auto surface(SkSurface::MakeRenderTargetDirect(texture->asRenderTarget(), nullptr)); + sk_sp<SkSurface> surface(SkSurface::MakeRenderTarget(ctxInfo.grContext(), SkBudgeted::kNo, + ii, 0, origin, nullptr)); test_write_pixels(reporter, surface.get()); } } diff --git a/tests/skbug5221.cpp b/tests/skbug5221.cpp index dfd065f0b7..0220e54d5f 100644 --- a/tests/skbug5221.cpp +++ b/tests/skbug5221.cpp @@ -26,8 +26,7 @@ DEF_TEST(skbug5221, r) { #if SK_SUPPORT_GPU DEF_GPUTEST_FOR_ALL_CONTEXTS(skbug5221_GPU, r, contextInfo) { sk_sp<SkSurface> surface(SkSurface::MakeRenderTarget(contextInfo.grContext(), SkBudgeted::kYes, - SkImageInfo::MakeN32Premul(256, 256), 0, - nullptr)); + SkImageInfo::MakeN32Premul(256, 256))); test(surface->getCanvas()); } #endif |