From 095b338732b6756b60aeb1461395237735a523e5 Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Tue, 2 Feb 2016 15:58:48 +0100 Subject: Generate more compact code to resolve the QOpenGLFunctions Use a similar mechanism as in QOpenGLVersionFunctions and resolve the methods in a loop. This requires some macro magic but significantly reduces the size of the generated code. Change-Id: If5f5e5551af0d1aed4b4ce7ce82932d8988dab59 Reviewed-by: Laszlo Agocs --- src/gui/opengl/qopenglfunctions.cpp | 270 +++------------- src/gui/opengl/qopenglfunctions.h | 604 +++++++++++++++++++----------------- 2 files changed, 351 insertions(+), 523 deletions(-) (limited to 'src/gui/opengl') diff --git a/src/gui/opengl/qopenglfunctions.cpp b/src/gui/opengl/qopenglfunctions.cpp index 294e4a27c9..a50a8be792 100644 --- a/src/gui/opengl/qopenglfunctions.cpp +++ b/src/gui/opengl/qopenglfunctions.cpp @@ -55,6 +55,24 @@ QT_BEGIN_NAMESPACE Q_LOGGING_CATEGORY(lcGLES3, "qt.opengl.es3") + +#define QT_OPENGL_COUNT_FUNCTIONS(ret, name, args) +1 +#define QT_OPENGL_FUNCTION_NAMES(ret, name, args) \ + "gl"#name"\0" +#define QT_OPENGL_FLAGS(ret, name, args) \ + 0, +#define QT_OPENGL_IMPLEMENT_WITH_FLAGS(CLASS, FUNCTIONS) \ +void CLASS::init(QOpenGLContext *context) \ +{ \ + const int flags[] = { FUNCTIONS(QT_OPENGL_FLAGS) 0 }; \ + const char *names = FUNCTIONS(QT_OPENGL_FUNCTION_NAMES); \ + const char *name = names; \ + for (int i = 0; i < FUNCTIONS(QT_OPENGL_COUNT_FUNCTIONS); ++i) { \ + functions[i] = ::getProcAddress(context, name, flags[i]); \ + name += strlen(name) + 1; \ + } \ +} + /*! \class QOpenGLFunctions \brief The QOpenGLFunctions class provides cross-platform access to the OpenGL ES 2.0 API. @@ -2149,9 +2167,6 @@ Func resolveWithFallback(QOpenGLContext *context, const char *name, int policy, #define RESOLVE(name, policy) \ resolve(context, "gl"#name, policy, name) -#define RESOLVE_WITH_FALLBACK(name, policy) \ - resolveWithFallback(context, "gl"#name, policy, qopenglfSpecial##name) - #ifndef QT_OPENGL_ES_2 // some fallback functions @@ -2159,14 +2174,14 @@ static void QOPENGLF_APIENTRY qopenglfSpecialClearDepthf(GLclampf depth) { QOpenGLContext *context = QOpenGLContext::currentContext(); QOpenGLFunctionsPrivateEx *funcs = qt_gl_functions(context); - funcs->ClearDepth((GLdouble) depth); + funcs->f.ClearDepth((GLdouble) depth); } static void QOPENGLF_APIENTRY qopenglfSpecialDepthRangef(GLclampf zNear, GLclampf zFar) { QOpenGLContext *context = QOpenGLContext::currentContext(); QOpenGLFunctionsPrivateEx *funcs = qt_gl_functions(context); - funcs->DepthRange((GLdouble) zNear, (GLdouble) zFar); + funcs->f.DepthRange((GLdouble) zNear, (GLdouble) zFar); } static void QOPENGLF_APIENTRY qopenglfSpecialGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision) @@ -2192,240 +2207,31 @@ static void QOPENGLF_APIENTRY qopenglfSpecialReleaseShaderCompiler() #endif // !QT_OPENGL_ES_2 -#if !defined(QT_OPENGL_ES_2) && !defined(QT_OPENGL_DYNAMIC) -// Special translation functions for ES-specific calls on desktop GL -static void QOPENGLF_APIENTRY qopenglfTranslateClearDepthf(GLclampf depth) +QOpenGLFunctionsPrivate::QOpenGLFunctionsPrivate(QOpenGLContext *c) { - ::glClearDepth(depth); -} + init(c); -static void QOPENGLF_APIENTRY qopenglfTranslateDepthRangef(GLclampf zNear, GLclampf zFar) -{ - ::glDepthRange(zNear, zFar); -} -#endif // !ES && !DYNAMIC - -QOpenGLFunctionsPrivate::QOpenGLFunctionsPrivate(QOpenGLContext *) -{ - /* Assign a pointer to an above defined static function - * which on first call resolves the function from the current - * context, assigns it to the member variable and executes it - * (see Resolver template) */ #ifndef QT_OPENGL_ES_2 - QOpenGLContext *context = QOpenGLContext::currentContext(); - - // The GL1 functions may not be queriable via getProcAddress(). - if (QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::AllGLFunctionsQueryable)) { - // The platform plugin supports resolving these. - BindTexture = RESOLVE(BindTexture, 0); - BlendFunc = RESOLVE(BlendFunc, 0); - Clear = RESOLVE(Clear, 0); - ClearColor = RESOLVE(ClearColor, 0); - ClearDepthf = RESOLVE_WITH_FALLBACK(ClearDepthf, 0); - ClearStencil = RESOLVE(ClearStencil, 0); - ColorMask = RESOLVE(ColorMask, 0); - CopyTexImage2D = RESOLVE(CopyTexImage2D, 0); - CopyTexSubImage2D = RESOLVE(CopyTexSubImage2D, 0); - CullFace = RESOLVE(CullFace, 0); - DeleteTextures = RESOLVE(DeleteTextures, 0); - DepthFunc = RESOLVE(DepthFunc, 0); - DepthMask = RESOLVE(DepthMask, 0); - DepthRangef = RESOLVE_WITH_FALLBACK(DepthRangef, 0); - Disable = RESOLVE(Disable, 0); - DrawArrays = RESOLVE(DrawArrays, 0); - DrawElements = RESOLVE(DrawElements, 0); - Enable = RESOLVE(Enable, 0); - Finish = RESOLVE(Finish, 0); - Flush = RESOLVE(Flush, 0); - FrontFace = RESOLVE(FrontFace, 0); - GenTextures = RESOLVE(GenTextures, 0); - GetBooleanv = RESOLVE(GetBooleanv, 0); - GetError = RESOLVE(GetError, 0); - GetFloatv = RESOLVE(GetFloatv, 0); - GetIntegerv = RESOLVE(GetIntegerv, 0); - GetString = RESOLVE(GetString, 0); - GetTexParameterfv = RESOLVE(GetTexParameterfv, 0); - GetTexParameteriv = RESOLVE(GetTexParameteriv, 0); - Hint = RESOLVE(Hint, 0); - IsEnabled = RESOLVE(IsEnabled, 0); - IsTexture = RESOLVE(IsTexture, 0); - LineWidth = RESOLVE(LineWidth, 0); - PixelStorei = RESOLVE(PixelStorei, 0); - PolygonOffset = RESOLVE(PolygonOffset, 0); - ReadPixels = RESOLVE(ReadPixels, 0); - Scissor = RESOLVE(Scissor, 0); - StencilFunc = RESOLVE(StencilFunc, 0); - StencilMask = RESOLVE(StencilMask, 0); - StencilOp = RESOLVE(StencilOp, 0); - TexImage2D = RESOLVE(TexImage2D, 0); - TexParameterf = RESOLVE(TexParameterf, 0); - TexParameterfv = RESOLVE(TexParameterfv, 0); - TexParameteri = RESOLVE(TexParameteri, 0); - TexParameteriv = RESOLVE(TexParameteriv, 0); - TexSubImage2D = RESOLVE(TexSubImage2D, 0); - Viewport = RESOLVE(Viewport, 0); - } else { -#ifndef QT_OPENGL_DYNAMIC - // Use the functions directly. This requires linking QtGui to an OpenGL implementation. - BindTexture = ::glBindTexture; - BlendFunc = ::glBlendFunc; - Clear = ::glClear; - ClearColor = ::glClearColor; - ClearDepthf = qopenglfTranslateClearDepthf; - ClearStencil = ::glClearStencil; - ColorMask = ::glColorMask; - CopyTexImage2D = ::glCopyTexImage2D; - CopyTexSubImage2D = ::glCopyTexSubImage2D; - CullFace = ::glCullFace; - DeleteTextures = ::glDeleteTextures; - DepthFunc = ::glDepthFunc; - DepthMask = ::glDepthMask; - DepthRangef = qopenglfTranslateDepthRangef; - Disable = ::glDisable; - DrawArrays = ::glDrawArrays; - DrawElements = ::glDrawElements; - Enable = ::glEnable; - Finish = ::glFinish; - Flush = ::glFlush; - FrontFace = ::glFrontFace; - GenTextures = ::glGenTextures; - GetBooleanv = ::glGetBooleanv; - GetError = ::glGetError; - GetFloatv = ::glGetFloatv; - GetIntegerv = ::glGetIntegerv; - GetString = ::glGetString; - GetTexParameterfv = ::glGetTexParameterfv; - GetTexParameteriv = ::glGetTexParameteriv; - Hint = ::glHint; - IsEnabled = ::glIsEnabled; - IsTexture = ::glIsTexture; - LineWidth = ::glLineWidth; - PixelStorei = ::glPixelStorei; - PolygonOffset = ::glPolygonOffset; - ReadPixels = ::glReadPixels; - Scissor = ::glScissor; - StencilFunc = ::glStencilFunc; - StencilMask = ::glStencilMask; - StencilOp = ::glStencilOp; -#if defined(Q_OS_OSX) && MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_7 - TexImage2D = reinterpret_cast(glTexImage2D); -#else - TexImage2D = glTexImage2D; + // setup fallbacks in case some methods couldn't get resolved + if (!f.ClearDepthf) + f.ClearDepthf = qopenglfSpecialClearDepthf; + if (!f.DepthRangef) + f.DepthRangef = qopenglfSpecialDepthRangef; + if (!f.GetShaderPrecisionFormat) + f.GetShaderPrecisionFormat = qopenglfSpecialGetShaderPrecisionFormat; + if (!f.IsProgram) + f.IsProgram = qopenglfSpecialIsProgram; + if (!f.IsShader) + f.IsShader = qopenglfSpecialIsShader; + if (!f.ReleaseShaderCompiler) + f.ReleaseShaderCompiler = qopenglfSpecialReleaseShaderCompiler; #endif - TexParameterf = ::glTexParameterf; - TexParameterfv = ::glTexParameterfv; - TexParameteri = ::glTexParameteri; - TexParameteriv = ::glTexParameteriv; - TexSubImage2D = ::glTexSubImage2D; - Viewport = ::glViewport; -#else // QT_OPENGL_DYNAMIC - // This should not happen. - qFatal("QOpenGLFunctions: Dynamic OpenGL builds do not support platforms with insufficient function resolving capabilities"); -#endif - } - - ActiveTexture = RESOLVE(ActiveTexture, 0); - AttachShader = RESOLVE(AttachShader, 0); - BindAttribLocation = RESOLVE(BindAttribLocation, 0); - BindBuffer = RESOLVE(BindBuffer, ResolveOES | ResolveEXT); - BindFramebuffer = RESOLVE(BindFramebuffer, ResolveOES | ResolveEXT); - BindRenderbuffer = RESOLVE(BindRenderbuffer, ResolveOES | ResolveEXT); - BlendColor = RESOLVE(BlendColor, ResolveOES | ResolveEXT); - BlendEquation = RESOLVE(BlendEquation, ResolveOES | ResolveEXT); - BlendEquationSeparate = RESOLVE(BlendEquationSeparate, ResolveOES | ResolveEXT); - BlendFuncSeparate = RESOLVE(BlendFuncSeparate, ResolveOES | ResolveEXT); - BufferData = RESOLVE(BufferData, ResolveOES | ResolveEXT); - BufferSubData = RESOLVE(BufferSubData, ResolveOES | ResolveEXT); - CheckFramebufferStatus = RESOLVE(CheckFramebufferStatus, ResolveOES | ResolveEXT); - CompileShader = RESOLVE(CompileShader, 0); - CompressedTexImage2D = RESOLVE(CompressedTexImage2D, ResolveOES | ResolveEXT); - CompressedTexSubImage2D = RESOLVE(CompressedTexSubImage2D, ResolveOES | ResolveEXT); - CreateProgram = RESOLVE(CreateProgram, 0); - CreateShader = RESOLVE(CreateShader, 0); - DeleteBuffers = RESOLVE(DeleteBuffers, ResolveOES | ResolveEXT); - DeleteFramebuffers = RESOLVE(DeleteFramebuffers, ResolveOES | ResolveEXT); - DeleteProgram = RESOLVE(DeleteProgram, 0); - DeleteRenderbuffers = RESOLVE(DeleteRenderbuffers, ResolveOES | ResolveEXT); - DeleteShader = RESOLVE(DeleteShader, 0); - DetachShader = RESOLVE(DetachShader, 0); - DisableVertexAttribArray = RESOLVE(DisableVertexAttribArray, 0); - EnableVertexAttribArray = RESOLVE(EnableVertexAttribArray, 0); - FramebufferRenderbuffer = RESOLVE(FramebufferRenderbuffer, ResolveOES | ResolveEXT); - FramebufferTexture2D = RESOLVE(FramebufferTexture2D, ResolveOES | ResolveEXT); - GenBuffers = RESOLVE(GenBuffers, ResolveOES | ResolveEXT); - GenerateMipmap = RESOLVE(GenerateMipmap, ResolveOES | ResolveEXT); - GenFramebuffers = RESOLVE(GenFramebuffers, ResolveOES | ResolveEXT); - GenRenderbuffers = RESOLVE(GenRenderbuffers, ResolveOES | ResolveEXT); - GetActiveAttrib = RESOLVE(GetActiveAttrib, 0); - GetActiveUniform = RESOLVE(GetActiveUniform, 0); - GetAttachedShaders = RESOLVE(GetAttachedShaders, 0); - GetAttribLocation = RESOLVE(GetAttribLocation, 0); - GetBufferParameteriv = RESOLVE(GetBufferParameteriv, ResolveOES | ResolveEXT); - GetFramebufferAttachmentParameteriv = RESOLVE(GetFramebufferAttachmentParameteriv, ResolveOES | ResolveEXT); - GetProgramiv = RESOLVE(GetProgramiv, 0); - GetProgramInfoLog = RESOLVE(GetProgramInfoLog, 0); - GetRenderbufferParameteriv = RESOLVE(GetRenderbufferParameteriv, ResolveOES | ResolveEXT); - GetShaderiv = RESOLVE(GetShaderiv, 0); - GetShaderInfoLog = RESOLVE(GetShaderInfoLog, 0); - GetShaderPrecisionFormat = RESOLVE_WITH_FALLBACK(GetShaderPrecisionFormat, ResolveOES | ResolveEXT); - GetShaderSource = RESOLVE(GetShaderSource, 0); - GetUniformfv = RESOLVE(GetUniformfv, 0); - GetUniformiv = RESOLVE(GetUniformiv, 0); - GetUniformLocation = RESOLVE(GetUniformLocation, 0); - GetVertexAttribfv = RESOLVE(GetVertexAttribfv, 0); - GetVertexAttribiv = RESOLVE(GetVertexAttribiv, 0); - GetVertexAttribPointerv = RESOLVE(GetVertexAttribPointerv, 0); - IsBuffer = RESOLVE(IsBuffer, ResolveOES | ResolveEXT); - IsFramebuffer = RESOLVE(IsFramebuffer, ResolveOES | ResolveEXT); - IsProgram = RESOLVE_WITH_FALLBACK(IsProgram, 0); - IsRenderbuffer = RESOLVE(IsRenderbuffer, ResolveOES | ResolveEXT); - IsShader = RESOLVE_WITH_FALLBACK(IsShader, 0); - LinkProgram = RESOLVE(LinkProgram, 0); - ReleaseShaderCompiler = RESOLVE_WITH_FALLBACK(ReleaseShaderCompiler, 0); - RenderbufferStorage = RESOLVE(RenderbufferStorage, ResolveOES | ResolveEXT); - SampleCoverage = RESOLVE(SampleCoverage, ResolveOES | ResolveEXT); - ShaderBinary = RESOLVE(ShaderBinary, 0); - ShaderSource = RESOLVE(ShaderSource, 0); - StencilFuncSeparate = RESOLVE(StencilFuncSeparate, ResolveEXT); - StencilMaskSeparate = RESOLVE(StencilMaskSeparate, ResolveEXT); - StencilOpSeparate = RESOLVE(StencilOpSeparate, ResolveEXT); - Uniform1f = RESOLVE(Uniform1f, 0); - Uniform1fv = RESOLVE(Uniform1fv, 0); - Uniform1i = RESOLVE(Uniform1i, 0); - Uniform1iv = RESOLVE(Uniform1iv, 0); - Uniform2f = RESOLVE(Uniform2f, 0); - Uniform2fv = RESOLVE(Uniform2fv, 0); - Uniform2i = RESOLVE(Uniform2i, 0); - Uniform2iv = RESOLVE(Uniform2iv, 0); - Uniform3f = RESOLVE(Uniform3f, 0); - Uniform3fv = RESOLVE(Uniform3fv, 0); - Uniform3i = RESOLVE(Uniform3i, 0); - Uniform3iv = RESOLVE(Uniform3iv, 0); - Uniform4f = RESOLVE(Uniform4f, 0); - Uniform4fv = RESOLVE(Uniform4fv, 0); - Uniform4i = RESOLVE(Uniform4i, 0); - Uniform4iv = RESOLVE(Uniform4iv, 0); - UniformMatrix2fv = RESOLVE(UniformMatrix2fv, 0); - UniformMatrix3fv = RESOLVE(UniformMatrix3fv, 0); - UniformMatrix4fv = RESOLVE(UniformMatrix4fv, 0); - UseProgram = RESOLVE(UseProgram, 0); - ValidateProgram = RESOLVE(ValidateProgram, 0); - VertexAttrib1f = RESOLVE(VertexAttrib1f, 0); - VertexAttrib1fv = RESOLVE(VertexAttrib1fv, 0); - VertexAttrib2f = RESOLVE(VertexAttrib2f, 0); - VertexAttrib2fv = RESOLVE(VertexAttrib2fv, 0); - VertexAttrib3f = RESOLVE(VertexAttrib3f, 0); - VertexAttrib3fv = RESOLVE(VertexAttrib3fv, 0); - VertexAttrib4f = RESOLVE(VertexAttrib4f, 0); - VertexAttrib4fv = RESOLVE(VertexAttrib4fv, 0); - VertexAttribPointer = RESOLVE(VertexAttribPointer, 0); - - ClearDepth = RESOLVE(ClearDepth, 0); - DepthRange = RESOLVE(DepthRange, 0); -#endif // !QT_OPENGL_ES_2 } + +QT_OPENGL_IMPLEMENT_WITH_FLAGS(QOpenGLFunctionsPrivate, QT_OPENGL_FUNCTIONS) + /*! \class QOpenGLExtraFunctions \brief The QOpenGLExtraFunctions class provides cross-platform access to the OpenGL ES 3.0 and 3.1 API. diff --git a/src/gui/opengl/qopenglfunctions.h b/src/gui/opengl/qopenglfunctions.h index ed42e59e5d..f6cd0e553e 100644 --- a/src/gui/opengl/qopenglfunctions.h +++ b/src/gui/opengl/qopenglfunctions.h @@ -56,6 +56,10 @@ //#define Q_ENABLE_OPENGL_FUNCTIONS_DEBUG +#ifdef QT_OPENGL_ES +typedef double GLdouble; +#endif + #ifdef Q_ENABLE_OPENGL_FUNCTIONS_DEBUG #include #define Q_OPENGL_FUNCTIONS_DEBUG \ @@ -414,159 +418,173 @@ protected: Q_DECLARE_OPERATORS_FOR_FLAGS(QOpenGLFunctions::OpenGLFeatures) +#define QT_OPENGL_DECLARE_FUNCTIONS(ret, name, args) \ + ret (QOPENGLF_APIENTRYP name)args; +#define QT_OPENGL_COUNT_FUNCTIONS(ret, name, args) +1 + +#define QT_OPENGL_DECLARE(FUNCTIONS) \ +public: \ + struct Functions { \ + FUNCTIONS(QT_OPENGL_DECLARE_FUNCTIONS) \ + }; \ + union { \ + QFunctionPointer functions[FUNCTIONS(QT_OPENGL_COUNT_FUNCTIONS)]; \ + Functions f; \ + }; \ +private: \ + void init(QOpenGLContext *context); + struct QOpenGLFunctionsPrivate { QOpenGLFunctionsPrivate(QOpenGLContext *ctx); - void (QOPENGLF_APIENTRYP BindTexture)(GLenum target, GLuint texture); - void (QOPENGLF_APIENTRYP BlendFunc)(GLenum sfactor, GLenum dfactor); - void (QOPENGLF_APIENTRYP Clear)(GLbitfield mask); - void (QOPENGLF_APIENTRYP ClearColor)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); - void (QOPENGLF_APIENTRYP ClearDepthf)(GLclampf depth); - void (QOPENGLF_APIENTRYP ClearStencil)(GLint s); - void (QOPENGLF_APIENTRYP ColorMask)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); - void (QOPENGLF_APIENTRYP CopyTexImage2D)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); - void (QOPENGLF_APIENTRYP CopyTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); - void (QOPENGLF_APIENTRYP CullFace)(GLenum mode); - void (QOPENGLF_APIENTRYP DeleteTextures)(GLsizei n, const GLuint* textures); - void (QOPENGLF_APIENTRYP DepthFunc)(GLenum func); - void (QOPENGLF_APIENTRYP DepthMask)(GLboolean flag); - void (QOPENGLF_APIENTRYP DepthRangef)(GLclampf nearVal, GLclampf farVal); - void (QOPENGLF_APIENTRYP Disable)(GLenum cap); - void (QOPENGLF_APIENTRYP DrawArrays)(GLenum mode, GLint first, GLsizei count); - void (QOPENGLF_APIENTRYP DrawElements)(GLenum mode, GLsizei count, GLenum type, const GLvoid* indices); - void (QOPENGLF_APIENTRYP Enable)(GLenum cap); - void (QOPENGLF_APIENTRYP Finish)(); - void (QOPENGLF_APIENTRYP Flush)(); - void (QOPENGLF_APIENTRYP FrontFace)(GLenum mode); - void (QOPENGLF_APIENTRYP GenTextures)(GLsizei n, GLuint* textures); - void (QOPENGLF_APIENTRYP GetBooleanv)(GLenum pname, GLboolean* params); - GLenum (QOPENGLF_APIENTRYP GetError)(); - void (QOPENGLF_APIENTRYP GetFloatv)(GLenum pname, GLfloat* params); - void (QOPENGLF_APIENTRYP GetIntegerv)(GLenum pname, GLint* params); - const GLubyte * (QOPENGLF_APIENTRYP GetString)(GLenum name); - void (QOPENGLF_APIENTRYP GetTexParameterfv)(GLenum target, GLenum pname, GLfloat* params); - void (QOPENGLF_APIENTRYP GetTexParameteriv)(GLenum target, GLenum pname, GLint* params); - void (QOPENGLF_APIENTRYP Hint)(GLenum target, GLenum mode); - GLboolean (QOPENGLF_APIENTRYP IsEnabled)(GLenum cap); - GLboolean (QOPENGLF_APIENTRYP IsTexture)(GLuint texture); - void (QOPENGLF_APIENTRYP LineWidth)(GLfloat width); - void (QOPENGLF_APIENTRYP PixelStorei)(GLenum pname, GLint param); - void (QOPENGLF_APIENTRYP PolygonOffset)(GLfloat factor, GLfloat units); - void (QOPENGLF_APIENTRYP ReadPixels)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels); - void (QOPENGLF_APIENTRYP Scissor)(GLint x, GLint y, GLsizei width, GLsizei height); - void (QOPENGLF_APIENTRYP StencilFunc)(GLenum func, GLint ref, GLuint mask); - void (QOPENGLF_APIENTRYP StencilMask)(GLuint mask); - void (QOPENGLF_APIENTRYP StencilOp)(GLenum fail, GLenum zfail, GLenum zpass); - void (QOPENGLF_APIENTRYP TexImage2D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels); - void (QOPENGLF_APIENTRYP TexParameterf)(GLenum target, GLenum pname, GLfloat param); - void (QOPENGLF_APIENTRYP TexParameterfv)(GLenum target, GLenum pname, const GLfloat* params); - void (QOPENGLF_APIENTRYP TexParameteri)(GLenum target, GLenum pname, GLint param); - void (QOPENGLF_APIENTRYP TexParameteriv)(GLenum target, GLenum pname, const GLint* params); - void (QOPENGLF_APIENTRYP TexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels); - void (QOPENGLF_APIENTRYP Viewport)(GLint x, GLint y, GLsizei width, GLsizei height); - - void (QOPENGLF_APIENTRYP ActiveTexture)(GLenum texture); - void (QOPENGLF_APIENTRYP AttachShader)(GLuint program, GLuint shader); - void (QOPENGLF_APIENTRYP BindAttribLocation)(GLuint program, GLuint index, const char* name); - void (QOPENGLF_APIENTRYP BindBuffer)(GLenum target, GLuint buffer); - void (QOPENGLF_APIENTRYP BindFramebuffer)(GLenum target, GLuint framebuffer); - void (QOPENGLF_APIENTRYP BindRenderbuffer)(GLenum target, GLuint renderbuffer); - void (QOPENGLF_APIENTRYP BlendColor)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); - void (QOPENGLF_APIENTRYP BlendEquation)(GLenum mode); - void (QOPENGLF_APIENTRYP BlendEquationSeparate)(GLenum modeRGB, GLenum modeAlpha); - void (QOPENGLF_APIENTRYP BlendFuncSeparate)(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); - void (QOPENGLF_APIENTRYP BufferData)(GLenum target, qopengl_GLsizeiptr size, const void* data, GLenum usage); - void (QOPENGLF_APIENTRYP BufferSubData)(GLenum target, qopengl_GLintptr offset, qopengl_GLsizeiptr size, const void* data); - GLenum (QOPENGLF_APIENTRYP CheckFramebufferStatus)(GLenum target); - void (QOPENGLF_APIENTRYP CompileShader)(GLuint shader); - void (QOPENGLF_APIENTRYP CompressedTexImage2D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void* data); - void (QOPENGLF_APIENTRYP CompressedTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void* data); - GLuint (QOPENGLF_APIENTRYP CreateProgram)(); - GLuint (QOPENGLF_APIENTRYP CreateShader)(GLenum type); - void (QOPENGLF_APIENTRYP DeleteBuffers)(GLsizei n, const GLuint* buffers); - void (QOPENGLF_APIENTRYP DeleteFramebuffers)(GLsizei n, const GLuint* framebuffers); - void (QOPENGLF_APIENTRYP DeleteProgram)(GLuint program); - void (QOPENGLF_APIENTRYP DeleteRenderbuffers)(GLsizei n, const GLuint* renderbuffers); - void (QOPENGLF_APIENTRYP DeleteShader)(GLuint shader); - void (QOPENGLF_APIENTRYP DetachShader)(GLuint program, GLuint shader); - void (QOPENGLF_APIENTRYP DisableVertexAttribArray)(GLuint index); - void (QOPENGLF_APIENTRYP EnableVertexAttribArray)(GLuint index); - void (QOPENGLF_APIENTRYP FramebufferRenderbuffer)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); - void (QOPENGLF_APIENTRYP FramebufferTexture2D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); - void (QOPENGLF_APIENTRYP GenBuffers)(GLsizei n, GLuint* buffers); - void (QOPENGLF_APIENTRYP GenerateMipmap)(GLenum target); - void (QOPENGLF_APIENTRYP GenFramebuffers)(GLsizei n, GLuint* framebuffers); - void (QOPENGLF_APIENTRYP GenRenderbuffers)(GLsizei n, GLuint* renderbuffers); - void (QOPENGLF_APIENTRYP GetActiveAttrib)(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, char* name); - void (QOPENGLF_APIENTRYP GetActiveUniform)(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, char* name); - void (QOPENGLF_APIENTRYP GetAttachedShaders)(GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders); - GLint (QOPENGLF_APIENTRYP GetAttribLocation)(GLuint program, const char* name); - void (QOPENGLF_APIENTRYP GetBufferParameteriv)(GLenum target, GLenum pname, GLint* params); - void (QOPENGLF_APIENTRYP GetFramebufferAttachmentParameteriv)(GLenum target, GLenum attachment, GLenum pname, GLint* params); - void (QOPENGLF_APIENTRYP GetProgramiv)(GLuint program, GLenum pname, GLint* params); - void (QOPENGLF_APIENTRYP GetProgramInfoLog)(GLuint program, GLsizei bufsize, GLsizei* length, char* infolog); - void (QOPENGLF_APIENTRYP GetRenderbufferParameteriv)(GLenum target, GLenum pname, GLint* params); - void (QOPENGLF_APIENTRYP GetShaderiv)(GLuint shader, GLenum pname, GLint* params); - void (QOPENGLF_APIENTRYP GetShaderInfoLog)(GLuint shader, GLsizei bufsize, GLsizei* length, char* infolog); - void (QOPENGLF_APIENTRYP GetShaderPrecisionFormat)(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision); - void (QOPENGLF_APIENTRYP GetShaderSource)(GLuint shader, GLsizei bufsize, GLsizei* length, char* source); - void (QOPENGLF_APIENTRYP GetUniformfv)(GLuint program, GLint location, GLfloat* params); - void (QOPENGLF_APIENTRYP GetUniformiv)(GLuint program, GLint location, GLint* params); - GLint (QOPENGLF_APIENTRYP GetUniformLocation)(GLuint program, const char* name); - void (QOPENGLF_APIENTRYP GetVertexAttribfv)(GLuint index, GLenum pname, GLfloat* params); - void (QOPENGLF_APIENTRYP GetVertexAttribiv)(GLuint index, GLenum pname, GLint* params); - void (QOPENGLF_APIENTRYP GetVertexAttribPointerv)(GLuint index, GLenum pname, void** pointer); - GLboolean (QOPENGLF_APIENTRYP IsBuffer)(GLuint buffer); - GLboolean (QOPENGLF_APIENTRYP IsFramebuffer)(GLuint framebuffer); - GLboolean (QOPENGLF_APIENTRYP IsProgram)(GLuint program); - GLboolean (QOPENGLF_APIENTRYP IsRenderbuffer)(GLuint renderbuffer); - GLboolean (QOPENGLF_APIENTRYP IsShader)(GLuint shader); - void (QOPENGLF_APIENTRYP LinkProgram)(GLuint program); - void (QOPENGLF_APIENTRYP ReleaseShaderCompiler)(); - void (QOPENGLF_APIENTRYP RenderbufferStorage)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); - void (QOPENGLF_APIENTRYP SampleCoverage)(GLclampf value, GLboolean invert); - void (QOPENGLF_APIENTRYP ShaderBinary)(GLint n, const GLuint* shaders, GLenum binaryformat, const void* binary, GLint length); - void (QOPENGLF_APIENTRYP ShaderSource)(GLuint shader, GLsizei count, const char** string, const GLint* length); - void (QOPENGLF_APIENTRYP StencilFuncSeparate)(GLenum face, GLenum func, GLint ref, GLuint mask); - void (QOPENGLF_APIENTRYP StencilMaskSeparate)(GLenum face, GLuint mask); - void (QOPENGLF_APIENTRYP StencilOpSeparate)(GLenum face, GLenum fail, GLenum zfail, GLenum zpass); - void (QOPENGLF_APIENTRYP Uniform1f)(GLint location, GLfloat x); - void (QOPENGLF_APIENTRYP Uniform1fv)(GLint location, GLsizei count, const GLfloat* v); - void (QOPENGLF_APIENTRYP Uniform1i)(GLint location, GLint x); - void (QOPENGLF_APIENTRYP Uniform1iv)(GLint location, GLsizei count, const GLint* v); - void (QOPENGLF_APIENTRYP Uniform2f)(GLint location, GLfloat x, GLfloat y); - void (QOPENGLF_APIENTRYP Uniform2fv)(GLint location, GLsizei count, const GLfloat* v); - void (QOPENGLF_APIENTRYP Uniform2i)(GLint location, GLint x, GLint y); - void (QOPENGLF_APIENTRYP Uniform2iv)(GLint location, GLsizei count, const GLint* v); - void (QOPENGLF_APIENTRYP Uniform3f)(GLint location, GLfloat x, GLfloat y, GLfloat z); - void (QOPENGLF_APIENTRYP Uniform3fv)(GLint location, GLsizei count, const GLfloat* v); - void (QOPENGLF_APIENTRYP Uniform3i)(GLint location, GLint x, GLint y, GLint z); - void (QOPENGLF_APIENTRYP Uniform3iv)(GLint location, GLsizei count, const GLint* v); - void (QOPENGLF_APIENTRYP Uniform4f)(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); - void (QOPENGLF_APIENTRYP Uniform4fv)(GLint location, GLsizei count, const GLfloat* v); - void (QOPENGLF_APIENTRYP Uniform4i)(GLint location, GLint x, GLint y, GLint z, GLint w); - void (QOPENGLF_APIENTRYP Uniform4iv)(GLint location, GLsizei count, const GLint* v); - void (QOPENGLF_APIENTRYP UniformMatrix2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); - void (QOPENGLF_APIENTRYP UniformMatrix3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); - void (QOPENGLF_APIENTRYP UniformMatrix4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); - void (QOPENGLF_APIENTRYP UseProgram)(GLuint program); - void (QOPENGLF_APIENTRYP ValidateProgram)(GLuint program); - void (QOPENGLF_APIENTRYP VertexAttrib1f)(GLuint indx, GLfloat x); - void (QOPENGLF_APIENTRYP VertexAttrib1fv)(GLuint indx, const GLfloat* values); - void (QOPENGLF_APIENTRYP VertexAttrib2f)(GLuint indx, GLfloat x, GLfloat y); - void (QOPENGLF_APIENTRYP VertexAttrib2fv)(GLuint indx, const GLfloat* values); - void (QOPENGLF_APIENTRYP VertexAttrib3f)(GLuint indx, GLfloat x, GLfloat y, GLfloat z); - void (QOPENGLF_APIENTRYP VertexAttrib3fv)(GLuint indx, const GLfloat* values); - void (QOPENGLF_APIENTRYP VertexAttrib4f)(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w); - void (QOPENGLF_APIENTRYP VertexAttrib4fv)(GLuint indx, const GLfloat* values); - void (QOPENGLF_APIENTRYP VertexAttribPointer)(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void* ptr); - - // Special non-ES OpenGL variants, not to be called directly -#ifndef QT_OPENGL_ES_2 - void (QOPENGLF_APIENTRYP ClearDepth)(GLdouble depth); - void (QOPENGLF_APIENTRYP DepthRange)(GLdouble zNear, GLdouble zFar); -#endif +#define QT_OPENGL_FUNCTIONS(F) \ + F(void, BindTexture, (GLenum target, GLuint texture)) \ + F(void, BlendFunc, (GLenum sfactor, GLenum dfactor)) \ + F(void, Clear, (GLbitfield mask)) \ + F(void, ClearColor, (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)) \ + F(void, ClearDepthf, (GLclampf depth)) \ + F(void, ClearStencil, (GLint s)) \ + F(void, ColorMask, (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)) \ + F(void, CopyTexImage2D, (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)) \ + F(void, CopyTexSubImage2D, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)) \ + F(void, CullFace, (GLenum mode)) \ + F(void, DeleteTextures, (GLsizei n, const GLuint* textures)) \ + F(void, DepthFunc, (GLenum func)) \ + F(void, DepthMask, (GLboolean flag)) \ + F(void, DepthRangef, (GLclampf nearVal, GLclampf farVal)) \ + F(void, Disable, (GLenum cap)) \ + F(void, DrawArrays, (GLenum mode, GLint first, GLsizei count)) \ + F(void, DrawElements, (GLenum mode, GLsizei count, GLenum type, const GLvoid* indices)) \ + F(void, Enable, (GLenum cap)) \ + F(void, Finish, ()) \ + F(void, Flush, ()) \ + F(void, FrontFace, (GLenum mode)) \ + F(void, GenTextures, (GLsizei n, GLuint* textures)) \ + F(void, GetBooleanv, (GLenum pname, GLboolean* params)) \ + F(GLenum, GetError, ()) \ + F(void, GetFloatv, (GLenum pname, GLfloat* params)) \ + F(void, GetIntegerv, (GLenum pname, GLint* params)) \ + F(const GLubyte *, GetString, (GLenum name)) \ + F(void, GetTexParameterfv, (GLenum target, GLenum pname, GLfloat* params)) \ + F(void, GetTexParameteriv, (GLenum target, GLenum pname, GLint* params)) \ + F(void, Hint, (GLenum target, GLenum mode)) \ + F(GLboolean, IsEnabled, (GLenum cap)) \ + F(GLboolean, IsTexture, (GLuint texture)) \ + F(void, LineWidth, (GLfloat width)) \ + F(void, PixelStorei, (GLenum pname, GLint param)) \ + F(void, PolygonOffset, (GLfloat factor, GLfloat units)) \ + F(void, ReadPixels, (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels)) \ + F(void, Scissor, (GLint x, GLint y, GLsizei width, GLsizei height)) \ + F(void, StencilFunc, (GLenum func, GLint ref, GLuint mask)) \ + F(void, StencilMask, (GLuint mask)) \ + F(void, StencilOp, (GLenum fail, GLenum zfail, GLenum zpass)) \ + F(void, TexImage2D, (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels)) \ + F(void, TexParameterf, (GLenum target, GLenum pname, GLfloat param)) \ + F(void, TexParameterfv, (GLenum target, GLenum pname, const GLfloat* params)) \ + F(void, TexParameteri, (GLenum target, GLenum pname, GLint param)) \ + F(void, TexParameteriv, (GLenum target, GLenum pname, const GLint* params)) \ + F(void, TexSubImage2D, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels)) \ + F(void, Viewport, (GLint x, GLint y, GLsizei width, GLsizei height)) \ + F(void, ActiveTexture, (GLenum texture)) \ + F(void, AttachShader, (GLuint program, GLuint shader)) \ + F(void, BindAttribLocation, (GLuint program, GLuint index, const char* name)) \ + F(void, BindBuffer, (GLenum target, GLuint buffer)) \ + F(void, BindFramebuffer, (GLenum target, GLuint framebuffer)) \ + F(void, BindRenderbuffer, (GLenum target, GLuint renderbuffer)) \ + F(void, BlendColor, (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)) \ + F(void, BlendEquation, (GLenum mode)) \ + F(void, BlendEquationSeparate, (GLenum modeRGB, GLenum modeAlpha)) \ + F(void, BlendFuncSeparate, (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)) \ + F(void, BufferData, (GLenum target, qopengl_GLsizeiptr size, const void* data, GLenum usage)) \ + F(void, BufferSubData, (GLenum target, qopengl_GLintptr offset, qopengl_GLsizeiptr size, const void* data)) \ + F(GLenum, CheckFramebufferStatus, (GLenum target)) \ + F(void, CompileShader, (GLuint shader)) \ + F(void, CompressedTexImage2D, (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void* data)) \ + F(void, CompressedTexSubImage2D, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void* data)) \ + F(GLuint, CreateProgram, ()) \ + F(GLuint, CreateShader, (GLenum type)) \ + F(void, DeleteBuffers, (GLsizei n, const GLuint* buffers)) \ + F(void, DeleteFramebuffers, (GLsizei n, const GLuint* framebuffers)) \ + F(void, DeleteProgram, (GLuint program)) \ + F(void, DeleteRenderbuffers, (GLsizei n, const GLuint* renderbuffers)) \ + F(void, DeleteShader, (GLuint shader)) \ + F(void, DetachShader, (GLuint program, GLuint shader)) \ + F(void, DisableVertexAttribArray, (GLuint index)) \ + F(void, EnableVertexAttribArray, (GLuint index)) \ + F(void, FramebufferRenderbuffer, (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)) \ + F(void, FramebufferTexture2D, (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)) \ + F(void, GenBuffers, (GLsizei n, GLuint* buffers)) \ + F(void, GenerateMipmap, (GLenum target)) \ + F(void, GenFramebuffers, (GLsizei n, GLuint* framebuffers)) \ + F(void, GenRenderbuffers, (GLsizei n, GLuint* renderbuffers)) \ + F(void, GetActiveAttrib, (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, char* name)) \ + F(void, GetActiveUniform, (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, char* name)) \ + F(void, GetAttachedShaders, (GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders)) \ + F(GLint, GetAttribLocation, (GLuint program, const char* name)) \ + F(void, GetBufferParameteriv, (GLenum target, GLenum pname, GLint* params)) \ + F(void, GetFramebufferAttachmentParameteriv, (GLenum target, GLenum attachment, GLenum pname, GLint* params)) \ + F(void, GetProgramiv, (GLuint program, GLenum pname, GLint* params)) \ + F(void, GetProgramInfoLog, (GLuint program, GLsizei bufsize, GLsizei* length, char* infolog)) \ + F(void, GetRenderbufferParameteriv, (GLenum target, GLenum pname, GLint* params)) \ + F(void, GetShaderiv, (GLuint shader, GLenum pname, GLint* params)) \ + F(void, GetShaderInfoLog, (GLuint shader, GLsizei bufsize, GLsizei* length, char* infolog)) \ + F(void, GetShaderPrecisionFormat, (GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision)) \ + F(void, GetShaderSource, (GLuint shader, GLsizei bufsize, GLsizei* length, char* source)) \ + F(void, GetUniformfv, (GLuint program, GLint location, GLfloat* params)) \ + F(void, GetUniformiv, (GLuint program, GLint location, GLint* params)) \ + F(GLint, GetUniformLocation, (GLuint program, const char* name)) \ + F(void, GetVertexAttribfv, (GLuint index, GLenum pname, GLfloat* params)) \ + F(void, GetVertexAttribiv, (GLuint index, GLenum pname, GLint* params)) \ + F(void, GetVertexAttribPointerv, (GLuint index, GLenum pname, void** pointer)) \ + F(GLboolean, IsBuffer, (GLuint buffer)) \ + F(GLboolean, IsFramebuffer, (GLuint framebuffer)) \ + F(GLboolean, IsProgram, (GLuint program)) \ + F(GLboolean, IsRenderbuffer, (GLuint renderbuffer)) \ + F(GLboolean, IsShader, (GLuint shader)) \ + F(void, LinkProgram, (GLuint program)) \ + F(void, ReleaseShaderCompiler, ()) \ + F(void, RenderbufferStorage, (GLenum target, GLenum internalformat, GLsizei width, GLsizei height)) \ + F(void, SampleCoverage, (GLclampf value, GLboolean invert)) \ + F(void, ShaderBinary, (GLint n, const GLuint* shaders, GLenum binaryformat, const void* binary, GLint length)) \ + F(void, ShaderSource, (GLuint shader, GLsizei count, const char** string, const GLint* length)) \ + F(void, StencilFuncSeparate, (GLenum face, GLenum func, GLint ref, GLuint mask)) \ + F(void, StencilMaskSeparate, (GLenum face, GLuint mask)) \ + F(void, StencilOpSeparate, (GLenum face, GLenum fail, GLenum zfail, GLenum zpass)) \ + F(void, Uniform1f, (GLint location, GLfloat x)) \ + F(void, Uniform1fv, (GLint location, GLsizei count, const GLfloat* v)) \ + F(void, Uniform1i, (GLint location, GLint x)) \ + F(void, Uniform1iv, (GLint location, GLsizei count, const GLint* v)) \ + F(void, Uniform2f, (GLint location, GLfloat x, GLfloat y)) \ + F(void, Uniform2fv, (GLint location, GLsizei count, const GLfloat* v)) \ + F(void, Uniform2i, (GLint location, GLint x, GLint y)) \ + F(void, Uniform2iv, (GLint location, GLsizei count, const GLint* v)) \ + F(void, Uniform3f, (GLint location, GLfloat x, GLfloat y, GLfloat z)) \ + F(void, Uniform3fv, (GLint location, GLsizei count, const GLfloat* v)) \ + F(void, Uniform3i, (GLint location, GLint x, GLint y, GLint z)) \ + F(void, Uniform3iv, (GLint location, GLsizei count, const GLint* v)) \ + F(void, Uniform4f, (GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w)) \ + F(void, Uniform4fv, (GLint location, GLsizei count, const GLfloat* v)) \ + F(void, Uniform4i, (GLint location, GLint x, GLint y, GLint z, GLint w)) \ + F(void, Uniform4iv, (GLint location, GLsizei count, const GLint* v)) \ + F(void, UniformMatrix2fv, (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)) \ + F(void, UniformMatrix3fv, (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)) \ + F(void, UniformMatrix4fv, (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)) \ + F(void, UseProgram, (GLuint program)) \ + F(void, ValidateProgram, (GLuint program)) \ + F(void, VertexAttrib1f, (GLuint indx, GLfloat x)) \ + F(void, VertexAttrib1fv, (GLuint indx, const GLfloat* values)) \ + F(void, VertexAttrib2f, (GLuint indx, GLfloat x, GLfloat y)) \ + F(void, VertexAttrib2fv, (GLuint indx, const GLfloat* values)) \ + F(void, VertexAttrib3f, (GLuint indx, GLfloat x, GLfloat y, GLfloat z)) \ + F(void, VertexAttrib3fv, (GLuint indx, const GLfloat* values)) \ + F(void, VertexAttrib4f, (GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w)) \ + F(void, VertexAttrib4fv, (GLuint indx, const GLfloat* values)) \ + F(void, VertexAttribPointer, (GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void* ptr)) \ + F(void, ClearDepth, (GLdouble depth)) \ + F(void, DepthRange, (GLdouble zNear, GLdouble zFar)) \ + + QT_OPENGL_DECLARE(QT_OPENGL_FUNCTIONS) }; // GLES2 + OpenGL1 common subset @@ -577,7 +595,7 @@ inline void QOpenGLFunctions::glBindTexture(GLenum target, GLuint texture) ::glBindTexture(target, texture); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->BindTexture(target, texture); + d_ptr->f.BindTexture(target, texture); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -588,7 +606,7 @@ inline void QOpenGLFunctions::glBlendFunc(GLenum sfactor, GLenum dfactor) ::glBlendFunc(sfactor, dfactor); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->BlendFunc(sfactor, dfactor); + d_ptr->f.BlendFunc(sfactor, dfactor); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -599,7 +617,7 @@ inline void QOpenGLFunctions::glClear(GLbitfield mask) ::glClear(mask); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Clear(mask); + d_ptr->f.Clear(mask); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -610,7 +628,7 @@ inline void QOpenGLFunctions::glClearColor(GLclampf red, GLclampf green, GLclamp ::glClearColor(red, green, blue, alpha); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->ClearColor(red, green, blue, alpha); + d_ptr->f.ClearColor(red, green, blue, alpha); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -621,7 +639,7 @@ inline void QOpenGLFunctions::glClearStencil(GLint s) ::glClearStencil(s); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->ClearStencil(s); + d_ptr->f.ClearStencil(s); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -632,7 +650,7 @@ inline void QOpenGLFunctions::glColorMask(GLboolean red, GLboolean green, GLbool ::glColorMask(red, green, blue, alpha); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->ColorMask(red, green, blue, alpha); + d_ptr->f.ColorMask(red, green, blue, alpha); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -643,7 +661,7 @@ inline void QOpenGLFunctions::glCopyTexImage2D(GLenum target, GLint level, GLenu ::glCopyTexImage2D(target, level, internalformat, x, y, width,height, border); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->CopyTexImage2D(target, level, internalformat, x, y, width,height, border); + d_ptr->f.CopyTexImage2D(target, level, internalformat, x, y, width,height, border); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -654,7 +672,7 @@ inline void QOpenGLFunctions::glCopyTexSubImage2D(GLenum target, GLint level, GL ::glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); + d_ptr->f.CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -665,7 +683,7 @@ inline void QOpenGLFunctions::glCullFace(GLenum mode) ::glCullFace(mode); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->CullFace(mode); + d_ptr->f.CullFace(mode); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -676,7 +694,7 @@ inline void QOpenGLFunctions::glDeleteTextures(GLsizei n, const GLuint* textures ::glDeleteTextures(n, textures); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->DeleteTextures(n, textures); + d_ptr->f.DeleteTextures(n, textures); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -687,7 +705,7 @@ inline void QOpenGLFunctions::glDepthFunc(GLenum func) ::glDepthFunc(func); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->DepthFunc(func); + d_ptr->f.DepthFunc(func); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -698,7 +716,7 @@ inline void QOpenGLFunctions::glDepthMask(GLboolean flag) ::glDepthMask(flag); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->DepthMask(flag); + d_ptr->f.DepthMask(flag); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -709,7 +727,7 @@ inline void QOpenGLFunctions::glDisable(GLenum cap) ::glDisable(cap); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Disable(cap); + d_ptr->f.Disable(cap); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -720,7 +738,7 @@ inline void QOpenGLFunctions::glDrawArrays(GLenum mode, GLint first, GLsizei cou ::glDrawArrays(mode, first, count); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->DrawArrays(mode, first, count); + d_ptr->f.DrawArrays(mode, first, count); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -731,7 +749,7 @@ inline void QOpenGLFunctions::glDrawElements(GLenum mode, GLsizei count, GLenum ::glDrawElements(mode, count, type, indices); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->DrawElements(mode, count, type, indices); + d_ptr->f.DrawElements(mode, count, type, indices); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -742,7 +760,7 @@ inline void QOpenGLFunctions::glEnable(GLenum cap) ::glEnable(cap); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Enable(cap); + d_ptr->f.Enable(cap); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -753,7 +771,7 @@ inline void QOpenGLFunctions::glFinish() ::glFinish(); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Finish(); + d_ptr->f.Finish(); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -764,7 +782,7 @@ inline void QOpenGLFunctions::glFlush() ::glFlush(); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Flush(); + d_ptr->f.Flush(); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -775,7 +793,7 @@ inline void QOpenGLFunctions::glFrontFace(GLenum mode) ::glFrontFace(mode); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->FrontFace(mode); + d_ptr->f.FrontFace(mode); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -786,7 +804,7 @@ inline void QOpenGLFunctions::glGenTextures(GLsizei n, GLuint* textures) ::glGenTextures(n, textures); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GenTextures(n, textures); + d_ptr->f.GenTextures(n, textures); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -797,7 +815,7 @@ inline void QOpenGLFunctions::glGetBooleanv(GLenum pname, GLboolean* params) ::glGetBooleanv(pname, params); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetBooleanv(pname, params); + d_ptr->f.GetBooleanv(pname, params); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -808,7 +826,7 @@ inline GLenum QOpenGLFunctions::glGetError() GLenum result = ::glGetError(); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - GLenum result = d_ptr->GetError(); + GLenum result = d_ptr->f.GetError(); #endif return result; } @@ -819,7 +837,7 @@ inline void QOpenGLFunctions::glGetFloatv(GLenum pname, GLfloat* params) ::glGetFloatv(pname, params); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetFloatv(pname, params); + d_ptr->f.GetFloatv(pname, params); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -830,7 +848,7 @@ inline void QOpenGLFunctions::glGetIntegerv(GLenum pname, GLint* params) ::glGetIntegerv(pname, params); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetIntegerv(pname, params); + d_ptr->f.GetIntegerv(pname, params); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -841,7 +859,7 @@ inline const GLubyte *QOpenGLFunctions::glGetString(GLenum name) const GLubyte *result = ::glGetString(name); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - const GLubyte *result = d_ptr->GetString(name); + const GLubyte *result = d_ptr->f.GetString(name); #endif Q_OPENGL_FUNCTIONS_DEBUG return result; @@ -853,7 +871,7 @@ inline void QOpenGLFunctions::glGetTexParameterfv(GLenum target, GLenum pname, G ::glGetTexParameterfv(target, pname, params); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetTexParameterfv(target, pname, params); + d_ptr->f.GetTexParameterfv(target, pname, params); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -864,7 +882,7 @@ inline void QOpenGLFunctions::glGetTexParameteriv(GLenum target, GLenum pname, G ::glGetTexParameteriv(target, pname, params); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetTexParameteriv(target, pname, params); + d_ptr->f.GetTexParameteriv(target, pname, params); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -875,7 +893,7 @@ inline void QOpenGLFunctions::glHint(GLenum target, GLenum mode) ::glHint(target, mode); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Hint(target, mode); + d_ptr->f.Hint(target, mode); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -886,7 +904,7 @@ inline GLboolean QOpenGLFunctions::glIsEnabled(GLenum cap) GLboolean result = ::glIsEnabled(cap); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - GLboolean result = d_ptr->IsEnabled(cap); + GLboolean result = d_ptr->f.IsEnabled(cap); #endif Q_OPENGL_FUNCTIONS_DEBUG return result; @@ -898,7 +916,7 @@ inline GLboolean QOpenGLFunctions::glIsTexture(GLuint texture) GLboolean result = ::glIsTexture(texture); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - GLboolean result = d_ptr->IsTexture(texture); + GLboolean result = d_ptr->f.IsTexture(texture); #endif Q_OPENGL_FUNCTIONS_DEBUG return result; @@ -910,7 +928,7 @@ inline void QOpenGLFunctions::glLineWidth(GLfloat width) ::glLineWidth(width); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->LineWidth(width); + d_ptr->f.LineWidth(width); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -921,7 +939,7 @@ inline void QOpenGLFunctions::glPixelStorei(GLenum pname, GLint param) ::glPixelStorei(pname, param); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->PixelStorei(pname, param); + d_ptr->f.PixelStorei(pname, param); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -932,7 +950,7 @@ inline void QOpenGLFunctions::glPolygonOffset(GLfloat factor, GLfloat units) ::glPolygonOffset(factor, units); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->PolygonOffset(factor, units); + d_ptr->f.PolygonOffset(factor, units); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -943,7 +961,7 @@ inline void QOpenGLFunctions::glReadPixels(GLint x, GLint y, GLsizei width, GLsi ::glReadPixels(x, y, width, height, format, type, pixels); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->ReadPixels(x, y, width, height, format, type, pixels); + d_ptr->f.ReadPixels(x, y, width, height, format, type, pixels); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -954,7 +972,7 @@ inline void QOpenGLFunctions::glScissor(GLint x, GLint y, GLsizei width, GLsizei ::glScissor(x, y, width, height); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Scissor(x, y, width, height); + d_ptr->f.Scissor(x, y, width, height); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -965,7 +983,7 @@ inline void QOpenGLFunctions::glStencilFunc(GLenum func, GLint ref, GLuint mask) ::glStencilFunc(func, ref, mask); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->StencilFunc(func, ref, mask); + d_ptr->f.StencilFunc(func, ref, mask); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -976,7 +994,7 @@ inline void QOpenGLFunctions::glStencilMask(GLuint mask) ::glStencilMask(mask); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->StencilMask(mask); + d_ptr->f.StencilMask(mask); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -987,7 +1005,7 @@ inline void QOpenGLFunctions::glStencilOp(GLenum fail, GLenum zfail, GLenum zpas ::glStencilOp(fail, zfail, zpass); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->StencilOp(fail, zfail, zpass); + d_ptr->f.StencilOp(fail, zfail, zpass); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -998,7 +1016,7 @@ inline void QOpenGLFunctions::glTexImage2D(GLenum target, GLint level, GLint int ::glTexImage2D(target, level, internalformat, width,height, border, format, type, pixels); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->TexImage2D(target, level, internalformat, width,height, border, format, type, pixels); + d_ptr->f.TexImage2D(target, level, internalformat, width,height, border, format, type, pixels); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1009,7 +1027,7 @@ inline void QOpenGLFunctions::glTexParameterf(GLenum target, GLenum pname, GLflo ::glTexParameterf(target, pname, param); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->TexParameterf(target, pname, param); + d_ptr->f.TexParameterf(target, pname, param); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1020,7 +1038,7 @@ inline void QOpenGLFunctions::glTexParameterfv(GLenum target, GLenum pname, cons ::glTexParameterfv(target, pname, params); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->TexParameterfv(target, pname, params); + d_ptr->f.TexParameterfv(target, pname, params); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1031,7 +1049,7 @@ inline void QOpenGLFunctions::glTexParameteri(GLenum target, GLenum pname, GLint ::glTexParameteri(target, pname, param); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->TexParameteri(target, pname, param); + d_ptr->f.TexParameteri(target, pname, param); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1042,7 +1060,7 @@ inline void QOpenGLFunctions::glTexParameteriv(GLenum target, GLenum pname, cons ::glTexParameteriv(target, pname, params); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->TexParameteriv(target, pname, params); + d_ptr->f.TexParameteriv(target, pname, params); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1053,7 +1071,7 @@ inline void QOpenGLFunctions::glTexSubImage2D(GLenum target, GLint level, GLint ::glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); + d_ptr->f.TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1064,7 +1082,7 @@ inline void QOpenGLFunctions::glViewport(GLint x, GLint y, GLsizei width, GLsize ::glViewport(x, y, width, height); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Viewport(x, y, width, height); + d_ptr->f.Viewport(x, y, width, height); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1077,7 +1095,7 @@ inline void QOpenGLFunctions::glActiveTexture(GLenum texture) ::glActiveTexture(texture); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->ActiveTexture(texture); + d_ptr->f.ActiveTexture(texture); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1088,7 +1106,7 @@ inline void QOpenGLFunctions::glAttachShader(GLuint program, GLuint shader) ::glAttachShader(program, shader); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->AttachShader(program, shader); + d_ptr->f.AttachShader(program, shader); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1099,7 +1117,7 @@ inline void QOpenGLFunctions::glBindAttribLocation(GLuint program, GLuint index, ::glBindAttribLocation(program, index, name); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->BindAttribLocation(program, index, name); + d_ptr->f.BindAttribLocation(program, index, name); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1110,7 +1128,7 @@ inline void QOpenGLFunctions::glBindBuffer(GLenum target, GLuint buffer) ::glBindBuffer(target, buffer); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->BindBuffer(target, buffer); + d_ptr->f.BindBuffer(target, buffer); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1123,7 +1141,7 @@ inline void QOpenGLFunctions::glBindFramebuffer(GLenum target, GLuint framebuffe ::glBindFramebuffer(target, framebuffer); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->BindFramebuffer(target, framebuffer); + d_ptr->f.BindFramebuffer(target, framebuffer); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1134,7 +1152,7 @@ inline void QOpenGLFunctions::glBindRenderbuffer(GLenum target, GLuint renderbuf ::glBindRenderbuffer(target, renderbuffer); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->BindRenderbuffer(target, renderbuffer); + d_ptr->f.BindRenderbuffer(target, renderbuffer); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1145,7 +1163,7 @@ inline void QOpenGLFunctions::glBlendColor(GLclampf red, GLclampf green, GLclamp ::glBlendColor(red, green, blue, alpha); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->BlendColor(red, green, blue, alpha); + d_ptr->f.BlendColor(red, green, blue, alpha); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1156,7 +1174,7 @@ inline void QOpenGLFunctions::glBlendEquation(GLenum mode) ::glBlendEquation(mode); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->BlendEquation(mode); + d_ptr->f.BlendEquation(mode); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1167,7 +1185,7 @@ inline void QOpenGLFunctions::glBlendEquationSeparate(GLenum modeRGB, GLenum mod ::glBlendEquationSeparate(modeRGB, modeAlpha); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->BlendEquationSeparate(modeRGB, modeAlpha); + d_ptr->f.BlendEquationSeparate(modeRGB, modeAlpha); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1178,7 +1196,7 @@ inline void QOpenGLFunctions::glBlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, ::glBlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->BlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha); + d_ptr->f.BlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1189,7 +1207,7 @@ inline void QOpenGLFunctions::glBufferData(GLenum target, qopengl_GLsizeiptr siz ::glBufferData(target, size, data, usage); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->BufferData(target, size, data, usage); + d_ptr->f.BufferData(target, size, data, usage); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1200,7 +1218,7 @@ inline void QOpenGLFunctions::glBufferSubData(GLenum target, qopengl_GLintptr of ::glBufferSubData(target, offset, size, data); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->BufferSubData(target, offset, size, data); + d_ptr->f.BufferSubData(target, offset, size, data); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1211,7 +1229,7 @@ inline GLenum QOpenGLFunctions::glCheckFramebufferStatus(GLenum target) GLenum result = ::glCheckFramebufferStatus(target); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - GLenum result = d_ptr->CheckFramebufferStatus(target); + GLenum result = d_ptr->f.CheckFramebufferStatus(target); #endif Q_OPENGL_FUNCTIONS_DEBUG return result; @@ -1221,7 +1239,7 @@ inline void QOpenGLFunctions::glClearDepthf(GLclampf depth) { #ifndef QT_OPENGL_ES Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->ClearDepthf(depth); + d_ptr->f.ClearDepthf(depth); #else ::glClearDepthf(depth); #endif @@ -1234,7 +1252,7 @@ inline void QOpenGLFunctions::glCompileShader(GLuint shader) ::glCompileShader(shader); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->CompileShader(shader); + d_ptr->f.CompileShader(shader); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1245,7 +1263,7 @@ inline void QOpenGLFunctions::glCompressedTexImage2D(GLenum target, GLint level, ::glCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); + d_ptr->f.CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1256,7 +1274,7 @@ inline void QOpenGLFunctions::glCompressedTexSubImage2D(GLenum target, GLint lev ::glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); + d_ptr->f.CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1267,7 +1285,7 @@ inline GLuint QOpenGLFunctions::glCreateProgram() GLuint result = ::glCreateProgram(); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - GLuint result = d_ptr->CreateProgram(); + GLuint result = d_ptr->f.CreateProgram(); #endif Q_OPENGL_FUNCTIONS_DEBUG return result; @@ -1279,7 +1297,7 @@ inline GLuint QOpenGLFunctions::glCreateShader(GLenum type) GLuint result = ::glCreateShader(type); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - GLuint result = d_ptr->CreateShader(type); + GLuint result = d_ptr->f.CreateShader(type); #endif Q_OPENGL_FUNCTIONS_DEBUG return result; @@ -1291,7 +1309,7 @@ inline void QOpenGLFunctions::glDeleteBuffers(GLsizei n, const GLuint* buffers) ::glDeleteBuffers(n, buffers); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->DeleteBuffers(n, buffers); + d_ptr->f.DeleteBuffers(n, buffers); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1302,7 +1320,7 @@ inline void QOpenGLFunctions::glDeleteFramebuffers(GLsizei n, const GLuint* fram ::glDeleteFramebuffers(n, framebuffers); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->DeleteFramebuffers(n, framebuffers); + d_ptr->f.DeleteFramebuffers(n, framebuffers); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1313,7 +1331,7 @@ inline void QOpenGLFunctions::glDeleteProgram(GLuint program) ::glDeleteProgram(program); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->DeleteProgram(program); + d_ptr->f.DeleteProgram(program); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1324,7 +1342,7 @@ inline void QOpenGLFunctions::glDeleteRenderbuffers(GLsizei n, const GLuint* ren ::glDeleteRenderbuffers(n, renderbuffers); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->DeleteRenderbuffers(n, renderbuffers); + d_ptr->f.DeleteRenderbuffers(n, renderbuffers); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1335,7 +1353,7 @@ inline void QOpenGLFunctions::glDeleteShader(GLuint shader) ::glDeleteShader(shader); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->DeleteShader(shader); + d_ptr->f.DeleteShader(shader); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1344,7 +1362,7 @@ inline void QOpenGLFunctions::glDepthRangef(GLclampf zNear, GLclampf zFar) { #ifndef QT_OPENGL_ES Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->DepthRangef(zNear, zFar); + d_ptr->f.DepthRangef(zNear, zFar); #else ::glDepthRangef(zNear, zFar); #endif @@ -1357,7 +1375,7 @@ inline void QOpenGLFunctions::glDetachShader(GLuint program, GLuint shader) ::glDetachShader(program, shader); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->DetachShader(program, shader); + d_ptr->f.DetachShader(program, shader); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1368,7 +1386,7 @@ inline void QOpenGLFunctions::glDisableVertexAttribArray(GLuint index) ::glDisableVertexAttribArray(index); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->DisableVertexAttribArray(index); + d_ptr->f.DisableVertexAttribArray(index); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1379,7 +1397,7 @@ inline void QOpenGLFunctions::glEnableVertexAttribArray(GLuint index) ::glEnableVertexAttribArray(index); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->EnableVertexAttribArray(index); + d_ptr->f.EnableVertexAttribArray(index); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1390,7 +1408,7 @@ inline void QOpenGLFunctions::glFramebufferRenderbuffer(GLenum target, GLenum at ::glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); + d_ptr->f.FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1401,7 +1419,7 @@ inline void QOpenGLFunctions::glFramebufferTexture2D(GLenum target, GLenum attac ::glFramebufferTexture2D(target, attachment, textarget, texture, level); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->FramebufferTexture2D(target, attachment, textarget, texture, level); + d_ptr->f.FramebufferTexture2D(target, attachment, textarget, texture, level); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1412,7 +1430,7 @@ inline void QOpenGLFunctions::glGenBuffers(GLsizei n, GLuint* buffers) ::glGenBuffers(n, buffers); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GenBuffers(n, buffers); + d_ptr->f.GenBuffers(n, buffers); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1423,7 +1441,7 @@ inline void QOpenGLFunctions::glGenerateMipmap(GLenum target) ::glGenerateMipmap(target); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GenerateMipmap(target); + d_ptr->f.GenerateMipmap(target); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1434,7 +1452,7 @@ inline void QOpenGLFunctions::glGenFramebuffers(GLsizei n, GLuint* framebuffers) ::glGenFramebuffers(n, framebuffers); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GenFramebuffers(n, framebuffers); + d_ptr->f.GenFramebuffers(n, framebuffers); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1445,7 +1463,7 @@ inline void QOpenGLFunctions::glGenRenderbuffers(GLsizei n, GLuint* renderbuffer ::glGenRenderbuffers(n, renderbuffers); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GenRenderbuffers(n, renderbuffers); + d_ptr->f.GenRenderbuffers(n, renderbuffers); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1456,7 +1474,7 @@ inline void QOpenGLFunctions::glGetActiveAttrib(GLuint program, GLuint index, GL ::glGetActiveAttrib(program, index, bufsize, length, size, type, name); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetActiveAttrib(program, index, bufsize, length, size, type, name); + d_ptr->f.GetActiveAttrib(program, index, bufsize, length, size, type, name); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1467,7 +1485,7 @@ inline void QOpenGLFunctions::glGetActiveUniform(GLuint program, GLuint index, G ::glGetActiveUniform(program, index, bufsize, length, size, type, name); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetActiveUniform(program, index, bufsize, length, size, type, name); + d_ptr->f.GetActiveUniform(program, index, bufsize, length, size, type, name); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1478,7 +1496,7 @@ inline void QOpenGLFunctions::glGetAttachedShaders(GLuint program, GLsizei maxco ::glGetAttachedShaders(program, maxcount, count, shaders); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetAttachedShaders(program, maxcount, count, shaders); + d_ptr->f.GetAttachedShaders(program, maxcount, count, shaders); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1489,7 +1507,7 @@ inline GLint QOpenGLFunctions::glGetAttribLocation(GLuint program, const char* n GLint result = ::glGetAttribLocation(program, name); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - GLint result = d_ptr->GetAttribLocation(program, name); + GLint result = d_ptr->f.GetAttribLocation(program, name); #endif Q_OPENGL_FUNCTIONS_DEBUG return result; @@ -1501,7 +1519,7 @@ inline void QOpenGLFunctions::glGetBufferParameteriv(GLenum target, GLenum pname ::glGetBufferParameteriv(target, pname, params); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetBufferParameteriv(target, pname, params); + d_ptr->f.GetBufferParameteriv(target, pname, params); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1512,7 +1530,7 @@ inline void QOpenGLFunctions::glGetFramebufferAttachmentParameteriv(GLenum targe ::glGetFramebufferAttachmentParameteriv(target, attachment, pname, params); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetFramebufferAttachmentParameteriv(target, attachment, pname, params); + d_ptr->f.GetFramebufferAttachmentParameteriv(target, attachment, pname, params); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1523,7 +1541,7 @@ inline void QOpenGLFunctions::glGetProgramiv(GLuint program, GLenum pname, GLint ::glGetProgramiv(program, pname, params); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetProgramiv(program, pname, params); + d_ptr->f.GetProgramiv(program, pname, params); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1534,7 +1552,7 @@ inline void QOpenGLFunctions::glGetProgramInfoLog(GLuint program, GLsizei bufsiz ::glGetProgramInfoLog(program, bufsize, length, infolog); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetProgramInfoLog(program, bufsize, length, infolog); + d_ptr->f.GetProgramInfoLog(program, bufsize, length, infolog); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1545,7 +1563,7 @@ inline void QOpenGLFunctions::glGetRenderbufferParameteriv(GLenum target, GLenum ::glGetRenderbufferParameteriv(target, pname, params); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetRenderbufferParameteriv(target, pname, params); + d_ptr->f.GetRenderbufferParameteriv(target, pname, params); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1556,7 +1574,7 @@ inline void QOpenGLFunctions::glGetShaderiv(GLuint shader, GLenum pname, GLint* ::glGetShaderiv(shader, pname, params); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetShaderiv(shader, pname, params); + d_ptr->f.GetShaderiv(shader, pname, params); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1567,7 +1585,7 @@ inline void QOpenGLFunctions::glGetShaderInfoLog(GLuint shader, GLsizei bufsize, ::glGetShaderInfoLog(shader, bufsize, length, infolog); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetShaderInfoLog(shader, bufsize, length, infolog); + d_ptr->f.GetShaderInfoLog(shader, bufsize, length, infolog); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1578,7 +1596,7 @@ inline void QOpenGLFunctions::glGetShaderPrecisionFormat(GLenum shadertype, GLen ::glGetShaderPrecisionFormat(shadertype, precisiontype, range, precision); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetShaderPrecisionFormat(shadertype, precisiontype, range, precision); + d_ptr->f.GetShaderPrecisionFormat(shadertype, precisiontype, range, precision); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1589,7 +1607,7 @@ inline void QOpenGLFunctions::glGetShaderSource(GLuint shader, GLsizei bufsize, ::glGetShaderSource(shader, bufsize, length, source); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetShaderSource(shader, bufsize, length, source); + d_ptr->f.GetShaderSource(shader, bufsize, length, source); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1600,7 +1618,7 @@ inline void QOpenGLFunctions::glGetUniformfv(GLuint program, GLint location, GLf ::glGetUniformfv(program, location, params); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetUniformfv(program, location, params); + d_ptr->f.GetUniformfv(program, location, params); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1611,7 +1629,7 @@ inline void QOpenGLFunctions::glGetUniformiv(GLuint program, GLint location, GLi ::glGetUniformiv(program, location, params); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetUniformiv(program, location, params); + d_ptr->f.GetUniformiv(program, location, params); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1622,7 +1640,7 @@ inline GLint QOpenGLFunctions::glGetUniformLocation(GLuint program, const char* GLint result = ::glGetUniformLocation(program, name); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - GLint result = d_ptr->GetUniformLocation(program, name); + GLint result = d_ptr->f.GetUniformLocation(program, name); #endif Q_OPENGL_FUNCTIONS_DEBUG return result; @@ -1634,7 +1652,7 @@ inline void QOpenGLFunctions::glGetVertexAttribfv(GLuint index, GLenum pname, GL ::glGetVertexAttribfv(index, pname, params); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetVertexAttribfv(index, pname, params); + d_ptr->f.GetVertexAttribfv(index, pname, params); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1645,7 +1663,7 @@ inline void QOpenGLFunctions::glGetVertexAttribiv(GLuint index, GLenum pname, GL ::glGetVertexAttribiv(index, pname, params); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetVertexAttribiv(index, pname, params); + d_ptr->f.GetVertexAttribiv(index, pname, params); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1656,7 +1674,7 @@ inline void QOpenGLFunctions::glGetVertexAttribPointerv(GLuint index, GLenum pna ::glGetVertexAttribPointerv(index, pname, pointer); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetVertexAttribPointerv(index, pname, pointer); + d_ptr->f.GetVertexAttribPointerv(index, pname, pointer); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1667,7 +1685,7 @@ inline GLboolean QOpenGLFunctions::glIsBuffer(GLuint buffer) GLboolean result = ::glIsBuffer(buffer); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - GLboolean result = d_ptr->IsBuffer(buffer); + GLboolean result = d_ptr->f.IsBuffer(buffer); #endif Q_OPENGL_FUNCTIONS_DEBUG return result; @@ -1679,7 +1697,7 @@ inline GLboolean QOpenGLFunctions::glIsFramebuffer(GLuint framebuffer) GLboolean result = ::glIsFramebuffer(framebuffer); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - GLboolean result = d_ptr->IsFramebuffer(framebuffer); + GLboolean result = d_ptr->f.IsFramebuffer(framebuffer); #endif Q_OPENGL_FUNCTIONS_DEBUG return result; @@ -1691,7 +1709,7 @@ inline GLboolean QOpenGLFunctions::glIsProgram(GLuint program) GLboolean result = ::glIsProgram(program); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - GLboolean result = d_ptr->IsProgram(program); + GLboolean result = d_ptr->f.IsProgram(program); #endif Q_OPENGL_FUNCTIONS_DEBUG return result; @@ -1703,7 +1721,7 @@ inline GLboolean QOpenGLFunctions::glIsRenderbuffer(GLuint renderbuffer) GLboolean result = ::glIsRenderbuffer(renderbuffer); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - GLboolean result = d_ptr->IsRenderbuffer(renderbuffer); + GLboolean result = d_ptr->f.IsRenderbuffer(renderbuffer); #endif Q_OPENGL_FUNCTIONS_DEBUG return result; @@ -1715,7 +1733,7 @@ inline GLboolean QOpenGLFunctions::glIsShader(GLuint shader) GLboolean result = ::glIsShader(shader); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - GLboolean result = d_ptr->IsShader(shader); + GLboolean result = d_ptr->f.IsShader(shader); #endif Q_OPENGL_FUNCTIONS_DEBUG return result; @@ -1727,7 +1745,7 @@ inline void QOpenGLFunctions::glLinkProgram(GLuint program) ::glLinkProgram(program); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->LinkProgram(program); + d_ptr->f.LinkProgram(program); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1738,7 +1756,7 @@ inline void QOpenGLFunctions::glReleaseShaderCompiler() ::glReleaseShaderCompiler(); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->ReleaseShaderCompiler(); + d_ptr->f.ReleaseShaderCompiler(); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1749,7 +1767,7 @@ inline void QOpenGLFunctions::glRenderbufferStorage(GLenum target, GLenum intern ::glRenderbufferStorage(target, internalformat, width, height); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->RenderbufferStorage(target, internalformat, width, height); + d_ptr->f.RenderbufferStorage(target, internalformat, width, height); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1760,7 +1778,7 @@ inline void QOpenGLFunctions::glSampleCoverage(GLclampf value, GLboolean invert) ::glSampleCoverage(value, invert); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->SampleCoverage(value, invert); + d_ptr->f.SampleCoverage(value, invert); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1771,7 +1789,7 @@ inline void QOpenGLFunctions::glShaderBinary(GLint n, const GLuint* shaders, GLe ::glShaderBinary(n, shaders, binaryformat, binary, length); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->ShaderBinary(n, shaders, binaryformat, binary, length); + d_ptr->f.ShaderBinary(n, shaders, binaryformat, binary, length); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1782,7 +1800,7 @@ inline void QOpenGLFunctions::glShaderSource(GLuint shader, GLsizei count, const ::glShaderSource(shader, count, string, length); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->ShaderSource(shader, count, string, length); + d_ptr->f.ShaderSource(shader, count, string, length); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1793,7 +1811,7 @@ inline void QOpenGLFunctions::glStencilFuncSeparate(GLenum face, GLenum func, GL ::glStencilFuncSeparate(face, func, ref, mask); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->StencilFuncSeparate(face, func, ref, mask); + d_ptr->f.StencilFuncSeparate(face, func, ref, mask); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1804,7 +1822,7 @@ inline void QOpenGLFunctions::glStencilMaskSeparate(GLenum face, GLuint mask) ::glStencilMaskSeparate(face, mask); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->StencilMaskSeparate(face, mask); + d_ptr->f.StencilMaskSeparate(face, mask); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1815,7 +1833,7 @@ inline void QOpenGLFunctions::glStencilOpSeparate(GLenum face, GLenum fail, GLen ::glStencilOpSeparate(face, fail, zfail, zpass); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->StencilOpSeparate(face, fail, zfail, zpass); + d_ptr->f.StencilOpSeparate(face, fail, zfail, zpass); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1826,7 +1844,7 @@ inline void QOpenGLFunctions::glUniform1f(GLint location, GLfloat x) ::glUniform1f(location, x); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Uniform1f(location, x); + d_ptr->f.Uniform1f(location, x); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1837,7 +1855,7 @@ inline void QOpenGLFunctions::glUniform1fv(GLint location, GLsizei count, const ::glUniform1fv(location, count, v); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Uniform1fv(location, count, v); + d_ptr->f.Uniform1fv(location, count, v); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1848,7 +1866,7 @@ inline void QOpenGLFunctions::glUniform1i(GLint location, GLint x) ::glUniform1i(location, x); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Uniform1i(location, x); + d_ptr->f.Uniform1i(location, x); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1859,7 +1877,7 @@ inline void QOpenGLFunctions::glUniform1iv(GLint location, GLsizei count, const ::glUniform1iv(location, count, v); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Uniform1iv(location, count, v); + d_ptr->f.Uniform1iv(location, count, v); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1870,7 +1888,7 @@ inline void QOpenGLFunctions::glUniform2f(GLint location, GLfloat x, GLfloat y) ::glUniform2f(location, x, y); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Uniform2f(location, x, y); + d_ptr->f.Uniform2f(location, x, y); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1881,7 +1899,7 @@ inline void QOpenGLFunctions::glUniform2fv(GLint location, GLsizei count, const ::glUniform2fv(location, count, v); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Uniform2fv(location, count, v); + d_ptr->f.Uniform2fv(location, count, v); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1892,7 +1910,7 @@ inline void QOpenGLFunctions::glUniform2i(GLint location, GLint x, GLint y) ::glUniform2i(location, x, y); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Uniform2i(location, x, y); + d_ptr->f.Uniform2i(location, x, y); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1903,7 +1921,7 @@ inline void QOpenGLFunctions::glUniform2iv(GLint location, GLsizei count, const ::glUniform2iv(location, count, v); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Uniform2iv(location, count, v); + d_ptr->f.Uniform2iv(location, count, v); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1914,7 +1932,7 @@ inline void QOpenGLFunctions::glUniform3f(GLint location, GLfloat x, GLfloat y, ::glUniform3f(location, x, y, z); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Uniform3f(location, x, y, z); + d_ptr->f.Uniform3f(location, x, y, z); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1925,7 +1943,7 @@ inline void QOpenGLFunctions::glUniform3fv(GLint location, GLsizei count, const ::glUniform3fv(location, count, v); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Uniform3fv(location, count, v); + d_ptr->f.Uniform3fv(location, count, v); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1936,7 +1954,7 @@ inline void QOpenGLFunctions::glUniform3i(GLint location, GLint x, GLint y, GLin ::glUniform3i(location, x, y, z); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Uniform3i(location, x, y, z); + d_ptr->f.Uniform3i(location, x, y, z); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1947,7 +1965,7 @@ inline void QOpenGLFunctions::glUniform3iv(GLint location, GLsizei count, const ::glUniform3iv(location, count, v); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Uniform3iv(location, count, v); + d_ptr->f.Uniform3iv(location, count, v); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1958,7 +1976,7 @@ inline void QOpenGLFunctions::glUniform4f(GLint location, GLfloat x, GLfloat y, ::glUniform4f(location, x, y, z, w); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Uniform4f(location, x, y, z, w); + d_ptr->f.Uniform4f(location, x, y, z, w); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1969,7 +1987,7 @@ inline void QOpenGLFunctions::glUniform4fv(GLint location, GLsizei count, const ::glUniform4fv(location, count, v); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Uniform4fv(location, count, v); + d_ptr->f.Uniform4fv(location, count, v); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1980,7 +1998,7 @@ inline void QOpenGLFunctions::glUniform4i(GLint location, GLint x, GLint y, GLin ::glUniform4i(location, x, y, z, w); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Uniform4i(location, x, y, z, w); + d_ptr->f.Uniform4i(location, x, y, z, w); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1991,7 +2009,7 @@ inline void QOpenGLFunctions::glUniform4iv(GLint location, GLsizei count, const ::glUniform4iv(location, count, v); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Uniform4iv(location, count, v); + d_ptr->f.Uniform4iv(location, count, v); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -2002,7 +2020,7 @@ inline void QOpenGLFunctions::glUniformMatrix2fv(GLint location, GLsizei count, ::glUniformMatrix2fv(location, count, transpose, value); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->UniformMatrix2fv(location, count, transpose, value); + d_ptr->f.UniformMatrix2fv(location, count, transpose, value); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -2013,7 +2031,7 @@ inline void QOpenGLFunctions::glUniformMatrix3fv(GLint location, GLsizei count, ::glUniformMatrix3fv(location, count, transpose, value); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->UniformMatrix3fv(location, count, transpose, value); + d_ptr->f.UniformMatrix3fv(location, count, transpose, value); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -2024,7 +2042,7 @@ inline void QOpenGLFunctions::glUniformMatrix4fv(GLint location, GLsizei count, ::glUniformMatrix4fv(location, count, transpose, value); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->UniformMatrix4fv(location, count, transpose, value); + d_ptr->f.UniformMatrix4fv(location, count, transpose, value); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -2035,7 +2053,7 @@ inline void QOpenGLFunctions::glUseProgram(GLuint program) ::glUseProgram(program); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->UseProgram(program); + d_ptr->f.UseProgram(program); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -2046,7 +2064,7 @@ inline void QOpenGLFunctions::glValidateProgram(GLuint program) ::glValidateProgram(program); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->ValidateProgram(program); + d_ptr->f.ValidateProgram(program); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -2057,7 +2075,7 @@ inline void QOpenGLFunctions::glVertexAttrib1f(GLuint indx, GLfloat x) ::glVertexAttrib1f(indx, x); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->VertexAttrib1f(indx, x); + d_ptr->f.VertexAttrib1f(indx, x); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -2068,7 +2086,7 @@ inline void QOpenGLFunctions::glVertexAttrib1fv(GLuint indx, const GLfloat* valu ::glVertexAttrib1fv(indx, values); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->VertexAttrib1fv(indx, values); + d_ptr->f.VertexAttrib1fv(indx, values); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -2079,7 +2097,7 @@ inline void QOpenGLFunctions::glVertexAttrib2f(GLuint indx, GLfloat x, GLfloat y ::glVertexAttrib2f(indx, x, y); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->VertexAttrib2f(indx, x, y); + d_ptr->f.VertexAttrib2f(indx, x, y); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -2090,7 +2108,7 @@ inline void QOpenGLFunctions::glVertexAttrib2fv(GLuint indx, const GLfloat* valu ::glVertexAttrib2fv(indx, values); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->VertexAttrib2fv(indx, values); + d_ptr->f.VertexAttrib2fv(indx, values); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -2101,7 +2119,7 @@ inline void QOpenGLFunctions::glVertexAttrib3f(GLuint indx, GLfloat x, GLfloat y ::glVertexAttrib3f(indx, x, y, z); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->VertexAttrib3f(indx, x, y, z); + d_ptr->f.VertexAttrib3f(indx, x, y, z); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -2112,7 +2130,7 @@ inline void QOpenGLFunctions::glVertexAttrib3fv(GLuint indx, const GLfloat* valu ::glVertexAttrib3fv(indx, values); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->VertexAttrib3fv(indx, values); + d_ptr->f.VertexAttrib3fv(indx, values); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -2123,7 +2141,7 @@ inline void QOpenGLFunctions::glVertexAttrib4f(GLuint indx, GLfloat x, GLfloat y ::glVertexAttrib4f(indx, x, y, z, w); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->VertexAttrib4f(indx, x, y, z, w); + d_ptr->f.VertexAttrib4f(indx, x, y, z, w); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -2134,7 +2152,7 @@ inline void QOpenGLFunctions::glVertexAttrib4fv(GLuint indx, const GLfloat* valu ::glVertexAttrib4fv(indx, values); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->VertexAttrib4fv(indx, values); + d_ptr->f.VertexAttrib4fv(indx, values); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -2145,11 +2163,15 @@ inline void QOpenGLFunctions::glVertexAttribPointer(GLuint indx, GLint size, GLe ::glVertexAttribPointer(indx, size, type, normalized, stride, ptr); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->VertexAttribPointer(indx, size, type, normalized, stride, ptr); + d_ptr->f.VertexAttribPointer(indx, size, type, normalized, stride, ptr); #endif Q_OPENGL_FUNCTIONS_DEBUG } +#undef QT_OPENGL_DECLARE_FUNCTIONS +#undef QT_OPENGL_COUNT_FUNCTIONS +#undef QT_OPENGL_DECLARE + QT_END_NAMESPACE #endif // QT_NO_OPENGL -- cgit v1.2.3