Firefox mobile on android

Hi,
I’d like to report an issue with sketchfab in firefox on my android device, a samsung s8 with android 9. The issue has been present for a long time, but now I’ve found the time to report it.

In short, the shader on the 3d model isn’t rendered. Post processing and background is rendered. This results in models where you see only an ao pass for instance. The same models work in chrome and the sketchfab app on the device.
I’ve also opened a random model on clara.io to see if the issue is generally webgl related, but the clara.io models look like they should.

Two examples

webglreport in the browser says I support both webgl1 and 2. Here’s a screenshot of the webgl2 report

Here’s the console output from the vintage furniture pack

Autoplay is only allowed when approved by the user, the site is activated by the user, or media is muted. viewer-1f7e5f97aeb330833f0c.js:1:334408
Error: WebGL warning: texImage2D: Unexpected error <enum 0x0502> during upload. (dui: 1908/1908/140b) viewer-1f7e5f97aeb330833f0c.js:1:557405
Error: WebGL warning: checkFramebufferStatus: Framebuffer not complete. (status: 0x8cd6) COLOR_ATTACHMENT0Attachment has no width or height. viewer-1f7e5f97aeb330833f0c.js:1:557729
Error: WebGL warning: texImage2D: Unexpected error <enum 0x0502> during upload. (dui: 1908/1908/1406) viewer-1f7e5f97aeb330833f0c.js:1:557405
Error: WebGL warning: checkFramebufferStatus: Framebuffer not complete. (status: 0x8cd6) COLOR_ATTACHMENT0Attachment has no width or height. viewer-1f7e5f97aeb330833f0c.js:1:557729
Error: WebGL warning: texImage2D: Unexpected error <enum 0x0502> during upload. (dui: 1908/1908/140b) viewer-1f7e5f97aeb330833f0c.js:1:557405
Error: WebGL warning: checkFramebufferStatus: Framebuffer not complete. (status: 0x8cd6) COLOR_ATTACHMENT0Attachment has no width or height. viewer-1f7e5f97aeb330833f0c.js:1:557729
Error: WebGL warning: texImage2D: Unexpected error <enum 0x0502> during upload. (dui: 1908/1908/1406) viewer-1f7e5f97aeb330833f0c.js:1:557405
Error: WebGL warning: checkFramebufferStatus: Framebuffer not complete. (status: 0x8cd6) COLOR_ATTACHMENT0Attachment has no width or height. viewer-1f7e5f97aeb330833f0c.js:1:557729
The resource at “https://www.google-analytics.com/analytics.js” was blocked because content blocking is enabled.[Learn More] vintage-furniture-pack-kitbash-parts-64cfc577db9c48ad8aa1b7f3c17897f7
The resource at “https://cdn.mxpnl.com/libs/mixpanel-2-latest.min.js” was blocked because content blocking is enabled.[Learn More] vintage-furniture-pack-kitbash-parts-64cfc577db9c48ad8aa1b7f3c17897f7
Use of the orientation sensor is deprecated. vendors-f23fba16560612b424d4.js:159:28578
Loading failed for the <script> with source “https://cdn.mxpnl.com/libs/mixpanel-2-latest.min.js”. vintage-furniture-pack-kitbash-parts-64cfc577db9c48ad8aa1b7f3c17897f7:1:1
Source map error: request failed with status 403
Resource URL: https://static.sketchfab.com/static/builds/web/dist/viewer-1f7e5f97aeb330833f0c.js
Source Map URL: viewer-1f7e5f97aeb330833f0c.js.map[Learn More]
Source map error: request failed with status 403
Resource URL: https://static.sketchfab.com/static/builds/web/dist/vendors-f23fba16560612b424d4.js
Source Map URL: vendors-f23fba16560612b424d4.js.map[Learn More]
couldn't load mixpanel vendors-f23fba16560612b424d4.js:159:23217
processModelJSON : 7.00ms

Download file.osgjs.gz (Async)
  |  createAndInitFeatures : 640.00ms
Download file.osgjs.gz (Async) : 3002.00ms

JSON.parse file.osgjs.gz : 8.00ms

osgDB.parseSceneGraph file.osgjs.gz (Async) : 170.00ms

UserDataVisitor file.osgjs.gz : 18.00ms

Download model_file.bin.gz (Async) : 1720.00ms

