Go to file
Chris Dalton 70842aea4a Update the indirect tessellator to drop extra edges
When an instanced draw had more edges than the stroke actually needed,
we used to distribute those excess edges evenly across the stroke.
(e.g., a stroke that needs 40 edges gets drawn in an instance that has
 64.) This CL updates the shader to emit the excess edges as
degenerate triangles instead. The hope here is twofold: (1) that when
all threads in a warp belong to an extra edge, the GPU will skip the
expensive edge sorting entirely, and (2) that the rasterizer will drop
the degenerate triangles or at least do less work.

Bug: chromium:1172543
Change-Id: Idffad09c1f7e633c8ac75f5fdf865ade92af7f91
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387616
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-03-22 17:18:18 +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 Revert "Performance experiment: Disable SkSL inliner in nanobench/skpbench." 2021-03-21 14:30:49 +00:00
bin pull arm64 binary on arm64 Mac/Linux 2021-01-15 19:00:46 +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 Reland "Add tooling support for dmsaa" 2021-03-18 04:57:10 +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 Remove NVPR 2021-03-19 12:26:38 +00:00
fuzz FilterQuality should no longer be needed. 2021-03-20 14:30:06 +00:00
gm GrFPArgs no longer needs sampling 2021-03-20 17:33:56 +00:00
gn Add GrRuntimeFPBuilder 2021-03-22 15:57:36 +00:00
include Add GrRuntimeFPBuilder 2021-03-22 15:57:36 +00:00
infra Update SKP version 2021-03-21 09:18:28 +00:00
modules Separate general defaults from Skia defaults 2021-03-22 15:30:56 +00:00
platform_tools [SkottieView] call onAnimationEnd listeners after finished repeating 2021-03-02 15:35:03 +00:00
resources Migrate VarDeclaration conversion out of IRGenerator. 2021-03-22 14:25:26 +00:00
samplecode Rename SampleCCPRGeometry.cpp -> SampleStrokeVerb.cpp 2021-03-08 16:37:09 +00:00
site Start adding SkSL/SkRuntimeEffect documentation 2021-03-19 18:41:04 +00:00
specs Fix CanvasKit generated documentation to work with emscripten 1.39.16. 2020-05-27 12:23:32 +00:00
src Update the indirect tessellator to drop extra edges 2021-03-22 17:18:18 +00:00
tests Migrate VarDeclaration conversion out of IRGenerator. 2021-03-22 14:25:26 +00:00
third_party Separate general defaults from Skia defaults 2021-03-22 15:30:56 +00:00
tools Revert "Performance experiment: Disable SkSL inliner in nanobench/skpbench." 2021-03-21 14:30:49 +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 Update gitignore for goma win_toolchain 2021-02-01 17:25:52 +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 Separate general defaults from Skia defaults 2021-03-22 15:30:56 +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 Chromium from 23141e38f154 to af345736ffc5 (473 revisions) 2021-03-22 05:34:58 +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 LICENSE file: clean up 2019-11-22 21:59:03 +00:00
PRESUBMIT.py Reland "[infra] Switch from isolate to RBE-CAS" 2021-02-22 14:41:06 +00:00
public.bzl Remove NVPR 2021-03-19 12:26:38 +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 Remove NVPR 2021-03-19 12:26:38 +00:00
whitespace.txt Whitespace change to re-trigger Mac/iOS tests 2020-02-23 20:55:01 +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.