skia2/include/effects
senorblanco 5e5f948b6b Reimplement deserialization of SkImageFilter's uniqueID.
9fa60d ("Simplify flattening to just write enough ... ") simplified just
a tad too much. In particular, it disabled deserialization of
SkImageFilter's uniqueID, which in turn caused the failure of
SkImageFilter's cache, which caused a large regression in Chrome's SVG
filter performance.

The medium-term fix is to switch to the new SkRecordDraw SkPicture
backend, which will make the unique IDs unnecessary.

This change is an "in case of emergecy" CL, in the event that there are
problems switching on the new backend in Chrome. For that reason, it's
minimalist: only the filters used by Chrome are modified, and whitespace
changes are kept to a minimum. In this way, it should be easy to revert
once the new backend goes in.

R=reed@google.com

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/503833002
2014-08-26 12:27:12 -07:00
..
Sk1DPathEffect.h Simplify flattening to just write enough to call the factory/public-constructor for the class. We want to *not* rely on private constructors, and not rely on calling through the inheritance hierarchy for either flattening or unflattening(CreateProc). 2014-08-21 07:59:51 -07:00
Sk2DPathEffect.h Simplify flattening to just write enough to call the factory/public-constructor for the class. We want to *not* rely on private constructors, and not rely on calling through the inheritance hierarchy for either flattening or unflattening(CreateProc). 2014-08-21 07:59:51 -07:00
SkAlphaThresholdFilter.h Clean up SkImageFilter constructors. 2014-07-08 09:16:22 -07:00
SkArithmeticMode.h Arithmetic mode now has the option of not validating the output color, which will allow multiple arithmetic operations to be done sequentially, without intermediate clamping. This is required for mimicking blink's current behavior. 2014-04-02 19:32:15 +00:00
SkAvoidXfermode.h Simplify flattening to just write enough to call the factory/public-constructor for the class. We want to *not* rely on private constructors, and not rely on calling through the inheritance hierarchy for either flattening or unflattening(CreateProc). 2014-08-21 07:59:51 -07:00
SkBitmapSource.h Simplify flattening to just write enough to call the factory/public-constructor for the class. We want to *not* rely on private constructors, and not rely on calling through the inheritance hierarchy for either flattening or unflattening(CreateProc). 2014-08-21 07:59:51 -07:00
SkBlurDrawLooper.h Simplify flattening to just write enough to call the factory/public-constructor for the class. We want to *not* rely on private constructors, and not rely on calling through the inheritance hierarchy for either flattening or unflattening(CreateProc). 2014-08-21 07:59:51 -07:00
SkBlurImageFilter.h Reimplement deserialization of SkImageFilter's uniqueID. 2014-08-26 12:27:12 -07:00
SkBlurMaskFilter.h remove SK_SUPPORT_LEGACY_BLURMASKFILTER_STYLE 2014-05-31 21:47:03 +00:00
SkColorFilterImageFilter.h Reimplement deserialization of SkImageFilter's uniqueID. 2014-08-26 12:27:12 -07:00
SkColorMatrix.h Revert of Revert "Serialization of SkPictureImageFilter" (https://codereview.chromium.org/153583007/) 2014-02-07 12:20:04 +00:00
SkColorMatrixFilter.h Simplify flattening to just write enough to call the factory/public-constructor for the class. We want to *not* rely on private constructors, and not rely on calling through the inheritance hierarchy for either flattening or unflattening(CreateProc). 2014-08-21 07:59:51 -07:00
SkComposeImageFilter.h Simplify flattening to just write enough to call the factory/public-constructor for the class. We want to *not* rely on private constructors, and not rely on calling through the inheritance hierarchy for either flattening or unflattening(CreateProc). 2014-08-21 07:59:51 -07:00
SkCornerPathEffect.h Simplify flattening to just write enough to call the factory/public-constructor for the class. We want to *not* rely on private constructors, and not rely on calling through the inheritance hierarchy for either flattening or unflattening(CreateProc). 2014-08-21 07:59:51 -07:00
SkDashPathEffect.h Simplify flattening to just write enough to call the factory/public-constructor for the class. We want to *not* rely on private constructors, and not rely on calling through the inheritance hierarchy for either flattening or unflattening(CreateProc). 2014-08-21 07:59:51 -07:00
SkDiscretePathEffect.h Simplify flattening to just write enough to call the factory/public-constructor for the class. We want to *not* rely on private constructors, and not rely on calling through the inheritance hierarchy for either flattening or unflattening(CreateProc). 2014-08-21 07:59:51 -07:00
SkDisplacementMapEffect.h Reimplement deserialization of SkImageFilter's uniqueID. 2014-08-26 12:27:12 -07:00
SkDrawExtraPathEffect.h Export effects classes with SK_API. 2012-10-12 14:41:39 +00:00
SkDropShadowImageFilter.h Reimplement deserialization of SkImageFilter's uniqueID. 2014-08-26 12:27:12 -07:00
SkEmbossMaskFilter.h Simplify flattening to just write enough to call the factory/public-constructor for the class. We want to *not* rely on private constructors, and not rely on calling through the inheritance hierarchy for either flattening or unflattening(CreateProc). 2014-08-21 07:59:51 -07:00
SkGradientShader.h Sanitizing source files in Housekeeper-Nightly 2014-05-23 03:03:34 +00:00
SkLayerDrawLooper.h Simplify flattening to just write enough to call the factory/public-constructor for the class. We want to *not* rely on private constructors, and not rely on calling through the inheritance hierarchy for either flattening or unflattening(CreateProc). 2014-08-21 07:59:51 -07:00
SkLayerRasterizer.h Simplify flattening to just write enough to call the factory/public-constructor for the class. We want to *not* rely on private constructors, and not rely on calling through the inheritance hierarchy for either flattening or unflattening(CreateProc). 2014-08-21 07:59:51 -07:00
SkLerpXfermode.h Simplify flattening to just write enough to call the factory/public-constructor for the class. We want to *not* rely on private constructors, and not rely on calling through the inheritance hierarchy for either flattening or unflattening(CreateProc). 2014-08-21 07:59:51 -07:00
SkLightingImageFilter.h Reimplement deserialization of SkImageFilter's uniqueID. 2014-08-26 12:27:12 -07:00
SkLumaColorFilter.h Simplify flattening to just write enough to call the factory/public-constructor for the class. We want to *not* rely on private constructors, and not rely on calling through the inheritance hierarchy for either flattening or unflattening(CreateProc). 2014-08-21 07:59:51 -07:00
SkMagnifierImageFilter.h Simplify flattening to just write enough to call the factory/public-constructor for the class. We want to *not* rely on private constructors, and not rely on calling through the inheritance hierarchy for either flattening or unflattening(CreateProc). 2014-08-21 07:59:51 -07:00
SkMatrixConvolutionImageFilter.h Reimplement deserialization of SkImageFilter's uniqueID. 2014-08-26 12:27:12 -07:00
SkMatrixImageFilter.h Reimplement deserialization of SkImageFilter's uniqueID. 2014-08-26 12:27:12 -07:00
SkMergeImageFilter.h Reimplement deserialization of SkImageFilter's uniqueID. 2014-08-26 12:27:12 -07:00
SkMorphologyImageFilter.h Reimplement deserialization of SkImageFilter's uniqueID. 2014-08-26 12:27:12 -07:00
SkOffsetImageFilter.h Reimplement deserialization of SkImageFilter's uniqueID. 2014-08-26 12:27:12 -07:00
SkPaintFlagsDrawFilter.h change SkDrawFilter::filter to return a bool, where false means don't-draw 2012-11-26 20:26:54 +00:00
SkPerlinNoiseShader.h Simplify flattening to just write enough to call the factory/public-constructor for the class. We want to *not* rely on private constructors, and not rely on calling through the inheritance hierarchy for either flattening or unflattening(CreateProc). 2014-08-21 07:59:51 -07:00
SkPictureImageFilter.h Reimplement deserialization of SkImageFilter's uniqueID. 2014-08-26 12:27:12 -07:00
SkPixelXorXfermode.h Simplify flattening to just write enough to call the factory/public-constructor for the class. We want to *not* rely on private constructors, and not rely on calling through the inheritance hierarchy for either flattening or unflattening(CreateProc). 2014-08-21 07:59:51 -07:00
SkPorterDuff.h Revert "Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning"" 2013-10-31 17:28:30 +00:00
SkRectShaderImageFilter.h Reimplement deserialization of SkImageFilter's uniqueID. 2014-08-26 12:27:12 -07:00
SkTableColorFilter.h Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:09:54 +00:00
SkTableMaskFilter.h Simplify flattening to just write enough to call the factory/public-constructor for the class. We want to *not* rely on private constructors, and not rely on calling through the inheritance hierarchy for either flattening or unflattening(CreateProc). 2014-08-21 07:59:51 -07:00
SkTestImageFilters.h Simplify flattening to just write enough to call the factory/public-constructor for the class. We want to *not* rely on private constructors, and not rely on calling through the inheritance hierarchy for either flattening or unflattening(CreateProc). 2014-08-21 07:59:51 -07:00
SkTileImageFilter.h Reimplement deserialization of SkImageFilter's uniqueID. 2014-08-26 12:27:12 -07:00
SkTransparentShader.h Simplify flattening to just write enough to call the factory/public-constructor for the class. We want to *not* rely on private constructors, and not rely on calling through the inheritance hierarchy for either flattening or unflattening(CreateProc). 2014-08-21 07:59:51 -07:00
SkXfermodeImageFilter.h Reimplement deserialization of SkImageFilter's uniqueID. 2014-08-26 12:27:12 -07:00