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