Uncompress model_file.bin.gz : 135.00ms

initSceneGraph - create saved materials : 249.00ms

initSceneGraph - processSceneGraph : 15.00ms

initSceneGraph - apply materials : 68.00ms

optimizer
  |  optimizer - materials : 10.00ms
  |  optimizer - nodes : 86.00ms
  |  Geometry count : before 86, after 6
  |  Material count : before 4, after 4
optimizer : 100.00ms

featureFinished
  |  drawFirstFrame
  |    |  vFQU - 1419
  |    |  vFQU - 1425
  |  drawFirstFrame : 168.00ms
  |  compute KdTree : 650.00ms
  |  drawSecondFrame : 1704.00ms
featureFinished : 2610.00ms

wait async : 4.00ms

Bound center : [ -624.2127227783203, 0.00006373705897999571, 252.51169756286663 ]
Bound radius : 944.1297026686357
Bbox min : [ -1528.425537109375, -99.99997822461094, -0.03547321586981926 ]
Bbox max : [ 280.0000915527344, 100.0001056987289, 505.0588683416031 ]

<<<<< Model Displayed! 19.439>>>>> vendors-f23fba16560612b424d4.js:159:23217
Error: WebGL warning: texImage2D: Alpha-premult and y-flip are deprecated for non-DOM-Element uploads. viewer-1f7e5f97aeb330833f0c.js:1:276059
Error: WebGL warning: texImage2D: Alpha-premult and y-flip are deprecated for non-DOM-Element uploads. viewer-1f7e5f97aeb330833f0c.js:1:276059
Texture packing FBO Count : 5 vendors-f23fba16560612b424d4.js:159:23217
Download model_file_wireframe.bin.gz (Async) : 1431.00ms vendors-f23fba16560612b424d4.js:159:23217
Uncompress model_file_wireframe.bin.gz : 32.00ms vendors-f23fba16560612b424d4.js:159:23217
optimizer - wireframe : 87.00ms vendors-f23fba16560612b424d4.js:159:23217
1 Like

About your 1st example :

it seems to be good for me ,
on firefox with xperia XZ and Android 8.0.0

And it seems to be good also for the 2nd example !

That’s interesting. I’ve tried on a fairphone with android 7.1 and the models look fine as well. So it would be interesting to hear from users with:

  • samsung and android 8
  • non-samsung devices and android 9

That should help isolate the issue to either samsung or the android version. But it’s possible there’s also something within sketchfab that might help, considering clara.io models don’t show the same issue.

Hi, thanks for the report

I don’t reproduce here neither.

Looks like a gpu shader compiler error (combination of specific shader code, gpu driver with specific bug)

Does the error happen consistently, Each time you load that model ? or sometime the model loads correctly ?

can you try with
?webgl2=1
?postprocess=false (or if you can repro on one of your model, on/off every postprocess until you can on/off the bug and find the postprocess culprit)

1 Like

Hi @paul_sketch,
I’ve done some testing. The error happens consistently, each time I load the same model, with every model.
I’ve made a series of models to test with:
ff-android pbr-lit-nopost - 3D model by Klaas Nienhuis (@klaasnienhuis) - Sketchfab
ff-android pbr-shadeless-nopost - 3D model by Klaas Nienhuis (@klaasnienhuis) - Sketchfab
ff-android matcap-nopost - 3D model by Klaas Nienhuis (@klaasnienhuis) - Sketchfab
ff-android class-lit-nopost - 3D model by Klaas Nienhuis (@klaasnienhuis) - Sketchfab
ff-android classic-shadeless-nopost - 3D model by Klaas Nienhuis (@klaasnienhuis) - Sketchfab
ff-android pbr-lit-nopost-noenv - 3D model by Klaas Nienhuis (@klaasnienhuis) - Sketchfab

You can see from the names of the models I’ve set them up with different shaders: lit, shadeless, pbr, classic and matcap. None of these models have postprocessing. The last one in the list uses regular lights, no environment.
I’ve loaded these in the ff browser without and with the webgl2=1 and postprocess=false url parameters. None of these models show the meshes.
I’ve used the inspector on one of the models. I can show the wireframe. Interestingly, the UV map texture doesn’t show up when I pick that option in the inspector.

Hi,

Seems we will have to get acces to a S8 to dig those.
Thanks a lot for the top quality reports and tests !

2 Likes