Three.js: "extension 'GL_ARB_gpu_shader5' is not supported"

Created on 19 Sep 2016  ·  52Comments  ·  Source: mrdoob/three.js

chrome is fine on the same mac (objloader's phong materials only there)

screen shot 2016-09-19 at 12 43 39

not sure if random ff bug, or something relevant.

Browser Issue

Most helpful comment

oh god, what have I done...

screen shot 2016-09-19 at 12 55 19

All 52 comments

oh god, what have I done...

screen shot 2016-09-19 at 12 55 19

Sounds like a random ff bug to me.

@makc is this still an issue?

yes, ff nightly from january 3rd still complains about GL_ARB_gpu_shader5 and dumps all the shaders to the console. in one project I even had to

        var ctx = renderer.context;
        ...
        // shut firefox up
        ctx.getShaderInfoLog = function () { return '' };

there seems to be single issue in bugzilla about this with no resolution.

FWIW, this same warning also occurs in Safari Technology Preview (Release 21) released yesterday (unsure about earlier versions). Stable Safari is fine.

Uh oh...

I'm experiencing this in a stable firefox release (51.0.1) on Mac. Any workarounds or suggested fixes?

I too am experiencing this in the same firefox release (51.0.1) on Mac. I "fixed" it as above (makc) by redefining the context.getShaderInfoLog of any renderer, but I'm not sure if this has any knock-on effects:

myRenderer.context.getShaderInfoLog = function () { return '' };

you could call original func, test for GL_ARB_gpu_shader5 and then return empty string or actual log if you want to see other messages

@kearwood what do you guys recommend we do here?

while you can argue that it is firefox problem, something in three.js is triggering it - if you run e g http://jsdo.it/zendenmushi/t0hZ in affected ff you won't see this message.

According to the GL_ARB_gpu_shader5 specification its main transparent addition is implicit conversion. There's also things like breaking down/building a float by pieces (frexp/ldexp), packing/unpacking vectors into/from a large scalar, and float <-> int bitwise conversions. It's a rather huge spec, so it might be tricky to figure out what parts of the shader are leveraging these operations by review (if any). If I have some time I may take them apart in a branch and figure out where the issue is specifically by adding things one step at a time and make a pull request with any fixes. Considering it affects even the simple vertex shader that does nothing but pass vUv and sets gl_Position, it can hopefully be mostly remedied by small changes to widely a shared block.

This seems to occur in the most recent version of Safari stable now too (10.1 - which comes with macOS 10.12.4)

Experiencing this as well on the latest Safari Version 10.1

@kenrussell any ideas of what to do here?

I think this may be http://crbug.com/671280 . A fix to ANGLE's shader translator was made a while ago, and since Firefox and Safari both use it, they may be using an older version. I've commented on https://bugzilla.mozilla.org/show_bug.cgi?id=1310741 and will contact the developers of the other browsers.

@kenrussell thanks!

I did not face this issue while in Firefox 52 on Ubuntu (Unity) 16.10 but started facing the issue in Firefox 52 on Ubuntu-Gnome 17.04.
@ajyand

Attach files by dragging & dropping,

, or pasting from the clipboard.
Styling with Markdown is supported

Facing the issue in Safari 10.1 (12603.1.30.0.34) on Mac.
image

I can confirm this is happening in macOS Safari / Firefox.

In Firefox on Windows I get something different although the same log appears in macOS.

Error: WebGL warning: texImage2D: Failed to hit GPU-copy fast-path. Falling back to CPU upload.  
Error: WebGL warning: texImage2D: Conversion requires pixel reformatting.

Error still happening on Safari 10.1 MacOS Sierra 10.12.4

THREE.WebGLRenderer – "84"
THREE.WebGLShader: gl.getShaderInfoLog() (3)
"vertex"
"WARNING: 0:1: extension 'GL_ARB_gpu_shader5' is not supported
"
"1: precision highp float;
2: precision highp int;
3: #define SHADER_NAME ShaderMaterial
(...)

I have reported it here. But even though many can see the problem this person claims they can't.

https://bugs.webkit.org/show_bug.cgi?id=171054#c3

I'm not sure anything can be done about it on this end, even the most simple shader seems to throw a warning:

23:35:46.118 THREE.WebGLShader: gl.getShaderInfoLog() fragment WARNING: 0:1: extension 'GL_ARB_gpu_shader5' is not supported
 1: 
2: void main()
3: {
4:   gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0);
5: } 1 three.min.js:59:253

