Go to file
John Stiles a85560a9a3 Work around divide-by-zero UBSAN errors in intrinsic optimization.
If the SkSL program contains intrinsics that would divide by zero when
being optimized, the fuzzer would report this as undefined behavior.
Skia insists on IEEE semantics so this isn't a concern for us. We now
use `sk_ieee_double_divide` to work around these fuzzer issues.

Also note that the optimizer will discard results that are not finite,
so these infinite/NaN values are ephemeral anyway--they won't be used
in the final output. The intrinsic in the code will be left
as-is/unoptimized.

Change-Id: I747a434898a15b34716d95f6ca3d29fe4452005d
Bug: oss-fuzz:37850, oss-fuzz:37822, oss-fuzz:37761
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/443399
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-08-30 15:28:40 +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 Store the correct number of samples in GrProgramInfo 2021-08-26 17:24:47 +00:00
bin Fix fetch-sk on Windows 2021-08-02 22:12:12 +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 Convert internal sample() calls to shade/filter/blend 2021-08-24 21:03:44 +00:00
dm Reland "Add sRGB 8888 colortype" 2021-08-24 12:56:32 +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 [JetSki] pass SkPaint into experimental SkText drawText calls 2021-08-26 13:01:51 +00:00
fuzz Convert internal sample() calls to shade/filter/blend 2021-08-24 21:03:44 +00:00
gm Store the correct number of samples in GrProgramInfo 2021-08-26 17:24:47 +00:00
gn Move GrAtlasTextOp to skgpu::v1 namespace 2021-08-30 14:56:55 +00:00
include Fixed DSLParser code rot 2021-08-30 00:30:27 +00:00
infra Enable support for vulkan dmsaa in caps. 2021-08-29 18:56:14 +00:00
modules [JetSki] pass SkPaint into experimental SkText drawText calls 2021-08-26 13:01:51 +00:00
platform_tools [JetSki] pass SkPaint into experimental SkText drawText calls 2021-08-26 13:01:51 +00:00
resources Remove support for unsized arrays 2021-08-27 22:14:16 +00:00
samplecode Store the correct number of samples in GrProgramInfo 2021-08-26 17:24:47 +00:00
site Convert internal sample() calls to shade/filter/blend 2021-08-24 21:03:44 +00:00
specs Fix CanvasKit generated documentation to work with emscripten 1.39.16. 2020-05-27 12:23:32 +00:00
src Work around divide-by-zero UBSAN errors in intrinsic optimization. 2021-08-30 15:28:40 +00:00
tests Move GrAtlasTextOp to skgpu::v1 namespace 2021-08-30 14:56:55 +00:00
third_party Roll skcms from b3fa31431c6a to 4f7135f89d98 (1 revision) 2021-08-25 20:09:24 +00:00
tools Move GrAtlasTextOp to skgpu::v1 namespace 2021-08-30 14:56:55 +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 Correct a typo in build_workaround_header.py 2021-07-29 13:06:01 +00:00
BUILD.bazel bazel baby steps 2020-09-14 15:18:32 +00:00
BUILD.gn Remove (unused) geometry shader support 2021-08-27 19:41:10 +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 SK Tool from 6cc8590fd276 to e7e1e30274a5 2021-08-30 14:20:46 +00:00
DIR_METADATA Move metadata in OWNERS files to DIR_METADATA files 2021-02-02 23:41:54 +00:00
go.mod [commandbuffer] Update infra dep to fix CommandBuffer 2021-08-27 16:44:47 +00:00
go.sum [commandbuffer] Update infra dep to fix CommandBuffer 2021-08-27 16:44:47 +00:00
LICENSE LICENSE file: clean up 2019-11-22 21:59:03 +00:00
PRESUBMIT.py [infra] Update PRESUBMIT.py to run under Python3 2021-08-16 20:00:46 +00:00
public.bzl Separate SkUnicode bazel source sets 2021-08-09 18:23:15 +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 SkSL: Use type-specific sampling intrinsics, rather than fn-call syntax 2021-08-24 18:18:46 +00:00
whitespace.txt Test SkCQ 2021-07-24 21:07:28 +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.