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

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