2009-08-13 7 views
0

Wir sind ein kleines Entwicklerteam, das mit einigen GLSL arbeitet, die für die Kompilierung älterer Grafikkarten zu groß sein könnten. Wir möchten eine sinnvolle Fehlermeldung für den Benutzer anzeigen (anstatt nur das Info-Protokoll auszugeben oder einen generischen 'Diese Shader hat nicht funktionieren' Nachrichtentyp auszugeben), wenn dies aufgrund der Art des Fehlers geschieht. Die Frage ist, ATI und nVidia haben unterschiedliche Konventionen für diese Fehlermeldungen und der einzige Weg, den ich gefunden habe, um zu entscheiden, welche Art von Fehler der Shader hatte, ist es, die von glGetShaderInfoLog erzeugte Fehlerkette zu analysieren.Was sind die Fehlermeldungen zum Brechen der GLSL-Shader-Befehlsgrenzen?

Gegeben, gibt es irgendwo eine Auflistung oder weiß jemand, wie die Fehlerausgabe für ATI und nVidia Karten aussieht? Oder gibt es eine bessere Möglichkeit zu erkennen, wann das Befehlslimit überschritten wurde?

Antwort

1

Auch wenn Sie wissen, wie die Fehlermeldungen jetzt aussehen, sind nVidia und ATI nicht verpflichtet, sie in der/den nächsten Version (en) ihrer Treiber gleich zu halten. Sie können im Grunde genommen nur für Debugging-Zwecke verwendet werden.

Ich würde schauen und sehen, ob die Herstellererweiterungen in der Lage sein könnten, Sie mit spezifischeren Diagnoseinformationen zu versorgen.

+0

http://petewarden.com/notes/archives/2005/06/fragment_progra_3.html hat den Trick gemacht. –

Verwandte Themen