15#define GL_RESOLVE_WITH_EXT(function, symbolName) \ 
   16    function = (function##_func)resolveFunction(#symbolName); 
 
   21static GLenum GetGraphicsResetStatus();
 
   22static void ReadnPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum 
format,
 
   23                        GLenum 
type, GLsizei bufSize, GLvoid *data);
 
   24static void GetnUniformfv(GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
 
   33    const bool haveArbRobustness = 
hasGLExtension(QByteArrayLiteral(
"GL_ARB_robustness"));
 
   34    const bool haveExtRobustness = 
hasGLExtension(QByteArrayLiteral(
"GL_EXT_robustness"));
 
   35    bool robustContext = 
false;
 
   37        if (haveExtRobustness) {
 
   39            glGetIntegerv(GL_CONTEXT_ROBUST_ACCESS_EXT, &value);
 
   40            robustContext = (value != 0);
 
   43        if (haveArbRobustness) {
 
   46                glGetIntegerv(GL_CONTEXT_FLAGS, &value);
 
   47                if (value & GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB) {
 
   55    if (robustContext && haveArbRobustness) {
 
   60    } 
else if (robustContext && haveExtRobustness) {
 
 
   72static GLenum GetGraphicsResetStatus()
 
   77static void ReadnPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum 
format,
 
   78                        GLenum 
type, GLsizei bufSize, GLvoid *data)
 
   80    glReadPixels(x, y, width, height, 
format, 
type, data);
 
   83static void GetnUniformfv(GLuint program, GLint location, GLsizei bufSize, GLfloat *params)
 
   85    glGetUniformfv(program, location, params);
 
#define GL_RESOLVE_WITH_EXT(function, symbolName)
glReadnPixels_func glReadnPixels
glGetnUniformfv_func glGetnUniformfv
bool hasGLVersion(int major, int minor, int release)
GLenum(*)() glGetGraphicsResetStatus_func
void(*)(GLuint program, GLint location, GLsizei bufSize, GLfloat *params) glGetnUniformfv_func
bool hasGLExtension(const QByteArray &extension)
glGetGraphicsResetStatus_func glGetGraphicsResetStatus
void(*)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data) glReadnPixels_func
void glResolveFunctions(const std::function< resolveFuncPtr(const char *)> &resolveFunction)