Adding #extension all: disable (see GLSL ES Specification section 3.4) seems to make no difference either. I suppose it will be up to the vendors to repair this one.

Confirming this in Safari 10.1.1 on OS 10.12.5.

Go the the webkit ticket. Of course somebody claimed they can't replicate it. But it's happening on both Safari and Firefox.

Firefox working on a fix. Safari in a hundred years :) https://bugzilla.mozilla.org/show_bug.cgi?id=1246410#c37

Gross. I'm just noticing this too after testing my app in Safari 10.1.1 on 10.12.5
I'm not using any custom shaders.

screen shot 2017-07-06 at 1 04 17 am

Yes my webkit ticket has gone stale. They just don't care.

@danrossi in three years, if you have a developer account, they _might_ let you try this feature out yourself in one of the beta releases

If there is a fix it would be tracked.

I just got that same treatment in a ticket for the CORS issue and behold. The beta IOS 11 which requires a brand new Ipad 2017 to run doesn't have that fix as someone else tested and mentioned.

I'm not certain what this webgl warning is but seems benign at least ? The CORS issue is more severe.

@danrossi I know

confirmed - this error is popping up and preventing a simple video-textured plane in A-Frame (presumably going back to three). Works without errors in FF and Chrome iOS/OSX, doesn't work (and this error appears) on Safari (iOS or desktop). I'd be very surprised - and eager - to hear about anyone successfully creating a webGL video texture in threejs (or aframe for that matter) and viewing it on Safari.

confirmed - this error is popping up and preventing a simple video-textured plane in A-Frame (presumably going back to three). Works without errors in FF and Chrome iOS/OSX, doesn't work (and this error appears) on Safari (iOS or desktop). I'd be very surprised - and eager - to hear about anyone successfully creating a webGL video texture in threejs (or aframe for that matter) and viewing it on Safari.

if you add an event listener for a user-initiated gesture (e.g., a click event), and call document.querySelector('video').play() does it work? related: https://github.com/aframevr/aframe/pull/2830 will be merged soon.

I won't get a chance to test that particular instance but have since confirmed that user-initiated video playback does work on Safari (iOS/desktop). The shader error was a bit of a red herring in that regard, sorry about the confusion.

The shader error was a bit of a red herring in that regard, sorry about the confusion.

Yeah, no, I'm doing some testing on various iPhones and my Mac, and I encountered this issue in Safari desktop. So, that's why I commented here. Just wanted to make sure. Thanks for the quick reply! 👍

This says resolved fixed, but I still see it in Safari 11 and Tech Preview.

https://bugs.webkit.org/show_bug.cgi?id=175783

/ping @grorg

Try this test:
https://trac.webkit.org/export/220983/webkit/trunk/LayoutTests/fast/canvas/webgl/no-info-log-for-simple-shaders.html

Safari 11 shipped before the bug was fixed, so you'll get the error shown in the page. Safari Tech Preview has the fix, so should be a blank page. I just verified on STP 41.

screen shot 2016-09-19 at 12 43 39

This message disappeared when upgrading to FF 57. I think we can close the issue now.

It still happens to me on FF Nightly 59

Um, me too :unamused:. I thought this was finally fixed...

I've just installed a fresh version of Nightly and the message disappeared. Thank God! 😉

Seeing this in Safari Version 11.0.1 (13604.3.5) on macOS 10.13.1.

Confirmed fixed in Safari Tech Preview Release 44 (Safari 11.1, WebKit 13605.1.13.2)

Good thing that this was just a warning

I'm also seeing this in Safari 11.0.2 on MacOS 10.13.2 😞

My understanding is that the official fix is in Safari 11.1 (see above)

Still seeing these in Firefox 58 ("Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:58.0) Gecko/20100101 Firefox/58.0")

@brpocock Do you mind reporting the bug to Mozilla instead? There isn't much we can do about it.

Safari fixed according to here. I think I reported the mozilla one already and was fixed.

https://bugs.webkit.org/show_bug.cgi?id=171054#c12

Safari is not fixed. macOS 10.13.4 Safari 11.1, having the issue.

Still not fixed in Firefox 60.0.1 on Ubuntu 18.04 or Windows 7.

@toliverAtEScience @23d1 Hey guys. Writing comments at this place won't solve the problem. This thread is closed since it's clearly a browser issue. Please contact the browser developers instead.

Was this page helpful?
0 / 5 - 0 ratings