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->