Three.js: "Erweiterung 'GL_ARB_gpu_shader5' wird nicht unterstützt"

Erstellt am 19. Sept. 2016  ·  52Kommentare  ·  Quelle: mrdoob/three.js

Chrom ist auf demselben Mac in Ordnung (objloader's Phong-Materialien nur dort)

screen shot 2016-09-19 at 12 43 39

Ich bin mir nicht sicher, ob es sich um einen zufälligen FF-Fehler oder etwas Relevantes handelt.

Browser Issue

Hilfreichster Kommentar

Oh Gott, was habe ich getan...

screen shot 2016-09-19 at 12 55 19

Alle 52 Kommentare

Oh Gott, was habe ich getan...

screen shot 2016-09-19 at 12 55 19

Klingt für mich nach einem zufälligen FF-Bug.

@makc ist das immer noch ein Problem?

ja, ff nächtlich vom 3. Januar beschwert sich immer noch über GL_ARB_gpu_shader5 und gibt alle Shader auf die Konsole aus. bei einem Projekt musste ich sogar

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

FWIW, dieselbe Warnung tritt auch in Safari Technology Preview (Release 21) auf, die gestern veröffentlicht wurde (unsicher über frühere Versionen). Stable Safari ist in Ordnung.

Äh oh ...

Ich erlebe dies in einer stabilen Firefox-Version (51.0.1) auf dem Mac. Irgendwelche Problemumgehungen oder vorgeschlagene Korrekturen?

Auch ich erlebe dies in derselben Firefox-Version (51.0.1) auf dem Mac. Ich habe es wie oben (makc) "behoben", indem ich das context.getShaderInfoLog eines beliebigen Renderers neu definiert habe, aber ich bin mir nicht sicher, ob dies irgendwelche Folgeeffekte hat:

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

Sie könnten die ursprüngliche Funktion aufrufen, auf GL_ARB_gpu_shader5 testen und dann eine leere Zeichenfolge oder das tatsächliche Protokoll zurückgeben, wenn Sie andere Nachrichten sehen möchten

@kearwood was empfehlt ihr uns hier zu tun?

Während Sie argumentieren können, dass es sich um ein Firefox-Problem handelt, wird es durch etwas in three.js ausgelöst - wenn Sie beispielsweise http://jsdo.it/zendenmushi/t0hZ in betroffenem ff ausführen, wird diese Meldung nicht angezeigt.

Gemäß der GL_ARB_gpu_shader5-Spezifikation ist die wichtigste transparente Ergänzung die implizite Konvertierung. Es gibt auch Dinge wie das Zerlegen/Erstellen eines Floats nach Teilen (frexp/ldexp), das Packen/Entpacken von Vektoren in/aus einem großen Skalar und bitweise Konvertierungen von float <-> int. Es ist eine ziemlich große Spezifikation, daher könnte es schwierig sein, herauszufinden, welche Teile des Shaders diese Operationen durch Überprüfung nutzen (falls vorhanden). Wenn ich etwas Zeit habe, kann ich sie in einem Zweig auseinandernehmen und herausfinden, wo genau das Problem liegt, indem ich Dinge Schritt für Schritt hinzufüge und eine Pull-Anfrage mit allen Korrekturen mache. Wenn man bedenkt, dass es sogar den einfachen Vertex-Shader betrifft, der nichts anderes tut, als vUv zu übergeben und gl_Position zu setzen, kann es hoffentlich größtenteils durch kleine Änderungen an einem weit verbreiteten Block behoben werden.

Dies scheint jetzt auch in der neuesten Version von Safari Stable aufzutreten (10.1 - die mit macOS 10.12.4 geliefert wird).

Erleben Sie dies auch auf der neuesten Safari-Version 10.1

@kenrussell irgendwelche Ideen, was hier zu tun ist?

Ich denke, das kann http://crbug.com/671280 sein. Eine Korrektur für den Shader-Übersetzer von ANGLE wurde vor einiger Zeit vorgenommen, und da sowohl Firefox als auch Safari ihn verwenden, verwenden sie möglicherweise eine ältere Version. Ich habe https://bugzilla.mozilla.org/show_bug.cgi?id=1310741 kommentiert und werde die Entwickler der anderen Browser kontaktieren.

@kenrussell danke!

Ich hatte dieses Problem in Firefox 52 unter Ubuntu (Unity) 16.10 nicht, aber ich begann mit dem Problem in Firefox 52 unter Ubuntu-Gnome 17.04.
@ajyand

Dateien per Drag & Drop anhängen,

, oder Einfügen aus der Zwischenablage.
Styling mit Markdown wird unterstützt

Besteht das Problem in Safari 10.1 (12603.1.30.0.34) auf dem Mac.
image

Ich kann bestätigen, dass dies in macOS Safari / Firefox geschieht.

In Firefox unter Windows bekomme ich etwas anderes, obwohl das gleiche Protokoll in macOS erscheint.

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

Fehler tritt weiterhin auf Safari 10.1 MacOS Sierra 10.12.4 auf

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

Ich habe es hier gemeldet. Aber obwohl viele das Problem sehen können, behauptet diese Person, sie könne es nicht.

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

Ich bin mir nicht sicher, ob an diesem Ende etwas dagegen unternommen werden kann, selbst der einfachste Shader scheint eine Warnung auszulösen:

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

Das Hinzufügen #extension all: disable (siehe Abschnitt 3.4 der GLSL ES-Spezifikation ) scheint ebenfalls keinen Unterschied zu machen. Ich nehme an, dass es Sache der Händler sein wird, diesen zu reparieren.

Bestätigen Sie dies in Safari 10.1.1 unter OS 10.12.5.

Gehen Sie zum Webkit-Ticket. Natürlich behauptete jemand, sie könnten es nicht replizieren. Aber es passiert sowohl bei Safari als auch bei Firefox.

Firefox arbeitet an einer Lösung. Safari in hundert Jahren :) https://bugzilla.mozilla.org/show_bug.cgi?id=1246410#c37

