Open Bug 1678867 Opened 3 years ago Updated 3 years ago

SVG circle inaccurate rendering

Categories

(Core :: Graphics: WebRender, defect, P3)

Firefox 83
defect

Tracking

()

People

(Reporter: magne.sandve, Unassigned)

References

(Blocks 1 open bug)

Details

Attachments

(4 files)

Attached image SVG_circle_before.png

User Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:83.0) Gecko/20100101 Firefox/83.0

Steps to reproduce:

I updated Firefox to version 83 (from whatever was the latest release version before that), and suddenly SVG circles no longer render properly.

Example SVG:
<svg id="WpcPrevButtonImg" class="wpcButtonImg" viewBox="-3 -3 62 62" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#WpcPrevSymbolMask)">
<circle class="wpcButtonHole" cx="28" cy="28" r="28" filter="url(#WpcButtonHoleBlur)" shape-rendering="geometricPrecision"/>
<use xlink:href="#WpcRndButton" />
</g>
</svg>

I'm not including the referenced parts (filter and xlink) because they don't seem to be relevant to the issue.

Actual results:

The circle is drawn out of center (right on attached image), and it seems maybe also a bit too large. It looks like rounding errors to me.

Expected results:

It should be rendered correctly (left on attached image), like it used to be, and like it still is in Chrome and Inkscape.

I discovered that applying a CSS filter that does nothing makes it render correctly, e.g: filter: drop-shadow(0 0 0 #000);

Added unzoomed example with and without filter.

I just discovered that applying the filter doesn't actually fix it, it just mitigates the bug somewhat. When I had the page zoomed in, it seemed to fix it, but when zooming out, the circle is still offset even with the filter applied. Since I can't find any way to downgrade the Firefox installation, I can't show how it used to render, but the circle used to be perfectly centered also when not zoomed in.

Bugbug thinks this bug should belong to this component, but please revert this change in case of error.

Component: Untriaged → Graphics
Product: Firefox → Core

Can you upload your about:support?

Flags: needinfo?(magne.sandve)

And can you provide a complete testcase that reproduces the issue? Ie so I can try it and see if the issues appears on any computer I have access to.

Attached file about:support output
Flags: needinfo?(magne.sandve)
Attached file Testcase

I'm not sure exactly what triggers this, so I simply included all the referenced parts of the SVG in the test case.

Thank you. Does the bug go away if you set the pref gfx.webrender.force-disabled to true in about:config and restart?

Flags: needinfo?(magne.sandve)

Yes, that makes it render it properly again.

Flags: needinfo?(magne.sandve)

Thanks. I think I can reproduce the problem on my machine.

And when you say "zoom" do you mean reflow zoom from ctrl-+/- or pinch zoom from pinching a touchpad? Or something else?

Flags: needinfo?(magne.sandve)
Status: UNCONFIRMED → NEW
Component: Graphics → Graphics: WebRender
Ever confirmed: true

I mean Ctrl +/-, although I assume the result would be the same if pinching on a touchpad.

Flags: needinfo?(magne.sandve)
See Also: → 1678515

The severity field is not set for this bug.
:jimm, could you have a look please?

For more information, please visit auto_nag documentation.

Flags: needinfo?(jmathies)
Blocks: gfx-triage
Severity: -- → S4
Flags: needinfo?(jmathies)
Priority: -- → P3

Tim, do you have the time to dig deeper here?

Flags: needinfo?(tnikkel)

Bug 1678515 was the result of my digging deeper, I had to abandon it. I don't think I'll get time to dig in again.

Flags: needinfo?(tnikkel)
Blocks: wr-correctness
No longer blocks: gfx-triage
See Also: → 1714208
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: