1/****************************************************************************
2**
3** Copyright (C) 2015 Klaralvdalens Datakonsult AB (KDAB)
4** Copyright (C) 2016 The Qt Company Ltd.
5** Contact: https://www.qt.io/licensing/
6**
7** This file is part of the QtGui module of the Qt Toolkit.
8**
9** $QT_BEGIN_LICENSE:LGPL$
10** Commercial License Usage
11** Licensees holding valid commercial Qt licenses may use this file in
12** accordance with the commercial license agreement provided with the
13** Software or, alternatively, in accordance with the terms contained in
14** a written agreement between you and The Qt Company. For licensing terms
15** and conditions see https://www.qt.io/terms-conditions. For further
16** information use the contact form at https://www.qt.io/contact-us.
17**
18** GNU Lesser General Public License Usage
19** Alternatively, this file may be used under the terms of the GNU Lesser
20** General Public License version 3 as published by the Free Software
21** Foundation and appearing in the file LICENSE.LGPL3 included in the
22** packaging of this file. Please review the following information to
23** ensure the GNU Lesser General Public License version 3 requirements
24** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
25**
26** GNU General Public License Usage
27** Alternatively, this file may be used under the terms of the GNU
28** General Public License version 2.0 or (at your option) the GNU General
29** Public license version 3 or any later version approved by the KDE Free
30** Qt Foundation. The licenses are as published by the Free Software
31** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
32** included in the packaging of this file. Please review the following
33** information to ensure the GNU General Public License requirements will
34** be met: https://www.gnu.org/licenses/gpl-2.0.html and
35** https://www.gnu.org/licenses/gpl-3.0.html.
36**
37** $QT_END_LICENSE$
38**
39**
40** This file was generated by glgen version 0.1
41** Command line was: glgen
42**
43** glgen is Copyright (C) 2013 Klaralvdalens Datakonsult AB (KDAB)
44**
45** This is an auto-generated file.
46** Do not edit! All changes made to it will be lost.
47**
48****************************************************************************/
49
50#ifndef QOPENGLVERSIONFUNCTIONS_4_4_CORE_H
51#define QOPENGLVERSIONFUNCTIONS_4_4_CORE_H
52
53#include <QtGui/qtguiglobal.h>
54
55#if !defined(QT_NO_OPENGL) && !defined(QT_OPENGL_ES_2)
56
57#include <QtGui/QOpenGLVersionFunctions>
58#include <QtGui/qopenglcontext.h>
59
60QT_BEGIN_NAMESPACE
61
62class Q_GUI_EXPORT QOpenGLFunctions_4_4_Core : public QAbstractOpenGLFunctions
63{
64public:
65 QOpenGLFunctions_4_4_Core();
66 ~QOpenGLFunctions_4_4_Core();
67
68 bool initializeOpenGLFunctions() override;
69
70 // OpenGL 1.0 core functions
71 void glViewport(GLint x, GLint y, GLsizei width, GLsizei height);
72 void glDepthRange(GLdouble nearVal, GLdouble farVal);
73 GLboolean glIsEnabled(GLenum cap);
74 void glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params);
75 void glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params);
76 void glGetTexParameteriv(GLenum target, GLenum pname, GLint *params);
77 void glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params);
78 void glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, void *pixels);
79 const GLubyte * glGetString(GLenum name);
80 void glGetIntegerv(GLenum pname, GLint *data);
81 void glGetFloatv(GLenum pname, GLfloat *data);
82 GLenum glGetError();
83 void glGetDoublev(GLenum pname, GLdouble *data);
84 void glGetBooleanv(GLenum pname, GLboolean *data);
85 void glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels);
86 void glReadBuffer(GLenum src);
87 void glPixelStorei(GLenum pname, GLint param);
88 void glPixelStoref(GLenum pname, GLfloat param);
89 void glDepthFunc(GLenum func);
90 void glStencilOp(GLenum fail, GLenum zfail, GLenum zpass);
91 void glStencilFunc(GLenum func, GLint ref, GLuint mask);
92 void glLogicOp(GLenum opcode);
93 void glBlendFunc(GLenum sfactor, GLenum dfactor);
94 void glFlush();
95 void glFinish();
96 void glEnable(GLenum cap);
97 void glDisable(GLenum cap);
98 void glDepthMask(GLboolean flag);
99 void glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
100 void glStencilMask(GLuint mask);
101 void glClearDepth(GLdouble depth);
102 void glClearStencil(GLint s);
103 void glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
104 void glClear(GLbitfield mask);
105 void glDrawBuffer(GLenum buf);
106 void glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);
107 void glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels);
108 void glTexParameteriv(GLenum target, GLenum pname, const GLint *params);
109 void glTexParameteri(GLenum target, GLenum pname, GLint param);
110 void glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params);
111 void glTexParameterf(GLenum target, GLenum pname, GLfloat param);
112 void glScissor(GLint x, GLint y, GLsizei width, GLsizei height);
113 void glPolygonMode(GLenum face, GLenum mode);
114 void glPointSize(GLfloat size);
115 void glLineWidth(GLfloat width);
116 void glHint(GLenum target, GLenum mode);
117 void glFrontFace(GLenum mode);
118 void glCullFace(GLenum mode);
119
120 // OpenGL 1.1 core functions
121 GLboolean glIsTexture(GLuint texture);
122 void glGenTextures(GLsizei n, GLuint *textures);
123 void glDeleteTextures(GLsizei n, const GLuint *textures);
124 void glBindTexture(GLenum target, GLuint texture);
125 void glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);
126 void glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels);
127 void glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
128 void glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
129 void glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
130 void glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
131 void glPolygonOffset(GLfloat factor, GLfloat units);
132 void glDrawElements(GLenum mode, GLsizei count, GLenum type, const void *indices);
133 void glDrawArrays(GLenum mode, GLint first, GLsizei count);
134
135 // OpenGL 1.2 core functions
136 void glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
137 void glBlendEquation(GLenum mode);
138 void glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
139 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);
140 void glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);
141 void glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices);
142
143 // OpenGL 1.3 core functions
144 void glGetCompressedTexImage(GLenum target, GLint level, void *img);
145 void glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data);
146 void glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);
147 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);
148 void glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data);
149 void glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);
150 void glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);
151 void glSampleCoverage(GLfloat value, GLboolean invert);
152 void glActiveTexture(GLenum texture);
153
154 // OpenGL 1.4 core functions
155 void glPointParameteriv(GLenum pname, const GLint *params);
156 void glPointParameteri(GLenum pname, GLint param);
157 void glPointParameterfv(GLenum pname, const GLfloat *params);
158 void glPointParameterf(GLenum pname, GLfloat param);
159 void glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const void *const *indices, GLsizei drawcount);
160 void glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount);
161 void glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
162
163 // OpenGL 1.5 core functions
164 void glGetBufferPointerv(GLenum target, GLenum pname, void * *params);
165 void glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params);
166 GLboolean glUnmapBuffer(GLenum target);
167 void * glMapBuffer(GLenum target, GLenum access);
168 void glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, void *data);
169 void glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const void *data);
170 void glBufferData(GLenum target, GLsizeiptr size, const void *data, GLenum usage);
171 GLboolean glIsBuffer(GLuint buffer);
172 void glGenBuffers(GLsizei n, GLuint *buffers);
173 void glDeleteBuffers(GLsizei n, const GLuint *buffers);
174 void glBindBuffer(GLenum target, GLuint buffer);
175 void glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params);
176 void glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params);
177 void glGetQueryiv(GLenum target, GLenum pname, GLint *params);
178 void glEndQuery(GLenum target);
179 void glBeginQuery(GLenum target, GLuint id);
180 GLboolean glIsQuery(GLuint id);
181 void glDeleteQueries(GLsizei n, const GLuint *ids);
182 void glGenQueries(GLsizei n, GLuint *ids);
183
184 // OpenGL 2.0 core functions
185 void glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer);
186 void glVertexAttrib4usv(GLuint index, const GLushort *v);
187 void glVertexAttrib4uiv(GLuint index, const GLuint *v);
188 void glVertexAttrib4ubv(GLuint index, const GLubyte *v);
189 void glVertexAttrib4sv(GLuint index, const GLshort *v);
190 void glVertexAttrib4s(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
191 void glVertexAttrib4iv(GLuint index, const GLint *v);
192 void glVertexAttrib4fv(GLuint index, const GLfloat *v);
193 void glVertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
194 void glVertexAttrib4dv(GLuint index, const GLdouble *v);
195 void glVertexAttrib4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
196 void glVertexAttrib4bv(GLuint index, const GLbyte *v);
197 void glVertexAttrib4Nusv(GLuint index, const GLushort *v);
198 void glVertexAttrib4Nuiv(GLuint index, const GLuint *v);
199 void glVertexAttrib4Nubv(GLuint index, const GLubyte *v);
200 void glVertexAttrib4Nub(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
201 void glVertexAttrib4Nsv(GLuint index, const GLshort *v);
202 void glVertexAttrib4Niv(GLuint index, const GLint *v);
203 void glVertexAttrib4Nbv(GLuint index, const GLbyte *v);
204 void glVertexAttrib3sv(GLuint index, const GLshort *v);
205 void glVertexAttrib3s(GLuint index, GLshort x, GLshort y, GLshort z);
206 void glVertexAttrib3fv(GLuint index, const GLfloat *v);
207 void glVertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z);
208 void glVertexAttrib3dv(GLuint index, const GLdouble *v);
209 void glVertexAttrib3d(GLuint index, GLdouble x, GLdouble y, GLdouble z);
210 void glVertexAttrib2sv(GLuint index, const GLshort *v);
211 void glVertexAttrib2s(GLuint index, GLshort x, GLshort y);
212 void glVertexAttrib2fv(GLuint index, const GLfloat *v);
213 void glVertexAttrib2f(GLuint index, GLfloat x, GLfloat y);
214 void glVertexAttrib2dv(GLuint index, const GLdouble *v);
215 void glVertexAttrib2d(GLuint index, GLdouble x, GLdouble y);
216 void glVertexAttrib1sv(GLuint index, const GLshort *v);
217 void glVertexAttrib1s(GLuint index, GLshort x);
218 void glVertexAttrib1fv(GLuint index, const GLfloat *v);
219 void glVertexAttrib1f(GLuint index, GLfloat x);
220 void glVertexAttrib1dv(GLuint index, const GLdouble *v);
221 void glVertexAttrib1d(GLuint index, GLdouble x);
222 void glValidateProgram(GLuint program);
223 void glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
224 void glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
225 void glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
226 void glUniform4iv(GLint location, GLsizei count, const GLint *value);
227 void glUniform3iv(GLint location, GLsizei count, const GLint *value);
228 void glUniform2iv(GLint location, GLsizei count, const GLint *value);
229 void glUniform1iv(GLint location, GLsizei count, const GLint *value);
230 void glUniform4fv(GLint location, GLsizei count, const GLfloat *value);
231 void glUniform3fv(GLint location, GLsizei count, const GLfloat *value);
232 void glUniform2fv(GLint location, GLsizei count, const GLfloat *value);
233 void glUniform1fv(GLint location, GLsizei count, const GLfloat *value);
234 void glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
235 void glUniform3i(GLint location, GLint v0, GLint v1, GLint v2);
236 void glUniform2i(GLint location, GLint v0, GLint v1);
237 void glUniform1i(GLint location, GLint v0);
238 void glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
239 void glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
240 void glUniform2f(GLint location, GLfloat v0, GLfloat v1);
241 void glUniform1f(GLint location, GLfloat v0);
242 void glUseProgram(GLuint program);
243 void glShaderSource(GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length);
244 void glLinkProgram(GLuint program);
245 GLboolean glIsShader(GLuint shader);
246 GLboolean glIsProgram(GLuint program);
247 void glGetVertexAttribPointerv(GLuint index, GLenum pname, void * *pointer);
248 void glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params);
249 void glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params);
250 void glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params);
251 void glGetUniformiv(GLuint program, GLint location, GLint *params);
252 void glGetUniformfv(GLuint program, GLint location, GLfloat *params);
253 GLint glGetUniformLocation(GLuint program, const GLchar *name);
254 void glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
255 void glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
256 void glGetShaderiv(GLuint shader, GLenum pname, GLint *params);
257 void glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
258 void glGetProgramiv(GLuint program, GLenum pname, GLint *params);
259 GLint glGetAttribLocation(GLuint program, const GLchar *name);
260 void glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);
261 void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
262 void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
263 void glEnableVertexAttribArray(GLuint index);
264 void glDisableVertexAttribArray(GLuint index);
265 void glDetachShader(GLuint program, GLuint shader);
266 void glDeleteShader(GLuint shader);
267 void glDeleteProgram(GLuint program);
268 GLuint glCreateShader(GLenum type);
269 GLuint glCreateProgram();
270 void glCompileShader(GLuint shader);
271 void glBindAttribLocation(GLuint program, GLuint index, const GLchar *name);
272 void glAttachShader(GLuint program, GLuint shader);
273 void glStencilMaskSeparate(GLenum face, GLuint mask);
274 void glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask);
275 void glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
276 void glDrawBuffers(GLsizei n, const GLenum *bufs);
277 void glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha);
278
279 // OpenGL 2.1 core functions
280 void glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
281 void glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
282 void glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
283 void glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
284 void glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
285 void glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
286
287 // OpenGL 3.0 core functions
288 GLboolean glIsVertexArray(GLuint array);
289 void glGenVertexArrays(GLsizei n, GLuint *arrays);
290 void glDeleteVertexArrays(GLsizei n, const GLuint *arrays);
291 void glBindVertexArray(GLuint array);
292 void glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length);
293 void * glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
294 void glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
295 void glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
296 void glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
297 void glGenerateMipmap(GLenum target);
298 void glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params);
299 void glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
300 void glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
301 void glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
302 void glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
303 GLenum glCheckFramebufferStatus(GLenum target);
304 void glGenFramebuffers(GLsizei n, GLuint *framebuffers);
305 void glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers);
306 void glBindFramebuffer(GLenum target, GLuint framebuffer);
307 GLboolean glIsFramebuffer(GLuint framebuffer);
308 void glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params);
309 void glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
310 void glGenRenderbuffers(GLsizei n, GLuint *renderbuffers);
311 void glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers);
312 void glBindRenderbuffer(GLenum target, GLuint renderbuffer);
313 GLboolean glIsRenderbuffer(GLuint renderbuffer);
314 const GLubyte * glGetStringi(GLenum name, GLuint index);
315 void glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
316 void glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value);
317 void glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value);
318 void glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value);
319 void glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params);
320 void glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params);
321 void glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params);
322 void glTexParameterIiv(GLenum target, GLenum pname, const GLint *params);
323 void glUniform4uiv(GLint location, GLsizei count, const GLuint *value);
324 void glUniform3uiv(GLint location, GLsizei count, const GLuint *value);
325 void glUniform2uiv(GLint location, GLsizei count, const GLuint *value);
326 void glUniform1uiv(GLint location, GLsizei count, const GLuint *value);
327 void glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
328 void glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2);
329 void glUniform2ui(GLint location, GLuint v0, GLuint v1);
330 void glUniform1ui(GLint location, GLuint v0);
331 GLint glGetFragDataLocation(GLuint program, const GLchar *name);
332 void glBindFragDataLocation(GLuint program, GLuint color, const GLchar *name);
333 void glGetUniformuiv(GLuint program, GLint location, GLuint *params);
334 void glVertexAttribI4usv(GLuint index, const GLushort *v);
335 void glVertexAttribI4ubv(GLuint index, const GLubyte *v);
336 void glVertexAttribI4sv(GLuint index, const GLshort *v);
337 void glVertexAttribI4bv(GLuint index, const GLbyte *v);
338 void glVertexAttribI4uiv(GLuint index, const GLuint *v);
339 void glVertexAttribI3uiv(GLuint index, const GLuint *v);
340 void glVertexAttribI2uiv(GLuint index, const GLuint *v);
341 void glVertexAttribI1uiv(GLuint index, const GLuint *v);
342 void glVertexAttribI4iv(GLuint index, const GLint *v);
343 void glVertexAttribI3iv(GLuint index, const GLint *v);
344 void glVertexAttribI2iv(GLuint index, const GLint *v);
345 void glVertexAttribI1iv(GLuint index, const GLint *v);
346 void glVertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
347 void glVertexAttribI3ui(GLuint index, GLuint x, GLuint y, GLuint z);
348 void glVertexAttribI2ui(GLuint index, GLuint x, GLuint y);
349 void glVertexAttribI1ui(GLuint index, GLuint x);
350 void glVertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w);
351 void glVertexAttribI3i(GLuint index, GLint x, GLint y, GLint z);
352 void glVertexAttribI2i(GLuint index, GLint x, GLint y);
353 void glVertexAttribI1i(GLuint index, GLint x);
354 void glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params);
355 void glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params);
356 void glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);
357 void glEndConditionalRender();
358 void glBeginConditionalRender(GLuint id, GLenum mode);
359 void glClampColor(GLenum target, GLenum clamp);
360 void glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
361 void glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar* const *varyings, GLenum bufferMode);
362 void glBindBufferBase(GLenum target, GLuint index, GLuint buffer);
363 void glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
364 void glEndTransformFeedback();
365 void glBeginTransformFeedback(GLenum primitiveMode);
366 GLboolean glIsEnabledi(GLenum target, GLuint index);
367 void glDisablei(GLenum target, GLuint index);
368 void glEnablei(GLenum target, GLuint index);
369 void glGetIntegeri_v(GLenum target, GLuint index, GLint *data);
370 void glGetBooleani_v(GLenum target, GLuint index, GLboolean *data);
371 void glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
372
373 // OpenGL 3.1 core functions
374 void glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
375 void glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
376 void glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);
377 GLuint glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName);
378 void glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName);
379 void glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);
380 void glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar *const *uniformNames, GLuint *uniformIndices);
381 void glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
382 void glPrimitiveRestartIndex(GLuint index);
383 void glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer);
384 void glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount);
385 void glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount);
386
387 // OpenGL 3.2 core functions
388 void glSampleMaski(GLuint maskNumber, GLbitfield mask);
389 void glGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val);
390 void glTexImage3DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
391 void glTexImage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
392 void glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level);
393 void glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params);
394 void glGetInteger64i_v(GLenum target, GLuint index, GLint64 *data);
395 void glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
396 void glGetInteger64v(GLenum pname, GLint64 *data);
397 void glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout);
398 GLenum glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout);
399 void glDeleteSync(GLsync sync);
400 GLboolean glIsSync(GLsync sync);
401 GLsync glFenceSync(GLenum condition, GLbitfield flags);
402 void glProvokingVertex(GLenum mode);
403 void glMultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count, GLenum type, const void *const *indices, GLsizei drawcount, const GLint *basevertex);
404 void glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex);
405 void glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex);
406 void glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex);
407
408 // OpenGL 3.3 core functions
409 void glVertexAttribP4uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
410 void glVertexAttribP4ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);
411 void glVertexAttribP3uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
412 void glVertexAttribP3ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);
413 void glVertexAttribP2uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
414 void glVertexAttribP2ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);
415 void glVertexAttribP1uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
416 void glVertexAttribP1ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);
417 void glVertexAttribDivisor(GLuint index, GLuint divisor);
418 void glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64 *params);
419 void glGetQueryObjecti64v(GLuint id, GLenum pname, GLint64 *params);
420 void glQueryCounter(GLuint id, GLenum target);
421 void glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params);
422 void glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params);
423 void glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params);
424 void glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params);
425 void glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *param);
426 void glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *param);
427 void glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *param);
428 void glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param);
429 void glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint *param);
430 void glSamplerParameteri(GLuint sampler, GLenum pname, GLint param);
431 void glBindSampler(GLuint unit, GLuint sampler);
432 GLboolean glIsSampler(GLuint sampler);
433 void glDeleteSamplers(GLsizei count, const GLuint *samplers);
434 void glGenSamplers(GLsizei count, GLuint *samplers);
435 GLint glGetFragDataIndex(GLuint program, const GLchar *name);
436 void glBindFragDataLocationIndexed(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name);
437
438 // OpenGL 4.0 core functions
439 void glGetQueryIndexediv(GLenum target, GLuint index, GLenum pname, GLint *params);
440 void glEndQueryIndexed(GLenum target, GLuint index);
441 void glBeginQueryIndexed(GLenum target, GLuint index, GLuint id);
442 void glDrawTransformFeedbackStream(GLenum mode, GLuint id, GLuint stream);
443 void glDrawTransformFeedback(GLenum mode, GLuint id);
444 void glResumeTransformFeedback();
445 void glPauseTransformFeedback();
446 GLboolean glIsTransformFeedback(GLuint id);
447 void glGenTransformFeedbacks(GLsizei n, GLuint *ids);
448 void glDeleteTransformFeedbacks(GLsizei n, const GLuint *ids);
449 void glBindTransformFeedback(GLenum target, GLuint id);
450 void glPatchParameterfv(GLenum pname, const GLfloat *values);
451 void glPatchParameteri(GLenum pname, GLint value);
452 void glGetProgramStageiv(GLuint program, GLenum shadertype, GLenum pname, GLint *values);
453 void glGetUniformSubroutineuiv(GLenum shadertype, GLint location, GLuint *params);
454 void glUniformSubroutinesuiv(GLenum shadertype, GLsizei count, const GLuint *indices);
455 void glGetActiveSubroutineName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
456 void glGetActiveSubroutineUniformName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
457 void glGetActiveSubroutineUniformiv(GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values);
458 GLuint glGetSubroutineIndex(GLuint program, GLenum shadertype, const GLchar *name);
459 GLint glGetSubroutineUniformLocation(GLuint program, GLenum shadertype, const GLchar *name);
460 void glGetUniformdv(GLuint program, GLint location, GLdouble *params);
461 void glUniformMatrix4x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
462 void glUniformMatrix4x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
463 void glUniformMatrix3x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
464 void glUniformMatrix3x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
465 void glUniformMatrix2x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
466 void glUniformMatrix2x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
467 void glUniformMatrix4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
468 void glUniformMatrix3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
469 void glUniformMatrix2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
470 void glUniform4dv(GLint location, GLsizei count, const GLdouble *value);
471 void glUniform3dv(GLint location, GLsizei count, const GLdouble *value);
472 void glUniform2dv(GLint location, GLsizei count, const GLdouble *value);
473 void glUniform1dv(GLint location, GLsizei count, const GLdouble *value);
474 void glUniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
475 void glUniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z);
476 void glUniform2d(GLint location, GLdouble x, GLdouble y);
477 void glUniform1d(GLint location, GLdouble x);
478 void glDrawElementsIndirect(GLenum mode, GLenum type, const void *indirect);
479 void glDrawArraysIndirect(GLenum mode, const void *indirect);
480 void glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
481 void glBlendFunci(GLuint buf, GLenum src, GLenum dst);
482 void glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha);
483 void glBlendEquationi(GLuint buf, GLenum mode);
484 void glMinSampleShading(GLfloat value);
485
486 // OpenGL 4.1 core functions
487 void glGetDoublei_v(GLenum target, GLuint index, GLdouble *data);
488 void glGetFloati_v(GLenum target, GLuint index, GLfloat *data);
489 void glDepthRangeIndexed(GLuint index, GLdouble n, GLdouble f);
490 void glDepthRangeArrayv(GLuint first, GLsizei count, const GLdouble *v);
491 void glScissorIndexedv(GLuint index, const GLint *v);
492 void glScissorIndexed(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);
493 void glScissorArrayv(GLuint first, GLsizei count, const GLint *v);
494 void glViewportIndexedfv(GLuint index, const GLfloat *v);
495 void glViewportIndexedf(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);
496 void glViewportArrayv(GLuint first, GLsizei count, const GLfloat *v);
497 void glGetVertexAttribLdv(GLuint index, GLenum pname, GLdouble *params);
498 void glVertexAttribLPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);
499 void glVertexAttribL4dv(GLuint index, const GLdouble *v);
500 void glVertexAttribL3dv(GLuint index, const GLdouble *v);
501 void glVertexAttribL2dv(GLuint index, const GLdouble *v);
502 void glVertexAttribL1dv(GLuint index, const GLdouble *v);
503 void glVertexAttribL4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
504 void glVertexAttribL3d(GLuint index, GLdouble x, GLdouble y, GLdouble z);
505 void glVertexAttribL2d(GLuint index, GLdouble x, GLdouble y);
506 void glVertexAttribL1d(GLuint index, GLdouble x);
507 void glGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
508 void glValidateProgramPipeline(GLuint pipeline);
509 void glProgramUniformMatrix4x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
510 void glProgramUniformMatrix3x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
511 void glProgramUniformMatrix4x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
512 void glProgramUniformMatrix2x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
513 void glProgramUniformMatrix3x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
514 void glProgramUniformMatrix2x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
515 void glProgramUniformMatrix4x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
516 void glProgramUniformMatrix3x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
517 void glProgramUniformMatrix4x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
518 void glProgramUniformMatrix2x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
519 void glProgramUniformMatrix3x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
520 void glProgramUniformMatrix2x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
521 void glProgramUniformMatrix4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
522 void glProgramUniformMatrix3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
523 void glProgramUniformMatrix2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
524 void glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
525 void glProgramUniformMatrix3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
526 void glProgramUniformMatrix2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
527 void glProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);
528 void glProgramUniform4ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
529 void glProgramUniform4dv(GLuint program, GLint location, GLsizei count, const GLdouble *value);
530 void glProgramUniform4d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3);
531 void glProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);
532 void glProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
533 void glProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint *value);
534 void glProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
535 void glProgramUniform3uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);
536 void glProgramUniform3ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
537 void glProgramUniform3dv(GLuint program, GLint location, GLsizei count, const GLdouble *value);
538 void glProgramUniform3d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2);
539 void glProgramUniform3fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);
540 void glProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
541 void glProgramUniform3iv(GLuint program, GLint location, GLsizei count, const GLint *value);
542 void glProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
543 void glProgramUniform2uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);
544 void glProgramUniform2ui(GLuint program, GLint location, GLuint v0, GLuint v1);
545 void glProgramUniform2dv(GLuint program, GLint location, GLsizei count, const GLdouble *value);
546 void glProgramUniform2d(GLuint program, GLint location, GLdouble v0, GLdouble v1);
547 void glProgramUniform2fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);
548 void glProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1);
549 void glProgramUniform2iv(GLuint program, GLint location, GLsizei count, const GLint *value);
550 void glProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1);
551 void glProgramUniform1uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);
552 void glProgramUniform1ui(GLuint program, GLint location, GLuint v0);
553 void glProgramUniform1dv(GLuint program, GLint location, GLsizei count, const GLdouble *value);
554 void glProgramUniform1d(GLuint program, GLint location, GLdouble v0);
555 void glProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);
556 void glProgramUniform1f(GLuint program, GLint location, GLfloat v0);
557 void glProgramUniform1iv(GLuint program, GLint location, GLsizei count, const GLint *value);
558 void glProgramUniform1i(GLuint program, GLint location, GLint v0);
559 void glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint *params);
560 GLboolean glIsProgramPipeline(GLuint pipeline);
561 void glGenProgramPipelines(GLsizei n, GLuint *pipelines);
562 void glDeleteProgramPipelines(GLsizei n, const GLuint *pipelines);
563 void glBindProgramPipeline(GLuint pipeline);
564 GLuint glCreateShaderProgramv(GLenum type, GLsizei count, const GLchar* const *strings);
565 void glActiveShaderProgram(GLuint pipeline, GLuint program);
566 void glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program);
567 void glProgramParameteri(GLuint program, GLenum pname, GLint value);
568 void glProgramBinary(GLuint program, GLenum binaryFormat, const void *binary, GLsizei length);
569 void glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);
570 void glClearDepthf(GLfloat dd);
571 void glDepthRangef(GLfloat n, GLfloat f);
572 void glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
573 void glShaderBinary(GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length);
574 void glReleaseShaderCompiler();
575
576 // OpenGL 4.2 core functions
577 void glDrawTransformFeedbackStreamInstanced(GLenum mode, GLuint id, GLuint stream, GLsizei instancecount);
578 void glDrawTransformFeedbackInstanced(GLenum mode, GLuint id, GLsizei instancecount);
579 void glTexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
580 void glTexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
581 void glTexStorage1D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
582 void glMemoryBarrier(GLbitfield barriers);
583 void glBindImageTexture(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);
584 void glGetActiveAtomicCounterBufferiv(GLuint program, GLuint bufferIndex, GLenum pname, GLint *params);
585 void glGetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params);
586 void glDrawElementsInstancedBaseVertexBaseInstance(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance);
587 void glDrawElementsInstancedBaseInstance(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance);
588 void glDrawArraysInstancedBaseInstance(GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance);
589
590 // OpenGL 4.3 core functions
591 void glGetObjectPtrLabel(const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
592 void glObjectPtrLabel(const void *ptr, GLsizei length, const GLchar *label);
593 void glGetObjectLabel(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
594 void glObjectLabel(GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
595 void glPopDebugGroup();
596 void glPushDebugGroup(GLenum source, GLuint id, GLsizei length, const GLchar *message);
597 GLuint glGetDebugMessageLog(GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
598 void glDebugMessageCallback(GLDEBUGPROC callback, const void *userParam);
599 void glDebugMessageInsert(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
600 void glDebugMessageControl(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
601 void glVertexBindingDivisor(GLuint bindingindex, GLuint divisor);
602 void glVertexAttribBinding(GLuint attribindex, GLuint bindingindex);
603 void glVertexAttribLFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
604 void glVertexAttribIFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
605 void glVertexAttribFormat(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);
606 void glBindVertexBuffer(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);
607 void glTextureView(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers);
608 void glTexStorage3DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
609 void glTexStorage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
610 void glTexBufferRange(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
611 void glShaderStorageBlockBinding(GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding);
612 GLint glGetProgramResourceLocationIndex(GLuint program, GLenum programInterface, const GLchar *name);
613 GLint glGetProgramResourceLocation(GLuint program, GLenum programInterface, const GLchar *name);
614 void glGetProgramResourceiv(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params);
615 void glGetProgramResourceName(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);
616 GLuint glGetProgramResourceIndex(GLuint program, GLenum programInterface, const GLchar *name);
617 void glGetProgramInterfaceiv(GLuint program, GLenum programInterface, GLenum pname, GLint *params);
618 void glMultiDrawElementsIndirect(GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride);
619 void glMultiDrawArraysIndirect(GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride);
620 void glInvalidateSubFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height);
621 void glInvalidateFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments);
622 void glInvalidateBufferData(GLuint buffer);
623 void glInvalidateBufferSubData(GLuint buffer, GLintptr offset, GLsizeiptr length);
624 void glInvalidateTexImage(GLuint texture, GLint level);
625 void glInvalidateTexSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth);
626 void glGetInternalformati64v(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64 *params);
627 void glGetFramebufferParameteriv(GLenum target, GLenum pname, GLint *params);
628 void glFramebufferParameteri(GLenum target, GLenum pname, GLint param);
629 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);
630 void glDispatchComputeIndirect(GLintptr indirect);
631 void glDispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z);
632 void glClearBufferSubData(GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data);
633 void glClearBufferData(GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data);
634
635 // OpenGL 4.4 core functions
636 void glBindVertexBuffers(GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides);
637 void glBindImageTextures(GLuint first, GLsizei count, const GLuint *textures);
638 void glBindSamplers(GLuint first, GLsizei count, const GLuint *samplers);
639 void glBindTextures(GLuint first, GLsizei count, const GLuint *textures);
640 void glBindBuffersRange(GLenum target, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizeiptr *sizes);
641 void glBindBuffersBase(GLenum target, GLuint first, GLsizei count, const GLuint *buffers);
642 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);
643 void glClearTexImage(GLuint texture, GLint level, GLenum format, GLenum type, const void *data);
644 void glBufferStorage(GLenum target, GLsizeiptr size, const void *data, GLbitfield flags);
645
646private:
647 friend class QOpenGLContext;
648
649 static bool isContextCompatible(QOpenGLContext *context);
650 static QOpenGLVersionProfile versionProfile();
651
652 QOpenGLFunctions_1_0_CoreBackend* d_1_0_Core;
653 QOpenGLFunctions_1_1_CoreBackend* d_1_1_Core;
654 QOpenGLFunctions_1_2_CoreBackend* d_1_2_Core;
655 QOpenGLFunctions_1_3_CoreBackend* d_1_3_Core;
656 QOpenGLFunctions_1_4_CoreBackend* d_1_4_Core;
657 QOpenGLFunctions_1_5_CoreBackend* d_1_5_Core;
658 QOpenGLFunctions_2_0_CoreBackend* d_2_0_Core;
659 QOpenGLFunctions_2_1_CoreBackend* d_2_1_Core;
660 QOpenGLFunctions_3_0_CoreBackend* d_3_0_Core;
661 QOpenGLFunctions_3_1_CoreBackend* d_3_1_Core;
662 QOpenGLFunctions_3_2_CoreBackend* d_3_2_Core;
663 QOpenGLFunctions_3_3_CoreBackend* d_3_3_Core;
664 QOpenGLFunctions_4_0_CoreBackend* d_4_0_Core;
665 QOpenGLFunctions_4_1_CoreBackend* d_4_1_Core;
666 QOpenGLFunctions_4_2_CoreBackend* d_4_2_Core;
667 QOpenGLFunctions_4_3_CoreBackend* d_4_3_Core;
668 QOpenGLFunctions_4_4_CoreBackend* d_4_4_Core;
669};
670
671// OpenGL 1.0 core functions
672inline void QOpenGLFunctions_4_4_Core::glViewport(GLint x, GLint y, GLsizei width, GLsizei height)
673{
674 d_1_0_Core->f.Viewport(x, y, width, height);
675}
676
677inline void QOpenGLFunctions_4_4_Core::glDepthRange(GLdouble nearVal, GLdouble farVal)
678{
679 d_1_0_Core->f.DepthRange(nearVal, farVal);
680}
681
682inline GLboolean QOpenGLFunctions_4_4_Core::glIsEnabled(GLenum cap)
683{
684 return d_1_0_Core->f.IsEnabled(cap);
685}
686
687inline void QOpenGLFunctions_4_4_Core::glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params)
688{
689 d_1_0_Core->f.GetTexLevelParameteriv(target, level, pname, params);
690}
691
692inline void QOpenGLFunctions_4_4_Core::glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params)
693{
694 d_1_0_Core->f.GetTexLevelParameterfv(target, level, pname, params);
695}
696
697inline void QOpenGLFunctions_4_4_Core::glGetTexParameteriv(GLenum target, GLenum pname, GLint *params)
698{
699 d_1_0_Core->f.GetTexParameteriv(target, pname, params);
700}
701
702inline void QOpenGLFunctions_4_4_Core::glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params)
703{
704 d_1_0_Core->f.GetTexParameterfv(target, pname, params);
705}
706
707inline void QOpenGLFunctions_4_4_Core::glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, void *pixels)
708{
709 d_1_0_Core->f.GetTexImage(target, level, format, type, pixels);
710}
711
712inline const GLubyte * QOpenGLFunctions_4_4_Core::glGetString(GLenum name)
713{
714 return d_1_0_Core->f.GetString(name);
715}
716
717inline void QOpenGLFunctions_4_4_Core::glGetIntegerv(GLenum pname, GLint *data)
718{
719 d_1_0_Core->f.GetIntegerv(pname, data);
720}
721
722inline void QOpenGLFunctions_4_4_Core::glGetFloatv(GLenum pname, GLfloat *data)
723{
724 d_1_0_Core->f.GetFloatv(pname, data);
725}
726
727inline GLenum QOpenGLFunctions_4_4_Core::glGetError()
728{
729 return d_1_0_Core->f.GetError();
730}
731
732inline void QOpenGLFunctions_4_4_Core::glGetDoublev(GLenum pname, GLdouble *data)
733{
734 d_1_0_Core->f.GetDoublev(pname, data);
735}
736
737inline void QOpenGLFunctions_4_4_Core::glGetBooleanv(GLenum pname, GLboolean *data)
738{
739 d_1_0_Core->f.GetBooleanv(pname, data);
740}
741
742inline void QOpenGLFunctions_4_4_Core::glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels)
743{
744 d_1_0_Core->f.ReadPixels(x, y, width, height, format, type, pixels);
745}
746
747inline void QOpenGLFunctions_4_4_Core::glReadBuffer(GLenum src)
748{
749 d_1_0_Core->f.ReadBuffer(src);
750}
751
752inline void QOpenGLFunctions_4_4_Core::glPixelStorei(GLenum pname, GLint param)
753{
754 d_1_0_Core->f.PixelStorei(pname, param);
755}
756
757inline void QOpenGLFunctions_4_4_Core::glPixelStoref(GLenum pname, GLfloat param)
758{
759 d_1_0_Core->f.PixelStoref(pname, param);
760}
761
762inline void QOpenGLFunctions_4_4_Core::glDepthFunc(GLenum func)
763{
764 d_1_0_Core->f.DepthFunc(func);
765}
766
767inline void QOpenGLFunctions_4_4_Core::glStencilOp(GLenum fail, GLenum zfail, GLenum zpass)
768{
769 d_1_0_Core->f.StencilOp(fail, zfail, zpass);
770}
771
772inline void QOpenGLFunctions_4_4_Core::glStencilFunc(GLenum func, GLint ref, GLuint mask)
773{
774 d_1_0_Core->f.StencilFunc(func, ref, mask);
775}
776
777inline void QOpenGLFunctions_4_4_Core::glLogicOp(GLenum opcode)
778{
779 d_1_0_Core->f.LogicOp(opcode);
780}
781
782inline void QOpenGLFunctions_4_4_Core::glBlendFunc(GLenum sfactor, GLenum dfactor)
783{
784 d_1_0_Core->f.BlendFunc(sfactor, dfactor);
785}
786
787inline void QOpenGLFunctions_4_4_Core::glFlush()
788{
789 d_1_0_Core->f.Flush();
790}
791
792inline void QOpenGLFunctions_4_4_Core::glFinish()
793{
794 d_1_0_Core->f.Finish();
795}
796
797inline void QOpenGLFunctions_4_4_Core::glEnable(GLenum cap)
798{
799 d_1_0_Core->f.Enable(cap);
800}
801
802inline void QOpenGLFunctions_4_4_Core::glDisable(GLenum cap)
803{
804 d_1_0_Core->f.Disable(cap);
805}
806
807inline void QOpenGLFunctions_4_4_Core::glDepthMask(GLboolean flag)
808{
809 d_1_0_Core->f.DepthMask(flag);
810}
811
812inline void QOpenGLFunctions_4_4_Core::glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
813{
814 d_1_0_Core->f.ColorMask(red, green, blue, alpha);
815}
816
817inline void QOpenGLFunctions_4_4_Core::glStencilMask(GLuint mask)
818{
819 d_1_0_Core->f.StencilMask(mask);
820}
821
822inline void QOpenGLFunctions_4_4_Core::glClearDepth(GLdouble depth)
823{
824 d_1_0_Core->f.ClearDepth(depth);
825}
826
827inline void QOpenGLFunctions_4_4_Core::glClearStencil(GLint s)
828{
829 d_1_0_Core->f.ClearStencil(s);
830}
831
832inline void QOpenGLFunctions_4_4_Core::glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
833{
834 d_1_0_Core->f.ClearColor(red, green, blue, alpha);
835}
836
837inline void QOpenGLFunctions_4_4_Core::glClear(GLbitfield mask)
838{
839 d_1_0_Core->f.Clear(mask);
840}
841
842inline void QOpenGLFunctions_4_4_Core::glDrawBuffer(GLenum buf)
843{
844 d_1_0_Core->f.DrawBuffer(buf);
845}
846
847inline 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)
848{
849 d_1_0_Core->f.TexImage2D(target, level, internalformat, width, height, border, format, type, pixels);
850}
851
852inline void QOpenGLFunctions_4_4_Core::glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels)
853{
854 d_1_0_Core->f.TexImage1D(target, level, internalformat, width, border, format, type, pixels);
855}
856
857inline void QOpenGLFunctions_4_4_Core::glTexParameteriv(GLenum target, GLenum pname, const GLint *params)
858{
859 d_1_0_Core->f.TexParameteriv(target, pname, params);
860}
861
862inline void QOpenGLFunctions_4_4_Core::glTexParameteri(GLenum target, GLenum pname, GLint param)
863{
864 d_1_0_Core->f.TexParameteri(target, pname, param);
865}
866
867inline void QOpenGLFunctions_4_4_Core::glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params)
868{
869 d_1_0_Core->f.TexParameterfv(target, pname, params);
870}
871
872inline void QOpenGLFunctions_4_4_Core::glTexParameterf(GLenum target, GLenum pname, GLfloat param)
873{
874 d_1_0_Core->f.TexParameterf(target, pname, param);
875}
876
877inline void QOpenGLFunctions_4_4_Core::glScissor(GLint x, GLint y, GLsizei width, GLsizei height)
878{
879 d_1_0_Core->f.Scissor(x, y, width, height);
880}
881
882inline void QOpenGLFunctions_4_4_Core::glPolygonMode(GLenum face, GLenum mode)
883{
884 d_1_0_Core->f.PolygonMode(face, mode);
885}
886
887inline void QOpenGLFunctions_4_4_Core::glPointSize(GLfloat size)
888{
889 d_1_0_Core->f.PointSize(size);
890}
891
892inline void QOpenGLFunctions_4_4_Core::glLineWidth(GLfloat width)
893{
894 d_1_0_Core->f.LineWidth(width);
895}
896
897inline void QOpenGLFunctions_4_4_Core::glHint(GLenum target, GLenum mode)
898{
899 d_1_0_Core->f.Hint(target, mode);
900}
901
902inline void QOpenGLFunctions_4_4_Core::glFrontFace(GLenum mode)
903{
904 d_1_0_Core->f.FrontFace(mode);
905}
906
907inline void QOpenGLFunctions_4_4_Core::glCullFace(GLenum mode)
908{
909 d_1_0_Core->f.CullFace(mode);
910}
911
912
913// OpenGL 1.1 core functions
914inline GLboolean QOpenGLFunctions_4_4_Core::glIsTexture(GLuint texture)
915{
916 return d_1_1_Core->f.IsTexture(texture);
917}
918
919inline void QOpenGLFunctions_4_4_Core::glGenTextures(GLsizei n, GLuint *textures)
920{
921 d_1_1_Core->f.GenTextures(n, textures);
922}
923
924inline void QOpenGLFunctions_4_4_Core::glDeleteTextures(GLsizei n, const GLuint *textures)
925{
926 d_1_1_Core->f.DeleteTextures(n, textures);
927}
928
929inline void QOpenGLFunctions_4_4_Core::glBindTexture(GLenum target, GLuint texture)
930{
931 d_1_1_Core->f.BindTexture(target, texture);
932}
933
934inline 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)
935{
936 d_1_1_Core->f.TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels);
937}
938
939inline void QOpenGLFunctions_4_4_Core::glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels)
940{
941 d_1_1_Core->f.TexSubImage1D(target, level, xoffset, width, format, type, pixels);
942}
943
944inline void QOpenGLFunctions_4_4_Core::glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
945{
946 d_1_1_Core->f.CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);
947}
948
949inline void QOpenGLFunctions_4_4_Core::glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)
950{
951 d_1_1_Core->f.CopyTexSubImage1D(target, level, xoffset, x, y, width);
952}
953
954inline void QOpenGLFunctions_4_4_Core::glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
955{
956 d_1_1_Core->f.CopyTexImage2D(target, level, internalformat, x, y, width, height, border);
957}
958
959inline void QOpenGLFunctions_4_4_Core::glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border)
960{
961 d_1_1_Core->f.CopyTexImage1D(target, level, internalformat, x, y, width, border);
962}
963
964inline void QOpenGLFunctions_4_4_Core::glPolygonOffset(GLfloat factor, GLfloat units)
965{
966 d_1_1_Core->f.PolygonOffset(factor, units);
967}
968
969inline void QOpenGLFunctions_4_4_Core::glDrawElements(GLenum mode, GLsizei count, GLenum type, const void *indices)
970{
971 d_1_1_Core->f.DrawElements(mode, count, type, indices);
972}
973
974inline void QOpenGLFunctions_4_4_Core::glDrawArrays(GLenum mode, GLint first, GLsizei count)
975{
976 d_1_1_Core->f.DrawArrays(mode, first, count);
977}
978
979
980// OpenGL 1.2 core functions
981inline void QOpenGLFunctions_4_4_Core::glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
982{
983 d_1_2_Core->f.BlendColor(red, green, blue, alpha);
984}
985
986inline void QOpenGLFunctions_4_4_Core::glBlendEquation(GLenum mode)
987{
988 d_1_2_Core->f.BlendEquation(mode);
989}
990
991inline void QOpenGLFunctions_4_4_Core::glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
992{
993 d_1_2_Core->f.CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height);
994}
995
996inline 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)
997{
998 d_1_2_Core->f.TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
999}
1000
1001inline 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)
1002{
1003 d_1_2_Core->f.TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels);
1004}
1005
1006inline void QOpenGLFunctions_4_4_Core::glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices)
1007{
1008 d_1_2_Core->f.DrawRangeElements(mode, start, end, count, type, indices);
1009}
1010
1011
1012// OpenGL 1.3 core functions
1013inline void QOpenGLFunctions_4_4_Core::glGetCompressedTexImage(GLenum target, GLint level, void *img)
1014{
1015 d_1_3_Core->f.GetCompressedTexImage(target, level, img);
1016}
1017
1018inline void QOpenGLFunctions_4_4_Core::glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data)
1019{
1020 d_1_3_Core->f.CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data);
1021}
1022
1023inline 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)
1024{
1025 d_1_3_Core->f.CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data);
1026}
1027
1028inline 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)
1029{
1030 d_1_3_Core->f.CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
1031}
1032
1033inline void QOpenGLFunctions_4_4_Core::glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data)
1034{
1035 d_1_3_Core->f.CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data);
1036}
1037
1038inline void QOpenGLFunctions_4_4_Core::glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data)
1039{
1040 d_1_3_Core->f.CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data);
1041}
1042
1043inline 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)
1044{
1045 d_1_3_Core->f.CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data);
1046}
1047
1048inline void QOpenGLFunctions_4_4_Core::glSampleCoverage(GLfloat value, GLboolean invert)
1049{
1050 d_1_3_Core->f.SampleCoverage(value, invert);
1051}
1052
1053inline void QOpenGLFunctions_4_4_Core::glActiveTexture(GLenum texture)
1054{
1055 d_1_3_Core->f.ActiveTexture(texture);
1056}
1057
1058
1059// OpenGL 1.4 core functions
1060inline void QOpenGLFunctions_4_4_Core::glPointParameteriv(GLenum pname, const GLint *params)
1061{
1062 d_1_4_Core->f.PointParameteriv(pname, params);
1063}
1064
1065inline void QOpenGLFunctions_4_4_Core::glPointParameteri(GLenum pname, GLint param)
1066{
1067 d_1_4_Core->f.PointParameteri(pname, param);
1068}
1069
1070inline void QOpenGLFunctions_4_4_Core::glPointParameterfv(GLenum pname, const GLfloat *params)
1071{
1072 d_1_4_Core->f.PointParameterfv(pname, params);
1073}
1074
1075inline void QOpenGLFunctions_4_4_Core::glPointParameterf(GLenum pname, GLfloat param)
1076{
1077 d_1_4_Core->f.PointParameterf(pname, param);
1078}
1079
1080inline void QOpenGLFunctions_4_4_Core::glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const void *const *indices, GLsizei drawcount)
1081{
1082 d_1_4_Core->f.MultiDrawElements(mode, count, type, indices, drawcount);
1083}
1084
1085inline void QOpenGLFunctions_4_4_Core::glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount)
1086{
1087 d_1_4_Core->f.MultiDrawArrays(mode, first, count, drawcount);
1088}
1089
1090inline void QOpenGLFunctions_4_4_Core::glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha)
1091{
1092 d_1_4_Core->f.BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha);
1093}
1094
1095
1096// OpenGL 1.5 core functions
1097inline void QOpenGLFunctions_4_4_Core::glGetBufferPointerv(GLenum target, GLenum pname, void * *params)
1098{
1099 d_1_5_Core->f.GetBufferPointerv(target, pname, params);
1100}
1101
1102inline void QOpenGLFunctions_4_4_Core::glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params)
1103{
1104 d_1_5_Core->f.GetBufferParameteriv(target, pname, params);
1105}
1106
1107inline GLboolean QOpenGLFunctions_4_4_Core::glUnmapBuffer(GLenum target)
1108{
1109 return d_1_5_Core->f.UnmapBuffer(target);
1110}
1111
1112inline void * QOpenGLFunctions_4_4_Core::glMapBuffer(GLenum target, GLenum access)
1113{
1114 return d_1_5_Core->f.MapBuffer(target, access);
1115}
1116
1117inline void QOpenGLFunctions_4_4_Core::glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, void *data)
1118{
1119 d_1_5_Core->f.GetBufferSubData(target, offset, size, data);
1120}
1121
1122inline void QOpenGLFunctions_4_4_Core::glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const void *data)
1123{
1124 d_1_5_Core->f.BufferSubData(target, offset, size, data);
1125}
1126
1127inline void QOpenGLFunctions_4_4_Core::glBufferData(GLenum target, GLsizeiptr size, const void *data, GLenum usage)
1128{
1129 d_1_5_Core->f.BufferData(target, size, data, usage);
1130}
1131
1132inline GLboolean