Grob. Ich bemerke das auch gerade, nachdem ich meine App in Safari 10.1.1 am 10.12.5 getestet habe
Ich verwende keine benutzerdefinierten Shader.

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

Ja, mein Webkit-Ticket ist veraltet. Es ist ihnen einfach egal.

@danrossi in drei Jahren, wenn Sie ein Entwicklerkonto haben, können Sie diese Funktion in einer der Beta-Versionen _vielleicht_ selbst ausprobieren

Wenn es eine Lösung gibt, wird diese verfolgt.

Ich habe gerade dieselbe Behandlung in einem Ticket für die CORS-Ausgabe erhalten und siehe da. Das Beta-IOS 11, das ein brandneues Ipad 2017 zum Ausführen erfordert, hat diesen Fix nicht, wie jemand anderes getestet und erwähnt hat.

Ich bin mir nicht sicher, was diese Webgl-Warnung ist, scheint aber zumindest harmlos zu sein? Das CORS-Problem ist schwerwiegender.

@Danrossi Ich weiß

bestätigt - dieser Fehler taucht auf und verhindert eine einfache videostrukturierte Ebene in A-Frame (vermutlich zurück zu drei). Funktioniert ohne Fehler in FF und Chrome iOS/OSX, funktioniert nicht (und dieser Fehler erscheint) auf Safari (iOS oder Desktop). Ich wäre sehr überrascht – und gespannt – zu hören, dass es jemandem gelungen ist, eine WebGL-Videotextur in Threejs (oder Aframe für diese Angelegenheit) zu erstellen und sie auf Safari anzuzeigen.

