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
60QT_BEGIN_NAMESPACE
61
62class Q_GUI_EXPORT QOpenGLFunctions_3_1 : public QAbstractOpenGLFunctions
63{
64public:
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
334private:
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
353inline 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
358inline void QOpenGLFunctions_3_1::glDepthRange(GLdouble nearVal, GLdouble farVal)
359{
360 d_1_0_Core->f.DepthRange(nearVal, farVal);
361}
362
363inline GLboolean QOpenGLFunctions_3_1::glIsEnabled(GLenum cap)
364{
365 return d_1_0_Core->f.IsEnabled(cap);
366}
367
368inline 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
373inline 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
378inline void QOpenGLFunctions_3_1::glGetTexParameteriv(GLenum target, GLenum pname, GLint *params)
379{
380 d_1_0_Core->f.GetTexParameteriv(target, pname, params);
381}
382
383inline void QOpenGLFunctions_3_1::glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params)
384{
385 d_1_0_Core->f.GetTexParameterfv(target, pname, params);
386}
387
388inline 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
393inline const GLubyte * QOpenGLFunctions_3_1::glGetString(GLenum name)
394{
395 return d_1_0_Core->f.GetString(name);
396}
397
398inline void QOpenGLFunctions_3_1::glGetIntegerv(GLenum pname, GLint *params)
399{
400 d_1_0_Core->f.GetIntegerv(pname, params);
401}
402
403inline void QOpenGLFunctions_3_1::glGetFloatv(GLenum pname, GLfloat *params)
404{
405 d_1_0_Core->f.GetFloatv(pname, params);
406}
407
408inline GLenum QOpenGLFunctions_3_1::glGetError()
409{
410 return d_1_0_Core->f.GetError();
411}
412
413inline void QOpenGLFunctions_3_1::glGetDoublev(GLenum pname, GLdouble *params)
414{
415 d_1_0_Core->f.GetDoublev(pname, params);
416}
417
418inline void QOpenGLFunctions_3_1::glGetBooleanv(GLenum pname, GLboolean *params)
419{
420 d_1_0_Core->f.GetBooleanv(pname, params);
421}
422
423inline 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
428inline void QOpenGLFunctions_3_1::glReadBuffer(GLenum mode)
429{
430 d_1_0_Core->f.ReadBuffer(mode);
431}
432
433inline void QOpenGLFunctions_3_1::glPixelStorei(GLenum pname, GLint param)
434{
435 d_1_0_Core->f.PixelStorei(pname, param);
436}
437
438inline void QOpenGLFunctions_3_1::glPixelStoref(GLenum pname, GLfloat param)
439{
440 d_1_0_Core->f.PixelStoref(pname, param);
441}
442
443inline void QOpenGLFunctions_3_1::glDepthFunc(GLenum func)
444{
445 d_1_0_Core->f.DepthFunc(func);
446}
447
448inline void QOpenGLFunctions_3_1::glStencilOp(GLenum fail, GLenum zfail, GLenum zpass)
449{
450 d_1_0_Core->f.StencilOp(fail, zfail, zpass);
451}
452
453inline void QOpenGLFunctions_3_1::glStencilFunc(GLenum func, GLint ref, GLuint mask)
454{
455 d_1_0_Core->f.StencilFunc(func, ref, mask);
456}
457
458inline void QOpenGLFunctions_3_1::glLogicOp(GLenum opcode)
459{
460 d_1_0_Core->f.LogicOp(opcode);
461}
462
463inline void QOpenGLFunctions_3_1::glBlendFunc(GLenum sfactor, GLenum dfactor)
464{
465 d_1_0_Core->f.BlendFunc(sfactor, dfactor);
466}
467
468inline void QOpenGLFunctions_3_1::glFlush()
469{
470 d_1_0_Core->f.Flush();
471}
472
473inline void QOpenGLFunctions_3_1::glFinish()
474{
475 d_1_0_Core->f.Finish();
476}
477
478inline void QOpenGLFunctions_3_1::glEnable(GLenum cap)
479{
480 d_1_0_Core->f.Enable(cap);
481}
482
483inline void QOpenGLFunctions_3_1::glDisable(GLenum cap)
484{
485 d_1_0_Core->f.Disable(cap);
486}
487
488inline void QOpenGLFunctions_3_1::glDepthMask(GLboolean flag)
489{
490 d_1_0_Core->f.DepthMask(flag);
491}
492
493inline 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
498inline void QOpenGLFunctions_3_1::glStencilMask(GLuint mask)
499{
500 d_1_0_Core->f.StencilMask(mask);
501}
502
503inline void QOpenGLFunctions_3_1::glClearDepth(GLdouble depth)
504{
505 d_1_0_Core->f.ClearDepth(depth);
506}
507
508inline void QOpenGLFunctions_3_1::glClearStencil(GLint s)
509{
510 d_1_0_Core->f.ClearStencil(s);
511}
512
513inline 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
518inline void QOpenGLFunctions_3_1::glClear(GLbitfield mask)
519{
520 d_1_0_Core->f.Clear(mask);
521}
522
523inline void QOpenGLFunctions_3_1::glDrawBuffer(GLenum mode)
524{
525 d_1_0_Core->f.DrawBuffer(mode);
526}
527
528inline 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
533inline 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
538inline 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
543inline void QOpenGLFunctions_3_1::glTexParameteri(GLenum target, GLenum pname, GLint param)
544{
545 d_1_0_Core->f.TexParameteri(target, pname, param);
546}
547
548inline 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
553inline void QOpenGLFunctions_3_1::glTexParameterf(GLenum target, GLenum pname, GLfloat param)
554{
555 d_1_0_Core->f.TexParameterf(target, pname, param);
556}
557
558inline 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
563inline void QOpenGLFunctions_3_1::glPolygonMode(GLenum face, GLenum mode)
564{
565 d_1_0_Core->f.PolygonMode(face, mode);
566}
567
568inline void QOpenGLFunctions_3_1::glPointSize(GLfloat size)
569{
570 d_1_0_Core->f.PointSize(size);
571}
572
573inline void QOpenGLFunctions_3_1::glLineWidth(GLfloat width)
574{
575 d_1_0_Core->f.LineWidth(width);
576}
577
578inline void QOpenGLFunctions_3_1::glHint(GLenum target, GLenum mode)
579{
580 d_1_0_Core->f.Hint(target, mode);
581}
582
583inline void QOpenGLFunctions_3_1::glFrontFace(GLenum mode)
584{
585 d_1_0_Core->f.FrontFace(mode);
586}
587
588inline 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
595inline void QOpenGLFunctions_3_1::glIndexubv(const GLubyte *c)
596{
597 Q_UNUSED(c);
598 QOPENGL_DEPRECATEDFUNCTION;
599}
600
601inline void QOpenGLFunctions_3_1::glIndexub(GLubyte c)
602{
603 Q_UNUSED(c);
604 QOPENGL_DEPRECATEDFUNCTION;
605}
606
607inline GLboolean QOpenGLFunctions_3_1::glIsTexture(GLuint texture)
608{
609 return d_1_1_Core->f.IsTexture(texture);
610}
611
612inline void QOpenGLFunctions_3_1::glGenTextures(GLsizei n, GLuint *textures)
613{
614 d_1_1_Core->f.GenTextures(n, textures);
615}
616
617inline void QOpenGLFunctions_3_1::glDeleteTextures(GLsizei n, const GLuint *textures)
618{
619 d_1_1_Core->f.DeleteTextures(n, textures);
620}
621
622inline void QOpenGLFunctions_3_1::glBindTexture(GLenum target, GLuint texture)
623{
624 d_1_1_Core->f.BindTexture(target, texture);
625}
626
627inline 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
632inline 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
637inline 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
642inline 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
647inline 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
652inline 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
657inline void QOpenGLFunctions_3_1::glPolygonOffset(GLfloat factor, GLfloat units)
658{
659 d_1_1_Core->f.PolygonOffset(factor, units);
660}
661
662inline void QOpenGLFunctions_3_1::glGetPointerv(GLenum pname, GLvoid* *params)
663{
664 Q_UNUSED(pname);
665 Q_UNUSED(params);
666 QOPENGL_DEPRECATEDFUNCTION;
667}
668
669inline 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
674inline 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
681inline 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
686inline 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
691inline 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
696inline 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
701inline void QOpenGLFunctions_3_1::glBlendEquation(GLenum mode)
702{
703 d_1_2_Core->f.BlendEquation(mode);
704}
705
706inline 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
713inline void QOpenGLFunctions_3_1::glGetCompressedTexImage(GLenum target, GLint level, GLvoid *img)
714{
715 d_1_3_Core->f.GetCompressedTexImage(target, level, img);
716}
717
718inline 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
723inline 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
728inline 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
733inline 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
738inline 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
743inline 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
748inline void QOpenGLFunctions_3_1::glSampleCoverage(GLfloat value, GLboolean invert)
749{
750 d_1_3_Core->f.SampleCoverage(value, invert);
751}
752
753inline 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
760inline void QOpenGLFunctions_3_1::glPointParameteriv(GLenum pname, const GLint *params)
761{
762 d_1_4_Core->f.PointParameteriv(pname, params);
763}
764
765inline void QOpenGLFunctions_3_1::glPointParameteri(GLenum pname, GLint param)
766{
767 d_1_4_Core->f.PointParameteri(pname, param);
768}
769
770inline void QOpenGLFunctions_3_1::glPointParameterfv(GLenum pname, const GLfloat *params)
771{
772 d_1_4_Core->f.PointParameterfv(pname, params);
773}
774
775inline void QOpenGLFunctions_3_1::glPointParameterf(GLenum pname, GLfloat param)
776{
777 d_1_4_Core->f.PointParameterf(pname, param);
778}
779
780inline 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
785inline 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
790inline 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
797inline void QOpenGLFunctions_3_1::glGetBufferPointerv(GLenum target, GLenum pname, GLvoid* *params)
798{
799 d_1_5_Core->f.GetBufferPointerv(target, pname, params);
800}
801
802inline void QOpenGLFunctions_3_1::glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params)
803{
804 d_1_5_Core->f.GetBufferParameteriv(target, pname, params);
805}
806
807inline GLboolean QOpenGLFunctions_3_1::glUnmapBuffer(GLenum target)
808{
809 return d_1_5_Core->f.UnmapBuffer(target);
810}
811
812inline GLvoid* QOpenGLFunctions_3_1::glMapBuffer(GLenum target, GLenum access)
813{
814 return d_1_5_Core->f.MapBuffer(target, access);
815}
816
817inline 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
822inline 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
827inline 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
832inline GLboolean QOpenGLFunctions_3_1::glIsBuffer(GLuint buffer)
833{
834 return d_1_5_Core->f.IsBuffer(buffer);
835}
836
837inline void QOpenGLFunctions_3_1::glGenBuffers(GLsizei n, GLuint *buffers)
838{
839 d_1_5_Core->f.GenBuffers(n, buffers);
840}
841
842inline void QOpenGLFunctions_3_1::glDeleteBuffers(GLsizei n, const GLuint *buffers)
843{
844 d_1_5_Core->f.DeleteBuffers(n, buffers);
845}
846
847inline void QOpenGLFunctions_3_1::glBindBuffer(GLenum target, GLuint buffer)
848{
849 d_1_5_Core->f.BindBuffer(target, buffer);
850}
851
852inline void QOpenGLFunctions_3_1::glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params)
853{
854 d_1_5_Core->f.GetQueryObjectuiv(id, pname, params);
855}
856
857inline void QOpenGLFunctions_3_1::glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params)
858{
859 d_1_5_Core->f.GetQueryObjectiv(id, pname, params);
860}
861
862inline void QOpenGLFunctions_3_1::glGetQueryiv(GLenum target, GLenum pname, GLint *params)
863{
864 d_1_5_Core->f.GetQueryiv(target, pname, params);
865}
866
867inline void QOpenGLFunctions_3_1::glEndQuery(GLenum target)
868{
869 d_1_5_Core->f.EndQuery(target);
870}
871
872inline void QOpenGLFunctions_3_1::glBeginQuery(GLenum target, GLuint id)
873{
874 d_1_5_Core->f.BeginQuery(target, id);
875}
876
877inline GLboolean QOpenGLFunctions_3_1::glIsQuery(GLuint id)
878{
879 return d_1_5_Core->f.IsQuery(id);
880}
881
882inline void QOpenGLFunctions_3_1::glDeleteQueries(GLsizei n, const GLuint *ids)
883{
884 d_1_5_Core->f.DeleteQueries(n, ids);
885}
886
887inline 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
894inline 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
899inline void QOpenGLFunctions_3_1::glValidateProgram(GLuint program)
900{
901 d_2_0_Core->f.ValidateProgram(program);
902}
903
904inline 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
909inline 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
914inline 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
919inline 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
924inline 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
929inline 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
934inline 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
939inline 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
944inline 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
949inline 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
954inline 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
959inline 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
964inline 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
969inline void QOpenGLFunctions_3_1::glUniform2i(GLint location, GLint v0, GLint v1)
970{
971 d_2_0_Core->f.Uniform2i(location, v0, v1);
972}
973
974inline void QOpenGLFunctions_3_1::glUniform1i(GLint location, GLint v0)
975{
976 d_2_0_Core->f.Uniform1i(location, v0);
977}
978
979inline 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
984inline 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
989inline void QOpenGLFunctions_3_1::glUniform2f(GLint location, GLfloat v0, GLfloat v1)
990{
991 d_2_0_Core->f.Uniform2f(location, v0, v1);
992}
993
994inline void QOpenGLFunctions_3_1::glUniform1f(GLint location, GLfloat v0)
995{
996 d_2_0_Core->f.Uniform1f(location, v0);
997}
998
999inline void QOpenGLFunctions_3_1::glUseProgram(GLuint program)
1000{
1001 d_2_0_Core->f.UseProgram(program);
1002}
1003
1004inline 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
1009inline void QOpenGLFunctions_3_1::glLinkProgram(GLuint program)
1010{
1011 d_2_0_Core->f.LinkProgram(program);
1012}
1013
1014inline GLboolean QOpenGLFunctions_3_1::glIsShader(GLuint shader)
1015{
1016 return d_2_0_Core->f.IsShader(shader);
1017}
1018
1019inline GLboolean QOpenGLFunctions_3_1::glIsProgram(GLuint program)
1020{
1021 return d_2_0_Core->f.IsProgram(program);
1022}
1023
1024inline void QOpenGLFunctions_3_1::glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid* *pointer)
1025{
1026 d_2_0_Core->f.GetVertexAttribPointerv(index, pname, pointer);
1027}
1028
1029inline void QOpenGLFunctions_3_1::glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params)
1030{
1031 d_2_0_Core->f.GetVertexAttribiv(index, pname, params);
1032}
1033
1034inline void QOpenGLFunctions_3_1::glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params)
1035{
1036 d_2_0_Core->f.GetVertexAttribfv(index, pname, params);
1037}
1038
1039inline void QOpenGLFunctions_3_1::glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params)
1040{
1041 d_2_0_Core->f.GetVertexAttribdv(index, pname, params);
1042}
1043
1044inline void QOpenGLFunctions_3_1::glGetUniformiv(GLuint program, GLint location, GLint *params)
1045{
1046 d_2_0_Core->f.GetUniformiv(program, location, params);
1047}
1048
1049inline void QOpenGLFunctions_3_1::glGetUniformfv(GLuint program, GLint location, GLfloat *params)
1050{
1051 d_2_0_Core->f.GetUniformfv(program, location, params);
1052}
1053
1054inline GLint QOpenGLFunctions_3_1::glGetUniformLocation(GLuint program, const GLchar *name)
1055{
1056 return d_2_0_Core->f.GetUniformLocation(program, name);
1057}
1058
1059inline 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
1064inline 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
1069inline void QOpenGLFunctions_3_1::glGetShaderiv(GLuint shader, GLenum pname, GLint *params)
1070{
1071 d_2_0_Core->f.GetShaderiv(shader, pname, params);
1072}
1073
1074inline 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
1079inline void QOpenGLFunctions_3_1::glGetProgramiv(GLuint program, GLenum pname, GLint *params)
1080{
1081 d_2_0_Core->f.GetProgramiv(program, pname, params);
1082}
1083
1084inline GLint QOpenGLFunctions_3_1::glGetAttribLocation(GLuint program, const GLchar *name)
1085{
1086 return d_2_0_Core->f.GetAttribLocation(program, name);
1087}
1088
1089inline 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
1094inline 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
1099inline 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
1104inline void QOpenGLFunctions_3_1::glEnableVertexAttribArray(GLuint index)
1105{
1106 d_2_0_Core->f.EnableVertexAttribArray(index);
1107}
1108
1109inline void QOpenGLFunctions_3_1::glDisableVertexAttribArray(GLuint index)
1110{
1111 d_2_0_Core->f.DisableVertexAttribArray(index);
1112}
1113
1114inline void QOpenGLFunctions_3_1::glDetachShader(GLuint program, GLuint shader)
1115{
1116 d_2_0_Core->f.DetachShader(program, shader);
1117}
1118
1119inline void QOpenGLFunctions_3_1::glDeleteShader(GLuint shader)
1120{
1121 d_2_0_Core->f.DeleteShader(shader);
1122}
1123
1124inline void QOpenGLFunctions_3_1::glDeleteProgram(GLuint program)
1125{
1126 d_2_0_Core->f.DeleteProgram(program);
1127}
1128
1129inline GLuint QOpenGLFunctions_3_1::glCreateShader(GLenum type)
1130{
1131 return d_2_0_Core->f.CreateShader(type);
1132}
1133
1134inline GLuint QOpenGLFunctions_3_1::glCreateProgram()
1135{
1136 return d_2_0_Core->f.CreateProgram();
1137}
1138
1139inline void QOpenGLFunctions_3_1::glCompileShader(GLuint shader)
1140{
1141 d_2_0_Core->f.CompileShader(shader);
1142}
1143
1144inline 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
1149inline void QOpenGLFunctions_3_1::glAttachShader(GLuint program, GLuint shader)
1150{
1151 d_2_0_Core->f.AttachShader(program, shader);
1152}
1153
1154inline void QOpenGLFunctions_3_1::glStencilMaskSeparate(GLenum face, GLuint mask)
1155{
1156 d_2_0_Core->f.StencilMaskSeparate(face, mask);
1157}
1158
1159inline 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
1164inline 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
1169inline void QOpenGLFunctions_3_1::glDrawBuffers(GLsizei n, const GLenum *bufs)
1170{
1171 d_2_0_Core->f.DrawBuffers(n, bufs);
1172}
1173
1174inline 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
1181inline 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
1186inline 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
1191inline 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
1196inline 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
1201inline 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
1206inline 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
1213inline GLboolean QOpenGLFunctions_3_1::glIsVertexArray(GLuint array)
1214{
1215 return d_3_0_Core->f.IsVertexArray(array);
1216}
1217
1218inline void QOpenGLFunctions_3_1::glGenVertexArrays(GLsizei n, GLuint *arrays)
1219{
1220 d_3_0_Core->f.GenVertexArrays(n, arrays);
1221}
1222
1223inline void QOpenGLFunctions_3_1::glDeleteVertexArrays(GLsizei n, const GLuint *arrays)
1224{
1225 d_3_0_Core->f.DeleteVertexArrays(n, arrays);
1226}
1227
1228inline void QOpenGLFunctions_3_1::glBindVertexArray(GLuint array)
1229{
1230 d_3_0_Core->f.BindVertexArray(array);
1231}
1232
1233inline void QOpenGLFunctions_3_1::glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length)
1234{
1235 d_3_0_Core->f.FlushMappedBufferRange(target, offset, length);
1236}
1237
1238inline 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
1243inline 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
1248inline 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
1253inline 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
1258inline void QOpenGLFunctions_3_1::glGenerateMipmap(GLenum target)
1259{
1260 d_3_0_Core->f.GenerateMipmap(target);
1261}
1262
1263inline 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
1268inline 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
1273inline 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
1278inline 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
1283inline 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
1288inline GLenum QOpenGLFunctions_3_1::glCheckFramebufferStatus(GLenum target)
1289{
1290 return d_3_0_Core->f.CheckFramebufferStatus(target);
1291}
1292
1293inline void QOpenGLFunctions_3_1::glGenFramebuffers(GLsizei n, GLuint *framebuffers)
1294{
1295 d_3_0_Core->f.GenFramebuffers(n, framebuffers);
1296}
1297
1298inline void QOpenGLFunctions_3_1::glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers)
1299{
1300 d_3_0_Core->f.DeleteFramebuffers(n, framebuffers);
1301}
1302
1303inline void QOpenGLFunctions_3_1::glBindFramebuffer(GLenum target, GLuint framebuffer)
1304{
1305 d_3_0_Core->f.BindFramebuffer(target, framebuffer);
1306}
1307
1308inline GLboolean QOpenGLFunctions_3_1::glIsFramebuffer(GLuint framebuffer)
1309{
1310 return d_3_0_Core->f.IsFramebuffer(framebuffer);
1311}
1312
1313inline void QOpenGLFunctions_3_1::glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params)
1314{
1315 d_3_0_Core->f.GetRenderbufferParameteriv(target, pname, params);
1316}
1317
1318inline 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
1323inline void QOpenGLFunctions_3_1::glGenRenderbuffers(GLsizei n, GLuint *renderbuffers)
1324{
1325 d_3_0_Core->f.GenRenderbuffers(n, renderbuffers);
1326}
1327
1328inline void QOpenGLFunctions_3_1::glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers)
1329{
1330 d_3_0_Core->f.DeleteRenderbuffers(n, renderbuffers);
1331}
1332
1333inline void QOpenGLFunctions_3_1::glBindRenderbuffer(GLenum target, GLuint renderbuffer)
1334{
1335 d_3_0_Core->f.BindRenderbuffer(target, renderbuffer);
1336}
1337
1338inline GLboolean QOpenGLFunctions_3_1::glIsRenderbuffer(GLuint renderbuffer)
1339{
1340 return d_3_0_Core->f.IsRenderbuffer(renderbuffer);
1341}
1342
1343inline const GLubyte * QOpenGLFunctions_3_1::glGetStringi(GLenum name, GLuint index)
1344{
1345 return d_3_0_Core->f.GetStringi(name, index);
1346}
1347
1348inline 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
1353inline 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
1358inline 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
1363inline 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
1368inline void QOpenGLFunctions_3_1::glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params)
1369{
1370 d_3_0_Core->f.GetTexParameterIuiv(target, pname, params);
1371}
1372
1373inline void QOpenGLFunctions_3_1::glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params)
1374{
1375 d_3_0_Core->f.GetTexParameterIiv(target, pname, params);
1376}
1377
1378inline 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
1383inline 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
1388inline 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
1393inline 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
1398inline 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
1403inline 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
1408inline 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
1413inline 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
1418inline void QOpenGLFunctions_3_1::glUniform2ui(GLint location, GLuint v0, GLuint v1)
1419{
1420 d_3_0_Core->f.Uniform2ui(location, v0, v1);
1421}
1422
1423inline void QOpenGLFunctions_3_1::glUniform1ui(GLint location, GLuint v0)
1424{
1425 d_3_0_Core->f.Uniform1ui(location, v0);
1426}
1427
1428inline GLint QOpenGLFunctions_3_1::glGetFragDataLocation(GLuint program, const GLchar *name)
1429{
1430 return d_3_0_Core->f.GetFragDataLocation(program, name);
1431}
1432
1433inline 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
1438inline void QOpenGLFunctions_3_1::glGetUniformuiv(GLuint program, GLint location, GLuint *params)
1439{
1440 d_3_0_Core->f.GetUniformuiv(program, location, params);
1441}
1442
1443inline void QOpenGLFunctions_3_1::glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params)
1444{
1445 d_3_0_Core->f.GetVertexAttribIuiv(index, pname, params);
1446}
1447
1448inline void QOpenGLFunctions_3_1::glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params)
1449{
1450 d_3_0_Core->f.GetVertexAttribIiv(index, pname, params);
1451}
1452
1453inline 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
1458inline void QOpenGLFunctions_3_1::glEndConditionalRender()
1459{
1460 d_3_0_Core->f.EndConditionalRender();
1461}
1462
1463inline void QOpenGLFunctions_3_1::glBeginConditionalRender(GLuint id, GLenum mode)
1464{
1465 d_3_0_Core->f.BeginConditionalRender(id, mode);
1466}
1467
1468inline void QOpenGLFunctions_3_1::glClampColor(GLenum target, GLenum clamp)
1469{
1470 d_3_0_Core->f.ClampColor(target, clamp);
1471}
1472
1473inline 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
1478inline 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
1483inline void QOpenGLFunctions_3_1::glBindBufferBase(GLenum target, GLuint index, GLuint buffer)
1484{
1485 d_3_0_Core->f.BindBufferBase(target, index, buffer);
1486}
1487
1488inline 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
1493inline void QOpenGLFunctions_3_1::glEndTransformFeedback()
1494{
1495 d_3_0_Core->f.EndTransformFeedback();
1496}
1497
1498inline void QOpenGLFunctions_3_1::glBeginTransformFeedback(GLenum primitiveMode)
1499{
1500 d_3_0_Core->f.BeginTransformFeedback(primitiveMode);
1501}
1502
1503inline GLboolean QOpenGLFunctions_3_1::glIsEnabledi(GLenum target, GLuint index)
1504{
1505 return d_3_0_Core->f.IsEnabledi(target, index);
1506}
1507
1508inline void QOpenGLFunctions_3_1::glDisablei(GLenum target, GLuint index)
1509{
1510 d_3_0_Core->f.Disablei(target, index);
1511}
1512
1513inline void QOpenGLFunctions_3_1::glEnablei(GLenum target, GLuint index)
1514{
1515 d_3_0_Core->f.Enablei(target, index);
1516}
1517
1518inline 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
1523inline 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
1528inline 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
1535inline 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
1540inline void QOpenGLFunctions_3_1::glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding)
1541{
1542 d_3_1_Core->f.UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding);
1543}
1544
1545inline 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
1550inline 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
1555inline GLuint QOpenGLFunctions_3_1::glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName)
1556{
1557 return d_3_1_Core->f.GetUniformBlockIndex(program, uniformBlockName);
1558}
1559
1560inline 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
1565inline 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
1570inline 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
1575inline void QOpenGLFunctions_3_1::glPrimitiveRestartIndex(GLuint index)
1576{
1577 d_3_1_Core->f.PrimitiveRestartIndex(index);
1578}
1579
1580inline void QOpenGLFunctions_3_1::glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer)
1581{
1582 d_3_1_Core->f.TexBuffer(target, internalformat, buffer);
1583}
1584
1585inline 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
1590inline 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
1597QT_END_NAMESPACE
1598
1599#endif // QT_NO_OPENGL && !QT_OPENGL_ES_2
1600
1601#endif
1602