Open Bug 1421537 Opened 7 years ago Updated 2 years ago

SVG gooey breaking

Categories

(Core :: Graphics, defect, P3)

28 Branch
Unspecified
Windows
defect

Tracking

()

Tracking Status
firefox-esr52 --- wontfix
firefox-esr60 --- wontfix
firefox59 --- wontfix
firefox60 --- wontfix
firefox61 --- wontfix
firefox62 --- wontfix

People

(Reporter: wpotgid, Unassigned)

References

(Depends on 1 open bug)

Details

(Keywords: regression, testcase, Whiteboard: [gfx-noted])

Attachments

(3 files)

Attached image iJFUj (1).png (deleted) —
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36 Steps to reproduce: This error only occurs when on windows. I am busy animating a gooey effect but when the animation starts it looks like the goo has an opacity but it should be a solid color. https://jsfiddle.net/lastgiven/kqmabvxs/2/ This is working on a Mac with version 57. Actual results: When you open the jsfiddle you will see that there is a grey and a black version both needs to be a solid color but the grey version has a white inside. Expected results: Both of the element should be solid color this is working on Mac but not on windows.
Component: Untriaged → Graphics
Product: Firefox → Core
OS: Unspecified → Windows
Status: UNCONFIRMED → NEW
Has STR: --- → yes
Component: Graphics → SVG
Ever confirmed: true
Keywords: testcase
Version: 57 Branch → 28 Branch
presumably either bug 924102 or bug 924103
Component: SVG → Graphics
Yeah -- looks like bug 924102 added an implementation and bug 924103 turned it on (per its first comment). So in other words, this is probably a bug in code that was written in bug 924102, and then activated (right afterwards) in bug 924103. Let's mark it as a regression from the first bug (where the code was written), since that seems more rational from a defect-tracking perspective, and that seems to be what we've done for the majority of other Moz2D regressions.
Blocks: 924102
Flags: needinfo?(mstange)
If it only affects Windows, it's probably a bug within the Direct2D FilterNode implementation. I'll try to create a reduced testcase.
This question and it's answer are likely worth a read: https://stackoverflow.com/questions/47531225/svg-gooey-effect-not-working-on-the-latest-version-of-firefox there's an analysis of the issue(s) in the answer.
Whiteboard: [gfx-noted]
Attached file testcase (deleted) —
The problem seems to be that if a filter produces an "alpha" value that is greater than 1, instead of clamping it at 1, we let it affect the rgb values. And then at some point we clamp all channels, but the damage has already been done. I think we pipe the color filter into a premultiplication filter, so it could be that premultiplication filter that multiplies the RGB channels with an unclamped alpha value.
Flags: needinfo?(mstange)
Attached file reference (deleted) —
Depends on: 1450262
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: