skia2/include/gpu
senorblanco 468dfa72eb 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

Review URL: https://codereview.chromium.org/1114353004
2015-08-03 13:04:03 -07:00
..
effects rename GrShaderDataManager -> GrProcessorDataManager 2015-07-09 06:28:14 -07:00
gl Make ANGLE perf decisions be runtime rather than compile time 2015-07-31 11:20:16 -07:00
GrBlend.h Move SkTHash.h to include/private. 2015-07-28 09:54:52 -07:00
GrCaps.h SRGB read and write pixels working and unit test 2015-07-30 15:34:56 -07:00
GrClip.h Remove rect clip type from grclip. 2015-03-06 08:21:39 -08:00
GrColor.h Implement Porter Duff XP with a blend table 2015-05-27 15:08:33 -07:00
GrConfig.h Removing GrAutoMalloc 2015-05-29 08:06:48 -07:00
GrContext.h Add abliity to set textblob cache budget to GrContext 2015-08-03 10:17:44 -07:00
GrContextOptions.h Work around for nexus 6 TexSubImage issue 2015-06-18 14:18:03 -07:00
GrCoordTransform.h some utils for rect and matrix 2015-03-13 06:08:28 -07:00
GrDrawContext.h Remove setFromPaint from GrPipelineBuilder 2015-07-09 13:25:02 -07:00
GrFragmentProcessor.h Removed GrFragmentProcessor::fWillUseInputColor 2015-07-28 11:47:44 -07:00
GrGpuResource.h remove SkInstCnt 2015-06-26 11:45:03 -07:00
GrGpuResourceRef.h remove SkInstCnt 2015-06-26 11:45:03 -07:00
GrInvariantOutput.h Add constant color GrFP. 2015-04-02 11:12:09 -07:00
GrPaint.h Another trivial cleanup 2015-07-14 11:02:46 -07:00
GrPathRendererChain.h remove SkInstCnt 2015-06-26 11:45:03 -07:00
GrProcessor.h remove SkInstCnt 2015-06-26 11:45:03 -07:00
GrProcessorDataManager.h Modify GrClipMaskManager to reflect logical constness 2015-07-13 07:35:05 -07:00
GrProcessorUnitTest.h rename GrShaderDataManager -> GrProcessorDataManager 2015-07-09 06:28:14 -07:00
GrProgramElement.h remove SkInstCnt 2015-06-26 11:45:03 -07:00
GrRect.h Begin atlasing 2014-06-30 08:26:50 -07:00
GrRenderTarget.h add ability to get FBO ID to Surface 2015-07-08 12:54:04 -07:00
GrResourceKey.h Implement caching of filled paths in the tessellated path renderer. 2015-08-03 13:04:03 -07:00
GrShaderVar.h Refactor position computation to enable device space "nudge" 2015-01-18 08:14:14 -08:00
GrStagedProcessor.h Another trivial cleanup 2015-07-14 11:02:46 -07:00
GrSurface.h Add SK_API to GrSurface 2015-07-08 07:53:10 -07:00
GrTestUtils.h GLProgramsTest 3.0 2015-05-13 08:51:50 -07:00
GrTexture.h Move DstCoordTexture to GrXP, rename and remove the word "copy" from dstcopytexture names. 2015-05-26 09:49:05 -07:00
GrTextureAccess.h remove SkInstCnt 2015-06-26 11:45:03 -07:00
GrTextureProvider.h Some cleanup in GrTextureProvider and GrResourceProvider. 2015-07-31 13:59:31 -07:00
GrTypes.h SRGB read and write pixels working and unit test 2015-07-30 15:34:56 -07:00
GrTypesPriv.h Store context options on caps. 2015-05-22 14:01:46 -07:00
GrXferProcessor.h Makes GrPipelineInfo a class with query functions used by GrBatch subclasses. 2015-07-08 11:26:37 -07:00
SkGr.h new image from backend desc 2015-05-07 15:36:18 -07:00
SkGrPixelRef.h remove SkInstCnt 2015-06-26 11:45:03 -07:00
SkGrTexturePixelRef.h Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00