Closed Bug 1604622 Opened 2 years ago Closed 2 years ago

webgl_gpgpu_protoplanet broken on Android (RGBA32F not renderable?)

Categories

(Core :: Canvas: WebGL, defect, P1)

68 Branch
ARM
Android
defect

Tracking

()

RESOLVED FIXED
mozilla73
Tracking Status
firefox-esr68 --- wontfix
firefox73 --- verified

People

(Reporter: guillaumefradin, Assigned: jgilbert)

References

()

Details

Attachments

(1 file)

User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0

Steps to reproduce:

Go to the following threejs example:
https://threejs.org/examples/?q=gpu#webgl_gpgpu_protoplanet

Actual results:

The canvas remains black on Firefox for Android.

The console displays the following message:
THREE.WebGLRenderer: WEBGL_draw_buffers extension not supported.
Error: WebGL warning: clear: Framebuffer not complete. (status: 0x8cd6) Bad status according to the driver: 0x8cd6
Error: WebGL warning: clear: Framebuffer must be complete.

Expected results:

You should see particles orbiting each other (it works fine on Firefox for Desktop, tested on Ubuntu)

See the issue discussed on Github Threejs repo: https://github.com/mrdoob/three.js/issues/18177

I have managed to reproduce the issue on Release 68.3.0 and Beta 68.4b2, I will set this issue as new.
The issue also occurs on Firefox Preview, https://github.com/mozilla-mobile/fenix/issues/7269 was submitted regarding this.

Status: UNCONFIRMED → NEW
Ever confirmed: true
OS: Unspecified → Android
Hardware: Unspecified → ARM

Jeff, what are your thoughts on this one?

Flags: needinfo?(jmuizelaar)

Jeff Gilbert is better person to take a look. WEBGL_draw_buffers extension isn't supported in Fenix or Chrome but doesn't seem needed for the demo because it runs fine in Chrome.

Flags: needinfo?(jmuizelaar) → needinfo?(jgilbert)

I bet it's an RGB8 framebuffer, or something unguaranteed like that.

Flags: needinfo?(jgilbert)

0x8cd6 is INCOMPLETE_ATTACHMENT.
All framebuffers are RGBA/FLOAT.

It looks like float32 render-to-texture is broken here. I can repro on my Essential PH-1.

Assignee: nobody → jgilbert
Component: General → Canvas: WebGL
Priority: -- → P1
Product: Firefox for Android → Core
Version: Firefox 68 → 68 Branch
Summary: threejs example using webgl1 WEBGL_draw_buffers is not working → webgl_gpgpu_protoplanet broken on Android (RGBA32F not renderable?)
Pushed by jgilbert@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/1e5750541f2d
Use float16/float32 sized formats on es3+. r=lsalzman
Regressions: 1606033
Flags: needinfo?(jgilbert)
Pushed by jgilbert@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/6b677d878830
Use float16/float32 sized formats on es3+. r=lsalzman
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla73
Flags: needinfo?(jgilbert)

I have tested the issue on the latest Firefox Preview Nightly (Build #20030608) GV: 73.0a1-20191231094349 using a OnePlus 6T (Android 9) and a Pixel 3a XL (Android 10) and the issue no longer occurs.

Duplicate of this bug: 1492774
See Also: → 1338656
You need to log in before you can comment on or make changes to this bug.