| Index: tests/PremulAlphaRoundTripTest.cpp
|
| diff --git a/tests/PremulAlphaRoundTripTest.cpp b/tests/PremulAlphaRoundTripTest.cpp
|
| index 26badb66c4375e553cd9fcb6924304b9f5558201..14ab7216f20e4053d6c548697bf30f6be0888545 100644
|
| --- a/tests/PremulAlphaRoundTripTest.cpp
|
| +++ b/tests/PremulAlphaRoundTripTest.cpp
|
| @@ -5,15 +5,14 @@
|
| * found in the LICENSE file.
|
| */
|
|
|
| -#include "SkBitmapDevice.h"
|
| #include "SkCanvas.h"
|
| #include "SkConfig8888.h"
|
| +#include "SkSurface.h"
|
| #include "Test.h"
|
| #include "sk_tool_utils.h"
|
|
|
| #if SK_SUPPORT_GPU
|
| #include "GrContext.h"
|
| -#include "SkGpuDevice.h"
|
| #endif
|
|
|
| static uint32_t pack_unpremul_rgba(SkColor c) {
|
| @@ -46,7 +45,7 @@ const struct {
|
| { kBGRA_8888_SkColorType, pack_unpremul_bgra },
|
| };
|
|
|
| -static void fillCanvas(SkCanvas* canvas, SkColorType colorType, PackUnpremulProc proc) {
|
| +static void fill_canvas(SkCanvas* canvas, SkColorType colorType, PackUnpremulProc proc) {
|
| // Don't strictly need a bitmap, but its a handy way to allocate the pixels
|
| SkBitmap bmp;
|
| bmp.allocN32Pixels(256, 256);
|
| @@ -63,10 +62,10 @@ static void fillCanvas(SkCanvas* canvas, SkColorType colorType, PackUnpremulProc
|
| canvas->writePixels(info, bmp.getPixels(), bmp.rowBytes(), 0, 0);
|
| }
|
|
|
| -static void test_premul_alpha_roundtrip(skiatest::Reporter* reporter, SkBaseDevice* device) {
|
| - SkCanvas canvas(device);
|
| +static void test_premul_alpha_roundtrip(skiatest::Reporter* reporter, SkSurface* surf) {
|
| + SkCanvas* canvas = surf->getCanvas();
|
| for (size_t upmaIdx = 0; upmaIdx < SK_ARRAY_COUNT(gUnpremul); ++upmaIdx) {
|
| - fillCanvas(&canvas, gUnpremul[upmaIdx].fColorType, gUnpremul[upmaIdx].fPackProc);
|
| + fill_canvas(canvas, gUnpremul[upmaIdx].fColorType, gUnpremul[upmaIdx].fPackProc);
|
|
|
| const SkImageInfo info = SkImageInfo::Make(256, 256, gUnpremul[upmaIdx].fColorType,
|
| kUnpremul_SkAlphaType);
|
| @@ -78,10 +77,10 @@ static void test_premul_alpha_roundtrip(skiatest::Reporter* reporter, SkBaseDevi
|
| readBmp1.eraseColor(0);
|
| readBmp2.eraseColor(0);
|
|
|
| - canvas.readPixels(&readBmp1, 0, 0);
|
| - sk_tool_utils::write_pixels(&canvas, readBmp1, 0, 0, gUnpremul[upmaIdx].fColorType,
|
| + canvas->readPixels(&readBmp1, 0, 0);
|
| + sk_tool_utils::write_pixels(canvas, readBmp1, 0, 0, gUnpremul[upmaIdx].fColorType,
|
| kUnpremul_SkAlphaType);
|
| - canvas.readPixels(&readBmp2, 0, 0);
|
| + canvas->readPixels(&readBmp2, 0, 0);
|
|
|
| bool success = true;
|
| for (int y = 0; y < 256 && success; ++y) {
|
| @@ -100,17 +99,18 @@ static void test_premul_alpha_roundtrip(skiatest::Reporter* reporter, SkBaseDevi
|
|
|
| DEF_TEST(PremulAlphaRoundTrip, reporter) {
|
| const SkImageInfo info = SkImageInfo::MakeN32Premul(256, 256);
|
| - SkSurfaceProps props(SkSurfaceProps::kLegacyFontHost_InitType);
|
| - SkAutoTUnref<SkBaseDevice> device(SkBitmapDevice::Create(info, props));
|
| - test_premul_alpha_roundtrip(reporter, device);
|
| +
|
| + sk_sp<SkSurface> surf(SkSurface::MakeRaster(info));
|
| +
|
| + test_premul_alpha_roundtrip(reporter, surf.get());
|
| }
|
| #if SK_SUPPORT_GPU
|
| DEF_GPUTEST_FOR_RENDERING_CONTEXTS(PremulAlphaRoundTrip_Gpu, reporter, ctxInfo) {
|
| const SkImageInfo info = SkImageInfo::MakeN32Premul(256, 256);
|
| - SkSurfaceProps props(SkSurfaceProps::kLegacyFontHost_InitType);
|
| - SkAutoTUnref<SkBaseDevice> device(
|
| - SkGpuDevice::Create(ctxInfo.fGrContext, SkBudgeted::kNo, info, 0, &props,
|
| - SkGpuDevice::kUninit_InitContents));
|
| - test_premul_alpha_roundtrip(reporter, device);
|
| +
|
| + sk_sp<SkSurface> surf(SkSurface::MakeRenderTarget(ctxInfo.fGrContext,
|
| + SkBudgeted::kNo,
|
| + info));
|
| + test_premul_alpha_roundtrip(reporter, surf.get());
|
| }
|
| #endif
|
|
|