1/****************************************************************************
2**
3** Copyright (C) 2015 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_4_CORE_H
51#define QOPENGLVERSIONFUNCTIONS_4_4_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_4_Core : public QAbstractOpenGLFunctions
70{
71public:
72 QOpenGLFunctions_4_4_Core();
73 ~QOpenGLFunctions_4_4_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, void *pixels);
86 const GLubyte * glGetString(GLenum name);
87 void glGetIntegerv(GLenum pname, GLint *data);
88 void glGetFloatv(GLenum pname, GLfloat *data);
89 GLenum glGetError();
90 void glGetDoublev(GLenum pname, GLdouble *data);
91 void glGetBooleanv(GLenum pname, GLboolean *data);
92 void glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels);
93 void glReadBuffer(GLenum src);
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 buf);
113 void glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);
114 void glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *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 void *pixels);
133 void glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *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 void *indices);
140 void glDrawArrays(GLenum mode, GLint first, GLsizei count);
141
142 // OpenGL 1.2 core functions
143 void glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
144 void glBlendEquation(GLenum mode);
145 void glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
146 void glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);
147 void glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);
148 void glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices);
149
150 // OpenGL 1.3 core functions
151 void glGetCompressedTexImage(GLenum target, GLint level, void *img);
152 void glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data);
153 void glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *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 void *data);
155 void glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data);
156 void glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);
157 void glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *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 void *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, void * *params);
172 void glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params);
173 GLboolean glUnmapBuffer(GLenum target);
174 void * glMapBuffer(GLenum target, GLenum access);
175 void glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, void *data);
176 void glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const void *data);
177 void glBufferData(GLenum target, GLsizeiptr size, const void *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 void *pointer);
193 void glVertexAttrib4usv(GLuint index, const GLushort *v);
194 void glVertexAttrib4uiv(GLuint index, const GLuint *v);
195 void glVertexAttrib4ubv(GLuint index, const GLubyte *v);
196 void glVertexAttrib4sv(GLuint index, const GLshort *v);
197 void glVertexAttrib4s(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
198 void glVertexAttrib4iv(GLuint index, const GLint *v);
199 void glVertexAttrib4fv(GLuint index, const GLfloat *v);
200 void glVertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
201 void glVertexAttrib4dv(GLuint index, const GLdouble *v);
202 void glVertexAttrib4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
203 void glVertexAttrib4bv(GLuint index, const GLbyte *v);
204 void glVertexAttrib4Nusv(GLuint index, const GLushort *v);
205 void glVertexAttrib4Nuiv(GLuint index, const GLuint *v);
206 void glVertexAttrib4Nubv(GLuint index, const GLubyte *v);
207 void glVertexAttrib4Nub(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
208 void glVertexAttrib4Nsv(GLuint index, const GLshort *v);
209 void glVertexAttrib4Niv(GLuint index, const GLint *v);
210 void glVertexAttrib4Nbv(GLuint index, const GLbyte *v);
211 void glVertexAttrib3sv(GLuint index, const GLshort *v);
212 void glVertexAttrib3s(GLuint index, GLshort x, GLshort y, GLshort z);
213 void glVertexAttrib3fv(GLuint index, const GLfloat *v);
214 void glVertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z);
215 void glVertexAttrib3dv(GLuint index, const GLdouble *v);
216 void glVertexAttrib3d(GLuint index, GLdouble x, GLdouble y, GLdouble z);
217 void glVertexAttrib2sv(GLuint index, const GLshort *v);
218 void glVertexAttrib2s(GLuint index, GLshort x, GLshort y);
219 void glVertexAttrib2fv(GLuint index, const GLfloat *v);
220 void glVertexAttrib2f(GLuint index, GLfloat x, GLfloat y);
221 void glVertexAttrib2dv(GLuint index, const GLdouble *v);
222 void glVertexAttrib2d(GLuint index, GLdouble x, GLdouble y);
223 void glVertexAttrib1sv(GLuint index, const GLshort *v);
224 void glVertexAttrib1s(GLuint index, GLshort x);
225 void glVertexAttrib1fv(GLuint index, const GLfloat *v);
226 void glVertexAttrib1f(GLuint index, GLfloat x);
227 void glVertexAttrib1dv(GLuint index, const GLdouble *v);
228 void glVertexAttrib1d(GLuint index, GLdouble x);
229 void glValidateProgram(GLuint program);
230 void glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
231 void glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
232 void glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
233 void glUniform4iv(GLint location, GLsizei count, const GLint *value);
234 void glUniform3iv(GLint location, GLsizei count, const GLint *value);
235 void glUniform2iv(GLint location, GLsizei count, const GLint *value);
236 void glUniform1iv(GLint location, GLsizei count, const GLint *value);
237 void glUniform4fv(GLint location, GLsizei count, const GLfloat *value);
238 void glUniform3fv(GLint location, GLsizei count, const GLfloat *value);
239 void glUniform2fv(GLint location, GLsizei count, const GLfloat *value);
240 void glUniform1fv(GLint location, GLsizei count, const GLfloat *value);
241 void glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
242 void glUniform3i(GLint location, GLint v0, GLint v1, GLint v2);
243 void glUniform2i(GLint location, GLint v0, GLint v1);
244 void glUniform1i(GLint location, GLint v0);
245 void glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
246 void glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
247 void glUniform2f(GLint location, GLfloat v0, GLfloat v1);
248 void glUniform1f(GLint location, GLfloat v0);
249 void glUseProgram(GLuint program);
250 void glShaderSource(GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length);
251 void glLinkProgram(GLuint program);
252 GLboolean glIsShader(GLuint shader);
253 GLboolean glIsProgram(GLuint program);
254 void glGetVertexAttribPointerv(GLuint index, GLenum pname, void * *pointer);
255 void glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params);
256 void glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params);
257 void glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params);
258 void glGetUniformiv(GLuint program, GLint location, GLint *params);
259 void glGetUniformfv(GLuint program, GLint location, GLfloat *params);
260 GLint glGetUniformLocation(GLuint program, const GLchar *name);
261 void glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
262 void glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
263 void glGetShaderiv(GLuint shader, GLenum pname, GLint *params);
264 void glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
265 void glGetProgramiv(GLuint program, GLenum pname, GLint *params);
266 GLint glGetAttribLocation(GLuint program, const GLchar *name);
267 void glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);
268 void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
269 void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
270 void glEnableVertexAttribArray(GLuint index);
271 void glDisableVertexAttribArray(GLuint index);
272 void glDetachShader(GLuint program, GLuint shader);
273 void glDeleteShader(GLuint shader);
274 void glDeleteProgram(GLuint program);
275 GLuint glCreateShader(GLenum type);
276 GLuint glCreateProgram();
277 void glCompileShader(GLuint shader);
278 void glBindAttribLocation(GLuint program, GLuint index, const GLchar *name);
279 void glAttachShader(GLuint program, GLuint shader);
280 void glStencilMaskSeparate(GLenum face, GLuint mask);
281 void glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask);
282 void glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
283 void glDrawBuffers(GLsizei n, const GLenum *bufs);
284 void glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha);
285
286 // OpenGL 2.1 core functions
287 void glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
288 void glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
289 void glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
290 void glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
291 void glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
292 void glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
293
294 // OpenGL 3.0 core functions
295 GLboolean glIsVertexArray(GLuint array);
296 void glGenVertexArrays(GLsizei n, GLuint *arrays);
297 void glDeleteVertexArrays(GLsizei n, const GLuint *arrays);
298 void glBindVertexArray(GLuint array);
299 void glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length);
300 void * glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
301 void glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
302 void glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
303 void glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
304 void glGenerateMipmap(GLenum target);
305 void glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params);
306 void glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
307 void glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
308 void glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
309 void glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
310 GLenum glCheckFramebufferStatus(GLenum target);
311 void glGenFramebuffers(GLsizei n, GLuint *framebuffers);
312 void glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers);
313 void glBindFramebuffer(GLenum target, GLuint framebuffer);
314 GLboolean glIsFramebuffer(GLuint framebuffer);
315 void glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params);
316 void glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
317 void glGenRenderbuffers(GLsizei n, GLuint *renderbuffers);
318 void glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers);
319 void glBindRenderbuffer(GLenum target, GLuint renderbuffer);
320 GLboolean glIsRenderbuffer(GLuint renderbuffer);
321 const GLubyte * glGetStringi(GLenum name, GLuint index);
322 void glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
323 void glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value);
324 void glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value);
325 void glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value);
326 void glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params);
327 void glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params);
328 void glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params);
329 void glTexParameterIiv(GLenum target, GLenum pname, const GLint *params);
330 void glUniform4uiv(GLint location, GLsizei count, const GLuint *value);
331 void glUniform3uiv(GLint location, GLsizei count, const GLuint *value);
332 void glUniform2uiv(GLint location, GLsizei count, const GLuint *value);
333 void glUniform1uiv(GLint location, GLsizei count, const GLuint *value);
334 void glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
335 void glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2);
336 void glUniform2ui(GLint location, GLuint v0, GLuint v1);
337 void glUniform1ui(GLint location, GLuint v0);
338 GLint glGetFragDataLocation(GLuint program, const GLchar *name);
339 void glBindFragDataLocation(GLuint program, GLuint color, const GLchar *name);
340 void glGetUniformuiv(GLuint program, GLint location, GLuint *params);
341 void glVertexAttribI4usv(GLuint index, const GLushort *v);
342 void glVertexAttribI4ubv(GLuint index, const GLubyte *v);
343 void glVertexAttribI4sv(GLuint index, const GLshort *v);
344 void glVertexAttribI4bv(GLuint index, const GLbyte *v);
345 void glVertexAttribI4uiv(GLuint index, const GLuint *v);
346 void glVertexAttribI3uiv(GLuint index, const GLuint *v);
347 void glVertexAttribI2uiv(GLuint index, const GLuint *v);
348 void glVertexAttribI1uiv(GLuint index, const GLuint *v);
349 void glVertexAttribI4iv(GLuint index, const GLint *v);
350 void glVertexAttribI3iv(GLuint index, const GLint *v);
351 void glVertexAttribI2iv(GLuint index, const GLint *v);
352 void glVertexAttribI1iv(GLuint index, const GLint *v);
353 void glVertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
354 void glVertexAttribI3ui(GLuint index, GLuint x, GLuint y, GLuint z);
355 void glVertexAttribI2ui(GLuint index, GLuint x, GLuint y);
356 void glVertexAttribI1ui(GLuint index, GLuint x);
357 void glVertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w);
358 void glVertexAttribI3i(GLuint index, GLint x, GLint y, GLint z);
359 void glVertexAttribI2i(GLuint index, GLint x, GLint y);
360 void glVertexAttribI1i(GLuint index, GLint x);
361 void glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params);
362 void glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params);
363 void glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);
364 void glEndConditionalRender();
365 void glBeginConditionalRender(GLuint id, GLenum mode);
366 void glClampColor(GLenum target, GLenum clamp);
367 void glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
368 void glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar* const *varyings, GLenum bufferMode);
369 void glBindBufferBase(GLenum target, GLuint index, GLuint buffer);
370 void glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
371 void glEndTransformFeedback();
372 void glBeginTransformFeedback(GLenum primitiveMode);
373 GLboolean glIsEnabledi(GLenum target, GLuint index);
374 void glDisablei(GLenum target, GLuint index);
375 void glEnablei(GLenum target, GLuint index);
376 void glGetIntegeri_v(GLenum target, GLuint index, GLint *data);
377 void glGetBooleani_v(GLenum target, GLuint index, GLboolean *data);
378 void glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
379
380 // OpenGL 3.1 core functions
381 void glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
382 void glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
383 void glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);
384 GLuint glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName);
385 void glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName);
386 void glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);
387 void glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar *const *uniformNames, GLuint *uniformIndices);
388 void glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
389 void glPrimitiveRestartIndex(GLuint index);
390 void glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer);
391 void glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount);
392 void glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount);
393
394 // OpenGL 3.2 core functions
395 void glSampleMaski(GLuint maskNumber, GLbitfield mask);
396 void glGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val);
397 void glTexImage3DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
398 void glTexImage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
399 void glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level);
400 void glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params);
401 void glGetInteger64i_v(GLenum target, GLuint index, GLint64 *data);
402 void glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
403 void glGetInteger64v(GLenum pname, GLint64 *data);
404 void glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout);
405 GLenum glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout);
406 void glDeleteSync(GLsync sync);
407 GLboolean glIsSync(GLsync sync);
408 GLsync glFenceSync(GLenum condition, GLbitfield flags);
409 void glProvokingVertex(GLenum mode);
410 void glMultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count, GLenum type, const void *const *indices, GLsizei drawcount, const GLint *basevertex);
411 void glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex);
412 void glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex);
413 void glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex);
414
415 // OpenGL 3.3 core functions
416 void glVertexAttribP4uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
417 void glVertexAttribP4ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);
418 void glVertexAttribP3uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
419 void glVertexAttribP3ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);
420 void glVertexAttribP2uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
421 void glVertexAttribP2ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);
422 void glVertexAttribP1uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
423 void glVertexAttribP1ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);
424 void glVertexAttribDivisor(GLuint index, GLuint divisor);
425 void glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64 *params);
426 void glGetQueryObjecti64v(GLuint id, GLenum pname, GLint64 *params);
427 void glQueryCounter(GLuint id, GLenum target);
428 void glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params);
429 void glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params);
430 void glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params);
431 void glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params);
432 void glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *param);
433 void glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *param);
434 void glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *param);
435 void glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param);
436 void glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint *param);
437 void glSamplerParameteri(GLuint sampler, GLenum pname, GLint param);
438 void glBindSampler(GLuint unit, GLuint sampler);
439 GLboolean glIsSampler(GLuint sampler);
440 void glDeleteSamplers(GLsizei count, const GLuint *samplers);
441 void glGenSamplers(GLsizei count, GLuint *samplers);
442 GLint glGetFragDataIndex(GLuint program, const GLchar *name);
443 void glBindFragDataLocationIndexed(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name);
444
445 // OpenGL 4.0 core functions
446 void glGetQueryIndexediv(GLenum target, GLuint index, GLenum pname, GLint *params);
447 void glEndQueryIndexed(GLenum target, GLuint index);
448 void glBeginQueryIndexed(GLenum target, GLuint index, GLuint id);
449 void glDrawTransformFeedbackStream(GLenum mode, GLuint id, GLuint stream);
450 void glDrawTransformFeedback(GLenum mode, GLuint id);
451 void glResumeTransformFeedback();
452 void glPauseTransformFeedback();
453 GLboolean glIsTransformFeedback(GLuint id);
454 void glGenTransformFeedbacks(GLsizei n, GLuint *ids);
455 void glDeleteTransformFeedbacks(GLsizei n, const GLuint *ids);
456 void glBindTransformFeedback(GLenum target, GLuint id);
457 void glPatchParameterfv(GLenum pname, const GLfloat *values);
458 void glPatchParameteri(GLenum pname, GLint value);
459 void glGetProgramStageiv(GLuint program, GLenum shadertype, GLenum pname, GLint *values);
460 void glGetUniformSubroutineuiv(GLenum shadertype, GLint location, GLuint *params);
461 void glUniformSubroutinesuiv(GLenum shadertype, GLsizei count, const GLuint *indices);
462 void glGetActiveSubroutineName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
463 void glGetActiveSubroutineUniformName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
464 void glGetActiveSubroutineUniformiv(GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values);
465 GLuint glGetSubroutineIndex(GLuint program, GLenum shadertype, const GLchar *name);
466 GLint glGetSubroutineUniformLocation(GLuint program, GLenum shadertype, const GLchar *name);
467 void glGetUniformdv(GLuint program, GLint location, GLdouble *params);
468 void glUniformMatrix4x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
469 void glUniformMatrix4x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
470 void glUniformMatrix3x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
471 void glUniformMatrix3x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
472 void glUniformMatrix2x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
473 void glUniformMatrix2x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
474 void glUniformMatrix4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
475 void glUniformMatrix3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
476 void glUniformMatrix2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
477 void glUniform4dv(GLint location, GLsizei count, const GLdouble *value);
478 void glUniform3dv(GLint location, GLsizei count, const GLdouble *value);
479 void glUniform2dv(GLint location, GLsizei count, const GLdouble *value);
480 void glUniform1dv(GLint location, GLsizei count, const GLdouble *value);
481 void glUniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
482 void glUniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z);
483 void glUniform2d(GLint location, GLdouble x, GLdouble y);
484 void glUniform1d(GLint location, GLdouble x);
485 void glDrawElementsIndirect(GLenum mode, GLenum type, const void *indirect);
486 void glDrawArraysIndirect(GLenum mode, const void *indirect);
487 void glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
488 void glBlendFunci(GLuint buf, GLenum src, GLenum dst);
489 void glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha);
490 void glBlendEquationi(GLuint buf, GLenum mode);
491 void glMinSampleShading(GLfloat value);
492
493 // OpenGL 4.1 core functions
494 void glGetDoublei_v(GLenum target, GLuint index, GLdouble *data);
495 void glGetFloati_v(GLenum target, GLuint index, GLfloat *data);
496 void glDepthRangeIndexed(GLuint index, GLdouble n, GLdouble f);
497 void glDepthRangeArrayv(GLuint first, GLsizei count, const GLdouble *v);
498 void glScissorIndexedv(GLuint index, const GLint *v);
499 void glScissorIndexed(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);
500 void glScissorArrayv(GLuint first, GLsizei count, const GLint *v);
501 void glViewportIndexedfv(GLuint index, const GLfloat *v);
502 void glViewportIndexedf(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);
503 void glViewportArrayv(GLuint first, GLsizei count, const GLfloat *v);
504 void glGetVertexAttribLdv(GLuint index, GLenum pname, GLdouble *params);
505 void glVertexAttribLPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);
506 void glVertexAttribL4dv(GLuint index, const GLdouble *v);
507 void glVertexAttribL3dv(GLuint index, const GLdouble *v);
508 void glVertexAttribL2dv(GLuint index, const GLdouble *v);
509 void glVertexAttribL1dv(GLuint index, const GLdouble *v);
510 void glVertexAttribL4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
511 void glVertexAttribL3d(GLuint index, GLdouble x, GLdouble y, GLdouble z);
512 void glVertexAttribL2d(GLuint index, GLdouble x, GLdouble y);
513 void glVertexAttribL1d(GLuint index, GLdouble x);
514 void glGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
515 void glValidateProgramPipeline(GLuint pipeline);
516 void glProgramUniformMatrix4x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
517 void glProgramUniformMatrix3x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
518 void glProgramUniformMatrix4x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
519 void glProgramUniformMatrix2x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
520 void glProgramUniformMatrix3x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
521 void glProgramUniformMatrix2x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
522 void glProgramUniformMatrix4x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
523 void glProgramUniformMatrix3x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
524 void glProgramUniformMatrix4x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
525 void glProgramUniformMatrix2x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
526 void glProgramUniformMatrix3x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
527 void glProgramUniformMatrix2x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
528 void glProgramUniformMatrix4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
529 void glProgramUniformMatrix3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
530 void glProgramUniformMatrix2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
531 void glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
532 void glProgramUniformMatrix3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
533 void glProgramUniformMatrix2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
534 void glProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);
535 void glProgramUniform4ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
536 void glProgramUniform4dv(GLuint program, GLint location, GLsizei count, const GLdouble *value);
537 void glProgramUniform4d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3);
538 void glProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);
539 void glProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
540 void glProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint *value);
541 void glProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
542 void glProgramUniform3uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);
543 void glProgramUniform3ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
544 void glProgramUniform3dv(GLuint program, GLint location, GLsizei count, const GLdouble *value);
545 void glProgramUniform3d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2);
546 void glProgramUniform3fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);
547 void glProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
548 void glProgramUniform3iv(GLuint program, GLint location, GLsizei count, const GLint *value);
549 void glProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
550 void glProgramUniform2uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);
551 void glProgramUniform2ui(GLuint program, GLint location, GLuint v0, GLuint v1);
552 void glProgramUniform2dv(GLuint program, GLint location, GLsizei count, const GLdouble *value);
553 void glProgramUniform2d(GLuint program, GLint location, GLdouble v0, GLdouble v1);
554 void glProgramUniform2fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);
555 void glProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1);
556 void glProgramUniform2iv(GLuint program, GLint location, GLsizei count, const GLint *value);
557 void glProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1);
558 void glProgramUniform1uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);
559 void glProgramUniform1ui(GLuint program, GLint location, GLuint v0);
560 void glProgramUniform1dv(GLuint program, GLint location, GLsizei count, const GLdouble *value);
561 void glProgramUniform1d(GLuint program, GLint location, GLdouble v0);
562 void glProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);
563 void glProgramUniform1f(GLuint program, GLint location, GLfloat v0);
564 void glProgramUniform1iv(GLuint program, GLint location, GLsizei count, const GLint *value);
565 void glProgramUniform1i(GLuint program, GLint location, GLint v0);
566 void glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint *params);
567 GLboolean glIsProgramPipeline(GLuint pipeline);
568 void glGenProgramPipelines(GLsizei n, GLuint *pipelines);
569 void glDeleteProgramPipelines(GLsizei n, const GLuint *pipelines);
570 void glBindProgramPipeline(GLuint pipeline);
571 GLuint glCreateShaderProgramv(GLenum type, GLsizei count, const GLchar* const *strings);
572 void glActiveShaderProgram(GLuint pipeline, GLuint program);
573 void glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program);
574 void glProgramParameteri(GLuint program, GLenum pname, GLint value);
575 void glProgramBinary(GLuint program, GLenum binaryFormat, const void *binary, GLsizei length);
576 void glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);
577 void glClearDepthf(GLfloat dd);
578 void glDepthRangef(GLfloat n, GLfloat f);
579 void glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
580 void glShaderBinary(GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length);
581 void glReleaseShaderCompiler();
582
583 // OpenGL 4.2 core functions
584 void glDrawTransformFeedbackStreamInstanced(GLenum mode, GLuint id, GLuint stream, GLsizei instancecount);
585 void glDrawTransformFeedbackInstanced(GLenum mode, GLuint id, GLsizei instancecount);
586 void glTexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
587 void glTexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
588 void glTexStorage1D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
589 void glMemoryBarrier(GLbitfield barriers);
590 void glBindImageTexture(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);
591 void glGetActiveAtomicCounterBufferiv(GLuint program, GLuint bufferIndex, GLenum pname, GLint *params);
592 void glGetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params);
593 void glDrawElementsInstancedBaseVertexBaseInstance(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance);
594 void glDrawElementsInstancedBaseInstance(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance);
595 void glDrawArraysInstancedBaseInstance(GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance);
596
597 // OpenGL 4.3 core functions
598 void glGetObjectPtrLabel(const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
599 void glObjectPtrLabel(const void *ptr, GLsizei length, const GLchar *label);
600 void glGetObjectLabel(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
601 void glObjectLabel(GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
602 void glPopDebugGroup();
603 void glPushDebugGroup(GLenum source, GLuint id, GLsizei length, const GLchar *message);
604 GLuint glGetDebugMessageLog(GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
605 void glDebugMessageCallback(GLDEBUGPROC callback, const void *userParam);
606 void glDebugMessageInsert(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
607 void glDebugMessageControl(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
608 void glVertexBindingDivisor(GLuint bindingindex, GLuint divisor);
609 void glVertexAttribBinding(GLuint attribindex, GLuint bindingindex);
610 void glVertexAttribLFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
611 void glVertexAttribIFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
612 void glVertexAttribFormat(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);
613 void glBindVertexBuffer(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);
614 void glTextureView(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers);
615 void glTexStorage3DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
616 void glTexStorage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
617 void glTexBufferRange(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
618 void glShaderStorageBlockBinding(GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding);
619 GLint glGetProgramResourceLocationIndex(GLuint program, GLenum programInterface, const GLchar *name);
620 GLint glGetProgramResourceLocation(GLuint program, GLenum programInterface, const GLchar *name);
621 void glGetProgramResourceiv(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params);
622 void glGetProgramResourceName(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);
623 GLuint glGetProgramResourceIndex(GLuint program, GLenum programInterface, const GLchar *name);
624 void glGetProgramInterfaceiv(GLuint program, GLenum programInterface, GLenum pname, GLint *params);
625 void glMultiDrawElementsIndirect(GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride);
626 void glMultiDrawArraysIndirect(GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride);
627 void glInvalidateSubFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height);
628 void glInvalidateFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments);
629 void glInvalidateBufferData(GLuint buffer);
630 void glInvalidateBufferSubData(GLuint buffer, GLintptr offset, GLsizeiptr length);
631 void glInvalidateTexImage(GLuint texture, GLint level);
632 void glInvalidateTexSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth);
633 void glGetInternalformati64v(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64 *params);
634 void glGetFramebufferParameteriv(GLenum target, GLenum pname, GLint *params);
635 void glFramebufferParameteri(GLenum target, GLenum pname, GLint param);
636 void glCopyImageSubData(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);
637 void glDispatchComputeIndirect(GLintptr indirect);
638 void glDispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z);
639 void glClearBufferSubData(GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data);
640 void glClearBufferData(GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data);
641
642 // OpenGL 4.4 core functions
643 void glBindVertexBuffers(GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides);
644 void glBindImageTextures(GLuint first, GLsizei count, const GLuint *textures);
645 void glBindSamplers(GLuint first, GLsizei count, const GLuint *samplers);
646 void glBindTextures(GLuint first, GLsizei count, const GLuint *textures);
647 void glBindBuffersRange(GLenum target, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizeiptr *sizes);
648 void glBindBuffersBase(GLenum target, GLuint first, GLsizei count, const GLuint *buffers);
649 void glClearTexSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);
650 void glClearTexImage(GLuint texture, GLint level, GLenum format, GLenum type, const void *data);
651 void glBufferStorage(GLenum target, GLsizeiptr size, const void *data, GLbitfield flags);
652
653private:
654 friend class QOpenGLVersionFunctionsFactory;
655
656 static bool isContextCompatible(QOpenGLContext *context);
657 static QOpenGLVersionProfile versionProfile();
658
659 QOpenGLFunctions_1_0_CoreBackend* d_1_0_Core;
660 QOpenGLFunctions_1_1_CoreBackend* d_1_1_Core;
661 QOpenGLFunctions_1_2_CoreBackend* d_1_2_Core;
662 QOpenGLFunctions_1_3_CoreBackend* d_1_3_Core;
663 QOpenGLFunctions_1_4_CoreBackend* d_1_4_Core;
664 QOpenGLFunctions_1_5_CoreBackend* d_1_5_Core;
665 QOpenGLFunctions_2_0_CoreBackend* d_2_0_Core;
666 QOpenGLFunctions_2_1_CoreBackend* d_2_1_Core;
667 QOpenGLFunctions_3_0_CoreBackend* d_3_0_Core;
668 QOpenGLFunctions_3_1_CoreBackend* d_3_1_Core;
669 QOpenGLFunctions_3_2_CoreBackend* d_3_2_Core;
670 QOpenGLFunctions_3_3_CoreBackend* d_3_3_Core;
671 QOpenGLFunctions_4_0_CoreBackend* d_4_0_Core;
672 QOpenGLFunctions_4_1_CoreBackend* d_4_1_Core;
673 QOpenGLFunctions_4_2_CoreBackend* d_4_2_Core;
674 QOpenGLFunctions_4_3_CoreBackend* d_4_3_Core;
675 QOpenGLFunctions_4_4_CoreBackend* d_4_4_Core;
676};
677
678// OpenGL 1.0 core functions
679inline void QOpenGLFunctions_4_4_Core::glViewport(GLint x, GLint y, GLsizei width, GLsizei height)
680{
681 d_1_0_Core->f.Viewport(x, y, width, height);
682}
683
684inline void QOpenGLFunctions_4_4_Core::glDepthRange(GLdouble nearVal, GLdouble farVal)
685{
686 d_1_0_Core->f.DepthRange(nearVal, farVal);
687}
688
689inline GLboolean QOpenGLFunctions_4_4_Core::glIsEnabled(GLenum cap)
690{
691 return d_1_0_Core->f.IsEnabled(cap);
692}
693
694inline void QOpenGLFunctions_4_4_Core::glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params)
695{
696 d_1_0_Core->f.GetTexLevelParameteriv(target, level, pname, params);
697}
698
699inline void QOpenGLFunctions_4_4_Core::glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params)
700{
701 d_1_0_Core->f.GetTexLevelParameterfv(target, level, pname, params);
702}
703
704inline void QOpenGLFunctions_4_4_Core::glGetTexParameteriv(GLenum target, GLenum pname, GLint *params)
705{
706 d_1_0_Core->f.GetTexParameteriv(target, pname, params);
707}
708
709inline void QOpenGLFunctions_4_4_Core::glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params)
710{
711 d_1_0_Core->f.GetTexParameterfv(target, pname, params);
712}
713
714inline void QOpenGLFunctions_4_4_Core::glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, void *pixels)
715{
716 d_1_0_Core->f.GetTexImage(target, level, format, type, pixels);
717}
718
719inline const GLubyte * QOpenGLFunctions_4_4_Core::glGetString(GLenum name)
720{
721 return d_1_0_Core->f.GetString(name);
722}
723
724inline void QOpenGLFunctions_4_4_Core::glGetIntegerv(GLenum pname, GLint *data)
725{
726 d_1_0_Core->f.GetIntegerv(pname, data);
727}
728
729inline void QOpenGLFunctions_4_4_Core::glGetFloatv(GLenum pname, GLfloat *data)
730{
731 d_1_0_Core->f.GetFloatv(pname, data);
732}
733
734inline GLenum QOpenGLFunctions_4_4_Core::glGetError()
735{
736 return d_1_0_Core->f.GetError();
737}
738
739inline void QOpenGLFunctions_4_4_Core::glGetDoublev(GLenum pname, GLdouble *data)
740{
741 d_1_0_Core->f.GetDoublev(pname, data);
742}
743
744inline void QOpenGLFunctions_4_4_Core::glGetBooleanv(GLenum pname, GLboolean *data)
745{
746 d_1_0_Core->f.GetBooleanv(pname, data);
747}
748
749inline void QOpenGLFunctions_4_4_Core::glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels)
750{
751 d_1_0_Core->f.ReadPixels(x, y, width, height, format, type, pixels);
752}
753
754inline void QOpenGLFunctions_4_4_Core::glReadBuffer(GLenum src)
755{
756 d_1_0_Core->f.ReadBuffer(src);
757}
758
759inline void QOpenGLFunctions_4_4_Core::glPixelStorei(GLenum pname, GLint param)
760{
761 d_1_0_Core->f.PixelStorei(pname, param);
762}
763
764inline void QOpenGLFunctions_4_4_Core::glPixelStoref(GLenum pname, GLfloat param)
765{
766 d_1_0_Core->f.PixelStoref(pname, param);
767}
768
769inline void QOpenGLFunctions_4_4_Core::glDepthFunc(GLenum func)
770{
771 d_1_0_Core->f.DepthFunc(func);
772}
773
774inline void QOpenGLFunctions_4_4_Core::glStencilOp(GLenum fail, GLenum zfail, GLenum zpass)
775{
776 d_1_0_Core->f.StencilOp(fail, zfail, zpass);
777}
778
779inline void QOpenGLFunctions_4_4_Core::glStencilFunc(GLenum func, GLint ref, GLuint mask)
780{
781 d_1_0_Core->f.StencilFunc(func, ref, mask);
782}
783
784inline void QOpenGLFunctions_4_4_Core::glLogicOp(GLenum opcode)
785{
786 d_1_0_Core->f.LogicOp(opcode);
787}
788
789inline void QOpenGLFunctions_4_4_Core::glBlendFunc(GLenum sfactor, GLenum dfactor)
790{
791 d_1_0_Core->f.BlendFunc(sfactor, dfactor);
792}
793
794inline void QOpenGLFunctions_4_4_Core::glFlush()
795{
796 d_1_0_Core->f.Flush();
797}
798
799inline void QOpenGLFunctions_4_4_Core::glFinish()
800{
801 d_1_0_Core->f.Finish();
802}
803
804inline void QOpenGLFunctions_4_4_Core::glEnable(GLenum cap)
805{
806 d_1_0_Core->f.Enable(cap);
807}
808
809inline void QOpenGLFunctions_4_4_Core::glDisable(GLenum cap)
810{
811 d_1_0_Core->f.Disable(cap);
812}
813
814inline void QOpenGLFunctions_4_4_Core::glDepthMask(GLboolean flag)
815{
816 d_1_0_Core->f.DepthMask(flag);
817}
818
819inline void QOpenGLFunctions_4_4_Core::glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
820{
821 d_1_0_Core->f.ColorMask(red, green, blue, alpha);
822}
823
824inline void QOpenGLFunctions_4_4_Core::glStencilMask(GLuint mask)
825{
826 d_1_0_Core->f.StencilMask(mask);
827}
828
829inline void QOpenGLFunctions_4_4_Core::glClearDepth(GLdouble depth)
830{
831 d_1_0_Core->f.ClearDepth(depth);
832}
833
834inline void QOpenGLFunctions_4_4_Core::glClearStencil(GLint s)
835{
836 d_1_0_Core->f.ClearStencil(s);
837}
838
839inline void QOpenGLFunctions_4_4_Core::glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
840{
841 d_1_0_Core->f.ClearColor(red, green, blue, alpha);
842}
843
844inline void QOpenGLFunctions_4_4_Core::glClear(GLbitfield mask)
845{
846 d_1_0_Core->f.Clear(mask);
847}
848
849inline void QOpenGLFunctions_4_4_Core::glDrawBuffer(GLenum buf)
850{
851 d_1_0_Core->f.DrawBuffer(buf);
852}
853
854inline void QOpenGLFunctions_4_4_Core::glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels)
855{
856 d_1_0_Core->f.TexImage2D(target, level, internalformat, width, height, border, format, type, pixels);
857}
858
859inline void QOpenGLFunctions_4_4_Core::glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels)
860{
861 d_1_0_Core->f.TexImage1D(target, level, internalformat, width, border, format, type, pixels);
862}
863
864inline void QOpenGLFunctions_4_4_Core::glTexParameteriv(GLenum target, GLenum pname, const GLint *params)
865{
866 d_1_0_Core->f.TexParameteriv(target, pname, params);
867}
868
869inline void QOpenGLFunctions_4_4_Core::glTexParameteri(GLenum target, GLenum pname, GLint param)
870{
871 d_1_0_Core->f.TexParameteri(target, pname, param);
872}
873
874inline void QOpenGLFunctions_4_4_Core::glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params)
875{
876 d_1_0_Core->f.TexParameterfv(target, pname, params);
877}
878
879inline void QOpenGLFunctions_4_4_Core::glTexParameterf(GLenum target, GLenum pname, GLfloat param)
880{
881 d_1_0_Core->f.TexParameterf(target, pname, param);
882}
883
884inline void QOpenGLFunctions_4_4_Core::glScissor(GLint x, GLint y, GLsizei width, GLsizei height)
885{
886 d_1_0_Core->f.Scissor(x, y, width, height);
887}
888
889inline void QOpenGLFunctions_4_4_Core::glPolygonMode(GLenum face, GLenum mode)
890{
891 d_1_0_Core->f.PolygonMode(face, mode);
892}
893
894inline void QOpenGLFunctions_4_4_Core::glPointSize(GLfloat size)
895{
896 d_1_0_Core->f.PointSize(size);
897}
898
899inline void QOpenGLFunctions_4_4_Core::glLineWidth(GLfloat width)
900{
901 d_1_0_Core->f.LineWidth(width);
902}
903
904inline void QOpenGLFunctions_4_4_Core::glHint(GLenum target, GLenum mode)
905{
906 d_1_0_Core->f.Hint(target, mode);
907}
908
909inline void QOpenGLFunctions_4_4_Core::glFrontFace(GLenum mode)
910{
911 d_1_0_Core->f.FrontFace(mode);
912}
913
914inline void QOpenGLFunctions_4_4_Core::glCullFace(GLenum mode)
915{
916 d_1_0_Core->f.CullFace(mode);
917}
918
919
920// OpenGL 1.1 core functions
921inline GLboolean QOpenGLFunctions_4_4_Core::glIsTexture(GLuint texture)
922{
923 return d_1_1_Core->f.IsTexture(texture);
924}
925
926inline void QOpenGLFunctions_4_4_Core::glGenTextures(GLsizei n, GLuint *textures)
927{
928 d_1_1_Core->f.GenTextures(n, textures);
929}
930
931inline void QOpenGLFunctions_4_4_Core::glDeleteTextures(GLsizei n, const GLuint *textures)
932{
933 d_1_1_Core->f.DeleteTextures(n, textures);
934}
935
936inline void QOpenGLFunctions_4_4_Core::glBindTexture(GLenum target, GLuint texture)
937{
938 d_1_1_Core->f.BindTexture(target, texture);
939}
940
941inline void QOpenGLFunctions_4_4_Core::glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels)
942{
943 d_1_1_Core->f.TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels);
944}
945
946inline void QOpenGLFunctions_4_4_Core::glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels)
947{
948 d_1_1_Core->f.TexSubImage1D(target, level, xoffset, width, format, type, pixels);
949}
950
951inline void QOpenGLFunctions_4_4_Core::glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
952{
953 d_1_1_Core->f.CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);
954}
955
956inline void QOpenGLFunctions_4_4_Core::glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)
957{
958 d_1_1_Core->f.CopyTexSubImage1D(target, level, xoffset, x, y, width);
959}
960
961inline void QOpenGLFunctions_4_4_Core::glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
962{
963 d_1_1_Core->f.CopyTexImage2D(target, level, internalformat, x, y, width, height, border);
964}
965
966inline void QOpenGLFunctions_4_4_Core::glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border)
967{
968 d_1_1_Core->f.CopyTexImage1D(target, level, internalformat, x, y, width, border);
969}
970
971inline void QOpenGLFunctions_4_4_Core::glPolygonOffset(GLfloat factor, GLfloat units)
972{
973 d_1_1_Core->f.PolygonOffset(factor, units);
974}
975
976inline void QOpenGLFunctions_4_4_Core::glDrawElements(GLenum mode, GLsizei count, GLenum type, const void *indices)
977{
978 d_1_1_Core->f.DrawElements(mode, count, type, indices);
979}
980
981inline void QOpenGLFunctions_4_4_Core::glDrawArrays(GLenum mode, GLint first, GLsizei count)
982{
983 d_1_1_Core->f.DrawArrays(mode, first, count);
984}
985
986
987// OpenGL 1.2 core functions
988inline void QOpenGLFunctions_4_4_Core::glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
989{
990 d_1_2_Core->f.BlendColor(red, green, blue, alpha);
991}
992
993inline void QOpenGLFunctions_4_4_Core::glBlendEquation(GLenum mode)
994{
995 d_1_2_Core->f.BlendEquation(mode);
996}
997
998inline void QOpenGLFunctions_4_4_Core::glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
999{
1000 d_1_2_Core->f.CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height);
1001}
1002
1003inline void QOpenGLFunctions_4_4_Core::glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels)
1004{
1005 d_1_2_Core->f.TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
1006}
1007
1008inline void QOpenGLFunctions_4_4_Core::glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels)
1009{
1010 d_1_2_Core->f.TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels);
1011}
1012
1013inline void QOpenGLFunctions_4_4_Core::glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices)
1014{
1015 d_1_2_Core->f.DrawRangeElements(mode, start, end, count, type, indices);
1016}
1017
1018
1019// OpenGL 1.3 core functions
1020inline void QOpenGLFunctions_4_4_Core::glGetCompressedTexImage(GLenum target, GLint level, void *img)
1021{
1022 d_1_3_Core->f.GetCompressedTexImage(target, level, img);
1023}
1024
1025inline void QOpenGLFunctions_4_4_Core::glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data)
1026{
1027 d_1_3_Core->f.CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data);
1028}
1029
1030inline void QOpenGLFunctions_4_4_Core::glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data)
1031{
1032 d_1_3_Core->f.CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data);
1033}
1034
1035inline void QOpenGLFunctions_4_4_Core::glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data)
1036{
1037 d_1_3_Core->f.CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
1038}
1039
1040inline void QOpenGLFunctions_4_4_Core::glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data)
1041{
1042 d_1_3_Core->f.CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data);
1043}
1044
1045inline void QOpenGLFunctions_4_4_Core::glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data)
1046{
1047 d_1_3_Core->f.CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data);
1048}
1049
1050inline void QOpenGLFunctions_4_4_Core::glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data)
1051{
1052 d_1_3_Core->f.CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data);
1053}
1054
1055inline void QOpenGLFunctions_4_4_Core::glSampleCoverage(GLfloat value, GLboolean invert)
1056{
1057 d_1_3_Core->f.SampleCoverage(value, invert);
1058}
1059
1060inline void QOpenGLFunctions_4_4_Core::glActiveTexture(GLenum texture)
1061{
1062 d_1_3_Core->f.ActiveTexture(texture);
1063}
1064
1065
1066// OpenGL 1.4 core functions
1067inline void QOpenGLFunctions_4_4_Core::glPointParameteriv(GLenum pname, const GLint *params)
1068{
1069 d_1_4_Core->f.PointParameteriv(pname, params);
1070}
1071
1072inline void QOpenGLFunctions_4_4_Core::glPointParameteri(GLenum pname, GLint param)
1073{
1074 d_1_4_Core->f.PointParameteri(pname, param);
1075}
1076
1077inline void QOpenGLFunctions_4_4_Core::glPointParameterfv(GLenum pname, const GLfloat *params)
1078{
1079 d_1_4_Core->f.PointParameterfv(pname, params);
1080}
1081
1082inline void QOpenGLFunctions_4_4_Core::glPointParameterf(GLenum pname, GLfloat param)
1083{
1084 d_1_4_Core->f.PointParameterf(pname, param);
1085}
1086
1087inline void QOpenGLFunctions_4_4_Core::glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const void *const *indices, GLsizei drawcount)
1088{
1089 d_1_4_Core->f.MultiDrawElements(mode, count, type, indices, drawcount);
1090}
1091
1092inline void QOpenGLFunctions_4_4_Core::glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount)
1093{
1094 d_1_4_Core->f.MultiDrawArrays(mode, first, count, drawcount);
1095}
1096
1097inline void QOpenGLFunctions_4_4_Core::glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha)
1098{
1099 d_1_4_Core->f.BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha);
1100}
1101
1102
1103// OpenGL 1.5 core functions
1104inline void QOpenGLFunctions_4_4_Core::glGetBufferPointerv(GLenum target, GLenum pname, void * *params)
1105{
1106 d_1_5_Core->f.GetBufferPointerv(target, pname, params);
1107}
1108
1109inline void QOpenGLFunctions_4_4_Core::glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params)
1110{
1111 d_1_5_Core->f.GetBufferParameteriv(target, pname, params);
1112}
1113
1114inline GLboolean QOpenGLFunctions_4_4_Core::glUnmapBuffer(GLenum target)
1115{
1116 return d_1_5_Core->f.UnmapBuffer(target);
1117}
1118
1119inline void * QOpenGLFunctions_4_4_Core::glMapBuffer(GLenum target, GLenum access)
1120{
1121 return d_1_5_Core->f.MapBuffer(target, access);
1122}
1123
1124inline void QOpenGLFunctions_4_4_Core::glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, void *data)
1125{
1126 d_1_5_Core->f.GetBufferSubData(target, offset, size, data);
1127}
1128
1129inline void QOpenGLFunctions_4_4_Core::glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const void *data)
1130{
1131 d_1_5_Core->f.BufferSubData(target, offset, size, data);
1132}
1133
1134inline void QOpenGLFunctions_4_4_Core::glBufferData(GLenum target, GLsizeiptr size, const void *data, GLenum usage)
1135{
1136 d_1_5_Core->f.BufferData(target, size, data, usage);
1137}
1138
1139inline GLboolean QOpenGLFunctions_4_4_Core::glIsBuffer(GLuint buffer)
1140{
1141 return d_1_5_Core->f.IsBuffer(buffer);
1142}
1143
1144inline void QOpenGLFunctions_4_4_Core::glGenBuffers(GLsizei n, GLuint *buffers)
1145{
1146 d_1_5_Core->f.GenBuffers(n, buffers);
1147}
1148
1149inline void QOpenGLFunctions_4_4_Core::glDeleteBuffers(GLsizei n, const GLuint *buffers)
1150{
1151 d_1_5_Core->f.DeleteBuffers(n, buffers);
1152}
1153
1154inline void QOpenGLFunctions_4_4_Core::glBindBuffer(GLenum target, GLuint buffer)
1155{
1156 d_1_5_Core->f.BindBuffer(target, buffer);
1157}
1158
1159inline void QOpenGLFunctions_4_4_Core::glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params)
1160{
1161 d_1_5_Core->f.GetQueryObjectuiv(id, pname, params);
1162}
1163
1164inline void QOpenGLFunctions_4_4_Core::glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params)
1165{
1166 d_1_5_Core->f.GetQueryObjectiv(id, pname, params);
1167}
1168
1169inline void QOpenGLFunctions_4_4_Core::glGetQueryiv(GLenum target, GLenum pname, GLint *params)
1170{
1171 d_1_5_Core->f.GetQueryiv(target, pname, params);
1172}
1173
1174inline void QOpenGLFunctions_4_4_Core::glEndQuery(GLenum target)
1175{
1176 d_1_5_Core->f.EndQuery(target);
1177}
1178
1179inline void QOpenGLFunctions_4_4_Core::glBeginQuery(GLenum target, GLuint id)
1180{
1181 d_1_5_Core->f.BeginQuery(target, id);
1182}
1183
1184inline GLboolean QOpenGLFunctions_4_4_Core::glIsQuery(GLuint id)
1185{
1186 return d_1_5_Core->f.IsQuery(id);
1187}
1188
1189inline void QOpenGLFunctions_4_4_Core::glDeleteQueries(GLsizei n, const GLuint *ids)
1190{
1191 d_1_5_Core->f.DeleteQueries(n, ids);
1192}
1193
1194inline void QOpenGLFunctions_4_4_Core::glGenQueries(GLsizei n, GLuint *ids)
1195{
1196 d_1_5_Core->f.GenQueries(n, ids);
1197}
1198
1199
1200// OpenGL 2.0 core functions
1201inline void QOpenGLFunctions_4_4_Core::glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer)
1202{
1203 d_2_0_Core->f.VertexAttribPointer(index, size, type, normalized, stride, pointer);
1204}
1205
1206inline void QOpenGLFunctions_4_4_Core::glVertexAttrib4usv(GLuint index, const GLushort *v)
1207{
1208 d_2_0_Core->f.VertexAttrib4usv(index, v);
1209}
1210
1211inline void QOpenGLFunctions_4_4_Core::glVertexAttrib4uiv(GLuint index, const GLuint *v)
1212{
1213 d_2_0_Core->f.VertexAttrib4uiv(index, v);
1214}
1215
1216inline void QOpenGLFunctions_4_4_Core::glVertexAttrib4ubv(GLuint index, const GLubyte *v)
1217{
1218 d_2_0_Core->f.VertexAttrib4ubv(index, v);
1219}
1220
1221inline void QOpenGLFunctions_4_4_Core::glVertexAttrib4sv(GLuint index, const GLshort *v)
1222{
1223 d_2_0_Core->f.VertexAttrib4sv(index, v);
1224}
1225
1226inline void QOpenGLFunctions_4_4_Core::glVertexAttrib4s(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w)
1227{
1228 d_2_0_Core->f.VertexAttrib4s(index, x, y, z, w);
1229}
1230
1231inline void QOpenGLFunctions_4_4_Core::glVertexAttrib4iv(GLuint index, const GLint *v)
1232{
1233 d_2_0_Core->f.VertexAttrib4iv(index, v);
1234}
1235
1236inline void QOpenGLFunctions_4_4_Core::glVertexAttrib4fv(GLuint index, const GLfloat *v)
1237{
1238 d_2_0_Core->f.VertexAttrib4fv(index, v);
1239}
1240
1241inline void QOpenGLFunctions_4_4_Core::glVertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
1242{
1243 d_2_0_Core->f.VertexAttrib4f(index, x, y, z, w);
1244}
1245
1246inline void QOpenGLFunctions_4_4_Core::glVertexAttrib4dv(GLuint index, const GLdouble *v)
1247{
1248 d_2_0_Core->f.VertexAttrib4dv(index, v);
1249}
1250
1251inline void QOpenGLFunctions_4_4_Core::glVertexAttrib4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
1252{
1253 d_2_0_Core->f.VertexAttrib4d(index, x, y, z, w);
1254}
1255
1256inline void QOpenGLFunctions_4_4_Core::glVertexAttrib4bv(GLuint index, const GLbyte *v)
1257{
1258 d_2_0_Core->f.VertexAttrib4bv(index, v);
1259}
1260
1261inline void QOpenGLFunctions_4_4_Core::glVertexAttrib4Nusv(GLuint index, const GLushort *v)
1262{
1263 d_2_0_Core->f.VertexAttrib4Nusv(index, v);
1264}
1265
1266inline void QOpenGLFunctions_4_4_Core::glVertexAttrib4Nuiv(GLuint index, const GLuint *v)
1267{
1268 d_2_0_Core->f.VertexAttrib4Nuiv(index, v);
1269}
1270
1271inline void QOpenGLFunctions_4_4_Core::glVertexAttrib4Nubv(GLuint index, const GLubyte *v)
1272{
1273 d_2_0_Core->f.VertexAttrib4Nubv(index, v);
1274}
1275
1276inline void QOpenGLFunctions_4_4_Core::glVertexAttrib4Nub(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w)
1277{
1278 d_2_0_Core->f.VertexAttrib4Nub(index, x, y, z, w);
1279}
1280
1281inline void QOpenGLFunctions_4_4_Core::glVertexAttrib4Nsv(GLuint index, const GLshort *v)
1282{
1283 d_2_0_Core->f.VertexAttrib4Nsv(index, v);
1284}
1285
1286inline void QOpenGLFunctions_4_4_Core::glVertexAttrib4Niv(GLuint index, const GLint *v)
1287{
1288 d_2_0_Core->f.VertexAttrib4Niv(index, v);
1289}
1290
1291inline void QOpenGLFunctions_4_4_Core::glVertexAttrib4Nbv(GLuint index, const GLbyte *v)
1292{
1293 d_2_0_Core->f.VertexAttrib4Nbv(index, v);
1294}
1295
1296inline void QOpenGLFunctions_4_4_Core::glVertexAttrib3sv(GLuint index, const GLshort *v)
1297{
1298 d_2_0_Core->f.VertexAttrib3sv(index, v);
1299}
1300
1301inline void QOpenGLFunctions_4_4_Core::glVertexAttrib3s(GLuint index, GLshort x, GLshort y, GLshort z)
1302{
1303 d_2_0_Core->f.VertexAttrib3s(index, x, y, z);
1304}
1305
1306inline void QOpenGLFunctions_4_4_Core::glVertexAttrib3fv(GLuint index, const GLfloat *v)
1307{
1308 d_2_0_Core->f.VertexAttrib3fv(index, v);
1309}
1310
1311inline void QOpenGLFunctions_4_4_Core::glVertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z)
1312{
1313 d_2_0_Core->f.VertexAttrib3f(index, x, y, z);
1314}
1315
1316inline void QOpenGLFunctions_4_4_Core::glVertexAttrib3dv(GLuint index, const GLdouble *v)
1317{
1318 d_2_0_Core->f.VertexAttrib3dv(index, v);
1319}
1320
1321inline void QOpenGLFunctions_4_4_Core::glVertexAttrib3d(GLuint index, GLdouble x, GLdouble y, GLdouble z)
1322{
1323 d_2_0_Core->f.VertexAttrib3d(index, x, y, z);
1324}
1325
1326inline void QOpenGLFunctions_4_4_Core::glVertexAttrib2sv(GLuint index, const GLshort *v)
1327{
1328 d_2_0_Core->f.VertexAttrib2sv(index, v);
1329}
1330
1331inline void QOpenGLFunctions_4_4_Core::glVertexAttrib2s(GLuint index, GLshort x, GLshort y)
1332{
1333 d_2_0_Core->f.VertexAttrib2s(index, x, y);
1334}
1335
1336inline void QOpenGLFunctions_4_4_Core::glVertexAttrib2fv(GLuint index, const GLfloat *v)
1337{
1338 d_2_0_Core->f.VertexAttrib2fv(index, v);
1339}
1340
1341inline void QOpenGLFunctions_4_4_Core::glVertexAttrib2f(GLuint index, GLfloat x, GLfloat y)
1342{
1343 d_2_0_Core->f.VertexAttrib2f(index, x, y);
1344}
1345
1346inline void QOpenGLFunctions_4_4_Core::glVertexAttrib2dv(GLuint index, const GLdouble *v)
1347{
1348 d_2_0_Core->f.VertexAttrib2dv(index, v);
1349}
1350
1351inline void QOpenGLFunctions_4_4_Core::glVertexAttrib2d(GLuint index, GLdouble x, GLdouble y)
1352{
1353 d_2_0_Core->f.VertexAttrib2d(index, x, y);
1354}
1355
1356inline void QOpenGLFunctions_4_4_Core::glVertexAttrib1sv(GLuint index, const GLshort *v)
1357{
1358 d_2_0_Core->f.VertexAttrib1sv(index, v);
1359}
1360
1361inline void QOpenGLFunctions_4_4_Core::glVertexAttrib1s(GLuint index, GLshort x)
1362{
1363 d_2_0_Core->f.VertexAttrib1s(index, x);
1364}
1365
1366inline void QOpenGLFunctions_4_4_Core::glVertexAttrib1fv(GLuint index, const GLfloat *v)
1367{
1368 d_2_0_Core->f.VertexAttrib1fv(index, v);
1369}
1370
1371inline void QOpenGLFunctions_4_4_Core::glVertexAttrib1f(GLuint index, GLfloat x)
1372{
1373 d_2_0_Core->f.VertexAttrib1f(index, x);
1374}
1375
1376inline void QOpenGLFunctions_4_4_Core::glVertexAttrib1dv(GLuint index, const GLdouble *v)
1377{
1378 d_2_0_Core->f.VertexAttrib1dv(index, v);
1379}
1380
1381inline void QOpenGLFunctions_4_4_Core::glVertexAttrib1d(GLuint index, GLdouble x)
1382{
1383 d_2_0_Core->f.VertexAttrib1d(index, x);
1384}
1385
1386inline void QOpenGLFunctions_4_4_Core::glValidateProgram(GLuint program)
1387{
1388 d_2_0_Core->f.ValidateProgram(program);
1389}
1390
1391inline void QOpenGLFunctions_4_4_Core::glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1392{
1393 d_2_0_Core->f.UniformMatrix4fv(location, count, transpose, value);
1394}
1395
1396inline void QOpenGLFunctions_4_4_Core::glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1397{
1398 d_2_0_Core->f.UniformMatrix3fv(location, count, transpose, value);
1399}
1400
1401inline void QOpenGLFunctions_4_4_Core::glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1402{
1403 d_2_0_Core->f.UniformMatrix2fv(location, count, transpose, value);
1404}
1405
1406inline void QOpenGLFunctions_4_4_Core::glUniform4iv(GLint location, GLsizei count, const GLint *value)
1407{
1408 d_2_0_Core->f.Uniform4iv(location, count, value);
1409}
1410
1411inline void QOpenGLFunctions_4_4_Core::glUniform3iv(GLint location, GLsizei count, const GLint *value)
1412{
1413 d_2_0_Core->f.Uniform3iv(location, count, value);
1414}
1415
1416inline void QOpenGLFunctions_4_4_Core::glUniform2iv(GLint location, GLsizei count, const GLint *value)
1417{
1418 d_2_0_Core->f.Uniform2iv(location, count, value);
1419}
1420
1421inline void QOpenGLFunctions_4_4_Core::glUniform1iv(GLint location, GLsizei count, const GLint *value)
1422{
1423 d_2_0_Core->f.Uniform1iv(location, count, value);
1424}
1425
1426inline void QOpenGLFunctions_4_4_Core::glUniform4fv(GLint location, GLsizei count, const GLfloat *value)
1427{
1428 d_2_0_Core->f.Uniform4fv(location, count, value);
1429}
1430
1431inline void QOpenGLFunctions_4_4_Core::glUniform3fv(GLint location, GLsizei count, const GLfloat *value)
1432{
1433 d_2_0_Core->f.Uniform3fv(location, count, value);
1434}
1435
1436inline void QOpenGLFunctions_4_4_Core::glUniform2fv(GLint location, GLsizei count, const GLfloat *value)
1437{
1438 d_2_0_Core->f.Uniform2fv(location, count, value);
1439}
1440
1441inline void QOpenGLFunctions_4_4_Core::glUniform1fv(GLint location, GLsizei count, const GLfloat *value)
1442{
1443 d_2_0_Core->f.Uniform1fv(location, count, value);
1444}
1445
1446inline void QOpenGLFunctions_4_4_Core::glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3)
1447{
1448 d_2_0_Core->f.Uniform4i(location, v0, v1, v2, v3);
1449}
1450
1451inline void QOpenGLFunctions_4_4_Core::glUniform3i(GLint location, GLint v0, GLint v1, GLint v2)
1452{
1453 d_2_0_Core->f.Uniform3i(location, v0, v1, v2);
1454}
1455
1456inline void QOpenGLFunctions_4_4_Core::glUniform2i(GLint location, GLint v0, GLint v1)
1457{
1458 d_2_0_Core->f.Uniform2i(location, v0, v1);
1459}
1460
1461inline void QOpenGLFunctions_4_4_Core::glUniform1i(GLint location, GLint v0)
1462{
1463 d_2_0_Core->f.Uniform1i(location, v0);
1464}
1465
1466inline void QOpenGLFunctions_4_4_Core::glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)
1467{
1468 d_2_0_Core->f.Uniform4f(location, v0, v1, v2, v3);
1469}
1470
1471inline void QOpenGLFunctions_4_4_Core::glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2)
1472{
1473 d_2_0_Core->f.Uniform3f(location, v0, v1, v2);
1474}
1475
1476inline void QOpenGLFunctions_4_4_Core::glUniform2f(GLint location, GLfloat v0, GLfloat v1)
1477{
1478 d_2_0_Core->f.Uniform2f(location, v0, v1);
1479}
1480
1481inline void QOpenGLFunctions_4_4_Core::glUniform1f(GLint location, GLfloat v0)
1482{
1483 d_2_0_Core->f.Uniform1f(location, v0);
1484}
1485
1486inline void QOpenGLFunctions_4_4_Core::glUseProgram(GLuint program)
1487{
1488 d_2_0_Core->f.UseProgram(program);
1489}
1490
1491inline void QOpenGLFunctions_4_4_Core::glShaderSource(GLuint shader, GLsizei count, const GLchar *const *string, const GLint *length)
1492{
1493 d_2_0_Core->f.ShaderSource(shader, count, string, length);
1494}
1495
1496inline void QOpenGLFunctions_4_4_Core::glLinkProgram(GLuint program)
1497{
1498 d_2_0_Core->f.LinkProgram(program);
1499}
1500
1501inline GLboolean QOpenGLFunctions_4_4_Core::glIsShader(GLuint shader)
1502{
1503 return d_2_0_Core->f.IsShader(shader);
1504}
1505
1506inline GLboolean QOpenGLFunctions_4_4_Core::glIsProgram(GLuint program)
1507{
1508 return d_2_0_Core->f.IsProgram(program);
1509}
1510
1511inline void QOpenGLFunctions_4_4_Core::glGetVertexAttribPointerv(GLuint index, GLenum pname, void * *pointer)
1512{
1513 d_2_0_Core->f.GetVertexAttribPointerv(index, pname, pointer);
1514}
1515
1516inline void QOpenGLFunctions_4_4_Core::glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params)
1517{
1518 d_2_0_Core->f.GetVertexAttribiv(index, pname, params);
1519}
1520
1521inline void QOpenGLFunctions_4_4_Core::glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params)
1522{
1523 d_2_0_Core->f.GetVertexAttribfv(index, pname, params);
1524}
1525
1526inline void QOpenGLFunctions_4_4_Core::glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params)
1527{
1528 d_2_0_Core->f.GetVertexAttribdv(index, pname, params);
1529}
1530
1531inline void QOpenGLFunctions_4_4_Core::glGetUniformiv(GLuint program, GLint location, GLint *params)
1532{
1533 d_2_0_Core->f.GetUniformiv(program, location, params);
1534}
1535
1536inline void QOpenGLFunctions_4_4_Core::glGetUniformfv(GLuint program, GLint location, GLfloat *params)
1537{
1538 d_2_0_Core->f.GetUniformfv(program, location, params);
1539}
1540
1541inline GLint QOpenGLFunctions_4_4_Core::glGetUniformLocation(GLuint program, const GLchar *name)
1542{
1543 return d_2_0_Core->f.GetUniformLocation(program, name);
1544}
1545
1546inline void QOpenGLFunctions_4_4_Core::glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source)
1547{
1548 d_2_0_Core->f.GetShaderSource(shader, bufSize, length, source);
1549}
1550
1551inline void QOpenGLFunctions_4_4_Core::glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog)
1552{
1553 d_2_0_Core->f.GetShaderInfoLog(shader, bufSize, length, infoLog);
1554}
1555
1556inline void QOpenGLFunctions_4_4_Core::glGetShaderiv(GLuint shader, GLenum pname, GLint *params)
1557{
1558 d_2_0_Core->f.GetShaderiv(shader, pname, params);
1559}
1560
1561inline void QOpenGLFunctions_4_4_Core::glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog)
1562{
1563 d_2_0_Core->f.GetProgramInfoLog(program, bufSize, length, infoLog);
1564}
1565
1566inline void QOpenGLFunctions_4_4_Core::glGetProgramiv(GLuint program, GLenum pname, GLint *params)
1567{
1568 d_2_0_Core->f.GetProgramiv(program, pname, params);
1569}
1570
1571inline GLint QOpenGLFunctions_4_4_Core::glGetAttribLocation(GLuint program, const GLchar *name)
1572{
1573 return d_2_0_Core->f.GetAttribLocation(program, name);
1574}
1575
1576inline void QOpenGLFunctions_4_4_Core::glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders)
1577{
1578 d_2_0_Core->f.GetAttachedShaders(program, maxCount, count, shaders);
1579}
1580
1581inline void QOpenGLFunctions_4_4_Core::glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name)
1582{
1583 d_2_0_Core->f.GetActiveUniform(program, index, bufSize, length, size, type, name);
1584}
1585
1586inline void QOpenGLFunctions_4_4_Core::glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name)
1587{
1588 d_2_0_Core->f.GetActiveAttrib(program, index, bufSize, length, size, type, name);
1589}
1590
1591inline void QOpenGLFunctions_4_4_Core::glEnableVertexAttribArray(GLuint index)
1592{
1593 d_2_0_Core->f.EnableVertexAttribArray(index);
1594}
1595
1596inline void QOpenGLFunctions_4_4_Core::glDisableVertexAttribArray(GLuint index)
1597{
1598 d_2_0_Core->f.DisableVertexAttribArray(index);
1599}
1600
1601inline void QOpenGLFunctions_4_4_Core::glDetachShader(GLuint program, GLuint shader)
1602{
1603 d_2_0_Core->f.DetachShader(program, shader);
1604}
1605
1606inline void QOpenGLFunctions_4_4_Core::glDeleteShader(GLuint shader)
1607{
1608 d_2_0_Core->f.DeleteShader(shader);
1609}
1610
1611inline void QOpenGLFunctions_4_4_Core::glDeleteProgram(GLuint program)
1612{
1613 d_2_0_Core->f.DeleteProgram(program);
1614}
1615
1616inline GLuint QOpenGLFunctions_4_4_Core::glCreateShader(GLenum type)
1617{
1618 return d_2_0_Core->f.CreateShader(type);
1619}
1620
1621inline GLuint QOpenGLFunctions_4_4_Core::glCreateProgram()
1622{
1623 return d_2_0_Core->f.CreateProgram();
1624}
1625
1626inline void QOpenGLFunctions_4_4_Core::glCompileShader(GLuint shader)
1627{
1628 d_2_0_Core->f.CompileShader(shader);
1629}
1630
1631inline void QOpenGLFunctions_4_4_Core::glBindAttribLocation(GLuint program, GLuint index, const GLchar *name)
1632{
1633 d_2_0_Core->f.BindAttribLocation(program, index, name);
1634}
1635
1636inline void QOpenGLFunctions_4_4_Core::glAttachShader(GLuint program, GLuint shader)
1637{
1638 d_2_0_Core->f.AttachShader(program, shader);
1639}
1640
1641inline void QOpenGLFunctions_4_4_Core::glStencilMaskSeparate(GLenum face, GLuint mask)
1642{
1643 d_2_0_Core->f.StencilMaskSeparate(face, mask);
1644}
1645
1646inline void QOpenGLFunctions_4_4_Core::glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask)
1647{
1648 d_2_0_Core->f.StencilFuncSeparate(face, func, ref, mask);
1649}
1650
1651inline void QOpenGLFunctions_4_4_Core::glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass)
1652{
1653 d_2_0_Core->f.StencilOpSeparate(face, sfail, dpfail, dppass);
1654}
1655
1656inline void QOpenGLFunctions_4_4_Core::glDrawBuffers(GLsizei n, const GLenum *bufs)
1657{
1658 d_2_0_Core->f.DrawBuffers(n, bufs);
1659}
1660
1661inline void QOpenGLFunctions_4_4_Core::glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha)
1662{
1663 d_2_0_Core->f.BlendEquationSeparate(modeRGB, modeAlpha);
1664}
1665
1666
1667// OpenGL 2.1 core functions
1668inline void QOpenGLFunctions_4_4_Core::glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1669{
1670 d_2_1_Core->f.UniformMatrix4x3fv(location, count, transpose, value);
1671}
1672
1673inline void QOpenGLFunctions_4_4_Core::glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1674{
1675 d_2_1_Core->f.UniformMatrix3x4fv(location, count, transpose, value);
1676}
1677
1678inline void QOpenGLFunctions_4_4_Core::glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1679{
1680 d_2_1_Core->f.UniformMatrix4x2fv(location, count, transpose, value);
1681}
1682
1683inline void QOpenGLFunctions_4_4_Core::glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1684{
1685 d_2_1_Core->f.UniformMatrix2x4fv(location, count, transpose, value);
1686}
1687
1688inline void QOpenGLFunctions_4_4_Core::glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1689{
1690 d_2_1_Core->f.UniformMatrix3x2fv(location, count, transpose, value);
1691}
1692
1693inline void QOpenGLFunctions_4_4_Core::glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1694{
1695 d_2_1_Core->f.UniformMatrix2x3fv(location, count, transpose, value);
1696}
1697
1698
1699// OpenGL 3.0 core functions
1700inline GLboolean QOpenGLFunctions_4_4_Core::glIsVertexArray(GLuint array)
1701{
1702 return d_3_0_Core->f.IsVertexArray(array);
1703}
1704
1705inline void QOpenGLFunctions_4_4_Core::glGenVertexArrays(GLsizei n, GLuint *arrays)
1706{
1707 d_3_0_Core->f.GenVertexArrays(n, arrays);
1708}
1709
1710inline void QOpenGLFunctions_4_4_Core::glDeleteVertexArrays(GLsizei n, const GLuint *arrays)
1711{
1712 d_3_0_Core->f.DeleteVertexArrays(n, arrays);
1713}
1714
1715inline void QOpenGLFunctions_4_4_Core::glBindVertexArray(GLuint array)
1716{
1717 d_3_0_Core->f.BindVertexArray(array);
1718}
1719
1720inline void QOpenGLFunctions_4_4_Core::glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length)
1721{
1722 d_3_0_Core->f.FlushMappedBufferRange(target, offset, length);
1723}
1724
1725inline void * QOpenGLFunctions_4_4_Core::glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access)
1726{
1727 return d_3_0_Core->f.MapBufferRange(target, offset, length, access);
1728}
1729
1730inline void QOpenGLFunctions_4_4_Core::glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)
1731{
1732 d_3_0_Core->f.FramebufferTextureLayer(target, attachment, texture, level, layer);
1733}
1734
1735inline void QOpenGLFunctions_4_4_Core::glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
1736{
1737 d_3_0_Core->f.RenderbufferStorageMultisample(target, samples, internalformat, width, height);
1738}
1739
1740inline void QOpenGLFunctions_4_4_Core::glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)
1741{
1742 d_3_0_Core->f.BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
1743}
1744
1745inline void QOpenGLFunctions_4_4_Core::glGenerateMipmap(GLenum target)
1746{
1747 d_3_0_Core->f.GenerateMipmap(target);
1748}
1749
1750inline void QOpenGLFunctions_4_4_Core::glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params)
1751{
1752 d_3_0_Core->f.GetFramebufferAttachmentParameteriv(target, attachment, pname, params);
1753}
1754
1755inline void QOpenGLFunctions_4_4_Core::glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
1756{
1757 d_3_0_Core->f.FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer);
1758}
1759
1760inline void QOpenGLFunctions_4_4_Core::glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset)
1761{
1762 d_3_0_Core->f.FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset);
1763}
1764
1765inline void QOpenGLFunctions_4_4_Core::glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
1766{
1767 d_3_0_Core->f.FramebufferTexture2D(target, attachment, textarget, texture, level);
1768}
1769
1770inline void QOpenGLFunctions_4_4_Core::glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
1771{
1772 d_3_0_Core->f.FramebufferTexture1D(target, attachment, textarget, texture, level);
1773}
1774
1775inline GLenum QOpenGLFunctions_4_4_Core::glCheckFramebufferStatus(GLenum target)
1776{
1777 return d_3_0_Core->f.CheckFramebufferStatus(target);
1778}
1779
1780inline void QOpenGLFunctions_4_4_Core::glGenFramebuffers(GLsizei n, GLuint *framebuffers)
1781{
1782 d_3_0_Core->f.GenFramebuffers(n, framebuffers);
1783}
1784
1785inline void QOpenGLFunctions_4_4_Core::glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers)
1786{
1787 d_3_0_Core->f.DeleteFramebuffers(n, framebuffers);
1788}
1789
1790inline void QOpenGLFunctions_4_4_Core::glBindFramebuffer(GLenum target, GLuint framebuffer)
1791{
1792 d_3_0_Core->f.BindFramebuffer(target, framebuffer);
1793}
1794
1795inline GLboolean QOpenGLFunctions_4_4_Core::glIsFramebuffer(GLuint framebuffer)
1796{
1797 return d_3_0_Core->f.IsFramebuffer(framebuffer);
1798}
1799
1800inline void QOpenGLFunctions_4_4_Core::glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params)
1801{
1802 d_3_0_Core->f.GetRenderbufferParameteriv(target, pname, params);
1803}
1804
1805inline void QOpenGLFunctions_4_4_Core::glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)
1806{
1807 d_3_0_Core->f.RenderbufferStorage(target, internalformat, width, height);
1808}
1809
1810inline void QOpenGLFunctions_4_4_Core::glGenRenderbuffers(GLsizei n, GLuint *renderbuffers)
1811{
1812 d_3_0_Core->f.GenRenderbuffers(n, renderbuffers);
1813}
1814
1815inline void QOpenGLFunctions_4_4_Core::glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers)
1816{
1817 d_3_0_Core->f.DeleteRenderbuffers(n, renderbuffers);
1818}
1819
1820inline void QOpenGLFunctions_4_4_Core::glBindRenderbuffer(GLenum target, GLuint renderbuffer)
1821{
1822 d_3_0_Core->f.BindRenderbuffer(target, renderbuffer);
1823}
1824
1825inline GLboolean QOpenGLFunctions_4_4_Core::glIsRenderbuffer(GLuint renderbuffer)
1826{
1827 return d_3_0_Core->f.IsRenderbuffer(renderbuffer);
1828}
1829
1830inline const GLubyte * QOpenGLFunctions_4_4_Core::glGetStringi(GLenum name, GLuint index)
1831{
1832 return d_3_0_Core->f.GetStringi(name, index);
1833}
1834
1835inline void QOpenGLFunctions_4_4_Core::glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil)
1836{
1837 d_3_0_Core->f.ClearBufferfi(buffer, drawbuffer, depth, stencil);
1838}
1839
1840inline void QOpenGLFunctions_4_4_Core::glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value)
1841{
1842 d_3_0_Core->f.ClearBufferfv(buffer, drawbuffer, value);
1843}
1844
1845inline void QOpenGLFunctions_4_4_Core::glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value)
1846{
1847 d_3_0_Core->f.ClearBufferuiv(buffer, drawbuffer, value);
1848}
1849
1850inline void QOpenGLFunctions_4_4_Core::glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value)
1851{
1852 d_3_0_Core->f.ClearBufferiv(buffer, drawbuffer, value);
1853}
1854
1855inline void QOpenGLFunctions_4_4_Core::glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params)
1856{
1857 d_3_0_Core->f.GetTexParameterIuiv(target, pname, params);
1858}
1859
1860inline void QOpenGLFunctions_4_4_Core::glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params)
1861{
1862 d_3_0_Core->f.GetTexParameterIiv(target, pname, params);
1863}
1864
1865inline void QOpenGLFunctions_4_4_Core::glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params)
1866{
1867 d_3_0_Core->f.TexParameterIuiv(target, pname, params);
1868}
1869
1870inline void QOpenGLFunctions_4_4_Core::glTexParameterIiv(GLenum target, GLenum pname, const GLint *params)
1871{
1872 d_3_0_Core->f.TexParameterIiv(target, pname, params);
1873}
1874
1875inline void QOpenGLFunctions_4_4_Core::glUniform4uiv(GLint location, GLsizei count, const GLuint *value)
1876{
1877 d_3_0_Core->f.Uniform4uiv(location, count, value);
1878}
1879
1880inline void QOpenGLFunctions_4_4_Core::glUniform3uiv(GLint location, GLsizei count, const GLuint *value)
1881{
1882 d_3_0_Core->f.Uniform3uiv(location, count, value);
1883}
1884
1885inline void QOpenGLFunctions_4_4_Core::glUniform2uiv(GLint location, GLsizei count, const GLuint *value)
1886{
1887 d_3_0_Core->f.Uniform2uiv(location, count, value);
1888}
1889
1890inline void QOpenGLFunctions_4_4_Core::glUniform1uiv(GLint location, GLsizei count, const GLuint *value)
1891{
1892 d_3_0_Core->f.Uniform1uiv(location, count, value);
1893}
1894
1895inline void QOpenGLFunctions_4_4_Core::glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)
1896{
1897 d_3_0_Core->f.Uniform4ui(location, v0, v1, v2, v3);
1898}
1899
1900inline void QOpenGLFunctions_4_4_Core::glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2)
1901{
1902 d_3_0_Core->f.Uniform3ui(location, v0, v1, v2);
1903}
1904
1905inline void QOpenGLFunctions_4_4_Core::glUniform2ui(GLint location, GLuint v0, GLuint v1)
1906{
1907 d_3_0_Core->f.Uniform2ui(location, v0, v1);
1908}
1909
1910inline void QOpenGLFunctions_4_4_Core::glUniform1ui(GLint location, GLuint v0)
1911{
1912 d_3_0_Core->f.Uniform1ui(location, v0);
1913}
1914
1915inline GLint QOpenGLFunctions_4_4_Core::glGetFragDataLocation(GLuint program, const GLchar *name)
1916{
1917 return d_3_0_Core->f.GetFragDataLocation(program, name);
1918}
1919
1920inline void QOpenGLFunctions_4_4_Core::glBindFragDataLocation(GLuint program, GLuint color, const GLchar *name)
1921{
1922 d_3_0_Core->f.BindFragDataLocation(program, color, name);
1923}
1924
1925inline void QOpenGLFunctions_4_4_Core::glGetUniformuiv(GLuint program, GLint location, GLuint *params)
1926{
1927 d_3_0_Core->f.GetUniformuiv(program, location, params);
1928}
1929
1930inline void QOpenGLFunctions_4_4_Core::glVertexAttribI4usv(GLuint index, const GLushort *v)
1931{
1932 d_3_0_Core->f.VertexAttribI4usv(index, v);
1933}
1934
1935inline void QOpenGLFunctions_4_4_Core::glVertexAttribI4ubv(GLuint index, const GLubyte *v)
1936{
1937 d_3_0_Core->f.VertexAttribI4ubv(index, v);
1938}
1939
1940inline void QOpenGLFunctions_4_4_Core::glVertexAttribI4sv(GLuint index, const GLshort *v)
1941{
1942 d_3_0_Core->f.VertexAttribI4sv(index, v);
1943}
1944
1945inline void QOpenGLFunctions_4_4_Core::glVertexAttribI4bv(GLuint index, const GLbyte *v)
1946{
1947 d_3_0_Core->f.VertexAttribI4bv(index, v);
1948}
1949
1950inline void QOpenGLFunctions_4_4_Core::glVertexAttribI4uiv(GLuint index, const GLuint *v)
1951{
1952 d_3_0_Core->f.VertexAttribI4uiv(index, v);
1953}
1954
1955inline void QOpenGLFunctions_4_4_Core::glVertexAttribI3uiv(GLuint index, const GLuint *v)
1956{
1957 d_3_0_Core->f.VertexAttribI3uiv(index, v);
1958}
1959
1960inline void QOpenGLFunctions_4_4_Core::glVertexAttribI2uiv(GLuint index, const GLuint *v)
1961{
1962 d_3_0_Core->f.VertexAttribI2uiv(index, v);
1963}
1964
1965inline void QOpenGLFunctions_4_4_Core::glVertexAttribI1uiv(GLuint index, const GLuint *v)
1966{
1967 d_3_0_Core->f.VertexAttribI1uiv(index, v);
1968}
1969
1970inline void QOpenGLFunctions_4_4_Core::glVertexAttribI4iv(GLuint index, const GLint *v)
1971{
1972 d_3_0_Core->f.VertexAttribI4iv(index, v);
1973}
1974
1975inline void QOpenGLFunctions_4_4_Core::glVertexAttribI3iv(GLuint index, const GLint *v)
1976{
1977 d_3_0_Core->f.VertexAttribI3iv(index, v);
1978}
1979
1980inline void QOpenGLFunctions_4_4_Core::glVertexAttribI2iv(GLuint index, const GLint *v)
1981{
1982 d_3_0_Core->f.VertexAttribI2iv(index, v);
1983}
1984
1985inline void QOpenGLFunctions_4_4_Core::glVertexAttribI1iv(GLuint index, const GLint *v)
1986{
1987 d_3_0_Core->f.VertexAttribI1iv(index, v);
1988}
1989
1990inline void QOpenGLFunctions_4_4_Core::glVertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w)
1991{
1992 d_3_0_Core->f.VertexAttribI4ui(index, x, y, z, w);
1993}
1994
1995inline void QOpenGLFunctions_4_4_Core::glVertexAttribI3ui(GLuint index, GLuint x, GLuint y, GLuint z)
1996{
1997 d_3_0_Core->f.VertexAttribI3ui(index, x, y, z);
1998}
1999
2000inline void QOpenGLFunctions_4_4_Core::glVertexAttribI2ui(GLuint index, GLuint x, GLuint y)
2001{
2002 d_3_0_Core->f.VertexAttribI2ui(index, x, y);
2003}
2004
2005inline void QOpenGLFunctions_4_4_Core::glVertexAttribI1ui(GLuint index, GLuint x)
2006{
2007 d_3_0_Core->f.VertexAttribI1ui(index, x);
2008}
2009
2010inline void QOpenGLFunctions_4_4_Core::glVertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w)
2011{
2012 d_3_0_Core->f.VertexAttribI4i(index, x, y, z, w);
2013}
2014
2015inline void QOpenGLFunctions_4_4_Core::glVertexAttribI3i(GLuint index, GLint x, GLint y, GLint z)
2016{
2017 d_3_0_Core->f.VertexAttribI3i(index, x, y, z);
2018}
2019
2020inline void QOpenGLFunctions_4_4_Core::glVertexAttribI2i(GLuint index, GLint x, GLint y)
2021{
2022 d_3_0_Core->f.VertexAttribI2i(index, x, y);
2023}
2024
2025inline void QOpenGLFunctions_4_4_Core::glVertexAttribI1i(GLuint index, GLint x)
2026{
2027 d_3_0_Core->f.VertexAttribI1i(index, x);
2028}
2029
2030inline void QOpenGLFunctions_4_4_Core::glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params)
2031{
2032 d_3_0_Core->f.GetVertexAttribIuiv(index, pname, params);
2033}
2034
2035inline void QOpenGLFunctions_4_4_Core::glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params)
2036{
2037 d_3_0_Core->f.GetVertexAttribIiv(index, pname, params);
2038}
2039
2040inline void QOpenGLFunctions_4_4_Core::glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer)
2041{
2042 d_3_0_Core->f.VertexAttribIPointer(index, size, type, stride, pointer);
2043}
2044
2045inline void QOpenGLFunctions_4_4_Core::glEndConditionalRender()
2046{
2047 d_3_0_Core->f.EndConditionalRender();
2048}
2049
2050inline void QOpenGLFunctions_4_4_Core::glBeginConditionalRender(GLuint id, GLenum mode)
2051{
2052 d_3_0_Core->f.BeginConditionalRender(id, mode);
2053}
2054
2055inline void QOpenGLFunctions_4_4_Core::glClampColor(GLenum target, GLenum clamp)
2056{
2057 d_3_0_Core->f.ClampColor(target, clamp);
2058}
2059
2060inline void QOpenGLFunctions_4_4_Core::glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name)
2061{
2062 d_3_0_Core->f.GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name);
2063}
2064
2065inline void QOpenGLFunctions_4_4_Core::glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar *const *varyings, GLenum bufferMode)
2066{
2067 d_3_0_Core->f.TransformFeedbackVaryings(program, count, varyings, bufferMode);
2068}
2069
2070inline void QOpenGLFunctions_4_4_Core::glBindBufferBase(GLenum target, GLuint index, GLuint buffer)
2071{
2072 d_3_0_Core->f.BindBufferBase(target, index, buffer);
2073}
2074
2075inline void QOpenGLFunctions_4_4_Core::glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size)
2076{
2077 d_3_0_Core->f.BindBufferRange(target, index, buffer, offset, size);
2078}
2079
2080inline void QOpenGLFunctions_4_4_Core::glEndTransformFeedback()
2081{
2082 d_3_0_Core->f.EndTransformFeedback();
2083}
2084
2085inline void QOpenGLFunctions_4_4_Core::glBeginTransformFeedback(GLenum primitiveMode)
2086{
2087 d_3_0_Core->f.BeginTransformFeedback(primitiveMode);
2088}
2089
2090inline GLboolean QOpenGLFunctions_4_4_Core::glIsEnabledi(GLenum target, GLuint index)
2091{
2092 return d_3_0_Core->f.IsEnabledi(target, index);
2093}
2094
2095inline void QOpenGLFunctions_4_4_Core::glDisablei(GLenum target, GLuint index)
2096{
2097 d_3_0_Core->f.Disablei(target, index);
2098}
2099
2100inline void QOpenGLFunctions_4_4_Core::glEnablei(GLenum target, GLuint index)
2101{
2102 d_3_0_Core->f.Enablei(target, index);
2103}
2104
2105inline void QOpenGLFunctions_4_4_Core::glGetIntegeri_v(GLenum target, GLuint index, GLint *data)
2106{
2107 d_3_0_Core->f.GetIntegeri_v(target, index, data);
2108}
2109
2110inline void QOpenGLFunctions_4_4_Core::glGetBooleani_v(GLenum target, GLuint index, GLboolean *data)
2111{
2112 d_3_0_Core->f.GetBooleani_v(target, index, data);
2113}
2114
2115inline void QOpenGLFunctions_4_4_Core::glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a)
2116{
2117 d_3_0_Core->f.ColorMaski(index, r, g, b, a);
2118}
2119
2120
2121// OpenGL 3.1 core functions
2122inline void QOpenGLFunctions_4_4_Core::glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding)
2123{
2124 d_3_1_Core->f.UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding);
2125}
2126
2127inline void QOpenGLFunctions_4_4_Core::glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName)
2128{
2129 d_3_1_Core->f.GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName);
2130}
2131
2132inline void QOpenGLFunctions_4_4_Core::glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params)
2133{
2134 d_3_1_Core->f.GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params);
2135}
2136
2137inline GLuint QOpenGLFunctions_4_4_Core::glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName)
2138{
2139 return d_3_1_Core->f.GetUniformBlockIndex(program, uniformBlockName);
2140}
2141
2142inline void QOpenGLFunctions_4_4_Core::glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName)
2143{
2144 d_3_1_Core->f.GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName);
2145}
2146
2147inline void QOpenGLFunctions_4_4_Core::glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params)
2148{
2149 d_3_1_Core->f.GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params);
2150}
2151
2152inline void QOpenGLFunctions_4_4_Core::glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar *const *uniformNames, GLuint *uniformIndices)
2153{
2154 d_3_1_Core->f.GetUniformIndices(program, uniformCount, uniformNames, uniformIndices);
2155}
2156
2157inline void QOpenGLFunctions_4_4_Core::glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size)
2158{
2159 d_3_1_Core->f.CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size);
2160}
2161
2162inline void QOpenGLFunctions_4_4_Core::glPrimitiveRestartIndex(GLuint index)
2163{
2164 d_3_1_Core->f.PrimitiveRestartIndex(index);
2165}
2166
2167inline void QOpenGLFunctions_4_4_Core::glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer)
2168{
2169 d_3_1_Core->f.TexBuffer(target, internalformat, buffer);
2170}
2171
2172inline void QOpenGLFunctions_4_4_Core::glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount)
2173{
2174 d_3_1_Core->f.DrawElementsInstanced(mode, count, type, indices, instancecount);
2175}
2176
2177inline void QOpenGLFunctions_4_4_Core::glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount)
2178{
2179 d_3_1_Core->f.DrawArraysInstanced(mode, first, count, instancecount);
2180}
2181
2182
2183// OpenGL 3.2 core functions
2184inline void QOpenGLFunctions_4_4_Core::glSampleMaski(GLuint maskNumber, GLbitfield mask)
2185{
2186 d_3_2_Core->f.SampleMaski(maskNumber, mask);
2187}
2188
2189inline void QOpenGLFunctions_4_4_Core::glGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val)
2190{
2191 d_3_2_Core->f.GetMultisamplefv(pname, index, val);
2192}
2193
2194inline void QOpenGLFunctions_4_4_Core::glTexImage3DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations)
2195{
2196 d_3_2_Core->f.TexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations);
2197}
2198
2199inline void QOpenGLFunctions_4_4_Core::glTexImage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations)
2200{
2201 d_3_2_Core->f.TexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations);
2202}
2203
2204inline void QOpenGLFunctions_4_4_Core::glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level)
2205{
2206 d_3_2_Core->f.FramebufferTexture(target, attachment, texture, level);
2207}
2208
2209inline void QOpenGLFunctions_4_4_Core::glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params)
2210{
2211 d_3_2_Core->f.GetBufferParameteri64v(target, pname, params);
2212}
2213
2214inline void QOpenGLFunctions_4_4_Core::glGetInteger64i_v(GLenum target, GLuint index, GLint64 *data)
2215{
2216 d_3_2_Core->f.GetInteger64i_v(target, index, data);
2217}
2218
2219inline void QOpenGLFunctions_4_4_Core::glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values)
2220{
2221 d_3_2_Core->f.GetSynciv(sync, pname, bufSize, length, values);
2222}
2223
2224inline void QOpenGLFunctions_4_4_Core::glGetInteger64v(GLenum pname, GLint64 *data)
2225{
2226 d_3_2_Core->f.GetInteger64v(pname, data);
2227}
2228
2229inline void QOpenGLFunctions_4_4_Core::glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout)
2230{
2231 d_3_2_Core->f.WaitSync(sync, flags, timeout);
2232}
2233
2234inline GLenum QOpenGLFunctions_4_4_Core::glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout)
2235{
2236 return d_3_2_Core->f.ClientWaitSync(sync, flags, timeout);
2237}
2238
2239inline void QOpenGLFunctions_4_4_Core::glDeleteSync(GLsync sync)
2240{
2241 d_3_2_Core->f.DeleteSync(sync);
2242}
2243
2244inline GLboolean QOpenGLFunctions_4_4_Core::glIsSync(GLsync sync)
2245{
2246 return d_3_2_Core->f.IsSync(sync);
2247}
2248
2249inline GLsync QOpenGLFunctions_4_4_Core::glFenceSync(GLenum condition, GLbitfield flags)
2250{
2251 return d_3_2_Core->f.FenceSync(condition, flags);
2252}
2253
2254inline void QOpenGLFunctions_4_4_Core::glProvokingVertex(GLenum mode)
2255{
2256 d_3_2_Core->f.ProvokingVertex(mode);
2257}
2258
2259inline void QOpenGLFunctions_4_4_Core::glMultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count, GLenum type, const void *const *indices, GLsizei drawcount, const GLint *basevertex)
2260{
2261 d_3_2_Core->f.MultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex);
2262}
2263
2264inline void QOpenGLFunctions_4_4_Core::glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex)
2265{
2266 d_3_2_Core->f.DrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex);
2267}
2268
2269inline void QOpenGLFunctions_4_4_Core::glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex)
2270{
2271 d_3_2_Core->f.DrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex);
2272}
2273
2274inline void QOpenGLFunctions_4_4_Core::glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex)
2275{
2276 d_3_2_Core->f.DrawElementsBaseVertex(mode, count, type, indices, basevertex);
2277}
2278
2279
2280// OpenGL 3.3 core functions
2281inline void QOpenGLFunctions_4_4_Core::glVertexAttribP4uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value)
2282{
2283 d_3_3_Core->f.VertexAttribP4uiv(index, type, normalized, value);
2284}
2285
2286inline void QOpenGLFunctions_4_4_Core::glVertexAttribP4ui(GLuint index, GLenum type, GLboolean normalized, GLuint value)
2287{
2288 d_3_3_Core->f.VertexAttribP4ui(index, type, normalized, value);
2289}
2290
2291inline void QOpenGLFunctions_4_4_Core::glVertexAttribP3uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value)
2292{
2293 d_3_3_Core->f.VertexAttribP3uiv(index, type, normalized, value);
2294}
2295
2296inline void QOpenGLFunctions_4_4_Core::glVertexAttribP3ui(GLuint index, GLenum type, GLboolean normalized, GLuint value)
2297{
2298 d_3_3_Core->f.VertexAttribP3ui(index, type, normalized, value);
2299}
2300
2301inline void QOpenGLFunctions_4_4_Core::glVertexAttribP2uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value)
2302{
2303 d_3_3_Core->f.VertexAttribP2uiv(index, type, normalized, value);
2304}
2305
2306inline void QOpenGLFunctions_4_4_Core::glVertexAttribP2ui(GLuint index, GLenum type, GLboolean normalized, GLuint value)
2307{
2308 d_3_3_Core->f.VertexAttribP2ui(index, type, normalized, value);
2309}
2310
2311inline void QOpenGLFunctions_4_4_Core::glVertexAttribP1uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value)
2312{
2313 d_3_3_Core->f.VertexAttribP1uiv(index, type, normalized, value);
2314}
2315
2316inline void QOpenGLFunctions_4_4_Core::glVertexAttribP1ui(GLuint index, GLenum type, GLboolean normalized, GLuint value)
2317{
2318 d_3_3_Core->f.VertexAttribP1ui(index, type, normalized, value);
2319}
2320
2321inline void QOpenGLFunctions_4_4_Core::glVertexAttribDivisor(GLuint index, GLuint divisor)
2322{
2323 d_3_3_Core->f.VertexAttribDivisor(index, divisor);
2324}
2325
2326inline void QOpenGLFunctions_4_4_Core::glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64 *params)
2327{
2328 d_3_3_Core->f.GetQueryObjectui64v(id, pname, params);
2329}
2330
2331inline void QOpenGLFunctions_4_4_Core::glGetQueryObjecti64v(GLuint id, GLenum pname, GLint64 *params)
2332{
2333 d_3_3_Core->f.GetQueryObjecti64v(id, pname, params);
2334}
2335
2336inline void QOpenGLFunctions_4_4_Core::glQueryCounter(GLuint id, GLenum target)
2337{
2338 d_3_3_Core->f.QueryCounter(id, target);
2339}
2340
2341inline void QOpenGLFunctions_4_4_Core::glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params)
2342{
2343 d_3_3_Core->f.GetSamplerParameterIuiv(sampler, pname, params);
2344}
2345
2346inline void QOpenGLFunctions_4_4_Core::glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params)
2347{
2348 d_3_3_Core->f.GetSamplerParameterfv(sampler, pname, params);
2349}
2350
2351inline void QOpenGLFunctions_4_4_Core::glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params)
2352{
2353 d_3_3_Core->f.GetSamplerParameterIiv(sampler, pname, params);
2354}
2355
2356inline void QOpenGLFunctions_4_4_Core::glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params)
2357{
2358 d_3_3_Core->f.GetSamplerParameteriv(sampler, pname, params);
2359}
2360
2361inline void QOpenGLFunctions_4_4_Core::glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *param)
2362{
2363 d_3_3_Core->f.SamplerParameterIuiv(sampler, pname, param);
2364}
2365
2366inline void QOpenGLFunctions_4_4_Core::glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *param)
2367{
2368 d_3_3_Core->f.SamplerParameterIiv(sampler, pname, param);
2369}
2370
2371inline void QOpenGLFunctions_4_4_Core::glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *param)
2372{
2373 d_3_3_Core->f.SamplerParameterfv(sampler, pname, param);
2374}
2375
2376inline void QOpenGLFunctions_4_4_Core::glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param)
2377{
2378 d_3_3_Core->f.SamplerParameterf(sampler, pname, param);
2379}
2380
2381inline void QOpenGLFunctions_4_4_Core::glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint *param)
2382{
2383 d_3_3_Core->f.SamplerParameteriv(sampler, pname, param);
2384}
2385
2386inline void QOpenGLFunctions_4_4_Core::glSamplerParameteri(GLuint sampler, GLenum pname, GLint param)
2387{
2388 d_3_3_Core->f.SamplerParameteri(sampler, pname, param);
2389}
2390
2391inline void QOpenGLFunctions_4_4_Core::glBindSampler(GLuint unit, GLuint sampler)
2392{
2393 d_3_3_Core->f.BindSampler(unit, sampler);
2394}
2395
2396inline GLboolean QOpenGLFunctions_4_4_Core::glIsSampler(GLuint sampler)
2397{
2398 return d_3_3_Core->f.IsSampler(sampler);
2399}
2400
2401inline void QOpenGLFunctions_4_4_Core::glDeleteSamplers(GLsizei count, const GLuint *samplers)
2402{
2403 d_3_3_Core->f.DeleteSamplers(count, samplers);
2404}
2405
2406inline void QOpenGLFunctions_4_4_Core::glGenSamplers(GLsizei count, GLuint *samplers)
2407{
2408 d_3_3_Core->f.GenSamplers(count, samplers);
2409}
2410
2411inline GLint QOpenGLFunctions_4_4_Core::glGetFragDataIndex(GLuint program, const GLchar *name)
2412{
2413 return d_3_3_Core->f.GetFragDataIndex(program, name);
2414}
2415
2416inline void QOpenGLFunctions_4_4_Core::glBindFragDataLocationIndexed(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name)
2417{
2418 d_3_3_Core->f.BindFragDataLocationIndexed(program, colorNumber, index, name);
2419}
2420
2421
2422// OpenGL 4.0 core functions
2423inline void QOpenGLFunctions_4_4_Core::glGetQueryIndexediv(GLenum target, GLuint index, GLenum pname, GLint *params)
2424{
2425 d_4_0_Core->f.GetQueryIndexediv(target, index, pname, params);
2426}
2427
2428inline void QOpenGLFunctions_4_4_Core::glEndQueryIndexed(GLenum target, GLuint index)
2429{
2430 d_4_0_Core->f.EndQueryIndexed(target, index);
2431}
2432
2433inline void QOpenGLFunctions_4_4_Core::glBeginQueryIndexed(GLenum target, GLuint index, GLuint id)
2434{
2435 d_4_0_Core->f.BeginQueryIndexed(target, index, id);
2436}
2437
2438inline void QOpenGLFunctions_4_4_Core::glDrawTransformFeedbackStream(GLenum mode, GLuint id, GLuint stream)
2439{
2440 d_4_0_Core->f.DrawTransformFeedbackStream(mode, id, stream);
2441}
2442
2443inline void QOpenGLFunctions_4_4_Core::glDrawTransformFeedback(GLenum mode, GLuint id)
2444{
2445 d_4_0_Core->f.DrawTransformFeedback(mode, id);
2446}
2447
2448inline void QOpenGLFunctions_4_4_Core::glResumeTransformFeedback()
2449{
2450 d_4_0_Core->f.ResumeTransformFeedback();
2451}
2452
2453inline void QOpenGLFunctions_4_4_Core::glPauseTransformFeedback()
2454{
2455 d_4_0_Core->f.PauseTransformFeedback();
2456}
2457
2458inline GLboolean QOpenGLFunctions_4_4_Core::glIsTransformFeedback(GLuint id)
2459{
2460 return d_4_0_Core->f.IsTransformFeedback(id);
2461}
2462
2463inline void QOpenGLFunctions_4_4_Core::glGenTransformFeedbacks(GLsizei n, GLuint *ids)
2464{
2465 d_4_0_Core->f.GenTransformFeedbacks(n, ids);
2466}
2467
2468inline void QOpenGLFunctions_4_4_Core::glDeleteTransformFeedbacks(GLsizei n, const GLuint *ids)
2469{
2470 d_4_0_Core->f.DeleteTransformFeedbacks(n, ids);
2471}
2472
2473inline void QOpenGLFunctions_4_4_Core::glBindTransformFeedback(GLenum target, GLuint id)
2474{
2475 d_4_0_Core->f.BindTransformFeedback(target, id);
2476}
2477
2478inline void QOpenGLFunctions_4_4_Core::glPatchParameterfv(GLenum pname, const GLfloat *values)
2479{
2480 d_4_0_Core->f.PatchParameterfv(pname, values);
2481}
2482
2483inline void QOpenGLFunctions_4_4_Core::glPatchParameteri(GLenum pname, GLint value)
2484{
2485 d_4_0_Core->f.PatchParameteri(pname, value);
2486}
2487
2488inline void QOpenGLFunctions_4_4_Core::glGetProgramStageiv(GLuint program, GLenum shadertype, GLenum pname, GLint *values)
2489{
2490 d_4_0_Core->f.GetProgramStageiv(program, shadertype, pname, values);
2491}
2492
2493inline void QOpenGLFunctions_4_4_Core::glGetUniformSubroutineuiv(GLenum shadertype, GLint location, GLuint *params)
2494{
2495 d_4_0_Core->f.GetUniformSubroutineuiv(shadertype, location, params);
2496}
2497
2498inline void QOpenGLFunctions_4_4_Core::glUniformSubroutinesuiv(GLenum shadertype, GLsizei count, const GLuint *indices)
2499{
2500 d_4_0_Core->f.UniformSubroutinesuiv(shadertype, count, indices);
2501}
2502
2503inline void QOpenGLFunctions_4_4_Core::glGetActiveSubroutineName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name)
2504{
2505 d_4_0_Core->f.GetActiveSubroutineName(program, shadertype, index, bufsize, length, name);
2506}
2507
2508inline void QOpenGLFunctions_4_4_Core::glGetActiveSubroutineUniformName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name)
2509{
2510 d_4_0_Core->f.GetActiveSubroutineUniformName(program, shadertype, index, bufsize, length, name);
2511}
2512
2513inline void QOpenGLFunctions_4_4_Core::glGetActiveSubroutineUniformiv(GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values)
2514{
2515 d_4_0_Core->f.GetActiveSubroutineUniformiv(program, shadertype, index, pname, values);
2516}
2517
2518inline GLuint QOpenGLFunctions_4_4_Core::glGetSubroutineIndex(GLuint program, GLenum shadertype, const GLchar *name)
2519{
2520 return d_4_0_Core->f.GetSubroutineIndex(program, shadertype, name);
2521}
2522
2523inline GLint QOpenGLFunctions_4_4_Core::glGetSubroutineUniformLocation(GLuint program, GLenum shadertype, const GLchar *name)
2524{
2525 return d_4_0_Core->f.GetSubroutineUniformLocation(program, shadertype, name);
2526}
2527
2528inline void QOpenGLFunctions_4_4_Core::glGetUniformdv(GLuint program, GLint location, GLdouble *params)
2529{
2530 d_4_0_Core->f.GetUniformdv(program, location, params);
2531}
2532
2533inline void QOpenGLFunctions_4_4_Core::glUniformMatrix4x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2534{
2535 d_4_0_Core->f.UniformMatrix4x3dv(location, count, transpose, value);
2536}
2537
2538inline void QOpenGLFunctions_4_4_Core::glUniformMatrix4x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2539{
2540 d_4_0_Core->f.UniformMatrix4x2dv(location, count, transpose, value);
2541}
2542
2543inline void QOpenGLFunctions_4_4_Core::glUniformMatrix3x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2544{
2545 d_4_0_Core->f.UniformMatrix3x4dv(location, count, transpose, value);
2546}
2547
2548inline void QOpenGLFunctions_4_4_Core::glUniformMatrix3x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2549{
2550 d_4_0_Core->f.UniformMatrix3x2dv(location, count, transpose, value);
2551}
2552
2553inline void QOpenGLFunctions_4_4_Core::glUniformMatrix2x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2554{
2555 d_4_0_Core->f.UniformMatrix2x4dv(location, count, transpose, value);
2556}
2557
2558inline void QOpenGLFunctions_4_4_Core::glUniformMatrix2x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2559{
2560 d_4_0_Core->f.UniformMatrix2x3dv(location, count, transpose, value);
2561}
2562
2563inline void QOpenGLFunctions_4_4_Core::glUniformMatrix4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2564{
2565 d_4_0_Core->f.UniformMatrix4dv(location, count, transpose, value);
2566}
2567
2568inline void QOpenGLFunctions_4_4_Core::glUniformMatrix3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2569{
2570 d_4_0_Core->f.UniformMatrix3dv(location, count, transpose, value);
2571}
2572
2573inline void QOpenGLFunctions_4_4_Core::glUniformMatrix2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2574{
2575 d_4_0_Core->f.UniformMatrix2dv(location, count, transpose, value);
2576}
2577
2578inline void QOpenGLFunctions_4_4_Core::glUniform4dv(GLint location, GLsizei count, const GLdouble *value)
2579{
2580 d_4_0_Core->f.Uniform4dv(location, count, value);
2581}
2582
2583inline void QOpenGLFunctions_4_4_Core::glUniform3dv(GLint location, GLsizei count, const GLdouble *value)
2584{
2585 d_4_0_Core->f.Uniform3dv(location, count, value);
2586}
2587
2588inline void QOpenGLFunctions_4_4_Core::glUniform2dv(GLint location, GLsizei count, const GLdouble *value)
2589{
2590 d_4_0_Core->f.Uniform2dv(location, count, value);
2591}
2592
2593inline void QOpenGLFunctions_4_4_Core::glUniform1dv(GLint location, GLsizei count, const GLdouble *value)
2594{
2595 d_4_0_Core->f.Uniform1dv(location, count, value);
2596}
2597
2598inline void QOpenGLFunctions_4_4_Core::glUniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
2599{
2600 d_4_0_Core->f.Uniform4d(location, x, y, z, w);
2601}
2602
2603inline void QOpenGLFunctions_4_4_Core::glUniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z)
2604{
2605 d_4_0_Core->f.Uniform3d(location, x, y, z);
2606}
2607
2608inline void QOpenGLFunctions_4_4_Core::glUniform2d(GLint location, GLdouble x, GLdouble y)
2609{
2610 d_4_0_Core->f.Uniform2d(location, x, y);
2611}
2612
2613inline void QOpenGLFunctions_4_4_Core::glUniform1d(GLint location, GLdouble x)
2614{
2615 d_4_0_Core->f.Uniform1d(location, x);
2616}
2617
2618inline void QOpenGLFunctions_4_4_Core::glDrawElementsIndirect(GLenum mode, GLenum type, const void *indirect)
2619{
2620 d_4_0_Core->f.DrawElementsIndirect(mode, type, indirect);
2621}
2622
2623inline void QOpenGLFunctions_4_4_Core::glDrawArraysIndirect(GLenum mode, const void *indirect)
2624{
2625 d_4_0_Core->f.DrawArraysIndirect(mode, indirect);
2626}
2627
2628inline void QOpenGLFunctions_4_4_Core::glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)
2629{
2630 d_4_0_Core->f.BlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha);
2631}
2632
2633inline void QOpenGLFunctions_4_4_Core::glBlendFunci(GLuint buf, GLenum src, GLenum dst)
2634{
2635 d_4_0_Core->f.BlendFunci(buf, src, dst);
2636}
2637
2638inline void QOpenGLFunctions_4_4_Core::glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha)
2639{
2640 d_4_0_Core->f.BlendEquationSeparatei(buf, modeRGB, modeAlpha);
2641}
2642
2643inline void QOpenGLFunctions_4_4_Core::glBlendEquationi(GLuint buf, GLenum mode)
2644{
2645 d_4_0_Core->f.BlendEquationi(buf, mode);
2646}
2647
2648inline void QOpenGLFunctions_4_4_Core::glMinSampleShading(GLfloat value)
2649{
2650 d_4_0_Core->f.MinSampleShading(value);
2651}
2652
2653
2654// OpenGL 4.1 core functions
2655inline void QOpenGLFunctions_4_4_Core::glGetDoublei_v(GLenum target, GLuint index, GLdouble *data)
2656{
2657 d_4_1_Core->f.GetDoublei_v(target, index, data);
2658}
2659
2660inline void QOpenGLFunctions_4_4_Core::glGetFloati_v(GLenum target, GLuint index, GLfloat *data)
2661{
2662 d_4_1_Core->f.GetFloati_v(target, index, data);
2663}
2664
2665inline void QOpenGLFunctions_4_4_Core::glDepthRangeIndexed(GLuint index, GLdouble n, GLdouble f)
2666{
2667 d_4_1_Core->f.DepthRangeIndexed(index, n, f);
2668}
2669
2670inline void QOpenGLFunctions_4_4_Core::glDepthRangeArrayv(GLuint first, GLsizei count, const GLdouble *v)
2671{
2672 d_4_1_Core->f.DepthRangeArrayv(first, count, v);
2673}
2674
2675inline void QOpenGLFunctions_4_4_Core::glScissorIndexedv(GLuint index, const GLint *v)
2676{
2677 d_4_1_Core->f.ScissorIndexedv(index, v);
2678}
2679
2680inline void QOpenGLFunctions_4_4_Core::glScissorIndexed(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height)
2681{
2682 d_4_1_Core->f.ScissorIndexed(index, left, bottom, width, height);
2683}
2684
2685inline void QOpenGLFunctions_4_4_Core::glScissorArrayv(GLuint first, GLsizei count, const GLint *v)
2686{
2687 d_4_1_Core->f.ScissorArrayv(first, count, v);
2688}
2689
2690inline void QOpenGLFunctions_4_4_Core::glViewportIndexedfv(GLuint index, const GLfloat *v)
2691{
2692 d_4_1_Core->f.ViewportIndexedfv(index, v);
2693}
2694
2695inline void QOpenGLFunctions_4_4_Core::glViewportIndexedf(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h)
2696{
2697 d_4_1_Core->f.ViewportIndexedf(index, x, y, w, h);
2698}
2699
2700inline void QOpenGLFunctions_4_4_Core::glViewportArrayv(GLuint first, GLsizei count, const GLfloat *v)
2701{
2702 d_4_1_Core->f.ViewportArrayv(first, count, v);
2703}
2704
2705inline void QOpenGLFunctions_4_4_Core::glGetVertexAttribLdv(GLuint index, GLenum pname, GLdouble *params)
2706{
2707 d_4_1_Core->f.GetVertexAttribLdv(index, pname, params);
2708}
2709
2710inline void QOpenGLFunctions_4_4_Core::glVertexAttribLPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer)
2711{
2712 d_4_1_Core->f.VertexAttribLPointer(index, size, type, stride, pointer);
2713}
2714
2715inline void QOpenGLFunctions_4_4_Core::glVertexAttribL4dv(GLuint index, const GLdouble *v)
2716{
2717 d_4_1_Core->f.VertexAttribL4dv(index, v);
2718}
2719
2720inline void QOpenGLFunctions_4_4_Core::glVertexAttribL3dv(GLuint index, const GLdouble *v)
2721{
2722 d_4_1_Core->f.VertexAttribL3dv(index, v);
2723}
2724
2725inline void QOpenGLFunctions_4_4_Core::glVertexAttribL2dv(GLuint index, const GLdouble *v)
2726{
2727 d_4_1_Core->f.VertexAttribL2dv(index, v);
2728}
2729
2730inline void QOpenGLFunctions_4_4_Core::glVertexAttribL1dv(GLuint index, const GLdouble *v)
2731{
2732 d_4_1_Core->f.VertexAttribL1dv(index, v);
2733}
2734
2735inline void QOpenGLFunctions_4_4_Core::glVertexAttribL4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
2736{
2737 d_4_1_Core->f.VertexAttribL4d(index, x, y, z, w);
2738}
2739
2740inline void QOpenGLFunctions_4_4_Core::glVertexAttribL3d(GLuint index, GLdouble x, GLdouble y, GLdouble z)
2741{
2742 d_4_1_Core->f.VertexAttribL3d(index, x, y, z);
2743}
2744
2745inline void QOpenGLFunctions_4_4_Core::glVertexAttribL2d(GLuint index, GLdouble x, GLdouble y)
2746{
2747 d_4_1_Core->f.VertexAttribL2d(index, x, y);
2748}
2749
2750inline void QOpenGLFunctions_4_4_Core::glVertexAttribL1d(GLuint index, GLdouble x)
2751{
2752 d_4_1_Core->f.VertexAttribL1d(index, x);
2753}
2754
2755inline void QOpenGLFunctions_4_4_Core::glGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog)
2756{
2757 d_4_1_Core->f.GetProgramPipelineInfoLog(pipeline, bufSize, length, infoLog);
2758}
2759
2760inline void QOpenGLFunctions_4_4_Core::glValidateProgramPipeline(GLuint pipeline)
2761{
2762 d_4_1_Core->f.ValidateProgramPipeline(pipeline);
2763}
2764
2765inline void QOpenGLFunctions_4_4_Core::glProgramUniformMatrix4x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2766{
2767 d_4_1_Core->f.ProgramUniformMatrix4x3dv(program, location, count, transpose, value);
2768}
2769
2770inline void QOpenGLFunctions_4_4_Core::glProgramUniformMatrix3x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2771{
2772 d_4_1_Core->f.ProgramUniformMatrix3x4dv(program, location, count, transpose, value);
2773}
2774
2775inline void QOpenGLFunctions_4_4_Core::glProgramUniformMatrix4x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2776{
2777 d_4_1_Core->f.ProgramUniformMatrix4x2dv(program, location, count, transpose, value);
2778}
2779
2780inline void QOpenGLFunctions_4_4_Core::glProgramUniformMatrix2x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2781{
2782 d_4_1_Core->f.ProgramUniformMatrix2x4dv(program, location, count, transpose, value);
2783}
2784
2785inline void QOpenGLFunctions_4_4_Core::glProgramUniformMatrix3x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2786{
2787 d_4_1_Core->f.ProgramUniformMatrix3x2dv(program, location, count, transpose, value);
2788}
2789
2790inline void QOpenGLFunctions_4_4_Core::glProgramUniformMatrix2x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2791{
2792 d_4_1_Core->f.ProgramUniformMatrix2x3dv(program, location, count, transpose, value);
2793}
2794
2795inline void QOpenGLFunctions_4_4_Core::glProgramUniformMatrix4x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
2796{
2797 d_4_1_Core->f.ProgramUniformMatrix4x3fv(program, location, count, transpose, value);
2798}
2799
2800inline void QOpenGLFunctions_4_4_Core::glProgramUniformMatrix3x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
2801{
2802 d_4_1_Core->f.ProgramUniformMatrix3x4fv(program, location, count, transpose, value);
2803}
2804
2805inline void QOpenGLFunctions_4_4_Core::glProgramUniformMatrix4x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
2806{
2807 d_4_1_Core->f.ProgramUniformMatrix4x2fv(program, location, count, transpose, value);
2808}
2809
2810inline void QOpenGLFunctions_4_4_Core::glProgramUniformMatrix2x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
2811{
2812 d_4_1_Core->f.ProgramUniformMatrix2x4fv(program, location, count, transpose, value);
2813}
2814
2815inline void QOpenGLFunctions_4_4_Core::glProgramUniformMatrix3x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
2816{
2817 d_4_1_Core->f.ProgramUniformMatrix3x2fv(program, location, count, transpose, value);
2818}
2819
2820inline void QOpenGLFunctions_4_4_Core::glProgramUniformMatrix2x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
2821{
2822 d_4_1_Core->f.ProgramUniformMatrix2x3fv(program, location, count, transpose, value);
2823}
2824
2825inline void QOpenGLFunctions_4_4_Core::glProgramUniformMatrix4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2826{
2827 d_4_1_Core->f.ProgramUniformMatrix4dv(program, location, count, transpose, value);
2828}
2829
2830inline void QOpenGLFunctions_4_4_Core::glProgramUniformMatrix3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2831{
2832 d_4_1_Core->f.ProgramUniformMatrix3dv(program, location, count, transpose, value);
2833}
2834
2835inline void QOpenGLFunctions_4_4_Core::glProgramUniformMatrix2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2836{
2837 d_4_1_Core->f.ProgramUniformMatrix2dv(program, location, count, transpose, value);
2838}
2839
2840inline void QOpenGLFunctions_4_4_Core::glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
2841{
2842 d_4_1_Core->f.ProgramUniformMatrix4fv(program, location, count, transpose, value);
2843}
2844
2845inline void QOpenGLFunctions_4_4_Core::glProgramUniformMatrix3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
2846{
2847 d_4_1_Core->f.ProgramUniformMatrix3fv(program, location, count, transpose, value);
2848}
2849
2850inline void QOpenGLFunctions_4_4_Core::glProgramUniformMatrix2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
2851{
2852 d_4_1_Core->f.ProgramUniformMatrix2fv(program, location, count, transpose, value);
2853}
2854
2855inline void QOpenGLFunctions_4_4_Core::glProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const GLuint *value)
2856{
2857 d_4_1_Core->f.ProgramUniform4uiv(program, location, count, value);
2858}
2859
2860inline void QOpenGLFunctions_4_4_Core::glProgramUniform4ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)
2861{
2862 d_4_1_Core->f.ProgramUniform4ui(program, location, v0, v1, v2, v3);
2863}
2864
2865inline void QOpenGLFunctions_4_4_Core::glProgramUniform4dv(GLuint program, GLint location, GLsizei count, const GLdouble *value)
2866{
2867 d_4_1_Core->f.ProgramUniform4dv(program, location, count, value);
2868}
2869
2870inline void QOpenGLFunctions_4_4_Core::glProgramUniform4d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3)
2871{
2872 d_4_1_Core->f.ProgramUniform4d(program, location, v0, v1, v2, v3);
2873}
2874
2875inline void QOpenGLFunctions_4_4_Core::glProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat *value)
2876{
2877 d_4_1_Core->f.ProgramUniform4fv(program, location, count, value);
2878}
2879
2880inline void QOpenGLFunctions_4_4_Core::glProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)
2881{
2882 d_4_1_Core->f.ProgramUniform4f(program, location, v0, v1, v2, v3);
2883}
2884
2885inline void QOpenGLFunctions_4_4_Core::glProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint *value)
2886{
2887 d_4_1_Core->f.ProgramUniform4iv(program, location, count, value);
2888}
2889
2890inline void QOpenGLFunctions_4_4_Core::glProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3)
2891{
2892 d_4_1_Core->f.ProgramUniform4i(program, location, v0, v1, v2, v3);
2893}
2894
2895inline void QOpenGLFunctions_4_4_Core::glProgramUniform3uiv(GLuint program, GLint location, GLsizei count, const GLuint *value)
2896{
2897 d_4_1_Core->f.ProgramUniform3uiv(program, location, count, value);
2898}
2899
2900inline void QOpenGLFunctions_4_4_Core::glProgramUniform3ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2)
2901{
2902 d_4_1_Core->f.ProgramUniform3ui(program, location, v0, v1, v2);
2903}
2904
2905inline void QOpenGLFunctions_4_4_Core::glProgramUniform3dv(GLuint program, GLint location, GLsizei count, const GLdouble *value)
2906{
2907 d_4_1_Core->f.ProgramUniform3dv(program, location, count, value);
2908}
2909
2910inline void QOpenGLFunctions_4_4_Core::glProgramUniform3d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2)
2911{
2912 d_4_1_Core->f.ProgramUniform3d(program, location, v0, v1, v2);
2913}
2914
2915inline void QOpenGLFunctions_4_4_Core::glProgramUniform3fv(GLuint program, GLint location, GLsizei count, const GLfloat *value)
2916{
2917 d_4_1_Core->f.ProgramUniform3fv(program, location, count, value);
2918}
2919
2920inline void QOpenGLFunctions_4_4_Core::glProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2)
2921{
2922 d_4_1_Core->f.ProgramUniform3f(program, location, v0, v1, v2);
2923}
2924
2925inline void QOpenGLFunctions_4_4_Core::glProgramUniform3iv(GLuint program, GLint location, GLsizei count, const GLint *value)
2926{
2927 d_4_1_Core->f.ProgramUniform3iv(program, location, count, value);
2928}
2929
2930inline void QOpenGLFunctions_4_4_Core::glProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2)
2931{
2932 d_4_1_Core->f.ProgramUniform3i(program, location, v0, v1, v2);
2933}
2934
2935inline void QOpenGLFunctions_4_4_Core::glProgramUniform2uiv(GLuint program, GLint location, GLsizei count, const GLuint *value)
2936{
2937 d_4_1_Core->f.ProgramUniform2uiv(program, location, count, value);
2938}
2939
2940inline void QOpenGLFunctions_4_4_Core::glProgramUniform2ui(GLuint program, GLint location, GLuint v0, GLuint v1)
2941{
2942 d_4_1_Core->f.ProgramUniform2ui(program, location, v0, v1);
2943}
2944
2945inline void QOpenGLFunctions_4_4_Core::glProgramUniform2dv(GLuint program, GLint location, GLsizei count, const GLdouble *value)
2946{
2947 d_4_1_Core->f.ProgramUniform2dv(program, location, count, value);
2948}
2949
2950inline void QOpenGLFunctions_4_4_Core::glProgramUniform2d(GLuint program, GLint location, GLdouble v0, GLdouble v1)
2951{
2952 d_4_1_Core->f.ProgramUniform2d(program, location, v0, v1);
2953}
2954
2955inline void QOpenGLFunctions_4_4_Core::glProgramUniform2fv(GLuint program, GLint location, GLsizei count, const GLfloat *value)
2956{
2957 d_4_1_Core->f.ProgramUniform2fv(program, location, count, value);
2958}
2959
2960inline void QOpenGLFunctions_4_4_Core::glProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1)
2961{
2962 d_4_1_Core->f.ProgramUniform2f(program, location, v0, v1);
2963}
2964
2965inline void QOpenGLFunctions_4_4_Core::glProgramUniform2iv(GLuint program, GLint location, GLsizei count, const GLint *value)
2966{
2967 d_4_1_Core->f.ProgramUniform2iv(program, location, count, value);
2968}
2969
2970inline void QOpenGLFunctions_4_4_Core::glProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1)
2971{
2972 d_4_1_Core->f.ProgramUniform2i(program, location, v0, v1);
2973}
2974
2975inline void QOpenGLFunctions_4_4_Core::glProgramUniform1uiv(GLuint program, GLint location, GLsizei count, const GLuint *value)
2976{
2977 d_4_1_Core->f.ProgramUniform1uiv(program, location, count, value);
2978}
2979
2980inline void QOpenGLFunctions_4_4_Core::glProgramUniform1ui(GLuint program, GLint location, GLuint v0)
2981{
2982 d_4_1_Core->f.ProgramUniform1ui(program, location, v0);
2983}
2984
2985inline void QOpenGLFunctions_4_4_Core::glProgramUniform1dv(GLuint program, GLint location, GLsizei count, const GLdouble *value)
2986{
2987 d_4_1_Core->f.ProgramUniform1dv(program, location, count, value);
2988}
2989
2990inline void QOpenGLFunctions_4_4_Core::glProgramUniform1d(GLuint program, GLint location, GLdouble v0)
2991{
2992 d_4_1_Core->f.ProgramUniform1d(program, location, v0);
2993}
2994
2995inline void QOpenGLFunctions_4_4_Core::glProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat *value)
2996{
2997 d_4_1_Core->f.ProgramUniform1fv(program, location, count, value);
2998}
2999
3000inline void QOpenGLFunctions_4_4_Core::glProgramUniform1f(GLuint program, GLint location, GLfloat v0)
3001{
3002 d_4_1_Core->f.ProgramUniform1f(program, location, v0);
3003}
3004
3005inline void QOpenGLFunctions_4_4_Core::glProgramUniform1iv(GLuint program, GLint location, GLsizei count, const GLint *value)
3006{
3007 d_4_1_Core->f.ProgramUniform1iv(program, location, count, value);
3008}
3009
3010inline void QOpenGLFunctions_4_4_Core::glProgramUniform1i(GLuint program, GLint location, GLint v0)
3011{
3012 d_4_1_Core->f.ProgramUniform1i(program, location, v0);
3013}
3014
3015inline void QOpenGLFunctions_4_4_Core::glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint *params)
3016{
3017 d_4_1_Core->f.GetProgramPipelineiv(pipeline, pname, params);
3018}
3019
3020inline GLboolean QOpenGLFunctions_4_4_Core::glIsProgramPipeline(GLuint pipeline)
3021{
3022 return d_4_1_Core->f.IsProgramPipeline(pipeline);
3023}
3024
3025inline void QOpenGLFunctions_4_4_Core::glGenProgramPipelines(GLsizei n, GLuint *pipelines)
3026{
3027 d_4_1_Core->f.GenProgramPipelines(n, pipelines);
3028}
3029
3030inline void QOpenGLFunctions_4_4_Core::glDeleteProgramPipelines(GLsizei n, const GLuint *pipelines)
3031{
3032 d_4_1_Core->f.DeleteProgramPipelines(n, pipelines);
3033}
3034
3035inline void QOpenGLFunctions_4_4_Core::glBindProgramPipeline(GLuint pipeline)
3036{
3037 d_4_1_Core->f.BindProgramPipeline(pipeline);
3038}
3039
3040inline GLuint QOpenGLFunctions_4_4_Core::glCreateShaderProgramv(GLenum type, GLsizei count, const GLchar *const *strings)
3041{
3042 return d_4_1_Core->f.CreateShaderProgramv(type, count, strings);
3043}
3044
3045inline void QOpenGLFunctions_4_4_Core::glActiveShaderProgram(GLuint pipeline, GLuint program)
3046{
3047 d_4_1_Core->f.ActiveShaderProgram(pipeline, program);
3048}
3049
3050inline void QOpenGLFunctions_4_4_Core::glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program)
3051{
3052 d_4_1_Core->f.UseProgramStages(pipeline, stages, program);
3053}
3054
3055inline void QOpenGLFunctions_4_4_Core::glProgramParameteri(GLuint program, GLenum pname, GLint value)
3056{
3057 d_4_1_Core->f.ProgramParameteri(program, pname, value);
3058}
3059
3060inline void QOpenGLFunctions_4_4_Core::glProgramBinary(GLuint program, GLenum binaryFormat, const void *binary, GLsizei length)
3061{
3062 d_4_1_Core->f.ProgramBinary(program, binaryFormat, binary, length);
3063}
3064
3065inline void QOpenGLFunctions_4_4_Core::glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary)
3066{
3067 d_4_1_Core->f.GetProgramBinary(program, bufSize, length, binaryFormat, binary);
3068}
3069
3070inline void QOpenGLFunctions_4_4_Core::glClearDepthf(GLfloat dd)
3071{
3072 d_4_1_Core->f.ClearDepthf(dd);
3073}
3074
3075inline void QOpenGLFunctions_4_4_Core::glDepthRangef(GLfloat n, GLfloat f)
3076{
3077 d_4_1_Core->f.DepthRangef(n, f);
3078}
3079
3080inline void QOpenGLFunctions_4_4_Core::glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision)
3081{
3082 d_4_1_Core->f.GetShaderPrecisionFormat(shadertype, precisiontype, range, precision);
3083}
3084
3085inline void QOpenGLFunctions_4_4_Core::glShaderBinary(GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length)
3086{
3087 d_4_1_Core->f.ShaderBinary(count, shaders, binaryformat, binary, length);
3088}
3089
3090inline void QOpenGLFunctions_4_4_Core::glReleaseShaderCompiler()
3091{
3092 d_4_1_Core->f.ReleaseShaderCompiler();
3093}
3094
3095
3096// OpenGL 4.2 core functions
3097inline void QOpenGLFunctions_4_4_Core::glDrawTransformFeedbackStreamInstanced(GLenum mode, GLuint id, GLuint stream, GLsizei instancecount)
3098{
3099 d_4_2_Core->f.DrawTransformFeedbackStreamInstanced(mode, id, stream, instancecount);
3100}
3101
3102inline void QOpenGLFunctions_4_4_Core::glDrawTransformFeedbackInstanced(GLenum mode, GLuint id, GLsizei instancecount)
3103{
3104 d_4_2_Core->f.DrawTransformFeedbackInstanced(mode, id, instancecount);
3105}
3106
3107inline void QOpenGLFunctions_4_4_Core::glTexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth)
3108{
3109 d_4_2_Core->f.TexStorage3D(target, levels, internalformat, width, height, depth);
3110}
3111
3112inline void QOpenGLFunctions_4_4_Core::glTexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height)
3113{
3114 d_4_2_Core->f.TexStorage2D(target, levels, internalformat, width, height);
3115}
3116
3117inline void QOpenGLFunctions_4_4_Core::glTexStorage1D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width)
3118{
3119 d_4_2_Core->f.TexStorage1D(target, levels, internalformat, width);
3120}
3121
3122inline void QOpenGLFunctions_4_4_Core::glMemoryBarrier(GLbitfield barriers)
3123{
3124 d_4_2_Core->f.MemoryBarrier(barriers);
3125}
3126
3127inline void QOpenGLFunctions_4_4_Core::glBindImageTexture(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format)
3128{
3129 d_4_2_Core->f.BindImageTexture(unit, texture, level, layered, layer, access, format);
3130}
3131
3132inline void QOpenGLFunctions_4_4_Core::glGetActiveAtomicCounterBufferiv(GLuint program, GLuint bufferIndex, GLenum pname, GLint *params)
3133{
3134 d_4_2_Core->f.GetActiveAtomicCounterBufferiv(program, bufferIndex, pname, params);
3135}
3136
3137inline void QOpenGLFunctions_4_4_Core::glGetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params)
3138{
3139 d_4_2_Core->f.GetInternalformativ(target, internalformat, pname, bufSize, params);
3140}
3141
3142inline void QOpenGLFunctions_4_4_Core::glDrawElementsInstancedBaseVertexBaseInstance(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance)
3143{
3144 d_4_2_Core->f.DrawElementsInstancedBaseVertexBaseInstance(mode, count, type, indices, instancecount, basevertex, baseinstance);
3145}
3146
3147inline void QOpenGLFunctions_4_4_Core::glDrawElementsInstancedBaseInstance(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance)
3148{
3149 d_4_2_Core->f.DrawElementsInstancedBaseInstance(mode, count, type, indices, instancecount, baseinstance);
3150}
3151
3152inline void QOpenGLFunctions_4_4_Core::glDrawArraysInstancedBaseInstance(GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance)
3153{
3154 d_4_2_Core->f.DrawArraysInstancedBaseInstance(mode, first, count, instancecount, baseinstance);
3155}
3156
3157
3158// OpenGL 4.3 core functions
3159inline void QOpenGLFunctions_4_4_Core::glGetObjectPtrLabel(const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label)
3160{
3161 d_4_3_Core->f.GetObjectPtrLabel(ptr, bufSize, length, label);
3162}
3163
3164inline void QOpenGLFunctions_4_4_Core::glObjectPtrLabel(const void *ptr, GLsizei length, const GLchar *label)
3165{
3166 d_4_3_Core->f.ObjectPtrLabel(ptr, length, label);
3167}
3168
3169inline void QOpenGLFunctions_4_4_Core::glGetObjectLabel(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label)
3170{
3171 d_4_3_Core->f.GetObjectLabel(identifier, name, bufSize, length, label);
3172}
3173
3174inline void QOpenGLFunctions_4_4_Core::glObjectLabel(GLenum identifier, GLuint name, GLsizei length, const GLchar *label)
3175{
3176 d_4_3_Core->f.ObjectLabel(identifier, name, length, label);
3177}
3178
3179inline void QOpenGLFunctions_4_4_Core::glPopDebugGroup()
3180{
3181 d_4_3_Core->f.PopDebugGroup();
3182}
3183
3184inline void QOpenGLFunctions_4_4_Core::glPushDebugGroup(GLenum source, GLuint id, GLsizei length, const GLchar *message)
3185{
3186 d_4_3_Core->f.PushDebugGroup(source, id, length, message);
3187}
3188
3189inline GLuint QOpenGLFunctions_4_4_Core::glGetDebugMessageLog(GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog)
3190{
3191 return d_4_3_Core->f.GetDebugMessageLog(count, bufSize, sources, types, ids, severities, lengths, messageLog);
3192}
3193
3194inline void QOpenGLFunctions_4_4_Core::glDebugMessageCallback(GLDEBUGPROC callback, const void *userParam)
3195{
3196 d_4_3_Core->f.DebugMessageCallback(callback, userParam);
3197}
3198
3199inline void QOpenGLFunctions_4_4_Core::glDebugMessageInsert(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf)
3200{
3201 d_4_3_Core->f.DebugMessageInsert(source, type, id, severity, length, buf);
3202}
3203
3204inline void QOpenGLFunctions_4_4_Core::glDebugMessageControl(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled)
3205{
3206 d_4_3_Core->f.DebugMessageControl(source, type, severity, count, ids, enabled);
3207}
3208
3209inline void QOpenGLFunctions_4_4_Core::glVertexBindingDivisor(GLuint bindingindex, GLuint divisor)
3210{
3211 d_4_3_Core->f.VertexBindingDivisor(bindingindex, divisor);
3212}
3213
3214inline void QOpenGLFunctions_4_4_Core::glVertexAttribBinding(GLuint attribindex, GLuint bindingindex)
3215{
3216 d_4_3_Core->f.VertexAttribBinding(attribindex, bindingindex);
3217}
3218
3219inline void QOpenGLFunctions_4_4_Core::glVertexAttribLFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset)
3220{
3221 d_4_3_Core->f.VertexAttribLFormat(attribindex, size, type, relativeoffset);
3222}
3223
3224inline void QOpenGLFunctions_4_4_Core::glVertexAttribIFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset)
3225{
3226 d_4_3_Core->f.VertexAttribIFormat(attribindex, size, type, relativeoffset);
3227}
3228
3229inline void QOpenGLFunctions_4_4_Core::glVertexAttribFormat(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset)
3230{
3231 d_4_3_Core->f.VertexAttribFormat(attribindex, size, type, normalized, relativeoffset);
3232}
3233
3234inline void QOpenGLFunctions_4_4_Core::glBindVertexBuffer(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride)
3235{
3236 d_4_3_Core->f.BindVertexBuffer(bindingindex, buffer, offset, stride);
3237}
3238
3239inline void QOpenGLFunctions_4_4_Core::glTextureView(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers)
3240{
3241 d_4_3_Core->f.TextureView(texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers);
3242}
3243
3244inline void QOpenGLFunctions_4_4_Core::glTexStorage3DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations)
3245{
3246 d_4_3_Core->f.TexStorage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations);
3247}
3248
3249inline void QOpenGLFunctions_4_4_Core::glTexStorage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations)
3250{
3251 d_4_3_Core->f.TexStorage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations);
3252}
3253
3254inline void QOpenGLFunctions_4_4_Core::glTexBufferRange(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size)
3255{
3256 d_4_3_Core->f.TexBufferRange(target, internalformat, buffer, offset, size);
3257}
3258
3259inline void QOpenGLFunctions_4_4_Core::glShaderStorageBlockBinding(GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding)
3260{
3261 d_4_3_Core->f.ShaderStorageBlockBinding(program, storageBlockIndex, storageBlockBinding);
3262}
3263
3264inline GLint QOpenGLFunctions_4_4_Core::glGetProgramResourceLocationIndex(GLuint program, GLenum programInterface, const GLchar *name)
3265{
3266 return d_4_3_Core->f.GetProgramResourceLocationIndex(program, programInterface, name);
3267}
3268
3269inline GLint QOpenGLFunctions_4_4_Core::glGetProgramResourceLocation(GLuint program, GLenum programInterface, const GLchar *name)
3270{
3271 return d_4_3_Core->f.GetProgramResourceLocation(program, programInterface, name);
3272}
3273
3274inline void QOpenGLFunctions_4_4_Core::glGetProgramResourceiv(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params)
3275{
3276 d_4_3_Core->f.GetProgramResourceiv(program, programInterface, index, propCount, props, bufSize, length, params);
3277}
3278
3279inline void QOpenGLFunctions_4_4_Core::glGetProgramResourceName(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name)
3280{
3281 d_4_3_Core->f.GetProgramResourceName(program, programInterface, index, bufSize, length, name);
3282}
3283
3284inline GLuint QOpenGLFunctions_4_4_Core::glGetProgramResourceIndex(GLuint program, GLenum programInterface, const GLchar *name)
3285{
3286 return d_4_3_Core->f.GetProgramResourceIndex(program, programInterface, name);
3287}
3288
3289inline void QOpenGLFunctions_4_4_Core::glGetProgramInterfaceiv(GLuint program, GLenum programInterface, GLenum pname, GLint *params)
3290{
3291 d_4_3_Core->f.GetProgramInterfaceiv(program, programInterface, pname, params);
3292}
3293
3294inline void QOpenGLFunctions_4_4_Core::glMultiDrawElementsIndirect(GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride)
3295{
3296 d_4_3_Core->f.MultiDrawElementsIndirect(mode, type, indirect, drawcount, stride);
3297}
3298
3299inline void QOpenGLFunctions_4_4_Core::glMultiDrawArraysIndirect(GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride)
3300{
3301 d_4_3_Core->f.MultiDrawArraysIndirect(mode, indirect, drawcount, stride);
3302}
3303
3304inline void QOpenGLFunctions_4_4_Core::glInvalidateSubFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height)
3305{
3306 d_4_3_Core->f.InvalidateSubFramebuffer(target, numAttachments, attachments, x, y, width, height);
3307}
3308
3309inline void QOpenGLFunctions_4_4_Core::glInvalidateFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments)
3310{
3311 d_4_3_Core->f.InvalidateFramebuffer(target, numAttachments, attachments);
3312}
3313
3314inline void QOpenGLFunctions_4_4_Core::glInvalidateBufferData(GLuint buffer)
3315{
3316 d_4_3_Core->f.InvalidateBufferData(buffer);
3317}
3318
3319inline void QOpenGLFunctions_4_4_Core::glInvalidateBufferSubData(GLuint buffer, GLintptr offset, GLsizeiptr length)
3320{
3321 d_4_3_Core->f.InvalidateBufferSubData(buffer, offset, length);
3322}
3323
3324inline void QOpenGLFunctions_4_4_Core::glInvalidateTexImage(GLuint texture, GLint level)
3325{
3326 d_4_3_Core->f.InvalidateTexImage(texture, level);
3327}
3328
3329inline void QOpenGLFunctions_4_4_Core::glInvalidateTexSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth)
3330{
3331 d_4_3_Core->f.InvalidateTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth);
3332}
3333
3334inline void QOpenGLFunctions_4_4_Core::glGetInternalformati64v(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64 *params)
3335{
3336 d_4_3_Core->f.GetInternalformati64v(target, internalformat, pname, bufSize, params);
3337}
3338
3339inline void QOpenGLFunctions_4_4_Core::glGetFramebufferParameteriv(GLenum target, GLenum pname, GLint *params)
3340{
3341 d_4_3_Core->f.GetFramebufferParameteriv(target, pname, params);
3342}
3343
3344inline void QOpenGLFunctions_4_4_Core::glFramebufferParameteri(GLenum target, GLenum pname, GLint param)
3345{
3346 d_4_3_Core->f.FramebufferParameteri(target, pname, param);
3347}
3348
3349inline void QOpenGLFunctions_4_4_Core::glCopyImageSubData(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth)
3350{
3351 d_4_3_Core->f.CopyImageSubData(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth);
3352}
3353
3354inline void QOpenGLFunctions_4_4_Core::glDispatchComputeIndirect(GLintptr indirect)
3355{
3356 d_4_3_Core->f.DispatchComputeIndirect(indirect);
3357}
3358
3359inline void QOpenGLFunctions_4_4_Core::glDispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z)
3360{
3361 d_4_3_Core->f.DispatchCompute(num_groups_x, num_groups_y, num_groups_z);
3362}
3363
3364inline void QOpenGLFunctions_4_4_Core::glClearBufferSubData(GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data)
3365{
3366 d_4_3_Core->f.ClearBufferSubData(target, internalformat, offset, size, format, type, data);
3367}
3368
3369inline void QOpenGLFunctions_4_4_Core::glClearBufferData(GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data)
3370{
3371 d_4_3_Core->f.ClearBufferData(target, internalformat, format, type, data);
3372}
3373
3374
3375// OpenGL 4.4 core functions
3376inline void QOpenGLFunctions_4_4_Core::glBindVertexBuffers(GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides)
3377{
3378 d_4_4_Core->f.BindVertexBuffers(first, count, buffers, offsets, strides);
3379}
3380
3381inline void QOpenGLFunctions_4_4_Core::glBindImageTextures(GLuint first, GLsizei count, const GLuint *textures)
3382{
3383 d_4_4_Core->f.BindImageTextures(first, count, textures);
3384}
3385
3386inline void QOpenGLFunctions_4_4_Core::glBindSamplers(GLuint first, GLsizei count, const GLuint *samplers)
3387{
3388 d_4_4_Core->f.BindSamplers(first, count, samplers);
3389}
3390
3391inline void QOpenGLFunctions_4_4_Core::glBindTextures(GLuint first, GLsizei count, const GLuint *textures)
3392{
3393 d_4_4_Core->f.BindTextures(first, count, textures);
3394}
3395
3396inline void QOpenGLFunctions_4_4_Core::glBindBuffersRange(GLenum target, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizeiptr *sizes)
3397{
3398 d_4_4_Core->f.BindBuffersRange(target, first, count, buffers, offsets, sizes);
3399}
3400
3401inline void QOpenGLFunctions_4_4_Core::glBindBuffersBase(GLenum target, GLuint first, GLsizei count, const GLuint *buffers)
3402{
3403 d_4_4_Core->f.BindBuffersBase(target, first, count, buffers);
3404}
3405
3406inline void QOpenGLFunctions_4_4_Core::glClearTexSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data)
3407{
3408 d_4_4_Core->f.ClearTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, data);
3409}
3410
3411inline void QOpenGLFunctions_4_4_Core::glClearTexImage(GLuint texture, GLint level, GLenum format, GLenum type, const void *data)
3412{
3413 d_4_4_Core->f.ClearTexImage(texture, level, format, type, data);
3414}
3415
3416inline void QOpenGLFunctions_4_4_Core::glBufferStorage(GLenum target, GLsizeiptr size, const void *data, GLbitfield flags)
3417{
3418 d_4_4_Core->f.BufferStorage(target, size, data, flags);
3419}
3420
3421
3422
3423QT_END_NAMESPACE
3424
3425#ifdef Q_OS_WIN
3426#pragma pop_macro("MemoryBarrier")
3427#endif
3428
3429#endif // QT_NO_OPENGL && !QT_CONFIG(opengles2)
3430
3431#endif
3432