Go to file
Brian Osman 0817ce7c5b Add SK_LENIENT_SKSL_DESERIALIZATION, enabled in Debugger
When deserializing an SkSL shader, it's possible to encounter code that
doesn't compile (particularly from the last year, when syntax tweaks
were being made). By default, we still treat this as an error and fail
to load the SKP. In the SKP debugger, though, we add a lenient mode that
permits these failures. If any of the children were SkShaders, we
instead return that. If all else fails, we just return nullptr, which
will cause the triggering draw to use a solid paint-color, but at least
allow the SKP to be loaded and viewed.

For color-filters and blenders, we allow malformed SkSL, but always
return nullptr.

The bug that prompted this change involved Android's overscroll stretch
shader, where this approach works particularly well (it turns the
stretch into a simple pass-through of the underlying content).

Change-Id: I756c694739d31b11efa1b82c126f34440a7de66a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/515543
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-03-04 20:58:47 +00:00
animations
bazel [bazel] Use bazel to build task drivers 2022-03-03 16:12:18 +00:00
bench Reland "Reland "Adding a trace to nanobench for RP/VM comparison"" 2022-02-24 19:11:14 +00:00
bin Handle 'aarch64' from platform.machine() 2022-03-01 13:10:59 +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 [canvaskit] Add in fillText to spreadsheet demo for comparison 2022-02-15 15:35:43 +00:00
dm Remove g8 config from DM/FM. Switch CPU bots to test r8 instead. 2022-02-15 15:46:10 +00:00
docker Reland "Build CanvasKit using GN/Ninja" 2022-02-15 16:31:10 +00:00
docs/examples Reland "Add kR8_unorm_SkColorType" 2022-02-10 18:00:19 +00:00
example [bazel] Use font manager in HelloWorld. 2022-01-11 16:22:52 +00:00
experimental [graphite] Add support for caching discardable msaa textures 2022-03-04 17:47:11 +00:00
fuzz Control growth of FuzzNicePath with chain of path transforms 2022-02-14 19:11:54 +00:00
gm [bazel] Fix Bazel build by guarding addToKey 2022-02-24 18:10:40 +00:00
gn Add test demonstrating issue with function calls. 2022-03-03 20:55:25 +00:00
include Add SK_LENIENT_SKSL_DESERIALIZATION, enabled in Debugger 2022-03-04 20:58:47 +00:00
infra Pull the latest doxygen image 2022-03-04 19:08:05 +00:00
modules Add debugger as an optional module in canvaskit 2022-03-03 21:06:17 +00:00
platform_tools Do not run ProcessorOptimizationValidationTest 2022-03-01 16:39:45 +00:00
resources Add test demonstrating issue with function calls. 2022-03-03 20:55:25 +00:00
samplecode Revert "[includes] Remove include link between SkPathRef.h and SkRRect.h" 2022-02-24 12:55:26 +00:00
site Remove isOpaque parameter from CanvasKit SkRuntimeEffect APIs 2022-02-10 17:15:13 +00:00
specs [infra] Port serve.py from Python2 to 3 2021-08-31 15:28:19 +00:00
src Add SK_LENIENT_SKSL_DESERIALIZATION, enabled in Debugger 2022-03-04 20:58:47 +00:00
tests [graphite] Use ResourceCache for stencil attachments. 2022-03-04 15:44:45 +00:00
third_party Roll HarfBuzz from a8b7f188 to 8d1b000a (207 commits) 2022-03-02 22:34:16 +00:00
toolchain [bazel] Regenerate files and build with c++17 2022-02-01 13:15:22 +00:00
tools Update ImGui power sliders in Viewer 2022-03-04 20:00:19 +00:00
.bazelrc [canvaskit] Add more features to Bazel build 2022-02-04 21:33:20 +00:00
.bazelversion [canvaskit] Add skottie to Bazel build 2022-02-04 19:18:27 +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
.vpython [python3] Reland recipes -> python3 changes 2021-12-01 13:04:03 +00:00
AUTHORS Fix a null pointer bug in SkData::copyRange 2022-01-24 19:27:13 +00:00
BUILD.bazel [bazel] Compile gms for wasm and WebGL 2022-02-09 18:56:17 +00:00
BUILD.gn Reland "Reland "Adding a trace to nanobench for RP/VM comparison"" 2022-02-24 19:11:14 +00:00
codereview.settings
CONTRIBUTING
CQ_COMMITTERS
DEPS Roll ANGLE from 6cb08a2203e3 to b72718d23720 (11 revisions) 2022-03-04 05:30:11 +00:00
DIR_METADATA Move metadata in OWNERS files to DIR_METADATA files 2021-02-02 23:41:54 +00:00
go_repositories.bzl [bazel] Use bazel to build task drivers 2022-03-03 16:12:18 +00:00
go.mod [bazel] Make use of test_on_env to spin up server for gms 2022-02-28 14:05:54 +00:00
go.sum [bazel] Make use of test_on_env to spin up server for gms 2022-02-28 14:05:54 +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
package-lock.json [bazel] Make custom karma_test rule 2022-02-23 14:53:01 +00:00
package.json [bazel] Make custom karma_test rule 2022-02-23 14:53:01 +00:00
PRESUBMIT.py Remove AUTHORS check from PRESUBMIT.py 2021-09-30 14:12:18 +00:00
public.bzl remove jpeg from android builds flagged with no_codec 2022-02-14 19:29:10 +00:00
README
README.chromium
RELEASE_NOTES.txt Add maxSurfaceSampleCountForColorType to GrContextThreadSafeProxy 2022-03-01 15:13:40 +00:00
whitespace.txt Push shaders.skia.org. 2022-01-19 21:46:16 +00:00
WORKSPACE.bazel [bazel] Use bazel to build task drivers 2022-03-03 16:12:18 +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.