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