| Summary: | The gl.MAX_VERTEX_UNIFORM_VECTORS has only half of its quantity available in Safari 'WebGL via Matal' | ||||||
|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | QiaoLi <liqiao> | ||||
| Component: | WebGL | Assignee: | Nobody <webkit-unassigned> | ||||
| Status: | NEW --- | ||||||
| Severity: | Normal | CC: | dino, kbr, kkinnunen, webkit-bug-importer | ||||
| Priority: | P2 | Keywords: | InRadar | ||||
| Version: | Safari 16 | ||||||
| Hardware: | iPhone / iPad | ||||||
| OS: | iOS 16 | ||||||
| Attachments: |
|
||||||
Thank you for the report. Could you mention which version of the operating system you are seeing this? This is already fixed in trunk WebKit. I believe you could try following beta versions of Safari to verify that upcoming versions solve the issue: macOS 13.4 beta 2 (https://beta.apple.com/sp/betaprogram) or Safari Technology Preview (https://developer.apple.com/safari/resources/) (In reply to Kimmo Kinnunen from comment #2) > Thank you for the report. Could you mention which version of the operating > system you are seeing this? > This is already fixed in trunk WebKit. > > I believe you could try following beta versions of Safari to verify that > upcoming versions solve the issue: > > macOS 13.4 beta 2 (https://beta.apple.com/sp/betaprogram) > or > Safari Technology Preview (https://developer.apple.com/safari/resources/) I test on IOS16.2 with iphon12. > I test on IOS16.2 with iphon12.
> gl.getParameter(gl.MAX_VERTEX_UNIFORM_VECTORS) return value 1024.
Does the rendering work when using 512 vectors? Would you have a test case which demonstrates working condition?
I'm asking because iOS prior to 16.5 betas advertise OES_float_texture_linear, which the page uses. Float texture filtering does not work on iOS. This extension should be disabled in 16.5 beta. The demo page should work on 16.5 beta, as per my testing.
|
Created attachment 465946 [details] A demo used for reproducing the bug When opening the Safari feature 'WebGL via Matal', gl.getParameter(gl.MAX_VERTEX_UNIFORM_VECTORS) return value 1024. But I can only use 512 vectors in vertex shader. When I use more, the model will be not rendering. When make 'WebGL via Matal' off, it's ok. Demo.zip is built from a cocos creator project. 1.cd to Demo folder, use http-server command to open a http server. 2. use safari to open http 3. you may see an empty scene, (but there is actually a model in the scene that is not displayed) 4. turn off safari 'WebGL via Metal', open http in safari again, the model will be displayed.