Bug 230949 - Blend4web material shader error on iOS and iPadOS 15
Summary: Blend4web material shader error on iOS and iPadOS 15
Status: RESOLVED DUPLICATE of bug 230472
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebGL (show other bugs)
Version: Other
Hardware: iPhone / iPad Other
: P2 Critical
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2021-09-29 05:56 PDT by Eric
Modified: 2021-09-29 11:00 PDT (History)
5 users (show)

See Also:


Attachments
Console error of one of our pages we use this technology, device: iPad Pro 11" iOS 15.1 (274.10 KB, image/png)
2021-09-29 05:56 PDT, Eric
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Eric 2021-09-29 05:56:33 PDT
Created attachment 439601 [details]
Console error of one of our pages we use this technology, device: iPad Pro 11" iOS 15.1

Issue with iOS and iPadOS 15.1 Safari and wkwebview Controller with webGL shaders, looks like it don't like any kind of material shader and don't render the 3d models.
We use this for a crucial part of our system for display 3d models.
In MacOS Safari, FireFox, Chrome last versions works perfectly.

Most of blend4web examples in they website don't work to.
https://www.blend4web.com/apps/code_snippets/code_snippets.html?scene=material_api


Console log attached.

Thanks.
Comment 1 Kimmo Kinnunen 2021-09-29 06:16:21 PDT
Thanks. Most likely this is duplicate of bug  230472  as you observed.
Comment 2 Eric 2021-09-29 06:24:22 PDT
I don't understand if this was resolved or i will have to look for an alternative. If it is resolved, how can I identify it? this is a serious problem for us.

Thanks!
Comment 3 Kimmo Kinnunen 2021-09-29 06:29:34 PDT
(In reply to Eric from comment #2)
> I don't understand if this was resolved or i will have to look for an
> alternative. If it is resolved, how can I identify it? this is a serious
> problem for us.

Unfortunately the problem is present in the currently released iOS, but will be fixed in one of the upcoming releases.
If you are able to use a workaround, you could change the variables passed to inout parameters of the functions to not refer to swizzles.

before:
void f(inout float a) { ... }
void main() {
 vec3 myvec = ...;
 f(myvec.x);
}

after:
void f(inout float a) { ... }
void main() {
 vec3 myvec = ...;
 float myfloat = myvec.x;
 f(myfloat);
 myvec.x = myfloat;
}
Comment 4 Eric 2021-09-29 06:33:51 PDT
Thank you very much now it's clearer.
Comment 5 Radar WebKit Bug Importer 2021-09-29 10:07:11 PDT
<rdar://problem/83676218>
Comment 6 Alexey Proskuryakov 2021-09-29 10:23:43 PDT
Is this understood well enough to dupe to bug 230472 at this point?
Comment 7 Kimmo Kinnunen 2021-09-29 11:00:19 PDT

*** This bug has been marked as a duplicate of bug 230472 ***