Go to file
John Stiles aa369d2b8e Fix error with inlined literals overflowing their types.
It's possible to write code containing errors that are only apparent
once the inliner runs. For instance, a function which takes a short and
returns its negative it is valid for most inputs, but undefined for
-32768 (because +32768 does not fit in a short). A function which takes
floats and casts them to ints is valid for many inputs, but not valid if
you pass in 5 billion.

This CL restructures our out-of-range integer error detection to report
errors cleanly in these cases instead of asserting. It also refactors
the range checking code to be usable in situations where we don't yet
have a Literal expression.

Change-Id: I98f0be63bf9afbbf1ab90233fa86d380cfae42b4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/466439
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-11-02 14:26:44 +00:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bazel [infra] Add initial platforms and constraint values 2021-10-26 18:27:13 +00:00
bench Remove recursion from PathWedgeTessellator chopping 2021-11-01 19:15:24 +00:00
bin [sk] Update asset download references to use SK 2021-09-17 16:55:53 +00:00
build/fuchsia [fuchsia] Fix fidlc command. 2020-06-10 03:29:24 +00:00
build_overrides Add Abseil dependency for Dawn 2021-09-22 22:05:32 +00:00
client_utils/android Make class members that are static constexpr also be inline. 2021-10-11 16:22:59 +00:00
demos.skia.org [demos] Add WebGPU demo using origin trial 2021-10-08 16:35:34 +00:00
dm [graphite] Rearrange internal Context/Recorder/Recording relationship 2021-10-15 13:51:59 +00:00
docker [infra] Update cmake docker image to be Debian 10 2021-07-23 11:21:31 +00:00
docs/examples Reland "Add sRGB 8888 colortype" 2021-08-24 12:56:32 +00:00
example Remove SDL from DEPS (and SDL example that used it) 2021-05-27 21:37:57 +00:00
experimental Revert "[graphite] Fill in basic vertex and index buffers." 2021-11-02 00:21:09 +00:00
fuzz Make all shader caps uniquely-owned 2021-10-21 20:11:03 +00:00
gm [graphite] Partially connect Recorder, DrawBufferManager, DrawPass, and UniformCache. 2021-10-29 22:31:34 +00:00
gn Fix error with inlined literals overflowing their types. 2021-11-02 14:26:44 +00:00
include Move GR_MAKE_BITFIELD_OPS and GrAlignTo to non-GPU files 2021-11-01 17:26:59 +00:00
infra [infra] Add Release Test+AppleM1+Metal job 2021-11-01 12:53:26 +00:00
modules [skottie] Clean up FractalNoise and SkSLEffect 2021-11-02 13:27:15 +00:00
platform_tools change method signature for FontChain 2021-10-28 01:57:32 +00:00
resources Fix error with inlined literals overflowing their types. 2021-11-02 14:26:44 +00:00
samplecode Reland "Lift recursive curve culling out of tessellators" 2021-10-29 21:59:30 +00:00
site Update instructions for running debugger locally 2021-10-11 21:45:31 +00:00
specs [infra] Port serve.py from Python2 to 3 2021-08-31 15:28:19 +00:00
src Fix error with inlined literals overflowing their types. 2021-11-02 14:26:44 +00:00
tests Fix error with inlined literals overflowing their types. 2021-11-02 14:26:44 +00:00
third_party [infra] Add initial platforms and constraint values 2021-10-26 18:27:13 +00:00
toolchain [infra] Add hermetic toolchain for C/C++ using Clang+Musl 2021-10-21 12:43:49 +00:00
tools Revert "Move GR_MAKE_BITFIELD_OPS and GrAlignTo to non-GPU files" 2021-10-29 12:50:09 +00:00
.bazelrc [infra] Add hermetic toolchain for C/C++ using Clang+Musl 2021-10-21 12:43:49 +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 .vscode to the default gitignore list. 2021-10-13 15:23:02 +00:00
.gn Pre-emptive fix for upcoming ANGLE change. 2021-01-08 17:23:52 +00:00
AUTHORS Add trusted service accounts to AUTHORS file 2021-09-29 20:18:40 +00:00
BUILD.bazel [infra] Add initial platforms and constraint values 2021-10-26 18:27:13 +00:00
BUILD.gn [graphite] Add a Graphite no Gpu (i.e. Ganesh) build bot 2021-10-28 17:58:59 +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 ab4267359030 to a514df081df0 (4 revisions) 2021-11-02 05:27:14 +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 to update vpython 2021-09-10 17:41:28 +00:00
go.sum [infra] Roll infra to update vpython 2021-09-10 17:41:28 +00:00
LICENSE LICENSE file: clean up 2019-11-22 21:59:03 +00:00
OWNERS [infra] Add wildcard OWNERS 2021-08-30 19:19:34 +00:00
PRESUBMIT.py Remove AUTHORS check from PRESUBMIT.py 2021-09-30 14:12:18 +00:00
public.bzl Move ToolUtils::make_big_path() to bench/ 2021-10-14 12:57:29 +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 GPU-related calls from SkSurface.h when !SK_SUPPORT_GPU" 2021-10-28 17:19:03 +00:00
whitespace.txt Test SkCQ 2021-07-24 21:07:28 +00:00
WORKSPACE.bazel [infra] Add hermetic toolchain for C/C++ using Clang+Musl 2021-10-21 12:43:49 +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.