• Home
  • Raw
  • Download

Lines Matching refs:fuzz

77 inline T make_fuzz_t(Fuzz* fuzz) {  in make_fuzz_t()  argument
79 fuzz->next(&t); in make_fuzz_t()
87 static sk_sp<SkColorFilter> make_fuzz_colorfilter(Fuzz* fuzz, int depth) { in make_fuzz_colorfilter() argument
92 fuzz->nextRange(&colorFilterType, 0, 8); in make_fuzz_colorfilter()
99 fuzz->next(&color); in make_fuzz_colorfilter()
100 fuzz->nextEnum(&mode, SkBlendMode::kLastMode); in make_fuzz_colorfilter()
104 sk_sp<SkColorFilter> outer = make_fuzz_colorfilter(fuzz, depth - 1); in make_fuzz_colorfilter()
108 sk_sp<SkColorFilter> inner = make_fuzz_colorfilter(fuzz, depth - 1); in make_fuzz_colorfilter()
114 fuzz->nextN(array, SK_ARRAY_COUNT(array)); in make_fuzz_colorfilter()
119 fuzz->next(&mul, &add); in make_fuzz_colorfilter()
126 fuzz->next(&grayscale); in make_fuzz_colorfilter()
127 fuzz->nextRange(&invertStyle, 0, 2); in make_fuzz_colorfilter()
128 fuzz->nextRange(&contrast, -1.0f, 1.0f); in make_fuzz_colorfilter()
136 fuzz->nextN(table, SK_ARRAY_COUNT(table)); in make_fuzz_colorfilter()
144 fuzz->nextN(tableA, SK_ARRAY_COUNT(tableA)); in make_fuzz_colorfilter()
145 fuzz->nextN(tableR, SK_ARRAY_COUNT(tableR)); in make_fuzz_colorfilter()
146 fuzz->nextN(tableG, SK_ARRAY_COUNT(tableG)); in make_fuzz_colorfilter()
147 fuzz->nextN(tableB, SK_ARRAY_COUNT(tableB)); in make_fuzz_colorfilter()
157 static void fuzz_gradient_stops(Fuzz* fuzz, SkScalar* pos, int colorCount) { in fuzz_gradient_stops() argument
160 fuzz->nextRange(&pos[i], 1.0f, 1024.0f); in fuzz_gradient_stops()
171 static sk_sp<SkShader> make_fuzz_shader(Fuzz* fuzz, int depth) { in make_fuzz_shader() argument
185 fuzz->nextRange(&shaderType, 0, 14); in make_fuzz_shader()
192 fuzz->next(&color); in make_fuzz_shader()
195 img = make_fuzz_image(fuzz); in make_fuzz_shader()
196 fuzz->nextEnum(&tmX, SkTileMode::kLastTileMode); in make_fuzz_shader()
197 fuzz->nextEnum(&tmY, SkTileMode::kLastTileMode); in make_fuzz_shader()
198 fuzz->next(&useMatrix); in make_fuzz_shader()
200 FuzzNiceMatrix(fuzz, &matrix); in make_fuzz_shader()
204 shader1 = make_fuzz_shader(fuzz, depth - 1); // limit recursion. in make_fuzz_shader()
205 FuzzNiceMatrix(fuzz, &matrix); in make_fuzz_shader()
208 shader1 = make_fuzz_shader(fuzz, depth - 1); // limit recursion. in make_fuzz_shader()
209 colorFilter = make_fuzz_colorfilter(fuzz, depth - 1); in make_fuzz_shader()
212 shader1 = make_fuzz_shader(fuzz, depth - 1); // limit recursion. in make_fuzz_shader()
213 shader2 = make_fuzz_shader(fuzz, depth - 1); in make_fuzz_shader()
214 fuzz->nextEnum(&blendMode, SkBlendMode::kLastMode); in make_fuzz_shader()
217 auto pic = make_fuzz_picture(fuzz, depth - 1); in make_fuzz_shader()
220 fuzz->nextEnum(&tmX, SkTileMode::kLastTileMode); in make_fuzz_shader()
221 fuzz->nextEnum(&tmY, SkTileMode::kLastTileMode); in make_fuzz_shader()
222 fuzz->next(&useMatrix, &useTile); in make_fuzz_shader()
224 FuzzNiceMatrix(fuzz, &matrix); in make_fuzz_shader()
227 fuzz->next(&tile); in make_fuzz_shader()
243 fuzz->nextN(pts, 2); in make_fuzz_shader()
244 fuzz->nextRange(&colorCount, 2, kMaxColors); in make_fuzz_shader()
245 fuzz->nextN(colors, colorCount); in make_fuzz_shader()
246 fuzz->nextEnum(&tmX, SkTileMode::kLastTileMode); in make_fuzz_shader()
247 fuzz->next(&useMatrix, &usePos); in make_fuzz_shader()
249 FuzzNiceMatrix(fuzz, &matrix); in make_fuzz_shader()
252 fuzz_gradient_stops(fuzz, pos, colorCount); in make_fuzz_shader()
265 fuzz->nextEnum(&tmX, SkTileMode::kLastTileMode); in make_fuzz_shader()
266 fuzz->next(&useMatrix, &usePos, &center, &radius); in make_fuzz_shader()
267 fuzz->nextRange(&colorCount, 2, kMaxColors); in make_fuzz_shader()
268 fuzz->nextN(colors, colorCount); in make_fuzz_shader()
270 FuzzNiceMatrix(fuzz, &matrix); in make_fuzz_shader()
273 fuzz_gradient_stops(fuzz, pos, colorCount); in make_fuzz_shader()
286 fuzz->nextEnum(&tmX, SkTileMode::kLastTileMode); in make_fuzz_shader()
287 fuzz->next(&useMatrix, &usePos, &startRadius, &endRadius, &start, &end); in make_fuzz_shader()
288 fuzz->nextRange(&colorCount, 2, kMaxColors); in make_fuzz_shader()
289 fuzz->nextN(colors, colorCount); in make_fuzz_shader()
291 FuzzNiceMatrix(fuzz, &matrix); in make_fuzz_shader()
294 fuzz_gradient_stops(fuzz, pos, colorCount); in make_fuzz_shader()
307 fuzz->next(&cx, &cy, &useMatrix, &usePos); in make_fuzz_shader()
308 fuzz->nextRange(&colorCount, 2, kMaxColors); in make_fuzz_shader()
309 fuzz->nextN(colors, colorCount); in make_fuzz_shader()
311 FuzzNiceMatrix(fuzz, &matrix); in make_fuzz_shader()
314 fuzz_gradient_stops(fuzz, pos, colorCount); in make_fuzz_shader()
324 fuzz->next(&baseFrequencyX, &baseFrequencyY, &seed, &useTileSize, &turbulence); in make_fuzz_shader()
326 fuzz->next(&tileSize); in make_fuzz_shader()
328 fuzz->nextRange(&numOctaves, 2, 7); in make_fuzz_shader()
346 static sk_sp<SkPathEffect> make_fuzz_patheffect(Fuzz* fuzz, int depth) { in make_fuzz_patheffect() argument
351 fuzz->nextRange(&pathEffectType, 0, 8); in make_fuzz_patheffect()
357 sk_sp<SkPathEffect> first = make_fuzz_patheffect(fuzz, depth - 1); in make_fuzz_patheffect()
358 sk_sp<SkPathEffect> second = make_fuzz_patheffect(fuzz, depth - 1); in make_fuzz_patheffect()
362 sk_sp<SkPathEffect> first = make_fuzz_patheffect(fuzz, depth - 1); in make_fuzz_patheffect()
363 sk_sp<SkPathEffect> second = make_fuzz_patheffect(fuzz, depth - 1); in make_fuzz_patheffect()
368 FuzzNicePath(fuzz, &path, 20); in make_fuzz_patheffect()
370 fuzz->next(&advance, &phase); in make_fuzz_patheffect()
372 fuzz->nextEnum(&style, SkPath1DPathEffect::kLastEnum_Style); in make_fuzz_patheffect()
378 fuzz->next(&width); in make_fuzz_patheffect()
379 FuzzNiceMatrix(fuzz, &matrix); in make_fuzz_patheffect()
384 FuzzNicePath(fuzz, &path, 20); in make_fuzz_patheffect()
386 FuzzNiceMatrix(fuzz, &matrix); in make_fuzz_patheffect()
391 fuzz->next(&radius); in make_fuzz_patheffect()
396 fuzz->next(&phase); in make_fuzz_patheffect()
399 fuzz->nextRange(&count, 0, (int)SK_ARRAY_COUNT(intervals)); in make_fuzz_patheffect()
400 fuzz->nextN(intervals, count); in make_fuzz_patheffect()
406 fuzz->next(&segLength, &dev, &seed); in make_fuzz_patheffect()
415 static sk_sp<SkMaskFilter> make_fuzz_maskfilter(Fuzz* fuzz) { in make_fuzz_maskfilter() argument
417 fuzz->nextRange(&maskfilterType, 0, 1); in make_fuzz_maskfilter()
423 fuzz->nextEnum(&blurStyle, kLastEnum_SkBlurStyle); in make_fuzz_maskfilter()
425 fuzz->next(&sigma); in make_fuzz_maskfilter()
427 fuzz->next(&respectCTM); in make_fuzz_maskfilter()
436 static sk_sp<SkTypeface> make_fuzz_typeface(Fuzz* fuzz) { in make_fuzz_typeface() argument
437 if (make_fuzz_t<bool>(fuzz)) { in make_fuzz_typeface()
444 fuzz->nextRange(&i, 0, familyCount - 1); in make_fuzz_typeface()
447 fuzz->nextRange(&j, 0, styleCount - 1); in make_fuzz_typeface()
451 static sk_sp<SkImageFilter> make_fuzz_imageFilter(Fuzz* fuzz, int depth);
453 static sk_sp<SkImageFilter> make_fuzz_lighting_imagefilter(Fuzz* fuzz, int depth) { in make_fuzz_lighting_imagefilter() argument
458 fuzz->nextRange(&imageFilterType, 1, 6); in make_fuzz_lighting_imagefilter()
465 fuzz->next(&useCropRect); in make_fuzz_lighting_imagefilter()
467 fuzz->next(&cropRect); in make_fuzz_lighting_imagefilter()
471 fuzz->next(&p, &lightColor, &surfaceScale, &k); in make_fuzz_lighting_imagefilter()
472 input = make_fuzz_imageFilter(fuzz, depth - 1); in make_fuzz_lighting_imagefilter()
477 fuzz->next(&p, &lightColor, &surfaceScale, &k); in make_fuzz_lighting_imagefilter()
478 input = make_fuzz_imageFilter(fuzz, depth - 1); in make_fuzz_lighting_imagefilter()
483 fuzz->next(&p, &q, &specularExponent, &cutoffAngle, &lightColor, &surfaceScale, &k); in make_fuzz_lighting_imagefilter()
484 input = make_fuzz_imageFilter(fuzz, depth - 1); in make_fuzz_lighting_imagefilter()
489 fuzz->next(&p, &lightColor, &surfaceScale, &k, &shininess); in make_fuzz_lighting_imagefilter()
490 input = make_fuzz_imageFilter(fuzz, depth - 1); in make_fuzz_lighting_imagefilter()
495 fuzz->next(&p, &lightColor, &surfaceScale, &k, &shininess); in make_fuzz_lighting_imagefilter()
496 input = make_fuzz_imageFilter(fuzz, depth - 1); in make_fuzz_lighting_imagefilter()
501 fuzz->next(&p, &q, &specularExponent, &cutoffAngle, &lightColor, &surfaceScale, &k, in make_fuzz_lighting_imagefilter()
503 input = make_fuzz_imageFilter(fuzz, depth - 1); in make_fuzz_lighting_imagefilter()
513 static void fuzz_paint(Fuzz* fuzz, SkPaint* paint, int depth);
515 static sk_sp<SkImageFilter> make_fuzz_imageFilter(Fuzz* fuzz, int depth) { in make_fuzz_imageFilter() argument
520 fuzz->nextRange(&imageFilterType, 0, 24); in make_fuzz_imageFilter()
526 sk_sp<SkImageFilter> input = make_fuzz_imageFilter(fuzz, depth - 1); in make_fuzz_imageFilter()
528 fuzz->next(&sigmaX, &sigmaY, &useCropRect); in make_fuzz_imageFilter()
531 fuzz->next(&cropRect); in make_fuzz_imageFilter()
538 FuzzNiceMatrix(fuzz, &matrix); in make_fuzz_imageFilter()
540 fuzz->nextEnum(&quality, SkFilterQuality::kLast_SkFilterQuality); in make_fuzz_imageFilter()
542 sk_sp<SkImageFilter> input = make_fuzz_imageFilter(fuzz, depth - 1); in make_fuzz_imageFilter()
548 sk_sp<SkImageFilter> input = make_fuzz_imageFilter(fuzz, depth - 1); in make_fuzz_imageFilter()
550 fuzz->next(&region, &innerMin, &outerMax, &useCropRect); in make_fuzz_imageFilter()
553 fuzz->next(&cropRect); in make_fuzz_imageFilter()
562 fuzz->next(&k1, &k2, &k3, &k4, &enforcePMColor, &useCropRect); in make_fuzz_imageFilter()
563 sk_sp<SkImageFilter> background = make_fuzz_imageFilter(fuzz, depth - 1); in make_fuzz_imageFilter()
564 sk_sp<SkImageFilter> foreground = make_fuzz_imageFilter(fuzz, depth - 1); in make_fuzz_imageFilter()
567 fuzz->next(&cropRect); in make_fuzz_imageFilter()
574 sk_sp<SkColorFilter> cf = make_fuzz_colorfilter(fuzz, depth - 1); in make_fuzz_imageFilter()
575 sk_sp<SkImageFilter> input = make_fuzz_imageFilter(fuzz, depth - 1); in make_fuzz_imageFilter()
578 fuzz->next(&useCropRect); in make_fuzz_imageFilter()
580 fuzz->next(&cropRect); in make_fuzz_imageFilter()
586 sk_sp<SkImageFilter> ifo = make_fuzz_imageFilter(fuzz, depth - 1); in make_fuzz_imageFilter()
587 sk_sp<SkImageFilter> ifi = make_fuzz_imageFilter(fuzz, depth - 1); in make_fuzz_imageFilter()
592 fuzz->nextEnum(&xChannelSelector, SkColorChannel::kLastEnum); in make_fuzz_imageFilter()
593 fuzz->nextEnum(&yChannelSelector, SkColorChannel::kLastEnum); in make_fuzz_imageFilter()
596 fuzz->next(&scale, &useCropRect); in make_fuzz_imageFilter()
599 fuzz->next(&cropRect); in make_fuzz_imageFilter()
601 sk_sp<SkImageFilter> displacement = make_fuzz_imageFilter(fuzz, depth - 1); in make_fuzz_imageFilter()
602 sk_sp<SkImageFilter> color = make_fuzz_imageFilter(fuzz, depth - 1); in make_fuzz_imageFilter()
611 fuzz->next(&dx, &dy, &sigmaX, &sigmaY, &color, &shadowOnly, &useCropRect); in make_fuzz_imageFilter()
614 fuzz->next(&cropRect); in make_fuzz_imageFilter()
616 sk_sp<SkImageFilter> input = make_fuzz_imageFilter(fuzz, depth - 1); in make_fuzz_imageFilter()
627 return SkImageFilters::Image(make_fuzz_image(fuzz)); in make_fuzz_imageFilter()
629 sk_sp<SkImage> image = make_fuzz_image(fuzz); in make_fuzz_imageFilter()
632 fuzz->next(&srcRect, &dstRect); in make_fuzz_imageFilter()
633 fuzz->nextEnum(&filterQuality, SkFilterQuality::kLast_SkFilterQuality); in make_fuzz_imageFilter()
638 return make_fuzz_lighting_imagefilter(fuzz, depth - 1); in make_fuzz_imageFilter()
644 fuzz->next(&srcRect, &inset, &useCropRect); in make_fuzz_imageFilter()
646 fuzz->next(&cropRect); in make_fuzz_imageFilter()
648 sk_sp<SkImageFilter> input = make_fuzz_imageFilter(fuzz, depth - 1); in make_fuzz_imageFilter()
655 fuzz->nextRange(&n, 1, kMaxKernelSize); in make_fuzz_imageFilter()
656 fuzz->nextRange(&m, 1, kMaxKernelSize); in make_fuzz_imageFilter()
658 fuzz->nextN(kernel, n * m); in make_fuzz_imageFilter()
660 fuzz->nextRange(&offsetX, 0, n - 1); in make_fuzz_imageFilter()
661 fuzz->nextRange(&offsetY, 0, m - 1); in make_fuzz_imageFilter()
664 fuzz->next(&gain, &bias, &convolveAlpha, &useCropRect); in make_fuzz_imageFilter()
666 fuzz->nextEnum(&tileMode, SkTileMode::kLastTileMode); in make_fuzz_imageFilter()
669 fuzz->next(&cropRect); in make_fuzz_imageFilter()
671 sk_sp<SkImageFilter> input = make_fuzz_imageFilter(fuzz, depth - 1); in make_fuzz_imageFilter()
677 sk_sp<SkImageFilter> first = make_fuzz_imageFilter(fuzz, depth - 1); in make_fuzz_imageFilter()
678 sk_sp<SkImageFilter> second = make_fuzz_imageFilter(fuzz, depth - 1); in make_fuzz_imageFilter()
680 fuzz->next(&useCropRect); in make_fuzz_imageFilter()
683 fuzz->next(&cropRect); in make_fuzz_imageFilter()
692 fuzz->nextRange(&count, 1, kMaxCount); in make_fuzz_imageFilter()
694 ifs[i] = make_fuzz_imageFilter(fuzz, depth - 1); in make_fuzz_imageFilter()
697 fuzz->next(&useCropRect); in make_fuzz_imageFilter()
700 fuzz->next(&cropRect); in make_fuzz_imageFilter()
706 fuzz->next(&rx, &ry); in make_fuzz_imageFilter()
708 fuzz->next(&useCropRect); in make_fuzz_imageFilter()
711 fuzz->next(&cropRect); in make_fuzz_imageFilter()
713 sk_sp<SkImageFilter> input = make_fuzz_imageFilter(fuzz, depth - 1); in make_fuzz_imageFilter()
719 fuzz->next(&rx, &ry); in make_fuzz_imageFilter()
721 fuzz->next(&useCropRect); in make_fuzz_imageFilter()
724 fuzz->next(&cropRect); in make_fuzz_imageFilter()
726 sk_sp<SkImageFilter> input = make_fuzz_imageFilter(fuzz, depth - 1); in make_fuzz_imageFilter()
732 fuzz->next(&dx, &dy); in make_fuzz_imageFilter()
734 fuzz->next(&useCropRect); in make_fuzz_imageFilter()
737 fuzz->next(&cropRect); in make_fuzz_imageFilter()
739 sk_sp<SkImageFilter> input = make_fuzz_imageFilter(fuzz, depth - 1); in make_fuzz_imageFilter()
745 fuzz_paint(fuzz, &paint, depth - 1); in make_fuzz_imageFilter()
747 fuzz->next(&useCropRect); in make_fuzz_imageFilter()
750 fuzz->next(&cropRect); in make_fuzz_imageFilter()
755 sk_sp<SkPicture> picture = make_fuzz_picture(fuzz, depth - 1); in make_fuzz_imageFilter()
760 fuzz->next(&cropRect); in make_fuzz_imageFilter()
761 sk_sp<SkPicture> picture = make_fuzz_picture(fuzz, depth - 1); in make_fuzz_imageFilter()
766 fuzz->next(&src, &dst); in make_fuzz_imageFilter()
767 sk_sp<SkImageFilter> input = make_fuzz_imageFilter(fuzz, depth - 1); in make_fuzz_imageFilter()
773 fuzz->next(&useCropRect); in make_fuzz_imageFilter()
774 fuzz->nextEnum(&blendMode, SkBlendMode::kLastMode); in make_fuzz_imageFilter()
777 fuzz->next(&cropRect); in make_fuzz_imageFilter()
779 sk_sp<SkImageFilter> bg = make_fuzz_imageFilter(fuzz, depth - 1); in make_fuzz_imageFilter()
780 sk_sp<SkImageFilter> fg = make_fuzz_imageFilter(fuzz, depth - 1); in make_fuzz_imageFilter()
785 sk_sp<SkShader> shader = make_fuzz_shader(fuzz, depth - 1); in make_fuzz_imageFilter()
787 fuzz->next(&useCropRect); in make_fuzz_imageFilter()
790 fuzz->next(&cropRect); in make_fuzz_imageFilter()
800 static sk_sp<SkImage> make_fuzz_image(Fuzz* fuzz) { in make_fuzz_image() argument
802 fuzz->nextRange(&w, 1, 1024); in make_fuzz_image()
803 fuzz->nextRange(&h, 1, 1024); in make_fuzz_image()
809 fuzz->next(&c); in make_fuzz_image()
818 static T make_fuzz_enum_range(Fuzz* fuzz, T maxv) { in make_fuzz_enum_range() argument
820 fuzz->nextEnum(&value, maxv); in make_fuzz_enum_range()
824 static void fuzz_paint(Fuzz* fuzz, SkPaint* paint, int depth) { in fuzz_paint() argument
825 if (!fuzz || !paint || depth <= 0) { in fuzz_paint()
829 paint->setAntiAlias( make_fuzz_t<bool>(fuzz)); in fuzz_paint()
830 paint->setDither( make_fuzz_t<bool>(fuzz)); in fuzz_paint()
831 paint->setColor( make_fuzz_t<SkColor>(fuzz)); in fuzz_paint()
832 paint->setBlendMode( make_fuzz_enum_range<SkBlendMode>(fuzz, SkBlendMode::kLastMode)); in fuzz_paint()
833 paint->setStyle( make_fuzz_enum_range<SkPaint::Style>(fuzz, in fuzz_paint()
835 paint->setShader( make_fuzz_shader(fuzz, depth - 1)); in fuzz_paint()
836 paint->setPathEffect( make_fuzz_patheffect(fuzz, depth - 1)); in fuzz_paint()
837 paint->setMaskFilter( make_fuzz_maskfilter(fuzz)); in fuzz_paint()
838 paint->setImageFilter( make_fuzz_imageFilter(fuzz, depth - 1)); in fuzz_paint()
839 paint->setColorFilter( make_fuzz_colorfilter(fuzz, depth - 1)); in fuzz_paint()
842 paint->setStrokeWidth(make_fuzz_t<SkScalar>(fuzz)); in fuzz_paint()
843 paint->setStrokeMiter(make_fuzz_t<SkScalar>(fuzz)); in fuzz_paint()
844 paint->setStrokeCap( make_fuzz_enum_range<SkPaint::Cap>(fuzz, SkPaint::kLast_Cap)); in fuzz_paint()
845 paint->setStrokeJoin( make_fuzz_enum_range<SkPaint::Join>(fuzz, SkPaint::kLast_Join)); in fuzz_paint()
849 static SkFont fuzz_font(Fuzz* fuzz) { in fuzz_font() argument
851 font.setTypeface( make_fuzz_typeface(fuzz)); in fuzz_font()
852 font.setSize( make_fuzz_t<SkScalar>(fuzz)); in fuzz_font()
853 font.setScaleX( make_fuzz_t<SkScalar>(fuzz)); in fuzz_font()
854 font.setSkewX( make_fuzz_t<SkScalar>(fuzz)); in fuzz_font()
855 font.setLinearMetrics( make_fuzz_t<bool>(fuzz)); in fuzz_font()
856 font.setSubpixel( make_fuzz_t<bool>(fuzz)); in fuzz_font()
857 font.setEmbeddedBitmaps( make_fuzz_t<bool>(fuzz)); in fuzz_font()
858 font.setForceAutoHinting( make_fuzz_t<bool>(fuzz)); in fuzz_font()
859 font.setEmbolden( make_fuzz_t<bool>(fuzz)); in fuzz_font()
860 font.setHinting( make_fuzz_enum_range<SkFontHinting>(fuzz, SkFontHinting::kFull)); in fuzz_font()
861 font.setEdging( make_fuzz_enum_range<SkFont::Edging>(fuzz, in fuzz_font()
866 static SkTextEncoding fuzz_paint_text_encoding(Fuzz* fuzz) { in fuzz_paint_text_encoding() argument
867 return make_fuzz_enum_range<SkTextEncoding>(fuzz, SkTextEncoding::kUTF32); in fuzz_paint_text_encoding()
872 static SkTDArray<uint8_t> make_fuzz_text(Fuzz* fuzz, const SkFont& font, SkTextEncoding encoding) { in make_fuzz_text() argument
882 fuzz->nextRange(&glyphCount, 1, kMaxGlyphCount); in make_fuzz_text()
885 fuzz->nextRange(&glyphs[i], 0, glyphRange - 1); in make_fuzz_text()
901 fuzz->nextRange(&length, 1, kMaxLength); in make_fuzz_text()
904 fuzz->nextRange(&value, 0, count - 1); in make_fuzz_text()
945 static std::string make_fuzz_string(Fuzz* fuzz) { in make_fuzz_string() argument
947 fuzz->nextRange(&len, 0, kMaxGlyphCount); in make_fuzz_string()
950 fuzz->next(&str[i]); in make_fuzz_string()
955 static sk_sp<SkTextBlob> make_fuzz_textblob(Fuzz* fuzz) { in make_fuzz_textblob() argument
958 fuzz->nextRange(&runCount, (int8_t)1, (int8_t)8); in make_fuzz_textblob()
961 SkTextEncoding encoding = fuzz_paint_text_encoding(fuzz); in make_fuzz_textblob()
962 … font.setEdging(make_fuzz_t<bool>(fuzz) ? SkFont::Edging::kAlias : SkFont::Edging::kAntiAlias); in make_fuzz_textblob()
963 SkTDArray<uint8_t> text = make_fuzz_text(fuzz, font, encoding); in make_fuzz_textblob()
969 fuzz->nextRange(&runType, (uint8_t)0, (uint8_t)2); in make_fuzz_textblob()
974 fuzz->next(&x, &y); in make_fuzz_textblob()
980 fuzz->next(&y); in make_fuzz_textblob()
984 fuzz->nextN(buffer->pos, glyphCount); in make_fuzz_textblob()
990 fuzz->nextN(buffer->pos, glyphCount * 2); in make_fuzz_textblob()
1000 static void fuzz_canvas(Fuzz* fuzz, SkCanvas* canvas, int depth = 9) { in fuzz_canvas() argument
1001 if (!fuzz || !canvas || depth <= 0) { in fuzz_canvas()
1006 fuzz->nextRange(&N, 0, 2000); in fuzz_canvas()
1008 if (fuzz->exhausted()) { in fuzz_canvas()
1014 fuzz->nextRange(&drawCommand, 0, 62); in fuzz_canvas()
1024 fuzz->next(&bounds); in fuzz_canvas()
1025 fuzz_paint(fuzz, &paint, depth - 1); in fuzz_canvas()
1031 fuzz->next(&bounds); in fuzz_canvas()
1036 fuzz_paint(fuzz, &paint, depth - 1); in fuzz_canvas()
1044 fuzz->next(&alpha); in fuzz_canvas()
1051 fuzz->next(&bounds, &alpha); in fuzz_canvas()
1058 if (make_fuzz_t<bool>(fuzz)) { in fuzz_canvas()
1059 fuzz->next(&bounds); in fuzz_canvas()
1062 if (make_fuzz_t<bool>(fuzz)) { in fuzz_canvas()
1063 fuzz_paint(fuzz, &paint, depth - 1); in fuzz_canvas()
1067 if (make_fuzz_t<bool>(fuzz)) { in fuzz_canvas()
1068 imageFilter = make_fuzz_imageFilter(fuzz, depth - 1); in fuzz_canvas()
1084 fuzz->next(&saveCount); in fuzz_canvas()
1090 fuzz->next(&x, &y); in fuzz_canvas()
1096 fuzz->next(&x, &y); in fuzz_canvas()
1102 fuzz->next(&v); in fuzz_canvas()
1108 fuzz->next(&x, &y, &v); in fuzz_canvas()
1114 fuzz->next(&x, &y); in fuzz_canvas()
1120 FuzzNiceMatrix(fuzz, &mat); in fuzz_canvas()
1126 FuzzNiceMatrix(fuzz, &mat); in fuzz_canvas()
1137 fuzz->next(&r, &doAntiAlias); in fuzz_canvas()
1138 fuzz->nextRange(&op, 0, 1); in fuzz_canvas()
1147 FuzzNiceRRect(fuzz, &rr); in fuzz_canvas()
1148 fuzz->next(&doAntiAlias); in fuzz_canvas()
1149 fuzz->nextRange(&op, 0, 1); in fuzz_canvas()
1155 FuzzNicePath(fuzz, &path, 30); in fuzz_canvas()
1158 fuzz->next(&doAntiAlias); in fuzz_canvas()
1159 fuzz->nextRange(&op, 0, 1); in fuzz_canvas()
1166 fuzz->next(&region); in fuzz_canvas()
1167 fuzz->nextRange(&op, 0, 1); in fuzz_canvas()
1172 fuzz_paint(fuzz, &paint, depth - 1); in fuzz_canvas()
1176 fuzz_paint(fuzz, &paint, depth - 1); in fuzz_canvas()
1178 fuzz->nextRange(&pointMode, in fuzz_canvas()
1182 fuzz->nextRange(&count, 0, kMaxCount); in fuzz_canvas()
1184 fuzz->nextN(pts, count); in fuzz_canvas()
1189 fuzz_paint(fuzz, &paint, depth - 1); in fuzz_canvas()
1191 fuzz->next(&r); in fuzz_canvas()
1199 fuzz_paint(fuzz, &paint, depth - 1); in fuzz_canvas()
1201 fuzz->next(&region); in fuzz_canvas()
1206 fuzz_paint(fuzz, &paint, depth - 1); in fuzz_canvas()
1208 fuzz->next(&r); in fuzz_canvas()
1217 fuzz_paint(fuzz, &paint, depth - 1); in fuzz_canvas()
1219 FuzzNiceRRect(fuzz, &rr); in fuzz_canvas()
1224 fuzz_paint(fuzz, &paint, depth - 1); in fuzz_canvas()
1226 FuzzNiceRRect(fuzz, &orr); in fuzz_canvas()
1227 FuzzNiceRRect(fuzz, &irr); in fuzz_canvas()
1234 fuzz_paint(fuzz, &paint, depth - 1); in fuzz_canvas()
1238 fuzz->next(&r, &start, &sweep, &useCenter); in fuzz_canvas()
1243 fuzz_paint(fuzz, &paint, depth - 1); in fuzz_canvas()
1245 FuzzNicePath(fuzz, &path, 60); in fuzz_canvas()
1250 sk_sp<SkImage> img = make_fuzz_image(fuzz); in fuzz_canvas()
1253 fuzz->next(&left, &top, &usePaint); in fuzz_canvas()
1255 fuzz_paint(fuzz, &paint, depth - 1); in fuzz_canvas()
1262 auto img = make_fuzz_image(fuzz); in fuzz_canvas()
1266 fuzz->next(&src, &dst, &usePaint); in fuzz_canvas()
1268 fuzz_paint(fuzz, &paint, depth - 1); in fuzz_canvas()
1271 make_fuzz_t<bool>(fuzz) ? SkCanvas::kStrict_SrcRectConstraint in fuzz_canvas()
1278 auto img = make_fuzz_image(fuzz); in fuzz_canvas()
1282 fuzz->next(&usePaint); in fuzz_canvas()
1284 fuzz_paint(fuzz, &paint, depth - 1); in fuzz_canvas()
1286 if (make_fuzz_t<bool>(fuzz)) { in fuzz_canvas()
1287 fuzz->next(&center); in fuzz_canvas()
1289 fuzz->nextRange(&center.fLeft, 0, img->width() - 1); in fuzz_canvas()
1290 fuzz->nextRange(&center.fTop, 0, img->height() - 1); in fuzz_canvas()
1291 fuzz->nextRange(&center.fRight, center.fLeft + 1, img->width()); in fuzz_canvas()
1292 fuzz->nextRange(&center.fBottom, center.fTop + 1, img->height()); in fuzz_canvas()
1294 fuzz->next(&dst); in fuzz_canvas()
1300 auto img = make_fuzz_image(fuzz); in fuzz_canvas()
1303 fuzz->next(&usePaint, &dst); in fuzz_canvas()
1305 fuzz_paint(fuzz, &paint, depth - 1); in fuzz_canvas()
1310 fuzz->nextRange(&lattice.fXCount, 2, kMax); in fuzz_canvas()
1311 fuzz->nextRange(&lattice.fYCount, 2, kMax); in fuzz_canvas()
1312 fuzz->nextN(xDivs, lattice.fXCount); in fuzz_canvas()
1313 fuzz->nextN(yDivs, lattice.fYCount); in fuzz_canvas()
1319 fuzz_paint(fuzz, &paint, depth - 1); in fuzz_canvas()
1320 font = fuzz_font(fuzz); in fuzz_canvas()
1321 SkTextEncoding encoding = fuzz_paint_text_encoding(fuzz); in fuzz_canvas()
1323 fuzz->next(&x, &y); in fuzz_canvas()
1324 SkTDArray<uint8_t> text = make_fuzz_text(fuzz, font, encoding); in fuzz_canvas()
1350 sk_sp<SkTextBlob> blob = make_fuzz_textblob(fuzz); in fuzz_canvas()
1351 fuzz_paint(fuzz, &paint, depth - 1); in fuzz_canvas()
1353 fuzz->next(&x, &y); in fuzz_canvas()
1360 fuzz->next(&usePaint, &useMatrix); in fuzz_canvas()
1362 fuzz_paint(fuzz, &paint, depth - 1); in fuzz_canvas()
1365 FuzzNiceMatrix(fuzz, &matrix); in fuzz_canvas()
1367 auto pic = make_fuzz_picture(fuzz, depth - 1); in fuzz_canvas()
1373 fuzz_paint(fuzz, &paint, depth - 1); in fuzz_canvas()
1376 fuzz->nextRange(&vertexMode, 0, SkVertices::kTriangleFan_VertexMode); in fuzz_canvas()
1377 fuzz->nextRange(&blendMode, 0, SkBlendMode::kLastMode); in fuzz_canvas()
1383 fuzz->nextRange(&vertexCount, 3, kMaxCount); in fuzz_canvas()
1384 fuzz->nextN(vertices, vertexCount); in fuzz_canvas()
1386 fuzz->next(&useTexs, &useColors); in fuzz_canvas()
1388 fuzz->nextN(texs, vertexCount); in fuzz_canvas()
1391 fuzz->nextN(colors, vertexCount); in fuzz_canvas()
1395 if (make_fuzz_t<bool>(fuzz)) { in fuzz_canvas()
1396 fuzz->nextRange(&indexCount, vertexCount, vertexCount + kMaxCount); in fuzz_canvas()
1398 fuzz->nextRange(&indices[i], 0, vertexCount - 1); in fuzz_canvas()
1411 fuzz->nextRange(&blendMode, 0, SkBlendMode::kSrcOver); in fuzz_canvas()
1412 fuzz->next(&color); in fuzz_canvas()
1420 fuzz->nextRange(&blendMode, 0, SkBlendMode::kSrcOver); in fuzz_canvas()
1421 fuzz->nextRange(&R, -1, 2); in fuzz_canvas()
1422 fuzz->nextRange(&G, -1, 2); in fuzz_canvas()
1423 fuzz->nextRange(&B, -1, 2); in fuzz_canvas()
1424 fuzz->nextRange(&Alpha, 0, 1); in fuzz_canvas()
1430 fuzz_paint(fuzz, &paint, depth - 1); in fuzz_canvas()
1432 fuzz->next(&p0, &p1); in fuzz_canvas()
1437 fuzz_paint(fuzz, &paint, depth - 1); in fuzz_canvas()
1439 fuzz->next(&r); in fuzz_canvas()
1444 fuzz_paint(fuzz, &paint, depth - 1); in fuzz_canvas()
1447 fuzz->next(&radius, &center); in fuzz_canvas()
1452 fuzz_paint(fuzz, &paint, depth - 1); in fuzz_canvas()
1456 fuzz->next(&oval, &startAngle, &sweepAngle, &useCenter); in fuzz_canvas()
1461 fuzz_paint(fuzz, &paint, depth - 1); in fuzz_canvas()
1464 fuzz->next(&rect, &rx, &ry); in fuzz_canvas()
1469 fuzz_paint(fuzz, &paint, depth - 1); in fuzz_canvas()
1470 font = fuzz_font(fuzz); in fuzz_canvas()
1471 std::string str = make_fuzz_string(fuzz); in fuzz_canvas()
1473 fuzz->next(&x, &y); in fuzz_canvas()
1478 fuzz_paint(fuzz, &paint, depth - 1); in fuzz_canvas()
1483 fuzz->nextN(cubics, 12); in fuzz_canvas()
1484 fuzz->nextN(colors, 4); in fuzz_canvas()
1485 fuzz->next(&useTexCoords); in fuzz_canvas()
1487 fuzz->nextN(texCoords, 4); in fuzz_canvas()
1490 fuzz->nextEnum(&mode, SkBlendMode::kLastMode); in fuzz_canvas()
1502 static sk_sp<SkPicture> make_fuzz_picture(Fuzz* fuzz, int depth) { in make_fuzz_picture() argument
1504 fuzz->next(&w, &h); in make_fuzz_picture()
1506 fuzz_canvas(fuzz, pictureRecorder.beginRecording(w, h), depth - 1); in make_fuzz_picture()
1510 DEF_FUZZ(NullCanvas, fuzz) { in DEF_FUZZ() argument
1511 fuzz_canvas(fuzz, SkMakeNullCanvas().get()); in DEF_FUZZ()
1516 DEF_FUZZ(RasterN32Canvas, fuzz) { in DEF_FUZZ() argument
1518 if (!surface || !surface->getCanvas()) { fuzz->signalBug(); } in DEF_FUZZ()
1519 fuzz_canvas(fuzz, surface->getCanvas()); in DEF_FUZZ()
1522 DEF_FUZZ(RasterN32CanvasViaSerialization, fuzz) { in DEF_FUZZ() argument
1524 fuzz_canvas(fuzz, recorder.beginRecording(SkIntToScalar(kCanvasSize.width()), in DEF_FUZZ()
1527 if (!pic) { fuzz->signalBug(); } in DEF_FUZZ()
1529 if (!data) { fuzz->signalBug(); } in DEF_FUZZ()
1532 if (!deserialized) { fuzz->signalBug(); } in DEF_FUZZ()
1538 DEF_FUZZ(ImageFilter, fuzz) { in DEF_FUZZ() argument
1539 auto fil = make_fuzz_imageFilter(fuzz, 20); in DEF_FUZZ()
1552 DEF_FUZZ(SerializedImageFilter, fuzz) { in DEF_FUZZ() argument
1559 auto filter = make_fuzz_imageFilter(fuzz, 20); in DEF_FUZZ()
1570 fuzz->nextRange(&j, 1, 250); in DEF_FUZZ()
1573 fuzz->nextRange(&k, 1, 10); in DEF_FUZZ()
1576 fuzz->nextRange(&s, 0, 2); in DEF_FUZZ()
1590 fuzz->nextRange(&s, 0, 7); in DEF_FUZZ()
1630 static void fuzz_ganesh(Fuzz* fuzz, GrDirectContext* context) { in fuzz_ganesh() argument
1637 fuzz_canvas(fuzz, surface->getCanvas()); in fuzz_ganesh()
1640 DEF_FUZZ(NativeGLCanvas, fuzz) { in DEF_FUZZ() argument
1649 fuzz_ganesh(fuzz, context); in DEF_FUZZ()
1652 DEF_FUZZ(MockGPUCanvas, fuzz) { in DEF_FUZZ() argument
1654 fuzz_ganesh(fuzz, f.get(sk_gpu_test::GrContextFactory::kMock_ContextType)); in DEF_FUZZ()
1658 DEF_FUZZ(PDFCanvas, fuzz) { in DEF_FUZZ() argument
1661 fuzz_canvas(fuzz, doc->beginPage(SkIntToScalar(kCanvasSize.width()), in DEF_FUZZ()
1666 DEF_FUZZ(_DumpCanvas, fuzz) { in DEF_FUZZ() argument
1668 fuzz_canvas(fuzz, &debugCanvas); in DEF_FUZZ()
1681 DEF_FUZZ(SVGCanvas, fuzz) { in DEF_FUZZ() argument
1685 fuzz_canvas(fuzz, canvas.get()); in DEF_FUZZ()