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_3_COMPATIBILITY_H
51#define QOPENGLVERSIONFUNCTIONS_4_3_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_3_Compatibility : public QAbstractOpenGLFunctions
70{
71public:
72 QOpenGLFunctions_4_3_Compatibility();
73 ~QOpenGLFunctions_4_3_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 4.3 core functions
575 void glTexStorage3DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
576 void glTexStorage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
577 void glTexBufferRange(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
578 void glShaderStorageBlockBinding(GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding);
579 GLint glGetProgramResourceLocationIndex(GLuint program, GLenum programInterface, const GLchar *name);
580 GLint glGetProgramResourceLocation(GLuint program, GLenum programInterface, const GLchar *name);
581 void glGetProgramResourceiv(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params);
582 void glGetProgramResourceName(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);
583 GLuint glGetProgramResourceIndex(GLuint program, GLenum programInterface, const GLchar *name);
584 void glGetProgramInterfaceiv(GLuint program, GLenum programInterface, GLenum pname, GLint *params);
585 void glMultiDrawElementsIndirect(GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride);
586 void glMultiDrawArraysIndirect(GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride);
587 void glInvalidateSubFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height);
588 void glInvalidateFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments);
589 void glInvalidateBufferData(GLuint buffer);
590 void glInvalidateBufferSubData(GLuint buffer, GLintptr offset, GLsizeiptr length);
591 void glInvalidateTexImage(GLuint texture, GLint level);
592 void glInvalidateTexSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth);
593 void glGetInternalformati64v(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64 *params);
594 void glGetFramebufferParameteriv(GLenum target, GLenum pname, GLint *params);
595 void glFramebufferParameteri(GLenum target, GLenum pname, GLint param);
596 void glVertexBindingDivisor(GLuint bindingindex, GLuint divisor);
597 void glVertexAttribBinding(GLuint attribindex, GLuint bindingindex);
598 void glVertexAttribLFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
599 void glVertexAttribIFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
600 void glVertexAttribFormat(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);
601 void glBindVertexBuffer(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);
602 void glTextureView(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers);
603 void glCopyImageSubData(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);
604 void glDispatchComputeIndirect(GLintptr indirect);
605 void glDispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z);
606 void glClearBufferSubData(GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data);
607 void glClearBufferData(GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data);
608
609 // OpenGL 1.0 deprecated functions
610 void glTranslatef(GLfloat x, GLfloat y, GLfloat z);
611 void glTranslated(GLdouble x, GLdouble y, GLdouble z);
612 void glScalef(GLfloat x, GLfloat y, GLfloat z);
613 void glScaled(GLdouble x, GLdouble y, GLdouble z);
614 void glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
615 void glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
616 void glPushMatrix();
617 void glPopMatrix();
618 void glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
619 void glMultMatrixd(const GLdouble *m);
620 void glMultMatrixf(const GLfloat *m);
621 void glMatrixMode(GLenum mode);
622 void glLoadMatrixd(const GLdouble *m);
623 void glLoadMatrixf(const GLfloat *m);
624 void glLoadIdentity();
625 void glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
626 GLboolean glIsList(GLuint list);
627 void glGetTexGeniv(GLenum coord, GLenum pname, GLint *params);
628 void glGetTexGenfv(GLenum coord, GLenum pname, GLfloat *params);
629 void glGetTexGendv(GLenum coord, GLenum pname, GLdouble *params);
630 void glGetTexEnviv(GLenum target, GLenum pname, GLint *params);
631 void glGetTexEnvfv(GLenum target, GLenum pname, GLfloat *params);
632 void glGetPolygonStipple(GLubyte *mask);
633 void glGetPixelMapusv(GLenum map, GLushort *values);
634 void glGetPixelMapuiv(GLenum map, GLuint *values);
635 void glGetPixelMapfv(GLenum map, GLfloat *values);
636 void glGetMaterialiv(GLenum face, GLenum pname, GLint *params);
637 void glGetMaterialfv(GLenum face, GLenum pname, GLfloat *params);
638 void glGetMapiv(GLenum target, GLenum query, GLint *v);
639 void glGetMapfv(GLenum target, GLenum query, GLfloat *v);
640 void glGetMapdv(GLenum target, GLenum query, GLdouble *v);
641 void glGetLightiv(GLenum light, GLenum pname, GLint *params);
642 void glGetLightfv(GLenum light, GLenum pname, GLfloat *params);
643 void glGetClipPlane(GLenum plane, GLdouble *equation);
644 void glDrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
645 void glCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type);
646 void glPixelMapusv(GLenum map, GLint mapsize, const GLushort *values);
647 void glPixelMapuiv(GLenum map, GLint mapsize, const GLuint *values);
648 void glPixelMapfv(GLenum map, GLint mapsize, const GLfloat *values);
649 void glPixelTransferi(GLenum pname, GLint param);
650 void glPixelTransferf(GLenum pname, GLfloat param);
651 void glPixelZoom(GLfloat xfactor, GLfloat yfactor);
652 void glAlphaFunc(GLenum func, GLfloat ref);
653 void glEvalPoint2(GLint i, GLint j);
654 void glEvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2);
655 void glEvalPoint1(GLint i);
656 void glEvalMesh1(GLenum mode, GLint i1, GLint i2);
657 void glEvalCoord2fv(const GLfloat *u);
658 void glEvalCoord2f(GLfloat u, GLfloat v);
659 void glEvalCoord2dv(const GLdouble *u);
660 void glEvalCoord2d(GLdouble u, GLdouble v);
661 void glEvalCoord1fv(const GLfloat *u);
662 void glEvalCoord1f(GLfloat u);
663 void glEvalCoord1dv(const GLdouble *u);
664 void glEvalCoord1d(GLdouble u);
665 void glMapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2);
666 void glMapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2);
667 void glMapGrid1f(GLint un, GLfloat u1, GLfloat u2);
668 void glMapGrid1d(GLint un, GLdouble u1, GLdouble u2);
669 void glMap2f(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);
670 void glMap2d(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);
671 void glMap1f(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);
672 void glMap1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);
673 void glPushAttrib(GLbitfield mask);
674 void glPopAttrib();
675 void glAccum(GLenum op, GLfloat value);
676 void glIndexMask(GLuint mask);
677 void glClearIndex(GLfloat c);
678 void glClearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
679 void glPushName(GLuint name);
680 void glPopName();
681 void glPassThrough(GLfloat token);
682 void glLoadName(GLuint name);
683 void glInitNames();
684 GLint glRenderMode(GLenum mode);
685 void glSelectBuffer(GLsizei size, GLuint *buffer);
686 void glFeedbackBuffer(GLsizei size, GLenum type, GLfloat *buffer);
687 void glTexGeniv(GLenum coord, GLenum pname, const GLint *params);
688 void glTexGeni(GLenum coord, GLenum pname, GLint param);
689 void glTexGenfv(GLenum coord, GLenum pname, const GLfloat *params);
690 void glTexGenf(GLenum coord, GLenum pname, GLfloat param);
691 void glTexGendv(GLenum coord, GLenum pname, const GLdouble *params);
692 void glTexGend(GLenum coord, GLenum pname, GLdouble param);
693 void glTexEnviv(GLenum target, GLenum pname, const GLint *params);
694 void glTexEnvi(GLenum target, GLenum pname, GLint param);
695 void glTexEnvfv(GLenum target, GLenum pname, const GLfloat *params);
696 void glTexEnvf(GLenum target, GLenum pname, GLfloat param);
697 void glShadeModel(GLenum mode);
698 void glPolygonStipple(const GLubyte *mask);
699 void glMaterialiv(GLenum face, GLenum pname, const GLint *params);
700 void glMateriali(GLenum face, GLenum pname, GLint param);
701 void glMaterialfv(GLenum face, GLenum pname, const GLfloat *params);
702 void glMaterialf(GLenum face, GLenum pname, GLfloat param);
703 void glLineStipple(GLint factor, GLushort pattern);
704 void glLightModeliv(GLenum pname, const GLint *params);
705 void glLightModeli(GLenum pname, GLint param);
706 void glLightModelfv(GLenum pname, const GLfloat *params);
707 void glLightModelf(GLenum pname, GLfloat param);
708 void glLightiv(GLenum light, GLenum pname, const GLint *params);
709 void glLighti(GLenum light, GLenum pname, GLint param);
710 void glLightfv(GLenum light, GLenum pname, const GLfloat *params);
711 void glLightf(GLenum light, GLenum pname, GLfloat param);
712 void glFogiv(GLenum pname, const GLint *params);
713 void glFogi(GLenum pname, GLint param);
714 void glFogfv(GLenum pname, const GLfloat *params);
715 void glFogf(GLenum pname, GLfloat param);
716 void glColorMaterial(GLenum face, GLenum mode);
717 void glClipPlane(GLenum plane, const GLdouble *equation);
718 void glVertex4sv(const GLshort *v);
719 void glVertex4s(GLshort x, GLshort y, GLshort z, GLshort w);
720 void glVertex4iv(const GLint *v);
721 void glVertex4i(GLint x, GLint y, GLint z, GLint w);
722 void glVertex4fv(const GLfloat *v);
723 void glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
724 void glVertex4dv(const GLdouble *v);
725 void glVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
726 void glVertex3sv(const GLshort *v);
727 void glVertex3s(GLshort x, GLshort y, GLshort z);
728 void glVertex3iv(const GLint *v);
729 void glVertex3i(GLint x, GLint y, GLint z);
730 void glVertex3fv(const GLfloat *v);
731 void glVertex3f(GLfloat x, GLfloat y, GLfloat z);
732 void glVertex3dv(const GLdouble *v);
733 void glVertex3d(GLdouble x, GLdouble y, GLdouble z);
734 void glVertex2sv(const GLshort *v);
735 void glVertex2s(GLshort x, GLshort y);
736 void glVertex2iv(const GLint *v);
737 void glVertex2i(GLint x, GLint y);
738 void glVertex2fv(const GLfloat *v);
739 void glVertex2f(GLfloat x, GLfloat y);
740 void glVertex2dv(const GLdouble *v);
741 void glVertex2d(GLdouble x, GLdouble y);
742 void glTexCoord4sv(const GLshort *v);
743 void glTexCoord4s(GLshort s, GLshort t, GLshort r, GLshort q);
744 void glTexCoord4iv(const GLint *v);
745 void glTexCoord4i(GLint s, GLint t, GLint r, GLint q);
746 void glTexCoord4fv(const GLfloat *v);
747 void glTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q);
748 void glTexCoord4dv(const GLdouble *v);
749 void glTexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q);
750 void glTexCoord3sv(const GLshort *v);
751 void glTexCoord3s(GLshort s, GLshort t, GLshort r);
752 void glTexCoord3iv(const GLint *v);
753 void glTexCoord3i(GLint s, GLint t, GLint r);
754 void glTexCoord3fv(const GLfloat *v);
755 void glTexCoord3f(GLfloat s, GLfloat t, GLfloat r);
756 void glTexCoord3dv(const GLdouble *v);
757 void glTexCoord3d(GLdouble s, GLdouble t, GLdouble r);
758 void glTexCoord2sv(const GLshort *v);
759 void glTexCoord2s(GLshort s, GLshort t);
760 void glTexCoord2iv(const GLint *v);
761 void glTexCoord2i(GLint s, GLint t);
762 void glTexCoord2fv(const GLfloat *v);
763 void glTexCoord2f(GLfloat s, GLfloat t);
764 void glTexCoord2dv(const GLdouble *v);
765 void glTexCoord2d(GLdouble s, GLdouble t);
766 void glTexCoord1sv(const GLshort *v);
767 void glTexCoord1s(GLshort s);
768 void glTexCoord1iv(const GLint *v);
769 void glTexCoord1i(GLint s);
770 void glTexCoord1fv(const GLfloat *v);
771 void glTexCoord1f(GLfloat s);
772 void glTexCoord1dv(const GLdouble *v);
773 void glTexCoord1d(GLdouble s);
774 void glRectsv(const GLshort *v1, const GLshort *v2);
775 void glRects(GLshort x1, GLshort y1, GLshort x2, GLshort y2);
776 void glRectiv(const GLint *v1, const GLint *v2);
777 void glRecti(GLint x1, GLint y1, GLint x2, GLint y2);
778 void glRectfv(const GLfloat *v1, const GLfloat *v2);
779 void glRectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);
780 void glRectdv(const GLdouble *v1, const GLdouble *v2);
781 void glRectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2);
782 void glRasterPos4sv(const GLshort *v);
783 void glRasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w);
784 void glRasterPos4iv(const GLint *v);
785 void glRasterPos4i(GLint x, GLint y, GLint z, GLint w);
786 void glRasterPos4fv(const GLfloat *v);
787 void glRasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
788 void glRasterPos4dv(const GLdouble *v);
789 void glRasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
790 void glRasterPos3sv(const GLshort *v);
791 void glRasterPos3s(GLshort x, GLshort y, GLshort z);
792 void glRasterPos3iv(const GLint *v);
793 void glRasterPos3i(GLint x, GLint y, GLint z);
794 void glRasterPos3fv(const GLfloat *v);
795 void glRasterPos3f(GLfloat x, GLfloat y, GLfloat z);
796 void glRasterPos3dv(const GLdouble *v);
797 void glRasterPos3d(GLdouble x, GLdouble y, GLdouble z);
798 void glRasterPos2sv(const GLshort *v);
799 void glRasterPos2s(GLshort x, GLshort y);
800 void glRasterPos2iv(const GLint *v);
801 void glRasterPos2i(GLint x, GLint y);
802 void glRasterPos2fv(const GLfloat *v);
803 void glRasterPos2f(GLfloat x, GLfloat y);
804 void glRasterPos2dv(const GLdouble *v);
805 void glRasterPos2d(GLdouble x, GLdouble y);
806 void glNormal3sv(const GLshort *v);
807 void glNormal3s(GLshort nx, GLshort ny, GLshort nz);
808 void glNormal3iv(const GLint *v);
809 void glNormal3i(GLint nx, GLint ny, GLint nz);
810 void glNormal3fv(const GLfloat *v);
811 void glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz);
812 void glNormal3dv(const GLdouble *v);
813 void glNormal3d(GLdouble nx, GLdouble ny, GLdouble nz);
814 void glNormal3bv(const GLbyte *v);
815 void glNormal3b(GLbyte nx, GLbyte ny, GLbyte nz);
816 void glIndexsv(const GLshort *c);
817 void glIndexs(GLshort c);
818 void glIndexiv(const GLint *c);
819 void glIndexi(GLint c);
820 void glIndexfv(const GLfloat *c);
821 void glIndexf(GLfloat c);
822 void glIndexdv(const GLdouble *c);
823 void glIndexd(GLdouble c);
824 void glEnd();
825 void glEdgeFlagv(const GLboolean *flag);
826 void glEdgeFlag(GLboolean flag);
827 void glColor4usv(const GLushort *v);
828 void glColor4us(GLushort red, GLushort green, GLushort blue, GLushort alpha);
829 void glColor4uiv(const GLuint *v);
830 void glColor4ui(GLuint red, GLuint green, GLuint blue, GLuint alpha);
831 void glColor4ubv(const GLubyte *v);
832 void glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);
833 void glColor4sv(const GLshort *v);
834 void glColor4s(GLshort red, GLshort green, GLshort blue, GLshort alpha);
835 void glColor4iv(const GLint *v);
836 void glColor4i(GLint red, GLint green, GLint blue, GLint alpha);
837 void glColor4fv(const GLfloat *v);
838 void glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
839 void glColor4dv(const GLdouble *v);
840 void glColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha);
841 void glColor4bv(const GLbyte *v);
842 void glColor4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha);
843 void glColor3usv(const GLushort *v);
844 void glColor3us(GLushort red, GLushort green, GLushort blue);
845 void glColor3uiv(const GLuint *v);
846 void glColor3ui(GLuint red, GLuint green, GLuint blue);
847 void glColor3ubv(const GLubyte *v);
848 void glColor3ub(GLubyte red, GLubyte green, GLubyte blue);
849 void glColor3sv(const GLshort *v);
850 void glColor3s(GLshort red, GLshort green, GLshort blue);
851 void glColor3iv(const GLint *v);
852 void glColor3i(GLint red, GLint green, GLint blue);
853 void glColor3fv(const GLfloat *v);
854 void glColor3f(GLfloat red, GLfloat green, GLfloat blue);
855 void glColor3dv(const GLdouble *v);
856 void glColor3d(GLdouble red, GLdouble green, GLdouble blue);
857 void glColor3bv(const GLbyte *v);
858 void glColor3b(GLbyte red, GLbyte green, GLbyte blue);
859 void glBitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap);
860 void glBegin(GLenum mode);
861 void glListBase(GLuint base);
862 GLuint glGenLists(GLsizei range);
863 void glDeleteLists(GLuint list, GLsizei range);
864 void glCallLists(GLsizei n, GLenum type, const GLvoid *lists);
865 void glCallList(GLuint list);
866 void glEndList();
867 void glNewList(GLuint list, GLenum mode);
868
869 // OpenGL 1.1 deprecated functions
870 void glPushClientAttrib(GLbitfield mask);
871 void glPopClientAttrib();
872 void glPrioritizeTextures(GLsizei n, const GLuint *textures, const GLfloat *priorities);
873 GLboolean glAreTexturesResident(GLsizei n, const GLuint *textures, GLboolean *residences);
874 void glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
875 void glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
876 void glNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer);
877 void glInterleavedArrays(GLenum format, GLsizei stride, const GLvoid *pointer);
878 void glIndexPointer(GLenum type, GLsizei stride, const GLvoid *pointer);
879 void glEnableClientState(GLenum array);
880 void glEdgeFlagPointer(GLsizei stride, const GLvoid *pointer);
881 void glDisableClientState(GLenum array);
882 void glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
883 void glArrayElement(GLint i);
884
885 // OpenGL 1.2 deprecated functions
886 void glResetMinmax(GLenum target);
887 void glResetHistogram(GLenum target);
888 void glMinmax(GLenum target, GLenum internalformat, GLboolean sink);
889 void glHistogram(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
890 void glGetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params);
891 void glGetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params);
892 void glGetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
893 void glGetHistogramParameteriv(GLenum target, GLenum pname, GLint *params);
894 void glGetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params);
895 void glGetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
896 void glSeparableFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);
897 void glGetSeparableFilter(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);
898 void glGetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params);
899 void glGetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params);
900 void glGetConvolutionFilter(GLenum target, GLenum format, GLenum type, GLvoid *image);
901 void glCopyConvolutionFilter2D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
902 void glCopyConvolutionFilter1D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
903 void glConvolutionParameteriv(GLenum target, GLenum pname, const GLint *params);
904 void glConvolutionParameteri(GLenum target, GLenum pname, GLint params);
905 void glConvolutionParameterfv(GLenum target, GLenum pname, const GLfloat *params);
906 void glConvolutionParameterf(GLenum target, GLenum pname, GLfloat params);
907 void glConvolutionFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);
908 void glConvolutionFilter1D(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);
909 void glCopyColorSubTable(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
910 void glColorSubTable(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data);
911 void glGetColorTableParameteriv(GLenum target, GLenum pname, GLint *params);
912 void glGetColorTableParameterfv(GLenum target, GLenum pname, GLfloat *params);
913 void glGetColorTable(GLenum target, GLenum format, GLenum type, GLvoid *table);
914 void glCopyColorTable(