skia2/gn
Brian Osman cbb60bd0b0 Add runtime color filter and shader modes to the SkSL compiler
These enforce stricter rules about the signature of main, and each one
uses a separate pre-include module. That prevents color filters from
being able to reference sk_FragCoord (or coords passed to main) at all.
It also limits the versions of sample() that are exposed.

In the new world, an effect created for a specific stage of the Skia
pipeline can only be used to create instances of that stage (SkShader or
SkColorFilter). For now, SkRuntimeEffect::Make uses kRuntimeEffect,
which continues to be more lenient and allow creation of either shaders
or color filters from a single effect. After we migrate all clients, we
can deprecate and then delete that mode.

Bug: skia:11813
Change-Id: I0afd79a72beeec84da42c86146e8fcd8d0e4c09f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/395716
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-04-15 13:30:59 +00:00
..
portable Separate general defaults from Skia defaults 2021-03-22 15:30:56 +00:00
skia Remove use of std::result_of. 2021-03-30 16:57:45 +00:00
toolchain allow overriding {target,host}_link = ... in GN 2020-11-05 19:40:47 +00:00
__init__.py Make gn directory importable in python 2017-03-20 17:40:30 +00:00
bench.gni Revert "Revert "Add bench for skparagraph"" 2021-03-17 18:05:10 +00:00
BUILDCONFIG.gn Separate general defaults from Skia defaults 2021-03-22 15:30:56 +00:00
call.py [minor] mark scripts as executable 2019-11-21 17:06:27 +00:00
checkdir.py fix print functions for python3 gn scripts 2020-03-06 17:42:39 +00:00
checkpath.py Python3 tweaks 2019-12-17 17:12:03 +00:00
codesign_ios.py Update code-signing script to have better error messages. 2020-11-09 18:41:36 +00:00
compile_ib_files.py Reland "Add launch screen to iOS apps" 2019-09-05 14:05:08 +00:00
compile_processors.py Fix worklist files with skslc. 2020-11-18 19:41:45 +00:00
compile_sksl_tests.py Use .dsl.cpp suffix for DSL C++ instead of _dsl.cpp. 2021-04-14 13:49:53 +00:00
copy_git_directory.py GN tools: copy_git_directory.py better error message. 2019-11-19 17:04:18 +00:00
core.gni Add SkReadPixelsRec.h & SkImage_Base.h to core.gni 2021-02-22 21:27:26 +00:00
cp.py Work around python 2 shutil.copy2 date bug 2020-09-28 20:12:13 +00:00
create_sksl_fp.py SkSL include files are now stored in a binary format 2020-07-31 13:48:25 +00:00
dehydrate_sksl.py quiet dehyrdate_sksl unless it fails 2021-01-08 18:14:29 +00:00
effects_imagefilters.gni Remove unnecessary SkImageFilters.cpp 2021-02-26 15:31:51 +00:00
effects.gni always work from fBitmap in table CF 2021-02-26 14:48:19 +00:00
find_headers.py Python3 tweaks 2019-12-17 17:12:03 +00:00
find_msvc.py Add Preview to list of possible MSVC versions. 2020-04-30 19:54:33 +00:00
find_xcode_sysroot.py fix print functions for python3 gn scripts 2020-03-06 17:42:39 +00:00
flutter_defines.gni Float error and positioning 2021-04-05 19:00:46 +00:00
fuchsia_defines.gni Enable new clip stack for Fuchsia 2020-10-12 20:41:03 +00:00
gen_plist_ios.py Add product bundle name to iOS Xcode projects 2020-11-16 16:00:56 +00:00
gm.gni Remove sample locations usage from GL backend 2021-03-22 18:00:06 +00:00
gn_meta_sln.py fix print functions for python3 gn scripts 2020-03-06 17:42:39 +00:00
gn_to_bp_utils.py Correct Android.bp warnings. 2021-03-22 18:09:06 +00:00
gn_to_bp.py Remove some ableist language from infra parts 2021-01-29 17:36:18 +00:00
gn_to_cmake.py update gn_to_cmake's minimim required cmake version 2021-04-09 17:38:27 +00:00
gpu.gni Replace GrConstColorProcessor with a runtime FP 2021-04-14 18:40:18 +00:00
highest_version_dir.py fix print functions for python3 gn scripts 2020-03-06 17:42:39 +00:00
ios.gni Add ios_min_target. 2020-11-18 21:21:25 +00:00
is_clang.py Fix is_clang python3 encoding errors 2020-06-26 18:41:00 +00:00
make_gm_gni.py GMs: re-sort gni, script to regenerate gni, file name convention 2019-05-02 20:08:37 +00:00
opts.gni add structure for normal SKX opts 2020-06-05 13:48:39 +00:00
pdf.gni Make skia_use_xps option work on Windows 2020-03-24 17:09:33 +00:00
push_to_android.py skia_android_serial = "auto" 2017-01-12 16:30:17 +00:00
rm.py Delete .a file before writing static library. 2020-06-11 17:19:23 +00:00
run_sksllex.py Reland "Fetch clang-format automatically when compiling .fp files." 2020-06-12 13:21:41 +00:00
samples.gni Removed unused SkInterpolator 2021-04-13 00:50:11 +00:00
shared_sources.gni add structure for normal SKX opts 2020-06-05 13:48:39 +00:00
skia.gni Separate general defaults from Skia defaults 2021-03-22 15:30:56 +00:00
sksl_tests.gni Add runtime color filter and shader modes to the SkSL compiler 2021-04-15 13:30:59 +00:00
sksl.gni Replace GrConstColorProcessor with a runtime FP 2021-04-14 18:40:18 +00:00
tests.gni Removed unused SkInterpolator 2021-04-13 00:50:11 +00:00
utils.gni Removed unused SkInterpolator 2021-04-13 00:50:11 +00:00
xps.gni harmonize rewrite-includes and gn-format checks 2020-04-03 17:00:54 +00:00