1#ifndef __glext_h_
2#define __glext_h_ 1
3
4#if 0
5#pragma qt_no_master_include
6#pragma qt_sync_skip_header_check
7#pragma qt_sync_stop_processing
8#endif
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
14/*
15** Copyright (c) 2013-2018 The Khronos Group Inc.
16**
17** Permission is hereby granted, free of charge, to any person obtaining a
18** copy of this software and/or associated documentation files (the
19** "Materials"), to deal in the Materials without restriction, including
20** without limitation the rights to use, copy, modify, merge, publish,
21** distribute, sublicense, and/or sell copies of the Materials, and to
22** permit persons to whom the Materials are furnished to do so, subject to
23** the following conditions:
24**
25** The above copyright notice and this permission notice shall be included
26** in all copies or substantial portions of the Materials.
27**
28** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
29** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
30** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
31** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
32** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
33** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
34** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
35*/
36/*
37** This header is generated from the Khronos OpenGL / OpenGL ES XML
38** API Registry. The current version of the Registry, generator scripts
39** used to make the header, and the header can be found at
40** https://github.com/KhronosGroup/OpenGL-Registry
41*/
42
43#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)
44#ifndef WIN32_LEAN_AND_MEAN
45#define WIN32_LEAN_AND_MEAN 1
46#endif
47#include <windows.h>
48#endif
49
50#ifndef APIENTRY
51#define APIENTRY
52#endif
53#ifndef APIENTRYP
54#define APIENTRYP APIENTRY *
55#endif
56#ifndef GLAPI
57#define GLAPI extern
58#endif
59
60#define GL_GLEXT_VERSION 20190228
61
62/* Generated C header for:
63 * API: gl
64 * Profile: compatibility
65 * Versions considered: .*
66 * Versions emitted: 1\.[2-9]|[234]\.[0-9]
67 * Default extensions included: gl
68 * Additional extensions included: _nomatch_^
69 * Extensions removed: _nomatch_^
70 */
71
72#ifndef GL_VERSION_1_2
73#define GL_VERSION_1_2 1
74#define GL_UNSIGNED_BYTE_3_3_2 0x8032
75#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
76#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
77#define GL_UNSIGNED_INT_8_8_8_8 0x8035
78#define GL_UNSIGNED_INT_10_10_10_2 0x8036
79#define GL_TEXTURE_BINDING_3D 0x806A
80#define GL_PACK_SKIP_IMAGES 0x806B
81#define GL_PACK_IMAGE_HEIGHT 0x806C
82#define GL_UNPACK_SKIP_IMAGES 0x806D
83#define GL_UNPACK_IMAGE_HEIGHT 0x806E
84#define GL_TEXTURE_3D 0x806F
85#define GL_PROXY_TEXTURE_3D 0x8070
86#define GL_TEXTURE_DEPTH 0x8071
87#define GL_TEXTURE_WRAP_R 0x8072
88#define GL_MAX_3D_TEXTURE_SIZE 0x8073
89#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362
90#define GL_UNSIGNED_SHORT_5_6_5 0x8363
91#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364
92#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365
93#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366
94#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367
95#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
96#define GL_BGR 0x80E0
97#define GL_BGRA 0x80E1
98#define GL_MAX_ELEMENTS_VERTICES 0x80E8
99#define GL_MAX_ELEMENTS_INDICES 0x80E9
100#define GL_CLAMP_TO_EDGE 0x812F
101#define GL_TEXTURE_MIN_LOD 0x813A
102#define GL_TEXTURE_MAX_LOD 0x813B
103#define GL_TEXTURE_BASE_LEVEL 0x813C
104#define GL_TEXTURE_MAX_LEVEL 0x813D
105#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12
106#define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13
107#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22
108#define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23
109#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
110#define GL_RESCALE_NORMAL 0x803A
111#define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8
112#define GL_SINGLE_COLOR 0x81F9
113#define GL_SEPARATE_SPECULAR_COLOR 0x81FA
114#define GL_ALIASED_POINT_SIZE_RANGE 0x846D
115typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices);
116typedef void (APIENTRYP PFNGLTEXIMAGE3DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);
117typedef void (APIENTRYP PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);
118typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
119#ifdef GL_GLEXT_PROTOTYPES
120GLAPI void APIENTRY glDrawRangeElements (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices);
121GLAPI void APIENTRY glTexImage3D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);
122GLAPI void APIENTRY glTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);
123GLAPI void APIENTRY glCopyTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
124#endif
125#endif /* GL_VERSION_1_2 */
126
127#ifndef GL_VERSION_1_3
128#define GL_VERSION_1_3 1
129#define GL_TEXTURE0 0x84C0
130#define GL_TEXTURE1 0x84C1
131#define GL_TEXTURE2 0x84C2
132#define GL_TEXTURE3 0x84C3
133#define GL_TEXTURE4 0x84C4
134#define GL_TEXTURE5 0x84C5
135#define GL_TEXTURE6 0x84C6
136#define GL_TEXTURE7 0x84C7
137#define GL_TEXTURE8 0x84C8
138#define GL_TEXTURE9 0x84C9
139#define GL_TEXTURE10 0x84CA
140#define GL_TEXTURE11 0x84CB
141#define GL_TEXTURE12 0x84CC
142#define GL_TEXTURE13 0x84CD
143#define GL_TEXTURE14 0x84CE
144#define GL_TEXTURE15 0x84CF
145#define GL_TEXTURE16 0x84D0
146#define GL_TEXTURE17 0x84D1
147#define GL_TEXTURE18 0x84D2
148#define GL_TEXTURE19 0x84D3
149#define GL_TEXTURE20 0x84D4
150#define GL_TEXTURE21 0x84D5
151#define GL_TEXTURE22 0x84D6
152#define GL_TEXTURE23 0x84D7
153#define GL_TEXTURE24 0x84D8
154#define GL_TEXTURE25 0x84D9
155#define GL_TEXTURE26 0x84DA
156#define GL_TEXTURE27 0x84DB
157#define GL_TEXTURE28 0x84DC
158#define GL_TEXTURE29 0x84DD
159#define GL_TEXTURE30 0x84DE
160#define GL_TEXTURE31 0x84DF
161#define GL_ACTIVE_TEXTURE 0x84E0
162#define GL_MULTISAMPLE 0x809D
163#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
164#define GL_SAMPLE_ALPHA_TO_ONE 0x809F
165#define GL_SAMPLE_COVERAGE 0x80A0
166#define GL_SAMPLE_BUFFERS 0x80A8
167#define GL_SAMPLES 0x80A9
168#define GL_SAMPLE_COVERAGE_VALUE 0x80AA
169#define GL_SAMPLE_COVERAGE_INVERT 0x80AB
170#define GL_TEXTURE_CUBE_MAP 0x8513
171#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
172#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
173#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
174#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
175#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
176#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
177#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
178#define GL_PROXY_TEXTURE_CUBE_MAP 0x851B
179#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
180#define GL_COMPRESSED_RGB 0x84ED
181#define GL_COMPRESSED_RGBA 0x84EE
182#define GL_TEXTURE_COMPRESSION_HINT 0x84EF
183#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0
184#define GL_TEXTURE_COMPRESSED 0x86A1
185#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
186#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
187#define GL_CLAMP_TO_BORDER 0x812D
188#define GL_CLIENT_ACTIVE_TEXTURE 0x84E1
189#define GL_MAX_TEXTURE_UNITS 0x84E2
190#define GL_TRANSPOSE_MODELVIEW_MATRIX 0x84E3
191#define GL_TRANSPOSE_PROJECTION_MATRIX 0x84E4
192#define GL_TRANSPOSE_TEXTURE_MATRIX 0x84E5
193#define GL_TRANSPOSE_COLOR_MATRIX 0x84E6
194#define GL_MULTISAMPLE_BIT 0x20000000
195#define GL_NORMAL_MAP 0x8511
196#define GL_REFLECTION_MAP 0x8512
197#define GL_COMPRESSED_ALPHA 0x84E9
198#define GL_COMPRESSED_LUMINANCE 0x84EA
199#define GL_COMPRESSED_LUMINANCE_ALPHA 0x84EB
200#define GL_COMPRESSED_INTENSITY 0x84EC
201#define GL_COMBINE 0x8570
202#define GL_COMBINE_RGB 0x8571
203#define GL_COMBINE_ALPHA 0x8572
204#define GL_SOURCE0_RGB 0x8580
205#define GL_SOURCE1_RGB 0x8581
206#define GL_SOURCE2_RGB 0x8582
207#define GL_SOURCE0_ALPHA 0x8588
208#define GL_SOURCE1_ALPHA 0x8589
209#define GL_SOURCE2_ALPHA 0x858A
210#define GL_OPERAND0_RGB 0x8590
211#define GL_OPERAND1_RGB 0x8591
212#define GL_OPERAND2_RGB 0x8592
213#define GL_OPERAND0_ALPHA 0x8598
214#define GL_OPERAND1_ALPHA 0x8599
215#define GL_OPERAND2_ALPHA 0x859A
216#define GL_RGB_SCALE 0x8573
217#define GL_ADD_SIGNED 0x8574
218#define GL_INTERPOLATE 0x8575
219#define GL_SUBTRACT 0x84E7
220#define GL_CONSTANT 0x8576
221#define GL_PRIMARY_COLOR 0x8577
222#define GL_PREVIOUS 0x8578
223#define GL_DOT3_RGB 0x86AE
224#define GL_DOT3_RGBA 0x86AF
225typedef void (APIENTRYP PFNGLACTIVETEXTUREPROC) (GLenum texture);
226typedef void (APIENTRYP PFNGLSAMPLECOVERAGEPROC) (GLfloat value, GLboolean invert);
227typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);
228typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);
229typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE1DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data);
230typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);
231typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);
232typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data);
233typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint level, void *img);
234typedef void (APIENTRYP PFNGLCLIENTACTIVETEXTUREPROC) (GLenum texture);
235typedef void (APIENTRYP PFNGLMULTITEXCOORD1DPROC) (GLenum target, GLdouble s);
236typedef void (APIENTRYP PFNGLMULTITEXCOORD1DVPROC) (GLenum target, const GLdouble *v);
237typedef void (APIENTRYP PFNGLMULTITEXCOORD1FPROC) (GLenum target, GLfloat s);
238typedef void (APIENTRYP PFNGLMULTITEXCOORD1FVPROC) (GLenum target, const GLfloat *v);
239typedef void (APIENTRYP PFNGLMULTITEXCOORD1IPROC) (GLenum target, GLint s);
240typedef void (APIENTRYP PFNGLMULTITEXCOORD1IVPROC) (GLenum target, const GLint *v);
241typedef void (APIENTRYP PFNGLMULTITEXCOORD1SPROC) (GLenum target, GLshort s);
242typedef void (APIENTRYP PFNGLMULTITEXCOORD1SVPROC) (GLenum target, const GLshort *v);
243typedef void (APIENTRYP PFNGLMULTITEXCOORD2DPROC) (GLenum target, GLdouble s, GLdouble t);
244typedef void (APIENTRYP PFNGLMULTITEXCOORD2DVPROC) (GLenum target, const GLdouble *v);
245typedef void (APIENTRYP PFNGLMULTITEXCOORD2FPROC) (GLenum target, GLfloat s, GLfloat t);
246typedef void (APIENTRYP PFNGLMULTITEXCOORD2FVPROC) (GLenum target, const GLfloat *v);
247typedef void (APIENTRYP PFNGLMULTITEXCOORD2IPROC) (GLenum target, GLint s, GLint t);
248typedef void (APIENTRYP PFNGLMULTITEXCOORD2IVPROC) (GLenum target, const GLint *v);
249typedef void (APIENTRYP PFNGLMULTITEXCOORD2SPROC) (GLenum target, GLshort s, GLshort t);
250typedef void (APIENTRYP PFNGLMULTITEXCOORD2SVPROC) (GLenum target, const GLshort *v);
251typedef void (APIENTRYP PFNGLMULTITEXCOORD3DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
252typedef void (APIENTRYP PFNGLMULTITEXCOORD3DVPROC) (GLenum target, const GLdouble *v);
253typedef void (APIENTRYP PFNGLMULTITEXCOORD3FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
254typedef void (APIENTRYP PFNGLMULTITEXCOORD3FVPROC) (GLenum target, const GLfloat *v);
255typedef void (APIENTRYP PFNGLMULTITEXCOORD3IPROC) (GLenum target, GLint s, GLint t, GLint r);
256typedef void (APIENTRYP PFNGLMULTITEXCOORD3IVPROC) (GLenum target, const GLint *v);
257typedef void (APIENTRYP PFNGLMULTITEXCOORD3SPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
258typedef void (APIENTRYP PFNGLMULTITEXCOORD3SVPROC) (GLenum target, const GLshort *v);
259typedef void (APIENTRYP PFNGLMULTITEXCOORD4DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
260typedef void (APIENTRYP PFNGLMULTITEXCOORD4DVPROC) (GLenum target, const GLdouble *v);
261typedef void (APIENTRYP PFNGLMULTITEXCOORD4FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
262typedef void (APIENTRYP PFNGLMULTITEXCOORD4FVPROC) (GLenum target, const GLfloat *v);
263typedef void (APIENTRYP PFNGLMULTITEXCOORD4IPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
264typedef void (APIENTRYP PFNGLMULTITEXCOORD4IVPROC) (GLenum target, const GLint *v);
265typedef void (APIENTRYP PFNGLMULTITEXCOORD4SPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
266typedef void (APIENTRYP PFNGLMULTITEXCOORD4SVPROC) (GLenum target, const GLshort *v);
267typedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXFPROC) (const GLfloat *m);
268typedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXDPROC) (const GLdouble *m);
269typedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXFPROC) (const GLfloat *m);
270typedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXDPROC) (const GLdouble *m);
271#ifdef GL_GLEXT_PROTOTYPES
272GLAPI void APIENTRY glActiveTexture (GLenum texture);
273GLAPI void APIENTRY glSampleCoverage (GLfloat value, GLboolean invert);
274GLAPI void APIENTRY glCompressedTexImage3D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);
275GLAPI void APIENTRY glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);
276GLAPI void APIENTRY glCompressedTexImage1D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data);
277GLAPI void APIENTRY glCompressedTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);
278GLAPI void APIENTRY glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);
279GLAPI void APIENTRY glCompressedTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data);
280GLAPI void APIENTRY glGetCompressedTexImage (GLenum target, GLint level, void *img);
281GLAPI void APIENTRY glClientActiveTexture (GLenum texture);
282GLAPI void APIENTRY glMultiTexCoord1d (GLenum target, GLdouble s);
283GLAPI void APIENTRY glMultiTexCoord1dv (GLenum target, const GLdouble *v);
284GLAPI void APIENTRY glMultiTexCoord1f (GLenum target, GLfloat s);
285GLAPI void APIENTRY glMultiTexCoord1fv (GLenum target, const GLfloat *v);
286GLAPI void APIENTRY glMultiTexCoord1i (GLenum target, GLint s);
287GLAPI void APIENTRY glMultiTexCoord1iv (GLenum target, const GLint *v);
288GLAPI void APIENTRY glMultiTexCoord1s (GLenum target, GLshort s);
289GLAPI void APIENTRY glMultiTexCoord1sv (GLenum target, const GLshort *v);
290GLAPI void APIENTRY glMultiTexCoord2d (GLenum target, GLdouble s, GLdouble t);
291GLAPI void APIENTRY glMultiTexCoord2dv (GLenum target, const GLdouble *v);
292GLAPI void APIENTRY glMultiTexCoord2f (GLenum target, GLfloat s, GLfloat t);
293GLAPI void APIENTRY glMultiTexCoord2fv (GLenum target, const GLfloat *v);
294GLAPI void APIENTRY glMultiTexCoord2i (GLenum target, GLint s, GLint t);
295GLAPI void APIENTRY glMultiTexCoord2iv (GLenum target, const GLint *v);
296GLAPI void APIENTRY glMultiTexCoord2s (GLenum target, GLshort s, GLshort t);
297GLAPI void APIENTRY glMultiTexCoord2sv (GLenum target, const GLshort *v);
298GLAPI void APIENTRY glMultiTexCoord3d (GLenum target, GLdouble s, GLdouble t, GLdouble r);
299GLAPI void APIENTRY glMultiTexCoord3dv (GLenum target, const GLdouble *v);
300GLAPI void APIENTRY glMultiTexCoord3f (GLenum target, GLfloat s, GLfloat t, GLfloat r);
301GLAPI void APIENTRY glMultiTexCoord3fv (GLenum target, const GLfloat *v);
302GLAPI void APIENTRY glMultiTexCoord3i (GLenum target, GLint s, GLint t, GLint r);
303GLAPI void APIENTRY glMultiTexCoord3iv (GLenum target, const GLint *v);
304GLAPI void APIENTRY glMultiTexCoord3s (GLenum target, GLshort s, GLshort t, GLshort r);
305GLAPI void APIENTRY glMultiTexCoord3sv (GLenum target, const GLshort *v);
306GLAPI void APIENTRY glMultiTexCoord4d (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
307GLAPI void APIENTRY glMultiTexCoord4dv (GLenum target, const GLdouble *v);
308GLAPI void APIENTRY glMultiTexCoord4f (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
309GLAPI void APIENTRY glMultiTexCoord4fv (GLenum target, const GLfloat *v);
310GLAPI void APIENTRY glMultiTexCoord4i (GLenum target, GLint s, GLint t, GLint r, GLint q);
311GLAPI void APIENTRY glMultiTexCoord4iv (GLenum target, const GLint *v);
312GLAPI void APIENTRY glMultiTexCoord4s (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
313GLAPI void APIENTRY glMultiTexCoord4sv (GLenum target, const GLshort *v);
314GLAPI void APIENTRY glLoadTransposeMatrixf (const GLfloat *m);
315GLAPI void APIENTRY glLoadTransposeMatrixd (const GLdouble *m);
316GLAPI void APIENTRY glMultTransposeMatrixf (const GLfloat *m);
317GLAPI void APIENTRY glMultTransposeMatrixd (const GLdouble *m);
318#endif
319#endif /* GL_VERSION_1_3 */
320
321#ifndef GL_VERSION_1_4
322#define GL_VERSION_1_4 1
323#define GL_BLEND_DST_RGB 0x80C8
324#define GL_BLEND_SRC_RGB 0x80C9
325#define GL_BLEND_DST_ALPHA 0x80CA
326#define GL_BLEND_SRC_ALPHA 0x80CB
327#define GL_POINT_FADE_THRESHOLD_SIZE 0x8128
328#define GL_DEPTH_COMPONENT16 0x81A5
329#define GL_DEPTH_COMPONENT24 0x81A6
330#define GL_DEPTH_COMPONENT32 0x81A7
331#define GL_MIRRORED_REPEAT 0x8370
332#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD
333#define GL_TEXTURE_LOD_BIAS 0x8501
334#define GL_INCR_WRAP 0x8507
335#define GL_DECR_WRAP 0x8508
336#define GL_TEXTURE_DEPTH_SIZE 0x884A
337#define GL_TEXTURE_COMPARE_MODE 0x884C
338#define GL_TEXTURE_COMPARE_FUNC 0x884D
339#define GL_POINT_SIZE_MIN 0x8126
340#define GL_POINT_SIZE_MAX 0x8127
341#define GL_POINT_DISTANCE_ATTENUATION 0x8129
342#define GL_GENERATE_MIPMAP 0x8191
343#define GL_GENERATE_MIPMAP_HINT 0x8192
344#define GL_FOG_COORDINATE_SOURCE 0x8450
345#define GL_FOG_COORDINATE 0x8451
346#define GL_FRAGMENT_DEPTH 0x8452
347#define GL_CURRENT_FOG_COORDINATE 0x8453
348#define GL_FOG_COORDINATE_ARRAY_TYPE 0x8454
349#define GL_FOG_COORDINATE_ARRAY_STRIDE 0x8455
350#define GL_FOG_COORDINATE_ARRAY_POINTER 0x8456
351#define GL_FOG_COORDINATE_ARRAY 0x8457
352#define GL_COLOR_SUM 0x8458
353#define GL_CURRENT_SECONDARY_COLOR 0x8459
354#define GL_SECONDARY_COLOR_ARRAY_SIZE 0x845A
355#define GL_SECONDARY_COLOR_ARRAY_TYPE 0x845B
356#define GL_SECONDARY_COLOR_ARRAY_STRIDE 0x845C
357#define GL_SECONDARY_COLOR_ARRAY_POINTER 0x845D
358#define GL_SECONDARY_COLOR_ARRAY 0x845E
359#define GL_TEXTURE_FILTER_CONTROL 0x8500
360#define GL_DEPTH_TEXTURE_MODE 0x884B
361#define GL_COMPARE_R_TO_TEXTURE 0x884E
362#define GL_BLEND_COLOR 0x8005
363#define GL_BLEND_EQUATION 0x8009
364#define GL_CONSTANT_COLOR 0x8001
365#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
366#define GL_CONSTANT_ALPHA 0x8003
367#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
368#define GL_FUNC_ADD 0x8006
369#define GL_FUNC_REVERSE_SUBTRACT 0x800B
370#define GL_FUNC_SUBTRACT 0x800A
371#define GL_MIN 0x8007
372#define GL_MAX 0x8008
373typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
374typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount);
375typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSPROC) (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount);
376typedef void (APIENTRYP PFNGLPOINTPARAMETERFPROC) (GLenum pname, GLfloat param);
377typedef void (APIENTRYP PFNGLPOINTPARAMETERFVPROC) (GLenum pname, const GLfloat *params);
378typedef void (APIENTRYP PFNGLPOINTPARAMETERIPROC) (GLenum pname, GLint param);
379typedef void (APIENTRYP PFNGLPOINTPARAMETERIVPROC) (GLenum pname, const GLint *params);
380typedef void (APIENTRYP PFNGLFOGCOORDFPROC) (GLfloat coord);
381typedef void (APIENTRYP PFNGLFOGCOORDFVPROC) (const GLfloat *coord);
382typedef void (APIENTRYP PFNGLFOGCOORDDPROC) (GLdouble coord);
383typedef void (APIENTRYP PFNGLFOGCOORDDVPROC) (const GLdouble *coord);
384typedef void (APIENTRYP PFNGLFOGCOORDPOINTERPROC) (GLenum type, GLsizei stride, const void *pointer);
385typedef void (APIENTRYP PFNGLSECONDARYCOLOR3BPROC) (GLbyte red, GLbyte green, GLbyte blue);
386typedef void (APIENTRYP PFNGLSECONDARYCOLOR3BVPROC) (const GLbyte *v);
387typedef void (APIENTRYP PFNGLSECONDARYCOLOR3DPROC) (GLdouble red, GLdouble green, GLdouble blue);
388typedef void (APIENTRYP PFNGLSECONDARYCOLOR3DVPROC) (const GLdouble *v);
389typedef void (APIENTRYP PFNGLSECONDARYCOLOR3FPROC) (GLfloat red, GLfloat green, GLfloat blue);
390typedef void (APIENTRYP PFNGLSECONDARYCOLOR3FVPROC) (const GLfloat *v);
391typedef void (APIENTRYP PFNGLSECONDARYCOLOR3IPROC) (GLint red, GLint green, GLint blue);
392typedef void (APIENTRYP PFNGLSECONDARYCOLOR3IVPROC) (const GLint *v);
393typedef void (APIENTRYP PFNGLSECONDARYCOLOR3SPROC) (GLshort red, GLshort green, GLshort blue);
394typedef void (APIENTRYP PFNGLSECONDARYCOLOR3SVPROC) (const GLshort *v);
395typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UBPROC) (GLubyte red, GLubyte green, GLubyte blue);
396typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UBVPROC) (const GLubyte *v);
397typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UIPROC) (GLuint red, GLuint green, GLuint blue);
398typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UIVPROC) (const GLuint *v);
399typedef void (APIENTRYP PFNGLSECONDARYCOLOR3USPROC) (GLushort red, GLushort green, GLushort blue);
400typedef void (APIENTRYP PFNGLSECONDARYCOLOR3USVPROC) (const GLushort *v);
401typedef void (APIENTRYP PFNGLSECONDARYCOLORPOINTERPROC) (GLint size, GLenum type, GLsizei stride, const void *pointer);
402typedef void (APIENTRYP PFNGLWINDOWPOS2DPROC) (GLdouble x, GLdouble y);
403typedef void (APIENTRYP PFNGLWINDOWPOS2DVPROC) (const GLdouble *v);
404typedef void (APIENTRYP PFNGLWINDOWPOS2FPROC) (GLfloat x, GLfloat y);
405typedef void (APIENTRYP PFNGLWINDOWPOS2FVPROC) (const GLfloat *v);
406typedef void (APIENTRYP PFNGLWINDOWPOS2IPROC) (GLint x, GLint y);
407typedef void (APIENTRYP PFNGLWINDOWPOS2IVPROC) (const GLint *v);
408typedef void (APIENTRYP PFNGLWINDOWPOS2SPROC) (GLshort x, GLshort y);
409typedef void (APIENTRYP PFNGLWINDOWPOS2SVPROC) (const GLshort *v);
410typedef void (APIENTRYP PFNGLWINDOWPOS3DPROC) (GLdouble x, GLdouble y, GLdouble z);
411typedef void (APIENTRYP PFNGLWINDOWPOS3DVPROC) (const GLdouble *v);
412typedef void (APIENTRYP PFNGLWINDOWPOS3FPROC) (GLfloat x, GLfloat y, GLfloat z);
413typedef void (APIENTRYP PFNGLWINDOWPOS3FVPROC) (const GLfloat *v);
414typedef void (APIENTRYP PFNGLWINDOWPOS3IPROC) (GLint x, GLint y, GLint z);
415typedef void (APIENTRYP PFNGLWINDOWPOS3IVPROC) (const GLint *v);
416typedef void (APIENTRYP PFNGLWINDOWPOS3SPROC) (GLshort x, GLshort y, GLshort z);
417typedef void (APIENTRYP PFNGLWINDOWPOS3SVPROC) (const GLshort *v);
418typedef void (APIENTRYP PFNGLBLENDCOLORPROC) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
419typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);
420#ifdef GL_GLEXT_PROTOTYPES
421GLAPI void APIENTRY glBlendFuncSeparate (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
422GLAPI void APIENTRY glMultiDrawArrays (GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount);
423GLAPI void APIENTRY glMultiDrawElements (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount);
424GLAPI void APIENTRY glPointParameterf (GLenum pname, GLfloat param);
425GLAPI void APIENTRY glPointParameterfv (GLenum pname, const GLfloat *params);
426GLAPI void APIENTRY glPointParameteri (GLenum pname, GLint param);
427GLAPI void APIENTRY glPointParameteriv (GLenum pname, const GLint *params);
428GLAPI void APIENTRY glFogCoordf (GLfloat coord);
429GLAPI void APIENTRY glFogCoordfv (const GLfloat *coord);
430GLAPI void APIENTRY glFogCoordd (GLdouble coord);
431GLAPI void APIENTRY glFogCoorddv (const GLdouble *coord);
432GLAPI void APIENTRY glFogCoordPointer (GLenum type, GLsizei stride, const void *pointer);
433GLAPI void APIENTRY glSecondaryColor3b (GLbyte red, GLbyte green, GLbyte blue);
434GLAPI void APIENTRY glSecondaryColor3bv (const GLbyte *v);
435GLAPI void APIENTRY glSecondaryColor3d (GLdouble red, GLdouble green, GLdouble blue);
436GLAPI void APIENTRY glSecondaryColor3dv (const GLdouble *v);
437GLAPI void APIENTRY glSecondaryColor3f (GLfloat red, GLfloat green, GLfloat blue);
438GLAPI void APIENTRY glSecondaryColor3fv (const GLfloat *v);
439GLAPI void APIENTRY glSecondaryColor3i (GLint red, GLint green, GLint blue);
440GLAPI void APIENTRY glSecondaryColor3iv (const GLint *v);
441GLAPI void APIENTRY glSecondaryColor3s (GLshort red, GLshort green, GLshort blue);
442GLAPI void APIENTRY glSecondaryColor3sv (const GLshort *v);
443GLAPI void APIENTRY glSecondaryColor3ub (GLubyte red, GLubyte green, GLubyte blue);
444GLAPI void APIENTRY glSecondaryColor3ubv (const GLubyte *v);
445GLAPI void APIENTRY glSecondaryColor3ui (GLuint red, GLuint green, GLuint blue);
446GLAPI void APIENTRY glSecondaryColor3uiv (const GLuint *v);
447GLAPI void APIENTRY glSecondaryColor3us (GLushort red, GLushort green, GLushort blue);
448GLAPI void APIENTRY glSecondaryColor3usv (const GLushort *v);
449GLAPI void APIENTRY glSecondaryColorPointer (GLint size, GLenum type, GLsizei stride, const void *pointer);
450GLAPI void APIENTRY glWindowPos2d (GLdouble x, GLdouble y);
451GLAPI void APIENTRY glWindowPos2dv (const GLdouble *v);
452GLAPI void APIENTRY glWindowPos2f (GLfloat x, GLfloat y);
453GLAPI void APIENTRY glWindowPos2fv (const GLfloat *v);
454GLAPI void APIENTRY glWindowPos2i (GLint x, GLint y);
455GLAPI void APIENTRY glWindowPos2iv (const GLint *v);
456GLAPI void APIENTRY glWindowPos2s (GLshort x, GLshort y);
457GLAPI void APIENTRY glWindowPos2sv (const GLshort *v);
458GLAPI void APIENTRY glWindowPos3d (GLdouble x, GLdouble y, GLdouble z);
459GLAPI void APIENTRY glWindowPos3dv (const GLdouble *v);
460GLAPI void APIENTRY glWindowPos3f (GLfloat x, GLfloat y, GLfloat z);
461GLAPI void APIENTRY glWindowPos3fv (const GLfloat *v);
462GLAPI void APIENTRY glWindowPos3i (GLint x, GLint y, GLint z);
463GLAPI void APIENTRY glWindowPos3iv (const GLint *v);
464GLAPI void APIENTRY glWindowPos3s (GLshort x, GLshort y, GLshort z);
465GLAPI void APIENTRY glWindowPos3sv (const GLshort *v);
466GLAPI void APIENTRY glBlendColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
467GLAPI void APIENTRY glBlendEquation (GLenum mode);
468#endif
469#endif /* GL_VERSION_1_4 */
470
471#ifndef GL_VERSION_1_5
472#define GL_VERSION_1_5 1
473#ifdef _WIN64
474typedef signed long long int GLsizeiptr;
475typedef signed long long int GLintptr;
476#else
477typedef signed long int GLsizeiptr;
478typedef signed long int GLintptr;
479#endif
480
481#define GL_BUFFER_SIZE 0x8764
482#define GL_BUFFER_USAGE 0x8765
483#define GL_QUERY_COUNTER_BITS 0x8864
484#define GL_CURRENT_QUERY 0x8865
485#define GL_QUERY_RESULT 0x8866
486#define GL_QUERY_RESULT_AVAILABLE 0x8867
487#define GL_ARRAY_BUFFER 0x8892
488#define GL_ELEMENT_ARRAY_BUFFER 0x8893
489#define GL_ARRAY_BUFFER_BINDING 0x8894
490#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
491#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
492#define GL_READ_ONLY 0x88B8
493#define GL_WRITE_ONLY 0x88B9
494#define GL_READ_WRITE 0x88BA
495#define GL_BUFFER_ACCESS 0x88BB
496#define GL_BUFFER_MAPPED 0x88BC
497#define GL_BUFFER_MAP_POINTER 0x88BD
498#define GL_STREAM_DRAW 0x88E0
499#define GL_STREAM_READ 0x88E1
500#define GL_STREAM_COPY 0x88E2
501#define GL_STATIC_DRAW 0x88E4
502#define GL_STATIC_READ 0x88E5
503#define GL_STATIC_COPY 0x88E6
504#define GL_DYNAMIC_DRAW 0x88E8
505#define GL_DYNAMIC_READ 0x88E9
506#define GL_DYNAMIC_COPY 0x88EA
507#define GL_SAMPLES_PASSED 0x8914
508#define GL_SRC1_ALPHA 0x8589
509#define GL_VERTEX_ARRAY_BUFFER_BINDING 0x8896
510#define GL_NORMAL_ARRAY_BUFFER_BINDING 0x8897
511#define GL_COLOR_ARRAY_BUFFER_BINDING 0x8898
512#define GL_INDEX_ARRAY_BUFFER_BINDING 0x8899
513#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING 0x889A
514#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING 0x889B
515#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING 0x889C
516#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING 0x889D
517#define GL_WEIGHT_ARRAY_BUFFER_BINDING 0x889E
518#define GL_FOG_COORD_SRC 0x8450
519#define GL_FOG_COORD 0x8451
520#define GL_CURRENT_FOG_COORD 0x8453
521#define GL_FOG_COORD_ARRAY_TYPE 0x8454
522#define GL_FOG_COORD_ARRAY_STRIDE 0x8455
523#define GL_FOG_COORD_ARRAY_POINTER 0x8456
524#define GL_FOG_COORD_ARRAY 0x8457
525#define GL_FOG_COORD_ARRAY_BUFFER_BINDING 0x889D
526#define GL_SRC0_RGB 0x8580
527#define GL_SRC1_RGB 0x8581
528#define GL_SRC2_RGB 0x8582
529#define GL_SRC0_ALPHA 0x8588
530#define GL_SRC2_ALPHA 0x858A
531typedef void (APIENTRYP PFNGLGENQUERIESPROC) (GLsizei n, GLuint *ids);
532typedef void (APIENTRYP PFNGLDELETEQUERIESPROC) (GLsizei n, const GLuint *ids);
533typedef GLboolean (APIENTRYP PFNGLISQUERYPROC) (GLuint id);
534typedef void (APIENTRYP PFNGLBEGINQUERYPROC) (GLenum target, GLuint id);
535typedef void (APIENTRYP PFNGLENDQUERYPROC) (GLenum target);
536typedef void (APIENTRYP PFNGLGETQUERYIVPROC) (GLenum target, GLenum pname, GLint *params);
537typedef void (APIENTRYP PFNGLGETQUERYOBJECTIVPROC) (GLuint id, GLenum pname, GLint *params);
538typedef void (APIENTRYP PFNGLGETQUERYOBJECTUIVPROC) (GLuint id, GLenum pname, GLuint *params);
539typedef void (APIENTRYP PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer);
540typedef void (APIENTRYP PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint *buffers);
541typedef void (APIENTRYP PFNGLGENBUFFERSPROC) (GLsizei n, GLuint *buffers);
542typedef GLboolean (APIENTRYP PFNGLISBUFFERPROC) (GLuint buffer);
543typedef void (APIENTRYP PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const void *data, GLenum usage);
544typedef void (APIENTRYP PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const void *data);
545typedef void (APIENTRYP PFNGLGETBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, void *data);
546typedef void *(APIENTRYP PFNGLMAPBUFFERPROC) (GLenum target, GLenum access);
547typedef GLboolean (APIENTRYP PFNGLUNMAPBUFFERPROC) (GLenum target);
548typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
549typedef void (APIENTRYP PFNGLGETBUFFERPOINTERVPROC) (GLenum target, GLenum pname, void **params);
550#ifdef GL_GLEXT_PROTOTYPES
551GLAPI void APIENTRY glGenQueries (GLsizei n, GLuint *ids);
552GLAPI void APIENTRY glDeleteQueries (GLsizei n, const GLuint *ids);
553GLAPI GLboolean APIENTRY glIsQuery (GLuint id);
554GLAPI void APIENTRY glBeginQuery (GLenum target, GLuint id);
555GLAPI void APIENTRY glEndQuery (GLenum target);
556GLAPI void APIENTRY glGetQueryiv (GLenum target, GLenum pname, GLint *params);
557GLAPI void APIENTRY glGetQueryObjectiv (GLuint id, GLenum pname, GLint *params);
558GLAPI void APIENTRY glGetQueryObjectuiv (GLuint id, GLenum pname, GLuint *params);
559GLAPI void APIENTRY glBindBuffer (GLenum target, GLuint buffer);
560GLAPI void APIENTRY glDeleteBuffers (GLsizei n, const GLuint *buffers);
561GLAPI void APIENTRY glGenBuffers (GLsizei n, GLuint *buffers);
562GLAPI GLboolean APIENTRY glIsBuffer (GLuint buffer);
563GLAPI void APIENTRY glBufferData (GLenum target, GLsizeiptr size, const void *data, GLenum usage);
564GLAPI void APIENTRY glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const void *data);
565GLAPI void APIENTRY glGetBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, void *data);
566GLAPI void *APIENTRY glMapBuffer (GLenum target, GLenum access);
567GLAPI GLboolean APIENTRY glUnmapBuffer (GLenum target);
568GLAPI void APIENTRY glGetBufferParameteriv (GLenum target, GLenum pname, GLint *params);
569GLAPI void APIENTRY glGetBufferPointerv (GLenum target, GLenum pname, void **params);
570#endif
571#endif /* GL_VERSION_1_5 */
572
573#ifndef GL_VERSION_2_0
574#define GL_VERSION_2_0 1
575typedef char GLchar;
576#define GL_BLEND_EQUATION_RGB 0x8009
577#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622
578#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623
579#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624
580#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625
581#define GL_CURRENT_VERTEX_ATTRIB 0x8626
582#define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642
583#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645
584#define GL_STENCIL_BACK_FUNC 0x8800
585#define GL_STENCIL_BACK_FAIL 0x8801
586#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802
587#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803
588#define GL_MAX_DRAW_BUFFERS 0x8824
589#define GL_DRAW_BUFFER0 0x8825
590#define GL_DRAW_BUFFER1 0x8826
591#define GL_DRAW_BUFFER2 0x8827
592#define GL_DRAW_BUFFER3 0x8828
593#define GL_DRAW_BUFFER4 0x8829
594#define GL_DRAW_BUFFER5 0x882A
595#define GL_DRAW_BUFFER6 0x882B
596#define GL_DRAW_BUFFER7 0x882C
597#define GL_DRAW_BUFFER8 0x882D
598#define GL_DRAW_BUFFER9 0x882E
599#define GL_DRAW_BUFFER10 0x882F
600#define GL_DRAW_BUFFER11 0x8830
601#define GL_DRAW_BUFFER12 0x8831
602#define GL_DRAW_BUFFER13 0x8832
603#define GL_DRAW_BUFFER14 0x8833
604#define GL_DRAW_BUFFER15 0x8834
605#define GL_BLEND_EQUATION_ALPHA 0x883D
606#define GL_MAX_VERTEX_ATTRIBS 0x8869
607#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A
608#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872
609#define GL_FRAGMENT_SHADER 0x8B30
610#define GL_VERTEX_SHADER 0x8B31
611#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49
612#define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A
613#define GL_MAX_VARYING_FLOATS 0x8B4B
614#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C
615#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
616#define GL_SHADER_TYPE 0x8B4F
617#define GL_FLOAT_VEC2 0x8B50
618#define GL_FLOAT_VEC3 0x8B51
619#define GL_FLOAT_VEC4 0x8B52
620#define GL_INT_VEC2 0x8B53
621#define GL_INT_VEC3 0x8B54
622#define GL_INT_VEC4 0x8B55
623#define GL_BOOL 0x8B56
624#define GL_BOOL_VEC2 0x8B57
625#define GL_BOOL_VEC3 0x8B58
626#define GL_BOOL_VEC4 0x8B59
627#define GL_FLOAT_MAT2 0x8B5A
628#define GL_FLOAT_MAT3 0x8B5B
629#define GL_FLOAT_MAT4 0x8B5C
630#define GL_SAMPLER_1D 0x8B5D
631#define GL_SAMPLER_2D 0x8B5E
632#define GL_SAMPLER_3D 0x8B5F
633#define GL_SAMPLER_CUBE 0x8B60
634#define GL_SAMPLER_1D_SHADOW 0x8B61
635#define GL_SAMPLER_2D_SHADOW 0x8B62
636#define GL_DELETE_STATUS 0x8B80
637#define GL_COMPILE_STATUS 0x8B81
638#define GL_LINK_STATUS 0x8B82
639#define GL_VALIDATE_STATUS 0x8B83
640#define GL_INFO_LOG_LENGTH 0x8B84
641#define GL_ATTACHED_SHADERS 0x8B85
642#define GL_ACTIVE_UNIFORMS 0x8B86
643#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87
644#define GL_SHADER_SOURCE_LENGTH 0x8B88
645#define GL_ACTIVE_ATTRIBUTES 0x8B89
646#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A
647#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B
648#define GL_SHADING_LANGUAGE_VERSION 0x8B8C
649#define GL_CURRENT_PROGRAM 0x8B8D
650#define GL_POINT_SPRITE_COORD_ORIGIN 0x8CA0
651#define GL_LOWER_LEFT 0x8CA1
652#define GL_UPPER_LEFT 0x8CA2
653#define GL_STENCIL_BACK_REF 0x8CA3
654#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4
655#define GL_STENCIL_BACK_WRITEMASK 0x8CA5
656#define GL_VERTEX_PROGRAM_TWO_SIDE 0x8643
657#define GL_POINT_SPRITE 0x8861
658#define GL_COORD_REPLACE 0x8862
659#define GL_MAX_TEXTURE_COORDS 0x8871
660typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEPROC) (GLenum modeRGB, GLenum modeAlpha);
661typedef void (APIENTRYP PFNGLDRAWBUFFERSPROC) (GLsizei n, const GLenum *bufs);
662typedef void (APIENTRYP PFNGLSTENCILOPSEPARATEPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
663typedef void (APIENTRYP PFNGLSTENCILFUNCSEPARATEPROC) (GLenum face, GLenum func, GLint ref, GLuint mask);
664typedef void (APIENTRYP PFNGLSTENCILMASKSEPARATEPROC) (GLenum face, GLuint mask);
665typedef void (APIENTRYP PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader);
666typedef void (APIENTRYP PFNGLBINDATTRIBLOCATIONPROC) (GLuint program, GLuint index, const GLchar *name);
667typedef void (APIENTRYP PFNGLCOMPILESHADERPROC) (GLuint shader);
668typedef GLuint (APIENTRYP PFNGLCREATEPROGRAMPROC) (void);
669typedef GLuint (APIENTRYP PFNGLCREATESHADERPROC) (GLenum type);
670typedef void (APIENTRYP PFNGLDELETEPROGRAMPROC) (GLuint program);
671typedef void (APIENTRYP PFNGLDELETESHADERPROC) (GLuint shader);
672typedef void (APIENTRYP PFNGLDETACHSHADERPROC) (GLuint program, GLuint shader);
673typedef void (APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint index);
674typedef void (APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint index);
675typedef void (APIENTRYP PFNGLGETACTIVEATTRIBPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
676typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
677typedef void (APIENTRYP PFNGLGETATTACHEDSHADERSPROC) (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);
678typedef GLint (APIENTRYP PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const GLchar *name);
679typedef void (APIENTRYP PFNGLGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint *params);
680typedef void (APIENTRYP PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
681typedef void (APIENTRYP PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint *params);
682typedef void (APIENTRYP PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
683typedef void (APIENTRYP PFNGLGETSHADERSOURCEPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
684typedef GLint (APIENTRYP PFNGLGETUNIFORMLOCATIONPROC) (GLuint program, const GLchar *name);
685typedef void (APIENTRYP PFNGLGETUNIFORMFVPROC) (GLuint program, GLint location, GLfloat *params);
686typedef void (APIENTRYP PFNGLGETUNIFORMIVPROC) (GLuint program, GLint location, GLint *params);
687typedef void (APIENTRYP PFNGLGETVERTEXATTRIBDVPROC) (GLuint index, GLenum pname, GLdouble *params);
688typedef void (APIENTRYP PFNGLGETVERTEXATTRIBFVPROC) (GLuint index, GLenum pname, GLfloat *params);
689typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIVPROC) (GLuint index, GLenum pname, GLint *params);
690typedef void (APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVPROC) (GLuint index, GLenum pname, void **pointer);
691typedef GLboolean (APIENTRYP PFNGLISPROGRAMPROC) (GLuint program);
692typedef GLboolean (APIENTRYP PFNGLISSHADERPROC) (GLuint shader);
693typedef void (APIENTRYP PFNGLLINKPROGRAMPROC) (GLuint program);
694typedef void (APIENTRYP PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length);
695typedef void (APIENTRYP PFNGLUSEPROGRAMPROC) (GLuint program);
696typedef void (APIENTRYP PFNGLUNIFORM1FPROC) (GLint location, GLfloat v0);
697typedef void (APIENTRYP PFNGLUNIFORM2FPROC) (GLint location, GLfloat v0, GLfloat v1);
698typedef void (APIENTRYP PFNGLUNIFORM3FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
699typedef void (APIENTRYP PFNGLUNIFORM4FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
700typedef void (APIENTRYP PFNGLUNIFORM1IPROC) (GLint location, GLint v0);
701typedef void (APIENTRYP PFNGLUNIFORM2IPROC) (GLint location, GLint v0, GLint v1);
702typedef void (APIENTRYP PFNGLUNIFORM3IPROC) (GLint location, GLint v0, GLint v1, GLint v2);
703typedef void (APIENTRYP PFNGLUNIFORM4IPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
704typedef void (APIENTRYP PFNGLUNIFORM1FVPROC) (GLint location, GLsizei count, const GLfloat *value);
705typedef void (APIENTRYP PFNGLUNIFORM2FVPROC) (GLint location, GLsizei count, const GLfloat *value);
706typedef void (APIENTRYP PFNGLUNIFORM3FVPROC) (GLint location, GLsizei count, const GLfloat *value);
707typedef void (APIENTRYP PFNGLUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat *value);
708typedef void (APIENTRYP PFNGLUNIFORM1IVPROC) (GLint location, GLsizei count, const GLint *value);
709typedef void (APIENTRYP PFNGLUNIFORM2IVPROC) (GLint location, GLsizei count, const GLint *value);
710typedef void (APIENTRYP PFNGLUNIFORM3IVPROC) (GLint location, GLsizei count, const GLint *value);
711typedef void (APIENTRYP PFNGLUNIFORM4IVPROC) (GLint location, GLsizei count, const GLint *value);
712typedef void (APIENTRYP PFNGLUNIFORMMATRIX2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
713typedef void (APIENTRYP PFNGLUNIFORMMATRIX3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
714typedef void (APIENTRYP PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
715typedef void (APIENTRYP PFNGLVALIDATEPROGRAMPROC) (GLuint program);
716typedef void (APIENTRYP PFNGLVERTEXATTRIB1DPROC) (GLuint index, GLdouble x);
717typedef void (APIENTRYP PFNGLVERTEXATTRIB1DVPROC) (GLuint index, const GLdouble *v);
718typedef void (APIENTRYP PFNGLVERTEXATTRIB1FPROC) (GLuint index, GLfloat x);
719typedef void (APIENTRYP PFNGLVERTEXATTRIB1FVPROC) (GLuint index, const GLfloat *v);
720typedef void (APIENTRYP PFNGLVERTEXATTRIB1SPROC) (GLuint index, GLshort x);
721typedef void (APIENTRYP PFNGLVERTEXATTRIB1SVPROC) (GLuint index, const GLshort *v);
722typedef void (APIENTRYP PFNGLVERTEXATTRIB2DPROC) (GLuint index, GLdouble x, GLdouble y);
723typedef void (APIENTRYP PFNGLVERTEXATTRIB2DVPROC) (GLuint index, const GLdouble *v);
724typedef void (APIENTRYP PFNGLVERTEXATTRIB2FPROC) (GLuint index, GLfloat x, GLfloat y);
725typedef void (APIENTRYP PFNGLVERTEXATTRIB2FVPROC) (GLuint index, const GLfloat *v);
726typedef void (APIENTRYP PFNGLVERTEXATTRIB2SPROC) (GLuint index, GLshort x, GLshort y);
727typedef void (APIENTRYP PFNGLVERTEXATTRIB2SVPROC) (GLuint index, const GLshort *v);
728typedef void (APIENTRYP PFNGLVERTEXATTRIB3DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
729typedef void (APIENTRYP PFNGLVERTEXATTRIB3DVPROC) (GLuint index, const GLdouble *v);
730typedef void (APIENTRYP PFNGLVERTEXATTRIB3FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
731typedef void (APIENTRYP PFNGLVERTEXATTRIB3FVPROC) (GLuint index, const GLfloat *v);
732typedef void (APIENTRYP PFNGLVERTEXATTRIB3SPROC) (GLuint index, GLshort x, GLshort y, GLshort z);
733typedef void (APIENTRYP PFNGLVERTEXATTRIB3SVPROC) (GLuint index, const GLshort *v);
734typedef void (APIENTRYP PFNGLVERTEXATTRIB4NBVPROC) (GLuint index, const GLbyte *v);
735typedef void (APIENTRYP PFNGLVERTEXATTRIB4NIVPROC) (GLuint index, const GLint *v);
736typedef void (APIENTRYP PFNGLVERTEXATTRIB4NSVPROC) (GLuint index, const GLshort *v);
737typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
738typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBVPROC) (GLuint index, const GLubyte *v);
739typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUIVPROC) (GLuint index, const GLuint *v);
740typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUSVPROC) (GLuint index, const GLushort *v);
741typedef void (APIENTRYP PFNGLVERTEXATTRIB4BVPROC) (GLuint index, const GLbyte *v);
742typedef void (APIENTRYP PFNGLVERTEXATTRIB4DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
743typedef void (APIENTRYP PFNGLVERTEXATTRIB4DVPROC) (GLuint index, const GLdouble *v);
744typedef void (APIENTRYP PFNGLVERTEXATTRIB4FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
745typedef void (APIENTRYP PFNGLVERTEXATTRIB4FVPROC) (GLuint index, const GLfloat *v);
746typedef void (APIENTRYP PFNGLVERTEXATTRIB4IVPROC) (GLuint index, const GLint *v);
747typedef void (APIENTRYP PFNGLVERTEXATTRIB4SPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
748typedef void (APIENTRYP PFNGLVERTEXATTRIB4SVPROC) (GLuint index, const GLshort *v);
749typedef void (APIENTRYP PFNGLVERTEXATTRIB4UBVPROC) (GLuint index, const GLubyte *v);
750typedef void (APIENTRYP PFNGLVERTEXATTRIB4UIVPROC) (GLuint index, const GLuint *v);
751typedef void (APIENTRYP PFNGLVERTEXATTRIB4USVPROC) (GLuint index, const GLushort *v);
752typedef void (APIENTRYP PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer);
753#ifdef GL_GLEXT_PROTOTYPES
754GLAPI void APIENTRY glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha);
755GLAPI void APIENTRY glDrawBuffers (GLsizei n, const GLenum *bufs);
756GLAPI void APIENTRY glStencilOpSeparate (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
757GLAPI void APIENTRY glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask);
758GLAPI void APIENTRY glStencilMaskSeparate (GLenum face, GLuint mask);
759GLAPI void APIENTRY glAttachShader (GLuint program, GLuint shader);
760GLAPI void APIENTRY glBindAttribLocation (GLuint program, GLuint index, const GLchar *name);
761GLAPI void APIENTRY glCompileShader (GLuint shader);
762GLAPI GLuint APIENTRY glCreateProgram (void);
763GLAPI GLuint APIENTRY glCreateShader (GLenum type);
764GLAPI void APIENTRY glDeleteProgram (GLuint program);
765GLAPI void APIENTRY glDeleteShader (GLuint shader);
766GLAPI void APIENTRY glDetachShader (GLuint program, GLuint shader);
767GLAPI void APIENTRY glDisableVertexAttribArray (GLuint index);
768GLAPI void APIENTRY glEnableVertexAttribArray (GLuint index);
769GLAPI void APIENTRY glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
770GLAPI void APIENTRY glGetActiveUniform (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
771GLAPI void APIENTRY glGetAttachedShaders (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);
772GLAPI GLint APIENTRY glGetAttribLocation (GLuint program, const GLchar *name);
773GLAPI void APIENTRY glGetProgramiv (GLuint program, GLenum pname, GLint *params);
774GLAPI void APIENTRY glGetProgramInfoLog (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
775GLAPI void APIENTRY glGetShaderiv (GLuint shader, GLenum pname, GLint *params);
776GLAPI void APIENTRY glGetShaderInfoLog (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
777GLAPI void APIENTRY glGetShaderSource (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
778GLAPI GLint APIENTRY glGetUniformLocation (GLuint program, const GLchar *name);
779GLAPI void APIENTRY glGetUniformfv (GLuint program, GLint location, GLfloat *params);
780GLAPI void APIENTRY glGetUniformiv (GLuint program, GLint location, GLint *params);
781GLAPI void APIENTRY glGetVertexAttribdv (GLuint index, GLenum pname, GLdouble *params);
782GLAPI void APIENTRY glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat *params);
783GLAPI void APIENTRY glGetVertexAttribiv (GLuint index, GLenum pname, GLint *params);
784GLAPI void APIENTRY glGetVertexAttribPointerv (GLuint index, GLenum pname, void **pointer);
785GLAPI GLboolean APIENTRY glIsProgram (GLuint program);
786GLAPI GLboolean APIENTRY glIsShader (GLuint shader);
787GLAPI void APIENTRY glLinkProgram (GLuint program);
788GLAPI void APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length);
789GLAPI void APIENTRY glUseProgram (GLuint program);
790GLAPI void APIENTRY glUniform1f (GLint location, GLfloat v0);
791GLAPI void APIENTRY glUniform2f (GLint location, GLfloat v0, GLfloat v1);
792GLAPI void APIENTRY glUniform3f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
793GLAPI void APIENTRY glUniform4f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
794GLAPI void APIENTRY glUniform1i (GLint location, GLint v0);
795GLAPI void APIENTRY glUniform2i (GLint location, GLint v0, GLint v1);
796GLAPI void APIENTRY glUniform3i (GLint location, GLint v0, GLint v1, GLint v2);
797GLAPI void APIENTRY glUniform4i (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
798GLAPI void APIENTRY glUniform1fv (GLint location, GLsizei count, const GLfloat *value);
799GLAPI void APIENTRY glUniform2fv (GLint location, GLsizei count, const GLfloat *value);
800GLAPI void APIENTRY glUniform3fv (GLint location, GLsizei count, const GLfloat *value);
801GLAPI void APIENTRY glUniform4fv (GLint location, GLsizei count, const GLfloat *value);
802GLAPI void APIENTRY glUniform1iv (GLint location, GLsizei count, const GLint *value);
803GLAPI void APIENTRY glUniform2iv (GLint location, GLsizei count, const GLint *value);
804GLAPI void APIENTRY glUniform3iv (GLint location, GLsizei count, const GLint *value);
805GLAPI void APIENTRY glUniform4iv (GLint location, GLsizei count, const GLint *value);
806GLAPI void APIENTRY glUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
807GLAPI void APIENTRY glUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
808GLAPI void APIENTRY glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
809GLAPI void APIENTRY glValidateProgram (GLuint program);
810GLAPI void APIENTRY glVertexAttrib1d (GLuint index, GLdouble x);
811GLAPI void APIENTRY glVertexAttrib1dv (GLuint index, const GLdouble *v);
812GLAPI void APIENTRY glVertexAttrib1f (GLuint index, GLfloat x);
813GLAPI void APIENTRY glVertexAttrib1fv (GLuint index, const GLfloat *v);
814GLAPI void APIENTRY glVertexAttrib1s (GLuint index, GLshort x);
815GLAPI void APIENTRY glVertexAttrib1sv (GLuint index, const GLshort *v);
816GLAPI void APIENTRY glVertexAttrib2d (GLuint index, GLdouble x, GLdouble y);
817GLAPI void APIENTRY glVertexAttrib2dv (GLuint index, const GLdouble *v);
818GLAPI void APIENTRY glVertexAttrib2f (GLuint index, GLfloat x, GLfloat y);
819GLAPI void APIENTRY glVertexAttrib2fv (GLuint index, const GLfloat *v);
820GLAPI void APIENTRY glVertexAttrib2s (GLuint index, GLshort x, GLshort y);
821GLAPI void APIENTRY glVertexAttrib2sv (GLuint index, const GLshort *v);
822GLAPI void APIENTRY glVertexAttrib3d (GLuint index, GLdouble x, GLdouble y, GLdouble z);
823GLAPI void APIENTRY glVertexAttrib3dv (GLuint index, const GLdouble *v);
824GLAPI void APIENTRY glVertexAttrib3f (GLuint index, GLfloat x, GLfloat y, GLfloat z);
825GLAPI void APIENTRY glVertexAttrib3fv (GLuint index, const GLfloat *v);
826GLAPI void APIENTRY glVertexAttrib3s (GLuint index, GLshort x, GLshort y, GLshort z);
827GLAPI void APIENTRY glVertexAttrib3sv (GLuint index, const GLshort *v);
828GLAPI void APIENTRY glVertexAttrib4Nbv (GLuint index, const GLbyte *v);
829GLAPI void APIENTRY glVertexAttrib4Niv (GLuint index, const GLint *v);
830GLAPI void APIENTRY glVertexAttrib4Nsv (GLuint index, const GLshort *v);
831GLAPI void APIENTRY glVertexAttrib4Nub (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
832GLAPI void APIENTRY glVertexAttrib4Nubv (GLuint index, const GLubyte *v);
833GLAPI void APIENTRY glVertexAttrib4Nuiv (GLuint index, const GLuint *v);
834GLAPI void APIENTRY glVertexAttrib4Nusv (GLuint index, const GLushort *v);
835GLAPI void APIENTRY glVertexAttrib4bv (GLuint index, const GLbyte *v);
836GLAPI void APIENTRY glVertexAttrib4d (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
837GLAPI void APIENTRY glVertexAttrib4dv (GLuint index, const GLdouble *v);
838GLAPI void APIENTRY glVertexAttrib4f (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
839GLAPI void APIENTRY glVertexAttrib4fv (GLuint index, const GLfloat *v);
840GLAPI void APIENTRY glVertexAttrib4iv (GLuint index, const GLint *v);
841GLAPI void APIENTRY glVertexAttrib4s (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
842GLAPI void APIENTRY glVertexAttrib4sv (GLuint index, const GLshort *v);
843GLAPI void APIENTRY glVertexAttrib4ubv (GLuint index, const GLubyte *v);
844GLAPI void APIENTRY glVertexAttrib4uiv (GLuint index, const GLuint *v);
845GLAPI void APIENTRY glVertexAttrib4usv (GLuint index, const GLushort *v);
846GLAPI void APIENTRY glVertexAttribPointer (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer);
847#endif
848#endif /* GL_VERSION_2_0 */
849
850#ifndef GL_VERSION_2_1
851#define GL_VERSION_2_1 1
852#define GL_PIXEL_PACK_BUFFER 0x88EB
853#define GL_PIXEL_UNPACK_BUFFER 0x88EC
854#define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED
855#define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF
856#define GL_FLOAT_MAT2x3 0x8B65
857#define GL_FLOAT_MAT2x4 0x8B66
858#define GL_FLOAT_MAT3x2 0x8B67
859#define GL_FLOAT_MAT3x4 0x8B68
860#define GL_FLOAT_MAT4x2 0x8B69
861#define GL_FLOAT_MAT4x3 0x8B6A
862#define GL_SRGB 0x8C40
863#define GL_SRGB8 0x8C41
864#define GL_SRGB_ALPHA 0x8C42
865#define GL_SRGB8_ALPHA8 0x8C43
866#define GL_COMPRESSED_SRGB 0x8C48
867#define GL_COMPRESSED_SRGB_ALPHA 0x8C49
868#define GL_CURRENT_RASTER_SECONDARY_COLOR 0x845F
869#define GL_SLUMINANCE_ALPHA 0x8C44
870#define GL_SLUMINANCE8_ALPHA8 0x8C45
871#define GL_SLUMINANCE 0x8C46
872#define GL_SLUMINANCE8 0x8C47
873#define GL_COMPRESSED_SLUMINANCE 0x8C4A
874#define GL_COMPRESSED_SLUMINANCE_ALPHA 0x8C4B
875typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
876typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
877typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
878typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
879typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
880typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
881#ifdef GL_GLEXT_PROTOTYPES
882GLAPI void APIENTRY glUniformMatrix2x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
883GLAPI void APIENTRY glUniformMatrix3x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
884GLAPI void APIENTRY glUniformMatrix2x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
885GLAPI void APIENTRY glUniformMatrix4x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
886GLAPI void APIENTRY glUniformMatrix3x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
887GLAPI void APIENTRY glUniformMatrix4x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
888#endif
889#endif /* GL_VERSION_2_1 */
890
891#ifndef GL_VERSION_3_0
892#define GL_VERSION_3_0 1
893typedef unsigned short GLhalf;
894#define GL_COMPARE_REF_TO_TEXTURE 0x884E
895#define GL_CLIP_DISTANCE0 0x3000
896#define GL_CLIP_DISTANCE1 0x3001
897#define GL_CLIP_DISTANCE2 0x3002
898#define GL_CLIP_DISTANCE3 0x3003
899#define GL_CLIP_DISTANCE4 0x3004
900#define GL_CLIP_DISTANCE5 0x3005
901#define GL_CLIP_DISTANCE6 0x3006
902#define GL_CLIP_DISTANCE7 0x3007
903#define GL_MAX_CLIP_DISTANCES 0x0D32
904#define GL_MAJOR_VERSION 0x821B
905#define GL_MINOR_VERSION 0x821C
906#define GL_NUM_EXTENSIONS 0x821D
907#define GL_CONTEXT_FLAGS 0x821E
908#define GL_COMPRESSED_RED 0x8225
909#define GL_COMPRESSED_RG 0x8226
910#define GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT 0x00000001
911#define GL_RGBA32F 0x8814
912#define GL_RGB32F 0x8815
913#define GL_RGBA16F 0x881A
914#define GL_RGB16F 0x881B
915#define GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD
916#define GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF
917#define GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904
918#define GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905
919#define GL_CLAMP_READ_COLOR 0x891C
920#define GL_FIXED_ONLY 0x891D
921#define GL_MAX_VARYING_COMPONENTS 0x8B4B
922#define GL_TEXTURE_1D_ARRAY 0x8C18
923#define GL_PROXY_TEXTURE_1D_ARRAY 0x8C19
924#define GL_TEXTURE_2D_ARRAY 0x8C1A
925#define GL_PROXY_TEXTURE_2D_ARRAY 0x8C1B
926#define GL_TEXTURE_BINDING_1D_ARRAY 0x8C1C
927#define GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D
928#define GL_R11F_G11F_B10F 0x8C3A
929#define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B
930#define GL_RGB9_E5 0x8C3D
931#define GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E
932#define GL_TEXTURE_SHARED_SIZE 0x8C3F
933#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76
934#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F
935#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80
936#define GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83
937#define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84
938#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85
939#define GL_PRIMITIVES_GENERATED 0x8C87
940#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88
941#define GL_RASTERIZER_DISCARD 0x8C89
942#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A
943#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B
944#define GL_INTERLEAVED_ATTRIBS 0x8C8C
945#define GL_SEPARATE_ATTRIBS 0x8C8D
946#define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E
947#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F
948#define GL_RGBA32UI 0x8D70
949#define GL_RGB32UI 0x8D71
950#define GL_RGBA16UI 0x8D76
951#define GL_RGB16UI 0x8D77
952#define GL_RGBA8UI 0x8D7C
953#define GL_RGB8UI 0x8D7D
954#define GL_RGBA32I 0x8D82
955#define GL_RGB32I 0x8D83
956#define GL_RGBA16I 0x8D88
957#define GL_RGB16I 0x8D89
958#define GL_RGBA8I 0x8D8E
959#define GL_RGB8I 0x8D8F
960#define GL_RED_INTEGER 0x8D94
961#define GL_GREEN_INTEGER 0x8D95
962#define GL_BLUE_INTEGER 0x8D96
963#define GL_RGB_INTEGER 0x8D98
964#define GL_RGBA_INTEGER 0x8D99
965#define GL_BGR_INTEGER 0x8D9A
966#define GL_BGRA_INTEGER 0x8D9B
967#define GL_SAMPLER_1D_ARRAY 0x8DC0
968#define GL_SAMPLER_2D_ARRAY 0x8DC1
969#define GL_SAMPLER_1D_ARRAY_SHADOW 0x8DC3
970#define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4
971#define GL_SAMPLER_CUBE_SHADOW 0x8DC5
972#define GL_UNSIGNED_INT_VEC2 0x8DC6
973#define GL_UNSIGNED_INT_VEC3 0x8DC7
974#define GL_UNSIGNED_INT_VEC4 0x8DC8
975#define GL_INT_SAMPLER_1D 0x8DC9
976#define GL_INT_SAMPLER_2D 0x8DCA
977#define GL_INT_SAMPLER_3D 0x8DCB
978#define GL_INT_SAMPLER_CUBE 0x8DCC
979#define GL_INT_SAMPLER_1D_ARRAY 0x8DCE
980#define GL_INT_SAMPLER_2D_ARRAY 0x8DCF
981#define GL_UNSIGNED_INT_SAMPLER_1D 0x8DD1
982#define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2
983#define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3
984#define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4
985#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY 0x8DD6
986#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7
987#define GL_QUERY_WAIT 0x8E13
988#define GL_QUERY_NO_WAIT 0x8E14
989#define GL_QUERY_BY_REGION_WAIT 0x8E15
990#define GL_QUERY_BY_REGION_NO_WAIT 0x8E16
991#define GL_BUFFER_ACCESS_FLAGS 0x911F
992#define GL_BUFFER_MAP_LENGTH 0x9120
993#define GL_BUFFER_MAP_OFFSET 0x9121
994#define GL_DEPTH_COMPONENT32F 0x8CAC
995#define GL_DEPTH32F_STENCIL8 0x8CAD
996#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD
997#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506
998#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210
999#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211
1000#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212
1001#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213
1002#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214
1003#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215
1004#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216
1005#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217
1006#define GL_FRAMEBUFFER_DEFAULT 0x8218
1007#define GL_FRAMEBUFFER_UNDEFINED 0x8219
1008#define GL_DEPTH_STENCIL_ATTACHMENT 0x821A
1009#define GL_MAX_RENDERBUFFER_SIZE 0x84E8
1010#define GL_DEPTH_STENCIL 0x84F9
1011#define GL_UNSIGNED_INT_24_8 0x84FA
1012#define GL_DEPTH24_STENCIL8 0x88F0
1013#define GL_TEXTURE_STENCIL_SIZE 0x88F1
1014#define GL_TEXTURE_RED_TYPE 0x8C10
1015#define GL_TEXTURE_GREEN_TYPE 0x8C11
1016#define GL_TEXTURE_BLUE_TYPE 0x8C12
1017#define GL_TEXTURE_ALPHA_TYPE 0x8C13
1018#define GL_TEXTURE_DEPTH_TYPE 0x8C16
1019#define GL_UNSIGNED_NORMALIZED 0x8C17
1020#define GL_FRAMEBUFFER_BINDING 0x8CA6
1021#define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6
1022#define GL_RENDERBUFFER_BINDING 0x8CA7
1023#define GL_READ_FRAMEBUFFER 0x8CA8
1024#define GL_DRAW_FRAMEBUFFER 0x8CA9
1025#define GL_READ_FRAMEBUFFER_BINDING 0x8CAA
1026#define GL_RENDERBUFFER_SAMPLES 0x8CAB
1027#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0
1028#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1
1029#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2
1030#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3
1031#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4
1032#define GL_FRAMEBUFFER_COMPLETE 0x8CD5
1033#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6
1034#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
1035#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER 0x8CDB
1036#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 0x8CDC
1037#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD
1038#define GL_MAX_COLOR_ATTACHMENTS 0x8CDF
1039#define GL_COLOR_ATTACHMENT0 0x8CE0
1040#define GL_COLOR_ATTACHMENT1 0x8CE1
1041#define GL_COLOR_ATTACHMENT2 0x8CE2
1042#define GL_COLOR_ATTACHMENT3 0x8CE3
1043#define GL_COLOR_ATTACHMENT4 0x8CE4
1044#define GL_COLOR_ATTACHMENT5 0x8CE5
1045#define GL_COLOR_ATTACHMENT6 0x8CE6
1046#define GL_COLOR_ATTACHMENT7 0x8CE7
1047#define GL_COLOR_ATTACHMENT8 0x8CE8
1048#define GL_COLOR_ATTACHMENT9 0x8CE9
1049#define GL_COLOR_ATTACHMENT10 0x8CEA
1050#define GL_COLOR_ATTACHMENT11 0x8CEB
1051#define GL_COLOR_ATTACHMENT12 0x8CEC
1052#define GL_COLOR_ATTACHMENT13 0x8CED
1053#define GL_COLOR_ATTACHMENT14 0x8CEE
1054#define GL_COLOR_ATTACHMENT15 0x8CEF
1055#define GL_COLOR_ATTACHMENT16 0x8CF0
1056#define GL_COLOR_ATTACHMENT17 0x8CF1
1057#define GL_COLOR_ATTACHMENT18 0x8CF2
1058#define GL_COLOR_ATTACHMENT19 0x8CF3
1059#define GL_COLOR_ATTACHMENT20 0x8CF4
1060#define GL_COLOR_ATTACHMENT21 0x8CF5
1061#define GL_COLOR_ATTACHMENT22 0x8CF6
1062#define GL_COLOR_ATTACHMENT23 0x8CF7
1063#define GL_COLOR_ATTACHMENT24 0x8CF8
1064#define GL_COLOR_ATTACHMENT25 0x8CF9
1065#define GL_COLOR_ATTACHMENT26 0x8CFA
1066#define GL_COLOR_ATTACHMENT27 0x8CFB
1067#define GL_COLOR_ATTACHMENT28 0x8CFC
1068#define GL_COLOR_ATTACHMENT29 0x8CFD
1069#define GL_COLOR_ATTACHMENT30 0x8CFE
1070#define GL_COLOR_ATTACHMENT31 0x8CFF
1071#define GL_DEPTH_ATTACHMENT 0x8D00
1072#define GL_STENCIL_ATTACHMENT 0x8D20
1073#define GL_FRAMEBUFFER 0x8D40
1074#define GL_RENDERBUFFER 0x8D41
1075#define GL_RENDERBUFFER_WIDTH 0x8D42
1076#define GL_RENDERBUFFER_HEIGHT 0x8D43
1077#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44
1078#define GL_STENCIL_INDEX1 0x8D46
1079#define GL_STENCIL_INDEX4 0x8D47
1080#define GL_STENCIL_INDEX8 0x8D48
1081#define GL_STENCIL_INDEX16 0x8D49
1082#define GL_RENDERBUFFER_RED_SIZE 0x8D50
1083#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51
1084#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52
1085#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53
1086#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54
1087#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55
1088#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56
1089#define GL_MAX_SAMPLES 0x8D57
1090#define GL_INDEX 0x8222
1091#define GL_TEXTURE_LUMINANCE_TYPE 0x8C14
1092#define GL_TEXTURE_INTENSITY_TYPE 0x8C15
1093#define GL_FRAMEBUFFER_SRGB 0x8DB9
1094#define GL_HALF_FLOAT 0x140B
1095#define GL_MAP_READ_BIT 0x0001
1096#define GL_MAP_WRITE_BIT 0x0002
1097#define GL_MAP_INVALIDATE_RANGE_BIT 0x0004
1098#define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008
1099#define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010
1100#define GL_MAP_UNSYNCHRONIZED_BIT 0x0020
1101#define GL_COMPRESSED_RED_RGTC1 0x8DBB
1102#define GL_COMPRESSED_SIGNED_RED_RGTC1 0x8DBC
1103#define GL_COMPRESSED_RG_RGTC2 0x8DBD
1104#define GL_COMPRESSED_SIGNED_RG_RGTC2 0x8DBE
1105#define GL_RG 0x8227
1106#define GL_RG_INTEGER 0x8228
1107#define GL_R8 0x8229
1108#define GL_R16 0x822A
1109#define GL_RG8 0x822B
1110#define GL_RG16 0x822C
1111#define GL_R16F 0x822D
1112#define GL_R32F 0x822E
1113#define GL_RG16F 0x822F
1114#define GL_RG32F 0x8230
1115#define GL_R8I 0x8231
1116#define GL_R8UI 0x8232
1117#define GL_R16I 0x8233
1118#define GL_R16UI 0x8234
1119#define GL_R32I 0x8235
1120#define GL_R32UI 0x8236
1121#define GL_RG8I 0x8237
1122#define GL_RG8UI 0x8238
1123#define GL_RG16I 0x8239
1124#define GL_RG16UI 0x823A
1125#define GL_RG32I 0x823B
1126#define GL_RG32UI 0x823C
1127#define GL_VERTEX_ARRAY_BINDING 0x85B5
1128#define GL_CLAMP_VERTEX_COLOR 0x891A
1129#define GL_CLAMP_FRAGMENT_COLOR 0x891B
1130#define GL_ALPHA_INTEGER 0x8D97
1131typedef void (APIENTRYP PFNGLCOLORMASKIPROC) (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
1132typedef void (APIENTRYP PFNGLGETBOOLEANI_VPROC) (GLenum target, GLuint index, GLboolean *data);
1133typedef void (APIENTRYP PFNGLGETINTEGERI_VPROC) (GLenum target, GLuint index, GLint *data);
1134typedef void (APIENTRYP PFNGLENABLEIPROC) (GLenum target, GLuint index);
1135typedef void (APIENTRYP PFNGLDISABLEIPROC) (GLenum target, GLuint index);
1136typedef GLboolean (APIENTRYP PFNGLISENABLEDIPROC) (GLenum target, GLuint index);
1137typedef void (APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKPROC) (GLenum primitiveMode);
1138typedef void (APIENTRYP PFNGLENDTRANSFORMFEEDBACKPROC) (void);
1139typedef void (APIENTRYP PFNGLBINDBUFFERRANGEPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
1140typedef void (APIENTRYP PFNGLBINDBUFFERBASEPROC) (GLenum target, GLuint index, GLuint buffer);
1141typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSPROC) (GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode);
1142typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
1143typedef void (APIENTRYP PFNGLCLAMPCOLORPROC) (GLenum target, GLenum clamp);
1144typedef void (APIENTRYP PFNGLBEGINCONDITIONALRENDERPROC) (GLuint id, GLenum mode);
1145typedef void (APIENTRYP PFNGLENDCONDITIONALRENDERPROC) (void);
1146typedef void (APIENTRYP PFNGLVERTEXATTRIBIPOINTERPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);
1147typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIIVPROC) (GLuint index, GLenum pname, GLint *params);
1148typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIUIVPROC) (GLuint index, GLenum pname, GLuint *params);
1149typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IPROC) (GLuint index, GLint x);
1150typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IPROC) (GLuint index, GLint x, GLint y);
1151typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IPROC) (GLuint index, GLint x, GLint y, GLint z);
1152typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IPROC) (GLuint index, GLint x, GLint y, GLint z, GLint w);
1153typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIPROC) (GLuint index, GLuint x);
1154typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIPROC) (GLuint index, GLuint x, GLuint y);
1155typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIPROC) (GLuint index, GLuint x, GLuint y, GLuint z);
1156typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIPROC) (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
1157typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IVPROC) (GLuint index, const GLint *v);
1158typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IVPROC) (GLuint index, const GLint *v);
1159typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IVPROC) (GLuint index, const GLint *v);
1160typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IVPROC) (GLuint index, const GLint *v);
1161typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIVPROC) (GLuint index, const GLuint *v);
1162typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIVPROC) (GLuint index, const GLuint *v);
1163typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIVPROC) (GLuint index, const GLuint *v);
1164typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIVPROC) (GLuint index, const GLuint *v);
1165typedef void (APIENTRYP PFNGLVERTEXATTRIBI4BVPROC) (GLuint index, const GLbyte *v);
1166typedef void (APIENTRYP PFNGLVERTEXATTRIBI4SVPROC) (GLuint index, const GLshort *v);
1167typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UBVPROC) (GLuint index, const GLubyte *v);
1168typedef void (APIENTRYP PFNGLVERTEXATTRIBI4USVPROC) (GLuint index, const GLushort *v);
1169typedef void (APIENTRYP PFNGLGETUNIFORMUIVPROC) (GLuint program, GLint location, GLuint *params);
1170typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONPROC) (GLuint program, GLuint color, const GLchar *name);
1171typedef GLint (APIENTRYP PFNGLGETFRAGDATALOCATIONPROC) (GLuint program, const GLchar *name);
1172typedef void (APIENTRYP PFNGLUNIFORM1UIPROC) (GLint location, GLuint v0);
1173typedef void (APIENTRYP PFNGLUNIFORM2UIPROC) (GLint location, GLuint v0, GLuint v1);
1174typedef void (APIENTRYP PFNGLUNIFORM3UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2);
1175typedef void (APIENTRYP PFNGLUNIFORM4UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
1176typedef void (APIENTRYP PFNGLUNIFORM1UIVPROC) (GLint location, GLsizei count, const GLuint *value);
1177typedef void (APIENTRYP PFNGLUNIFORM2UIVPROC) (GLint location, GLsizei count, const GLuint *value);
1178typedef void (APIENTRYP PFNGLUNIFORM3UIVPROC) (GLint location, GLsizei count, const GLuint *value);
1179typedef void (APIENTRYP PFNGLUNIFORM4UIVPROC) (GLint location, GLsizei count, const GLuint *value);
1180typedef void (APIENTRYP PFNGLTEXPARAMETERIIVPROC) (GLenum target, GLenum pname, const GLint *params);
1181typedef void (APIENTRYP PFNGLTEXPARAMETERIUIVPROC) (GLenum target, GLenum pname, const GLuint *params);
1182typedef void (APIENTRYP PFNGLGETTEXPARAMETERIIVPROC) (GLenum target, GLenum pname, GLint *params);
1183typedef void (APIENTRYP PFNGLGETTEXPARAMETERIUIVPROC) (GLenum target, GLenum pname, GLuint *params);
1184typedef void (APIENTRYP PFNGLCLEARBUFFERIVPROC) (GLenum buffer, GLint drawbuffer, const GLint *value);
1185typedef void (APIENTRYP PFNGLCLEARBUFFERUIVPROC) (GLenum buffer, GLint drawbuffer, const GLuint *value);
1186typedef void (APIENTRYP PFNGLCLEARBUFFERFVPROC) (GLenum buffer, GLint drawbuffer, const GLfloat *value);
1187typedef void (APIENTRYP PFNGLCLEARBUFFERFIPROC) (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
1188typedef const GLubyte *(APIENTRYP PFNGLGETSTRINGIPROC) (GLenum name, GLuint index);
1189typedef GLboolean (APIENTRYP PFNGLISRENDERBUFFERPROC) (GLuint renderbuffer);
1190typedef void (APIENTRYP PFNGLBINDRENDERBUFFERPROC) (GLenum target, GLuint renderbuffer);
1191typedef void (APIENTRYP PFNGLDELETERENDERBUFFERSPROC) (GLsizei n, const GLuint *renderbuffers);
1192typedef void (APIENTRYP PFNGLGENRENDERBUFFERSPROC) (GLsizei n, GLuint *renderbuffers);
1193typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
1194typedef void (APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
1195typedef GLboolean (APIENTRYP PFNGLISFRAMEBUFFERPROC) (GLuint framebuffer);
1196typedef void (APIENTRYP PFNGLBINDFRAMEBUFFERPROC) (GLenum target, GLuint framebuffer);
1197typedef void (APIENTRYP PFNGLDELETEFRAMEBUFFERSPROC) (GLsizei n, const GLuint *framebuffers);
1198typedef void (APIENTRYP PFNGLGENFRAMEBUFFERSPROC) (GLsizei n, GLuint *framebuffers);
1199typedef GLenum (APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSPROC) (GLenum target);
1200typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE1DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
1201typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
1202typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
1203typedef void (APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFERPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
1204typedef void (APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) (GLenum target, GLenum attachment, GLenum pname, GLint *params);
1205typedef void (APIENTRYP PFNGLGENERATEMIPMAPPROC) (GLenum target);
1206typedef void (APIENTRYP PFNGLBLITFRAMEBUFFERPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
1207typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1208typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
1209typedef void *(APIENTRYP PFNGLMAPBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
1210typedef void (APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length);
1211typedef void (APIENTRYP PFNGLBINDVERTEXARRAYPROC) (GLuint array);
1212typedef void (APIENTRYP PFNGLDELETEVERTEXARRAYSPROC) (GLsizei n, const GLuint *arrays);
1213typedef void (APIENTRYP PFNGLGENVERTEXARRAYSPROC) (GLsizei n, GLuint *arrays);
1214typedef GLboolean (APIENTRYP PFNGLISVERTEXARRAYPROC) (GLuint array);
1215#ifdef GL_GLEXT_PROTOTYPES
1216GLAPI void APIENTRY glColorMaski (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
1217GLAPI void APIENTRY glGetBooleani_v (GLenum target, GLuint index, GLboolean *data);
1218GLAPI void APIENTRY glGetIntegeri_v (GLenum target, GLuint index, GLint *data);
1219GLAPI void APIENTRY glEnablei (GLenum target, GLuint index);
1220GLAPI void APIENTRY glDisablei (GLenum target, GLuint index);
1221GLAPI GLboolean APIENTRY glIsEnabledi (GLenum target, GLuint index);
1222GLAPI void APIENTRY glBeginTransformFeedback (GLenum primitiveMode);
1223GLAPI void APIENTRY glEndTransformFeedback (void);
1224GLAPI void APIENTRY glBindBufferRange (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
1225GLAPI void APIENTRY glBindBufferBase (GLenum target, GLuint index, GLuint buffer);
1226GLAPI void APIENTRY glTransformFeedbackVaryings (GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode);
1227GLAPI void APIENTRY glGetTransformFeedbackVarying (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
1228GLAPI void APIENTRY glClampColor (GLenum target, GLenum clamp);
1229GLAPI void APIENTRY glBeginConditionalRender (GLuint id, GLenum mode);
1230GLAPI void APIENTRY glEndConditionalRender (void);
1231GLAPI void APIENTRY glVertexAttribIPointer (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);
1232GLAPI void APIENTRY glGetVertexAttribIiv (GLuint index, GLenum pname, GLint *params);
1233GLAPI void APIENTRY glGetVertexAttribIuiv (GLuint index, GLenum pname, GLuint *params);
1234GLAPI void APIENTRY glVertexAttribI1i (GLuint index, GLint x);
1235GLAPI void APIENTRY glVertexAttribI2i (GLuint index, GLint x, GLint y);
1236GLAPI void APIENTRY glVertexAttribI3i (GLuint index, GLint x, GLint y, GLint z);
1237GLAPI void APIENTRY glVertexAttribI4i (GLuint index, GLint x, GLint y, GLint z, GLint w);
1238GLAPI void APIENTRY glVertexAttribI1ui (GLuint index, GLuint x);
1239GLAPI void APIENTRY glVertexAttribI2ui (GLuint index, GLuint x, GLuint y);
1240GLAPI void APIENTRY glVertexAttribI3ui (GLuint index, GLuint x, GLuint y, GLuint z);
1241GLAPI void APIENTRY glVertexAttribI4ui (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
1242GLAPI void APIENTRY glVertexAttribI1iv (GLuint index, const GLint *v);
1243GLAPI void APIENTRY glVertexAttribI2iv (GLuint index, const GLint *v);
1244GLAPI void APIENTRY glVertexAttribI3iv (GLuint index, const GLint *v);
1245GLAPI void APIENTRY glVertexAttribI4iv (GLuint index, const GLint *v);
1246GLAPI void APIENTRY glVertexAttribI1uiv (GLuint index, const GLuint *v);
1247GLAPI void APIENTRY glVertexAttribI2uiv (GLuint index, const GLuint *v);
1248GLAPI void APIENTRY glVertexAttribI3uiv (GLuint index, const GLuint *v);
1249GLAPI void APIENTRY glVertexAttribI4uiv (GLuint index, const GLuint *v);
1250GLAPI void APIENTRY glVertexAttribI4bv (GLuint index, const GLbyte *v);
1251GLAPI void APIENTRY glVertexAttribI4sv (GLuint index, const GLshort *v);
1252GLAPI void APIENTRY glVertexAttribI4ubv (GLuint index, const GLubyte *v);
1253GLAPI void APIENTRY glVertexAttribI4usv (GLuint index, const GLushort *v);
1254GLAPI void APIENTRY glGetUniformuiv (GLuint program, GLint location, GLuint *params);
1255GLAPI void APIENTRY glBindFragDataLocation (GLuint program, GLuint color, const GLchar *name);
1256GLAPI GLint APIENTRY glGetFragDataLocation (GLuint program, const GLchar *name);
1257GLAPI void APIENTRY glUniform1ui (GLint location, GLuint v0);
1258GLAPI void APIENTRY glUniform2ui (GLint location, GLuint v0, GLuint v1);
1259GLAPI void APIENTRY glUniform3ui (GLint location, GLuint v0, GLuint v1, GLuint v2);
1260GLAPI void APIENTRY glUniform4ui (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
1261GLAPI void APIENTRY glUniform1uiv (GLint location, GLsizei count, const GLuint *value);
1262GLAPI void APIENTRY glUniform2uiv (GLint location, GLsizei count, const GLuint *value);
1263GLAPI void APIENTRY glUniform3uiv (GLint location, GLsizei count, const GLuint *value);
1264GLAPI void APIENTRY glUniform4uiv (GLint location, GLsizei count, const GLuint *value);
1265GLAPI void APIENTRY glTexParameterIiv (GLenum target, GLenum pname, const GLint *params);
1266GLAPI void APIENTRY glTexParameterIuiv (GLenum target, GLenum pname, const GLuint *params);
1267GLAPI void APIENTRY glGetTexParameterIiv (GLenum target, GLenum pname, GLint *params);
1268GLAPI void APIENTRY glGetTexParameterIuiv (GLenum target, GLenum pname, GLuint *params);
1269GLAPI void APIENTRY glClearBufferiv (GLenum buffer, GLint drawbuffer, const GLint *value);
1270GLAPI void APIENTRY glClearBufferuiv (GLenum buffer, GLint drawbuffer, const GLuint *value);
1271GLAPI void APIENTRY glClearBufferfv (GLenum buffer, GLint drawbuffer, const GLfloat *value);
1272GLAPI void APIENTRY glClearBufferfi (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
1273GLAPI const GLubyte *APIENTRY glGetStringi (GLenum name, GLuint index);
1274GLAPI GLboolean APIENTRY glIsRenderbuffer (GLuint renderbuffer);
1275GLAPI void APIENTRY glBindRenderbuffer (GLenum target, GLuint renderbuffer);
1276GLAPI void APIENTRY glDeleteRenderbuffers (GLsizei n, const GLuint *renderbuffers);
1277GLAPI void APIENTRY glGenRenderbuffers (GLsizei n, GLuint *renderbuffers);
1278GLAPI void APIENTRY glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
1279GLAPI void APIENTRY glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint *params);
1280GLAPI GLboolean APIENTRY glIsFramebuffer (GLuint framebuffer);
1281GLAPI void APIENTRY glBindFramebuffer (GLenum target, GLuint framebuffer);
1282GLAPI void APIENTRY glDeleteFramebuffers (GLsizei n, const GLuint *framebuffers);
1283GLAPI void APIENTRY glGenFramebuffers (GLsizei n, GLuint *framebuffers);
1284GLAPI GLenum APIENTRY glCheckFramebufferStatus (GLenum target);
1285GLAPI void APIENTRY glFramebufferTexture1D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
1286GLAPI void APIENTRY glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
1287GLAPI void APIENTRY glFramebufferTexture3D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
1288GLAPI void APIENTRY glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
1289GLAPI void APIENTRY glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint *params);
1290GLAPI void APIENTRY glGenerateMipmap (GLenum target);
1291GLAPI void APIENTRY glBlitFramebuffer (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
1292GLAPI void APIENTRY glRenderbufferStorageMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1293GLAPI void APIENTRY glFramebufferTextureLayer (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
1294GLAPI void *APIENTRY glMapBufferRange (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
1295GLAPI void APIENTRY glFlushMappedBufferRange (GLenum target, GLintptr offset, GLsizeiptr length);
1296GLAPI void APIENTRY glBindVertexArray (GLuint array);
1297GLAPI void APIENTRY glDeleteVertexArrays (GLsizei n, const GLuint *arrays);
1298GLAPI void APIENTRY glGenVertexArrays (GLsizei n, GLuint *arrays);
1299GLAPI GLboolean APIENTRY glIsVertexArray (GLuint array);
1300#endif
1301#endif /* GL_VERSION_3_0 */
1302
1303#ifndef GL_VERSION_3_1
1304#define GL_VERSION_3_1 1
1305#define GL_SAMPLER_2D_RECT 0x8B63
1306#define GL_SAMPLER_2D_RECT_SHADOW 0x8B64
1307#define GL_SAMPLER_BUFFER 0x8DC2
1308#define GL_INT_SAMPLER_2D_RECT 0x8DCD
1309#define GL_INT_SAMPLER_BUFFER 0x8DD0
1310#define GL_UNSIGNED_INT_SAMPLER_2D_RECT 0x8DD5
1311#define GL_UNSIGNED_INT_SAMPLER_BUFFER 0x8DD8
1312#define GL_TEXTURE_BUFFER 0x8C2A
1313#define GL_MAX_TEXTURE_BUFFER_SIZE 0x8C2B
1314#define GL_TEXTURE_BINDING_BUFFER 0x8C2C
1315#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING 0x8C2D
1316#define GL_TEXTURE_RECTANGLE 0x84F5
1317#define GL_TEXTURE_BINDING_RECTANGLE 0x84F6
1318#define GL_PROXY_TEXTURE_RECTANGLE 0x84F7
1319#define GL_MAX_RECTANGLE_TEXTURE_SIZE 0x84F8
1320#define GL_R8_SNORM 0x8F94
1321#define GL_RG8_SNORM 0x8F95
1322#define GL_RGB8_SNORM 0x8F96
1323#define GL_RGBA8_SNORM 0x8F97
1324#define GL_R16_SNORM 0x8F98
1325#define GL_RG16_SNORM 0x8F99
1326#define GL_RGB16_SNORM 0x8F9A
1327#define GL_RGBA16_SNORM 0x8F9B
1328#define GL_SIGNED_NORMALIZED 0x8F9C
1329#define GL_PRIMITIVE_RESTART 0x8F9D
1330#define GL_PRIMITIVE_RESTART_INDEX 0x8F9E
1331#define GL_COPY_READ_BUFFER 0x8F36
1332#define GL_COPY_WRITE_BUFFER 0x8F37
1333#define GL_UNIFORM_BUFFER 0x8A11
1334#define GL_UNIFORM_BUFFER_BINDING 0x8A28
1335#define GL_UNIFORM_BUFFER_START 0x8A29
1336#define GL_UNIFORM_BUFFER_SIZE 0x8A2A
1337#define GL_MAX_VERTEX_UNIFORM_BLOCKS 0x8A2B
1338#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS 0x8A2C
1339#define GL_MAX_FRAGMENT_UNIFORM_BLOCKS 0x8A2D
1340#define GL_MAX_COMBINED_UNIFORM_BLOCKS 0x8A2E
1341#define GL_MAX_UNIFORM_BUFFER_BINDINGS 0x8A2F
1342#define GL_MAX_UNIFORM_BLOCK_SIZE 0x8A30
1343#define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31
1344#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS 0x8A32
1345#define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33
1346#define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34
1347#define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35
1348#define GL_ACTIVE_UNIFORM_BLOCKS 0x8A36
1349#define GL_UNIFORM_TYPE 0x8A37
1350#define GL_UNIFORM_SIZE 0x8A38
1351#define GL_UNIFORM_NAME_LENGTH 0x8A39
1352#define GL_UNIFORM_BLOCK_INDEX 0x8A3A
1353#define GL_UNIFORM_OFFSET 0x8A3B
1354#define GL_UNIFORM_ARRAY_STRIDE 0x8A3C
1355#define GL_UNIFORM_MATRIX_STRIDE 0x8A3D
1356#define GL_UNIFORM_IS_ROW_MAJOR 0x8A3E
1357#define GL_UNIFORM_BLOCK_BINDING 0x8A3F
1358#define GL_UNIFORM_BLOCK_DATA_SIZE 0x8A40
1359#define GL_UNIFORM_BLOCK_NAME_LENGTH 0x8A41
1360#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS 0x8A42
1361#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43
1362#define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44
1363#define GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER 0x8A45
1364#define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46
1365#define GL_INVALID_INDEX 0xFFFFFFFFu
1366typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDPROC) (GLenum mode, GLint first, GLsizei count, GLsizei instancecount);
1367typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount);
1368typedef void (APIENTRYP PFNGLTEXBUFFERPROC) (GLenum target, GLenum internalformat, GLuint buffer);
1369typedef void (APIENTRYP PFNGLPRIMITIVERESTARTINDEXPROC) (GLuint index);
1370typedef void (APIENTRYP PFNGLCOPYBUFFERSUBDATAPROC) (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
1371typedef void (APIENTRYP PFNGLGETUNIFORMINDICESPROC) (GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices);
1372typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMSIVPROC) (GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);
1373typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMNAMEPROC) (GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName);
1374typedef GLuint (APIENTRYP PFNGLGETUNIFORMBLOCKINDEXPROC) (GLuint program, const GLchar *uniformBlockName);
1375typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKIVPROC) (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);
1376typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC) (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
1377typedef void (APIENTRYP PFNGLUNIFORMBLOCKBINDINGPROC) (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
1378#ifdef GL_GLEXT_PROTOTYPES
1379GLAPI void APIENTRY glDrawArraysInstanced (GLenum mode, GLint first, GLsizei count, GLsizei instancecount);
1380GLAPI void APIENTRY glDrawElementsInstanced (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount);
1381GLAPI void APIENTRY glTexBuffer (GLenum target, GLenum internalformat, GLuint buffer);
1382GLAPI void APIENTRY glPrimitiveRestartIndex (GLuint index);
1383GLAPI void APIENTRY glCopyBufferSubData (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
1384GLAPI void APIENTRY glGetUniformIndices (GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices);
1385GLAPI void APIENTRY glGetActiveUniformsiv (GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);
1386GLAPI void APIENTRY glGetActiveUniformName (GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName);
1387GLAPI GLuint APIENTRY glGetUniformBlockIndex (GLuint program, const GLchar *uniformBlockName);
1388GLAPI void APIENTRY glGetActiveUniformBlockiv (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);
1389GLAPI void APIENTRY glGetActiveUniformBlockName (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
1390GLAPI void APIENTRY glUniformBlockBinding (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
1391#endif
1392#endif /* GL_VERSION_3_1 */
1393
1394#ifndef GL_VERSION_3_2
1395#define GL_VERSION_3_2 1
1396typedef struct __GLsync *GLsync;
1397#ifndef GLEXT_64_TYPES_DEFINED
1398/* This code block is duplicated in glxext.h, so must be protected */
1399#define GLEXT_64_TYPES_DEFINED
1400/* Define int32_t, int64_t, and uint64_t types for UST/MSC */
1401/* (as used in the GL_EXT_timer_query extension). */
1402#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
1403#include <inttypes.h>
1404#elif defined(__sun__) || defined(__digital__)
1405#include <inttypes.h>
1406#if defined(__STDC__)
1407#if defined(__arch64__) || defined(_LP64)
1408typedef long int int64_t;
1409typedef unsigned long int uint64_t;
1410#else
1411typedef long long int int64_t;
1412typedef unsigned long long int uint64_t;
1413#endif /* __arch64__ */
1414#endif /* __STDC__ */
1415#elif defined(__UNIXOS2__) || defined(__SOL64__)
1416typedef long int int32_t;
1417typedef long long int int64_t;
1418typedef unsigned long long int uint64_t;
1419#elif defined(_WIN32) && defined(__GNUC__)
1420#include <stdint.h>
1421#elif defined(_WIN32)
1422typedef __int32 int32_t;
1423typedef __int64 int64_t;
1424typedef unsigned __int64 uint64_t;
1425#else
1426/* Fallback if nothing above works */
1427#include <inttypes.h>
1428#endif
1429#endif
1430typedef uint64_t GLuint64;
1431typedef int64_t GLint64;
1432#define GL_CONTEXT_CORE_PROFILE_BIT 0x00000001
1433#define GL_CONTEXT_COMPATIBILITY_PROFILE_BIT 0x00000002
1434#define GL_LINES_ADJACENCY 0x000A
1435#define GL_LINE_STRIP_ADJACENCY 0x000B
1436#define GL_TRIANGLES_ADJACENCY 0x000C
1437#define GL_TRIANGLE_STRIP_ADJACENCY 0x000D
1438#define GL_PROGRAM_POINT_SIZE 0x8642
1439#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS 0x8C29
1440#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED 0x8DA7
1441#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS 0x8DA8
1442#define GL_GEOMETRY_SHADER 0x8DD9
1443#define GL_GEOMETRY_VERTICES_OUT 0x8916
1444#define GL_GEOMETRY_INPUT_TYPE 0x8917
1445#define GL_GEOMETRY_OUTPUT_TYPE 0x8918
1446#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS 0x8DDF
1447#define GL_MAX_GEOMETRY_OUTPUT_VERTICES 0x8DE0
1448#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS 0x8DE1
1449#define GL_MAX_VERTEX_OUTPUT_COMPONENTS 0x9122
1450#define GL_MAX_GEOMETRY_INPUT_COMPONENTS 0x9123
1451#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS 0x9124
1452#define GL_MAX_FRAGMENT_INPUT_COMPONENTS 0x9125
1453#define GL_CONTEXT_PROFILE_MASK 0x9126
1454#define GL_DEPTH_CLAMP 0x864F
1455#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION 0x8E4C
1456#define GL_FIRST_VERTEX_CONVENTION 0x8E4D
1457#define GL_LAST_VERTEX_CONVENTION 0x8E4E
1458#define GL_PROVOKING_VERTEX 0x8E4F
1459#define GL_TEXTURE_CUBE_MAP_SEAMLESS 0x884F
1460#define GL_MAX_SERVER_WAIT_TIMEOUT 0x9111
1461#define GL_OBJECT_TYPE 0x9112
1462#define GL_SYNC_CONDITION 0x9113
1463#define GL_SYNC_STATUS 0x9114
1464#define GL_SYNC_FLAGS 0x9115
1465#define GL_SYNC_FENCE 0x9116
1466#define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117
1467#define GL_UNSIGNALED 0x9118
1468#define GL_SIGNALED 0x9119
1469#define GL_ALREADY_SIGNALED 0x911A
1470#define GL_TIMEOUT_EXPIRED 0x911B
1471#define GL_CONDITION_SATISFIED 0x911C
1472#define GL_WAIT_FAILED 0x911D
1473#define GL_TIMEOUT_IGNORED 0xFFFFFFFFFFFFFFFFull
1474#define GL_SYNC_FLUSH_COMMANDS_BIT 0x00000001
1475#define GL_SAMPLE_POSITION 0x8E50
1476#define GL_SAMPLE_MASK 0x8E51
1477#define GL_SAMPLE_MASK_VALUE 0x8E52
1478#define GL_MAX_SAMPLE_MASK_WORDS 0x8E59
1479#define GL_TEXTURE_2D_MULTISAMPLE 0x9100
1480#define GL_PROXY_TEXTURE_2D_MULTISAMPLE 0x9101
1481#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9102
1482#define GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9103
1483#define GL_TEXTURE_BINDING_2D_MULTISAMPLE 0x9104
1484#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY 0x9105
1485#define GL_TEXTURE_SAMPLES 0x9106
1486#define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS 0x9107
1487#define GL_SAMPLER_2D_MULTISAMPLE 0x9108
1488#define GL_INT_SAMPLER_2D_MULTISAMPLE 0x9109
1489#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 0x910A
1490#define GL_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910B
1491#define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910C
1492#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910D
1493#define GL_MAX_COLOR_TEXTURE_SAMPLES 0x910E
1494#define GL_MAX_DEPTH_TEXTURE_SAMPLES 0x910F
1495#define GL_MAX_INTEGER_SAMPLES 0x9110
1496typedef void (APIENTRYP PFNGLDRAWELEMENTSBASEVERTEXPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex);
1497typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex);
1498typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex);
1499typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC) (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount, const GLint *basevertex);
1500typedef void (APIENTRYP PFNGLPROVOKINGVERTEXPROC) (GLenum mode);
1501typedef GLsync (APIENTRYP PFNGLFENCESYNCPROC) (GLenum condition, GLbitfield flags);
1502typedef GLboolean (APIENTRYP PFNGLISSYNCPROC) (GLsync sync);
1503typedef void (APIENTRYP PFNGLDELETESYNCPROC) (GLsync sync);
1504typedef GLenum (APIENTRYP PFNGLCLIENTWAITSYNCPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
1505typedef void (APIENTRYP PFNGLWAITSYNCPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
1506typedef void (APIENTRYP PFNGLGETINTEGER64VPROC) (GLenum pname, GLint64 *data);
1507typedef void (APIENTRYP PFNGLGETSYNCIVPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
1508typedef void (APIENTRYP PFNGLGETINTEGER64I_VPROC) (GLenum target, GLuint index, GLint64 *data);
1509typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERI64VPROC) (GLenum target, GLenum pname, GLint64 *params);
1510typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level);
1511typedef void (APIENTRYP PFNGLTEXIMAGE2DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
1512typedef void (APIENTRYP PFNGLTEXIMAGE3DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
1513typedef void (APIENTRYP PFNGLGETMULTISAMPLEFVPROC) (GLenum pname, GLuint index, GLfloat *val);
1514typedef void (APIENTRYP PFNGLSAMPLEMASKIPROC) (GLuint maskNumber, GLbitfield mask);
1515#ifdef GL_GLEXT_PROTOTYPES
1516GLAPI void APIENTRY glDrawElementsBaseVertex (GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex);
1517GLAPI void APIENTRY glDrawRangeElementsBaseVertex (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex);
1518GLAPI void APIENTRY glDrawElementsInstancedBaseVertex (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex);
1519GLAPI void APIENTRY glMultiDrawElementsBaseVertex (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount, const GLint *basevertex);
1520GLAPI void APIENTRY glProvokingVertex (GLenum mode);
1521GLAPI GLsync APIENTRY glFenceSync (GLenum condition, GLbitfield flags);
1522GLAPI GLboolean APIENTRY glIsSync (GLsync sync);
1523GLAPI void APIENTRY glDeleteSync (GLsync sync);
1524GLAPI GLenum APIENTRY glClientWaitSync (GLsync sync, GLbitfield flags, GLuint64 timeout);
1525GLAPI void APIENTRY glWaitSync (GLsync sync, GLbitfield flags, GLuint64 timeout);
1526GLAPI void APIENTRY glGetInteger64v (GLenum pname, GLint64 *data);
1527GLAPI void APIENTRY glGetSynciv (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
1528GLAPI void APIENTRY glGetInteger64i_v (GLenum target, GLuint index, GLint64 *data);
1529GLAPI void APIENTRY glGetBufferParameteri64v (GLenum target, GLenum pname, GLint64 *params);
1530GLAPI void APIENTRY glFramebufferTexture (GLenum target, GLenum attachment, GLuint texture, GLint level);
1531GLAPI void APIENTRY glTexImage2DMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
1532GLAPI void APIENTRY glTexImage3DMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
1533GLAPI void APIENTRY glGetMultisamplefv (GLenum pname, GLuint index, GLfloat *val);
1534GLAPI void APIENTRY glSampleMaski (GLuint maskNumber, GLbitfield mask);
1535#endif
1536#endif /* GL_VERSION_3_2 */
1537
1538#ifndef GL_VERSION_3_3
1539#define GL_VERSION_3_3 1
1540#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88FE
1541#define GL_SRC1_COLOR 0x88F9
1542#define GL_ONE_MINUS_SRC1_COLOR 0x88FA
1543#define GL_ONE_MINUS_SRC1_ALPHA 0x88FB
1544#define GL_MAX_DUAL_SOURCE_DRAW_BUFFERS 0x88FC
1545#define GL_ANY_SAMPLES_PASSED 0x8C2F
1546#define GL_SAMPLER_BINDING 0x8919
1547#define GL_RGB10_A2UI 0x906F
1548#define GL_TEXTURE_SWIZZLE_R 0x8E42
1549#define GL_TEXTURE_SWIZZLE_G 0x8E43
1550#define GL_TEXTURE_SWIZZLE_B 0x8E44
1551#define GL_TEXTURE_SWIZZLE_A 0x8E45
1552#define GL_TEXTURE_SWIZZLE_RGBA 0x8E46
1553#define GL_TIME_ELAPSED 0x88BF
1554#define GL_TIMESTAMP 0x8E28
1555#define GL_INT_2_10_10_10_REV 0x8D9F
1556typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONINDEXEDPROC) (GLuint program, GLuint colorNumber, GLuint index, const GLchar *name);
1557typedef GLint (APIENTRYP PFNGLGETFRAGDATAINDEXPROC) (GLuint program, const GLchar *name);
1558typedef void (APIENTRYP PFNGLGENSAMPLERSPROC) (GLsizei count, GLuint *samplers);
1559typedef void (APIENTRYP PFNGLDELETESAMPLERSPROC) (GLsizei count, const GLuint *samplers);
1560typedef GLboolean (APIENTRYP PFNGLISSAMPLERPROC) (GLuint sampler);
1561typedef void (APIENTRYP PFNGLBINDSAMPLERPROC) (GLuint unit, GLuint sampler);
1562typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIPROC) (GLuint sampler, GLenum pname, GLint param);
1563typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, const GLint *param);
1564typedef void (APIENTRYP PFNGLSAMPLERPARAMETERFPROC) (GLuint sampler, GLenum pname, GLfloat param);
1565typedef void (APIENTRYP PFNGLSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, const GLfloat *param);
1566typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIIVPROC) (GLuint sampler, GLenum pname, const GLint *param);
1567typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIUIVPROC) (GLuint sampler, GLenum pname, const GLuint *param);
1568typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, GLint *params);
1569typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIIVPROC) (GLuint sampler, GLenum pname, GLint *params);
1570typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, GLfloat *params);
1571typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIUIVPROC) (GLuint sampler, GLenum pname, GLuint *params);
1572typedef void (APIENTRYP PFNGLQUERYCOUNTERPROC) (GLuint id, GLenum target);
1573typedef void (APIENTRYP PFNGLGETQUERYOBJECTI64VPROC) (GLuint id, GLenum pname, GLint64 *params);
1574typedef void (APIENTRYP PFNGLGETQUERYOBJECTUI64VPROC) (GLuint id, GLenum pname, GLuint64 *params);
1575typedef void (APIENTRYP PFNGLVERTEXATTRIBDIVISORPROC) (GLuint index, GLuint divisor);
1576typedef void (APIENTRYP PFNGLVERTEXATTRIBP1UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value);
1577typedef void (APIENTRYP PFNGLVERTEXATTRIBP1UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
1578typedef void (APIENTRYP PFNGLVERTEXATTRIBP2UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value);
1579typedef void (APIENTRYP PFNGLVERTEXATTRIBP2UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
1580typedef void (APIENTRYP PFNGLVERTEXATTRIBP3UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value);
1581typedef void (APIENTRYP PFNGLVERTEXATTRIBP3UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
1582typedef void (APIENTRYP PFNGLVERTEXATTRIBP4UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value);
1583typedef void (APIENTRYP PFNGLVERTEXATTRIBP4UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
1584typedef void (APIENTRYP PFNGLVERTEXP2UIPROC) (GLenum type, GLuint value);
1585typedef void (APIENTRYP PFNGLVERTEXP2UIVPROC) (GLenum type, const GLuint *value);
1586typedef void (APIENTRYP PFNGLVERTEXP3UIPROC) (GLenum type, GLuint value);
1587typedef void (APIENTRYP PFNGLVERTEXP3UIVPROC) (GLenum type, const GLuint *value);
1588typedef void (APIENTRYP PFNGLVERTEXP4UIPROC) (GLenum type, GLuint value);
1589typedef void (APIENTRYP PFNGLVERTEXP4UIVPROC) (GLenum type, const GLuint *value);
1590typedef void (APIENTRYP PFNGLTEXCOORDP1UIPROC) (GLenum type, GLuint coords);
1591typedef void (APIENTRYP PFNGLTEXCOORDP1UIVPROC) (GLenum type, const GLuint *coords);
1592typedef void (APIENTRYP PFNGLTEXCOORDP2UIPROC) (GLenum type, GLuint coords);
1593typedef void (APIENTRYP PFNGLTEXCOORDP2UIVPROC) (GLenum type, const GLuint *coords);
1594typedef void (APIENTRYP PFNGLTEXCOORDP3UIPROC) (GLenum type, GLuint coords);
1595typedef void (APIENTRYP PFNGLTEXCOORDP3UIVPROC) (GLenum type, const GLuint *coords);
1596typedef void (APIENTRYP PFNGLTEXCOORDP4UIPROC) (GLenum type, GLuint coords);
1597typedef void (APIENTRYP PFNGLTEXCOORDP4UIVPROC) (GLenum type, const GLuint *coords);
1598typedef void (APIENTRYP PFNGLMULTITEXCOORDP1UIPROC) (GLenum texture, GLenum type, GLuint coords);
1599typedef void (APIENTRYP PFNGLMULTITEXCOORDP1UIVPROC) (GLenum texture, GLenum type, const GLuint *coords);
1600typedef void (APIENTRYP PFNGLMULTITEXCOORDP2UIPROC) (GLenum texture, GLenum type, GLuint coords);
1601typedef void (APIENTRYP PFNGLMULTITEXCOORDP2UIVPROC) (GLenum texture, GLenum type, const GLuint *coords);
1602typedef void (APIENTRYP PFNGLMULTITEXCOORDP3UIPROC) (GLenum texture, GLenum type, GLuint coords);
1603typedef void (APIENTRYP PFNGLMULTITEXCOORDP3UIVPROC) (GLenum texture, GLenum type, const GLuint *coords);
1604typedef void (APIENTRYP PFNGLMULTITEXCOORDP4UIPROC) (GLenum texture, GLenum type, GLuint coords);
1605typedef void (APIENTRYP PFNGLMULTITEXCOORDP4UIVPROC) (GLenum texture, GLenum type, const GLuint *coords);
1606typedef void (APIENTRYP PFNGLNORMALP3UIPROC) (GLenum type, GLuint coords);
1607typedef void (APIENTRYP PFNGLNORMALP3UIVPROC) (GLenum type, const GLuint *coords);
1608typedef void (APIENTRYP PFNGLCOLORP3UIPROC) (GLenum type, GLuint color);
1609typedef void (APIENTRYP PFNGLCOLORP3UIVPROC) (GLenum type, const GLuint *color);
1610typedef void (APIENTRYP PFNGLCOLORP4UIPROC) (GLenum type, GLuint color);
1611typedef void (APIENTRYP PFNGLCOLORP4UIVPROC) (GLenum type, const GLuint *color);
1612typedef void (APIENTRYP PFNGLSECONDARYCOLORP3UIPROC) (GLenum type, GLuint color);
1613typedef void (APIENTRYP PFNGLSECONDARYCOLORP3UIVPROC) (GLenum type, const GLuint *color);
1614#ifdef GL_GLEXT_PROTOTYPES
1615GLAPI void APIENTRY glBindFragDataLocationIndexed (GLuint program, GLuint colorNumber, GLuint index, const GLchar *name);
1616GLAPI GLint APIENTRY glGetFragDataIndex (GLuint program, const GLchar *name);
1617GLAPI void APIENTRY glGenSamplers (GLsizei count, GLuint *samplers);
1618GLAPI void APIENTRY glDeleteSamplers (GLsizei count, const GLuint *samplers);
1619GLAPI GLboolean APIENTRY glIsSampler (GLuint sampler);
1620GLAPI void APIENTRY glBindSampler (GLuint unit, GLuint sampler);
1621GLAPI void APIENTRY glSamplerParameteri (GLuint sampler, GLenum pname, GLint param);
1622GLAPI void APIENTRY glSamplerParameteriv (GLuint sampler, GLenum pname, const GLint *param);
1623GLAPI void APIENTRY glSamplerParameterf (GLuint sampler, GLenum pname, GLfloat param);
1624GLAPI void APIENTRY glSamplerParameterfv (GLuint sampler, GLenum pname, const GLfloat *param);
1625GLAPI void APIENTRY glSamplerParameterIiv (GLuint sampler, GLenum pname, const GLint *param);
1626GLAPI void APIENTRY glSamplerParameterIuiv (GLuint sampler, GLenum pname, const GLuint *param);
1627GLAPI void APIENTRY glGetSamplerParameteriv (GLuint sampler, GLenum pname, GLint *params);
1628GLAPI void APIENTRY glGetSamplerParameterIiv (GLuint sampler, GLenum pname, GLint *params);
1629GLAPI void APIENTRY glGetSamplerParameterfv (GLuint sampler, GLenum pname, GLfloat *params);
1630GLAPI void APIENTRY glGetSamplerParameterIuiv (GLuint sampler, GLenum pname, GLuint *params);
1631GLAPI void APIENTRY glQueryCounter (GLuint id, GLenum target);
1632GLAPI void APIENTRY glGetQueryObjecti64v (GLuint id, GLenum pname, GLint64 *params);
1633GLAPI void APIENTRY glGetQueryObjectui64v (GLuint id, GLenum pname, GLuint64 *params);
1634GLAPI void APIENTRY glVertexAttribDivisor (GLuint index, GLuint divisor);
1635GLAPI void APIENTRY glVertexAttribP1ui (GLuint index, GLenum type, GLboolean normalized, GLuint value);
1636GLAPI void APIENTRY glVertexAttribP1uiv (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
1637GLAPI void APIENTRY glVertexAttribP2ui (GLuint index, GLenum type, GLboolean normalized, GLuint value);
1638GLAPI void APIENTRY glVertexAttribP2uiv (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
1639GLAPI void APIENTRY glVertexAttribP3ui (GLuint index, GLenum type, GLboolean normalized, GLuint value);
1640GLAPI void APIENTRY glVertexAttribP3uiv (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
1641GLAPI void APIENTRY glVertexAttribP4ui (GLuint index, GLenum type, GLboolean normalized, GLuint value);
1642GLAPI void APIENTRY glVertexAttribP4uiv (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
1643GLAPI void APIENTRY glVertexP2ui (GLenum type, GLuint value);
1644GLAPI void APIENTRY glVertexP2uiv (GLenum type, const GLuint *value);
1645GLAPI void APIENTRY glVertexP3ui (GLenum type, GLuint value);
1646GLAPI void APIENTRY glVertexP3uiv (GLenum type, const GLuint *value);
1647GLAPI void APIENTRY glVertexP4ui (GLenum type, GLuint value);
1648GLAPI void APIENTRY glVertexP4uiv (GLenum type, const GLuint *value);
1649GLAPI void APIENTRY glTexCoordP1ui (GLenum type, GLuint coords);
1650GLAPI void APIENTRY glTexCoordP1uiv (GLenum type, const GLuint *coords);
1651GLAPI void APIENTRY glTexCoordP2ui (GLenum type, GLuint coords);
1652GLAPI void APIENTRY glTexCoordP2uiv (GLenum type, const GLuint *coords);
1653GLAPI void APIENTRY glTexCoordP3ui (GLenum type, GLuint coords);
1654GLAPI void APIENTRY glTexCoordP3uiv (GLenum type, const GLuint *coords);
1655GLAPI void APIENTRY glTexCoordP4ui (GLenum type, GLuint coords);
1656GLAPI void APIENTRY glTexCoordP4uiv (GLenum type, const GLuint *coords);
1657GLAPI void APIENTRY glMultiTexCoordP1ui (GLenum texture, GLenum type, GLuint coords);
1658GLAPI void APIENTRY glMultiTexCoordP1uiv (GLenum texture, GLenum type, const GLuint *coords);
1659GLAPI void APIENTRY glMultiTexCoordP2ui (GLenum texture, GLenum type, GLuint coords);
1660GLAPI void APIENTRY glMultiTexCoordP2uiv (GLenum texture, GLenum type, const GLuint *coords);
1661GLAPI void APIENTRY glMultiTexCoordP3ui (GLenum texture, GLenum type, GLuint coords);
1662GLAPI void APIENTRY glMultiTexCoordP3uiv (GLenum texture, GLenum type, const GLuint *coords);
1663GLAPI void APIENTRY glMultiTexCoordP4ui (GLenum texture, GLenum type, GLuint coords);
1664GLAPI void APIENTRY glMultiTexCoordP4uiv (GLenum texture, GLenum type, const GLuint *coords);
1665GLAPI void APIENTRY glNormalP3ui (GLenum type, GLuint coords);
1666GLAPI void APIENTRY glNormalP3uiv (GLenum type, const GLuint *coords);
1667GLAPI void APIENTRY glColorP3ui (GLenum type, GLuint color);
1668GLAPI void APIENTRY glColorP3uiv (GLenum type, const GLuint *color);
1669GLAPI void APIENTRY glColorP4ui (GLenum type, GLuint color);
1670GLAPI void APIENTRY glColorP4uiv (GLenum type, const GLuint *color);
1671GLAPI void APIENTRY glSecondaryColorP3ui (GLenum type, GLuint color);
1672GLAPI void APIENTRY glSecondaryColorP3uiv (GLenum type, const GLuint *color);
1673#endif
1674#endif /* GL_VERSION_3_3 */
1675
1676#ifndef GL_VERSION_4_0
1677#define GL_VERSION_4_0 1
1678#define GL_SAMPLE_SHADING 0x8C36
1679#define GL_MIN_SAMPLE_SHADING_VALUE 0x8C37
1680#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5E
1681#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5F
1682#define GL_TEXTURE_CUBE_MAP_ARRAY 0x9009
1683#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY 0x900A
1684#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY 0x900B
1685#define GL_SAMPLER_CUBE_MAP_ARRAY 0x900C
1686#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW 0x900D
1687#define GL_INT_SAMPLER_CUBE_MAP_ARRAY 0x900E
1688#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY 0x900F
1689#define GL_DRAW_INDIRECT_BUFFER 0x8F3F
1690#define GL_DRAW_INDIRECT_BUFFER_BINDING 0x8F43
1691#define GL_GEOMETRY_SHADER_INVOCATIONS 0x887F
1692#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS 0x8E5A
1693#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET 0x8E5B
1694#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET 0x8E5C
1695#define GL_FRAGMENT_INTERPOLATION_OFFSET_BITS 0x8E5D
1696#define GL_MAX_VERTEX_STREAMS 0x8E71
1697#define GL_DOUBLE_VEC2 0x8FFC
1698#define GL_DOUBLE_VEC3 0x8FFD
1699#define GL_DOUBLE_VEC4 0x8FFE
1700#define GL_DOUBLE_MAT2 0x8F46
1701#define GL_DOUBLE_MAT3 0x8F47
1702#define GL_DOUBLE_MAT4 0x8F48
1703#define GL_DOUBLE_MAT2x3 0x8F49
1704#define GL_DOUBLE_MAT2x4 0x8F4A
1705#define GL_DOUBLE_MAT3x2 0x8F4B
1706#define GL_DOUBLE_MAT3x4 0x8F4C
1707#define GL_DOUBLE_MAT4x2 0x8F4D
1708#define GL_DOUBLE_MAT4x3 0x8F4E
1709#define GL_ACTIVE_SUBROUTINES 0x8DE5
1710#define GL_ACTIVE_SUBROUTINE_UNIFORMS 0x8DE6
1711#define GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS 0x8E47
1712#define GL_ACTIVE_SUBROUTINE_MAX_LENGTH 0x8E48
1713#define GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH 0x8E49
1714#define GL_MAX_SUBROUTINES 0x8DE7
1715#define GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS 0x8DE8
1716#define GL_NUM_COMPATIBLE_SUBROUTINES 0x8E4A
1717#define GL_COMPATIBLE_SUBROUTINES 0x8E4B
1718#define GL_PATCHES 0x000E
1719#define GL_PATCH_VERTICES 0x8E72
1720#define GL_PATCH_DEFAULT_INNER_LEVEL 0x8E73
1721#define GL_PATCH_DEFAULT_OUTER_LEVEL 0x8E74
1722#define GL_TESS_CONTROL_OUTPUT_VERTICES 0x8E75
1723#define GL_TESS_GEN_MODE 0x8E76
1724#define GL_TESS_GEN_SPACING 0x8E77
1725#define GL_TESS_GEN_VERTEX_ORDER 0x8E78
1726#define GL_TESS_GEN_POINT_MODE 0x8E79
1727#define GL_ISOLINES 0x8E7A
1728#define GL_FRACTIONAL_ODD 0x8E7B
1729#define GL_FRACTIONAL_EVEN 0x8E7C
1730#define GL_MAX_PATCH_VERTICES 0x8E7D
1731#define GL_MAX_TESS_GEN_LEVEL 0x8E7E
1732#define GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E7F
1733#define GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E80
1734#define GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS 0x8E81
1735#define GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS 0x8E82
1736#define GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS 0x8E83
1737#define GL_MAX_TESS_PATCH_COMPONENTS 0x8E84
1738#define GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS 0x8E85
1739#define GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS 0x8E86
1740#define GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS 0x8E89
1741#define GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS 0x8E8A
1742#define GL_MAX_TESS_CONTROL_INPUT_COMPONENTS 0x886C
1743#define GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS 0x886D
1744#define GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E1E
1745#define GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E1F
1746#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER 0x84F0
1747#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER 0x84F1
1748#define GL_TESS_EVALUATION_SHADER 0x8E87
1749#define GL_TESS_CONTROL_SHADER 0x8E88
1750#define GL_TRANSFORM_FEEDBACK 0x8E22
1751#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED 0x8E23
1752#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE 0x8E24
1753#define GL_TRANSFORM_FEEDBACK_BINDING 0x8E25
1754#define GL_MAX_TRANSFORM_FEEDBACK_BUFFERS 0x8E70
1755typedef void (APIENTRYP PFNGLMINSAMPLESHADINGPROC) (GLfloat value);
1756typedef void (APIENTRYP PFNGLBLENDEQUATIONIPROC) (GLuint buf, GLenum mode);
1757typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEIPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha);
1758typedef void (APIENTRYP PFNGLBLENDFUNCIPROC) (GLuint buf, GLenum src, GLenum dst);
1759typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEIPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
1760typedef void (APIENTRYP PFNGLDRAWARRAYSINDIRECTPROC) (GLenum mode, const void *indirect);
1761typedef void (APIENTRYP PFNGLDRAWELEMENTSINDIRECTPROC) (GLenum mode, GLenum type, const void *indirect);
1762typedef void (APIENTRYP PFNGLUNIFORM1DPROC) (GLint location, GLdouble x);
1763typedef void (APIENTRYP PFNGLUNIFORM2DPROC) (GLint location, GLdouble x, GLdouble y);
1764typedef void (APIENTRYP PFNGLUNIFORM3DPROC) (GLint location, GLdouble x, GLdouble y, GLdouble z);
1765typedef void (APIENTRYP PFNGLUNIFORM4DPROC) (GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
1766typedef void (APIENTRYP PFNGLUNIFORM1DVPROC) (GLint location, GLsizei count, const GLdouble *value);
1767typedef void (APIENTRYP PFNGLUNIFORM2DVPROC) (GLint location, GLsizei count, const GLdouble *value);
1768typedef void (APIENTRYP PFNGLUNIFORM3DVPROC) (GLint location, GLsizei count, const GLdouble *value);
1769typedef void (APIENTRYP PFNGLUNIFORM4DVPROC) (GLint location, GLsizei count, const GLdouble *value);
1770typedef void (APIENTRYP PFNGLUNIFORMMATRIX2DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1771typedef void (APIENTRYP PFNGLUNIFORMMATRIX3DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1772typedef void (APIENTRYP PFNGLUNIFORMMATRIX4DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1773typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X3DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1774typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X4DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1775typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X2DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1776typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X4DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1777typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X2DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1778typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X3DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1779typedef void (APIENTRYP PFNGLGETUNIFORMDVPROC) (GLuint program, GLint location, GLdouble *params);
1780typedef GLint (APIENTRYP PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC) (GLuint program, GLenum shadertype, const GLchar *name);
1781typedef GLuint (APIENTRYP PFNGLGETSUBROUTINEINDEXPROC) (GLuint program, GLenum shadertype, const GLchar *name);
1782typedef void (APIENTRYP PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC) (GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values);
1783typedef void (APIENTRYP PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
1784typedef void (APIENTRYP PFNGLGETACTIVESUBROUTINENAMEPROC) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
1785typedef void (APIENTRYP PFNGLUNIFORMSUBROUTINESUIVPROC) (GLenum shadertype, GLsizei count, const GLuint *indices);
1786typedef void (APIENTRYP PFNGLGETUNIFORMSUBROUTINEUIVPROC) (GLenum shadertype, GLint location, GLuint *params);
1787typedef void (APIENTRYP PFNGLGETPROGRAMSTAGEIVPROC) (GLuint program, GLenum shadertype, GLenum pname, GLint *values);
1788typedef void (APIENTRYP PFNGLPATCHPARAMETERIPROC) (GLenum pname, GLint value);
1789typedef void (APIENTRYP PFNGLPATCHPARAMETERFVPROC) (GLenum pname, const GLfloat *values);
1790typedef void (APIENTRYP PFNGLBINDTRANSFORMFEEDBACKPROC) (GLenum target, GLuint id);
1791typedef void (APIENTRYP PFNGLDELETETRANSFORMFEEDBACKSPROC) (GLsizei n, const GLuint *ids);
1792typedef void (APIENTRYP PFNGLGENTRANSFORMFEEDBACKSPROC) (GLsizei n, GLuint *ids);
1793typedef GLboolean (APIENTRYP PFNGLISTRANSFORMFEEDBACKPROC) (GLuint id);
1794typedef void (APIENTRYP PFNGLPAUSETRANSFORMFEEDBACKPROC) (void);
1795typedef void (APIENTRYP PFNGLRESUMETRANSFORMFEEDBACKPROC) (void);
1796typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKPROC) (GLenum mode, GLuint id);
1797typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC) (GLenum mode, GLuint id, GLuint stream);
1798typedef void (APIENTRYP PFNGLBEGINQUERYINDEXEDPROC) (GLenum target, GLuint index, GLuint id);
1799typedef void (APIENTRYP PFNGLENDQUERYINDEXEDPROC) (GLenum target, GLuint index);
1800typedef void (APIENTRYP PFNGLGETQUERYINDEXEDIVPROC) (GLenum target, GLuint index, GLenum pname, GLint *params);
1801#ifdef GL_GLEXT_PROTOTYPES
1802GLAPI void APIENTRY glMinSampleShading (GLfloat value);
1803GLAPI void APIENTRY glBlendEquationi (GLuint buf, GLenum mode);
1804GLAPI void APIENTRY glBlendEquationSeparatei (GLuint buf, GLenum modeRGB, GLenum modeAlpha);
1805GLAPI void APIENTRY glBlendFunci (GLuint buf, GLenum src, GLenum dst);
1806GLAPI void APIENTRY glBlendFuncSeparatei (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
1807GLAPI void APIENTRY glDrawArraysIndirect (GLenum mode, const void *indirect);
1808GLAPI void APIENTRY glDrawElementsIndirect (GLenum mode, GLenum type, const void *indirect);
1809GLAPI void APIENTRY glUniform1d (GLint location, GLdouble x);
1810GLAPI void APIENTRY glUniform2d (GLint location, GLdouble x, GLdouble y);
1811GLAPI void APIENTRY glUniform3d (GLint location, GLdouble x, GLdouble y, GLdouble z);
1812GLAPI void APIENTRY glUniform4d (GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
1813GLAPI void APIENTRY glUniform1dv (GLint location, GLsizei count, const GLdouble *value);
1814GLAPI void APIENTRY glUniform2dv (GLint location, GLsizei count, const GLdouble *value);
1815GLAPI void APIENTRY glUniform3dv (GLint location, GLsizei count, const GLdouble *value);
1816GLAPI void APIENTRY glUniform4dv (GLint location, GLsizei count, const GLdouble *value);
1817GLAPI void APIENTRY glUniformMatrix2dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1818GLAPI void APIENTRY glUniformMatrix3dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1819GLAPI void APIENTRY glUniformMatrix4dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1820GLAPI void APIENTRY glUniformMatrix2x3dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1821GLAPI void APIENTRY glUniformMatrix2x4dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1822GLAPI void APIENTRY glUniformMatrix3x2dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1823GLAPI void APIENTRY glUniformMatrix3x4dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1824GLAPI void APIENTRY glUniformMatrix4x2dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1825GLAPI void APIENTRY glUniformMatrix4x3dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1826GLAPI void APIENTRY glGetUniformdv (GLuint program, GLint location, GLdouble *params);
1827GLAPI GLint APIENTRY glGetSubroutineUniformLocation (GLuint program, GLenum shadertype, const GLchar *name);
1828GLAPI GLuint APIENTRY glGetSubroutineIndex (GLuint program, GLenum shadertype, const GLchar *name);
1829GLAPI void APIENTRY glGetActiveSubroutineUniformiv (GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values);
1830GLAPI void APIENTRY glGetActiveSubroutineUniformName (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
1831GLAPI void APIENTRY glGetActiveSubroutineName (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
1832GLAPI void APIENTRY glUniformSubroutinesuiv (GLenum shadertype, GLsizei count, const GLuint *indices);
1833GLAPI void APIENTRY glGetUniformSubroutineuiv (GLenum shadertype, GLint location, GLuint *params);
1834GLAPI void APIENTRY glGetProgramStageiv (GLuint program, GLenum shadertype, GLenum pname, GLint *values);
1835GLAPI void APIENTRY glPatchParameteri (GLenum pname, GLint value);
1836GLAPI void APIENTRY glPatchParameterfv (GLenum pname, const GLfloat *values);
1837GLAPI void APIENTRY glBindTransformFeedback (GLenum target, GLuint id);
1838GLAPI void APIENTRY glDeleteTransformFeedbacks (GLsizei n, const GLuint *ids);
1839GLAPI void APIENTRY glGenTransformFeedbacks (GLsizei n, GLuint *ids);
1840GLAPI GLboolean APIENTRY glIsTransformFeedback (GLuint id);
1841GLAPI void APIENTRY glPauseTransformFeedback (void);
1842GLAPI void APIENTRY glResumeTransformFeedback (void);
1843GLAPI void APIENTRY glDrawTransformFeedback (GLenum mode, GLuint id);
1844GLAPI void APIENTRY glDrawTransformFeedbackStream (GLenum mode, GLuint id, GLuint stream);
1845GLAPI void APIENTRY glBeginQueryIndexed (GLenum target, GLuint index, GLuint id);
1846GLAPI void APIENTRY glEndQueryIndexed (GLenum target, GLuint index);
1847GLAPI void APIENTRY glGetQueryIndexediv (GLenum target, GLuint index, GLenum pname, GLint *params);
1848#endif
1849#endif /* GL_VERSION_4_0 */
1850
1851#ifndef GL_VERSION_4_1
1852#define GL_VERSION_4_1 1
1853#define GL_FIXED 0x140C
1854#define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A
1855#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B
1856#define GL_LOW_FLOAT 0x8DF0
1857#define GL_MEDIUM_FLOAT 0x8DF1
1858#define GL_HIGH_FLOAT 0x8DF2
1859#define GL_LOW_INT 0x8DF3
1860#define GL_MEDIUM_INT 0x8DF4
1861#define GL_HIGH_INT 0x8DF5
1862#define GL_SHADER_COMPILER 0x8DFA
1863#define GL_SHADER_BINARY_FORMATS 0x8DF8
1864#define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9
1865#define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB
1866#define GL_MAX_VARYING_VECTORS 0x8DFC
1867#define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD
1868#define GL_RGB565 0x8D62
1869#define GL_PROGRAM_BINARY_RETRIEVABLE_HINT 0x8257
1870#define GL_PROGRAM_BINARY_LENGTH 0x8741
1871#define GL_NUM_PROGRAM_BINARY_FORMATS 0x87FE
1872#define GL_PROGRAM_BINARY_FORMATS 0x87FF
1873#define GL_VERTEX_SHADER_BIT 0x00000001
1874#define GL_FRAGMENT_SHADER_BIT 0x00000002
1875#define GL_GEOMETRY_SHADER_BIT 0x00000004
1876#define GL_TESS_CONTROL_SHADER_BIT 0x00000008
1877#define GL_TESS_EVALUATION_SHADER_BIT 0x00000010
1878#define GL_ALL_SHADER_BITS 0xFFFFFFFF
1879#define GL_PROGRAM_SEPARABLE 0x8258
1880#define GL_ACTIVE_PROGRAM 0x8259
1881#define GL_PROGRAM_PIPELINE_BINDING 0x825A
1882#define GL_MAX_VIEWPORTS 0x825B
1883#define GL_VIEWPORT_SUBPIXEL_BITS 0x825C
1884#define GL_VIEWPORT_BOUNDS_RANGE 0x825D
1885#define GL_LAYER_PROVOKING_VERTEX 0x825E
1886#define GL_VIEWPORT_INDEX_PROVOKING_VERTEX 0x825F
1887#define GL_UNDEFINED_VERTEX 0x8260
1888typedef void (APIENTRYP PFNGLRELEASESHADERCOMPILERPROC) (void);
1889typedef void (APIENTRYP PFNGLSHADERBINARYPROC) (GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length);
1890typedef void (APIENTRYP PFNGLGETSHADERPRECISIONFORMATPROC) (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
1891typedef void (APIENTRYP PFNGLDEPTHRANGEFPROC) (GLfloat n, GLfloat f);
1892typedef void (APIENTRYP PFNGLCLEARDEPTHFPROC) (GLfloat d);
1893typedef void (APIENTRYP PFNGLGETPROGRAMBINARYPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);
1894typedef void (APIENTRYP PFNGLPROGRAMBINARYPROC) (GLuint program, GLenum binaryFormat, const void *binary, GLsizei length);
1895typedef void (APIENTRYP PFNGLPROGRAMPARAMETERIPROC) (GLuint program, GLenum pname, GLint value);
1896typedef void (APIENTRYP PFNGLUSEPROGRAMSTAGESPROC) (GLuint pipeline, GLbitfield stages, GLuint program);
1897typedef void (APIENTRYP PFNGLACTIVESHADERPROGRAMPROC) (GLuint pipeline, GLuint program);
1898typedef GLuint (APIENTRYP PFNGLCREATESHADERPROGRAMVPROC) (GLenum type, GLsizei count, const GLchar *const*strings);
1899typedef void (APIENTRYP PFNGLBINDPROGRAMPIPELINEPROC) (GLuint pipeline);
1900typedef void (APIENTRYP PFNGLDELETEPROGRAMPIPELINESPROC) (GLsizei n, const GLuint *pipelines);
1901typedef void (APIENTRYP PFNGLGENPROGRAMPIPELINESPROC) (GLsizei n, GLuint *pipelines);
1902typedef GLboolean (APIENTRYP PFNGLISPROGRAMPIPELINEPROC) (GLuint pipeline);
1903typedef void (APIENTRYP PFNGLGETPROGRAMPIPELINEIVPROC) (GLuint pipeline, GLenum pname, GLint *params);
1904typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IPROC) (GLuint program, GLint location, GLint v0);
1905typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
1906typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FPROC) (GLuint program, GLint location, GLfloat v0);
1907typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1908typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DPROC) (GLuint program, GLint location, GLdouble v0);
1909typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);
1910typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIPROC) (GLuint program, GLint location, GLuint v0);
1911typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
1912typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IPROC) (GLuint program, GLint location, GLint v0, GLint v1);
1913typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
1914typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1);
1915typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1916typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2DPROC) (GLuint program, GLint location, GLdouble v0, GLdouble v1);
1917typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);
1918typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIPROC) (GLuint program, GLint location, GLuint v0, GLuint v1);
1919typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
1920typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
1921typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
1922typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
1923typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1924typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3DPROC) (GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2);
1925typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);
1926typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
1927typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
1928typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
1929typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
1930typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
1931typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1932typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4DPROC) (GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3);
1933typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);
1934typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
1935typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
1936typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1937typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1938typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1939typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1940typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1941typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1942typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1943typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1944typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1945typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1946typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1947typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1948typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1949typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1950typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1951typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1952typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1953typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1954typedef void (APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEPROC) (GLuint pipeline);
1955typedef void (APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
1956typedef void (APIENTRYP PFNGLVERTEXATTRIBL1DPROC) (GLuint index, GLdouble x);
1957typedef void (APIENTRYP PFNGLVERTEXATTRIBL2DPROC) (GLuint index, GLdouble x, GLdouble y);
1958typedef void (APIENTRYP PFNGLVERTEXATTRIBL3DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
1959typedef void (APIENTRYP PFNGLVERTEXATTRIBL4DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
1960typedef void (APIENTRYP PFNGLVERTEXATTRIBL1DVPROC) (GLuint index, const GLdouble *v);
1961typedef void (APIENTRYP PFNGLVERTEXATTRIBL2DVPROC) (GLuint index, const GLdouble *v);
1962typedef void (APIENTRYP PFNGLVERTEXATTRIBL3DVPROC) (GLuint index, const GLdouble *v);
1963typedef void (APIENTRYP PFNGLVERTEXATTRIBL4DVPROC) (GLuint index, const GLdouble *v);
1964typedef void (APIENTRYP PFNGLVERTEXATTRIBLPOINTERPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);
1965typedef void (APIENTRYP PFNGLGETVERTEXATTRIBLDVPROC) (GLuint index, GLenum pname, GLdouble *params);
1966typedef void (APIENTRYP PFNGLVIEWPORTARRAYVPROC) (GLuint first, GLsizei count, const GLfloat *v);
1967typedef void (APIENTRYP PFNGLVIEWPORTINDEXEDFPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);
1968typedef void (APIENTRYP PFNGLVIEWPORTINDEXEDFVPROC) (GLuint index, const GLfloat *v);
1969typedef void (APIENTRYP PFNGLSCISSORARRAYVPROC) (GLuint first, GLsizei count, const GLint *v);
1970typedef void (APIENTRYP PFNGLSCISSORINDEXEDPROC) (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);
1971typedef void (APIENTRYP PFNGLSCISSORINDEXEDVPROC) (GLuint index, const GLint *v);
1972typedef void (APIENTRYP PFNGLDEPTHRANGEARRAYVPROC) (GLuint first, GLsizei count, const GLdouble *v);
1973typedef void (APIENTRYP PFNGLDEPTHRANGEINDEXEDPROC) (GLuint index, GLdouble n, GLdouble f);
1974typedef void (APIENTRYP PFNGLGETFLOATI_VPROC) (GLenum target, GLuint index, GLfloat *data);
1975typedef void (APIENTRYP PFNGLGETDOUBLEI_VPROC) (GLenum target, GLuint index, GLdouble *data);
1976#ifdef GL_GLEXT_PROTOTYPES
1977GLAPI void APIENTRY glReleaseShaderCompiler (void);
1978GLAPI void APIENTRY glShaderBinary (GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length);
1979GLAPI void APIENTRY glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
1980GLAPI void APIENTRY glDepthRangef (GLfloat n, GLfloat f);
1981GLAPI void APIENTRY glClearDepthf (GLfloat d);
1982GLAPI void APIENTRY glGetProgramBinary (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);
1983GLAPI void APIENTRY glProgramBinary (GLuint program, GLenum binaryFormat, const void *binary, GLsizei length);
1984GLAPI void APIENTRY glProgramParameteri (GLuint program, GLenum pname, GLint value);
1985GLAPI void APIENTRY glUseProgramStages (GLuint pipeline, GLbitfield stages, GLuint program);
1986GLAPI void APIENTRY glActiveShaderProgram (GLuint pipeline, GLuint program);
1987GLAPI GLuint APIENTRY glCreateShaderProgramv (GLenum type, GLsizei count, const GLchar *const*strings);
1988GLAPI void APIENTRY glBindProgramPipeline (GLuint pipeline);
1989GLAPI void APIENTRY glDeleteProgramPipelines (GLsizei n, const GLuint *pipelines);
1990GLAPI void APIENTRY glGenProgramPipelines (GLsizei n, GLuint *pipelines);
1991GLAPI GLboolean APIENTRY glIsProgramPipeline (GLuint pipeline);
1992GLAPI void APIENTRY glGetProgramPipelineiv (GLuint pipeline, GLenum pname, GLint *params);
1993GLAPI void APIENTRY glProgramUniform1i (GLuint program, GLint location, GLint v0);
1994GLAPI void APIENTRY glProgramUniform1iv (GLuint program, GLint location, GLsizei count, const GLint *value);
1995GLAPI void APIENTRY glProgramUniform1f (GLuint program, GLint location, GLfloat v0);
1996GLAPI void APIENTRY glProgramUniform1fv (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1997GLAPI void APIENTRY glProgramUniform1d (GLuint program, GLint location, GLdouble v0);
1998GLAPI void APIENTRY glProgramUniform1dv (GLuint program, GLint location, GLsizei count, const GLdouble *value);
1999GLAPI void APIENTRY glProgramUniform1ui (GLuint program, GLint location, GLuint v0);
2000GLAPI void APIENTRY glProgramUniform1uiv (GLuint program, GLint location, GLsizei count, const GLuint *value);
2001GLAPI void APIENTRY glProgramUniform2i (GLuint program, GLint location, GLint v0, GLint v1);
2002GLAPI void APIENTRY glProgramUniform2iv (GLuint program, GLint location, GLsizei count, const GLint *value);
2003GLAPI void APIENTRY glProgramUniform2f (GLuint program, GLint location, GLfloat v0, GLfloat v1);
2004GLAPI void APIENTRY glProgramUniform2fv (GLuint program, GLint location, GLsizei count, const GLfloat *value);
2005GLAPI void APIENTRY glProgramUniform2d (GLuint program, GLint location, GLdouble v0, GLdouble v1);
2006GLAPI void APIENTRY glProgramUniform2dv (GLuint program, GLint location, GLsizei count, const GLdouble *value);
2007GLAPI void APIENTRY glProgramUniform2ui (GLuint program, GLint location, GLuint v0, GLuint v1);
2008GLAPI void APIENTRY glProgramUniform2uiv (GLuint program, GLint location, GLsizei count, const GLuint *value);
2009GLAPI void APIENTRY glProgramUniform3i (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
2010GLAPI void APIENTRY glProgramUniform3iv (GLuint program, GLint location, GLsizei count, const GLint *value);
2011GLAPI void APIENTRY glProgramUniform3f (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
2012GLAPI void APIENTRY glProgramUniform3fv (GLuint program, GLint location, GLsizei count, const GLfloat *value);
2013GLAPI void APIENTRY glProgramUniform3d (GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2);
2014GLAPI void APIENTRY glProgramUniform3dv (GLuint program, GLint location, GLsizei count, const GLdouble *value);
2015GLAPI void APIENTRY glProgramUniform3ui (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
2016GLAPI void APIENTRY glProgramUniform3uiv (GLuint program, GLint location, GLsizei count, const GLuint *value);
2017GLAPI void APIENTRY glProgramUniform4i (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
2018GLAPI void APIENTRY glProgramUniform4iv (GLuint program, GLint location, GLsizei count, const GLint *value);
2019GLAPI void APIENTRY glProgramUniform4f (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
2020GLAPI void APIENTRY glProgramUniform4fv (GLuint program, GLint location, GLsizei count, const GLfloat *value);
2021GLAPI void APIENTRY glProgramUniform4d (GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3);
2022GLAPI void APIENTRY glProgramUniform4dv (GLuint program, GLint location, GLsizei count, const GLdouble *value);
2023GLAPI void APIENTRY glProgramUniform4ui (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
2024GLAPI void APIENTRY glProgramUniform4uiv (GLuint program, GLint location, GLsizei count, const GLuint *value);
2025GLAPI void APIENTRY glProgramUniformMatrix2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
2026GLAPI void APIENTRY glProgramUniformMatrix3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
2027GLAPI void APIENTRY glProgramUniformMatrix4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
2028GLAPI void APIENTRY glProgramUniformMatrix2dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
2029GLAPI void APIENTRY glProgramUniformMatrix3dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
2030GLAPI void APIENTRY glProgramUniformMatrix4dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
2031GLAPI void APIENTRY glProgramUniformMatrix2x3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
2032GLAPI void APIENTRY glProgramUniformMatrix3x2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
2033GLAPI void APIENTRY glProgramUniformMatrix2x4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
2034GLAPI void APIENTRY glProgramUniformMatrix4x2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
2035GLAPI void APIENTRY glProgramUniformMatrix3x4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
2036GLAPI void APIENTRY glProgramUniformMatrix4x3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
2037GLAPI void APIENTRY glProgramUniformMatrix2x3dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
2038GLAPI void APIENTRY glProgramUniformMatrix3x2dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
2039GLAPI void APIENTRY glProgramUniformMatrix2x4dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
2040GLAPI void APIENTRY glProgramUniformMatrix4x2dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
2041GLAPI void APIENTRY glProgramUniformMatrix3x4dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
2042GLAPI void APIENTRY glProgramUniformMatrix4x3dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
2043GLAPI void APIENTRY glValidateProgramPipeline (GLuint pipeline);
2044GLAPI void APIENTRY glGetProgramPipelineInfoLog (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
2045GLAPI void APIENTRY glVertexAttribL1d (GLuint index, GLdouble x);
2046GLAPI void APIENTRY glVertexAttribL2d (GLuint index, GLdouble x, GLdouble y);
2047GLAPI void APIENTRY glVertexAttribL3d (GLuint index, GLdouble x, GLdouble y, GLdouble z);
2048GLAPI void APIENTRY glVertexAttribL4d (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
2049GLAPI void APIENTRY glVertexAttribL1dv (GLuint index, const GLdouble *v);
2050GLAPI void APIENTRY glVertexAttribL2dv (GLuint index, const GLdouble *v);
2051GLAPI void APIENTRY glVertexAttribL3dv (GLuint index, const GLdouble *v);
2052GLAPI void APIENTRY glVertexAttribL4dv (GLuint index, const GLdouble *v);
2053GLAPI void APIENTRY glVertexAttribLPointer (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);
2054GLAPI void APIENTRY glGetVertexAttribLdv (GLuint index, GLenum pname, GLdouble *params);
2055GLAPI void APIENTRY glViewportArrayv (GLuint first, GLsizei count, const GLfloat *v);
2056GLAPI void APIENTRY glViewportIndexedf (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);
2057GLAPI void APIENTRY glViewportIndexedfv (GLuint index, const GLfloat *v);
2058GLAPI void APIENTRY glScissorArrayv (GLuint first, GLsizei count, const GLint *v);
2059GLAPI void APIENTRY glScissorIndexed (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);
2060GLAPI void APIENTRY glScissorIndexedv (GLuint index, const GLint *v);
2061GLAPI void APIENTRY glDepthRangeArrayv (GLuint first, GLsizei count, const GLdouble *v);
2062GLAPI void APIENTRY glDepthRangeIndexed (GLuint index, GLdouble n, GLdouble f);
2063GLAPI void APIENTRY glGetFloati_v (GLenum target, GLuint index, GLfloat *data);
2064GLAPI void APIENTRY glGetDoublei_v (GLenum target, GLuint index, GLdouble *data);
2065#endif
2066#endif /* GL_VERSION_4_1 */
2067
2068#ifndef GL_VERSION_4_2
2069#define GL_VERSION_4_2 1
2070#define GL_COPY_READ_BUFFER_BINDING 0x8F36
2071#define GL_COPY_WRITE_BUFFER_BINDING 0x8F37
2072#define GL_TRANSFORM_FEEDBACK_ACTIVE 0x8E24
2073#define GL_TRANSFORM_FEEDBACK_PAUSED 0x8E23
2074#define GL_UNPACK_COMPRESSED_BLOCK_WIDTH 0x9127
2075#define GL_UNPACK_COMPRESSED_BLOCK_HEIGHT 0x9128
2076#define GL_UNPACK_COMPRESSED_BLOCK_DEPTH 0x9129
2077#define GL_UNPACK_COMPRESSED_BLOCK_SIZE 0x912A
2078#define GL_PACK_COMPRESSED_BLOCK_WIDTH 0x912B
2079#define GL_PACK_COMPRESSED_BLOCK_HEIGHT 0x912C
2080#define GL_PACK_COMPRESSED_BLOCK_DEPTH 0x912D
2081#define GL_PACK_COMPRESSED_BLOCK_SIZE 0x912E
2082#define GL_NUM_SAMPLE_COUNTS 0x9380
2083#define GL_MIN_MAP_BUFFER_ALIGNMENT 0x90BC
2084#define GL_ATOMIC_COUNTER_BUFFER 0x92C0
2085#define GL_ATOMIC_COUNTER_BUFFER_BINDING 0x92C1
2086#define GL_ATOMIC_COUNTER_BUFFER_START 0x92C2
2087#define GL_ATOMIC_COUNTER_BUFFER_SIZE 0x92C3
2088#define GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE 0x92C4
2089#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS 0x92C5
2090#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES 0x92C6
2091#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER 0x92C7
2092#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER 0x92C8
2093#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER 0x92C9
2094#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER 0x92CA
2095#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER 0x92CB
2096#define GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS 0x92CC
2097#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS 0x92CD
2098#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS 0x92CE
2099#define GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS 0x92CF
2100#define GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS 0x92D0
2101#define GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS 0x92D1
2102#define GL_MAX_VERTEX_ATOMIC_COUNTERS 0x92D2
2103#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS 0x92D3
2104#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS 0x92D4
2105#define GL_MAX_GEOMETRY_ATOMIC_COUNTERS 0x92D5
2106#define GL_MAX_FRAGMENT_ATOMIC_COUNTERS 0x92D6
2107#define GL_MAX_COMBINED_ATOMIC_COUNTERS 0x92D7
2108#define GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE 0x92D8
2109#define GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS 0x92DC
2110#define GL_ACTIVE_ATOMIC_COUNTER_BUFFERS 0x92D9
2111#define GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX 0x92DA
2112#define GL_UNSIGNED_INT_ATOMIC_COUNTER 0x92DB
2113#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT 0x00000001
2114#define GL_ELEMENT_ARRAY_BARRIER_BIT 0x00000002
2115#define GL_UNIFORM_BARRIER_BIT 0x00000004
2116#define GL_TEXTURE_FETCH_BARRIER_BIT 0x00000008
2117#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT 0x00000020
2118#define GL_COMMAND_BARRIER_BIT 0x00000040
2119#define GL_PIXEL_BUFFER_BARRIER_BIT 0x00000080
2120#define GL_TEXTURE_UPDATE_BARRIER_BIT 0x00000100
2121#define GL_BUFFER_UPDATE_BARRIER_BIT 0x00000200
2122#define GL_FRAMEBUFFER_BARRIER_BIT 0x00000400
2123#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT 0x00000800
2124#define GL_ATOMIC_COUNTER_BARRIER_BIT 0x00001000
2125#define GL_ALL_BARRIER_BITS 0xFFFFFFFF
2126#define GL_MAX_IMAGE_UNITS 0x8F38
2127#define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS 0x8F39
2128#define GL_IMAGE_BINDING_NAME 0x8F3A
2129#define GL_IMAGE_BINDING_LEVEL 0x8F3B
2130#define GL_IMAGE_BINDING_LAYERED 0x8F3C
2131#define GL_IMAGE_BINDING_LAYER 0x8F3D
2132#define GL_IMAGE_BINDING_ACCESS 0x8F3E
2133#define GL_IMAGE_1D 0x904C
2134#define GL_IMAGE_2D 0x904D
2135#define GL_IMAGE_3D 0x904E
2136#define GL_IMAGE_2D_RECT 0x904F
2137#define GL_IMAGE_CUBE 0x9050
2138#define GL_IMAGE_BUFFER 0x9051
2139#define GL_IMAGE_1D_ARRAY 0x9052
2140#define GL_IMAGE_2D_ARRAY 0x9053
2141#define GL_IMAGE_CUBE_MAP_ARRAY 0x9054
2142#define GL_IMAGE_2D_MULTISAMPLE 0x9055
2143#define GL_IMAGE_2D_MULTISAMPLE_ARRAY 0x9056
2144#define GL_INT_IMAGE_1D 0x9057
2145#define GL_INT_IMAGE_2D 0x9058
2146#define GL_INT_IMAGE_3D 0x9059
2147#define GL_INT_IMAGE_2D_RECT 0x905A
2148#define GL_INT_IMAGE_CUBE 0x905B
2149#define GL_INT_IMAGE_BUFFER 0x905C
2150#define GL_INT_IMAGE_1D_ARRAY 0x905D
2151#define GL_INT_IMAGE_2D_ARRAY 0x905E
2152#define GL_INT_IMAGE_CUBE_MAP_ARRAY 0x905F
2153#define GL_INT_IMAGE_2D_MULTISAMPLE 0x9060
2154#define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x9061
2155#define GL_UNSIGNED_INT_IMAGE_1D 0x9062
2156#define GL_UNSIGNED_INT_IMAGE_2D 0x9063
2157#define GL_UNSIGNED_INT_IMAGE_3D 0x9064
2158#define GL_UNSIGNED_INT_IMAGE_2D_RECT 0x9065
2159#define GL_UNSIGNED_INT_IMAGE_CUBE 0x9066
2160#define GL_UNSIGNED_INT_IMAGE_BUFFER 0x9067
2161#define GL_UNSIGNED_INT_IMAGE_1D_ARRAY 0x9068
2162#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY 0x9069
2163#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY 0x906A
2164#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE 0x906B
2165#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x906C
2166#define GL_MAX_IMAGE_SAMPLES 0x906D
2167#define GL_IMAGE_BINDING_FORMAT 0x906E
2168#define GL_IMAGE_FORMAT_COMPATIBILITY_TYPE 0x90C7
2169#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE 0x90C8
2170#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS 0x90C9
2171#define GL_MAX_VERTEX_IMAGE_UNIFORMS 0x90CA
2172#define GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS 0x90CB
2173#define GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS 0x90CC
2174#define GL_MAX_GEOMETRY_IMAGE_UNIFORMS 0x90CD
2175#define GL_MAX_FRAGMENT_IMAGE_UNIFORMS 0x90CE
2176#define GL_MAX_COMBINED_IMAGE_UNIFORMS 0x90CF
2177#define GL_COMPRESSED_RGBA_BPTC_UNORM 0x8E8C
2178#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM 0x8E8D
2179#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT 0x8E8E
2180#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT 0x8E8F
2181#define GL_TEXTURE_IMMUTABLE_FORMAT 0x912F
2182typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance);
2183typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance);
2184typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance);
2185typedef void (APIENTRYP PFNGLGETINTERNALFORMATIVPROC) (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params);
2186typedef void (APIENTRYP PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC) (GLuint program, GLuint bufferIndex, GLenum pname, GLint *params);
2187typedef void (APIENTRYP PFNGLBINDIMAGETEXTUREPROC) (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);
2188typedef void (APIENTRYP PFNGLMEMORYBARRIERPROC) (GLbitfield barriers);
2189typedef void (APIENTRYP PFNGLTEXSTORAGE1DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
2190typedef void (APIENTRYP PFNGLTEXSTORAGE2DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
2191typedef void (APIENTRYP PFNGLTEXSTORAGE3DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
2192typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC) (GLenum mode, GLuint id, GLsizei instancecount);
2193typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC) (GLenum mode, GLuint id, GLuint stream, GLsizei instancecount);
2194#ifdef GL_GLEXT_PROTOTYPES
2195GLAPI void APIENTRY glDrawArraysInstancedBaseInstance (GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance);
2196GLAPI void APIENTRY glDrawElementsInstancedBaseInstance (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance);
2197GLAPI void APIENTRY glDrawElementsInstancedBaseVertexBaseInstance (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance);
2198GLAPI void APIENTRY glGetInternalformativ (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params);
2199GLAPI void APIENTRY glGetActiveAtomicCounterBufferiv (GLuint program, GLuint bufferIndex, GLenum pname, GLint *params);
2200GLAPI void APIENTRY glBindImageTexture (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);
2201GLAPI void APIENTRY glMemoryBarrier (GLbitfield barriers);
2202GLAPI void APIENTRY glTexStorage1D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
2203GLAPI void APIENTRY glTexStorage2D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
2204GLAPI void APIENTRY glTexStorage3D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
2205GLAPI void APIENTRY glDrawTransformFeedbackInstanced (GLenum mode, GLuint id, GLsizei instancecount);
2206GLAPI void APIENTRY glDrawTransformFeedbackStreamInstanced (GLenum mode, GLuint id, GLuint stream, GLsizei instancecount);
2207#endif
2208#endif /* GL_VERSION_4_2 */
2209
2210#ifndef GL_VERSION_4_3
2211#define GL_VERSION_4_3 1
2212typedef void (APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
2213#define GL_NUM_SHADING_LANGUAGE_VERSIONS 0x82E9
2214#define GL_VERTEX_ATTRIB_ARRAY_LONG 0x874E
2215#define GL_COMPRESSED_RGB8_ETC2 0x9274
2216#define GL_COMPRESSED_SRGB8_ETC2 0x9275
2217#define GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9276
2218#define GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9277
2219#define GL_COMPRESSED_RGBA8_ETC2_EAC 0x9278
2220#define GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC 0x9279
2221#define GL_COMPRESSED_R11_EAC 0x9270
2222#define GL_COMPRESSED_SIGNED_R11_EAC 0x9271
2223#define GL_COMPRESSED_RG11_EAC 0x9272
2224#define GL_COMPRESSED_SIGNED_RG11_EAC 0x9273
2225#define GL_PRIMITIVE_RESTART_FIXED_INDEX 0x8D69
2226#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE 0x8D6A
2227#define GL_MAX_ELEMENT_INDEX 0x8D6B
2228#define GL_COMPUTE_SHADER 0x91B9
2229#define GL_MAX_COMPUTE_UNIFORM_BLOCKS 0x91BB
2230#define GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS 0x91BC
2231#define GL_MAX_COMPUTE_IMAGE_UNIFORMS 0x91BD
2232#define GL_MAX_COMPUTE_SHARED_MEMORY_SIZE 0x8262
2233#define GL_MAX_COMPUTE_UNIFORM_COMPONENTS 0x8263
2234#define GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS 0x8264
2235#define GL_MAX_COMPUTE_ATOMIC_COUNTERS 0x8265
2236#define GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS 0x8266
2237#define GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS 0x90EB
2238#define GL_MAX_COMPUTE_WORK_GROUP_COUNT 0x91BE
2239#define GL_MAX_COMPUTE_WORK_GROUP_SIZE 0x91BF
2240#define GL_COMPUTE_WORK_GROUP_SIZE 0x8267
2241#define GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER 0x90EC
2242#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER 0x90ED
2243#define GL_DISPATCH_INDIRECT_BUFFER 0x90EE
2244#define GL_DISPATCH_INDIRECT_BUFFER_BINDING 0x90EF
2245#define GL_COMPUTE_SHADER_BIT 0x00000020
2246#define GL_DEBUG_OUTPUT_SYNCHRONOUS 0x8242
2247#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH 0x8243
2248#define GL_DEBUG_CALLBACK_FUNCTION 0x8244
2249#define GL_DEBUG_CALLBACK_USER_PARAM 0x8245
2250#define GL_DEBUG_SOURCE_API 0x8246
2251#define GL_DEBUG_SOURCE_WINDOW_SYSTEM 0x8247
2252#define GL_DEBUG_SOURCE_SHADER_COMPILER 0x8248
2253#define GL_DEBUG_SOURCE_THIRD_PARTY 0x8249
2254#define GL_DEBUG_SOURCE_APPLICATION 0x824A
2255#define GL_DEBUG_SOURCE_OTHER 0x824B
2256#define GL_DEBUG_TYPE_ERROR 0x824C
2257#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR 0x824D
2258#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR 0x824E
2259#define GL_DEBUG_TYPE_PORTABILITY 0x824F
2260#define GL_DEBUG_TYPE_PERFORMANCE 0x8250
2261#define GL_DEBUG_TYPE_OTHER 0x8251
2262#define GL_MAX_DEBUG_MESSAGE_LENGTH 0x9143
2263#define GL_MAX_DEBUG_LOGGED_MESSAGES 0x9144
2264#define GL_DEBUG_LOGGED_MESSAGES 0x9145
2265#define GL_DEBUG_SEVERITY_HIGH 0x9146
2266#define GL_DEBUG_SEVERITY_MEDIUM 0x9147
2267#define GL_DEBUG_SEVERITY_LOW 0x9148
2268#define GL_DEBUG_TYPE_MARKER 0x8268
2269#define GL_DEBUG_TYPE_PUSH_GROUP 0x8269
2270#define GL_DEBUG_TYPE_POP_GROUP 0x826A
2271#define GL_DEBUG_SEVERITY_NOTIFICATION 0x826B
2272#define GL_MAX_DEBUG_GROUP_STACK_DEPTH 0x826C
2273#define GL_DEBUG_GROUP_STACK_DEPTH 0x826D
2274#define GL_BUFFER 0x82E0
2275#define GL_SHADER 0x82E1
2276#define GL_PROGRAM 0x82E2
2277#define GL_QUERY 0x82E3
2278#define GL_PROGRAM_PIPELINE 0x82E4
2279#define GL_SAMPLER 0x82E6
2280#define GL_MAX_LABEL_LENGTH 0x82E8
2281#define GL_DEBUG_OUTPUT 0x92E0
2282#define GL_CONTEXT_FLAG_DEBUG_BIT 0x00000002
2283#define GL_MAX_UNIFORM_LOCATIONS 0x826E
2284#define GL_FRAMEBUFFER_DEFAULT_WIDTH 0x9310
2285#define GL_FRAMEBUFFER_DEFAULT_HEIGHT 0x9311
2286#define GL_FRAMEBUFFER_DEFAULT_LAYERS 0x9312
2287#define GL_FRAMEBUFFER_DEFAULT_SAMPLES 0x9313
2288#define GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS 0x9314
2289#define GL_MAX_FRAMEBUFFER_WIDTH 0x9315
2290#define GL_MAX_FRAMEBUFFER_HEIGHT 0x9316
2291#define GL_MAX_FRAMEBUFFER_LAYERS 0x9317
2292#define GL_MAX_FRAMEBUFFER_SAMPLES 0x9318
2293#define GL_INTERNALFORMAT_SUPPORTED 0x826F
2294#define GL_INTERNALFORMAT_PREFERRED 0x8270
2295#define GL_INTERNALFORMAT_RED_SIZE 0x8271
2296#define GL_INTERNALFORMAT_GREEN_SIZE 0x8272
2297#define GL_INTERNALFORMAT_BLUE_SIZE 0x8273
2298#define GL_INTERNALFORMAT_ALPHA_SIZE 0x8274
2299#define GL_INTERNALFORMAT_DEPTH_SIZE 0x8275
2300#define GL_INTERNALFORMAT_STENCIL_SIZE 0x8276
2301#define GL_INTERNALFORMAT_SHARED_SIZE 0x8277
2302#define GL_INTERNALFORMAT_RED_TYPE 0x8278
2303#define GL_INTERNALFORMAT_GREEN_TYPE 0x8279
2304#define GL_INTERNALFORMAT_BLUE_TYPE 0x827A
2305#define GL_INTERNALFORMAT_ALPHA_TYPE 0x827B
2306#define GL_INTERNALFORMAT_DEPTH_TYPE 0x827C
2307#define GL_INTERNALFORMAT_STENCIL_TYPE 0x827D
2308#define GL_MAX_WIDTH 0x827E
2309#define GL_MAX_HEIGHT 0x827F
2310#define GL_MAX_DEPTH 0x8280
2311#define GL_MAX_LAYERS 0x8281
2312#define GL_MAX_COMBINED_DIMENSIONS 0x8282
2313#define GL_COLOR_COMPONENTS 0x8283
2314#define GL_DEPTH_COMPONENTS 0x8284
2315#define GL_STENCIL_COMPONENTS 0x8285
2316#define GL_COLOR_RENDERABLE 0x8286
2317#define GL_DEPTH_RENDERABLE 0x8287
2318#define GL_STENCIL_RENDERABLE 0x8288
2319#define GL_FRAMEBUFFER_RENDERABLE 0x8289
2320#define GL_FRAMEBUFFER_RENDERABLE_LAYERED 0x828A
2321#define GL_FRAMEBUFFER_BLEND 0x828B
2322#define GL_READ_PIXELS 0x828C
2323#define GL_READ_PIXELS_FORMAT 0x828D
2324#define GL_READ_PIXELS_TYPE 0x828E
2325#define GL_TEXTURE_IMAGE_FORMAT 0x828F
2326#define GL_TEXTURE_IMAGE_TYPE 0x8290
2327#define GL_GET_TEXTURE_IMAGE_FORMAT 0x8291
2328#define GL_GET_TEXTURE_IMAGE_TYPE 0x8292
2329#define GL_MIPMAP 0x8293
2330#define GL_MANUAL_GENERATE_MIPMAP 0x8294
2331#define GL_AUTO_GENERATE_MIPMAP 0x8295
2332#define GL_COLOR_ENCODING 0x8296
2333#define GL_SRGB_READ 0x8297
2334#define GL_SRGB_WRITE 0x8298
2335#define GL_FILTER 0x829A
2336#define GL_VERTEX_TEXTURE 0x829B
2337#define GL_TESS_CONTROL_TEXTURE 0x829C
2338#define GL_TESS_EVALUATION_TEXTURE 0x829D
2339#define GL_GEOMETRY_TEXTURE 0x829E
2340#define GL_FRAGMENT_TEXTURE 0x829F
2341#define GL_COMPUTE_TEXTURE 0x82A0
2342#define GL_TEXTURE_SHADOW 0x82A1
2343#define GL_TEXTURE_GATHER 0x82A2
2344#define GL_TEXTURE_GATHER_SHADOW 0x82A3
2345#define GL_SHADER_IMAGE_LOAD 0x82A4
2346#define GL_SHADER_IMAGE_STORE 0x82A5
2347#define GL_SHADER_IMAGE_ATOMIC 0x82A6
2348#define GL_IMAGE_TEXEL_SIZE 0x82A7
2349#define GL_IMAGE_COMPATIBILITY_CLASS 0x82A8
2350#define GL_IMAGE_PIXEL_FORMAT 0x82A9
2351#define GL_IMAGE_PIXEL_TYPE 0x82AA
2352#define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST 0x82AC
2353#define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST 0x82AD
2354#define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE 0x82AE
2355#define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE 0x82AF
2356#define GL_TEXTURE_COMPRESSED_BLOCK_WIDTH 0x82B1
2357#define GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT 0x82B2
2358#define GL_TEXTURE_COMPRESSED_BLOCK_SIZE 0x82B3
2359#define GL_CLEAR_BUFFER 0x82B4
2360#define GL_TEXTURE_VIEW 0x82B5
2361#define GL_VIEW_COMPATIBILITY_CLASS 0x82B6
2362#define GL_FULL_SUPPORT 0x82B7
2363#define GL_CAVEAT_SUPPORT 0x82B8
2364#define GL_IMAGE_CLASS_4_X_32 0x82B9
2365#define GL_IMAGE_CLASS_2_X_32 0x82BA
2366#define GL_IMAGE_CLASS_1_X_32 0x82BB
2367#define GL_IMAGE_CLASS_4_X_16 0x82BC
2368#define GL_IMAGE_CLASS_2_X_16 0x82BD
2369#define GL_IMAGE_CLASS_1_X_16 0x82BE
2370#define GL_IMAGE_CLASS_4_X_8 0x82BF
2371#define GL_IMAGE_CLASS_2_X_8 0x82C0
2372#define GL_IMAGE_CLASS_1_X_8 0x82C1
2373#define GL_IMAGE_CLASS_11_11_10 0x82C2
2374#define GL_IMAGE_CLASS_10_10_10_2 0x82C3
2375#define GL_VIEW_CLASS_128_BITS 0x82C4
2376#define GL_VIEW_CLASS_96_BITS 0x82C5
2377#define GL_VIEW_CLASS_64_BITS 0x82C6
2378#define GL_VIEW_CLASS_48_BITS 0x82C7
2379#define GL_VIEW_CLASS_32_BITS 0x82C8
2380#define GL_VIEW_CLASS_24_BITS 0x82C9
2381#define GL_VIEW_CLASS_16_BITS 0x82CA
2382#define GL_VIEW_CLASS_8_BITS 0x82CB
2383#define GL_VIEW_CLASS_S3TC_DXT1_RGB 0x82CC
2384#define GL_VIEW_CLASS_S3TC_DXT1_RGBA 0x82CD
2385#define GL_VIEW_CLASS_S3TC_DXT3_RGBA 0x82CE
2386#define GL_VIEW_CLASS_S3TC_DXT5_RGBA 0x82CF
2387#define GL_VIEW_CLASS_RGTC1_RED 0x82D0
2388#define GL_VIEW_CLASS_RGTC2_RG 0x82D1
2389#define GL_VIEW_CLASS_BPTC_UNORM 0x82D2
2390#define GL_VIEW_CLASS_BPTC_FLOAT 0x82D3
2391#define GL_UNIFORM 0x92E1
2392#define GL_UNIFORM_BLOCK 0x92E2
2393#define GL_PROGRAM_INPUT 0x92E3
2394#define GL_PROGRAM_OUTPUT 0x92E4
2395#define GL_BUFFER_VARIABLE 0x92E5
2396#define GL_SHADER_STORAGE_BLOCK 0x92E6
2397#define GL_VERTEX_SUBROUTINE 0x92E8
2398#define GL_TESS_CONTROL_SUBROUTINE 0x92E9
2399#define GL_TESS_EVALUATION_SUBROUTINE 0x92EA
2400#define GL_GEOMETRY_SUBROUTINE 0x92EB
2401#define GL_FRAGMENT_SUBROUTINE 0x92EC
2402#define GL_COMPUTE_SUBROUTINE 0x92ED
2403#define GL_VERTEX_SUBROUTINE_UNIFORM 0x92EE
2404#define GL_TESS_CONTROL_SUBROUTINE_UNIFORM 0x92EF
2405#define GL_TESS_EVALUATION_SUBROUTINE_UNIFORM 0x92F0
2406#define GL_GEOMETRY_SUBROUTINE_UNIFORM 0x92F1
2407#define GL_FRAGMENT_SUBROUTINE_UNIFORM 0x92F2
2408#define GL_COMPUTE_SUBROUTINE_UNIFORM 0x92F3
2409#define GL_TRANSFORM_FEEDBACK_VARYING 0x92F4
2410#define GL_ACTIVE_RESOURCES 0x92F5
2411#define GL_MAX_NAME_LENGTH 0x92F6
2412#define GL_MAX_NUM_ACTIVE_VARIABLES 0x92F7
2413#define GL_MAX_NUM_COMPATIBLE_SUBROUTINES 0x92F8
2414#define GL_NAME_LENGTH 0x92F9
2415#define GL_TYPE 0x92FA
2416#define GL_ARRAY_SIZE 0x92FB
2417#define GL_OFFSET 0x92FC
2418#define GL_BLOCK_INDEX 0x92FD
2419#define GL_ARRAY_STRIDE 0x92FE
2420#define GL_MATRIX_STRIDE 0x92FF
2421#define GL_IS_ROW_MAJOR 0x9300
2422#define GL_ATOMIC_COUNTER_BUFFER_INDEX 0x9301
2423#define GL_BUFFER_BINDING 0x9302
2424#define GL_BUFFER_DATA_SIZE 0x9303
2425#define GL_NUM_ACTIVE_VARIABLES 0x9304
2426#define GL_ACTIVE_VARIABLES 0x9305
2427#define GL_REFERENCED_BY_VERTEX_SHADER 0x9306
2428#define GL_REFERENCED_BY_TESS_CONTROL_SHADER 0x9307
2429#define GL_REFERENCED_BY_TESS_EVALUATION_SHADER 0x9308
2430#define GL_REFERENCED_BY_GEOMETRY_SHADER 0x9309
2431#define GL_REFERENCED_BY_FRAGMENT_SHADER 0x930A
2432#define GL_REFERENCED_BY_COMPUTE_SHADER 0x930B
2433#define GL_TOP_LEVEL_ARRAY_SIZE 0x930C
2434#define GL_TOP_LEVEL_ARRAY_STRIDE 0x930D
2435#define GL_LOCATION 0x930E
2436#define GL_LOCATION_INDEX 0x930F
2437#define GL_IS_PER_PATCH 0x92E7
2438#define GL_SHADER_STORAGE_BUFFER 0x90D2
2439#define GL_SHADER_STORAGE_BUFFER_BINDING 0x90D3
2440#define GL_SHADER_STORAGE_BUFFER_START 0x90D4
2441#define GL_SHADER_STORAGE_BUFFER_SIZE 0x90D5
2442#define GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS 0x90D6
2443#define GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS 0x90D7
2444#define GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS 0x90D8
2445#define GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS 0x90D9
2446#define GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS 0x90DA
2447#define GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS 0x90DB
2448#define GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS 0x90DC
2449#define GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS 0x90DD
2450#define GL_MAX_SHADER_STORAGE_BLOCK_SIZE 0x90DE
2451#define GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT 0x90DF
2452#define GL_SHADER_STORAGE_BARRIER_BIT 0x00002000
2453#define GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES 0x8F39
2454#define GL_DEPTH_STENCIL_TEXTURE_MODE 0x90EA
2455#define GL_TEXTURE_BUFFER_OFFSET 0x919D
2456#define GL_TEXTURE_BUFFER_SIZE 0x919E
2457#define GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT 0x919F
2458#define GL_TEXTURE_VIEW_MIN_LEVEL 0x82DB
2459#define GL_TEXTURE_VIEW_NUM_LEVELS 0x82DC
2460#define GL_TEXTURE_VIEW_MIN_LAYER 0x82DD
2461#define GL_TEXTURE_VIEW_NUM_LAYERS 0x82DE
2462#define GL_TEXTURE_IMMUTABLE_LEVELS 0x82DF
2463#define GL_VERTEX_ATTRIB_BINDING 0x82D4
2464#define GL_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D5
2465#define GL_VERTEX_BINDING_DIVISOR 0x82D6
2466#define GL_VERTEX_BINDING_OFFSET 0x82D7
2467#define GL_VERTEX_BINDING_STRIDE 0x82D8
2468#define GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D9
2469#define GL_MAX_VERTEX_ATTRIB_BINDINGS 0x82DA
2470#define GL_VERTEX_BINDING_BUFFER 0x8F4F
2471#define GL_DISPLAY_LIST 0x82E7
2472typedef void (APIENTRYP PFNGLCLEARBUFFERDATAPROC) (GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data);
2473typedef void (APIENTRYP PFNGLCLEARBUFFERSUBDATAPROC) (GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data);
2474typedef void (APIENTRYP PFNGLDISPATCHCOMPUTEPROC) (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z);
2475typedef void (APIENTRYP PFNGLDISPATCHCOMPUTEINDIRECTPROC) (GLintptr indirect);
2476typedef void (APIENTRYP PFNGLCOPYIMAGESUBDATAPROC) (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);
2477typedef void (APIENTRYP PFNGLFRAMEBUFFERPARAMETERIPROC) (GLenum target, GLenum pname, GLint param);
2478typedef void (APIENTRYP PFNGLGETFRAMEBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
2479typedef void (APIENTRYP PFNGLGETINTERNALFORMATI64VPROC) (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64 *params);
2480typedef void (APIENTRYP PFNGLINVALIDATETEXSUBIMAGEPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth);
2481typedef void (APIENTRYP PFNGLINVALIDATETEXIMAGEPROC) (GLuint texture, GLint level);
2482typedef void (APIENTRYP PFNGLINVALIDATEBUFFERSUBDATAPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length);
2483typedef void (APIENTRYP PFNGLINVALIDATEBUFFERDATAPROC) (GLuint buffer);
2484typedef void (APIENTRYP PFNGLINVALIDATEFRAMEBUFFERPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
2485typedef void (APIENTRYP PFNGLINVALIDATESUBFRAMEBUFFERPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height);
2486typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTPROC) (GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride);
2487typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTPROC) (GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride);
2488typedef void (APIENTRYP PFNGLGETPROGRAMINTERFACEIVPROC) (GLuint program, GLenum programInterface, GLenum pname, GLint *params);
2489typedef GLuint (APIENTRYP PFNGLGETPROGRAMRESOURCEINDEXPROC) (GLuint program, GLenum programInterface, const GLchar *name);
2490typedef void (APIENTRYP PFNGLGETPROGRAMRESOURCENAMEPROC) (GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);
2491typedef void (APIENTRYP PFNGLGETPROGRAMRESOURCEIVPROC) (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params);
2492typedef GLint (APIENTRYP PFNGLGETPROGRAMRESOURCELOCATIONPROC) (GLuint program, GLenum programInterface, const GLchar *name);
2493typedef GLint (APIENTRYP PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC) (GLuint program, GLenum programInterface, const GLchar *name);
2494typedef void (APIENTRYP PFNGLSHADERSTORAGEBLOCKBINDINGPROC) (GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding);
2495typedef void (APIENTRYP PFNGLTEXBUFFERRANGEPROC) (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
2496typedef void (APIENTRYP PFNGLTEXSTORAGE2DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
2497typedef void (APIENTRYP PFNGLTEXSTORAGE3DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
2498typedef void (APIENTRYP PFNGLTEXTUREVIEWPROC) (GLuint texture, GLenum target, GLuint