Webrender: The horizontal blur pass sometimes seems to blur in garbage from the side

Created on 25 Oct 2017  路  9Comments  路  Source: servo/webrender

https://bugzilla.mozilla.org/show_bug.cgi?id=1411693

Testcase (created by Darkspirit)

When hovering over the element on the page, the box-shadow sometimes has extra shadows on the right edges. Here are two screenshots with and without the glitch, and with gfx.webrender.debug.render-targets enabled:

good frame:
box-shadow-good-frame

bad frame:
box-shadow-bad-frame

You can see that in the bad frame, the render target in the middle has a box-shadow whose right edge is a bit brighter than in the good frame. It looks like the right edge got some stuff blurred in from beyond the right edge of the rectangle that is supposed to be sampling from.

bugzilled bug

All 9 comments

I can reproduce this with a static box shadow that has a fractional blur radius. There must be somewhere in the code that ends up with a rounding error when a fractional blur radius is supplied. I'll work on a fix today.

Note to self: the blur radius is correctly rounded to device pixels, but the CSS space blur radius is retained as a float. Probably related to that.

This got better with the latest webrender update. (Thank you!) Those unwanted things on the right and bottom are gone and only a white flickering is left.

Commits between the previous and latest webrender update:
https://github.com/servo/webrender/compare/4b8493d6bdc64d2d83202ac15b06b0d4b14c6e76...c0194de78ce26106a8497484dc8d159069e3a482

@glennw any news on this?

@Gankro Not specifically, although the recent work I've done on box-shadows should make this easier to fix / debug. It's also possible that it may have been fixed, but I'm guessing not, from your comment here?

I was just following up on it since I vaguely recalled you mentioning this was going to be fixed soon. Just triaging some fuzziness that has been attributed to this.

Summary of bug 1411693 comment 18:
Probably #2471 made things far better. Testcase 2 shows the remaining problem more clearly. (Screencast)

This is resolved with the recent snapping fixes for clip masks.

Was this page helpful?
0 / 5 - 0 ratings