aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/ImageFilterTest.cpp
diff options
context:
space:
mode:
authorGravatar Mike Reed <reed@google.com>2017-07-21 14:24:29 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-07-21 18:49:05 +0000
commitf19421961c59ceabfb88a5c5cdf7c7e31a95b015 (patch)
tree5908b47d389465242a24c1439c115db57295f883 /tests/ImageFilterTest.cpp
parentce98801bbb5ac251b374f8b565445add43017aaa (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.cpp24
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) {