Go to file
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
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bazel bazel baby steps 2020-09-14 15:18:32 +00:00
bench Revert "Add an isinf() polyfill for tessellation shaders" 2021-07-14 20:50:53 +00:00
bin [infra] Fix fetch-sk and fetch-skps 2021-06-18 15:20:38 +00:00
build/fuchsia [fuchsia] Fix fidlc command. 2020-06-10 03:29:24 +00:00
build_overrides fix tint roll - enable tint_build_wgsl_writer 2021-07-01 00:32:40 +00:00
client_utils/android Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
demos.skia.org [canvaskit] Fix demo image link 2021-06-03 12:57:50 +00:00
dm Convert dmsaa to an SkSurfaceProp 2021-04-20 16:24:56 +00:00
docker [infra] Fix index.d.ts copy in Wasm Docker build 2021-02-23 15:54:11 +00:00
docs/examples Hide getBlendMode() 2021-07-07 20:55:26 +00:00
example Remove SDL from DEPS (and SDL example that used it) 2021-05-27 21:37:57 +00:00
experimental Rename experimental app to 'sorttoy' 2021-07-01 19:11:26 +00:00
fuzz Reland "Add format-specifier warnings to SkDebugf." 2021-06-25 17:57:43 +00:00
gm Broke DSLVar into separate subclasses 2021-07-15 15:40:06 +00:00
gn Reland "Add unit test confirming Runtime Blends match native blends." 2021-07-15 15:19:14 +00:00
include Broke DSLVar into separate subclasses 2021-07-15 15:40:06 +00:00
infra Roll recipe dependencies (trivial). 2021-07-15 12:21:34 +00:00
modules Call hb_face_count before hb_face_create 2021-07-15 12:08:25 +00:00
platform_tools [androidkit] Color filter support 2021-06-29 12:42:19 +00:00
resources Add test for SkSL vector-slice constructors. 2021-07-12 20:33:44 +00:00
samplecode Reland "Add format-specifier warnings to SkDebugf." 2021-06-25 17:57:43 +00:00
site Update SkSL fiddles embedded in user documentation 2021-07-15 15:12:31 +00:00
specs Fix CanvasKit generated documentation to work with emscripten 1.39.16. 2020-05-27 12:23:32 +00:00
src Broke DSLVar into separate subclasses 2021-07-15 15:40:06 +00:00
tests Broke DSLVar into separate subclasses 2021-07-15 15:40:06 +00:00
third_party Roll skcms from bae5e281e80f to ba17399285ce (1 revision) 2021-07-13 16:48:24 +00:00
tools Add utility function GetRuntimeBlendForBlendMode for testing. 2021-07-14 20:39:09 +00:00
.bazelignore bazel baby steps 2020-09-14 15:18:32 +00:00
.clang-format no more bin packing in .clang-format 2021-03-04 17:22:50 +00:00
.clang-tidy Disable ClangTidy namespace comments for short blocks. 2020-08-24 14:01:22 +00:00
.gitignore add mskps/ to .gitignore 2021-07-06 21:04:55 +00:00
.gn Pre-emptive fix for upcoming ANGLE change. 2021-01-08 17:23:52 +00:00
AUTHORS Add UWP support 2021-02-10 19:04:42 +00:00
BUILD.bazel bazel baby steps 2020-09-14 15:18:32 +00:00
BUILD.gn Add utility function GetRuntimeBlendForBlendMode for testing. 2021-07-14 20:39:09 +00:00
codereview.settings Make uploading to Gerrit the default for Skia 2016-11-09 19:07:56 +00:00
CONTRIBUTING Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
CQ_COMMITTERS Moved committer list to chrome-infra-auth and deleted it from the repo 2015-09-02 13:37:54 -07:00
DEPS Roll Chromium from 378115c18d5c to 17781a5cd82e (457 revisions) 2021-07-15 05:07:23 +00:00
DIR_METADATA Move metadata in OWNERS files to DIR_METADATA files 2021-02-02 23:41:54 +00:00
go.mod [infra] Update infra dep to roll cpython3 back to 3.8.10 2021-06-28 13:09:19 +00:00
go.sum [infra] Update infra dep to roll cpython3 back to 3.8.10 2021-06-28 13:09:19 +00:00
LICENSE LICENSE file: clean up 2019-11-22 21:59:03 +00:00
PRESUBMIT.py [fiddle] Add PRESUBMIT rule to run tools/fiddle/make_all_examples_cpp.py 2021-07-01 15:20:57 +00:00
public.bzl Add RuntimeBlendUtils to bazel. 2021-07-15 15:01:32 +00:00
README Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
README.chromium Update README.chromium. 2015-06-11 13:19:24 -07:00
RELEASE_NOTES.txt Remove SkMatrix44 2021-06-26 01:51:45 +00:00
whitespace.txt Test master branch deletion 2021-05-25 13:20:41 +00:00
WORKSPACE.bazel bazel baby steps 2020-09-14 15:18:32 +00:00

Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.

See full details, and build instructions, at https://skia.org.