Go to file
Dominik Röttsches 4df814c2d6 [COLRv1] Special case a sequence of PaintGlyph + solid/gradient fill
In leaf ends of the COLRv1 DAG, if we encounter a PaintGlyph followed
by PaintSolid or Paint*Gradient, we can use the faster drawPath()
operation rather than the combination of clipPath() + drawPaint().

Special case this sequence in the code to optimize performance.

This improves average COLRv1 glyph drawing performance and makes it
faster than an identical set of SVG glyphs when running the
benchmark from [1] because it removes the clipPath() + drawPaint()
slowdown.

https://skia-review.googlesource.com/c/skia/+/395616.

Fixed: skia:11851
Change-Id: Id7037d40a6326d4792f04c5cc1245601d3706c78
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/396237
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-04-14 13:45:08 +00:00
animations
bazel bazel baby steps 2020-09-14 15:18:32 +00:00
bench Runtime effects: Support input color as a parameter to main() 2021-04-13 21:55:18 +00:00
bin Fix Python3 compatibility 2021-03-25 14:15:35 +00:00
build/fuchsia [fuchsia] Fix fidlc command. 2020-06-10 03:29:24 +00:00
build_overrides Prepare for Dawn using Tint unconditionally. 2021-03-12 15:05:26 +00:00
client_utils/android Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
demos.skia.org Clean up prev experiment. 2021-03-05 15:56:14 +00:00
dm Make use of shareable promise images in tools 2021-03-30 14:25:55 +00:00
docker [infra] Fix index.d.ts copy in Wasm Docker build 2021-02-23 15:54:11 +00:00
docs/examples Must pass filtering to picture shader 2021-03-18 22:18:47 +00:00
example Reland "Remove use of legacy display globals." 2020-10-05 19:13:58 +00:00
experimental [canvaskit] Proof of Concept for Typescript-build structure 2021-04-09 19:01:49 +00:00
fuzz Runtime effects: Support input color as a parameter to main() 2021-04-13 21:55:18 +00:00
gm Runtime effects: Support input color as a parameter to main() 2021-04-13 21:55:18 +00:00
gn Fork CPPCodeGenerator into a DSL-based version. 2021-04-13 22:01:09 +00:00
include GrSkSLFP no longer needs a GrContext 2021-04-13 20:00:27 +00:00
infra Update SKP version 2021-04-11 09:06:59 +00:00
modules Change GlyphIDArray to 16bit 2021-04-14 13:44:48 +00:00
platform_tools [androidkit] Split Canvas backing store into Surface 2021-04-13 13:56:04 +00:00
resources Fork CPPCodeGenerator into a DSL-based version. 2021-04-13 22:01:09 +00:00
samplecode Removed unused SkInterpolator 2021-04-13 00:50:11 +00:00
site update release notes for M91 branch 2021-04-09 19:31:57 +00:00
specs Fix CanvasKit generated documentation to work with emscripten 1.39.16. 2020-05-27 12:23:32 +00:00
src [COLRv1] Special case a sequence of PaintGlyph + solid/gradient fill 2021-04-14 13:45:08 +00:00
tests Fork CPPCodeGenerator into a DSL-based version. 2021-04-13 22:01:09 +00:00
third_party Roll skcms from c8a56c57ab7c to 411e27776f5c (1 revision) 2021-04-01 16:00:03 +00:00
tools Move code generators to codegen/ directory. 2021-04-13 15:34:24 +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 [sk] Add DEPS entry for "sk" tool 2021-04-09 14:21:37 +00:00
.gn Pre-emptive fix for upcoming ANGLE change. 2021-01-08 17:23:52 +00:00
AUTHORS Add UWP support 2021-02-10 19:04:42 +00:00
BUILD.bazel bazel baby steps 2020-09-14 15:18:32 +00:00
BUILD.gn Fork CPPCodeGenerator into a DSL-based version. 2021-04-13 22:01:09 +00:00
codereview.settings
CONTRIBUTING
CQ_COMMITTERS
DEPS Roll SK Tool from e08f5bc2712e to 182db4e6cd1b 2021-04-14 13:05:48 +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 dependency 2021-02-25 19:56:00 +00:00
go.sum [infra] Roll infra dependency 2021-02-25 19:56:00 +00:00
LICENSE
PRESUBMIT.py Display a Docs-Preview link for each modified MD file 2021-04-02 01:08:04 +00:00
public.bzl Remove NVPR 2021-03-19 12:26:38 +00:00
README
README.chromium
RELEASE_NOTES.txt update release notes for M91 branch 2021-04-09 19:31:57 +00:00
whitespace.txt
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.