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