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 QtOpenGL 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_4_1_CORE_H
51#define QOPENGLVERSIONFUNCTIONS_4_1_CORE_H
52
53#include <QtOpenGL/qtopenglglobal.h>
54
55#if !defined(QT_NO_OPENGL) && !QT_CONFIG(opengles2)
56
57#include <QtOpenGL/QOpenGLVersionProfile>
58#include <QtOpenGL/QOpenGLVersionFunctions>
59#include <QtGui/qopenglcontext.h>
60
61QT_BEGIN_NAMESPACE
62
63class Q_OPENGL_EXPORT QOpenGLFunctions_4_1_Core : public QAbstractOpenGLFunctions
64{
65public:
66 QOpenGLFunctions_4_1_Core();
67 ~QOpenGLFunctions_4_1_Core();
68
69 bool initializeOpenGLFunctions() override;
70
71 // OpenGL 1.0 core functions
72 void glViewport(GLint x, GLint y, GLsizei width, GLsizei height);
73 void glDepthRange(GLdouble nearVal, GLdouble farVal);
74 GLboolean glIsEnabled(GLenum cap);
75 void glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params);
76 void glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params);
77 void glGetTexParameteriv(GLenum target, GLenum pname, GLint *params);
78 void glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params);
79 void glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
80 const GLubyte * glGetString(GLenum name);
81 void glGetIntegerv(GLenum pname, GLint *params);
82 void glGetFloatv(GLenum pname, GLfloat *params);
83 GLenum glGetError();
84 void glGetDoublev(GLenum pname, GLdouble *params);
85 void glGetBooleanv(GLenum pname, GLboolean *params);
86 void glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);
87 void glReadBuffer(GLenum mode);
88 void glPixelStorei(GLenum pname, GLint param);
89 void glPixelStoref(GLenum pname, GLfloat param);
90 void glDepthFunc(GLenum func);
91 void glStencilOp(GLenum fail, GLenum zfail, GLenum zpass);
92 void glStencilFunc(GLenum func, GLint ref, GLuint mask);
93 void glLogicOp(GLenum opcode);
94 void glBlendFunc(GLenum sfactor, GLenum dfactor);
95 void glFlush();
96 void glFinish();
97 void glEnable(GLenum cap);
98 void glDisable(GLenum cap);
99 void glDepthMask(GLboolean flag);
100 void glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
101 void glStencilMask(GLuint mask);
102 void glClearDepth(GLdouble depth);
103 void glClearStencil(GLint s);
104 void glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
105 void glClear(GLbitfield mask);
106 void glDrawBuffer(GLenum mode);
107 void glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
108 void glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
109 void glTexParameteriv(GLenum target, GLenum pname, const GLint *params);
110 void glTexParameteri(GLenum target, GLenum pname, GLint param);
111 void glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params);
112 void glTexParameterf(GLenum target, GLenum pname, GLfloat param);
113 void glScissor(GLint x, GLint y, GLsizei width, GLsizei height);
114 void glPolygonMode(GLenum face, GLenum mode);
115 void glPointSize(GLfloat size);
116 void glLineWidth(GLfloat width);
117 void glHint(GLenum target, GLenum mode);
118 void glFrontFace(GLenum mode);
119 void glCullFace(GLenum mode);
120
121 // OpenGL 1.1 core functions
122 GLboolean glIsTexture(GLuint texture);
123 void glGenTextures(GLsizei n, GLuint *textures);
124 void glDeleteTextures(GLsizei n, const GLuint *textures);
125 void glBindTexture(GLenum target, GLuint texture);
126 void glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
127 void glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
128 void glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
129 void glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
130 void glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
131 void glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
132 void glPolygonOffset(GLfloat factor, GLfloat units);
133 void glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);
134 void glDrawArrays(GLenum mode, GLint first, GLsizei count);
135
136 // OpenGL 1.2 core functions
137 void glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
138 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);
139 void glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
140 void glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
141 void glBlendEquation(GLenum mode);
142 void glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
143
144 // OpenGL 1.3 core functions
145 void glGetCompressedTexImage(GLenum target, GLint level, GLvoid *img);
146 void glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
147 void glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
148 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);
149 void glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
150 void glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
151 void glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
152 void glSampleCoverage(GLfloat value, GLboolean invert);
153 void glActiveTexture(GLenum texture);
154
155 // OpenGL 1.4 core functions
156 void glPointParameteriv(GLenum pname, const GLint *params);
157 void glPointParameteri(GLenum pname, GLint param);
158 void glPointParameterfv(GLenum pname, const GLfloat *params);
159 void glPointParameterf(GLenum pname, GLfloat param);
160 void glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount);
161 void glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount);
162 void glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
163
164 // OpenGL 1.5 core functions
165 void glGetBufferPointerv(GLenum target, GLenum pname, GLvoid* *params);
166 void glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params);
167 GLboolean glUnmapBuffer(GLenum target);
168 GLvoid* glMapBuffer(GLenum target, GLenum access);
169 void glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data);
170 void glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data);
171 void glBufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage);
172 GLboolean glIsBuffer(GLuint buffer);
173 void glGenBuffers(GLsizei n, GLuint *buffers);
174 void glDeleteBuffers(GLsizei n, const GLuint *buffers);
175 void glBindBuffer(GLenum target, GLuint buffer);
176 void glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params);
177 void glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params);
178 void glGetQueryiv(GLenum target, GLenum pname, GLint *params);
179 void glEndQuery(GLenum target);
180 void glBeginQuery(GLenum target, GLuint id);
181 GLboolean glIsQuery(GLuint id);
182 void glDeleteQueries(GLsizei n, const GLuint *ids);
183 void glGenQueries(GLsizei n, GLuint *ids);
184
185 // OpenGL 2.0 core functions
186 void glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
187 void glValidateProgram(GLuint program);
188 void glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
189 void glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
190 void glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
191 void glUniform4iv(GLint location, GLsizei count, const GLint *value);
192 void glUniform3iv(GLint location, GLsizei count, const GLint *value);
193 void glUniform2iv(GLint location, GLsizei count, const GLint *value);
194 void glUniform1iv(GLint location, GLsizei count, const GLint *value);
195 void glUniform4fv(GLint location, GLsizei count, const GLfloat *value);
196 void glUniform3fv(GLint location, GLsizei count, const GLfloat *value);
197 void glUniform2fv(GLint location, GLsizei count, const GLfloat *value);
198 void glUniform1fv(GLint location, GLsizei count, const GLfloat *value);
199 void glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
200 void glUniform3i(GLint location, GLint v0, GLint v1, GLint v2);
201 void glUniform2i(GLint location, GLint v0, GLint v1);
202 void glUniform1i(GLint location, GLint v0);
203 void glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
204 void glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
205 void glUniform2f(GLint location, GLfloat v0, GLfloat v1);
206 void glUniform1f(GLint location, GLfloat v0);
207 void glUseProgram(GLuint program);
208 void glShaderSource(GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length);
209 void glLinkProgram(GLuint program);
210 GLboolean glIsShader(GLuint shader);
211 GLboolean glIsProgram(GLuint program);
212 void glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid* *pointer);
213 void glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params);
214 void glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params);
215 void glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params);
216 void glGetUniformiv(GLuint program, GLint location, GLint *params);
217 void glGetUniformfv(GLuint program, GLint location, GLfloat *params);
218 GLint glGetUniformLocation(GLuint program, const GLchar *name);
219 void glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
220 void glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
221 void glGetShaderiv(GLuint shader, GLenum pname, GLint *params);
222 void glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
223 void glGetProgramiv(GLuint program, GLenum pname, GLint *params);
224 GLint glGetAttribLocation(GLuint program, const GLchar *name);
225 void glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj);
226 void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
227 void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
228 void glEnableVertexAttribArray(GLuint index);
229 void glDisableVertexAttribArray(GLuint index);
230 void glDetachShader(GLuint program, GLuint shader);
231 void glDeleteShader(GLuint shader);
232 void glDeleteProgram(GLuint program);
233 GLuint glCreateShader(GLenum type);
234 GLuint glCreateProgram();
235 void glCompileShader(GLuint shader);
236 void glBindAttribLocation(GLuint program, GLuint index, const GLchar *name);
237 void glAttachShader(GLuint program, GLuint shader);
238 void glStencilMaskSeparate(GLenum face, GLuint mask);
239 void glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask);
240 void glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
241 void glDrawBuffers(GLsizei n, const GLenum *bufs);
242 void glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha);
243
244 // OpenGL 2.1 core functions
245 void glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
246 void glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
247 void glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
248 void glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
249 void glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
250 void glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
251
252 // OpenGL 3.0 core functions
253 GLboolean glIsVertexArray(GLuint array);
254 void glGenVertexArrays(GLsizei n, GLuint *arrays);
255 void glDeleteVertexArrays(GLsizei n, const GLuint *arrays);
256 void glBindVertexArray(GLuint array);
257 void glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length);
258 GLvoid* glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
259 void glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
260 void glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
261 void glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
262 void glGenerateMipmap(GLenum target);
263 void glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params);
264 void glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
265 void glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
266 void glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
267 void glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
268 GLenum glCheckFramebufferStatus(GLenum target);
269 void glGenFramebuffers(GLsizei n, GLuint *framebuffers);
270 void glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers);
271 void glBindFramebuffer(GLenum target, GLuint framebuffer);
272 GLboolean glIsFramebuffer(GLuint framebuffer);
273 void glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params);
274 void glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
275 void glGenRenderbuffers(GLsizei n, GLuint *renderbuffers);
276 void glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers);
277 void glBindRenderbuffer(GLenum target, GLuint renderbuffer);
278 GLboolean glIsRenderbuffer(GLuint renderbuffer);
279 const GLubyte * glGetStringi(GLenum name, GLuint index);
280 void glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
281 void glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value);
282 void glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value);
283 void glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value);
284 void glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params);
285 void glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params);
286 void glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params);
287 void glTexParameterIiv(GLenum target, GLenum pname, const GLint *params);
288 void glUniform4uiv(GLint location, GLsizei count, const GLuint *value);
289 void glUniform3uiv(GLint location, GLsizei count, const GLuint *value);
290 void glUniform2uiv(GLint location, GLsizei count, const GLuint *value);
291 void glUniform1uiv(GLint location, GLsizei count, const GLuint *value);
292 void glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
293 void glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2);
294 void glUniform2ui(GLint location, GLuint v0, GLuint v1);
295 void glUniform1ui(GLint location, GLuint v0);
296 GLint glGetFragDataLocation(GLuint program, const GLchar *name);
297 void glBindFragDataLocation(GLuint program, GLuint color, const GLchar *name);
298 void glGetUniformuiv(GLuint program, GLint location, GLuint *params);
299 void glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params);
300 void glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params);
301 void glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
302 void glEndConditionalRender();
303 void glBeginConditionalRender(GLuint id, GLenum mode);
304 void glClampColor(GLenum target, GLenum clamp);
305 void glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
306 void glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar* const *varyings, GLenum bufferMode);
307 void glBindBufferBase(GLenum target, GLuint index, GLuint buffer);
308 void glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
309 void glEndTransformFeedback();
310 void glBeginTransformFeedback(GLenum primitiveMode);
311 GLboolean glIsEnabledi(GLenum target, GLuint index);
312 void glDisablei(GLenum target, GLuint index);
313 void glEnablei(GLenum target, GLuint index);
314 void glGetIntegeri_v(GLenum target, GLuint index, GLint *data);
315 void glGetBooleani_v(GLenum target, GLuint index, GLboolean *data);
316 void glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
317
318 // OpenGL 3.1 core functions
319 void glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
320 void glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
321 void glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
322 void glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);
323 GLuint glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName);
324 void glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName);
325 void glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);
326 void glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar* const *uniformNames, GLuint *uniformIndices);
327 void glPrimitiveRestartIndex(GLuint index);
328 void glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer);
329 void glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount);
330 void glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount);
331
332 // OpenGL 3.2 core functions
333 void glSampleMaski(GLuint index, GLbitfield mask);
334 void glGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val);
335 void glTexImage3DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
336 void glTexImage2DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
337 void glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
338 void glGetInteger64v(GLenum pname, GLint64 *params);
339 void glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout);
340 GLenum glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout);
341 void glDeleteSync(GLsync sync);
342 GLboolean glIsSync(GLsync sync);
343 GLsync glFenceSync(GLenum condition, GLbitfield flags);
344 void glProvokingVertex(GLenum mode);
345 void glMultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount, const GLint *basevertex);
346 void glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount, GLint basevertex);
347 void glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);
348 void glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);
349 void glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level);
350 void glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params);
351 void glGetInteger64i_v(GLenum target, GLuint index, GLint64 *data);
352
353 // OpenGL 3.3 core functions
354 void glVertexAttribP4uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
355 void glVertexAttribP4ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);
356 void glVertexAttribP3uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
357 void glVertexAttribP3ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);
358 void glVertexAttribP2uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
359 void glVertexAttribP2ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);
360 void glVertexAttribP1uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
361 void glVertexAttribP1ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);
362 void glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64 *params);
363 void glGetQueryObjecti64v(GLuint id, GLenum pname, GLint64 *params);
364 void glQueryCounter(GLuint id, GLenum target);
365 void glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params);
366 void glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params);
367 void glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params);
368 void glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params);
369 void glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *param);
370 void glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *param);
371 void glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *param);
372 void glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param);
373 void glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint *param);
374 void glSamplerParameteri(GLuint sampler, GLenum pname, GLint param);
375 void glBindSampler(GLuint unit, GLuint sampler);
376 GLboolean glIsSampler(GLuint sampler);
377 void glDeleteSamplers(GLsizei count, const GLuint *samplers);
378 void glGenSamplers(GLsizei count, GLuint *samplers);
379 GLint glGetFragDataIndex(GLuint program, const GLchar *name);
380 void glBindFragDataLocationIndexed(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name);
381 void glVertexAttribDivisor(GLuint index, GLuint divisor);
382
383 // OpenGL 4.0 core functions
384 void glGetQueryIndexediv(GLenum target, GLuint index, GLenum pname, GLint *params);
385 void glEndQueryIndexed(GLenum target, GLuint index);
386 void glBeginQueryIndexed(GLenum target, GLuint index, GLuint id);
387 void glDrawTransformFeedbackStream(GLenum mode, GLuint id, GLuint stream);
388 void glDrawTransformFeedback(GLenum mode, GLuint id);
389 void glResumeTransformFeedback();
390 void glPauseTransformFeedback();
391 GLboolean glIsTransformFeedback(GLuint id);
392 void glGenTransformFeedbacks(GLsizei n, GLuint *ids);
393 void glDeleteTransformFeedbacks(GLsizei n, const GLuint *ids);
394 void glBindTransformFeedback(GLenum target, GLuint id);
395 void glPatchParameterfv(GLenum pname, const GLfloat *values);
396 void glPatchParameteri(GLenum pname, GLint value);
397 void glGetProgramStageiv(GLuint program, GLenum shadertype, GLenum pname, GLint *values);
398 void glGetUniformSubroutineuiv(GLenum shadertype, GLint location, GLuint *params);
399 void glUniformSubroutinesuiv(GLenum shadertype, GLsizei count, const GLuint *indices);
400 void glGetActiveSubroutineName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
401 void glGetActiveSubroutineUniformName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
402 void glGetActiveSubroutineUniformiv(GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values);
403 GLuint glGetSubroutineIndex(GLuint program, GLenum shadertype, const GLchar *name);
404 GLint glGetSubroutineUniformLocation(GLuint program, GLenum shadertype, const GLchar *name);
405 void glGetUniformdv(GLuint program, GLint location, GLdouble *params);
406 void glUniformMatrix4x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
407 void glUniformMatrix4x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
408 void glUniformMatrix3x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
409 void glUniformMatrix3x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
410 void glUniformMatrix2x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
411 void glUniformMatrix2x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
412 void glUniformMatrix4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
413 void glUniformMatrix3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
414 void glUniformMatrix2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
415 void glUniform4dv(GLint location, GLsizei count, const GLdouble *value);
416 void glUniform3dv(GLint location, GLsizei count, const GLdouble *value);
417 void glUniform2dv(GLint location, GLsizei count, const GLdouble *value);
418 void glUniform1dv(GLint location, GLsizei count, const GLdouble *value);
419 void glUniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
420 void glUniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z);
421 void glUniform2d(GLint location, GLdouble x, GLdouble y);
422 void glUniform1d(GLint location, GLdouble x);
423 void glDrawElementsIndirect(GLenum mode, GLenum type, const GLvoid *indirect);
424 void glDrawArraysIndirect(GLenum mode, const GLvoid *indirect);
425 void glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
426 void glBlendFunci(GLuint buf, GLenum src, GLenum dst);
427 void glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha);
428 void glBlendEquationi(GLuint buf, GLenum mode);
429 void glMinSampleShading(GLfloat value);
430
431 // OpenGL 4.1 core functions
432 void glGetDoublei_v(GLenum target, GLuint index, GLdouble *data);
433 void glGetFloati_v(GLenum target, GLuint index, GLfloat *data);
434 void glDepthRangeIndexed(GLuint index, GLdouble n, GLdouble f);
435 void glDepthRangeArrayv(GLuint first, GLsizei count, const GLdouble *v);
436 void glScissorIndexedv(GLuint index, const GLint *v);
437 void glScissorIndexed(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);
438 void glScissorArrayv(GLuint first, GLsizei count, const GLint *v);
439 void glViewportIndexedfv(GLuint index, const GLfloat *v);
440 void glViewportIndexedf(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);
441 void glViewportArrayv(GLuint first, GLsizei count, const GLfloat *v);
442 void glGetVertexAttribLdv(GLuint index, GLenum pname, GLdouble *params);
443 void glVertexAttribLPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
444 void glVertexAttribL4dv(GLuint index, const GLdouble *v);
445 void glVertexAttribL3dv(GLuint index, const GLdouble *v);
446 void glVertexAttribL2dv(GLuint index, const GLdouble *v);
447 void glVertexAttribL1dv(GLuint index, const GLdouble *v);
448 void glVertexAttribL4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
449 void glVertexAttribL3d(GLuint index, GLdouble x, GLdouble y, GLdouble z);
450 void glVertexAttribL2d(GLuint index, GLdouble x, GLdouble y);
451 void glVertexAttribL1d(GLuint index, GLdouble x);
452 void glGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
453 void glValidateProgramPipeline(GLuint pipeline);
454 void glProgramUniformMatrix4x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
455 void glProgramUniformMatrix3x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
456 void glProgramUniformMatrix4x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
457 void glProgramUniformMatrix2x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
458 void glProgramUniformMatrix3x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
459 void glProgramUniformMatrix2x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
460 void glProgramUniformMatrix4x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
461 void glProgramUniformMatrix3x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
462 void glProgramUniformMatrix4x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
463 void glProgramUniformMatrix2x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
464 void glProgramUniformMatrix3x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
465 void glProgramUniformMatrix2x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
466 void glProgramUniformMatrix4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
467 void glProgramUniformMatrix3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
468 void glProgramUniformMatrix2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
469 void glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
470 void glProgramUniformMatrix3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
471 void glProgramUniformMatrix2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
472 void glProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);
473 void glProgramUniform4ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
474 void glProgramUniform4dv(GLuint program, GLint location, GLsizei count, const GLdouble *value);
475 void glProgramUniform4d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3);
476 void glProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);
477 void glProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
478 void glProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint *value);
479 void glProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
480 void glProgramUniform3uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);
481 void glProgramUniform3ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
482 void glProgramUniform3dv(GLuint program, GLint location, GLsizei count, const GLdouble *value);
483 void glProgramUniform3d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2);
484 void glProgramUniform3fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);
485 void glProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
486 void glProgramUniform3iv(GLuint program, GLint location, GLsizei count, const GLint *value);
487 void glProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
488 void glProgramUniform2uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);
489 void glProgramUniform2ui(GLuint program, GLint location, GLuint v0, GLuint v1);
490 void glProgramUniform2dv(GLuint program, GLint location, GLsizei count, const GLdouble *value);
491 void glProgramUniform2d(GLuint program, GLint location, GLdouble v0, GLdouble v1);
492 void glProgramUniform2fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);
493 void glProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1);
494 void glProgramUniform2iv(GLuint program, GLint location, GLsizei count, const GLint *value);
495 void glProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1);
496 void glProgramUniform1uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);
497 void glProgramUniform1ui(GLuint program, GLint location, GLuint v0);
498 void glProgramUniform1dv(GLuint program, GLint location, GLsizei count, const GLdouble *value);
499 void glProgramUniform1d(GLuint program, GLint location, GLdouble v0);
500 void glProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);
501 void glProgramUniform1f(GLuint program, GLint location, GLfloat v0);
502 void glProgramUniform1iv(GLuint program, GLint location, GLsizei count, const GLint *value);
503 void glProgramUniform1i(GLuint program, GLint location, GLint v0);
504 void glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint *params);
505 GLboolean glIsProgramPipeline(GLuint pipeline);
506 void glGenProgramPipelines(GLsizei n, GLuint *pipelines);
507 void glDeleteProgramPipelines(GLsizei n, const GLuint *pipelines);
508 void glBindProgramPipeline(GLuint pipeline);
509 GLuint glCreateShaderProgramv(GLenum type, GLsizei count, const GLchar* const *strings);
510 void glActiveShaderProgram(GLuint pipeline, GLuint program);
511 void glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program);
512 void glProgramParameteri(GLuint program, GLenum pname, GLint value);
513 void glProgramBinary(GLuint program, GLenum binaryFormat, const GLvoid *binary, GLsizei length);
514 void glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
515 void glClearDepthf(GLfloat dd);
516 void glDepthRangef(GLfloat n, GLfloat f);
517 void glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
518 void glShaderBinary(GLsizei count, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length);
519 void glReleaseShaderCompiler();
520
521private:
522 friend class QOpenGLVersionFunctionsFactory;
523
524 static bool isContextCompatible(QOpenGLContext *context);
525 static QOpenGLVersionProfile versionProfile();
526
527 QOpenGLFunctions_1_0_CoreBackend* d_1_0_Core;
528 QOpenGLFunctions_1_1_CoreBackend* d_1_1_Core;
529 QOpenGLFunctions_1_2_CoreBackend* d_1_2_Core;
530 QOpenGLFunctions_1_3_CoreBackend* d_1_3_Core;
531 QOpenGLFunctions_1_4_CoreBackend* d_1_4_Core;
532 QOpenGLFunctions_1_5_CoreBackend* d_1_5_Core;
533 QOpenGLFunctions_2_0_CoreBackend* d_2_0_Core;
534 QOpenGLFunctions_2_1_CoreBackend* d_2_1_Core;
535 QOpenGLFunctions_3_0_CoreBackend* d_3_0_Core;
536 QOpenGLFunctions_3_1_CoreBackend* d_3_1_Core;
537 QOpenGLFunctions_3_2_CoreBackend* d_3_2_Core;
538 QOpenGLFunctions_3_3_CoreBackend* d_3_3_Core;
539 QOpenGLFunctions_4_0_CoreBackend* d_4_0_Core;
540 QOpenGLFunctions_4_1_CoreBackend* d_4_1_Core;
541};
542
543// OpenGL 1.0 core functions
544inline void QOpenGLFunctions_4_1_Core::glViewport(GLint x, GLint y, GLsizei width, GLsizei height)
545{
546 d_1_0_Core->f.Viewport(x, y, width, height);
547}
548
549inline void QOpenGLFunctions_4_1_Core::glDepthRange(GLdouble nearVal, GLdouble farVal)
550{
551 d_1_0_Core->f.DepthRange(nearVal, farVal);
552}
553
554inline GLboolean QOpenGLFunctions_4_1_Core::glIsEnabled(GLenum cap)
555{
556 return d_1_0_Core->f.IsEnabled(cap);
557}
558
559inline void QOpenGLFunctions_4_1_Core::glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params)
560{
561 d_1_0_Core->f.GetTexLevelParameteriv(target, level, pname, params);
562}
563
564inline void QOpenGLFunctions_4_1_Core::glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params)
565{
566 d_1_0_Core->f.GetTexLevelParameterfv(target, level, pname, params);
567}
568
569inline void QOpenGLFunctions_4_1_Core::glGetTexParameteriv(GLenum target, GLenum pname, GLint *params)
570{
571 d_1_0_Core->f.GetTexParameteriv(target, pname, params);
572}
573
574inline void QOpenGLFunctions_4_1_Core::glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params)
575{
576 d_1_0_Core->f.GetTexParameterfv(target, pname, params);
577}
578
579inline void QOpenGLFunctions_4_1_Core::glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels)
580{
581 d_1_0_Core->f.GetTexImage(target, level, format, type, pixels);
582}
583
584inline const GLubyte * QOpenGLFunctions_4_1_Core::glGetString(GLenum name)
585{
586 return d_1_0_Core->f.GetString(name);
587}
588
589inline void QOpenGLFunctions_4_1_Core::glGetIntegerv(GLenum pname, GLint *params)
590{
591 d_1_0_Core->f.GetIntegerv(pname, params);
592}
593
594inline void QOpenGLFunctions_4_1_Core::glGetFloatv(GLenum pname, GLfloat *params)
595{
596 d_1_0_Core->f.GetFloatv(pname, params);
597}
598
599inline GLenum QOpenGLFunctions_4_1_Core::glGetError()
600{
601 return d_1_0_Core->f.GetError();
602}
603
604inline void QOpenGLFunctions_4_1_Core::glGetDoublev(GLenum pname, GLdouble *params)
605{
606 d_1_0_Core->f.GetDoublev(pname, params);
607}
608
609inline void QOpenGLFunctions_4_1_Core::glGetBooleanv(GLenum pname, GLboolean *params)
610{
611 d_1_0_Core->f.GetBooleanv(pname, params);
612}
613
614inline void QOpenGLFunctions_4_1_Core::glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels)
615{
616 d_1_0_Core->f.ReadPixels(x, y, width, height, format, type, pixels);
617}
618
619inline void QOpenGLFunctions_4_1_Core::glReadBuffer(GLenum mode)
620{
621 d_1_0_Core->f.ReadBuffer(mode);
622}
623
624inline void QOpenGLFunctions_4_1_Core::glPixelStorei(GLenum pname, GLint param)
625{
626 d_1_0_Core->f.PixelStorei(pname, param);
627}
628
629inline void QOpenGLFunctions_4_1_Core::glPixelStoref(GLenum pname, GLfloat param)
630{
631 d_1_0_Core->f.PixelStoref(pname, param);
632}
633
634inline void QOpenGLFunctions_4_1_Core::glDepthFunc(GLenum func)
635{
636 d_1_0_Core->f.DepthFunc(func);
637}
638
639inline void QOpenGLFunctions_4_1_Core::glStencilOp(GLenum fail, GLenum zfail, GLenum zpass)
640{
641 d_1_0_Core->f.StencilOp(fail, zfail, zpass);
642}
643
644inline void QOpenGLFunctions_4_1_Core::glStencilFunc(GLenum func, GLint ref, GLuint mask)
645{
646 d_1_0_Core->f.StencilFunc(func, ref, mask);
647}
648
649inline void QOpenGLFunctions_4_1_Core::glLogicOp(GLenum opcode)
650{
651 d_1_0_Core->f.LogicOp(opcode);
652}
653
654inline void QOpenGLFunctions_4_1_Core::glBlendFunc(GLenum sfactor, GLenum dfactor)
655{
656 d_1_0_Core->f.BlendFunc(sfactor, dfactor);
657}
658
659inline void QOpenGLFunctions_4_1_Core::glFlush()
660{
661 d_1_0_Core->f.Flush();
662}
663
664inline void QOpenGLFunctions_4_1_Core::glFinish()
665{
666 d_1_0_Core->f.Finish();
667}
668
669inline void QOpenGLFunctions_4_1_Core::glEnable(GLenum cap)
670{
671 d_1_0_Core->f.Enable(cap);
672}
673
674inline void QOpenGLFunctions_4_1_Core::glDisable(GLenum cap)
675{
676 d_1_0_Core->f.Disable(cap);
677}
678
679inline void QOpenGLFunctions_4_1_Core::glDepthMask(GLboolean flag)
680{
681 d_1_0_Core->f.DepthMask(flag);
682}
683
684inline void QOpenGLFunctions_4_1_Core::glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
685{
686 d_1_0_Core->f.ColorMask(red, green, blue, alpha);
687}
688
689inline void QOpenGLFunctions_4_1_Core::glStencilMask(GLuint mask)
690{
691 d_1_0_Core->f.StencilMask(mask);
692}
693
694inline void QOpenGLFunctions_4_1_Core::glClearDepth(GLdouble depth)
695{
696 d_1_0_Core->f.ClearDepth(depth);
697}
698
699inline void QOpenGLFunctions_4_1_Core::glClearStencil(GLint s)
700{
701 d_1_0_Core->f.ClearStencil(s);
702}
703
704inline void QOpenGLFunctions_4_1_Core::glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
705{
706 d_1_0_Core->f.ClearColor(red, green, blue, alpha);
707}
708
709inline void QOpenGLFunctions_4_1_Core::glClear(GLbitfield mask)
710{
711 d_1_0_Core->f.Clear(mask);
712}
713
714inline void QOpenGLFunctions_4_1_Core::glDrawBuffer(GLenum mode)
715{
716 d_1_0_Core->f.DrawBuffer(mode);
717}
718
719inline void QOpenGLFunctions_4_1_Core::glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
720{
721 d_1_0_Core->f.TexImage2D(target, level, internalformat, width, height, border, format, type, pixels);
722}
723
724inline void QOpenGLFunctions_4_1_Core::glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
725{
726 d_1_0_Core->f.TexImage1D(target, level, internalformat, width, border, format, type, pixels);
727}
728
729inline void QOpenGLFunctions_4_1_Core::glTexParameteriv(GLenum target, GLenum pname, const GLint *params)
730{
731 d_1_0_Core->f.TexParameteriv(target, pname, params);
732}
733
734inline void QOpenGLFunctions_4_1_Core::glTexParameteri(GLenum target, GLenum pname, GLint param)
735{
736 d_1_0_Core->f.TexParameteri(target, pname, param);
737}
738
739inline void QOpenGLFunctions_4_1_Core::glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params)
740{
741 d_1_0_Core->f.TexParameterfv(target, pname, params);
742}
743
744inline void QOpenGLFunctions_4_1_Core::glTexParameterf(GLenum target, GLenum pname, GLfloat param)
745{
746 d_1_0_Core->f.TexParameterf(target, pname, param);
747}
748
749inline void QOpenGLFunctions_4_1_Core::glScissor(GLint x, GLint y, GLsizei width, GLsizei height)
750{
751 d_1_0_Core->f.Scissor(x, y, width, height);
752}
753
754inline void QOpenGLFunctions_4_1_Core::glPolygonMode(GLenum face, GLenum mode)
755{
756 d_1_0_Core->f.PolygonMode(face, mode);
757}
758
759inline void QOpenGLFunctions_4_1_Core::glPointSize(GLfloat size)
760{
761 d_1_0_Core->f.PointSize(size);
762}
763
764inline void QOpenGLFunctions_4_1_Core::glLineWidth(GLfloat width)
765{
766 d_1_0_Core->f.LineWidth(width);
767}
768
769inline void QOpenGLFunctions_4_1_Core::glHint(GLenum target, GLenum mode)
770{
771 d_1_0_Core->f.Hint(target, mode);
772}
773
774inline void QOpenGLFunctions_4_1_Core::glFrontFace(GLenum mode)
775{
776 d_1_0_Core->f.FrontFace(mode);
777}
778
779inline void QOpenGLFunctions_4_1_Core::glCullFace(GLenum mode)
780{
781 d_1_0_Core->f.CullFace(mode);
782}
783
784
785// OpenGL 1.1 core functions
786inline GLboolean QOpenGLFunctions_4_1_Core::glIsTexture(GLuint texture)
787{
788 return d_1_1_Core->f.IsTexture(texture);
789}
790
791inline void QOpenGLFunctions_4_1_Core::glGenTextures(GLsizei n, GLuint *textures)
792{
793 d_1_1_Core->f.GenTextures(n, textures);
794}
795
796inline void QOpenGLFunctions_4_1_Core::glDeleteTextures(GLsizei n, const GLuint *textures)
797{
798 d_1_1_Core->f.DeleteTextures(n, textures);
799}
800
801inline void QOpenGLFunctions_4_1_Core::glBindTexture(GLenum target, GLuint texture)
802{
803 d_1_1_Core->f.BindTexture(target, texture);
804}
805
806inline void QOpenGLFunctions_4_1_Core::glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)
807{
808 d_1_1_Core->f.TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels);
809}
810
811inline void QOpenGLFunctions_4_1_Core::glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels)
812{
813 d_1_1_Core->f.TexSubImage1D(target, level, xoffset, width, format, type, pixels);
814}
815
816inline void QOpenGLFunctions_4_1_Core::glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
817{
818 d_1_1_Core->f.CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);
819}
820
821inline void QOpenGLFunctions_4_1_Core::glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)
822{
823 d_1_1_Core->f.CopyTexSubImage1D(target, level, xoffset, x, y, width);
824}
825
826inline void QOpenGLFunctions_4_1_Core::glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
827{
828 d_1_1_Core->f.CopyTexImage2D(target, level, internalformat, x, y, width, height, border);
829}
830
831inline void QOpenGLFunctions_4_1_Core::glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border)
832{
833 d_1_1_Core->f.CopyTexImage1D(target, level, internalformat, x, y, width, border);
834}
835
836inline void QOpenGLFunctions_4_1_Core::glPolygonOffset(GLfloat factor, GLfloat units)
837{
838 d_1_1_Core->f.PolygonOffset(factor, units);
839}
840
841inline void QOpenGLFunctions_4_1_Core::glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices)
842{
843 d_1_1_Core->f.DrawElements(mode, count, type, indices);
844}
845
846inline void QOpenGLFunctions_4_1_Core::glDrawArrays(GLenum mode, GLint first, GLsizei count)
847{
848 d_1_1_Core->f.DrawArrays(mode, first, count);
849}
850
851
852// OpenGL 1.2 core functions
853inline void QOpenGLFunctions_4_1_Core::glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
854{
855 d_1_2_Core->f.CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height);
856}
857
858inline void QOpenGLFunctions_4_1_Core::glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels)
859{
860 d_1_2_Core->f.TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
861}
862
863inline void QOpenGLFunctions_4_1_Core::glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
864{
865 d_1_2_Core->f.TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels);
866}
867
868inline void QOpenGLFunctions_4_1_Core::glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices)
869{
870 d_1_2_Core->f.DrawRangeElements(mode, start, end, count, type, indices);
871}
872
873inline void QOpenGLFunctions_4_1_Core::glBlendEquation(GLenum mode)
874{
875 d_1_2_Core->f.BlendEquation(mode);
876}
877
878inline void QOpenGLFunctions_4_1_Core::glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
879{
880 d_1_2_Core->f.BlendColor(red, green, blue, alpha);
881}
882
883
884// OpenGL 1.3 core functions
885inline void QOpenGLFunctions_4_1_Core::glGetCompressedTexImage(GLenum target, GLint level, GLvoid *img)
886{
887 d_1_3_Core->f.GetCompressedTexImage(target, level, img);
888}
889
890inline void QOpenGLFunctions_4_1_Core::glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data)
891{
892 d_1_3_Core->f.CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data);
893}
894
895inline void QOpenGLFunctions_4_1_Core::glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data)
896{
897 d_1_3_Core->f.CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data);
898}
899
900inline void QOpenGLFunctions_4_1_Core::glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data)
901{
902 d_1_3_Core->f.CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
903}
904
905inline void QOpenGLFunctions_4_1_Core::glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data)
906{
907 d_1_3_Core->f.CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data);
908}
909
910inline void QOpenGLFunctions_4_1_Core::glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data)
911{
912 d_1_3_Core->f.CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data);
913}
914
915inline void QOpenGLFunctions_4_1_Core::glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data)
916{
917 d_1_3_Core->f.CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data);
918}
919
920inline void QOpenGLFunctions_4_1_Core::glSampleCoverage(GLfloat value, GLboolean invert)
921{
922 d_1_3_Core->f.SampleCoverage(value, invert);
923}
924
925inline void QOpenGLFunctions_4_1_Core::glActiveTexture(GLenum texture)
926{
927 d_1_3_Core->f.ActiveTexture(texture);
928}
929
930
931// OpenGL 1.4 core functions
932inline void QOpenGLFunctions_4_1_Core::glPointParameteriv(GLenum pname, const GLint *params)
933{
934 d_1_4_Core->f.PointParameteriv(pname, params);
935}
936
937inline void QOpenGLFunctions_4_1_Core::glPointParameteri(GLenum pname, GLint param)
938{
939 d_1_4_Core->f.PointParameteri(pname, param);
940}
941
942inline void QOpenGLFunctions_4_1_Core::glPointParameterfv(GLenum pname, const GLfloat *params)
943{
944 d_1_4_Core->f.PointParameterfv(pname, params);
945}
946
947inline void QOpenGLFunctions_4_1_Core::glPointParameterf(GLenum pname, GLfloat param)
948{
949 d_1_4_Core->f.PointParameterf(pname, param);
950}
951
952inline void QOpenGLFunctions_4_1_Core::glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount)
953{
954 d_1_4_Core->f.MultiDrawElements(mode, count, type, indices, drawcount);
955}
956
957inline void QOpenGLFunctions_4_1_Core::glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount)
958{
959 d_1_4_Core->f.MultiDrawArrays(mode, first, count, drawcount);
960}
961
962inline void QOpenGLFunctions_4_1_Core::glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha)
963{
964 d_1_4_Core->f.BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha);
965}
966
967
968// OpenGL 1.5 core functions
969inline void QOpenGLFunctions_4_1_Core::glGetBufferPointerv(GLenum target, GLenum pname, GLvoid* *params)
970{
971 d_1_5_Core->f.GetBufferPointerv(target, pname, params);
972}
973
974inline void QOpenGLFunctions_4_1_Core::glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params)
975{
976 d_1_5_Core->f.GetBufferParameteriv(target, pname, params);
977}
978
979inline GLboolean QOpenGLFunctions_4_1_Core::glUnmapBuffer(GLenum target)
980{
981 return d_1_5_Core->f.UnmapBuffer(target);
982}
983
984inline GLvoid* QOpenGLFunctions_4_1_Core::glMapBuffer(GLenum target, GLenum access)
985{
986 return d_1_5_Core->f.MapBuffer(target, access);
987}
988
989inline void QOpenGLFunctions_4_1_Core::glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data)
990{
991 d_1_5_Core->f.GetBufferSubData(target, offset, size, data);
992}
993
994inline void QOpenGLFunctions_4_1_Core::glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data)
995{
996 d_1_5_Core->f.BufferSubData(target, offset, size, data);
997}
998
999inline void QOpenGLFunctions_4_1_Core::glBufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage)
1000{
1001 d_1_5_Core->f.BufferData(target, size, data, usage);
1002}
1003
1004inline GLboolean QOpenGLFunctions_4_1_Core::glIsBuffer(GLuint buffer)
1005{
1006 return d_1_5_Core->f.IsBuffer(buffer);
1007}
1008
1009inline void QOpenGLFunctions_4_1_Core::glGenBuffers(GLsizei n, GLuint *buffers)
1010{
1011 d_1_5_Core->f.GenBuffers(n, buffers);
1012}
1013
1014inline void QOpenGLFunctions_4_1_Core::glDeleteBuffers(GLsizei n, const GLuint *buffers)
1015{
1016 d_1_5_Core->f.DeleteBuffers(n, buffers);
1017}
1018
1019inline void QOpenGLFunctions_4_1_Core::glBindBuffer(GLenum target, GLuint buffer)
1020{
1021 d_1_5_Core->f.BindBuffer(target, buffer);
1022}
1023
1024inline void QOpenGLFunctions_4_1_Core::glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params)
1025{
1026 d_1_5_Core->f.GetQueryObjectuiv(id, pname, params);
1027}
1028
1029inline void QOpenGLFunctions_4_1_Core::glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params)
1030{
1031 d_1_5_Core->f.GetQueryObjectiv(id, pname, params);
1032}
1033
1034inline void QOpenGLFunctions_4_1_Core::glGetQueryiv(GLenum target, GLenum pname, GLint *params)
1035{
1036 d_1_5_Core->f.GetQueryiv(target, pname, params);
1037}
1038
1039inline void QOpenGLFunctions_4_1_Core::glEndQuery(GLenum target)
1040{
1041 d_1_5_Core->f.EndQuery(target);
1042}
1043
1044inline void QOpenGLFunctions_4_1_Core::glBeginQuery(GLenum target, GLuint id)
1045{
1046 d_1_5_Core->f.BeginQuery(target, id);
1047}
1048
1049inline GLboolean QOpenGLFunctions_4_1_Core::glIsQuery(GLuint id)
1050{
1051 return d_1_5_Core->f.IsQuery(id);
1052}
1053
1054inline void QOpenGLFunctions_4_1_Core::glDeleteQueries(GLsizei n, const GLuint *ids)
1055{
1056 d_1_5_Core->f.DeleteQueries(n, ids);
1057}
1058
1059inline void QOpenGLFunctions_4_1_Core::glGenQueries(GLsizei n, GLuint *ids)
1060{
1061 d_1_5_Core->f.GenQueries(n, ids);
1062}
1063
1064
1065// OpenGL 2.0 core functions
1066inline void QOpenGLFunctions_4_1_Core::glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer)
1067{
1068 d_2_0_Core->f.VertexAttribPointer(index, size, type, normalized, stride, pointer);
1069}
1070
1071inline void QOpenGLFunctions_4_1_Core::glValidateProgram(GLuint program)
1072{
1073 d_2_0_Core->f.ValidateProgram(program);
1074}
1075
1076inline void QOpenGLFunctions_4_1_Core::glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1077{
1078 d_2_0_Core->f.UniformMatrix4fv(location, count, transpose, value);
1079}
1080
1081inline void QOpenGLFunctions_4_1_Core::glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1082{
1083 d_2_0_Core->f.UniformMatrix3fv(location, count, transpose, value);
1084}
1085
1086inline void QOpenGLFunctions_4_1_Core::glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1087{
1088 d_2_0_Core->f.UniformMatrix2fv(location, count, transpose, value);
1089}
1090
1091inline void QOpenGLFunctions_4_1_Core::glUniform4iv(GLint location, GLsizei count, const GLint *value)
1092{
1093 d_2_0_Core->f.Uniform4iv(location, count, value);
1094}
1095
1096inline void QOpenGLFunctions_4_1_Core::glUniform3iv(GLint location, GLsizei count, const GLint *value)
1097{
1098 d_2_0_Core->f.Uniform3iv(location, count, value);
1099}
1100
1101inline void QOpenGLFunctions_4_1_Core::glUniform2iv(GLint location, GLsizei count, const GLint *value)
1102{
1103 d_2_0_Core->f.Uniform2iv(location, count, value);
1104}
1105
1106inline void QOpenGLFunctions_4_1_Core::glUniform1iv(GLint location, GLsizei count, const GLint *value)
1107{
1108 d_2_0_Core->f.Uniform1iv(location, count, value);
1109}
1110
1111inline void QOpenGLFunctions_4_1_Core::glUniform4fv(GLint location, GLsizei count, const GLfloat *value)
1112{
1113 d_2_0_Core->f.Uniform4fv(location, count, value);
1114}
1115
1116inline void QOpenGLFunctions_4_1_Core::glUniform3fv(GLint location, GLsizei count, const GLfloat *value)
1117{
1118 d_2_0_Core->f.Uniform3fv(location, count, value);
1119}
1120
1121inline void QOpenGLFunctions_4_1_Core::glUniform2fv(GLint location, GLsizei count, const GLfloat *value)
1122{
1123 d_2_0_Core->f.Uniform2fv(location, count, value);
1124}
1125
1126inline void QOpenGLFunctions_4_1_Core::glUniform1fv(GLint location, GLsizei count, const GLfloat *value)
1127{
1128 d_2_0_Core->f.Uniform1fv(location, count, value);
1129}
1130
1131inline void QOpenGLFunctions_4_1_Core::glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3)
1132{
1133 d_2_0_Core->f.Uniform4i(location, v0, v1, v2, v3);
1134}
1135
1136inline void QOpenGLFunctions_4_1_Core::glUniform3i(GLint location, GLint v0, GLint v1, GLint v2)
1137{
1138 d_2_0_Core->f.Uniform3i(location, v0, v1, v2);
1139}
1140
1141inline void QOpenGLFunctions_4_1_Core::glUniform2i(GLint location, GLint v0, GLint v1)
1142{
1143 d_2_0_Core->f.Uniform2i(location, v0, v1);
1144}
1145
1146inline void QOpenGLFunctions_4_1_Core::glUniform1i(GLint location, GLint v0)
1147{
1148 d_2_0_Core->f.Uniform1i(location, v0);
1149}
1150
1151inline void QOpenGLFunctions_4_1_Core::glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)
1152{
1153 d_2_0_Core->f.Uniform4f(location, v0, v1, v2, v3);
1154}
1155
1156inline void QOpenGLFunctions_4_1_Core::glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2)
1157{
1158 d_2_0_Core->f.Uniform3f(location, v0, v1, v2);
1159}
1160
1161inline void QOpenGLFunctions_4_1_Core::glUniform2f(GLint location, GLfloat v0, GLfloat v1)
1162{
1163 d_2_0_Core->f.Uniform2f(location, v0, v1);
1164}
1165
1166inline void QOpenGLFunctions_4_1_Core::glUniform1f(GLint location, GLfloat v0)
1167{
1168 d_2_0_Core->f.Uniform1f(location, v0);
1169}
1170
1171inline void QOpenGLFunctions_4_1_Core::glUseProgram(GLuint program)
1172{
1173 d_2_0_Core->f.UseProgram(program);
1174}
1175
1176inline void QOpenGLFunctions_4_1_Core::glShaderSource(GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length)
1177{
1178 d_2_0_Core->f.ShaderSource(shader, count, string, length);
1179}
1180
1181inline void QOpenGLFunctions_4_1_Core::glLinkProgram(GLuint program)
1182{
1183 d_2_0_Core->f.LinkProgram(program);
1184}
1185
1186inline GLboolean QOpenGLFunctions_4_1_Core::glIsShader(GLuint shader)
1187{
1188 return d_2_0_Core->f.IsShader(shader);
1189}
1190
1191inline GLboolean QOpenGLFunctions_4_1_Core::glIsProgram(GLuint program)
1192{
1193 return d_2_0_Core->f.IsProgram(program);
1194}
1195
1196inline void QOpenGLFunctions_4_1_Core::glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid* *pointer)
1197{
1198 d_2_0_Core->f.GetVertexAttribPointerv(index, pname, pointer);
1199}
1200
1201inline void QOpenGLFunctions_4_1_Core::glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params)
1202{
1203 d_2_0_Core->f.GetVertexAttribiv(index, pname, params);
1204}
1205
1206inline void QOpenGLFunctions_4_1_Core::glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params)
1207{
1208 d_2_0_Core->f.GetVertexAttribfv(index, pname, params);
1209}
1210
1211inline void QOpenGLFunctions_4_1_Core::glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params)
1212{
1213 d_2_0_Core->f.GetVertexAttribdv(index, pname, params);
1214}
1215
1216inline void QOpenGLFunctions_4_1_Core::glGetUniformiv(GLuint program, GLint location, GLint *params)
1217{
1218 d_2_0_Core->f.GetUniformiv(program, location, params);
1219}
1220
1221inline void QOpenGLFunctions_4_1_Core::glGetUniformfv(GLuint program, GLint location, GLfloat *params)
1222{
1223 d_2_0_Core->f.GetUniformfv(program, location, params);
1224}
1225
1226inline GLint QOpenGLFunctions_4_1_Core::glGetUniformLocation(GLuint program, const GLchar *name)
1227{
1228 return d_2_0_Core->f.GetUniformLocation(program, name);
1229}
1230
1231inline void QOpenGLFunctions_4_1_Core::glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source)
1232{
1233 d_2_0_Core->f.GetShaderSource(shader, bufSize, length, source);
1234}
1235
1236inline void QOpenGLFunctions_4_1_Core::glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog)
1237{
1238 d_2_0_Core->f.GetShaderInfoLog(shader, bufSize, length, infoLog);
1239}
1240
1241inline void QOpenGLFunctions_4_1_Core::glGetShaderiv(GLuint shader, GLenum pname, GLint *params)
1242{
1243 d_2_0_Core->f.GetShaderiv(shader, pname, params);
1244}
1245
1246inline void QOpenGLFunctions_4_1_Core::glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog)
1247{
1248 d_2_0_Core->f.GetProgramInfoLog(program, bufSize, length, infoLog);
1249}
1250
1251inline void QOpenGLFunctions_4_1_Core::glGetProgramiv(GLuint program, GLenum pname, GLint *params)
1252{
1253 d_2_0_Core->f.GetProgramiv(program, pname, params);
1254}
1255
1256inline GLint QOpenGLFunctions_4_1_Core::glGetAttribLocation(GLuint program, const GLchar *name)
1257{
1258 return d_2_0_Core->f.GetAttribLocation(program, name);
1259}
1260
1261inline void QOpenGLFunctions_4_1_Core::glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj)
1262{
1263 d_2_0_Core->f.GetAttachedShaders(program, maxCount, count, obj);
1264}
1265
1266inline void QOpenGLFunctions_4_1_Core::glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name)
1267{
1268 d_2_0_Core->f.GetActiveUniform(program, index, bufSize, length, size, type, name);
1269}
1270
1271inline void QOpenGLFunctions_4_1_Core::glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name)
1272{
1273 d_2_0_Core->f.GetActiveAttrib(program, index, bufSize, length, size, type, name);
1274}
1275
1276inline void QOpenGLFunctions_4_1_Core::glEnableVertexAttribArray(GLuint index)
1277{
1278 d_2_0_Core->f.EnableVertexAttribArray(index);
1279}
1280
1281inline void QOpenGLFunctions_4_1_Core::glDisableVertexAttribArray(GLuint index)
1282{
1283 d_2_0_Core->f.DisableVertexAttribArray(index);
1284}
1285
1286inline void QOpenGLFunctions_4_1_Core::glDetachShader(GLuint program, GLuint shader)
1287{
1288 d_2_0_Core->f.DetachShader(program, shader);
1289}
1290
1291inline void QOpenGLFunctions_4_1_Core::glDeleteShader(GLuint shader)
1292{
1293 d_2_0_Core->f.DeleteShader(shader);
1294}
1295
1296inline void QOpenGLFunctions_4_1_Core::glDeleteProgram(GLuint program)
1297{
1298 d_2_0_Core->f.DeleteProgram(program);
1299}
1300
1301inline GLuint QOpenGLFunctions_4_1_Core::glCreateShader(GLenum type)
1302{
1303 return d_2_0_Core->f.CreateShader(type);
1304}
1305
1306inline GLuint QOpenGLFunctions_4_1_Core::glCreateProgram()
1307{
1308 return d_2_0_Core->f.CreateProgram();
1309}
1310
1311inline void QOpenGLFunctions_4_1_Core::glCompileShader(GLuint shader)
1312{
1313 d_2_0_Core->f.CompileShader(shader);
1314}
1315
1316inline void QOpenGLFunctions_4_1_Core::glBindAttribLocation(GLuint program, GLuint index, const GLchar *name)
1317{
1318 d_2_0_Core->f.BindAttribLocation(program, index, name);
1319}
1320
1321inline void QOpenGLFunctions_4_1_Core::glAttachShader(GLuint program, GLuint shader)
1322{
1323 d_2_0_Core->f.AttachShader(program, shader);
1324}
1325
1326inline void QOpenGLFunctions_4_1_Core::glStencilMaskSeparate(GLenum face, GLuint mask)
1327{
1328 d_2_0_Core->f.StencilMaskSeparate(face, mask);
1329}
1330
1331inline void QOpenGLFunctions_4_1_Core::glStencilFuncSeparate(GLenum face, GLenum func, GLint