diff options
author | Mike Reed <reed@google.com> | 2017-07-21 14:24:29 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-07-21 18:49:05 +0000 |
commit | f19421961c59ceabfb88a5c5cdf7c7e31a95b015 (patch) | |
tree | 5908b47d389465242a24c1439c115db57295f883 /tests/ImageFilterTest.cpp | |
parent | ce98801bbb5ac251b374f8b565445add43017aaa (diff) |
don't rely on canvas->readPixels
Bug: skia:3216
Change-Id: I01a8d0083c79c0fe71fbc4d8cfdde4fa6e48b636
Reviewed-on: https://skia-review.googlesource.com/25741
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'tests/ImageFilterTest.cpp')
-rw-r--r-- | tests/ImageFilterTest.cpp | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/tests/ImageFilterTest.cpp b/tests/ImageFilterTest.cpp index 69b31f184c..93389b3db2 100644 --- a/tests/ImageFilterTest.cpp +++ b/tests/ImageFilterTest.cpp @@ -1413,7 +1413,8 @@ DEF_TEST(ImageFilterMatrixConvolutionSanityTest, reporter) { REPORTER_ASSERT(reporter, nullptr == conv.get()); } -static void test_xfermode_cropped_input(SkCanvas* canvas, skiatest::Reporter* reporter) { +static void test_xfermode_cropped_input(SkSurface* surf, skiatest::Reporter* reporter) { + auto canvas = surf->getCanvas(); canvas->clear(0); SkBitmap bitmap; @@ -1442,17 +1443,17 @@ static void test_xfermode_cropped_input(SkCanvas* canvas, skiatest::Reporter* re uint32_t pixel; SkImageInfo info = SkImageInfo::Make(1, 1, kBGRA_8888_SkColorType, kUnpremul_SkAlphaType); - canvas->readPixels(info, &pixel, 4, 0, 0); + surf->readPixels(info, &pixel, 4, 0, 0); REPORTER_ASSERT(reporter, pixel == SK_ColorGREEN); paint.setImageFilter(std::move(xfermodeNoBg)); canvas->drawBitmap(bitmap, 0, 0, &paint); // drawSprite - canvas->readPixels(info, &pixel, 4, 0, 0); + surf->readPixels(info, &pixel, 4, 0, 0); REPORTER_ASSERT(reporter, pixel == SK_ColorGREEN); paint.setImageFilter(std::move(xfermodeNoFgNoBg)); canvas->drawBitmap(bitmap, 0, 0, &paint); // drawSprite - canvas->readPixels(info, &pixel, 4, 0, 0); + surf->readPixels(info, &pixel, 4, 0, 0); REPORTER_ASSERT(reporter, pixel == SK_ColorGREEN); } @@ -1491,26 +1492,23 @@ DEF_TEST(ImageFilterNestedSaveLayer, reporter) { SkImageInfo info = SkImageInfo::Make(1, 1, kBGRA_8888_SkColorType, kUnpremul_SkAlphaType); uint32_t pixel; - canvas.readPixels(info, &pixel, 4, 25, 25); + temp.readPixels(info, &pixel, 4, 25, 25); REPORTER_ASSERT(reporter, pixel == SK_ColorGREEN); // Test that drawSprite() with a filter nested inside a saveLayer() applies the // correct offset to the filter matrix. canvas.clear(0x0); - canvas.readPixels(info, &pixel, 4, 25, 25); + temp.readPixels(info, &pixel, 4, 25, 25); canvas.saveLayer(&bounds1, nullptr); canvas.drawBitmap(bitmap, 20, 20, &filterPaint); // drawSprite canvas.restore(); - canvas.readPixels(info, &pixel, 4, 25, 25); + temp.readPixels(info, &pixel, 4, 25, 25); REPORTER_ASSERT(reporter, pixel == SK_ColorGREEN); } DEF_TEST(XfermodeImageFilterCroppedInput, reporter) { - SkBitmap temp; - temp.allocN32Pixels(100, 100); - SkCanvas canvas(temp); - test_xfermode_cropped_input(&canvas, reporter); + test_xfermode_cropped_input(SkSurface::MakeRasterN32Premul(100, 100).get(), reporter); } static void test_composed_imagefilter_offset(skiatest::Reporter* reporter, GrContext* context) { @@ -1834,9 +1832,7 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(XfermodeImageFilterCroppedInput_Gpu, reporter SkBudgeted::kNo, SkImageInfo::Make(1, 1, kRGBA_8888_SkColorType, kPremul_SkAlphaType))); - SkCanvas* canvas = surf->getCanvas(); - - test_xfermode_cropped_input(canvas, reporter); + test_xfermode_cropped_input(surf.get(), reporter); } DEF_GPUTEST_FOR_ALL_CONTEXTS(ImageFilterBlurLargeImage_Gpu, reporter, ctxInfo) { |