Three.js: "расширение 'GL_ARB_gpu_shader5' не поддерживается"

Созданный на 19 сент. 2016  ·  52Комментарии  ·  Источник: mrdoob/three.js

хром отлично работает на том же Mac (только там материалы фонга objloader)

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

Звучит как случайный баг фф для меня.

@makc это все еще проблема?

да, ff nightly от 3 января до сих пор жалуется на GL_ARB_gpu_shader5 и выкидывает все шейдеры на консоль. в одном проекте мне даже пришлось

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

FWIW, это же предупреждение также появляется в Safari Technology Preview (выпуск 21), выпущенном вчера (не уверен насчет более ранних версий). Стабильный Safari работает нормально.

Ох...

Я испытываю это в стабильной версии Firefox (51.0.1) на Mac. Любые обходные пути или предлагаемые исправления?

Я тоже испытываю это в той же версии Firefox (51.0.1) на Mac. Я «исправил» это, как указано выше (makc), переопределив context.getShaderInfoLog любого средства визуализации, но я не уверен, что это имеет какие-либо побочные эффекты:

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

вы можете вызвать исходную функцию, проверить GL_ARB_gpu_shader5, а затем вернуть пустую строку или фактический журнал, если хотите увидеть другие сообщения

@kearwood , что вы, ребята, порекомендуете нам здесь делать?

хотя вы можете утверждать, что это проблема Firefox, что-то в three.js вызывает ее - если вы запустите, например, http://jsdo.it/zendenmushi/t0hZ в затронутом ff, вы не увидите это сообщение.

Согласно спецификации GL_ARB_gpu_shader5 его основным прозрачным дополнением является неявное преобразование. Также есть такие вещи, как разбиение/построение числа с плавающей запятой по частям (frexp/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 спасибо!

Я не сталкивался с этой проблемой в Firefox 52 на Ubuntu (Unity) 16.10, но начал сталкиваться с проблемой в Firefox 52 на Ubuntu-Gnome 17.04.
@ajyand

Прикрепите файлы, перетащив их,

или вставка из буфера обмена.
Поддерживается стилизация с помощью Markdown

Столкнулся с проблемой в Safari 10.1 (12603.1.30.0.34) на Mac.
image

Я могу подтвердить, что это происходит в macOS Safari/Firefox.

В Firefox в Windows я получаю что-то другое, хотя в 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 ) также не имеет значения. Я полагаю, что это будет до продавцов, чтобы исправить это.

Подтверждение этого в Safari 10.1.1 на ОС 10.12.5.

Перейти на билет webkit. Конечно, кто-то утверждал, что они не могут воспроизвести это. Но это происходит как в Safari, так и в Firefox.

Firefox работает над исправлением. Сафари через сто лет :) https://bugzilla.mozilla.org/show_bug.cgi?id=1246410#c37

Валовой. Я тоже это заметил после тестирования своего приложения в Safari 10.1.1 на 10.12.5.
Я не использую никаких пользовательских шейдеров.

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

Да, мой билет webkit устарел. Им просто все равно.

@danrossi через три года, если у вас есть учетная запись разработчика, они _могут_ позволить вам попробовать эту функцию самостоятельно в одной из бета-версий.

Если есть исправление, оно будет отслеживаться.

Я только что получил то же самое в билете для проблемы CORS, и вот. Бета-версия IOS 11, для запуска которой требуется совершенно новый Ipad 2017, не имеет этого исправления, как кто-то еще протестировал и упомянул.

Я не уверен, что это за предупреждение webgl, но, по крайней мере, кажется безобидным? Проблема CORS является более серьезной.

@danrossi я знаю

подтверждено - эта ошибка появляется и препятствует простой плоскости с видеотекстурой в A-Frame (предположительно, возвращается к трем). Работает без ошибок в FF и Chrome iOS/OSX, не работает (и появляется эта ошибка) в Safari (iOS или на десктопе). Я был бы очень удивлен — и очень хотел бы — услышать о ком-то, кто успешно создал видеотекстуру webGL в threejs (или aframe, если уж на то пошло) и просмотрел ее в Safari.

подтверждено - эта ошибка появляется и препятствует простой плоскости с видеотекстурой в A-Frame (предположительно, возвращается к трем). Работает без ошибок в FF и Chrome iOS/OSX, не работает (и появляется эта ошибка) в Safari (iOS или на десктопе). Я был бы очень удивлен — и очень хотел бы — услышать о ком-то, кто успешно создал видеотекстуру webGL в threejs (или aframe, если уж на то пошло) и просмотрел ее в Safari.

если вы добавите прослушиватель событий для пользовательского жеста (например, события click ) и вызовете document.querySelector('video').play() , это сработает? связанные: https://github.com/aframevr/aframe/pull/2830 скоро будут объединены.

У меня не будет возможности протестировать этот конкретный экземпляр, но с тех пор я подтвердил, что воспроизведение видео, инициированное пользователем, работает в Safari (iOS/рабочий стол). В этом отношении ошибка шейдера была чем-то вроде отвлекающего маневра, извините за путаницу.

В этом отношении ошибка шейдера была чем-то вроде отвлекающего маневра, извините за путаницу.

Да, нет, я провожу некоторые тесты на разных iPhone и Mac и столкнулся с этой проблемой на рабочем столе Safari. Поэтому я и прокомментировал здесь. Просто хотел убедиться. Спасибо за быстрый ответ! 👍

Это говорит о том, что исправлено, но я все еще вижу это в Safari 11 и Tech Preview.

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

/ping @grorg

Попробуйте этот тест:
https://trac.webkit.org/export/220983/webkit/trunk/LayoutTests/fast/canvas/webgl/no-info-log-for-simple-shaders.html

Safari 11 выпущен до того, как ошибка была исправлена, поэтому вы получите сообщение об ошибке, показанное на странице. В Safari Tech Preview есть исправление, поэтому страница должна быть пустой. Я только что проверил на STP 41.

screen shot 2016-09-19 at 12 43 39

Это сообщение исчезло при обновлении до FF 57. Думаю, теперь можно закрывать тему.

Это до сих пор происходит со мной на FF Nightly 59

Эм, я тоже : unmused:. Я думал, что это, наконец, было исправлено...

Я только что установил новую версию Nightly, и сообщение исчезло. Слава Богу! 😉

Это видно в Safari версии 11.0.1 (13604.3.5) на macOS 10.13.1.

Подтверждено исправлено в Safari Tech Preview Release 44 (Safari 11.1, WebKit 13605.1.13.2)

Хорошо, что это было просто предупреждение

Я также вижу это в Safari 11.0.2 на MacOS 10.13.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

Сафари не исправлено. macOS 10.13.4 Safari 11.1, возникла проблема.

Все еще не исправлено в Firefox 60.0.1 в Ubuntu 18.04 или Windows 7.

@toliverAtEScience @23d1 Привет, ребята. Написание комментариев в этом месте не решит проблему. Тема закрыта, так как явно проблема с браузером. Вместо этого обратитесь к разработчикам браузера.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги