Three.js: “不支持扩展 'GL_ARB_gpu_shader5'”

创建于 2016-09-19  ·  52评论  ·  资料来源: mrdoob/three.js

chrome 在同一台 mac 上很好(objloader 的 phong 材料只在那里)

screen shot 2016-09-19 at 12 43 39

不确定是否随机 ff 错误或相关的东西。

Browser Issue

最有用的评论

天啊,我都做了什么...

screen shot 2016-09-19 at 12 55 19

所有52条评论

天啊,我都做了什么...

screen shot 2016-09-19 at 12 55 19

对我来说,这听起来像是一个随机的 ff 错误。

@makc这仍然是一个问题吗?

是的,从 1 月 3 日开始的 ff nightly 仍然抱怨 GL_ARB_gpu_shader5 并将所有着色器转储到控制台。 在一个项目中,我什至不得不

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

FWIW,同样的警告也出现在昨天发布的 Safari Technology Preview(Release 21)中(不确定早期版本)。 稳定的 Safari 很好。

哦哦...

我在 Mac 上的一个稳定的 Firefox 版本(51.0.1)中遇到了这个问题。 任何解决方法或建议的修复?

我也在 Mac 上的同一个 Firefox 版本(51.0.1)中遇到了这种情况。 我通过重新定义任何渲染器的 context.getShaderInfoLog 如上所述“修复”它(makc),但我不确定这是否有任何连锁效应:

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

您可以调用原始函数,测试 GL_ARB_gpu_shader5,然后如果您想查看其他消息,则返回空字符串或实际日志

@kearwood你们建议我们在这里做什么?

虽然您可以争辩说这是 firefox 问题,但 three.js 中的某些东西正在触发它 - 如果您在受影响的 ff 中运行例如http://jsdo.it/zendenmushi/t0hZ ,您将不会看到此消息。

根据GL_ARB_gpu_shader5 规范,它的主要透明添加是隐式转换。 还有一些事情,比如分解/构建一个浮点数(freexp/ldexp),将向量打包/解包到一个大标量中,以及 float <-> int 位转换。 这是一个相当大的规范,因此通过审查(如果有的话)找出着色器的哪些部分正在利用这些操作可能会很棘手。 如果我有时间,我可能会在一个分支中将它们拆开,并通过一次添加一个步骤来找出问题所在,并提出一个带有任何修复的拉取请求。 考虑到它甚至会影响除了传递 vUv 并设置 gl_Position 之外什么都不做的简单顶点着色器,它有望通过对广泛共享的块进行小的更改来得到大部分补救。

这似乎也出现在最新版本的 Safari 稳定版中(10.1 - macOS 10.12.4 附带)

在最新的 Safari 版本 10.1 上也能体验到这一点

@kenrussell有什么想法可以在这里做什么吗?

我认为这可能是http://crbug.com/671280 。 不久前对 ANGLE 的着色器翻译器进行了修复,由于 Firefox 和 Safari 都使用它,它们可能使用的是旧版本。 我已经评论了https://bugzilla.mozilla.org/show_bug.cgi?id=1310741并将联系其他浏览器的开发人员。

@kenrussell谢谢!

我在 Ubuntu (Unity) 16.10 上的 Firefox 52 中没有遇到这个问题,但在 Ubuntu-Gnome 17.04 上的 Firefox 52 中开始遇到这个问题。
@ajyand

通过拖放附加文件,

,或从剪贴板粘贴。
支持 Markdown 样式

在 Mac 上面临 Safari 10.1 (12603.1.30.0.34) 中的问题。
image

我可以确认这发生在 macOS Safari / Firefox 中。

在 Windows 上的 Firefox 中,尽管相同的日志出现在 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.

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
(...)

我已经在这里报告了。 但即使许多人可以看到这个人声称他们看不到的问题。

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

我不确定在这方面可以做些什么,即使是最简单的着色器似乎也会发出警告:

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

添加#extension all: disable (请参阅GLSL ES 规范第 3.4 节)似乎也没有任何区别。 我想这将取决于供应商来修复这个。

在 OS 10.12.5 上的 Safari 10.1.1 中确认这一点。

去 webkit 票。 当然有人声称他们无法复制它。 但它同时发生在 Safari 和 Firefox 上。

