skia2/fuzz
Zepeng Hu 940070122a add create ddl fuzzer
This is an attempt to fuzz the usage of SkSurfaceCharacterization,
SkDeferredDisplayRecorder, and SkDeferredDisplayList.

This fuzzer first makes a surface and characterization from
GrDirectContext and then create a DDL and draw it on the surface.

The code is compiled with ninja and run with AFL at the speed around
600/sec

The future changes will include:
1. An alternative way to create DDL: first create the surface and
extract the characterization from that existing surface.

2.currently we just pass the ownership of the DDL into draw_ddl. In
the future we should add a version that retains ownership of the DDL
in order to fuzz the lifetime of the DDL.

3. Refactorize line 62-119

Change-Id: I9cd9736813be3abc82430bd4eeb559d6993ecbd4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303600
Commit-Queue: Zepeng Hu <zepenghu@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-07-22 20:10:51 +00:00
..
oss_fuzz add create ddl fuzzer 2020-07-22 20:10:51 +00:00
coverage remove SkColorSpace::MakeICC() fuzzer 2018-05-23 16:31:11 +00:00
Fuzz.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
Fuzz.h don't create out of range enums 2019-12-12 16:04:45 +00:00
FuzzCanvas.cpp Update final set of tools to take GrDirectContext 2020-07-06 12:48:03 +00:00
FuzzCommon.cpp Revert "Revert "move onto new factories for SkMatrix"" 2020-05-21 16:58:39 +00:00
FuzzCommon.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
FuzzCreateDDL.cpp add create ddl fuzzer 2020-07-22 20:10:51 +00:00
FuzzDrawFunctions.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
FuzzEncoders.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
FuzzGradients.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
FuzzMain.cpp add create ddl fuzzer 2020-07-22 20:10:51 +00:00
FuzzParsePath.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
FuzzPathMeasure.cpp Remove SkTMin and SkTMax 2020-02-07 18:40:09 +00:00
FuzzPathop.cpp Revert "Revert "switch to new filltype for SkPath"" 2019-11-26 17:43:14 +00:00
FuzzPolyUtils.cpp Move SkImageFilter functionality into private SkImageFilter_Base 2019-08-02 18:56:39 +00:00
FuzzRegionOp.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
FuzzSkDescriptor.cpp Only checksum and query a valid descriptor 2019-12-18 20:16:51 +00:00