RESOLVED DUPLICATE of bug 106221 106041
Some SVG filters don't work with tiled drawing
https://bugs.webkit.org/show_bug.cgi?id=106041
Summary Some SVG filters don't work with tiled drawing
Tim Horton
Reported 2013-01-03 14:23:57 PST
Attachments
Testcase (601 bytes, image/svg+xml)
2013-01-04 14:39 PST, Simon Fraser (smfr)
no flags
Dirk Schulze
Comment 1 2013-01-04 11:55:11 PST
I am unsure how WebKit handles tiled drawings if I recover it correctly. But we limit the filter size (the area that get filtered) to WebCore's viewport IIRC. That might or might not be a problem for tiled drawing.
Simon Fraser (smfr)
Comment 2 2013-01-04 14:39:56 PST
Created attachment 181375 [details] Testcase
Simon Fraser (smfr)
Comment 3 2013-01-04 14:46:03 PST
If you resize the window down so that only 1 tile shows, it starts to work. I think some caching is happening when we attempt to draw the filtered element into other tiles where it's clipped out, and that empty version is getting cached.
Simon Fraser (smfr)
Comment 4 2013-01-04 14:54:01 PST
Turning off the caching in RenderSVGResourceFilter fixes this. So this is about the filtered content being rendered into each tile, but clipped out in some, and a bad version getting cached.
Simon Fraser (smfr)
Comment 5 2013-01-04 15:07:24 PST
Of course RenderSVGShape::paint() bails at: if (!SVGRenderSupport::paintInfoIntersectsRepaintRect(boundingBox, m_localTransform, paintInfo)) return; when painting tiles that don't contain the filtered shape. SVGRenderingContext needs to educated about multiple paint passes of the same rendered into different contexts with different clips.
Tim Horton
Comment 6 2013-03-12 05:05:45 PDT
Confusingly, this seems to have progressed. Will bisect the progression.
Tim Horton
Comment 7 2013-03-12 05:14:20 PDT
Oh, Florin actually explicitly fixed this. Duping. *** This bug has been marked as a duplicate of bug 106221 ***
Note You need to log in before you can comment on or make changes to this bug.