Go to file
Brian Osman 49b7b6f38f Handle too many (or too large) paths in GrDefaultPathRenderer
PathGeoBuilder constructs the geometry with the same basic
technique as before, but allows interrupting the process
to emit multiple draws.

Original test case was 2000 non-AA stroked circles, which
created ~66000 vertices. That now renders, as do various
tests with a single large path (as well as filled paths).

Added a new set of 'AtLeast' allocators for vertex and index
data. These take a minimum size and a fallback size. If the
minimum size can be satisfied by an existing block, then
the caller gets *all* memory in that block, otherwise they
get a new block sized for the fallback amount. The previous
allocation scheme wasn't a good fit for the new use-case,
and because we don't usually need many verts, the flexible
approach seems appropriate.

TODO: I think that this could be extracted and re-used for
MSAA path renderer without too much work? I need to read
that code more carefully to make sure it lines up.

Re-land of: https://skia-review.googlesource.com/18360
Re-land of: https://skia-review.googlesource.com/18983

Bug: skia:6695
Change-Id: I09ac1273e5af67ed0e3e886de90e2970c3d0b239
Reviewed-on: https://skia-review.googlesource.com/19480
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2017-06-20 19:15:58 +00:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bench remove unused mode parameter from SkMergeImageFilter 2017-06-19 14:01:56 +00:00
bin bin/fetch-clang-format 2017-03-08 16:43:49 +00:00
debugger Retract GrTexture*.h & GrRenderTarget*.h from other headers 2017-06-13 17:21:41 +00:00
dm Enable SVG DM sources for vector sinks 2017-06-16 20:04:14 +00:00
example Revert "Revert "Plumb the use of GrBackendRenderTarget throughout Skia"" 2017-05-01 14:14:50 +00:00
experimental Retract GrTexture*.h & GrRenderTarget*.h from other headers 2017-06-13 17:21:41 +00:00
fuzz remove unused mode parameter from SkMergeImageFilter 2017-06-19 14:01:56 +00:00
gm remove unused mode parameter from SkMergeImageFilter 2017-06-19 14:01:56 +00:00
gn Revert "remove unused TableMaskFilter" 2017-06-19 02:50:18 +00:00
include Revert "Revert "remove unused api on xfermodeimagefilter"" 2017-06-20 17:26:39 +00:00
infra Limit number of stages for Angle D3D for GLPrograms test 2017-06-19 19:08:04 +00:00
platform_tools Enable ios on Raspberry Pi 2017-04-25 16:56:41 +00:00
resources Make SkCodec more flexible about its required frame 2017-06-07 20:15:17 +00:00
samplecode remove unused mode parameter from SkMergeImageFilter 2017-06-19 14:01:56 +00:00
site Broken link in Tree Sheriffs Documentation 2017-06-09 17:56:14 +00:00
src Handle too many (or too large) paths in GrDefaultPathRenderer 2017-06-20 19:15:58 +00:00
tests Add SkCopyPixelsMode argument to SkMakeImageInColorSpace 2017-06-20 14:03:01 +00:00
third_party Roll ANGLE 2017-06-12 16:00:07 +00:00
tools add memory via to ok 2017-06-19 19:32:52 +00:00
.clang-format Mark flatennable macros as block beginning/ending in .clang-format 2017-01-09 15:31:36 +00:00
.gitignore [infra] Move Android and GPU maps into gen_tasks.go. 2017-06-14 13:17:43 +00:00
.gn Basic standalone GN configs. 2016-07-21 12:25:45 -07:00
AUTHORS Added support for building for tvOS 2017-03-14 22:55:04 +00:00
BUILD.gn Revert "Revert "Update skia to use ifdefs for Vulkan code instead of dummy header"" 2017-06-14 01:43:38 +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 ANGLE 2017-06-12 16:00:07 +00:00
Doxyfile Make the housekeeper upload doxygen to a newer bucket 2016-10-04 13:23:57 -07:00
LICENSE BUG=skia:5602 2016-09-02 11:19:34 -07:00
PRESUBMIT.py Use Gerrit style format for footers in Presubmit 2017-05-23 20:44:36 +00:00
public.bzl Experimental change to diagnose image diffs in g3 2017-06-08 18:38:43 +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
whitespace.txt Marker for Win AMD driver update. 2017-05-22 17:21:14 +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.