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

source code of qtbase/src/opengl/qopenglfunctions_4_1_core.h