(Definir uma macro para) facilitar a depuração de comandos OpenGL?

Às vezes, demora muito tempo para inserir impressões e verificações condicionaisglGetError() para diminuir usando uma forma de pesquisa binária em que a primeira chamada de função é que um erro é relatado pela primeira vez pelo OpenGL.

Eu acho que seria legal se houvesse uma maneira de construir uma macro que eu pudesse incluir todas as chamadas GL que podem falhar, o que irá chamar condicionalmenteglGetError imediatamente depois. Ao compilar para um alvo especial, posso verificarglGetError com uma granularidade muito alta, enquanto compilando para um release ou depuração típica, isso não seria ativado (eu verificaria apenas uma vez por quadro).

Isso faz sentido fazer? Procurando por isso um pouco eu acho algumas pessoas recomendando chamarglGetError depois de cada chamada gl de não-sorte, que é basicamente a mesma coisa que estou descrevendo.

Então, neste caso, há alguma coisa inteligente que eu possa fazer (contexto: estou usando o GLEW) para simplificar o processo de instrumentação do meu gl chamado dessa maneira? Seria uma quantidade significativa de trabalho neste momento para converter meu código para envolver uma macro em torno de cada chamada de função OpenGL. O que seria ótimo é se eu posso fazer algo inteligente e fazer tudo isso sem determinar manualmente quais são as seções de código para instrumentar (embora isso também tenha vantagens potenciais ... mas não realmente.realmente não me importo com o desempenho no momento em que estou depurando a origem de um erro).