IOS 15 and WebGL 2 Issues

I just updated my IPhone SE and IPad Air 2 to IOS 15 and tested my app.
It seems that the WebGL 2 support is somehow broken regarding SSAO2.

On my IPad i just get a blank/white screen if i use SSAO2. On my IPhone it works but the background color is always black (not the clearcolor i want).

Here a simple PG: it should have a green background with SSAO2 enabled:
https://playground.babylonjs.com/#963KHM

Can somebody please test this with other IOS devices. Is it working for newer devices? What would be the best way to detect those issues at runtime? … maybe i have to disable webgl 2 for IOS devices in general :frowning:

@CraigFeldspar is actually looking into related bugs but I guess this one might lie deep in their browser stack :frowning: Could you open a ticket on the webkit bug tracker ?

I think its not very helpful to create an issue like “SSAO2 in BabylonJS does not work” in the webkit bug tracker. I think we need a more detailed/technical description for the problem. Maybe @CraigFeldspar knows the underlying reason why its not working.

The thing is it can be plenty of things and I would bet on a weird bug in their draw buffers rendering or msaa with draw buffers.

No idea if it helps. This webgl2 threejs example i the only one which is not working: three.js examples.

Yup it uses multiple attachments as well so it is definitely related.

Could some please test my playground with newer IOS devices and also on Mac with Safari 15. I fear that our app is currently broken for all Safari 15 users :worried:

Might be an evolving situation at the moment. As of this morning, I tried my web app on Safari iOS 15, seems to load fine (didn’t yesterday). https://jam4d.herokuapp.com

@FBa it is because I added a workaround in babylon yesterday but they will take WAY MORE TIME to release the fix… It has actually already been addressed in WebKit but you know WebGL and Safari…

1 Like

There is a long list of failing conformance tests in the webkit bug tracker:
https://bugs.webkit.org/buglist.cgi?bug_status=open&content=webgl%2F2.0&no_redirect=1&order=changeddate%20DESC%2Cpriority%2Cbug_severity&query_format=specific

I think it may take a while before we get proper WebGL2 support :frowning:

No more crashes when I enabled Develop → Experimental Features → GPU Process: WebGL :eyes:

@Kesshi I ran a couple of tests on Browserstack (iPad Pro 12.9 2018, Safari, IOS15 and iPhone 11 Pro, IOS15) and got the attached results.
Browserstack is updating the real devices to IOS15 so I will throw a couple more tests once they are updated.


@Kesshi I would advise to currently black list those devices to rely on SSAO2 on your app at least until cause looking into webkit bug tracker is sad

On macOS with M1, everything works, either safari 15 or chrome. I agree totally with @sebavan, there is probably not much we can do as SSAO2 uses drawbuffer spec from webgl2, which seems to be the faulty part here

Thank you. It seems that newer apple devices are working correctly. But for now i will stay on the safe side and will disable webgl2 for Safari browsers in general. I will test it again after the next Safari update. … until now our apple users didn’t had SSAO2 anyway so it should not be a big deal

Agree but I am still so frustrated when this is happening :slight_smile:

Ms , google, netflix, epic, etc should all publicly shame them in marketing material so there are consequences to their dumbassery.