Closed Bug 1556433 Opened 5 months ago Closed 4 months ago

Canvas Flicker in 67.0

Categories

(Core :: Canvas: 2D, defect, P3)

67 Branch
Unspecified
macOS
defect

Tracking

()

RESOLVED FIXED
mozilla69
Tracking Status
firefox-esr60 --- unaffected
firefox67 --- wontfix
firefox68 --- fixed
firefox69 --- fixed

People

(Reporter: ptylde, Assigned: lsalzman, NeedInfo)

References

Details

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

Attachments

(2 files)

Attached video flicker.mov

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:67.0) Gecko/20100101 Firefox/67.0

Steps to reproduce:

Canvas is flickering when viewed in the browser.

Mac (Retina 5K, 27-inch, 2017), Version 10.13.3
Firefox Quantum 67.0

Examples:
https://codepen.io/abeatrize/pen/WBLYGj
https://codepen.io/MSEdgeDev/pen/RpgexG

Actual results:

Canvas flickers

Expected results:

Canvas shouldn't flicker

Component: Untriaged → Canvas: 2D
Product: Firefox → Core
Duplicate of this bug: 1556272
Status: UNCONFIRMED → NEW
Ever confirmed: true
Keywords: regression
OS: Unspecified → macOS
Priority: -- → P3
Whiteboard: [gfx-noted]

This appears to be a bug in client texture storage using GL_ARB_sync for fencing textures, and those fences somehow getting signaled too early. Seemingly this issue goes away in later macOS SDKs, which further suggests this is probably an OpenGL bug.

For now, the sanest solution seems to be to just not allow shared buffer provider and client texture storage to coexist until we can find some workaround.

Pushed by lsalzman@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/dedfa9da9765
disable shared buffer provider when using direct texture mapping. r=nical
Status: NEW → RESOLVED
Closed: 4 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla69
Assignee: nobody → lsalzman

Comment on attachment 9070713 [details]
Bug 1556433 - disable shared buffer provider when using direct texture mapping. r?nical

Beta/Release Uplift Approval Request

  • User impact if declined: Canvas2D flickering for all macOS users.
  • Is this code covered by automated tests?: Yes
  • Has the fix been verified in Nightly?: Yes
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): Just disables a Canvas2D performance optimization that is causing problems on macOS.
  • String changes made/needed:
Attachment #9070713 - Flags: approval-mozilla-beta?

Comment on attachment 9070713 [details]
Bug 1556433 - disable shared buffer provider when using direct texture mapping. r?nical

approved for 68.0b10

Attachment #9070713 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Flags: qe-verify+
QA Whiteboard: [qa-triaged]

I cannot reproduce this issue on MacBook Pro (13-inch, 2017) with OS X 10.13.6 or iMac (21.5-inch, late 2013) with OS X 10.14 on the Firefox release version v67.0.2 or affected Nightly builds. Also attempted o reproduce on a MacBook Pro with a 4k monitor.
Is this bug supposed to reproduce on these systems? Is it specific to the hardware on the 2017 27.5-inch Macintosh?

This being said, I can't validate this issue.
@ptylde: Can you please verify whether this issue reproduces in the latest Firefox Beta and latest Firefox Nightly? It should still reproduce on the release version for now.
You can get them from https://www.mozilla.org/en-US/firefox/channel/desktop/

Thank you for your contribution!

Flags: needinfo?(ptylde)
You need to log in before you can comment on or make changes to this bug.