1 /****************************************************************************
2 **
3 ** Copyright (C) 2013 Klaralvdalens Datakonsult AB (KDAB)
4 ** Copyright (C) 2016 The Qt Company Ltd.
5 ** Contact: https://www.qt.io/licensing/
6 **
7 ** This file is part of the QtGui module of the Qt Toolkit.
8 **
9 ** $QT_BEGIN_LICENSE:LGPL$
10 ** Commercial License Usage
11 ** Licensees holding valid commercial Qt licenses may use this file in
12 ** accordance with the commercial license agreement provided with the
13 ** Software or, alternatively, in accordance with the terms contained in
14 ** a written agreement between you and The Qt Company. For licensing terms
15 ** and conditions see https://www.qt.io/terms-conditions. For further
16 ** information use the contact form at https://www.qt.io/contact-us.
17 **
18 ** GNU Lesser General Public License Usage
19 ** Alternatively, this file may be used under the terms of the GNU Lesser
20 ** General Public License version 3 as published by the Free Software
21 ** Foundation and appearing in the file LICENSE.LGPL3 included in the
22 ** packaging of this file. Please review the following information to
23 ** ensure the GNU Lesser General Public License version 3 requirements
24 ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
25 **
26 ** GNU General Public License Usage
27 ** Alternatively, this file may be used under the terms of the GNU
28 ** General Public License version 2.0 or (at your option) the GNU General
29 ** Public license version 3 or any later version approved by the KDE Free
30 ** Qt Foundation. The licenses are as published by the Free Software
31 ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
32 ** included in the packaging of this file. Please review the following
33 ** information to ensure the GNU General Public License requirements will
34 ** be met: https://www.gnu.org/licenses/gpl-2.0.html and
35 ** https://www.gnu.org/licenses/gpl-3.0.html.
36 **
37 ** $QT_END_LICENSE$
38 **
39 **
40 ** This file was generated by glgen version 0.1
41 ** Command line was: glgen
42 **
43 ** glgen is Copyright (C) 2013 Klaralvdalens Datakonsult AB (KDAB)
44 **
45 ** This is an auto-generated file.
46 ** Do not edit! All changes made to it will be lost.
47 **
48 ****************************************************************************/
49 
50 #ifndef QOPENGLVERSIONFUNCTIONS_3_1_H
51 #define QOPENGLVERSIONFUNCTIONS_3_1_H
52 
53 #include <QtGui/qtguiglobal.h>
54 
55 #if !defined(QT_NO_OPENGL) && !defined(QT_OPENGL_ES_2)
56 
57 #include <QtGui/QOpenGLVersionFunctions>
58 #include <QtGui/qopenglcontext.h>
59 
60 QT_BEGIN_NAMESPACE
61 
62 class Q_GUI_EXPORT QOpenGLFunctions_3_1 : public QAbstractOpenGLFunctions
63 {
64 public:
65     QOpenGLFunctions_3_1();
66     ~QOpenGLFunctions_3_1();
67 
68     bool initializeOpenGLFunctions() override;
69 
70     // OpenGL 1.0 core functions
71     void glViewport(GLint x, GLint y, GLsizei width, GLsizei height);
72     void glDepthRange(GLdouble nearVal, GLdouble farVal);
73     GLboolean glIsEnabled(GLenum cap);
74     void glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params);
75     void glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params);
76     void glGetTexParameteriv(GLenum target, GLenum pname, GLint *params);
77     void glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params);
78     void glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
79     const GLubyte * glGetString(GLenum name);
80     void glGetIntegerv(GLenum pname, GLint *params);
81     void glGetFloatv(GLenum pname, GLfloat *params);
82     GLenum glGetError();
83     void glGetDoublev(GLenum pname, GLdouble *params);
84     void glGetBooleanv(GLenum pname, GLboolean *params);
85     void glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);
86     void glReadBuffer(GLenum mode);
87     void glPixelStorei(GLenum pname, GLint param);
88     void glPixelStoref(GLenum pname, GLfloat param);
89     void glDepthFunc(GLenum func);
90     void glStencilOp(GLenum fail, GLenum zfail, GLenum zpass);
91     void glStencilFunc(GLenum func, GLint ref, GLuint mask);
92     void glLogicOp(GLenum opcode);
93     void glBlendFunc(GLenum sfactor, GLenum dfactor);
94     void glFlush();
95     void glFinish();
96     void glEnable(GLenum cap);
97     void glDisable(GLenum cap);
98     void glDepthMask(GLboolean flag);
99     void glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
100     void glStencilMask(GLuint mask);
101     void glClearDepth(GLdouble depth);
102     void glClearStencil(GLint s);
103     void glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
104     void glClear(GLbitfield mask);
105     void glDrawBuffer(GLenum mode);
106     void glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
107     void glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
108     void glTexParameteriv(GLenum target, GLenum pname, const GLint *params);
109     void glTexParameteri(GLenum target, GLenum pname, GLint param);
110     void glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params);
111     void glTexParameterf(GLenum target, GLenum pname, GLfloat param);
112     void glScissor(GLint x, GLint y, GLsizei width, GLsizei height);
113     void glPolygonMode(GLenum face, GLenum mode);
114     void glPointSize(GLfloat size);
115     void glLineWidth(GLfloat width);
116     void glHint(GLenum target, GLenum mode);
117     void glFrontFace(GLenum mode);
118     void glCullFace(GLenum mode);
119 
120     // OpenGL 1.1 core functions
121     void glIndexubv(const GLubyte *c);
122     void glIndexub(GLubyte c);
123     GLboolean glIsTexture(GLuint texture);
124     void glGenTextures(GLsizei n, GLuint *textures);
125     void glDeleteTextures(GLsizei n, const GLuint *textures);
126     void glBindTexture(GLenum target, GLuint texture);
127     void glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
128     void glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
129     void glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
130     void glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
131     void glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
132     void glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
133     void glPolygonOffset(GLfloat factor, GLfloat units);
134     void glGetPointerv(GLenum pname, GLvoid* *params);
135     void glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);
136     void glDrawArrays(GLenum mode, GLint first, GLsizei count);
137 
138     // OpenGL 1.2 core functions
139     void glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
140     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);
141     void glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
142     void glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
143     void glBlendEquation(GLenum mode);
144     void glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
145 
146     // OpenGL 1.3 core functions
147     void glGetCompressedTexImage(GLenum target, GLint level, GLvoid *img);
148     void glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
149     void glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
150     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);
151     void glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
152     void glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
153     void glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
154     void glSampleCoverage(GLfloat value, GLboolean invert);
155     void glActiveTexture(GLenum texture);
156 
157     // OpenGL 1.4 core functions
158     void glPointParameteriv(GLenum pname, const GLint *params);
159     void glPointParameteri(GLenum pname, GLint param);
160     void glPointParameterfv(GLenum pname, const GLfloat *params);
161     void glPointParameterf(GLenum pname, GLfloat param);
162     void glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount);
163     void glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount);
164     void glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
165 
166     // OpenGL 1.5 core functions
167     void glGetBufferPointerv(GLenum target, GLenum pname, GLvoid* *params);
168     void glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params);
169     GLboolean glUnmapBuffer(GLenum target);
170     GLvoid* glMapBuffer(GLenum target, GLenum access);
171     void glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data);
172     void glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data);
173     void glBufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage);
174     GLboolean glIsBuffer(GLuint buffer);
175     void glGenBuffers(GLsizei n, GLuint *buffers);
176     void glDeleteBuffers(GLsizei n, const GLuint *buffers);
177     void glBindBuffer(GLenum target, GLuint buffer);
178     void glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params);
179     void glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params);
180     void glGetQueryiv(GLenum target, GLenum pname, GLint *params);
181     void glEndQuery(GLenum target);
182     void glBeginQuery(GLenum target, GLuint id);
183     GLboolean glIsQuery(GLuint id);
184     void glDeleteQueries(GLsizei n, const GLuint *ids);
185     void glGenQueries(GLsizei n, GLuint *ids);
186 
187     // OpenGL 2.0 core functions
188     void glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
189     void glValidateProgram(GLuint program);
190     void glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
191     void glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
192     void glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
193     void glUniform4iv(GLint location, GLsizei count, const GLint *value);
194     void glUniform3iv(GLint location, GLsizei count, const GLint *value);
195     void glUniform2iv(GLint location, GLsizei count, const GLint *value);
196     void glUniform1iv(GLint location, GLsizei count, const GLint *value);
197     void glUniform4fv(GLint location, GLsizei count, const GLfloat *value);
198     void glUniform3fv(GLint location, GLsizei count, const GLfloat *value);
199     void glUniform2fv(GLint location, GLsizei count, const GLfloat *value);
200     void glUniform1fv(GLint location, GLsizei count, const GLfloat *value);
201     void glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
202     void glUniform3i(GLint location, GLint v0, GLint v1, GLint v2);
203     void glUniform2i(GLint location, GLint v0, GLint v1);
204     void glUniform1i(GLint location, GLint v0);
205     void glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
206     void glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
207     void glUniform2f(GLint location, GLfloat v0, GLfloat v1);
208     void glUniform1f(GLint location, GLfloat v0);
209     void glUseProgram(GLuint program);
210     void glShaderSource(GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length);
211     void glLinkProgram(GLuint program);
212     GLboolean glIsShader(GLuint shader);
213     GLboolean glIsProgram(GLuint program);
214     void glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid* *pointer);
215     void glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params);
216     void glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params);
217     void glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params);
218     void glGetUniformiv(GLuint program, GLint location, GLint *params);
219     void glGetUniformfv(GLuint program, GLint location, GLfloat *params);
220     GLint glGetUniformLocation(GLuint program, const GLchar *name);
221     void glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
222     void glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
223     void glGetShaderiv(GLuint shader, GLenum pname, GLint *params);
224     void glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
225     void glGetProgramiv(GLuint program, GLenum pname, GLint *params);
226     GLint glGetAttribLocation(GLuint program, const GLchar *name);
227     void glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj);
228     void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
229     void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
230     void glEnableVertexAttribArray(GLuint index);
231     void glDisableVertexAttribArray(GLuint index);
232     void glDetachShader(GLuint program, GLuint shader);
233     void glDeleteShader(GLuint shader);
234     void glDeleteProgram(GLuint program);
235     GLuint glCreateShader(GLenum type);
236     GLuint glCreateProgram();
237     void glCompileShader(GLuint shader);
238     void glBindAttribLocation(GLuint program, GLuint index, const GLchar *name);
239     void glAttachShader(GLuint program, GLuint shader);
240     void glStencilMaskSeparate(GLenum face, GLuint mask);
241     void glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask);
242     void glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
243     void glDrawBuffers(GLsizei n, const GLenum *bufs);
244     void glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha);
245 
246     // OpenGL 2.1 core functions
247     void glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
248     void glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
249     void glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
250     void glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
251     void glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
252     void glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
253 
254     // OpenGL 3.0 core functions
255     GLboolean glIsVertexArray(GLuint array);
256     void glGenVertexArrays(GLsizei n, GLuint *arrays);
257     void glDeleteVertexArrays(GLsizei n, const GLuint *arrays);
258     void glBindVertexArray(GLuint array);
259     void glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length);
260     GLvoid* glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
261     void glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
262     void glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
263     void glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
264     void glGenerateMipmap(GLenum target);
265     void glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params);
266     void glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
267     void glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
268     void glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
269     void glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
270     GLenum glCheckFramebufferStatus(GLenum target);
271     void glGenFramebuffers(GLsizei n, GLuint *framebuffers);
272     void glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers);
273     void glBindFramebuffer(GLenum target, GLuint framebuffer);
274     GLboolean glIsFramebuffer(GLuint framebuffer);
275     void glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params);
276     void glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
277     void glGenRenderbuffers(GLsizei n, GLuint *renderbuffers);
278     void glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers);
279     void glBindRenderbuffer(GLenum target, GLuint renderbuffer);
280     GLboolean glIsRenderbuffer(GLuint renderbuffer);
281     const GLubyte * glGetStringi(GLenum name, GLuint index);
282     void glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
283     void glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value);
284     void glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value);
285     void glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value);
286     void glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params);
287     void glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params);
288     void glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params);
289     void glTexParameterIiv(GLenum target, GLenum pname, const GLint *params);
290     void glUniform4uiv(GLint location, GLsizei count, const GLuint *value);
291     void glUniform3uiv(GLint location, GLsizei count, const GLuint *value);
292     void glUniform2uiv(GLint location, GLsizei count, const GLuint *value);
293     void glUniform1uiv(GLint location, GLsizei count, const GLuint *value);
294     void glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
295     void glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2);
296     void glUniform2ui(GLint location, GLuint v0, GLuint v1);
297     void glUniform1ui(GLint location, GLuint v0);
298     GLint glGetFragDataLocation(GLuint program, const GLchar *name);
299     void glBindFragDataLocation(GLuint program, GLuint color, const GLchar *name);
300     void glGetUniformuiv(GLuint program, GLint location, GLuint *params);
301     void glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params);
302     void glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params);
303     void glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
304     void glEndConditionalRender();
305     void glBeginConditionalRender(GLuint id, GLenum mode);
306     void glClampColor(GLenum target, GLenum clamp);
307     void glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
308     void glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar* const *varyings, GLenum bufferMode);
309     void glBindBufferBase(GLenum target, GLuint index, GLuint buffer);
310     void glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
311     void glEndTransformFeedback();
312     void glBeginTransformFeedback(GLenum primitiveMode);
313     GLboolean glIsEnabledi(GLenum target, GLuint index);
314     void glDisablei(GLenum target, GLuint index);
315     void glEnablei(GLenum target, GLuint index);
316     void glGetIntegeri_v(GLenum target, GLuint index, GLint *data);
317     void glGetBooleani_v(GLenum target, GLuint index, GLboolean *data);
318     void glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
319 
320     // OpenGL 3.1 core functions
321     void glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
322     void glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
323     void glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
324     void glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);
325     GLuint glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName);
326     void glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName);
327     void glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);
328     void glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar* const *uniformNames, GLuint *uniformIndices);
329     void glPrimitiveRestartIndex(GLuint index);
330     void glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer);
331     void glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount);
332     void glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount);
333 
334 private:
335     friend class QOpenGLContext;
336 
337     static bool isContextCompatible(QOpenGLContext *context);
338     static QOpenGLVersionProfile versionProfile();
339 
340     QOpenGLFunctions_1_0_CoreBackend* d_1_0_Core;
341     QOpenGLFunctions_1_1_CoreBackend* d_1_1_Core;
342     QOpenGLFunctions_1_2_CoreBackend* d_1_2_Core;
343     QOpenGLFunctions_1_3_CoreBackend* d_1_3_Core;
344     QOpenGLFunctions_1_4_CoreBackend* d_1_4_Core;
345     QOpenGLFunctions_1_5_CoreBackend* d_1_5_Core;
346     QOpenGLFunctions_2_0_CoreBackend* d_2_0_Core;
347     QOpenGLFunctions_2_1_CoreBackend* d_2_1_Core;
348     QOpenGLFunctions_3_0_CoreBackend* d_3_0_Core;
349     QOpenGLFunctions_3_1_CoreBackend* d_3_1_Core;
350 };
351 
352 // OpenGL 1.0 core functions
glViewport(GLint x,GLint y,GLsizei width,GLsizei height)353 inline void QOpenGLFunctions_3_1::glViewport(GLint x, GLint y, GLsizei width, GLsizei height)
354 {
355     d_1_0_Core->f.Viewport(x, y, width, height);
356 }
357 
glDepthRange(GLdouble nearVal,GLdouble farVal)358 inline void QOpenGLFunctions_3_1::glDepthRange(GLdouble nearVal, GLdouble farVal)
359 {
360     d_1_0_Core->f.DepthRange(nearVal, farVal);
361 }
362 
glIsEnabled(GLenum cap)363 inline GLboolean QOpenGLFunctions_3_1::glIsEnabled(GLenum cap)
364 {
365     return d_1_0_Core->f.IsEnabled(cap);
366 }
367 
glGetTexLevelParameteriv(GLenum target,GLint level,GLenum pname,GLint * params)368 inline void QOpenGLFunctions_3_1::glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params)
369 {
370     d_1_0_Core->f.GetTexLevelParameteriv(target, level, pname, params);
371 }
372 
glGetTexLevelParameterfv(GLenum target,GLint level,GLenum pname,GLfloat * params)373 inline void QOpenGLFunctions_3_1::glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params)
374 {
375     d_1_0_Core->f.GetTexLevelParameterfv(target, level, pname, params);
376 }
377 
glGetTexParameteriv(GLenum target,GLenum pname,GLint * params)378 inline void QOpenGLFunctions_3_1::glGetTexParameteriv(GLenum target, GLenum pname, GLint *params)
379 {
380     d_1_0_Core->f.GetTexParameteriv(target, pname, params);
381 }
382 
glGetTexParameterfv(GLenum target,GLenum pname,GLfloat * params)383 inline void QOpenGLFunctions_3_1::glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params)
384 {
385     d_1_0_Core->f.GetTexParameterfv(target, pname, params);
386 }
387 
glGetTexImage(GLenum target,GLint level,GLenum format,GLenum type,GLvoid * pixels)388 inline void QOpenGLFunctions_3_1::glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels)
389 {
390     d_1_0_Core->f.GetTexImage(target, level, format, type, pixels);
391 }
392 
glGetString(GLenum name)393 inline const GLubyte * QOpenGLFunctions_3_1::glGetString(GLenum name)
394 {
395     return d_1_0_Core->f.GetString(name);
396 }
397 
glGetIntegerv(GLenum pname,GLint * params)398 inline void QOpenGLFunctions_3_1::glGetIntegerv(GLenum pname, GLint *params)
399 {
400     d_1_0_Core->f.GetIntegerv(pname, params);
401 }
402 
glGetFloatv(GLenum pname,GLfloat * params)403 inline void QOpenGLFunctions_3_1::glGetFloatv(GLenum pname, GLfloat *params)
404 {
405     d_1_0_Core->f.GetFloatv(pname, params);
406 }
407 
glGetError()408 inline GLenum QOpenGLFunctions_3_1::glGetError()
409 {
410     return d_1_0_Core->f.GetError();
411 }
412 
glGetDoublev(GLenum pname,GLdouble * params)413 inline void QOpenGLFunctions_3_1::glGetDoublev(GLenum pname, GLdouble *params)
414 {
415     d_1_0_Core->f.GetDoublev(pname, params);
416 }
417 
glGetBooleanv(GLenum pname,GLboolean * params)418 inline void QOpenGLFunctions_3_1::glGetBooleanv(GLenum pname, GLboolean *params)
419 {
420     d_1_0_Core->f.GetBooleanv(pname, params);
421 }
422 
glReadPixels(GLint x,GLint y,GLsizei width,GLsizei height,GLenum format,GLenum type,GLvoid * pixels)423 inline void QOpenGLFunctions_3_1::glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels)
424 {
425     d_1_0_Core->f.ReadPixels(x, y, width, height, format, type, pixels);
426 }
427 
glReadBuffer(GLenum mode)428 inline void QOpenGLFunctions_3_1::glReadBuffer(GLenum mode)
429 {
430     d_1_0_Core->f.ReadBuffer(mode);
431 }
432 
glPixelStorei(GLenum pname,GLint param)433 inline void QOpenGLFunctions_3_1::glPixelStorei(GLenum pname, GLint param)
434 {
435     d_1_0_Core->f.PixelStorei(pname, param);
436 }
437 
glPixelStoref(GLenum pname,GLfloat param)438 inline void QOpenGLFunctions_3_1::glPixelStoref(GLenum pname, GLfloat param)
439 {
440     d_1_0_Core->f.PixelStoref(pname, param);
441 }
442 
glDepthFunc(GLenum func)443 inline void QOpenGLFunctions_3_1::glDepthFunc(GLenum func)
444 {
445     d_1_0_Core->f.DepthFunc(func);
446 }
447 
glStencilOp(GLenum fail,GLenum zfail,GLenum zpass)448 inline void QOpenGLFunctions_3_1::glStencilOp(GLenum fail, GLenum zfail, GLenum zpass)
449 {
450     d_1_0_Core->f.StencilOp(fail, zfail, zpass);
451 }
452 
glStencilFunc(GLenum func,GLint ref,GLuint mask)453 inline void QOpenGLFunctions_3_1::glStencilFunc(GLenum func, GLint ref, GLuint mask)
454 {
455     d_1_0_Core->f.StencilFunc(func, ref, mask);
456 }
457 
glLogicOp(GLenum opcode)458 inline void QOpenGLFunctions_3_1::glLogicOp(GLenum opcode)
459 {
460     d_1_0_Core->f.LogicOp(opcode);
461 }
462 
glBlendFunc(GLenum sfactor,GLenum dfactor)463 inline void QOpenGLFunctions_3_1::glBlendFunc(GLenum sfactor, GLenum dfactor)
464 {
465     d_1_0_Core->f.BlendFunc(sfactor, dfactor);
466 }
467 
glFlush()468 inline void QOpenGLFunctions_3_1::glFlush()
469 {
470     d_1_0_Core->f.Flush();
471 }
472 
glFinish()473 inline void QOpenGLFunctions_3_1::glFinish()
474 {
475     d_1_0_Core->f.Finish();
476 }
477 
glEnable(GLenum cap)478 inline void QOpenGLFunctions_3_1::glEnable(GLenum cap)
479 {
480     d_1_0_Core->f.Enable(cap);
481 }
482 
glDisable(GLenum cap)483 inline void QOpenGLFunctions_3_1::glDisable(GLenum cap)
484 {
485     d_1_0_Core->f.Disable(cap);
486 }
487 
glDepthMask(GLboolean flag)488 inline void QOpenGLFunctions_3_1::glDepthMask(GLboolean flag)
489 {
490     d_1_0_Core->f.DepthMask(flag);
491 }
492 
glColorMask(GLboolean red,GLboolean green,GLboolean blue,GLboolean alpha)493 inline void QOpenGLFunctions_3_1::glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
494 {
495     d_1_0_Core->f.ColorMask(red, green, blue, alpha);
496 }
497 
glStencilMask(GLuint mask)498 inline void QOpenGLFunctions_3_1::glStencilMask(GLuint mask)
499 {
500     d_1_0_Core->f.StencilMask(mask);
501 }
502 
glClearDepth(GLdouble depth)503 inline void QOpenGLFunctions_3_1::glClearDepth(GLdouble depth)
504 {
505     d_1_0_Core->f.ClearDepth(depth);
506 }
507 
glClearStencil(GLint s)508 inline void QOpenGLFunctions_3_1::glClearStencil(GLint s)
509 {
510     d_1_0_Core->f.ClearStencil(s);
511 }
512 
glClearColor(GLfloat red,GLfloat green,GLfloat blue,GLfloat alpha)513 inline void QOpenGLFunctions_3_1::glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
514 {
515     d_1_0_Core->f.ClearColor(red, green, blue, alpha);
516 }
517 
glClear(GLbitfield mask)518 inline void QOpenGLFunctions_3_1::glClear(GLbitfield mask)
519 {
520     d_1_0_Core->f.Clear(mask);
521 }
522 
glDrawBuffer(GLenum mode)523 inline void QOpenGLFunctions_3_1::glDrawBuffer(GLenum mode)
524 {
525     d_1_0_Core->f.DrawBuffer(mode);
526 }
527 
glTexImage2D(GLenum target,GLint level,GLint internalformat,GLsizei width,GLsizei height,GLint border,GLenum format,GLenum type,const GLvoid * pixels)528 inline void QOpenGLFunctions_3_1::glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
529 {
530     d_1_0_Core->f.TexImage2D(target, level, internalformat, width, height, border, format, type, pixels);
531 }
532 
glTexImage1D(GLenum target,GLint level,GLint internalformat,GLsizei width,GLint border,GLenum format,GLenum type,const GLvoid * pixels)533 inline void QOpenGLFunctions_3_1::glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
534 {
535     d_1_0_Core->f.TexImage1D(target, level, internalformat, width, border, format, type, pixels);
536 }
537 
glTexParameteriv(GLenum target,GLenum pname,const GLint * params)538 inline void QOpenGLFunctions_3_1::glTexParameteriv(GLenum target, GLenum pname, const GLint *params)
539 {
540     d_1_0_Core->f.TexParameteriv(target, pname, params);
541 }
542 
glTexParameteri(GLenum target,GLenum pname,GLint param)543 inline void QOpenGLFunctions_3_1::glTexParameteri(GLenum target, GLenum pname, GLint param)
544 {
545     d_1_0_Core->f.TexParameteri(target, pname, param);
546 }
547 
glTexParameterfv(GLenum target,GLenum pname,const GLfloat * params)548 inline void QOpenGLFunctions_3_1::glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params)
549 {
550     d_1_0_Core->f.TexParameterfv(target, pname, params);
551 }
552 
glTexParameterf(GLenum target,GLenum pname,GLfloat param)553 inline void QOpenGLFunctions_3_1::glTexParameterf(GLenum target, GLenum pname, GLfloat param)
554 {
555     d_1_0_Core->f.TexParameterf(target, pname, param);
556 }
557 
glScissor(GLint x,GLint y,GLsizei width,GLsizei height)558 inline void QOpenGLFunctions_3_1::glScissor(GLint x, GLint y, GLsizei width, GLsizei height)
559 {
560     d_1_0_Core->f.Scissor(x, y, width, height);
561 }
562 
glPolygonMode(GLenum face,GLenum mode)563 inline void QOpenGLFunctions_3_1::glPolygonMode(GLenum face, GLenum mode)
564 {
565     d_1_0_Core->f.PolygonMode(face, mode);
566 }
567 
glPointSize(GLfloat size)568 inline void QOpenGLFunctions_3_1::glPointSize(GLfloat size)
569 {
570     d_1_0_Core->f.PointSize(size);
571 }
572 
glLineWidth(GLfloat width)573 inline void QOpenGLFunctions_3_1::glLineWidth(GLfloat width)
574 {
575     d_1_0_Core->f.LineWidth(width);
576 }
577 
glHint(GLenum target,GLenum mode)578 inline void QOpenGLFunctions_3_1::glHint(GLenum target, GLenum mode)
579 {
580     d_1_0_Core->f.Hint(target, mode);
581 }
582 
glFrontFace(GLenum mode)583 inline void QOpenGLFunctions_3_1::glFrontFace(GLenum mode)
584 {
585     d_1_0_Core->f.FrontFace(mode);
586 }
587 
glCullFace(GLenum mode)588 inline void QOpenGLFunctions_3_1::glCullFace(GLenum mode)
589 {
590     d_1_0_Core->f.CullFace(mode);
591 }
592 
593 
594 // OpenGL 1.1 core functions
glIndexubv(const GLubyte * c)595 inline void QOpenGLFunctions_3_1::glIndexubv(const GLubyte *c)
596 {
597     Q_UNUSED(c);
598     QOPENGL_DEPRECATEDFUNCTION;
599 }
600 
glIndexub(GLubyte c)601 inline void QOpenGLFunctions_3_1::glIndexub(GLubyte c)
602 {
603     Q_UNUSED(c);
604     QOPENGL_DEPRECATEDFUNCTION;
605 }
606 
glIsTexture(GLuint texture)607 inline GLboolean QOpenGLFunctions_3_1::glIsTexture(GLuint texture)
608 {
609     return d_1_1_Core->f.IsTexture(texture);
610 }
611 
glGenTextures(GLsizei n,GLuint * textures)612 inline void QOpenGLFunctions_3_1::glGenTextures(GLsizei n, GLuint *textures)
613 {
614     d_1_1_Core->f.GenTextures(n, textures);
615 }
616 
glDeleteTextures(GLsizei n,const GLuint * textures)617 inline void QOpenGLFunctions_3_1::glDeleteTextures(GLsizei n, const GLuint *textures)
618 {
619     d_1_1_Core->f.DeleteTextures(n, textures);
620 }
621 
glBindTexture(GLenum target,GLuint texture)622 inline void QOpenGLFunctions_3_1::glBindTexture(GLenum target, GLuint texture)
623 {
624     d_1_1_Core->f.BindTexture(target, texture);
625 }
626 
glTexSubImage2D(GLenum target,GLint level,GLint xoffset,GLint yoffset,GLsizei width,GLsizei height,GLenum format,GLenum type,const GLvoid * pixels)627 inline void QOpenGLFunctions_3_1::glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)
628 {
629     d_1_1_Core->f.TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels);
630 }
631 
glTexSubImage1D(GLenum target,GLint level,GLint xoffset,GLsizei width,GLenum format,GLenum type,const GLvoid * pixels)632 inline void QOpenGLFunctions_3_1::glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels)
633 {
634     d_1_1_Core->f.TexSubImage1D(target, level, xoffset, width, format, type, pixels);
635 }
636 
glCopyTexSubImage2D(GLenum target,GLint level,GLint xoffset,GLint yoffset,GLint x,GLint y,GLsizei width,GLsizei height)637 inline void QOpenGLFunctions_3_1::glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
638 {
639     d_1_1_Core->f.CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);
640 }
641 
glCopyTexSubImage1D(GLenum target,GLint level,GLint xoffset,GLint x,GLint y,GLsizei width)642 inline void QOpenGLFunctions_3_1::glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)
643 {
644     d_1_1_Core->f.CopyTexSubImage1D(target, level, xoffset, x, y, width);
645 }
646 
glCopyTexImage2D(GLenum target,GLint level,GLenum internalformat,GLint x,GLint y,GLsizei width,GLsizei height,GLint border)647 inline void QOpenGLFunctions_3_1::glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
648 {
649     d_1_1_Core->f.CopyTexImage2D(target, level, internalformat, x, y, width, height, border);
650 }
651 
glCopyTexImage1D(GLenum target,GLint level,GLenum internalformat,GLint x,GLint y,GLsizei width,GLint border)652 inline void QOpenGLFunctions_3_1::glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border)
653 {
654     d_1_1_Core->f.CopyTexImage1D(target, level, internalformat, x, y, width, border);
655 }
656 
glPolygonOffset(GLfloat factor,GLfloat units)657 inline void QOpenGLFunctions_3_1::glPolygonOffset(GLfloat factor, GLfloat units)
658 {
659     d_1_1_Core->f.PolygonOffset(factor, units);
660 }
661 
glGetPointerv(GLenum pname,GLvoid ** params)662 inline void QOpenGLFunctions_3_1::glGetPointerv(GLenum pname, GLvoid* *params)
663 {
664     Q_UNUSED(pname);
665     Q_UNUSED(params);
666     QOPENGL_DEPRECATEDFUNCTION;
667 }
668 
glDrawElements(GLenum mode,GLsizei count,GLenum type,const GLvoid * indices)669 inline void QOpenGLFunctions_3_1::glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices)
670 {
671     d_1_1_Core->f.DrawElements(mode, count, type, indices);
672 }
673 
glDrawArrays(GLenum mode,GLint first,GLsizei count)674 inline void QOpenGLFunctions_3_1::glDrawArrays(GLenum mode, GLint first, GLsizei count)
675 {
676     d_1_1_Core->f.DrawArrays(mode, first, count);
677 }
678 
679 
680 // OpenGL 1.2 core functions
glCopyTexSubImage3D(GLenum target,GLint level,GLint xoffset,GLint yoffset,GLint zoffset,GLint x,GLint y,GLsizei width,GLsizei height)681 inline void QOpenGLFunctions_3_1::glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
682 {
683     d_1_2_Core->f.CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height);
684 }
685 
glTexSubImage3D(GLenum target,GLint level,GLint xoffset,GLint yoffset,GLint zoffset,GLsizei width,GLsizei height,GLsizei depth,GLenum format,GLenum type,const GLvoid * pixels)686 inline void QOpenGLFunctions_3_1::glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels)
687 {
688     d_1_2_Core->f.TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
689 }
690 
glTexImage3D(GLenum target,GLint level,GLint internalformat,GLsizei width,GLsizei height,GLsizei depth,GLint border,GLenum format,GLenum type,const GLvoid * pixels)691 inline void QOpenGLFunctions_3_1::glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
692 {
693     d_1_2_Core->f.TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels);
694 }
695 
glDrawRangeElements(GLenum mode,GLuint start,GLuint end,GLsizei count,GLenum type,const GLvoid * indices)696 inline void QOpenGLFunctions_3_1::glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices)
697 {
698     d_1_2_Core->f.DrawRangeElements(mode, start, end, count, type, indices);
699 }
700 
glBlendEquation(GLenum mode)701 inline void QOpenGLFunctions_3_1::glBlendEquation(GLenum mode)
702 {
703     d_1_2_Core->f.BlendEquation(mode);
704 }
705 
glBlendColor(GLfloat red,GLfloat green,GLfloat blue,GLfloat alpha)706 inline void QOpenGLFunctions_3_1::glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
707 {
708     d_1_2_Core->f.BlendColor(red, green, blue, alpha);
709 }
710 
711 
712 // OpenGL 1.3 core functions
glGetCompressedTexImage(GLenum target,GLint level,GLvoid * img)713 inline void QOpenGLFunctions_3_1::glGetCompressedTexImage(GLenum target, GLint level, GLvoid *img)
714 {
715     d_1_3_Core->f.GetCompressedTexImage(target, level, img);
716 }
717 
glCompressedTexSubImage1D(GLenum target,GLint level,GLint xoffset,GLsizei width,GLenum format,GLsizei imageSize,const GLvoid * data)718 inline void QOpenGLFunctions_3_1::glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data)
719 {
720     d_1_3_Core->f.CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data);
721 }
722 
glCompressedTexSubImage2D(GLenum target,GLint level,GLint xoffset,GLint yoffset,GLsizei width,GLsizei height,GLenum format,GLsizei imageSize,const GLvoid * data)723 inline void QOpenGLFunctions_3_1::glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data)
724 {
725     d_1_3_Core->f.CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data);
726 }
727 
glCompressedTexSubImage3D(GLenum target,GLint level,GLint xoffset,GLint yoffset,GLint zoffset,GLsizei width,GLsizei height,GLsizei depth,GLenum format,GLsizei imageSize,const GLvoid * data)728 inline void QOpenGLFunctions_3_1::glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data)
729 {
730     d_1_3_Core->f.CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
731 }
732 
glCompressedTexImage1D(GLenum target,GLint level,GLenum internalformat,GLsizei width,GLint border,GLsizei imageSize,const GLvoid * data)733 inline void QOpenGLFunctions_3_1::glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data)
734 {
735     d_1_3_Core->f.CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data);
736 }
737 
glCompressedTexImage2D(GLenum target,GLint level,GLenum internalformat,GLsizei width,GLsizei height,GLint border,GLsizei imageSize,const GLvoid * data)738 inline void QOpenGLFunctions_3_1::glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data)
739 {
740     d_1_3_Core->f.CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data);
741 }
742 
glCompressedTexImage3D(GLenum target,GLint level,GLenum internalformat,GLsizei width,GLsizei height,GLsizei depth,GLint border,GLsizei imageSize,const GLvoid * data)743 inline void QOpenGLFunctions_3_1::glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data)
744 {
745     d_1_3_Core->f.CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data);
746 }
747 
glSampleCoverage(GLfloat value,GLboolean invert)748 inline void QOpenGLFunctions_3_1::glSampleCoverage(GLfloat value, GLboolean invert)
749 {
750     d_1_3_Core->f.SampleCoverage(value, invert);
751 }
752 
glActiveTexture(GLenum texture)753 inline void QOpenGLFunctions_3_1::glActiveTexture(GLenum texture)
754 {
755     d_1_3_Core->f.ActiveTexture(texture);
756 }
757 
758 
759 // OpenGL 1.4 core functions
glPointParameteriv(GLenum pname,const GLint * params)760 inline void QOpenGLFunctions_3_1::glPointParameteriv(GLenum pname, const GLint *params)
761 {
762     d_1_4_Core->f.PointParameteriv(pname, params);
763 }
764 
glPointParameteri(GLenum pname,GLint param)765 inline void QOpenGLFunctions_3_1::glPointParameteri(GLenum pname, GLint param)
766 {
767     d_1_4_Core->f.PointParameteri(pname, param);
768 }
769 
glPointParameterfv(GLenum pname,const GLfloat * params)770 inline void QOpenGLFunctions_3_1::glPointParameterfv(GLenum pname, const GLfloat *params)
771 {
772     d_1_4_Core->f.PointParameterfv(pname, params);
773 }
774 
glPointParameterf(GLenum pname,GLfloat param)775 inline void QOpenGLFunctions_3_1::glPointParameterf(GLenum pname, GLfloat param)
776 {
777     d_1_4_Core->f.PointParameterf(pname, param);
778 }
779 
glMultiDrawElements(GLenum mode,const GLsizei * count,GLenum type,const GLvoid * const * indices,GLsizei drawcount)780 inline void QOpenGLFunctions_3_1::glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount)
781 {
782     d_1_4_Core->f.MultiDrawElements(mode, count, type, indices, drawcount);
783 }
784 
glMultiDrawArrays(GLenum mode,const GLint * first,const GLsizei * count,GLsizei drawcount)785 inline void QOpenGLFunctions_3_1::glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount)
786 {
787     d_1_4_Core->f.MultiDrawArrays(mode, first, count, drawcount);
788 }
789 
glBlendFuncSeparate(GLenum sfactorRGB,GLenum dfactorRGB,GLenum sfactorAlpha,GLenum dfactorAlpha)790 inline void QOpenGLFunctions_3_1::glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha)
791 {
792     d_1_4_Core->f.BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha);
793 }
794 
795 
796 // OpenGL 1.5 core functions
glGetBufferPointerv(GLenum target,GLenum pname,GLvoid ** params)797 inline void QOpenGLFunctions_3_1::glGetBufferPointerv(GLenum target, GLenum pname, GLvoid* *params)
798 {
799     d_1_5_Core->f.GetBufferPointerv(target, pname, params);
800 }
801 
glGetBufferParameteriv(GLenum target,GLenum pname,GLint * params)802 inline void QOpenGLFunctions_3_1::glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params)
803 {
804     d_1_5_Core->f.GetBufferParameteriv(target, pname, params);
805 }
806 
glUnmapBuffer(GLenum target)807 inline GLboolean QOpenGLFunctions_3_1::glUnmapBuffer(GLenum target)
808 {
809     return d_1_5_Core->f.UnmapBuffer(target);
810 }
811 
glMapBuffer(GLenum target,GLenum access)812 inline GLvoid* QOpenGLFunctions_3_1::glMapBuffer(GLenum target, GLenum access)
813 {
814     return d_1_5_Core->f.MapBuffer(target, access);
815 }
816 
glGetBufferSubData(GLenum target,GLintptr offset,GLsizeiptr size,GLvoid * data)817 inline void QOpenGLFunctions_3_1::glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data)
818 {
819     d_1_5_Core->f.GetBufferSubData(target, offset, size, data);
820 }
821 
glBufferSubData(GLenum target,GLintptr offset,GLsizeiptr size,const GLvoid * data)822 inline void QOpenGLFunctions_3_1::glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data)
823 {
824     d_1_5_Core->f.BufferSubData(target, offset, size, data);
825 }
826 
glBufferData(GLenum target,GLsizeiptr size,const GLvoid * data,GLenum usage)827 inline void QOpenGLFunctions_3_1::glBufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage)
828 {
829     d_1_5_Core->f.BufferData(target, size, data, usage);
830 }
831 
glIsBuffer(GLuint buffer)832 inline GLboolean QOpenGLFunctions_3_1::glIsBuffer(GLuint buffer)
833 {
834     return d_1_5_Core->f.IsBuffer(buffer);
835 }
836 
glGenBuffers(GLsizei n,GLuint * buffers)837 inline void QOpenGLFunctions_3_1::glGenBuffers(GLsizei n, GLuint *buffers)
838 {
839     d_1_5_Core->f.GenBuffers(n, buffers);
840 }
841 
glDeleteBuffers(GLsizei n,const GLuint * buffers)842 inline void QOpenGLFunctions_3_1::glDeleteBuffers(GLsizei n, const GLuint *buffers)
843 {
844     d_1_5_Core->f.DeleteBuffers(n, buffers);
845 }
846 
glBindBuffer(GLenum target,GLuint buffer)847 inline void QOpenGLFunctions_3_1::glBindBuffer(GLenum target, GLuint buffer)
848 {
849     d_1_5_Core->f.BindBuffer(target, buffer);
850 }
851 
glGetQueryObjectuiv(GLuint id,GLenum pname,GLuint * params)852 inline void QOpenGLFunctions_3_1::glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params)
853 {
854     d_1_5_Core->f.GetQueryObjectuiv(id, pname, params);
855 }
856 
glGetQueryObjectiv(GLuint id,GLenum pname,GLint * params)857 inline void QOpenGLFunctions_3_1::glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params)
858 {
859     d_1_5_Core->f.GetQueryObjectiv(id, pname, params);
860 }
861 
glGetQueryiv(GLenum target,GLenum pname,GLint * params)862 inline void QOpenGLFunctions_3_1::glGetQueryiv(GLenum target, GLenum pname, GLint *params)
863 {
864     d_1_5_Core->f.GetQueryiv(target, pname, params);
865 }
866 
glEndQuery(GLenum target)867 inline void QOpenGLFunctions_3_1::glEndQuery(GLenum target)
868 {
869     d_1_5_Core->f.EndQuery(target);
870 }
871 
glBeginQuery(GLenum target,GLuint id)872 inline void QOpenGLFunctions_3_1::glBeginQuery(GLenum target, GLuint id)
873 {
874     d_1_5_Core->f.BeginQuery(target, id);
875 }
876 
glIsQuery(GLuint id)877 inline GLboolean QOpenGLFunctions_3_1::glIsQuery(GLuint id)
878 {
879     return d_1_5_Core->f.IsQuery(id);
880 }
881 
glDeleteQueries(GLsizei n,const GLuint * ids)882 inline void QOpenGLFunctions_3_1::glDeleteQueries(GLsizei n, const GLuint *ids)
883 {
884     d_1_5_Core->f.DeleteQueries(n, ids);
885 }
886 
glGenQueries(GLsizei n,GLuint * ids)887 inline void QOpenGLFunctions_3_1::glGenQueries(GLsizei n, GLuint *ids)
888 {
889     d_1_5_Core->f.GenQueries(n, ids);
890 }
891 
892 
893 // OpenGL 2.0 core functions
glVertexAttribPointer(GLuint index,GLint size,GLenum type,GLboolean normalized,GLsizei stride,const GLvoid * pointer)894 inline void QOpenGLFunctions_3_1::glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer)
895 {
896     d_2_0_Core->f.VertexAttribPointer(index, size, type, normalized, stride, pointer);
897 }
898 
glValidateProgram(GLuint program)899 inline void QOpenGLFunctions_3_1::glValidateProgram(GLuint program)
900 {
901     d_2_0_Core->f.ValidateProgram(program);
902 }
903 
glUniformMatrix4fv(GLint location,GLsizei count,GLboolean transpose,const GLfloat * value)904 inline void QOpenGLFunctions_3_1::glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
905 {
906     d_2_0_Core->f.UniformMatrix4fv(location, count, transpose, value);
907 }
908 
glUniformMatrix3fv(GLint location,GLsizei count,GLboolean transpose,const GLfloat * value)909 inline void QOpenGLFunctions_3_1::glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
910 {
911     d_2_0_Core->f.UniformMatrix3fv(location, count, transpose, value);
912 }
913 
glUniformMatrix2fv(GLint location,GLsizei count,GLboolean transpose,const GLfloat * value)914 inline void QOpenGLFunctions_3_1::glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
915 {
916     d_2_0_Core->f.UniformMatrix2fv(location, count, transpose, value);
917 }
918 
glUniform4iv(GLint location,GLsizei count,const GLint * value)919 inline void QOpenGLFunctions_3_1::glUniform4iv(GLint location, GLsizei count, const GLint *value)
920 {
921     d_2_0_Core->f.Uniform4iv(location, count, value);
922 }
923 
glUniform3iv(GLint location,GLsizei count,const GLint * value)924 inline void QOpenGLFunctions_3_1::glUniform3iv(GLint location, GLsizei count, const GLint *value)
925 {
926     d_2_0_Core->f.Uniform3iv(location, count, value);
927 }
928 
glUniform2iv(GLint location,GLsizei count,const GLint * value)929 inline void QOpenGLFunctions_3_1::glUniform2iv(GLint location, GLsizei count, const GLint *value)
930 {
931     d_2_0_Core->f.Uniform2iv(location, count, value);
932 }
933 
glUniform1iv(GLint location,GLsizei count,const GLint * value)934 inline void QOpenGLFunctions_3_1::glUniform1iv(GLint location, GLsizei count, const GLint *value)
935 {
936     d_2_0_Core->f.Uniform1iv(location, count, value);
937 }
938 
glUniform4fv(GLint location,GLsizei count,const GLfloat * value)939 inline void QOpenGLFunctions_3_1::glUniform4fv(GLint location, GLsizei count, const GLfloat *value)
940 {
941     d_2_0_Core->f.Uniform4fv(location, count, value);
942 }
943 
glUniform3fv(GLint location,GLsizei count,const GLfloat * value)944 inline void QOpenGLFunctions_3_1::glUniform3fv(GLint location, GLsizei count, const GLfloat *value)
945 {
946     d_2_0_Core->f.Uniform3fv(location, count, value);
947 }
948 
glUniform2fv(GLint location,GLsizei count,const GLfloat * value)949 inline void QOpenGLFunctions_3_1::glUniform2fv(GLint location, GLsizei count, const GLfloat *value)
950 {
951     d_2_0_Core->f.Uniform2fv(location, count, value);
952 }
953 
glUniform1fv(GLint location,GLsizei count,const GLfloat * value)954 inline void QOpenGLFunctions_3_1::glUniform1fv(GLint location, GLsizei count, const GLfloat *value)
955 {
956     d_2_0_Core->f.Uniform1fv(location, count, value);
957 }
958 
glUniform4i(GLint location,GLint v0,GLint v1,GLint v2,GLint v3)959 inline void QOpenGLFunctions_3_1::glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3)
960 {
961     d_2_0_Core->f.Uniform4i(location, v0, v1, v2, v3);
962 }
963 
glUniform3i(GLint location,GLint v0,GLint v1,GLint v2)964 inline void QOpenGLFunctions_3_1::glUniform3i(GLint location, GLint v0, GLint v1, GLint v2)
965 {
966     d_2_0_Core->f.Uniform3i(location, v0, v1, v2);
967 }
968 
glUniform2i(GLint location,GLint v0,GLint v1)969 inline void QOpenGLFunctions_3_1::glUniform2i(GLint location, GLint v0, GLint v1)
970 {
971     d_2_0_Core->f.Uniform2i(location, v0, v1);
972 }
973 
glUniform1i(GLint location,GLint v0)974 inline void QOpenGLFunctions_3_1::glUniform1i(GLint location, GLint v0)
975 {
976     d_2_0_Core->f.Uniform1i(location, v0);
977 }
978 
glUniform4f(GLint location,GLfloat v0,GLfloat v1,GLfloat v2,GLfloat v3)979 inline void QOpenGLFunctions_3_1::glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)
980 {
981     d_2_0_Core->f.Uniform4f(location, v0, v1, v2, v3);
982 }
983 
glUniform3f(GLint location,GLfloat v0,GLfloat v1,GLfloat v2)984 inline void QOpenGLFunctions_3_1::glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2)
985 {
986     d_2_0_Core->f.Uniform3f(location, v0, v1, v2);
987 }
988 
glUniform2f(GLint location,GLfloat v0,GLfloat v1)989 inline void QOpenGLFunctions_3_1::glUniform2f(GLint location, GLfloat v0, GLfloat v1)
990 {
991     d_2_0_Core->f.Uniform2f(location, v0, v1);
992 }
993 
glUniform1f(GLint location,GLfloat v0)994 inline void QOpenGLFunctions_3_1::glUniform1f(GLint location, GLfloat v0)
995 {
996     d_2_0_Core->f.Uniform1f(location, v0);
997 }
998 
glUseProgram(GLuint program)999 inline void QOpenGLFunctions_3_1::glUseProgram(GLuint program)
1000 {
1001     d_2_0_Core->f.UseProgram(program);
1002 }
1003 
glShaderSource(GLuint shader,GLsizei count,const GLchar * const * string,const GLint * length)1004 inline void QOpenGLFunctions_3_1::glShaderSource(GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length)
1005 {
1006     d_2_0_Core->f.ShaderSource(shader, count, string, length);
1007 }
1008 
glLinkProgram(GLuint program)1009 inline void QOpenGLFunctions_3_1::glLinkProgram(GLuint program)
1010 {
1011     d_2_0_Core->f.LinkProgram(program);
1012 }
1013 
glIsShader(GLuint shader)1014 inline GLboolean QOpenGLFunctions_3_1::glIsShader(GLuint shader)
1015 {
1016     return d_2_0_Core->f.IsShader(shader);
1017 }
1018 
glIsProgram(GLuint program)1019 inline GLboolean QOpenGLFunctions_3_1::glIsProgram(GLuint program)
1020 {
1021     return d_2_0_Core->f.IsProgram(program);
1022 }
1023 
glGetVertexAttribPointerv(GLuint index,GLenum pname,GLvoid ** pointer)1024 inline void QOpenGLFunctions_3_1::glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid* *pointer)
1025 {
1026     d_2_0_Core->f.GetVertexAttribPointerv(index, pname, pointer);
1027 }
1028 
glGetVertexAttribiv(GLuint index,GLenum pname,GLint * params)1029 inline void QOpenGLFunctions_3_1::glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params)
1030 {
1031     d_2_0_Core->f.GetVertexAttribiv(index, pname, params);
1032 }
1033 
glGetVertexAttribfv(GLuint index,GLenum pname,GLfloat * params)1034 inline void QOpenGLFunctions_3_1::glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params)
1035 {
1036     d_2_0_Core->f.GetVertexAttribfv(index, pname, params);
1037 }
1038 
glGetVertexAttribdv(GLuint index,GLenum pname,GLdouble * params)1039 inline void QOpenGLFunctions_3_1::glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params)
1040 {
1041     d_2_0_Core->f.GetVertexAttribdv(index, pname, params);
1042 }
1043 
glGetUniformiv(GLuint program,GLint location,GLint * params)1044 inline void QOpenGLFunctions_3_1::glGetUniformiv(GLuint program, GLint location, GLint *params)
1045 {
1046     d_2_0_Core->f.GetUniformiv(program, location, params);
1047 }
1048 
glGetUniformfv(GLuint program,GLint location,GLfloat * params)1049 inline void QOpenGLFunctions_3_1::glGetUniformfv(GLuint program, GLint location, GLfloat *params)
1050 {
1051     d_2_0_Core->f.GetUniformfv(program, location, params);
1052 }
1053 
glGetUniformLocation(GLuint program,const GLchar * name)1054 inline GLint QOpenGLFunctions_3_1::glGetUniformLocation(GLuint program, const GLchar *name)
1055 {
1056     return d_2_0_Core->f.GetUniformLocation(program, name);
1057 }
1058 
glGetShaderSource(GLuint shader,GLsizei bufSize,GLsizei * length,GLchar * source)1059 inline void QOpenGLFunctions_3_1::glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source)
1060 {
1061     d_2_0_Core->f.GetShaderSource(shader, bufSize, length, source);
1062 }
1063 
glGetShaderInfoLog(GLuint shader,GLsizei bufSize,GLsizei * length,GLchar * infoLog)1064 inline void QOpenGLFunctions_3_1::glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog)
1065 {
1066     d_2_0_Core->f.GetShaderInfoLog(shader, bufSize, length, infoLog);
1067 }
1068 
glGetShaderiv(GLuint shader,GLenum pname,GLint * params)1069 inline void QOpenGLFunctions_3_1::glGetShaderiv(GLuint shader, GLenum pname, GLint *params)
1070 {
1071     d_2_0_Core->f.GetShaderiv(shader, pname, params);
1072 }
1073 
glGetProgramInfoLog(GLuint program,GLsizei bufSize,GLsizei * length,GLchar * infoLog)1074 inline void QOpenGLFunctions_3_1::glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog)
1075 {
1076     d_2_0_Core->f.GetProgramInfoLog(program, bufSize, length, infoLog);
1077 }
1078 
glGetProgramiv(GLuint program,GLenum pname,GLint * params)1079 inline void QOpenGLFunctions_3_1::glGetProgramiv(GLuint program, GLenum pname, GLint *params)
1080 {
1081     d_2_0_Core->f.GetProgramiv(program, pname, params);
1082 }
1083 
glGetAttribLocation(GLuint program,const GLchar * name)1084 inline GLint QOpenGLFunctions_3_1::glGetAttribLocation(GLuint program, const GLchar *name)
1085 {
1086     return d_2_0_Core->f.GetAttribLocation(program, name);
1087 }
1088 
glGetAttachedShaders(GLuint program,GLsizei maxCount,GLsizei * count,GLuint * obj)1089 inline void QOpenGLFunctions_3_1::glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj)
1090 {
1091     d_2_0_Core->f.GetAttachedShaders(program, maxCount, count, obj);
1092 }
1093 
glGetActiveUniform(GLuint program,GLuint index,GLsizei bufSize,GLsizei * length,GLint * size,GLenum * type,GLchar * name)1094 inline void QOpenGLFunctions_3_1::glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name)
1095 {
1096     d_2_0_Core->f.GetActiveUniform(program, index, bufSize, length, size, type, name);
1097 }
1098 
glGetActiveAttrib(GLuint program,GLuint index,GLsizei bufSize,GLsizei * length,GLint * size,GLenum * type,GLchar * name)1099 inline void QOpenGLFunctions_3_1::glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name)
1100 {
1101     d_2_0_Core->f.GetActiveAttrib(program, index, bufSize, length, size, type, name);
1102 }
1103 
glEnableVertexAttribArray(GLuint index)1104 inline void QOpenGLFunctions_3_1::glEnableVertexAttribArray(GLuint index)
1105 {
1106     d_2_0_Core->f.EnableVertexAttribArray(index);
1107 }
1108 
glDisableVertexAttribArray(GLuint index)1109 inline void QOpenGLFunctions_3_1::glDisableVertexAttribArray(GLuint index)
1110 {
1111     d_2_0_Core->f.DisableVertexAttribArray(index);
1112 }
1113 
glDetachShader(GLuint program,GLuint shader)1114 inline void QOpenGLFunctions_3_1::glDetachShader(GLuint program, GLuint shader)
1115 {
1116     d_2_0_Core->f.DetachShader(program, shader);
1117 }
1118 
glDeleteShader(GLuint shader)1119 inline void QOpenGLFunctions_3_1::glDeleteShader(GLuint shader)
1120 {
1121     d_2_0_Core->f.DeleteShader(shader);
1122 }
1123 
glDeleteProgram(GLuint program)1124 inline void QOpenGLFunctions_3_1::glDeleteProgram(GLuint program)
1125 {
1126     d_2_0_Core->f.DeleteProgram(program);
1127 }
1128 
glCreateShader(GLenum type)1129 inline GLuint QOpenGLFunctions_3_1::glCreateShader(GLenum type)
1130 {
1131     return d_2_0_Core->f.CreateShader(type);
1132 }
1133 
glCreateProgram()1134 inline GLuint QOpenGLFunctions_3_1::glCreateProgram()
1135 {
1136     return d_2_0_Core->f.CreateProgram();
1137 }
1138 
glCompileShader(GLuint shader)1139 inline void QOpenGLFunctions_3_1::glCompileShader(GLuint shader)
1140 {
1141     d_2_0_Core->f.CompileShader(shader);
1142 }
1143 
glBindAttribLocation(GLuint program,GLuint index,const GLchar * name)1144 inline void QOpenGLFunctions_3_1::glBindAttribLocation(GLuint program, GLuint index, const GLchar *name)
1145 {
1146     d_2_0_Core->f.BindAttribLocation(program, index, name);
1147 }
1148 
glAttachShader(GLuint program,GLuint shader)1149 inline void QOpenGLFunctions_3_1::glAttachShader(GLuint program, GLuint shader)
1150 {
1151     d_2_0_Core->f.AttachShader(program, shader);
1152 }
1153 
glStencilMaskSeparate(GLenum face,GLuint mask)1154 inline void QOpenGLFunctions_3_1::glStencilMaskSeparate(GLenum face, GLuint mask)
1155 {
1156     d_2_0_Core->f.StencilMaskSeparate(face, mask);
1157 }
1158 
glStencilFuncSeparate(GLenum face,GLenum func,GLint ref,GLuint mask)1159 inline void QOpenGLFunctions_3_1::glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask)
1160 {
1161     d_2_0_Core->f.StencilFuncSeparate(face, func, ref, mask);
1162 }
1163 
glStencilOpSeparate(GLenum face,GLenum sfail,GLenum dpfail,GLenum dppass)1164 inline void QOpenGLFunctions_3_1::glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass)
1165 {
1166     d_2_0_Core->f.StencilOpSeparate(face, sfail, dpfail, dppass);
1167 }
1168 
glDrawBuffers(GLsizei n,const GLenum * bufs)1169 inline void QOpenGLFunctions_3_1::glDrawBuffers(GLsizei n, const GLenum *bufs)
1170 {
1171     d_2_0_Core->f.DrawBuffers(n, bufs);
1172 }
1173 
glBlendEquationSeparate(GLenum modeRGB,GLenum modeAlpha)1174 inline void QOpenGLFunctions_3_1::glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha)
1175 {
1176     d_2_0_Core->f.BlendEquationSeparate(modeRGB, modeAlpha);
1177 }
1178 
1179 
1180 // OpenGL 2.1 core functions
glUniformMatrix4x3fv(GLint location,GLsizei count,GLboolean transpose,const GLfloat * value)1181 inline void QOpenGLFunctions_3_1::glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1182 {
1183     d_2_1_Core->f.UniformMatrix4x3fv(location, count, transpose, value);
1184 }
1185 
glUniformMatrix3x4fv(GLint location,GLsizei count,GLboolean transpose,const GLfloat * value)1186 inline void QOpenGLFunctions_3_1::glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1187 {
1188     d_2_1_Core->f.UniformMatrix3x4fv(location, count, transpose, value);
1189 }
1190 
glUniformMatrix4x2fv(GLint location,GLsizei count,GLboolean transpose,const GLfloat * value)1191 inline void QOpenGLFunctions_3_1::glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1192 {
1193     d_2_1_Core->f.UniformMatrix4x2fv(location, count, transpose, value);
1194 }
1195 
glUniformMatrix2x4fv(GLint location,GLsizei count,GLboolean transpose,const GLfloat * value)1196 inline void QOpenGLFunctions_3_1::glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1197 {
1198     d_2_1_Core->f.UniformMatrix2x4fv(location, count, transpose, value);
1199 }
1200 
glUniformMatrix3x2fv(GLint location,GLsizei count,GLboolean transpose,const GLfloat * value)1201 inline void QOpenGLFunctions_3_1::glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1202 {
1203     d_2_1_Core->f.UniformMatrix3x2fv(location, count, transpose, value);
1204 }
1205 
glUniformMatrix2x3fv(GLint location,GLsizei count,GLboolean transpose,const GLfloat * value)1206 inline void QOpenGLFunctions_3_1::glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1207 {
1208     d_2_1_Core->f.UniformMatrix2x3fv(location, count, transpose, value);
1209 }
1210 
1211 
1212 // OpenGL 3.0 core functions
glIsVertexArray(GLuint array)1213 inline GLboolean QOpenGLFunctions_3_1::glIsVertexArray(GLuint array)
1214 {
1215     return d_3_0_Core->f.IsVertexArray(array);
1216 }
1217 
glGenVertexArrays(GLsizei n,GLuint * arrays)1218 inline void QOpenGLFunctions_3_1::glGenVertexArrays(GLsizei n, GLuint *arrays)
1219 {
1220     d_3_0_Core->f.GenVertexArrays(n, arrays);
1221 }
1222 
glDeleteVertexArrays(GLsizei n,const GLuint * arrays)1223 inline void QOpenGLFunctions_3_1::glDeleteVertexArrays(GLsizei n, const GLuint *arrays)
1224 {
1225     d_3_0_Core->f.DeleteVertexArrays(n, arrays);
1226 }
1227 
glBindVertexArray(GLuint array)1228 inline void QOpenGLFunctions_3_1::glBindVertexArray(GLuint array)
1229 {
1230     d_3_0_Core->f.BindVertexArray(array);
1231 }
1232 
glFlushMappedBufferRange(GLenum target,GLintptr offset,GLsizeiptr length)1233 inline void QOpenGLFunctions_3_1::glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length)
1234 {
1235     d_3_0_Core->f.FlushMappedBufferRange(target, offset, length);
1236 }
1237 
glMapBufferRange(GLenum target,GLintptr offset,GLsizeiptr length,GLbitfield access)1238 inline GLvoid* QOpenGLFunctions_3_1::glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access)
1239 {
1240     return d_3_0_Core->f.MapBufferRange(target, offset, length, access);
1241 }
1242 
glFramebufferTextureLayer(GLenum target,GLenum attachment,GLuint texture,GLint level,GLint layer)1243 inline void QOpenGLFunctions_3_1::glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)
1244 {
1245     d_3_0_Core->f.FramebufferTextureLayer(target, attachment, texture, level, layer);
1246 }
1247 
glRenderbufferStorageMultisample(GLenum target,GLsizei samples,GLenum internalformat,GLsizei width,GLsizei height)1248 inline void QOpenGLFunctions_3_1::glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
1249 {
1250     d_3_0_Core->f.RenderbufferStorageMultisample(target, samples, internalformat, width, height);
1251 }
1252 
glBlitFramebuffer(GLint srcX0,GLint srcY0,GLint srcX1,GLint srcY1,GLint dstX0,GLint dstY0,GLint dstX1,GLint dstY1,GLbitfield mask,GLenum filter)1253 inline void QOpenGLFunctions_3_1::glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)
1254 {
1255     d_3_0_Core->f.BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
1256 }
1257 
glGenerateMipmap(GLenum target)1258 inline void QOpenGLFunctions_3_1::glGenerateMipmap(GLenum target)
1259 {
1260     d_3_0_Core->f.GenerateMipmap(target);
1261 }
1262 
glGetFramebufferAttachmentParameteriv(GLenum target,GLenum attachment,GLenum pname,GLint * params)1263 inline void QOpenGLFunctions_3_1::glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params)
1264 {
1265     d_3_0_Core->f.GetFramebufferAttachmentParameteriv(target, attachment, pname, params);
1266 }
1267 
glFramebufferRenderbuffer(GLenum target,GLenum attachment,GLenum renderbuffertarget,GLuint renderbuffer)1268 inline void QOpenGLFunctions_3_1::glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
1269 {
1270     d_3_0_Core->f.FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer);
1271 }
1272 
glFramebufferTexture3D(GLenum target,GLenum attachment,GLenum textarget,GLuint texture,GLint level,GLint zoffset)1273 inline void QOpenGLFunctions_3_1::glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset)
1274 {
1275     d_3_0_Core->f.FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset);
1276 }
1277 
glFramebufferTexture2D(GLenum target,GLenum attachment,GLenum textarget,GLuint texture,GLint level)1278 inline void QOpenGLFunctions_3_1::glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
1279 {
1280     d_3_0_Core->f.FramebufferTexture2D(target, attachment, textarget, texture, level);
1281 }
1282 
glFramebufferTexture1D(GLenum target,GLenum attachment,GLenum textarget,GLuint texture,GLint level)1283 inline void QOpenGLFunctions_3_1::glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
1284 {
1285     d_3_0_Core->f.FramebufferTexture1D(target, attachment, textarget, texture, level);
1286 }
1287 
glCheckFramebufferStatus(GLenum target)1288 inline GLenum QOpenGLFunctions_3_1::glCheckFramebufferStatus(GLenum target)
1289 {
1290     return d_3_0_Core->f.CheckFramebufferStatus(target);
1291 }
1292 
glGenFramebuffers(GLsizei n,GLuint * framebuffers)1293 inline void QOpenGLFunctions_3_1::glGenFramebuffers(GLsizei n, GLuint *framebuffers)
1294 {
1295     d_3_0_Core->f.GenFramebuffers(n, framebuffers);
1296 }
1297 
glDeleteFramebuffers(GLsizei n,const GLuint * framebuffers)1298 inline void QOpenGLFunctions_3_1::glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers)
1299 {
1300     d_3_0_Core->f.DeleteFramebuffers(n, framebuffers);
1301 }
1302 
glBindFramebuffer(GLenum target,GLuint framebuffer)1303 inline void QOpenGLFunctions_3_1::glBindFramebuffer(GLenum target, GLuint framebuffer)
1304 {
1305     d_3_0_Core->f.BindFramebuffer(target, framebuffer);
1306 }
1307 
glIsFramebuffer(GLuint framebuffer)1308 inline GLboolean QOpenGLFunctions_3_1::glIsFramebuffer(GLuint framebuffer)
1309 {
1310     return d_3_0_Core->f.IsFramebuffer(framebuffer);
1311 }
1312 
glGetRenderbufferParameteriv(GLenum target,GLenum pname,GLint * params)1313 inline void QOpenGLFunctions_3_1::glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params)
1314 {
1315     d_3_0_Core->f.GetRenderbufferParameteriv(target, pname, params);
1316 }
1317 
glRenderbufferStorage(GLenum target,GLenum internalformat,GLsizei width,GLsizei height)1318 inline void QOpenGLFunctions_3_1::glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)
1319 {
1320     d_3_0_Core->f.RenderbufferStorage(target, internalformat, width, height);
1321 }
1322 
glGenRenderbuffers(GLsizei n,GLuint * renderbuffers)1323 inline void QOpenGLFunctions_3_1::glGenRenderbuffers(GLsizei n, GLuint *renderbuffers)
1324 {
1325     d_3_0_Core->f.GenRenderbuffers(n, renderbuffers);
1326 }
1327 
glDeleteRenderbuffers(GLsizei n,const GLuint * renderbuffers)1328 inline void QOpenGLFunctions_3_1::glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers)
1329 {
1330     d_3_0_Core->f.DeleteRenderbuffers(n, renderbuffers);
1331 }
1332 
glBindRenderbuffer(GLenum target,GLuint renderbuffer)1333 inline void QOpenGLFunctions_3_1::glBindRenderbuffer(GLenum target, GLuint renderbuffer)
1334 {
1335     d_3_0_Core->f.BindRenderbuffer(target, renderbuffer);
1336 }
1337 
glIsRenderbuffer(GLuint renderbuffer)1338 inline GLboolean QOpenGLFunctions_3_1::glIsRenderbuffer(GLuint renderbuffer)
1339 {
1340     return d_3_0_Core->f.IsRenderbuffer(renderbuffer);
1341 }
1342 
glGetStringi(GLenum name,GLuint index)1343 inline const GLubyte * QOpenGLFunctions_3_1::glGetStringi(GLenum name, GLuint index)
1344 {
1345     return d_3_0_Core->f.GetStringi(name, index);
1346 }
1347 
glClearBufferfi(GLenum buffer,GLint drawbuffer,GLfloat depth,GLint stencil)1348 inline void QOpenGLFunctions_3_1::glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil)
1349 {
1350     d_3_0_Core->f.ClearBufferfi(buffer, drawbuffer, depth, stencil);
1351 }
1352 
glClearBufferfv(GLenum buffer,GLint drawbuffer,const GLfloat * value)1353 inline void QOpenGLFunctions_3_1::glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value)
1354 {
1355     d_3_0_Core->f.ClearBufferfv(buffer, drawbuffer, value);
1356 }
1357 
glClearBufferuiv(GLenum buffer,GLint drawbuffer,const GLuint * value)1358 inline void QOpenGLFunctions_3_1::glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value)
1359 {
1360     d_3_0_Core->f.ClearBufferuiv(buffer, drawbuffer, value);
1361 }
1362 
glClearBufferiv(GLenum buffer,GLint drawbuffer,const GLint * value)1363 inline void QOpenGLFunctions_3_1::glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value)
1364 {
1365     d_3_0_Core->f.ClearBufferiv(buffer, drawbuffer, value);
1366 }
1367 
glGetTexParameterIuiv(GLenum target,GLenum pname,GLuint * params)1368 inline void QOpenGLFunctions_3_1::glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params)
1369 {
1370     d_3_0_Core->f.GetTexParameterIuiv(target, pname, params);
1371 }
1372 
glGetTexParameterIiv(GLenum target,GLenum pname,GLint * params)1373 inline void QOpenGLFunctions_3_1::glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params)
1374 {
1375     d_3_0_Core->f.GetTexParameterIiv(target, pname, params);
1376 }
1377 
glTexParameterIuiv(GLenum target,GLenum pname,const GLuint * params)1378 inline void QOpenGLFunctions_3_1::glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params)
1379 {
1380     d_3_0_Core->f.TexParameterIuiv(target, pname, params);
1381 }
1382 
glTexParameterIiv(GLenum target,GLenum pname,const GLint * params)1383 inline void QOpenGLFunctions_3_1::glTexParameterIiv(GLenum target, GLenum pname, const GLint *params)
1384 {
1385     d_3_0_Core->f.TexParameterIiv(target, pname, params);
1386 }
1387 
glUniform4uiv(GLint location,GLsizei count,const GLuint * value)1388 inline void QOpenGLFunctions_3_1::glUniform4uiv(GLint location, GLsizei count, const GLuint *value)
1389 {
1390     d_3_0_Core->f.Uniform4uiv(location, count, value);
1391 }
1392 
glUniform3uiv(GLint location,GLsizei count,const GLuint * value)1393 inline void QOpenGLFunctions_3_1::glUniform3uiv(GLint location, GLsizei count, const GLuint *value)
1394 {
1395     d_3_0_Core->f.Uniform3uiv(location, count, value);
1396 }
1397 
glUniform2uiv(GLint location,GLsizei count,const GLuint * value)1398 inline void QOpenGLFunctions_3_1::glUniform2uiv(GLint location, GLsizei count, const GLuint *value)
1399 {
1400     d_3_0_Core->f.Uniform2uiv(location, count, value);
1401 }
1402 
glUniform1uiv(GLint location,GLsizei count,const GLuint * value)1403 inline void QOpenGLFunctions_3_1::glUniform1uiv(GLint location, GLsizei count, const GLuint *value)
1404 {
1405     d_3_0_Core->f.Uniform1uiv(location, count, value);
1406 }
1407 
glUniform4ui(GLint location,GLuint v0,GLuint v1,GLuint v2,GLuint v3)1408 inline void QOpenGLFunctions_3_1::glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)
1409 {
1410     d_3_0_Core->f.Uniform4ui(location, v0, v1, v2, v3);
1411 }
1412 
glUniform3ui(GLint location,GLuint v0,GLuint v1,GLuint v2)1413 inline void QOpenGLFunctions_3_1::glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2)
1414 {
1415     d_3_0_Core->f.Uniform3ui(location, v0, v1, v2);
1416 }
1417 
glUniform2ui(GLint location,GLuint v0,GLuint v1)1418 inline void QOpenGLFunctions_3_1::glUniform2ui(GLint location, GLuint v0, GLuint v1)
1419 {
1420     d_3_0_Core->f.Uniform2ui(location, v0, v1);
1421 }
1422 
glUniform1ui(GLint location,GLuint v0)1423 inline void QOpenGLFunctions_3_1::glUniform1ui(GLint location, GLuint v0)
1424 {
1425     d_3_0_Core->f.Uniform1ui(location, v0);
1426 }
1427 
glGetFragDataLocation(GLuint program,const GLchar * name)1428 inline GLint QOpenGLFunctions_3_1::glGetFragDataLocation(GLuint program, const GLchar *name)
1429 {
1430     return d_3_0_Core->f.GetFragDataLocation(program, name);
1431 }
1432 
glBindFragDataLocation(GLuint program,GLuint color,const GLchar * name)1433 inline void QOpenGLFunctions_3_1::glBindFragDataLocation(GLuint program, GLuint color, const GLchar *name)
1434 {
1435     d_3_0_Core->f.BindFragDataLocation(program, color, name);
1436 }
1437 
glGetUniformuiv(GLuint program,GLint location,GLuint * params)1438 inline void QOpenGLFunctions_3_1::glGetUniformuiv(GLuint program, GLint location, GLuint *params)
1439 {
1440     d_3_0_Core->f.GetUniformuiv(program, location, params);
1441 }
1442 
glGetVertexAttribIuiv(GLuint index,GLenum pname,GLuint * params)1443 inline void QOpenGLFunctions_3_1::glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params)
1444 {
1445     d_3_0_Core->f.GetVertexAttribIuiv(index, pname, params);
1446 }
1447 
glGetVertexAttribIiv(GLuint index,GLenum pname,GLint * params)1448 inline void QOpenGLFunctions_3_1::glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params)
1449 {
1450     d_3_0_Core->f.GetVertexAttribIiv(index, pname, params);
1451 }
1452 
glVertexAttribIPointer(GLuint index,GLint size,GLenum type,GLsizei stride,const GLvoid * pointer)1453 inline void QOpenGLFunctions_3_1::glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
1454 {
1455     d_3_0_Core->f.VertexAttribIPointer(index, size, type, stride, pointer);
1456 }
1457 
glEndConditionalRender()1458 inline void QOpenGLFunctions_3_1::glEndConditionalRender()
1459 {
1460     d_3_0_Core->f.EndConditionalRender();
1461 }
1462 
glBeginConditionalRender(GLuint id,GLenum mode)1463 inline void QOpenGLFunctions_3_1::glBeginConditionalRender(GLuint id, GLenum mode)
1464 {
1465     d_3_0_Core->f.BeginConditionalRender(id, mode);
1466 }
1467 
glClampColor(GLenum target,GLenum clamp)1468 inline void QOpenGLFunctions_3_1::glClampColor(GLenum target, GLenum clamp)
1469 {
1470     d_3_0_Core->f.ClampColor(target, clamp);
1471 }
1472 
glGetTransformFeedbackVarying(GLuint program,GLuint index,GLsizei bufSize,GLsizei * length,GLsizei * size,GLenum * type,GLchar * name)1473 inline void QOpenGLFunctions_3_1::glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name)
1474 {
1475     d_3_0_Core->f.GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name);
1476 }
1477 
glTransformFeedbackVaryings(GLuint program,GLsizei count,const GLchar * const * varyings,GLenum bufferMode)1478 inline void QOpenGLFunctions_3_1::glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar* const *varyings, GLenum bufferMode)
1479 {
1480     d_3_0_Core->f.TransformFeedbackVaryings(program, count, varyings, bufferMode);
1481 }
1482 
glBindBufferBase(GLenum target,GLuint index,GLuint buffer)1483 inline void QOpenGLFunctions_3_1::glBindBufferBase(GLenum target, GLuint index, GLuint buffer)
1484 {
1485     d_3_0_Core->f.BindBufferBase(target, index, buffer);
1486 }
1487 
glBindBufferRange(GLenum target,GLuint index,GLuint buffer,GLintptr offset,GLsizeiptr size)1488 inline void QOpenGLFunctions_3_1::glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size)
1489 {
1490     d_3_0_Core->f.BindBufferRange(target, index, buffer, offset, size);
1491 }
1492 
glEndTransformFeedback()1493 inline void QOpenGLFunctions_3_1::glEndTransformFeedback()
1494 {
1495     d_3_0_Core->f.EndTransformFeedback();
1496 }
1497 
glBeginTransformFeedback(GLenum primitiveMode)1498 inline void QOpenGLFunctions_3_1::glBeginTransformFeedback(GLenum primitiveMode)
1499 {
1500     d_3_0_Core->f.BeginTransformFeedback(primitiveMode);
1501 }
1502 
glIsEnabledi(GLenum target,GLuint index)1503 inline GLboolean QOpenGLFunctions_3_1::glIsEnabledi(GLenum target, GLuint index)
1504 {
1505     return d_3_0_Core->f.IsEnabledi(target, index);
1506 }
1507 
glDisablei(GLenum target,GLuint index)1508 inline void QOpenGLFunctions_3_1::glDisablei(GLenum target, GLuint index)
1509 {
1510     d_3_0_Core->f.Disablei(target, index);
1511 }
1512 
glEnablei(GLenum target,GLuint index)1513 inline void QOpenGLFunctions_3_1::glEnablei(GLenum target, GLuint index)
1514 {
1515     d_3_0_Core->f.Enablei(target, index);
1516 }
1517 
glGetIntegeri_v(GLenum target,GLuint index,GLint * data)1518 inline void QOpenGLFunctions_3_1::glGetIntegeri_v(GLenum target, GLuint index, GLint *data)
1519 {
1520     d_3_0_Core->f.GetIntegeri_v(target, index, data);
1521 }
1522 
glGetBooleani_v(GLenum target,GLuint index,GLboolean * data)1523 inline void QOpenGLFunctions_3_1::glGetBooleani_v(GLenum target, GLuint index, GLboolean *data)
1524 {
1525     d_3_0_Core->f.GetBooleani_v(target, index, data);
1526 }
1527 
glColorMaski(GLuint index,GLboolean r,GLboolean g,GLboolean b,GLboolean a)1528 inline void QOpenGLFunctions_3_1::glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a)
1529 {
1530     d_3_0_Core->f.ColorMaski(index, r, g, b, a);
1531 }
1532 
1533 
1534 // OpenGL 3.1 core functions
glCopyBufferSubData(GLenum readTarget,GLenum writeTarget,GLintptr readOffset,GLintptr writeOffset,GLsizeiptr size)1535 inline void QOpenGLFunctions_3_1::glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size)
1536 {
1537     d_3_1_Core->f.CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size);
1538 }
1539 
glUniformBlockBinding(GLuint program,GLuint uniformBlockIndex,GLuint uniformBlockBinding)1540 inline void QOpenGLFunctions_3_1::glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding)
1541 {
1542     d_3_1_Core->f.UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding);
1543 }
1544 
glGetActiveUniformBlockName(GLuint program,GLuint uniformBlockIndex,GLsizei bufSize,GLsizei * length,GLchar * uniformBlockName)1545 inline void QOpenGLFunctions_3_1::glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName)
1546 {
1547     d_3_1_Core->f.GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName);
1548 }
1549 
glGetActiveUniformBlockiv(GLuint program,GLuint uniformBlockIndex,GLenum pname,GLint * params)1550 inline void QOpenGLFunctions_3_1::glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params)
1551 {
1552     d_3_1_Core->f.GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params);
1553 }
1554 
glGetUniformBlockIndex(GLuint program,const GLchar * uniformBlockName)1555 inline GLuint QOpenGLFunctions_3_1::glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName)
1556 {
1557     return d_3_1_Core->f.GetUniformBlockIndex(program, uniformBlockName);
1558 }
1559 
glGetActiveUniformName(GLuint program,GLuint uniformIndex,GLsizei bufSize,GLsizei * length,GLchar * uniformName)1560 inline void QOpenGLFunctions_3_1::glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName)
1561 {
1562     d_3_1_Core->f.GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName);
1563 }
1564 
glGetActiveUniformsiv(GLuint program,GLsizei uniformCount,const GLuint * uniformIndices,GLenum pname,GLint * params)1565 inline void QOpenGLFunctions_3_1::glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params)
1566 {
1567     d_3_1_Core->f.GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params);
1568 }
1569 
glGetUniformIndices(GLuint program,GLsizei uniformCount,const GLchar * const * uniformNames,GLuint * uniformIndices)1570 inline void QOpenGLFunctions_3_1::glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar* const *uniformNames, GLuint *uniformIndices)
1571 {
1572     d_3_1_Core->f.GetUniformIndices(program, uniformCount, uniformNames, uniformIndices);
1573 }
1574 
glPrimitiveRestartIndex(GLuint index)1575 inline void QOpenGLFunctions_3_1::glPrimitiveRestartIndex(GLuint index)
1576 {
1577     d_3_1_Core->f.PrimitiveRestartIndex(index);
1578 }
1579 
glTexBuffer(GLenum target,GLenum internalformat,GLuint buffer)1580 inline void QOpenGLFunctions_3_1::glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer)
1581 {
1582     d_3_1_Core->f.TexBuffer(target, internalformat, buffer);
1583 }
1584 
glDrawElementsInstanced(GLenum mode,GLsizei count,GLenum type,const GLvoid * indices,GLsizei instancecount)1585 inline void QOpenGLFunctions_3_1::glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount)
1586 {
1587     d_3_1_Core->f.DrawElementsInstanced(mode, count, type, indices, instancecount);
1588 }
1589 
glDrawArraysInstanced(GLenum mode,GLint first,GLsizei count,GLsizei instancecount)1590 inline void QOpenGLFunctions_3_1::glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount)
1591 {
1592     d_3_1_Core->f.DrawArraysInstanced(mode, first, count, instancecount);
1593 }
1594 
1595 
1596 
1597 QT_END_NAMESPACE
1598 
1599 #endif // QT_NO_OPENGL && !QT_OPENGL_ES_2
1600 
1601 #endif
1602