summaryrefslogtreecommitdiffstats
path: root/src/gui/opengl
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@theqtcompany.com>2016-02-02 15:58:48 +0100
committerLaszlo Agocs <laszlo.agocs@theqtcompany.com>2016-03-01 14:46:33 +0000
commit095b338732b6756b60aeb1461395237735a523e5 (patch)
tree90ae91acfb2abb57eb727417d212dbdc3bcc1405 /src/gui/opengl
parenta900645c2a067d6580a5fb3335c11db927a407e9 (diff)
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 <laszlo.agocs@theqtcompany.com>
Diffstat (limited to 'src/gui/opengl')
-rw-r--r--src/gui/opengl/qopenglfunctions.cpp270
-rw-r--r--src/gui/opengl/qopenglfunctions.h604
2 files changed, 351 insertions, 523 deletions
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<void (*)(GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *)>(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 <stdio.h>
#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