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

source code of qtbase/src/gui/opengl/qopenglfunctions_4_4_core.h