skia2/include
Ethan Nicholas a2d22b2e08 Broke DSLVar into separate subclasses
Previously, DSLVar represented local, global, and parameter variables.
This splits it into three separate subclasses.

In addition to just being a cleaner API in general, this also addresses
an issue we ran into with the upcoming DSLParser: previously, a global
DSLVar's storage was not set correctly until DeclareGlobal was called,
so an AddToSymbolTable call prior to DeclareGlobal would create the
SkSL variable with the wrong storage, causing spurious errors on
global-only modifiers. But holding off on the AddToSymbolTable tends to
break constructs like "int x = 0, y = x", so improving the API seemed
like the best way to address it.

Now that we have greater type safety around variables, we can
potentially avoid having to call AddToSymbolTable for DSLVar and
DSLGlobalVar altogether, since we know they are both supposed to end up
in the symbol table, but that isn't something I want to change in this
CL.

Change-Id: I5f390a7384ce0af6a2131d84f97fc5e5b318063f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/428576
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-07-15 15:40:06 +00:00
..
android Reland "SkAnimatedImage: Use fSampleSize" 2020-11-17 14:07:03 +00:00
c Hide legacy drawImage methods 2021-01-20 00:59:26 +00:00
codec get image from skcodec 2021-01-25 21:50:16 +00:00
config Track vulkan memory allocations in UMA. 2020-10-29 15:24:23 +00:00
core Disallow DMSAA with DDL 2021-07-13 19:21:50 +00:00
docs Add appendNodeIdArray to avoid code duplication. 2020-06-23 14:25:33 +00:00
effects Arithmetic blender 2021-07-08 17:06:17 +00:00
encode Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
gpu Make GrAuditTrail V1-only 2021-07-13 13:56:53 +00:00
pathops rm SkPreConfig.h and SkPostConfig.h 2020-02-06 19:16:43 +00:00
ports Revert "Revert "onMatchFaceStyle is unused, so remove it"" 2021-04-27 16:40:29 +00:00
private Add static to global nullopt symbol. 2021-07-13 14:00:03 +00:00
sksl Broke DSLVar into separate subclasses 2021-07-15 15:40:06 +00:00
svg [svgcanvas] Add support for relative path encoding 2021-05-11 17:44:59 +00:00
third_party Roll skcms from b9593d4e39ea to 4e8691e28194 (1 revision) 2021-03-31 16:31:52 +00:00
utils Add methods to access the top device's render target proxy 2021-06-03 18:16:27 +00:00