bestätigt - dieser Fehler taucht auf und verhindert eine einfache videostrukturierte Ebene in A-Frame (vermutlich zurück zu drei). Funktioniert ohne Fehler in FF und Chrome iOS/OSX, funktioniert nicht (und dieser Fehler erscheint) auf Safari (iOS oder Desktop). Ich wäre sehr überrascht – und gespannt – zu hören, dass es jemandem gelungen ist, eine WebGL-Videotextur in Threejs (oder Aframe für diese Angelegenheit) zu erstellen und sie auf Safari anzuzeigen.

Wenn Sie einen Ereignis-Listener für eine vom Benutzer initiierte Geste (z. B. ein click -Ereignis) hinzufügen und document.querySelector('video').play() aufrufen, funktioniert es? verwandt: https://github.com/aframevr/aframe/pull/2830 wird bald zusammengeführt.

Ich habe keine Gelegenheit, diese bestimmte Instanz zu testen, habe aber inzwischen bestätigt, dass die vom Benutzer initiierte Videowiedergabe auf Safari (iOS/Desktop) funktioniert. Der Shader-Fehler war in dieser Hinsicht ein kleiner Ablenkungsmanöver, entschuldigen Sie die Verwirrung.

Der Shader-Fehler war in dieser Hinsicht ein kleiner Ablenkungsmanöver, entschuldigen Sie die Verwirrung.

Ja, nein, ich mache einige Tests auf verschiedenen iPhones und meinem Mac und bin auf dieses Problem auf dem Safari-Desktop gestoßen. Deshalb habe ich hier kommentiert. Wollte nur sicher gehen. Danke für die schnelle Antwort! 👍

Hier heißt es behoben behoben, aber ich sehe es immer noch in Safari 11 und Tech Preview.

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

/ping @grorg

Versuchen Sie diesen Test:
https://trac.webkit.org/export/220983/webkit/trunk/LayoutTests/fast/canvas/webgl/no-info-log-for-simple-shaders.html

Safari 11 wurde ausgeliefert, bevor der Fehler behoben wurde, sodass Sie den auf der Seite angezeigten Fehler erhalten. Safari Tech Preview hat die Lösung, sollte also eine leere Seite sein. Ich habe gerade auf STP 41 verifiziert.

screen shot 2016-09-19 at 12 43 39

Diese Meldung ist beim Upgrade auf FF 57 verschwunden. Ich denke, wir können das Problem jetzt schließen.

Es passiert mir immer noch bei FF Nightly 59

Ähm, ich auch : unamüsiert:. Ich dachte das wäre endlich behoben...

Ich habe gerade eine neue Version von Nightly installiert und die Meldung ist verschwunden. Danke Gott! 😉

Dies wird in Safari Version 11.0.1 (13604.3.5) unter macOS 10.13.1 angezeigt.

Bestätigte Behebung in Safari Tech Preview Release 44 (Safari 11.1, WebKit 13605.1.13.2)

Gut, dass dies nur eine Warnung war

Ich sehe das auch in Safari 11.0.2 auf MacOS 10.13.2 😞

Meines Wissens nach befindet sich die offizielle Lösung in Safari 11.1 (siehe oben).

Ich sehe diese immer noch in Firefox 58 ("Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:58.0) Gecko/20100101 Firefox/58.0")

@brpocock Macht es Ihnen etwas aus, den Fehler stattdessen an Mozilla zu melden? Es gibt nicht viel, was wir dagegen tun können.

Safari gemäß hier behoben. Ich glaube, ich habe den Mozilla bereits gemeldet und wurde behoben.

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

Safari ist nicht behoben. macOS 10.13.4 Safari 11.1, mit dem Problem.

Immer noch nicht behoben in Firefox 60.0.1 auf Ubuntu 18.04 oder Windows 7.

@toliverAtEScience @23d1 Hey Leute. Das Schreiben von Kommentaren an dieser Stelle wird das Problem nicht lösen. Dieser Thread wird geschlossen, da es sich eindeutig um ein Browserproblem handelt. Bitte wenden Sie sich stattdessen an die Browser-Entwickler.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen