Go to file
John Stiles f89a8122a4 Fix flaws in minus-prefix optimization.
We had a logic bug when attempting to optimize the following code:
    const vecN x = vecN(a, b, c);
    -x;

The goal was to replace `-x` with `vecN(-a, -b, -c)` but we accidentally
tried to cast the `x` VariableReference to a Constructor. We
unfortunately didn't cover this in any of our test cases, but the fuzzer
managed to synthesize it by mixing and matching elements from its new
corpus.

This affected several different constructor types: splat, diagonal-
matrix, compound and array.

Change-Id: I10dd2460ab26ba3e820b0cff5db091368fb7e648
Bug: oss-fuzz:37764, oss-fuzz:37861
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/443407
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-08-30 20:40:17 +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 Simplify SkRasterClip now that it's only intersect/diff 2021-08-30 20:39:43 +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 Fix flaws in minus-prefix optimization. 2021-08-30 20:40:17 +00:00
include Fixed DSLParser code rot 2021-08-30 00:30:27 +00:00
infra Roll SwiftShader from 9eb5acaba94c to 6aad52e1aef6 (5 revisions) 2021-08-30 17:03:52 +00:00
modules Line metrics: return all indices in UTF16 2021-08-30 18:51:58 +00:00
platform_tools [JetSki] pass SkPaint into experimental SkText drawText calls 2021-08-26 13:01:51 +00:00
resources Fix flaws in minus-prefix optimization. 2021-08-30 20:40:17 +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 Fix flaws in minus-prefix optimization. 2021-08-30 20:40:17 +00:00
tests Fix flaws in minus-prefix optimization. 2021-08-30 20:40:17 +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 SwiftShader from 9eb5acaba94c to 6aad52e1aef6 (5 revisions) 2021-08-30 17:03:52 +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
OWNERS [infra] Add wildcard OWNERS 2021-08-30 19:19:34 +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.