Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(401)

Side by Side Diff: tests/ImageFilterTest.cpp

Issue 1811703002: return pictures as sk_sp (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: rely on RVO in picturerecorder Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tests/GpuLayerCacheTest.cpp ('k') | tests/ImageTest.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 1
2 /* 2 /*
3 * Copyright 2013 Google Inc. 3 * Copyright 2013 Google Inc.
4 * 4 *
5 * Use of this source code is governed by a BSD-style license that can be 5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file. 6 * found in the LICENSE file.
7 */ 7 */
8 8
9 #include "SkBitmap.h" 9 #include "SkBitmap.h"
10 #include "SkBitmapDevice.h" 10 #include "SkBitmapDevice.h"
(...skipping 572 matching lines...) Expand 10 before | Expand all | Expand 10 after
583 matrix.setTranslate(SK_Scalar1, SK_Scalar1); 583 matrix.setTranslate(SK_Scalar1, SK_Scalar1);
584 matrix.postRotate(SkIntToScalar(45), SK_Scalar1, SK_Scalar1); 584 matrix.postRotate(SkIntToScalar(45), SK_Scalar1, SK_Scalar1);
585 585
586 SkRTreeFactory factory; 586 SkRTreeFactory factory;
587 SkPictureRecorder recorder; 587 SkPictureRecorder recorder;
588 SkCanvas* recordingCanvas = recorder.beginRecording(64, 64, &factory, 0); 588 SkCanvas* recordingCanvas = recorder.beginRecording(64, 64, &factory, 0);
589 589
590 SkPaint greenPaint; 590 SkPaint greenPaint;
591 greenPaint.setColor(SK_ColorGREEN); 591 greenPaint.setColor(SK_ColorGREEN);
592 recordingCanvas->drawRect(SkRect::Make(SkIRect::MakeXYWH(10, 10, 30, 20)), g reenPaint); 592 recordingCanvas->drawRect(SkRect::Make(SkIRect::MakeXYWH(10, 10, 30, 20)), g reenPaint);
593 SkAutoTUnref<SkPicture> picture(recorder.endRecording()); 593 sk_sp<SkPicture> picture(recorder.finishRecordingAsPicture());
594 SkAutoTUnref<SkImageFilter> pictureFilter(SkPictureImageFilter::Create(pictu re.get())); 594 SkAutoTUnref<SkImageFilter> pictureFilter(SkPictureImageFilter::Create(pictu re.get()));
595 SkAutoTUnref<SkShader> shader(SkPerlinNoiseShader::CreateTurbulence(SK_Scala r1, SK_Scalar1, 1, 0)); 595 SkAutoTUnref<SkShader> shader(SkPerlinNoiseShader::CreateTurbulence(SK_Scala r1, SK_Scalar1, 1, 0));
596 SkPaint noisePaint; 596 SkPaint noisePaint;
597 noisePaint.setShader(shader); 597 noisePaint.setShader(shader);
598 598
599 SkAutoTUnref<SkImageFilter> paintFilter(SkPaintImageFilter::Create(noisePain t)); 599 SkAutoTUnref<SkImageFilter> paintFilter(SkPaintImageFilter::Create(noisePain t));
600 600
601 SkImageFilter::CropRect leftSideCropRect(SkRect::MakeXYWH(0, 0, 32, 64)); 601 SkImageFilter::CropRect leftSideCropRect(SkRect::MakeXYWH(0, 0, 32, 64));
602 SkAutoTUnref<SkImageFilter> paintFilterLeft(SkPaintImageFilter::Create(green Paint, &leftSideCropRect)); 602 SkAutoTUnref<SkImageFilter> paintFilterLeft(SkPaintImageFilter::Create(green Paint, &leftSideCropRect));
603 SkImageFilter::CropRect rightSideCropRect(SkRect::MakeXYWH(32, 0, 32, 64)); 603 SkImageFilter::CropRect rightSideCropRect(SkRect::MakeXYWH(32, 0, 32, 64));
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
700 SkPaint paint; 700 SkPaint paint;
701 paint.setImageFilter(imageFilter.get()); 701 paint.setImageFilter(imageFilter.get());
702 SkPictureRecorder recorder; 702 SkPictureRecorder recorder;
703 SkRect bounds = SkRect::Make(SkIRect::MakeXYWH(0, 0, 50, 50)); 703 SkRect bounds = SkRect::Make(SkIRect::MakeXYWH(0, 0, 50, 50));
704 SkCanvas* recordingCanvas = recorder.beginRecording(SkIntToScalar(width), 704 SkCanvas* recordingCanvas = recorder.beginRecording(SkIntToScalar(width),
705 SkIntToScalar(height), 705 SkIntToScalar(height),
706 factory, 0); 706 factory, 0);
707 recordingCanvas->translate(-55, 0); 707 recordingCanvas->translate(-55, 0);
708 recordingCanvas->saveLayer(&bounds, &paint); 708 recordingCanvas->saveLayer(&bounds, &paint);
709 recordingCanvas->restore(); 709 recordingCanvas->restore();
710 SkAutoTUnref<SkPicture> picture1(recorder.endRecording()); 710 sk_sp<SkPicture> picture1(recorder.finishRecordingAsPicture());
711 711
712 result->allocN32Pixels(width, height); 712 result->allocN32Pixels(width, height);
713 SkCanvas canvas(*result); 713 SkCanvas canvas(*result);
714 canvas.clear(0); 714 canvas.clear(0);
715 canvas.clipRect(SkRect::Make(SkIRect::MakeWH(tileSize, tileSize))); 715 canvas.clipRect(SkRect::Make(SkIRect::MakeWH(tileSize, tileSize)));
716 canvas.drawPicture(picture1.get()); 716 canvas.drawPicture(picture1.get());
717 } 717 }
718 718
719 DEF_TEST(ImageFilterDrawMatrixBBH, reporter) { 719 DEF_TEST(ImageFilterDrawMatrixBBH, reporter) {
720 // Check that matrix filter when drawn tiled with BBH exactly 720 // Check that matrix filter when drawn tiled with BBH exactly
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
893 SkPictureRecorder recorder1, recorder2; 893 SkPictureRecorder recorder1, recorder2;
894 // The only difference between these two pictures is that one has RTree acel eration. 894 // The only difference between these two pictures is that one has RTree acel eration.
895 SkCanvas* recordingCanvas1 = recorder1.beginRecording(SkIntToScalar(width), 895 SkCanvas* recordingCanvas1 = recorder1.beginRecording(SkIntToScalar(width),
896 SkIntToScalar(height), 896 SkIntToScalar(height),
897 nullptr, 0); 897 nullptr, 0);
898 SkCanvas* recordingCanvas2 = recorder2.beginRecording(SkIntToScalar(width), 898 SkCanvas* recordingCanvas2 = recorder2.beginRecording(SkIntToScalar(width),
899 SkIntToScalar(height), 899 SkIntToScalar(height),
900 &factory, 0); 900 &factory, 0);
901 draw_blurred_rect(recordingCanvas1); 901 draw_blurred_rect(recordingCanvas1);
902 draw_blurred_rect(recordingCanvas2); 902 draw_blurred_rect(recordingCanvas2);
903 SkAutoTUnref<SkPicture> picture1(recorder1.endRecording()); 903 sk_sp<SkPicture> picture1(recorder1.finishRecordingAsPicture());
904 SkAutoTUnref<SkPicture> picture2(recorder2.endRecording()); 904 sk_sp<SkPicture> picture2(recorder2.finishRecordingAsPicture());
905 for (int y = 0; y < height; y += tileSize) { 905 for (int y = 0; y < height; y += tileSize) {
906 for (int x = 0; x < width; x += tileSize) { 906 for (int x = 0; x < width; x += tileSize) {
907 SkRect tileRect = SkRect::Make(SkIRect::MakeXYWH(x, y, tileSize, til eSize)); 907 SkRect tileRect = SkRect::Make(SkIRect::MakeXYWH(x, y, tileSize, til eSize));
908 draw_picture_clipped(&canvas1, tileRect, picture1); 908 draw_picture_clipped(&canvas1, tileRect, picture1.get());
909 draw_picture_clipped(&canvas2, tileRect, picture2); 909 draw_picture_clipped(&canvas2, tileRect, picture2.get());
910 } 910 }
911 } 911 }
912 for (int y = 0; y < height; y++) { 912 for (int y = 0; y < height; y++) {
913 int diffs = memcmp(result1.getAddr32(0, y), result2.getAddr32(0, y), res ult1.rowBytes()); 913 int diffs = memcmp(result1.getAddr32(0, y), result2.getAddr32(0, y), res ult1.rowBytes());
914 REPORTER_ASSERT(reporter, !diffs); 914 REPORTER_ASSERT(reporter, !diffs);
915 if (diffs) { 915 if (diffs) {
916 break; 916 break;
917 } 917 }
918 } 918 }
919 } 919 }
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
1003 new MatrixTestImageFilter(reporter, expectedMatrix)); 1003 new MatrixTestImageFilter(reporter, expectedMatrix));
1004 paint.setImageFilter(imageFilter.get()); 1004 paint.setImageFilter(imageFilter.get());
1005 recordingCanvas->saveLayer(nullptr, &paint); 1005 recordingCanvas->saveLayer(nullptr, &paint);
1006 SkPaint solidPaint; 1006 SkPaint solidPaint;
1007 solidPaint.setColor(0xFFFFFFFF); 1007 solidPaint.setColor(0xFFFFFFFF);
1008 recordingCanvas->save(); 1008 recordingCanvas->save();
1009 recordingCanvas->scale(SkIntToScalar(10), SkIntToScalar(10)); 1009 recordingCanvas->scale(SkIntToScalar(10), SkIntToScalar(10));
1010 recordingCanvas->drawRect(SkRect::Make(SkIRect::MakeWH(100, 100)), solidPain t); 1010 recordingCanvas->drawRect(SkRect::Make(SkIRect::MakeWH(100, 100)), solidPain t);
1011 recordingCanvas->restore(); // scale 1011 recordingCanvas->restore(); // scale
1012 recordingCanvas->restore(); // saveLayer 1012 recordingCanvas->restore(); // saveLayer
1013 SkAutoTUnref<SkPicture> picture(recorder.endRecording());
1014 1013
1015 canvas.drawPicture(picture); 1014 canvas.drawPicture(recorder.finishRecordingAsPicture());
1016 } 1015 }
1017 1016
1018 DEF_TEST(ImageFilterCrossProcessPictureImageFilter, reporter) { 1017 DEF_TEST(ImageFilterCrossProcessPictureImageFilter, reporter) {
1019 SkRTreeFactory factory; 1018 SkRTreeFactory factory;
1020 SkPictureRecorder recorder; 1019 SkPictureRecorder recorder;
1021 SkCanvas* recordingCanvas = recorder.beginRecording(1, 1, &factory, 0); 1020 SkCanvas* recordingCanvas = recorder.beginRecording(1, 1, &factory, 0);
1022 1021
1023 // Create an SkPicture which simply draws a green 1x1 rectangle. 1022 // Create an SkPicture which simply draws a green 1x1 rectangle.
1024 SkPaint greenPaint; 1023 SkPaint greenPaint;
1025 greenPaint.setColor(SK_ColorGREEN); 1024 greenPaint.setColor(SK_ColorGREEN);
1026 recordingCanvas->drawRect(SkRect::Make(SkIRect::MakeWH(1, 1)), greenPaint); 1025 recordingCanvas->drawRect(SkRect::Make(SkIRect::MakeWH(1, 1)), greenPaint);
1027 SkAutoTUnref<SkPicture> picture(recorder.endRecording()); 1026 sk_sp<SkPicture> picture(recorder.finishRecordingAsPicture());
1028 1027
1029 // Wrap that SkPicture in an SkPictureImageFilter. 1028 // Wrap that SkPicture in an SkPictureImageFilter.
1030 SkAutoTUnref<SkImageFilter> imageFilter( 1029 SkAutoTUnref<SkImageFilter> imageFilter(
1031 SkPictureImageFilter::Create(picture.get())); 1030 SkPictureImageFilter::Create(picture.get()));
1032 1031
1033 // Check that SkPictureImageFilter successfully serializes its contained 1032 // Check that SkPictureImageFilter successfully serializes its contained
1034 // SkPicture when not in cross-process mode. 1033 // SkPicture when not in cross-process mode.
1035 SkPaint paint; 1034 SkPaint paint;
1036 paint.setImageFilter(imageFilter.get()); 1035 paint.setImageFilter(imageFilter.get());
1037 SkPictureRecorder outerRecorder; 1036 SkPictureRecorder outerRecorder;
1038 SkCanvas* outerCanvas = outerRecorder.beginRecording(1, 1, &factory, 0); 1037 SkCanvas* outerCanvas = outerRecorder.beginRecording(1, 1, &factory, 0);
1039 SkPaint redPaintWithFilter; 1038 SkPaint redPaintWithFilter;
1040 redPaintWithFilter.setColor(SK_ColorRED); 1039 redPaintWithFilter.setColor(SK_ColorRED);
1041 redPaintWithFilter.setImageFilter(imageFilter.get()); 1040 redPaintWithFilter.setImageFilter(imageFilter.get());
1042 outerCanvas->drawRect(SkRect::Make(SkIRect::MakeWH(1, 1)), redPaintWithFilte r); 1041 outerCanvas->drawRect(SkRect::Make(SkIRect::MakeWH(1, 1)), redPaintWithFilte r);
1043 SkAutoTUnref<SkPicture> outerPicture(outerRecorder.endRecording()); 1042 sk_sp<SkPicture> outerPicture(outerRecorder.finishRecordingAsPicture());
1044 1043
1045 SkBitmap bitmap; 1044 SkBitmap bitmap;
1046 bitmap.allocN32Pixels(1, 1); 1045 bitmap.allocN32Pixels(1, 1);
1047 SkCanvas canvas(bitmap); 1046 SkCanvas canvas(bitmap);
1048 1047
1049 // The result here should be green, since the filter replaces the primitive' s red interior. 1048 // The result here should be green, since the filter replaces the primitive' s red interior.
1050 canvas.clear(0x0); 1049 canvas.clear(0x0);
1051 canvas.drawPicture(outerPicture); 1050 canvas.drawPicture(outerPicture);
1052 uint32_t pixel = *bitmap.getAddr32(0, 0); 1051 uint32_t pixel = *bitmap.getAddr32(0, 0);
1053 REPORTER_ASSERT(reporter, pixel == SK_ColorGREEN); 1052 REPORTER_ASSERT(reporter, pixel == SK_ColorGREEN);
1054 1053
1055 // Check that, for now, SkPictureImageFilter does not serialize or 1054 // Check that, for now, SkPictureImageFilter does not serialize or
1056 // deserialize its contained picture when the filter is serialized 1055 // deserialize its contained picture when the filter is serialized
1057 // cross-process. Do this by "laundering" it through SkValidatingReadBuffer. 1056 // cross-process. Do this by "laundering" it through SkValidatingReadBuffer.
1058 SkAutoTUnref<SkData> data(SkValidatingSerializeFlattenable(imageFilter.get() )); 1057 SkAutoTUnref<SkData> data(SkValidatingSerializeFlattenable(imageFilter.get() ));
1059 SkAutoTUnref<SkFlattenable> flattenable(SkValidatingDeserializeFlattenable( 1058 SkAutoTUnref<SkFlattenable> flattenable(SkValidatingDeserializeFlattenable(
1060 data->data(), data->size(), SkImageFilter::GetFlattenableType())); 1059 data->data(), data->size(), SkImageFilter::GetFlattenableType()));
1061 SkImageFilter* unflattenedFilter = static_cast<SkImageFilter*>(flattenable.g et()); 1060 SkImageFilter* unflattenedFilter = static_cast<SkImageFilter*>(flattenable.g et());
1062 1061
1063 redPaintWithFilter.setImageFilter(unflattenedFilter); 1062 redPaintWithFilter.setImageFilter(unflattenedFilter);
1064 SkPictureRecorder crossProcessRecorder; 1063 SkPictureRecorder crossProcessRecorder;
1065 SkCanvas* crossProcessCanvas = crossProcessRecorder.beginRecording(1, 1, &fa ctory, 0); 1064 SkCanvas* crossProcessCanvas = crossProcessRecorder.beginRecording(1, 1, &fa ctory, 0);
1066 crossProcessCanvas->drawRect(SkRect::Make(SkIRect::MakeWH(1, 1)), redPaintWi thFilter); 1065 crossProcessCanvas->drawRect(SkRect::Make(SkIRect::MakeWH(1, 1)), redPaintWi thFilter);
1067 SkAutoTUnref<SkPicture> crossProcessPicture(crossProcessRecorder.endRecordin g()); 1066 sk_sp<SkPicture> crossProcessPicture(crossProcessRecorder.finishRecordingAsP icture());
1068 1067
1069 canvas.clear(0x0); 1068 canvas.clear(0x0);
1070 canvas.drawPicture(crossProcessPicture); 1069 canvas.drawPicture(crossProcessPicture);
1071 pixel = *bitmap.getAddr32(0, 0); 1070 pixel = *bitmap.getAddr32(0, 0);
1072 // If the security precautions are enabled, the result here should not be gr een, since the 1071 // If the security precautions are enabled, the result here should not be gr een, since the
1073 // filter draws nothing. 1072 // filter draws nothing.
1074 REPORTER_ASSERT(reporter, SkPicture::PictureIOSecurityPrecautionsEnabled() 1073 REPORTER_ASSERT(reporter, SkPicture::PictureIOSecurityPrecautionsEnabled()
1075 ? pixel != SK_ColorGREEN : pixel == SK_ColorGREEN); 1074 ? pixel != SK_ColorGREEN : pixel == SK_ColorGREEN);
1076 } 1075 }
1077 1076
1078 static void test_clipped_picture_imagefilter(SkImageFilter::Proxy* proxy, 1077 static void test_clipped_picture_imagefilter(SkImageFilter::Proxy* proxy,
1079 skiatest::Reporter* reporter, 1078 skiatest::Reporter* reporter,
1080 GrContext* context) { 1079 GrContext* context) {
1081 SkAutoTUnref<SkPicture> picture; 1080 sk_sp<SkPicture> picture;
1082 1081
1083 { 1082 {
1084 SkRTreeFactory factory; 1083 SkRTreeFactory factory;
1085 SkPictureRecorder recorder; 1084 SkPictureRecorder recorder;
1086 SkCanvas* recordingCanvas = recorder.beginRecording(1, 1, &factory, 0); 1085 SkCanvas* recordingCanvas = recorder.beginRecording(1, 1, &factory, 0);
1087 1086
1088 // Create an SkPicture which simply draws a green 1x1 rectangle. 1087 // Create an SkPicture which simply draws a green 1x1 rectangle.
1089 SkPaint greenPaint; 1088 SkPaint greenPaint;
1090 greenPaint.setColor(SK_ColorGREEN); 1089 greenPaint.setColor(SK_ColorGREEN);
1091 recordingCanvas->drawRect(SkRect::Make(SkIRect::MakeWH(1, 1)), greenPain t); 1090 recordingCanvas->drawRect(SkRect::Make(SkIRect::MakeWH(1, 1)), greenPain t);
1092 picture.reset(recorder.endRecording()); 1091 picture = recorder.finishRecordingAsPicture();
1093 } 1092 }
1094 1093
1095 sk_sp<SkSpecialImage> srcImg(create_empty_special_image(context, proxy, 2)); 1094 sk_sp<SkSpecialImage> srcImg(create_empty_special_image(context, proxy, 2));
1096 1095
1097 SkAutoTUnref<SkImageFilter> imageFilter(SkPictureImageFilter::Create(picture .get())); 1096 SkAutoTUnref<SkImageFilter> imageFilter(SkPictureImageFilter::Create(picture .get()));
1098 1097
1099 SkIPoint offset; 1098 SkIPoint offset;
1100 SkImageFilter::Context ctx(SkMatrix::I(), SkIRect::MakeXYWH(1, 1, 1, 1), nul lptr); 1099 SkImageFilter::Context ctx(SkMatrix::I(), SkIRect::MakeXYWH(1, 1, 1, 1), nul lptr);
1101 1100
1102 SkAutoTUnref<SkSpecialImage> resultImage(imageFilter->filterImage(srcImg.get (), ctx, &offset)); 1101 SkAutoTUnref<SkSpecialImage> resultImage(imageFilter->filterImage(srcImg.get (), ctx, &offset));
(...skipping 28 matching lines...) Expand all
1131 SkPaint imageFilterPaint; 1130 SkPaint imageFilterPaint;
1132 imageFilterPaint.setImageFilter(imageFilter.get()); 1131 imageFilterPaint.setImageFilter(imageFilter.get());
1133 SkPaint colorFilterPaint; 1132 SkPaint colorFilterPaint;
1134 colorFilterPaint.setColorFilter(green.get()); 1133 colorFilterPaint.setColorFilter(green.get());
1135 1134
1136 SkRect bounds = SkRect::MakeWH(10, 10); 1135 SkRect bounds = SkRect::MakeWH(10, 10);
1137 1136
1138 SkCanvas* recordingCanvas = recorder.beginRecording(10, 10, &factory, 0); 1137 SkCanvas* recordingCanvas = recorder.beginRecording(10, 10, &factory, 0);
1139 recordingCanvas->saveLayer(&bounds, &imageFilterPaint); 1138 recordingCanvas->saveLayer(&bounds, &imageFilterPaint);
1140 recordingCanvas->restore(); 1139 recordingCanvas->restore();
1141 SkAutoTUnref<SkPicture> picture(recorder.endRecording()); 1140 sk_sp<SkPicture> picture(recorder.finishRecordingAsPicture());
1142 1141
1143 canvas.clear(0); 1142 canvas.clear(0);
1144 canvas.drawPicture(picture); 1143 canvas.drawPicture(picture);
1145 uint32_t pixel = *bitmap.getAddr32(0, 0); 1144 uint32_t pixel = *bitmap.getAddr32(0, 0);
1146 REPORTER_ASSERT(reporter, pixel == SK_ColorGREEN); 1145 REPORTER_ASSERT(reporter, pixel == SK_ColorGREEN);
1147 1146
1148 recordingCanvas = recorder.beginRecording(10, 10, &factory, 0); 1147 recordingCanvas = recorder.beginRecording(10, 10, &factory, 0);
1149 recordingCanvas->saveLayer(nullptr, &imageFilterPaint); 1148 recordingCanvas->saveLayer(nullptr, &imageFilterPaint);
1150 recordingCanvas->restore(); 1149 recordingCanvas->restore();
1151 SkAutoTUnref<SkPicture> picture2(recorder.endRecording()); 1150 sk_sp<SkPicture> picture2(recorder.finishRecordingAsPicture());
1152 1151
1153 canvas.clear(0); 1152 canvas.clear(0);
1154 canvas.drawPicture(picture2); 1153 canvas.drawPicture(picture2);
1155 pixel = *bitmap.getAddr32(0, 0); 1154 pixel = *bitmap.getAddr32(0, 0);
1156 REPORTER_ASSERT(reporter, pixel == SK_ColorGREEN); 1155 REPORTER_ASSERT(reporter, pixel == SK_ColorGREEN);
1157 1156
1158 recordingCanvas = recorder.beginRecording(10, 10, &factory, 0); 1157 recordingCanvas = recorder.beginRecording(10, 10, &factory, 0);
1159 recordingCanvas->saveLayer(&bounds, &colorFilterPaint); 1158 recordingCanvas->saveLayer(&bounds, &colorFilterPaint);
1160 recordingCanvas->restore(); 1159 recordingCanvas->restore();
1161 SkAutoTUnref<SkPicture> picture3(recorder.endRecording()); 1160 sk_sp<SkPicture> picture3(recorder.finishRecordingAsPicture());
1162 1161
1163 canvas.clear(0); 1162 canvas.clear(0);
1164 canvas.drawPicture(picture3); 1163 canvas.drawPicture(picture3);
1165 pixel = *bitmap.getAddr32(0, 0); 1164 pixel = *bitmap.getAddr32(0, 0);
1166 REPORTER_ASSERT(reporter, pixel == SK_ColorGREEN); 1165 REPORTER_ASSERT(reporter, pixel == SK_ColorGREEN);
1167 } 1166 }
1168 1167
1169 static void test_huge_blur(SkCanvas* canvas, skiatest::Reporter* reporter) { 1168 static void test_huge_blur(SkCanvas* canvas, skiatest::Reporter* reporter) {
1170 SkBitmap bitmap; 1169 SkBitmap bitmap;
1171 bitmap.allocN32Pixels(100, 100); 1170 bitmap.allocN32Pixels(100, 100);
(...skipping 383 matching lines...) Expand 10 before | Expand all | Expand 10 after
1555 test_xfermode_cropped_input(&canvas, reporter); 1554 test_xfermode_cropped_input(&canvas, reporter);
1556 } 1555 }
1557 1556
1558 DEF_GPUTEST_FOR_ALL_CONTEXTS(BlurLargeImage_Gpu, reporter, context) { 1557 DEF_GPUTEST_FOR_ALL_CONTEXTS(BlurLargeImage_Gpu, reporter, context) {
1559 SkAutoTUnref<SkSurface> surface( 1558 SkAutoTUnref<SkSurface> surface(
1560 SkSurface::NewRenderTarget(context, SkBudgeted::kYes, 1559 SkSurface::NewRenderTarget(context, SkBudgeted::kYes,
1561 SkImageInfo::MakeN32Premul(100, 100))); 1560 SkImageInfo::MakeN32Premul(100, 100)));
1562 test_large_blur_input(reporter, surface->getCanvas()); 1561 test_large_blur_input(reporter, surface->getCanvas());
1563 } 1562 }
1564 #endif 1563 #endif
OLDNEW
« no previous file with comments | « tests/GpuLayerCacheTest.cpp ('k') | tests/ImageTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698