Go to file
John Stiles 56b1b80795 Detect invalid boolean binary expressions.
GLSL does not allow most binary operations on bvec types; we can now
detect these and properly flag them as errors.

Note that `determine_binary_type` was also refactored. It originally
started with an enormous omni-switch over every possible Token type,
used to set various bools describing the type of binary expression at
hand. Instead of one big switch, this has been refactored into several
small switches in standalone functions that simply switch on the op and
immediately return true or false. Conceptually this seems like more
work (checking the op multiple times), but these tiny switches actually
boil down to little branchless shift-and-mask functions, so in practice
they should be quite efficient compared to the original omni-switch.

Change-Id: I81b473d98c65da1edd136f35fc8f656261f8930d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/338346
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-11-25 16:04:37 +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 split subrun API into Blob and Op interfaces 2020-11-21 02:24:07 +00:00
bin bin/try: automatically set 'git cl issue' when not found 2020-06-25 17:44:01 +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 Sk from nearly all function/type names. 2020-10-07 21:01:32 +00:00
dm Reland "SkAndroidCodec: Support decoding all frames" 2020-11-16 16:55:48 +00:00
docker [canvaskit,pathkit] Update to emsdk 2.0 2020-08-20 14:55:50 +00:00
docs/examples hide legacy scalePixels and makeShader 2020-11-24 00:41:33 +00:00
example Reland "Remove use of legacy display globals." 2020-10-05 19:13:58 +00:00
experimental Add supporting function for finding image use in layers 2020-11-24 17:04:56 +00:00
fuzz Move GrShaderCaps from Program::Settings to Compiler 2020-11-04 19:38:33 +00:00
gm Reland "SkSL: Test/implement "geometric" intrinsics" 2020-11-24 21:29:56 +00:00
gn Replace SPIR-V assertion with mixed-types error message. 2020-11-25 15:13:27 +00:00
include Revert "Move conservative bounds tracking from SkCanvas to SkNoPixelsDevice" 2020-11-24 20:13:57 +00:00
infra Update SKP version 2020-11-22 06:51:19 +00:00
modules Heuristic for filtering out too big editing text cases 2020-11-25 15:54:27 +00:00
platform_tools move SkottieAnimation out of SkottieRunner to top level 2020-11-24 19:37:46 +00:00
resources remove Op::pack 2020-11-21 12:38:19 +00:00
samplecode Add experimental prints for conic max error to Wedge sample 2020-11-24 21:58:26 +00:00
site Update docs for iOS deployment 2020-11-19 14:50:28 +00:00
specs Fix CanvasKit generated documentation to work with emscripten 1.39.16. 2020-05-27 12:23:32 +00:00
src Detect invalid boolean binary expressions. 2020-11-25 16:04:37 +00:00
tests Detect invalid boolean binary expressions. 2020-11-25 16:04:37 +00:00
third_party [canvaskit] Add support for woff2 fonts 2020-11-10 15:07:26 +00:00
tools Bump bl from 4.0.2 to 4.0.3 in /tools/perf-canvaskit-puppeteer 2020-11-24 17:10:56 +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 bazel baby steps 2020-09-14 15:18:32 +00:00
.gn Basic standalone GN configs. 2016-07-21 12:25:45 -07:00
AUTHORS Fix issues with latest GN 2020-11-07 13:55:45 +00:00
BUILD.bazel bazel baby steps 2020-09-14 15:18:32 +00:00
BUILD.gn Run SPIR-V validation on SkSL unit test output 2020-11-24 22:07:56 +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 ANGLE from 1b413197a6d7 to 130597e10299 (14 revisions) 2020-11-25 04:50:46 +00:00
go.mod Update Go Deps 2020-11-22 05:48:50 +00:00
go.sum Update Go Deps 2020-11-22 05:48:50 +00:00
LICENSE LICENSE file: clean up 2019-11-22 21:59:03 +00:00
OWNERS add OWNERS file 2017-12-01 19:50:19 +00:00
PRESUBMIT.py Generate SkSL golden output files from test inputs during the build. 2020-09-14 14:54:12 +00:00
public.bzl Always enable SkSL's ByteCodeGenerator, disable interpreter in Google3 2020-11-18 21:30:45 +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 Revert "Remove legacy SkImage::MakeFromYUVATextures." 2020-11-20 21:51:40 +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.