New issue
Advanced search Search tips

Issue 609756 link

Starred by 1 user

Issue metadata

Status: Duplicate
Merged: issue 603387
Owner:
Closed: May 2016
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug



Sign in to add a comment

WebGL 2.0 checkFramebufferStatus returns incorrect value for RGBA32F textures

Reported by jo...@unity3d.com, May 6 2016

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2722.0 Safari/537.36

Example URL:
http://jsfiddle.net/ncsdcdvu/3/

Steps to reproduce the problem:
1.  Open http://jsfiddle.net/ncsdcdvu/3/
2.  Check JavaScript console

What is the expected behavior?
JavaScript console prints:

status is 36053. Expected value: 36053

What went wrong?
JavaScript console prints:

status is 36054. Expected value: 36053

Does it occur on multiple sites: Yes

Is it a problem with a plugin? No 

Did this work before? No 

Does this work in other browsers? Yes 

Chrome version: 52.0.2722.0  Channel: canary
OS Version: OS X 10.11.0
Flash Version: Shockwave Flash 22.0 r0

It seems that Chrome will incorrectly report Framebuffers with an RGBA32F texture attachment as FRAMEBUFFER_INCOMPLETE_ATTACHMENT in WebGL 2.0. This fools Unity's format detection code into deciding that rendering to float textures is not supported in Chrome. 

In Firefox, this works - though it requires a call to gl.getExtension("WEBGL_color_buffer_float"), which is probably wrong in WebGL 2.0 - will report a bug to Mozilla on that.

Maybe related to https://bugs.chromium.org/p/chromium/issues/detail?id=608540
 

Comment 1 by jo...@unity3d.com, May 6 2016

I should add that WebGL 2.0 needs to be enabled in chrome://flags/ to be able to reproduce this bug.
Components: -Blink Blink>WebGL

Comment 3 by jo...@unity3d.com, May 6 2016

Possibly, this should require gl.getExtension(“EXT_color_buffer_float”) to work. But it currently will not work when doing that either.

Comment 4 by zmo@chromium.org, May 6 2016

Owner: zmo@chromium.org
Status: Assigned (was: Unconfirmed)
You are right, it should request EXT_color_buffer_float. Let me check why it doesn't work in Chrome.

Comment 5 by zmo@chromium.org, May 6 2016

It works for me (FRAMEBUFFER_COMPLETE) after requesting "EXT_color_buffer_float".

This is Linux. Let me also verify on Mac.

Comment 6 by zmo@chromium.org, May 6 2016

Status: WontFix (was: Assigned)
It also works on Mac for me.

If you still see this issue with top of tree chromium build, please provide about:gpu to let us know which specific GPU/driver.

Closing it for now.

Comment 7 by zmo@chromium.org, May 6 2016

I think I understand why.  kbr just moved EXT_color_buffer_float out of draft in Chrome, so if you are running a older build, you will also need --enable-webgl-draft-extensions together with --enable-unsafe-es3-apis

Comment 8 by jo...@unity3d.com, May 7 2016

I can confirm it works using EXT_color_buffer_float and --enable-webgl-draft-extensions together with --enable-unsafe-es3-apis. Thanks for the help!

Comment 9 by kbr@chromium.org, May 9 2016

Mergedinto: 603387
Status: Duplicate (was: WontFix)
Thanks for triaging this Mo and thanks for the bug report Jonas. Let me duplicate this into the other bug for tracking reasons.

Sign in to add a comment