Open Bug 1840511 Opened 1 year ago Updated 7 months ago

WebRender compositing of rotated SVG content can produce off-by-1 color-channel values, e.g. when compositing same color over itself

Categories

(Core :: Graphics: WebRender, defect)

defect

Tracking

()

People

(Reporter: dholbert, Unassigned)

References

(Blocks 2 open bugs)

Details

I'm spinning off this bug from bug 1824242 to cover the underlying WebRender bug, and I'll land a fuzzy test annotation over in bug 1824242 to paper over the visually-imperceptible test failures there.

STR:

  1. Remove all fuzzy allowances for tests
    svg-rotate-angle-45-001.html
    svg-rotate-angle-45-011.html
    svg-rotate-angle-45-022.html
    (in the test as well as in our .ini files)

  2. (optional) Remove the red shapes in those tests, so that it's just green-on-green.

  3. Run the WPT test.

ACTUAL RESULTS:
Test failure, with some streaks of pixels rendering as RGB(0, 127,0) in the testcase vs. RGB(0, 128, 0). These are clearly wrong, since we're just compositing green over green. There's no other color involved here (if you remove the red shapes per comment 2).

EXPECTED RESULTS:
No test failure.

See bug 1824242 comment 9 for some speculation about what's going on.

See Also: → 1840747

Update: as part of bug bug 1824242, I added a reftest for this bug at layout/reftests/bugs/1840511-1.html, here:
https://hg.mozilla.org/integration/autoland/rev/2e6c87c74998#l2.3

...with a config-specific expected-fuzzy annotation. The annotation is "strict" in that it'll turn orange for unexpected-pass if we happen to render the test without this bug), since I'm not including 0 in the allowed ranges of the color-channel-difference & pixel-count:
https://hg.mozilla.org/integration/autoland/rev/2e6c87c74998#l4.15

Hopefully that'll help us find out if this bug becomes fixed.

I've also just noticed in response to a review comment that this bug reproduces with just HTML/CSS content (no SVG), with two superimposed divs of the same solid color with one of them being rotated. I'll land an additional patch to add that HTML/CSS-only testcase as 1840511-2.html.

You need to log in before you can comment on or make changes to this bug.