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