Bug 237006 - REGRESSION (iOS 15.4): Repaint issues with BabylonJS
Summary: REGRESSION (iOS 15.4): Repaint issues with BabylonJS
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebGL (show other bugs)
Version: Safari 15
Hardware: iPhone / iPad iOS 15
: P2 Major
Assignee: Nobody
URL:
Keywords: InRadar
Depends on: webglmsaaregr
Blocks:
  Show dependency treegraph
 
Reported: 2022-02-21 16:40 PST by MattT
Modified: 2022-05-26 15:02 PDT (History)
13 users (show)

See Also:


Attachments
A video of the bug happening (7.90 MB, video/quicktime)
2022-02-21 16:40 PST, MattT
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description MattT 2022-02-21 16:40:51 PST
Created attachment 452797 [details]
A video of the bug happening

This BabylonJS playground and others work fine on iOS 15.3: https://playground.babylonjs.com/#RLBZPF

On iOS 15.4 beta 3+, drag the camera around with touch and the problem will become clear with the screen drawing over itself several times. The Babylon team says everything seems fine in the gl stack. Attached is a video of the bug.
Comment 1 Radar WebKit Bug Importer 2022-02-22 12:52:15 PST
<rdar://problem/89311294>
Comment 2 Kenneth Russell 2022-02-22 15:00:53 PST
I wonder whether this might be fixed with the ANGLE roll forthcoming in Bug 235746. Several issues have been fixed upstream in resolving of multisampled renderbuffers to textures.
Comment 3 MattT 2022-03-05 21:00:05 PST
(In reply to Kenneth Russell from comment #2)
> I wonder whether this might be fixed with the ANGLE roll forthcoming in Bug
> 235746. Several issues have been fixed upstream in resolving of multisampled
> renderbuffers to textures.

Still happening in beta5.. not sure if this change you mentioned is in there yet.
Comment 4 Roberto Ranon 2022-03-16 07:22:54 PDT
I see a similar problem on three.js v128, on both iOS 15.4, iPad OS 15.4, and macOS 12.3 (on M1 Mac). These problems were not three in previous os versions.

Can provide steps to reproduce: also, the problem is with gltf models with transmission, i.e. that require the renderer to render to multi-sampled texture.
Comment 5 MattT 2022-03-16 10:02:50 PDT
The bug reports are beginning to flood in various Babylon features broken in 15.4. Thousands of devs rely on this library for commercial projects, would be good to fix ASAP :/
Comment 6 Martin 2022-03-17 07:22:28 PDT
likely related https://bugs.webkit.org/show_bug.cgi?id=238022
Comment 7 Kenneth Russell 2022-03-19 21:44:21 PDT
On an M1 MacBook Pro and Safari Technology Preview Release 141 (Safari 15.4, WebKit 17614.1.3.8), with "WebGL via Metal" turned on, this example renders correctly. Perhaps this configuration isn't reproducing the same problem seen on iOS.

It also renders correctly on Chrome Canary 102.0.4952.2 (Official Build) canary (arm64) with --use-angle=metal.
Comment 8 Kimmo Kinnunen 2022-03-22 02:45:30 PDT
Thanks for the report.
Even though Ken reports no repro on his side, I'll start this with the assumption this is related to the 15.4 msaa regression, linked to in the depends on -section.
Comment 9 Dean Jackson 2022-03-28 17:45:01 PDT
Confirmed this is fixed in https://bugs.webkit.org/show_bug.cgi?id=238171
Comment 10 Brent Fulgham 2022-05-26 15:02:33 PDT
This fix shipped with Safari 15.5 (all platforms).