skia2/gn
Michael Ludwig a427559c13 Refactor 'in uniform' CPP code generation
Easily supports mapping ctypes to sksl types with templates that
specify how to send data to the GPU and how to track state changes.
The template logic and type mappings are defined in
SkSLCPPUniformCTypes.* while SkSLCPPCodeGenerator is updated to
utilize it.

It also updates the supported ctypes to properly generate code for
SkPoint, SkIPoint, SkIRect, and GrColor4f. The code generated for
'in uniforms' now also correctly supports conditional uniforms.


Bug: skia:
Change-Id: Ib7c0a873bdd68a966b6a00871f33102dfa2c432d
Reviewed-on: https://skia-review.googlesource.com/150129
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2018-08-31 15:19:58 +00:00
..
toolchain link with --start-group/--end-group 2018-08-07 16:18:01 +00:00
__init__.py Make gn directory importable in python 2017-03-20 17:40:30 +00:00
ar.py GN: quiet alink spam on Mac 2016-11-07 14:19:32 +00:00
bench.gni ccpr: Rename GrCCPathParser to GrCCFiller 2018-08-20 20:25:24 +00:00
BUILD.gn switch ubsan to blacklist 2018-08-10 18:19:56 +00:00
BUILDCONFIG.gn Revert "Added support for visual debugging on Android Studio" 2018-06-01 20:22:37 +00:00
call.py Add gn plumbing for mdbviz tool 2017-09-05 13:57:44 +00:00
checkdir.py Bundle resources and skps directories into iOS app. 2017-11-29 17:06:25 +00:00
codesign_ios.py Allow different identities for iOS code signing 2017-12-07 20:42:00 +00:00
compile_processors.py switched to infra version of clang-format for skslc 2017-07-27 20:28:50 +00:00
core.gni Remove drawPosText_asPath - more dead code 2018-08-30 18:58:23 +00:00
cp.py GN: get Angle compiling on Windows. 2016-10-17 16:16:16 +00:00
create_sksl_enums.py Create sksl_enums.inc with UNIX line endings (even on Windows) 2018-02-09 15:13:11 +00:00
effects_imagefilters.gni move blurimagefilter.cpp back into effects 2018-06-26 15:01:52 +00:00
effects.gni add new patheffects 2018-07-18 18:56:07 +00:00
find_headers.py Add 'public' headers support to find_headers.py 2018-05-30 18:00:09 +00:00
find_ios_sysroot.py Add iOS simulator support in GN. 2017-03-13 17:21:43 +00:00
flutter_defines.gni Fix flutter build 2018-08-22 16:04:24 +00:00
gen_plist_ios.py Add create_bundle support for GN 2017-11-28 15:29:07 +00:00
gm.gni Revert "ccpr: Implement stroking with fine triangle strips" 2018-08-31 14:45:44 +00:00
gn_meta_sln.py Decorate project names with their relative path in the meta SLN 2018-06-01 19:22:08 +00:00
gn_to_bp_utils.py Disable module deps in Android Framework builds 2018-06-11 15:00:31 +00:00
gn_to_bp.py Use our own checked in Vulkan header to build skia source code. 2018-08-01 16:52:20 +00:00
gn_to_cmake.py Improve CMakeLists.txt auto regeneration. 2018-06-26 20:33:29 +00:00
gpu.gni Revert "ccpr: Implement stroking with fine triangle strips" 2018-08-31 14:45:44 +00:00
highest_version_dir.py Filter Windows SDK and Compiler directories 2017-12-11 20:26:08 +00:00
is_clang.py GN: match shell behavior for cc and cxx in is_clang.py 2016-09-27 09:29:24 -07:00
opts.gni Reland "Reland "make SkJumper stages normal Skia code"" 2018-03-07 17:32:40 +00:00
pdf.gni SkPDF/Clusterator: expose to the light of a unit test 2018-03-29 20:32:15 +00:00
push_to_android.py skia_android_serial = "auto" 2017-01-12 16:30:17 +00:00
run_sksllex.py Re-land "converted OverdrawColorFilter to SkSL" 2017-10-26 14:58:27 +00:00
samples.gni textonpath no longer in canvas 2018-08-29 14:04:45 +00:00
shared_sources.gni move imagefilters into separate dir and flag for build.gn 2018-06-19 20:16:38 +00:00
sksl.gni Refactor 'in uniform' CPP code generation 2018-08-31 15:19:58 +00:00
tests.gni Reland "Switch SkCodec to use skcms plus fixes"" 2018-08-27 16:16:14 +00:00
utils.gni textonpath util 2018-08-27 18:01:21 +00:00
xps.gni SkXPS: new document API. 2017-02-06 19:00:28 +00:00