| Index: samplecode/SampleFilterFuzz.cpp
|
| diff --git a/samplecode/SampleFilterFuzz.cpp b/samplecode/SampleFilterFuzz.cpp
|
| index 82934ea3cc774079e7bcef4f17cdf1cf6bfca582..dd0fa4044e6f5b9bbeaf776b4d454d7311ecea78 100644
|
| --- a/samplecode/SampleFilterFuzz.cpp
|
| +++ b/samplecode/SampleFilterFuzz.cpp
|
| @@ -298,9 +298,9 @@
|
| return bitmap[R(2)];
|
| }
|
|
|
| -static sk_sp<SkData> make_3Dlut(int* cubeDimension, bool invR, bool invG, bool invB) {
|
| +static SkData* make_3Dlut(int* cubeDimension, bool invR, bool invG, bool invB) {
|
| int size = 4 << R(5);
|
| - auto data = SkData::MakeUninitialized(sizeof(SkColor) * size * size * size);
|
| + SkData* data = SkData::NewUninitialized(sizeof(SkColor) * size * size * size);
|
| SkColor* pixels = (SkColor*)(data->writable_data());
|
| SkAutoTMalloc<uint8_t> lutMemory(size);
|
| SkAutoTMalloc<uint8_t> invLutMemory(size);
|
| @@ -350,17 +350,20 @@
|
| }
|
| }
|
|
|
| -static sk_sp<SkColorFilter> make_color_filter() {
|
| +static SkColorFilter* make_color_filter() {
|
| + SkColorFilter* colorFilter;
|
| switch (R(6)) {
|
| case 0: {
|
| SkScalar array[20];
|
| for (int i = 0; i < 20; ++i) {
|
| array[i] = make_scalar();
|
| }
|
| - return SkColorFilter::MakeMatrixFilterRowMajor255(array);
|
| + colorFilter = SkColorMatrixFilter::Create(array);
|
| + break;
|
| }
|
| case 1:
|
| - return SkLumaColorFilter::Make();
|
| + colorFilter = SkLumaColorFilter::Create();
|
| + break;
|
| case 2: {
|
| uint8_t tableA[256];
|
| uint8_t tableR[256];
|
| @@ -370,17 +373,21 @@
|
| rand_color_table(tableR);
|
| rand_color_table(tableG);
|
| rand_color_table(tableB);
|
| - return SkTableColorFilter::MakeARGB(tableA, tableR, tableG, tableB);
|
| + colorFilter = SkTableColorFilter::CreateARGB(tableA, tableR, tableG, tableB);
|
| + break;
|
| }
|
| case 3:
|
| - return SkColorFilter::MakeModeFilter(make_color(), make_xfermode());
|
| + colorFilter = SkColorFilter::CreateModeFilter(make_color(), make_xfermode());
|
| + break;
|
| case 4:
|
| - return SkColorMatrixFilter::MakeLightingFilter(make_color(), make_color());
|
| + colorFilter = SkColorMatrixFilter::CreateLightingFilter(make_color(), make_color());
|
| + break;
|
| case 5:
|
| default:
|
| - break;
|
| - }
|
| - return nullptr;
|
| + colorFilter = nullptr;
|
| + break;
|
| + }
|
| + return colorFilter;
|
| }
|
|
|
| static SkPath make_path() {
|
| @@ -531,7 +538,7 @@
|
| rasterizerBuilder.addLayer(paintForRasterizer);
|
| paint.setRasterizer(rasterizerBuilder.detach());
|
| paint.setImageFilter(make_image_filter());
|
| - sk_sp<SkData> data(make_3Dlut(nullptr, make_bool(), make_bool(), make_bool()));
|
| + SkAutoDataUnref data(make_3Dlut(nullptr, make_bool(), make_bool(), make_bool()));
|
| paint.setTextAlign(make_paint_align());
|
| paint.setTextSize(make_scalar());
|
| paint.setTextScaleX(make_scalar());
|
| @@ -560,16 +567,16 @@
|
| break;
|
| case COLOR:
|
| {
|
| - sk_sp<SkColorFilter> cf(make_color_filter());
|
| - filter = cf ? SkColorFilterImageFilter::Create(cf.get(), make_image_filter()) : 0;
|
| + SkAutoTUnref<SkColorFilter> cf(make_color_filter());
|
| + filter = cf.get() ? SkColorFilterImageFilter::Create(cf, make_image_filter()) : 0;
|
| }
|
| break;
|
| case LUT3D:
|
| {
|
| int cubeDimension;
|
| - sk_sp<SkData> lut3D(make_3Dlut(&cubeDimension, (R(2) == 1), (R(2) == 1), (R(2) == 1)));
|
| - sk_sp<SkColorFilter> cf(SkColorCubeFilter::Make(lut3D, cubeDimension));
|
| - filter = cf ? SkColorFilterImageFilter::Create(cf.get(), make_image_filter()) : 0;
|
| + SkAutoDataUnref lut3D(make_3Dlut(&cubeDimension, (R(2) == 1), (R(2) == 1), (R(2) == 1)));
|
| + SkAutoTUnref<SkColorFilter> cf(SkColorCubeFilter::Create(lut3D, cubeDimension));
|
| + filter = cf.get() ? SkColorFilterImageFilter::Create(cf, make_image_filter()) : 0;
|
| }
|
| break;
|
| case BLUR:
|
|
|