skia2/tools/viewer
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
..
AnimTimer.h tools: separate TimeUtils from AnimTimer 2019-07-12 15:05:01 +00:00
BisectSlide.cpp [svg] Allow clients to pass a custom SkFontMgr 2020-11-11 01:51:44 +00:00
BisectSlide.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
GMSlide.cpp Add a convenience to downcast contexts into GrDirectContext 2020-07-07 18:13:50 +00:00
GMSlide.h Adjust how GM::gpuSetup is handled in the tools 2020-06-26 15:37:30 +00:00
ImageSlide.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
ImageSlide.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
ImGuiLayer.cpp Add support for retina displays to sk_app. 2021-01-29 17:33:48 +00:00
ImGuiLayer.h Add support for retina displays to sk_app. 2021-01-29 17:33:48 +00:00
MSKPSlide.cpp Choose background color and whether to draw mskp bounds in viewer 2021-04-30 19:33:49 +00:00
MSKPSlide.h Choose background color and whether to draw mskp bounds in viewer 2021-04-30 19:33:49 +00:00
ParticlesSlide.cpp Move code generators to codegen/ directory. 2021-04-13 15:34:24 +00:00
ParticlesSlide.h Particles: Remove play-position thing, simplify mouse tracking 2019-12-05 20:07:13 +00:00
SampleSlide.cpp tools/skui: put all enums in a common namespace 2019-08-29 15:39:32 +00:00
SampleSlide.h tools/skui: put all enums in a common namespace 2019-08-29 15:39:32 +00:00
SkottieSlide.cpp Simplify common case for recttorect 2021-01-15 18:37:46 +00:00
SkottieSlide.h Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
SKPSlide.cpp Enable ClangTidy check readability-redundant-smartptr-get. 2020-08-16 15:56:48 +00:00
SKPSlide.h Add an skp loader to CanvasKit viewer 2020-05-28 17:29:28 +00:00
SkRiveSlide.cpp Simplify common case for recttorect 2021-01-15 18:37:46 +00:00
SkRiveSlide.h [skrive] Initial artboard plumbing 2020-06-09 19:58:38 +00:00
SkSLSlide.cpp Better first-class shader & color filter support in runtime effects 2021-05-04 01:29:57 +00:00
SkSLSlide.h SkSLSlide: Add shadertoy iResolution & iMouse 2020-12-11 20:19:20 +00:00
Slide.h Reland "FPS and frame control for MSKP slide." 2021-04-30 13:15:33 +00:00
SlideDir.cpp Simplify common case for recttorect 2021-01-15 18:37:46 +00:00
SlideDir.h Enable ClangTidy check llvm-namespace-comment. 2020-08-06 19:07:52 +00:00
StatsLayer.cpp Simplify common case for recttorect 2021-01-15 18:37:46 +00:00
StatsLayer.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SvgSlide.cpp Reland "[svg] Plumb a ResourceProvider" 2021-01-27 21:12:23 +00:00
SvgSlide.h Reland "[svg] Plumb a ResourceProvider" 2021-01-27 21:12:23 +00:00
TouchGesture.cpp Don't limit pinch zooming in viewer 2020-11-11 17:51:35 +00:00
TouchGesture.h Don't limit pinch zooming in viewer 2020-11-11 17:51:35 +00:00
Viewer.cpp Revert "Revert "Add mskp player, use in viewer slide"" 2021-04-29 19:40:08 +00:00
Viewer.h Rework optimization override flags. 2021-03-30 15:39:15 +00:00