Description[SVG] DisplayList-based patterns.
Instead of building an ImageBuffer tile (with all the ills of record
time rasterization), build a DisplayList tile and use Skia's
new SkPictureShader mechanism to fill/stroke the shape.
To facilitate this, Pattern is extended to support both bitmap and
picture shaders (the latter only in repeatXY mode -- the only mode
currently used by SVG).
Patterns (and their SkShaders) are cached per RenderSVGResourcePattern
per client. Internally, SkPictureShader also caches its rasterized tile
so there should be no performance degradation.
A handful of tests (about 9) require minor rebaselining (and a couple
have been updated for incorrect patternUnits).
R=pdr@chromium.org,schenney@chromium.org,fs@opera.com,ed@opera.com
BUG=401814, 425278
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=184271
Patch Set 1 #Patch Set 2 : Rebased #Patch Set 3 : 9 tests marked for rebaseline #
Total comments: 16
Patch Set 4 : Updated per review. #Patch Set 5 : rebased & refactored #Patch Set 6 : re-add test tweaks & expectations #
Total comments: 14
Patch Set 7 : review comments #
Total comments: 8
Patch Set 8 : more review comments #Patch Set 9 : rebased #Messages
Total messages: 22 (3 generated)
|