Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-02-21 10:11:49

0001 // Copyright (C) 2013 Klaralvdalens Datakonsult AB (KDAB)
0002 // Copyright (C) 2016 The Qt Company Ltd.
0003 // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
0004 /***************************************************************************
0005 ** This file was generated by glgen version 0.1
0006 ** Command line was: glgen
0007 **
0008 ** glgen is Copyright (C) 2013 Klaralvdalens Datakonsult AB (KDAB)
0009 **
0010 ** This is an auto-generated file.
0011 ** Do not edit! All changes made to it will be lost.
0012 **
0013 ****************************************************************************/
0014 
0015 #ifndef QOPENGLVERSIONFUNCTIONS_4_0_CORE_H
0016 #define QOPENGLVERSIONFUNCTIONS_4_0_CORE_H
0017 
0018 #include <QtOpenGL/qtopenglglobal.h>
0019 
0020 #if !defined(QT_NO_OPENGL) && !QT_CONFIG(opengles2)
0021 
0022 #include <QtOpenGL/QOpenGLVersionProfile>
0023 #include <QtOpenGL/QOpenGLVersionFunctions>
0024 #include <QtGui/qopenglcontext.h>
0025 
0026 QT_BEGIN_NAMESPACE
0027 
0028 class Q_OPENGL_EXPORT QOpenGLFunctions_4_0_Core : public QAbstractOpenGLFunctions
0029 {
0030 public:
0031     QOpenGLFunctions_4_0_Core();
0032     ~QOpenGLFunctions_4_0_Core();
0033 
0034     bool initializeOpenGLFunctions() override;
0035 
0036     // OpenGL 1.0 core functions
0037     void glViewport(GLint x, GLint y, GLsizei width, GLsizei height);
0038     void glDepthRange(GLdouble nearVal, GLdouble farVal);
0039     GLboolean glIsEnabled(GLenum cap);
0040     void glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params);
0041     void glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params);
0042     void glGetTexParameteriv(GLenum target, GLenum pname, GLint *params);
0043     void glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params);
0044     void glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
0045     const GLubyte * glGetString(GLenum name);
0046     void glGetIntegerv(GLenum pname, GLint *params);
0047     void glGetFloatv(GLenum pname, GLfloat *params);
0048     GLenum glGetError();
0049     void glGetDoublev(GLenum pname, GLdouble *params);
0050     void glGetBooleanv(GLenum pname, GLboolean *params);
0051     void glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);
0052     void glReadBuffer(GLenum mode);
0053     void glPixelStorei(GLenum pname, GLint param);
0054     void glPixelStoref(GLenum pname, GLfloat param);
0055     void glDepthFunc(GLenum func);
0056     void glStencilOp(GLenum fail, GLenum zfail, GLenum zpass);
0057     void glStencilFunc(GLenum func, GLint ref, GLuint mask);
0058     void glLogicOp(GLenum opcode);
0059     void glBlendFunc(GLenum sfactor, GLenum dfactor);
0060     void glFlush();
0061     void glFinish();
0062     void glEnable(GLenum cap);
0063     void glDisable(GLenum cap);
0064     void glDepthMask(GLboolean flag);
0065     void glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
0066     void glStencilMask(GLuint mask);
0067     void glClearDepth(GLdouble depth);
0068     void glClearStencil(GLint s);
0069     void glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
0070     void glClear(GLbitfield mask);
0071     void glDrawBuffer(GLenum mode);
0072     void glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
0073     void glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
0074     void glTexParameteriv(GLenum target, GLenum pname, const GLint *params);
0075     void glTexParameteri(GLenum target, GLenum pname, GLint param);
0076     void glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params);
0077     void glTexParameterf(GLenum target, GLenum pname, GLfloat param);
0078     void glScissor(GLint x, GLint y, GLsizei width, GLsizei height);
0079     void glPolygonMode(GLenum face, GLenum mode);
0080     void glPointSize(GLfloat size);
0081     void glLineWidth(GLfloat width);
0082     void glHint(GLenum target, GLenum mode);
0083     void glFrontFace(GLenum mode);
0084     void glCullFace(GLenum mode);
0085 
0086     // OpenGL 1.1 core functions
0087     GLboolean glIsTexture(GLuint texture);
0088     void glGenTextures(GLsizei n, GLuint *textures);
0089     void glDeleteTextures(GLsizei n, const GLuint *textures);
0090     void glBindTexture(GLenum target, GLuint texture);
0091     void glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
0092     void glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
0093     void glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
0094     void glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
0095     void glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
0096     void glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
0097     void glPolygonOffset(GLfloat factor, GLfloat units);
0098     void glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);
0099     void glDrawArrays(GLenum mode, GLint first, GLsizei count);
0100 
0101     // OpenGL 1.2 core functions
0102     void glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
0103     void glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
0104     void glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
0105     void glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
0106     void glBlendEquation(GLenum mode);
0107     void glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
0108 
0109     // OpenGL 1.3 core functions
0110     void glGetCompressedTexImage(GLenum target, GLint level, GLvoid *img);
0111     void glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
0112     void glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
0113     void glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
0114     void glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
0115     void glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
0116     void glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
0117     void glSampleCoverage(GLfloat value, GLboolean invert);
0118     void glActiveTexture(GLenum texture);
0119 
0120     // OpenGL 1.4 core functions
0121     void glPointParameteriv(GLenum pname, const GLint *params);
0122     void glPointParameteri(GLenum pname, GLint param);
0123     void glPointParameterfv(GLenum pname, const GLfloat *params);
0124     void glPointParameterf(GLenum pname, GLfloat param);
0125     void glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount);
0126     void glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount);
0127     void glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
0128 
0129     // OpenGL 1.5 core functions
0130     void glGetBufferPointerv(GLenum target, GLenum pname, GLvoid* *params);
0131     void glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params);
0132     GLboolean glUnmapBuffer(GLenum target);
0133     GLvoid* glMapBuffer(GLenum target, GLenum access);
0134     void glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data);
0135     void glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data);
0136     void glBufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage);
0137     GLboolean glIsBuffer(GLuint buffer);
0138     void glGenBuffers(GLsizei n, GLuint *buffers);
0139     void glDeleteBuffers(GLsizei n, const GLuint *buffers);
0140     void glBindBuffer(GLenum target, GLuint buffer);
0141     void glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params);
0142     void glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params);
0143     void glGetQueryiv(GLenum target, GLenum pname, GLint *params);
0144     void glEndQuery(GLenum target);
0145     void glBeginQuery(GLenum target, GLuint id);
0146     GLboolean glIsQuery(GLuint id);
0147     void glDeleteQueries(GLsizei n, const GLuint *ids);
0148     void glGenQueries(GLsizei n, GLuint *ids);
0149 
0150     // OpenGL 2.0 core functions
0151     void glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
0152     void glValidateProgram(GLuint program);
0153     void glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
0154     void glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
0155     void glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
0156     void glUniform4iv(GLint location, GLsizei count, const GLint *value);
0157     void glUniform3iv(GLint location, GLsizei count, const GLint *value);
0158     void glUniform2iv(GLint location, GLsizei count, const GLint *value);
0159     void glUniform1iv(GLint location, GLsizei count, const GLint *value);
0160     void glUniform4fv(GLint location, GLsizei count, const GLfloat *value);
0161     void glUniform3fv(GLint location, GLsizei count, const GLfloat *value);
0162     void glUniform2fv(GLint location, GLsizei count, const GLfloat *value);
0163     void glUniform1fv(GLint location, GLsizei count, const GLfloat *value);
0164     void glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
0165     void glUniform3i(GLint location, GLint v0, GLint v1, GLint v2);
0166     void glUniform2i(GLint location, GLint v0, GLint v1);
0167     void glUniform1i(GLint location, GLint v0);
0168     void glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
0169     void glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
0170     void glUniform2f(GLint location, GLfloat v0, GLfloat v1);
0171     void glUniform1f(GLint location, GLfloat v0);
0172     void glUseProgram(GLuint program);
0173     void glShaderSource(GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length);
0174     void glLinkProgram(GLuint program);
0175     GLboolean glIsShader(GLuint shader);
0176     GLboolean glIsProgram(GLuint program);
0177     void glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid* *pointer);
0178     void glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params);
0179     void glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params);
0180     void glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params);
0181     void glGetUniformiv(GLuint program, GLint location, GLint *params);
0182     void glGetUniformfv(GLuint program, GLint location, GLfloat *params);
0183     GLint glGetUniformLocation(GLuint program, const GLchar *name);
0184     void glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
0185     void glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
0186     void glGetShaderiv(GLuint shader, GLenum pname, GLint *params);
0187     void glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
0188     void glGetProgramiv(GLuint program, GLenum pname, GLint *params);
0189     GLint glGetAttribLocation(GLuint program, const GLchar *name);
0190     void glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj);
0191     void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
0192     void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
0193     void glEnableVertexAttribArray(GLuint index);
0194     void glDisableVertexAttribArray(GLuint index);
0195     void glDetachShader(GLuint program, GLuint shader);
0196     void glDeleteShader(GLuint shader);
0197     void glDeleteProgram(GLuint program);
0198     GLuint glCreateShader(GLenum type);
0199     GLuint glCreateProgram();
0200     void glCompileShader(GLuint shader);
0201     void glBindAttribLocation(GLuint program, GLuint index, const GLchar *name);
0202     void glAttachShader(GLuint program, GLuint shader);
0203     void glStencilMaskSeparate(GLenum face, GLuint mask);
0204     void glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask);
0205     void glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
0206     void glDrawBuffers(GLsizei n, const GLenum *bufs);
0207     void glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha);
0208 
0209     // OpenGL 2.1 core functions
0210     void glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
0211     void glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
0212     void glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
0213     void glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
0214     void glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
0215     void glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
0216 
0217     // OpenGL 3.0 core functions
0218     GLboolean glIsVertexArray(GLuint array);
0219     void glGenVertexArrays(GLsizei n, GLuint *arrays);
0220     void glDeleteVertexArrays(GLsizei n, const GLuint *arrays);
0221     void glBindVertexArray(GLuint array);
0222     void glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length);
0223     GLvoid* glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
0224     void glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
0225     void glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
0226     void glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
0227     void glGenerateMipmap(GLenum target);
0228     void glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params);
0229     void glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
0230     void glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
0231     void glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
0232     void glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
0233     GLenum glCheckFramebufferStatus(GLenum target);
0234     void glGenFramebuffers(GLsizei n, GLuint *framebuffers);
0235     void glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers);
0236     void glBindFramebuffer(GLenum target, GLuint framebuffer);
0237     GLboolean glIsFramebuffer(GLuint framebuffer);
0238     void glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params);
0239     void glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
0240     void glGenRenderbuffers(GLsizei n, GLuint *renderbuffers);
0241     void glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers);
0242     void glBindRenderbuffer(GLenum target, GLuint renderbuffer);
0243     GLboolean glIsRenderbuffer(GLuint renderbuffer);
0244     const GLubyte * glGetStringi(GLenum name, GLuint index);
0245     void glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
0246     void glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value);
0247     void glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value);
0248     void glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value);
0249     void glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params);
0250     void glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params);
0251     void glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params);
0252     void glTexParameterIiv(GLenum target, GLenum pname, const GLint *params);
0253     void glUniform4uiv(GLint location, GLsizei count, const GLuint *value);
0254     void glUniform3uiv(GLint location, GLsizei count, const GLuint *value);
0255     void glUniform2uiv(GLint location, GLsizei count, const GLuint *value);
0256     void glUniform1uiv(GLint location, GLsizei count, const GLuint *value);
0257     void glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
0258     void glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2);
0259     void glUniform2ui(GLint location, GLuint v0, GLuint v1);
0260     void glUniform1ui(GLint location, GLuint v0);
0261     GLint glGetFragDataLocation(GLuint program, const GLchar *name);
0262     void glBindFragDataLocation(GLuint program, GLuint color, const GLchar *name);
0263     void glGetUniformuiv(GLuint program, GLint location, GLuint *params);
0264     void glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params);
0265     void glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params);
0266     void glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
0267     void glEndConditionalRender();
0268     void glBeginConditionalRender(GLuint id, GLenum mode);
0269     void glClampColor(GLenum target, GLenum clamp);
0270     void glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
0271     void glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar* const *varyings, GLenum bufferMode);
0272     void glBindBufferBase(GLenum target, GLuint index, GLuint buffer);
0273     void glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
0274     void glEndTransformFeedback();
0275     void glBeginTransformFeedback(GLenum primitiveMode);
0276     GLboolean glIsEnabledi(GLenum target, GLuint index);
0277     void glDisablei(GLenum target, GLuint index);
0278     void glEnablei(GLenum target, GLuint index);
0279     void glGetIntegeri_v(GLenum target, GLuint index, GLint *data);
0280     void glGetBooleani_v(GLenum target, GLuint index, GLboolean *data);
0281     void glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
0282 
0283     // OpenGL 3.1 core functions
0284     void glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
0285     void glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
0286     void glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
0287     void glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);
0288     GLuint glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName);
0289     void glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName);
0290     void glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);
0291     void glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar* const *uniformNames, GLuint *uniformIndices);
0292     void glPrimitiveRestartIndex(GLuint index);
0293     void glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer);
0294     void glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount);
0295     void glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount);
0296 
0297     // OpenGL 3.2 core functions
0298     void glSampleMaski(GLuint index, GLbitfield mask);
0299     void glGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val);
0300     void glTexImage3DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
0301     void glTexImage2DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
0302     void glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
0303     void glGetInteger64v(GLenum pname, GLint64 *params);
0304     void glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout);
0305     GLenum glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout);
0306     void glDeleteSync(GLsync sync);
0307     GLboolean glIsSync(GLsync sync);
0308     GLsync glFenceSync(GLenum condition, GLbitfield flags);
0309     void glProvokingVertex(GLenum mode);
0310     void glMultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount, const GLint *basevertex);
0311     void glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount, GLint basevertex);
0312     void glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);
0313     void glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);
0314     void glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level);
0315     void glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params);
0316     void glGetInteger64i_v(GLenum target, GLuint index, GLint64 *data);
0317 
0318     // OpenGL 3.3 core functions
0319     void glVertexAttribP4uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
0320     void glVertexAttribP4ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);
0321     void glVertexAttribP3uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
0322     void glVertexAttribP3ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);
0323     void glVertexAttribP2uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
0324     void glVertexAttribP2ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);
0325     void glVertexAttribP1uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
0326     void glVertexAttribP1ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);
0327     void glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64 *params);
0328     void glGetQueryObjecti64v(GLuint id, GLenum pname, GLint64 *params);
0329     void glQueryCounter(GLuint id, GLenum target);
0330     void glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params);
0331     void glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params);
0332     void glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params);
0333     void glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params);
0334     void glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *param);
0335     void glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *param);
0336     void glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *param);
0337     void glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param);
0338     void glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint *param);
0339     void glSamplerParameteri(GLuint sampler, GLenum pname, GLint param);
0340     void glBindSampler(GLuint unit, GLuint sampler);
0341     GLboolean glIsSampler(GLuint sampler);
0342     void glDeleteSamplers(GLsizei count, const GLuint *samplers);
0343     void glGenSamplers(GLsizei count, GLuint *samplers);
0344     GLint glGetFragDataIndex(GLuint program, const GLchar *name);
0345     void glBindFragDataLocationIndexed(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name);
0346     void glVertexAttribDivisor(GLuint index, GLuint divisor);
0347 
0348     // OpenGL 4.0 core functions
0349     void glGetQueryIndexediv(GLenum target, GLuint index, GLenum pname, GLint *params);
0350     void glEndQueryIndexed(GLenum target, GLuint index);
0351     void glBeginQueryIndexed(GLenum target, GLuint index, GLuint id);
0352     void glDrawTransformFeedbackStream(GLenum mode, GLuint id, GLuint stream);
0353     void glDrawTransformFeedback(GLenum mode, GLuint id);
0354     void glResumeTransformFeedback();
0355     void glPauseTransformFeedback();
0356     GLboolean glIsTransformFeedback(GLuint id);
0357     void glGenTransformFeedbacks(GLsizei n, GLuint *ids);
0358     void glDeleteTransformFeedbacks(GLsizei n, const GLuint *ids);
0359     void glBindTransformFeedback(GLenum target, GLuint id);
0360     void glPatchParameterfv(GLenum pname, const GLfloat *values);
0361     void glPatchParameteri(GLenum pname, GLint value);
0362     void glGetProgramStageiv(GLuint program, GLenum shadertype, GLenum pname, GLint *values);
0363     void glGetUniformSubroutineuiv(GLenum shadertype, GLint location, GLuint *params);
0364     void glUniformSubroutinesuiv(GLenum shadertype, GLsizei count, const GLuint *indices);
0365     void glGetActiveSubroutineName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
0366     void glGetActiveSubroutineUniformName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
0367     void glGetActiveSubroutineUniformiv(GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values);
0368     GLuint glGetSubroutineIndex(GLuint program, GLenum shadertype, const GLchar *name);
0369     GLint glGetSubroutineUniformLocation(GLuint program, GLenum shadertype, const GLchar *name);
0370     void glGetUniformdv(GLuint program, GLint location, GLdouble *params);
0371     void glUniformMatrix4x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
0372     void glUniformMatrix4x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
0373     void glUniformMatrix3x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
0374     void glUniformMatrix3x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
0375     void glUniformMatrix2x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
0376     void glUniformMatrix2x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
0377     void glUniformMatrix4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
0378     void glUniformMatrix3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
0379     void glUniformMatrix2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
0380     void glUniform4dv(GLint location, GLsizei count, const GLdouble *value);
0381     void glUniform3dv(GLint location, GLsizei count, const GLdouble *value);
0382     void glUniform2dv(GLint location, GLsizei count, const GLdouble *value);
0383     void glUniform1dv(GLint location, GLsizei count, const GLdouble *value);
0384     void glUniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
0385     void glUniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z);
0386     void glUniform2d(GLint location, GLdouble x, GLdouble y);
0387     void glUniform1d(GLint location, GLdouble x);
0388     void glDrawElementsIndirect(GLenum mode, GLenum type, const GLvoid *indirect);
0389     void glDrawArraysIndirect(GLenum mode, const GLvoid *indirect);
0390     void glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
0391     void glBlendFunci(GLuint buf, GLenum src, GLenum dst);
0392     void glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha);
0393     void glBlendEquationi(GLuint buf, GLenum mode);
0394     void glMinSampleShading(GLfloat value);
0395 
0396 private:
0397     friend class QOpenGLVersionFunctionsFactory;
0398 
0399     static bool isContextCompatible(QOpenGLContext *context);
0400     static QOpenGLVersionProfile versionProfile();
0401 
0402     QOpenGLFunctions_1_0_CoreBackend* d_1_0_Core;
0403     QOpenGLFunctions_1_1_CoreBackend* d_1_1_Core;
0404     QOpenGLFunctions_1_2_CoreBackend* d_1_2_Core;
0405     QOpenGLFunctions_1_3_CoreBackend* d_1_3_Core;
0406     QOpenGLFunctions_1_4_CoreBackend* d_1_4_Core;
0407     QOpenGLFunctions_1_5_CoreBackend* d_1_5_Core;
0408     QOpenGLFunctions_2_0_CoreBackend* d_2_0_Core;
0409     QOpenGLFunctions_2_1_CoreBackend* d_2_1_Core;
0410     QOpenGLFunctions_3_0_CoreBackend* d_3_0_Core;
0411     QOpenGLFunctions_3_1_CoreBackend* d_3_1_Core;
0412     QOpenGLFunctions_3_2_CoreBackend* d_3_2_Core;
0413     QOpenGLFunctions_3_3_CoreBackend* d_3_3_Core;
0414     QOpenGLFunctions_4_0_CoreBackend* d_4_0_Core;
0415 };
0416 
0417 // OpenGL 1.0 core functions
0418 inline void QOpenGLFunctions_4_0_Core::glViewport(GLint x, GLint y, GLsizei width, GLsizei height)
0419 {
0420     d_1_0_Core->f.Viewport(x, y, width, height);
0421 }
0422 
0423 inline void QOpenGLFunctions_4_0_Core::glDepthRange(GLdouble nearVal, GLdouble farVal)
0424 {
0425     d_1_0_Core->f.DepthRange(nearVal, farVal);
0426 }
0427 
0428 inline GLboolean QOpenGLFunctions_4_0_Core::glIsEnabled(GLenum cap)
0429 {
0430     return d_1_0_Core->f.IsEnabled(cap);
0431 }
0432 
0433 inline void QOpenGLFunctions_4_0_Core::glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params)
0434 {
0435     d_1_0_Core->f.GetTexLevelParameteriv(target, level, pname, params);
0436 }
0437 
0438 inline void QOpenGLFunctions_4_0_Core::glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params)
0439 {
0440     d_1_0_Core->f.GetTexLevelParameterfv(target, level, pname, params);
0441 }
0442 
0443 inline void QOpenGLFunctions_4_0_Core::glGetTexParameteriv(GLenum target, GLenum pname, GLint *params)
0444 {
0445     d_1_0_Core->f.GetTexParameteriv(target, pname, params);
0446 }
0447 
0448 inline void QOpenGLFunctions_4_0_Core::glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params)
0449 {
0450     d_1_0_Core->f.GetTexParameterfv(target, pname, params);
0451 }
0452 
0453 inline void QOpenGLFunctions_4_0_Core::glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels)
0454 {
0455     d_1_0_Core->f.GetTexImage(target, level, format, type, pixels);
0456 }
0457 
0458 inline const GLubyte * QOpenGLFunctions_4_0_Core::glGetString(GLenum name)
0459 {
0460     return d_1_0_Core->f.GetString(name);
0461 }
0462 
0463 inline void QOpenGLFunctions_4_0_Core::glGetIntegerv(GLenum pname, GLint *params)
0464 {
0465     d_1_0_Core->f.GetIntegerv(pname, params);
0466 }
0467 
0468 inline void QOpenGLFunctions_4_0_Core::glGetFloatv(GLenum pname, GLfloat *params)
0469 {
0470     d_1_0_Core->f.GetFloatv(pname, params);
0471 }
0472 
0473 inline GLenum QOpenGLFunctions_4_0_Core::glGetError()
0474 {
0475     return d_1_0_Core->f.GetError();
0476 }
0477 
0478 inline void QOpenGLFunctions_4_0_Core::glGetDoublev(GLenum pname, GLdouble *params)
0479 {
0480     d_1_0_Core->f.GetDoublev(pname, params);
0481 }
0482 
0483 inline void QOpenGLFunctions_4_0_Core::glGetBooleanv(GLenum pname, GLboolean *params)
0484 {
0485     d_1_0_Core->f.GetBooleanv(pname, params);
0486 }
0487 
0488 inline void QOpenGLFunctions_4_0_Core::glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels)
0489 {
0490     d_1_0_Core->f.ReadPixels(x, y, width, height, format, type, pixels);
0491 }
0492 
0493 inline void QOpenGLFunctions_4_0_Core::glReadBuffer(GLenum mode)
0494 {
0495     d_1_0_Core->f.ReadBuffer(mode);
0496 }
0497 
0498 inline void QOpenGLFunctions_4_0_Core::glPixelStorei(GLenum pname, GLint param)
0499 {
0500     d_1_0_Core->f.PixelStorei(pname, param);
0501 }
0502 
0503 inline void QOpenGLFunctions_4_0_Core::glPixelStoref(GLenum pname, GLfloat param)
0504 {
0505     d_1_0_Core->f.PixelStoref(pname, param);
0506 }
0507 
0508 inline void QOpenGLFunctions_4_0_Core::glDepthFunc(GLenum func)
0509 {
0510     d_1_0_Core->f.DepthFunc(func);
0511 }
0512 
0513 inline void QOpenGLFunctions_4_0_Core::glStencilOp(GLenum fail, GLenum zfail, GLenum zpass)
0514 {
0515     d_1_0_Core->f.StencilOp(fail, zfail, zpass);
0516 }
0517 
0518 inline void QOpenGLFunctions_4_0_Core::glStencilFunc(GLenum func, GLint ref, GLuint mask)
0519 {
0520     d_1_0_Core->f.StencilFunc(func, ref, mask);
0521 }
0522 
0523 inline void QOpenGLFunctions_4_0_Core::glLogicOp(GLenum opcode)
0524 {
0525     d_1_0_Core->f.LogicOp(opcode);
0526 }
0527 
0528 inline void QOpenGLFunctions_4_0_Core::glBlendFunc(GLenum sfactor, GLenum dfactor)
0529 {
0530     d_1_0_Core->f.BlendFunc(sfactor, dfactor);
0531 }
0532 
0533 inline void QOpenGLFunctions_4_0_Core::glFlush()
0534 {
0535     d_1_0_Core->f.Flush();
0536 }
0537 
0538 inline void QOpenGLFunctions_4_0_Core::glFinish()
0539 {
0540     d_1_0_Core->f.Finish();
0541 }
0542 
0543 inline void QOpenGLFunctions_4_0_Core::glEnable(GLenum cap)
0544 {
0545     d_1_0_Core->f.Enable(cap);
0546 }
0547 
0548 inline void QOpenGLFunctions_4_0_Core::glDisable(GLenum cap)
0549 {
0550     d_1_0_Core->f.Disable(cap);
0551 }
0552 
0553 inline void QOpenGLFunctions_4_0_Core::glDepthMask(GLboolean flag)
0554 {
0555     d_1_0_Core->f.DepthMask(flag);
0556 }
0557 
0558 inline void QOpenGLFunctions_4_0_Core::glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
0559 {
0560     d_1_0_Core->f.ColorMask(red, green, blue, alpha);
0561 }
0562 
0563 inline void QOpenGLFunctions_4_0_Core::glStencilMask(GLuint mask)
0564 {
0565     d_1_0_Core->f.StencilMask(mask);
0566 }
0567 
0568 inline void QOpenGLFunctions_4_0_Core::glClearDepth(GLdouble depth)
0569 {
0570     d_1_0_Core->f.ClearDepth(depth);
0571 }
0572 
0573 inline void QOpenGLFunctions_4_0_Core::glClearStencil(GLint s)
0574 {
0575     d_1_0_Core->f.ClearStencil(s);
0576 }
0577 
0578 inline void QOpenGLFunctions_4_0_Core::glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
0579 {
0580     d_1_0_Core->f.ClearColor(red, green, blue, alpha);
0581 }
0582 
0583 inline void QOpenGLFunctions_4_0_Core::glClear(GLbitfield mask)
0584 {
0585     d_1_0_Core->f.Clear(mask);
0586 }
0587 
0588 inline void QOpenGLFunctions_4_0_Core::glDrawBuffer(GLenum mode)
0589 {
0590     d_1_0_Core->f.DrawBuffer(mode);
0591 }
0592 
0593 inline void QOpenGLFunctions_4_0_Core::glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
0594 {
0595     d_1_0_Core->f.TexImage2D(target, level, internalformat, width, height, border, format, type, pixels);
0596 }
0597 
0598 inline void QOpenGLFunctions_4_0_Core::glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
0599 {
0600     d_1_0_Core->f.TexImage1D(target, level, internalformat, width, border, format, type, pixels);
0601 }
0602 
0603 inline void QOpenGLFunctions_4_0_Core::glTexParameteriv(GLenum target, GLenum pname, const GLint *params)
0604 {
0605     d_1_0_Core->f.TexParameteriv(target, pname, params);
0606 }
0607 
0608 inline void QOpenGLFunctions_4_0_Core::glTexParameteri(GLenum target, GLenum pname, GLint param)
0609 {
0610     d_1_0_Core->f.TexParameteri(target, pname, param);
0611 }
0612 
0613 inline void QOpenGLFunctions_4_0_Core::glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params)
0614 {
0615     d_1_0_Core->f.TexParameterfv(target, pname, params);
0616 }
0617 
0618 inline void QOpenGLFunctions_4_0_Core::glTexParameterf(GLenum target, GLenum pname, GLfloat param)
0619 {
0620     d_1_0_Core->f.TexParameterf(target, pname, param);
0621 }
0622 
0623 inline void QOpenGLFunctions_4_0_Core::glScissor(GLint x, GLint y, GLsizei width, GLsizei height)
0624 {
0625     d_1_0_Core->f.Scissor(x, y, width, height);
0626 }
0627 
0628 inline void QOpenGLFunctions_4_0_Core::glPolygonMode(GLenum face, GLenum mode)
0629 {
0630     d_1_0_Core->f.PolygonMode(face, mode);
0631 }
0632 
0633 inline void QOpenGLFunctions_4_0_Core::glPointSize(GLfloat size)
0634 {
0635     d_1_0_Core->f.PointSize(size);
0636 }
0637 
0638 inline void QOpenGLFunctions_4_0_Core::glLineWidth(GLfloat width)
0639 {
0640     d_1_0_Core->f.LineWidth(width);
0641 }
0642 
0643 inline void QOpenGLFunctions_4_0_Core::glHint(GLenum target, GLenum mode)
0644 {
0645     d_1_0_Core->f.Hint(target, mode);
0646 }
0647 
0648 inline void QOpenGLFunctions_4_0_Core::glFrontFace(GLenum mode)
0649 {
0650     d_1_0_Core->f.FrontFace(mode);
0651 }
0652 
0653 inline void QOpenGLFunctions_4_0_Core::glCullFace(GLenum mode)
0654 {
0655     d_1_0_Core->f.CullFace(mode);
0656 }
0657 
0658 
0659 // OpenGL 1.1 core functions
0660 inline GLboolean QOpenGLFunctions_4_0_Core::glIsTexture(GLuint texture)
0661 {
0662     return d_1_1_Core->f.IsTexture(texture);
0663 }
0664 
0665 inline void QOpenGLFunctions_4_0_Core::glGenTextures(GLsizei n, GLuint *textures)
0666 {
0667     d_1_1_Core->f.GenTextures(n, textures);
0668 }
0669 
0670 inline void QOpenGLFunctions_4_0_Core::glDeleteTextures(GLsizei n, const GLuint *textures)
0671 {
0672     d_1_1_Core->f.DeleteTextures(n, textures);
0673 }
0674 
0675 inline void QOpenGLFunctions_4_0_Core::glBindTexture(GLenum target, GLuint texture)
0676 {
0677     d_1_1_Core->f.BindTexture(target, texture);
0678 }
0679 
0680 inline void QOpenGLFunctions_4_0_Core::glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)
0681 {
0682     d_1_1_Core->f.TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels);
0683 }
0684 
0685 inline void QOpenGLFunctions_4_0_Core::glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels)
0686 {
0687     d_1_1_Core->f.TexSubImage1D(target, level, xoffset, width, format, type, pixels);
0688 }
0689 
0690 inline void QOpenGLFunctions_4_0_Core::glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
0691 {
0692     d_1_1_Core->f.CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);
0693 }
0694 
0695 inline void QOpenGLFunctions_4_0_Core::glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)
0696 {
0697     d_1_1_Core->f.CopyTexSubImage1D(target, level, xoffset, x, y, width);
0698 }
0699 
0700 inline void QOpenGLFunctions_4_0_Core::glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
0701 {
0702     d_1_1_Core->f.CopyTexImage2D(target, level, internalformat, x, y, width, height, border);
0703 }
0704 
0705 inline void QOpenGLFunctions_4_0_Core::glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border)
0706 {
0707     d_1_1_Core->f.CopyTexImage1D(target, level, internalformat, x, y, width, border);
0708 }
0709 
0710 inline void QOpenGLFunctions_4_0_Core::glPolygonOffset(GLfloat factor, GLfloat units)
0711 {
0712     d_1_1_Core->f.PolygonOffset(factor, units);
0713 }
0714 
0715 inline void QOpenGLFunctions_4_0_Core::glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices)
0716 {
0717     d_1_1_Core->f.DrawElements(mode, count, type, indices);
0718 }
0719 
0720 inline void QOpenGLFunctions_4_0_Core::glDrawArrays(GLenum mode, GLint first, GLsizei count)
0721 {
0722     d_1_1_Core->f.DrawArrays(mode, first, count);
0723 }
0724 
0725 
0726 // OpenGL 1.2 core functions
0727 inline void QOpenGLFunctions_4_0_Core::glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
0728 {
0729     d_1_2_Core->f.CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height);
0730 }
0731 
0732 inline void QOpenGLFunctions_4_0_Core::glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels)
0733 {
0734     d_1_2_Core->f.TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
0735 }
0736 
0737 inline void QOpenGLFunctions_4_0_Core::glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
0738 {
0739     d_1_2_Core->f.TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels);
0740 }
0741 
0742 inline void QOpenGLFunctions_4_0_Core::glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices)
0743 {
0744     d_1_2_Core->f.DrawRangeElements(mode, start, end, count, type, indices);
0745 }
0746 
0747 inline void QOpenGLFunctions_4_0_Core::glBlendEquation(GLenum mode)
0748 {
0749     d_1_2_Core->f.BlendEquation(mode);
0750 }
0751 
0752 inline void QOpenGLFunctions_4_0_Core::glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
0753 {
0754     d_1_2_Core->f.BlendColor(red, green, blue, alpha);
0755 }
0756 
0757 
0758 // OpenGL 1.3 core functions
0759 inline void QOpenGLFunctions_4_0_Core::glGetCompressedTexImage(GLenum target, GLint level, GLvoid *img)
0760 {
0761     d_1_3_Core->f.GetCompressedTexImage(target, level, img);
0762 }
0763 
0764 inline void QOpenGLFunctions_4_0_Core::glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data)
0765 {
0766     d_1_3_Core->f.CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data);
0767 }
0768 
0769 inline void QOpenGLFunctions_4_0_Core::glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data)
0770 {
0771     d_1_3_Core->f.CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data);
0772 }
0773 
0774 inline void QOpenGLFunctions_4_0_Core::glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data)
0775 {
0776     d_1_3_Core->f.CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
0777 }
0778 
0779 inline void QOpenGLFunctions_4_0_Core::glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data)
0780 {
0781     d_1_3_Core->f.CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data);
0782 }
0783 
0784 inline void QOpenGLFunctions_4_0_Core::glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data)
0785 {
0786     d_1_3_Core->f.CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data);
0787 }
0788 
0789 inline void QOpenGLFunctions_4_0_Core::glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data)
0790 {
0791     d_1_3_Core->f.CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data);
0792 }
0793 
0794 inline void QOpenGLFunctions_4_0_Core::glSampleCoverage(GLfloat value, GLboolean invert)
0795 {
0796     d_1_3_Core->f.SampleCoverage(value, invert);
0797 }
0798 
0799 inline void QOpenGLFunctions_4_0_Core::glActiveTexture(GLenum texture)
0800 {
0801     d_1_3_Core->f.ActiveTexture(texture);
0802 }
0803 
0804 
0805 // OpenGL 1.4 core functions
0806 inline void QOpenGLFunctions_4_0_Core::glPointParameteriv(GLenum pname, const GLint *params)
0807 {
0808     d_1_4_Core->f.PointParameteriv(pname, params);
0809 }
0810 
0811 inline void QOpenGLFunctions_4_0_Core::glPointParameteri(GLenum pname, GLint param)
0812 {
0813     d_1_4_Core->f.PointParameteri(pname, param);
0814 }
0815 
0816 inline void QOpenGLFunctions_4_0_Core::glPointParameterfv(GLenum pname, const GLfloat *params)
0817 {
0818     d_1_4_Core->f.PointParameterfv(pname, params);
0819 }
0820 
0821 inline void QOpenGLFunctions_4_0_Core::glPointParameterf(GLenum pname, GLfloat param)
0822 {
0823     d_1_4_Core->f.PointParameterf(pname, param);
0824 }
0825 
0826 inline void QOpenGLFunctions_4_0_Core::glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount)
0827 {
0828     d_1_4_Core->f.MultiDrawElements(mode, count, type, indices, drawcount);
0829 }
0830 
0831 inline void QOpenGLFunctions_4_0_Core::glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount)
0832 {
0833     d_1_4_Core->f.MultiDrawArrays(mode, first, count, drawcount);
0834 }
0835 
0836 inline void QOpenGLFunctions_4_0_Core::glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha)
0837 {
0838     d_1_4_Core->f.BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha);
0839 }
0840 
0841 
0842 // OpenGL 1.5 core functions
0843 inline void QOpenGLFunctions_4_0_Core::glGetBufferPointerv(GLenum target, GLenum pname, GLvoid* *params)
0844 {
0845     d_1_5_Core->f.GetBufferPointerv(target, pname, params);
0846 }
0847 
0848 inline void QOpenGLFunctions_4_0_Core::glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params)
0849 {
0850     d_1_5_Core->f.GetBufferParameteriv(target, pname, params);
0851 }
0852 
0853 inline GLboolean QOpenGLFunctions_4_0_Core::glUnmapBuffer(GLenum target)
0854 {
0855     return d_1_5_Core->f.UnmapBuffer(target);
0856 }
0857 
0858 inline GLvoid* QOpenGLFunctions_4_0_Core::glMapBuffer(GLenum target, GLenum access)
0859 {
0860     return d_1_5_Core->f.MapBuffer(target, access);
0861 }
0862 
0863 inline void QOpenGLFunctions_4_0_Core::glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data)
0864 {
0865     d_1_5_Core->f.GetBufferSubData(target, offset, size, data);
0866 }
0867 
0868 inline void QOpenGLFunctions_4_0_Core::glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data)
0869 {
0870     d_1_5_Core->f.BufferSubData(target, offset, size, data);
0871 }
0872 
0873 inline void QOpenGLFunctions_4_0_Core::glBufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage)
0874 {
0875     d_1_5_Core->f.BufferData(target, size, data, usage);
0876 }
0877 
0878 inline GLboolean QOpenGLFunctions_4_0_Core::glIsBuffer(GLuint buffer)
0879 {
0880     return d_1_5_Core->f.IsBuffer(buffer);
0881 }
0882 
0883 inline void QOpenGLFunctions_4_0_Core::glGenBuffers(GLsizei n, GLuint *buffers)
0884 {
0885     d_1_5_Core->f.GenBuffers(n, buffers);
0886 }
0887 
0888 inline void QOpenGLFunctions_4_0_Core::glDeleteBuffers(GLsizei n, const GLuint *buffers)
0889 {
0890     d_1_5_Core->f.DeleteBuffers(n, buffers);
0891 }
0892 
0893 inline void QOpenGLFunctions_4_0_Core::glBindBuffer(GLenum target, GLuint buffer)
0894 {
0895     d_1_5_Core->f.BindBuffer(target, buffer);
0896 }
0897 
0898 inline void QOpenGLFunctions_4_0_Core::glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params)
0899 {
0900     d_1_5_Core->f.GetQueryObjectuiv(id, pname, params);
0901 }
0902 
0903 inline void QOpenGLFunctions_4_0_Core::glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params)
0904 {
0905     d_1_5_Core->f.GetQueryObjectiv(id, pname, params);
0906 }
0907 
0908 inline void QOpenGLFunctions_4_0_Core::glGetQueryiv(GLenum target, GLenum pname, GLint *params)
0909 {
0910     d_1_5_Core->f.GetQueryiv(target, pname, params);
0911 }
0912 
0913 inline void QOpenGLFunctions_4_0_Core::glEndQuery(GLenum target)
0914 {
0915     d_1_5_Core->f.EndQuery(target);
0916 }
0917 
0918 inline void QOpenGLFunctions_4_0_Core::glBeginQuery(GLenum target, GLuint id)
0919 {
0920     d_1_5_Core->f.BeginQuery(target, id);
0921 }
0922 
0923 inline GLboolean QOpenGLFunctions_4_0_Core::glIsQuery(GLuint id)
0924 {
0925     return d_1_5_Core->f.IsQuery(id);
0926 }
0927 
0928 inline void QOpenGLFunctions_4_0_Core::glDeleteQueries(GLsizei n, const GLuint *ids)
0929 {
0930     d_1_5_Core->f.DeleteQueries(n, ids);
0931 }
0932 
0933 inline void QOpenGLFunctions_4_0_Core::glGenQueries(GLsizei n, GLuint *ids)
0934 {
0935     d_1_5_Core->f.GenQueries(n, ids);
0936 }
0937 
0938 
0939 // OpenGL 2.0 core functions
0940 inline void QOpenGLFunctions_4_0_Core::glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer)
0941 {
0942     d_2_0_Core->f.VertexAttribPointer(index, size, type, normalized, stride, pointer);
0943 }
0944 
0945 inline void QOpenGLFunctions_4_0_Core::glValidateProgram(GLuint program)
0946 {
0947     d_2_0_Core->f.ValidateProgram(program);
0948 }
0949 
0950 inline void QOpenGLFunctions_4_0_Core::glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
0951 {
0952     d_2_0_Core->f.UniformMatrix4fv(location, count, transpose, value);
0953 }
0954 
0955 inline void QOpenGLFunctions_4_0_Core::glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
0956 {
0957     d_2_0_Core->f.UniformMatrix3fv(location, count, transpose, value);
0958 }
0959 
0960 inline void QOpenGLFunctions_4_0_Core::glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
0961 {
0962     d_2_0_Core->f.UniformMatrix2fv(location, count, transpose, value);
0963 }
0964 
0965 inline void QOpenGLFunctions_4_0_Core::glUniform4iv(GLint location, GLsizei count, const GLint *value)
0966 {
0967     d_2_0_Core->f.Uniform4iv(location, count, value);
0968 }
0969 
0970 inline void QOpenGLFunctions_4_0_Core::glUniform3iv(GLint location, GLsizei count, const GLint *value)
0971 {
0972     d_2_0_Core->f.Uniform3iv(location, count, value);
0973 }
0974 
0975 inline void QOpenGLFunctions_4_0_Core::glUniform2iv(GLint location, GLsizei count, const GLint *value)
0976 {
0977     d_2_0_Core->f.Uniform2iv(location, count, value);
0978 }
0979 
0980 inline void QOpenGLFunctions_4_0_Core::glUniform1iv(GLint location, GLsizei count, const GLint *value)
0981 {
0982     d_2_0_Core->f.Uniform1iv(location, count, value);
0983 }
0984 
0985 inline void QOpenGLFunctions_4_0_Core::glUniform4fv(GLint location, GLsizei count, const GLfloat *value)
0986 {
0987     d_2_0_Core->f.Uniform4fv(location, count, value);
0988 }
0989 
0990 inline void QOpenGLFunctions_4_0_Core::glUniform3fv(GLint location, GLsizei count, const GLfloat *value)
0991 {
0992     d_2_0_Core->f.Uniform3fv(location, count, value);
0993 }
0994 
0995 inline void QOpenGLFunctions_4_0_Core::glUniform2fv(GLint location, GLsizei count, const GLfloat *value)
0996 {
0997     d_2_0_Core->f.Uniform2fv(location, count, value);
0998 }
0999 
1000 inline void QOpenGLFunctions_4_0_Core::glUniform1fv(GLint location, GLsizei count, const GLfloat *value)
1001 {
1002     d_2_0_Core->f.Uniform1fv(location, count, value);
1003 }
1004 
1005 inline void QOpenGLFunctions_4_0_Core::glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3)
1006 {
1007     d_2_0_Core->f.Uniform4i(location, v0, v1, v2, v3);
1008 }
1009 
1010 inline void QOpenGLFunctions_4_0_Core::glUniform3i(GLint location, GLint v0, GLint v1, GLint v2)
1011 {
1012     d_2_0_Core->f.Uniform3i(location, v0, v1, v2);
1013 }
1014 
1015 inline void QOpenGLFunctions_4_0_Core::glUniform2i(GLint location, GLint v0, GLint v1)
1016 {
1017     d_2_0_Core->f.Uniform2i(location, v0, v1);
1018 }
1019 
1020 inline void QOpenGLFunctions_4_0_Core::glUniform1i(GLint location, GLint v0)
1021 {
1022     d_2_0_Core->f.Uniform1i(location, v0);
1023 }
1024 
1025 inline void QOpenGLFunctions_4_0_Core::glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)
1026 {
1027     d_2_0_Core->f.Uniform4f(location, v0, v1, v2, v3);
1028 }
1029 
1030 inline void QOpenGLFunctions_4_0_Core::glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2)
1031 {
1032     d_2_0_Core->f.Uniform3f(location, v0, v1, v2);
1033 }
1034 
1035 inline void QOpenGLFunctions_4_0_Core::glUniform2f(GLint location, GLfloat v0, GLfloat v1)
1036 {
1037     d_2_0_Core->f.Uniform2f(location, v0, v1);
1038 }
1039 
1040 inline void QOpenGLFunctions_4_0_Core::glUniform1f(GLint location, GLfloat v0)
1041 {
1042     d_2_0_Core->f.Uniform1f(location, v0);
1043 }
1044 
1045 inline void QOpenGLFunctions_4_0_Core::glUseProgram(GLuint program)
1046 {
1047     d_2_0_Core->f.UseProgram(program);
1048 }
1049 
1050 inline void QOpenGLFunctions_4_0_Core::glShaderSource(GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length)
1051 {
1052     d_2_0_Core->f.ShaderSource(shader, count, string, length);
1053 }
1054 
1055 inline void QOpenGLFunctions_4_0_Core::glLinkProgram(GLuint program)
1056 {
1057     d_2_0_Core->f.LinkProgram(program);
1058 }
1059 
1060 inline GLboolean QOpenGLFunctions_4_0_Core::glIsShader(GLuint shader)
1061 {
1062     return d_2_0_Core->f.IsShader(shader);
1063 }
1064 
1065 inline GLboolean QOpenGLFunctions_4_0_Core::glIsProgram(GLuint program)
1066 {
1067     return d_2_0_Core->f.IsProgram(program);
1068 }
1069 
1070 inline void QOpenGLFunctions_4_0_Core::glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid* *pointer)
1071 {
1072     d_2_0_Core->f.GetVertexAttribPointerv(index, pname, pointer);
1073 }
1074 
1075 inline void QOpenGLFunctions_4_0_Core::glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params)
1076 {
1077     d_2_0_Core->f.GetVertexAttribiv(index, pname, params);
1078 }
1079 
1080 inline void QOpenGLFunctions_4_0_Core::glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params)
1081 {
1082     d_2_0_Core->f.GetVertexAttribfv(index, pname, params);
1083 }
1084 
1085 inline void QOpenGLFunctions_4_0_Core::glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params)
1086 {
1087     d_2_0_Core->f.GetVertexAttribdv(index, pname, params);
1088 }
1089 
1090 inline void QOpenGLFunctions_4_0_Core::glGetUniformiv(GLuint program, GLint location, GLint *params)
1091 {
1092     d_2_0_Core->f.GetUniformiv(program, location, params);
1093 }
1094 
1095 inline void QOpenGLFunctions_4_0_Core::glGetUniformfv(GLuint program, GLint location, GLfloat *params)
1096 {
1097     d_2_0_Core->f.GetUniformfv(program, location, params);
1098 }
1099 
1100 inline GLint QOpenGLFunctions_4_0_Core::glGetUniformLocation(GLuint program, const GLchar *name)
1101 {
1102     return d_2_0_Core->f.GetUniformLocation(program, name);
1103 }
1104 
1105 inline void QOpenGLFunctions_4_0_Core::glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source)
1106 {
1107     d_2_0_Core->f.GetShaderSource(shader, bufSize, length, source);
1108 }
1109 
1110 inline void QOpenGLFunctions_4_0_Core::glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog)
1111 {
1112     d_2_0_Core->f.GetShaderInfoLog(shader, bufSize, length, infoLog);
1113 }
1114 
1115 inline void QOpenGLFunctions_4_0_Core::glGetShaderiv(GLuint shader, GLenum pname, GLint *params)
1116 {
1117     d_2_0_Core->f.GetShaderiv(shader, pname, params);
1118 }
1119 
1120 inline void QOpenGLFunctions_4_0_Core::glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog)
1121 {
1122     d_2_0_Core->f.GetProgramInfoLog(program, bufSize, length, infoLog);
1123 }
1124 
1125 inline void QOpenGLFunctions_4_0_Core::glGetProgramiv(GLuint program, GLenum pname, GLint *params)
1126 {
1127     d_2_0_Core->f.GetProgramiv(program, pname, params);
1128 }
1129 
1130 inline GLint QOpenGLFunctions_4_0_Core::glGetAttribLocation(GLuint program, const GLchar *name)
1131 {
1132     return d_2_0_Core->f.GetAttribLocation(program, name);
1133 }
1134 
1135 inline void QOpenGLFunctions_4_0_Core::glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj)
1136 {
1137     d_2_0_Core->f.GetAttachedShaders(program, maxCount, count, obj);
1138 }
1139 
1140 inline void QOpenGLFunctions_4_0_Core::glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name)
1141 {
1142     d_2_0_Core->f.GetActiveUniform(program, index, bufSize, length, size, type, name);
1143 }
1144 
1145 inline void QOpenGLFunctions_4_0_Core::glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name)
1146 {
1147     d_2_0_Core->f.GetActiveAttrib(program, index, bufSize, length, size, type, name);
1148 }
1149 
1150 inline void QOpenGLFunctions_4_0_Core::glEnableVertexAttribArray(GLuint index)
1151 {
1152     d_2_0_Core->f.EnableVertexAttribArray(index);
1153 }
1154 
1155 inline void QOpenGLFunctions_4_0_Core::glDisableVertexAttribArray(GLuint index)
1156 {
1157     d_2_0_Core->f.DisableVertexAttribArray(index);
1158 }
1159 
1160 inline void QOpenGLFunctions_4_0_Core::glDetachShader(GLuint program, GLuint shader)
1161 {
1162     d_2_0_Core->f.DetachShader(program, shader);
1163 }
1164 
1165 inline void QOpenGLFunctions_4_0_Core::glDeleteShader(GLuint shader)
1166 {
1167     d_2_0_Core->f.DeleteShader(shader);
1168 }
1169 
1170 inline void QOpenGLFunctions_4_0_Core::glDeleteProgram(GLuint program)
1171 {
1172     d_2_0_Core->f.DeleteProgram(program);
1173 }
1174 
1175 inline GLuint QOpenGLFunctions_4_0_Core::glCreateShader(GLenum type)
1176 {
1177     return d_2_0_Core->f.CreateShader(type);
1178 }
1179 
1180 inline GLuint QOpenGLFunctions_4_0_Core::glCreateProgram()
1181 {
1182     return d_2_0_Core->f.CreateProgram();
1183 }
1184 
1185 inline void QOpenGLFunctions_4_0_Core::glCompileShader(GLuint shader)
1186 {
1187     d_2_0_Core->f.CompileShader(shader);
1188 }
1189 
1190 inline void QOpenGLFunctions_4_0_Core::glBindAttribLocation(GLuint program, GLuint index, const GLchar *name)
1191 {
1192     d_2_0_Core->f.BindAttribLocation(program, index, name);
1193 }
1194 
1195 inline void QOpenGLFunctions_4_0_Core::glAttachShader(GLuint program, GLuint shader)
1196 {
1197     d_2_0_Core->f.AttachShader(program, shader);
1198 }
1199 
1200 inline void QOpenGLFunctions_4_0_Core::glStencilMaskSeparate(GLenum face, GLuint mask)
1201 {
1202     d_2_0_Core->f.StencilMaskSeparate(face, mask);
1203 }
1204 
1205 inline void QOpenGLFunctions_4_0_Core::glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask)
1206 {
1207     d_2_0_Core->f.StencilFuncSeparate(face, func, ref, mask);
1208 }
1209 
1210 inline void QOpenGLFunctions_4_0_Core::glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass)
1211 {
1212     d_2_0_Core->f.StencilOpSeparate(face, sfail, dpfail, dppass);
1213 }
1214 
1215 inline void QOpenGLFunctions_4_0_Core::glDrawBuffers(GLsizei n, const GLenum *bufs)
1216 {
1217     d_2_0_Core->f.DrawBuffers(n, bufs);
1218 }
1219 
1220 inline void QOpenGLFunctions_4_0_Core::glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha)
1221 {
1222     d_2_0_Core->f.BlendEquationSeparate(modeRGB, modeAlpha);
1223 }
1224 
1225 
1226 // OpenGL 2.1 core functions
1227 inline void QOpenGLFunctions_4_0_Core::glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1228 {
1229     d_2_1_Core->f.UniformMatrix4x3fv(location, count, transpose, value);
1230 }
1231 
1232 inline void QOpenGLFunctions_4_0_Core::glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1233 {
1234     d_2_1_Core->f.UniformMatrix3x4fv(location, count, transpose, value);
1235 }
1236 
1237 inline void QOpenGLFunctions_4_0_Core::glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1238 {
1239     d_2_1_Core->f.UniformMatrix4x2fv(location, count, transpose, value);
1240 }
1241 
1242 inline void QOpenGLFunctions_4_0_Core::glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1243 {
1244     d_2_1_Core->f.UniformMatrix2x4fv(location, count, transpose, value);
1245 }
1246 
1247 inline void QOpenGLFunctions_4_0_Core::glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1248 {
1249     d_2_1_Core->f.UniformMatrix3x2fv(location, count, transpose, value);
1250 }
1251 
1252 inline void QOpenGLFunctions_4_0_Core::glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1253 {
1254     d_2_1_Core->f.UniformMatrix2x3fv(location, count, transpose, value);
1255 }
1256 
1257 
1258 // OpenGL 3.0 core functions
1259 inline GLboolean QOpenGLFunctions_4_0_Core::glIsVertexArray(GLuint array)
1260 {
1261     return d_3_0_Core->f.IsVertexArray(array);
1262 }
1263 
1264 inline void QOpenGLFunctions_4_0_Core::glGenVertexArrays(GLsizei n, GLuint *arrays)
1265 {
1266     d_3_0_Core->f.GenVertexArrays(n, arrays);
1267 }
1268 
1269 inline void QOpenGLFunctions_4_0_Core::glDeleteVertexArrays(GLsizei n, const GLuint *arrays)
1270 {
1271     d_3_0_Core->f.DeleteVertexArrays(n, arrays);
1272 }
1273 
1274 inline void QOpenGLFunctions_4_0_Core::glBindVertexArray(GLuint array)
1275 {
1276     d_3_0_Core->f.BindVertexArray(array);
1277 }
1278 
1279 inline void QOpenGLFunctions_4_0_Core::glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length)
1280 {
1281     d_3_0_Core->f.FlushMappedBufferRange(target, offset, length);
1282 }
1283 
1284 inline GLvoid* QOpenGLFunctions_4_0_Core::glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access)
1285 {
1286     return d_3_0_Core->f.MapBufferRange(target, offset, length, access);
1287 }
1288 
1289 inline void QOpenGLFunctions_4_0_Core::glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)
1290 {
1291     d_3_0_Core->f.FramebufferTextureLayer(target, attachment, texture, level, layer);
1292 }
1293 
1294 inline void QOpenGLFunctions_4_0_Core::glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
1295 {
1296     d_3_0_Core->f.RenderbufferStorageMultisample(target, samples, internalformat, width, height);
1297 }
1298 
1299 inline void QOpenGLFunctions_4_0_Core::glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)
1300 {
1301     d_3_0_Core->f.BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
1302 }
1303 
1304 inline void QOpenGLFunctions_4_0_Core::glGenerateMipmap(GLenum target)
1305 {
1306     d_3_0_Core->f.GenerateMipmap(target);
1307 }
1308 
1309 inline void QOpenGLFunctions_4_0_Core::glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params)
1310 {
1311     d_3_0_Core->f.GetFramebufferAttachmentParameteriv(target, attachment, pname, params);
1312 }
1313 
1314 inline void QOpenGLFunctions_4_0_Core::glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
1315 {
1316     d_3_0_Core->f.FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer);
1317 }
1318 
1319 inline void QOpenGLFunctions_4_0_Core::glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset)
1320 {
1321     d_3_0_Core->f.FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset);
1322 }
1323 
1324 inline void QOpenGLFunctions_4_0_Core::glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
1325 {
1326     d_3_0_Core->f.FramebufferTexture2D(target, attachment, textarget, texture, level);
1327 }
1328 
1329 inline void QOpenGLFunctions_4_0_Core::glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
1330 {
1331     d_3_0_Core->f.FramebufferTexture1D(target, attachment, textarget, texture, level);
1332 }
1333 
1334 inline GLenum QOpenGLFunctions_4_0_Core::glCheckFramebufferStatus(GLenum target)
1335 {
1336     return d_3_0_Core->f.CheckFramebufferStatus(target);
1337 }
1338 
1339 inline void QOpenGLFunctions_4_0_Core::glGenFramebuffers(GLsizei n, GLuint *framebuffers)
1340 {
1341     d_3_0_Core->f.GenFramebuffers(n, framebuffers);
1342 }
1343 
1344 inline void QOpenGLFunctions_4_0_Core::glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers)
1345 {
1346     d_3_0_Core->f.DeleteFramebuffers(n, framebuffers);
1347 }
1348 
1349 inline void QOpenGLFunctions_4_0_Core::glBindFramebuffer(GLenum target, GLuint framebuffer)
1350 {
1351     d_3_0_Core->f.BindFramebuffer(target, framebuffer);
1352 }
1353 
1354 inline GLboolean QOpenGLFunctions_4_0_Core::glIsFramebuffer(GLuint framebuffer)
1355 {
1356     return d_3_0_Core->f.IsFramebuffer(framebuffer);
1357 }
1358 
1359 inline void QOpenGLFunctions_4_0_Core::glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params)
1360 {
1361     d_3_0_Core->f.GetRenderbufferParameteriv(target, pname, params);
1362 }
1363 
1364 inline void QOpenGLFunctions_4_0_Core::glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)
1365 {
1366     d_3_0_Core->f.RenderbufferStorage(target, internalformat, width, height);
1367 }
1368 
1369 inline void QOpenGLFunctions_4_0_Core::glGenRenderbuffers(GLsizei n, GLuint *renderbuffers)
1370 {
1371     d_3_0_Core->f.GenRenderbuffers(n, renderbuffers);
1372 }
1373 
1374 inline void QOpenGLFunctions_4_0_Core::glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers)
1375 {
1376     d_3_0_Core->f.DeleteRenderbuffers(n, renderbuffers);
1377 }
1378 
1379 inline void QOpenGLFunctions_4_0_Core::glBindRenderbuffer(GLenum target, GLuint renderbuffer)
1380 {
1381     d_3_0_Core->f.BindRenderbuffer(target, renderbuffer);
1382 }
1383 
1384 inline GLboolean QOpenGLFunctions_4_0_Core::glIsRenderbuffer(GLuint renderbuffer)
1385 {
1386     return d_3_0_Core->f.IsRenderbuffer(renderbuffer);
1387 }
1388 
1389 inline const GLubyte * QOpenGLFunctions_4_0_Core::glGetStringi(GLenum name, GLuint index)
1390 {
1391     return d_3_0_Core->f.GetStringi(name, index);
1392 }
1393 
1394 inline void QOpenGLFunctions_4_0_Core::glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil)
1395 {
1396     d_3_0_Core->f.ClearBufferfi(buffer, drawbuffer, depth, stencil);
1397 }
1398 
1399 inline void QOpenGLFunctions_4_0_Core::glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value)
1400 {
1401     d_3_0_Core->f.ClearBufferfv(buffer, drawbuffer, value);
1402 }
1403 
1404 inline void QOpenGLFunctions_4_0_Core::glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value)
1405 {
1406     d_3_0_Core->f.ClearBufferuiv(buffer, drawbuffer, value);
1407 }
1408 
1409 inline void QOpenGLFunctions_4_0_Core::glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value)
1410 {
1411     d_3_0_Core->f.ClearBufferiv(buffer, drawbuffer, value);
1412 }
1413 
1414 inline void QOpenGLFunctions_4_0_Core::glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params)
1415 {
1416     d_3_0_Core->f.GetTexParameterIuiv(target, pname, params);
1417 }
1418 
1419 inline void QOpenGLFunctions_4_0_Core::glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params)
1420 {
1421     d_3_0_Core->f.GetTexParameterIiv(target, pname, params);
1422 }
1423 
1424 inline void QOpenGLFunctions_4_0_Core::glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params)
1425 {
1426     d_3_0_Core->f.TexParameterIuiv(target, pname, params);
1427 }
1428 
1429 inline void QOpenGLFunctions_4_0_Core::glTexParameterIiv(GLenum target, GLenum pname, const GLint *params)
1430 {
1431     d_3_0_Core->f.TexParameterIiv(target, pname, params);
1432 }
1433 
1434 inline void QOpenGLFunctions_4_0_Core::glUniform4uiv(GLint location, GLsizei count, const GLuint *value)
1435 {
1436     d_3_0_Core->f.Uniform4uiv(location, count, value);
1437 }
1438 
1439 inline void QOpenGLFunctions_4_0_Core::glUniform3uiv(GLint location, GLsizei count, const GLuint *value)
1440 {
1441     d_3_0_Core->f.Uniform3uiv(location, count, value);
1442 }
1443 
1444 inline void QOpenGLFunctions_4_0_Core::glUniform2uiv(GLint location, GLsizei count, const GLuint *value)
1445 {
1446     d_3_0_Core->f.Uniform2uiv(location, count, value);
1447 }
1448 
1449 inline void QOpenGLFunctions_4_0_Core::glUniform1uiv(GLint location, GLsizei count, const GLuint *value)
1450 {
1451     d_3_0_Core->f.Uniform1uiv(location, count, value);
1452 }
1453 
1454 inline void QOpenGLFunctions_4_0_Core::glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)
1455 {
1456     d_3_0_Core->f.Uniform4ui(location, v0, v1, v2, v3);
1457 }
1458 
1459 inline void QOpenGLFunctions_4_0_Core::glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2)
1460 {
1461     d_3_0_Core->f.Uniform3ui(location, v0, v1, v2);
1462 }
1463 
1464 inline void QOpenGLFunctions_4_0_Core::glUniform2ui(GLint location, GLuint v0, GLuint v1)
1465 {
1466     d_3_0_Core->f.Uniform2ui(location, v0, v1);
1467 }
1468 
1469 inline void QOpenGLFunctions_4_0_Core::glUniform1ui(GLint location, GLuint v0)
1470 {
1471     d_3_0_Core->f.Uniform1ui(location, v0);
1472 }
1473 
1474 inline GLint QOpenGLFunctions_4_0_Core::glGetFragDataLocation(GLuint program, const GLchar *name)
1475 {
1476     return d_3_0_Core->f.GetFragDataLocation(program, name);
1477 }
1478 
1479 inline void QOpenGLFunctions_4_0_Core::glBindFragDataLocation(GLuint program, GLuint color, const GLchar *name)
1480 {
1481     d_3_0_Core->f.BindFragDataLocation(program, color, name);
1482 }
1483 
1484 inline void QOpenGLFunctions_4_0_Core::glGetUniformuiv(GLuint program, GLint location, GLuint *params)
1485 {
1486     d_3_0_Core->f.GetUniformuiv(program, location, params);
1487 }
1488 
1489 inline void QOpenGLFunctions_4_0_Core::glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params)
1490 {
1491     d_3_0_Core->f.GetVertexAttribIuiv(index, pname, params);
1492 }
1493 
1494 inline void QOpenGLFunctions_4_0_Core::glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params)
1495 {
1496     d_3_0_Core->f.GetVertexAttribIiv(index, pname, params);
1497 }
1498 
1499 inline void QOpenGLFunctions_4_0_Core::glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
1500 {
1501     d_3_0_Core->f.VertexAttribIPointer(index, size, type, stride, pointer);
1502 }
1503 
1504 inline void QOpenGLFunctions_4_0_Core::glEndConditionalRender()
1505 {
1506     d_3_0_Core->f.EndConditionalRender();
1507 }
1508 
1509 inline void QOpenGLFunctions_4_0_Core::glBeginConditionalRender(GLuint id, GLenum mode)
1510 {
1511     d_3_0_Core->f.BeginConditionalRender(id, mode);
1512 }
1513 
1514 inline void QOpenGLFunctions_4_0_Core::glClampColor(GLenum target, GLenum clamp)
1515 {
1516     d_3_0_Core->f.ClampColor(target, clamp);
1517 }
1518 
1519 inline void QOpenGLFunctions_4_0_Core::glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name)
1520 {
1521     d_3_0_Core->f.GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name);
1522 }
1523 
1524 inline void QOpenGLFunctions_4_0_Core::glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar* const *varyings, GLenum bufferMode)
1525 {
1526     d_3_0_Core->f.TransformFeedbackVaryings(program, count, varyings, bufferMode);
1527 }
1528 
1529 inline void QOpenGLFunctions_4_0_Core::glBindBufferBase(GLenum target, GLuint index, GLuint buffer)
1530 {
1531     d_3_0_Core->f.BindBufferBase(target, index, buffer);
1532 }
1533 
1534 inline void QOpenGLFunctions_4_0_Core::glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size)
1535 {
1536     d_3_0_Core->f.BindBufferRange(target, index, buffer, offset, size);
1537 }
1538 
1539 inline void QOpenGLFunctions_4_0_Core::glEndTransformFeedback()
1540 {
1541     d_3_0_Core->f.EndTransformFeedback();
1542 }
1543 
1544 inline void QOpenGLFunctions_4_0_Core::glBeginTransformFeedback(GLenum primitiveMode)
1545 {
1546     d_3_0_Core->f.BeginTransformFeedback(primitiveMode);
1547 }
1548 
1549 inline GLboolean QOpenGLFunctions_4_0_Core::glIsEnabledi(GLenum target, GLuint index)
1550 {
1551     return d_3_0_Core->f.IsEnabledi(target, index);
1552 }
1553 
1554 inline void QOpenGLFunctions_4_0_Core::glDisablei(GLenum target, GLuint index)
1555 {
1556     d_3_0_Core->f.Disablei(target, index);
1557 }
1558 
1559 inline void QOpenGLFunctions_4_0_Core::glEnablei(GLenum target, GLuint index)
1560 {
1561     d_3_0_Core->f.Enablei(target, index);
1562 }
1563 
1564 inline void QOpenGLFunctions_4_0_Core::glGetIntegeri_v(GLenum target, GLuint index, GLint *data)
1565 {
1566     d_3_0_Core->f.GetIntegeri_v(target, index, data);
1567 }
1568 
1569 inline void QOpenGLFunctions_4_0_Core::glGetBooleani_v(GLenum target, GLuint index, GLboolean *data)
1570 {
1571     d_3_0_Core->f.GetBooleani_v(target, index, data);
1572 }
1573 
1574 inline void QOpenGLFunctions_4_0_Core::glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a)
1575 {
1576     d_3_0_Core->f.ColorMaski(index, r, g, b, a);
1577 }
1578 
1579 
1580 // OpenGL 3.1 core functions
1581 inline void QOpenGLFunctions_4_0_Core::glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size)
1582 {
1583     d_3_1_Core->f.CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size);
1584 }
1585 
1586 inline void QOpenGLFunctions_4_0_Core::glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding)
1587 {
1588     d_3_1_Core->f.UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding);
1589 }
1590 
1591 inline void QOpenGLFunctions_4_0_Core::glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName)
1592 {
1593     d_3_1_Core->f.GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName);
1594 }
1595 
1596 inline void QOpenGLFunctions_4_0_Core::glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params)
1597 {
1598     d_3_1_Core->f.GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params);
1599 }
1600 
1601 inline GLuint QOpenGLFunctions_4_0_Core::glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName)
1602 {
1603     return d_3_1_Core->f.GetUniformBlockIndex(program, uniformBlockName);
1604 }
1605 
1606 inline void QOpenGLFunctions_4_0_Core::glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName)
1607 {
1608     d_3_1_Core->f.GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName);
1609 }
1610 
1611 inline void QOpenGLFunctions_4_0_Core::glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params)
1612 {
1613     d_3_1_Core->f.GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params);
1614 }
1615 
1616 inline void QOpenGLFunctions_4_0_Core::glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar* const *uniformNames, GLuint *uniformIndices)
1617 {
1618     d_3_1_Core->f.GetUniformIndices(program, uniformCount, uniformNames, uniformIndices);
1619 }
1620 
1621 inline void QOpenGLFunctions_4_0_Core::glPrimitiveRestartIndex(GLuint index)
1622 {
1623     d_3_1_Core->f.PrimitiveRestartIndex(index);
1624 }
1625 
1626 inline void QOpenGLFunctions_4_0_Core::glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer)
1627 {
1628     d_3_1_Core->f.TexBuffer(target, internalformat, buffer);
1629 }
1630 
1631 inline void QOpenGLFunctions_4_0_Core::glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount)
1632 {
1633     d_3_1_Core->f.DrawElementsInstanced(mode, count, type, indices, instancecount);
1634 }
1635 
1636 inline void QOpenGLFunctions_4_0_Core::glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount)
1637 {
1638     d_3_1_Core->f.DrawArraysInstanced(mode, first, count, instancecount);
1639 }
1640 
1641 
1642 // OpenGL 3.2 core functions
1643 inline void QOpenGLFunctions_4_0_Core::glSampleMaski(GLuint index, GLbitfield mask)
1644 {
1645     d_3_2_Core->f.SampleMaski(index, mask);
1646 }
1647 
1648 inline void QOpenGLFunctions_4_0_Core::glGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val)
1649 {
1650     d_3_2_Core->f.GetMultisamplefv(pname, index, val);
1651 }
1652 
1653 inline void QOpenGLFunctions_4_0_Core::glTexImage3DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations)
1654 {
1655     d_3_2_Core->f.TexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations);
1656 }
1657 
1658 inline void QOpenGLFunctions_4_0_Core::glTexImage2DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations)
1659 {
1660     d_3_2_Core->f.TexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations);
1661 }
1662 
1663 inline void QOpenGLFunctions_4_0_Core::glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values)
1664 {
1665     d_3_2_Core->f.GetSynciv(sync, pname, bufSize, length, values);
1666 }
1667 
1668 inline void QOpenGLFunctions_4_0_Core::glGetInteger64v(GLenum pname, GLint64 *params)
1669 {
1670     d_3_2_Core->f.GetInteger64v(pname, params);
1671 }
1672 
1673 inline void QOpenGLFunctions_4_0_Core::glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout)
1674 {
1675     d_3_2_Core->f.WaitSync(sync, flags, timeout);
1676 }
1677 
1678 inline GLenum QOpenGLFunctions_4_0_Core::glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout)
1679 {
1680     return d_3_2_Core->f.ClientWaitSync(sync, flags, timeout);
1681 }
1682 
1683 inline void QOpenGLFunctions_4_0_Core::glDeleteSync(GLsync sync)
1684 {
1685     d_3_2_Core->f.DeleteSync(sync);
1686 }
1687 
1688 inline GLboolean QOpenGLFunctions_4_0_Core::glIsSync(GLsync sync)
1689 {
1690     return d_3_2_Core->f.IsSync(sync);
1691 }
1692 
1693 inline GLsync QOpenGLFunctions_4_0_Core::glFenceSync(GLenum condition, GLbitfield flags)
1694 {
1695     return d_3_2_Core->f.FenceSync(condition, flags);
1696 }
1697 
1698 inline void QOpenGLFunctions_4_0_Core::glProvokingVertex(GLenum mode)
1699 {
1700     d_3_2_Core->f.ProvokingVertex(mode);
1701 }
1702 
1703 inline void QOpenGLFunctions_4_0_Core::glMultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount, const GLint *basevertex)
1704 {
1705     d_3_2_Core->f.MultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex);
1706 }
1707 
1708 inline void QOpenGLFunctions_4_0_Core::glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount, GLint basevertex)
1709 {
1710     d_3_2_Core->f.DrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex);
1711 }
1712 
1713 inline void QOpenGLFunctions_4_0_Core::glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex)
1714 {
1715     d_3_2_Core->f.DrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex);
1716 }
1717 
1718 inline void QOpenGLFunctions_4_0_Core::glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex)
1719 {
1720     d_3_2_Core->f.DrawElementsBaseVertex(mode, count, type, indices, basevertex);
1721 }
1722 
1723 inline void QOpenGLFunctions_4_0_Core::glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level)
1724 {
1725     d_3_2_Core->f.FramebufferTexture(target, attachment, texture, level);
1726 }
1727 
1728 inline void QOpenGLFunctions_4_0_Core::glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params)
1729 {
1730     d_3_2_Core->f.GetBufferParameteri64v(target, pname, params);
1731 }
1732 
1733 inline void QOpenGLFunctions_4_0_Core::glGetInteger64i_v(GLenum target, GLuint index, GLint64 *data)
1734 {
1735     d_3_2_Core->f.GetInteger64i_v(target, index, data);
1736 }
1737 
1738 
1739 // OpenGL 3.3 core functions
1740 inline void QOpenGLFunctions_4_0_Core::glVertexAttribP4uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value)
1741 {
1742     d_3_3_Core->f.VertexAttribP4uiv(index, type, normalized, value);
1743 }
1744 
1745 inline void QOpenGLFunctions_4_0_Core::glVertexAttribP4ui(GLuint index, GLenum type, GLboolean normalized, GLuint value)
1746 {
1747     d_3_3_Core->f.VertexAttribP4ui(index, type, normalized, value);
1748 }
1749 
1750 inline void QOpenGLFunctions_4_0_Core::glVertexAttribP3uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value)
1751 {
1752     d_3_3_Core->f.VertexAttribP3uiv(index, type, normalized, value);
1753 }
1754 
1755 inline void QOpenGLFunctions_4_0_Core::glVertexAttribP3ui(GLuint index, GLenum type, GLboolean normalized, GLuint value)
1756 {
1757     d_3_3_Core->f.VertexAttribP3ui(index, type, normalized, value);
1758 }
1759 
1760 inline void QOpenGLFunctions_4_0_Core::glVertexAttribP2uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value)
1761 {
1762     d_3_3_Core->f.VertexAttribP2uiv(index, type, normalized, value);
1763 }
1764 
1765 inline void QOpenGLFunctions_4_0_Core::glVertexAttribP2ui(GLuint index, GLenum type, GLboolean normalized, GLuint value)
1766 {
1767     d_3_3_Core->f.VertexAttribP2ui(index, type, normalized, value);
1768 }
1769 
1770 inline void QOpenGLFunctions_4_0_Core::glVertexAttribP1uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value)
1771 {
1772     d_3_3_Core->f.VertexAttribP1uiv(index, type, normalized, value);
1773 }
1774 
1775 inline void QOpenGLFunctions_4_0_Core::glVertexAttribP1ui(GLuint index, GLenum type, GLboolean normalized, GLuint value)
1776 {
1777     d_3_3_Core->f.VertexAttribP1ui(index, type, normalized, value);
1778 }
1779 
1780 inline void QOpenGLFunctions_4_0_Core::glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64 *params)
1781 {
1782     d_3_3_Core->f.GetQueryObjectui64v(id, pname, params);
1783 }
1784 
1785 inline void QOpenGLFunctions_4_0_Core::glGetQueryObjecti64v(GLuint id, GLenum pname, GLint64 *params)
1786 {
1787     d_3_3_Core->f.GetQueryObjecti64v(id, pname, params);
1788 }
1789 
1790 inline void QOpenGLFunctions_4_0_Core::glQueryCounter(GLuint id, GLenum target)
1791 {
1792     d_3_3_Core->f.QueryCounter(id, target);
1793 }
1794 
1795 inline void QOpenGLFunctions_4_0_Core::glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params)
1796 {
1797     d_3_3_Core->f.GetSamplerParameterIuiv(sampler, pname, params);
1798 }
1799 
1800 inline void QOpenGLFunctions_4_0_Core::glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params)
1801 {
1802     d_3_3_Core->f.GetSamplerParameterfv(sampler, pname, params);
1803 }
1804 
1805 inline void QOpenGLFunctions_4_0_Core::glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params)
1806 {
1807     d_3_3_Core->f.GetSamplerParameterIiv(sampler, pname, params);
1808 }
1809 
1810 inline void QOpenGLFunctions_4_0_Core::glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params)
1811 {
1812     d_3_3_Core->f.GetSamplerParameteriv(sampler, pname, params);
1813 }
1814 
1815 inline void QOpenGLFunctions_4_0_Core::glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *param)
1816 {
1817     d_3_3_Core->f.SamplerParameterIuiv(sampler, pname, param);
1818 }
1819 
1820 inline void QOpenGLFunctions_4_0_Core::glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *param)
1821 {
1822     d_3_3_Core->f.SamplerParameterIiv(sampler, pname, param);
1823 }
1824 
1825 inline void QOpenGLFunctions_4_0_Core::glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *param)
1826 {
1827     d_3_3_Core->f.SamplerParameterfv(sampler, pname, param);
1828 }
1829 
1830 inline void QOpenGLFunctions_4_0_Core::glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param)
1831 {
1832     d_3_3_Core->f.SamplerParameterf(sampler, pname, param);
1833 }
1834 
1835 inline void QOpenGLFunctions_4_0_Core::glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint *param)
1836 {
1837     d_3_3_Core->f.SamplerParameteriv(sampler, pname, param);
1838 }
1839 
1840 inline void QOpenGLFunctions_4_0_Core::glSamplerParameteri(GLuint sampler, GLenum pname, GLint param)
1841 {
1842     d_3_3_Core->f.SamplerParameteri(sampler, pname, param);
1843 }
1844 
1845 inline void QOpenGLFunctions_4_0_Core::glBindSampler(GLuint unit, GLuint sampler)
1846 {
1847     d_3_3_Core->f.BindSampler(unit, sampler);
1848 }
1849 
1850 inline GLboolean QOpenGLFunctions_4_0_Core::glIsSampler(GLuint sampler)
1851 {
1852     return d_3_3_Core->f.IsSampler(sampler);
1853 }
1854 
1855 inline void QOpenGLFunctions_4_0_Core::glDeleteSamplers(GLsizei count, const GLuint *samplers)
1856 {
1857     d_3_3_Core->f.DeleteSamplers(count, samplers);
1858 }
1859 
1860 inline void QOpenGLFunctions_4_0_Core::glGenSamplers(GLsizei count, GLuint *samplers)
1861 {
1862     d_3_3_Core->f.GenSamplers(count, samplers);
1863 }
1864 
1865 inline GLint QOpenGLFunctions_4_0_Core::glGetFragDataIndex(GLuint program, const GLchar *name)
1866 {
1867     return d_3_3_Core->f.GetFragDataIndex(program, name);
1868 }
1869 
1870 inline void QOpenGLFunctions_4_0_Core::glBindFragDataLocationIndexed(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name)
1871 {
1872     d_3_3_Core->f.BindFragDataLocationIndexed(program, colorNumber, index, name);
1873 }
1874 
1875 inline void QOpenGLFunctions_4_0_Core::glVertexAttribDivisor(GLuint index, GLuint divisor)
1876 {
1877     d_3_3_Core->f.VertexAttribDivisor(index, divisor);
1878 }
1879 
1880 
1881 // OpenGL 4.0 core functions
1882 inline void QOpenGLFunctions_4_0_Core::glGetQueryIndexediv(GLenum target, GLuint index, GLenum pname, GLint *params)
1883 {
1884     d_4_0_Core->f.GetQueryIndexediv(target, index, pname, params);
1885 }
1886 
1887 inline void QOpenGLFunctions_4_0_Core::glEndQueryIndexed(GLenum target, GLuint index)
1888 {
1889     d_4_0_Core->f.EndQueryIndexed(target, index);
1890 }
1891 
1892 inline void QOpenGLFunctions_4_0_Core::glBeginQueryIndexed(GLenum target, GLuint index, GLuint id)
1893 {
1894     d_4_0_Core->f.BeginQueryIndexed(target, index, id);
1895 }
1896 
1897 inline void QOpenGLFunctions_4_0_Core::glDrawTransformFeedbackStream(GLenum mode, GLuint id, GLuint stream)
1898 {
1899     d_4_0_Core->f.DrawTransformFeedbackStream(mode, id, stream);
1900 }
1901 
1902 inline void QOpenGLFunctions_4_0_Core::glDrawTransformFeedback(GLenum mode, GLuint id)
1903 {
1904     d_4_0_Core->f.DrawTransformFeedback(mode, id);
1905 }
1906 
1907 inline void QOpenGLFunctions_4_0_Core::glResumeTransformFeedback()
1908 {
1909     d_4_0_Core->f.ResumeTransformFeedback();
1910 }
1911 
1912 inline void QOpenGLFunctions_4_0_Core::glPauseTransformFeedback()
1913 {
1914     d_4_0_Core->f.PauseTransformFeedback();
1915 }
1916 
1917 inline GLboolean QOpenGLFunctions_4_0_Core::glIsTransformFeedback(GLuint id)
1918 {
1919     return d_4_0_Core->f.IsTransformFeedback(id);
1920 }
1921 
1922 inline void QOpenGLFunctions_4_0_Core::glGenTransformFeedbacks(GLsizei n, GLuint *ids)
1923 {
1924     d_4_0_Core->f.GenTransformFeedbacks(n, ids);
1925 }
1926 
1927 inline void QOpenGLFunctions_4_0_Core::glDeleteTransformFeedbacks(GLsizei n, const GLuint *ids)
1928 {
1929     d_4_0_Core->f.DeleteTransformFeedbacks(n, ids);
1930 }
1931 
1932 inline void QOpenGLFunctions_4_0_Core::glBindTransformFeedback(GLenum target, GLuint id)
1933 {
1934     d_4_0_Core->f.BindTransformFeedback(target, id);
1935 }
1936 
1937 inline void QOpenGLFunctions_4_0_Core::glPatchParameterfv(GLenum pname, const GLfloat *values)
1938 {
1939     d_4_0_Core->f.PatchParameterfv(pname, values);
1940 }
1941 
1942 inline void QOpenGLFunctions_4_0_Core::glPatchParameteri(GLenum pname, GLint value)
1943 {
1944     d_4_0_Core->f.PatchParameteri(pname, value);
1945 }
1946 
1947 inline void QOpenGLFunctions_4_0_Core::glGetProgramStageiv(GLuint program, GLenum shadertype, GLenum pname, GLint *values)
1948 {
1949     d_4_0_Core->f.GetProgramStageiv(program, shadertype, pname, values);
1950 }
1951 
1952 inline void QOpenGLFunctions_4_0_Core::glGetUniformSubroutineuiv(GLenum shadertype, GLint location, GLuint *params)
1953 {
1954     d_4_0_Core->f.GetUniformSubroutineuiv(shadertype, location, params);
1955 }
1956 
1957 inline void QOpenGLFunctions_4_0_Core::glUniformSubroutinesuiv(GLenum shadertype, GLsizei count, const GLuint *indices)
1958 {
1959     d_4_0_Core->f.UniformSubroutinesuiv(shadertype, count, indices);
1960 }
1961 
1962 inline void QOpenGLFunctions_4_0_Core::glGetActiveSubroutineName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name)
1963 {
1964     d_4_0_Core->f.GetActiveSubroutineName(program, shadertype, index, bufsize, length, name);
1965 }
1966 
1967 inline void QOpenGLFunctions_4_0_Core::glGetActiveSubroutineUniformName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name)
1968 {
1969     d_4_0_Core->f.GetActiveSubroutineUniformName(program, shadertype, index, bufsize, length, name);
1970 }
1971 
1972 inline void QOpenGLFunctions_4_0_Core::glGetActiveSubroutineUniformiv(GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values)
1973 {
1974     d_4_0_Core->f.GetActiveSubroutineUniformiv(program, shadertype, index, pname, values);
1975 }
1976 
1977 inline GLuint QOpenGLFunctions_4_0_Core::glGetSubroutineIndex(GLuint program, GLenum shadertype, const GLchar *name)
1978 {
1979     return d_4_0_Core->f.GetSubroutineIndex(program, shadertype, name);
1980 }
1981 
1982 inline GLint QOpenGLFunctions_4_0_Core::glGetSubroutineUniformLocation(GLuint program, GLenum shadertype, const GLchar *name)
1983 {
1984     return d_4_0_Core->f.GetSubroutineUniformLocation(program, shadertype, name);
1985 }
1986 
1987 inline void QOpenGLFunctions_4_0_Core::glGetUniformdv(GLuint program, GLint location, GLdouble *params)
1988 {
1989     d_4_0_Core->f.GetUniformdv(program, location, params);
1990 }
1991 
1992 inline void QOpenGLFunctions_4_0_Core::glUniformMatrix4x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
1993 {
1994     d_4_0_Core->f.UniformMatrix4x3dv(location, count, transpose, value);
1995 }
1996 
1997 inline void QOpenGLFunctions_4_0_Core::glUniformMatrix4x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
1998 {
1999     d_4_0_Core->f.UniformMatrix4x2dv(location, count, transpose, value);
2000 }
2001 
2002 inline void QOpenGLFunctions_4_0_Core::glUniformMatrix3x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2003 {
2004     d_4_0_Core->f.UniformMatrix3x4dv(location, count, transpose, value);
2005 }
2006 
2007 inline void QOpenGLFunctions_4_0_Core::glUniformMatrix3x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2008 {
2009     d_4_0_Core->f.UniformMatrix3x2dv(location, count, transpose, value);
2010 }
2011 
2012 inline void QOpenGLFunctions_4_0_Core::glUniformMatrix2x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2013 {
2014     d_4_0_Core->f.UniformMatrix2x4dv(location, count, transpose, value);
2015 }
2016 
2017 inline void QOpenGLFunctions_4_0_Core::glUniformMatrix2x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2018 {
2019     d_4_0_Core->f.UniformMatrix2x3dv(location, count, transpose, value);
2020 }
2021 
2022 inline void QOpenGLFunctions_4_0_Core::glUniformMatrix4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2023 {
2024     d_4_0_Core->f.UniformMatrix4dv(location, count, transpose, value);
2025 }
2026 
2027 inline void QOpenGLFunctions_4_0_Core::glUniformMatrix3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2028 {
2029     d_4_0_Core->f.UniformMatrix3dv(location, count, transpose, value);
2030 }
2031 
2032 inline void QOpenGLFunctions_4_0_Core::glUniformMatrix2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2033 {
2034     d_4_0_Core->f.UniformMatrix2dv(location, count, transpose, value);
2035 }
2036 
2037 inline void QOpenGLFunctions_4_0_Core::glUniform4dv(GLint location, GLsizei count, const GLdouble *value)
2038 {
2039     d_4_0_Core->f.Uniform4dv(location, count, value);
2040 }
2041 
2042 inline void QOpenGLFunctions_4_0_Core::glUniform3dv(GLint location, GLsizei count, const GLdouble *value)
2043 {
2044     d_4_0_Core->f.Uniform3dv(location, count, value);
2045 }
2046 
2047 inline void QOpenGLFunctions_4_0_Core::glUniform2dv(GLint location, GLsizei count, const GLdouble *value)
2048 {
2049     d_4_0_Core->f.Uniform2dv(location, count, value);
2050 }
2051 
2052 inline void QOpenGLFunctions_4_0_Core::glUniform1dv(GLint location, GLsizei count, const GLdouble *value)
2053 {
2054     d_4_0_Core->f.Uniform1dv(location, count, value);
2055 }
2056 
2057 inline void QOpenGLFunctions_4_0_Core::glUniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
2058 {
2059     d_4_0_Core->f.Uniform4d(location, x, y, z, w);
2060 }
2061 
2062 inline void QOpenGLFunctions_4_0_Core::glUniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z)
2063 {
2064     d_4_0_Core->f.Uniform3d(location, x, y, z);
2065 }
2066 
2067 inline void QOpenGLFunctions_4_0_Core::glUniform2d(GLint location, GLdouble x, GLdouble y)
2068 {
2069     d_4_0_Core->f.Uniform2d(location, x, y);
2070 }
2071 
2072 inline void QOpenGLFunctions_4_0_Core::glUniform1d(GLint location, GLdouble x)
2073 {
2074     d_4_0_Core->f.Uniform1d(location, x);
2075 }
2076 
2077 inline void QOpenGLFunctions_4_0_Core::glDrawElementsIndirect(GLenum mode, GLenum type, const GLvoid *indirect)
2078 {
2079     d_4_0_Core->f.DrawElementsIndirect(mode, type, indirect);
2080 }
2081 
2082 inline void QOpenGLFunctions_4_0_Core::glDrawArraysIndirect(GLenum mode, const GLvoid *indirect)
2083 {
2084     d_4_0_Core->f.DrawArraysIndirect(mode, indirect);
2085 }
2086 
2087 inline void QOpenGLFunctions_4_0_Core::glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)
2088 {
2089     d_4_0_Core->f.BlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha);
2090 }
2091 
2092 inline void QOpenGLFunctions_4_0_Core::glBlendFunci(GLuint buf, GLenum src, GLenum dst)
2093 {
2094     d_4_0_Core->f.BlendFunci(buf, src, dst);
2095 }
2096 
2097 inline void QOpenGLFunctions_4_0_Core::glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha)
2098 {
2099     d_4_0_Core->f.BlendEquationSeparatei(buf, modeRGB, modeAlpha);
2100 }
2101 
2102 inline void QOpenGLFunctions_4_0_Core::glBlendEquationi(GLuint buf, GLenum mode)
2103 {
2104     d_4_0_Core->f.BlendEquationi(buf, mode);
2105 }
2106 
2107 inline void QOpenGLFunctions_4_0_Core::glMinSampleShading(GLfloat value)
2108 {
2109     d_4_0_Core->f.MinSampleShading(value);
2110 }
2111 
2112 
2113 
2114 QT_END_NAMESPACE
2115 
2116 #endif // QT_NO_OPENGL && !QT_CONFIG(opengles2)
2117 
2118 #endif