skia2/gn
John Stiles 846eca6c72 Add support for dependent modules in sksl-precompile.
For now, the hierarchy of module dependencies is hard-coded into
dehydrate_sksl.py. (It is already hardcoded into SkSLCompiler.cpp, but
not in a way that is easily accessible to sksl-precompile.)

sksl-precompile now takes one output and an arbitrary number of inputs.
The inputs are processed from right to left, layering their symbol
tables as we go. e.g., sksl_frag is compiled like this:

  sksl-precompile sksl_frag.dehydrated.sksl sksl_frag.sksl sksl_gpu.sksl

At present this doesn't change anything, because every module is
written in a standalone fashion (since nothing else was allowed). I've
demonstrated that these changes actually work as intended in a
followup example CL (not meant to be submitted).

Change-Id: Ifac638537f77b4a9c78b8cd94a6c4efd4bad01cc
Bug: skia:13164
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/532197
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2022-04-20 23:04:21 +00:00
..
portable Separate general defaults from Skia defaults 2021-03-22 15:30:56 +00:00
skia Fix setup for iOS simulator on arm64 Macs. 2022-03-30 20:06:39 +00:00
toolchain Use python3 explicitly when building 2022-04-20 14:49:24 +00:00
__init__.py Make gn directory importable in python 2017-03-20 17:40:30 +00:00
bench.gni Move tessellation-specific functions out of GrPathUtils 2021-11-20 02:47:40 +00:00
BUILDCONFIG.gn Enable WASM cross-compilation by correctly using current_cpu 2022-04-20 11:31:35 +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 Reland "Set GN's script_executable to "python3"" 2022-04-07 20:11:27 +00:00
compile_ib_files.py [python3] Reland recipes -> python3 changes 2021-12-01 13:04:03 +00:00
compile_sksl_tests.py [sksl][wgsl] Enable WGSL codegen in skslc 2022-04-11 18:32:46 +00:00
copy_git_directory.py [python3] Reland recipes -> python3 changes 2021-12-01 13:04:03 +00:00
core.gni [graphite] Move the UniformManager into the SkPipelineDataGatherer 2022-04-06 19:31:56 +00:00
cp.py Work around python 2 shutil.copy2 date bug 2020-09-28 20:12:13 +00:00
dehydrate_sksl.py Add support for dependent modules in sksl-precompile. 2022-04-20 23:04:21 +00:00
effects_imagefilters.gni Implement separate crop filter 2021-09-24 20:18:36 +00:00
effects.gni Add missing SkTrimPathEffect to skia_effects_public 2022-02-28 22:42:44 +00:00
find_headers.py Give a human-intelligible message if gn generates a warning 2022-02-23 18:40: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 [python3] Reland recipes -> python3 changes 2021-12-01 13:04:03 +00:00
flutter_defines.gni drawVertices and drawPath apply blend between paint and primitive color. 2021-11-22 19:09:33 +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 Reland "skif:LayerSpace<SkRect>::roundOut/In have epsilon tolerance." 2022-04-14 14:41:22 +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 Build the NDK compliant shared library to be used by JNI in SkQP. 2022-01-10 17:11:48 +00:00
gn_to_bp.py [sksl] Make sksl tracing optional 2022-04-12 13:59:25 +00:00
gn_to_cmake.py Fix CMakeLists to find Emscripten headers 2021-04-16 16:45:22 +00:00
gpu.gni [graphite] Move some atlas-related types to a shared header 2022-04-20 15:35:58 +00:00
graphite.gni Reland "[graphite] Move Graphite into Skia base directories." 2022-04-11 18:37:20 +00:00
highest_version_dir.py fix print functions for python3 gn scripts 2020-03-06 17:42:39 +00:00
ios.gni Fix setup for iOS simulator on arm64 Macs. 2022-03-30 20:06:39 +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 Add SampleSBIX to study sbix glyph translation. 2022-03-25 14:43:23 +00:00
shared_sources.gni Update sprint to graphite name 2021-09-21 16:44:10 +00:00
skia.gni Remove mdbviz 2022-04-20 15:59:50 +00:00
skqp_gn_args.py [sksl] Make sksl tracing optional 2022-04-12 13:59:25 +00:00
sksl_tests.gni SkSL: Add unit tests for new ForceNoRTFlip code-gen option 2022-04-15 12:59:07 +00:00
sksl.gni Remove complex path simplification code. 2022-04-19 12:51:35 +00:00
tests.gni Removed Position::Capture 2022-04-08 17:26:24 +00:00
utils.gni add a system for building SkCanvas wrappers for testing 2022-03-24 18:11:53 +00:00
xps.gni harmonize rewrite-includes and gn-format checks 2020-04-03 17:00:54 +00:00