aboutsummaryrefslogtreecommitdiffhomepage
path: root/fuzz/FuzzCanvas.cpp
Commit message (Collapse)AuthorAge
* Fix invalid switch in FuzzCanvasGravatar Kevin Lubick2018-01-11
| | | | | | | | | | | Also tweak when we report OOM - AFL-fuzz is fine, but libfuzzer should abort, not exit. Bug: skia: Change-Id: Ic19277bbceec5e7c0ac966d6d9ac677bcfebcfae Reviewed-on: https://skia-review.googlesource.com/93201 Commit-Queue: Kevin Lubick <kjlubick@google.com> Reviewed-by: Hal Canary <halcanary@google.com>
* Add in Region SetPath FuzzerGravatar Kevin Lubick2018-01-11
| | | | | | | | | | Also refactor a few things to make it easier to use oss-fuzz. Bug: skia: Change-Id: Ie518a6cfc7d57a347b5d09089379f986d33f8b7f Reviewed-on: https://skia-review.googlesource.com/41740 Commit-Queue: Kevin Lubick <kjlubick@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* Refactor SerializedImageFilter to avoid duplicate codeGravatar Kevin Lubick2018-01-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After this CL, we have 3.5 options for fuzzing ImageFilter 1. Create it from API calls and then draw it fuzz -t api -n ImageFilter -b [input] 2. Deserialize a fuzzed stream into an ImageFilter (this is what Chromium's filter_fuzz_stub does) fuzz -t filter_fuzz -b [input] 3. Create an ImageFilter from API calls, serialize it, apply some mutations to the stream, deserialize it, then draw it. fuzz -t api -n SerializedImageFilter -b [input] 3.5 Create ImageFilters as part of our more general canvas fuzzers. fuzz -t api -n RasterN32Canvas -b [input] (and others) Previously, the SerializedImageFilter had its own, slightly stale and prone to stack-overflow way of making an image filter. This CL re-uses what we already do for Canvas fuzzing and removes that dead code. Additionally, there is a way to easily generate a corpus for the filter_fuzz type, via SerializedImageFilter. Bug: skia: Change-Id: I31bb4ffce2abf1c1a6d0a7000e5aceb8d7b38b65 Reviewed-on: https://skia-review.googlesource.com/92142 Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Kevin Lubick <kjlubick@google.com>
* Fuzz: GrContextFactory needs to stay in scopeGravatar Hal Canary2018-01-08
| | | | | | | | Change-Id: I5d6bd4fae2e98e5286eefd9399292dfb926f85df Reviewed-on: https://skia-review.googlesource.com/91701 Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* fuzz/FuzzCanvas: range in inclucive, not half-openGravatar Hal Canary2017-12-20
| | | | | | | | | BUG=skia:7427 Change-Id: Id38e7ed42021a9a4a0c406668d8909e7f47d5ba8 Reviewed-on: https://skia-review.googlesource.com/87765 Reviewed-by: Kevin Lubick <kjlubick@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Implement a fast path for solid color lattice rectangleGravatar Stan Iliev2017-12-11
| | | | | | | | | | | | Add a flag that hints, which lattice rectangles are solid colors. Draw solid rectangles and 1x1 rectangles with drawRect. Test: Measured performance of a ninepatch drawn by HWUI Bug: b/69796044 Change-Id: Ib3b00ca608da42fa9f2d2038cc126a978421ec7c Reviewed-on: https://skia-review.googlesource.com/79821 Commit-Queue: Stan Iliev <stani@google.com> Reviewed-by: Derek Sollenberger <djsollen@google.com>
* upgrade SkReadBuffer to always validateGravatar Mike Reed2017-12-06
| | | | | | | | Bug: skia: Change-Id: I054560b66c6cde346d939015326d8547879d2c4b Reviewed-on: https://skia-review.googlesource.com/81160 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Fuzz: RasterN32CanvasViaSerialization,Gravatar Hal Canary2017-12-01
| | | | | | | Change-Id: I0ea4f96263aec4b272ead5f541ee304942499f68 Reviewed-on: https://skia-review.googlesource.com/79161 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Hal Canary <halcanary@google.com>
* Revert "Revert "Remove MakeForLocalSpace since picture image is sufficient""Gravatar Mike Reed2017-11-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit fc45998242b6e95ff610fd2c4edcf72c10e536ab. Reason for revert: google3 updated (I think) Original change's description: > Revert "Remove MakeForLocalSpace since picture image is sufficient" > > This reverts commit 0d8766c84c80537f323947089cc196c3cca106f4. > > Reason for revert: broke google3 > > Original change's description: > > Remove MakeForLocalSpace since picture image is sufficient > > > > Bug: skia: > > Change-Id: If38e702c418e93141311490edf447d1f09ed4434 > > Reviewed-on: https://skia-review.googlesource.com/68640 > > Commit-Queue: Mike Reed <reed@google.com> > > Reviewed-by: Florin Malita <fmalita@chromium.org> > > TBR=robertphillips@google.com,fmalita@chromium.org,reed@google.com > > Change-Id: I3dec3d2c704e02b4db5977c27cc3e6d9f1c68ed5 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia: > Reviewed-on: https://skia-review.googlesource.com/69500 > Reviewed-by: Mike Reed <reed@google.com> > Commit-Queue: Mike Reed <reed@google.com> TBR=robertphillips@google.com,fmalita@chromium.org,reed@google.com Change-Id: I5751fa637d280f361dea0f248a43c1f7e9bd8bdc No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/69661 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert "Remove MakeForLocalSpace since picture image is sufficient"Gravatar Mike Reed2017-11-09
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 0d8766c84c80537f323947089cc196c3cca106f4. Reason for revert: broke google3 Original change's description: > Remove MakeForLocalSpace since picture image is sufficient > > Bug: skia: > Change-Id: If38e702c418e93141311490edf447d1f09ed4434 > Reviewed-on: https://skia-review.googlesource.com/68640 > Commit-Queue: Mike Reed <reed@google.com> > Reviewed-by: Florin Malita <fmalita@chromium.org> TBR=robertphillips@google.com,fmalita@chromium.org,reed@google.com Change-Id: I3dec3d2c704e02b4db5977c27cc3e6d9f1c68ed5 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/69500 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Remove MakeForLocalSpace since picture image is sufficientGravatar Mike Reed2017-11-09
| | | | | | | | Bug: skia: Change-Id: If38e702c418e93141311490edf447d1f09ed4434 Reviewed-on: https://skia-review.googlesource.com/68640 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org>
* Fuzz: use SkNullWStreamGravatar Hal Canary2017-08-29
| | | | | | | Change-Id: I2ed989b10671f4acf9aa3e25c5bcb709630cb9e9 Reviewed-on: https://skia-review.googlesource.com/38961 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Ben Wagner <bungeman@google.com>
* remove (unused?) arcto patheffectGravatar Mike Reed2017-07-24
| | | | | | | | Bug: skia: Change-Id: I80943cc495eb1edce839387f4b9512a66a4e5c11 Reviewed-on: https://skia-review.googlesource.com/25981 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Mike Reed <reed@google.com>
* remove unused SkPoint3 from SkColor.hGravatar Mike Reed2017-07-22
| | | | | | | | Bug: skia: Change-Id: Iba327a5604dc11525c4d8d0a535a7c417a1b8185 Reviewed-on: https://skia-review.googlesource.com/25961 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Remove SkImageFilter::MakeBlur entry pointGravatar Robert Phillips2017-06-27
| | | | | | | | | AFAICT none of our clients use this entry point and it is tangling up efforts to add a new parameter to the BlurImageFilter. Change-Id: I494634db98a1d246854a5e3735380fbe55f425c2 Reviewed-on: https://skia-review.googlesource.com/20837 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* remove unused mode parameter from SkMergeImageFilterGravatar Mike Reed2017-06-19
| | | | | | | | Bug: skia: Change-Id: Iaa46aaef130a337987c3528685f59c56387d4a7d Reviewed-on: https://skia-review.googlesource.com/20210 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Revert "Revert "Delete SkGaussianEdgeShader""Gravatar Florin Malita2017-05-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 9d14f936cc09de2a37c05c7af2cf60aa31f74722. Reason for revert: Android fix merged. Original change's description: > Revert "Delete SkGaussianEdgeShader" > > This reverts commit 64790a3714467300848971aa153aca8cea91cf7b. > > Reason for revert: pending Android fix merge. > > Original change's description: > > Delete SkGaussianEdgeShader > > > > No longer used. > > > > Change-Id: I65a61696060ca19f528066ea587e140798450e36 > > Reviewed-on: https://skia-review.googlesource.com/18132 > > Reviewed-by: Jim Van Verth <jvanverth@google.com> > > Commit-Queue: Florin Malita <fmalita@chromium.org> > > > > TBR=jvanverth@google.com,fmalita@chromium.org,reed@google.com > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > > Change-Id: I88a428e942c78b1fc8e70501ba7fdda5727b2ab2 > Reviewed-on: https://skia-review.googlesource.com/18156 > Reviewed-by: Florin Malita <fmalita@chromium.org> > Commit-Queue: Florin Malita <fmalita@chromium.org> > TBR=mtklein@google.com,jvanverth@google.com,reviews@skia.org,fmalita@chromium.org,reed@google.com No-Presubmit: true No-Tree-Checks: true No-Try: true Change-Id: Ia6c97a79a6425a28fab49984691505bf89ac9736 Reviewed-on: https://skia-review.googlesource.com/18227 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Revert "Delete SkGaussianEdgeShader"Gravatar Florin Malita2017-05-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 64790a3714467300848971aa153aca8cea91cf7b. Reason for revert: pending Android fix merge. Original change's description: > Delete SkGaussianEdgeShader > > No longer used. > > Change-Id: I65a61696060ca19f528066ea587e140798450e36 > Reviewed-on: https://skia-review.googlesource.com/18132 > Reviewed-by: Jim Van Verth <jvanverth@google.com> > Commit-Queue: Florin Malita <fmalita@chromium.org> > TBR=jvanverth@google.com,fmalita@chromium.org,reed@google.com No-Presubmit: true No-Tree-Checks: true No-Try: true Change-Id: I88a428e942c78b1fc8e70501ba7fdda5727b2ab2 Reviewed-on: https://skia-review.googlesource.com/18156 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Delete SkGaussianEdgeShaderGravatar Florin Malita2017-05-30
| | | | | | | | | No longer used. Change-Id: I65a61696060ca19f528066ea587e140798450e36 Reviewed-on: https://skia-review.googlesource.com/18132 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* move files out of private, and fix up callers to IWYUGravatar Mike Reed2017-05-16
| | | | | | | | | | Realized that a pending CL needed to add (yet another) private type to SkRecords.h, but w/o this CL I'd be forced to move that header also into private. This change frees us up to not have transitive exposure for types that need to be recorded. Bug: skia: Change-Id: Id79f1c2e44ba85e063c1360cf96c92de6397ca2b Reviewed-on: https://skia-review.googlesource.com/17031 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* hide lockpixels api behind flagGravatar Mike Reed2017-04-17
| | | | | | | | | | | | | | guarded by SK_SUPPORT_OBSOLETE_LOCKPIXELS needs https://codereview.chromium.org/2820873002/# to land first Bug: skia:6481 Change-Id: I1c39902cbf6fe99f622adfa8192733b95f7fea09 Change-Id: I1c39902cbf6fe99f622adfa8192733b95f7fea09 Reviewed-on: https://skia-review.googlesource.com/13580 Reviewed-by: Florin Malita <fmalita@chromium.org> Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Mike Reed <reed@google.com>
* move vertex-mode enum into SkVerticesGravatar Mike Reed2017-04-03
| | | | | | | | | BUG=skia:6366 Change-Id: I3c0bf96cce6d32c9b8d12d16a772aaa6f18981aa Reviewed-on: https://skia-review.googlesource.com/11062 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* FuzzCanvas: NullGL & DebugGLGravatar Hal Canary2017-03-21
| | | | | | | | Change-Id: I369750c5614ee3b632ff33c82e04125e7c2dfefd Reviewed-on: https://skia-review.googlesource.com/9942 Reviewed-by: Kevin Lubick <kjlubick@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Remove gpu configs that don't have explicit API.Gravatar Brian Salomon2017-03-20
| | | | | | | | | DOCS_PREVIEW= https://skia.org/?cl=9871 Change-Id: I510473cf91d8bee38d1e33424b1ae7b30dc86968 Reviewed-on: https://skia-review.googlesource.com/9871 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* remove unused VerticesFlagsGravatar Mike Reed2017-03-16
| | | | | | | | | | | | Deferring removing the flags parameter from the virtuals until a later CL (as it collides with another related CL) BUG=skia:6366 Change-Id: I817fae3df03ecebe5ec3532f691ed06deab890e6 Reviewed-on: https://skia-review.googlesource.com/9739 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Mike Reed <reed@google.com>
* FuzzCanvas: only valid ChannelSelectorsGravatar Hal Canary2017-03-16
| | | | | | | | BUG=skia:6374 Change-Id: Idf925dbe32298672d7e5debb7e95499269d93706 Reviewed-on: https://skia-review.googlesource.com/9781 Commit-Queue: Kevin Lubick <kjlubick@google.com> Reviewed-by: Kevin Lubick <kjlubick@google.com>
* FuzzCanvas: make fuzzing drawImgNine easierGravatar Hal Canary2017-03-15
| | | | | | | Change-Id: I82c8723d0b9192008b323f65232054d9acafddcc Reviewed-on: https://skia-review.googlesource.com/9724 Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* FuzzCanvas: NativeGLCanvasGravatar Hal Canary2017-03-15
| | | | | | | Change-Id: I7e032d19a5d464e0c46e76acac399786dd79b735 Reviewed-on: https://skia-review.googlesource.com/9721 Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Fix uninitialized values in FuzzCanvasGravatar Kevin Lubick2017-03-14
| | | | | | | | | BUG=skia: Change-Id: I45cb8a2d0695ec9a065ea9dd216e5d0220ad5a98 Reviewed-on: https://skia-review.googlesource.com/9690 Commit-Queue: Kevin Lubick <kjlubick@google.com> Reviewed-by: Kevin Lubick <kjlubick@google.com>
* add SkVertices::BuilderGravatar Mike Reed2017-03-14
| | | | | | | | | | | | | | | | | | Possible next iterations: - remove another allocation use the SkData trick to share the object and its (trailing) data - store a bit that tells use to free each pointer, allowing the builder to "adopt" some allocations instead of copy. Larger idea: - merge with drawPoints to have a single object for both. BUG=skia:6366 Change-Id: Iec33239aa2ad5d00b36469ca0b88934ddf6f22eb Reviewed-on: https://skia-review.googlesource.com/9604 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Mike Reed <reed@google.com>
* FuzzCanvas: rename functions, cleanupGravatar Hal Canary2017-03-13
| | | | | | | Change-Id: I52c2da967f7a690d262d05e8f6a6c0242391d55a Reviewed-on: https://skia-review.googlesource.com/9537 Commit-Queue: Hal Canary <halcanary@google.com> Reviewed-by: Kevin Lubick <kjlubick@google.com>
* FuzzCanvas: fuzz_enum_range templateGravatar Hal Canary2017-03-10
| | | | | | | Change-Id: Ida7c9f88066fb929d9ccf2f664091b194d22d848 Reviewed-on: https://skia-review.googlesource.com/9527 Commit-Queue: Hal Canary <halcanary@google.com> Reviewed-by: Kevin Lubick <kjlubick@google.com>
* FuzzCanvas: SkVerticesGravatar Hal Canary2017-03-10
| | | | | | | | Change-Id: Ib068ffa634759bca5e214082d43a8471c8839f82 Reviewed-on: https://skia-review.googlesource.com/9493 Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Kevin Lubick <kjlubick@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* FuzzCanvas: ImageFilterGravatar Hal Canary2017-03-09
| | | | | | | Change-Id: I9446bd81fda82e398f08ed162dcd55253b597096 Reviewed-on: https://skia-review.googlesource.com/9491 Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* FuzzCanvas: TextBlob RSXform SkMaskFilter SkPathEffectGravatar Hal Canary2017-03-09
| | | | | | | Change-Id: I41221c74e9f0b23d4fa70dca419f1451967df9fb Reviewed-on: https://skia-review.googlesource.com/9413 Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* formatting change: FuzzCanvas.cppGravatar Hal Canary2017-03-08
| | | | | | | Change-Id: I55345c193e6a15f650a992053d00bc42ef6a8854 Reviewed-on: https://skia-review.googlesource.com/9412 Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* FuzzCanvas: SkColorFilterGravatar Hal Canary2017-03-07
| | | | | | | | | | | * Also fix SkRRect generation to only make valid RRs.a * drawDRRect only draws if outer contains inner. * Also fix SkComposeColorFilter::toString Change-Id: Ia75da2813555b7714663929d0ec288ae2a86d9f1 Reviewed-on: https://skia-review.googlesource.com/9399 Commit-Queue: Hal Canary <halcanary@google.com> Reviewed-by: Kevin Lubick <kjlubick@google.com>
* Fuzz Canvas: Remember that nextRange is inclusive.Gravatar Hal Canary2017-03-07
| | | | | | | | BUG=skia:6336 Change-Id: I5ca005f8bf821d5a6f153c3df80d4c7309519cba Reviewed-on: https://skia-review.googlesource.com/9395 Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* FuzzCanvas: fix BUG=skia:6321Gravatar Hal Canary2017-03-06
| | | | | | | Change-Id: I979b85cbe1eadca667d5d622bbbe24749da7b770 Reviewed-on: https://skia-review.googlesource.com/9289 Commit-Queue: Hal Canary <halcanary@google.com> Reviewed-by: Kevin Lubick <kjlubick@google.com>
* FuzzCanvas: fix drawVertices BUG=skia:6314Gravatar Hal Canary2017-03-02
| | | | | | | Change-Id: I5f55a0fc03d4fe780b35529df9eeb385639501f2 Reviewed-on: https://skia-review.googlesource.com/9173 Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* FuzzCanvas: fix text generation BUG=skia:6299Gravatar Hal Canary2017-03-01
| | | | | | | Change-Id: Ia87aee1e21bb3429d9f0bab0943190b48e0d76f2 Reviewed-on: https://skia-review.googlesource.com/9122 Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Define canvas fuzzers like the other API fuzzersGravatar Kevin Lubick2017-03-01
| | | | | | | | | | | | | | | | | Invoke these like: out/Clang/fuzz -n RasterN32Canvas -b [fuzz] out/Clang/fuzz -n NullCanvas -b [fuzz] out/Clang/fuzz -n PDFCanvas -b [fuzz] For debugging: out/Clang/fuzz -n _DumpCanvas -b [fuzz] BUG=skia: Change-Id: I19bd215df09ad2e4ceb7ab16ac6b232fb3f905ed Reviewed-on: https://skia-review.googlesource.com/9097 Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Kevin Lubick <kjlubick@google.com>
* Fix stack-overflow in FuzzCanvasGravatar Kevin Lubick2017-02-27
| | | | | | | | | BUG=skia: Change-Id: Id42dfff7a59218a8158bf93320a64547f98a401b Reviewed-on: https://skia-review.googlesource.com/9026 Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* FuzzCanvas: impl SkPictureShader, SkTypeface, other TextEncodingsGravatar Hal Canary2017-02-27
| | | | | | | Change-Id: Ie27fbaf6ba9c85f7ec54e8d8251f62a0e193458e Reviewed-on: https://skia-review.googlesource.com/8996 Commit-Queue: Hal Canary <halcanary@google.com> Reviewed-by: Kevin Lubick <kjlubick@google.com>
* Fuzz PDF, N32, and Null CanvasesGravatar Hal Canary2017-02-27
run `fuzz --type pdf_canvas` or `fuzz --type null_canvas` or `fuzz --type n32_canvas` Change-Id: Id70179d5578ed1e67006aef7823bf75fc1d7a4a6 Reviewed-on: https://skia-review.googlesource.com/8418 Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Hal Canary <halcanary@google.com>