Go to file
Brian Osman 7b361499c9 Align SkSL const rules more closely with GLSL
This adds Analysis::IsConstantExpression, to determine if an expression
is a constant-expression. It now expands to cover 'const' local and
global variables, because we also enforce that the initializer on those
variables is - in turn - a constant expression.

This fixes 10837 - previously you could initialize a const variable with
a non-constant expression, and we'd emit GLSL that contained that same
pattern, which would fail to compile at the driver level. That should
not be possible any longer.

Bug: skia:10679
Bug: skia:10837
Change-Id: I517820ef4da57fff45768c0b04c55aebc18d3272
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375856
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-02-26 17:44:11 +00:00
animations
bazel bazel baby steps 2020-09-14 15:18:32 +00:00
bench Make it possible to enable hw tessellation outside of test builds 2021-02-25 16:21:09 +00:00
bin pull arm64 binary on arm64 Mac/Linux 2021-01-15 19:00:46 +00:00
build/fuchsia [fuchsia] Fix fidlc command. 2020-06-10 03:29:24 +00:00
build_overrides Port to ANGLE's GN files 2020-09-11 15:22:34 +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] Remove references to particles.skia.org from demos 2021-02-18 19:00:44 +00:00
dm Add DDLTileHelper option to tile separately in x & y 2021-02-26 16:34:51 +00:00
docker [infra] Fix index.d.ts copy in Wasm Docker build 2021-02-23 15:54:11 +00:00
docs/examples Guard legacy matrixtransforms, and expose new one 2021-02-01 22:10:39 +00:00
example Reland "Remove use of legacy display globals." 2020-10-05 19:13:58 +00:00
experimental Add DDLTileHelper option to tile separately in x & y 2021-02-26 16:34:51 +00:00
fuzz Activate FuzzDDLThreading 2021-02-25 21:26:07 +00:00
gm Reland "Fix issues with insetting and outsetting quads." 2021-02-25 17:44:12 +00:00
gn Align SkSL const rules more closely with GLSL 2021-02-26 17:44:11 +00:00
include Remove bug-prone SkIDChangeListener singleThreaded arg 2021-02-26 17:05:53 +00:00
infra Remove ddl2-* bot runs 2021-02-26 14:37:57 +00:00
modules Support multiple default font families 2021-02-25 21:21:00 +00:00
platform_tools [SkottieView] surface methods for adding and removing listeners in SkottieView 2021-02-25 21:21:02 +00:00
resources Align SkSL const rules more closely with GLSL 2021-02-26 17:44:11 +00:00
samplecode Make GrGLSLFragmentProcessors be created as std::unique_ptr. 2021-02-23 19:31:01 +00:00
site Replace 'dogben' with 'brianosman' in client code search page 2021-02-10 18:04:12 +00:00
specs Fix CanvasKit generated documentation to work with emscripten 1.39.16. 2020-05-27 12:23:32 +00:00
src Align SkSL const rules more closely with GLSL 2021-02-26 17:44:11 +00:00
tests Align SkSL const rules more closely with GLSL 2021-02-26 17:44:11 +00:00
third_party Roll skcms from 4a4ff5bbefdf to 4e5402c56973 (3 revisions) 2021-02-24 07:02:54 +00:00
tools Add DDLTileHelper option to tile separately in x & y 2021-02-26 16:34:51 +00:00
.bazelignore bazel baby steps 2020-09-14 15:18:32 +00:00
.clang-format Disable BinPackParameters in .clang-format 2020-03-27 14:32:40 +00:00
.clang-tidy Disable ClangTidy namespace comments for short blocks. 2020-08-24 14:01:22 +00:00
.gitignore Update gitignore for goma win_toolchain 2021-02-01 17:25:52 +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 Activate FuzzDDLThreading 2021-02-25 21:26:07 +00:00
codereview.settings
CONTRIBUTING
CQ_COMMITTERS
DEPS Roll Dawn from 0a295c027d81 to 6cbef93c73ce (15 revisions) 2021-02-26 05:22:05 +00:00
DIR_METADATA Move metadata in OWNERS files to DIR_METADATA files 2021-02-02 23:41:54 +00:00
go.mod [infra] Roll infra dependency 2021-02-25 19:56:00 +00:00
go.sum [infra] Roll infra dependency 2021-02-25 19:56:00 +00:00
LICENSE
PRESUBMIT.py Reland "[infra] Switch from isolate to RBE-CAS" 2021-02-22 14:41:06 +00:00
public.bzl Support building GrGLInterface factory functions for both EGL and GLX. 2021-02-23 16:37:48 +00:00
README
README.chromium
RELEASE_NOTES.txt Add a new entry point for making promise images 2021-02-22 23:33:56 +00:00
whitespace.txt
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.