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_0_CORE_H
16#define QOPENGLVERSIONFUNCTIONS_4_0_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_0_Core : public QAbstractOpenGLFunctions
29{
30public:
31 QOpenGLFunctions_4_0_Core();
32 ~QOpenGLFunctions_4_0_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
396private:
397 friend class QOpenGLVersionFunctionsFactory;
398
399 static bool isContextCompatible(QOpenGLContext *context);
400 static QOpenGLVersionProfile versionProfile();
401
402 QOpenGLFunctions_1_0_CoreBackend* d_1_0_Core;
403 QOpenGLFunctions_1_1_CoreBackend* d_1_1_Core;
404 QOpenGLFunctions_1_2_CoreBackend* d_1_2_Core;
405 QOpenGLFunctions_1_3_CoreBackend* d_1_3_Core;
406 QOpenGLFunctions_1_4_CoreBackend* d_1_4_Core;
407 QOpenGLFunctions_1_5_CoreBackend* d_1_5_Core;
408 QOpenGLFunctions_2_0_CoreBackend* d_2_0_Core;
409 QOpenGLFunctions_2_1_CoreBackend* d_2_1_Core;
410 QOpenGLFunctions_3_0_CoreBackend* d_3_0_Core;
411 QOpenGLFunctions_3_1_CoreBackend* d_3_1_Core;
412 QOpenGLFunctions_3_2_CoreBackend* d_3_2_Core;
413 QOpenGLFunctions_3_3_CoreBackend* d_3_3_Core;
414 QOpenGLFunctions_4_0_CoreBackend* d_4_0_Core;
415};
416
417// OpenGL 1.0 core functions
418inline void QOpenGLFunctions_4_0_Core::glViewport(GLint x, GLint y, GLsizei width, GLsizei height)
419{
420 d_1_0_Core->f.Viewport(x, y, width, height);
421}
422
423inline void QOpenGLFunctions_4_0_Core::glDepthRange(GLdouble nearVal, GLdouble farVal)
424{
425 d_1_0_Core->f.DepthRange(nearVal, farVal);
426}
427
428inline GLboolean QOpenGLFunctions_4_0_Core::glIsEnabled(GLenum cap)
429{
430 return d_1_0_Core->f.IsEnabled(cap);
431}
432
433inline void QOpenGLFunctions_4_0_Core::glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params)
434{
435 d_1_0_Core->f.GetTexLevelParameteriv(target, level, pname, params);
436}
437
438inline void QOpenGLFunctions_4_0_Core::glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params)
439{
440 d_1_0_Core->f.GetTexLevelParameterfv(target, level, pname, params);
441}
442
443inline void QOpenGLFunctions_4_0_Core::glGetTexParameteriv(GLenum target, GLenum pname, GLint *params)
444{
445 d_1_0_Core->f.GetTexParameteriv(target, pname, params);
446}
447
448inline void QOpenGLFunctions_4_0_Core::glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params)
449{
450 d_1_0_Core->f.GetTexParameterfv(target, pname, params);
451}
452
453inline void QOpenGLFunctions_4_0_Core::glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels)
454{
455 d_1_0_Core->f.GetTexImage(target, level, format, type, pixels);
456}
457
458inline const GLubyte * QOpenGLFunctions_4_0_Core::glGetString(GLenum name)
459{
460 return d_1_0_Core->f.GetString(name);
461}
462
463inline void QOpenGLFunctions_4_0_Core::glGetIntegerv(GLenum pname, GLint *params)
464{
465 d_1_0_Core->f.GetIntegerv(pname, params);
466}
467
468inline void QOpenGLFunctions_4_0_Core::glGetFloatv(GLenum pname, GLfloat *params)
469{
470 d_1_0_Core->f.GetFloatv(pname, params);
471}
472
473inline GLenum QOpenGLFunctions_4_0_Core::glGetError()
474{
475 return d_1_0_Core->f.GetError();
476}
477
478inline void QOpenGLFunctions_4_0_Core::glGetDoublev(GLenum pname, GLdouble *params)
479{
480 d_1_0_Core->f.GetDoublev(pname, params);
481}
482
483inline void QOpenGLFunctions_4_0_Core::glGetBooleanv(GLenum pname, GLboolean *params)
484{
485 d_1_0_Core->f.GetBooleanv(pname, params);
486}
487
488inline void QOpenGLFunctions_4_0_Core::glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels)
489{
490 d_1_0_Core->f.ReadPixels(x, y, width, height, format, type, pixels);
491}
492
493inline void QOpenGLFunctions_4_0_Core::glReadBuffer(GLenum mode)
494{
495 d_1_0_Core->f.ReadBuffer(mode);
496}
497
498inline void QOpenGLFunctions_4_0_Core::glPixelStorei(GLenum pname, GLint param)
499{
500 d_1_0_Core->f.PixelStorei(pname, param);
501}
502
503inline void QOpenGLFunctions_4_0_Core::glPixelStoref(GLenum pname, GLfloat param)
504{
505 d_1_0_Core->f.PixelStoref(pname, param);
506}
507
508inline void QOpenGLFunctions_4_0_Core::glDepthFunc(GLenum func)
509{
510 d_1_0_Core->f.DepthFunc(func);
511}
512
513inline void QOpenGLFunctions_4_0_Core::glStencilOp(GLenum fail, GLenum zfail, GLenum zpass)
514{
515 d_1_0_Core->f.StencilOp(fail, zfail, zpass);
516}
517
518inline void QOpenGLFunctions_4_0_Core::glStencilFunc(GLenum func, GLint ref, GLuint mask)
519{
520 d_1_0_Core->f.StencilFunc(func, ref, mask);
521}
522
523inline void QOpenGLFunctions_4_0_Core::glLogicOp(GLenum opcode)
524{
525 d_1_0_Core->f.LogicOp(opcode);
526}
527
528inline void QOpenGLFunctions_4_0_Core::glBlendFunc(GLenum sfactor, GLenum dfactor)
529{
530 d_1_0_Core->f.BlendFunc(sfactor, dfactor);
531}
532
533inline void QOpenGLFunctions_4_0_Core::glFlush()
534{
535 d_1_0_Core->f.Flush();
536}
537
538inline void QOpenGLFunctions_4_0_Core::glFinish()
539{
540 d_1_0_Core->f.Finish();
541}
542
543inline void QOpenGLFunctions_4_0_Core::glEnable(GLenum cap)
544{
545 d_1_0_Core->f.Enable(cap);
546}
547
548inline void QOpenGLFunctions_4_0_Core::glDisable(GLenum cap)
549{
550 d_1_0_Core->f.Disable(cap);
551}
552
553inline void QOpenGLFunctions_4_0_Core::glDepthMask(GLboolean flag)
554{
555 d_1_0_Core->f.DepthMask(flag);
556}
557
558inline void QOpenGLFunctions_4_0_Core::glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
559{
560 d_1_0_Core->f.ColorMask(red, green, blue, alpha);
561}
562
563inline void QOpenGLFunctions_4_0_Core::glStencilMask(GLuint mask)
564{
565 d_1_0_Core->f.StencilMask(mask);
566}
567
568inline void QOpenGLFunctions_4_0_Core::glClearDepth(GLdouble depth)
569{
570 d_1_0_Core->f.ClearDepth(depth);
571}
572
573inline void QOpenGLFunctions_4_0_Core::glClearStencil(GLint s)
574{
575 d_1_0_Core->f.ClearStencil(s);
576}
577
578inline void QOpenGLFunctions_4_0_Core::glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
579{
580 d_1_0_Core->f.ClearColor(red, green, blue, alpha);
581}
582
583inline void QOpenGLFunctions_4_0_Core::glClear(GLbitfield mask)
584{
585 d_1_0_Core->f.Clear(mask);
586}
587
588inline void QOpenGLFunctions_4_0_Core::glDrawBuffer(GLenum mode)
589{
590 d_1_0_Core->f.DrawBuffer(mode);
591}
592
593inline void QOpenGLFunctions_4_0_Core::glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
594{
595 d_1_0_Core->f.TexImage2D(target, level, internalformat, width, height, border, format, type, pixels);
596}
597
598inline void QOpenGLFunctions_4_0_Core::glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
599{
600 d_1_0_Core->f.TexImage1D(target, level, internalformat, width, border, format, type, pixels);
601}
602
603inline void QOpenGLFunctions_4_0_Core::glTexParameteriv(GLenum target, GLenum pname, const GLint *params)
604{
605 d_1_0_Core->f.TexParameteriv(target, pname, params);
606}
607
608inline void QOpenGLFunctions_4_0_Core::glTexParameteri(GLenum target, GLenum pname, GLint param)
609{
610 d_1_0_Core->f.TexParameteri(target, pname, param);
611}
612
613inline void QOpenGLFunctions_4_0_Core::glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params)
614{
615 d_1_0_Core->f.TexParameterfv(target, pname, params);
616}
617
618inline void QOpenGLFunctions_4_0_Core::glTexParameterf(GLenum target, GLenum pname, GLfloat param)
619{
620 d_1_0_Core->f.TexParameterf(target, pname, param);
621}
622
623inline void QOpenGLFunctions_4_0_Core::glScissor(GLint x, GLint y, GLsizei width, GLsizei height)
624{
625 d_1_0_Core->f.Scissor(x, y, width, height);
626}
627
628inline void QOpenGLFunctions_4_0_Core::glPolygonMode(GLenum face, GLenum mode)
629{
630 d_1_0_Core->f.PolygonMode(face, mode);
631}
632
633inline void QOpenGLFunctions_4_0_Core::glPointSize(GLfloat size)
634{
635 d_1_0_Core->f.PointSize(size);
636}
637
638inline void QOpenGLFunctions_4_0_Core::glLineWidth(GLfloat width)
639{
640 d_1_0_Core->f.LineWidth(width);
641}
642
643inline void QOpenGLFunctions_4_0_Core::glHint(GLenum target, GLenum mode)
644{
645 d_1_0_Core->f.Hint(target, mode);
646}
647
648inline void QOpenGLFunctions_4_0_Core::glFrontFace(GLenum mode)
649{
650 d_1_0_Core->f.FrontFace(mode);
651}
652
653inline void QOpenGLFunctions_4_0_Core::glCullFace(GLenum mode)
654{
655 d_1_0_Core->f.CullFace(mode);
656}
657
658
659// OpenGL 1.1 core functions
660inline GLboolean QOpenGLFunctions_4_0_Core::glIsTexture(GLuint texture)
661{
662 return d_1_1_Core->f.IsTexture(texture);
663}
664
665inline void QOpenGLFunctions_4_0_Core::glGenTextures(GLsizei n, GLuint *textures)
666{
667 d_1_1_Core->f.GenTextures(n, textures);
668}
669
670inline void QOpenGLFunctions_4_0_Core::glDeleteTextures(GLsizei n, const GLuint *textures)
671{
672 d_1_1_Core->f.DeleteTextures(n, textures);
673}
674
675inline void QOpenGLFunctions_4_0_Core::glBindTexture(GLenum target, GLuint texture)
676{
677 d_1_1_Core->f.BindTexture(target, texture);
678}
679
680inline void QOpenGLFunctions_4_0_Core::glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)
681{
682 d_1_1_Core->f.TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels);
683}
684
685inline void QOpenGLFunctions_4_0_Core::glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels)
686{
687 d_1_1_Core->f.TexSubImage1D(target, level, xoffset, width, format, type, pixels);
688}
689
690inline void QOpenGLFunctions_4_0_Core::glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
691{
692 d_1_1_Core->f.CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);
693}
694
695inline void QOpenGLFunctions_4_0_Core::glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)
696{
697 d_1_1_Core->f.CopyTexSubImage1D(target, level, xoffset, x, y, width);
698}
699
700inline void QOpenGLFunctions_4_0_Core::glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
701{
702 d_1_1_Core->f.CopyTexImage2D(target, level, internalformat, x, y, width, height, border);
703}
704
705inline void QOpenGLFunctions_4_0_Core::glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border)
706{
707 d_1_1_Core->f.CopyTexImage1D(target, level, internalformat, x, y, width, border);
708}
709
710inline void QOpenGLFunctions_4_0_Core::glPolygonOffset(GLfloat factor, GLfloat units)
711{
712 d_1_1_Core->f.PolygonOffset(factor, units);
713}
714
715inline void QOpenGLFunctions_4_0_Core::glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices)
716{
717 d_1_1_Core->f.DrawElements(mode, count, type, indices);
718}
719
720inline void QOpenGLFunctions_4_0_Core::glDrawArrays(GLenum mode, GLint first, GLsizei count)
721{
722 d_1_1_Core->f.DrawArrays(mode, first, count);
723}
724
725
726// OpenGL 1.2 core functions
727inline void QOpenGLFunctions_4_0_Core::glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
728{
729 d_1_2_Core->f.CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height);
730}
731
732inline void QOpenGLFunctions_4_0_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)
733{
734 d_1_2_Core->f.TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
735}
736
737inline void QOpenGLFunctions_4_0_Core::glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
738{
739 d_1_2_Core->f.TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels);
740}
741
742inline void QOpenGLFunctions_4_0_Core::glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices)
743{
744 d_1_2_Core->f.DrawRangeElements(mode, start, end, count, type, indices);
745}
746
747inline void QOpenGLFunctions_4_0_Core::glBlendEquation(GLenum mode)
748{
749 d_1_2_Core->f.BlendEquation(mode);
750}
751
752inline void QOpenGLFunctions_4_0_Core::glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
753{
754 d_1_2_Core->f.BlendColor(red, green, blue, alpha);
755}
756
757
758// OpenGL 1.3 core functions
759inline void QOpenGLFunctions_4_0_Core::glGetCompressedTexImage(GLenum target, GLint level, GLvoid *img)
760{
761 d_1_3_Core->f.GetCompressedTexImage(target, level, img);
762}
763
764inline void QOpenGLFunctions_4_0_Core::glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data)
765{
766 d_1_3_Core->f.CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data);
767}
768
769inline void QOpenGLFunctions_4_0_Core::glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data)
770{
771 d_1_3_Core->f.CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data);
772}
773
774inline void QOpenGLFunctions_4_0_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)
775{
776 d_1_3_Core->f.CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
777}
778
779inline void QOpenGLFunctions_4_0_Core::glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data)
780{
781 d_1_3_Core->f.CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data);
782}
783
784inline void QOpenGLFunctions_4_0_Core::glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data)
785{
786 d_1_3_Core->f.CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data);
787}
788
789inline void QOpenGLFunctions_4_0_Core::glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data)
790{
791 d_1_3_Core->f.CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data);
792}
793
794inline void QOpenGLFunctions_4_0_Core::glSampleCoverage(GLfloat value, GLboolean invert)
795{
796 d_1_3_Core->f.SampleCoverage(value, invert);
797}
798
799inline void QOpenGLFunctions_4_0_Core::glActiveTexture(GLenum texture)
800{
801 d_1_3_Core->f.ActiveTexture(texture);
802}
803
804
805// OpenGL 1.4 core functions
806inline void QOpenGLFunctions_4_0_Core::glPointParameteriv(GLenum pname, const GLint *params)
807{
808 d_1_4_Core->f.PointParameteriv(pname, params);
809}
810
811inline void QOpenGLFunctions_4_0_Core::glPointParameteri(GLenum pname, GLint param)
812{
813 d_1_4_Core->f.PointParameteri(pname, param);
814}
815
816inline void QOpenGLFunctions_4_0_Core::glPointParameterfv(GLenum pname, const GLfloat *params)
817{
818 d_1_4_Core->f.PointParameterfv(pname, params);
819}
820
821inline void QOpenGLFunctions_4_0_Core::glPointParameterf(GLenum pname, GLfloat param)
822{
823 d_1_4_Core->f.PointParameterf(pname, param);
824}
825
826inline void QOpenGLFunctions_4_0_Core::glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount)
827{
828 d_1_4_Core->f.MultiDrawElements(mode, count, type, indices, drawcount);
829}
830
831inline void QOpenGLFunctions_4_0_Core::glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount)
832{
833 d_1_4_Core->f.MultiDrawArrays(mode, first, count, drawcount);
834}
835
836inline void QOpenGLFunctions_4_0_Core::glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha)
837{
838 d_1_4_Core->f.BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha);
839}
840
841
842// OpenGL 1.5 core functions
843inline void QOpenGLFunctions_4_0_Core::glGetBufferPointerv(GLenum target, GLenum pname, GLvoid* *params)
844{
845 d_1_5_Core->f.GetBufferPointerv(target, pname, params);
846}
847
848inline void QOpenGLFunctions_4_0_Core::glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params)
849{
850 d_1_5_Core->f.GetBufferParameteriv(target, pname, params);
851}
852
853inline GLboolean QOpenGLFunctions_4_0_Core::glUnmapBuffer(GLenum target)
854{
855 return d_1_5_Core->f.UnmapBuffer(target);
856}
857
858inline GLvoid* QOpenGLFunctions_4_0_Core::glMapBuffer(GLenum target, GLenum access)
859{
860 return d_1_5_Core->f.MapBuffer(target, access);
861}
862
863inline void QOpenGLFunctions_4_0_Core::glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data)
864{
865 d_1_5_Core->f.GetBufferSubData(target, offset, size, data);
866}
867
868inline void QOpenGLFunctions_4_0_Core::glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data)
869{
870 d_1_5_Core->f.BufferSubData(target, offset, size, data);
871}
872
873inline void QOpenGLFunctions_4_0_Core::glBufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage)
874{
875 d_1_5_Core->f.BufferData(target, size, data, usage);
876}
877
878inline GLboolean QOpenGLFunctions_4_0_Core::glIsBuffer(GLuint buffer)
879{
880 return d_1_5_Core->f.IsBuffer(buffer);
881}
882
883inline void QOpenGLFunctions_4_0_Core::glGenBuffers(GLsizei n, GLuint *buffers)
884{
885 d_1_5_Core->f.GenBuffers(n, buffers);
886}
887
888inline void QOpenGLFunctions_4_0_Core::glDeleteBuffers(GLsizei n, const GLuint *buffers)
889{
890 d_1_5_Core->f.DeleteBuffers(n, buffers);
891}
892
893inline void QOpenGLFunctions_4_0_Core::glBindBuffer(GLenum target, GLuint buffer)
894{
895 d_1_5_Core->f.BindBuffer(target, buffer);
896}
897
898inline void QOpenGLFunctions_4_0_Core::glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params)
899{
900 d_1_5_Core->f.GetQueryObjectuiv(id, pname, params);
901}
902
903inline void QOpenGLFunctions_4_0_Core::glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params)
904{
905 d_1_5_Core->f.GetQueryObjectiv(id, pname, params);
906}
907
908inline void QOpenGLFunctions_4_0_Core::glGetQueryiv(GLenum target, GLenum pname, GLint *params)
909{
910 d_1_5_Core->f.GetQueryiv(target, pname, params);
911}
912
913inline void QOpenGLFunctions_4_0_Core::glEndQuery(GLenum target)
914{
915 d_1_5_Core->f.EndQuery(target);
916}
917
918inline void QOpenGLFunctions_4_0_Core::glBeginQuery(GLenum target, GLuint id)
919{
920 d_1_5_Core->f.BeginQuery(target, id);
921}
922
923inline GLboolean QOpenGLFunctions_4_0_Core::glIsQuery(GLuint id)
924{
925 return d_1_5_Core->f.IsQuery(id);
926}
927
928inline void QOpenGLFunctions_4_0_Core::glDeleteQueries(GLsizei n, const GLuint *ids)
929{
930 d_1_5_Core->f.DeleteQueries(n, ids);
931}
932
933inline void QOpenGLFunctions_4_0_Core::glGenQueries(GLsizei n, GLuint *ids)
934{
935 d_1_5_Core->f.GenQueries(n, ids);
936}
937
938
939// OpenGL 2.0 core functions
940inline void QOpenGLFunctions_4_0_Core::glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer)
941{
942 d_2_0_Core->f.VertexAttribPointer(index, size, type, normalized, stride, pointer);
943}
944
945inline void QOpenGLFunctions_4_0_Core::glValidateProgram(GLuint program)
946{
947 d_2_0_Core->f.ValidateProgram(program);
948}
949
950inline void QOpenGLFunctions_4_0_Core::glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
951{
952 d_2_0_Core->f.UniformMatrix4fv(location, count, transpose, value);
953}
954
955inline void QOpenGLFunctions_4_0_Core::glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
956{
957 d_2_0_Core->f.UniformMatrix3fv(location, count, transpose, value);
958}
959
960inline void QOpenGLFunctions_4_0_Core::glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
961{
962 d_2_0_Core->f.UniformMatrix2fv(location, count, transpose, value);
963}
964
965inline void QOpenGLFunctions_4_0_Core::glUniform4iv(GLint location, GLsizei count, const GLint *value)
966{
967 d_2_0_Core->f.Uniform4iv(location, count, value);
968}
969
970inline void QOpenGLFunctions_4_0_Core::glUniform3iv(GLint location, GLsizei count, const GLint *value)
971{
972 d_2_0_Core->f.Uniform3iv(location, count, value);
973}
974
975inline void QOpenGLFunctions_4_0_Core::glUniform2iv(GLint location, GLsizei count, const GLint *value)
976{
977 d_2_0_Core->f.Uniform2iv(location, count, value);
978}
979
980inline void QOpenGLFunctions_4_0_Core::glUniform1iv(GLint location, GLsizei count, const GLint *value)
981{
982 d_2_0_Core->f.Uniform1iv(location, count, value);
983}
984
985inline void QOpenGLFunctions_4_0_Core::glUniform4fv(GLint location, GLsizei count, const GLfloat *value)
986{
987 d_2_0_Core->f.Uniform4fv(location, count, value);
988}
989
990inline void QOpenGLFunctions_4_0_Core::glUniform3fv(GLint location, GLsizei count, const GLfloat *value)
991{
992 d_2_0_Core->f.Uniform3fv(location, count, value);
993}
994
995inline void QOpenGLFunctions_4_0_Core::glUniform2fv(GLint location, GLsizei count, const GLfloat *value)
996{
997 d_2_0_Core->f.Uniform2fv(location, count, value);
998}
999
1000inline void QOpenGLFunctions_4_0_Core::glUniform1fv(GLint location, GLsizei count, const GLfloat *value)
1001{
1002 d_2_0_Core->f.Uniform1fv(location, count, value);
1003}
1004
1005inline void QOpenGLFunctions_4_0_Core::glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3)
1006{
1007 d_2_0_Core->f.Uniform4i(location, v0, v1, v2, v3);
1008}
1009
1010inline void QOpenGLFunctions_4_0_Core::glUniform3i(GLint location, GLint v0, GLint v1, GLint v2)
1011{
1012 d_2_0_Core->f.Uniform3i(location, v0, v1, v2);
1013}
1014
1015inline void QOpenGLFunctions_4_0_Core::glUniform2i(GLint location, GLint v0, GLint v1)
1016{
1017 d_2_0_Core->f.Uniform2i(location, v0, v1);
1018}
1019
1020inline void QOpenGLFunctions_4_0_Core::glUniform1i(GLint location, GLint v0)
1021{
1022 d_2_0_Core->f.Uniform1i(location, v0);
1023}
1024
1025inline void QOpenGLFunctions_4_0_Core::glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)
1026{
1027 d_2_0_Core->f.Uniform4f(location, v0, v1, v2, v3);
1028}
1029
1030inline void QOpenGLFunctions_4_0_Core::glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2)
1031{
1032 d_2_0_Core->f.Uniform3f(location, v0, v1, v2);
1033}
1034
1035inline void QOpenGLFunctions_4_0_Core::glUniform2f(GLint location, GLfloat v0, GLfloat v1)
1036{
1037 d_2_0_Core->f.Uniform2f(location, v0, v1);
1038}
1039
1040inline void QOpenGLFunctions_4_0_Core::glUniform1f(GLint location, GLfloat v0)
1041{
1042 d_2_0_Core->f.Uniform1f(location, v0);
1043}
1044
1045inline void QOpenGLFunctions_4_0_Core::glUseProgram(GLuint program)
1046{
1047 d_2_0_Core->f.UseProgram(program);
1048}
1049
1050inline void QOpenGLFunctions_4_0_Core::glShaderSource(GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length)
1051{
1052 d_2_0_Core->f.ShaderSource(shader, count, string, length);
1053}
1054
1055inline void QOpenGLFunctions_4_0_Core::glLinkProgram(GLuint program)
1056{
1057 d_2_0_Core->f.LinkProgram(program);
1058}
1059
1060inline GLboolean QOpenGLFunctions_4_0_Core::glIsShader(GLuint shader)
1061{
1062 return d_2_0_Core->f.IsShader(shader);
1063}
1064
1065inline GLboolean QOpenGLFunctions_4_0_Core::glIsProgram(GLuint program)
1066{
1067 return d_2_0_Core->f.IsProgram(program);
1068}
1069
1070inline void QOpenGLFunctions_4_0_Core::glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid* *pointer)
1071{
1072 d_2_0_Core->f.GetVertexAttribPointerv(index, pname, pointer);
1073}
1074
1075inline void QOpenGLFunctions_4_0_Core::glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params)
1076{
1077 d_2_0_Core->f.GetVertexAttribiv(index, pname, params);
1078}
1079
1080inline void QOpenGLFunctions_4_0_Core::glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params)
1081{
1082 d_2_0_Core->f.GetVertexAttribfv(index, pname, params);
1083}
1084
1085inline void QOpenGLFunctions_4_0_Core::glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params)
1086{
1087 d_2_0_Core->f.GetVertexAttribdv(index, pname, params);
1088}
1089
1090inline void QOpenGLFunctions_4_0_Core::glGetUniformiv(GLuint program, GLint location, GLint *params)
1091{
1092 d_2_0_Core->f.GetUniformiv(program, location, params);
1093}
1094
1095inline void QOpenGLFunctions_4_0_Core::glGetUniformfv(GLuint program, GLint location, GLfloat *params)
1096{
1097 d_2_0_Core->f.GetUniformfv(program, location, params);
1098}
1099
1100inline GLint QOpenGLFunctions_4_0_Core::glGetUniformLocation(GLuint program, const GLchar *name)
1101{
1102 return d_2_0_Core->f.GetUniformLocation(program, name);
1103}
1104
1105inline void QOpenGLFunctions_4_0_Core::glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source)
1106{
1107 d_2_0_Core->f.GetShaderSource(shader, bufSize, length, source);
1108}
1109
1110inline void QOpenGLFunctions_4_0_Core::glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog)
1111{
1112 d_2_0_Core->f.GetShaderInfoLog(shader, bufSize, length, infoLog);
1113}
1114
1115inline void QOpenGLFunctions_4_0_Core::glGetShaderiv(GLuint shader, GLenum pname, GLint *params)
1116{
1117 d_2_0_Core->f.GetShaderiv(shader, pname, params);
1118}
1119
1120inline void QOpenGLFunctions_4_0_Core::glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog)
1121{
1122 d_2_0_Core->f.GetProgramInfoLog(program, bufSize, length, infoLog);
1123}
1124
1125inline void QOpenGLFunctions_4_0_Core::glGetProgramiv(GLuint program, GLenum pname, GLint *params)
1126{
1127 d_2_0_Core->f.GetProgramiv(program, pname, params);
1128}
1129
1130inline GLint QOpenGLFunctions_4_0_Core::glGetAttribLocation(GLuint program, const GLchar *name)
1131{
1132 return d_2_0_Core->f.GetAttribLocation(program, name);
1133}
1134
1135inline void QOpenGLFunctions_4_0_Core::glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj)
1136{
1137 d_2_0_Core->f.GetAttachedShaders(program, maxCount, count, obj);
1138}
1139
1140inline void QOpenGLFunctions_4_0_Core::glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name)
1141{
1142 d_2_0_Core->f.GetActiveUniform(program, index, bufSize, length, size, type, name);
1143}
1144
1145inline void QOpenGLFunctions_4_0_Core::glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name)
1146{
1147 d_2_0_Core->f.GetActiveAttrib(program, index, bufSize, length, size, type, name);
1148}
1149
1150inline void QOpenGLFunctions_4_0_Core::glEnableVertexAttribArray(GLuint index)
1151{
1152 d_2_0_Core->f.EnableVertexAttribArray(index);
1153}
1154
1155inline void QOpenGLFunctions_4_0_Core::glDisableVertexAttribArray(GLuint index)
1156{
1157 d_2_0_Core->f.DisableVertexAttribArray(index);
1158}
1159
1160inline void QOpenGLFunctions_4_0_Core::glDetachShader(GLuint program, GLuint shader)
1161{
1162 d_2_0_Core->f.DetachShader(program, shader);
1163}
1164
1165inline void QOpenGLFunctions_4_0_Core::glDeleteShader(GLuint shader)
1166{
1167 d_2_0_Core->f.DeleteShader(shader);
1168}
1169
1170inline void QOpenGLFunctions_4_0_Core::glDeleteProgram(GLuint program)
1171{
1172 d_2_0_Core->f.DeleteProgram(program);
1173}
1174
1175inline GLuint QOpenGLFunctions_4_0_Core::glCreateShader(GLenum type)
1176{
1177 return d_2_0_Core->f.CreateShader(type);
1178}
1179
1180inline GLuint QOpenGLFunctions_4_0_Core::glCreateProgram()
1181{
1182 return d_2_0_Core->f.CreateProgram();
1183}
1184
1185inline void QOpenGLFunctions_4_0_Core::glCompileShader(GLuint shader)
1186{
1187 d_2_0_Core->f.CompileShader(shader);
1188}
1189
1190inline void QOpenGLFunctions_4_0_Core::glBindAttribLocation(GLuint program, GLuint index, const GLchar *name)
1191{
1192 d_2_0_Core->f.BindAttribLocation(program, index, name);
1193}
1194
1195inline void QOpenGLFunctions_4_0_Core::glAttachShader(GLuint program, GLuint shader)
1196{
1197 d_2_0_Core->f.AttachShader(program, shader);
1198}
1199
1200inline void QOpenGLFunctions_4_0_Core::glStencilMaskSeparate(GLenum face, GLuint mask)
1201{
1202 d_2_0_Core->f.StencilMaskSeparate(face, mask);
1203}
1204
1205inline void QOpenGLFunctions_4_0_Core::glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask)
1206{
1207 d_2_0_Core->f.StencilFuncSeparate(face, func, ref, mask);
1208}
1209
1210inline void QOpenGLFunctions_4_0_Core::glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass)
1211{
1212 d_2_0_Core->f.StencilOpSeparate(face, sfail, dpfail, dppass);
1213}
1214
1215inline void QOpenGLFunctions_4_0_Core::glDrawBuffers(GLsizei n, const GLenum *bufs)
1216{
1217 d_2_0_Core->f.DrawBuffers(n, bufs);
1218}
1219
1220inline void QOpenGLFunctions_4_0_Core::glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha)
1221{
1222 d_2_0_Core->f.BlendEquationSeparate(modeRGB, modeAlpha);
1223}
1224
1225
1226// OpenGL 2.1 core functions
1227inline void QOpenGLFunctions_4_0_Core::glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1228{
1229 d_2_1_Core->f.UniformMatrix4x3fv(location, count, transpose, value);
1230}
1231
1232inline void QOpenGLFunctions_4_0_Core::glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1233{
1234 d_2_1_Core->f.UniformMatrix3x4fv(location, count, transpose, value);
1235}
1236
1237inline void QOpenGLFunctions_4_0_Core::glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1238{
1239 d_2_1_Core->f.UniformMatrix4x2fv(location, count, transpose, value);
1240}
1241
1242inline void QOpenGLFunctions_4_0_Core::glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1243{
1244 d_2_1_Core->f.UniformMatrix2x4fv(location, count, transpose, value);
1245}
1246
1247inline void QOpenGLFunctions_4_0_Core::glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1248{
1249 d_2_1_Core->f.UniformMatrix3x2fv(location, count, transpose, value);
1250}
1251
1252inline void QOpenGLFunctions_4_0_Core::glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1253{
1254 d_2_1_Core->f.UniformMatrix2x3fv(location, count, transpose, value);
1255}
1256
1257
1258// OpenGL 3.0 core functions
1259inline GLboolean QOpenGLFunctions_4_0_Core::glIsVertexArray(GLuint array)
1260{
1261 return d_3_0_Core->f.IsVertexArray(array);
1262}
1263
1264inline void QOpenGLFunctions_4_0_Core::glGenVertexArrays(GLsizei n, GLuint *arrays)
1265{
1266 d_3_0_Core->f.GenVertexArrays(n, arrays);
1267}
1268
1269inline void QOpenGLFunctions_4_0_Core::glDeleteVertexArrays(GLsizei n, const GLuint *arrays)
1270{
1271 d_3_0_Core->f.DeleteVertexArrays(n, arrays);
1272}
1273
1274inline void QOpenGLFunctions_4_0_Core::glBindVertexArray(GLuint array)
1275{
1276 d_3_0_Core->f.BindVertexArray(array);
1277}
1278
1279inline void QOpenGLFunctions_4_0_Core::glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length)
1280{
1281 d_3_0_Core->f.FlushMappedBufferRange(target, offset, length);
1282}
1283
1284inline GLvoid* QOpenGLFunctions_4_0_Core::glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access)
1285{
1286 return d_3_0_Core->f.MapBufferRange(target, offset, length, access);
1287}
1288
1289inline void QOpenGLFunctions_4_0_Core::glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)
1290{
1291 d_3_0_Core->f.FramebufferTextureLayer(target, attachment, texture, level, layer);
1292}
1293
1294inline void QOpenGLFunctions_4_0_Core::glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
1295{
1296 d_3_0_Core->f.RenderbufferStorageMultisample(target, samples, internalformat, width, height);
1297}
1298
1299inline void QOpenGLFunctions_4_0_Core::glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)
1300{
1301 d_3_0_Core->f.BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
1302}
1303
1304inline void QOpenGLFunctions_4_0_Core::glGenerateMipmap(GLenum target)
1305{
1306 d_3_0_Core->f.GenerateMipmap(target);
1307}
1308
1309inline void QOpenGLFunctions_4_0_Core::glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params)
1310{
1311 d_3_0_Core->f.GetFramebufferAttachmentParameteriv(target, attachment, pname, params);
1312}
1313
1314inline void QOpenGLFunctions_4_0_Core::glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
1315{
1316 d_3_0_Core->f.FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer);
1317}
1318
1319inline void QOpenGLFunctions_4_0_Core::glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset)
1320{
1321 d_3_0_Core->f.FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset);
1322}
1323
1324inline void QOpenGLFunctions_4_0_Core::glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
1325{
1326 d_3_0_Core->f.FramebufferTexture2D(target, attachment, textarget, texture, level);
1327}
1328
1329inline void QOpenGLFunctions_4_0_Core::glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
1330{
1331 d_3_0_Core->f.FramebufferTexture1D(target, attachment, textarget, texture, level);
1332}
1333
1334inline GLenum QOpenGLFunctions_4_0_Core::glCheckFramebufferStatus(GLenum target)
1335{
1336 return d_3_0_Core->f.CheckFramebufferStatus(target);
1337}
1338
1339inline void QOpenGLFunctions_4_0_Core::glGenFramebuffers(GLsizei n, GLuint *framebuffers)
1340{
1341 d_3_0_Core->f.GenFramebuffers(n, framebuffers);
1342}
1343
1344inline void QOpenGLFunctions_4_0_Core::glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers)
1345{
1346 d_3_0_Core->f.DeleteFramebuffers(n, framebuffers);
1347}
1348
1349inline void QOpenGLFunctions_4_0_Core::glBindFramebuffer(GLenum target, GLuint framebuffer)
1350{
1351 d_3_0_Core->f.BindFramebuffer(target, framebuffer);
1352}
1353
1354inline GLboolean QOpenGLFunctions_4_0_Core::glIsFramebuffer(GLuint framebuffer)
1355{
1356 return d_3_0_Core->f.IsFramebuffer(framebuffer);
1357}
1358
1359inline void QOpenGLFunctions_4_0_Core::glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params)
1360{
1361 d_3_0_Core->f.GetRenderbufferParameteriv(target, pname, params);
1362}
1363
1364inline void QOpenGLFunctions_4_0_Core::glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)
1365{
1366 d_3_0_Core->f.RenderbufferStorage(target, internalformat, width, height);
1367}
1368
1369inline void QOpenGLFunctions_4_0_Core::glGenRenderbuffers(GLsizei n, GLuint *renderbuffers)
1370{
1371 d_3_0_Core->f.GenRenderbuffers(n, renderbuffers);
1372}
1373
1374inline void QOpenGLFunctions_4_0_Core::glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers)
1375{
1376 d_3_0_Core->f.DeleteRenderbuffers(n, renderbuffers);
1377}
1378
1379inline void QOpenGLFunctions_4_0_Core::glBindRenderbuffer(GLenum target, GLuint renderbuffer)
1380{
1381 d_3_0_Core->f.BindRenderbuffer(target, renderbuffer);
1382}
1383
1384inline GLboolean QOpenGLFunctions_4_0_Core::glIsRenderbuffer(GLuint renderbuffer)
1385{
1386 return d_3_0_Core->f.IsRenderbuffer(renderbuffer);
1387}
1388
1389inline const GLubyte * QOpenGLFunctions_4_0_Core::glGetStringi(GLenum name, GLuint index)
1390{
1391 return d_3_0_Core->f.GetStringi(name, index);
1392}
1393
1394inline void QOpenGLFunctions_4_0_Core::glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil)
1395{
1396 d_3_0_Core->f.ClearBufferfi(buffer, drawbuffer, depth, stencil);
1397}
1398
1399inline void QOpenGLFunctions_4_0_Core::glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value)
1400{
1401 d_3_0_Core->f.ClearBufferfv(buffer, drawbuffer, value);
1402}
1403
1404inline void QOpenGLFunctions_4_0_Core::glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value)
1405{
1406 d_3_0_Core->f.ClearBufferuiv(buffer, drawbuffer, value);
1407}
1408
1409inline void QOpenGLFunctions_4_0_Core::glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value)
1410{
1411 d_3_0_Core->f.ClearBufferiv(buffer, drawbuffer, value);
1412}
1413
1414inline void QOpenGLFunctions_4_0_Core::glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params)
1415{
1416 d_3_0_Core->f.GetTexParameterIuiv(target, pname, params);
1417}
1418
1419inline void QOpenGLFunctions_4_0_Core::glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params)
1420{
1421 d_3_0_Core->f.GetTexParameterIiv(target, pname, params);
1422}
1423
1424inline void QOpenGLFunctions_4_0_Core::glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params)
1425{
1426 d_3_0_Core->f.TexParameterIuiv(target, pname, params);
1427}
1428
1429inline void QOpenGLFunctions_4_0_Core::glTexParameterIiv(GLenum target, GLenum pname, const GLint *params)
1430{
1431 d_3_0_Core->f.TexParameterIiv(target, pname, params);
1432}
1433
1434inline void QOpenGLFunctions_4_0_Core::glUniform4uiv(GLint location, GLsizei count, const GLuint *value)
1435{
1436 d_3_0_Core->f.Uniform4uiv(location, count, value);
1437}
1438
1439inline void QOpenGLFunctions_4_0_Core::glUniform3uiv(GLint location, GLsizei count, const GLuint *value)
1440{
1441 d_3_0_Core->f.Uniform3uiv(location, count, value);
1442}
1443
1444inline void QOpenGLFunctions_4_0_Core::glUniform2uiv(GLint location, GLsizei count, const GLuint *value)
1445{
1446 d_3_0_Core->f.Uniform2uiv(location, count, value);
1447}
1448
1449inline void QOpenGLFunctions_4_0_Core::glUniform1uiv(GLint location, GLsizei count, const GLuint *value)
1450{
1451 d_3_0_Core->f.Uniform1uiv(location, count, value);
1452}
1453
1454inline void QOpenGLFunctions_4_0_Core::glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)
1455{
1456 d_3_0_Core->f.Uniform4ui(location, v0, v1, v2, v3);
1457}
1458
1459inline void QOpenGLFunctions_4_0_Core::glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2)
1460{
1461 d_3_0_Core->f.Uniform3ui(location, v0, v1, v2);
1462}
1463
1464inline void QOpenGLFunctions_4_0_Core::glUniform2ui(GLint location, GLuint v0, GLuint v1)
1465{
1466 d_3_0_Core->f.Uniform2ui(location, v0, v1);
1467}
1468
1469inline void QOpenGLFunctions_4_0_Core::glUniform1ui(GLint location, GLuint v0)
1470{
1471 d_3_0_Core->f.Uniform1ui(location, v0);
1472}
1473
1474inline GLint QOpenGLFunctions_4_0_Core::glGetFragDataLocation(GLuint program, const GLchar *name)
1475{
1476 return d_3_0_Core->f.GetFragDataLocation(program, name);
1477}
1478
1479inline void QOpenGLFunctions_4_0_Core::glBindFragDataLocation(GLuint program, GLuint color, const GLchar *name)
1480{
1481 d_3_0_Core->f.BindFragDataLocation(program, color, name);
1482}
1483
1484inline void QOpenGLFunctions_4_0_Core::glGetUniformuiv(GLuint program, GLint location, GLuint *params)
1485{
1486 d_3_0_Core->f.GetUniformuiv(program, location, params);
1487}
1488
1489inline void QOpenGLFunctions_4_0_Core::glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params)
1490{
1491 d_3_0_Core->f.GetVertexAttribIuiv(index, pname, params);
1492}
1493
1494inline void QOpenGLFunctions_4_0_Core::glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params)
1495{
1496 d_3_0_Core->f.GetVertexAttribIiv(index, pname, params);
1497}
1498
1499inline void QOpenGLFunctions_4_0_Core::glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
1500{
1501 d_3_0_Core->f.VertexAttribIPointer(index, size, type, stride, pointer);
1502}
1503
1504inline void QOpenGLFunctions_4_0_Core::glEndConditionalRender()
1505{
1506 d_3_0_Core->f.EndConditionalRender();
1507}
1508
1509inline void QOpenGLFunctions_4_0_Core::glBeginConditionalRender(GLuint id, GLenum mode)
1510{
1511 d_3_0_Core->f.BeginConditionalRender(id, mode);
1512}
1513
1514inline void QOpenGLFunctions_4_0_Core::glClampColor(GLenum target, GLenum clamp)
1515{
1516 d_3_0_Core->f.ClampColor(target, clamp);
1517}
1518
1519inline void QOpenGLFunctions_4_0_Core::glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name)
1520{
1521 d_3_0_Core->f.GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name);
1522}
1523
1524inline void QOpenGLFunctions_4_0_Core::glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar* const *varyings, GLenum bufferMode)
1525{
1526 d_3_0_Core->f.TransformFeedbackVaryings(program, count, varyings, bufferMode);
1527}
1528
1529inline void QOpenGLFunctions_4_0_Core::glBindBufferBase(GLenum target, GLuint index, GLuint buffer)
1530{
1531 d_3_0_Core->f.BindBufferBase(target, index, buffer);
1532}
1533
1534inline void QOpenGLFunctions_4_0_Core::glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size)
1535{
1536 d_3_0_Core->f.BindBufferRange(target, index, buffer, offset, size);
1537}
1538
1539inline void QOpenGLFunctions_4_0_Core::glEndTransformFeedback()
1540{
1541 d_3_0_Core->f.EndTransformFeedback();
1542}
1543
1544inline void QOpenGLFunctions_4_0_Core::glBeginTransformFeedback(GLenum primitiveMode)
1545{
1546 d_3_0_Core->f.BeginTransformFeedback(primitiveMode);
1547}
1548
1549inline GLboolean QOpenGLFunctions_4_0_Core::glIsEnabledi(GLenum target, GLuint index)
1550{
1551 return d_3_0_Core->f.IsEnabledi(target, index);
1552}
1553
1554inline void QOpenGLFunctions_4_0_Core::glDisablei(GLenum target, GLuint index)
1555{
1556 d_3_0_Core->f.Disablei(target, index);
1557}
1558
1559inline void QOpenGLFunctions_4_0_Core::glEnablei(GLenum target, GLuint index)
1560{
1561 d_3_0_Core->f.Enablei(target, index);
1562}
1563
1564inline void QOpenGLFunctions_4_0_Core::glGetIntegeri_v(GLenum target, GLuint index, GLint *data)
1565{
1566 d_3_0_Core->f.GetIntegeri_v(target, index, data);
1567}
1568
1569inline void QOpenGLFunctions_4_0_Core::glGetBooleani_v(GLenum target, GLuint index, GLboolean *data)
1570{
1571 d_3_0_Core->f.GetBooleani_v(target, index, data);
1572}
1573
1574inline void QOpenGLFunctions_4_0_Core::glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a)
1575{
1576 d_3_0_Core->f.ColorMaski(index, r, g, b, a);
1577}
1578
1579
1580// OpenGL 3.1 core functions
1581inline void QOpenGLFunctions_4_0_Core::glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size)
1582{
1583 d_3_1_Core->f.CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size);
1584}
1585
1586inline void QOpenGLFunctions_4_0_Core::glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding)
1587{
1588 d_3_1_Core->f.UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding);
1589}
1590
1591inline void QOpenGLFunctions_4_0_Core::glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName)
1592{
1593 d_3_1_Core->f.GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName);
1594}
1595
1596inline void QOpenGLFunctions_4_0_Core::glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params)
1597{
1598 d_3_1_Core->f.GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params);
1599}
1600
1601inline GLuint QOpenGLFunctions_4_0_Core::glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName)
1602{
1603 return d_3_1_Core->f.GetUniformBlockIndex(program, uniformBlockName);
1604}
1605
1606inline void QOpenGLFunctions_4_0_Core::glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName)
1607{
1608 d_3_1_Core->f.GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName);
1609}
1610
1611inline void QOpenGLFunctions_4_0_Core::glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params)
1612{
1613 d_3_1_Core->f.GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params);
1614}
1615
1616inline void QOpenGLFunctions_4_0_Core::glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar* const *uniformNames, GLuint *uniformIndices)
1617{
1618 d_3_1_Core->f.GetUniformIndices(program, uniformCount, uniformNames, uniformIndices);
1619}
1620
1621inline void QOpenGLFunctions_4_0_Core::glPrimitiveRestartIndex(GLuint index)
1622{
1623 d_3_1_Core->f.PrimitiveRestartIndex(index);
1624}
1625
1626inline void QOpenGLFunctions_4_0_Core::glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer)
1627{
1628 d_3_1_Core->f.TexBuffer(target, internalformat, buffer);
1629}
1630
1631inline void QOpenGLFunctions_4_0_Core::glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount)
1632{
1633 d_3_1_Core->f.DrawElementsInstanced(mode, count, type, indices, instancecount);
1634}
1635
1636inline void QOpenGLFunctions_4_0_Core::glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount)
1637{
1638 d_3_1_Core->f.DrawArraysInstanced(mode, first, count, instancecount);
1639}
1640
1641
1642// OpenGL 3.2 core functions
1643inline void QOpenGLFunctions_4_0_Core::glSampleMaski(GLuint index, GLbitfield mask)
1644{
1645 d_3_2_Core->f.SampleMaski(index, mask);
1646}
1647
1648inline void QOpenGLFunctions_4_0_Core::glGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val)
1649{
1650 d_3_2_Core->f.GetMultisamplefv(pname, index, val);
1651}
1652
1653inline void QOpenGLFunctions_4_0_Core::glTexImage3DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations)
1654{
1655 d_3_2_Core->f.TexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations);
1656}
1657
1658inline void QOpenGLFunctions_4_0_Core::glTexImage2DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations)
1659{
1660 d_3_2_Core->f.TexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations);
1661}
1662
1663inline void QOpenGLFunctions_4_0_Core::glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values)
1664{
1665 d_3_2_Core->f.GetSynciv(sync, pname, bufSize, length, values);
1666}
1667
1668inline void QOpenGLFunctions_4_0_Core::glGetInteger64v(GLenum pname, GLint64 *params)
1669{
1670 d_3_2_Core->f.GetInteger64v(pname, params);
1671}
1672
1673inline void QOpenGLFunctions_4_0_Core::glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout)
1674{
1675 d_3_2_Core->f.WaitSync(sync, flags, timeout);
1676}
1677
1678inline GLenum QOpenGLFunctions_4_0_Core::glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout)
1679{
1680 return d_3_2_Core->f.ClientWaitSync(sync, flags, timeout);
1681}
1682
1683inline void QOpenGLFunctions_4_0_Core::glDeleteSync(GLsync sync)
1684{
1685 d_3_2_Core->f.DeleteSync(sync);
1686}
1687
1688inline GLboolean QOpenGLFunctions_4_0_Core::glIsSync(GLsync sync)
1689{
1690 return d_3_2_Core->f.IsSync(sync);
1691}
1692
1693inline GLsync QOpenGLFunctions_4_0_Core::glFenceSync(GLenum condition, GLbitfield flags)
1694{
1695 return d_3_2_Core->f.FenceSync(condition, flags);
1696}
1697
1698inline void QOpenGLFunctions_4_0_Core::glProvokingVertex(GLenum mode)
1699{
1700 d_3_2_Core->f.ProvokingVertex(mode);
1701}
1702
1703inline void QOpenGLFunctions_4_0_Core::glMultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount, const GLint *basevertex)
1704{
1705 d_3_2_Core->f.MultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex);
1706}
1707
1708inline void QOpenGLFunctions_4_0_Core::glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount, GLint basevertex)
1709{
1710 d_3_2_Core->f.DrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex);
1711}
1712
1713inline void QOpenGLFunctions_4_0_Core::glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex)
1714{
1715 d_3_2_Core->f.DrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex);
1716}
1717
1718inline void QOpenGLFunctions_4_0_Core::glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex)
1719{
1720 d_3_2_Core->f.DrawElementsBaseVertex(mode, count, type, indices, basevertex);
1721}
1722
1723inline void QOpenGLFunctions_4_0_Core::glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level)
1724{
1725 d_3_2_Core->f.FramebufferTexture(target, attachment, texture, level);
1726}
1727
1728inline void QOpenGLFunctions_4_0_Core::glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params)
1729{
1730 d_3_2_Core->f.GetBufferParameteri64v(target, pname, params);
1731}
1732
1733inline void QOpenGLFunctions_4_0_Core::glGetInteger64i_v(GLenum target, GLuint index, GLint64 *data)
1734{
1735 d_3_2_Core->f.GetInteger64i_v(target, index, data);
1736}
1737
1738
1739// OpenGL 3.3 core functions
1740inline void QOpenGLFunctions_4_0_Core::glVertexAttribP4uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value)
1741{
1742 d_3_3_Core->f.VertexAttribP4uiv(index, type, normalized, value);
1743}
1744
1745inline void QOpenGLFunctions_4_0_Core::glVertexAttribP4ui(GLuint index, GLenum type, GLboolean normalized, GLuint value)
1746{
1747 d_3_3_Core->f.VertexAttribP4ui(index, type, normalized, value);
1748}
1749
1750inline void QOpenGLFunctions_4_0_Core::glVertexAttribP3uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value)
1751{
1752 d_3_3_Core->f.VertexAttribP3uiv(index, type, normalized, value);
1753}
1754
1755inline void QOpenGLFunctions_4_0_Core::glVertexAttribP3ui(GLuint index, GLenum type, GLboolean normalized, GLuint value)
1756{
1757 d_3_3_Core->f.VertexAttribP3ui(index, type, normalized, value);
1758}
1759
1760inline void QOpenGLFunctions_4_0_Core::glVertexAttribP2uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value)
1761{
1762 d_3_3_Core->f.VertexAttribP2uiv(index, type, normalized, value);
1763}
1764
1765inline void QOpenGLFunctions_4_0_Core::glVertexAttribP2ui(GLuint index, GLenum type, GLboolean normalized, GLuint value)
1766{
1767 d_3_3_Core->f.VertexAttribP2ui(index, type, normalized, value);
1768}
1769
1770inline void QOpenGLFunctions_4_0_Core::glVertexAttribP1uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value)
1771{
1772 d_3_3_Core->f.VertexAttribP1uiv(index, type, normalized, value);
1773}
1774
1775inline void QOpenGLFunctions_4_0_Core::glVertexAttribP1ui(GLuint index, GLenum type, GLboolean normalized, GLuint value)
1776{
1777 d_3_3_Core->f.VertexAttribP1ui(index, type, normalized, value);
1778}
1779
1780inline void QOpenGLFunctions_4_0_Core::glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64 *params)
1781{
1782 d_3_3_Core->f.GetQueryObjectui64v(id, pname, params);
1783}
1784
1785inline void QOpenGLFunctions_4_0_Core::glGetQueryObjecti64v(GLuint id, GLenum pname, GLint64 *params)
1786{
1787 d_3_3_Core->f.GetQueryObjecti64v(id, pname, params);
1788}
1789
1790inline void QOpenGLFunctions_4_0_Core::glQueryCounter(GLuint id, GLenum target)
1791{
1792 d_3_3_Core->f.QueryCounter(id, target);
1793}
1794
1795inline void QOpenGLFunctions_4_0_Core::glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params)
1796{
1797 d_3_3_Core->f.GetSamplerParameterIuiv(sampler, pname, params);
1798}
1799
1800inline void QOpenGLFunctions_4_0_Core::glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params)
1801{
1802 d_3_3_Core->f.GetSamplerParameterfv(sampler, pname, params);
1803}
1804
1805inline void QOpenGLFunctions_4_0_Core::glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params)
1806{
1807 d_3_3_Core->f.GetSamplerParameterIiv(sampler, pname, params);
1808}
1809
1810inline void QOpenGLFunctions_4_0_Core::glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params)
1811{
1812 d_3_3_Core->f.GetSamplerParameteriv(sampler, pname, params);
1813}
1814
1815inline void QOpenGLFunctions_4_0_Core::glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *param)
1816{
1817 d_3_3_Core->f.SamplerParameterIuiv(sampler, pname, param);
1818}
1819
1820inline void QOpenGLFunctions_4_0_Core::glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *param)
1821{
1822 d_3_3_Core->f.SamplerParameterIiv(sampler, pname, param);
1823}
1824
1825inline void QOpenGLFunctions_4_0_Core::glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *param)
1826{
1827 d_3_3_Core->f.SamplerParameterfv(sampler, pname, param);
1828}
1829
1830inline void QOpenGLFunctions_4_0_Core::glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param)
1831{
1832 d_3_3_Core->f.SamplerParameterf(sampler, pname, param);
1833}
1834
1835inline void QOpenGLFunctions_4_0_Core::glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint *param)
1836{
1837 d_3_3_Core->f.SamplerParameteriv(sampler, pname, param);
1838}
1839
1840inline void QOpenGLFunctions_4_0_Core::glSamplerParameteri(GLuint sampler, GLenum pname, GLint param)
1841{
1842 d_3_3_Core->f.SamplerParameteri(sampler, pname, param);
1843}
1844
1845inline void QOpenGLFunctions_4_0_Core::glBindSampler(GLuint unit, GLuint sampler)
1846{
1847 d_3_3_Core->f.BindSampler(unit, sampler);
1848}
1849
1850inline GLboolean QOpenGLFunctions_4_0_Core::glIsSampler(GLuint sampler)
1851{
1852 return d_3_3_Core->f.IsSampler(sampler);
1853}
1854
1855inline void QOpenGLFunctions_4_0_Core::glDeleteSamplers(GLsizei count, const GLuint *samplers)
1856{
1857 d_3_3_Core->f.DeleteSamplers(count, samplers);
1858}
1859
1860inline void QOpenGLFunctions_4_0_Core::glGenSamplers(GLsizei count, GLuint *samplers)
1861{
1862 d_3_3_Core->f.GenSamplers(count, samplers);
1863}
1864
1865inline GLint QOpenGLFunctions_4_0_Core::glGetFragDataIndex(GLuint program, const GLchar *name)
1866{
1867 return d_3_3_Core->f.GetFragDataIndex(program, name);
1868}
1869
1870inline void QOpenGLFunctions_4_0_Core::glBindFragDataLocationIndexed(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name)
1871{
1872 d_3_3_Core->f.BindFragDataLocationIndexed(program, colorNumber, index, name);
1873}
1874
1875inline void QOpenGLFunctions_4_0_Core::glVertexAttribDivisor(GLuint index, GLuint divisor)
1876{
1877 d_3_3_Core->f.VertexAttribDivisor(index, divisor);
1878}
1879
1880
1881// OpenGL 4.0 core functions
1882inline void QOpenGLFunctions_4_0_Core::glGetQueryIndexediv(GLenum target, GLuint index, GLenum pname, GLint *params)
1883{
1884 d_4_0_Core->f.GetQueryIndexediv(target, index, pname, params);
1885}
1886
1887inline void QOpenGLFunctions_4_0_Core::glEndQueryIndexed(GLenum target, GLuint index)
1888{
1889 d_4_0_Core->f.EndQueryIndexed(target, index);
1890}
1891
1892inline void QOpenGLFunctions_4_0_Core::glBeginQueryIndexed(GLenum target, GLuint index, GLuint id)
1893{
1894 d_4_0_Core->f.BeginQueryIndexed(target, index, id);
1895}
1896
1897inline void QOpenGLFunctions_4_0_Core::glDrawTransformFeedbackStream(GLenum mode, GLuint id, GLuint stream)
1898{
1899 d_4_0_Core->f.DrawTransformFeedbackStream(mode, id, stream);
1900}
1901
1902inline void QOpenGLFunctions_4_0_Core::glDrawTransformFeedback(GLenum mode, GLuint id)
1903{
1904 d_4_0_Core->f.DrawTransformFeedback(mode, id);
1905}
1906
1907inline void QOpenGLFunctions_4_0_Core::glResumeTransformFeedback()
1908{
1909 d_4_0_Core->f.ResumeTransformFeedback();
1910}
1911
1912inline void QOpenGLFunctions_4_0_Core::glPauseTransformFeedback()
1913{
1914 d_4_0_Core->f.PauseTransformFeedback();
1915}
1916
1917inline GLboolean QOpenGLFunctions_4_0_Core::glIsTransformFeedback(GLuint id)
1918{
1919 return d_4_0_Core->f.IsTransformFeedback(id);
1920}
1921
1922inline void QOpenGLFunctions_4_0_Core::glGenTransformFeedbacks(GLsizei n, GLuint *ids)
1923{
1924 d_4_0_Core->f.GenTransformFeedbacks(n, ids);
1925}
1926
1927inline void QOpenGLFunctions_4_0_Core::glDeleteTransformFeedbacks(GLsizei n, const GLuint *ids)
1928{
1929 d_4_0_Core->f.DeleteTransformFeedbacks(n, ids);
1930}
1931
1932inline void QOpenGLFunctions_4_0_Core::glBindTransformFeedback(GLenum target, GLuint id)
1933{
1934 d_4_0_Core->f.BindTransformFeedback(target, id);
1935}
1936
1937inline void QOpenGLFunctions_4_0_Core::glPatchParameterfv(GLenum pname, const GLfloat *values)
1938{
1939 d_4_0_Core->f.PatchParameterfv(pname, values);
1940}
1941
1942inline void QOpenGLFunctions_4_0_Core::glPatchParameteri(GLenum pname, GLint value)
1943{
1944 d_4_0_Core->f.PatchParameteri(pname, value);
1945}
1946
1947inline void QOpenGLFunctions_4_0_Core::glGetProgramStageiv(GLuint program, GLenum shadertype, GLenum pname, GLint *values)
1948{
1949 d_4_0_Core->f.GetProgramStageiv(program, shadertype, pname, values);
1950}
1951
1952inline void QOpenGLFunctions_4_0_Core::glGetUniformSubroutineuiv(GLenum shadertype, GLint location, GLuint *params)
1953{
1954 d_4_0_Core->f.GetUniformSubroutineuiv(shadertype, location, params);
1955}
1956
1957inline void QOpenGLFunctions_4_0_Core::glUniformSubroutinesuiv(GLenum shadertype, GLsizei count, const GLuint *indices)
1958{
1959 d_4_0_Core->f.UniformSubroutinesuiv(shadertype, count, indices);
1960}
1961
1962inline void QOpenGLFunctions_4_0_Core::glGetActiveSubroutineName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name)
1963{
1964 d_4_0_Core->f.GetActiveSubroutineName(program, shadertype, index, bufsize, length, name);
1965}
1966
1967inline void QOpenGLFunctions_4_0_Core::glGetActiveSubroutineUniformName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name)
1968{
1969 d_4_0_Core->f.GetActiveSubroutineUniformName(program, shadertype, index, bufsize, length, name);
1970}
1971
1972inline void QOpenGLFunctions_4_0_Core::glGetActiveSubroutineUniformiv(GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values)
1973{
1974 d_4_0_Core->f.GetActiveSubroutineUniformiv(program, shadertype, index, pname, values);
1975}
1976
1977inline GLuint QOpenGLFunctions_4_0_Core::glGetSubroutineIndex(GLuint program, GLenum shadertype, const GLchar *name)
1978{
1979 return d_4_0_Core->f.GetSubroutineIndex(program, shadertype, name);
1980}
1981
1982inline GLint QOpenGLFunctions_4_0_Core::glGetSubroutineUniformLocation(GLuint program, GLenum shadertype, const GLchar *name)
1983{
1984 return d_4_0_Core->f.GetSubroutineUniformLocation(program, shadertype, name);
1985}
1986
1987inline void QOpenGLFunctions_4_0_Core::glGetUniformdv(GLuint program, GLint location, GLdouble *params)
1988{
1989 d_4_0_Core->f.GetUniformdv(program, location, params);
1990}
1991
1992inline void QOpenGLFunctions_4_0_Core::glUniformMatrix4x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
1993{
1994 d_4_0_Core->f.UniformMatrix4x3dv(location, count, transpose, value);
1995}
1996
1997inline void QOpenGLFunctions_4_0_Core::glUniformMatrix4x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
1998{
1999 d_4_0_Core->f.UniformMatrix4x2dv(location, count, transpose, value);
2000}
2001
2002inline void QOpenGLFunctions_4_0_Core::glUniformMatrix3x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2003{
2004 d_4_0_Core->f.UniformMatrix3x4dv(location, count, transpose, value);
2005}
2006
2007inline void QOpenGLFunctions_4_0_Core::glUniformMatrix3x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2008{
2009 d_4_0_Core->f.UniformMatrix3x2dv(location, count, transpose, value);
2010}
2011
2012inline void QOpenGLFunctions_4_0_Core::glUniformMatrix2x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2013{
2014 d_4_0_Core->f.UniformMatrix2x4dv(location, count, transpose, value);
2015}
2016
2017inline void QOpenGLFunctions_4_0_Core::glUniformMatrix2x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2018{
2019 d_4_0_Core->f.UniformMatrix2x3dv(location, count, transpose, value);
2020}
2021
2022inline void QOpenGLFunctions_4_0_Core::glUniformMatrix4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2023{
2024 d_4_0_Core->f.UniformMatrix4dv(location, count, transpose, value);
2025}
2026
2027inline void QOpenGLFunctions_4_0_Core::glUniformMatrix3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2028{
2029 d_4_0_Core->f.UniformMatrix3dv(location, count, transpose, value);
2030}
2031
2032inline void QOpenGLFunctions_4_0_Core::glUniformMatrix2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
2033{
2034 d_4_0_Core->f.UniformMatrix2dv(location, count, transpose, value);
2035}
2036
2037inline void QOpenGLFunctions_4_0_Core::glUniform4dv(GLint location, GLsizei count, const GLdouble *value)
2038{
2039 d_4_0_Core->f.Uniform4dv(location, count, value);
2040}
2041
2042inline void QOpenGLFunctions_4_0_Core::glUniform3dv(GLint location, GLsizei count, const GLdouble *value)
2043{
2044 d_4_0_Core->f.Uniform3dv(location, count, value);
2045}
2046
2047inline void QOpenGLFunctions_4_0_Core::glUniform2dv(GLint location, GLsizei count, const GLdouble *value)
2048{
2049 d_4_0_Core->f.Uniform2dv(location, count, value);
2050}
2051
2052inline void QOpenGLFunctions_4_0_Core::glUniform1dv(GLint location, GLsizei count, const GLdouble *value)
2053{
2054 d_4_0_Core->f.Uniform1dv(location, count, value);
2055}
2056
2057inline void QOpenGLFunctions_4_0_Core::glUniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
2058{
2059 d_4_0_Core->f.Uniform4d(location, x, y, z, w);
2060}
2061
2062inline void QOpenGLFunctions_4_0_Core::glUniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z)
2063{
2064 d_4_0_Core->f.Uniform3d(location, x, y, z);
2065}
2066
2067inline void QOpenGLFunctions_4_0_Core::glUniform2d(GLint location, GLdouble x, GLdouble y)
2068{
2069 d_4_0_Core->f.Uniform2d(location, x, y);
2070}
2071
2072inline void QOpenGLFunctions_4_0_Core::glUniform1d(GLint location, GLdouble x)
2073{
2074 d_4_0_Core->f.Uniform1d(location, x);
2075}
2076
2077inline void QOpenGLFunctions_4_0_Core::glDrawElementsIndirect(GLenum mode, GLenum type, const GLvoid *indirect)
2078{
2079 d_4_0_Core->f.DrawElementsIndirect(mode, type, indirect);
2080}
2081
2082inline void QOpenGLFunctions_4_0_Core::glDrawArraysIndirect(GLenum mode, const GLvoid *indirect)
2083{
2084 d_4_0_Core->f.DrawArraysIndirect(mode, indirect);
2085}
2086
2087inline void QOpenGLFunctions_4_0_Core::glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)
2088{
2089 d_4_0_Core->f.BlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha);
2090}
2091
2092inline void QOpenGLFunctions_4_0_Core::glBlendFunci(GLuint buf, GLenum src, GLenum dst)
2093{
2094 d_4_0_Core->f.BlendFunci(buf, src, dst);
2095}
2096
2097inline void QOpenGLFunctions_4_0_Core::glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha)
2098{
2099 d_4_0_Core->f.BlendEquationSeparatei(buf, modeRGB, modeAlpha);
2100}
2101
2102inline void QOpenGLFunctions_4_0_Core::glBlendEquationi(GLuint buf, GLenum mode)
2103{
2104 d_4_0_Core->f.BlendEquationi(buf, mode);
2105}
2106
2107inline void QOpenGLFunctions_4_0_Core::glMinSampleShading(GLfloat value)
2108{
2109 d_4_0_Core->f.MinSampleShading(value);
2110}
2111
2112
2113
2114QT_END_NAMESPACE
2115
2116#endif // QT_NO_OPENGL && !QT_CONFIG(opengles2)
2117
2118#endif
2119

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