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_3_2_CORE_H
51#define QOPENGLVERSIONFUNCTIONS_3_2_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_3_2_Core : public QAbstractOpenGLFunctions
64{
65public:
66 QOpenGLFunctions_3_2_Core();
67 ~QOpenGLFunctions_3_2_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
353private:
354 friend class QOpenGLVersionFunctionsFactory;
355
356 static bool isContextCompatible(QOpenGLContext *context);
357 static QOpenGLVersionProfile versionProfile();
358
359 QOpenGLFunctions_1_0_CoreBackend* d_1_0_Core;
360 QOpenGLFunctions_1_1_CoreBackend* d_1_1_Core;
361 QOpenGLFunctions_1_2_CoreBackend* d_1_2_Core;
362 QOpenGLFunctions_1_3_CoreBackend* d_1_3_Core;
363 QOpenGLFunctions_1_4_CoreBackend* d_1_4_Core;
364 QOpenGLFunctions_1_5_CoreBackend* d_1_5_Core;
365 QOpenGLFunctions_2_0_CoreBackend* d_2_0_Core;
366 QOpenGLFunctions_2_1_CoreBackend* d_2_1_Core;
367 QOpenGLFunctions_3_0_CoreBackend* d_3_0_Core;
368 QOpenGLFunctions_3_1_CoreBackend* d_3_1_Core;
369 QOpenGLFunctions_3_2_CoreBackend* d_3_2_Core;
370};
371
372// OpenGL 1.0 core functions
373inline void QOpenGLFunctions_3_2_Core::glViewport(GLint x, GLint y, GLsizei width, GLsizei height)
374{
375 d_1_0_Core->f.Viewport(x, y, width, height);
376}
377
378inline void QOpenGLFunctions_3_2_Core::glDepthRange(GLdouble nearVal, GLdouble farVal)
379{
380 d_1_0_Core->f.DepthRange(nearVal, farVal);
381}
382
383inline GLboolean QOpenGLFunctions_3_2_Core::glIsEnabled(GLenum cap)
384{
385 return d_1_0_Core->f.IsEnabled(cap);
386}
387
388inline void QOpenGLFunctions_3_2_Core::glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params)
389{
390 d_1_0_Core->f.GetTexLevelParameteriv(target, level, pname, params);
391}
392
393inline void QOpenGLFunctions_3_2_Core::glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params)
394{
395 d_1_0_Core->f.GetTexLevelParameterfv(target, level, pname, params);
396}
397
398inline void QOpenGLFunctions_3_2_Core::glGetTexParameteriv(GLenum target, GLenum pname, GLint *params)
399{
400 d_1_0_Core->f.GetTexParameteriv(target, pname, params);
401}
402
403inline void QOpenGLFunctions_3_2_Core::glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params)
404{
405 d_1_0_Core->f.GetTexParameterfv(target, pname, params);
406}
407
408inline void QOpenGLFunctions_3_2_Core::glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels)
409{
410 d_1_0_Core->f.GetTexImage(target, level, format, type, pixels);
411}
412
413inline const GLubyte * QOpenGLFunctions_3_2_Core::glGetString(GLenum name)
414{
415 return d_1_0_Core->f.GetString(name);
416}
417
418inline void QOpenGLFunctions_3_2_Core::glGetIntegerv(GLenum pname, GLint *params)
419{
420 d_1_0_Core->f.GetIntegerv(pname, params);
421}
422
423inline void QOpenGLFunctions_3_2_Core::glGetFloatv(GLenum pname, GLfloat *params)
424{
425 d_1_0_Core->f.GetFloatv(pname, params);
426}
427
428inline GLenum QOpenGLFunctions_3_2_Core::glGetError()
429{
430 return d_1_0_Core->f.GetError();
431}
432
433inline void QOpenGLFunctions_3_2_Core::glGetDoublev(GLenum pname, GLdouble *params)
434{
435 d_1_0_Core->f.GetDoublev(pname, params);
436}
437
438inline void QOpenGLFunctions_3_2_Core::glGetBooleanv(GLenum pname, GLboolean *params)
439{
440 d_1_0_Core->f.GetBooleanv(pname, params);
441}
442
443inline void QOpenGLFunctions_3_2_Core::glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels)
444{
445 d_1_0_Core->f.ReadPixels(x, y, width, height, format, type, pixels);
446}
447
448inline void QOpenGLFunctions_3_2_Core::glReadBuffer(GLenum mode)
449{
450 d_1_0_Core->f.ReadBuffer(mode);
451}
452
453inline void QOpenGLFunctions_3_2_Core::glPixelStorei(GLenum pname, GLint param)
454{
455 d_1_0_Core->f.PixelStorei(pname, param);
456}
457
458inline void QOpenGLFunctions_3_2_Core::glPixelStoref(GLenum pname, GLfloat param)
459{
460 d_1_0_Core->f.PixelStoref(pname, param);
461}
462
463inline void QOpenGLFunctions_3_2_Core::glDepthFunc(GLenum func)
464{
465 d_1_0_Core->f.DepthFunc(func);
466}
467
468inline void QOpenGLFunctions_3_2_Core::glStencilOp(GLenum fail, GLenum zfail, GLenum zpass)
469{
470 d_1_0_Core->f.StencilOp(fail, zfail, zpass);
471}
472
473inline void QOpenGLFunctions_3_2_Core::glStencilFunc(GLenum func, GLint ref, GLuint mask)
474{
475 d_1_0_Core->f.StencilFunc(func, ref, mask);
476}
477
478inline void QOpenGLFunctions_3_2_Core::glLogicOp(GLenum opcode)
479{
480 d_1_0_Core->f.LogicOp(opcode);
481}
482
483inline void QOpenGLFunctions_3_2_Core::glBlendFunc(GLenum sfactor, GLenum dfactor)
484{
485 d_1_0_Core->f.BlendFunc(sfactor, dfactor);
486}
487
488inline void QOpenGLFunctions_3_2_Core::glFlush()
489{
490 d_1_0_Core->f.Flush();
491}
492
493inline void QOpenGLFunctions_3_2_Core::glFinish()
494{
495 d_1_0_Core->f.Finish();
496}
497
498inline void QOpenGLFunctions_3_2_Core::glEnable(GLenum cap)
499{
500 d_1_0_Core->f.Enable(cap);
501}
502
503inline void QOpenGLFunctions_3_2_Core::glDisable(GLenum cap)
504{
505 d_1_0_Core->f.Disable(cap);
506}
507
508inline void QOpenGLFunctions_3_2_Core::glDepthMask(GLboolean flag)
509{
510 d_1_0_Core->f.DepthMask(flag);
511}
512
513inline void QOpenGLFunctions_3_2_Core::glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
514{
515 d_1_0_Core->f.ColorMask(red, green, blue, alpha);
516}
517
518inline void QOpenGLFunctions_3_2_Core::glStencilMask(GLuint mask)
519{
520 d_1_0_Core->f.StencilMask(mask);
521}
522
523inline void QOpenGLFunctions_3_2_Core::glClearDepth(GLdouble depth)
524{
525 d_1_0_Core->f.ClearDepth(depth);
526}
527
528inline void QOpenGLFunctions_3_2_Core::glClearStencil(GLint s)
529{
530 d_1_0_Core->f.ClearStencil(s);
531}
532
533inline void QOpenGLFunctions_3_2_Core::glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
534{
535 d_1_0_Core->f.ClearColor(red, green, blue, alpha);
536}
537
538inline void QOpenGLFunctions_3_2_Core::glClear(GLbitfield mask)
539{
540 d_1_0_Core->f.Clear(mask);
541}
542
543inline void QOpenGLFunctions_3_2_Core::glDrawBuffer(GLenum mode)
544{
545 d_1_0_Core->f.DrawBuffer(mode);
546}
547
548inline void QOpenGLFunctions_3_2_Core::glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
549{
550 d_1_0_Core->f.TexImage2D(target, level, internalformat, width, height, border, format, type, pixels);
551}
552
553inline void QOpenGLFunctions_3_2_Core::glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
554{
555 d_1_0_Core->f.TexImage1D(target, level, internalformat, width, border, format, type, pixels);
556}
557
558inline void QOpenGLFunctions_3_2_Core::glTexParameteriv(GLenum target, GLenum pname, const GLint *params)
559{
560 d_1_0_Core->f.TexParameteriv(target, pname, params);
561}
562
563inline void QOpenGLFunctions_3_2_Core::glTexParameteri(GLenum target, GLenum pname, GLint param)
564{
565 d_1_0_Core->f.TexParameteri(target, pname, param);
566}
567
568inline void QOpenGLFunctions_3_2_Core::glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params)
569{
570 d_1_0_Core->f.TexParameterfv(target, pname, params);
571}
572
573inline void QOpenGLFunctions_3_2_Core::glTexParameterf(GLenum target, GLenum pname, GLfloat param)
574{
575 d_1_0_Core->f.TexParameterf(target, pname, param);
576}
577
578inline void QOpenGLFunctions_3_2_Core::glScissor(GLint x, GLint y, GLsizei width, GLsizei height)
579{
580 d_1_0_Core->f.Scissor(x, y, width, height);
581}
582
583inline void QOpenGLFunctions_3_2_Core::glPolygonMode(GLenum face, GLenum mode)
584{
585 d_1_0_Core->f.PolygonMode(face, mode);
586}
587
588inline void QOpenGLFunctions_3_2_Core::glPointSize(GLfloat size)
589{
590 d_1_0_Core->f.PointSize(size);
591}
592
593inline void QOpenGLFunctions_3_2_Core::glLineWidth(GLfloat width)
594{
595 d_1_0_Core->f.LineWidth(width);
596}
597
598inline void QOpenGLFunctions_3_2_Core::glHint(GLenum target, GLenum mode)
599{
600 d_1_0_Core->f.Hint(target, mode);
601}
602
603inline void QOpenGLFunctions_3_2_Core::glFrontFace(GLenum mode)
604{
605 d_1_0_Core->f.FrontFace(mode);
606}
607
608inline void QOpenGLFunctions_3_2_Core::glCullFace(GLenum mode)
609{
610 d_1_0_Core->f.CullFace(mode);
611}
612
613
614// OpenGL 1.1 core functions
615inline GLboolean QOpenGLFunctions_3_2_Core::glIsTexture(GLuint texture)
616{
617 return d_1_1_Core->f.IsTexture(texture);
618}
619
620inline void QOpenGLFunctions_3_2_Core::glGenTextures(GLsizei n, GLuint *textures)
621{
622 d_1_1_Core->f.GenTextures(n, textures);
623}
624
625inline void QOpenGLFunctions_3_2_Core::glDeleteTextures(GLsizei n, const GLuint *textures)
626{
627 d_1_1_Core->f.DeleteTextures(n, textures);
628}
629
630inline void QOpenGLFunctions_3_2_Core::glBindTexture(GLenum target, GLuint texture)
631{
632 d_1_1_Core->f.BindTexture(target, texture);
633}
634
635inline void QOpenGLFunctions_3_2_Core::glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)
636{
637 d_1_1_Core->f.TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels);
638}
639
640inline void QOpenGLFunctions_3_2_Core::glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels)
641{
642 d_1_1_Core->f.TexSubImage1D(target, level, xoffset, width, format, type, pixels);
643}
644
645inline void QOpenGLFunctions_3_2_Core::glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
646{
647 d_1_1_Core->f.CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);
648}
649
650inline void QOpenGLFunctions_3_2_Core::glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)
651{
652 d_1_1_Core->f.CopyTexSubImage1D(target, level, xoffset, x, y, width);
653}
654
655inline void QOpenGLFunctions_3_2_Core::glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
656{
657 d_1_1_Core->f.CopyTexImage2D(target, level, internalformat, x, y, width, height, border);
658}
659
660inline void QOpenGLFunctions_3_2_Core::glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border)
661{
662 d_1_1_Core->f.CopyTexImage1D(target, level, internalformat, x, y, width, border);
663}
664
665inline void QOpenGLFunctions_3_2_Core::glPolygonOffset(GLfloat factor, GLfloat units)
666{
667 d_1_1_Core->f.PolygonOffset(factor, units);
668}
669
670inline void QOpenGLFunctions_3_2_Core::glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices)
671{
672 d_1_1_Core->f.DrawElements(mode, count, type, indices);
673}
674
675inline void QOpenGLFunctions_3_2_Core::glDrawArrays(GLenum mode, GLint first, GLsizei count)
676{
677 d_1_1_Core->f.DrawArrays(mode, first, count);
678}
679
680
681// OpenGL 1.2 core functions
682inline void QOpenGLFunctions_3_2_Core::glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
683{
684 d_1_2_Core->f.CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height);
685}
686
687inline void QOpenGLFunctions_3_2_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)
688{
689 d_1_2_Core->f.TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
690}
691
692inline void QOpenGLFunctions_3_2_Core::glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
693{
694 d_1_2_Core->f.TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels);
695}
696
697inline void QOpenGLFunctions_3_2_Core::glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices)
698{
699 d_1_2_Core->f.DrawRangeElements(mode, start, end, count, type, indices);
700}
701
702inline void QOpenGLFunctions_3_2_Core::glBlendEquation(GLenum mode)
703{
704 d_1_2_Core->f.BlendEquation(mode);
705}
706
707inline void QOpenGLFunctions_3_2_Core::glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
708{
709 d_1_2_Core->f.BlendColor(red, green, blue, alpha);
710}
711
712
713// OpenGL 1.3 core functions
714inline void QOpenGLFunctions_3_2_Core::glGetCompressedTexImage(GLenum target, GLint level, GLvoid *img)
715{
716 d_1_3_Core->f.GetCompressedTexImage(target, level, img);
717}
718
719inline void QOpenGLFunctions_3_2_Core::glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data)
720{
721 d_1_3_Core->f.CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data);
722}
723
724inline void QOpenGLFunctions_3_2_Core::glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data)
725{
726 d_1_3_Core->f.CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data);
727}
728
729inline void QOpenGLFunctions_3_2_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)
730{
731 d_1_3_Core->f.CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
732}
733
734inline void QOpenGLFunctions_3_2_Core::glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data)
735{
736 d_1_3_Core->f.CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data);
737}
738
739inline void QOpenGLFunctions_3_2_Core::glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data)
740{
741 d_1_3_Core->f.CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data);
742}
743
744inline void QOpenGLFunctions_3_2_Core::glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data)
745{
746 d_1_3_Core->f.CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data);
747}
748
749inline void QOpenGLFunctions_3_2_Core::glSampleCoverage(GLfloat value, GLboolean invert)
750{
751 d_1_3_Core->f.SampleCoverage(value, invert);
752}
753
754inline void QOpenGLFunctions_3_2_Core::glActiveTexture(GLenum texture)
755{
756 d_1_3_Core->f.ActiveTexture(texture);
757}
758
759
760// OpenGL 1.4 core functions
761inline void QOpenGLFunctions_3_2_Core::glPointParameteriv(GLenum pname, const GLint *params)
762{
763 d_1_4_Core->f.PointParameteriv(pname, params);
764}
765
766inline void QOpenGLFunctions_3_2_Core::glPointParameteri(GLenum pname, GLint param)
767{
768 d_1_4_Core->f.PointParameteri(pname, param);
769}
770
771inline void QOpenGLFunctions_3_2_Core::glPointParameterfv(GLenum pname, const GLfloat *params)
772{
773 d_1_4_Core->f.PointParameterfv(pname, params);
774}
775
776inline void QOpenGLFunctions_3_2_Core::glPointParameterf(GLenum pname, GLfloat param)
777{
778 d_1_4_Core->f.PointParameterf(pname, param);
779}
780
781inline void QOpenGLFunctions_3_2_Core::glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount)
782{
783 d_1_4_Core->f.MultiDrawElements(mode, count, type, indices, drawcount);
784}
785
786inline void QOpenGLFunctions_3_2_Core::glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount)
787{
788 d_1_4_Core->f.MultiDrawArrays(mode, first, count, drawcount);
789}
790
791inline void QOpenGLFunctions_3_2_Core::glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha)
792{
793 d_1_4_Core->f.BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha);
794}
795
796
797// OpenGL 1.5 core functions
798inline void QOpenGLFunctions_3_2_Core::glGetBufferPointerv(GLenum target, GLenum pname, GLvoid* *params)
799{
800 d_1_5_Core->f.GetBufferPointerv(target, pname, params);
801}
802
803inline void QOpenGLFunctions_3_2_Core::glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params)
804{
805 d_1_5_Core->f.GetBufferParameteriv(target, pname, params);
806}
807
808inline GLboolean QOpenGLFunctions_3_2_Core::glUnmapBuffer(GLenum target)
809{
810 return d_1_5_Core->f.UnmapBuffer(target);
811}
812
813inline GLvoid* QOpenGLFunctions_3_2_Core::glMapBuffer(GLenum target, GLenum access)
814{
815 return d_1_5_Core->f.MapBuffer(target, access);
816}
817
818inline void QOpenGLFunctions_3_2_Core::glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data)
819{
820 d_1_5_Core->f.GetBufferSubData(target, offset, size, data);
821}
822
823inline void QOpenGLFunctions_3_2_Core::glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data)
824{
825 d_1_5_Core->f.BufferSubData(target, offset, size, data);
826}
827
828inline void QOpenGLFunctions_3_2_Core::glBufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage)
829{
830 d_1_5_Core->f.BufferData(target, size, data, usage);
831}
832
833inline GLboolean QOpenGLFunctions_3_2_Core::glIsBuffer(GLuint buffer)
834{
835 return d_1_5_Core->f.IsBuffer(buffer);
836}
837
838inline void QOpenGLFunctions_3_2_Core::glGenBuffers(GLsizei n, GLuint *buffers)
839{
840 d_1_5_Core->f.GenBuffers(n, buffers);
841}
842
843inline void QOpenGLFunctions_3_2_Core::glDeleteBuffers(GLsizei n, const GLuint *buffers)
844{
845 d_1_5_Core->f.DeleteBuffers(n, buffers);
846}
847
848inline void QOpenGLFunctions_3_2_Core::glBindBuffer(GLenum target, GLuint buffer)
849{
850 d_1_5_Core->f.BindBuffer(target, buffer);
851}
852
853inline void QOpenGLFunctions_3_2_Core::glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params)
854{
855 d_1_5_Core->f.GetQueryObjectuiv(id, pname, params);
856}
857
858inline void QOpenGLFunctions_3_2_Core::glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params)
859{
860 d_1_5_Core->f.GetQueryObjectiv(id, pname, params);
861}
862
863inline void QOpenGLFunctions_3_2_Core::glGetQueryiv(GLenum target, GLenum pname, GLint *params)
864{
865 d_1_5_Core->f.GetQueryiv(target, pname, params);
866}
867
868inline void QOpenGLFunctions_3_2_Core::glEndQuery(GLenum target)
869{
870 d_1_5_Core->f.EndQuery(target);
871}
872
873inline void QOpenGLFunctions_3_2_Core::glBeginQuery(GLenum target, GLuint id)
874{
875 d_1_5_Core->f.BeginQuery(target, id);
876}
877
878inline GLboolean QOpenGLFunctions_3_2_Core::glIsQuery(GLuint id)
879{
880 return d_1_5_Core->f.IsQuery(id);
881}
882
883inline void QOpenGLFunctions_3_2_Core::glDeleteQueries(GLsizei n, const GLuint *ids)
884{
885 d_1_5_Core->f.DeleteQueries(n, ids);
886}
887
888inline void QOpenGLFunctions_3_2_Core::glGenQueries(GLsizei n, GLuint *ids)
889{
890 d_1_5_Core->f.GenQueries(n, ids);
891}
892
893
894// OpenGL 2.0 core functions
895inline void QOpenGLFunctions_3_2_Core::glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer)
896{
897 d_2_0_Core->f.VertexAttribPointer(index, size, type, normalized, stride, pointer);
898}
899
900inline void QOpenGLFunctions_3_2_Core::glValidateProgram(GLuint program)
901{
902 d_2_0_Core->f.ValidateProgram(program);
903}
904
905inline void QOpenGLFunctions_3_2_Core::glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
906{
907 d_2_0_Core->f.UniformMatrix4fv(location, count, transpose, value);
908}
909
910inline void QOpenGLFunctions_3_2_Core::glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
911{
912 d_2_0_Core->f.UniformMatrix3fv(location, count, transpose, value);
913}
914
915inline void QOpenGLFunctions_3_2_Core::glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
916{
917 d_2_0_Core->f.UniformMatrix2fv(location, count, transpose, value);
918}
919
920inline void QOpenGLFunctions_3_2_Core::glUniform4iv(GLint location, GLsizei count, const GLint *value)
921{
922 d_2_0_Core->f.Uniform4iv(location, count, value);
923}
924
925inline void QOpenGLFunctions_3_2_Core::glUniform3iv(GLint location, GLsizei count, const GLint *value)
926{
927 d_2_0_Core->f.Uniform3iv(location, count, value);
928}
929
930inline void QOpenGLFunctions_3_2_Core::glUniform2iv(GLint location, GLsizei count, const GLint *value)
931{
932 d_2_0_Core->f.Uniform2iv(location, count, value);
933}
934
935inline void QOpenGLFunctions_3_2_Core::glUniform1iv(GLint location, GLsizei count, const GLint *value)
936{
937 d_2_0_Core->f.Uniform1iv(location, count, value);
938}
939
940inline void QOpenGLFunctions_3_2_Core::glUniform4fv(GLint location, GLsizei count, const GLfloat *value)
941{
942 d_2_0_Core->f.Uniform4fv(location, count, value);
943}
944
945inline void QOpenGLFunctions_3_2_Core::glUniform3fv(GLint location, GLsizei count, const GLfloat *value)
946{
947 d_2_0_Core->f.Uniform3fv(location, count, value);
948}
949
950inline void QOpenGLFunctions_3_2_Core::glUniform2fv(GLint location, GLsizei count, const GLfloat *value)
951{
952 d_2_0_Core->f.Uniform2fv(location, count, value);
953}
954
955inline void QOpenGLFunctions_3_2_Core::glUniform1fv(GLint location, GLsizei count, const GLfloat *value)
956{
957 d_2_0_Core->f.Uniform1fv(location, count, value);
958}
959
960inline void QOpenGLFunctions_3_2_Core::glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3)
961{
962 d_2_0_Core->f.Uniform4i(location, v0, v1, v2, v3);
963}
964
965inline void QOpenGLFunctions_3_2_Core::glUniform3i(GLint location, GLint v0, GLint v1, GLint v2)
966{
967 d_2_0_Core->f.Uniform3i(location, v0, v1, v2);
968}
969
970inline void QOpenGLFunctions_3_2_Core::glUniform2i(GLint location, GLint v0, GLint v1)
971{
972 d_2_0_Core->f.Uniform2i(location, v0, v1);
973}
974
975inline void QOpenGLFunctions_3_2_Core::glUniform1i(GLint location, GLint v0)
976{
977 d_2_0_Core->f.Uniform1i(location, v0);
978}
979
980inline void QOpenGLFunctions_3_2_Core::glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)
981{
982 d_2_0_Core->f.Uniform4f(location, v0, v1, v2, v3);
983}
984
985inline void QOpenGLFunctions_3_2_Core::glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2)
986{
987 d_2_0_Core->f.Uniform3f(location, v0, v1, v2);
988}
989
990inline void QOpenGLFunctions_3_2_Core::glUniform2f(GLint location, GLfloat v0, GLfloat v1)
991{
992 d_2_0_Core->f.Uniform2f(location, v0, v1);
993}
994
995inline void QOpenGLFunctions_3_2_Core::glUniform1f(GLint location, GLfloat v0)
996{
997 d_2_0_Core->f.Uniform1f(location, v0);
998}
999
1000inline void QOpenGLFunctions_3_2_Core::glUseProgram(GLuint program)
1001{
1002 d_2_0_Core->f.UseProgram(program);
1003}
1004
1005inline void QOpenGLFunctions_3_2_Core::glShaderSource(GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length)
1006{
1007 d_2_0_Core->f.ShaderSource(shader, count, string, length);
1008}
1009
1010inline void QOpenGLFunctions_3_2_Core::glLinkProgram(GLuint program)
1011{
1012 d_2_0_Core->f.LinkProgram(program);
1013}
1014
1015inline GLboolean QOpenGLFunctions_3_2_Core::glIsShader(GLuint shader)
1016{
1017 return d_2_0_Core->f.IsShader(shader);
1018}
1019
1020inline GLboolean QOpenGLFunctions_3_2_Core::glIsProgram(GLuint program)
1021{
1022 return d_2_0_Core->f.IsProgram(program);
1023}
1024
1025inline void QOpenGLFunctions_3_2_Core::glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid* *pointer)
1026{
1027 d_2_0_Core->f.GetVertexAttribPointerv(index, pname, pointer);
1028}
1029
1030inline void QOpenGLFunctions_3_2_Core::glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params)
1031{
1032 d_2_0_Core->f.GetVertexAttribiv(index, pname, params);
1033}
1034
1035inline void QOpenGLFunctions_3_2_Core::glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params)
1036{
1037 d_2_0_Core->f.GetVertexAttribfv(index, pname, params);
1038}
1039
1040inline void QOpenGLFunctions_3_2_Core::glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params)
1041{
1042 d_2_0_Core->f.GetVertexAttribdv(index, pname, params);
1043}
1044
1045inline void QOpenGLFunctions_3_2_Core::glGetUniformiv(GLuint program, GLint location, GLint *params)
1046{
1047 d_2_0_Core->f.GetUniformiv(program, location, params);
1048}
1049
1050inline void QOpenGLFunctions_3_2_Core::glGetUniformfv(GLuint program, GLint location, GLfloat *params)
1051{
1052 d_2_0_Core->f.GetUniformfv(program, location, params);
1053}
1054
1055inline GLint QOpenGLFunctions_3_2_Core::glGetUniformLocation(GLuint program, const GLchar *name)
1056{
1057 return d_2_0_Core->f.GetUniformLocation(program, name);
1058}
1059
1060inline void QOpenGLFunctions_3_2_Core::glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source)
1061{
1062 d_2_0_Core->f.GetShaderSource(shader, bufSize, length, source);
1063}
1064
1065inline void QOpenGLFunctions_3_2_Core::glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog)
1066{
1067 d_2_0_Core->f.GetShaderInfoLog(shader, bufSize, length, infoLog);
1068}
1069
1070inline void QOpenGLFunctions_3_2_Core::glGetShaderiv(GLuint shader, GLenum pname, GLint *params)
1071{
1072 d_2_0_Core->f.GetShaderiv(shader, pname, params);
1073}
1074
1075inline void QOpenGLFunctions_3_2_Core::glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog)
1076{
1077 d_2_0_Core->f.GetProgramInfoLog(program, bufSize, length, infoLog);
1078}
1079
1080inline void QOpenGLFunctions_3_2_Core::glGetProgramiv(GLuint program, GLenum pname, GLint *params)
1081{
1082 d_2_0_Core->f.GetProgramiv(program, pname, params);
1083}
1084
1085inline GLint QOpenGLFunctions_3_2_Core::glGetAttribLocation(GLuint program, const GLchar *name)
1086{
1087 return d_2_0_Core->f.GetAttribLocation(program, name);
1088}
1089
1090inline void QOpenGLFunctions_3_2_Core::glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj)
1091{
1092 d_2_0_Core->f.GetAttachedShaders(program, maxCount, count, obj);
1093}
1094
1095inline void QOpenGLFunctions_3_2_Core::glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name)
1096{
1097 d_2_0_Core->f.GetActiveUniform(program, index, bufSize, length, size, type, name);
1098}
1099
1100inline void QOpenGLFunctions_3_2_Core::glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name)
1101{
1102 d_2_0_Core->f.GetActiveAttrib(program, index, bufSize, length, size, type, name);
1103}
1104
1105inline void QOpenGLFunctions_3_2_Core::glEnableVertexAttribArray(GLuint index)
1106{
1107 d_2_0_Core->f.EnableVertexAttribArray(index);
1108}
1109
1110inline void QOpenGLFunctions_3_2_Core::glDisableVertexAttribArray(GLuint index)
1111{
1112 d_2_0_Core->f.DisableVertexAttribArray(index);
1113}
1114
1115inline void QOpenGLFunctions_3_2_Core::glDetachShader(GLuint program, GLuint shader)
1116{
1117 d_2_0_Core->f.DetachShader(program, shader);
1118}
1119
1120inline void QOpenGLFunctions_3_2_Core::glDeleteShader(GLuint shader)
1121{
1122 d_2_0_Core->f.DeleteShader(shader);
1123}
1124
1125inline void QOpenGLFunctions_3_2_Core::glDeleteProgram(GLuint program)
1126{
1127 d_2_0_Core->f.DeleteProgram(program);
1128}
1129
1130inline GLuint QOpenGLFunctions_3_2_Core::glCreateShader(GLenum type)
1131{
1132 return d_2_0_Core->f.CreateShader(type);
1133}
1134
1135inline GLuint QOpenGLFunctions_3_2_Core::glCreateProgram()
1136{
1137 return d_2_0_Core->f.CreateProgram();
1138}
1139
1140inline void QOpenGLFunctions_3_2_Core::glCompileShader(GLuint shader)
1141{
1142 d_2_0_Core->f.CompileShader(shader);
1143}
1144
1145inline void QOpenGLFunctions_3_2_Core::glBindAttribLocation(GLuint program, GLuint index, const GLchar *name)
1146{
1147 d_2_0_Core->f.BindAttribLocation(program, index, name);
1148}
1149
1150inline void QOpenGLFunctions_3_2_Core::glAttachShader(GLuint program, GLuint shader)
1151{
1152 d_2_0_Core->f.AttachShader(program, shader);
1153}
1154
1155inline void QOpenGLFunctions_3_2_Core::glStencilMaskSeparate(GLenum face, GLuint mask)
1156{
1157 d_2_0_Core->f.StencilMaskSeparate(face, mask);
1158}
1159
1160inline void QOpenGLFunctions_3_2_Core::glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask)
1161{
1162 d_2_0_Core->f.StencilFuncSeparate(face, func, ref, mask);
1163}
1164
1165inline void QOpenGLFunctions_3_2_Core::glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass)
1166{
1167 d_2_0_Core->f.StencilOpSeparate(face, sfail, dpfail, dppass);
1168}
1169
1170inline void QOpenGLFunctions_3_2_Core::glDrawBuffers(GLsizei n, const GLenum *bufs)
1171{
1172 d_2_0_Core->f.DrawBuffers(n, bufs);
1173}
1174
1175inline void QOpenGLFunctions_3_2_Core::glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha)
1176{
1177 d_2_0_Core->f.BlendEquationSeparate(modeRGB, modeAlpha);
1178}
1179
1180
1181// OpenGL 2.1 core functions
1182inline void QOpenGLFunctions_3_2_Core::glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1183{
1184 d_2_1_Core->f.UniformMatrix4x3fv(location, count, transpose, value);
1185}
1186
1187inline void QOpenGLFunctions_3_2_Core::glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1188{
1189 d_2_1_Core->f.UniformMatrix3x4fv(location, count, transpose, value);
1190}
1191
1192inline void QOpenGLFunctions_3_2_Core::glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1193{
1194 d_2_1_Core->f.UniformMatrix4x2fv(location, count, transpose, value);
1195}
1196
1197inline void QOpenGLFunctions_3_2_Core::glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1198{
1199 d_2_1_Core->f.UniformMatrix2x4fv(location, count, transpose, value);
1200}
1201
1202inline void QOpenGLFunctions_3_2_Core::glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1203{
1204 d_2_1_Core->f.UniformMatrix3x2fv(location, count, transpose, value);
1205}
1206
1207inline void QOpenGLFunctions_3_2_Core::glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1208{
1209 d_2_1_Core->f.UniformMatrix2x3fv(location, count, transpose, value);
1210}
1211
1212
1213// OpenGL 3.0 core functions
1214inline GLboolean QOpenGLFunctions_3_2_Core::glIsVertexArray(GLuint array)
1215{
1216 return d_3_0_Core->f.IsVertexArray(array);
1217}
1218
1219inline void QOpenGLFunctions_3_2_Core::glGenVertexArrays(GLsizei n, GLuint *arrays)
1220{
1221 d_3_0_Core->f.GenVertexArrays(n, arrays);
1222}
1223
1224inline void QOpenGLFunctions_3_2_Core::glDeleteVertexArrays(GLsizei n, const GLuint *arrays)
1225{
1226 d_3_0_Core->f.DeleteVertexArrays(n, arrays);
1227}
1228
1229inline void QOpenGLFunctions_3_2_Core::glBindVertexArray(GLuint array)
1230{
1231 d_3_0_Core->f.BindVertexArray(array);
1232}
1233
1234inline void QOpenGLFunctions_3_2_Core::glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length)
1235{
1236 d_3_0_Core->f.FlushMappedBufferRange(target, offset, length);
1237}
1238
1239inline GLvoid* QOpenGLFunctions_3_2_Core::glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access)
1240{
1241 return d_3_0_Core->f.MapBufferRange(target, offset, length, access);
1242}
1243
1244inline void QOpenGLFunctions_3_2_Core::glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)
1245{
1246 d_3_0_Core->f.FramebufferTextureLayer(target, attachment, texture, level, layer);
1247}
1248
1249inline void QOpenGLFunctions_3_2_Core::glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
1250{
1251 d_3_0_Core->f.RenderbufferStorageMultisample(target, samples, internalformat, width, height);
1252}
1253
1254inline void QOpenGLFunctions_3_2_Core::glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)
1255{
1256 d_3_0_Core->f.BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
1257}
1258
1259inline void QOpenGLFunctions_3_2_Core::glGenerateMipmap(GLenum target)
1260{
1261 d_3_0_Core->f.GenerateMipmap(target);
1262}
1263
1264inline void QOpenGLFunctions_3_2_Core::glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params)
1265{
1266 d_3_0_Core->f.GetFramebufferAttachmentParameteriv(target, attachment, pname, params);
1267}
1268
1269inline void QOpenGLFunctions_3_2_Core::glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
1270{
1271 d_3_0_Core->f.FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer);
1272}
1273
1274inline void QOpenGLFunctions_3_2_Core::glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset)
1275{
1276 d_3_0_Core->f.FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset);
1277}
1278
1279inline void QOpenGLFunctions_3_2_Core::glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
1280{
1281 d_3_0_Core->f.FramebufferTexture2D(target, attachment, textarget, texture, level);
1282}
1283
1284inline void QOpenGLFunctions_3_2_Core::glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
1285{
1286 d_3_0_Core->f.FramebufferTexture1D(target, attachment, textarget, texture, level);
1287}
1288
1289inline GLenum QOpenGLFunctions_3_2_Core::glCheckFramebufferStatus(GLenum target)
1290{
1291 return d_3_0_Core->f.CheckFramebufferStatus(target);
1292}
1293
1294inline void QOpenGLFunctions_3_2_Core::glGenFramebuffers(GLsizei n, GLuint *framebuffers)
1295{
1296 d_3_0_Core->f.GenFramebuffers(n, framebuffers);
1297}
1298
1299inline void QOpenGLFunctions_3_2_Core::glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers)
1300{
1301 d_3_0_Core->f.DeleteFramebuffers(n, framebuffers);
1302}
1303
1304inline void QOpenGLFunctions_3_2_Core::glBindFramebuffer(GLenum target, GLuint framebuffer)
1305{
1306 d_3_0_Core->f.BindFramebuffer(target, framebuffer);
1307}
1308
1309inline GLboolean QOpenGLFunctions_3_2_Core::glIsFramebuffer(GLuint framebuffer)
1310{
1311 return d_3_0_Core->f.IsFramebuffer(framebuffer);
1312}
1313
1314inline void QOpenGLFunctions_3_2_Core::glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params)
1315{
1316 d_3_0_Core->f.GetRenderbufferParameteriv(target, pname, params);
1317}
1318
1319inline void QOpenGLFunctions_3_2_Core::glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)
1320{
1321 d_3_0_Core->f.RenderbufferStorage(target, internalformat, width, height);
1322}
1323
1324inline void QOpenGLFunctions_3_2_Core::glGenRenderbuffers(GLsizei n, GLuint *renderbuffers)
1325{
1326 d_3_0_Core->f.GenRenderbuffers(n, renderbuffers);
1327}
1328
1329inline void QOpenGLFunctions_3_2_Core::glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers)
1330{
1331 d_3_0_Core->f.DeleteRenderbuffers(n, renderbuffers);
1332}
1333
1334inline void QOpenGLFunctions_3_2_Core::glBindRenderbuffer(GLenum target, GLuint renderbuffer)
1335{
1336 d_3_0_Core->f.BindRenderbuffer(target, renderbuffer);
1337}
1338
1339inline GLboolean QOpenGLFunctions_3_2_Core::glIsRenderbuffer(GLuint renderbuffer)
1340{
1341 return d_3_0_Core->f.IsRenderbuffer(renderbuffer);
1342}
1343
1344inline const GLubyte * QOpenGLFunctions_3_2_Core::glGetStringi(GLenum name, GLuint index)
1345{
1346 return d_3_0_Core->f.GetStringi(name, index);
1347}
1348
1349inline void QOpenGLFunctions_3_2_Core::glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil)
1350{
1351 d_3_0_Core->f.ClearBufferfi(buffer, drawbuffer, depth, stencil);
1352}
1353
1354inline void QOpenGLFunctions_3_2_Core::glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value)
1355{
1356 d_3_0_Core->f.ClearBufferfv(buffer, drawbuffer, value);
1357}
1358
1359inline void QOpenGLFunctions_3_2_Core::glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value)
1360{
1361 d_3_0_Core->f.ClearBufferuiv(buffer, drawbuffer, value);
1362}
1363
1364inline void QOpenGLFunctions_3_2_Core::glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value)
1365{
1366 d_3_0_Core->f.ClearBufferiv(buffer, drawbuffer, value);
1367}
1368
1369inline void QOpenGLFunctions_3_2_Core::glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params)
1370{
1371 d_3_0_Core->f.GetTexParameterIuiv(target, pname, params);
1372}
1373
1374inline void QOpenGLFunctions_3_2_Core::glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params)
1375{
1376 d_3_0_Core->f.GetTexParameterIiv(target, pname, params);
1377}
1378
1379inline void QOpenGLFunctions_3_2_Core::glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params)
1380{
1381 d_3_0_Core->f.TexParameterIuiv(target, pname, params);
1382}
1383
1384inline void QOpenGLFunctions_3_2_Core::glTexParameterIiv(GLenum target, GLenum pname, const GLint *params)
1385{
1386 d_3_0_Core->f.TexParameterIiv(target, pname, params);
1387}
1388
1389inline void QOpenGLFunctions_3_2_Core::glUniform4uiv(GLint location, GLsizei count, const GLuint *value)
1390{
1391 d_3_0_Core->f.Uniform4uiv(location, count, value);
1392}
1393
1394inline void QOpenGLFunctions_3_2_Core::glUniform3uiv(GLint location, GLsizei count, const GLuint *value)
1395{
1396 d_3_0_Core->f.Uniform3uiv(location, count, value);
1397}
1398
1399inline void QOpenGLFunctions_3_2_Core::glUniform2uiv(GLint location, GLsizei count, const GLuint *value)
1400{
1401 d_3_0_Core->f.Uniform2uiv(location, count, value);
1402}
1403
1404inline void QOpenGLFunctions_3_2_Core::glUniform1uiv(GLint location, GLsizei count, const GLuint *value)
1405{
1406 d_3_0_Core->f.Uniform1uiv(location, count, value);
1407}
1408
1409inline void QOpenGLFunctions_3_2_Core::glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)
1410{
1411 d_3_0_Core->f.Uniform4ui(location, v0, v1, v2, v3);
1412}
1413
1414inline void QOpenGLFunctions_3_2_Core::glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2)
1415{
1416 d_3_0_Core->f.Uniform3ui(location, v0, v1, v2);
1417}
1418
1419inline void QOpenGLFunctions_3_2_Core::glUniform2ui(GLint location, GLuint v0, GLuint v1)
1420{
1421 d_3_0_Core->f.Uniform2ui(location, v0, v1);
1422}
1423
1424inline void QOpenGLFunctions_3_2_Core::glUniform1ui(GLint location, GLuint v0)
1425{
1426 d_3_0_Core->f.Uniform1ui(location, v0);
1427}
1428
1429inline GLint QOpenGLFunctions_3_2_Core::glGetFragDataLocation(GLuint program, const GLchar *name)
1430{
1431 return d_3_0_Core->f.GetFragDataLocation(program, name);
1432}
1433
1434inline void QOpenGLFunctions_3_2_Core::glBindFragDataLocation(GLuint program, GLuint color, const GLchar *name)
1435{
1436 d_3_0_Core->f.BindFragDataLocation(program, color, name);
1437}
1438
1439inline void QOpenGLFunctions_3_2_Core::glGetUniformuiv(GLuint program, GLint location, GLuint *params)
1440{
1441 d_3_0_Core->f.GetUniformuiv(program, location, params);
1442}
1443
1444inline void QOpenGLFunctions_3_2_Core::glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params)
1445{
1446 d_3_0_Core->f.GetVertexAttribIuiv(index, pname, params);
1447}
1448
1449inline void QOpenGLFunctions_3_2_Core::glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params)
1450{
1451 d_3_0_Core->f.GetVertexAttribIiv(index, pname, params);
1452}
1453
1454inline void QOpenGLFunctions_3_2_Core::glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
1455{
1456 d_3_0_Core->f.VertexAttribIPointer(index, size, type, stride, pointer);
1457}
1458
1459inline void QOpenGLFunctions_3_2_Core::glEndConditionalRender()
1460{
1461 d_3_0_Core->f.EndConditionalRender();
1462}
1463
1464inline void QOpenGLFunctions_3_2_Core::glBeginConditionalRender(GLuint id, GLenum mode)
1465{
1466 d_3_0_Core->f.BeginConditionalRender(id, mode);
1467}
1468
1469inline void QOpenGLFunctions_3_2_Core::glClampColor(GLenum target, GLenum clamp)
1470{
1471 d_3_0_Core->f.ClampColor(target, clamp);
1472}
1473
1474inline void QOpenGLFunctions_3_2_Core::glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name)
1475{
1476 d_3_0_Core->f.GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name);
1477}
1478
1479inline void QOpenGLFunctions_3_2_Core::glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar* const *varyings, GLenum bufferMode)
1480{
1481 d_3_0_Core->f.TransformFeedbackVaryings(program, count, varyings, bufferMode);
1482}
1483
1484inline void QOpenGLFunctions_3_2_Core::glBindBufferBase(GLenum target, GLuint index, GLuint buffer)
1485{
1486 d_3_0_Core->f.BindBufferBase(target, index, buffer);
1487}
1488
1489inline void QOpenGLFunctions_3_2_Core::glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size)
1490{
1491 d_3_0_Core->f.BindBufferRange(target, index, buffer, offset, size);
1492}
1493
1494inline void QOpenGLFunctions_3_2_Core::glEndTransformFeedback()
1495{
1496 d_3_0_Core->f.EndTransformFeedback();
1497}
1498
1499inline void QOpenGLFunctions_3_2_Core::glBeginTransformFeedback(GLenum primitiveMode)
1500{
1501 d_3_0_Core->f.BeginTransformFeedback(primitiveMode);
1502}
1503
1504inline GLboolean QOpenGLFunctions_3_2_Core::glIsEnabledi(GLenum target, GLuint index)
1505{
1506 return d_3_0_Core->f.IsEnabledi(target, index);
1507}
1508
1509inline void QOpenGLFunctions_3_2_Core::glDisablei(GLenum target, GLuint index)
1510{
1511 d_3_0_Core->f.Disablei(target, index);
1512}
1513
1514inline void QOpenGLFunctions_3_2_Core::glEnablei(GLenum target, GLuint index)
1515{
1516 d_3_0_Core->f.Enablei(target, index);
1517}
1518
1519inline void QOpenGLFunctions_3_2_Core::glGetIntegeri_v(GLenum target, GLuint index, GLint *data)
1520{
1521 d_3_0_Core->f.GetIntegeri_v(target, index, data);
1522}
1523
1524inline void QOpenGLFunctions_3_2_Core::glGetBooleani_v(GLenum target, GLuint index, GLboolean *data)
1525{
1526 d_3_0_Core->f.GetBooleani_v(target, index, data);
1527}
1528
1529inline void QOpenGLFunctions_3_2_Core::glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a)
1530{
1531 d_3_0_Core->f.ColorMaski(index, r, g, b, a);
1532}
1533
1534
1535// OpenGL 3.1 core functions
1536inline void QOpenGLFunctions_3_2_Core::glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size)
1537{
1538 d_3_1_Core->f.CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size);
1539}
1540
1541inline void QOpenGLFunctions_3_2_Core::glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding)
1542{
1543 d_3_1_Core->f.UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding);
1544}
1545
1546inline void QOpenGLFunctions_3_2_Core::glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName)
1547{
1548 d_3_1_Core->f.GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName);
1549}
1550
1551inline void QOpenGLFunctions_3_2_Core::glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params)
1552{
1553 d_3_1_Core->f.GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params);
1554}
1555
1556inline GLuint QOpenGLFunctions_3_2_Core::glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName)
1557{
1558 return d_3_1_Core->f.GetUniformBlockIndex(program, uniformBlockName);
1559}
1560
1561inline void QOpenGLFunctions_3_2_Core::glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName)
1562{
1563 d_3_1_Core->f.GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName);
1564}
1565
1566inline void QOpenGLFunctions_3_2_Core::glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params)
1567{
1568 d_3_1_Core->f.GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params);
1569}
1570
1571inline void QOpenGLFunctions_3_2_Core::glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar* const *uniformNames, GLuint *uniformIndices)
1572{
1573 d_3_1_Core->f.GetUniformIndices(program, uniformCount, uniformNames, uniformIndices);
1574}
1575
1576inline void QOpenGLFunctions_3_2_Core::glPrimitiveRestartIndex(GLuint index)
1577{
1578 d_3_1_Core->f.PrimitiveRestartIndex(index);
1579}
1580
1581inline void QOpenGLFunctions_3_2_Core::glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer)
1582{
1583 d_3_1_Core->f.TexBuffer(target, internalformat, buffer);
1584}
1585
1586inline void QOpenGLFunctions_3_2_Core::glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount)
1587{
1588 d_3_1_Core->f.DrawElementsInstanced(mode, count, type, indices, instancecount);
1589}
1590
1591inline void QOpenGLFunctions_3_2_Core::glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount)
1592{
1593 d_3_1_Core->f.DrawArraysInstanced(mode, first, count, instancecount);
1594}
1595
1596
1597// OpenGL 3.2 core functions
1598inline void QOpenGLFunctions_3_2_Core::glSampleMaski(GLuint index, GLbitfield mask)
1599{
1600 d_3_2_Core->f.SampleMaski(index, mask);
1601}
1602
1603inline void QOpenGLFunctions_3_2_Core::glGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val)
1604{
1605 d_3_2_Core->f.GetMultisamplefv(pname, index, val);
1606}
1607
1608inline void QOpenGLFunctions_3_2_Core::glTexImage3DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations)
1609{
1610 d_3_2_Core->f.TexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations);
1611}
1612
1613inline void QOpenGLFunctions_3_2_Core::glTexImage2DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations)
1614{
1615 d_3_2_Core->f.TexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations);
1616}
1617
1618inline void QOpenGLFunctions_3_2_Core::glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values)
1619{
1620 d_3_2_Core->f.GetSynciv(sync, pname, bufSize, length, values);
1621}
1622
1623inline void QOpenGLFunctions_3_2_Core::glGetInteger64v(GLenum pname, GLint64 *params)
1624{
1625 d_3_2_Core->f.GetInteger64v(pname, params);
1626}
1627
1628inline void QOpenGLFunctions_3_2_Core::glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout)
1629{
1630 d_3_2_Core->f.WaitSync(sync, flags, timeout);
1631}
1632
1633inline GLenum QOpenGLFunctions_3_2_Core::glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout)
1634{
1635 return d_3_2_Core->f.ClientWaitSync(sync, flags, timeout);
1636}
1637
1638inline void QOpenGLFunctions_3_2_Core::glDeleteSync(GLsync sync)
1639{
1640 d_3_2_Core->f.DeleteSync(sync);
1641}
1642
1643inline GLboolean QOpenGLFunctions_3_2_Core::glIsSync(GLsync sync)
1644{
1645 return d_3_2_Core->f.IsSync(sync);
1646}
1647
1648inline GLsync QOpenGLFunctions_3_2_Core::glFenceSync(GLenum condition, GLbitfield flags)
1649{
1650 return d_3_2_Core->f.FenceSync(condition, flags);
1651}
1652
1653inline void QOpenGLFunctions_3_2_Core::glProvokingVertex(GLenum mode)
1654{
1655 d_3_2_Core->f.ProvokingVertex(mode);
1656}
1657
1658inline void QOpenGLFunctions_3_2_Core::glMultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount, const GLint *basevertex)
1659{
1660 d_3_2_Core->f.MultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex);
1661}
1662
1663inline void QOpenGLFunctions_3_2_Core::glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount, GLint basevertex)
1664{
1665 d_3_2_Core->f.DrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex);
1666}
1667
1668inline void QOpenGLFunctions_3_2_Core::glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex)
1669{
1670 d_3_2_Core->f.DrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex);
1671}
1672
1673inline void QOpenGLFunctions_3_2_Core::glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex)
1674{
1675 d_3_2_Core->f.DrawElementsBaseVertex(mode, count, type, indices, basevertex);
1676}
1677
1678inline void QOpenGLFunctions_3_2_Core::glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level)
1679{
1680 d_3_2_Core->f.FramebufferTexture(target, attachment, texture, level);
1681}
1682
1683inline void QOpenGLFunctions_3_2_Core::glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params)
1684{
1685 d_3_2_Core->f.GetBufferParameteri64v(target, pname, params);
1686}
1687
1688inline void QOpenGLFunctions_3_2_Core::glGetInteger64i_v(GLenum target, GLuint index, GLint64 *data)
1689{
1690 d_3_2_Core->f.GetInteger64i_v(target, index, data);
1691}
1692
1693
1694
1695QT_END_NAMESPACE
1696
1697#endif // QT_NO_OPENGL && !QT_CONFIG(opengles2)
1698
1699#endif
1700