[Webkit-unassigned] [Bug 237230] New: REGRESSION (iOS 15.4 beta) - WebGL race condition between clearing depth buffer and switching framebuffers
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Feb 25 15:54:16 PST 2022
https://bugs.webkit.org/show_bug.cgi?id=237230
Bug ID: 237230
Summary: REGRESSION (iOS 15.4 beta) - WebGL race condition
between clearing depth buffer and switching
framebuffers
Product: WebKit
Version: Safari 15
Hardware: iPhone / iPad
OS: iOS 15
Status: NEW
Severity: Normal
Priority: P2
Component: WebGL
Assignee: webkit-unassigned at lists.webkit.org
Reporter: christoph at 8thwall.com
CC: dino at apple.com, kbr at google.com, kkinnunen at apple.com
This is a regression between iOS 15.3.1 and 15.4.
As can be see in this demo: https://codepen.io/cmb8/pen/GROXmKp
We should see two gears spinning normally, but instead we get visual artifacts that obscure the objects from getting properly rendered.
This behavior is caused by calling:
context.clear(context.DEPTH_BUFFER_BIT)
then immediately calling:
context.bindFramebuffer(...)
If we add a finish() call between the two calls, the issue does not occur.
This problem affects many 8th Wall projects that use three.js, like
our sample project here: https://8thwall.8thwall.app/unitcube-threejs/
or more recently, this Super Bowl promotional tie-in from Kia: https://www.kiadogmentedreality.com
Disabling "WebGL via Metal" in "Experimental WebKit Features" and relaunching Safari fixes the behavior.
Video of expected behavior: https://www.youtube.com/watch?v=SAp_RXDD7_0
Video of unexpected behavior: https://www.youtube.com/watch?v=d8cr-LP40hs
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20220225/82130b96/attachment-0001.htm>
More information about the webkit-unassigned
mailing list