私はなんとかOpenGLデバッグコンテキストを実装することができました(素晴らしい、ついに!)、そしてほとんどのものはすべてうまくいくように見えます、しかし私は私が良い情報を見つけることができないというパフォーマンス警告を見ています。
[ 0.0330 - 388.6340] OpenGL Version: 4.2.0 Quadro 600/PCIe/SSE2 NVIDIA Corporation
[ 0.0000 - 549.1920] OpenGL: Program/shader state performance warning: Fragment Shader is going to be recompiled because the shader key based on GL state mismatches. [source=API type=PERFORMANCE severity=MEDIUM id=131218]
シェーダーを最後にコンパイルしてから、OpenGLの状態が変更されていることに関係していることは理解しています。
コンテキスト間で共有されるテクスチャ上で実行されている4つのシェーダーがあり、エラー情報は新しいコンテキストが作成された後にのみ表示されます。したがって、おそらくコンテキストの作成により、OpenGLステートマシンの状態が変更されます。各コンテキストは独自の「クリーンな」ステートマシンで始まるため、回避することさえ不可能である可能性はありますか?
コンテキストの作成時にのみ発生するため、おそらく大したことではありませんが、多くのコンテキストを実行しているため(少なくとも、同時に最大15個)、警告を修正できるかどうかを確認するのは興味深いことです。そしてそれを完全に取り除きます。