55b6d8be99
Add a unique ID to SkImageFilter, and use it as part of a persistent cache of image-filtered results. This is used for caching frame-to-frame coherent filters. We also keep track of which filter subtrees do not reference the src input, and use a GenID of zero for the src input in that case. That way, subtrees which are not dependent on the filter input can be cached independently of it. This gives approximately a 4X speedup on letmespellitoutforyou.com/samples/svg/filter_terrain.svg on Z620 and Nexus10. The cache key consists of the uniqueID of the filter, the clip bounds, the CTM and the genID of the input bitmap. Since this does not yet handle the case where the input primitives (and part of the resulting filter tree) are unchanged, we have to keep around the external cache for that painting case. When the work to cache unchanging input primitives is done, the old cache can be removed, and the new UniqueIDCache will be renamed to Cache. R=bsalomon@google.com, mtklein@google.com Author: senorblanco@chromium.org Review URL: https://codereview.chromium.org/414483003 |
||
---|---|---|
.. | ||
gl | ||
GrBackendEffectFactory.h | ||
GrClipData.h | ||
GrColor.h | ||
GrConfig.h | ||
GrContext.h | ||
GrContextFactory.h | ||
GrCoordTransform.h | ||
GrDrawEffect.h | ||
GrEffect.h | ||
GrEffectStage.h | ||
GrEffectUnitTest.h | ||
GrFontScaler.h | ||
GrGlyph.h | ||
GrGpuResource.h | ||
GrPaint.h | ||
GrPathRendererChain.h | ||
GrRect.h | ||
GrRenderTarget.h | ||
GrSurface.h | ||
GrTBackendEffectFactory.h | ||
GrTexture.h | ||
GrTextureAccess.h | ||
GrTypes.h | ||
GrTypesPriv.h | ||
GrUserConfig.h | ||
SkGpuDevice.h | ||
SkGr.h | ||
SkGrPixelRef.h | ||
SkGrTexturePixelRef.h |