Bug 228904 - WebGL 2.0 doesn't work on A8 devices (iPad mini 4, iPad Air 2)
Summary: WebGL 2.0 doesn't work on A8 devices (iPad mini 4, iPad Air 2)
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebGL (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Dean Jackson
URL:
Keywords: InRadar
Depends on: 236021 236030
Blocks:
  Show dependency treegraph
 
Reported: 2021-08-08 11:38 PDT by Dean Jackson
Modified: 2022-03-31 17:09 PDT (History)
12 users (show)

See Also:


Attachments
Patch (2.70 KB, patch)
2021-08-08 11:45 PDT, Dean Jackson
no flags Details | Formatted Diff | Diff
Patch (2.74 KB, patch)
2021-08-08 13:04 PDT, Dean Jackson
andersca: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Dean Jackson 2021-08-08 11:38:50 PDT
WebGL 2.0 doesn't work on A8 devices (iPad mini 4, iPad Air 2)
Comment 1 Dean Jackson 2021-08-08 11:41:47 PDT
rdar://79198313
Comment 2 Dean Jackson 2021-08-08 11:45:46 PDT
Created attachment 435150 [details]
Patch
Comment 3 Dean Jackson 2021-08-08 13:04:36 PDT
Created attachment 435151 [details]
Patch
Comment 4 John Cunningham 2021-08-08 15:09:35 PDT
Comment on attachment 435151 [details]
Patch

LGTM
Comment 5 Dean Jackson 2021-08-09 11:17:42 PDT
Committed r280782 (240365@main): <https://commits.webkit.org/240365@main>
Comment 6 derhold 2022-01-28 13:45:59 PST
Hey Dean or John,

Any update on what version of iOS will include the version of WebKit that has this fix?

Thanks
Comment 7 Kyle Piddington 2022-01-28 15:42:52 PST
I'm not sure if this fix took, I'm not seeing us switch automatically to the GL backend on older devices. That, or it was lost in a refactor. 
Visiting https://www.soft8soft.com/webglreport/?v=2 with Metal on ANGLE enabled claims that webGL2 is not supported, where disabling Metal on ANGLE shows support.
Comment 8 Kyle Piddington 2022-01-28 15:45:14 PST
Reopening, on an iPad Air 2, I'm seeing us fail to switch back to the OpenGL backend.
Comment 9 Kenneth Russell 2022-01-31 09:41:40 PST
+Kimmo

Perhaps refactors for the GPU process changed the semantics in this area?

platformSupportsMetal() is still present in Source/WebCore/platform/graphics/cocoa/GraphicsContextGLCocoa.mm and it's still called during context creation.
Comment 10 Dean Jackson 2022-01-31 16:11:10 PST
New radar: rdar://88300200
Comment 11 Kimmo Kinnunen 2022-01-31 22:45:48 PST
Maybe the ANGLE roll pulled in new ANGLE that defaults to Metal unless OPENGLES explicitly asked..
Comment 12 Kenneth Russell 2022-02-01 14:12:51 PST
Possible - not sure. Note Chromium's starting to ship ANGLE's OpenGL backend on macOS in preparation for shipping the Metal backend, so it's still known to work to some degree.
Comment 13 Kimmo Kinnunen 2022-02-02 05:50:13 PST
Seems to be that iOS sandbox denies EAGL usage.
Comment 14 Harsh 2022-02-02 14:46:04 PST
Hi- Does this issue impact only some devices? What all would be those devices? Also would love some insight on the fix for this. Thanks for the support!
Comment 15 Harsh 2022-02-09 14:11:06 PST
Hi, I see the two bugs that this issue was dependent on are already closed. Is there a fix for this being release in next version?
Comment 16 Kimmo Kinnunen 2022-03-01 02:04:23 PST
(In reply to Harsh from comment #15)
> Hi, I see the two bugs that this issue was dependent on are already closed.
> Is there a fix for this being release in next version?

This should fix using WebGL2 on iPad mini 4 on iOS 15.4. 
This should be fixed in iOS 15.4 seed 4.
Comment 17 derhold 2022-03-28 11:48:00 PDT
Hey Kimmo,

Just tested this case on iPad Air 2 on iOS 15.4 and was still able to reproduce the issue. Your last comment noted that it should be fixed on mini 4 on 15.4 - does this mean that it should be fixed on Air 2 as well?
Comment 18 rahsaraf 2022-03-31 17:09:11 PDT
Following up on this as we're still seeing the issue on the iPad Air 2. 

Did the fix that went out in iPadOS 15.4 only affect the iPad Mini 4? 

If so, is there an expected fix and timeframe for the iPad Air 2 (A8X in the iPad Air 2 vs A8 in the iPad Mini 4)