Closed Bug 445410 Opened 16 years ago Closed 16 years ago

Regression in filter rendering inside transform

Categories

(Core :: SVG, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: roc, Assigned: roc)

References

Details

(Keywords: regression, testcase)

Attachments

(3 files, 1 obsolete file)

See attached testcase. When you scroll up and down, the filtered rectangle is not repainted correctly. This seems to be a recent regression, so I'm guessing bug 418201. The testcase was reduced from bug 431984.
I'm pretty sure this is https://bugs.freedesktop.org/show_bug.cgi?id=16469. I'll see if I can make any progress on that.
Attached file testcase reference
better testcase reference
To look closely at this problem via Gecko, break where nsSVGFilterFrame::FilterPaint calls nsSVGUtils::CompositeSurfaceMatrix. In attachment #329764 [details] we have a 200x400 image surface that's all blue (actually there's an extra row and column that are transparent but ignore that), it has a device offset of -20,-40 because filter space is 10% bigger along each edge (SVG default) but we've computed a tight bounding box and created the temporary surface with the right size and positioned it appropriately in filter space. We then go ahead and draw that with the 'fini' transform which maps filter space to device space.
The patch attached to https://bugs.freedesktop.org/show_bug.cgi?id=16469 fixes this.
Status: NEW → ASSIGNED
Thanks Jeff! Can we land that patch in our cairo now, or do we need to wait? I'd like to know if it fixes the issue in bug 431984.
We could, I'd rather upstream it first though -- I'm trying to get bug 446323 landed and would prefer to avoid having another patch (albeit a tiny one).
Great, this is mostly fixed now. However, the reftest doesn't pass because there's a blurry edge. This is probably the same rounding issue affecting bug 445079.
Flags: wanted1.9.1?
hi. I am not sure if this is the exact same issue, but it might be as it regards the use of filters inside transformed groups in SVG documents.

Problem summary: When a filter is used within a group that is transformed, it is not painted at the correct position.

I am adding a test case to show the problem.
SVG show problem with transformed filtering. Some more comments inside the file.
Attachment #346408 - Attachment description: SVG show problem with transformed filtering → SVG show problem with transformed filtering. Move the mouse over the rectangles to see the problem.
Comment on attachment 346408 [details]
SVG show problem with transformed filtering. Move the mouse over the rectangles to see the problem.

This is bug 443114
Attachment #346408 - Attachment is obsolete: true
This bug was fixed by Jeff's cairo patch.
Status: ASSIGNED → RESOLVED
Closed: 16 years ago
Flags: wanted1.9.1? → wanted1.9.1+
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: