skia2/tools/viewer
Brian Osman 767f444feb SkRuntimeEffect SkSL has a new signature for main()
There is no more 'inout half4 color'. Effects return their output color.
If an effect wants the input color, it must use the (already existing)
approach of sampling a nullptr input shader.

The change is guarded for Chromium (so we can update their runtime color
filters in skia_renderer.cc).

For the GPU backend, FPs can now override usesExplicitReturn to indicate
that their emitCode will generate a return statement. If that's true,
then writeProcessorFunction doesn't inject the automatic return of the
output color, and emitFragProc will *always* wrap that FP in a helper
function, even as a top-level FP. GrSkSLFP opts in to this behavior, so
that the user-supplied return becomes the actual return in the FP's
emitCode.

Adapting the skvm code to this wasn't too bad: It looks fragile (what
happens if there are multiple returns?), but that's not really possible
today, without varying control flow.

Bug: skia:10613

Change-Id: I205b81fd87dd32bab30b6d6d5fc78853485da036
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/310756
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2020-08-25 13:36:28 +00:00
..
AnimTimer.h tools: separate TimeUtils from AnimTimer 2019-07-12 15:05:01 +00:00
BisectSlide.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +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 Fix modifier key handling in OS X to allow command-keys to work. 2020-07-01 16:07:03 +00:00
ImGuiLayer.h Enable ClangTidy check llvm-namespace-comment. 2020-08-06 19:07:52 +00:00
ParticlesSlide.cpp Pure SkSL RNG for particles 2020-04-10 17:20:07 +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 Componentize SkAudioPlayer 2020-08-14 13:46:06 +00:00
SkottieSlide.h [skottie] Add support for embedded fonts (glyph paths) 2020-05-21 01:27:34 +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 [skrive] Reset the node system 2020-06-19 20:00:55 +00:00
SkRiveSlide.h [skrive] Initial artboard plumbing 2020-06-09 19:58:38 +00:00
SkSLSlide.cpp SkRuntimeEffect SkSL has a new signature for main() 2020-08-25 13:36:28 +00:00
SkSLSlide.h In SkSLSlide, directly use Viewer's shader error handler 2020-06-18 19:24:02 +00:00
Slide.h Update Slide::getName to return a const reference. 2020-07-28 17:37:01 +00:00
SlideDir.cpp Fix clang 12 Wsuggest-override and Wsuggest-destructor-override 2020-07-22 01:11:36 +00:00
SlideDir.h Enable ClangTidy check llvm-namespace-comment. 2020-08-06 19:07:52 +00:00
StatsLayer.cpp Remove SkTMin and SkTMax 2020-02-07 18:40:09 +00:00
StatsLayer.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SvgSlide.cpp Add svg parsing to CanvasKit viewer.html 2020-05-28 20:39:43 +00:00
SvgSlide.h Add svg parsing to CanvasKit viewer.html 2020-05-28 20:39:43 +00:00
TouchGesture.cpp Hook up pinch-zoom and swipe gestures. 2019-09-10 13:34:47 +00:00
TouchGesture.h Hook up pinch-zoom and swipe gestures. 2019-09-10 13:34:47 +00:00
Viewer.cpp Tweak viewer's shader panel 2020-08-18 17:44:35 +00:00
Viewer.h In SkSLSlide, directly use Viewer's shader error handler 2020-06-18 19:24:02 +00:00