Lines Matching refs:fuzz
19 #include "fuzz/Fuzz.h"
24 * The fuzzer aims to fuzz the use of SkDeferredDisplayList. It mainly consists of
39 static SkSurfaceProps gen_fuzzed_surface_props(Fuzz* fuzz) {
41 fuzz->nextEnum(&pixel, kBGR_V_SkPixelGeometry);
45 static SkPaint gen_fuzzed_skpaint(Fuzz* fuzz) {
47 fuzz->nextRange(&R, -1, 2);
48 fuzz->nextRange(&G, -1, 2);
49 fuzz->nextRange(&B, -1, 2);
50 fuzz->nextRange(&Alpha, 0, 1);
55 static SkImageInfo gen_fuzzed_imageinfo(Fuzz* fuzz, SkColorType surfaceType) {
57 fuzz->nextRange(&width, 1, kMaxWidth);
58 fuzz->nextRange(&height, 1, kMaxHeight);
60 fuzz->nextEnum(&alphaType, SkAlphaType::kLastEnum_SkAlphaType);
63 fuzz->nextRange(&skcms, 0, 5);
94 fuzz->nextRange(&skcms, 0, 4);
124 static SkSurfaceCharacterization make_characterization(Fuzz* fuzz, GrDirectContext* dContext,
142 fuzz->nextEnum(&protect, GrProtected::kYes);
148 origin, gen_fuzzed_surface_props(fuzz), true,
158 static sk_sp<SkDeferredDisplayList> make_ddl(Fuzz* fuzz, GrDirectContext* dContext,
168 fuzz->next(&tile);
169 canvas->drawRect(tile, gen_fuzzed_skpaint(fuzz));
173 static sk_sp<SkSurface> make_surface(Fuzz* fuzz, GrDirectContext* dContext, const SkImageInfo& ii,
176 fuzz->nextEnum(&budgeted, SkBudgeted::kYes);
177 SkSurfaceProps surfaceProps = gen_fuzzed_surface_props(fuzz);
188 static SurfaceAndChar create_surface_and_characterization(Fuzz* fuzz, GrDirectContext* dContext,
191 SkImageInfo ii = gen_fuzzed_imageinfo(fuzz, surfaceType);
192 SkSurfaceCharacterization c = make_characterization(fuzz, dContext, ii, surfaceType, origin);
197 auto surface = make_surface(fuzz, dContext, ii, origin);
204 DEF_FUZZ(CreateDDL, fuzz) {
207 fuzz->nextEnum(&surfaceType, SkColorType::kLastEnum_SkColorType);
208 fuzz->nextEnum(&origin, GrSurfaceOrigin::kTopLeft_GrSurfaceOrigin);
219 auto[surface, c] = create_surface_and_characterization(fuzz, dContext, surfaceType, origin);
224 sk_sp<SkDeferredDisplayList> ddl = make_ddl(fuzz, dContext, c);