It is even as I feared and expected.  This Cairo renderer breaks filters which use the BackgroundImage source even more than they were already (instead of getting the correct sort of results with rendering-in-weird-blocks problems, it gets quite wrong results as well as the rendering-in-weird-blocks while editing, though not on export or full redraw).

Here is my sample case: a frosted glass type filter.  An feColorMatrix on SourceGraphic and a feGaussianBlur on BackgroundImage, feComposite in of those two, feMerge that with SourceGraphic.

- SVG (white frosted box won't appear in Firefox or Chrome which don't support BackgroundImage but still try to process the filter and so mess it up): http://chrismorgan.info/temp/frost-filter.svg
- PNG of correct rendering (done by cloning the image, applying the blur to it directly, and clipping it on a clone of the box as I don't have a client handy which renders BackgroundImage-utilising filters correctly - is there any?): http://chrismorgan.info/temp/frost-filter-nofilter.png
- PNG export from some time ago with a couple of changes (less blur and white text) (note the discontinuity in the blurring in the middle - that was the subject of Bug 501873; while editing it tended to be a lot patchier than it is in the export): http://chrismorgan.info/temp/frost-filter.png (ignore the fact that it's out horizontally by half a pixel or two - not sure why, I probably made a mistake in the parameters when exporting it back then)
- PNG export (about the same when rendered during editing) from Inkscape now with Cairo rendering: http://chrismorgan.info/temp/frost-filter-cairo.png
- PNG of how Eye of GNOME renders the SVG (it does the blurring in the middle rather than on the edge as Inkscape now does until you edit the filter...): http://chrismorgan.info/temp/frost-filter-eog.png

Note in the current export and the EOG export (both Cairo) the box border at the bottom is also rendered incorrectly (missing the bottom pixel), probably due to this filter (as the "how it should be rendered" is correct).

Filter treatment in general is a lot more flimsy than it used to be.  When it loads this document of mine, Inkscape blurs the middle of the box rather than the edge (which doesn't match what EOG does), but when I change any value in the filter (colour matrix parameters, blur level, etc.), it changes to blurring the edge of the box and not blurring the middle, as EOG does (which still isn't right, as it should blur the whole lot).  Undoing the change keeps it with this behaviour - reverting is the only way to get back to the middle-blur way.  There are various other things where it just doesn't update the display properly - for example, try killing the second part of the merge by just clicking on the grab handle - the image isn't redrawn until you modify something of another type in there - e.g. change the operator in the Composite, or delete the Merge.  Try playing with this document and I think you'll find quite a variety of filter support and filter editing problems.  (Some of which will be bugs in Inkscape, some of which will be bugs in Cairo  - but I hope that you can sort them all out nice and quickly: wouldn't that be nice!)

Another messy but curious thing: try moving the box around the document slowly (kill snapping) and the filter is rendered in all sorts of wonky ways - but at times it will be rendering it perfectly.  But when you get it in a perfect position, it'll make a mess of the edges as soon as you deselect it and the bounding box and corner grips are hidden.

I tried a few other documents that I have which use other non-BackgroundImage filters and they seem to be rendering correctly, which is good.

I can also say that "average quality" rendering of Gaussian blurs with high levels of blur looks far worse than it used to (though it's definitely faster).

I can see this sort of thing becoming a bit of a headache in dealing with rendering bugs when different versions of Cairo are used.  Things will be much less dependent only upon Inkscape.

Hmm.  This email has grown from what I intended.  Isn't that so common.  I hope you get the gist of it, anyway: worse BackgroundImage rendering bugs than before, waahhh!


-- Chris