Go to file
John Stiles 28054added Optimize ternary tests that check a const variable.
This enables the ternary to be optimized away in code like:
   const bool SHINY = true;
   color = SHINY ? add_shine(x) : x; // to --> `color = add_shine(x);`

Without constant propagation.

Also, I added a unit test for ternary expression simplification; I
wasn't able to find an existing one.

When the optimization flag is disabled, this CL actually removes the
optimization of `true ? x : y` --> `x` entirely; previously, this
substitution would be made regardless of optimization settings.

Change-Id: I93a8b9d4027902d35f8a19cfd6417170b209d056
Bug: skia:11343
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/379297
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-03-05 21:41:05 +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 Reland "rename GrSDFTOptions to GrSDFTControl" 2021-03-05 15:24:35 +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 Clean up prev experiment. 2021-03-05 15:56:14 +00:00
dm Reland "Support sharing promise images between DDLs" 2021-03-04 13:10:37 +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 Made SkSL DSL into public API 2021-03-04 21:03:58 +00:00
fuzz Bail if context creation fails in FuzzDDLThreadingGL 2021-03-04 03:50:26 +00:00
gm Copy on write for wrapped backend texture surfaces. 2021-03-05 19:50:05 +00:00
gn Optimize ternary tests that check a const variable. 2021-03-05 21:41:05 +00:00
include Made SkSL DSL into public API 2021-03-04 21:03:58 +00:00
infra update FM service account 2021-03-03 20:01:39 +00:00
modules Treat control codepoints as resolved 2021-03-02 20:38:48 +00:00
platform_tools [SkottieView] call onAnimationEnd listeners after finished repeating 2021-03-02 15:35:03 +00:00
resources Optimize ternary tests that check a const variable. 2021-03-05 21:41:05 +00:00
samplecode Make GrGLSLFragmentProcessors be created as std::unique_ptr. 2021-02-23 19:31:01 +00:00
site update release notes 2021-02-26 22:02:24 +00:00
specs Fix CanvasKit generated documentation to work with emscripten 1.39.16. 2020-05-27 12:23:32 +00:00
src Optimize ternary tests that check a const variable. 2021-03-05 21:41:05 +00:00
tests Optimize ternary tests that check a const variable. 2021-03-05 21:41:05 +00:00
third_party Roll skcms from 4a4ff5bbefdf to 4e5402c56973 (3 revisions) 2021-02-24 07:02:54 +00:00
tools Made SkSL DSL into public API 2021-03-04 21:03:58 +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 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 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 Dawn from 637d947937b7 to 95034f6528d4 (8 revisions) 2021-03-05 07:10:54 +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 LICENSE file: clean up 2019-11-22 21:59:03 +00:00
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 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 Made SkSL DSL into public API 2021-03-04 21:03:58 +00:00
whitespace.txt Whitespace change to re-trigger Mac/iOS tests 2020-02-23 20:55:01 +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.