Предупреждение о производительности контекста отладки OpenGL

Мне удалось реализовать контексты отладки 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 с момента последней компиляции шейдера (s ).

У нас есть четыре шейдера, которые работают с текстурой, совместно используемой контекстами, и информация об ошибке появляется только после создания нового контекста. Так что, возможно, создание контекста изменяет состояние конечного автомата OpenGL. Возможно ли, что это даже невозможно обойти,потому что каждый контекст начинается со своей собственной «чистой» конечной машины?

Вероятно, это не имеет большого значения, так как это происходит только при создании контекста, но мы запускаем много контекстов (, по крайней мере, до 15 из них одновременно ), так что было бы интересно посмотреть, смогу ли я исправить предупреждение и избавиться от него раз и навсегда.

14
задан AzP 17 August 2012 в 11:02
поделиться