Firefox 正在修复。 一百年后的 Safari :) https://bugzilla.mozilla.org/show_bug.cgi?id=1246410#c37

总的。 在 10.12.5 上的 Safari 10.1.1 中测试我的应用程序后,我也注意到了这一点
我没有使用任何自定义着色器。

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

是的,我的 webkit 票已经过时了。 他们只是不在乎。

@danrossi三年后,如果您有开发者帐户,他们_可能_让您在其中一个 beta 版本中亲自试用此功能

如果有修复,它将被跟踪。

我刚刚在 CORS 问题的票中得到了同样的待遇,瞧。 需要全新 Ipad 2017 才能运行的 beta IOS 11 没有其他人测试和提到的修复。

我不确定这个 webgl 警告是什么,但至少看起来是良性的? CORS 问题更为严重。

@danrossi我知道

已确认 - 弹出此错误并阻止 A-Frame 中出现简单的视频纹理平面(大概回到三个)。 在 FF 和 Chrome iOS/OSX 中正常工作,在 Safari(iOS 或桌面)上不起作用(并且出现此错误)。 听到有人成功地在threejs(或aframe)中创建webGL视频纹理并在Safari上查看它,我会感到非常惊讶和渴望。

已确认 - 弹出此错误并阻止 A-Frame 中出现简单的视频纹理平面(大概回到三个)。 在 FF 和 Chrome iOS/OSX 中正常工作,在 Safari(iOS 或桌面)上不起作用(并且出现此错误)。 听到有人成功地在threejs(或aframe)中创建webGL视频纹理并在Safari上查看它,我会感到非常惊讶和渴望。

如果您为用户启动的手势(例如, click事件)添加事件侦听器,并调用document.querySelector('video').play()是否有效? 相关: https ://github.com/aframevr/aframe/pull/2830 即将合并。

我没有机会测试那个特定的实例,但已经确认用户启动的视频播放确实可以在 Safari(iOS/桌面)上运行。 在这方面,着色器错误有点像红鲱鱼,很抱歉造成混乱。

在这方面,着色器错误有点像红鲱鱼,很抱歉造成混乱。

是的,不,我正在对各种 iPhone 和我的 Mac 进行一些测试,我在 Safari 桌面上遇到了这个问题。 所以,这就是我在这里发表评论的原因。 只是想确定一下。 感谢您的快速回复! 👍

这表示已解决,但我仍然在 Safari 11 和技术预览中看到它。

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

/平@grorg

试试这个测试:
https://trac.webkit.org/export/220983/webkit/trunk/LayoutTests/fast/canvas/webgl/no-info-log-for-simple-shaders.html

Safari 11 是在修复错误之前发布的,因此您会收到页面中显示的错误。 Safari 技术预览有修复,所以应该是一个空白页。 我刚刚在 STP 41 上进行了验证。

screen shot 2016-09-19 at 12 43 39

此消息在升级到 FF 57 时消失了。我认为我们现在可以关闭该问题。

FF Nightly 59 上仍然发生在我身上

嗯,我也是:不开心:。 我以为这终于解决了...

我刚刚安装了新版本的 Nightly,消息消失了。 感谢上帝! 😉

在 macOS 10.13.1 上的 Safari 版本 11.0.1 (13604.3.5) 中看到了这一点。

已在 Safari 技术预览版 44 中确认已修复(Safari 11.1、WebKit 13605.1.13.2)

好在这只是一个警告

我也在 MacOS 10.13.2 上的 Safari 11.0.2 中看到了这个😞

我的理解是官方修复在 Safari 11.1 中(见上文)

仍然在 Firefox 58 中看到这些(“Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:58.0) Gecko/20100101 Firefox/58.0”)

@brpocock您介意向 Mozilla 报告该错误吗? 我们对此无能为力。

Safari 根据此处修复。 我想我已经报告了 Mozilla 并且已修复。

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

Safari 不固定。 macOS 10.13.4 Safari 11.1,有问题。

在 Ubuntu 18.04 或 Windows 7 上的 Firefox 60.0.1 中仍未修复。

@toliverAtEScience @23d1嘿伙计们。 在这个地方写评论不能解决问题。 该线程已关闭,因为它显然是浏览器问题。 请联系浏览器开发人员。

此页面是否有帮助?
0 / 5 - 0 等级