skia2/fuzz/oss_fuzz
Brian Osman c9125aa8f3 Reland "Better first-class shader & color filter support in runtime effects"
This is a reland of adadb95a9f
... adds a temporary workaround for some Android framework code.

Original change's description:
> Better first-class shader & color filter support in runtime effects
>
> This does a few things, because they're all intertwined:
>
> 1) SkRuntimeEffect's API now includes details about children (which Skia
>    stage was declared, not just the name). The factories verify that the
>    declared types in the SkSL match up with the C++ types being passed.
>    Today, we still only support adding children of the same type, so the
>    checks are simple. Once we allow mixing types, we'll be testing the
>    declared type against the actual C++ type supplied for each slot.
> 2) Adds sample variants that supply the input color to the child. This
>    is now the only way to invoke a colorFilter child. Internally, we
>    support passing a color when invoking a child shader, but I'm not
>    exposing that. It's not clearly part of the semantics of the Skia
>    pipeline, and is almost never useful. It also exposes users to
>    several inconsistencies (skbug.com/11942).
> 3) Because of #2, it's possible that we can't compute a reusable program
>    to filter individual colors. In that case, we don't set the constant
>    output for constant input optimization, and filterColor4f falls back
>    to the slower base-class implementation.
>
> Bug: skia:11813 skia:11942
> Change-Id: I06c41e1b35056e486f3163a72acf6b9535d7fed4
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/401917
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: Mike Klein <mtklein@google.com>

Bug: skia:11813 skia:11942
Change-Id: I2c31b147ed86fa8c4dddefb7066bc1d07fe0d285
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/404637
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-05-05 22:06:46 +00:00
..
FuzzAndroidCodec.cpp drawBitmap is deprecated 2021-01-24 17:39:15 +00:00
FuzzAnimatedImage.cpp [fuzz] Standardize, document, and backport fuzzing defines. 2020-09-14 13:36:10 +00:00
FuzzAPICreateDDL.cpp add create ddl fuzzer 2020-07-22 20:10:51 +00:00
FuzzAPIImageFilter.cpp replace max_len with if statements 2020-06-16 17:26:30 +00:00
FuzzAPISVGCanvas.cpp Use test font manager for SVG fuzzer 2020-07-08 19:30:00 +00:00
FuzzDDLThreading.cpp Activate FuzzDDLThreading 2021-02-25 21:26:07 +00:00
FuzzDrawFunctions.cpp replace max_len with if statements 2020-06-16 17:26:30 +00:00
FuzzGradients.cpp replace max_len with if statements 2020-06-16 17:26:30 +00:00
FuzzImage.cpp More hiding of legacy drawImage calls 2021-01-22 13:53:42 +00:00
FuzzImageFilterDeserialize.cpp drawBitmap is deprecated 2021-01-24 17:39:15 +00:00
FuzzIncrementalImage.cpp [fuzz] Make libfuzzer defines backwards compatible for roll 2020-09-14 17:43:00 +00:00
FuzzJPEGEncoder.cpp replace max_len with if statements 2020-06-16 17:26:30 +00:00
FuzzJSON.cpp [fuzz] Make libfuzzer defines backwards compatible for roll 2020-09-14 17:43:00 +00:00
FuzzMockGPUCanvas.cpp replace max_len with if statements 2020-06-16 17:26:30 +00:00
FuzzNullCanvas.cpp replace max_len with if statements 2020-06-16 17:26:30 +00:00
FuzzPathDeserialize.cpp [fuzz] Make libfuzzer defines backwards compatible for roll 2020-09-14 17:43:00 +00:00
FuzzPathMeasure.cpp replace max_len with if statements 2020-06-16 17:26:30 +00:00
FuzzPathop.cpp replace max_len with if statements 2020-06-16 17:26:30 +00:00
FuzzPNGEncoder.cpp replace max_len with if statements 2020-06-16 17:26:30 +00:00
FuzzPolyUtils.cpp replace max_len with if statements 2020-06-16 17:26:30 +00:00
FuzzRasterN32Canvas.cpp replace max_len with if statements 2020-06-16 17:26:30 +00:00
FuzzRegionDeserialize.cpp [fuzz] Make libfuzzer defines backwards compatible for roll 2020-09-14 17:43:00 +00:00
FuzzRegionOp.cpp [fuzz] Expose Region Op fuzzing to oss-fuzz. 2021-03-29 16:05:05 +00:00
FuzzRegionSetPath.cpp [fuzz] Make libfuzzer defines backwards compatible for roll 2020-09-14 17:43:00 +00:00
FuzzSkDescriptorDeserialize.cpp [fuzz] Standardize, document, and backport fuzzing defines. 2020-09-14 13:36:10 +00:00
FuzzSKP.cpp [fuzz] Standardize, document, and backport fuzzing defines. 2020-09-14 13:36:10 +00:00
FuzzSkParagraph.cpp [fuzzing] Add SkParagraph to oss-fuzz. 2021-02-04 19:34:48 +00:00
FuzzSkRuntimeEffect.cpp Switch runtime effect fuzzer to use MakeForShader 2021-04-26 15:40:58 +00:00
FuzzSKSL2GLSL.cpp Move ProgramKind and ProgramSettings types out of SkSL::Program. 2021-02-16 19:30:48 +00:00
FuzzSKSL2Metal.cpp Move ProgramKind and ProgramSettings types out of SkSL::Program. 2021-02-16 19:30:48 +00:00
FuzzSKSL2Pipeline.cpp Reland "Better first-class shader & color filter support in runtime effects" 2021-05-05 22:06:46 +00:00
FuzzSKSL2SPIRV.cpp Move ProgramKind and ProgramSettings types out of SkSL::Program. 2021-02-16 19:30:48 +00:00
FuzzSVG.cpp Reland "[svg] Relocate out of experimental" 2020-10-16 02:32:41 +00:00
FuzzTextBlobDeserialize.cpp [fuzz] Make libfuzzer defines backwards compatible for roll 2020-09-14 17:43:00 +00:00
FuzzTriangulation.cpp Add fuzzer for Triangulating Path Renderer 2021-04-22 15:35:29 +00:00
FuzzWEBPEncoder.cpp replace max_len with if statements 2020-06-16 17:26:30 +00:00