From d2ae8dcce3a945567df408507a488fd29a539e3c Mon Sep 17 00:00:00 2001 From: Kevin Lubick Date: Fri, 1 Jun 2018 13:16:20 -0400 Subject: Add option for fuzzer to toggle DAA Of note, this is a breaking change to the fuzzed format for any canvas fuzzers. I've updated the seed corpora to match but any repro cases predating this will need to have the a single byte added to the front of the test case: echo -n -e '\x00' | cat - file > outputfile Bug: 847386 Change-Id: I10b3b228e9c121340857fb8e7807464e54e9238a Reviewed-on: https://skia-review.googlesource.com/131522 Auto-Submit: Kevin Lubick Reviewed-by: Yuqian Li --- fuzz/FuzzCanvas.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'fuzz') diff --git a/fuzz/FuzzCanvas.cpp b/fuzz/FuzzCanvas.cpp index b843804460..8e84e88b3c 100644 --- a/fuzz/FuzzCanvas.cpp +++ b/fuzz/FuzzCanvas.cpp @@ -1077,11 +1077,20 @@ static sk_sp make_fuzz_textblob(Fuzz* fuzz) { return textBlobBuilder.make(); } +extern std::atomic gSkUseDeltaAA; +extern std::atomic gSkForceDeltaAA; + static void fuzz_canvas(Fuzz* fuzz, SkCanvas* canvas, int depth = 9) { if (!fuzz || !canvas || depth <= 0) { return; } SkAutoCanvasRestore autoCanvasRestore(canvas, false); + bool useDAA; + fuzz->next(&useDAA); + if (useDAA) { + gSkForceDeltaAA = true; + gSkUseDeltaAA = true; + } unsigned N; fuzz->nextRange(&N, 0, 2000); for (unsigned i = 0; i < N; ++i) { -- cgit v1.2.3