1/****************************************************************************
2**
3** Copyright (C) 2013 Klaralvdalens Datakonsult AB (KDAB)
4** Copyright (C) 2016 The Qt Company Ltd.
5** Contact: https://www.qt.io/licensing/
6**
7** This file is part of the QtOpenGL module of the Qt Toolkit.
8**
9** $QT_BEGIN_LICENSE:LGPL$
10** Commercial License Usage
11** Licensees holding valid commercial Qt licenses may use this file in
12** accordance with the commercial license agreement provided with the
13** Software or, alternatively, in accordance with the terms contained in
14** a written agreement between you and The Qt Company. For licensing terms
15** and conditions see https://www.qt.io/terms-conditions. For further
16** information use the contact form at https://www.qt.io/contact-us.
17**
18** GNU Lesser General Public License Usage
19** Alternatively, this file may be used under the terms of the GNU Lesser
20** General Public License version 3 as published by the Free Software
21** Foundation and appearing in the file LICENSE.LGPL3 included in the
22** packaging of this file. Please review the following information to
23** ensure the GNU Lesser General Public License version 3 requirements
24** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
25**
26** GNU General Public License Usage
27** Alternatively, this file may be used under the terms of the GNU
28** General Public License version 2.0 or (at your option) the GNU General
29** Public license version 3 or any later version approved by the KDE Free
30** Qt Foundation. The licenses are as published by the Free Software
31** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
32** included in the packaging of this file. Please review the following
33** information to ensure the GNU General Public License requirements will
34** be met: https://www.gnu.org/licenses/gpl-2.0.html and
35** https://www.gnu.org/licenses/gpl-3.0.html.
36**
37** $QT_END_LICENSE$
38**
39**
40** This file was generated by glgen version 0.1
41** Command line was: glgen
42**
43** glgen is Copyright (C) 2013 Klaralvdalens Datakonsult AB (KDAB)
44**
45** This is an auto-generated file.
46** Do not edit! All changes made to it will be lost.
47**
48****************************************************************************/
49
50#ifndef QOPENGLVERSIONFUNCTIONS_4_2_CORE_H
51#define QOPENGLVERSIONFUNCTIONS_4_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
61// MemoryBarrier is a macro on some architectures on Windows
62#ifdef Q_OS_WIN
63#pragma push_macro("MemoryBarrier")
64#undef MemoryBarrier
65#endif
66
67QT_BEGIN_NAMESPACE
68
69class Q_OPENGL_EXPORT QOpenGLFunctions_4_2_Core : public QAbstractOpenGLFunctions
70{
71public:
72 QOpenGLFunctions_4_2_Core();
73 ~QOpenGLFunctions_4_2_Core();
74
75 bool initializeOpenGLFunctions() override;
76
77 // OpenGL 1.0 core functions
78 void glViewport(GLint x, GLint y, GLsizei width, GLsizei height);
79 void glDepthRange(GLdouble nearVal, GLdouble farVal);
80 GLboolean glIsEnabled(GLenum cap);
81 void glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params);
82 void glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params);
83 void glGetTexParameteriv(GLenum target, GLenum pname, GLint *params);
84 void glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params);
85 void glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
86 const GLubyte * glGetString(GLenum name);
87 void glGetIntegerv(GLenum pname, GLint *params);
88 void glGetFloatv(GLenum pname, GLfloat *params);
89 GLenum glGetError();
90 void glGetDoublev(GLenum pname, GLdouble *params);
91 void glGetBooleanv(GLenum pname, GLboolean *params);
92 void glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);
93 void glReadBuffer(GLenum mode);
94 void glPixelStorei(GLenum pname, GLint param);
95 void glPixelStoref(GLenum pname, GLfloat param);
96 void glDepthFunc(GLenum func);
97 void glStencilOp(GLenum fail, GLenum zfail, GLenum zpass);
98 void glStencilFunc(GLenum func, GLint ref, GLuint mask);
99 void glLogicOp(GLenum opcode);
100 void glBlendFunc(GLenum sfactor, GLenum dfactor);
101 void glFlush();
102 void glFinish();
103 void glEnable(GLenum cap);
104 void glDisable(GLenum cap);
105 void glDepthMask(GLboolean flag);
106 void glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
107 void glStencilMask(GLuint mask);
108 void glClearDepth(GLdouble depth);
109 void glClearStencil(GLint s);
110 void glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
111 void glClear(GLbitfield mask);
112 void glDrawBuffer(GLenum mode);
113 void glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
114 void glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
115 void glTexParameteriv(GLenum target, GLenum pname, const GLint *params);
116 void glTexParameteri(GLenum target, GLenum pname, GLint param);
117 void glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params);
118 void glTexParameterf(GLenum target, GLenum pname, GLfloat param);
119 void glScissor(GLint x, GLint y, GLsizei width, GLsizei height);
120 void glPolygonMode(GLenum face, GLenum mode);
121 void glPointSize(GLfloat size);
122 void glLineWidth(GLfloat width);
123 void glHint(GLenum target, GLenum mode);
124 void glFrontFace(GLenum mode);
125 void glCullFace(GLenum mode);
126
127 // OpenGL 1.1 core functions
128 GLboolean glIsTexture(GLuint texture);
129 void glGenTextures(GLsizei n, GLuint *textures);
130 void glDeleteTextures(GLsizei n, const GLuint *textures);
131 void glBindTexture(GLenum target, GLuint texture);
132 void glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
133 void glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
134 void glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
135 void glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
136 void glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
137 void glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
138 void glPolygonOffset(GLfloat factor, GLfloat units);
139 void glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);
140 void glDrawArrays(GLenum mode, GLint first, GLsizei count);
141
142 // OpenGL 1.2 core functions
143 void glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
144 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);
145 void glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
146 void glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
147 void glBlendEquation(GLenum mode);
148 void glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
149
150 // OpenGL 1.3 core functions
151 void glGetCompressedTexImage(GLenum target, GLint level, GLvoid *img);
152 void glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
153 void glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
154 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);
155 void glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
156 void glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
157 void glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
158 void glSampleCoverage(GLfloat value, GLboolean invert);
159 void glActiveTexture(GLenum texture);
160
161 // OpenGL 1.4 core functions
162 void glPointParameteriv(GLenum pname, const GLint *params);
163 void glPointParameteri(GLenum pname, GLint param);
164 void glPointParameterfv(GLenum pname, const GLfloat *params);
165 void glPointParameterf(GLenum pname, GLfloat param);
166 void glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount);
167 void glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount);
168 void glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
169
170 // OpenGL 1.5 core functions
171 void glGetBufferPointerv(GLenum target, GLenum pname, GLvoid* *params);
172 void glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params);
173 GLboolean glUnmapBuffer(GLenum target);
174 GLvoid* glMapBuffer(GLenum target, GLenum access);
175 void glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data);
176 void glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data);
177 void glBufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage);
178 GLboolean glIsBuffer(GLuint buffer);
179 void glGenBuffers(GLsizei n, GLuint *buffers);
180 void glDeleteBuffers(GLsizei n, const GLuint *buffers);
181 void glBindBuffer(GLenum target, GLuint buffer);
182 void glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params);
183 void glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params);
184 void glGetQueryiv(GLenum target, GLenum pname, GLint *params);
185 void glEndQuery(GLenum target);
186 void glBeginQuery(GLenum target, GLuint id);
187 GLboolean glIsQuery(GLuint id);
188 void glDeleteQueries(GLsizei n, const GLuint *ids);
189 void glGenQueries(GLsizei n, GLuint *ids);
190
191 // OpenGL 2.0 core functions
192 void glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
193 void glValidateProgram(GLuint program);
194 void glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
195 void glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
196 void glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
197 void glUniform4iv(GLint location, GLsizei count, const GLint *value);
198 void glUniform3iv(GLint location, GLsizei count, const GLint *value);
199 void glUniform2iv(GLint location, GLsizei count, const GLint *value);
200 void glUniform1iv(GLint location, GLsizei count, const GLint *value);
201 void glUniform4fv(GLint location, GLsizei count, const GLfloat *value);
202 void glUniform3fv(GLint location, GLsizei count, const GLfloat *value);
203 void glUniform2fv(GLint location, GLsizei count, const GLfloat *value);
204 void glUniform1fv(GLint location, GLsizei count, const GLfloat *value);
205 void glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
206 void glUniform3i(GLint location, GLint v0, GLint v1, GLint v2);
207 void glUniform2i(GLint location, GLint v0, GLint v1);
208 void glUniform1i(GLint location, GLint v0);
209 void glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
210 void glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
211 void glUniform2f(GLint location, GLfloat v0, GLfloat v1);
212 void glUniform1f(GLint location, GLfloat v0);
213 void glUseProgram(GLuint program);
214 void glShaderSource(GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length);
215 void glLinkProgram(GLuint program);
216 GLboolean glIsShader(GLuint shader);
217 GLboolean glIsProgram(GLuint program);
218 void glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid* *pointer);
219 void glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params);
220 void glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params);
221 void glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params);
222 void glGetUniformiv(GLuint program, GLint location, GLint *params);
223 void glGetUniformfv(GLuint program, GLint location, GLfloat *params);
224 GLint glGetUniformLocation(GLuint program, const GLchar *name);
225 void glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
226 void glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
227 void glGetShaderiv(GLuint shader, GLenum pname, GLint *params);
228 void glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
229 void glGetProgramiv(GLuint program, GLenum pname, GLint *params);
230 GLint glGetAttribLocation(GLuint program, const GLchar *name);
231 void glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj);
232 void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
233 void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
234 void glEnableVertexAttribArray(GLuint index);
235 void glDisableVertexAttribArray(GLuint index);
236 void glDetachShader(GLuint program, GLuint shader);
237 void glDeleteShader(GLuint shader);
238 void glDeleteProgram(GLuint program);
239 GLuint glCreateShader(GLenum type);
240 GLuint glCreateProgram();
241 void glCompileShader(GLuint shader);
242 void glBindAttribLocation(GLuint program, GLuint index, const GLchar *name);
243 void glAttachShader(GLuint program, GLuint shader);
244 void glStencilMaskSeparate(GLenum face, GLuint mask);
245 void glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask);
246 void glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
247 void glDrawBuffers(GLsizei n, const GLenum *bufs);
248 void glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha);
249
250 // OpenGL 2.1 core functions
251 void glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
252 void glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
253 void glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
254 void glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
255 void glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
256 void glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
257
258 // OpenGL 3.0 core functions
259 GLboolean glIsVertexArray(GLuint array);
260 void glGenVertexArrays(GLsizei n, GLuint *arrays);
261 void glDeleteVertexArrays(GLsizei n, const GLuint *arrays);
262 void glBindVertexArray(GLuint array);
263 void glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length);
264 GLvoid* glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
265 void glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
266 void glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
267 void glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
268 void glGenerateMipmap(GLenum target);
269 void glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params);
270 void glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
271 void glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
272 void glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
273 void glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
274 GLenum glCheckFramebufferStatus(GLenum target);
275 void glGenFramebuffers(GLsizei n, GLuint *framebuffers);
276 void glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers);
277 void glBindFramebuffer(GLenum target, GLuint framebuffer);
278 GLboolean glIsFramebuffer(GLuint framebuffer);
279 void glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params);
280 void glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
281 void glGenRenderbuffers(GLsizei n, GLuint *renderbuffers);
282 void glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers);
283 void glBindRenderbuffer(GLenum target, GLuint renderbuffer);
284 GLboolean glIsRenderbuffer(GLuint renderbuffer);
285 const GLubyte * glGetStringi(GLenum name, GLuint index);
286 void glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
287 void glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value);
288 void glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value);
289 void glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value);
290 void glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params);
291 void glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params);
292 void glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params);
293 void glTexParameterIiv(GLenum target, GLenum pname, const GLint *params);
294 void glUniform4uiv(GLint location, GLsizei count, const GLuint *value);
295 void glUniform3uiv(GLint location, GLsizei count, const GLuint *value);
296 void glUniform2uiv(GLint location, GLsizei count, const GLuint *value);
297 void glUniform1uiv(GLint location, GLsizei count, const GLuint *value);
298 void glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
299 void glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2);
300 void glUniform2ui(GLint location, GLuint v0, GLuint v1);
301 void glUniform1ui(GLint location, GLuint v0);
302 GLint glGetFragDataLocation(GLuint program, const GLchar *name);
303 void glBindFragDataLocation(GLuint program, GLuint color, const GLchar *name);
304 void glGetUniformuiv(GLuint program, GLint location, GLuint *params);
305 void glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params);
306 void glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params);
307 void glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
308 void glEndConditionalRender();
309 void glBeginConditionalRender(GLuint id, GLenum mode);
310 void glClampColor(GLenum target, GLenum clamp);
311 void glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
312 void glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar* const *varyings, GLenum bufferMode);
313 void glBindBufferBase(GLenum target, GLuint index, GLuint buffer);
314 void glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
315 void glEndTransformFeedback();
316 void glBeginTransformFeedback(GLenum primitiveMode);
317 GLboolean glIsEnabledi(GLenum target, GLuint index);
318 void glDisablei(GLenum target, GLuint index);
319 void glEnablei(GLenum target, GLuint index);
320 void glGetIntegeri_v(GLenum target, GLuint index, GLint *data);
321 void glGetBooleani_v(GLenum target, GLuint index, GLboolean *data);
322 void glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
323
324 // OpenGL 3.1 core functions
325 void glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
326 void glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
327 void glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
328 void glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);
329 GLuint glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName);
330 void glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName);
331 void glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);
332 void glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar* const *uniformNames, GLuint *uniformIndices);
333 void glPrimitiveRestartIndex(GLuint index);
334 void glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer);
335 void glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount);
336 void glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount);
337
338 // OpenGL 3.2 core functions
339 void glSampleMaski(GLuint index, GLbitfield mask);
340 void glGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val);
341 void glTexImage3DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
342 void glTexImage2DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
343 void glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
344 void glGetInteger64v(GLenum pname, GLint64 *params);
345 void glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout);
346 GLenum glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout);
347 void glDeleteSync(GLsync sync);
348 GLboolean glIsSync(GLsync sync);
349 GLsync glFenceSync(GLenum condition, GLbitfield flags);
350 void glProvokingVertex(GLenum mode);
351 void glMultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount, const GLint *basevertex);
352 void glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount, GLint basevertex);
353 void glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);
354 void glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);
355 void glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level);
356 void glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params);
357 void glGetInteger64i_v(GLenum target, GLuint index, GLint64 *data);
358
359 // OpenGL 3.3 core functions
360 void glVertexAttribP4uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
361 void glVertexAttribP4ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);
362 void glVertexAttribP3uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
363 void glVertexAttribP3ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);
364 void glVertexAttribP2uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
365 void glVertexAttribP2ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);
366 void glVertexAttribP1uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
367 void glVertexAttribP1ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);
368 void glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64 *params);
369 void glGetQueryObjecti64v(GLuint id, GLenum pname, GLint64 *params);
370 void glQueryCounter(GLuint id, GLenum target);
371 void glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params);
372 void glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params);
373 void glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params);
374 void glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params);
375 void glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *param);
376 void glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *param);
377 void glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *param);
378 void glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param);
379 void glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint *param);
380 void glSamplerParameteri(GLuint sampler, GLenum pname, GLint param);
381 void glBindSampler(GLuint unit, GLuint sampler);
382 GLboolean glIsSampler(GLuint sampler);
383 void glDeleteSamplers(GLsizei count, const GLuint *samplers);
384 void glGenSamplers(GLsizei count, GLuint *samplers);
385 GLint glGetFragDataIndex(GLuint program, const GLchar *name);
386 void glBindFragDataLocationIndexed(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name);
387 void glVertexAttribDivisor(GLuint index, GLuint divisor);
388
389 // OpenGL 4.0 core functions
390 void glGetQueryIndexediv(GLenum target, GLuint index, GLenum pname, GLint *params);
391 void glEndQueryIndexed(GLenum target, GLuint index);
392 void glBeginQueryIndexed(GLenum target, GLuint index, GLuint id);
393 void glDrawTransformFeedbackStream(GLenum mode, GLuint id, GLuint stream);
394 void glDrawTransformFeedback(GLenum mode, GLuint id);
395 void glResumeTransformFeedback();
396 void glPauseTransformFeedback();
397 GLboolean glIsTransformFeedback(GLuint id);
398 void glGenTransformFeedbacks(GLsizei n, GLuint *ids);
399 void glDeleteTransformFeedbacks(GLsizei n, const GLuint *ids);
400 void glBindTransformFeedback(GLenum target, GLuint id);
401 void glPatchParameterfv(GLenum pname, const GLfloat *values);
402 void glPatchParameteri(GLenum pname, GLint value);
403 void glGetProgramStageiv(GLuint program, GLenum shadertype, GLenum pname, GLint *values);
404 void glGetUniformSubroutineuiv(GLenum shadertype, GLint location, GLuint *params);
405 void glUniformSubroutinesuiv(GLenum shadertype, GLsizei count, const GLuint *indices);
406 void glGetActiveSubroutineName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
407 void glGetActiveSubroutineUniformName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
408 void glGetActiveSubroutineUniformiv(GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values);
409 GLuint glGetSubroutineIndex(GLuint program, GLenum shadertype, const GLchar *name);
410 GLint glGetSubroutineUniformLocation(GLuint program, GLenum shadertype, const GLchar *name);
411 void glGetUniformdv(GLuint program, GLint location, GLdouble *params);
412 void glUniformMatrix4x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
413 void glUniformMatrix4x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
414 void glUniformMatrix3x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
415 void glUniformMatrix3x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
416 void glUniformMatrix2x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
417 void glUniformMatrix2x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
418 void glUniformMatrix4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
419 void glUniformMatrix3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
420 void glUniformMatrix2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
421 void glUniform4dv(GLint location, GLsizei count, const GLdouble *value);
422 void glUniform3dv(GLint location, GLsizei count, const GLdouble *value);
423 void glUniform2dv(GLint location, GLsizei count, const GLdouble *value);
424 void glUniform1dv(GLint location, GLsizei count, const GLdouble *value);
425 void glUniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
426 void glUniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z);
427 void glUniform2d(GLint location, GLdouble x, GLdouble y);
428 void glUniform1d(GLint location, GLdouble x);
429 void glDrawElementsIndirect(GLenum mode, GLenum type, const GLvoid *indirect);
430 void glDrawArraysIndirect(GLenum mode, const GLvoid *indirect);
431 void glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
432 void glBlendFunci(GLuint buf, GLenum src, GLenum dst);
433 void glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha);
434 void glBlendEquationi(GLuint buf, GLenum mode);
435 void glMinSampleShading(GLfloat value);
436
437 // OpenGL 4.1 core functions
438 void glGetDoublei_v(GLenum target, GLuint index, GLdouble *data);
439 void glGetFloati_v(GLenum target, GLuint index, GLfloat *data);
440 void glDepthRangeIndexed(GLuint index, GLdouble n, GLdouble f);
441 void glDepthRangeArrayv(GLuint first, GLsizei count, const GLdouble *v);
442 void glScissorIndexedv(GLuint index, const GLint *v);
443 void glScissorIndexed(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);
444 void glScissorArrayv(GLuint first, GLsizei count, const GLint *v);
445 void glViewportIndexedfv(GLuint index, const GLfloat *v);
446 void glViewportIndexedf(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);
447 void glViewportArrayv(GLuint first, GLsizei count, const GLfloat *v);
448 void glGetVertexAttribLdv(GLuint index, GLenum pname, GLdouble *params);
449 void glVertexAttribLPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
450 void glVertexAttribL4dv(GLuint index, const GLdouble *v);
451 void glVertexAttribL3dv(GLuint index, const GLdouble *v);
452 void glVertexAttribL2dv(GLuint index, const GLdouble *v);
453 void glVertexAttribL1dv(GLuint index, const GLdouble *v);
454 void glVertexAttribL4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
455 void glVertexAttribL3d(GLuint index, GLdouble x, GLdouble y, GLdouble z);
456 void glVertexAttribL2d(GLuint index, GLdouble x, GLdouble y);
457 void glVertexAttribL1d(GLuint index, GLdouble x);
458 void glGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
459 void glValidateProgramPipeline(GLuint pipeline);
460 void glProgramUniformMatrix4x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
461 void glProgramUniformMatrix3x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
462 void glProgramUniformMatrix4x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
463 void glProgramUniformMatrix2x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
464 void glProgramUniformMatrix3x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
465 void glProgramUniformMatrix2x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
466 void glProgramUniformMatrix4x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
467 void glProgramUniformMatrix3x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
468 void glProgramUniformMatrix4x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
469 void glProgramUniformMatrix2x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
470 void glProgramUniformMatrix3x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
471 void glProgramUniformMatrix2x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
472 void glProgramUniformMatrix4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
473 void glProgramUniformMatrix3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
474 void glProgramUniformMatrix2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
475 void glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
476 void glProgramUniformMatrix3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
477 void glProgramUniformMatrix2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
478 void glProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);
479 void glProgramUniform4ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
480 void glProgramUniform4dv(GLuint program, GLint location, GLsizei count, const GLdouble *value);
481 void glProgramUniform4d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3);
482 void glProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);
483 void glProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
484 void glProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint *value);
485 void glProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
486 void glProgramUniform3uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);
487 void glProgramUniform3ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
488 void glProgramUniform3dv(GLuint program, GLint location, GLsizei count, const GLdouble *value);
489 void glProgramUniform3d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2);
490 void glProgramUniform3fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);
491 void glProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
492 void glProgramUniform3iv(GLuint program, GLint location, GLsizei count, const GLint *value);
493 void glProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
494 void glProgramUniform2uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);
495 void glProgramUniform2ui(GLuint program, GLint location, GLuint v0, GLuint v1);
496 void glProgramUniform2dv(GLuint program, GLint location, GLsizei count, const GLdouble *value);
497 void glProgramUniform2d(GLuint program, GLint location, GLdouble v0, GLdouble v1);
498 void glProgramUniform2fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);
499 void glProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1);
500 void glProgramUniform2iv(GLuint program, GLint location, GLsizei count, const GLint *value);
501 void glProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1);
502 void glProgramUniform1uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);
503 void glProgramUniform1ui(GLuint program, GLint location, GLuint v0);
504 void glProgramUniform1dv(GLuint program, GLint location, GLsizei count, const GLdouble *value);
505 void glProgramUniform1d(GLuint program, GLint location, GLdouble v0);
506 void glProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);
507 void glProgramUniform1f(GLuint program, GLint location, GLfloat v0);
508 void glProgramUniform1iv(GLuint program, GLint location, GLsizei count, const GLint *value);
509 void glProgramUniform1i(GLuint program, GLint location, GLint v0);
510 void glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint *params);
511 GLboolean glIsProgramPipeline(GLuint pipeline);
512 void glGenProgramPipelines(GLsizei n, GLuint *pipelines);
513 void glDeleteProgramPipelines(GLsizei n, const GLuint *pipelines);
514 void glBindProgramPipeline(GLuint pipeline);
515 GLuint glCreateShaderProgramv(GLenum type, GLsizei count, const GLchar* const *strings);
516 void glActiveShaderProgram(GLuint pipeline, GLuint program);
517 void glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program);
518 void glProgramParameteri(GLuint program, GLenum pname, GLint value);
519 void glProgramBinary(GLuint program, GLenum binaryFormat, const GLvoid *binary, GLsizei length);
520 void glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
521 void glClearDepthf(GLfloat dd);
522 void glDepthRangef(GLfloat n, GLfloat f);
523 void glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
524 void glShaderBinary(GLsizei count, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length);
525 void glReleaseShaderCompiler();
526
527 // OpenGL 4.2 core functions
528 void glTexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
529 void glTexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
530 void glTexStorage1D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
531 void glMemoryBarrier(GLbitfield barriers);
532 void glBindImageTexture(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);
533 void glGetActiveAtomicCounterBufferiv(GLuint program, GLuint bufferIndex, GLenum pname, GLint *params);
534 void glGetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params);
535 void glDrawTransformFeedbackStreamInstanced(GLenum mode, GLuint id, GLuint stream, GLsizei instancecount);
536 void glDrawTransformFeedbackInstanced(GLenum mode, GLuint id, GLsizei instancecount);
537 void glDrawElementsInstancedBaseVertexBaseInstance(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance);
538 void glDrawElementsInstancedBaseInstance(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance);
539 void glDrawArraysInstancedBaseInstance(GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance);
540
541private:
542 friend class QOpenGLVersionFunctionsFactory;
543
544 static bool isContextCompatible(QOpenGLContext *context);
545 static QOpenGLVersionProfile versionProfile();
546
547 QOpenGLFunctions_1_0_CoreBackend* d_1_0_Core;
548 QOpenGLFunctions_1_1_CoreBackend* d_1_1_Core;
549 QOpenGLFunctions_1_2_CoreBackend* d_1_2_Core;
550 QOpenGLFunctions_1_3_CoreBackend* d_1_3_Core;
551 QOpenGLFunctions_1_4_CoreBackend* d_1_4_Core;
552 QOpenGLFunctions_1_5_CoreBackend* d_1_5_Core;
553 QOpenGLFunctions_2_0_CoreBackend* d_2_0_Core;
554 QOpenGLFunctions_2_1_CoreBackend* d_2_1_Core;
555 QOpenGLFunctions_3_0_CoreBackend* d_3_0_Core;
556 QOpenGLFunctions_3_1_CoreBackend* d_3_1_Core;
557 QOpenGLFunctions_3_2_CoreBackend* d_3_2_Core;
558 QOpenGLFunctions_3_3_CoreBackend* d_3_3_Core;
559 QOpenGLFunctions_4_0_CoreBackend* d_4_0_Core;
560 QOpenGLFunctions_4_1_CoreBackend* d_4_1_Core;
561 QOpenGLFunctions_4_2_CoreBackend* d_4_2_Core;
562};
563
564// OpenGL 1.0 core functions
565inline void QOpenGLFunctions_4_2_Core::glViewport(GLint x, GLint y, GLsizei width, GLsizei height)
566{
567 d_1_0_Core->f.Viewport(x, y, width, height);
568}
569
570inline void QOpenGLFunctions_4_2_Core::glDepthRange(GLdouble nearVal, GLdouble farVal)
571{
572 d_1_0_Core->f.DepthRange(nearVal, farVal);
573}
574
575inline GLboolean QOpenGLFunctions_4_2_Core::glIsEnabled(GLenum cap)
576{
577 return d_1_0_Core->f.IsEnabled(cap);
578}
579
580inline void QOpenGLFunctions_4_2_Core::glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params)
581{
582 d_1_0_Core->f.GetTexLevelParameteriv(target, level, pname, params);
583}
584
585inline void QOpenGLFunctions_4_2_Core::glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params)
586{
587 d_1_0_Core->f.GetTexLevelParameterfv(target, level, pname, params);
588}
589
590inline void QOpenGLFunctions_4_2_Core::glGetTexParameteriv(GLenum target, GLenum pname, GLint *params)
591{
592 d_1_0_Core->f.GetTexParameteriv(target, pname, params);
593}
594
595inline void QOpenGLFunctions_4_2_Core::glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params)
596{
597 d_1_0_Core->f.GetTexParameterfv(target, pname, params);
598}
599
600inline void QOpenGLFunctions_4_2_Core::glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels)
601{
602 d_1_0_Core->f.GetTexImage(target, level, format, type, pixels);
603}
604
605inline const GLubyte * QOpenGLFunctions_4_2_Core::glGetString(GLenum name)
606{
607 return d_1_0_Core->f.GetString(name);
608}
609
610inline void QOpenGLFunctions_4_2_Core::glGetIntegerv(GLenum pname, GLint *params)
611{
612 d_1_0_Core->f.GetIntegerv(pname, params);
613}
614
615inline void QOpenGLFunctions_4_2_Core::glGetFloatv(GLenum pname, GLfloat *params)
616{
617 d_1_0_Core->f.GetFloatv(pname, params);
618}
619
620inline GLenum QOpenGLFunctions_4_2_Core::glGetError()
621{
622 return d_1_0_Core->f.GetError();
623}
624
625inline void QOpenGLFunctions_4_2_Core::glGetDoublev(GLenum pname, GLdouble *params)
626{
627 d_1_0_Core->f.GetDoublev(pname, params);
628}
629
630inline void QOpenGLFunctions_4_2_Core::glGetBooleanv(GLenum pname, GLboolean *params)
631{
632 d_1_0_Core->f.GetBooleanv(pname, params);
633}
634
635inline void QOpenGLFunctions_4_2_Core::glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels)
636{
637 d_1_0_Core->f.ReadPixels(x, y, width, height, format, type, pixels);
638}
639
640inline void QOpenGLFunctions_4_2_Core::glReadBuffer(GLenum mode)
641{
642 d_1_0_Core->f.ReadBuffer(mode);
643}
644
645inline void QOpenGLFunctions_4_2_Core::glPixelStorei(GLenum pname, GLint param)
646{
647 d_1_0_Core->f.PixelStorei(pname, param);
648}
649
650inline void QOpenGLFunctions_4_2_Core::glPixelStoref(GLenum pname, GLfloat param)
651{
652 d_1_0_Core->f.PixelStoref(pname, param);
653}
654
655inline void QOpenGLFunctions_4_2_Core::glDepthFunc(GLenum func)
656{
657 d_1_0_Core->f.DepthFunc(func);
658}
659
660inline void QOpenGLFunctions_4_2_Core::glStencilOp(GLenum fail, GLenum zfail, GLenum zpass)
661{
662 d_1_0_Core->f.StencilOp(fail, zfail, zpass);
663}
664
665inline void QOpenGLFunctions_4_2_Core::glStencilFunc(GLenum func, GLint ref, GLuint mask)
666{
667 d_1_0_Core->f.StencilFunc(func, ref, mask);
668}
669
670inline void QOpenGLFunctions_4_2_Core::glLogicOp(GLenum opcode)
671{
672 d_1_0_Core->f.LogicOp(opcode);
673}
674
675inline void QOpenGLFunctions_4_2_Core::glBlendFunc(GLenum sfactor, GLenum dfactor)
676{
677 d_1_0_Core->f.BlendFunc(sfactor, dfactor);
678}
679
680inline void QOpenGLFunctions_4_2_Core::glFlush()
681{
682 d_1_0_Core->f.Flush();
683}
684
685inline void QOpenGLFunctions_4_2_Core::glFinish()
686{
687 d_1_0_Core->f.Finish();
688}
689
690inline void QOpenGLFunctions_4_2_Core::glEnable(GLenum cap)
691{
692 d_1_0_Core->f.Enable(cap);
693}
694
695inline void QOpenGLFunctions_4_2_Core::glDisable(GLenum cap)
696{
697 d_1_0_Core->f.Disable(cap);
698}
699
700inline void QOpenGLFunctions_4_2_Core::glDepthMask(GLboolean flag)
701{
702 d_1_0_Core->f.DepthMask(flag);
703}
704
705inline void QOpenGLFunctions_4_2_Core::glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
706{
707 d_1_0_Core->f.ColorMask(red, green, blue, alpha);
708}
709
710inline void QOpenGLFunctions_4_2_Core::glStencilMask(GLuint mask)
711{
712 d_1_0_Core->f.StencilMask(mask);
713}
714
715inline void QOpenGLFunctions_4_2_Core::glClearDepth(GLdouble depth)
716{
717 d_1_0_Core->f.ClearDepth(depth);
718}
719
720inline void QOpenGLFunctions_4_2_Core::glClearStencil(GLint s)
721{
722 d_1_0_Core->f.ClearStencil(s);
723}
724
725inline void QOpenGLFunctions_4_2_Core::glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
726{
727 d_1_0_Core->f.ClearColor(red, green, blue, alpha);
728}
729
730inline void QOpenGLFunctions_4_2_Core::glClear(GLbitfield mask)
731{
732 d_1_0_Core->f.Clear(mask);
733}
734
735inline void QOpenGLFunctions_4_2_Core::glDrawBuffer(GLenum mode)
736{
737 d_1_0_Core->f.DrawBuffer(mode);
738}
739
740inline void QOpenGLFunctions_4_2_Core::glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
741{
742 d_1_0_Core->f.TexImage2D(target, level, internalformat, width, height, border, format, type, pixels);
743}
744
745inline void QOpenGLFunctions_4_2_Core::glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
746{
747 d_1_0_Core->f.TexImage1D(target, level, internalformat, width, border, format, type, pixels);
748}
749
750inline void QOpenGLFunctions_4_2_Core::glTexParameteriv(GLenum target, GLenum pname, const GLint *params)
751{
752 d_1_0_Core->f.TexParameteriv(target, pname, params);
753}
754
755inline void QOpenGLFunctions_4_2_Core::glTexParameteri(GLenum target, GLenum pname, GLint param)
756{
757 d_1_0_Core->f.TexParameteri(target, pname, param);
758}
759
760inline void QOpenGLFunctions_4_2_Core::glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params)
761{
762 d_1_0_Core->f.TexParameterfv(target, pname, params);
763}
764
765inline void QOpenGLFunctions_4_2_Core::glTexParameterf(GLenum target, GLenum pname, GLfloat param)
766{
767 d_1_0_Core->f.TexParameterf(target, pname, param);
768}
769
770inline void QOpenGLFunctions_4_2_Core::glScissor(GLint x, GLint y, GLsizei width, GLsizei height)
771{
772 d_1_0_Core->f.Scissor(x, y, width, height);
773}
774
775inline void QOpenGLFunctions_4_2_Core::glPolygonMode(GLenum face, GLenum mode)
776{
777 d_1_0_Core->f.PolygonMode(face, mode);
778}
779
780inline void QOpenGLFunctions_4_2_Core::glPointSize(GLfloat size)
781{
782 d_1_0_Core->f.PointSize(size);
783}
784
785inline void QOpenGLFunctions_4_2_Core::glLineWidth(GLfloat width)
786{
787 d_1_0_Core->f.LineWidth(width);
788}
789
790inline void QOpenGLFunctions_4_2_Core::glHint(GLenum target, GLenum mode)
791{
792 d_1_0_Core->f.Hint(target, mode);
793}
794
795inline void QOpenGLFunctions_4_2_Core::glFrontFace(GLenum mode)
796{
797 d_1_0_Core->f.FrontFace(mode);
798}
799
800inline void QOpenGLFunctions_4_2_Core::glCullFace(GLenum mode)
801{
802 d_1_0_Core->f.CullFace(mode);
803}
804
805
806// OpenGL 1.1 core functions
807inline GLboolean QOpenGLFunctions_4_2_Core::glIsTexture(GLuint texture)
808{
809 return d_1_1_Core->f.IsTexture(texture);
810}
811
812inline void QOpenGLFunctions_4_2_Core::glGenTextures(GLsizei n, GLuint *textures)
813{
814 d_1_1_Core->f.GenTextures(n, textures);
815}
816
817inline void QOpenGLFunctions_4_2_Core::glDeleteTextures(GLsizei n, const GLuint *textures)
818{
819 d_1_1_Core->f.DeleteTextures(n, textures);
820}
821
822inline void QOpenGLFunctions_4_2_Core::glBindTexture(GLenum target, GLuint texture)
823{
824 d_1_1_Core->f.BindTexture(target, texture);
825}
826
827inline void QOpenGLFunctions_4_2_Core::glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)
828{
829 d_1_1_Core->f.TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels);
830}
831
832inline void QOpenGLFunctions_4_2_Core::glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels)
833{
834 d_1_1_Core->f.TexSubImage1D(target, level, xoffset, width, format, type, pixels);
835}
836
837inline void QOpenGLFunctions_4_2_Core::glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
838{
839 d_1_1_Core->f.CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);
840}
841
842inline void QOpenGLFunctions_4_2_Core::glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)
843{
844 d_1_1_Core->f.CopyTexSubImage1D(target, level, xoffset, x, y, width);
845}
846
847inline void QOpenGLFunctions_4_2_Core::glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
848{
849 d_1_1_Core->f.CopyTexImage2D(target, level, internalformat, x, y, width, height, border);
850}
851
852inline void QOpenGLFunctions_4_2_Core::glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border)
853{
854 d_1_1_Core->f.CopyTexImage1D(target, level, internalformat, x, y, width, border);
855}
856
857inline void QOpenGLFunctions_4_2_Core::glPolygonOffset(GLfloat factor, GLfloat units)
858{
859 d_1_1_Core->f.PolygonOffset(factor, units);
860}
861
862inline void QOpenGLFunctions_4_2_Core::glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices)
863{
864 d_1_1_Core->f.DrawElements(mode, count, type, indices);
865}
866
867inline void QOpenGLFunctions_4_2_Core::glDrawArrays(GLenum mode, GLint first, GLsizei count)
868{
869 d_1_1_Core->f.DrawArrays(mode, first, count);
870}
871
872
873// OpenGL 1.2 core functions
874inline void QOpenGLFunctions_4_2_Core::glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
875{
876 d_1_2_Core->f.CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height);
877}
878
879inline void QOpenGLFunctions_4_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)
880{
881 d_1_2_Core->f.TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
882}
883
884inline void QOpenGLFunctions_4_2_Core::glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
885{
886 d_1_2_Core->f.TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels);
887}
888
889inline void QOpenGLFunctions_4_2_Core::glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices)
890{
891 d_1_2_Core->f.DrawRangeElements(mode, start, end, count, type, indices);
892}
893
894inline void QOpenGLFunctions_4_2_Core::glBlendEquation(GLenum mode)
895{
896 d_1_2_Core->f.BlendEquation(mode);
897}
898
899inline void QOpenGLFunctions_4_2_Core::glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
900{
901 d_1_2_Core->f.BlendColor(red, green, blue, alpha);
902}
903
904
905// OpenGL 1.3 core functions
906inline void QOpenGLFunctions_4_2_Core::glGetCompressedTexImage(GLenum target, GLint level, GLvoid *img)
907{
908 d_1_3_Core->f.GetCompressedTexImage(target, level, img);
909}
910
911inline void QOpenGLFunctions_4_2_Core::glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data)
912{
913 d_1_3_Core->f.CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data);
914}
915
916inline void QOpenGLFunctions_4_2_Core::glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data)
917{
918 d_1_3_Core->f.CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data);
919}
920
921inline void QOpenGLFunctions_4_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)
922{
923 d_1_3_Core->f.CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
924}
925
926inline void QOpenGLFunctions_4_2_Core::glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data)
927{
928 d_1_3_Core->f.CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data);
929}
930
931inline void QOpenGLFunctions_4_2_Core::glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data)
932{
933 d_1_3_Core->f.CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data);
934}
935
936inline void QOpenGLFunctions_4_2_Core::glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data)
937{
938 d_1_3_Core->f.CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data);
939}
940
941inline void QOpenGLFunctions_4_2_Core::glSampleCoverage(GLfloat value, GLboolean invert)
942{
943 d_1_3_Core->f.SampleCoverage(value, invert);
944}
945
946inline void QOpenGLFunctions_4_2_Core::glActiveTexture(GLenum texture)
947{
948 d_1_3_Core->f.ActiveTexture(texture);
949}
950
951
952// OpenGL 1.4 core functions
953inline void QOpenGLFunctions_4_2_Core::glPointParameteriv(GLenum pname, const GLint *params)
954{
955 d_1_4_Core->f.PointParameteriv(pname, params);
956}
957
958inline void QOpenGLFunctions_4_2_Core::glPointParameteri(GLenum pname, GLint param)
959{
960 d_1_4_Core->f.PointParameteri(pname, param);
961}
962
963inline void QOpenGLFunctions_4_2_Core::glPointParameterfv(GLenum pname, const GLfloat *params)
964{
965 d_1_4_Core->f.PointParameterfv(pname, params);
966}
967
968inline void QOpenGLFunctions_4_2_Core::glPointParameterf(GLenum pname, GLfloat param)
969{
970 d_1_4_Core->f.PointParameterf(pname, param);
971}
972
973inline void QOpenGLFunctions_4_2_Core::glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount)
974{
975 d_1_4_Core->f.MultiDrawElements(mode, count, type, indices, drawcount);
976}
977
978inline void QOpenGLFunctions_4_2_Core::glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount)
979{
980 d_1_4_Core->f.MultiDrawArrays(mode, first, count, drawcount);
981}
982
983inline void QOpenGLFunctions_4_2_Core::glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha)
984{
985 d_1_4_Core->f.BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha);
986}
987
988
989// OpenGL 1.5 core functions
990inline void QOpenGLFunctions_4_2_Core::glGetBufferPointerv(GLenum target, GLenum pname, GLvoid* *params)
991{
992 d_1_5_Core->f.GetBufferPointerv(target, pname, params);
993}
994
995inline void QOpenGLFunctions_4_2_Core::glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params)
996{
997 d_1_5_Core->f.GetBufferParameteriv(target, pname, params);
998}
999
1000inline GLboolean QOpenGLFunctions_4_2_Core::glUnmapBuffer(GLenum target)
1001{
1002 return d_1_5_Core->f.UnmapBuffer(target);
1003}
1004
1005inline GLvoid* QOpenGLFunctions_4_2_Core::glMapBuffer(GLenum target, GLenum access)
1006{
1007 return d_1_5_Core->f.MapBuffer(target, access);
1008}
1009
1010inline void QOpenGLFunctions_4_2_Core::glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data)
1011{
1012 d_1_5_Core->f.GetBufferSubData(target, offset, size, data);
1013}
1014
1015inline void QOpenGLFunctions_4_2_Core::glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data)
1016{
1017 d_1_5_Core->f.BufferSubData(target, offset, size, data);
1018}
1019
1020inline void QOpenGLFunctions_4_2_Core::glBufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage)
1021{
1022 d_1_5_Core->f.BufferData(target, size, data, usage);
1023}
1024
1025inline GLboolean QOpenGLFunctions_4_2_Core::glIsBuffer(GLuint buffer)
1026{
1027 return d_1_5_Core->f.IsBuffer(buffer);
1028}
1029
1030inline void QOpenGLFunctions_4_2_Core::glGenBuffers(GLsizei n, GLuint *buffers)
1031{
1032 d_1_5_Core->f.GenBuffers(n, buffers);
1033}
1034
1035inline void QOpenGLFunctions_4_2_Core::glDeleteBuffers(GLsizei n, const GLuint *buffers)
1036{
1037 d_1_5_Core->f.DeleteBuffers(n, buffers);
1038}
1039
1040inline void QOpenGLFunctions_4_2_Core::glBindBuffer(GLenum target, GLuint buffer)
1041{
1042 d_1_5_Core->f.BindBuffer(target, buffer);
1043}
1044
1045inline void QOpenGLFunctions_4_2_Core::glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params)
1046{
1047 d_1_5_Core->f.GetQueryObjectuiv(id, pname, params);
1048}
1049
1050inline void QOpenGLFunctions_4_2_Core::glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params)
1051{
1052 d_1_5_Core->f.GetQueryObjectiv(id, pname, params);
1053}
1054
1055inline void QOpenGLFunctions_4_2_Core::glGetQueryiv(GLenum target, GLenum pname, GLint *params)
1056{
1057 d_1_5_Core->f.GetQueryiv(target, pname, params);
1058}
1059
1060inline void QOpenGLFunctions_4_2_Core::glEndQuery(GLenum target)
1061{
1062 d_1_5_Core->f.EndQuery(target);
1063}
1064
1065inline void QOpenGLFunctions_4_2_Core::glBeginQuery(GLenum target, GLuint id)
1066{
1067 d_1_5_Core->f.BeginQuery(target, id);
1068}
1069
1070inline GLboolean QOpenGLFunctions_4_2_Core::glIsQuery(GLuint id)
1071{
1072 return d_1_5_Core->f.IsQuery(id);
1073}
1074
1075inline void QOpenGLFunctions_4_2_Core::glDeleteQueries(GLsizei n, const GLuint *ids)
1076{
1077 d_1_5_Core->f.DeleteQueries(n, ids);
1078}
1079
1080inline void QOpenGLFunctions_4_2_Core::glGenQueries(GLsizei n, GLuint *ids)
1081{
1082 d_1_5_Core->f.GenQueries(n, ids);
1083}
1084
1085
1086// OpenGL 2.0 core functions
1087inline void QOpenGLFunctions_4_2_Core::glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer)
1088{
1089 d_2_0_Core->f.VertexAttribPointer(index, size, type, normalized, stride, pointer);
1090}
1091
1092inline void QOpenGLFunctions_4_2_Core::glValidateProgram(GLuint program)
1093{
1094 d_2_0_Core->f.ValidateProgram(program);
1095}
1096
1097inline void QOpenGLFunctions_4_2_Core::glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1098{
1099 d_2_0_Core->f.UniformMatrix4fv(location, count, transpose, value);
1100}
1101
1102inline void QOpenGLFunctions_4_2_Core::glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1103{
1104 d_2_0_Core->f.UniformMatrix3fv(location, count, transpose, value);
1105}
1106
1107inline void QOpenGLFunctions_4_2_Core::glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1108{
1109 d_2_0_Core->f.UniformMatrix2fv(location, count, transpose, value);
1110}
1111
1112inline void QOpenGLFunctions_4_2_Core::glUniform4iv(GLint location, GLsizei count, const GLint *value)
1113{
1114 d_2_0_Core->f.Uniform4iv(location, count, value);
1115}
1116
1117inline void QOpenGLFunctions_4_2_Core::glUniform3iv(GLint location, GLsizei count, const GLint *value)
1118{
1119 d_2_0_Core->f.Uniform3iv(location, count, value);
1120}
1121
1122inline void QOpenGLFunctions_4_2_Core::glUniform2iv(GLint location, GLsizei count, const GLint *value)
1123{
1124 d_2_0_Core->f.Uniform2iv(location, count, value);
1125}
1126
1127inline void QOpenGLFunctions_4_2_Core::glUniform1iv(GLint location, GLsizei count, const GLint *value)
1128{
1129 d_2_0_Core->f.Uniform1iv(location, count, value);
1130}
1131
1132inline void QOpenGLFunctions_4_2_Core::glUniform4fv(GLint location, GLsizei count, const GLfloat *value)
1133{
1134 d_2_0_Core->f.Uniform4fv(location, count, value);
1135}
1136
1137inline void QOpenGLFunctions_4_2_Core::glUniform3fv(GLint location, GLsizei count, const GLfloat *value)
1138{
1139 d_2_0_Core->f.Uniform3fv(location, count, value);
1140}
1141
1142inline void QOpenGLFunctions_4_2_Core::glUniform2fv(GLint location, GLsizei count, const GLfloat *value)
1143{
1144 d_2_0_Core->f.Uniform2fv(location, count, value);
1145}
1146
1147inline void QOpenGLFunctions_4_2_Core::glUniform1fv(GLint location, GLsizei count, const GLfloat *value)
1148{
1149 d_2_0_Core->f.Uniform1fv(location, count, value);
1150}
1151
1152inline void QOpenGLFunctions_4_2_Core::glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3)
1153{
1154 d_2_0_Core->f.Uniform4i(location, v0, v1, v2, v3);
1155}
1156
1157inline void QOpenGLFunctions_4_2_Core::glUniform3i(GLint location, GLint v0, GLint v1, GLint v2)
1158{
1159 d_2_0_Core->f.Uniform3i(location, v0, v1, v2);
1160}
1161
1162inline void QOpenGLFunctions_4_2_Core::glUniform2i(GLint location, GLint v0, GLint v1)
1163{
1164 d_2_0_Core->f.Uniform2i(location, v0, v1);
1165}
1166
1167inline void QOpenGLFunctions_4_2_Core::glUniform1i(GLint location, GLint v0)
1168{
1169 d_2_0_Core->f.Uniform1i(location, v0);
1170}
1171
1172inline void QOpenGLFunctions_4_2_Core::glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)
1173{
1174 d_2_0_Core->f.Uniform4f(location, v0, v1, v2, v3);
1175}
1176
1177inline void QOpenGLFunctions_4_2_Core::glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2)
1178{
1179 d_2_0_Core->f.Uniform3f(location, v0, v1, v2);
1180}
1181
1182inline void QOpenGLFunctions_4_2_Core::glUniform2f(GLint location, GLfloat v0, GLfloat v1)
1183{
1184 d_2_0_Core->f.Uniform2f(location, v0, v1);
1185}
1186
1187inline void QOpenGLFunctions_4_2_Core::glUniform1f(GLint location, GLfloat v0)
1188{
1189 d_2_0_Core->f.Uniform1f(location, v0);
1190}
1191
1192inline void QOpenGLFunctions_4_2_Core::glUseProgram(GLuint program)
1193{
1194 d_2_0_Core->f.UseProgram(program);
1195}
1196
1197inline void QOpenGLFunctions_4_2_Core::glShaderSource(GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length)
1198{
1199 d_2_0_Core->f.ShaderSource(shader, count, string, length);
1200}
1201
1202inline void QOpenGLFunctions_4_2_Core::glLinkProgram(GLuint program)
1203{
1204 d_2_0_Core->f.LinkProgram(program);
1205}
1206
1207inline GLboolean QOpenGLFunctions_4_2_Core::glIsShader(GLuint shader)
1208{
1209 return d_2_0_Core->f.IsShader(shader);
1210}
1211
1212inline GLboolean QOpenGLFunctions_4_2_Core::glIsProgram(GLuint program)
1213{
1214 return d_2_0_Core->f.IsProgram(program);
1215}
1216
1217inline void QOpenGLFunctions_4_2_Core::glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid* *pointer)
1218{
1219 d_2_0_Core->f.GetVertexAttribPointerv(index, pname, pointer);
1220}
1221
1222inline void QOpenGLFunctions_4_2_Core::glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params)
1223{
1224 d_2_0_Core->f.GetVertexAttribiv(index, pname, params);
1225}
1226
1227inline void QOpenGLFunctions_4_2_Core::glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params)
1228{
1229 d_2_0_Core->f.GetVertexAttribfv(index, pname, params);
1230}
1231
1232inline void QOpenGLFunctions_4_2_Core::glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params)
1233{
1234 d_2_0_Core->f.GetVertexAttribdv(index, pname, params);
1235}
1236
1237inline void QOpenGLFunctions_4_2_Core::glGetUniformiv(GLuint program, GLint location, GLint *params)
1238{
1239 d_2_0_Core->f.GetUniformiv(program, location, params);
1240}
1241
1242inline void QOpenGLFunctions_4_2_Core::glGetUniformfv(GLuint program, GLint location, GLfloat *params)
1243{
1244 d_2_0_Core->f.GetUniformfv(program, location, params);
1245}
1246
1247inline GLint QOpenGLFunctions_4_2_Core::glGetUniformLocation(GLuint program, const GLchar *name)
1248{
1249 return d_2_0_Core->f.GetUniformLocation(program, name);
1250}
1251
1252inline void QOpenGLFunctions_4_2_Core::glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source)
1253{
1254 d_2_0_Core->f.GetShaderSource(shader, bufSize, length, source);
1255}
1256
1257inline void QOpenGLFunctions_4_2_Core::glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog)
1258{
1259 d_2_0_Core->f.GetShaderInfoLog(shader, bufSize, length, infoLog);
1260}
1261
1262inline void QOpenGLFunctions_4_2_Core::glGetShaderiv(GLuint shader, GLenum pname, GLint *params)
1263{
1264 d_2_0_Core->f.GetShaderiv(shader, pname, params);
1265}
1266
1267inline void QOpenGLFunctions_4_2_Core::glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog)
1268{
1269 d_2_0_Core->f.GetProgramInfoLog(program, bufSize, length, infoLog);
1270}
1271
1272inline void QOpenGLFunctions_4_2_Core::glGetProgramiv(GLuint program, GLenum pname, GLint *params)
1273{
1274 d_2_0_Core->f.GetProgramiv(program, pname, params);
1275}
1276
1277inline GLint QOpenGLFunctions_4_2_Core::glGetAttribLocation(GLuint program, const GLchar *name)
1278{
1279 return d_2_0_Core->f.GetAttribLocation(program, name);
1280}
1281
1282inline void QOpenGLFunctions_4_2_Core::glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj)
1283{
1284 d_2_0_Core->f.GetAttachedShaders(program, maxCount, count, obj);
1285}
1286
1287inline void QOpenGLFunctions_4_2_Core::glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name)
1288{
1289 d_2_0_Core->f.GetActiveUniform(program, index, bufSize, length, size, type, name);
1290}
1291
1292inline void QOpenGLFunctions_4_2_Core::glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name)
1293{
1294 d_2_0_Core->f.GetActiveAttrib(program, index, bufSize, length, size, type, name);
1295}
1296
1297inline void QOpenGLFunctions_4_2_Core::glEnableVertexAttribArray(GLuint index)
1298{
1299 d_2_0_Core->f.EnableVertexAttribArray(index);
1300}
1301
1302inline void QOpenGLFunctions_4_2_Core::glDisableVertexAttribArray(GLuint index)
1303{
1304 d_2_0_Core->f.DisableVertexAttribArray(index);
1305}
1306
1307inline void QOpenGLFunctions_4_2_Core::glDetachShader(GLuint program, GLuint shader)
1308{
1309 d_2_0_Core->f.DetachShader(program, shader);
1310}
1311
1312inline void QOpenGLFunctions_4_2_Core::glDeleteShader(GLuint shader)
1313{
1314 d_2_0_Core->f.DeleteShader(shader);
1315}
1316
1317inline void QOpenGLFunctions_4_2_Core::glDeleteProgram(GLuint program)
1318{
1319 d_2_0_Core->f.DeleteProgram(program);
1320}
1321
1322inline GLuint QOpenGLFunctions_4_2_Core::glCreateShader(GLenum type)
1323{
1324 return d_2_0_Core->f.CreateShader(type);
1325}
1326
1327inline GLuint QOpenGLFunctions_4_2_Core::glCreateProgram()
1328{
1329 return d_2_0_Core->f.CreateProgram();
1330}
1331
1332inline void QOpenGLFunctions_4_2_Core::glCompileShader(GLuint shader)
1333{
1334 d_2_0_Core->f.CompileShader(shader);
1335}
1336
1337inline void QOpenGLFunctions_4_2_Core::glBindAttribLocation(GLuint program, GLuint index, const GLchar *name)
1338{
1339 d_2_0_Core->f.BindAttribLocation(program, index, name);
1340}
1341
1342inline void QOpenGLFunctions_4_2_Core::glAttachShader(GLuint program, GLuint shader)
1343{
1344 d_2_0_Core->f.AttachShader(program, shader);
1345}
1346
1347inline void QOpenGLFunctions_4_2_Core::glStencilMaskSeparate(GLenum face, GLuint mask)
1348{
1349 d_2_0_Core->f.StencilMaskSeparate(face, mask);
1350}
1351
1352inline void QOpenGLFunctions_4_2_Core::glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask)
1353{
1354 d_2_0_Core->f.StencilFuncSeparate(face, func, ref, mask);
1355}
1356
1357inline void QOpenGLFunctions_4_2_Core::glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass)
1358{
1359 d_2_0_Core->f.StencilOpSeparate(face, sfail, dpfail, dppass);
1360}
1361
1362inline void QOpenGLFunctions_4_2_Core::glDrawBuffers(GLsizei n, const GLenum *bufs)
1363{
1364 d_2_0_Core->f.DrawBuffers(n, bufs);
1365}
1366
1367inline void QOpenGLFunctions_4_2_Core::glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha)
1368{
1369 d_2_0_Core->f.BlendEquationSeparate(modeRGB, modeAlpha);
1370}
1371
1372
1373// OpenGL 2.1 core functions
1374inline void QOpenGLFunctions_4_2_Core::glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1375{
1376 d_2_1_Core->f.UniformMatrix4x3fv(location, count, transpose, value);
1377}
1378
1379inline void QOpenGLFunctions_4_2_Core::glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1380{
1381 d_2_1_Core->f.UniformMatrix3x4fv(location, count, transpose, value);
1382}
1383
1384inline void QOpenGLFunctions_4_2_Core::glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1385{
1386 d_2_1_Core->f.UniformMatrix4x2fv(location, count, transpose, value);
1387}
1388
1389inline void QOpenGLFunctions_4_2_Core::glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1390{
1391 d_2_1_Core->f.UniformMatrix2x4fv(location, count, transpose, value);
1392}
1393
1394inline void QOpenGLFunctions_4_2_Core::glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1395{
1396 d_2_1_Core->f.UniformMatrix3x2fv(location, count, transpose, value);
1397}
1398
1399inline void QOpenGLFunctions_4_2_Core::glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1400{
1401 d_2_1_Core->f.UniformMatrix2x3fv(location, count, transpose, value);
1402}
1403
1404
1405// OpenGL 3.0 core functions
1406inline GLboolean QOpenGLFunctions_4_2_Core::glIsVertexArray(GLuint array)
1407{
1408 return d_3_0_Core->f.IsVertexArray(array);
1409}
1410
1411inline void QOpenGLFunctions_4_2_Core::glGenVertexArrays(GLsizei n, GLuint *arrays)
1412{
1413 d_3_0_Core->f.GenVertexArrays(n, arrays);
1414}
1415
1416inline void QOpenGLFunctions_4_2_Core::glDeleteVertexArrays(GLsizei n, const GLuint *arrays)
1417{
1418 d_3_0_Core->f.DeleteVertexArrays(n, arrays);
1419}
1420
1421inline void QOpenGLFunctions_4_2_Core::glBindVertexArray(GLuint array)
1422{
1423 d_3_0_Core->f.BindVertexArray(array);
1424}
1425
1426inline void QOpenGLFunctions_4_2_Core::glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length)
1427{
1428 d_3_0_Core->f.FlushMappedBufferRange(target, offset, length);
1429}
1430
1431inline GLvoid* QOpenGLFunctions_4_2_Core::glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access)
1432{
1433 return d_3_0_Core->f.MapBufferRange(target, offset, length, access);
1434}
1435
1436inline void QOpenGLFunctions_4_2_Core::glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)
1437{
1438 d_3_0_Core->f.FramebufferTextureLayer(target, attachment, texture, level, layer);
1439}
1440
1441inline void QOpenGLFunctions_4_2_Core::glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
1442{
1443 d_3_0_Core->f.RenderbufferStorageMultisample(target, samples, internalformat, width, height);
1444}
1445
1446inline void QOpenGLFunctions_4_2_Core::glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)
1447{
1448 d_3_0_Core->f.BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
1449}
1450
1451inline void QOpenGLFunctions_4_2_Core::glGenerateMipmap(GLenum target)
1452{
1453 d_3_0_Core->f.GenerateMipmap(target);
1454}
1455
1456inline void QOpenGLFunctions_4_2_Core::glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params)
1457{
1458 d_3_0_Core->f.GetFramebufferAttachmentParameteriv(target, attachment, pname, params);
1459}
1460
1461inline void QOpenGLFunctions_4_2_Core::glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
1462{
1463 d_3_0_Core->f.FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer);
1464}
1465
1466inline void QOpenGLFunctions_4_2_Core::glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset)
1467{
1468 d_3_0_Core->f.FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset);
1469}
1470
1471inline void QOpenGLFunctions_4_2_Core::glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
1472{
1473 d_3_0_Core->f.FramebufferTexture2D(target, attachment, textarget, texture, level);
1474}
1475
1476inline void QOpenGLFunctions_4_2_Core::glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
1477{
1478 d_3_0_Core->f.FramebufferTexture1D(target, attachment, textarget, texture, level);
1479}
1480
1481inline GLenum QOpenGLFunctions_4_2_Core::glCheckFramebufferStatus(GLenum target)
1482{
1483 return d_3_0_Core->f.CheckFramebufferStatus(target);
1484}
1485
1486inline void QOpenGLFunctions_4_2_Core::glGenFramebuffers(GLsizei n, GLuint *framebuffers)
1487{
1488 d_3_0_Core->f.GenFramebuffers(n, framebuffers);
1489}
1490
1491inline void QOpenGLFunctions_4_2_Core::glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers)
1492{
1493 d_3_0_Core->f.DeleteFramebuffers(n, framebuffers);
1494}
1495
1496inline void QOpenGLFunctions_4_2_Core::glBindFramebuffer(GLenum target, GLuint framebuffer)
1497{
1498 d_3_0_Core->f.BindFramebuffer(target, framebuffer);
1499}
1500
1501inline GLboolean QOpenGLFunctions_4_2_Core::glIsFramebuffer(GLuint framebuffer)
1502{
1503 return d_3_0_Core->f.IsFramebuffer(framebuffer);
1504}
1505
1506inline void QOpenGLFunctions_4_2_Core::glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params)
1507{
1508 d_3_0_Core->f.GetRenderbufferParameteriv(target, pname, params);
1509}
1510
1511inline void QOpenGLFunctions_4_2_Core::glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)
1512{
1513 d_3_0_Core->f.RenderbufferStorage(target, internalformat, width, height);
1514}
1515
1516inline void QOpenGLFunctions_4_2_Core::glGenRenderbuffers(GLsizei n, GLuint *renderbuffers)
1517{
1518 d_3_0_Core->f.GenRenderbuffers(n, renderbuffers);
1519}
1520
1521inline void QOpenGLFunctions_4_2_Core::glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers)
1522{
1523 d_3_0_Core->f.DeleteRenderbuffers(n, renderbuffers);
1524}
1525
1526inline void QOpenGLFunctions_4_2_Core::glBindRenderbuffer(GLenum target, GLuint renderbuffer)
1527{
1528 d_3_0_Core->f.BindRenderbuffer(target, renderbuffer);
1529}
1530
1531inline GLboolean QOpenGLFunctions_4_2_Core::glIsRenderbuffer(GLuint renderbuffer)
1532{
1533 return d_3_0_Core->f.IsRenderbuffer(renderbuffer);
1534}
1535
1536inline const GLubyte * QOpenGLFunctions_4_2_Core::glGetStringi(GLenum name, GLuint index)
1537{
1538 return d_3_0_Core->f.GetStringi(name, index);
1539}
1540
1541inline void QOpenGLFunctions_4_2_Core::glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil)
1542{
1543 d_3_0_Core->f.ClearBufferfi(buffer, drawbuffer, depth, stencil);
1544}
1545
1546inline void QOpenGLFunctions_4_2_Core::glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value)
1547{
1548 d_3_0_Core->f.ClearBufferfv(buffer, drawbuffer, value);
1549}
1550
1551inline void QOpenGLFunctions_4_2_Core::glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value)
1552{
1553 d_3_0_Core->f.ClearBufferuiv(buffer, drawbuffer, value);
1554}
1555
1556inline void QOpenGLFunctions_4_2_Core::glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value)
1557{
1558 d_3_0_Core->f.ClearBufferiv(buffer, drawbuffer, value);
1559}
1560
1561inline void QOpenGLFunctions_4_2_Core::glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params)
1562{
1563 d_3_0_Core->f.GetTexParameterIuiv(target, pname, params);
1564}
1565
1566inline void QOpenGLFunctions_4_2_Core::glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params)
1567{
1568 d_3_0_Core->f.GetTexParameterIiv(target, pname, params);
1569}
1570
1571inline void QOpenGLFunctions_4_2_Core::glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params)
1572{
1573 d_3_0_Core->f.TexParameterIuiv(target, pname, params);
1574}
1575
1576inline void QOpenGLFunctions_4_2_Core::glTexParameterIiv(GLenum target, GLenum pname, const GLint *params)
1577{
1578 d_3_0_Core->f.TexParameterIiv(target, pname, params);
1579}
1580
1581inline void QOpenGLFunctions_4_2_Core::glUniform4uiv(GLint location, GLsizei count, const GLuint *value)
1582{
1583 d_3_0_Core->f.Uniform4uiv(location, count, value);
1584}
1585
1586inline void QOpenGLFunctions_4_2_Core::glUniform3uiv(GLint location, GLsizei count, const GLuint *value)
1587{
1588 d_3_0_Core->f.Uniform3uiv(location, count, value);
1589}
1590
1591inline void QOpenGLFunctions_4_2_Core::glUniform2uiv(GLint location, GLsizei count, const GLuint *value)
1592{
1593 d_3_0_Core->f.Uniform2uiv(location, count, value);
1594}
1595
1596inline void QOpenGLFunctions_4_2_Core::glUniform1uiv(GLint location, GLsizei count, const GLuint *value)
1597{
1598 d_3_0_Core->f.Uniform1uiv(location, count, value);
1599}
1600
1601inline void QOpenGLFunctions_4_2_Core::glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)
1602{
1603 d_3_0_Core->f.Uniform4ui(location, v0, v1, v2, v3);
1604}
1605
1606inline void QOpenGLFunctions_4_2_Core::glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2)
1607{
1608 d_3_0_Core->f.Uniform3ui(location, v0, v1, v2);
1609}
1610
1611inline void QOpenGLFunctions_4_2_Core::glUniform2ui(GLint location, GLuint v0, GLuint v1)
1612{
1613 d_3_0_Core->f.Uniform2ui(location, v0, v1);
1614}
1615
1616inline void QOpenGLFunctions_4_2_Core::glUniform1ui(GLint location, GLuint v0)
1617{
1618 d_3_0_Core->f.Uniform1ui(location, v0);
1619}
1620
1621inline GLint QOpenGLFunctions_4_2_Core::glGetFragDataLocation(GLuint program, const GLchar *name)
1622{
1623 return d_3_0_Core->f.GetFragDataLocation(program, name);
1624}
1625
1626inline void QOpenGLFunctions_4_2_Core::glBindFragDataLocation(GLuint program, GLuint color, const GLchar *name)
1627{
1628 d_3_0_Core->f.BindFragDataLocation(program, color, name);
1629}
1630
1631inline void QOpenGLFunctions_4_2_Core::glGetUniformuiv(GLuint program, GLint location, GLuint *params)
1632{
1633 d_3_0_Core->f.GetUniformuiv(program, location, params);
1634}
1635
1636inline void QOpenGLFunctions_4_2_Core::glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params)
1637{
1638 d_3_0_Core->f.GetVertexAttribIuiv(index, pname, params);
1639}
1640
1641inline void QOpenGLFunctions_4_2_Core::glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params)
1642{
1643 d_3_0_Core->f.GetVertexAttribIiv(index, pname, params);
1644}
1645
1646inline void QOpenGLFunctions_4_2_Core::glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
1647{
1648 d_3_0_Core->f.VertexAttribIPointer(index, size, type, stride, pointer);
1649}
1650
1651inline void QOpenGLFunctions_4_2_Core::glEndConditionalRender()
1652{
1653 d_3_0_Core->f.EndConditionalRender();
1654}
1655
1656inline void QOpenGLFunctions_4_2_Core::glBeginConditionalRender(GLuint id, GLenum mode)
1657{
1658 d_3_0_Core->f.BeginConditionalRender(id, mode);
1659}
1660
1661inline void QOpenGLFunctions_4_2_Core::glClampColor(GLenum target, GLenum clamp)
1662{
1663 d_3_0_Core->f.ClampColor(target, clamp);
1664}
1665
1666inline void QOpenGLFunctions_4_2_Core::glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name)
1667{
1668 d_3_0_Core->f.GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name);
1669}
1670
1671inline void QOpenGLFunctions_4_2_Core::glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar* const *varyings, GLenum bufferMode)
1672{
1673 d_3_0_Core->f.TransformFeedbackVaryings(program, count, varyings, bufferMode);
1674}
1675
1676inline void QOpenGLFunctions_4_2_Core::glBindBufferBase(GLenum target, GLuint index, GLuint buffer)
1677{
1678 d_3_0_Core->f.BindBufferBase(target, index, buffer);
1679}
1680
1681inline void QOpenGLFunctions_4_2_Core::glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size)
1682{
1683 d_3_0_Core->f.BindBufferRange(target, index, buffer, offset, size);
1684}
1685
1686inline void QOpenGLFunctions_4_2_Core::glEndTransformFeedback()
1687{
1688 d_3_0_Core->f.EndTransformFeedback();
1689}
1690
1691inline void QOpenGLFunctions_4_2_Core::glBeginTransformFeedback(GLenum primitiveMode)
1692{
1693 d_3_0_Core->f.BeginTransformFeedback(primitiveMode);
1694}
1695
1696inline GLboolean QOpenGLFunctions_4_2_Core::glIsEnabledi(GLenum target, GLuint index)
1697{
1698 return d_3_0_Core->f.IsEnabledi(target, index);
1699}
1700
1701inline void QOpenGLFunctions_4_2_Core::glDisablei(GLenum target, GLuint index)
1702{
1703 d_3_0_Core->f.Disablei(target, index);
1704}
1705
1706inline void QOpenGLFunctions_4_2_Core::glEnablei(GLenum target, GLuint index)
1707{
1708 d_3_0_Core->f.Enablei(target, index);
1709}
1710
1711inline void QOpenGLFunctions_4_2_Core::glGetIntegeri_v(GLenum target, GLuint index, GLint *data)
1712{
1713 d_3_0_Core->f.GetIntegeri_v(target, index, data);
1714}
1715
1716inline void QOpenGLFunctions_4_2_Core::glGetBooleani_v(GLenum target, GLuint index, GLboolean *data)
1717{
1718 d_3_0_Core->f.GetBooleani_v(target, index, data);
1719}
1720
1721inline void QOpenGLFunctions_4_2_Core::glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a)
1722{
1723 d_3_0_Core->f.ColorMaski(index, r, g, b, a);
1724}
1725
1726
1727// OpenGL 3.1 core functions
1728inline void QOpenGLFunctions_4_2_Core::glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size)
1729{
1730 d_3_1_Core->f.CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size);
1731}
1732
1733inline void QOpenGLFunctions_4_2_Core::glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding)
1734{
1735 d_3_1_Core->f.UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding);
1736}
1737
1738inline void QOpenGLFunctions_4_2_Core::glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName)
1739{
1740 d_3_1_Core->f.GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName);
1741}
1742
1743inline void QOpenGLFunctions_4_2_Core::glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params)
1744{
1745 d_3_1_Core->f.GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params);
1746}
1747
1748inline GLuint QOpenGLFunctions_4_2_Core::glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName)
1749{
1750 return d_3_1_Core->f.GetUniformBlockIndex(program, uniformBlockName);
1751}
1752
1753inline void QOpenGLFunctions_4_2_Core::glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName)
1754{
1755 d_3_1_Core->f.GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName);
1756}
1757
1758inline void QOpenGLFunctions_4_2_Core::glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params)
1759{
1760 d_3_1_Core->f.GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params);
1761}
1762
1763inline void QOpenGLFunctions_4_2_Core::glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar* const *uniformNames, GLuint *uniformIndices)
1764{
1765 d_3_1_Core->f.GetUniformIndices(program, uniformCount, uniformNames, uniformIndices);
1766}
1767
1768inline void QOpenGLFunctions_4_2_Core::glPrimitiveRestartIndex(GLuint index)
1769{
1770 d_3_1_Core->f.PrimitiveRestartIndex(index);
1771}
1772
1773inline void QOpenGLFunctions_4_2_Core::glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer)
1774{
1775 d_3_1_Core->f.TexBuffer(target, internalformat, buffer);
1776}
1777
1778inline void QOpenGLFunctions_4_2_Core::glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount)
1779{
1780 d_3_1_Core->f.DrawElementsInstanced(mode, count, type, indices, instancecount);
1781}
1782
1783inline void QOpenGLFunctions_4_2_Core::glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount)
1784{
1785 d_3_1_Core->f.DrawArraysInstanced(mode, first, count, instancecount);
1786}
1787
1788
1789// OpenGL 3.2 core functions
1790inline void QOpenGLFunctions_4_2_Core::glSampleMaski(GLuint index, GLbitfield mask)
1791{
1792 d_3_2_Core->f.SampleMaski(index, mask);
1793}
1794
1795inline void QOpenGLFunctions_4_2_Core::glGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val)
1796{
1797 d_3_2_Core->f.GetMultisamplefv(pname, index, val);
1798}
1799
1800inline void QOpenGLFunctions_4_2_Core::glTexImage3DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations)
1801{
1802 d_3_2_Core->f.TexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations);
1803}
1804
1805inline void QOpenGLFunctions_4_2_Core::glTexImage2DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations)
1806{
1807 d_3_2_Core->f.TexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations);
1808}
1809
1810inline void QOpenGLFunctions_4_2_Core::glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values)
1811{
1812 d_3_2_Core->f.GetSynciv(sync, pname, bufSize, length, values);
1813}
1814
1815inline void QOpenGLFunctions_4_2_Core::glGetInteger64v(GLenum pname, GLint64 *params)
1816{
1817 d_3_2_Core->f.GetInteger64v(pname, params);
1818}
1819
1820inline void QOpenGLFunctions_4_2_Core::glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout)
1821{
1822 d_3_2_Core->f.WaitSync(sync, flags, timeout);
1823}
1824
1825inline GLenum QOpenGLFunctions_4_2_Core::glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout)
1826{
1827 return d_3_2_Core->f.ClientWaitSync(sync, flags, timeout);
1828}
1829
1830inline void QOpenGLFunctions_4_2_Core::glDeleteSync(GLsync sync)
1831{
1832 d_3_2_Core->f.DeleteSync(sync);
1833}
1834
1835inline GLboolean QOpenGLFunctions_4_2_Core::glIsSync(GLsync sync)
1836{
1837 return d_3_2_Core->f.IsSync(sync);
1838}
1839
1840inline GLsync QOpenGLFunctions_4_2_Core::glFenceSync(GLenum condition, GLbitfield flags)
1841{
1842 return d_3_2_Core->f.FenceSync(condition, flags);
1843}
1844
1845inline void QOpenGLFunctions_4_2_Core::glProvokingVertex(GLenum mode)
1846{
1847 d_3_2_Core->f.ProvokingVertex(mode);
1848}
1849
1850inline void QOpenGLFunctions_4_2_Core::glMultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount, const GLint *basevertex)
1851{
1852 d_3_2_Core->f.MultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex);
1853}
1854
1855inline void QOpenGLFunctions_4_2_Core::glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount, GLint basevertex)
1856{
1857 d_3_2_Core->f.DrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex);
1858}
1859
1860inline void QOpenGLFunctions_4_2_Core::glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex)
1861{
1862 d_3_2_Core->f.DrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex);
1863}
1864
1865inline void QOpenGLFunctions_4_2_Core::glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex)
1866{
1867 d_3_2_Core->f.DrawElementsBaseVertex(mode, count, type, indices, basevertex);
1868}
1869
1870inline void QOpenGLFunctions_4_2_Core::glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level)
1871{
1872 d_3_2_Core->f.FramebufferTexture(target, attachment, texture, level);
1873}
1874
1875inline void QOpenGLFunctions_4_2_Core::glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params)
1876{
1877 d_3_2_Core->f.GetBufferParameteri64v(target, pname, params);
1878}
1879
1880inline void QOpenGLFunctions_4_2_Core::glGetInteger64i_v(GLenum target, GLuint index, GLint64 *data)
1881{
1882 d_3_2_Core->f.GetInteger64i_v(target, index, data);
1883}
1884
1885
1886// OpenGL 3.3 core functions
1887inline void QOpenGLFunctions_4_2_Core::glVertexAttribP4uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value)
1888{
1889 d_3_3_Core->f.VertexAttribP4uiv(index, type, normalized, value);
1890}
1891
1892inline void QOpenGLFunctions_4_2_Core::glVertexAttribP4ui(GLuint index, GLenum type, GLboolean normalized, GLuint value)
1893{
1894 d_3_3_Core->f.VertexAttribP4ui(index, type, normalized, value);
1895}
1896
1897inline void QOpenGLFunctions_4_2_Core::glVertexAttribP3uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value)
1898{
1899 d_3_3_Core->f.VertexAttribP3uiv(index, type, normalized, value);
1900}
1901
1902inline void QOpenGLFunctions_4_2_Core::glVertexAttribP3ui(GLuint index, GLenum type, GLboolean normalized, GLuint value)
1903{
1904 d_3_3_Core->f.VertexAttribP3ui(index, type, normalized, value);
1905}
1906
1907inline void QOpenGLFunctions_4_2_Core::glVertexAttribP2uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value)
1908{
1909 d_3_3_Core->f.VertexAttribP2uiv(index, type, normalized, value);
1910}
1911
1912inline void QOpenGLFunctions_4_2_Core::glVertexAttribP2ui(GLuint index, GLenum type, GLboolean normalized, GLuint value)
1913{
1914 d_3_3_Core->f.VertexAttribP2ui(index, type, normalized, value);
1915}
1916
1917inline void QOpenGLFunctions_4_2_Core::glVertexAttribP1uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value)
1918{
1919 d_3_3_Core->f.VertexAttribP1uiv(index, type, normalized, value);
1920}
1921
1922inline void QOpenGLFunctions_4_2_Core::glVertexAttribP1ui(GLuint index, GLenum type, GLboolean normalized, GLuint value)
1923{
1924 d_3_3_Core->f.VertexAttribP1ui(index, type, normalized, value);
1925}
1926
1927inline void QOpenGLFunctions_4_2_Core::glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64 *params)
1928{
1929 d_3_3_Core->f.GetQueryObjectui64v(id, pname, params);
1930}
1931
1932inline void QOpenGLFunctions_4_2_Core::glGetQueryObjecti64v(GLuint id, GLenum pname, GLint64 *params)
1933{
1934 d_3_3_Core->f.GetQueryObjecti64v(id, pname, params);
1935}
1936
1937inline void QOpenGLFunctions_4_2_Core::glQueryCounter(GLuint id, GLenum target)
1938{
1939 d_3_3_Core->f.QueryCounter(id, target);
1940}
1941
1942inline void QOpenGLFunctions_4_2_Core::glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params)
1943{
1944 d_3_3_Core->f.GetSamplerParameterIuiv(sampler, pname, params);
1945}
1946
1947inline void QOpenGLFunctions_4_2_Core::glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params)
1948{
1949 d_3_3_Core->f.GetSamplerParameterfv(sampler, pname, params);
1950}
1951
1952inline void QOpenGLFunctions_4_2_Core::glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params)
1953{
1954 d_3_3_Core->f.GetSamplerParameterIiv(sampler, pname, params);
1955}
1956
1957inline void QOpenGLFunctions_4_2_Core::glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params)
1958{
1959 d_3_3_Core->f.GetSamplerParameteriv(sampler, pname, params);
1960}
1961
1962inline void QOpenGLFunctions_4_2_Core::glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *param)
1963{
1964 d_3_3_Core->f.SamplerParameterIuiv(sampler, pname, param);
1965}
1966
1967inline void QOpenGLFunctions_4_2_Core::glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *param)
1968{
1969 d_3_3_Core->f.SamplerParameterIiv(sampler, pname, param);
1970}
1971
1972inline void QOpenGLFunctions_4_2_Core::glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *param)
1973{
1974 d_3_3_Core->f.SamplerParameterfv(sampler, pname, param);
1975}
1976
1977inline void QOpenGLFunctions_4_2_Core::glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param)
1978{
1979 d_3_3_Core->f.SamplerParameterf(sampler, pname, param);
1980}
1981
1982inline void QOpenGLFunctions_4_2_Core::glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint *param)
1983{
1984 d_3_3_Core->f.SamplerParameteriv(sampler, pname, param);
1985}
1986
1987inline void QOpenGLFunctions_4_2_Core::glSamplerParameteri(GLuint sampler, GLenum pname, GLint param)
1988{
1989 d_3_3_Core->f.SamplerParameteri(sampler, pname, param);
1990}
1991
1992inline void QOpenGLFunctions_4_2_Core::glBindSampler(GLuint unit, GLuint sampler)
1993{
1994 d_3_3_Core->f.BindSampler(unit, sampler);
1995}
1996
1997inline GLboolean QOpenGLFunctions_4_2_Core::glIsSampler(GLuint sampler)
1998{
1999 return d_3_3_Core->f.IsSampler(sampler);
2000}
2001
2002inline void QOpenGLFunctions_4_2_Core::glDeleteSamplers(GLsizei count, const GLuint *samplers)
2003{
2004 d_3_3_Core->f.DeleteSamplers(count, samplers);
2005}
2006
2007inline void QOpenGLFunctions_4_2_Core::glGenSamplers(GLsizei count, GLuint *samplers)
2008{
2009 d_3_3_Core->f.GenSamplers(count, samplers);
2010}
2011
2012inline GLint QOpenGLFunctions_4_2_Core::glGetFragDataIndex(GLuint program, const GLchar *name)
2013{
2014 return d_3_3_Core->f.GetFragDataIndex(program, name);
2015}
2016
2017inline void QOpenGLFunctions_4_2_Core::glBindFragDataLocationIndexed(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name)
2018{
2019 d_3_3_Core->f.BindFragDataLocationIndexed(program, colorNumber, index, name);
2020}
2021
2022inline void QOpenGLFunctions_4_2_Core::glVertexAttribDivisor(GLuint index, GLuint divisor)
2023{
2024 d_3_3_Core->f.VertexAttribDivisor(index, divisor);
2025}
2026
2027
2028// OpenGL 4.0 core functions
2029inline void QOpenGLFunctions_4_2_Core::glGetQueryIndexediv(GLenum target, GLuint index, GLenum pname, GLint *params)
2030{
2031 d_4_0_Core->f.GetQueryIndexediv(target, index, pname, params);
2032}
2033
2034inline void QOpenGLFunctions_4_2_Core::glEndQueryIndexed(GLenum target, GLuint index)
2035{
2036 d_4_0_Core->f.EndQueryIndexed(target, index);
2037}
2038
2039inline void QOpenGLFunctions_4_2_Core::glBeginQueryIndexed(GLenum target, GLuint index, GLuint id)
2040{
2041 d_4_0_Core->f.BeginQueryIndexed(target, index, id);
2042}
2043
2044inline void QOpenGLFunctions_4_2_Core::glDrawTransformFeedbackStream(GLenum mode, GLuint id, GLuint stream)
2045{
2046 d_4_0_Core->f.DrawTransformFeedbackStream(mode, id, stream);
2047}
2048
2049inline void QOpenGLFunctions_4_2_Core::glDrawTransformFeedback(GLenum mode, GLuint id)
2050{
2051 d_4_0_Core->f.DrawTransformFeedback(mode, id);
2052}
2053
2054inline void QOpenGLFunctions_4_2_Core::glResumeTransformFeedback()
2055{
2056 d_4_0_Core->f.ResumeTransformFeedback();
2057}
2058
2059inline void QOpenGLFunctions_4_2_Core::glPauseTransformFeedback()
2060{
2061 d_4_0_Core->f.PauseTransformFeedback();
2062}
2063
2064inline GLboolean QOpenGLFunctions_4_2_Core::glIsTransformFeedback(GLuint id)
2065{
2066 return d_4_0_Core->f.IsTransformFeedback(id);
2067}
2068
2069inline void QOpenGLFunctions_4_2_Core::glGenTransformFeedbacks(GLsizei n, GLuint *ids)
2070{
2071 d_4_0_Core->f.GenTransformFeedbacks(n, ids);
2072}
2073
2074inline void QOpenGLFunctions_4_2_Core::glDeleteTransformFeedbacks(GLsizei n, const GLuint *ids)
2075{
2076 d_4_0_Core->f.DeleteTransformFeedbacks(n, ids);
2077}
2078
2079inline void QOpenGLFunctions_4_2_Core::glBindTransformFeedback(GLenum target, GLuint id)
2080{
2081 d_4_0_Core->f.BindTransformFeedback(target, id);
2082}
2083
2084inline void QOpenGLFunctions_4_2_Core::glPatchParameterfv(GLenum pname, const GLfloat *values)
2085{
2086 d_4_0_Core->f.PatchParameterfv(pname, values);
2087}
2088
2089inline void QOpenGLFunctions_4_2_Core::glPatchParameteri(GLenum pname, GLint value)
2090{
2091 d_4_0_Core->f.PatchParameteri(pname, value);
2092}
2093
2094inline void QOpenGLFunctions_4_2_Core::glGetProgramStageiv(GLuint program, GLenum shadertype, GLenum pname, GLint *values)
2095{
2096 d_4_0_Core->f.GetProgramStageiv(program, shadertype, pname, values);
2097}
2098
2099inline void QOpenGLFunctions_4_2_Core::glGetUniformSubroutineuiv(GLenum shadertype, GLint location, GLuint *params)
2100{
2101 d_4_0_Core->f.GetUniformSubroutineuiv(shadertype, location, params);
2102}
2103
2104inline void QOpenGLFunctions_4_2_Core::glUniformSubroutinesuiv(GLenum shadertype, GLsizei count, const GLuint *indices)
2105{
2106 d_4_0_Core->f.UniformSubroutinesuiv(shadertype, count, indices);
2107}
2108
2109inline void QOpenGLFunctions_4_2_Core::glGetActiveSubroutineName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name)
2110{
2111 d_4_0_Core->f.GetActiveSubroutineName(program, shadertype, index, bufsize, length, name);
2112}
2113
2114inline void QOpenGLFunctions_4_2_Core::glGetActiveSubroutineUniformName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name)
2115{
2116 d_4_0_Core->f.GetActiveSubroutineUniformName(program, shadertype, index, bufsize, length, name);
2117}
2118
2119inline void QOpenGLFunctions_4_2_Core::glGetActiveSubroutineUniformiv(GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values)
2120{
2121 d_4_0_Core->f.GetActiveSubroutineUniformiv(program, shadertype, index, pname, values);
2122}
2123
2124inline GLuint QOpenGLFunctions_4_2_Core::glGetSubroutineIndex(GLuint program, GLenum shadertype, const GLchar *name)
2125{
2126 return d_4_0_Core->f.GetSubroutineIndex(program, shadertype, name);
2127}
2128
2129inline GLint QOpenGLFunctions_4_2_Core::glGetSubroutineUniformLocation(GLuint program, GLenum shadertype, const GLchar *name)
2130{
2131 return d_4_0_Core->f.GetSubroutineUniformLocation(program, shadertype, name);
2132}
2133
2134inline void QOpenGLFunctions_4_2_Core::glGetUniformdv(GLuint program, GLint location, GLdouble *params)
2135{
2136 d_4_0_Core->f.GetUniformdv(program, location, params);
2137}
2138
2139inline void QOpenGLFunctions_4_2_Core::glUniformMatrix4x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2140{
2141 d_4_0_Core->f.UniformMatrix4x3dv(location, count, transpose, value);
2142}
2143
2144inline void QOpenGLFunctions_4_2_Core::glUniformMatrix4x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2145{
2146 d_4_0_Core->f.UniformMatrix4x2dv(location, count, transpose, value);
2147}
2148
2149inline void QOpenGLFunctions_4_2_Core::glUniformMatrix3x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2150{
2151 d_4_0_Core->f.UniformMatrix3x4dv(location, count, transpose, value);
2152}
2153
2154inline void QOpenGLFunctions_4_2_Core::glUniformMatrix3x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2155{
2156 d_4_0_Core->f.UniformMatrix3x2dv(location, count, transpose, value);
2157}
2158
2159inline void QOpenGLFunctions_4_2_Core::glUniformMatrix2x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2160{
2161 d_4_0_Core->f.UniformMatrix2x4dv(location, count, transpose, value);
2162}
2163
2164inline void QOpenGLFunctions_4_2_Core::glUniformMatrix2x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2165{
2166 d_4_0_Core->f.UniformMatrix2x3dv(location, count, transpose, value);
2167}
2168
2169inline void QOpenGLFunctions_4_2_Core::glUniformMatrix4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2170{
2171 d_4_0_Core->f.UniformMatrix4dv(location, count, transpose, value);
2172}
2173
2174inline void QOpenGLFunctions_4_2_Core::glUniformMatrix3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2175{
2176 d_4_0_Core->f.UniformMatrix3dv(location, count, transpose, value);
2177}
2178
2179inline void QOpenGLFunctions_4_2_Core::glUniformMatrix2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2180{
2181 d_4_0_Core->f.UniformMatrix2dv(location, count, transpose, value);
2182}
2183
2184inline void QOpenGLFunctions_4_2_Core::glUniform4dv(GLint location, GLsizei count, const GLdouble *value)
2185{
2186 d_4_0_Core->f.Uniform4dv(location, count, value);
2187}
2188
2189inline void QOpenGLFunctions_4_2_Core::glUniform3dv(GLint location, GLsizei count, const GLdouble *value)
2190{
2191 d_4_0_Core->f.Uniform3dv(location, count, value);
2192}
2193
2194inline void QOpenGLFunctions_4_2_Core::glUniform2dv(GLint location, GLsizei count, const GLdouble *value)
2195{
2196 d_4_0_Core->f.Uniform2dv(location, count, value);
2197}
2198
2199inline void QOpenGLFunctions_4_2_Core::glUniform1dv(GLint location, GLsizei count, const GLdouble *value)
2200{
2201 d_4_0_Core->f.Uniform1dv(location, count, value);
2202}
2203
2204inline void QOpenGLFunctions_4_2_Core::glUniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
2205{
2206 d_4_0_Core->f.Uniform4d(location, x, y, z, w);
2207}
2208
2209inline void QOpenGLFunctions_4_2_Core::glUniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z)
2210{
2211 d_4_0_Core->f.Uniform3d(location, x, y, z);
2212}
2213
2214inline void QOpenGLFunctions_4_2_Core::glUniform2d(GLint location, GLdouble x, GLdouble y)
2215{
2216 d_4_0_Core->f.Uniform2d(location, x, y);
2217}
2218
2219inline void QOpenGLFunctions_4_2_Core::glUniform1d(GLint location, GLdouble x)
2220{
2221 d_4_0_Core->f.Uniform1d(location, x);
2222}
2223
2224inline void QOpenGLFunctions_4_2_Core::glDrawElementsIndirect(GLenum mode, GLenum type, const GLvoid *indirect)
2225{
2226 d_4_0_Core->f.DrawElementsIndirect(mode, type, indirect);
2227}
2228
2229inline void QOpenGLFunctions_4_2_Core::glDrawArraysIndirect(GLenum mode, const GLvoid *indirect)
2230{
2231 d_4_0_Core->f.DrawArraysIndirect(mode, indirect);
2232}
2233
2234inline void QOpenGLFunctions_4_2_Core::glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)
2235{
2236 d_4_0_Core->f.BlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha);
2237}
2238
2239inline void QOpenGLFunctions_4_2_Core::glBlendFunci(GLuint buf, GLenum src, GLenum dst)
2240{
2241 d_4_0_Core->f.BlendFunci(buf, src, dst);
2242}
2243
2244inline void QOpenGLFunctions_4_2_Core::glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha)
2245{
2246 d_4_0_Core->f.BlendEquationSeparatei(buf, modeRGB, modeAlpha);
2247}
2248
2249inline void QOpenGLFunctions_4_2_Core::glBlendEquationi(GLuint buf, GLenum mode)
2250{
2251 d_4_0_Core->f.BlendEquationi(buf, mode);
2252}
2253
2254inline void QOpenGLFunctions_4_2_Core::glMinSampleShading(GLfloat value)
2255{
2256 d_4_0_Core->f.MinSampleShading(value);
2257}
2258
2259
2260// OpenGL 4.1 core functions
2261inline void QOpenGLFunctions_4_2_Core::glGetDoublei_v(GLenum target, GLuint index, GLdouble *data)
2262{
2263 d_4_1_Core->f.GetDoublei_v(target, index, data);
2264}
2265
2266inline void QOpenGLFunctions_4_2_Core::glGetFloati_v(GLenum target, GLuint index, GLfloat *data)
2267{
2268 d_4_1_Core->f.GetFloati_v(target, index, data);
2269}
2270
2271inline void QOpenGLFunctions_4_2_Core::glDepthRangeIndexed(GLuint index, GLdouble n, GLdouble f)
2272{
2273 d_4_1_Core->f.DepthRangeIndexed(index, n, f);
2274}
2275
2276inline void QOpenGLFunctions_4_2_Core::glDepthRangeArrayv(GLuint first, GLsizei count, const GLdouble *v)
2277{
2278 d_4_1_Core->f.DepthRangeArrayv(first, count, v);
2279}
2280
2281inline void QOpenGLFunctions_4_2_Core::glScissorIndexedv(GLuint index, const GLint *v)
2282{
2283 d_4_1_Core->f.ScissorIndexedv(index, v);
2284}
2285
2286inline void QOpenGLFunctions_4_2_Core::glScissorIndexed(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height)
2287{
2288 d_4_1_Core->f.ScissorIndexed(index, left, bottom, width, height);
2289}
2290
2291inline void QOpenGLFunctions_4_2_Core::glScissorArrayv(GLuint first, GLsizei count, const GLint *v)
2292{
2293 d_4_1_Core->f.ScissorArrayv(first, count, v);
2294}
2295
2296inline void QOpenGLFunctions_4_2_Core::glViewportIndexedfv(GLuint index, const GLfloat *v)
2297{
2298 d_4_1_Core->f.ViewportIndexedfv(index, v);
2299}
2300
2301inline void QOpenGLFunctions_4_2_Core::glViewportIndexedf(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h)
2302{
2303 d_4_1_Core->f.ViewportIndexedf(index, x, y, w, h);
2304}
2305
2306inline void QOpenGLFunctions_4_2_Core::glViewportArrayv(GLuint first, GLsizei count, const GLfloat *v)
2307{
2308 d_4_1_Core->f.ViewportArrayv(first, count, v);
2309}
2310
2311inline void QOpenGLFunctions_4_2_Core::glGetVertexAttribLdv(GLuint index, GLenum pname, GLdouble *params)
2312{
2313 d_4_1_Core->f.GetVertexAttribLdv(index, pname, params);
2314}
2315
2316inline void QOpenGLFunctions_4_2_Core::glVertexAttribLPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
2317{
2318 d_4_1_Core->f.VertexAttribLPointer(index, size, type, stride, pointer);
2319}
2320
2321inline void QOpenGLFunctions_4_2_Core::glVertexAttribL4dv(GLuint index, const GLdouble *v)
2322{
2323 d_4_1_Core->f.VertexAttribL4dv(index, v);
2324}
2325
2326inline void QOpenGLFunctions_4_2_Core::glVertexAttribL3dv(GLuint index, const GLdouble *v)
2327{
2328 d_4_1_Core->f.VertexAttribL3dv(index, v);
2329}
2330
2331inline void QOpenGLFunctions_4_2_Core::glVertexAttribL2dv(GLuint index, const GLdouble *v)
2332{
2333 d_4_1_Core->f.VertexAttribL2dv(index, v);
2334}
2335
2336inline void QOpenGLFunctions_4_2_Core::glVertexAttribL1dv(GLuint index, const GLdouble *v)
2337{
2338 d_4_1_Core->f.VertexAttribL1dv(index, v);
2339}
2340
2341inline void QOpenGLFunctions_4_2_Core::glVertexAttribL4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
2342{
2343 d_4_1_Core->f.VertexAttribL4d(index, x, y, z, w);
2344}
2345
2346inline void QOpenGLFunctions_4_2_Core::glVertexAttribL3d(GLuint index, GLdouble x, GLdouble y, GLdouble z)
2347{
2348 d_4_1_Core->f.VertexAttribL3d(index, x, y, z);
2349}
2350
2351inline void QOpenGLFunctions_4_2_Core::glVertexAttribL2d(GLuint index, GLdouble x, GLdouble y)
2352{
2353 d_4_1_Core->f.VertexAttribL2d(index, x, y);
2354}
2355
2356inline void QOpenGLFunctions_4_2_Core::glVertexAttribL1d(GLuint index, GLdouble x)
2357{
2358 d_4_1_Core->f.VertexAttribL1d(index, x);
2359}
2360
2361inline void QOpenGLFunctions_4_2_Core::glGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog)
2362{
2363 d_4_1_Core->f.GetProgramPipelineInfoLog(pipeline, bufSize, length, infoLog);
2364}
2365
2366inline void QOpenGLFunctions_4_2_Core::glValidateProgramPipeline(GLuint pipeline)
2367{
2368 d_4_1_Core->f.ValidateProgramPipeline(pipeline);
2369}
2370
2371inline void QOpenGLFunctions_4_2_Core::glProgramUniformMatrix4x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2372{
2373 d_4_1_Core->f.ProgramUniformMatrix4x3dv(program, location, count, transpose, value);
2374}
2375
2376inline void QOpenGLFunctions_4_2_Core::glProgramUniformMatrix3x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2377{
2378 d_4_1_Core->f.ProgramUniformMatrix3x4dv(program, location, count, transpose, value);
2379}
2380
2381inline void QOpenGLFunctions_4_2_Core::glProgramUniformMatrix4x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2382{
2383 d_4_1_Core->f.ProgramUniformMatrix4x2dv(program, location, count, transpose, value);
2384}
2385
2386inline void QOpenGLFunctions_4_2_Core::glProgramUniformMatrix2x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2387{
2388 d_4_1_Core->f.ProgramUniformMatrix2x4dv(program, location, count, transpose, value);
2389}
2390
2391inline void QOpenGLFunctions_4_2_Core::glProgramUniformMatrix3x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2392{
2393 d_4_1_Core->f.ProgramUniformMatrix3x2dv(program, location, count, transpose, value);
2394}
2395
2396inline void QOpenGLFunctions_4_2_Core::glProgramUniformMatrix2x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2397{
2398 d_4_1_Core->f.ProgramUniformMatrix2x3dv(program, location, count, transpose, value);
2399}
2400
2401inline void QOpenGLFunctions_4_2_Core::glProgramUniformMatrix4x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
2402{
2403 d_4_1_Core->f.ProgramUniformMatrix4x3fv(program, location, count, transpose, value);
2404}
2405
2406inline void QOpenGLFunctions_4_2_Core::glProgramUniformMatrix3x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
2407{
2408 d_4_1_Core->f.ProgramUniformMatrix3x4fv(program, location, count, transpose, value);
2409}
2410
2411inline void QOpenGLFunctions_4_2_Core::glProgramUniformMatrix4x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
2412{
2413 d_4_1_Core->f.ProgramUniformMatrix4x2fv(program, location, count, transpose, value);
2414}
2415
2416inline void QOpenGLFunctions_4_2_Core::glProgramUniformMatrix2x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
2417{
2418 d_4_1_Core->f.ProgramUniformMatrix2x4fv(program, location, count, transpose, value);
2419}
2420
2421inline void QOpenGLFunctions_4_2_Core::glProgramUniformMatrix3x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
2422{
2423 d_4_1_Core->f.ProgramUniformMatrix3x2fv(program, location, count, transpose, value);
2424}
2425
2426inline void QOpenGLFunctions_4_2_Core::glProgramUniformMatrix2x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
2427{
2428 d_4_1_Core->f.ProgramUniformMatrix2x3fv(program, location, count, transpose, value);
2429}
2430
2431inline void QOpenGLFunctions_4_2_Core::glProgramUniformMatrix4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2432{
2433 d_4_1_Core->f.ProgramUniformMatrix4dv(program, location, count, transpose, value);
2434}
2435
2436inline void QOpenGLFunctions_4_2_Core::glProgramUniformMatrix3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2437{
2438 d_4_1_Core->f.ProgramUniformMatrix3dv(program, location, count, transpose, value);
2439}
2440
2441inline void QOpenGLFunctions_4_2_Core::glProgramUniformMatrix2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2442{
2443 d_4_1_Core->f.ProgramUniformMatrix2dv(program, location, count, transpose, value);
2444}
2445
2446inline void QOpenGLFunctions_4_2_Core::glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
2447{
2448 d_4_1_Core->f.ProgramUniformMatrix4fv(program, location, count, transpose, value);
2449}
2450
2451inline void QOpenGLFunctions_4_2_Core::glProgramUniformMatrix3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
2452{
2453 d_4_1_Core->f.ProgramUniformMatrix3fv(program, location, count, transpose, value);
2454}
2455
2456inline void QOpenGLFunctions_4_2_Core::glProgramUniformMatrix2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
2457{
2458 d_4_1_Core->f.ProgramUniformMatrix2fv(program, location, count, transpose, value);
2459}
2460
2461inline void QOpenGLFunctions_4_2_Core::glProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const GLuint *value)
2462{
2463 d_4_1_Core->f.ProgramUniform4uiv(program, location, count, value);
2464}
2465
2466inline void QOpenGLFunctions_4_2_Core::glProgramUniform4ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)
2467{
2468 d_4_1_Core->f.ProgramUniform4ui(program, location, v0, v1, v2, v3);
2469}
2470
2471inline void QOpenGLFunctions_4_2_Core::glProgramUniform4dv(GLuint program, GLint location, GLsizei count, const GLdouble *value)
2472{
2473 d_4_1_Core->f.ProgramUniform4dv(program, location, count, value);
2474}
2475
2476inline void QOpenGLFunctions_4_2_Core::glProgramUniform4d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3)
2477{
2478 d_4_1_Core->f.ProgramUniform4d(program, location, v0, v1, v2, v3);
2479}
2480
2481inline void QOpenGLFunctions_4_2_Core::glProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat *value)
2482{
2483 d_4_1_Core->f.ProgramUniform4fv(program, location, count, value);
2484}
2485
2486inline void QOpenGLFunctions_4_2_Core::glProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)
2487{
2488 d_4_1_Core->f.ProgramUniform4f(program, location, v0, v1, v2, v3);
2489}
2490
2491inline void QOpenGLFunctions_4_2_Core::glProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint *value)
2492{
2493 d_4_1_Core->f.ProgramUniform4iv(program, location, count, value);
2494}
2495
2496inline void QOpenGLFunctions_4_2_Core::glProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3)
2497{
2498 d_4_1_Core->f.ProgramUniform4i(program, location, v0, v1, v2, v3);
2499}
2500
2501inline void QOpenGLFunctions_4_2_Core::glProgramUniform3uiv(GLuint program, GLint location, GLsizei count, const GLuint *value)
2502{
2503 d_4_1_Core->f.ProgramUniform3uiv(program, location, count, value);
2504}
2505
2506inline void QOpenGLFunctions_4_2_Core::glProgramUniform3ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2)
2507{
2508 d_4_1_Core->f.ProgramUniform3ui(program, location, v0, v1, v2);
2509}
2510
2511inline void QOpenGLFunctions_4_2_Core::glProgramUniform3dv(GLuint program, GLint location, GLsizei count, const GLdouble *value)
2512{
2513 d_4_1_Core->f.ProgramUniform3dv(program, location, count, value);
2514}
2515
2516inline void QOpenGLFunctions_4_2_Core::glProgramUniform3d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2)
2517{
2518 d_4_1_Core->f.ProgramUniform3d(program, location, v0, v1, v2);
2519}
2520
2521inline void QOpenGLFunctions_4_2_Core::glProgramUniform3fv(GLuint program, GLint location, GLsizei count, const GLfloat *value)
2522{
2523 d_4_1_Core->f.ProgramUniform3fv(program, location, count, value);
2524}
2525
2526inline void QOpenGLFunctions_4_2_Core::glProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2)
2527{
2528 d_4_1_Core->f.ProgramUniform3f(program, location, v0, v1, v2);
2529}
2530
2531inline void QOpenGLFunctions_4_2_Core::glProgramUniform3iv(GLuint program, GLint location, GLsizei count, const GLint *value)
2532{
2533 d_4_1_Core->f.ProgramUniform3iv(program, location, count, value);
2534}
2535
2536inline void QOpenGLFunctions_4_2_Core::glProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2)
2537{
2538 d_4_1_Core->f.ProgramUniform3i(program, location, v0, v1, v2);
2539}
2540
2541inline void QOpenGLFunctions_4_2_Core::glProgramUniform2uiv(GLuint program, GLint location, GLsizei count, const GLuint *value)
2542{
2543 d_4_1_Core->f.ProgramUniform2uiv(program, location, count, value);
2544}
2545
2546inline void QOpenGLFunctions_4_2_Core::glProgramUniform2ui(GLuint program, GLint location, GLuint v0, GLuint v1)
2547{
2548 d_4_1_Core->f.ProgramUniform2ui(program, location, v0, v1);
2549}
2550
2551inline void QOpenGLFunctions_4_2_Core::glProgramUniform2dv(GLuint program, GLint location, GLsizei count, const GLdouble *value)
2552{
2553 d_4_1_Core->f.ProgramUniform2dv(program, location, count, value);
2554}
2555
2556inline void QOpenGLFunctions_4_2_Core::glProgramUniform2d(GLuint program, GLint location, GLdouble v0, GLdouble v1)
2557{
2558 d_4_1_Core->f.ProgramUniform2d(program, location, v0, v1);
2559}
2560
2561inline void QOpenGLFunctions_4_2_Core::glProgramUniform2fv(GLuint program, GLint location, GLsizei count, const GLfloat *value)
2562{
2563 d_4_1_Core->f.ProgramUniform2fv(program, location, count, value);
2564}
2565
2566inline void QOpenGLFunctions_4_2_Core::glProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1)
2567{
2568 d_4_1_Core->f.ProgramUniform2f(program, location, v0, v1);
2569}
2570
2571inline void QOpenGLFunctions_4_2_Core::glProgramUniform2iv(GLuint program, GLint location, GLsizei count, const GLint *value)
2572{
2573 d_4_1_Core->f.ProgramUniform2iv(program, location, count, value);
2574}
2575
2576inline void QOpenGLFunctions_4_2_Core::glProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1)
2577{
2578 d_4_1_Core->f.ProgramUniform2i(program, location, v0, v1);
2579}
2580
2581inline void QOpenGLFunctions_4_2_Core::glProgramUniform1uiv(GLuint program, GLint location, GLsizei count, const GLuint *value)
2582{
2583 d_4_1_Core->f.ProgramUniform1uiv(program, location, count, value);
2584}
2585
2586inline void QOpenGLFunctions_4_2_Core::glProgramUniform1ui(GLuint program, GLint location, GLuint v0)
2587{
2588 d_4_1_Core->f.ProgramUniform1ui(program, location, v0);
2589}
2590
2591inline void QOpenGLFunctions_4_2_Core::glProgramUniform1dv(GLuint program, GLint location, GLsizei count, const GLdouble *value)
2592{
2593 d_4_1_Core->f.ProgramUniform1dv(program, location, count, value);
2594}
2595
2596inline void QOpenGLFunctions_4_2_Core::glProgramUniform1d(GLuint program, GLint location, GLdouble v0)
2597{
2598 d_4_1_Core->f.ProgramUniform1d(program, location, v0);
2599}
2600
2601inline void QOpenGLFunctions_4_2_Core::glProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat *value)
2602{
2603 d_4_1_Core->f.ProgramUniform1fv(program, location, count, value);
2604}
2605
2606inline void QOpenGLFunctions_4_2_Core::glProgramUniform1f(GLuint program, GLint location, GLfloat v0)
2607{
2608 d_4_1_Core->f.ProgramUniform1f(program, location, v0);
2609}
2610
2611inline void QOpenGLFunctions_4_2_Core::glProgramUniform1iv(GLuint program, GLint location, GLsizei count, const GLint *value)
2612{
2613 d_4_1_Core->f.ProgramUniform1iv(program, location, count, value);
2614}
2615
2616inline void QOpenGLFunctions_4_2_Core::glProgramUniform1i(GLuint program, GLint location, GLint v0)
2617{
2618 d_4_1_Core->f.ProgramUniform1i(program, location, v0);
2619}
2620
2621inline void QOpenGLFunctions_4_2_Core::glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint *params)
2622{
2623 d_4_1_Core->f.GetProgramPipelineiv(pipeline, pname, params);
2624}
2625
2626inline GLboolean QOpenGLFunctions_4_2_Core::glIsProgramPipeline(GLuint pipeline)
2627{
2628 return d_4_1_Core->f.IsProgramPipeline(pipeline);
2629}
2630
2631inline void QOpenGLFunctions_4_2_Core::glGenProgramPipelines(GLsizei n, GLuint *pipelines)
2632{
2633 d_4_1_Core->f.GenProgramPipelines(n, pipelines);
2634}
2635
2636inline void QOpenGLFunctions_4_2_Core::glDeleteProgramPipelines(GLsizei n, const GLuint *pipelines)
2637{
2638 d_4_1_Core->f.DeleteProgramPipelines(n, pipelines);
2639}
2640
2641inline void QOpenGLFunctions_4_2_Core::glBindProgramPipeline(GLuint pipeline)
2642{
2643 d_4_1_Core->f.BindProgramPipeline(pipeline);
2644}
2645
2646inline GLuint QOpenGLFunctions_4_2_Core::glCreateShaderProgramv(GLenum type, GLsizei count, const GLchar* const *strings)
2647{
2648 return d_4_1_Core->f.CreateShaderProgramv(type, count, strings);
2649}
2650
2651inline void QOpenGLFunctions_4_2_Core::glActiveShaderProgram(GLuint pipeline, GLuint program)
2652{
2653 d_4_1_Core->f.ActiveShaderProgram(pipeline, program);
2654}
2655
2656inline void QOpenGLFunctions_4_2_Core::glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program)
2657{
2658 d_4_1_Core->f.UseProgramStages(pipeline, stages, program);
2659}
2660
2661inline void QOpenGLFunctions_4_2_Core::glProgramParameteri(GLuint program, GLenum pname, GLint value)
2662{
2663 d_4_1_Core->f.ProgramParameteri(program, pname, value);
2664}
2665
2666inline void QOpenGLFunctions_4_2_Core::glProgramBinary(GLuint program, GLenum binaryFormat, const GLvoid *binary, GLsizei length)
2667{
2668 d_4_1_Core->f.ProgramBinary(program, binaryFormat, binary, length);
2669}
2670
2671inline void QOpenGLFunctions_4_2_Core::glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary)
2672{
2673 d_4_1_Core->f.GetProgramBinary(program, bufSize, length, binaryFormat, binary);
2674}
2675
2676inline void QOpenGLFunctions_4_2_Core::glClearDepthf(GLfloat dd)
2677{
2678 d_4_1_Core->f.ClearDepthf(dd);
2679}
2680
2681inline void QOpenGLFunctions_4_2_Core::glDepthRangef(GLfloat n, GLfloat f)
2682{
2683 d_4_1_Core->f.DepthRangef(n, f);
2684}
2685
2686inline void QOpenGLFunctions_4_2_Core::glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision)
2687{
2688 d_4_1_Core->f.GetShaderPrecisionFormat(shadertype, precisiontype, range, precision);
2689}
2690
2691inline void QOpenGLFunctions_4_2_Core::glShaderBinary(GLsizei count, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length)
2692{
2693 d_4_1_Core->f.ShaderBinary(count, shaders, binaryformat, binary, length);
2694}
2695
2696inline void QOpenGLFunctions_4_2_Core::glReleaseShaderCompiler()
2697{
2698 d_4_1_Core->f.ReleaseShaderCompiler();
2699}
2700
2701
2702// OpenGL 4.2 core functions
2703inline void QOpenGLFunctions_4_2_Core::glTexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth)
2704{
2705 d_4_2_Core->f.TexStorage3D(target, levels, internalformat, width, height, depth);
2706}
2707
2708inline void QOpenGLFunctions_4_2_Core::glTexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height)
2709{
2710 d_4_2_Core->f.TexStorage2D(target, levels, internalformat, width, height);
2711}
2712
2713inline void QOpenGLFunctions_4_2_Core::glTexStorage1D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width)
2714{
2715 d_4_2_Core->f.TexStorage1D(target, levels, internalformat, width);
2716}
2717
2718inline void QOpenGLFunctions_4_2_Core::glMemoryBarrier(GLbitfield barriers)
2719{
2720 d_4_2_Core->f.MemoryBarrier(barriers);
2721}
2722
2723inline void QOpenGLFunctions_4_2_Core::glBindImageTexture(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format)
2724{
2725 d_4_2_Core->f.BindImageTexture(unit, texture, level, layered, layer, access, format);
2726}
2727
2728inline void QOpenGLFunctions_4_2_Core::glGetActiveAtomicCounterBufferiv(GLuint program, GLuint bufferIndex, GLenum pname, GLint *params)
2729{
2730 d_4_2_Core->f.GetActiveAtomicCounterBufferiv(program, bufferIndex, pname, params);
2731}
2732
2733inline void QOpenGLFunctions_4_2_Core::glGetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params)
2734{
2735 d_4_2_Core->f.GetInternalformativ(target, internalformat, pname, bufSize, params);
2736}
2737
2738inline void QOpenGLFunctions_4_2_Core::glDrawTransformFeedbackStreamInstanced(GLenum mode, GLuint id, GLuint stream, GLsizei instancecount)
2739{
2740 d_4_2_Core->f.DrawTransformFeedbackStreamInstanced(mode, id, stream, instancecount);
2741}
2742
2743inline void QOpenGLFunctions_4_2_Core::glDrawTransformFeedbackInstanced(GLenum mode, GLuint id, GLsizei instancecount)
2744{
2745 d_4_2_Core->f.DrawTransformFeedbackInstanced(mode, id, instancecount);
2746}
2747
2748inline void QOpenGLFunctions_4_2_Core::glDrawElementsInstancedBaseVertexBaseInstance(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance)
2749{
2750 d_4_2_Core->f.DrawElementsInstancedBaseVertexBaseInstance(mode, count, type, indices, instancecount, basevertex, baseinstance);
2751}
2752
2753inline void QOpenGLFunctions_4_2_Core::glDrawElementsInstancedBaseInstance(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance)
2754{
2755 d_4_2_Core->f.DrawElementsInstancedBaseInstance(mode, count, type, indices, instancecount, baseinstance);
2756}
2757
2758inline void QOpenGLFunctions_4_2_Core::glDrawArraysInstancedBaseInstance(GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance)
2759{
2760 d_4_2_Core->f.DrawArraysInstancedBaseInstance(mode, first, count, instancecount, baseinstance);
2761}
2762
2763
2764
2765QT_END_NAMESPACE
2766
2767#ifdef Q_OS_WIN
2768#pragma pop_macro("MemoryBarrier")
2769#endif
2770
2771#endif // QT_NO_OPENGL && !QT_CONFIG(opengles2)
2772
2773#endif
2774