skia2/include/effects
Brian Osman adadb95a9f 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>
2021-05-04 01:29:57 +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 Better first-class shader & color filter support in runtime effects 2021-05-04 01:29:57 +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