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_3_2_COMPATIBILITY_H
51#define QOPENGLVERSIONFUNCTIONS_3_2_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_3_2_Compatibility : public QAbstractOpenGLFunctions
64{
65public:
66 QOpenGLFunctions_3_2_Compatibility();
67 ~QOpenGLFunctions_3_2_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 1.0 deprecated functions
357 void glTranslatef(GLfloat x, GLfloat y, GLfloat z);
358 void glTranslated(GLdouble x, GLdouble y, GLdouble z);
359 void glScalef(GLfloat x, GLfloat y, GLfloat z);
360 void glScaled(GLdouble x, GLdouble y, GLdouble z);
361 void glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
362 void glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
363 void glPushMatrix();
364 void glPopMatrix();
365 void glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
366 void glMultMatrixd(const GLdouble *m);
367 void glMultMatrixf(const GLfloat *m);
368 void glMatrixMode(GLenum mode);
369 void glLoadMatrixd(const GLdouble *m);
370 void glLoadMatrixf(const GLfloat *m);
371 void glLoadIdentity();
372 void glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
373 GLboolean glIsList(GLuint list);
374 void glGetTexGeniv(GLenum coord, GLenum pname, GLint *params);
375 void glGetTexGenfv(GLenum coord, GLenum pname, GLfloat *params);
376 void glGetTexGendv(GLenum coord, GLenum pname, GLdouble *params);
377 void glGetTexEnviv(GLenum target, GLenum pname, GLint *params);
378 void glGetTexEnvfv(GLenum target, GLenum pname, GLfloat *params);
379 void glGetPolygonStipple(GLubyte *mask);
380 void glGetPixelMapusv(GLenum map, GLushort *values);
381 void glGetPixelMapuiv(GLenum map, GLuint *values);
382 void glGetPixelMapfv(GLenum map, GLfloat *values);
383 void glGetMaterialiv(GLenum face, GLenum pname, GLint *params);
384 void glGetMaterialfv(GLenum face, GLenum pname, GLfloat *params);
385 void glGetMapiv(GLenum target, GLenum query, GLint *v);
386 void glGetMapfv(GLenum target, GLenum query, GLfloat *v);
387 void glGetMapdv(GLenum target, GLenum query, GLdouble *v);
388 void glGetLightiv(GLenum light, GLenum pname, GLint *params);
389 void glGetLightfv(GLenum light, GLenum pname, GLfloat *params);
390 void glGetClipPlane(GLenum plane, GLdouble *equation);
391 void glDrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
392 void glCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type);
393 void glPixelMapusv(GLenum map, GLint mapsize, const GLushort *values);
394 void glPixelMapuiv(GLenum map, GLint mapsize, const GLuint *values);
395 void glPixelMapfv(GLenum map, GLint mapsize, const GLfloat *values);
396 void glPixelTransferi(GLenum pname, GLint param);
397 void glPixelTransferf(GLenum pname, GLfloat param);
398 void glPixelZoom(GLfloat xfactor, GLfloat yfactor);
399 void glAlphaFunc(GLenum func, GLfloat ref);
400 void glEvalPoint2(GLint i, GLint j);
401 void glEvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2);
402 void glEvalPoint1(GLint i);
403 void glEvalMesh1(GLenum mode, GLint i1, GLint i2);
404 void glEvalCoord2fv(const GLfloat *u);
405 void glEvalCoord2f(GLfloat u, GLfloat v);
406 void glEvalCoord2dv(const GLdouble *u);
407 void glEvalCoord2d(GLdouble u, GLdouble v);
408 void glEvalCoord1fv(const GLfloat *u);
409 void glEvalCoord1f(GLfloat u);
410 void glEvalCoord1dv(const GLdouble *u);
411 void glEvalCoord1d(GLdouble u);
412 void glMapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2);
413 void glMapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2);
414 void glMapGrid1f(GLint un, GLfloat u1, GLfloat u2);
415 void glMapGrid1d(GLint un, GLdouble u1, GLdouble u2);
416 void glMap2f(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);
417 void glMap2d(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);
418 void glMap1f(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);
419 void glMap1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);
420 void glPushAttrib(GLbitfield mask);
421 void glPopAttrib();
422 void glAccum(GLenum op, GLfloat value);
423 void glIndexMask(GLuint mask);
424 void glClearIndex(GLfloat c);
425 void glClearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
426 void glPushName(GLuint name);
427 void glPopName();
428 void glPassThrough(GLfloat token);
429 void glLoadName(GLuint name);
430 void glInitNames();
431 GLint glRenderMode(GLenum mode);
432 void glSelectBuffer(GLsizei size, GLuint *buffer);
433 void glFeedbackBuffer(GLsizei size, GLenum type, GLfloat *buffer);
434 void glTexGeniv(GLenum coord, GLenum pname, const GLint *params);
435 void glTexGeni(GLenum coord, GLenum pname, GLint param);
436 void glTexGenfv(GLenum coord, GLenum pname, const GLfloat *params);
437 void glTexGenf(GLenum coord, GLenum pname, GLfloat param);
438 void glTexGendv(GLenum coord, GLenum pname, const GLdouble *params);
439 void glTexGend(GLenum coord, GLenum pname, GLdouble param);
440 void glTexEnviv(GLenum target, GLenum pname, const GLint *params);
441 void glTexEnvi(GLenum target, GLenum pname, GLint param);
442 void glTexEnvfv(GLenum target, GLenum pname, const GLfloat *params);
443 void glTexEnvf(GLenum target, GLenum pname, GLfloat param);
444 void glShadeModel(GLenum mode);
445 void glPolygonStipple(const GLubyte *mask);
446 void glMaterialiv(GLenum face, GLenum pname, const GLint *params);
447 void glMateriali(GLenum face, GLenum pname, GLint param);
448 void glMaterialfv(GLenum face, GLenum pname, const GLfloat *params);
449 void glMaterialf(GLenum face, GLenum pname, GLfloat param);
450 void glLineStipple(GLint factor, GLushort pattern);
451 void glLightModeliv(GLenum pname, const GLint *params);
452 void glLightModeli(GLenum pname, GLint param);
453 void glLightModelfv(GLenum pname, const GLfloat *params);
454 void glLightModelf(GLenum pname, GLfloat param);
455 void glLightiv(GLenum light, GLenum pname, const GLint *params);
456 void glLighti(GLenum light, GLenum pname, GLint param);
457 void glLightfv(GLenum light, GLenum pname, const GLfloat *params);
458 void glLightf(GLenum light, GLenum pname, GLfloat param);
459 void glFogiv(GLenum pname, const GLint *params);
460 void glFogi(GLenum pname, GLint param);
461 void glFogfv(GLenum pname, const GLfloat *params);
462 void glFogf(GLenum pname, GLfloat param);
463 void glColorMaterial(GLenum face, GLenum mode);
464 void glClipPlane(GLenum plane, const GLdouble *equation);
465 void glVertex4sv(const GLshort *v);
466 void glVertex4s(GLshort x, GLshort y, GLshort z, GLshort w);
467 void glVertex4iv(const GLint *v);
468 void glVertex4i(GLint x, GLint y, GLint z, GLint w);
469 void glVertex4fv(const GLfloat *v);
470 void glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
471 void glVertex4dv(const GLdouble *v);
472 void glVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
473 void glVertex3sv(const GLshort *v);
474 void glVertex3s(GLshort x, GLshort y, GLshort z);
475 void glVertex3iv(const GLint *v);
476 void glVertex3i(GLint x, GLint y, GLint z);
477 void glVertex3fv(const GLfloat *v);
478 void glVertex3f(GLfloat x, GLfloat y, GLfloat z);
479 void glVertex3dv(const GLdouble *v);
480 void glVertex3d(GLdouble x, GLdouble y, GLdouble z);
481 void glVertex2sv(const GLshort *v);
482 void glVertex2s(GLshort x, GLshort y);
483 void glVertex2iv(const GLint *v);
484 void glVertex2i(GLint x, GLint y);
485 void glVertex2fv(const GLfloat *v);
486 void glVertex2f(GLfloat x, GLfloat y);
487 void glVertex2dv(const GLdouble *v);
488 void glVertex2d(GLdouble x, GLdouble y);
489 void glTexCoord4sv(const GLshort *v);
490 void glTexCoord4s(GLshort s, GLshort t, GLshort r, GLshort q);
491 void glTexCoord4iv(const GLint *v);
492 void glTexCoord4i(GLint s, GLint t, GLint r, GLint q);
493 void glTexCoord4fv(const GLfloat *v);
494 void glTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q);
495 void glTexCoord4dv(const GLdouble *v);
496 void glTexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q);
497 void glTexCoord3sv(const GLshort *v);
498 void glTexCoord3s(GLshort s, GLshort t, GLshort r);
499 void glTexCoord3iv(const GLint *v);
500 void glTexCoord3i(GLint s, GLint t, GLint r);
501 void glTexCoord3fv(const GLfloat *v);
502 void glTexCoord3f(GLfloat s, GLfloat t, GLfloat r);
503 void glTexCoord3dv(const GLdouble *v);
504 void glTexCoord3d(GLdouble s, GLdouble t, GLdouble r);
505 void glTexCoord2sv(const GLshort *v);
506 void glTexCoord2s(GLshort s, GLshort t);
507 void glTexCoord2iv(const GLint *v);
508 void glTexCoord2i(GLint s, GLint t);
509 void glTexCoord2fv(const GLfloat *v);
510 void glTexCoord2f(GLfloat s, GLfloat t);
511 void glTexCoord2dv(const GLdouble *v);
512 void glTexCoord2d(GLdouble s, GLdouble t);
513 void glTexCoord1sv(const GLshort *v);
514 void glTexCoord1s(GLshort s);
515 void glTexCoord1iv(const GLint *v);
516 void glTexCoord1i(GLint s);
517 void glTexCoord1fv(const GLfloat *v);
518 void glTexCoord1f(GLfloat s);
519 void glTexCoord1dv(const GLdouble *v);
520 void glTexCoord1d(GLdouble s);
521 void glRectsv(const GLshort *v1, const GLshort *v2);
522 void glRects(GLshort x1, GLshort y1, GLshort x2, GLshort y2);
523 void glRectiv(const GLint *v1, const GLint *v2);
524 void glRecti(GLint x1, GLint y1, GLint x2, GLint y2);
525 void glRectfv(const GLfloat *v1, const GLfloat *v2);
526 void glRectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);
527 void glRectdv(const GLdouble *v1, const GLdouble *v2);
528 void glRectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2);
529 void glRasterPos4sv(const GLshort *v);
530 void glRasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w);
531 void glRasterPos4iv(const GLint *v);
532 void glRasterPos4i(GLint x, GLint y, GLint z, GLint w);
533 void glRasterPos4fv(const GLfloat *v);
534 void glRasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
535 void glRasterPos4dv(const GLdouble *v);
536 void glRasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
537 void glRasterPos3sv(const GLshort *v);
538 void glRasterPos3s(GLshort x, GLshort y, GLshort z);
539 void glRasterPos3iv(const GLint *v);
540 void glRasterPos3i(GLint x, GLint y, GLint z);
541 void glRasterPos3fv(const GLfloat *v);
542 void glRasterPos3f(GLfloat x, GLfloat y, GLfloat z);
543 void glRasterPos3dv(const GLdouble *v);
544 void glRasterPos3d(GLdouble x, GLdouble y, GLdouble z);
545 void glRasterPos2sv(const GLshort *v);
546 void glRasterPos2s(GLshort x, GLshort y);
547 void glRasterPos2iv(const GLint *v);
548 void glRasterPos2i(GLint x, GLint y);
549 void glRasterPos2fv(const GLfloat *v);
550 void glRasterPos2f(GLfloat x, GLfloat y);
551 void glRasterPos2dv(const GLdouble *v);
552 void glRasterPos2d(GLdouble x, GLdouble y);
553 void glNormal3sv(const GLshort *v);
554 void glNormal3s(GLshort nx, GLshort ny, GLshort nz);
555 void glNormal3iv(const GLint *v);
556 void glNormal3i(GLint nx, GLint ny, GLint nz);
557 void glNormal3fv(const GLfloat *v);
558 void glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz);
559 void glNormal3dv(const GLdouble *v);
560 void glNormal3d(GLdouble nx, GLdouble ny, GLdouble nz);
561 void glNormal3bv(const GLbyte *v);
562 void glNormal3b(GLbyte nx, GLbyte ny, GLbyte nz);
563 void glIndexsv(const GLshort *c);
564 void glIndexs(GLshort c);
565 void glIndexiv(const GLint *c);
566 void glIndexi(GLint c);
567 void glIndexfv(const GLfloat *c);
568 void glIndexf(GLfloat c);
569 void glIndexdv(const GLdouble *c);
570 void glIndexd(GLdouble c);
571 void glEnd();
572 void glEdgeFlagv(const GLboolean *flag);
573 void glEdgeFlag(GLboolean flag);
574 void glColor4usv(const GLushort *v);
575 void glColor4us(GLushort red, GLushort green, GLushort blue, GLushort alpha);
576 void glColor4uiv(const GLuint *v);
577 void glColor4ui(GLuint red, GLuint green, GLuint blue, GLuint alpha);
578 void glColor4ubv(const GLubyte *v);
579 void glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);
580 void glColor4sv(const GLshort *v);
581 void glColor4s(GLshort red, GLshort green, GLshort blue, GLshort alpha);
582 void glColor4iv(const GLint *v);
583 void glColor4i(GLint red, GLint green, GLint blue, GLint alpha);
584 void glColor4fv(const GLfloat *v);
585 void glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
586 void glColor4dv(const GLdouble *v);
587 void glColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha);
588 void glColor4bv(const GLbyte *v);
589 void glColor4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha);
590 void glColor3usv(const GLushort *v);
591 void glColor3us(GLushort red, GLushort green, GLushort blue);
592 void glColor3uiv(const GLuint *v);
593 void glColor3ui(GLuint red, GLuint green, GLuint blue);
594 void glColor3ubv(const GLubyte *v);
595 void glColor3ub(GLubyte red, GLubyte green, GLubyte blue);
596 void glColor3sv(const GLshort *v);
597 void glColor3s(GLshort red, GLshort green, GLshort blue);
598 void glColor3iv(const GLint *v);
599 void glColor3i(GLint red, GLint green, GLint blue);
600 void glColor3fv(const GLfloat *v);
601 void glColor3f(GLfloat red, GLfloat green, GLfloat blue);
602 void glColor3dv(const GLdouble *v);
603 void glColor3d(GLdouble red, GLdouble green, GLdouble blue);
604 void glColor3bv(const GLbyte *v);
605 void glColor3b(GLbyte red, GLbyte green, GLbyte blue);
606 void glBitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap);
607 void glBegin(GLenum mode);
608 void glListBase(GLuint base);
609 GLuint glGenLists(GLsizei range);
610 void glDeleteLists(GLuint list, GLsizei range);
611 void glCallLists(GLsizei n, GLenum type, const GLvoid *lists);
612 void glCallList(GLuint list);
613 void glEndList();
614 void glNewList(GLuint list, GLenum mode);
615
616 // OpenGL 1.1 deprecated functions
617 void glPushClientAttrib(GLbitfield mask);
618 void glPopClientAttrib();
619 void glPrioritizeTextures(GLsizei n, const GLuint *textures, const GLfloat *priorities);
620 GLboolean glAreTexturesResident(GLsizei n, const GLuint *textures, GLboolean *residences);
621 void glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
622 void glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
623 void glNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer);
624 void glInterleavedArrays(GLenum format, GLsizei stride, const GLvoid *pointer);
625 void glIndexPointer(GLenum type, GLsizei stride, const GLvoid *pointer);
626 void glEnableClientState(GLenum array);
627 void glEdgeFlagPointer(GLsizei stride, const GLvoid *pointer);
628 void glDisableClientState(GLenum array);
629 void glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
630 void glArrayElement(GLint i);
631
632 // OpenGL 1.2 deprecated functions
633 void glResetMinmax(GLenum target);
634 void glResetHistogram(GLenum target);
635 void glMinmax(GLenum target, GLenum internalformat, GLboolean sink);
636 void glHistogram(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
637 void glGetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params);
638 void glGetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params);
639 void glGetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
640 void glGetHistogramParameteriv(GLenum target, GLenum pname, GLint *params);
641 void glGetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params);
642 void glGetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
643 void glSeparableFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);
644 void glGetSeparableFilter(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);
645 void glGetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params);
646 void glGetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params);
647 void glGetConvolutionFilter(GLenum target, GLenum format, GLenum type, GLvoid *image);
648 void glCopyConvolutionFilter2D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
649 void glCopyConvolutionFilter1D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
650 void glConvolutionParameteriv(GLenum target, GLenum pname, const GLint *params);
651 void glConvolutionParameteri(GLenum target, GLenum pname, GLint params);
652 void glConvolutionParameterfv(GLenum target, GLenum pname, const GLfloat *params);
653 void glConvolutionParameterf(GLenum target, GLenum pname, GLfloat params);
654 void glConvolutionFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);
655 void glConvolutionFilter1D(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);
656 void glCopyColorSubTable(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
657 void glColorSubTable(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data);
658 void glGetColorTableParameteriv(GLenum target, GLenum pname, GLint *params);
659 void glGetColorTableParameterfv(GLenum target, GLenum pname, GLfloat *params);
660 void glGetColorTable(GLenum target, GLenum format, GLenum type, GLvoid *table);
661 void glCopyColorTable(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
662 void glColorTableParameteriv(GLenum target, GLenum pname, const GLint *params);
663 void glColorTableParameterfv(GLenum target, GLenum pname, const GLfloat *params);
664 void glColorTable(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
665
666 // OpenGL 1.3 deprecated functions
667 void glMultTransposeMatrixd(const GLdouble *m);
668 void glMultTransposeMatrixf(const GLfloat *m);
669 void glLoadTransposeMatrixd(const GLdouble *m);
670 void glLoadTransposeMatrixf(const GLfloat *m);
671 void glMultiTexCoord4sv(GLenum target, const GLshort *v);
672 void glMultiTexCoord4s(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
673 void glMultiTexCoord4iv(GLenum target, const GLint *v);
674 void glMultiTexCoord4i(GLenum target, GLint s, GLint t, GLint r, GLint q);
675 void glMultiTexCoord4fv(GLenum target, const GLfloat *v);
676 void glMultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
677 void glMultiTexCoord4dv(GLenum target, const GLdouble *v);
678 void glMultiTexCoord4d(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
679 void glMultiTexCoord3sv(GLenum target, const GLshort *v);
680 void glMultiTexCoord3s(GLenum target, GLshort s, GLshort t, GLshort r);
681 void glMultiTexCoord3iv(GLenum target, const GLint *v);
682 void glMultiTexCoord3i(GLenum target, GLint s, GLint t, GLint r);
683 void glMultiTexCoord3fv(GLenum target, const GLfloat *v);
684 void glMultiTexCoord3f(GLenum target, GLfloat s, GLfloat t, GLfloat r);
685 void glMultiTexCoord3dv(GLenum target, const GLdouble *v);
686 void glMultiTexCoord3d(GLenum target, GLdouble s, GLdouble t, GLdouble r);
687 void glMultiTexCoord2sv(GLenum target, const GLshort *v);
688 void glMultiTexCoord2s(GLenum target, GLshort s, GLshort t);
689 void glMultiTexCoord2iv(GLenum target, const GLint *v);
690 void glMultiTexCoord2i(GLenum target, GLint s, GLint t);
691 void glMultiTexCoord2fv(GLenum target, const GLfloat *v);
692 void glMultiTexCoord2f(GLenum target, GLfloat s, GLfloat t);
693 void glMultiTexCoord2dv(GLenum target, const GLdouble *v);
694 void glMultiTexCoord2d(GLenum target, GLdouble s, GLdouble t);
695 void glMultiTexCoord1sv(GLenum target, const GLshort *v);
696 void glMultiTexCoord1s(GLenum target, GLshort s);
697 void glMultiTexCoord1iv(GLenum target, const GLint *v);
698 void glMultiTexCoord1i(GLenum target, GLint s);
699 void glMultiTexCoord1fv(GLenum target, const GLfloat *v);
700 void glMultiTexCoord1f(GLenum target, GLfloat s);
701 void glMultiTexCoord1dv(GLenum target, const GLdouble *v);
702 void glMultiTexCoord1d(GLenum target, GLdouble s);
703 void glClientActiveTexture(GLenum texture);
704
705 // OpenGL 1.4 deprecated functions
706 void glWindowPos3sv(const GLshort *v);
707 void glWindowPos3s(GLshort x, GLshort y, GLshort z);
708 void glWindowPos3iv(const GLint *v);
709 void glWindowPos3i(GLint x, GLint y, GLint z);
710 void glWindowPos3fv(const GLfloat *v);
711 void glWindowPos3f(GLfloat x, GLfloat y, GLfloat z);
712 void glWindowPos3dv(const GLdouble *v);
713 void glWindowPos3d(GLdouble x, GLdouble y, GLdouble z);
714 void glWindowPos2sv(const GLshort *v);
715 void glWindowPos2s(GLshort x, GLshort y);
716 void glWindowPos2iv(const GLint *v);
717 void glWindowPos2i(GLint x, GLint y);
718 void glWindowPos2fv(const GLfloat *v);
719 void glWindowPos2f(GLfloat x, GLfloat y);
720 void glWindowPos2dv(const GLdouble *v);
721 void glWindowPos2d(GLdouble x, GLdouble y);
722 void glSecondaryColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
723 void glSecondaryColor3usv(const GLushort *v);
724 void glSecondaryColor3us(GLushort red, GLushort green, GLushort blue);
725 void glSecondaryColor3uiv(const GLuint *v);
726 void glSecondaryColor3ui(GLuint red, GLuint green, GLuint blue);
727 void glSecondaryColor3ubv(const GLubyte *v);
728 void glSecondaryColor3ub(GLubyte red, GLubyte green, GLubyte blue);
729 void glSecondaryColor3sv(const GLshort *v);
730 void glSecondaryColor3s(GLshort red, GLshort green, GLshort blue);
731 void glSecondaryColor3iv(const GLint *v);
732 void glSecondaryColor3i(GLint red, GLint green, GLint blue);
733 void glSecondaryColor3fv(const GLfloat *v);
734 void glSecondaryColor3f(GLfloat red, GLfloat green, GLfloat blue);
735 void glSecondaryColor3dv(const GLdouble *v);
736 void glSecondaryColor3d(GLdouble red, GLdouble green, GLdouble blue);
737 void glSecondaryColor3bv(const GLbyte *v);
738 void glSecondaryColor3b(GLbyte red, GLbyte green, GLbyte blue);
739 void glFogCoordPointer(GLenum type, GLsizei stride, const GLvoid *pointer);
740 void glFogCoorddv(const GLdouble *coord);
741 void glFogCoordd(GLdouble coord);
742 void glFogCoordfv(const GLfloat *coord);
743 void glFogCoordf(GLfloat coord);
744
745 // OpenGL 1.5 deprecated functions
746
747 // OpenGL 2.0 deprecated functions
748 void glVertexAttrib4usv(GLuint index, const GLushort *v);
749 void glVertexAttrib4uiv(GLuint index, const GLuint *v);
750 void glVertexAttrib4ubv(GLuint index, const GLubyte *v);
751 void glVertexAttrib4sv(GLuint index, const GLshort *v);
752 void glVertexAttrib4s(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
753 void glVertexAttrib4iv(GLuint index, const GLint *v);
754 void glVertexAttrib4fv(GLuint index, const GLfloat *v);
755 void glVertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
756 void glVertexAttrib4dv(GLuint index, const GLdouble *v);
757 void glVertexAttrib4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
758 void glVertexAttrib4bv(GLuint index, const GLbyte *v);
759 void glVertexAttrib4Nusv(GLuint index, const GLushort *v);
760 void glVertexAttrib4Nuiv(GLuint index, const GLuint *v);
761 void glVertexAttrib4Nubv(GLuint index, const GLubyte *v);
762 void glVertexAttrib4Nub(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
763 void glVertexAttrib4Nsv(GLuint index, const GLshort *v);
764 void glVertexAttrib4Niv(GLuint index, const GLint *v);
765 void glVertexAttrib4Nbv(GLuint index, const GLbyte *v);
766 void glVertexAttrib3sv(GLuint index, const GLshort *v);
767 void glVertexAttrib3s(GLuint index, GLshort x, GLshort y, GLshort z);
768 void glVertexAttrib3fv(GLuint index, const GLfloat *v);
769 void glVertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z);
770 void glVertexAttrib3dv(GLuint index, const GLdouble *v);
771 void glVertexAttrib3d(GLuint index, GLdouble x, GLdouble y, GLdouble z);
772 void glVertexAttrib2sv(GLuint index, const GLshort *v);
773 void glVertexAttrib2s(GLuint index, GLshort x, GLshort y);
774 void glVertexAttrib2fv(GLuint index, const GLfloat *v);
775 void glVertexAttrib2f(GLuint index, GLfloat x, GLfloat y);
776 void glVertexAttrib2dv(GLuint index, const GLdouble *v);
777 void glVertexAttrib2d(GLuint index, GLdouble x, GLdouble y);
778 void glVertexAttrib1sv(GLuint index, const GLshort *v);
779 void glVertexAttrib1s(GLuint index, GLshort x);
780 void glVertexAttrib1fv(GLuint index, const GLfloat *v);
781 void glVertexAttrib1f(GLuint index, GLfloat x);
782 void glVertexAttrib1dv(GLuint index, const GLdouble *v);
783 void glVertexAttrib1d(GLuint index, GLdouble x);
784
785 // OpenGL 2.1 deprecated functions
786
787 // OpenGL 3.0 deprecated functions
788 void glVertexAttribI4usv(GLuint index, const GLushort *v);
789 void glVertexAttribI4ubv(GLuint index, const GLubyte *v);
790 void glVertexAttribI4sv(GLuint index, const GLshort *v);
791 void glVertexAttribI4bv(GLuint index, const GLbyte *v);
792 void glVertexAttribI4uiv(GLuint index, const GLuint *v);
793 void glVertexAttribI3uiv(GLuint index, const GLuint *v);
794 void glVertexAttribI2uiv(GLuint index, const GLuint *v);
795 void glVertexAttribI1uiv(GLuint index, const GLuint *v);
796 void glVertexAttribI4iv(GLuint index, const GLint *v);
797 void glVertexAttribI3iv(GLuint index, const GLint *v);
798 void glVertexAttribI2iv(GLuint index, const GLint *v);
799 void glVertexAttribI1iv(GLuint index, const GLint *v);
800 void glVertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
801 void glVertexAttribI3ui(GLuint index, GLuint x, GLuint y, GLuint z);
802 void glVertexAttribI2ui(GLuint index, GLuint x, GLuint y);
803 void glVertexAttribI1ui(GLuint index, GLuint x);
804 void glVertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w);
805 void glVertexAttribI3i(GLuint index, GLint x, GLint y, GLint z);
806 void glVertexAttribI2i(GLuint index, GLint x, GLint y);
807 void glVertexAttribI1i(GLuint index, GLint x);
808
809 // OpenGL 3.1 deprecated functions
810
811 // OpenGL 3.2 deprecated functions
812
813private:
814 friend class QOpenGLVersionFunctionsFactory;
815
816 static bool isContextCompatible(QOpenGLContext *context);
817 static QOpenGLVersionProfile versionProfile();
818
819 QOpenGLFunctions_1_0_CoreBackend* d_1_0_Core;
820 QOpenGLFunctions_1_1_CoreBackend* d_1_1_Core;
821 QOpenGLFunctions_1_2_CoreBackend* d_1_2_Core;
822 QOpenGLFunctions_1_3_CoreBackend* d_1_3_Core;
823 QOpenGLFunctions_1_4_CoreBackend* d_1_4_Core;
824 QOpenGLFunctions_1_5_CoreBackend* d_1_5_Core;
825 QOpenGLFunctions_2_0_CoreBackend* d_2_0_Core;
826 QOpenGLFunctions_2_1_CoreBackend* d_2_1_Core;
827 QOpenGLFunctions_3_0_CoreBackend* d_3_0_Core;
828 QOpenGLFunctions_3_1_CoreBackend* d_3_1_Core;
829 QOpenGLFunctions_3_2_CoreBackend* d_3_2_Core;
830 QOpenGLFunctions_1_0_DeprecatedBackend* d_1_0_Deprecated;
831 QOpenGLFunctions_1_1_DeprecatedBackend* d_1_1_Deprecated;
832 QOpenGLFunctions_1_2_DeprecatedBackend* d_1_2_Deprecated;
833 QOpenGLFunctions_1_3_DeprecatedBackend* d_1_3_Deprecated;
834 QOpenGLFunctions_1_4_DeprecatedBackend* d_1_4_Deprecated;
835 void *m_reserved_2_0_Deprecated; // To maintain BC
836 void *m_reserved_3_0_Deprecated; // To maintain BC
837};
838
839// OpenGL 1.0 core functions
840inline void QOpenGLFunctions_3_2_Compatibility::glViewport(GLint x, GLint y, GLsizei width, GLsizei height)
841{
842 d_1_0_Core->f.Viewport(x, y, width, height);
843}
844
845inline void QOpenGLFunctions_3_2_Compatibility::glDepthRange(GLdouble nearVal, GLdouble farVal)
846{
847 d_1_0_Core->f.DepthRange(nearVal, farVal);
848}
849
850inline GLboolean QOpenGLFunctions_3_2_Compatibility::glIsEnabled(GLenum cap)
851{
852 return d_1_0_Core->f.IsEnabled(cap);
853}
854
855inline void QOpenGLFunctions_3_2_Compatibility::glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params)
856{
857 d_1_0_Core->f.GetTexLevelParameteriv(target, level, pname, params);
858}
859
860inline void QOpenGLFunctions_3_2_Compatibility::glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params)
861{
862 d_1_0_Core->f.GetTexLevelParameterfv(target, level, pname, params);
863}
864
865inline void QOpenGLFunctions_3_2_Compatibility::glGetTexParameteriv(GLenum target, GLenum pname, GLint *params)
866{
867 d_1_0_Core->f.GetTexParameteriv(target, pname, params);
868}
869
870inline void QOpenGLFunctions_3_2_Compatibility::glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params)
871{
872 d_1_0_Core->f.GetTexParameterfv(target, pname, params);
873}
874
875inline void QOpenGLFunctions_3_2_Compatibility::glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels)
876{
877 d_1_0_Core->f.GetTexImage(target, level, format, type, pixels);
878}
879
880inline const GLubyte * QOpenGLFunctions_3_2_Compatibility::glGetString(GLenum name)
881{
882 return d_1_0_Core->f.GetString(name);
883}
884
885inline void QOpenGLFunctions_3_2_Compatibility::glGetIntegerv(GLenum pname, GLint *params)
886{
887 d_1_0_Core->f.GetIntegerv(pname, params);
888}
889
890inline void QOpenGLFunctions_3_2_Compatibility::glGetFloatv(GLenum pname, GLfloat *params)
891{
892 d_1_0_Core->f.GetFloatv(pname, params);
893}
894
895inline GLenum QOpenGLFunctions_3_2_Compatibility::glGetError()
896{
897 return d_1_0_Core->f.GetError();
898}
899
900inline void QOpenGLFunctions_3_2_Compatibility::glGetDoublev(GLenum pname, GLdouble *params)
901{
902 d_1_0_Core->f.GetDoublev(pname, params);
903}
904
905inline void QOpenGLFunctions_3_2_Compatibility::glGetBooleanv(GLenum pname, GLboolean *params)
906{
907 d_1_0_Core->f.GetBooleanv(pname, params);
908}
909
910inline void QOpenGLFunctions_3_2_Compatibility::glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels)
911{
912 d_1_0_Core->f.ReadPixels(x, y, width, height, format, type, pixels);
913}
914
915inline void QOpenGLFunctions_3_2_Compatibility::glReadBuffer(GLenum mode)
916{
917 d_1_0_Core->f.ReadBuffer(mode);
918}
919
920inline void QOpenGLFunctions_3_2_Compatibility::glPixelStorei(GLenum pname, GLint param)
921{
922 d_1_0_Core->f.PixelStorei(pname, param);
923}
924
925inline void QOpenGLFunctions_3_2_Compatibility::glPixelStoref(GLenum pname, GLfloat param)
926{
927 d_1_0_Core->f.PixelStoref(pname, param);
928}
929
930inline void QOpenGLFunctions_3_2_Compatibility::glDepthFunc(GLenum func)
931{
932 d_1_0_Core->f.DepthFunc(func);
933}
934
935inline void QOpenGLFunctions_3_2_Compatibility::glStencilOp(GLenum fail, GLenum zfail, GLenum zpass)
936{
937 d_1_0_Core->f.StencilOp(fail, zfail, zpass);
938}
939
940inline void QOpenGLFunctions_3_2_Compatibility::glStencilFunc(GLenum func, GLint ref, GLuint mask)
941{
942 d_1_0_Core->f.StencilFunc(func, ref, mask);
943}
944
945inline void QOpenGLFunctions_3_2_Compatibility::glLogicOp(GLenum opcode)
946{
947 d_1_0_Core->f.LogicOp(opcode);
948}
949
950inline void QOpenGLFunctions_3_2_Compatibility::glBlendFunc(GLenum sfactor, GLenum dfactor)
951{
952 d_1_0_Core->f.BlendFunc(sfactor, dfactor);
953}
954
955inline void QOpenGLFunctions_3_2_Compatibility::glFlush()
956{
957 d_1_0_Core->f.Flush();
958}
959
960inline void QOpenGLFunctions_3_2_Compatibility::glFinish()
961{
962 d_1_0_Core->f.Finish();
963}
964
965inline void QOpenGLFunctions_3_2_Compatibility::glEnable(GLenum cap)
966{
967 d_1_0_Core->f.Enable(cap);
968}
969
970inline void QOpenGLFunctions_3_2_Compatibility::glDisable(GLenum cap)
971{
972 d_1_0_Core->f.Disable(cap);
973}
974
975inline void QOpenGLFunctions_3_2_Compatibility::glDepthMask(GLboolean flag)
976{
977 d_1_0_Core->f.DepthMask(flag);
978}
979
980inline void QOpenGLFunctions_3_2_Compatibility::glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
981{
982 d_1_0_Core->f.ColorMask(red, green, blue, alpha);
983}
984
985inline void QOpenGLFunctions_3_2_Compatibility::glStencilMask(GLuint mask)
986{
987 d_1_0_Core->f.StencilMask(mask);
988}
989
990inline void QOpenGLFunctions_3_2_Compatibility::glClearDepth(GLdouble depth)
991{
992 d_1_0_Core->f.ClearDepth(depth);
993}
994
995inline void QOpenGLFunctions_3_2_Compatibility::glClearStencil(GLint s)
996{
997 d_1_0_Core->f.ClearStencil(s);
998}
999
1000inline void QOpenGLFunctions_3_2_Compatibility::glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
1001{
1002 d_1_0_Core->f.ClearColor(red, green, blue, alpha);
1003}
1004
1005inline void QOpenGLFunctions_3_2_Compatibility::glClear(GLbitfield mask)
1006{
1007 d_1_0_Core->f.Clear(mask);
1008}
1009
1010inline void QOpenGLFunctions_3_2_Compatibility::glDrawBuffer(GLenum mode)
1011{
1012 d_1_0_Core->f.DrawBuffer(mode);
1013}
1014
1015inline void QOpenGLFunctions_3_2_Compatibility::glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
1016{
1017 d_1_0_Core->f.TexImage2D(target, level, internalformat, width, height, border, format, type, pixels);
1018}
1019
1020inline void QOpenGLFunctions_3_2_Compatibility::glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
1021{
1022 d_1_0_Core->f.TexImage1D(target, level, internalformat, width, border, format, type, pixels);
1023}
1024
1025inline void QOpenGLFunctions_3_2_Compatibility::glTexParameteriv(GLenum target, GLenum pname, const GLint *params)
1026{
1027 d_1_0_Core->f.TexParameteriv(target, pname, params);
1028}
1029
1030inline void QOpenGLFunctions_3_2_Compatibility::glTexParameteri(GLenum target, GLenum pname, GLint param)
1031{
1032 d_1_0_Core->f.TexParameteri(target, pname, param);
1033}
1034
1035inline void QOpenGLFunctions_3_2_Compatibility::glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params)
1036{
1037 d_1_0_Core->f.TexParameterfv(target, pname, params);
1038}
1039
1040inline void QOpenGLFunctions_3_2_Compatibility::glTexParameterf(GLenum target, GLenum pname, GLfloat param)
1041{
1042 d_1_0_Core->f.TexParameterf(target, pname, param);
1043}
1044
1045inline void QOpenGLFunctions_3_2_Compatibility::glScissor(GLint x, GLint y, GLsizei width, GLsizei height)
1046{
1047 d_1_0_Core->f.Scissor(x, y, width, height);
1048}
1049
1050inline void QOpenGLFunctions_3_2_Compatibility::glPolygonMode(GLenum face, GLenum mode)
1051{
1052 d_1_0_Core->f.PolygonMode(face, mode);
1053}
1054
1055inline void QOpenGLFunctions_3_2_Compatibility::glPointSize(GLfloat size)
1056{
1057 d_1_0_Core->f.PointSize(size);
1058}
1059
1060inline void QOpenGLFunctions_3_2_Compatibility::glLineWidth(GLfloat width)
1061{
1062 d_1_0_Core->f.LineWidth(width);
1063}
1064
1065inline void QOpenGLFunctions_3_2_Compatibility::glHint(GLenum target, GLenum mode)
1066{
1067 d_1_0_Core->f.Hint(target, mode);
1068}
1069
1070inline void QOpenGLFunctions_3_2_Compatibility::glFrontFace(GLenum mode)
1071{
1072 d_1_0_Core->f.FrontFace(mode);
1073}
1074
1075inline void QOpenGLFunctions_3_2_Compatibility::glCullFace(GLenum mode)
1076{
1077 d_1_0_Core->f.CullFace(mode);
1078}
1079
1080
1081// OpenGL 1.1 core functions
1082inline void QOpenGLFunctions_3_2_Compatibility::glIndexubv(const GLubyte *c)
1083{
1084 d_1_1_Deprecated->f.Indexubv(c);
1085}
1086
1087inline void QOpenGLFunctions_3_2_Compatibility::glIndexub(GLubyte c)
1088{
1089 d_1_1_Deprecated->f.Indexub(c);
1090}
1091
1092inline GLboolean QOpenGLFunctions_3_2_Compatibility::glIsTexture(GLuint texture)
1093{
1094 return d_1_1_Core->f.IsTexture(texture);
1095}
1096
1097inline void QOpenGLFunctions_3_2_Compatibility::glGenTextures(GLsizei n, GLuint *textures)
1098{
1099 d_1_1_Core->f.GenTextures(n, textures);
1100}
1101
1102inline void QOpenGLFunctions_3_2_Compatibility::glDeleteTextures(GLsizei n, const GLuint *textures)
1103{
1104 d_1_1_Core->f.DeleteTextures(n, textures);
1105}
1106
1107inline void QOpenGLFunctions_3_2_Compatibility::glBindTexture(GLenum target, GLuint texture)
1108{
1109 d_1_1_Core->f.BindTexture(target, texture);
1110}
1111
1112inline void QOpenGLFunctions_3_2_Compatibility::glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)
1113{
1114 d_1_1_Core->f.TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels);
1115}
1116
1117inline void QOpenGLFunctions_3_2_Compatibility::glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels)
1118{
1119 d_1_1_Core->f.TexSubImage1D(target, level, xoffset, width, format, type, pixels);
1120}
1121
1122inline void QOpenGLFunctions_3_2_Compatibility::glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
1123{
1124 d_1_1_Core->f.CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);
1125}
1126
1127inline void QOpenGLFunctions_3_2_Compatibility::glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)
1128{
1129 d_1_1_Core->f.CopyTexSubImage1D(target, level, xoffset, x, y, width);
1130}
1131
1132inline void QOpenGLFunctions_3_2_Compatibility::glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
1133{
1134 d_1_1_Core->f.CopyTexImage2D(target, level, internalformat, x, y, width, height, border);
1135}
1136
1137inline void QOpenGLFunctions_3_2_Compatibility::glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border)
1138{
1139 d_1_1_Core->f.CopyTexImage1D(target, level, internalformat, x, y, width, border);
1140}
1141
1142inline void QOpenGLFunctions_3_2_Compatibility::glPolygonOffset(GLfloat factor, GLfloat units)
1143{
1144 d_1_1_Core->f.PolygonOffset(factor, units);
1145}
1146
1147inline void QOpenGLFunctions_3_2_Compatibility::glGetPointerv(GLenum pname, GLvoid* *params)
1148{
1149 d_1_1_Deprecated->f.GetPointerv(pname, params);
1150}
1151
1152inline void QOpenGLFunctions_3_2_Compatibility::glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices)
1153{
1154 d_1_1_Core->f.DrawElements(mode, count, type, indices);
1155}
1156
1157inline void QOpenGLFunctions_3_2_Compatibility::glDrawArrays(GLenum mode, GLint first, GLsizei count)
1158{
1159 d_1_1_Core->f.DrawArrays(mode, first, count);
1160}
1161
1162
1163// OpenGL 1.2 core functions
1164inline void QOpenGLFunctions_3_2_Compatibility::glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
1165{
1166 d_1_2_Core->f.CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height);
1167}
1168
1169inline void QOpenGLFunctions_3_2_Compatibility::glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels)
1170{
1171 d_1_2_Core->f.TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
1172}
1173
1174inline void QOpenGLFunctions_3_2_Compatibility::glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth