Closed Bug 1395127 Opened 8 years ago Closed 8 years ago

Inconsistent drawing behavior with canvas arc

Categories

(Core :: Graphics, defect)

55 Branch
Unspecified
All
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla57
Tracking Status
firefox-esr52 --- unaffected
firefox55 --- wontfix
firefox56 --- fixed
firefox57 --- fixed

People

(Reporter: tknudsen, Assigned: lsalzman)

References

Details

(Keywords: regression, Whiteboard: gfx-noted)

Attachments

(2 files)

User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:55.0) Gecko/20100101 Firefox/55.0 Build ID: 20170816204344 Steps to reproduce: Draw a circle slice with a radius of 300px from 3.38rad to 3.80rad clockwise. Minimal reproduction: https://jsfiddle.net/4rpo2t10/ A more complex example that shows multiple drawing errors: https://jsfiddle.net/L1xg2gzg/11/ If the radius is changed from 300px to 301px or 299px the slice is drawn correctly. Tested as working on version 54 Tested as not working in safe mode on version 55.0.2 Tested as not working on version 56b7 and 57 nightly All tests done on Ubuntu 17.04 Attached are screenshots of rendering of the complex example on Firefox 54,55,56b7,57n. Actual results: The slice is cut off at the top. Expected results: The slice should look like the slice from 1.38rad to 1.80rad in the minimal reproduction.
Sorry forgot to update minimal reproduction with the second slice, can be found here https://jsfiddle.net/4rpo2t10/1.
I can reproduce the problem on Windows10 if HWA is disabled.
Component: Untriaged → Canvas: 2D
Keywords: regression
OS: Unspecified → All
Product: Firefox → Core
Blocks: 1340627
Status: UNCONFIRMED → NEW
Component: Canvas: 2D → Graphics
Ever confirmed: true
Flags: needinfo?(lsalzman)
Whiteboard: gfx-noted
Narrowed this down to our silly even rounding modification to Skia. When they introduced analytic AA, they did not introduce codepaths for the even rounding case, as Skia upstream does not test with even rounding at all. Also some fuzz tweaks for slight rendering differences resulting from this fix.
Assignee: nobody → lsalzman
Status: NEW → ASSIGNED
Flags: needinfo?(lsalzman)
Attachment #8904639 - Flags: review?(jmuizelaar)
Attachment #8904639 - Flags: review?(jmuizelaar) → review+
Pushed by lsalzman@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/24aaf120e7a9 fix Skia's AAA to work with even rounding. r=jrmuizel
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla57
Please request Beta approval on this when you get a chance.
Flags: needinfo?(lsalzman)
Pushed by lsalzman@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/67281ccb998f adjust fuzz in layout/reftests/backgrounds/attachment-local-clipping-image-6.html. r=mchang
Comment on attachment 8904639 [details] [diff] [review] fix Skia's AAA to work with even rounding Approval Request Comment [Feature/Bug causing the regression]: bug 1340627 [User impact if declined]: Broken rendering of curves when using the Skia content backend (all platforms except Windows + HWA). [Is this code covered by automated tests?]: yes [Has the fix been verified in Nightly?]: yes [Needs manual test from QE? If yes, steps to reproduce]: no [List of other uplifts needed for the feature/fix]: [Is the change risky?]: Low risk [Why is the change risky/not risky?]: Small change to ensure that path coordinates are rounded in a way that is consistent with our previous long-standing rounding mode modification to Skia. The breakage occurred because Skia upstream introduced code that was not consistent with aforementioned modification. [String changes made/needed]: none
Flags: needinfo?(lsalzman)
Attachment #8904639 - Flags: approval-mozilla-beta?
(In reply to Pulsebot from comment #9) > Pushed by lsalzman@mozilla.com: > https://hg.mozilla.org/integration/mozilla-inbound/rev/67281ccb998f > adjust fuzz in > layout/reftests/backgrounds/attachment-local-clipping-image-6.html. r=mchang Oops, that was supposed to be committed under bug 1366152. Backed out and recommitted that under correct bug number.
Backout by lsalzman@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/22446487eed3 Backed out changeset 67281ccb998f for incorrect bug number. r=backout
Comment on attachment 8904639 [details] [diff] [review] fix Skia's AAA to work with even rounding Fix for graphics crash, verified in nightly, please uplift for beta 11
Attachment #8904639 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Bah, I uplifted this yesterday but forgot to mark the bug afterward. This made it in for b11. https://hg.mozilla.org/releases/mozilla-beta/rev/59563d7fc7b6
Blocks: 1401920
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: