1/****************************************************************************
2**
3** Copyright (C) 2013 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 QtOpenGL 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_0_COMPATIBILITY_H
51#define QOPENGLVERSIONFUNCTIONS_4_0_COMPATIBILITY_H
52
53#include <QtOpenGL/qtopenglglobal.h>
54
55#if !defined(QT_NO_OPENGL) && !QT_CONFIG(opengles2)
56
57#include <QtOpenGL/QOpenGLVersionProfile>
58#include <QtOpenGL/QOpenGLVersionFunctions>
59#include <QtGui/qopenglcontext.h>
60
61QT_BEGIN_NAMESPACE
62
63class Q_OPENGL_EXPORT QOpenGLFunctions_4_0_Compatibility : public QAbstractOpenGLFunctions
64{
65public:
66 QOpenGLFunctions_4_0_Compatibility();
67 ~QOpenGLFunctions_4_0_Compatibility();
68
69 bool initializeOpenGLFunctions() override;
70
71 // OpenGL 1.0 core functions
72 void glViewport(GLint x, GLint y, GLsizei width, GLsizei height);
73 void glDepthRange(GLdouble nearVal, GLdouble farVal);
74 GLboolean glIsEnabled(GLenum cap);
75 void glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params);
76 void glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params);
77 void glGetTexParameteriv(GLenum target, GLenum pname, GLint *params);
78 void glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params);
79 void glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
80 const GLubyte * glGetString(GLenum name);
81 void glGetIntegerv(GLenum pname, GLint *params);
82 void glGetFloatv(GLenum pname, GLfloat *params);
83 GLenum glGetError();
84 void glGetDoublev(GLenum pname, GLdouble *params);
85 void glGetBooleanv(GLenum pname, GLboolean *params);
86 void glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);
87 void glReadBuffer(GLenum mode);
88 void glPixelStorei(GLenum pname, GLint param);
89 void glPixelStoref(GLenum pname, GLfloat param);
90 void glDepthFunc(GLenum func);
91 void glStencilOp(GLenum fail, GLenum zfail, GLenum zpass);
92 void glStencilFunc(GLenum func, GLint ref, GLuint mask);
93 void glLogicOp(GLenum opcode);
94 void glBlendFunc(GLenum sfactor, GLenum dfactor);
95 void glFlush();
96 void glFinish();
97 void glEnable(GLenum cap);
98 void glDisable(GLenum cap);
99 void glDepthMask(GLboolean flag);
100 void glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
101 void glStencilMask(GLuint mask);
102 void glClearDepth(GLdouble depth);
103 void glClearStencil(GLint s);
104 void glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
105 void glClear(GLbitfield mask);
106 void glDrawBuffer(GLenum mode);
107 void glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
108 void glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
109 void glTexParameteriv(GLenum target, GLenum pname, const GLint *params);
110 void glTexParameteri(GLenum target, GLenum pname, GLint param);
111 void glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params);
112 void glTexParameterf(GLenum target, GLenum pname, GLfloat param);
113 void glScissor(GLint x, GLint y, GLsizei width, GLsizei height);
114 void glPolygonMode(GLenum face, GLenum mode);
115 void glPointSize(GLfloat size);
116 void glLineWidth(GLfloat width);
117 void glHint(GLenum target, GLenum mode);
118 void glFrontFace(GLenum mode);
119 void glCullFace(GLenum mode);
120
121 // OpenGL 1.1 core functions
122 void glIndexubv(const GLubyte *c);
123 void glIndexub(GLubyte c);
124 GLboolean glIsTexture(GLuint texture);
125 void glGenTextures(GLsizei n, GLuint *textures);
126 void glDeleteTextures(GLsizei n, const GLuint *textures);
127 void glBindTexture(GLenum target, GLuint texture);
128 void glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
129 void glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
130 void glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
131 void glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
132 void glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
133 void glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
134 void glPolygonOffset(GLfloat factor, GLfloat units);
135 void glGetPointerv(GLenum pname, GLvoid* *params);
136 void glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);
137 void glDrawArrays(GLenum mode, GLint first, GLsizei count);
138
139 // OpenGL 1.2 core functions
140 void glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
141 void glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
142 void glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
143 void glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
144 void glBlendEquation(GLenum mode);
145 void glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
146
147 // OpenGL 1.3 core functions
148 void glGetCompressedTexImage(GLenum target, GLint level, GLvoid *img);
149 void glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
150 void glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
151 void glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
152 void glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
153 void glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
154 void glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
155 void glSampleCoverage(GLfloat value, GLboolean invert);
156 void glActiveTexture(GLenum texture);
157
158 // OpenGL 1.4 core functions
159 void glPointParameteriv(GLenum pname, const GLint *params);
160 void glPointParameteri(GLenum pname, GLint param);
161 void glPointParameterfv(GLenum pname, const GLfloat *params);
162 void glPointParameterf(GLenum pname, GLfloat param);
163 void glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount);
164 void glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount);
165 void glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
166
167 // OpenGL 1.5 core functions
168 void glGetBufferPointerv(GLenum target, GLenum pname, GLvoid* *params);
169 void glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params);
170 GLboolean glUnmapBuffer(GLenum target);
171 GLvoid* glMapBuffer(GLenum target, GLenum access);
172 void glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data);
173 void glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data);
174 void glBufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage);
175 GLboolean glIsBuffer(GLuint buffer);
176 void glGenBuffers(GLsizei n, GLuint *buffers);
177 void glDeleteBuffers(GLsizei n, const GLuint *buffers);
178 void glBindBuffer(GLenum target, GLuint buffer);
179 void glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params);
180 void glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params);
181 void glGetQueryiv(GLenum target, GLenum pname, GLint *params);
182 void glEndQuery(GLenum target);
183 void glBeginQuery(GLenum target, GLuint id);
184 GLboolean glIsQuery(GLuint id);
185 void glDeleteQueries(GLsizei n, const GLuint *ids);
186 void glGenQueries(GLsizei n, GLuint *ids);
187
188 // OpenGL 2.0 core functions
189 void glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
190 void glValidateProgram(GLuint program);
191 void glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
192 void glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
193 void glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
194 void glUniform4iv(GLint location, GLsizei count, const GLint *value);
195 void glUniform3iv(GLint location, GLsizei count, const GLint *value);
196 void glUniform2iv(GLint location, GLsizei count, const GLint *value);
197 void glUniform1iv(GLint location, GLsizei count, const GLint *value);
198 void glUniform4fv(GLint location, GLsizei count, const GLfloat *value);
199 void glUniform3fv(GLint location, GLsizei count, const GLfloat *value);
200 void glUniform2fv(GLint location, GLsizei count, const GLfloat *value);
201 void glUniform1fv(GLint location, GLsizei count, const GLfloat *value);
202 void glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
203 void glUniform3i(GLint location, GLint v0, GLint v1, GLint v2);
204 void glUniform2i(GLint location, GLint v0, GLint v1);
205 void glUniform1i(GLint location, GLint v0);
206 void glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
207 void glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
208 void glUniform2f(GLint location, GLfloat v0, GLfloat v1);
209 void glUniform1f(GLint location, GLfloat v0);
210 void glUseProgram(GLuint program);
211 void glShaderSource(GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length);
212 void glLinkProgram(GLuint program);
213 GLboolean glIsShader(GLuint shader);
214 GLboolean glIsProgram(GLuint program);
215 void glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid* *pointer);
216 void glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params);
217 void glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params);
218 void glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params);
219 void glGetUniformiv(GLuint program, GLint location, GLint *params);
220 void glGetUniformfv(GLuint program, GLint location, GLfloat *params);
221 GLint glGetUniformLocation(GLuint program, const GLchar *name);
222 void glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
223 void glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
224 void glGetShaderiv(GLuint shader, GLenum pname, GLint *params);
225 void glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
226 void glGetProgramiv(GLuint program, GLenum pname, GLint *params);
227 GLint glGetAttribLocation(GLuint program, const GLchar *name);
228 void glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj);
229 void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
230 void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
231 void glEnableVertexAttribArray(GLuint index);
232 void glDisableVertexAttribArray(GLuint index);
233 void glDetachShader(GLuint program, GLuint shader);
234 void glDeleteShader(GLuint shader);
235 void glDeleteProgram(GLuint program);
236 GLuint glCreateShader(GLenum type);
237 GLuint glCreateProgram();
238 void glCompileShader(GLuint shader);
239 void glBindAttribLocation(GLuint program, GLuint index, const GLchar *name);
240 void glAttachShader(GLuint program, GLuint shader);
241 void glStencilMaskSeparate(GLenum face, GLuint mask);
242 void glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask);
243 void glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
244 void glDrawBuffers(GLsizei n, const GLenum *bufs);
245 void glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha);
246
247 // OpenGL 2.1 core functions
248 void glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
249 void glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
250 void glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
251 void glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
252 void glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
253 void glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
254
255 // OpenGL 3.0 core functions
256 GLboolean glIsVertexArray(GLuint array);
257 void glGenVertexArrays(GLsizei n, GLuint *arrays);
258 void glDeleteVertexArrays(GLsizei n, const GLuint *arrays);
259 void glBindVertexArray(GLuint array);
260 void glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length);
261 GLvoid* glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
262 void glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
263 void glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
264 void glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
265 void glGenerateMipmap(GLenum target);
266 void glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params);
267 void glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
268 void glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
269 void glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
270 void glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
271 GLenum glCheckFramebufferStatus(GLenum target);
272 void glGenFramebuffers(GLsizei n, GLuint *framebuffers);
273 void glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers);
274 void glBindFramebuffer(GLenum target, GLuint framebuffer);
275 GLboolean glIsFramebuffer(GLuint framebuffer);
276 void glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params);
277 void glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
278 void glGenRenderbuffers(GLsizei n, GLuint *renderbuffers);
279 void glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers);
280 void glBindRenderbuffer(GLenum target, GLuint renderbuffer);
281 GLboolean glIsRenderbuffer(GLuint renderbuffer);
282 const GLubyte * glGetStringi(GLenum name, GLuint index);
283 void glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
284 void glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value);
285 void glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value);
286 void glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value);
287 void glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params);
288 void glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params);
289 void glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params);
290 void glTexParameterIiv(GLenum target, GLenum pname, const GLint *params);
291 void glUniform4uiv(GLint location, GLsizei count, const GLuint *value);
292 void glUniform3uiv(GLint location, GLsizei count, const GLuint *value);
293 void glUniform2uiv(GLint location, GLsizei count, const GLuint *value);
294 void glUniform1uiv(GLint location, GLsizei count, const GLuint *value);
295 void glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
296 void glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2);
297 void glUniform2ui(GLint location, GLuint v0, GLuint v1);
298 void glUniform1ui(GLint location, GLuint v0);
299 GLint glGetFragDataLocation(GLuint program, const GLchar *name);
300 void glBindFragDataLocation(GLuint program, GLuint color, const GLchar *name);
301 void glGetUniformuiv(GLuint program, GLint location, GLuint *params);
302 void glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params);
303 void glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params);
304 void glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
305 void glEndConditionalRender();
306 void glBeginConditionalRender(GLuint id, GLenum mode);
307 void glClampColor(GLenum target, GLenum clamp);
308 void glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
309 void glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar* const *varyings, GLenum bufferMode);
310 void glBindBufferBase(GLenum target, GLuint index, GLuint buffer);
311 void glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
312 void glEndTransformFeedback();
313 void glBeginTransformFeedback(GLenum primitiveMode);
314 GLboolean glIsEnabledi(GLenum target, GLuint index);
315 void glDisablei(GLenum target, GLuint index);
316 void glEnablei(GLenum target, GLuint index);
317 void glGetIntegeri_v(GLenum target, GLuint index, GLint *data);
318 void glGetBooleani_v(GLenum target, GLuint index, GLboolean *data);
319 void glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
320
321 // OpenGL 3.1 core functions
322 void glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
323 void glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
324 void glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
325 void glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);
326 GLuint glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName);
327 void glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName);
328 void glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);
329 void glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar* const *uniformNames, GLuint *uniformIndices);
330 void glPrimitiveRestartIndex(GLuint index);
331 void glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer);
332 void glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount);
333 void glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount);
334
335 // OpenGL 3.2 core functions
336 void glSampleMaski(GLuint index, GLbitfield mask);
337 void glGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val);
338 void glTexImage3DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
339 void glTexImage2DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
340 void glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
341 void glGetInteger64v(GLenum pname, GLint64 *params);
342 void glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout);
343 GLenum glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout);
344 void glDeleteSync(GLsync sync);
345 GLboolean glIsSync(GLsync sync);
346 GLsync glFenceSync(GLenum condition, GLbitfield flags);
347 void glProvokingVertex(GLenum mode);
348 void glMultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount, const GLint *basevertex);
349 void glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount, GLint basevertex);
350 void glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);
351 void glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);
352 void glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level);
353 void glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params);
354 void glGetInteger64i_v(GLenum target, GLuint index, GLint64 *data);
355
356 // OpenGL 3.3 core functions
357 void glVertexAttribP4uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
358 void glVertexAttribP4ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);
359 void glVertexAttribP3uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
360 void glVertexAttribP3ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);
361 void glVertexAttribP2uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
362 void glVertexAttribP2ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);
363 void glVertexAttribP1uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
364 void glVertexAttribP1ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);
365 void glSecondaryColorP3uiv(GLenum type, const GLuint *color);
366 void glSecondaryColorP3ui(GLenum type, GLuint color);
367 void glColorP4uiv(GLenum type, const GLuint *color);
368 void glColorP4ui(GLenum type, GLuint color);
369 void glColorP3uiv(GLenum type, const GLuint *color);
370 void glColorP3ui(GLenum type, GLuint color);
371 void glNormalP3uiv(GLenum type, const GLuint *coords);
372 void glNormalP3ui(GLenum type, GLuint coords);
373 void glMultiTexCoordP4uiv(GLenum texture, GLenum type, const GLuint *coords);
374 void glMultiTexCoordP4ui(GLenum texture, GLenum type, GLuint coords);
375 void glMultiTexCoordP3uiv(GLenum texture, GLenum type, const GLuint *coords);
376 void glMultiTexCoordP3ui(GLenum texture, GLenum type, GLuint coords);
377 void glMultiTexCoordP2uiv(GLenum texture, GLenum type, const GLuint *coords);
378 void glMultiTexCoordP2ui(GLenum texture, GLenum type, GLuint coords);
379 void glMultiTexCoordP1uiv(GLenum texture, GLenum type, const GLuint *coords);
380 void glMultiTexCoordP1ui(GLenum texture, GLenum type, GLuint coords);
381 void glTexCoordP4uiv(GLenum type, const GLuint *coords);
382 void glTexCoordP4ui(GLenum type, GLuint coords);
383 void glTexCoordP3uiv(GLenum type, const GLuint *coords);
384 void glTexCoordP3ui(GLenum type, GLuint coords);
385 void glTexCoordP2uiv(GLenum type, const GLuint *coords);
386 void glTexCoordP2ui(GLenum type, GLuint coords);
387 void glTexCoordP1uiv(GLenum type, const GLuint *coords);
388 void glTexCoordP1ui(GLenum type, GLuint coords);
389 void glVertexP4uiv(GLenum type, const GLuint *value);
390 void glVertexP4ui(GLenum type, GLuint value);
391 void glVertexP3uiv(GLenum type, const GLuint *value);
392 void glVertexP3ui(GLenum type, GLuint value);
393 void glVertexP2uiv(GLenum type, const GLuint *value);
394 void glVertexP2ui(GLenum type, GLuint value);
395 void glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64 *params);
396 void glGetQueryObjecti64v(GLuint id, GLenum pname, GLint64 *params);
397 void glQueryCounter(GLuint id, GLenum target);
398 void glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params);
399 void glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params);
400 void glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params);
401 void glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params);
402 void glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *param);
403 void glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *param);
404 void glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *param);
405 void glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param);
406 void glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint *param);
407 void glSamplerParameteri(GLuint sampler, GLenum pname, GLint param);
408 void glBindSampler(GLuint unit, GLuint sampler);
409 GLboolean glIsSampler(GLuint sampler);
410 void glDeleteSamplers(GLsizei count, const GLuint *samplers);
411 void glGenSamplers(GLsizei count, GLuint *samplers);
412 GLint glGetFragDataIndex(GLuint program, const GLchar *name);
413 void glBindFragDataLocationIndexed(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name);
414 void glVertexAttribDivisor(GLuint index, GLuint divisor);
415
416 // OpenGL 4.0 core functions
417 void glGetQueryIndexediv(GLenum target, GLuint index, GLenum pname, GLint *params);
418 void glEndQueryIndexed(GLenum target, GLuint index);
419 void glBeginQueryIndexed(GLenum target, GLuint index, GLuint id);
420 void glDrawTransformFeedbackStream(GLenum mode, GLuint id, GLuint stream);
421 void glDrawTransformFeedback(GLenum mode, GLuint id);
422 void glResumeTransformFeedback();
423 void glPauseTransformFeedback();
424 GLboolean glIsTransformFeedback(GLuint id);
425 void glGenTransformFeedbacks(GLsizei n, GLuint *ids);
426 void glDeleteTransformFeedbacks(GLsizei n, const GLuint *ids);
427 void glBindTransformFeedback(GLenum target, GLuint id);
428 void glPatchParameterfv(GLenum pname, const GLfloat *values);
429 void glPatchParameteri(GLenum pname, GLint value);
430 void glGetProgramStageiv(GLuint program, GLenum shadertype, GLenum pname, GLint *values);
431 void glGetUniformSubroutineuiv(GLenum shadertype, GLint location, GLuint *params);
432 void glUniformSubroutinesuiv(GLenum shadertype, GLsizei count, const GLuint *indices);
433 void glGetActiveSubroutineName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
434 void glGetActiveSubroutineUniformName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
435 void glGetActiveSubroutineUniformiv(GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values);
436 GLuint glGetSubroutineIndex(GLuint program, GLenum shadertype, const GLchar *name);
437 GLint glGetSubroutineUniformLocation(GLuint program, GLenum shadertype, const GLchar *name);
438 void glGetUniformdv(GLuint program, GLint location, GLdouble *params);
439 void glUniformMatrix4x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
440 void glUniformMatrix4x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
441 void glUniformMatrix3x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
442 void glUniformMatrix3x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
443 void glUniformMatrix2x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
444 void glUniformMatrix2x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
445 void glUniformMatrix4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
446 void glUniformMatrix3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
447 void glUniformMatrix2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
448 void glUniform4dv(GLint location, GLsizei count, const GLdouble *value);
449 void glUniform3dv(GLint location, GLsizei count, const GLdouble *value);
450 void glUniform2dv(GLint location, GLsizei count, const GLdouble *value);
451 void glUniform1dv(GLint location, GLsizei count, const GLdouble *value);
452 void glUniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
453 void glUniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z);
454 void glUniform2d(GLint location, GLdouble x, GLdouble y);
455 void glUniform1d(GLint location, GLdouble x);
456 void glDrawElementsIndirect(GLenum mode, GLenum type, const GLvoid *indirect);
457 void glDrawArraysIndirect(GLenum mode, const GLvoid *indirect);
458 void glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
459 void glBlendFunci(GLuint buf, GLenum src, GLenum dst);
460 void glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha);
461 void glBlendEquationi(GLuint buf, GLenum mode);
462 void glMinSampleShading(GLfloat value);
463
464 // OpenGL 1.0 deprecated functions
465 void glTranslatef(GLfloat x, GLfloat y, GLfloat z);
466 void glTranslated(GLdouble x, GLdouble y, GLdouble z);
467 void glScalef(GLfloat x, GLfloat y, GLfloat z);
468 void glScaled(GLdouble x, GLdouble y, GLdouble z);
469 void glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
470 void glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
471 void glPushMatrix();
472 void glPopMatrix();
473 void glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
474 void glMultMatrixd(const GLdouble *m);
475 void glMultMatrixf(const GLfloat *m);
476 void glMatrixMode(GLenum mode);
477 void glLoadMatrixd(const GLdouble *m);
478 void glLoadMatrixf(const GLfloat *m);
479 void glLoadIdentity();
480 void glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
481 GLboolean glIsList(GLuint list);
482 void glGetTexGeniv(GLenum coord, GLenum pname, GLint *params);
483 void glGetTexGenfv(GLenum coord, GLenum pname, GLfloat *params);
484 void glGetTexGendv(GLenum coord, GLenum pname, GLdouble *params);
485 void glGetTexEnviv(GLenum target, GLenum pname, GLint *params);
486 void glGetTexEnvfv(GLenum target, GLenum pname, GLfloat *params);
487 void glGetPolygonStipple(GLubyte *mask);
488 void glGetPixelMapusv(GLenum map, GLushort *values);
489 void glGetPixelMapuiv(GLenum map, GLuint *values);
490 void glGetPixelMapfv(GLenum map, GLfloat *values);
491 void glGetMaterialiv(GLenum face, GLenum pname, GLint *params);
492 void glGetMaterialfv(GLenum face, GLenum pname, GLfloat *params);
493 void glGetMapiv(GLenum target, GLenum query, GLint *v);
494 void glGetMapfv(GLenum target, GLenum query, GLfloat *v);
495 void glGetMapdv(GLenum target, GLenum query, GLdouble *v);
496 void glGetLightiv(GLenum light, GLenum pname, GLint *params);
497 void glGetLightfv(GLenum light, GLenum pname, GLfloat *params);
498 void glGetClipPlane(GLenum plane, GLdouble *equation);
499 void glDrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
500 void glCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type);
501 void glPixelMapusv(GLenum map, GLint mapsize, const GLushort *values);
502 void glPixelMapuiv(GLenum map, GLint mapsize, const GLuint *values);
503 void glPixelMapfv(GLenum map, GLint mapsize, const GLfloat *values);
504 void glPixelTransferi(GLenum pname, GLint param);
505 void glPixelTransferf(GLenum pname, GLfloat param);
506 void glPixelZoom(GLfloat xfactor, GLfloat yfactor);
507 void glAlphaFunc(GLenum func, GLfloat ref);
508 void glEvalPoint2(GLint i, GLint j);
509 void glEvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2);
510 void glEvalPoint1(GLint i);
511 void glEvalMesh1(GLenum mode, GLint i1, GLint i2);
512 void glEvalCoord2fv(const GLfloat *u);
513 void glEvalCoord2f(GLfloat u, GLfloat v);
514 void glEvalCoord2dv(const GLdouble *u);
515 void glEvalCoord2d(GLdouble u, GLdouble v);
516 void glEvalCoord1fv(const GLfloat *u);
517 void glEvalCoord1f(GLfloat u);
518 void glEvalCoord1dv(const GLdouble *u);
519 void glEvalCoord1d(GLdouble u);
520 void glMapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2);
521 void glMapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2);
522 void glMapGrid1f(GLint un, GLfloat u1, GLfloat u2);
523 void glMapGrid1d(GLint un, GLdouble u1, GLdouble u2);
524 void glMap2f(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);
525 void glMap2d(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);
526 void glMap1f(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);
527 void glMap1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);
528 void glPushAttrib(GLbitfield mask);
529 void glPopAttrib();
530 void glAccum(GLenum op, GLfloat value);
531 void glIndexMask(GLuint mask);
532 void glClearIndex(GLfloat c);
533 void glClearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
534 void glPushName(GLuint name);
535 void glPopName();
536 void glPassThrough(GLfloat token);
537 void glLoadName(GLuint name);
538 void glInitNames();
539 GLint glRenderMode(GLenum mode);
540 void glSelectBuffer(GLsizei size, GLuint *buffer);
541 void glFeedbackBuffer(GLsizei size, GLenum type, GLfloat *buffer);
542 void glTexGeniv(GLenum coord, GLenum pname, const GLint *params);
543 void glTexGeni(GLenum coord, GLenum pname, GLint param);
544 void glTexGenfv(GLenum coord, GLenum pname, const GLfloat *params);
545 void glTexGenf(GLenum coord, GLenum pname, GLfloat param);
546 void glTexGendv(GLenum coord, GLenum pname, const GLdouble *params);
547 void glTexGend(GLenum coord, GLenum pname, GLdouble param);
548 void glTexEnviv(GLenum target, GLenum pname, const GLint *params);
549 void glTexEnvi(GLenum target, GLenum pname, GLint param);
550 void glTexEnvfv(GLenum target, GLenum pname, const GLfloat *params);
551 void glTexEnvf(GLenum target, GLenum pname, GLfloat param);
552 void glShadeModel(GLenum mode);
553 void glPolygonStipple(const GLubyte *mask);
554 void glMaterialiv(GLenum face, GLenum pname, const GLint *params);
555 void glMateriali(GLenum face, GLenum pname, GLint param);
556 void glMaterialfv(GLenum face, GLenum pname, const GLfloat *params);
557 void glMaterialf(GLenum face, GLenum pname, GLfloat param);
558 void glLineStipple(GLint factor, GLushort pattern);
559 void glLightModeliv(GLenum pname, const GLint *params);
560 void glLightModeli(GLenum pname, GLint param);
561 void glLightModelfv(GLenum pname, const GLfloat *params);
562 void glLightModelf(GLenum pname, GLfloat param);
563 void glLightiv(GLenum light, GLenum pname, const GLint *params);
564 void glLighti(GLenum light, GLenum pname, GLint param);
565 void glLightfv(GLenum light, GLenum pname, const GLfloat *params);
566 void glLightf(GLenum light, GLenum pname, GLfloat param);
567 void glFogiv(GLenum pname, const GLint *params);
568 void glFogi(GLenum pname, GLint param);
569 void glFogfv(GLenum pname, const GLfloat *params);
570 void glFogf(GLenum pname, GLfloat param);
571 void glColorMaterial(GLenum face, GLenum mode);
572 void glClipPlane(GLenum plane, const GLdouble *equation);
573 void glVertex4sv(const GLshort *v);
574 void glVertex4s(GLshort x, GLshort y, GLshort z, GLshort w);
575 void glVertex4iv(const GLint *v);
576 void glVertex4i(GLint x, GLint y, GLint z, GLint w);
577 void glVertex4fv(const GLfloat *v);
578 void glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
579 void glVertex4dv(const GLdouble *v);
580 void glVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
581 void glVertex3sv(const GLshort *v);
582 void glVertex3s(GLshort x, GLshort y, GLshort z);
583 void glVertex3iv(const GLint *v);
584 void glVertex3i(GLint x, GLint y, GLint z);
585 void glVertex3fv(const GLfloat *v);
586 void glVertex3f(GLfloat x, GLfloat y, GLfloat z);
587 void glVertex3dv(const GLdouble *v);
588 void glVertex3d(GLdouble x, GLdouble y, GLdouble z);
589 void glVertex2sv(const GLshort *v);
590 void glVertex2s(GLshort x, GLshort y);
591 void glVertex2iv(const GLint *v);
592 void glVertex2i(GLint x, GLint y);
593 void glVertex2fv(const GLfloat *v);
594 void glVertex2f(GLfloat x, GLfloat y);
595 void glVertex2dv(const GLdouble *v);
596 void glVertex2d(GLdouble x, GLdouble y);
597 void glTexCoord4sv(const GLshort *v);
598 void glTexCoord4s(GLshort s, GLshort t, GLshort r, GLshort q);
599 void glTexCoord4iv(const GLint *v);
600 void glTexCoord4i(GLint s, GLint t, GLint r, GLint q);
601 void glTexCoord4fv(const GLfloat *v);
602 void glTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q);
603 void glTexCoord4dv(const GLdouble *v);
604 void glTexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q);
605 void glTexCoord3sv(const GLshort *v);
606 void glTexCoord3s(GLshort s, GLshort t, GLshort r);
607 void glTexCoord3iv(const GLint *v);
608 void glTexCoord3i(GLint s, GLint t, GLint r);
609 void glTexCoord3fv(const GLfloat *v);
610 void glTexCoord3f(GLfloat s, GLfloat t, GLfloat r);
611 void glTexCoord3dv(const GLdouble *v);
612 void glTexCoord3d(GLdouble s, GLdouble t, GLdouble r);
613 void glTexCoord2sv(const GLshort *v);
614 void glTexCoord2s(GLshort s, GLshort t);
615 void glTexCoord2iv(const GLint *v);
616 void glTexCoord2i(GLint s, GLint t);
617 void glTexCoord2fv(const GLfloat *v);
618 void glTexCoord2f(GLfloat s, GLfloat t);
619 void glTexCoord2dv(const GLdouble *v);
620 void glTexCoord2d(GLdouble s, GLdouble t);
621 void glTexCoord1sv(const GLshort *v);
622 void glTexCoord1s(GLshort s);
623 void glTexCoord1iv(const GLint *v);
624 void glTexCoord1i(GLint s);
625 void glTexCoord1fv(const GLfloat *v);
626 void glTexCoord1f(GLfloat s);
627 void glTexCoord1dv(const GLdouble *v);
628 void glTexCoord1d(GLdouble s);
629 void glRectsv(const GLshort *v1, const GLshort *v2);
630 void glRects(GLshort x1, GLshort y1, GLshort x2, GLshort y2);
631 void glRectiv(const GLint *v1, const GLint *v2);
632 void glRecti(GLint x1, GLint y1, GLint x2, GLint y2);
633 void glRectfv(const GLfloat *v1, const GLfloat *v2);
634 void glRectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);
635 void glRectdv(const GLdouble *v1, const GLdouble *v2);
636 void glRectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2);
637 void glRasterPos4sv(const GLshort *v);
638 void glRasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w);
639 void glRasterPos4iv(const GLint *v);
640 void glRasterPos4i(GLint x, GLint y, GLint z, GLint w);
641 void glRasterPos4fv(const GLfloat *v);
642 void glRasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
643 void glRasterPos4dv(const GLdouble *v);
644 void glRasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
645 void glRasterPos3sv(const GLshort *v);
646 void glRasterPos3s(GLshort x, GLshort y, GLshort z);
647 void glRasterPos3iv(const GLint *v);
648 void glRasterPos3i(GLint x, GLint y, GLint z);
649 void glRasterPos3fv(const GLfloat *v);
650 void glRasterPos3f(GLfloat x, GLfloat y, GLfloat z);
651 void glRasterPos3dv(const GLdouble *v);
652 void glRasterPos3d(GLdouble x, GLdouble y, GLdouble z);
653 void glRasterPos2sv(const GLshort *v);
654 void glRasterPos2s(GLshort x, GLshort y);
655 void glRasterPos2iv(const GLint *v);
656 void glRasterPos2i(GLint x, GLint y);
657 void glRasterPos2fv(const GLfloat *v);
658 void glRasterPos2f(GLfloat x, GLfloat y);
659 void glRasterPos2dv(const GLdouble *v);
660 void glRasterPos2d(GLdouble x, GLdouble y);
661 void glNormal3sv(const GLshort *v);
662 void glNormal3s(GLshort nx, GLshort ny, GLshort nz);
663 void glNormal3iv(const GLint *v);
664 void glNormal3i(GLint nx, GLint ny, GLint nz);
665 void glNormal3fv(const GLfloat *v);
666 void glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz);
667 void glNormal3dv(const GLdouble *v);
668 void glNormal3d(GLdouble nx, GLdouble ny, GLdouble nz);
669 void glNormal3bv(const GLbyte *v);
670 void glNormal3b(GLbyte nx, GLbyte ny, GLbyte nz);
671 void glIndexsv(const GLshort *c);
672 void glIndexs(GLshort c);
673 void glIndexiv(const GLint *c);
674 void glIndexi(GLint c);
675 void glIndexfv(const GLfloat *c);
676 void glIndexf(GLfloat c);
677 void glIndexdv(const GLdouble *c);
678 void glIndexd(GLdouble c);
679 void glEnd();
680 void glEdgeFlagv(const GLboolean *flag);
681 void glEdgeFlag(GLboolean flag);
682 void glColor4usv(const GLushort *v);
683 void glColor4us(GLushort red, GLushort green, GLushort blue, GLushort alpha);
684 void glColor4uiv(const GLuint *v);
685 void glColor4ui(GLuint red, GLuint green, GLuint blue, GLuint alpha);
686 void glColor4ubv(const GLubyte *v);
687 void glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);
688 void glColor4sv(const GLshort *v);
689 void glColor4s(GLshort red, GLshort green, GLshort blue, GLshort alpha);
690 void glColor4iv(const GLint *v);
691 void glColor4i(GLint red, GLint green, GLint blue, GLint alpha);
692 void glColor4fv(const GLfloat *v);
693 void glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
694 void glColor4dv(const GLdouble *v);
695 void glColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha);
696 void glColor4bv(const GLbyte *v);
697 void glColor4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha);
698 void glColor3usv(const GLushort *v);
699 void glColor3us(GLushort red, GLushort green, GLushort blue);
700 void glColor3uiv(const GLuint *v);
701 void glColor3ui(GLuint red, GLuint green, GLuint blue);
702 void glColor3ubv(const GLubyte *v);
703 void glColor3ub(GLubyte red, GLubyte green, GLubyte blue);
704 void glColor3sv(const GLshort *v);
705 void glColor3s(GLshort red, GLshort green, GLshort blue);
706 void glColor3iv(const GLint *v);
707 void glColor3i(GLint red, GLint green, GLint blue);
708 void glColor3fv(const GLfloat *v);
709 void glColor3f(GLfloat red, GLfloat green, GLfloat blue);
710 void glColor3dv(const GLdouble *v);
711 void glColor3d(GLdouble red, GLdouble green, GLdouble blue);
712 void glColor3bv(const GLbyte *v);
713 void glColor3b(GLbyte red, GLbyte green, GLbyte blue);
714 void glBitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap);
715 void glBegin(GLenum mode);
716 void glListBase(GLuint base);
717 GLuint glGenLists(GLsizei range);
718 void glDeleteLists(GLuint list, GLsizei range);
719 void glCallLists(GLsizei n, GLenum type, const GLvoid *lists);
720 void glCallList(GLuint list);
721 void glEndList();
722 void glNewList(GLuint list, GLenum mode);
723
724 // OpenGL 1.1 deprecated functions
725 void glPushClientAttrib(GLbitfield mask);
726 void glPopClientAttrib();
727 void glPrioritizeTextures(GLsizei n, const GLuint *textures, const GLfloat *priorities);
728 GLboolean glAreTexturesResident(GLsizei n, const GLuint *textures, GLboolean *residences);
729 void glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
730 void glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
731 void glNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer);
732 void glInterleavedArrays(GLenum format, GLsizei stride, const GLvoid *pointer);
733 void glIndexPointer(GLenum type, GLsizei stride, const GLvoid *pointer);
734 void glEnableClientState(GLenum array);
735 void glEdgeFlagPointer(GLsizei stride, const GLvoid *pointer);
736 void glDisableClientState(GLenum array);
737 void glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
738 void glArrayElement(GLint i);
739
740 // OpenGL 1.2 deprecated functions
741 void glResetMinmax(GLenum target);
742 void glResetHistogram(GLenum target);
743 void glMinmax(GLenum target, GLenum internalformat, GLboolean sink);
744 void glHistogram(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
745 void glGetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params);
746 void glGetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params);
747 void glGetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
748 void glGetHistogramParameteriv(GLenum target, GLenum pname, GLint *params);
749 void glGetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params);
750 void glGetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
751 void glSeparableFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);
752 void glGetSeparableFilter(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);
753 void glGetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params);
754 void glGetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params);
755 void glGetConvolutionFilter(GLenum target, GLenum format, GLenum type, GLvoid *image);
756 void glCopyConvolutionFilter2D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
757 void glCopyConvolutionFilter1D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
758 void glConvolutionParameteriv(GLenum target, GLenum pname, const GLint *params);
759 void glConvolutionParameteri(GLenum target, GLenum pname, GLint params);
760 void glConvolutionParameterfv(GLenum target, GLenum pname, const GLfloat *params);
761 void glConvolutionParameterf(GLenum target, GLenum pname, GLfloat params);
762 void glConvolutionFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);
763 void glConvolutionFilter1D(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);
764 void glCopyColorSubTable(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
765 void glColorSubTable(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data);
766 void glGetColorTableParameteriv(GLenum target, GLenum pname, GLint *params);
767 void glGetColorTableParameterfv(GLenum target, GLenum pname, GLfloat *params);
768 void glGetColorTable(GLenum target, GLenum format, GLenum type, GLvoid *table);
769 void glCopyColorTable(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
770 void glColorTableParameteriv(GLenum target, GLenum pname, const GLint *params);
771 void glColorTableParameterfv(GLenum target, GLenum pname, const GLfloat *params);
772 void glColorTable(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
773
774 // OpenGL 1.3 deprecated functions
775 void glMultTransposeMatrixd(const GLdouble *m);
776 void glMultTransposeMatrixf(const GLfloat *m);
777 void glLoadTransposeMatrixd(const GLdouble *m);
778 void glLoadTransposeMatrixf(const GLfloat *m);
779 void glMultiTexCoord4sv(GLenum target, const GLshort *v);
780 void glMultiTexCoord4s(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
781 void glMultiTexCoord4iv(GLenum target, const GLint *v);
782 void glMultiTexCoord4i(GLenum target, GLint s, GLint t, GLint r, GLint q);
783 void glMultiTexCoord4fv(GLenum target, const GLfloat *v);
784 void glMultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
785 void glMultiTexCoord4dv(GLenum target, const GLdouble *v);
786 void glMultiTexCoord4d(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
787 void glMultiTexCoord3sv(GLenum target, const GLshort *v);
788 void glMultiTexCoord3s(GLenum target, GLshort s, GLshort t, GLshort r);
789 void glMultiTexCoord3iv(GLenum target, const GLint *v);
790 void glMultiTexCoord3i(GLenum target, GLint s, GLint t, GLint r);
791 void glMultiTexCoord3fv(GLenum target, const GLfloat *v);
792 void glMultiTexCoord3f(GLenum target, GLfloat s, GLfloat t, GLfloat r);
793 void glMultiTexCoord3dv(GLenum target, const GLdouble *v);
794 void glMultiTexCoord3d(GLenum target, GLdouble s, GLdouble t, GLdouble r);
795 void glMultiTexCoord2sv(GLenum target, const GLshort *v);
796 void glMultiTexCoord2s(GLenum target, GLshort s, GLshort t);
797 void glMultiTexCoord2iv(GLenum target, const GLint *v);
798 void glMultiTexCoord2i(GLenum target, GLint s, GLint t);
799 void glMultiTexCoord2fv(GLenum target, const GLfloat *v);
800 void glMultiTexCoord2f(GLenum target, GLfloat s, GLfloat t);
801 void glMultiTexCoord2dv(GLenum target, const GLdouble *v);
802 void glMultiTexCoord2d(GLenum target, GLdouble s, GLdouble t);
803 void glMultiTexCoord1sv(GLenum target, const GLshort *v);
804 void glMultiTexCoord1s(GLenum target, GLshort s);
805 void glMultiTexCoord1iv(GLenum target, const GLint *v);
806 void glMultiTexCoord1i(GLenum target, GLint s);
807 void glMultiTexCoord1fv(GLenum target, const GLfloat *v);
808 void glMultiTexCoord1f(GLenum target, GLfloat s);
809 void glMultiTexCoord1dv(GLenum target, const GLdouble *v);
810 void glMultiTexCoord1d(GLenum target, GLdouble s);
811 void glClientActiveTexture(GLenum texture);
812
813 // OpenGL 1.4 deprecated functions
814 void glWindowPos3sv(const GLshort *v);
815 void glWindowPos3s(GLshort x, GLshort y, GLshort z);
816 void glWindowPos3iv(const GLint *v);
817 void glWindowPos3i(GLint x, GLint y, GLint z);
818 void glWindowPos3fv(const GLfloat *v);
819 void glWindowPos3f(GLfloat x, GLfloat y, GLfloat z);
820 void glWindowPos3dv(const GLdouble *v);
821 void glWindowPos3d(GLdouble x, GLdouble y, GLdouble z);
822 void glWindowPos2sv(const GLshort *v);
823 void glWindowPos2s(GLshort x, GLshort y);
824 void glWindowPos2iv(const GLint *v);
825 void glWindowPos2i(GLint x, GLint y);
826 void glWindowPos2fv(const GLfloat *v);
827 void glWindowPos2f(GLfloat x, GLfloat y);
828 void glWindowPos2dv(const GLdouble *v);
829 void glWindowPos2d(GLdouble x, GLdouble y);
830 void glSecondaryColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
831 void glSecondaryColor3usv(const GLushort *v);
832 void glSecondaryColor3us(GLushort red, GLushort green, GLushort blue);
833 void glSecondaryColor3uiv(const GLuint *v);
834 void glSecondaryColor3ui(GLuint red, GLuint green, GLuint blue);
835 void glSecondaryColor3ubv(const GLubyte *v);
836 void glSecondaryColor3ub(GLubyte red, GLubyte green, GLubyte blue);
837 void glSecondaryColor3sv(const GLshort *v);
838 void glSecondaryColor3s(GLshort red, GLshort green, GLshort blue);
839 void glSecondaryColor3iv(const GLint *v);
840 void glSecondaryColor3i(GLint red, GLint green, GLint blue);
841 void glSecondaryColor3fv(const GLfloat *v);
842 void glSecondaryColor3f(GLfloat red, GLfloat green, GLfloat blue);
843 void glSecondaryColor3dv(const GLdouble *v);
844 void glSecondaryColor3d(GLdouble red, GLdouble green, GLdouble blue);
845 void glSecondaryColor3bv(const GLbyte *v);
846 void glSecondaryColor3b(GLbyte red, GLbyte green, GLbyte blue);
847 void glFogCoordPointer(GLenum type, GLsizei stride, const GLvoid *pointer);
848 void glFogCoorddv(const GLdouble *coord);
849 void glFogCoordd(GLdouble coord);
850 void glFogCoordfv(const GLfloat *coord);
851 void glFogCoordf(GLfloat coord);
852
853 // OpenGL 1.5 deprecated functions
854
855 // OpenGL 2.0 deprecated functions
856 void glVertexAttrib4usv(GLuint index, const GLushort *v);
857 void glVertexAttrib4uiv(GLuint index, const GLuint *v);
858 void glVertexAttrib4ubv(GLuint index, const GLubyte *v);
859 void glVertexAttrib4sv(GLuint index, const GLshort *v);
860 void glVertexAttrib4s(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
861 void glVertexAttrib4iv(GLuint index, const GLint *v);
862 void glVertexAttrib4fv(GLuint index, const GLfloat *v);
863 void glVertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
864 void glVertexAttrib4dv(GLuint index, const GLdouble *v);
865 void glVertexAttrib4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
866 void glVertexAttrib4bv(GLuint index, const GLbyte *v);
867 void glVertexAttrib4Nusv(GLuint index, const GLushort *v);
868 void glVertexAttrib4Nuiv(GLuint index, const GLuint *v);
869 void glVertexAttrib4Nubv(GLuint index, const GLubyte *v);
870 void glVertexAttrib4Nub(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
871 void glVertexAttrib4Nsv(GLuint index, const GLshort *v);
872 void glVertexAttrib4Niv(GLuint index, const GLint *v);
873 void glVertexAttrib4Nbv(GLuint index, const GLbyte *v);
874 void glVertexAttrib3sv(GLuint index, const GLshort *v);
875 void glVertexAttrib3s(GLuint index, GLshort x, GLshort y, GLshort z);
876 void glVertexAttrib3fv(GLuint index, const GLfloat *v);
877 void glVertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z);
878 void glVertexAttrib3dv(GLuint index, const GLdouble *v);
879 void glVertexAttrib3d(GLuint index, GLdouble x, GLdouble y, GLdouble z);
880 void glVertexAttrib2sv(GLuint index, const GLshort *v);
881 void glVertexAttrib2s(GLuint index, GLshort x, GLshort y);
882 void glVertexAttrib2fv(GLuint index, const GLfloat *v);
883 void glVertexAttrib2f(GLuint index, GLfloat x, GLfloat y);
884 void glVertexAttrib2dv(GLuint index, const GLdouble *v);
885 void glVertexAttrib2d(GLuint index, GLdouble x, GLdouble y);
886 void glVertexAttrib1sv(GLuint index, const GLshort *v);
887 void glVertexAttrib1s(GLuint index, GLshort x);
888 void glVertexAttrib1fv(GLuint index, const GLfloat *v);
889 void glVertexAttrib1f(GLuint index, GLfloat x);
890 void glVertexAttrib1dv(GLuint index, const GLdouble *v);
891 void glVertexAttrib1d(GLuint index, GLdouble x);
892
893 // OpenGL 2.1 deprecated functions
894
895 // OpenGL 3.0 deprecated functions
896 void glVertexAttribI4usv(GLuint index, const GLushort *v);
897 void glVertexAttribI4ubv(GLuint index, const GLubyte *v);
898 void glVertexAttribI4sv(GLuint index, const GLshort *v);
899 void glVertexAttribI4bv(GLuint index, const GLbyte *v);
900 void glVertexAttribI4uiv(GLuint index, const GLuint *v);
901 void glVertexAttribI3uiv(GLuint index, const GLuint *v);
902 void glVertexAttribI2uiv(GLuint index, const GLuint *v);
903 void glVertexAttribI1uiv(GLuint index, const GLuint *v);
904 void glVertexAttribI4iv(GLuint index, const GLint *v);
905 void glVertexAttribI3iv(GLuint index, const GLint *v);
906 void glVertexAttribI2iv(GLuint index, const GLint *v);
907 void glVertexAttribI1iv(GLuint index, const GLint *v);
908 void glVertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
909 void glVertexAttribI3ui(GLuint index, GLuint x, GLuint y, GLuint z);
910 void glVertexAttribI2ui(GLuint index, GLuint x, GLuint y);
911 void glVertexAttribI1ui(GLuint index, GLuint x);
912 void glVertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w);
913 void glVertexAttribI3i(GLuint index, GLint x, GLint y, GLint z);
914 void glVertexAttribI2i(GLuint index, GLint x, GLint y);
915 void glVertexAttribI1i(GLuint index, GLint x);
916
917 // OpenGL 3.1 deprecated functions
918
919 // OpenGL 3.2 deprecated functions
920
921 // OpenGL 3.3 deprecated functions
922
923 // OpenGL 4.0 deprecated functions
924
925private:
926 friend class QOpenGLVersionFunctionsFactory;
927
928 static bool isContextCompatible(QOpenGLContext *context);
929 static QOpenGLVersionProfile versionProfile();
930
931 QOpenGLFunctions_1_0_CoreBackend* d_1_0_Core;
932 QOpenGLFunctions_1_1_CoreBackend* d_1_1_Core;
933 QOpenGLFunctions_1_2_CoreBackend* d_1_2_Core;
934 QOpenGLFunctions_1_3_CoreBackend* d_1_3_Core;
935 QOpenGLFunctions_1_4_CoreBackend* d_1_4_Core;
936 QOpenGLFunctions_1_5_CoreBackend* d_1_5_Core;
937 QOpenGLFunctions_2_0_CoreBackend* d_2_0_Core;
938 QOpenGLFunctions_2_1_CoreBackend* d_2_1_Core;
939 QOpenGLFunctions_3_0_CoreBackend* d_3_0_Core;
940 QOpenGLFunctions_3_1_CoreBackend* d_3_1_Core;
941 QOpenGLFunctions_3_2_CoreBackend* d_3_2_Core;
942 QOpenGLFunctions_3_3_CoreBackend* d_3_3_Core;
943 QOpenGLFunctions_4_0_CoreBackend* d_4_0_Core;
944 QOpenGLFunctions_1_0_DeprecatedBackend* d_1_0_Deprecated;
945 QOpenGLFunctions_1_1_DeprecatedBackend* d_1_1_Deprecated;
946 QOpenGLFunctions_1_2_DeprecatedBackend* d_1_2_Deprecated;
947 QOpenGLFunctions_1_3_DeprecatedBackend* d_1_3_Deprecated;
948 QOpenGLFunctions_1_4_DeprecatedBackend* d_1_4_Deprecated;
949 void *m_reserved_2_0_Deprecated; // To maintain BC
950 QOpenGLFunctions_3_3_DeprecatedBackend* d_3_3_Deprecated;
951};
952
953// OpenGL 1.0 core functions
954inline void QOpenGLFunctions_4_0_Compatibility::glViewport(GLint x, GLint y, GLsizei width, GLsizei height)
955{
956 d_1_0_Core->f.Viewport(x, y, width, height);
957}
958
959inline void QOpenGLFunctions_4_0_Compatibility::glDepthRange(GLdouble nearVal, GLdouble farVal)
960{
961 d_1_0_Core->f.DepthRange(nearVal, farVal);
962}
963
964inline GLboolean QOpenGLFunctions_4_0_Compatibility::glIsEnabled(GLenum cap)
965{
966 return d_1_0_Core->f.IsEnabled(cap);
967}
968
969inline void QOpenGLFunctions_4_0_Compatibility::glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params)
970{
971 d_1_0_Core->f.GetTexLevelParameteriv(target, level, pname, params);
972}
973
974inline void QOpenGLFunctions_4_0_Compatibility::glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params)
975{
976 d_1_0_Core->f.GetTexLevelParameterfv(target, level, pname, params);
977}
978
979inline void QOpenGLFunctions_4_0_Compatibility::glGetTexParameteriv(GLenum target, GLenum pname, GLint *params)
980{
981 d_1_0_Core->f.GetTexParameteriv(target, pname, params);
982}
983
984inline void QOpenGLFunctions_4_0_Compatibility::glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params)
985{
986 d_1_0_Core->f.GetTexParameterfv(target, pname, params);
987}
988
989inline void QOpenGLFunctions_4_0_Compatibility::glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels)
990{
991 d_1_0_Core->f.GetTexImage(target, level, format, type, pixels);
992}
993
994inline const GLubyte * QOpenGLFunctions_4_0_Compatibility::glGetString(GLenum name)
995{
996 return d_1_0_Core->f.GetString(name);
997}
998
999inline void QOpenGLFunctions_4_0_Compatibility::glGetIntegerv(GLenum pname, GLint *params)
1000{
1001 d_1_0_Core->f.GetIntegerv(pname, params);
1002}
1003
1004inline void QOpenGLFunctions_4_0_Compatibility::glGetFloatv(GLenum pname, GLfloat *params)
1005{
1006 d_1_0_Core->f.GetFloatv(pname, params);
1007}
1008
1009inline GLenum QOpenGLFunctions_4_0_Compatibility::glGetError()
1010{
1011 return d_1_0_Core->f.GetError();
1012}
1013
1014inline void QOpenGLFunctions_4_0_Compatibility::glGetDoublev(GLenum pname, GLdouble *params)
1015{
1016 d_1_0_Core->f.GetDoublev(pname, params);
1017}
1018
1019inline void QOpenGLFunctions_4_0_Compatibility::glGetBooleanv(GLenum pname, GLboolean *params)
1020{
1021 d_1_0_Core->f.GetBooleanv(pname, params);
1022}
1023
1024inline void QOpenGLFunctions_4_0_Compatibility::glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels)
1025{
1026 d_1_0_Core->f.ReadPixels(x, y, width, height, format, type, pixels);
1027}
1028
1029inline void QOpenGLFunctions_4_0_Compatibility::glReadBuffer(GLenum mode)
1030{
1031 d_1_0_Core->f.ReadBuffer(mode);
1032}
1033
1034inline void QOpenGLFunctions_4_0_Compatibility::glPixelStorei(GLenum pname, GLint param)
1035{
1036 d_1_0_Core->f.PixelStorei(pname, param);
1037}
1038
1039inline void QOpenGLFunctions_4_0_Compatibility::glPixelStoref(GLenum pname, GLfloat param)
1040{
1041 d_1_0_Core->f.PixelStoref(pname, param);
1042}
1043
1044inline void QOpenGLFunctions_4_0_Compatibility::glDepthFunc(GLenum func)
1045{
1046 d_1_0_Core->f.DepthFunc(func);
1047}
1048
1049inline void QOpenGLFunctions_4_0_Compatibility::glStencilOp(GLenum fail, GLenum zfail, GLenum zpass)
1050{
1051 d_1_0_Core->f.StencilOp(fail, zfail, zpass);
1052}
1053
1054inline void QOpenGLFunctions_4_0_Compatibility::glStencilFunc(GLenum func, GLint ref, GLuint mask)
1055{
1056 d_1_0_Core->f.StencilFunc(func, ref, mask);
1057}
1058
1059inline void QOpenGLFunctions_4_0_Compatibility::glLogicOp(GLenum opcode)
1060{
1061 d_1_0_Core->f.LogicOp(opcode);
1062}
1063
1064inline void QOpenGLFunctions_4_0_Compatibility::