Bug 231108

Summary: REGRESSION (iOS 15): Certain shaders do not render correctly on older devices
Product: WebKit Reporter: Darragh Burke <darraghburke>
Component: ANGLEAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: dino, kbr, kkinnunen, kpiddington, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Safari 15   
Hardware: iPhone / iPad   
OS: Other   
Bug Depends on:    
Bug Blocks: 231180    
Attachments:
Description Flags
broken rendering on iPhone 6 none

Description Darragh Burke 2021-10-01 15:51:36 PDT
Created attachment 439922 [details]
broken rendering on iPhone 6

Overview:
The GridMaterial shader from Babylon.js does not render correctly in Safari 15 on older iOS devices. 

Steps to Reproduce:
1) Open the following webpage on an iOS device with Safari 15: https://playground.babylonjs.com/#INI19S#6

Actual Results:
Both the background plane and the ground plane are black.

Expected Results:
The background plane and the ground plane should have the same grid material as the sphere. This is the behavior in earlier versions of Safari and on other platforms (MacOS and Windows).

Hardware:
iPhone 6 running iOS 15

Additional Builds and Platforms: 
According to users, repros on (all iOS 15):
iPhone SE
iPad (6th generation)
iPhone 7
iPad Pro

On some devices it may render as fully white rather than fully black.

Issue doesn't occur on MacOS, doesn't seem to occur on newer iPhones (but have not confirmed this personally).

Additional Information:
The post on our forum with users reporting the issue: https://forum.babylonjs.com/t/gridmaterial-not-shown-in-safari-on-ipad-after-update-to-ios-15-0/24210
The source for the fragment shader can be found here: https://github.com/BabylonJS/Babylon.js/blob/master/materialsLibrary/src/grid/grid.fragment.fx

The issue appears in both WebGL 1 and 2.

I have not yet been able to find the specific cause, but other shaders seem to work okay.
Comment 1 Alexey Proskuryakov 2021-10-04 10:33:59 PDT
> iPhone 6 running iOS 15

This seems like a typo, as iOS 15 cannot be installed on this model. Did you mean iPhone 6s? 

The others listed below are of course supported.
Comment 2 Radar WebKit Bug Importer 2021-10-04 10:34:32 PDT
<rdar://problem/83842062>
Comment 3 Darragh Burke 2021-10-04 10:54:55 PDT
(In reply to Alexey Proskuryakov from comment #1)
> > iPhone 6 running iOS 15
> 
> This seems like a typo, as iOS 15 cannot be installed on this model. Did you
> mean iPhone 6s? 
> 
> The others listed below are of course supported.

Yes, my apologies, the device that I repro'd the issue on is a 6S.
Comment 4 Kimmo Kinnunen 2021-10-04 11:15:13 PDT
Reproed this on iPad Pro.
Works on GL, fails on Metal.

The shaders appear to compile.