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