私はLinuxでjoglとOpenGLを使ってJavaのグラフィカルアプリケーションを開発しています。私のアプリケーションには30以上のシェーダが含まれており、ほとんどの場合、正常に動作します。しかし、週に約1回、ドライバ(amdgpu pro)のエラー(SIGSEGV)があります。OpenGL 4.3 APIとglsl言語は安全ですか?
OpenGLの安全な言語です:アプリケーションプログラムによってエラーから保護されているか、アプリケーションの不正な操作によってドライバのメモリが損傷する可能性があります(他人のメモリまたはデータ競争に書き込む)。不正なドライバ(amdgpu pro)またはアプリケーション自体のエラーで、エラーの原因(SIGSEGV)を調べるにはどうすればよいですか? (glGetErrorは、各アプリケーションステップですべてがうまくいくことを示しています)。
OpenGLは言語ではありません。ドライバの実装は、バグを含むことができる単なるプログラムです。 APIを不適切または非標準で使用すると、クラッシュが発生する可能性があります。 –
明白なエラーがなく、問題がないことをglGetErrorが示している場合、どのアプリケーションアクションがドライバクラッシュ(SIGSEGV)につながる可能性がありますか?このような間違ったアプリケーションの動作を自動的に検出するデバッグツールはありますか? –