skia2/include
senorblanco 84cd621670 Implement caching of filled paths in the tessellated path renderer.
Paths are cached as tessellated triangle meshes in vertex buffers on the GPU. Stroked paths are not (yet) cached.

Paths containing no curved segments (linear paths) are reused at all scales. Paths containing curved segments are reused within a scale tolerance threshold.

In order to invalidate the cache when an SkPath is changed or deleted,
this required implementing genID change notification in SkPath. This is
modelled almost exactly on SkPixelRef::GenIDChangeListener.
However, It does not currently implement the check for unique genIDs,
so notifiers will fire when the first instance of an SkPathRef
using a given genID is destroyed.

Another caveat is that you cannot successfully add a change notifier
to an empty path, since it uses the "canonical" empty path which is
never modified or destroyed. For this reason, we prevent adding
listeners to it.

BUG=skia:4121,skia:4122, 497403
DOCS_PREVIEW= https://skia.org/?cl=1114353004

Committed: https://skia.googlesource.com/skia/+/468dfa72eb6694145487be17876804dfca3b7adb

Review URL: https://codereview.chromium.org/1114353004
2015-08-04 10:01:58 -07:00
..
animator Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
c C API: remove dead code, simplify boilerplate 2015-07-31 15:16:23 -07:00
codec Create a scanline decoder without creating a codec 2015-08-04 09:24:45 -07:00
config remove SkInstCnt 2015-06-26 11:45:03 -07:00
core Implement caching of filled paths in the tessellated path renderer. 2015-08-04 10:01:58 -07:00
device/xps C++11 override should now be supported by all of {bots,Chrome,Android,Mozilla} 2015-03-25 18:17:32 -07:00
effects Address some SkLightingShader TODOs 2015-07-31 05:17:24 -07:00
gpu Implement caching of filled paths in the tessellated path renderer. 2015-08-04 10:01:58 -07:00
images remove SkInstCnt 2015-06-26 11:45:03 -07:00
pathops Revert of Revert of remove SK_SUPPORT_LEGACY_PATHOP_ENUMS (patchset #1 id:1 of https://codereview.chromium.org/1203983003/) 2015-06-26 10:23:07 -07:00
pipe Fixing leaky handling of SkImage in SkDeferredCanvas. 2015-06-02 11:47:45 -07:00
ports Clean up a few includes, introduce iwyu. 2015-07-29 11:49:40 -07:00
private Move SkOpts.h back to src/core. 2015-07-31 14:02:36 -07:00
svg Add SkSVGCanvas 2015-02-06 12:51:10 -08:00
utils remove all guards for changes to drawBitmapRect / drawImageRect 2015-07-28 07:35:14 -07:00
views Remove SK_BUILD_FOR SDL, BREW, and PALM. 2015-07-29 13:37:27 -07:00
xml Fix up -Winconsistent-missing-override 2015-07-13 06:18:39 -07:00