skia2/include/effects
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
..
Sk1DPathEffect.h Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
Sk2DPathEffect.h Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
SkBlurDrawLooper.h Hide (unused) SkDrawLooper 2021-02-07 12:49:53 +00:00
SkBlurMaskFilter.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkColorMatrix.h SkColorMatrix cleanup 2019-11-04 15:20:15 +00:00
SkColorMatrixFilter.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkCornerPathEffect.h Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
SkDashPathEffect.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkDiscretePathEffect.h Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
SkGradientShader.h Add fiddle example for MakeLinear 2020-03-18 17:53:11 +00:00
SkHighContrastFilter.h clean up SK_SUPPORT_LEGACY_RUNTIME_EFFECTS 2021-02-13 22:01:14 +00:00
SkImageFilters.h Remove dead matrixfilter factory 2021-03-21 15:23:38 +00:00
SkLayerDrawLooper.h Reenable Wdeprecated-copy-dtor 2021-02-16 17:53:28 +00:00
SkLumaColorFilter.h clean up SK_SUPPORT_LEGACY_RUNTIME_EFFECTS 2021-02-13 22:01:14 +00:00
SkOpPathEffect.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkOverdrawColorFilter.h change Overdraw colorfilter to be pure sksl 2020-04-16 19:15:01 +00:00
SkPerlinNoiseShader.h Remove Improved Perlin Noise 2021-01-11 15:27:26 +00:00
SkRuntimeEffect.h Reland "Better first-class shader & color filter support in runtime effects" 2021-05-05 22:06:46 +00:00
SkShaderMaskFilter.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkStrokeAndFillPathEffect.h add new patheffect for stroke-and-fill 2020-05-20 15:01:26 +00:00
SkTableColorFilter.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkTableMaskFilter.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkTrimPathEffect.h [SkTrimPathEffect] Preserve wrap-around continuity 2020-04-07 14:40:17 +00:00