Bug 231108 - REGRESSION (iOS 15): Certain shaders do not render correctly on older devices
Summary: REGRESSION (iOS 15): Certain shaders do not render correctly on older devices
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: ANGLE (show other bugs)
Version: Safari 15
Hardware: iPhone / iPad Other
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks: anglemetalregr
  Show dependency treegraph
 
Reported: 2021-10-01 15:51 PDT by Darragh Burke
Modified: 2021-10-04 16:00 PDT (History)
5 users (show)

See Also:


Attachments
broken rendering on iPhone 6 (100.59 KB, image/png)
2021-10-01 15:51 PDT, Darragh Burke
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
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.