9 ** Copyright (c) 2007-2012 The Khronos Group Inc.
11 ** Permission is hereby granted, free of charge, to any person obtaining a
12 ** copy of this software and/or associated documentation files (the
13 ** "Materials"), to deal in the Materials without restriction, including
14 ** without limitation the rights to use, copy, modify, merge, publish,
15 ** distribute, sublicense, and/or sell copies of the Materials, and to
16 ** permit persons to whom the Materials are furnished to do so, subject to
17 ** the following conditions:
19 ** The above copyright notice and this permission notice shall be included
20 ** in all copies or substantial portions of the Materials.
22 ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
23 ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
24 ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
25 ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
26 ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
27 ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
28 ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
31 /* This is a draft release of gl3.h, a header for use with OpenGL 3.1, and
32 * 3.2 and later core profile implementations. The current version is
33 * available at http://www.opengl.org/registry/ . Please don't package
34 * gl3.h for release with other software until it's out of draft status.
35 * The structure of the file may change significantly, and the details
36 * will probably change slightly as we make sure exactly the right set
37 * of interfaces is included.
39 * gl3.h last updated on $Date: 2012-01-26 02:57:23 -0800 (Thu, 26 Jan 2012) $
41 * RELEASE NOTES - 2012/01/26
43 * gl3.h should be placed under a directory 'GL3' and included as
46 * gl3.h is supposed to only include APIs in a OpenGL 3.1 (without
47 * GL_ARB_compatibility) or OpenGL 3.2-4.2 (inclusive) core profile
48 * implementation, as well as interfaces for newer ARB extensions which
49 * can be supported by the core profile. It does not, and never will
50 * include functionality removed from the core profile, such as
51 * fixed-function vertex and fragment processing.
53 * Implementations of OpenGL 3.1 supporting the optional
54 * GL_ARB_compatibility extension continue to provide that functionality,
55 * as do implementations of the OpenGL 3.2+ compatibility profiles, and
56 * source code requiring it should use the traditional <GL/gl.h> and
57 * <GL/glext.h> headers instead of <GL3/gl3.h>.
59 * It is not possible to #include both <GL3/gl3.h> and either of
60 * <GL/gl.h> or <GL/glext.h> in the same source file.
62 * We welcome feedback on gl3.h. Please register for the Khronos Bugzilla
63 * (www.khronos.org/bugzilla) and file issues there under product
64 * "OpenGL", category "Registry". Feedback on the opengl.org forums
65 * may not be responded to in a timely fashion.
68 /* Function declaration macros - to move into glplatform.h */
70 #if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)
71 #define WIN32_LEAN_AND_MEAN 1
79 #define APIENTRYP APIENTRY *
87 typedef unsigned int GLenum
;
88 typedef unsigned char GLboolean
;
89 typedef unsigned int GLbitfield
;
90 typedef signed char GLbyte
;
91 typedef short GLshort
;
94 typedef unsigned char GLubyte
;
95 typedef unsigned short GLushort
;
96 typedef unsigned int GLuint
;
97 typedef unsigned short GLhalf
;
98 typedef float GLfloat
;
99 typedef float GLclampf
;
100 typedef double GLdouble
;
101 typedef double GLclampd
;
104 /*************************************************************/
106 #ifndef GL_VERSION_1_1
108 #define GL_DEPTH_BUFFER_BIT 0x00000100
109 #define GL_STENCIL_BUFFER_BIT 0x00000400
110 #define GL_COLOR_BUFFER_BIT 0x00004000
115 #define GL_POINTS 0x0000
116 #define GL_LINES 0x0001
117 #define GL_LINE_LOOP 0x0002
118 #define GL_LINE_STRIP 0x0003
119 #define GL_TRIANGLES 0x0004
120 #define GL_TRIANGLE_STRIP 0x0005
121 #define GL_TRIANGLE_FAN 0x0006
123 #define GL_NEVER 0x0200
124 #define GL_LESS 0x0201
125 #define GL_EQUAL 0x0202
126 #define GL_LEQUAL 0x0203
127 #define GL_GREATER 0x0204
128 #define GL_NOTEQUAL 0x0205
129 #define GL_GEQUAL 0x0206
130 #define GL_ALWAYS 0x0207
131 /* BlendingFactorDest */
134 #define GL_SRC_COLOR 0x0300
135 #define GL_ONE_MINUS_SRC_COLOR 0x0301
136 #define GL_SRC_ALPHA 0x0302
137 #define GL_ONE_MINUS_SRC_ALPHA 0x0303
138 #define GL_DST_ALPHA 0x0304
139 #define GL_ONE_MINUS_DST_ALPHA 0x0305
140 /* BlendingFactorSrc */
141 #define GL_DST_COLOR 0x0306
142 #define GL_ONE_MINUS_DST_COLOR 0x0307
143 #define GL_SRC_ALPHA_SATURATE 0x0308
146 #define GL_FRONT_LEFT 0x0400
147 #define GL_FRONT_RIGHT 0x0401
148 #define GL_BACK_LEFT 0x0402
149 #define GL_BACK_RIGHT 0x0403
150 #define GL_FRONT 0x0404
151 #define GL_BACK 0x0405
152 #define GL_LEFT 0x0406
153 #define GL_RIGHT 0x0407
154 #define GL_FRONT_AND_BACK 0x0408
156 #define GL_NO_ERROR 0
157 #define GL_INVALID_ENUM 0x0500
158 #define GL_INVALID_VALUE 0x0501
159 #define GL_INVALID_OPERATION 0x0502
160 #define GL_OUT_OF_MEMORY 0x0505
161 /* FrontFaceDirection */
163 #define GL_CCW 0x0901
165 #define GL_POINT_SIZE 0x0B11
166 #define GL_POINT_SIZE_RANGE 0x0B12
167 #define GL_POINT_SIZE_GRANULARITY 0x0B13
168 #define GL_LINE_SMOOTH 0x0B20
169 #define GL_LINE_WIDTH 0x0B21
170 #define GL_LINE_WIDTH_RANGE 0x0B22
171 #define GL_LINE_WIDTH_GRANULARITY 0x0B23
172 #define GL_POLYGON_SMOOTH 0x0B41
173 #define GL_CULL_FACE 0x0B44
174 #define GL_CULL_FACE_MODE 0x0B45
175 #define GL_FRONT_FACE 0x0B46
176 #define GL_DEPTH_RANGE 0x0B70
177 #define GL_DEPTH_TEST 0x0B71
178 #define GL_DEPTH_WRITEMASK 0x0B72
179 #define GL_DEPTH_CLEAR_VALUE 0x0B73
180 #define GL_DEPTH_FUNC 0x0B74
181 #define GL_STENCIL_TEST 0x0B90
182 #define GL_STENCIL_CLEAR_VALUE 0x0B91
183 #define GL_STENCIL_FUNC 0x0B92
184 #define GL_STENCIL_VALUE_MASK 0x0B93
185 #define GL_STENCIL_FAIL 0x0B94
186 #define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
187 #define GL_STENCIL_PASS_DEPTH_PASS 0x0B96
188 #define GL_STENCIL_REF 0x0B97
189 #define GL_STENCIL_WRITEMASK 0x0B98
190 #define GL_VIEWPORT 0x0BA2
191 #define GL_DITHER 0x0BD0
192 #define GL_BLEND_DST 0x0BE0
193 #define GL_BLEND_SRC 0x0BE1
194 #define GL_BLEND 0x0BE2
195 #define GL_LOGIC_OP_MODE 0x0BF0
196 #define GL_COLOR_LOGIC_OP 0x0BF2
197 #define GL_DRAW_BUFFER 0x0C01
198 #define GL_READ_BUFFER 0x0C02
199 #define GL_SCISSOR_BOX 0x0C10
200 #define GL_SCISSOR_TEST 0x0C11
201 #define GL_COLOR_CLEAR_VALUE 0x0C22
202 #define GL_COLOR_WRITEMASK 0x0C23
203 #define GL_DOUBLEBUFFER 0x0C32
204 #define GL_STEREO 0x0C33
205 #define GL_LINE_SMOOTH_HINT 0x0C52
206 #define GL_POLYGON_SMOOTH_HINT 0x0C53
207 #define GL_UNPACK_SWAP_BYTES 0x0CF0
208 #define GL_UNPACK_LSB_FIRST 0x0CF1
209 #define GL_UNPACK_ROW_LENGTH 0x0CF2
210 #define GL_UNPACK_SKIP_ROWS 0x0CF3
211 #define GL_UNPACK_SKIP_PIXELS 0x0CF4
212 #define GL_UNPACK_ALIGNMENT 0x0CF5
213 #define GL_PACK_SWAP_BYTES 0x0D00
214 #define GL_PACK_LSB_FIRST 0x0D01
215 #define GL_PACK_ROW_LENGTH 0x0D02
216 #define GL_PACK_SKIP_ROWS 0x0D03
217 #define GL_PACK_SKIP_PIXELS 0x0D04
218 #define GL_PACK_ALIGNMENT 0x0D05
219 #define GL_MAX_TEXTURE_SIZE 0x0D33
220 #define GL_MAX_VIEWPORT_DIMS 0x0D3A
221 #define GL_SUBPIXEL_BITS 0x0D50
222 #define GL_TEXTURE_1D 0x0DE0
223 #define GL_TEXTURE_2D 0x0DE1
224 #define GL_POLYGON_OFFSET_UNITS 0x2A00
225 #define GL_POLYGON_OFFSET_POINT 0x2A01
226 #define GL_POLYGON_OFFSET_LINE 0x2A02
227 #define GL_POLYGON_OFFSET_FILL 0x8037
228 #define GL_POLYGON_OFFSET_FACTOR 0x8038
229 #define GL_TEXTURE_BINDING_1D 0x8068
230 #define GL_TEXTURE_BINDING_2D 0x8069
231 /* GetTextureParameter */
232 #define GL_TEXTURE_WIDTH 0x1000
233 #define GL_TEXTURE_HEIGHT 0x1001
234 #define GL_TEXTURE_INTERNAL_FORMAT 0x1003
235 #define GL_TEXTURE_BORDER_COLOR 0x1004
236 #define GL_TEXTURE_RED_SIZE 0x805C
237 #define GL_TEXTURE_GREEN_SIZE 0x805D
238 #define GL_TEXTURE_BLUE_SIZE 0x805E
239 #define GL_TEXTURE_ALPHA_SIZE 0x805F
241 #define GL_DONT_CARE 0x1100
242 #define GL_FASTEST 0x1101
243 #define GL_NICEST 0x1102
245 #define GL_BYTE 0x1400
246 #define GL_UNSIGNED_BYTE 0x1401
247 #define GL_SHORT 0x1402
248 #define GL_UNSIGNED_SHORT 0x1403
249 #define GL_INT 0x1404
250 #define GL_UNSIGNED_INT 0x1405
251 #define GL_FLOAT 0x1406
252 #define GL_DOUBLE 0x140A
254 #define GL_CLEAR 0x1500
255 #define GL_AND 0x1501
256 #define GL_AND_REVERSE 0x1502
257 #define GL_COPY 0x1503
258 #define GL_AND_INVERTED 0x1504
259 #define GL_NOOP 0x1505
260 #define GL_XOR 0x1506
262 #define GL_NOR 0x1508
263 #define GL_EQUIV 0x1509
264 #define GL_INVERT 0x150A
265 #define GL_OR_REVERSE 0x150B
266 #define GL_COPY_INVERTED 0x150C
267 #define GL_OR_INVERTED 0x150D
268 #define GL_NAND 0x150E
269 #define GL_SET 0x150F
270 /* MatrixMode (for gl3.h, FBO attachment type) */
271 #define GL_TEXTURE 0x1702
273 #define GL_COLOR 0x1800
274 #define GL_DEPTH 0x1801
275 #define GL_STENCIL 0x1802
277 #define GL_STENCIL_INDEX 0x1901
278 #define GL_DEPTH_COMPONENT 0x1902
279 #define GL_RED 0x1903
280 #define GL_GREEN 0x1904
281 #define GL_BLUE 0x1905
282 #define GL_ALPHA 0x1906
283 #define GL_RGB 0x1907
284 #define GL_RGBA 0x1908
286 #define GL_POINT 0x1B00
287 #define GL_LINE 0x1B01
288 #define GL_FILL 0x1B02
290 #define GL_KEEP 0x1E00
291 #define GL_REPLACE 0x1E01
292 #define GL_INCR 0x1E02
293 #define GL_DECR 0x1E03
295 #define GL_VENDOR 0x1F00
296 #define GL_RENDERER 0x1F01
297 #define GL_VERSION 0x1F02
298 #define GL_EXTENSIONS 0x1F03
299 /* TextureMagFilter */
300 #define GL_NEAREST 0x2600
301 #define GL_LINEAR 0x2601
302 /* TextureMinFilter */
303 #define GL_NEAREST_MIPMAP_NEAREST 0x2700
304 #define GL_LINEAR_MIPMAP_NEAREST 0x2701
305 #define GL_NEAREST_MIPMAP_LINEAR 0x2702
306 #define GL_LINEAR_MIPMAP_LINEAR 0x2703
307 /* TextureParameterName */
308 #define GL_TEXTURE_MAG_FILTER 0x2800
309 #define GL_TEXTURE_MIN_FILTER 0x2801
310 #define GL_TEXTURE_WRAP_S 0x2802
311 #define GL_TEXTURE_WRAP_T 0x2803
313 #define GL_PROXY_TEXTURE_1D 0x8063
314 #define GL_PROXY_TEXTURE_2D 0x8064
315 /* TextureWrapMode */
316 #define GL_REPEAT 0x2901
317 /* PixelInternalFormat */
318 #define GL_R3_G3_B2 0x2A10
319 #define GL_RGB4 0x804F
320 #define GL_RGB5 0x8050
321 #define GL_RGB8 0x8051
322 #define GL_RGB10 0x8052
323 #define GL_RGB12 0x8053
324 #define GL_RGB16 0x8054
325 #define GL_RGBA2 0x8055
326 #define GL_RGBA4 0x8056
327 #define GL_RGB5_A1 0x8057
328 #define GL_RGBA8 0x8058
329 #define GL_RGB10_A2 0x8059
330 #define GL_RGBA12 0x805A
331 #define GL_RGBA16 0x805B
334 #ifndef GL_VERSION_1_2
335 #define GL_UNSIGNED_BYTE_3_3_2 0x8032
336 #define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
337 #define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
338 #define GL_UNSIGNED_INT_8_8_8_8 0x8035
339 #define GL_UNSIGNED_INT_10_10_10_2 0x8036
340 #define GL_TEXTURE_BINDING_3D 0x806A
341 #define GL_PACK_SKIP_IMAGES 0x806B
342 #define GL_PACK_IMAGE_HEIGHT 0x806C
343 #define GL_UNPACK_SKIP_IMAGES 0x806D
344 #define GL_UNPACK_IMAGE_HEIGHT 0x806E
345 #define GL_TEXTURE_3D 0x806F
346 #define GL_PROXY_TEXTURE_3D 0x8070
347 #define GL_TEXTURE_DEPTH 0x8071
348 #define GL_TEXTURE_WRAP_R 0x8072
349 #define GL_MAX_3D_TEXTURE_SIZE 0x8073
350 #define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362
351 #define GL_UNSIGNED_SHORT_5_6_5 0x8363
352 #define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364
353 #define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365
354 #define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366
355 #define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367
356 #define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
357 #define GL_BGR 0x80E0
358 #define GL_BGRA 0x80E1
359 #define GL_MAX_ELEMENTS_VERTICES 0x80E8
360 #define GL_MAX_ELEMENTS_INDICES 0x80E9
361 #define GL_CLAMP_TO_EDGE 0x812F
362 #define GL_TEXTURE_MIN_LOD 0x813A
363 #define GL_TEXTURE_MAX_LOD 0x813B
364 #define GL_TEXTURE_BASE_LEVEL 0x813C
365 #define GL_TEXTURE_MAX_LEVEL 0x813D
366 #define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12
367 #define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13
368 #define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22
369 #define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23
370 #define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
373 #ifndef GL_ARB_imaging
374 #define GL_CONSTANT_COLOR 0x8001
375 #define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
376 #define GL_CONSTANT_ALPHA 0x8003
377 #define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
378 #define GL_BLEND_COLOR 0x8005
379 #define GL_FUNC_ADD 0x8006
380 #define GL_MIN 0x8007
381 #define GL_MAX 0x8008
382 #define GL_BLEND_EQUATION 0x8009
383 #define GL_FUNC_SUBTRACT 0x800A
384 #define GL_FUNC_REVERSE_SUBTRACT 0x800B
387 #ifndef GL_VERSION_1_3
388 #define GL_TEXTURE0 0x84C0
389 #define GL_TEXTURE1 0x84C1
390 #define GL_TEXTURE2 0x84C2
391 #define GL_TEXTURE3 0x84C3
392 #define GL_TEXTURE4 0x84C4
393 #define GL_TEXTURE5 0x84C5
394 #define GL_TEXTURE6 0x84C6
395 #define GL_TEXTURE7 0x84C7
396 #define GL_TEXTURE8 0x84C8
397 #define GL_TEXTURE9 0x84C9
398 #define GL_TEXTURE10 0x84CA
399 #define GL_TEXTURE11 0x84CB
400 #define GL_TEXTURE12 0x84CC
401 #define GL_TEXTURE13 0x84CD
402 #define GL_TEXTURE14 0x84CE
403 #define GL_TEXTURE15 0x84CF
404 #define GL_TEXTURE16 0x84D0
405 #define GL_TEXTURE17 0x84D1
406 #define GL_TEXTURE18 0x84D2
407 #define GL_TEXTURE19 0x84D3
408 #define GL_TEXTURE20 0x84D4
409 #define GL_TEXTURE21 0x84D5
410 #define GL_TEXTURE22 0x84D6
411 #define GL_TEXTURE23 0x84D7
412 #define GL_TEXTURE24 0x84D8
413 #define GL_TEXTURE25 0x84D9
414 #define GL_TEXTURE26 0x84DA
415 #define GL_TEXTURE27 0x84DB
416 #define GL_TEXTURE28 0x84DC
417 #define GL_TEXTURE29 0x84DD
418 #define GL_TEXTURE30 0x84DE
419 #define GL_TEXTURE31 0x84DF
420 #define GL_ACTIVE_TEXTURE 0x84E0
421 #define GL_MULTISAMPLE 0x809D
422 #define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
423 #define GL_SAMPLE_ALPHA_TO_ONE 0x809F
424 #define GL_SAMPLE_COVERAGE 0x80A0
425 #define GL_SAMPLE_BUFFERS 0x80A8
426 #define GL_SAMPLES 0x80A9
427 #define GL_SAMPLE_COVERAGE_VALUE 0x80AA
428 #define GL_SAMPLE_COVERAGE_INVERT 0x80AB
429 #define GL_TEXTURE_CUBE_MAP 0x8513
430 #define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
431 #define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
432 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
433 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
434 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
435 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
436 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
437 #define GL_PROXY_TEXTURE_CUBE_MAP 0x851B
438 #define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
439 #define GL_COMPRESSED_RGB 0x84ED
440 #define GL_COMPRESSED_RGBA 0x84EE
441 #define GL_TEXTURE_COMPRESSION_HINT 0x84EF
442 #define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0
443 #define GL_TEXTURE_COMPRESSED 0x86A1
444 #define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
445 #define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
446 #define GL_CLAMP_TO_BORDER 0x812D
449 #ifndef GL_VERSION_1_4
450 #define GL_BLEND_DST_RGB 0x80C8
451 #define GL_BLEND_SRC_RGB 0x80C9
452 #define GL_BLEND_DST_ALPHA 0x80CA
453 #define GL_BLEND_SRC_ALPHA 0x80CB
454 #define GL_POINT_FADE_THRESHOLD_SIZE 0x8128
455 #define GL_DEPTH_COMPONENT16 0x81A5
456 #define GL_DEPTH_COMPONENT24 0x81A6
457 #define GL_DEPTH_COMPONENT32 0x81A7
458 #define GL_MIRRORED_REPEAT 0x8370
459 #define GL_MAX_TEXTURE_LOD_BIAS 0x84FD
460 #define GL_TEXTURE_LOD_BIAS 0x8501
461 #define GL_INCR_WRAP 0x8507
462 #define GL_DECR_WRAP 0x8508
463 #define GL_TEXTURE_DEPTH_SIZE 0x884A
464 #define GL_TEXTURE_COMPARE_MODE 0x884C
465 #define GL_TEXTURE_COMPARE_FUNC 0x884D
468 #ifndef GL_VERSION_1_5
469 #define GL_BUFFER_SIZE 0x8764
470 #define GL_BUFFER_USAGE 0x8765
471 #define GL_QUERY_COUNTER_BITS 0x8864
472 #define GL_CURRENT_QUERY 0x8865
473 #define GL_QUERY_RESULT 0x8866
474 #define GL_QUERY_RESULT_AVAILABLE 0x8867
475 #define GL_ARRAY_BUFFER 0x8892
476 #define GL_ELEMENT_ARRAY_BUFFER 0x8893
477 #define GL_ARRAY_BUFFER_BINDING 0x8894
478 #define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
479 #define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
480 #define GL_READ_ONLY 0x88B8
481 #define GL_WRITE_ONLY 0x88B9
482 #define GL_READ_WRITE 0x88BA
483 #define GL_BUFFER_ACCESS 0x88BB
484 #define GL_BUFFER_MAPPED 0x88BC
485 #define GL_BUFFER_MAP_POINTER 0x88BD
486 #define GL_STREAM_DRAW 0x88E0
487 #define GL_STREAM_READ 0x88E1
488 #define GL_STREAM_COPY 0x88E2
489 #define GL_STATIC_DRAW 0x88E4
490 #define GL_STATIC_READ 0x88E5
491 #define GL_STATIC_COPY 0x88E6
492 #define GL_DYNAMIC_DRAW 0x88E8
493 #define GL_DYNAMIC_READ 0x88E9
494 #define GL_DYNAMIC_COPY 0x88EA
495 #define GL_SAMPLES_PASSED 0x8914
498 #ifndef GL_VERSION_2_0
499 #define GL_BLEND_EQUATION_RGB 0x8009
500 #define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622
501 #define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623
502 #define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624
503 #define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625
504 #define GL_CURRENT_VERTEX_ATTRIB 0x8626
505 #define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642
506 #define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645
507 #define GL_STENCIL_BACK_FUNC 0x8800
508 #define GL_STENCIL_BACK_FAIL 0x8801
509 #define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802
510 #define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803
511 #define GL_MAX_DRAW_BUFFERS 0x8824
512 #define GL_DRAW_BUFFER0 0x8825
513 #define GL_DRAW_BUFFER1 0x8826
514 #define GL_DRAW_BUFFER2 0x8827
515 #define GL_DRAW_BUFFER3 0x8828
516 #define GL_DRAW_BUFFER4 0x8829
517 #define GL_DRAW_BUFFER5 0x882A
518 #define GL_DRAW_BUFFER6 0x882B
519 #define GL_DRAW_BUFFER7 0x882C
520 #define GL_DRAW_BUFFER8 0x882D
521 #define GL_DRAW_BUFFER9 0x882E
522 #define GL_DRAW_BUFFER10 0x882F
523 #define GL_DRAW_BUFFER11 0x8830
524 #define GL_DRAW_BUFFER12 0x8831
525 #define GL_DRAW_BUFFER13 0x8832
526 #define GL_DRAW_BUFFER14 0x8833
527 #define GL_DRAW_BUFFER15 0x8834
528 #define GL_BLEND_EQUATION_ALPHA 0x883D
529 #define GL_MAX_VERTEX_ATTRIBS 0x8869
530 #define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A
531 #define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872
532 #define GL_FRAGMENT_SHADER 0x8B30
533 #define GL_VERTEX_SHADER 0x8B31
534 #define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49
535 #define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A
536 #define GL_MAX_VARYING_FLOATS 0x8B4B
537 #define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C
538 #define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
539 #define GL_SHADER_TYPE 0x8B4F
540 #define GL_FLOAT_VEC2 0x8B50
541 #define GL_FLOAT_VEC3 0x8B51
542 #define GL_FLOAT_VEC4 0x8B52
543 #define GL_INT_VEC2 0x8B53
544 #define GL_INT_VEC3 0x8B54
545 #define GL_INT_VEC4 0x8B55
546 #define GL_BOOL 0x8B56
547 #define GL_BOOL_VEC2 0x8B57
548 #define GL_BOOL_VEC3 0x8B58
549 #define GL_BOOL_VEC4 0x8B59
550 #define GL_FLOAT_MAT2 0x8B5A
551 #define GL_FLOAT_MAT3 0x8B5B
552 #define GL_FLOAT_MAT4 0x8B5C
553 #define GL_SAMPLER_1D 0x8B5D
554 #define GL_SAMPLER_2D 0x8B5E
555 #define GL_SAMPLER_3D 0x8B5F
556 #define GL_SAMPLER_CUBE 0x8B60
557 #define GL_SAMPLER_1D_SHADOW 0x8B61
558 #define GL_SAMPLER_2D_SHADOW 0x8B62
559 #define GL_DELETE_STATUS 0x8B80
560 #define GL_COMPILE_STATUS 0x8B81
561 #define GL_LINK_STATUS 0x8B82
562 #define GL_VALIDATE_STATUS 0x8B83
563 #define GL_INFO_LOG_LENGTH 0x8B84
564 #define GL_ATTACHED_SHADERS 0x8B85
565 #define GL_ACTIVE_UNIFORMS 0x8B86
566 #define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87
567 #define GL_SHADER_SOURCE_LENGTH 0x8B88
568 #define GL_ACTIVE_ATTRIBUTES 0x8B89
569 #define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A
570 #define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B
571 #define GL_SHADING_LANGUAGE_VERSION 0x8B8C
572 #define GL_CURRENT_PROGRAM 0x8B8D
573 #define GL_POINT_SPRITE_COORD_ORIGIN 0x8CA0
574 #define GL_LOWER_LEFT 0x8CA1
575 #define GL_UPPER_LEFT 0x8CA2
576 #define GL_STENCIL_BACK_REF 0x8CA3
577 #define GL_STENCIL_BACK_VALUE_MASK 0x8CA4
578 #define GL_STENCIL_BACK_WRITEMASK 0x8CA5
581 #ifndef GL_VERSION_2_1
582 #define GL_PIXEL_PACK_BUFFER 0x88EB
583 #define GL_PIXEL_UNPACK_BUFFER 0x88EC
584 #define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED
585 #define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF
586 #define GL_FLOAT_MAT2x3 0x8B65
587 #define GL_FLOAT_MAT2x4 0x8B66
588 #define GL_FLOAT_MAT3x2 0x8B67
589 #define GL_FLOAT_MAT3x4 0x8B68
590 #define GL_FLOAT_MAT4x2 0x8B69
591 #define GL_FLOAT_MAT4x3 0x8B6A
592 #define GL_SRGB 0x8C40
593 #define GL_SRGB8 0x8C41
594 #define GL_SRGB_ALPHA 0x8C42
595 #define GL_SRGB8_ALPHA8 0x8C43
596 #define GL_COMPRESSED_SRGB 0x8C48
597 #define GL_COMPRESSED_SRGB_ALPHA 0x8C49
600 #ifndef GL_VERSION_3_0
601 #define GL_COMPARE_REF_TO_TEXTURE 0x884E
602 #define GL_CLIP_DISTANCE0 0x3000
603 #define GL_CLIP_DISTANCE1 0x3001
604 #define GL_CLIP_DISTANCE2 0x3002
605 #define GL_CLIP_DISTANCE3 0x3003
606 #define GL_CLIP_DISTANCE4 0x3004
607 #define GL_CLIP_DISTANCE5 0x3005
608 #define GL_CLIP_DISTANCE6 0x3006
609 #define GL_CLIP_DISTANCE7 0x3007
610 #define GL_MAX_CLIP_DISTANCES 0x0D32
611 #define GL_MAJOR_VERSION 0x821B
612 #define GL_MINOR_VERSION 0x821C
613 #define GL_NUM_EXTENSIONS 0x821D
614 #define GL_CONTEXT_FLAGS 0x821E
615 #define GL_COMPRESSED_RED 0x8225
616 #define GL_COMPRESSED_RG 0x8226
617 #define GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT 0x0001
618 #define GL_RGBA32F 0x8814
619 #define GL_RGB32F 0x8815
620 #define GL_RGBA16F 0x881A
621 #define GL_RGB16F 0x881B
622 #define GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD
623 #define GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF
624 #define GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904
625 #define GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905
626 #define GL_CLAMP_READ_COLOR 0x891C
627 #define GL_FIXED_ONLY 0x891D
628 #define GL_MAX_VARYING_COMPONENTS 0x8B4B
629 #define GL_TEXTURE_1D_ARRAY 0x8C18
630 #define GL_PROXY_TEXTURE_1D_ARRAY 0x8C19
631 #define GL_TEXTURE_2D_ARRAY 0x8C1A
632 #define GL_PROXY_TEXTURE_2D_ARRAY 0x8C1B
633 #define GL_TEXTURE_BINDING_1D_ARRAY 0x8C1C
634 #define GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D
635 #define GL_R11F_G11F_B10F 0x8C3A
636 #define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B
637 #define GL_RGB9_E5 0x8C3D
638 #define GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E
639 #define GL_TEXTURE_SHARED_SIZE 0x8C3F
640 #define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76
641 #define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F
642 #define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80
643 #define GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83
644 #define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84
645 #define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85
646 #define GL_PRIMITIVES_GENERATED 0x8C87
647 #define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88
648 #define GL_RASTERIZER_DISCARD 0x8C89
649 #define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A
650 #define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B
651 #define GL_INTERLEAVED_ATTRIBS 0x8C8C
652 #define GL_SEPARATE_ATTRIBS 0x8C8D
653 #define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E
654 #define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F
655 #define GL_RGBA32UI 0x8D70
656 #define GL_RGB32UI 0x8D71
657 #define GL_RGBA16UI 0x8D76
658 #define GL_RGB16UI 0x8D77
659 #define GL_RGBA8UI 0x8D7C
660 #define GL_RGB8UI 0x8D7D
661 #define GL_RGBA32I 0x8D82
662 #define GL_RGB32I 0x8D83
663 #define GL_RGBA16I 0x8D88
664 #define GL_RGB16I 0x8D89
665 #define GL_RGBA8I 0x8D8E
666 #define GL_RGB8I 0x8D8F
667 #define GL_RED_INTEGER 0x8D94
668 #define GL_GREEN_INTEGER 0x8D95
669 #define GL_BLUE_INTEGER 0x8D96
670 #define GL_RGB_INTEGER 0x8D98
671 #define GL_RGBA_INTEGER 0x8D99
672 #define GL_BGR_INTEGER 0x8D9A
673 #define GL_BGRA_INTEGER 0x8D9B
674 #define GL_SAMPLER_1D_ARRAY 0x8DC0
675 #define GL_SAMPLER_2D_ARRAY 0x8DC1
676 #define GL_SAMPLER_1D_ARRAY_SHADOW 0x8DC3
677 #define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4
678 #define GL_SAMPLER_CUBE_SHADOW 0x8DC5
679 #define GL_UNSIGNED_INT_VEC2 0x8DC6
680 #define GL_UNSIGNED_INT_VEC3 0x8DC7
681 #define GL_UNSIGNED_INT_VEC4 0x8DC8
682 #define GL_INT_SAMPLER_1D 0x8DC9
683 #define GL_INT_SAMPLER_2D 0x8DCA
684 #define GL_INT_SAMPLER_3D 0x8DCB
685 #define GL_INT_SAMPLER_CUBE 0x8DCC
686 #define GL_INT_SAMPLER_1D_ARRAY 0x8DCE
687 #define GL_INT_SAMPLER_2D_ARRAY 0x8DCF
688 #define GL_UNSIGNED_INT_SAMPLER_1D 0x8DD1
689 #define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2
690 #define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3
691 #define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4
692 #define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY 0x8DD6
693 #define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7
694 #define GL_QUERY_WAIT 0x8E13
695 #define GL_QUERY_NO_WAIT 0x8E14
696 #define GL_QUERY_BY_REGION_WAIT 0x8E15
697 #define GL_QUERY_BY_REGION_NO_WAIT 0x8E16
698 #define GL_BUFFER_ACCESS_FLAGS 0x911F
699 #define GL_BUFFER_MAP_LENGTH 0x9120
700 #define GL_BUFFER_MAP_OFFSET 0x9121
701 /* Reuse tokens from ARB_depth_buffer_float */
702 /* reuse GL_DEPTH_COMPONENT32F */
703 /* reuse GL_DEPTH32F_STENCIL8 */
704 /* reuse GL_FLOAT_32_UNSIGNED_INT_24_8_REV */
705 /* Reuse tokens from ARB_framebuffer_object */
706 /* reuse GL_INVALID_FRAMEBUFFER_OPERATION */
707 /* reuse GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING */
708 /* reuse GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE */
709 /* reuse GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE */
710 /* reuse GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE */
711 /* reuse GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE */
712 /* reuse GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE */
713 /* reuse GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE */
714 /* reuse GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE */
715 /* reuse GL_FRAMEBUFFER_DEFAULT */
716 /* reuse GL_FRAMEBUFFER_UNDEFINED */
717 /* reuse GL_DEPTH_STENCIL_ATTACHMENT */
719 /* reuse GL_MAX_RENDERBUFFER_SIZE */
720 /* reuse GL_DEPTH_STENCIL */
721 /* reuse GL_UNSIGNED_INT_24_8 */
722 /* reuse GL_DEPTH24_STENCIL8 */
723 /* reuse GL_TEXTURE_STENCIL_SIZE */
724 /* reuse GL_TEXTURE_RED_TYPE */
725 /* reuse GL_TEXTURE_GREEN_TYPE */
726 /* reuse GL_TEXTURE_BLUE_TYPE */
727 /* reuse GL_TEXTURE_ALPHA_TYPE */
728 /* reuse GL_TEXTURE_DEPTH_TYPE */
729 /* reuse GL_UNSIGNED_NORMALIZED */
730 /* reuse GL_FRAMEBUFFER_BINDING */
731 /* reuse GL_DRAW_FRAMEBUFFER_BINDING */
732 /* reuse GL_RENDERBUFFER_BINDING */
733 /* reuse GL_READ_FRAMEBUFFER */
734 /* reuse GL_DRAW_FRAMEBUFFER */
735 /* reuse GL_READ_FRAMEBUFFER_BINDING */
736 /* reuse GL_RENDERBUFFER_SAMPLES */
737 /* reuse GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE */
738 /* reuse GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME */
739 /* reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL */
740 /* reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE */
741 /* reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */
742 /* reuse GL_FRAMEBUFFER_COMPLETE */
743 /* reuse GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT */
744 /* reuse GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT */
745 /* reuse GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER */
746 /* reuse GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER */
747 /* reuse GL_FRAMEBUFFER_UNSUPPORTED */
748 /* reuse GL_MAX_COLOR_ATTACHMENTS */
749 /* reuse GL_COLOR_ATTACHMENT0 */
750 /* reuse GL_COLOR_ATTACHMENT1 */
751 /* reuse GL_COLOR_ATTACHMENT2 */
752 /* reuse GL_COLOR_ATTACHMENT3 */
753 /* reuse GL_COLOR_ATTACHMENT4 */
754 /* reuse GL_COLOR_ATTACHMENT5 */
755 /* reuse GL_COLOR_ATTACHMENT6 */
756 /* reuse GL_COLOR_ATTACHMENT7 */
757 /* reuse GL_COLOR_ATTACHMENT8 */
758 /* reuse GL_COLOR_ATTACHMENT9 */
759 /* reuse GL_COLOR_ATTACHMENT10 */
760 /* reuse GL_COLOR_ATTACHMENT11 */
761 /* reuse GL_COLOR_ATTACHMENT12 */
762 /* reuse GL_COLOR_ATTACHMENT13 */
763 /* reuse GL_COLOR_ATTACHMENT14 */
764 /* reuse GL_COLOR_ATTACHMENT15 */
765 /* reuse GL_DEPTH_ATTACHMENT */
766 /* reuse GL_STENCIL_ATTACHMENT */
767 /* reuse GL_FRAMEBUFFER */
768 /* reuse GL_RENDERBUFFER */
769 /* reuse GL_RENDERBUFFER_WIDTH */
770 /* reuse GL_RENDERBUFFER_HEIGHT */
771 /* reuse GL_RENDERBUFFER_INTERNAL_FORMAT */
772 /* reuse GL_STENCIL_INDEX1 */
773 /* reuse GL_STENCIL_INDEX4 */
774 /* reuse GL_STENCIL_INDEX8 */
775 /* reuse GL_STENCIL_INDEX16 */
776 /* reuse GL_RENDERBUFFER_RED_SIZE */
777 /* reuse GL_RENDERBUFFER_GREEN_SIZE */
778 /* reuse GL_RENDERBUFFER_BLUE_SIZE */
779 /* reuse GL_RENDERBUFFER_ALPHA_SIZE */
780 /* reuse GL_RENDERBUFFER_DEPTH_SIZE */
781 /* reuse GL_RENDERBUFFER_STENCIL_SIZE */
782 /* reuse GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE */
783 /* reuse GL_MAX_SAMPLES */
784 /* Reuse tokens from ARB_framebuffer_sRGB */
785 /* reuse GL_FRAMEBUFFER_SRGB */
786 /* Reuse tokens from ARB_half_float_vertex */
787 /* reuse GL_HALF_FLOAT */
788 /* Reuse tokens from ARB_map_buffer_range */
789 /* reuse GL_MAP_READ_BIT */
790 /* reuse GL_MAP_WRITE_BIT */
791 /* reuse GL_MAP_INVALIDATE_RANGE_BIT */
792 /* reuse GL_MAP_INVALIDATE_BUFFER_BIT */
793 /* reuse GL_MAP_FLUSH_EXPLICIT_BIT */
794 /* reuse GL_MAP_UNSYNCHRONIZED_BIT */
795 /* Reuse tokens from ARB_texture_compression_rgtc */
796 /* reuse GL_COMPRESSED_RED_RGTC1 */
797 /* reuse GL_COMPRESSED_SIGNED_RED_RGTC1 */
798 /* reuse GL_COMPRESSED_RG_RGTC2 */
799 /* reuse GL_COMPRESSED_SIGNED_RG_RGTC2 */
800 /* Reuse tokens from ARB_texture_rg */
802 /* reuse GL_RG_INTEGER */
820 /* reuse GL_RG16UI */
822 /* reuse GL_RG32UI */
823 /* Reuse tokens from ARB_vertex_array_object */
824 /* reuse GL_VERTEX_ARRAY_BINDING */
827 #ifndef GL_VERSION_3_1
828 #define GL_SAMPLER_2D_RECT 0x8B63
829 #define GL_SAMPLER_2D_RECT_SHADOW 0x8B64
830 #define GL_SAMPLER_BUFFER 0x8DC2
831 #define GL_INT_SAMPLER_2D_RECT 0x8DCD
832 #define GL_INT_SAMPLER_BUFFER 0x8DD0
833 #define GL_UNSIGNED_INT_SAMPLER_2D_RECT 0x8DD5
834 #define GL_UNSIGNED_INT_SAMPLER_BUFFER 0x8DD8
835 #define GL_TEXTURE_BUFFER 0x8C2A
836 #define GL_MAX_TEXTURE_BUFFER_SIZE 0x8C2B
837 #define GL_TEXTURE_BINDING_BUFFER 0x8C2C
838 #define GL_TEXTURE_BUFFER_DATA_STORE_BINDING 0x8C2D
839 #define GL_TEXTURE_BUFFER_FORMAT 0x8C2E
840 #define GL_TEXTURE_RECTANGLE 0x84F5
841 #define GL_TEXTURE_BINDING_RECTANGLE 0x84F6
842 #define GL_PROXY_TEXTURE_RECTANGLE 0x84F7
843 #define GL_MAX_RECTANGLE_TEXTURE_SIZE 0x84F8
844 #define GL_RED_SNORM 0x8F90
845 #define GL_RG_SNORM 0x8F91
846 #define GL_RGB_SNORM 0x8F92
847 #define GL_RGBA_SNORM 0x8F93
848 #define GL_R8_SNORM 0x8F94
849 #define GL_RG8_SNORM 0x8F95
850 #define GL_RGB8_SNORM 0x8F96
851 #define GL_RGBA8_SNORM 0x8F97
852 #define GL_R16_SNORM 0x8F98
853 #define GL_RG16_SNORM 0x8F99
854 #define GL_RGB16_SNORM 0x8F9A
855 #define GL_RGBA16_SNORM 0x8F9B
856 #define GL_SIGNED_NORMALIZED 0x8F9C
857 #define GL_PRIMITIVE_RESTART 0x8F9D
858 #define GL_PRIMITIVE_RESTART_INDEX 0x8F9E
859 /* Reuse tokens from ARB_copy_buffer */
860 /* reuse GL_COPY_READ_BUFFER */
861 /* reuse GL_COPY_WRITE_BUFFER */
862 /* Reuse tokens from ARB_draw_instanced (none) */
863 /* Reuse tokens from ARB_uniform_buffer_object */
864 /* reuse GL_UNIFORM_BUFFER */
865 /* reuse GL_UNIFORM_BUFFER_BINDING */
866 /* reuse GL_UNIFORM_BUFFER_START */
867 /* reuse GL_UNIFORM_BUFFER_SIZE */
868 /* reuse GL_MAX_VERTEX_UNIFORM_BLOCKS */
869 /* reuse GL_MAX_FRAGMENT_UNIFORM_BLOCKS */
870 /* reuse GL_MAX_COMBINED_UNIFORM_BLOCKS */
871 /* reuse GL_MAX_UNIFORM_BUFFER_BINDINGS */
872 /* reuse GL_MAX_UNIFORM_BLOCK_SIZE */
873 /* reuse GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS */
874 /* reuse GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS */
875 /* reuse GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT */
876 /* reuse GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */
877 /* reuse GL_ACTIVE_UNIFORM_BLOCKS */
878 /* reuse GL_UNIFORM_TYPE */
879 /* reuse GL_UNIFORM_SIZE */
880 /* reuse GL_UNIFORM_NAME_LENGTH */
881 /* reuse GL_UNIFORM_BLOCK_INDEX */
882 /* reuse GL_UNIFORM_OFFSET */
883 /* reuse GL_UNIFORM_ARRAY_STRIDE */
884 /* reuse GL_UNIFORM_MATRIX_STRIDE */
885 /* reuse GL_UNIFORM_IS_ROW_MAJOR */
886 /* reuse GL_UNIFORM_BLOCK_BINDING */
887 /* reuse GL_UNIFORM_BLOCK_DATA_SIZE */
888 /* reuse GL_UNIFORM_BLOCK_NAME_LENGTH */
889 /* reuse GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS */
890 /* reuse GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES */
891 /* reuse GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER */
892 /* reuse GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER */
893 /* reuse GL_INVALID_INDEX */
896 #ifndef GL_VERSION_3_2
897 #define GL_CONTEXT_CORE_PROFILE_BIT 0x00000001
898 #define GL_CONTEXT_COMPATIBILITY_PROFILE_BIT 0x00000002
899 #define GL_LINES_ADJACENCY 0x000A
900 #define GL_LINE_STRIP_ADJACENCY 0x000B
901 #define GL_TRIANGLES_ADJACENCY 0x000C
902 #define GL_TRIANGLE_STRIP_ADJACENCY 0x000D
903 #define GL_PROGRAM_POINT_SIZE 0x8642
904 #define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS 0x8C29
905 #define GL_FRAMEBUFFER_ATTACHMENT_LAYERED 0x8DA7
906 #define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS 0x8DA8
907 #define GL_GEOMETRY_SHADER 0x8DD9
908 #define GL_GEOMETRY_VERTICES_OUT 0x8916
909 #define GL_GEOMETRY_INPUT_TYPE 0x8917
910 #define GL_GEOMETRY_OUTPUT_TYPE 0x8918
911 #define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS 0x8DDF
912 #define GL_MAX_GEOMETRY_OUTPUT_VERTICES 0x8DE0
913 #define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS 0x8DE1
914 #define GL_MAX_VERTEX_OUTPUT_COMPONENTS 0x9122
915 #define GL_MAX_GEOMETRY_INPUT_COMPONENTS 0x9123
916 #define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS 0x9124
917 #define GL_MAX_FRAGMENT_INPUT_COMPONENTS 0x9125
918 #define GL_CONTEXT_PROFILE_MASK 0x9126
919 /* reuse GL_MAX_VARYING_COMPONENTS */
920 /* reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */
921 /* Reuse tokens from ARB_depth_clamp */
922 /* reuse GL_DEPTH_CLAMP */
923 /* Reuse tokens from ARB_draw_elements_base_vertex (none) */
924 /* Reuse tokens from ARB_fragment_coord_conventions (none) */
925 /* Reuse tokens from ARB_provoking_vertex */
926 /* reuse GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION */
927 /* reuse GL_FIRST_VERTEX_CONVENTION */
928 /* reuse GL_LAST_VERTEX_CONVENTION */
929 /* reuse GL_PROVOKING_VERTEX */
930 /* Reuse tokens from ARB_seamless_cube_map */
931 /* reuse GL_TEXTURE_CUBE_MAP_SEAMLESS */
932 /* Reuse tokens from ARB_sync */
933 /* reuse GL_MAX_SERVER_WAIT_TIMEOUT */
934 /* reuse GL_OBJECT_TYPE */
935 /* reuse GL_SYNC_CONDITION */
936 /* reuse GL_SYNC_STATUS */
937 /* reuse GL_SYNC_FLAGS */
938 /* reuse GL_SYNC_FENCE */
939 /* reuse GL_SYNC_GPU_COMMANDS_COMPLETE */
940 /* reuse GL_UNSIGNALED */
941 /* reuse GL_SIGNALED */
942 /* reuse GL_ALREADY_SIGNALED */
943 /* reuse GL_TIMEOUT_EXPIRED */
944 /* reuse GL_CONDITION_SATISFIED */
945 /* reuse GL_WAIT_FAILED */
946 /* reuse GL_TIMEOUT_IGNORED */
947 /* reuse GL_SYNC_FLUSH_COMMANDS_BIT */
948 /* reuse GL_TIMEOUT_IGNORED */
949 /* Reuse tokens from ARB_texture_multisample */
950 /* reuse GL_SAMPLE_POSITION */
951 /* reuse GL_SAMPLE_MASK */
952 /* reuse GL_SAMPLE_MASK_VALUE */
953 /* reuse GL_MAX_SAMPLE_MASK_WORDS */
954 /* reuse GL_TEXTURE_2D_MULTISAMPLE */
955 /* reuse GL_PROXY_TEXTURE_2D_MULTISAMPLE */
956 /* reuse GL_TEXTURE_2D_MULTISAMPLE_ARRAY */
957 /* reuse GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY */
958 /* reuse GL_TEXTURE_BINDING_2D_MULTISAMPLE */
959 /* reuse GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY */
960 /* reuse GL_TEXTURE_SAMPLES */
961 /* reuse GL_TEXTURE_FIXED_SAMPLE_LOCATIONS */
962 /* reuse GL_SAMPLER_2D_MULTISAMPLE */
963 /* reuse GL_INT_SAMPLER_2D_MULTISAMPLE */
964 /* reuse GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE */
965 /* reuse GL_SAMPLER_2D_MULTISAMPLE_ARRAY */
966 /* reuse GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY */
967 /* reuse GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY */
968 /* reuse GL_MAX_COLOR_TEXTURE_SAMPLES */
969 /* reuse GL_MAX_DEPTH_TEXTURE_SAMPLES */
970 /* reuse GL_MAX_INTEGER_SAMPLES */
971 /* Don't need to reuse tokens from ARB_vertex_array_bgra since they're already in 1.2 core */
974 #ifndef GL_VERSION_3_3
975 #define GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88FE
976 /* Reuse tokens from ARB_blend_func_extended */
977 /* reuse GL_SRC1_COLOR */
978 /* reuse GL_ONE_MINUS_SRC1_COLOR */
979 /* reuse GL_ONE_MINUS_SRC1_ALPHA */
980 /* reuse GL_MAX_DUAL_SOURCE_DRAW_BUFFERS */
981 /* Reuse tokens from ARB_explicit_attrib_location (none) */
982 /* Reuse tokens from ARB_occlusion_query2 */
983 /* reuse GL_ANY_SAMPLES_PASSED */
984 /* Reuse tokens from ARB_sampler_objects */
985 /* reuse GL_SAMPLER_BINDING */
986 /* Reuse tokens from ARB_shader_bit_encoding (none) */
987 /* Reuse tokens from ARB_texture_rgb10_a2ui */
988 /* reuse GL_RGB10_A2UI */
989 /* Reuse tokens from ARB_texture_swizzle */
990 /* reuse GL_TEXTURE_SWIZZLE_R */
991 /* reuse GL_TEXTURE_SWIZZLE_G */
992 /* reuse GL_TEXTURE_SWIZZLE_B */
993 /* reuse GL_TEXTURE_SWIZZLE_A */
994 /* reuse GL_TEXTURE_SWIZZLE_RGBA */
995 /* Reuse tokens from ARB_timer_query */
996 /* reuse GL_TIME_ELAPSED */
997 /* reuse GL_TIMESTAMP */
998 /* Reuse tokens from ARB_vertex_type_2_10_10_10_rev */
999 /* reuse GL_INT_2_10_10_10_REV */
1002 #ifndef GL_VERSION_4_0
1003 #define GL_SAMPLE_SHADING 0x8C36
1004 #define GL_MIN_SAMPLE_SHADING_VALUE 0x8C37
1005 #define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5E
1006 #define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5F
1007 #define GL_TEXTURE_CUBE_MAP_ARRAY 0x9009
1008 #define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY 0x900A
1009 #define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY 0x900B
1010 #define GL_SAMPLER_CUBE_MAP_ARRAY 0x900C
1011 #define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW 0x900D
1012 #define GL_INT_SAMPLER_CUBE_MAP_ARRAY 0x900E
1013 #define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY 0x900F
1014 /* Reuse tokens from ARB_texture_query_lod (none) */
1015 /* Reuse tokens from ARB_draw_buffers_blend (none) */
1016 /* Reuse tokens from ARB_draw_indirect */
1017 /* reuse GL_DRAW_INDIRECT_BUFFER */
1018 /* reuse GL_DRAW_INDIRECT_BUFFER_BINDING */
1019 /* Reuse tokens from ARB_gpu_shader5 */
1020 /* reuse GL_GEOMETRY_SHADER_INVOCATIONS */
1021 /* reuse GL_MAX_GEOMETRY_SHADER_INVOCATIONS */
1022 /* reuse GL_MIN_FRAGMENT_INTERPOLATION_OFFSET */
1023 /* reuse GL_MAX_FRAGMENT_INTERPOLATION_OFFSET */
1024 /* reuse GL_FRAGMENT_INTERPOLATION_OFFSET_BITS */
1025 /* reuse GL_MAX_VERTEX_STREAMS */
1026 /* Reuse tokens from ARB_gpu_shader_fp64 */
1027 /* reuse GL_DOUBLE_VEC2 */
1028 /* reuse GL_DOUBLE_VEC3 */
1029 /* reuse GL_DOUBLE_VEC4 */
1030 /* reuse GL_DOUBLE_MAT2 */
1031 /* reuse GL_DOUBLE_MAT3 */
1032 /* reuse GL_DOUBLE_MAT4 */
1033 /* reuse GL_DOUBLE_MAT2x3 */
1034 /* reuse GL_DOUBLE_MAT2x4 */
1035 /* reuse GL_DOUBLE_MAT3x2 */
1036 /* reuse GL_DOUBLE_MAT3x4 */
1037 /* reuse GL_DOUBLE_MAT4x2 */
1038 /* reuse GL_DOUBLE_MAT4x3 */
1039 /* Reuse tokens from ARB_shader_subroutine */
1040 /* reuse GL_ACTIVE_SUBROUTINES */
1041 /* reuse GL_ACTIVE_SUBROUTINE_UNIFORMS */
1042 /* reuse GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS */
1043 /* reuse GL_ACTIVE_SUBROUTINE_MAX_LENGTH */
1044 /* reuse GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH */
1045 /* reuse GL_MAX_SUBROUTINES */
1046 /* reuse GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS */
1047 /* reuse GL_NUM_COMPATIBLE_SUBROUTINES */
1048 /* reuse GL_COMPATIBLE_SUBROUTINES */
1049 /* Reuse tokens from ARB_tessellation_shader */
1050 /* reuse GL_PATCHES */
1051 /* reuse GL_PATCH_VERTICES */
1052 /* reuse GL_PATCH_DEFAULT_INNER_LEVEL */
1053 /* reuse GL_PATCH_DEFAULT_OUTER_LEVEL */
1054 /* reuse GL_TESS_CONTROL_OUTPUT_VERTICES */
1055 /* reuse GL_TESS_GEN_MODE */
1056 /* reuse GL_TESS_GEN_SPACING */
1057 /* reuse GL_TESS_GEN_VERTEX_ORDER */
1058 /* reuse GL_TESS_GEN_POINT_MODE */
1059 /* reuse GL_ISOLINES */
1060 /* reuse GL_FRACTIONAL_ODD */
1061 /* reuse GL_FRACTIONAL_EVEN */
1062 /* reuse GL_MAX_PATCH_VERTICES */
1063 /* reuse GL_MAX_TESS_GEN_LEVEL */
1064 /* reuse GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS */
1065 /* reuse GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS */
1066 /* reuse GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS */
1067 /* reuse GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS */
1068 /* reuse GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS */
1069 /* reuse GL_MAX_TESS_PATCH_COMPONENTS */
1070 /* reuse GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS */
1071 /* reuse GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS */
1072 /* reuse GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS */
1073 /* reuse GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS */
1074 /* reuse GL_MAX_TESS_CONTROL_INPUT_COMPONENTS */
1075 /* reuse GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS */
1076 /* reuse GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS */
1077 /* reuse GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS */
1078 /* reuse GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER */
1079 /* reuse GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER */
1080 /* reuse GL_TESS_EVALUATION_SHADER */
1081 /* reuse GL_TESS_CONTROL_SHADER */
1082 /* Reuse tokens from ARB_texture_buffer_object_rgb32 (none) */
1083 /* Reuse tokens from ARB_transform_feedback2 */
1084 /* reuse GL_TRANSFORM_FEEDBACK */
1085 /* reuse GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED */
1086 /* reuse GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE */
1087 /* reuse GL_TRANSFORM_FEEDBACK_BINDING */
1088 /* Reuse tokens from ARB_transform_feedback3 */
1089 /* reuse GL_MAX_TRANSFORM_FEEDBACK_BUFFERS */
1090 /* reuse GL_MAX_VERTEX_STREAMS */
1093 #ifndef GL_VERSION_4_1
1094 /* Reuse tokens from ARB_ES2_compatibility */
1095 /* reuse GL_FIXED */
1096 /* reuse GL_IMPLEMENTATION_COLOR_READ_TYPE */
1097 /* reuse GL_IMPLEMENTATION_COLOR_READ_FORMAT */
1098 /* reuse GL_LOW_FLOAT */
1099 /* reuse GL_MEDIUM_FLOAT */
1100 /* reuse GL_HIGH_FLOAT */
1101 /* reuse GL_LOW_INT */
1102 /* reuse GL_MEDIUM_INT */
1103 /* reuse GL_HIGH_INT */
1104 /* reuse GL_SHADER_COMPILER */
1105 /* reuse GL_NUM_SHADER_BINARY_FORMATS */
1106 /* reuse GL_MAX_VERTEX_UNIFORM_VECTORS */
1107 /* reuse GL_MAX_VARYING_VECTORS */
1108 /* reuse GL_MAX_FRAGMENT_UNIFORM_VECTORS */
1109 /* Reuse tokens from ARB_get_program_binary */
1110 /* reuse GL_PROGRAM_BINARY_RETRIEVABLE_HINT */
1111 /* reuse GL_PROGRAM_BINARY_LENGTH */
1112 /* reuse GL_NUM_PROGRAM_BINARY_FORMATS */
1113 /* reuse GL_PROGRAM_BINARY_FORMATS */
1114 /* Reuse tokens from ARB_separate_shader_objects */
1115 /* reuse GL_VERTEX_SHADER_BIT */
1116 /* reuse GL_FRAGMENT_SHADER_BIT */
1117 /* reuse GL_GEOMETRY_SHADER_BIT */
1118 /* reuse GL_TESS_CONTROL_SHADER_BIT */
1119 /* reuse GL_TESS_EVALUATION_SHADER_BIT */
1120 /* reuse GL_ALL_SHADER_BITS */
1121 /* reuse GL_PROGRAM_SEPARABLE */
1122 /* reuse GL_ACTIVE_PROGRAM */
1123 /* reuse GL_PROGRAM_PIPELINE_BINDING */
1124 /* Reuse tokens from ARB_shader_precision (none) */
1125 /* Reuse tokens from ARB_vertex_attrib_64bit - all are in GL 3.0 and 4.0 already */
1126 /* Reuse tokens from ARB_viewport_array - some are in GL 1.1 and ARB_provoking_vertex already */
1127 /* reuse GL_MAX_VIEWPORTS */
1128 /* reuse GL_VIEWPORT_SUBPIXEL_BITS */
1129 /* reuse GL_VIEWPORT_BOUNDS_RANGE */
1130 /* reuse GL_LAYER_PROVOKING_VERTEX */
1131 /* reuse GL_VIEWPORT_INDEX_PROVOKING_VERTEX */
1132 /* reuse GL_UNDEFINED_VERTEX */
1135 #ifndef GL_VERSION_4_2
1136 /* Reuse tokens from ARB_base_instance (none) */
1137 /* Reuse tokens from ARB_shading_language_420pack (none) */
1138 /* Reuse tokens from ARB_transform_feedback_instanced (none) */
1139 /* Reuse tokens from ARB_compressed_texture_pixel_storage */
1140 /* reuse GL_UNPACK_COMPRESSED_BLOCK_WIDTH */
1141 /* reuse GL_UNPACK_COMPRESSED_BLOCK_HEIGHT */
1142 /* reuse GL_UNPACK_COMPRESSED_BLOCK_DEPTH */
1143 /* reuse GL_UNPACK_COMPRESSED_BLOCK_SIZE */
1144 /* reuse GL_PACK_COMPRESSED_BLOCK_WIDTH */
1145 /* reuse GL_PACK_COMPRESSED_BLOCK_HEIGHT */
1146 /* reuse GL_PACK_COMPRESSED_BLOCK_DEPTH */
1147 /* reuse GL_PACK_COMPRESSED_BLOCK_SIZE */
1148 /* Reuse tokens from ARB_conservative_depth (none) */
1149 /* Reuse tokens from ARB_internalformat_query */
1150 /* reuse GL_NUM_SAMPLE_COUNTS */
1151 /* Reuse tokens from ARB_map_buffer_alignment */
1152 /* reuse GL_MIN_MAP_BUFFER_ALIGNMENT */
1153 /* Reuse tokens from ARB_shader_atomic_counters */
1154 /* reuse GL_ATOMIC_COUNTER_BUFFER */
1155 /* reuse GL_ATOMIC_COUNTER_BUFFER_BINDING */
1156 /* reuse GL_ATOMIC_COUNTER_BUFFER_START */
1157 /* reuse GL_ATOMIC_COUNTER_BUFFER_SIZE */
1158 /* reuse GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE */
1159 /* reuse GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS */
1160 /* reuse GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES */
1161 /* reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER */
1162 /* reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER */
1163 /* reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER */
1164 /* reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER */
1165 /* reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER */
1166 /* reuse GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS */
1167 /* reuse GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS */
1168 /* reuse GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS */
1169 /* reuse GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS */
1170 /* reuse GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS */
1171 /* reuse GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS */
1172 /* reuse GL_MAX_VERTEX_ATOMIC_COUNTERS */
1173 /* reuse GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS */
1174 /* reuse GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS */
1175 /* reuse GL_MAX_GEOMETRY_ATOMIC_COUNTERS */
1176 /* reuse GL_MAX_FRAGMENT_ATOMIC_COUNTERS */
1177 /* reuse GL_MAX_COMBINED_ATOMIC_COUNTERS */
1178 /* reuse GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE */
1179 /* reuse GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS */
1180 /* reuse GL_ACTIVE_ATOMIC_COUNTER_BUFFERS */
1181 /* reuse GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX */
1182 /* reuse GL_UNSIGNED_INT_ATOMIC_COUNTER */
1183 /* Reuse tokens from ARB_shader_image_load_store */
1184 /* reuse GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT */
1185 /* reuse GL_ELEMENT_ARRAY_BARRIER_BIT */
1186 /* reuse GL_UNIFORM_BARRIER_BIT */
1187 /* reuse GL_TEXTURE_FETCH_BARRIER_BIT */
1188 /* reuse GL_SHADER_IMAGE_ACCESS_BARRIER_BIT */
1189 /* reuse GL_COMMAND_BARRIER_BIT */
1190 /* reuse GL_PIXEL_BUFFER_BARRIER_BIT */
1191 /* reuse GL_TEXTURE_UPDATE_BARRIER_BIT */
1192 /* reuse GL_BUFFER_UPDATE_BARRIER_BIT */
1193 /* reuse GL_FRAMEBUFFER_BARRIER_BIT */
1194 /* reuse GL_TRANSFORM_FEEDBACK_BARRIER_BIT */
1195 /* reuse GL_ATOMIC_COUNTER_BARRIER_BIT */
1196 /* reuse GL_ALL_BARRIER_BITS */
1197 /* reuse GL_MAX_IMAGE_UNITS */
1198 /* reuse GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS */
1199 /* reuse GL_IMAGE_BINDING_NAME */
1200 /* reuse GL_IMAGE_BINDING_LEVEL */
1201 /* reuse GL_IMAGE_BINDING_LAYERED */
1202 /* reuse GL_IMAGE_BINDING_LAYER */
1203 /* reuse GL_IMAGE_BINDING_ACCESS */
1204 /* reuse GL_IMAGE_1D */
1205 /* reuse GL_IMAGE_2D */
1206 /* reuse GL_IMAGE_3D */
1207 /* reuse GL_IMAGE_2D_RECT */
1208 /* reuse GL_IMAGE_CUBE */
1209 /* reuse GL_IMAGE_BUFFER */
1210 /* reuse GL_IMAGE_1D_ARRAY */
1211 /* reuse GL_IMAGE_2D_ARRAY */
1212 /* reuse GL_IMAGE_CUBE_MAP_ARRAY */
1213 /* reuse GL_IMAGE_2D_MULTISAMPLE */
1214 /* reuse GL_IMAGE_2D_MULTISAMPLE_ARRAY */
1215 /* reuse GL_INT_IMAGE_1D */
1216 /* reuse GL_INT_IMAGE_2D */
1217 /* reuse GL_INT_IMAGE_3D */
1218 /* reuse GL_INT_IMAGE_2D_RECT */
1219 /* reuse GL_INT_IMAGE_CUBE */
1220 /* reuse GL_INT_IMAGE_BUFFER */
1221 /* reuse GL_INT_IMAGE_1D_ARRAY */
1222 /* reuse GL_INT_IMAGE_2D_ARRAY */
1223 /* reuse GL_INT_IMAGE_CUBE_MAP_ARRAY */
1224 /* reuse GL_INT_IMAGE_2D_MULTISAMPLE */
1225 /* reuse GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY */
1226 /* reuse GL_UNSIGNED_INT_IMAGE_1D */
1227 /* reuse GL_UNSIGNED_INT_IMAGE_2D */
1228 /* reuse GL_UNSIGNED_INT_IMAGE_3D */
1229 /* reuse GL_UNSIGNED_INT_IMAGE_2D_RECT */
1230 /* reuse GL_UNSIGNED_INT_IMAGE_CUBE */
1231 /* reuse GL_UNSIGNED_INT_IMAGE_BUFFER */
1232 /* reuse GL_UNSIGNED_INT_IMAGE_1D_ARRAY */
1233 /* reuse GL_UNSIGNED_INT_IMAGE_2D_ARRAY */
1234 /* reuse GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY */
1235 /* reuse GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE */
1236 /* reuse GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY */
1237 /* reuse GL_MAX_IMAGE_SAMPLES */
1238 /* reuse GL_IMAGE_BINDING_FORMAT */
1239 /* reuse GL_IMAGE_FORMAT_COMPATIBILITY_TYPE */
1240 /* reuse GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE */
1241 /* reuse GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS */
1242 /* reuse GL_MAX_VERTEX_IMAGE_UNIFORMS */
1243 /* reuse GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS */
1244 /* reuse GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS */
1245 /* reuse GL_MAX_GEOMETRY_IMAGE_UNIFORMS */
1246 /* reuse GL_MAX_FRAGMENT_IMAGE_UNIFORMS */
1247 /* reuse GL_MAX_COMBINED_IMAGE_UNIFORMS */
1248 /* Reuse tokens from ARB_shading_language_packing (none) */
1249 /* Reuse tokens from ARB_texture_storage */
1250 /* reuse GL_TEXTURE_IMMUTABLE_FORMAT */
1253 #ifndef GL_ARB_depth_buffer_float
1254 #define GL_DEPTH_COMPONENT32F 0x8CAC
1255 #define GL_DEPTH32F_STENCIL8 0x8CAD
1256 #define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD
1259 #ifndef GL_ARB_framebuffer_object
1260 #define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506
1261 #define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210
1262 #define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211
1263 #define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212
1264 #define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213
1265 #define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214
1266 #define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215
1267 #define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216
1268 #define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217
1269 #define GL_FRAMEBUFFER_DEFAULT 0x8218
1270 #define GL_FRAMEBUFFER_UNDEFINED 0x8219
1271 #define GL_DEPTH_STENCIL_ATTACHMENT 0x821A
1272 #define GL_MAX_RENDERBUFFER_SIZE 0x84E8
1273 #define GL_DEPTH_STENCIL 0x84F9
1274 #define GL_UNSIGNED_INT_24_8 0x84FA
1275 #define GL_DEPTH24_STENCIL8 0x88F0
1276 #define GL_TEXTURE_STENCIL_SIZE 0x88F1
1277 #define GL_TEXTURE_RED_TYPE 0x8C10
1278 #define GL_TEXTURE_GREEN_TYPE 0x8C11
1279 #define GL_TEXTURE_BLUE_TYPE 0x8C12
1280 #define GL_TEXTURE_ALPHA_TYPE 0x8C13
1281 #define GL_TEXTURE_DEPTH_TYPE 0x8C16
1282 #define GL_UNSIGNED_NORMALIZED 0x8C17
1283 #define GL_FRAMEBUFFER_BINDING 0x8CA6
1284 #define GL_DRAW_FRAMEBUFFER_BINDING GL_FRAMEBUFFER_BINDING
1285 #define GL_RENDERBUFFER_BINDING 0x8CA7
1286 #define GL_READ_FRAMEBUFFER 0x8CA8
1287 #define GL_DRAW_FRAMEBUFFER 0x8CA9
1288 #define GL_READ_FRAMEBUFFER_BINDING 0x8CAA
1289 #define GL_RENDERBUFFER_SAMPLES 0x8CAB
1290 #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0
1291 #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1
1292 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2
1293 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3
1294 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4
1295 #define GL_FRAMEBUFFER_COMPLETE 0x8CD5
1296 #define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6
1297 #define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
1298 #define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER 0x8CDB
1299 #define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 0x8CDC
1300 #define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD
1301 #define GL_MAX_COLOR_ATTACHMENTS 0x8CDF
1302 #define GL_COLOR_ATTACHMENT0 0x8CE0
1303 #define GL_COLOR_ATTACHMENT1 0x8CE1
1304 #define GL_COLOR_ATTACHMENT2 0x8CE2
1305 #define GL_COLOR_ATTACHMENT3 0x8CE3
1306 #define GL_COLOR_ATTACHMENT4 0x8CE4
1307 #define GL_COLOR_ATTACHMENT5 0x8CE5
1308 #define GL_COLOR_ATTACHMENT6 0x8CE6
1309 #define GL_COLOR_ATTACHMENT7 0x8CE7
1310 #define GL_COLOR_ATTACHMENT8 0x8CE8
1311 #define GL_COLOR_ATTACHMENT9 0x8CE9
1312 #define GL_COLOR_ATTACHMENT10 0x8CEA
1313 #define GL_COLOR_ATTACHMENT11 0x8CEB
1314 #define GL_COLOR_ATTACHMENT12 0x8CEC
1315 #define GL_COLOR_ATTACHMENT13 0x8CED
1316 #define GL_COLOR_ATTACHMENT14 0x8CEE
1317 #define GL_COLOR_ATTACHMENT15 0x8CEF
1318 #define GL_DEPTH_ATTACHMENT 0x8D00
1319 #define GL_STENCIL_ATTACHMENT 0x8D20
1320 #define GL_FRAMEBUFFER 0x8D40
1321 #define GL_RENDERBUFFER 0x8D41
1322 #define GL_RENDERBUFFER_WIDTH 0x8D42
1323 #define GL_RENDERBUFFER_HEIGHT 0x8D43
1324 #define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44
1325 #define GL_STENCIL_INDEX1 0x8D46
1326 #define GL_STENCIL_INDEX4 0x8D47
1327 #define GL_STENCIL_INDEX8 0x8D48
1328 #define GL_STENCIL_INDEX16 0x8D49
1329 #define GL_RENDERBUFFER_RED_SIZE 0x8D50
1330 #define GL_RENDERBUFFER_GREEN_SIZE 0x8D51
1331 #define GL_RENDERBUFFER_BLUE_SIZE 0x8D52
1332 #define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53
1333 #define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54
1334 #define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55
1335 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56
1336 #define GL_MAX_SAMPLES 0x8D57
1339 #ifndef GL_ARB_framebuffer_sRGB
1340 #define GL_FRAMEBUFFER_SRGB 0x8DB9
1343 #ifndef GL_ARB_half_float_vertex
1344 #define GL_HALF_FLOAT 0x140B
1347 #ifndef GL_ARB_map_buffer_range
1348 #define GL_MAP_READ_BIT 0x0001
1349 #define GL_MAP_WRITE_BIT 0x0002
1350 #define GL_MAP_INVALIDATE_RANGE_BIT 0x0004
1351 #define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008
1352 #define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010
1353 #define GL_MAP_UNSYNCHRONIZED_BIT 0x0020
1356 #ifndef GL_ARB_texture_compression_rgtc
1357 #define GL_COMPRESSED_RED_RGTC1 0x8DBB
1358 #define GL_COMPRESSED_SIGNED_RED_RGTC1 0x8DBC
1359 #define GL_COMPRESSED_RG_RGTC2 0x8DBD
1360 #define GL_COMPRESSED_SIGNED_RG_RGTC2 0x8DBE
1363 #ifndef GL_ARB_texture_rg
1364 #define GL_RG 0x8227
1365 #define GL_RG_INTEGER 0x8228
1366 #define GL_R8 0x8229
1367 #define GL_R16 0x822A
1368 #define GL_RG8 0x822B
1369 #define GL_RG16 0x822C
1370 #define GL_R16F 0x822D
1371 #define GL_R32F 0x822E
1372 #define GL_RG16F 0x822F
1373 #define GL_RG32F 0x8230
1374 #define GL_R8I 0x8231
1375 #define GL_R8UI 0x8232
1376 #define GL_R16I 0x8233
1377 #define GL_R16UI 0x8234
1378 #define GL_R32I 0x8235
1379 #define GL_R32UI 0x8236
1380 #define GL_RG8I 0x8237
1381 #define GL_RG8UI 0x8238
1382 #define GL_RG16I 0x8239
1383 #define GL_RG16UI 0x823A
1384 #define GL_RG32I 0x823B
1385 #define GL_RG32UI 0x823C
1388 #ifndef GL_ARB_vertex_array_object
1389 #define GL_VERTEX_ARRAY_BINDING 0x85B5
1392 #ifndef GL_ARB_uniform_buffer_object
1393 #define GL_UNIFORM_BUFFER 0x8A11
1394 #define GL_UNIFORM_BUFFER_BINDING 0x8A28
1395 #define GL_UNIFORM_BUFFER_START 0x8A29
1396 #define GL_UNIFORM_BUFFER_SIZE 0x8A2A
1397 #define GL_MAX_VERTEX_UNIFORM_BLOCKS 0x8A2B
1398 #define GL_MAX_GEOMETRY_UNIFORM_BLOCKS 0x8A2C
1399 #define GL_MAX_FRAGMENT_UNIFORM_BLOCKS 0x8A2D
1400 #define GL_MAX_COMBINED_UNIFORM_BLOCKS 0x8A2E
1401 #define GL_MAX_UNIFORM_BUFFER_BINDINGS 0x8A2F
1402 #define GL_MAX_UNIFORM_BLOCK_SIZE 0x8A30
1403 #define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31
1404 #define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS 0x8A32
1405 #define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33
1406 #define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34
1407 #define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35
1408 #define GL_ACTIVE_UNIFORM_BLOCKS 0x8A36
1409 #define GL_UNIFORM_TYPE 0x8A37
1410 #define GL_UNIFORM_SIZE 0x8A38
1411 #define GL_UNIFORM_NAME_LENGTH 0x8A39
1412 #define GL_UNIFORM_BLOCK_INDEX 0x8A3A
1413 #define GL_UNIFORM_OFFSET 0x8A3B
1414 #define GL_UNIFORM_ARRAY_STRIDE 0x8A3C
1415 #define GL_UNIFORM_MATRIX_STRIDE 0x8A3D
1416 #define GL_UNIFORM_IS_ROW_MAJOR 0x8A3E
1417 #define GL_UNIFORM_BLOCK_BINDING 0x8A3F
1418 #define GL_UNIFORM_BLOCK_DATA_SIZE 0x8A40
1419 #define GL_UNIFORM_BLOCK_NAME_LENGTH 0x8A41
1420 #define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS 0x8A42
1421 #define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43
1422 #define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44
1423 #define GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER 0x8A45
1424 #define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46
1425 #define GL_INVALID_INDEX 0xFFFFFFFFu
1428 #ifndef GL_ARB_copy_buffer
1429 #define GL_COPY_READ_BUFFER 0x8F36
1430 #define GL_COPY_WRITE_BUFFER 0x8F37
1433 #ifndef GL_ARB_depth_clamp
1434 #define GL_DEPTH_CLAMP 0x864F
1437 #ifndef GL_ARB_draw_elements_base_vertex
1440 #ifndef GL_ARB_fragment_coord_conventions
1443 #ifndef GL_ARB_provoking_vertex
1444 #define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION 0x8E4C
1445 #define GL_FIRST_VERTEX_CONVENTION 0x8E4D
1446 #define GL_LAST_VERTEX_CONVENTION 0x8E4E
1447 #define GL_PROVOKING_VERTEX 0x8E4F
1450 #ifndef GL_ARB_seamless_cube_map
1451 #define GL_TEXTURE_CUBE_MAP_SEAMLESS 0x884F
1455 #define GL_MAX_SERVER_WAIT_TIMEOUT 0x9111
1456 #define GL_OBJECT_TYPE 0x9112
1457 #define GL_SYNC_CONDITION 0x9113
1458 #define GL_SYNC_STATUS 0x9114
1459 #define GL_SYNC_FLAGS 0x9115
1460 #define GL_SYNC_FENCE 0x9116
1461 #define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117
1462 #define GL_UNSIGNALED 0x9118
1463 #define GL_SIGNALED 0x9119
1464 #define GL_ALREADY_SIGNALED 0x911A
1465 #define GL_TIMEOUT_EXPIRED 0x911B
1466 #define GL_CONDITION_SATISFIED 0x911C
1467 #define GL_WAIT_FAILED 0x911D
1468 #define GL_SYNC_FLUSH_COMMANDS_BIT 0x00000001
1469 #define GL_TIMEOUT_IGNORED 0xFFFFFFFFFFFFFFFFull
1472 #ifndef GL_ARB_texture_multisample
1473 #define GL_SAMPLE_POSITION 0x8E50
1474 #define GL_SAMPLE_MASK 0x8E51
1475 #define GL_SAMPLE_MASK_VALUE 0x8E52
1476 #define GL_MAX_SAMPLE_MASK_WORDS 0x8E59
1477 #define GL_TEXTURE_2D_MULTISAMPLE 0x9100
1478 #define GL_PROXY_TEXTURE_2D_MULTISAMPLE 0x9101
1479 #define GL_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9102
1480 #define GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9103
1481 #define GL_TEXTURE_BINDING_2D_MULTISAMPLE 0x9104
1482 #define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY 0x9105
1483 #define GL_TEXTURE_SAMPLES 0x9106
1484 #define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS 0x9107
1485 #define GL_SAMPLER_2D_MULTISAMPLE 0x9108
1486 #define GL_INT_SAMPLER_2D_MULTISAMPLE 0x9109
1487 #define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 0x910A
1488 #define GL_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910B
1489 #define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910C
1490 #define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910D
1491 #define GL_MAX_COLOR_TEXTURE_SAMPLES 0x910E
1492 #define GL_MAX_DEPTH_TEXTURE_SAMPLES 0x910F
1493 #define GL_MAX_INTEGER_SAMPLES 0x9110
1496 #ifndef GL_ARB_vertex_array_bgra
1500 #ifndef GL_ARB_draw_buffers_blend
1503 #ifndef GL_ARB_sample_shading
1504 #define GL_SAMPLE_SHADING_ARB 0x8C36
1505 #define GL_MIN_SAMPLE_SHADING_VALUE_ARB 0x8C37
1508 #ifndef GL_ARB_texture_cube_map_array
1509 #define GL_TEXTURE_CUBE_MAP_ARRAY_ARB 0x9009
1510 #define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB 0x900A
1511 #define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB 0x900B
1512 #define GL_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900C
1513 #define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB 0x900D
1514 #define GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900E
1515 #define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900F
1518 #ifndef GL_ARB_texture_gather
1519 #define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB 0x8E5E
1520 #define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB 0x8E5F
1523 #ifndef GL_ARB_texture_query_lod
1526 #ifndef GL_ARB_shading_language_include
1527 #define GL_SHADER_INCLUDE_ARB 0x8DAE
1528 #define GL_NAMED_STRING_LENGTH_ARB 0x8DE9
1529 #define GL_NAMED_STRING_TYPE_ARB 0x8DEA
1532 #ifndef GL_ARB_texture_compression_bptc
1533 #define GL_COMPRESSED_RGBA_BPTC_UNORM_ARB 0x8E8C
1534 #define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB 0x8E8D
1535 #define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB 0x8E8E
1536 #define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB 0x8E8F
1539 #ifndef GL_ARB_blend_func_extended
1540 #define GL_SRC1_COLOR 0x88F9
1541 /* reuse GL_SRC1_ALPHA */
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
1547 #ifndef GL_ARB_explicit_attrib_location
1550 #ifndef GL_ARB_occlusion_query2
1551 #define GL_ANY_SAMPLES_PASSED 0x8C2F
1554 #ifndef GL_ARB_sampler_objects
1555 #define GL_SAMPLER_BINDING 0x8919
1558 #ifndef GL_ARB_shader_bit_encoding
1561 #ifndef GL_ARB_texture_rgb10_a2ui
1562 #define GL_RGB10_A2UI 0x906F
1565 #ifndef GL_ARB_texture_swizzle
1566 #define GL_TEXTURE_SWIZZLE_R 0x8E42
1567 #define GL_TEXTURE_SWIZZLE_G 0x8E43
1568 #define GL_TEXTURE_SWIZZLE_B 0x8E44
1569 #define GL_TEXTURE_SWIZZLE_A 0x8E45
1570 #define GL_TEXTURE_SWIZZLE_RGBA 0x8E46
1573 #ifndef GL_ARB_timer_query
1574 #define GL_TIME_ELAPSED 0x88BF
1575 #define GL_TIMESTAMP 0x8E28
1578 #ifndef GL_ARB_vertex_type_2_10_10_10_rev
1579 /* reuse GL_UNSIGNED_INT_2_10_10_10_REV */
1580 #define GL_INT_2_10_10_10_REV 0x8D9F
1583 #ifndef GL_ARB_draw_indirect
1584 #define GL_DRAW_INDIRECT_BUFFER 0x8F3F
1585 #define GL_DRAW_INDIRECT_BUFFER_BINDING 0x8F43
1588 #ifndef GL_ARB_gpu_shader5
1589 #define GL_GEOMETRY_SHADER_INVOCATIONS 0x887F
1590 #define GL_MAX_GEOMETRY_SHADER_INVOCATIONS 0x8E5A
1591 #define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET 0x8E5B
1592 #define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET 0x8E5C
1593 #define GL_FRAGMENT_INTERPOLATION_OFFSET_BITS 0x8E5D
1594 /* reuse GL_MAX_VERTEX_STREAMS */
1597 #ifndef GL_ARB_gpu_shader_fp64
1598 /* reuse GL_DOUBLE */
1599 #define GL_DOUBLE_VEC2 0x8FFC
1600 #define GL_DOUBLE_VEC3 0x8FFD
1601 #define GL_DOUBLE_VEC4 0x8FFE
1602 #define GL_DOUBLE_MAT2 0x8F46
1603 #define GL_DOUBLE_MAT3 0x8F47
1604 #define GL_DOUBLE_MAT4 0x8F48
1605 #define GL_DOUBLE_MAT2x3 0x8F49
1606 #define GL_DOUBLE_MAT2x4 0x8F4A
1607 #define GL_DOUBLE_MAT3x2 0x8F4B
1608 #define GL_DOUBLE_MAT3x4 0x8F4C
1609 #define GL_DOUBLE_MAT4x2 0x8F4D
1610 #define GL_DOUBLE_MAT4x3 0x8F4E
1613 #ifndef GL_ARB_shader_subroutine
1614 #define GL_ACTIVE_SUBROUTINES 0x8DE5
1615 #define GL_ACTIVE_SUBROUTINE_UNIFORMS 0x8DE6
1616 #define GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS 0x8E47
1617 #define GL_ACTIVE_SUBROUTINE_MAX_LENGTH 0x8E48
1618 #define GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH 0x8E49
1619 #define GL_MAX_SUBROUTINES 0x8DE7
1620 #define GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS 0x8DE8
1621 #define GL_NUM_COMPATIBLE_SUBROUTINES 0x8E4A
1622 #define GL_COMPATIBLE_SUBROUTINES 0x8E4B
1623 /* reuse GL_UNIFORM_SIZE */
1624 /* reuse GL_UNIFORM_NAME_LENGTH */
1627 #ifndef GL_ARB_tessellation_shader
1628 #define GL_PATCHES 0x000E
1629 #define GL_PATCH_VERTICES 0x8E72
1630 #define GL_PATCH_DEFAULT_INNER_LEVEL 0x8E73
1631 #define GL_PATCH_DEFAULT_OUTER_LEVEL 0x8E74
1632 #define GL_TESS_CONTROL_OUTPUT_VERTICES 0x8E75
1633 #define GL_TESS_GEN_MODE 0x8E76
1634 #define GL_TESS_GEN_SPACING 0x8E77
1635 #define GL_TESS_GEN_VERTEX_ORDER 0x8E78
1636 #define GL_TESS_GEN_POINT_MODE 0x8E79
1637 /* reuse GL_TRIANGLES */
1638 /* reuse GL_QUADS */
1639 #define GL_ISOLINES 0x8E7A
1640 /* reuse GL_EQUAL */
1641 #define GL_FRACTIONAL_ODD 0x8E7B
1642 #define GL_FRACTIONAL_EVEN 0x8E7C
1645 #define GL_MAX_PATCH_VERTICES 0x8E7D
1646 #define GL_MAX_TESS_GEN_LEVEL 0x8E7E
1647 #define GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E7F
1648 #define GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E80
1649 #define GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS 0x8E81
1650 #define GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS 0x8E82
1651 #define GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS 0x8E83
1652 #define GL_MAX_TESS_PATCH_COMPONENTS 0x8E84
1653 #define GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS 0x8E85
1654 #define GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS 0x8E86
1655 #define GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS 0x8E89
1656 #define GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS 0x8E8A
1657 #define GL_MAX_TESS_CONTROL_INPUT_COMPONENTS 0x886C
1658 #define GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS 0x886D
1659 #define GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E1E
1660 #define GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E1F
1661 #define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER 0x84F0
1662 #define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER 0x84F1
1663 #define GL_TESS_EVALUATION_SHADER 0x8E87
1664 #define GL_TESS_CONTROL_SHADER 0x8E88
1667 #ifndef GL_ARB_texture_buffer_object_rgb32
1668 /* reuse GL_RGB32F */
1669 /* reuse GL_RGB32UI */
1670 /* reuse GL_RGB32I */
1673 #ifndef GL_ARB_transform_feedback2
1674 #define GL_TRANSFORM_FEEDBACK 0x8E22
1675 #define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED 0x8E23
1676 #define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE 0x8E24
1677 #define GL_TRANSFORM_FEEDBACK_BINDING 0x8E25
1680 #ifndef GL_ARB_transform_feedback3
1681 #define GL_MAX_TRANSFORM_FEEDBACK_BUFFERS 0x8E70
1682 #define GL_MAX_VERTEX_STREAMS 0x8E71
1685 #ifndef GL_ARB_ES2_compatibility
1686 #define GL_FIXED 0x140C
1687 #define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A
1688 #define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B
1689 #define GL_LOW_FLOAT 0x8DF0
1690 #define GL_MEDIUM_FLOAT 0x8DF1
1691 #define GL_HIGH_FLOAT 0x8DF2
1692 #define GL_LOW_INT 0x8DF3
1693 #define GL_MEDIUM_INT 0x8DF4
1694 #define GL_HIGH_INT 0x8DF5
1695 #define GL_SHADER_COMPILER 0x8DFA
1696 #define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9
1697 #define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB
1698 #define GL_MAX_VARYING_VECTORS 0x8DFC
1699 #define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD
1702 #ifndef GL_ARB_get_program_binary
1703 #define GL_PROGRAM_BINARY_RETRIEVABLE_HINT 0x8257
1704 #define GL_PROGRAM_BINARY_LENGTH 0x8741
1705 #define GL_NUM_PROGRAM_BINARY_FORMATS 0x87FE
1706 #define GL_PROGRAM_BINARY_FORMATS 0x87FF
1709 #ifndef GL_ARB_separate_shader_objects
1710 #define GL_VERTEX_SHADER_BIT 0x00000001
1711 #define GL_FRAGMENT_SHADER_BIT 0x00000002
1712 #define GL_GEOMETRY_SHADER_BIT 0x00000004
1713 #define GL_TESS_CONTROL_SHADER_BIT 0x00000008
1714 #define GL_TESS_EVALUATION_SHADER_BIT 0x00000010
1715 #define GL_ALL_SHADER_BITS 0xFFFFFFFF
1716 #define GL_PROGRAM_SEPARABLE 0x8258
1717 #define GL_ACTIVE_PROGRAM 0x8259
1718 #define GL_PROGRAM_PIPELINE_BINDING 0x825A
1721 #ifndef GL_ARB_shader_precision
1724 #ifndef GL_ARB_vertex_attrib_64bit
1725 /* reuse GL_RGB32I */
1726 /* reuse GL_DOUBLE_VEC2 */
1727 /* reuse GL_DOUBLE_VEC3 */
1728 /* reuse GL_DOUBLE_VEC4 */
1729 /* reuse GL_DOUBLE_MAT2 */
1730 /* reuse GL_DOUBLE_MAT3 */
1731 /* reuse GL_DOUBLE_MAT4 */
1732 /* reuse GL_DOUBLE_MAT2x3 */
1733 /* reuse GL_DOUBLE_MAT2x4 */
1734 /* reuse GL_DOUBLE_MAT3x2 */
1735 /* reuse GL_DOUBLE_MAT3x4 */
1736 /* reuse GL_DOUBLE_MAT4x2 */
1737 /* reuse GL_DOUBLE_MAT4x3 */
1740 #ifndef GL_ARB_viewport_array
1741 /* reuse GL_SCISSOR_BOX */
1742 /* reuse GL_VIEWPORT */
1743 /* reuse GL_DEPTH_RANGE */
1744 /* reuse GL_SCISSOR_TEST */
1745 #define GL_MAX_VIEWPORTS 0x825B
1746 #define GL_VIEWPORT_SUBPIXEL_BITS 0x825C
1747 #define GL_VIEWPORT_BOUNDS_RANGE 0x825D
1748 #define GL_LAYER_PROVOKING_VERTEX 0x825E
1749 #define GL_VIEWPORT_INDEX_PROVOKING_VERTEX 0x825F
1750 #define GL_UNDEFINED_VERTEX 0x8260
1751 /* reuse GL_FIRST_VERTEX_CONVENTION */
1752 /* reuse GL_LAST_VERTEX_CONVENTION */
1753 /* reuse GL_PROVOKING_VERTEX */
1756 #ifndef GL_ARB_cl_event
1757 #define GL_SYNC_CL_EVENT_ARB 0x8240
1758 #define GL_SYNC_CL_EVENT_COMPLETE_ARB 0x8241
1761 #ifndef GL_ARB_debug_output
1762 #define GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB 0x8242
1763 #define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB 0x8243
1764 #define GL_DEBUG_CALLBACK_FUNCTION_ARB 0x8244
1765 #define GL_DEBUG_CALLBACK_USER_PARAM_ARB 0x8245
1766 #define GL_DEBUG_SOURCE_API_ARB 0x8246
1767 #define GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB 0x8247
1768 #define GL_DEBUG_SOURCE_SHADER_COMPILER_ARB 0x8248
1769 #define GL_DEBUG_SOURCE_THIRD_PARTY_ARB 0x8249
1770 #define GL_DEBUG_SOURCE_APPLICATION_ARB 0x824A
1771 #define GL_DEBUG_SOURCE_OTHER_ARB 0x824B
1772 #define GL_DEBUG_TYPE_ERROR_ARB 0x824C
1773 #define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB 0x824D
1774 #define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB 0x824E
1775 #define GL_DEBUG_TYPE_PORTABILITY_ARB 0x824F
1776 #define GL_DEBUG_TYPE_PERFORMANCE_ARB 0x8250
1777 #define GL_DEBUG_TYPE_OTHER_ARB 0x8251
1778 #define GL_MAX_DEBUG_MESSAGE_LENGTH_ARB 0x9143
1779 #define GL_MAX_DEBUG_LOGGED_MESSAGES_ARB 0x9144
1780 #define GL_DEBUG_LOGGED_MESSAGES_ARB 0x9145
1781 #define GL_DEBUG_SEVERITY_HIGH_ARB 0x9146
1782 #define GL_DEBUG_SEVERITY_MEDIUM_ARB 0x9147
1783 #define GL_DEBUG_SEVERITY_LOW_ARB 0x9148
1786 #ifndef GL_ARB_robustness
1787 /* reuse GL_NO_ERROR */
1788 #define GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB 0x00000004
1789 #define GL_LOSE_CONTEXT_ON_RESET_ARB 0x8252
1790 #define GL_GUILTY_CONTEXT_RESET_ARB 0x8253
1791 #define GL_INNOCENT_CONTEXT_RESET_ARB 0x8254
1792 #define GL_UNKNOWN_CONTEXT_RESET_ARB 0x8255
1793 #define GL_RESET_NOTIFICATION_STRATEGY_ARB 0x8256
1794 #define GL_NO_RESET_NOTIFICATION_ARB 0x8261
1797 #ifndef GL_ARB_shader_stencil_export
1800 #ifndef GL_ARB_base_instance
1803 #ifndef GL_ARB_shading_language_420pack
1806 #ifndef GL_ARB_transform_feedback_instanced
1809 #ifndef GL_ARB_compressed_texture_pixel_storage
1810 #define GL_UNPACK_COMPRESSED_BLOCK_WIDTH 0x9127
1811 #define GL_UNPACK_COMPRESSED_BLOCK_HEIGHT 0x9128
1812 #define GL_UNPACK_COMPRESSED_BLOCK_DEPTH 0x9129
1813 #define GL_UNPACK_COMPRESSED_BLOCK_SIZE 0x912A
1814 #define GL_PACK_COMPRESSED_BLOCK_WIDTH 0x912B
1815 #define GL_PACK_COMPRESSED_BLOCK_HEIGHT 0x912C
1816 #define GL_PACK_COMPRESSED_BLOCK_DEPTH 0x912D
1817 #define GL_PACK_COMPRESSED_BLOCK_SIZE 0x912E
1820 #ifndef GL_ARB_conservative_depth
1823 #ifndef GL_ARB_internalformat_query
1824 #define GL_NUM_SAMPLE_COUNTS 0x9380
1827 #ifndef GL_ARB_map_buffer_alignment
1828 #define GL_MIN_MAP_BUFFER_ALIGNMENT 0x90BC
1831 #ifndef GL_ARB_shader_atomic_counters
1832 #define GL_ATOMIC_COUNTER_BUFFER 0x92C0
1833 #define GL_ATOMIC_COUNTER_BUFFER_BINDING 0x92C1
1834 #define GL_ATOMIC_COUNTER_BUFFER_START 0x92C2
1835 #define GL_ATOMIC_COUNTER_BUFFER_SIZE 0x92C3
1836 #define GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE 0x92C4
1837 #define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS 0x92C5
1838 #define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES 0x92C6
1839 #define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER 0x92C7
1840 #define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER 0x92C8
1841 #define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER 0x92C9
1842 #define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER 0x92CA
1843 #define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER 0x92CB
1844 #define GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS 0x92CC
1845 #define GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS 0x92CD
1846 #define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS 0x92CE
1847 #define GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS 0x92CF
1848 #define GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS 0x92D0
1849 #define GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS 0x92D1
1850 #define GL_MAX_VERTEX_ATOMIC_COUNTERS 0x92D2
1851 #define GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS 0x92D3
1852 #define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS 0x92D4
1853 #define GL_MAX_GEOMETRY_ATOMIC_COUNTERS 0x92D5
1854 #define GL_MAX_FRAGMENT_ATOMIC_COUNTERS 0x92D6
1855 #define GL_MAX_COMBINED_ATOMIC_COUNTERS 0x92D7
1856 #define GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE 0x92D8
1857 #define GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS 0x92DC
1858 #define GL_ACTIVE_ATOMIC_COUNTER_BUFFERS 0x92D9
1859 #define GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX 0x92DA
1860 #define GL_UNSIGNED_INT_ATOMIC_COUNTER 0x92DB
1863 #ifndef GL_ARB_shader_image_load_store
1864 #define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT 0x00000001
1865 #define GL_ELEMENT_ARRAY_BARRIER_BIT 0x00000002
1866 #define GL_UNIFORM_BARRIER_BIT 0x00000004
1867 #define GL_TEXTURE_FETCH_BARRIER_BIT 0x00000008
1868 #define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT 0x00000020
1869 #define GL_COMMAND_BARRIER_BIT 0x00000040
1870 #define GL_PIXEL_BUFFER_BARRIER_BIT 0x00000080
1871 #define GL_TEXTURE_UPDATE_BARRIER_BIT 0x00000100
1872 #define GL_BUFFER_UPDATE_BARRIER_BIT 0x00000200
1873 #define GL_FRAMEBUFFER_BARRIER_BIT 0x00000400
1874 #define GL_TRANSFORM_FEEDBACK_BARRIER_BIT 0x00000800
1875 #define GL_ATOMIC_COUNTER_BARRIER_BIT 0x00001000
1876 #define GL_ALL_BARRIER_BITS 0xFFFFFFFF
1877 #define GL_MAX_IMAGE_UNITS 0x8F38
1878 #define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS 0x8F39
1879 #define GL_IMAGE_BINDING_NAME 0x8F3A
1880 #define GL_IMAGE_BINDING_LEVEL 0x8F3B
1881 #define GL_IMAGE_BINDING_LAYERED 0x8F3C
1882 #define GL_IMAGE_BINDING_LAYER 0x8F3D
1883 #define GL_IMAGE_BINDING_ACCESS 0x8F3E
1884 #define GL_IMAGE_1D 0x904C
1885 #define GL_IMAGE_2D 0x904D
1886 #define GL_IMAGE_3D 0x904E
1887 #define GL_IMAGE_2D_RECT 0x904F
1888 #define GL_IMAGE_CUBE 0x9050
1889 #define GL_IMAGE_BUFFER 0x9051
1890 #define GL_IMAGE_1D_ARRAY 0x9052
1891 #define GL_IMAGE_2D_ARRAY 0x9053
1892 #define GL_IMAGE_CUBE_MAP_ARRAY 0x9054
1893 #define GL_IMAGE_2D_MULTISAMPLE 0x9055
1894 #define GL_IMAGE_2D_MULTISAMPLE_ARRAY 0x9056
1895 #define GL_INT_IMAGE_1D 0x9057
1896 #define GL_INT_IMAGE_2D 0x9058
1897 #define GL_INT_IMAGE_3D 0x9059
1898 #define GL_INT_IMAGE_2D_RECT 0x905A
1899 #define GL_INT_IMAGE_CUBE 0x905B
1900 #define GL_INT_IMAGE_BUFFER 0x905C
1901 #define GL_INT_IMAGE_1D_ARRAY 0x905D
1902 #define GL_INT_IMAGE_2D_ARRAY 0x905E
1903 #define GL_INT_IMAGE_CUBE_MAP_ARRAY 0x905F
1904 #define GL_INT_IMAGE_2D_MULTISAMPLE 0x9060
1905 #define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x9061
1906 #define GL_UNSIGNED_INT_IMAGE_1D 0x9062
1907 #define GL_UNSIGNED_INT_IMAGE_2D 0x9063
1908 #define GL_UNSIGNED_INT_IMAGE_3D 0x9064
1909 #define GL_UNSIGNED_INT_IMAGE_2D_RECT 0x9065
1910 #define GL_UNSIGNED_INT_IMAGE_CUBE 0x9066
1911 #define GL_UNSIGNED_INT_IMAGE_BUFFER 0x9067
1912 #define GL_UNSIGNED_INT_IMAGE_1D_ARRAY 0x9068
1913 #define GL_UNSIGNED_INT_IMAGE_2D_ARRAY 0x9069
1914 #define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY 0x906A
1915 #define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE 0x906B
1916 #define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x906C
1917 #define GL_MAX_IMAGE_SAMPLES 0x906D
1918 #define GL_IMAGE_BINDING_FORMAT 0x906E
1919 #define GL_IMAGE_FORMAT_COMPATIBILITY_TYPE 0x90C7
1920 #define GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE 0x90C8
1921 #define GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS 0x90C9
1922 #define GL_MAX_VERTEX_IMAGE_UNIFORMS 0x90CA
1923 #define GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS 0x90CB
1924 #define GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS 0x90CC
1925 #define GL_MAX_GEOMETRY_IMAGE_UNIFORMS 0x90CD
1926 #define GL_MAX_FRAGMENT_IMAGE_UNIFORMS 0x90CE
1927 #define GL_MAX_COMBINED_IMAGE_UNIFORMS 0x90CF
1930 #ifndef GL_ARB_shading_language_packing
1933 #ifndef GL_ARB_texture_storage
1934 #define GL_TEXTURE_IMMUTABLE_FORMAT 0x912F
1938 /*************************************************************/
1941 #ifndef GL_VERSION_2_0
1942 /* GL type for program/shader text */
1943 typedef char GLchar
;
1946 #ifndef GL_VERSION_1_5
1947 /* GL types for handling large vertex buffer objects */
1948 typedef ptrdiff_t GLintptr
;
1949 typedef ptrdiff_t GLsizeiptr
;
1952 #ifndef GL_ARB_vertex_buffer_object
1953 /* GL types for handling large vertex buffer objects */
1954 typedef ptrdiff_t GLintptrARB
;
1955 typedef ptrdiff_t GLsizeiptrARB
;
1958 #ifndef GL_ARB_shader_objects
1959 /* GL types for program/shader text and shader object handles */
1960 typedef char GLcharARB
;
1961 typedef unsigned int GLhandleARB
;
1964 /* GL type for "half" precision (s10e5) float data in host memory */
1965 #ifndef GL_ARB_half_float_pixel
1966 typedef unsigned short GLhalfARB
;
1969 #ifndef GL_NV_half_float
1970 typedef unsigned short GLhalfNV
;
1973 #ifndef GLEXT_64_TYPES_DEFINED
1974 /* This code block is duplicated in glxext.h, so must be protected */
1975 #define GLEXT_64_TYPES_DEFINED
1976 /* Define int32_t, int64_t, and uint64_t types for UST/MSC */
1977 /* (as used in the GL_EXT_timer_query extension). */
1978 #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
1979 #include <inttypes.h>
1980 #elif defined(__sun__) || defined(__digital__)
1981 #include <inttypes.h>
1982 #if defined(__STDC__)
1983 #if defined(__arch64__) || defined(_LP64)
1984 typedef long int int64_t;
1985 typedef unsigned long int uint64_t;
1987 typedef long long int int64_t;
1988 typedef unsigned long long int uint64_t;
1989 #endif /* __arch64__ */
1990 #endif /* __STDC__ */
1991 #elif defined( __VMS ) || defined(__sgi)
1992 #include <inttypes.h>
1993 #elif defined(__SCO__) || defined(__USLC__)
1995 #elif defined(__UNIXOS2__) || defined(__SOL64__)
1996 typedef long int int32_t;
1997 typedef long long int int64_t;
1998 typedef unsigned long long int uint64_t;
1999 #elif defined(_WIN32) && defined(__GNUC__)
2001 #elif defined(_WIN32)
2002 typedef __int32
int32_t;
2003 typedef __int64
int64_t;
2004 typedef unsigned __int64
uint64_t;
2006 /* Fallback if nothing above works */
2007 #include <inttypes.h>
2011 #ifndef GL_EXT_timer_query
2012 typedef int64_t GLint64EXT
;
2013 typedef uint64_t GLuint64EXT
;
2017 typedef int64_t GLint64
;
2018 typedef uint64_t GLuint64
;
2019 typedef struct __GLsync
*GLsync
;
2022 #ifndef GL_ARB_cl_event
2023 /* These incomplete types let us declare types compatible with OpenCL's cl_context and cl_event */
2028 #ifndef GL_ARB_debug_output
2029 typedef void (APIENTRY
*GLDEBUGPROCARB
)(GLenum source
,GLenum type
,GLuint id
,GLenum severity
,GLsizei length
,const GLchar
*message
,GLvoid
*userParam
);
2032 #ifndef GL_AMD_debug_output
2033 typedef void (APIENTRY
*GLDEBUGPROCAMD
)(GLuint id
,GLenum category
,GLenum severity
,GLsizei length
,const GLchar
*message
,GLvoid
*userParam
);
2036 #ifndef GL_NV_vdpau_interop
2037 typedef GLintptr GLvdpauSurfaceNV
;
2040 #ifndef GL_VERSION_1_0
2041 #define GL_VERSION_1_0 1
2042 #ifdef GL3_PROTOTYPES
2043 GLAPI
void APIENTRY
glCullFace (GLenum mode
);
2044 GLAPI
void APIENTRY
glFrontFace (GLenum mode
);
2045 GLAPI
void APIENTRY
glHint (GLenum target
, GLenum mode
);
2046 GLAPI
void APIENTRY
glLineWidth (GLfloat width
);
2047 GLAPI
void APIENTRY
glPointSize (GLfloat size
);
2048 GLAPI
void APIENTRY
glPolygonMode (GLenum face
, GLenum mode
);
2049 GLAPI
void APIENTRY
glScissor (GLint x
, GLint y
, GLsizei width
, GLsizei height
);
2050 GLAPI
void APIENTRY
glTexParameterf (GLenum target
, GLenum pname
, GLfloat param
);
2051 GLAPI
void APIENTRY
glTexParameterfv (GLenum target
, GLenum pname
, const GLfloat
*params
);
2052 GLAPI
void APIENTRY
glTexParameteri (GLenum target
, GLenum pname
, GLint param
);
2053 GLAPI
void APIENTRY
glTexParameteriv (GLenum target
, GLenum pname
, const GLint
*params
);
2054 GLAPI
void APIENTRY
glTexImage1D (GLenum target
, GLint level
, GLint internalformat
, GLsizei width
, GLint border
, GLenum format
, GLenum type
, const GLvoid
*pixels
);
2055 GLAPI
void APIENTRY
glTexImage2D (GLenum target
, GLint level
, GLint internalformat
, GLsizei width
, GLsizei height
, GLint border
, GLenum format
, GLenum type
, const GLvoid
*pixels
);
2056 GLAPI
void APIENTRY
glDrawBuffer (GLenum mode
);
2057 GLAPI
void APIENTRY
glClear (GLbitfield mask
);
2058 GLAPI
void APIENTRY
glClearColor (GLclampf red
, GLclampf green
, GLclampf blue
, GLclampf alpha
);
2059 GLAPI
void APIENTRY
glClearStencil (GLint s
);
2060 GLAPI
void APIENTRY
glClearDepth (GLclampd depth
);
2061 GLAPI
void APIENTRY
glStencilMask (GLuint mask
);
2062 GLAPI
void APIENTRY
glColorMask (GLboolean red
, GLboolean green
, GLboolean blue
, GLboolean alpha
);
2063 GLAPI
void APIENTRY
glDepthMask (GLboolean flag
);
2064 GLAPI
void APIENTRY
glDisable (GLenum cap
);
2065 GLAPI
void APIENTRY
glEnable (GLenum cap
);
2066 GLAPI
void APIENTRY
glFinish (void);
2067 GLAPI
void APIENTRY
glFlush (void);
2068 GLAPI
void APIENTRY
glBlendFunc (GLenum sfactor
, GLenum dfactor
);
2069 GLAPI
void APIENTRY
glLogicOp (GLenum opcode
);
2070 GLAPI
void APIENTRY
glStencilFunc (GLenum func
, GLint ref
, GLuint mask
);
2071 GLAPI
void APIENTRY
glStencilOp (GLenum fail
, GLenum zfail
, GLenum zpass
);
2072 GLAPI
void APIENTRY
glDepthFunc (GLenum func
);
2073 GLAPI
void APIENTRY
glPixelStoref (GLenum pname
, GLfloat param
);
2074 GLAPI
void APIENTRY
glPixelStorei (GLenum pname
, GLint param
);
2075 GLAPI
void APIENTRY
glReadBuffer (GLenum mode
);
2076 GLAPI
void APIENTRY
glReadPixels (GLint x
, GLint y
, GLsizei width
, GLsizei height
, GLenum format
, GLenum type
, GLvoid
*pixels
);
2077 GLAPI
void APIENTRY
glGetBooleanv (GLenum pname
, GLboolean
*params
);
2078 GLAPI
void APIENTRY
glGetDoublev (GLenum pname
, GLdouble
*params
);
2079 GLAPI GLenum APIENTRY
glGetError (void);
2080 GLAPI
void APIENTRY
glGetFloatv (GLenum pname
, GLfloat
*params
);
2081 GLAPI
void APIENTRY
glGetIntegerv (GLenum pname
, GLint
*params
);
2082 GLAPI
const GLubyte
* APIENTRY
glGetString (GLenum name
);
2083 GLAPI
void APIENTRY
glGetTexImage (GLenum target
, GLint level
, GLenum format
, GLenum type
, GLvoid
*pixels
);
2084 GLAPI
void APIENTRY
glGetTexParameterfv (GLenum target
, GLenum pname
, GLfloat
*params
);
2085 GLAPI
void APIENTRY
glGetTexParameteriv (GLenum target
, GLenum pname
, GLint
*params
);
2086 GLAPI
void APIENTRY
glGetTexLevelParameterfv (GLenum target
, GLint level
, GLenum pname
, GLfloat
*params
);
2087 GLAPI
void APIENTRY
glGetTexLevelParameteriv (GLenum target
, GLint level
, GLenum pname
, GLint
*params
);
2088 GLAPI GLboolean APIENTRY
glIsEnabled (GLenum cap
);
2089 GLAPI
void APIENTRY
glDepthRange (GLclampd near
, GLclampd far
);
2090 GLAPI
void APIENTRY
glViewport (GLint x
, GLint y
, GLsizei width
, GLsizei height
);
2091 #endif /* GL3_PROTOTYPES */
2092 typedef void (APIENTRYP PFNGLCULLFACEPROC
) (GLenum mode
);
2093 typedef void (APIENTRYP PFNGLFRONTFACEPROC
) (GLenum mode
);
2094 typedef void (APIENTRYP PFNGLHINTPROC
) (GLenum target
, GLenum mode
);
2095 typedef void (APIENTRYP PFNGLLINEWIDTHPROC
) (GLfloat width
);
2096 typedef void (APIENTRYP PFNGLPOINTSIZEPROC
) (GLfloat size
);
2097 typedef void (APIENTRYP PFNGLPOLYGONMODEPROC
) (GLenum face
, GLenum mode
);
2098 typedef void (APIENTRYP PFNGLSCISSORPROC
) (GLint x
, GLint y
, GLsizei width
, GLsizei height
);
2099 typedef void (APIENTRYP PFNGLTEXPARAMETERFPROC
) (GLenum target
, GLenum pname
, GLfloat param
);
2100 typedef void (APIENTRYP PFNGLTEXPARAMETERFVPROC
) (GLenum target
, GLenum pname
, const GLfloat
*params
);
2101 typedef void (APIENTRYP PFNGLTEXPARAMETERIPROC
) (GLenum target
, GLenum pname
, GLint param
);
2102 typedef void (APIENTRYP PFNGLTEXPARAMETERIVPROC
) (GLenum target
, GLenum pname
, const GLint
*params
);
2103 typedef void (APIENTRYP PFNGLTEXIMAGE1DPROC
) (GLenum target
, GLint level
, GLint internalformat
, GLsizei width
, GLint border
, GLenum format
, GLenum type
, const GLvoid
*pixels
);
2104 typedef void (APIENTRYP PFNGLTEXIMAGE2DPROC
) (GLenum target
, GLint level
, GLint internalformat
, GLsizei width
, GLsizei height
, GLint border
, GLenum format
, GLenum type
, const GLvoid
*pixels
);
2105 typedef void (APIENTRYP PFNGLDRAWBUFFERPROC
) (GLenum mode
);
2106 typedef void (APIENTRYP PFNGLCLEARPROC
) (GLbitfield mask
);
2107 typedef void (APIENTRYP PFNGLCLEARCOLORPROC
) (GLclampf red
, GLclampf green
, GLclampf blue
, GLclampf alpha
);
2108 typedef void (APIENTRYP PFNGLCLEARSTENCILPROC
) (GLint s
);
2109 typedef void (APIENTRYP PFNGLCLEARDEPTHPROC
) (GLclampd depth
);
2110 typedef void (APIENTRYP PFNGLSTENCILMASKPROC
) (GLuint mask
);
2111 typedef void (APIENTRYP PFNGLCOLORMASKPROC
) (GLboolean red
, GLboolean green
, GLboolean blue
, GLboolean alpha
);
2112 typedef void (APIENTRYP PFNGLDEPTHMASKPROC
) (GLboolean flag
);
2113 typedef void (APIENTRYP PFNGLDISABLEPROC
) (GLenum cap
);
2114 typedef void (APIENTRYP PFNGLENABLEPROC
) (GLenum cap
);
2115 typedef void (APIENTRYP PFNGLFINISHPROC
) (void);
2116 typedef void (APIENTRYP PFNGLFLUSHPROC
) (void);
2117 typedef void (APIENTRYP PFNGLBLENDFUNCPROC
) (GLenum sfactor
, GLenum dfactor
);
2118 typedef void (APIENTRYP PFNGLLOGICOPPROC
) (GLenum opcode
);
2119 typedef void (APIENTRYP PFNGLSTENCILFUNCPROC
) (GLenum func
, GLint ref
, GLuint mask
);
2120 typedef void (APIENTRYP PFNGLSTENCILOPPROC
) (GLenum fail
, GLenum zfail
, GLenum zpass
);
2121 typedef void (APIENTRYP PFNGLDEPTHFUNCPROC
) (GLenum func
);
2122 typedef void (APIENTRYP PFNGLPIXELSTOREFPROC
) (GLenum pname
, GLfloat param
);
2123 typedef void (APIENTRYP PFNGLPIXELSTOREIPROC
) (GLenum pname
, GLint param
);
2124 typedef void (APIENTRYP PFNGLREADBUFFERPROC
) (GLenum mode
);
2125 typedef void (APIENTRYP PFNGLREADPIXELSPROC
) (GLint x
, GLint y
, GLsizei width
, GLsizei height
, GLenum format
, GLenum type
, GLvoid
*pixels
);
2126 typedef void (APIENTRYP PFNGLGETBOOLEANVPROC
) (GLenum pname
, GLboolean
*params
);
2127 typedef void (APIENTRYP PFNGLGETDOUBLEVPROC
) (GLenum pname
, GLdouble
*params
);
2128 typedef GLenum (APIENTRYP PFNGLGETERRORPROC
) (void);
2129 typedef void (APIENTRYP PFNGLGETFLOATVPROC
) (GLenum pname
, GLfloat
*params
);
2130 typedef void (APIENTRYP PFNGLGETINTEGERVPROC
) (GLenum pname
, GLint
*params
);
2131 typedef const GLubyte
* (APIENTRYP PFNGLGETSTRINGPROC
) (GLenum name
);
2132 typedef void (APIENTRYP PFNGLGETTEXIMAGEPROC
) (GLenum target
, GLint level
, GLenum format
, GLenum type
, GLvoid
*pixels
);
2133 typedef void (APIENTRYP PFNGLGETTEXPARAMETERFVPROC
) (GLenum target
, GLenum pname
, GLfloat
*params
);
2134 typedef void (APIENTRYP PFNGLGETTEXPARAMETERIVPROC
) (GLenum target
, GLenum pname
, GLint
*params
);
2135 typedef void (APIENTRYP PFNGLGETTEXLEVELPARAMETERFVPROC
) (GLenum target
, GLint level
, GLenum pname
, GLfloat
*params
);
2136 typedef void (APIENTRYP PFNGLGETTEXLEVELPARAMETERIVPROC
) (GLenum target
, GLint level
, GLenum pname
, GLint
*params
);
2137 typedef GLboolean (APIENTRYP PFNGLISENABLEDPROC
) (GLenum cap
);
2138 typedef void (APIENTRYP PFNGLDEPTHRANGEPROC
) (GLclampd near
, GLclampd far
);
2139 typedef void (APIENTRYP PFNGLVIEWPORTPROC
) (GLint x
, GLint y
, GLsizei width
, GLsizei height
);
2142 #ifndef GL_VERSION_1_1
2143 #define GL_VERSION_1_1 1
2144 #ifdef GL3_PROTOTYPES
2145 GLAPI
void APIENTRY
glDrawArrays (GLenum mode
, GLint first
, GLsizei count
);
2146 GLAPI
void APIENTRY
glDrawElements (GLenum mode
, GLsizei count
, GLenum type
, const GLvoid
*indices
);
2147 GLAPI
void APIENTRY
glGetPointerv (GLenum pname
, GLvoid
* *params
);
2148 GLAPI
void APIENTRY
glPolygonOffset (GLfloat factor
, GLfloat units
);
2149 GLAPI
void APIENTRY
glCopyTexImage1D (GLenum target
, GLint level
, GLenum internalformat
, GLint x
, GLint y
, GLsizei width
, GLint border
);
2150 GLAPI
void APIENTRY
glCopyTexImage2D (GLenum target
, GLint level
, GLenum internalformat
, GLint x
, GLint y
, GLsizei width
, GLsizei height
, GLint border
);
2151 GLAPI
void APIENTRY
glCopyTexSubImage1D (GLenum target
, GLint level
, GLint xoffset
, GLint x
, GLint y
, GLsizei width
);
2152 GLAPI
void APIENTRY
glCopyTexSubImage2D (GLenum target
, GLint level
, GLint xoffset
, GLint yoffset
, GLint x
, GLint y
, GLsizei width
, GLsizei height
);
2153 GLAPI
void APIENTRY
glTexSubImage1D (GLenum target
, GLint level
, GLint xoffset
, GLsizei width
, GLenum format
, GLenum type
, const GLvoid
*pixels
);
2154 GLAPI
void APIENTRY
glTexSubImage2D (GLenum target
, GLint level
, GLint xoffset
, GLint yoffset
, GLsizei width
, GLsizei height
, GLenum format
, GLenum type
, const GLvoid
*pixels
);
2155 GLAPI
void APIENTRY
glBindTexture (GLenum target
, GLuint texture
);
2156 GLAPI
void APIENTRY
glDeleteTextures (GLsizei n
, const GLuint
*textures
);
2157 GLAPI
void APIENTRY
glGenTextures (GLsizei n
, GLuint
*textures
);
2158 GLAPI GLboolean APIENTRY
glIsTexture (GLuint texture
);
2159 #endif /* GL3_PROTOTYPES */
2160 typedef void (APIENTRYP PFNGLDRAWARRAYSPROC
) (GLenum mode
, GLint first
, GLsizei count
);
2161 typedef void (APIENTRYP PFNGLDRAWELEMENTSPROC
) (GLenum mode
, GLsizei count
, GLenum type
, const GLvoid
*indices
);
2162 typedef void (APIENTRYP PFNGLGETPOINTERVPROC
) (GLenum pname
, GLvoid
* *params
);
2163 typedef void (APIENTRYP PFNGLPOLYGONOFFSETPROC
) (GLfloat factor
, GLfloat units
);
2164 typedef void (APIENTRYP PFNGLCOPYTEXIMAGE1DPROC
) (GLenum target
, GLint level
, GLenum internalformat
, GLint x
, GLint y
, GLsizei width
, GLint border
);
2165 typedef void (APIENTRYP PFNGLCOPYTEXIMAGE2DPROC
) (GLenum target
, GLint level
, GLenum internalformat
, GLint x
, GLint y
, GLsizei width
, GLsizei height
, GLint border
);
2166 typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE1DPROC
) (GLenum target
, GLint level
, GLint xoffset
, GLint x
, GLint y
, GLsizei width
);
2167 typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE2DPROC
) (GLenum target
, GLint level
, GLint xoffset
, GLint yoffset
, GLint x
, GLint y
, GLsizei width
, GLsizei height
);
2168 typedef void (APIENTRYP PFNGLTEXSUBIMAGE1DPROC
) (GLenum target
, GLint level
, GLint xoffset
, GLsizei width
, GLenum format
, GLenum type
, const GLvoid
*pixels
);
2169 typedef void (APIENTRYP PFNGLTEXSUBIMAGE2DPROC
) (GLenum target
, GLint level
, GLint xoffset
, GLint yoffset
, GLsizei width
, GLsizei height
, GLenum format
, GLenum type
, const GLvoid
*pixels
);
2170 typedef void (APIENTRYP PFNGLBINDTEXTUREPROC
) (GLenum target
, GLuint texture
);
2171 typedef void (APIENTRYP PFNGLDELETETEXTURESPROC
) (GLsizei n
, const GLuint
*textures
);
2172 typedef void (APIENTRYP PFNGLGENTEXTURESPROC
) (GLsizei n
, GLuint
*textures
);
2173 typedef GLboolean (APIENTRYP PFNGLISTEXTUREPROC
) (GLuint texture
);
2176 #ifndef GL_VERSION_1_2
2177 #define GL_VERSION_1_2 1
2178 #ifdef GL3_PROTOTYPES
2179 GLAPI
void APIENTRY
glBlendColor (GLclampf red
, GLclampf green
, GLclampf blue
, GLclampf alpha
);
2180 GLAPI
void APIENTRY
glBlendEquation (GLenum mode
);
2181 GLAPI
void APIENTRY
glDrawRangeElements (GLenum mode
, GLuint start
, GLuint end
, GLsizei count
, GLenum type
, const GLvoid
*indices
);
2182 GLAPI
void APIENTRY
glTexImage3D (GLenum target
, GLint level
, GLint internalformat
, GLsizei width
, GLsizei height
, GLsizei depth
, GLint border
, GLenum format
, GLenum type
, const GLvoid
*pixels
);
2183 GLAPI
void APIENTRY
glTexSubImage3D (GLenum target
, GLint level
, GLint xoffset
, GLint yoffset
, GLint zoffset
, GLsizei width
, GLsizei height
, GLsizei depth
, GLenum format
, GLenum type
, const GLvoid
*pixels
);
2184 GLAPI
void APIENTRY
glCopyTexSubImage3D (GLenum target
, GLint level
, GLint xoffset
, GLint yoffset
, GLint zoffset
, GLint x
, GLint y
, GLsizei width
, GLsizei height
);
2185 #endif /* GL3_PROTOTYPES */
2186 typedef void (APIENTRYP PFNGLBLENDCOLORPROC
) (GLclampf red
, GLclampf green
, GLclampf blue
, GLclampf alpha
);
2187 typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC
) (GLenum mode
);
2188 typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSPROC
) (GLenum mode
, GLuint start
, GLuint end
, GLsizei count
, GLenum type
, const GLvoid
*indices
);
2189 typedef void (APIENTRYP PFNGLTEXIMAGE3DPROC
) (GLenum target
, GLint level
, GLint internalformat
, GLsizei width
, GLsizei height
, GLsizei depth
, GLint border
, GLenum format
, GLenum type
, const GLvoid
*pixels
);
2190 typedef void (APIENTRYP PFNGLTEXSUBIMAGE3DPROC
) (GLenum target
, GLint level
, GLint xoffset
, GLint yoffset
, GLint zoffset
, GLsizei width
, GLsizei height
, GLsizei depth
, GLenum format
, GLenum type
, const GLvoid
*pixels
);
2191 typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE3DPROC
) (GLenum target
, GLint level
, GLint xoffset
, GLint yoffset
, GLint zoffset
, GLint x
, GLint y
, GLsizei width
, GLsizei height
);
2194 #ifndef GL_VERSION_1_3
2195 #define GL_VERSION_1_3 1
2196 #ifdef GL3_PROTOTYPES
2197 GLAPI
void APIENTRY
glActiveTexture (GLenum texture
);
2198 GLAPI
void APIENTRY
glSampleCoverage (GLclampf value
, GLboolean invert
);
2199 GLAPI
void APIENTRY
glCompressedTexImage3D (GLenum target
, GLint level
, GLenum internalformat
, GLsizei width
, GLsizei height
, GLsizei depth
, GLint border
, GLsizei imageSize
, const GLvoid
*data
);
2200 GLAPI
void APIENTRY
glCompressedTexImage2D (GLenum target
, GLint level
, GLenum internalformat
, GLsizei width
, GLsizei height
, GLint border
, GLsizei imageSize
, const GLvoid
*data
);
2201 GLAPI
void APIENTRY
glCompressedTexImage1D (GLenum target
, GLint level
, GLenum internalformat
, GLsizei width
, GLint border
, GLsizei imageSize
, const GLvoid
*data
);
2202 GLAPI
void APIENTRY
glCompressedTexSubImage3D (GLenum target
, GLint level
, GLint xoffset
, GLint yoffset
, GLint zoffset
, GLsizei width
, GLsizei height
, GLsizei depth
, GLenum format
, GLsizei imageSize
, const GLvoid
*data
);
2203 GLAPI
void APIENTRY
glCompressedTexSubImage2D (GLenum target
, GLint level
, GLint xoffset
, GLint yoffset
, GLsizei width
, GLsizei height
, GLenum format
, GLsizei imageSize
, const GLvoid
*data
);
2204 GLAPI
void APIENTRY
glCompressedTexSubImage1D (GLenum target
, GLint level
, GLint xoffset
, GLsizei width
, GLenum format
, GLsizei imageSize
, const GLvoid
*data
);
2205 GLAPI
void APIENTRY
glGetCompressedTexImage (GLenum target
, GLint level
, GLvoid
*img
);
2206 #endif /* GL3_PROTOTYPES */
2207 typedef void (APIENTRYP PFNGLACTIVETEXTUREPROC
) (GLenum texture
);
2208 typedef void (APIENTRYP PFNGLSAMPLECOVERAGEPROC
) (GLclampf value
, GLboolean invert
);
2209 typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DPROC
) (GLenum target
, GLint level
, GLenum internalformat
, GLsizei width
, GLsizei height
, GLsizei depth
, GLint border
, GLsizei imageSize
, const GLvoid
*data
);
2210 typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC
) (GLenum target
, GLint level
, GLenum internalformat
, GLsizei width
, GLsizei height
, GLint border
, GLsizei imageSize
, const GLvoid
*data
);
2211 typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE1DPROC
) (GLenum target
, GLint level
, GLenum internalformat
, GLsizei width
, GLint border
, GLsizei imageSize
, const GLvoid
*data
);
2212 typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC
) (GLenum target
, GLint level
, GLint xoffset
, GLint yoffset
, GLint zoffset
, GLsizei width
, GLsizei height
, GLsizei depth
, GLenum format
, GLsizei imageSize
, const GLvoid
*data
);
2213 typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC
) (GLenum target
, GLint level
, GLint xoffset
, GLint yoffset
, GLsizei width
, GLsizei height
, GLenum format
, GLsizei imageSize
, const GLvoid
*data
);
2214 typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC
) (GLenum target
, GLint level
, GLint xoffset
, GLsizei width
, GLenum format
, GLsizei imageSize
, const GLvoid
*data
);
2215 typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEPROC
) (GLenum target
, GLint level
, GLvoid
*img
);
2218 #ifndef GL_VERSION_1_4
2219 #define GL_VERSION_1_4 1
2220 #ifdef GL3_PROTOTYPES
2221 GLAPI
void APIENTRY
glBlendFuncSeparate (GLenum sfactorRGB
, GLenum dfactorRGB
, GLenum sfactorAlpha
, GLenum dfactorAlpha
);
2222 GLAPI
void APIENTRY
glMultiDrawArrays (GLenum mode
, const GLint
*first
, const GLsizei
*count
, GLsizei primcount
);
2223 GLAPI
void APIENTRY
glMultiDrawElements (GLenum mode
, const GLsizei
*count
, GLenum type
, const GLvoid
* *indices
, GLsizei primcount
);
2224 GLAPI
void APIENTRY
glPointParameterf (GLenum pname
, GLfloat param
);
2225 GLAPI
void APIENTRY
glPointParameterfv (GLenum pname
, const GLfloat
*params
);
2226 GLAPI
void APIENTRY
glPointParameteri (GLenum pname
, GLint param
);
2227 GLAPI
void APIENTRY
glPointParameteriv (GLenum pname
, const GLint
*params
);
2228 #endif /* GL3_PROTOTYPES */
2229 typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEPROC
) (GLenum sfactorRGB
, GLenum dfactorRGB
, GLenum sfactorAlpha
, GLenum dfactorAlpha
);
2230 typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSPROC
) (GLenum mode
, const GLint
*first
, const GLsizei
*count
, GLsizei primcount
);
2231 typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSPROC
) (GLenum mode
, const GLsizei
*count
, GLenum type
, const GLvoid
* *indices
, GLsizei primcount
);
2232 typedef void (APIENTRYP PFNGLPOINTPARAMETERFPROC
) (GLenum pname
, GLfloat param
);
2233 typedef void (APIENTRYP PFNGLPOINTPARAMETERFVPROC
) (GLenum pname
, const GLfloat
*params
);
2234 typedef void (APIENTRYP PFNGLPOINTPARAMETERIPROC
) (GLenum pname
, GLint param
);
2235 typedef void (APIENTRYP PFNGLPOINTPARAMETERIVPROC
) (GLenum pname
, const GLint
*params
);
2238 #ifndef GL_VERSION_1_5
2239 #define GL_VERSION_1_5 1
2240 #ifdef GL3_PROTOTYPES
2241 GLAPI
void APIENTRY
glGenQueries (GLsizei n
, GLuint
*ids
);
2242 GLAPI
void APIENTRY
glDeleteQueries (GLsizei n
, const GLuint
*ids
);
2243 GLAPI GLboolean APIENTRY
glIsQuery (GLuint id
);
2244 GLAPI
void APIENTRY
glBeginQuery (GLenum target
, GLuint id
);
2245 GLAPI
void APIENTRY
glEndQuery (GLenum target
);
2246 GLAPI
void APIENTRY
glGetQueryiv (GLenum target
, GLenum pname
, GLint
*params
);
2247 GLAPI
void APIENTRY
glGetQueryObjectiv (GLuint id
, GLenum pname
, GLint
*params
);
2248 GLAPI
void APIENTRY
glGetQueryObjectuiv (GLuint id
, GLenum pname
, GLuint
*params
);
2249 GLAPI
void APIENTRY
glBindBuffer (GLenum target
, GLuint buffer
);
2250 GLAPI
void APIENTRY
glDeleteBuffers (GLsizei n
, const GLuint
*buffers
);
2251 GLAPI
void APIENTRY
glGenBuffers (GLsizei n
, GLuint
*buffers
);
2252 GLAPI GLboolean APIENTRY
glIsBuffer (GLuint buffer
);
2253 GLAPI
void APIENTRY
glBufferData (GLenum target
, GLsizeiptr size
, const GLvoid
*data
, GLenum usage
);
2254 GLAPI
void APIENTRY
glBufferSubData (GLenum target
, GLintptr offset
, GLsizeiptr size
, const GLvoid
*data
);
2255 GLAPI
void APIENTRY
glGetBufferSubData (GLenum target
, GLintptr offset
, GLsizeiptr size
, GLvoid
*data
);
2256 GLAPI GLvoid
* APIENTRY
glMapBuffer (GLenum target
, GLenum access
);
2257 GLAPI GLboolean APIENTRY
glUnmapBuffer (GLenum target
);
2258 GLAPI
void APIENTRY
glGetBufferParameteriv (GLenum target
, GLenum pname
, GLint
*params
);
2259 GLAPI
void APIENTRY
glGetBufferPointerv (GLenum target
, GLenum pname
, GLvoid
* *params
);
2260 #endif /* GL3_PROTOTYPES */
2261 typedef void (APIENTRYP PFNGLGENQUERIESPROC
) (GLsizei n
, GLuint
*ids
);
2262 typedef void (APIENTRYP PFNGLDELETEQUERIESPROC
) (GLsizei n
, const GLuint
*ids
);
2263 typedef GLboolean (APIENTRYP PFNGLISQUERYPROC
) (GLuint id
);
2264 typedef void (APIENTRYP PFNGLBEGINQUERYPROC
) (GLenum target
, GLuint id
);
2265 typedef void (APIENTRYP PFNGLENDQUERYPROC
) (GLenum target
);
2266 typedef void (APIENTRYP PFNGLGETQUERYIVPROC
) (GLenum target
, GLenum pname
, GLint
*params
);
2267 typedef void (APIENTRYP PFNGLGETQUERYOBJECTIVPROC
) (GLuint id
, GLenum pname
, GLint
*params
);
2268 typedef void (APIENTRYP PFNGLGETQUERYOBJECTUIVPROC
) (GLuint id
, GLenum pname
, GLuint
*params
);
2269 typedef void (APIENTRYP PFNGLBINDBUFFERPROC
) (GLenum target
, GLuint buffer
);
2270 typedef void (APIENTRYP PFNGLDELETEBUFFERSPROC
) (GLsizei n
, const GLuint
*buffers
);
2271 typedef void (APIENTRYP PFNGLGENBUFFERSPROC
) (GLsizei n
, GLuint
*buffers
);
2272 typedef GLboolean (APIENTRYP PFNGLISBUFFERPROC
) (GLuint buffer
);
2273 typedef void (APIENTRYP PFNGLBUFFERDATAPROC
) (GLenum target
, GLsizeiptr size
, const GLvoid
*data
, GLenum usage
);
2274 typedef void (APIENTRYP PFNGLBUFFERSUBDATAPROC
) (GLenum target
, GLintptr offset
, GLsizeiptr size
, const GLvoid
*data
);
2275 typedef void (APIENTRYP PFNGLGETBUFFERSUBDATAPROC
) (GLenum target
, GLintptr offset
, GLsizeiptr size
, GLvoid
*data
);
2276 typedef GLvoid
* (APIENTRYP PFNGLMAPBUFFERPROC
) (GLenum target
, GLenum access
);
2277 typedef GLboolean (APIENTRYP PFNGLUNMAPBUFFERPROC
) (GLenum target
);
2278 typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERIVPROC
) (GLenum target
, GLenum pname
, GLint
*params
);
2279 typedef void (APIENTRYP PFNGLGETBUFFERPOINTERVPROC
) (GLenum target
, GLenum pname
, GLvoid
* *params
);
2282 #ifndef GL_VERSION_2_0
2283 #define GL_VERSION_2_0 1
2284 #ifdef GL3_PROTOTYPES
2285 GLAPI
void APIENTRY
glBlendEquationSeparate (GLenum modeRGB
, GLenum modeAlpha
);
2286 GLAPI
void APIENTRY
glDrawBuffers (GLsizei n
, const GLenum
*bufs
);
2287 GLAPI
void APIENTRY
glStencilOpSeparate (GLenum face
, GLenum sfail
, GLenum dpfail
, GLenum dppass
);
2288 GLAPI
void APIENTRY
glStencilFuncSeparate (GLenum face
, GLenum func
, GLint ref
, GLuint mask
);
2289 GLAPI
void APIENTRY
glStencilMaskSeparate (GLenum face
, GLuint mask
);
2290 GLAPI
void APIENTRY
glAttachShader (GLuint program
, GLuint shader
);
2291 GLAPI
void APIENTRY
glBindAttribLocation (GLuint program
, GLuint index
, const GLchar
*name
);
2292 GLAPI
void APIENTRY
glCompileShader (GLuint shader
);
2293 GLAPI GLuint APIENTRY
glCreateProgram (void);
2294 GLAPI GLuint APIENTRY
glCreateShader (GLenum type
);
2295 GLAPI
void APIENTRY
glDeleteProgram (GLuint program
);
2296 GLAPI
void APIENTRY
glDeleteShader (GLuint shader
);
2297 GLAPI
void APIENTRY
glDetachShader (GLuint program
, GLuint shader
);
2298 GLAPI
void APIENTRY
glDisableVertexAttribArray (GLuint index
);
2299 GLAPI
void APIENTRY
glEnableVertexAttribArray (GLuint index
);
2300 GLAPI
void APIENTRY
glGetActiveAttrib (GLuint program
, GLuint index
, GLsizei bufSize
, GLsizei
*length
, GLint
*size
, GLenum
*type
, GLchar
*name
);
2301 GLAPI
void APIENTRY
glGetActiveUniform (GLuint program
, GLuint index
, GLsizei bufSize
, GLsizei
*length
, GLint
*size
, GLenum
*type
, GLchar
*name
);
2302 GLAPI
void APIENTRY
glGetAttachedShaders (GLuint program
, GLsizei maxCount
, GLsizei
*count
, GLuint
*obj
);
2303 GLAPI GLint APIENTRY
glGetAttribLocation (GLuint program
, const GLchar
*name
);
2304 GLAPI
void APIENTRY
glGetProgramiv (GLuint program
, GLenum pname
, GLint
*params
);
2305 GLAPI
void APIENTRY
glGetProgramInfoLog (GLuint program
, GLsizei bufSize
, GLsizei
*length
, GLchar
*infoLog
);
2306 GLAPI
void APIENTRY
glGetShaderiv (GLuint shader
, GLenum pname
, GLint
*params
);
2307 GLAPI
void APIENTRY
glGetShaderInfoLog (GLuint shader
, GLsizei bufSize
, GLsizei
*length
, GLchar
*infoLog
);
2308 GLAPI
void APIENTRY
glGetShaderSource (GLuint shader
, GLsizei bufSize
, GLsizei
*length
, GLchar
*source
);
2309 GLAPI GLint APIENTRY
glGetUniformLocation (GLuint program
, const GLchar
*name
);
2310 GLAPI
void APIENTRY
glGetUniformfv (GLuint program
, GLint location
, GLfloat
*params
);
2311 GLAPI
void APIENTRY
glGetUniformiv (GLuint program
, GLint location
, GLint
*params
);
2312 GLAPI
void APIENTRY
glGetVertexAttribdv (GLuint index
, GLenum pname
, GLdouble
*params
);
2313 GLAPI
void APIENTRY
glGetVertexAttribfv (GLuint index
, GLenum pname
, GLfloat
*params
);
2314 GLAPI
void APIENTRY
glGetVertexAttribiv (GLuint index
, GLenum pname
, GLint
*params
);
2315 GLAPI
void APIENTRY
glGetVertexAttribPointerv (GLuint index
, GLenum pname
, GLvoid
* *pointer
);
2316 GLAPI GLboolean APIENTRY
glIsProgram (GLuint program
);
2317 GLAPI GLboolean APIENTRY
glIsShader (GLuint shader
);
2318 GLAPI
void APIENTRY
glLinkProgram (GLuint program
);
2319 GLAPI
void APIENTRY
glShaderSource (GLuint shader
, GLsizei count
, const GLchar
* *string
, const GLint
*length
);
2320 GLAPI
void APIENTRY
glUseProgram (GLuint program
);
2321 GLAPI
void APIENTRY
glUniform1f (GLint location
, GLfloat v0
);
2322 GLAPI
void APIENTRY
glUniform2f (GLint location
, GLfloat v0
, GLfloat v1
);
2323 GLAPI
void APIENTRY
glUniform3f (GLint location
, GLfloat v0
, GLfloat v1
, GLfloat v2
);
2324 GLAPI
void APIENTRY
glUniform4f (GLint location
, GLfloat v0
, GLfloat v1
, GLfloat v2
, GLfloat v3
);
2325 GLAPI
void APIENTRY
glUniform1i (GLint location
, GLint v0
);
2326 GLAPI
void APIENTRY
glUniform2i (GLint location
, GLint v0
, GLint v1
);
2327 GLAPI
void APIENTRY
glUniform3i (GLint location
, GLint v0
, GLint v1
, GLint v2
);
2328 GLAPI
void APIENTRY
glUniform4i (GLint location
, GLint v0
, GLint v1
, GLint v2
, GLint v3
);
2329 GLAPI
void APIENTRY
glUniform1fv (GLint location
, GLsizei count
, const GLfloat
*value
);
2330 GLAPI
void APIENTRY
glUniform2fv (GLint location
, GLsizei count
, const GLfloat
*value
);
2331 GLAPI
void APIENTRY
glUniform3fv (GLint location
, GLsizei count
, const GLfloat
*value
);
2332 GLAPI
void APIENTRY
glUniform4fv (GLint location
, GLsizei count
, const GLfloat
*value
);
2333 GLAPI
void APIENTRY
glUniform1iv (GLint location
, GLsizei count
, const GLint
*value
);
2334 GLAPI
void APIENTRY
glUniform2iv (GLint location
, GLsizei count
, const GLint
*value
);
2335 GLAPI
void APIENTRY
glUniform3iv (GLint location
, GLsizei count
, const GLint
*value
);
2336 GLAPI
void APIENTRY
glUniform4iv (GLint location
, GLsizei count
, const GLint
*value
);
2337 GLAPI
void APIENTRY
glUniformMatrix2fv (GLint location
, GLsizei count
, GLboolean transpose
, const GLfloat
*value
);
2338 GLAPI
void APIENTRY
glUniformMatrix3fv (GLint location
, GLsizei count
, GLboolean transpose
, const GLfloat
*value
);
2339 GLAPI
void APIENTRY
glUniformMatrix4fv (GLint location
, GLsizei count
, GLboolean transpose
, const GLfloat
*value
);
2340 GLAPI
void APIENTRY
glValidateProgram (GLuint program
);
2341 GLAPI
void APIENTRY
glVertexAttrib1d (GLuint index
, GLdouble x
);
2342 GLAPI
void APIENTRY
glVertexAttrib1dv (GLuint index
, const GLdouble
*v
);
2343 GLAPI
void APIENTRY
glVertexAttrib1f (GLuint index
, GLfloat x
);
2344 GLAPI
void APIENTRY
glVertexAttrib1fv (GLuint index
, const GLfloat
*v
);
2345 GLAPI
void APIENTRY
glVertexAttrib1s (GLuint index
, GLshort x
);
2346 GLAPI
void APIENTRY
glVertexAttrib1sv (GLuint index
, const GLshort
*v
);
2347 GLAPI
void APIENTRY
glVertexAttrib2d (GLuint index
, GLdouble x
, GLdouble y
);
2348 GLAPI
void APIENTRY
glVertexAttrib2dv (GLuint index
, const GLdouble
*v
);
2349 GLAPI
void APIENTRY
glVertexAttrib2f (GLuint index
, GLfloat x
, GLfloat y
);
2350 GLAPI
void APIENTRY
glVertexAttrib2fv (GLuint index
, const GLfloat
*v
);
2351 GLAPI
void APIENTRY
glVertexAttrib2s (GLuint index
, GLshort x
, GLshort y
);
2352 GLAPI
void APIENTRY
glVertexAttrib2sv (GLuint index
, const GLshort
*v
);
2353 GLAPI
void APIENTRY
glVertexAttrib3d (GLuint index
, GLdouble x
, GLdouble y
, GLdouble z
);
2354 GLAPI
void APIENTRY
glVertexAttrib3dv (GLuint index
, const GLdouble
*v
);
2355 GLAPI
void APIENTRY
glVertexAttrib3f (GLuint index
, GLfloat x
, GLfloat y
, GLfloat z
);
2356 GLAPI
void APIENTRY
glVertexAttrib3fv (GLuint index
, const GLfloat
*v
);
2357 GLAPI
void APIENTRY
glVertexAttrib3s (GLuint index
, GLshort x
, GLshort y
, GLshort z
);
2358 GLAPI
void APIENTRY
glVertexAttrib3sv (GLuint index
, const GLshort
*v
);
2359 GLAPI
void APIENTRY
glVertexAttrib4Nbv (GLuint index
, const GLbyte
*v
);
2360 GLAPI
void APIENTRY
glVertexAttrib4Niv (GLuint index
, const GLint
*v
);
2361 GLAPI
void APIENTRY
glVertexAttrib4Nsv (GLuint index
, const GLshort
*v
);
2362 GLAPI
void APIENTRY
glVertexAttrib4Nub (GLuint index
, GLubyte x
, GLubyte y
, GLubyte z
, GLubyte w
);
2363 GLAPI
void APIENTRY
glVertexAttrib4Nubv (GLuint index
, const GLubyte
*v
);
2364 GLAPI
void APIENTRY
glVertexAttrib4Nuiv (GLuint index
, const GLuint
*v
);
2365 GLAPI
void APIENTRY
glVertexAttrib4Nusv (GLuint index
, const GLushort
*v
);
2366 GLAPI
void APIENTRY
glVertexAttrib4bv (GLuint index
, const GLbyte
*v
);
2367 GLAPI
void APIENTRY
glVertexAttrib4d (GLuint index
, GLdouble x
, GLdouble y
, GLdouble z
, GLdouble w
);
2368 GLAPI
void APIENTRY
glVertexAttrib4dv (GLuint index
, const GLdouble
*v
);
2369 GLAPI
void APIENTRY
glVertexAttrib4f (GLuint index
, GLfloat x
, GLfloat y
, GLfloat z
, GLfloat w
);
2370 GLAPI
void APIENTRY
glVertexAttrib4fv (GLuint index
, const GLfloat
*v
);
2371 GLAPI
void APIENTRY
glVertexAttrib4iv (GLuint index
, const GLint
*v
);
2372 GLAPI
void APIENTRY
glVertexAttrib4s (GLuint index
, GLshort x
, GLshort y
, GLshort z
, GLshort w
);
2373 GLAPI
void APIENTRY
glVertexAttrib4sv (GLuint index
, const GLshort
*v
);
2374 GLAPI
void APIENTRY
glVertexAttrib4ubv (GLuint index
, const GLubyte
*v
);
2375 GLAPI
void APIENTRY
glVertexAttrib4uiv (GLuint index
, const GLuint
*v
);
2376 GLAPI
void APIENTRY
glVertexAttrib4usv (GLuint index
, const GLushort
*v
);
2377 GLAPI
void APIENTRY
glVertexAttribPointer (GLuint index
, GLint size
, GLenum type
, GLboolean normalized
, GLsizei stride
, const GLvoid
*pointer
);
2378 #endif /* GL3_PROTOTYPES */
2379 typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEPROC
) (GLenum modeRGB
, GLenum modeAlpha
);
2380 typedef void (APIENTRYP PFNGLDRAWBUFFERSPROC
) (GLsizei n
, const GLenum
*bufs
);
2381 typedef void (APIENTRYP PFNGLSTENCILOPSEPARATEPROC
) (GLenum face
, GLenum sfail
, GLenum dpfail
, GLenum dppass
);
2382 typedef void (APIENTRYP PFNGLSTENCILFUNCSEPARATEPROC
) (GLenum face
, GLenum func
, GLint ref
, GLuint mask
);
2383 typedef void (APIENTRYP PFNGLSTENCILMASKSEPARATEPROC
) (GLenum face
, GLuint mask
);
2384 typedef void (APIENTRYP PFNGLATTACHSHADERPROC
) (GLuint program
, GLuint shader
);
2385 typedef void (APIENTRYP PFNGLBINDATTRIBLOCATIONPROC
) (GLuint program
, GLuint index
, const GLchar
*name
);
2386 typedef void (APIENTRYP PFNGLCOMPILESHADERPROC
) (GLuint shader
);
2387 typedef GLuint (APIENTRYP PFNGLCREATEPROGRAMPROC
) (void);
2388 typedef GLuint (APIENTRYP PFNGLCREATESHADERPROC
) (GLenum type
);
2389 typedef void (APIENTRYP PFNGLDELETEPROGRAMPROC
) (GLuint program
);
2390 typedef void (APIENTRYP PFNGLDELETESHADERPROC
) (GLuint shader
);
2391 typedef void (APIENTRYP PFNGLDETACHSHADERPROC
) (GLuint program
, GLuint shader
);
2392 typedef void (APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYPROC
) (GLuint index
);
2393 typedef void (APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYPROC
) (GLuint index
);
2394 typedef void (APIENTRYP PFNGLGETACTIVEATTRIBPROC
) (GLuint program
, GLuint index
, GLsizei bufSize
, GLsizei
*length
, GLint
*size
, GLenum
*type
, GLchar
*name
);
2395 typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMPROC
) (GLuint program
, GLuint index
, GLsizei bufSize
, GLsizei
*length
, GLint
*size
, GLenum
*type
, GLchar
*name
);
2396 typedef void (APIENTRYP PFNGLGETATTACHEDSHADERSPROC
) (GLuint program
, GLsizei maxCount
, GLsizei
*count
, GLuint
*obj
);
2397 typedef GLint (APIENTRYP PFNGLGETATTRIBLOCATIONPROC
) (GLuint program
, const GLchar
*name
);
2398 typedef void (APIENTRYP PFNGLGETPROGRAMIVPROC
) (GLuint program
, GLenum pname
, GLint
*params
);
2399 typedef void (APIENTRYP PFNGLGETPROGRAMINFOLOGPROC
) (GLuint program
, GLsizei bufSize
, GLsizei
*length
, GLchar
*infoLog
);
2400 typedef void (APIENTRYP PFNGLGETSHADERIVPROC
) (GLuint shader
, GLenum pname
, GLint
*params
);
2401 typedef void (APIENTRYP PFNGLGETSHADERINFOLOGPROC
) (GLuint shader
, GLsizei bufSize
, GLsizei
*length
, GLchar
*infoLog
);
2402 typedef void (APIENTRYP PFNGLGETSHADERSOURCEPROC
) (GLuint shader
, GLsizei bufSize
, GLsizei
*length
, GLchar
*source
);
2403 typedef GLint (APIENTRYP PFNGLGETUNIFORMLOCATIONPROC
) (GLuint program
, const GLchar
*name
);
2404 typedef void (APIENTRYP PFNGLGETUNIFORMFVPROC
) (GLuint program
, GLint location
, GLfloat
*params
);
2405 typedef void (APIENTRYP PFNGLGETUNIFORMIVPROC
) (GLuint program
, GLint location
, GLint
*params
);
2406 typedef void (APIENTRYP PFNGLGETVERTEXATTRIBDVPROC
) (GLuint index
, GLenum pname
, GLdouble
*params
);
2407 typedef void (APIENTRYP PFNGLGETVERTEXATTRIBFVPROC
) (GLuint index
, GLenum pname
, GLfloat
*params
);
2408 typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIVPROC
) (GLuint index
, GLenum pname
, GLint
*params
);
2409 typedef void (APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVPROC
) (GLuint index
, GLenum pname
, GLvoid
* *pointer
);
2410 typedef GLboolean (APIENTRYP PFNGLISPROGRAMPROC
) (GLuint program
);
2411 typedef GLboolean (APIENTRYP PFNGLISSHADERPROC
) (GLuint shader
);
2412 typedef void (APIENTRYP PFNGLLINKPROGRAMPROC
) (GLuint program
);
2413 typedef void (APIENTRYP PFNGLSHADERSOURCEPROC
) (GLuint shader
, GLsizei count
, const GLchar
* *string
, const GLint
*length
);
2414 typedef void (APIENTRYP PFNGLUSEPROGRAMPROC
) (GLuint program
);
2415 typedef void (APIENTRYP PFNGLUNIFORM1FPROC
) (GLint location
, GLfloat v0
);
2416 typedef void (APIENTRYP PFNGLUNIFORM2FPROC
) (GLint location
, GLfloat v0
, GLfloat v1
);
2417 typedef void (APIENTRYP PFNGLUNIFORM3FPROC
) (GLint location
, GLfloat v0
, GLfloat v1
, GLfloat v2
);
2418 typedef void (APIENTRYP PFNGLUNIFORM4FPROC
) (GLint location
, GLfloat v0
, GLfloat v1
, GLfloat v2
, GLfloat v3
);
2419 typedef void (APIENTRYP PFNGLUNIFORM1IPROC
) (GLint location
, GLint v0
);
2420 typedef void (APIENTRYP PFNGLUNIFORM2IPROC
) (GLint location
, GLint v0
, GLint v1
);
2421 typedef void (APIENTRYP PFNGLUNIFORM3IPROC
) (GLint location
, GLint v0
, GLint v1
, GLint v2
);
2422 typedef void (APIENTRYP PFNGLUNIFORM4IPROC
) (GLint location
, GLint v0
, GLint v1
, GLint v2
, GLint v3
);
2423 typedef void (APIENTRYP PFNGLUNIFORM1FVPROC
) (GLint location
, GLsizei count
, const GLfloat
*value
);
2424 typedef void (APIENTRYP PFNGLUNIFORM2FVPROC
) (GLint location
, GLsizei count
, const GLfloat
*value
);
2425 typedef void (APIENTRYP PFNGLUNIFORM3FVPROC
) (GLint location
, GLsizei count
, const GLfloat
*value
);
2426 typedef void (APIENTRYP PFNGLUNIFORM4FVPROC
) (GLint location
, GLsizei count
, const GLfloat
*value
);
2427 typedef void (APIENTRYP PFNGLUNIFORM1IVPROC
) (GLint location
, GLsizei count
, const GLint
*value
);
2428 typedef void (APIENTRYP PFNGLUNIFORM2IVPROC
) (GLint location
, GLsizei count
, const GLint
*value
);
2429 typedef void (APIENTRYP PFNGLUNIFORM3IVPROC
) (GLint location
, GLsizei count
, const GLint
*value
);
2430 typedef void (APIENTRYP PFNGLUNIFORM4IVPROC
) (GLint location
, GLsizei count
, const GLint
*value
);
2431 typedef void (APIENTRYP PFNGLUNIFORMMATRIX2FVPROC
) (GLint location
, GLsizei count
, GLboolean transpose
, const GLfloat
*value
);
2432 typedef void (APIENTRYP PFNGLUNIFORMMATRIX3FVPROC
) (GLint location
, GLsizei count
, GLboolean transpose
, const GLfloat
*value
);
2433 typedef void (APIENTRYP PFNGLUNIFORMMATRIX4FVPROC
) (GLint location
, GLsizei count
, GLboolean transpose
, const GLfloat
*value
);
2434 typedef void (APIENTRYP PFNGLVALIDATEPROGRAMPROC
) (GLuint program
);
2435 typedef void (APIENTRYP PFNGLVERTEXATTRIB1DPROC
) (GLuint index
, GLdouble x
);
2436 typedef void (APIENTRYP PFNGLVERTEXATTRIB1DVPROC
) (GLuint index
, const GLdouble
*v
);
2437 typedef void (APIENTRYP PFNGLVERTEXATTRIB1FPROC
) (GLuint index
, GLfloat x
);
2438 typedef void (APIENTRYP PFNGLVERTEXATTRIB1FVPROC
) (GLuint index
, const GLfloat
*v
);
2439 typedef void (APIENTRYP PFNGLVERTEXATTRIB1SPROC
) (GLuint index
, GLshort x
);
2440 typedef void (APIENTRYP PFNGLVERTEXATTRIB1SVPROC
) (GLuint index
, const GLshort
*v
);
2441 typedef void (APIENTRYP PFNGLVERTEXATTRIB2DPROC
) (GLuint index
, GLdouble x
, GLdouble y
);
2442 typedef void (APIENTRYP PFNGLVERTEXATTRIB2DVPROC
) (GLuint index
, const GLdouble
*v
);
2443 typedef void (APIENTRYP PFNGLVERTEXATTRIB2FPROC
) (GLuint index
, GLfloat x
, GLfloat y
);
2444 typedef void (APIENTRYP PFNGLVERTEXATTRIB2FVPROC
) (GLuint index
, const GLfloat
*v
);
2445 typedef void (APIENTRYP PFNGLVERTEXATTRIB2SPROC
) (GLuint index
, GLshort x
, GLshort y
);
2446 typedef void (APIENTRYP PFNGLVERTEXATTRIB2SVPROC
) (GLuint index
, const GLshort
*v
);
2447 typedef void (APIENTRYP PFNGLVERTEXATTRIB3DPROC
) (GLuint index
, GLdouble x
, GLdouble y
, GLdouble z
);
2448 typedef void (APIENTRYP PFNGLVERTEXATTRIB3DVPROC
) (GLuint index
, const GLdouble
*v
);
2449 typedef void (APIENTRYP PFNGLVERTEXATTRIB3FPROC
) (GLuint index
, GLfloat x
, GLfloat y
, GLfloat z
);
2450 typedef void (APIENTRYP PFNGLVERTEXATTRIB3FVPROC
) (GLuint index
, const GLfloat
*v
);
2451 typedef void (APIENTRYP PFNGLVERTEXATTRIB3SPROC
) (GLuint index
, GLshort x
, GLshort y
, GLshort z
);
2452 typedef void (APIENTRYP PFNGLVERTEXATTRIB3SVPROC
) (GLuint index
, const GLshort
*v
);
2453 typedef void (APIENTRYP PFNGLVERTEXATTRIB4NBVPROC
) (GLuint index
, const GLbyte
*v
);
2454 typedef void (APIENTRYP PFNGLVERTEXATTRIB4NIVPROC
) (GLuint index
, const GLint
*v
);
2455 typedef void (APIENTRYP PFNGLVERTEXATTRIB4NSVPROC
) (GLuint index
, const GLshort
*v
);
2456 typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBPROC
) (GLuint index
, GLubyte x
, GLubyte y
, GLubyte z
, GLubyte w
);
2457 typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBVPROC
) (GLuint index
, const GLubyte
*v
);
2458 typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUIVPROC
) (GLuint index
, const GLuint
*v
);
2459 typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUSVPROC
) (GLuint index
, const GLushort
*v
);
2460 typedef void (APIENTRYP PFNGLVERTEXATTRIB4BVPROC
) (GLuint index
, const GLbyte
*v
);
2461 typedef void (APIENTRYP PFNGLVERTEXATTRIB4DPROC
) (GLuint index
, GLdouble x
, GLdouble y
, GLdouble z
, GLdouble w
);
2462 typedef void (APIENTRYP PFNGLVERTEXATTRIB4DVPROC
) (GLuint index
, const GLdouble
*v
);
2463 typedef void (APIENTRYP PFNGLVERTEXATTRIB4FPROC
) (GLuint index
, GLfloat x
, GLfloat y
, GLfloat z
, GLfloat w
);
2464 typedef void (APIENTRYP PFNGLVERTEXATTRIB4FVPROC
) (GLuint index
, const GLfloat
*v
);
2465 typedef void (APIENTRYP PFNGLVERTEXATTRIB4IVPROC
) (GLuint index
, const GLint
*v
);
2466 typedef void (APIENTRYP PFNGLVERTEXATTRIB4SPROC
) (GLuint index
, GLshort x
, GLshort y
, GLshort z
, GLshort w
);
2467 typedef void (APIENTRYP PFNGLVERTEXATTRIB4SVPROC
) (GLuint index
, const GLshort
*v
);
2468 typedef void (APIENTRYP PFNGLVERTEXATTRIB4UBVPROC
) (GLuint index
, const GLubyte
*v
);
2469 typedef void (APIENTRYP PFNGLVERTEXATTRIB4UIVPROC
) (GLuint index
, const GLuint
*v
);
2470 typedef void (APIENTRYP PFNGLVERTEXATTRIB4USVPROC
) (GLuint index
, const GLushort
*v
);
2471 typedef void (APIENTRYP PFNGLVERTEXATTRIBPOINTERPROC
) (GLuint index
, GLint size
, GLenum type
, GLboolean normalized
, GLsizei stride
, const GLvoid
*pointer
);
2474 #ifndef GL_VERSION_2_1
2475 #define GL_VERSION_2_1 1
2476 #ifdef GL3_PROTOTYPES
2477 GLAPI
void APIENTRY
glUniformMatrix2x3fv (GLint location
, GLsizei count
, GLboolean transpose
, const GLfloat
*value
);
2478 GLAPI
void APIENTRY
glUniformMatrix3x2fv (GLint location
, GLsizei count
, GLboolean transpose
, const GLfloat
*value
);
2479 GLAPI
void APIENTRY
glUniformMatrix2x4fv (GLint location
, GLsizei count
, GLboolean transpose
, const GLfloat
*value
);
2480 GLAPI
void APIENTRY
glUniformMatrix4x2fv (GLint location
, GLsizei count
, GLboolean transpose
, const GLfloat
*value
);
2481 GLAPI
void APIENTRY
glUniformMatrix3x4fv (GLint location
, GLsizei count
, GLboolean transpose
, const GLfloat
*value
);
2482 GLAPI
void APIENTRY
glUniformMatrix4x3fv (GLint location
, GLsizei count
, GLboolean transpose
, const GLfloat
*value
);
2483 #endif /* GL3_PROTOTYPES */
2484 typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X3FVPROC
) (GLint location
, GLsizei count
, GLboolean transpose
, const GLfloat
*value
);
2485 typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X2FVPROC
) (GLint location
, GLsizei count
, GLboolean transpose
, const GLfloat
*value
);
2486 typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X4FVPROC
) (GLint location
, GLsizei count
, GLboolean transpose
, const GLfloat
*value
);
2487 typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X2FVPROC
) (GLint location
, GLsizei count
, GLboolean transpose
, const GLfloat
*value
);
2488 typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X4FVPROC
) (GLint location
, GLsizei count
, GLboolean transpose
, const GLfloat
*value
);
2489 typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X3FVPROC
) (GLint location
, GLsizei count
, GLboolean transpose
, const GLfloat
*value
);
2492 #ifndef GL_VERSION_3_0
2493 #define GL_VERSION_3_0 1
2494 /* OpenGL 3.0 also reuses entry points from these extensions: */
2495 /* ARB_framebuffer_object */
2496 /* ARB_map_buffer_range */
2497 /* ARB_vertex_array_object */
2498 #ifdef GL3_PROTOTYPES
2499 GLAPI
void APIENTRY
glColorMaski (GLuint index
, GLboolean r
, GLboolean g
, GLboolean b
, GLboolean a
);
2500 GLAPI
void APIENTRY
glGetBooleani_v (GLenum target
, GLuint index
, GLboolean
*data
);
2501 GLAPI
void APIENTRY
glGetIntegeri_v (GLenum target
, GLuint index
, GLint
*data
);
2502 GLAPI
void APIENTRY
glEnablei (GLenum target
, GLuint index
);
2503 GLAPI
void APIENTRY
glDisablei (GLenum target
, GLuint index
);
2504 GLAPI GLboolean APIENTRY
glIsEnabledi (GLenum target
, GLuint index
);
2505 GLAPI
void APIENTRY
glBeginTransformFeedback (GLenum primitiveMode
);
2506 GLAPI
void APIENTRY
glEndTransformFeedback (void);
2507 GLAPI
void APIENTRY
glBindBufferRange (GLenum target
, GLuint index
, GLuint buffer
, GLintptr offset
, GLsizeiptr size
);
2508 GLAPI
void APIENTRY
glBindBufferBase (GLenum target
, GLuint index
, GLuint buffer
);
2509 GLAPI
void APIENTRY
glTransformFeedbackVaryings (GLuint program
, GLsizei count
, const GLchar
* *varyings
, GLenum bufferMode
);
2510 GLAPI
void APIENTRY
glGetTransformFeedbackVarying (GLuint program
, GLuint index
, GLsizei bufSize
, GLsizei
*length
, GLsizei
*size
, GLenum
*type
, GLchar
*name
);
2511 GLAPI
void APIENTRY
glClampColor (GLenum target
, GLenum clamp
);
2512 GLAPI
void APIENTRY
glBeginConditionalRender (GLuint id
, GLenum mode
);
2513 GLAPI
void APIENTRY
glEndConditionalRender (void);
2514 GLAPI
void APIENTRY
glVertexAttribIPointer (GLuint index
, GLint size
, GLenum type
, GLsizei stride
, const GLvoid
*pointer
);
2515 GLAPI
void APIENTRY
glGetVertexAttribIiv (GLuint index
, GLenum pname
, GLint
*params
);
2516 GLAPI
void APIENTRY
glGetVertexAttribIuiv (GLuint index
, GLenum pname
, GLuint
*params
);
2517 GLAPI
void APIENTRY
glVertexAttribI1i (GLuint index
, GLint x
);
2518 GLAPI
void APIENTRY
glVertexAttribI2i (GLuint index
, GLint x
, GLint y
);
2519 GLAPI
void APIENTRY
glVertexAttribI3i (GLuint index
, GLint x
, GLint y
, GLint z
);
2520 GLAPI
void APIENTRY
glVertexAttribI4i (GLuint index
, GLint x
, GLint y
, GLint z
, GLint w
);
2521 GLAPI
void APIENTRY
glVertexAttribI1ui (GLuint index
, GLuint x
);
2522 GLAPI
void APIENTRY
glVertexAttribI2ui (GLuint index
, GLuint x
, GLuint y
);
2523 GLAPI
void APIENTRY
glVertexAttribI3ui (GLuint index
, GLuint x
, GLuint y
, GLuint z
);
2524 GLAPI
void APIENTRY
glVertexAttribI4ui (GLuint index
, GLuint x
, GLuint y
, GLuint z
, GLuint w
);
2525 GLAPI
void APIENTRY
glVertexAttribI1iv (GLuint index
, const GLint
*v
);
2526 GLAPI
void APIENTRY
glVertexAttribI2iv (GLuint index
, const GLint
*v
);
2527 GLAPI
void APIENTRY
glVertexAttribI3iv (GLuint index
, const GLint
*v
);
2528 GLAPI
void APIENTRY
glVertexAttribI4iv (GLuint index
, const GLint
*v
);
2529 GLAPI
void APIENTRY
glVertexAttribI1uiv (GLuint index
, const GLuint
*v
);
2530 GLAPI
void APIENTRY
glVertexAttribI2uiv (GLuint index
, const GLuint
*v
);
2531 GLAPI
void APIENTRY
glVertexAttribI3uiv (GLuint index
, const GLuint
*v
);
2532 GLAPI
void APIENTRY
glVertexAttribI4uiv (GLuint index
, const GLuint
*v
);
2533 GLAPI
void APIENTRY
glVertexAttribI4bv (GLuint index
, const GLbyte
*v
);
2534 GLAPI
void APIENTRY
glVertexAttribI4sv (GLuint index
, const GLshort
*v
);
2535 GLAPI
void APIENTRY
glVertexAttribI4ubv (GLuint index
, const GLubyte
*v
);
2536 GLAPI
void APIENTRY
glVertexAttribI4usv (GLuint index
, const GLushort
*v
);
2537 GLAPI
void APIENTRY
glGetUniformuiv (GLuint program
, GLint location
, GLuint
*params
);
2538 GLAPI
void APIENTRY
glBindFragDataLocation (GLuint program
, GLuint color
, const GLchar
*name
);
2539 GLAPI GLint APIENTRY
glGetFragDataLocation (GLuint program
, const GLchar
*name
);
2540 GLAPI
void APIENTRY
glUniform1ui (GLint location
, GLuint v0
);
2541 GLAPI
void APIENTRY
glUniform2ui (GLint location
, GLuint v0
, GLuint v1
);
2542 GLAPI
void APIENTRY
glUniform3ui (GLint location
, GLuint v0
, GLuint v1
, GLuint v2
);
2543 GLAPI
void APIENTRY
glUniform4ui (GLint location
, GLuint v0
, GLuint v1
, GLuint v2
, GLuint v3
);
2544 GLAPI
void APIENTRY
glUniform1uiv (GLint location
, GLsizei count
, const GLuint
*value
);
2545 GLAPI
void APIENTRY
glUniform2uiv (GLint location
, GLsizei count
, const GLuint
*value
);
2546 GLAPI
void APIENTRY
glUniform3uiv (GLint location
, GLsizei count
, const GLuint
*value
);
2547 GLAPI
void APIENTRY
glUniform4uiv (GLint location
, GLsizei count
, const GLuint
*value
);
2548 GLAPI
void APIENTRY
glTexParameterIiv (GLenum target
, GLenum pname
, const GLint
*params
);
2549 GLAPI
void APIENTRY
glTexParameterIuiv (GLenum target
, GLenum pname
, const GLuint
*params
);
2550 GLAPI
void APIENTRY
glGetTexParameterIiv (GLenum target
, GLenum pname
, GLint
*params
);
2551 GLAPI
void APIENTRY
glGetTexParameterIuiv (GLenum target
, GLenum pname
, GLuint
*params
);
2552 GLAPI
void APIENTRY
glClearBufferiv (GLenum buffer
, GLint drawbuffer
, const GLint
*value
);
2553 GLAPI
void APIENTRY
glClearBufferuiv (GLenum buffer
, GLint drawbuffer
, const GLuint
*value
);
2554 GLAPI
void APIENTRY
glClearBufferfv (GLenum buffer
, GLint drawbuffer
, const GLfloat
*value
);
2555 GLAPI
void APIENTRY
glClearBufferfi (GLenum buffer
, GLint drawbuffer
, GLfloat depth
, GLint stencil
);
2556 GLAPI
const GLubyte
* APIENTRY
glGetStringi (GLenum name
, GLuint index
);
2557 #endif /* GL3_PROTOTYPES */
2558 typedef void (APIENTRYP PFNGLCOLORMASKIPROC
) (GLuint index
, GLboolean r
, GLboolean g
, GLboolean b
, GLboolean a
);
2559 typedef void (APIENTRYP PFNGLGETBOOLEANI_VPROC
) (GLenum target
, GLuint index
, GLboolean
*data
);
2560 typedef void (APIENTRYP PFNGLGETINTEGERI_VPROC
) (GLenum target
, GLuint index
, GLint
*data
);
2561 typedef void (APIENTRYP PFNGLENABLEIPROC
) (GLenum target
, GLuint index
);
2562 typedef void (APIENTRYP PFNGLDISABLEIPROC
) (GLenum target
, GLuint index
);
2563 typedef GLboolean (APIENTRYP PFNGLISENABLEDIPROC
) (GLenum target
, GLuint index
);
2564 typedef void (APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKPROC
) (GLenum primitiveMode
);
2565 typedef void (APIENTRYP PFNGLENDTRANSFORMFEEDBACKPROC
) (void);
2566 typedef void (APIENTRYP PFNGLBINDBUFFERRANGEPROC
) (GLenum target
, GLuint index
, GLuint buffer
, GLintptr offset
, GLsizeiptr size
);
2567 typedef void (APIENTRYP PFNGLBINDBUFFERBASEPROC
) (GLenum target
, GLuint index
, GLuint buffer
);
2568 typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSPROC
) (GLuint program
, GLsizei count
, const GLchar
* *varyings
, GLenum bufferMode
);
2569 typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGPROC
) (GLuint program
, GLuint index
, GLsizei bufSize
, GLsizei
*length
, GLsizei
*size
, GLenum
*type
, GLchar
*name
);
2570 typedef void (APIENTRYP PFNGLCLAMPCOLORPROC
) (GLenum target
, GLenum clamp
);
2571 typedef void (APIENTRYP PFNGLBEGINCONDITIONALRENDERPROC
) (GLuint id
, GLenum mode
);
2572 typedef void (APIENTRYP PFNGLENDCONDITIONALRENDERPROC
) (void);
2573 typedef void (APIENTRYP PFNGLVERTEXATTRIBIPOINTERPROC
) (GLuint index
, GLint size
, GLenum type
, GLsizei stride
, const GLvoid
*pointer
);
2574 typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIIVPROC
) (GLuint index
, GLenum pname
, GLint
*params
);
2575 typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIUIVPROC
) (GLuint index
, GLenum pname
, GLuint
*params
);
2576 typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IPROC
) (GLuint index
, GLint x
);
2577 typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IPROC
) (GLuint index
, GLint x
, GLint y
);
2578 typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IPROC
) (GLuint index
, GLint x
, GLint y
, GLint z
);
2579 typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IPROC
) (GLuint index
, GLint x
, GLint y
, GLint z
, GLint w
);
2580 typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIPROC
) (GLuint index
, GLuint x
);
2581 typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIPROC
) (GLuint index
, GLuint x
, GLuint y
);
2582 typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIPROC
) (GLuint index
, GLuint x
, GLuint y
, GLuint z
);
2583 typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIPROC
) (GLuint index
, GLuint x
, GLuint y
, GLuint z
, GLuint w
);
2584 typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IVPROC
) (GLuint index
, const GLint
*v
);
2585 typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IVPROC
) (GLuint index
, const GLint
*v
);
2586 typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IVPROC
) (GLuint index
, const GLint
*v
);
2587 typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IVPROC
) (GLuint index
, const GLint
*v
);
2588 typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIVPROC
) (GLuint index
, const GLuint
*v
);
2589 typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIVPROC
) (GLuint index
, const GLuint
*v
);
2590 typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIVPROC
) (GLuint index
, const GLuint
*v
);
2591 typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIVPROC
) (GLuint index
, const GLuint
*v
);
2592 typedef void (APIENTRYP PFNGLVERTEXATTRIBI4BVPROC
) (GLuint index
, const GLbyte
*v
);
2593 typedef void (APIENTRYP PFNGLVERTEXATTRIBI4SVPROC
) (GLuint index
, const GLshort
*v
);
2594 typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UBVPROC
) (GLuint index
, const GLubyte
*v
);
2595 typedef void (APIENTRYP PFNGLVERTEXATTRIBI4USVPROC
) (GLuint index
, const GLushort
*v
);
2596 typedef void (APIENTRYP PFNGLGETUNIFORMUIVPROC
) (GLuint program
, GLint location
, GLuint
*params
);
2597 typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONPROC
) (GLuint program
, GLuint color
, const GLchar
*name
);
2598 typedef GLint (APIENTRYP PFNGLGETFRAGDATALOCATIONPROC
) (GLuint program
, const GLchar
*name
);
2599 typedef void (APIENTRYP PFNGLUNIFORM1UIPROC
) (GLint location
, GLuint v0
);
2600 typedef void (APIENTRYP PFNGLUNIFORM2UIPROC
) (GLint location
, GLuint v0
, GLuint v1
);
2601 typedef void (APIENTRYP PFNGLUNIFORM3UIPROC
) (GLint location
, GLuint v0
, GLuint v1
, GLuint v2
);
2602 typedef void (APIENTRYP PFNGLUNIFORM4UIPROC
) (GLint location
, GLuint v0
, GLuint v1
, GLuint v2
, GLuint v3
);
2603 typedef void (APIENTRYP PFNGLUNIFORM1UIVPROC
) (GLint location
, GLsizei count
, const GLuint
*value
);
2604 typedef void (APIENTRYP PFNGLUNIFORM2UIVPROC
) (GLint location
, GLsizei count
, const GLuint
*value
);
2605 typedef void (APIENTRYP PFNGLUNIFORM3UIVPROC
) (GLint location
, GLsizei count
, const GLuint
*value
);
2606 typedef void (APIENTRYP PFNGLUNIFORM4UIVPROC
) (GLint location
, GLsizei count
, const GLuint
*value
);
2607 typedef void (APIENTRYP PFNGLTEXPARAMETERIIVPROC
) (GLenum target
, GLenum pname
, const GLint
*params
);
2608 typedef void (APIENTRYP PFNGLTEXPARAMETERIUIVPROC
) (GLenum target
, GLenum pname
, const GLuint
*params
);
2609 typedef void (APIENTRYP PFNGLGETTEXPARAMETERIIVPROC
) (GLenum target
, GLenum pname
, GLint
*params
);
2610 typedef void (APIENTRYP PFNGLGETTEXPARAMETERIUIVPROC
) (GLenum target
, GLenum pname
, GLuint
*params
);
2611 typedef void (APIENTRYP PFNGLCLEARBUFFERIVPROC
) (GLenum buffer
, GLint drawbuffer
, const GLint
*value
);
2612 typedef void (APIENTRYP PFNGLCLEARBUFFERUIVPROC
) (GLenum buffer
, GLint drawbuffer
, const GLuint
*value
);
2613 typedef void (APIENTRYP PFNGLCLEARBUFFERFVPROC
) (GLenum buffer
, GLint drawbuffer
, const GLfloat
*value
);
2614 typedef void (APIENTRYP PFNGLCLEARBUFFERFIPROC
) (GLenum buffer
, GLint drawbuffer
, GLfloat depth
, GLint stencil
);
2615 typedef const GLubyte
* (APIENTRYP PFNGLGETSTRINGIPROC
) (GLenum name
, GLuint index
);
2618 #ifndef GL_VERSION_3_1
2619 #define GL_VERSION_3_1 1
2620 /* OpenGL 3.1 also reuses entry points from these extensions: */
2621 /* ARB_copy_buffer */
2622 /* ARB_uniform_buffer_object */
2623 #ifdef GL3_PROTOTYPES
2624 GLAPI
void APIENTRY
glDrawArraysInstanced (GLenum mode
, GLint first
, GLsizei count
, GLsizei primcount
);
2625 GLAPI
void APIENTRY
glDrawElementsInstanced (GLenum mode
, GLsizei count
, GLenum type
, const GLvoid
*indices
, GLsizei primcount
);
2626 GLAPI
void APIENTRY
glTexBuffer (GLenum target
, GLenum internalformat
, GLuint buffer
);
2627 GLAPI
void APIENTRY
glPrimitiveRestartIndex (GLuint index
);
2628 #endif /* GL3_PROTOTYPES */
2629 typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDPROC
) (GLenum mode
, GLint first
, GLsizei count
, GLsizei primcount
);
2630 typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDPROC
) (GLenum mode
, GLsizei count
, GLenum type
, const GLvoid
*indices
, GLsizei primcount
);
2631 typedef void (APIENTRYP PFNGLTEXBUFFERPROC
) (GLenum target
, GLenum internalformat
, GLuint buffer
);
2632 typedef void (APIENTRYP PFNGLPRIMITIVERESTARTINDEXPROC
) (GLuint index
);
2635 #ifndef GL_VERSION_3_2
2636 #define GL_VERSION_3_2 1
2637 /* OpenGL 3.2 also reuses entry points from these extensions: */
2638 /* ARB_draw_elements_base_vertex */
2639 /* ARB_provoking_vertex */
2641 /* ARB_texture_multisample */
2642 #ifdef GL3_PROTOTYPES
2643 GLAPI
void APIENTRY
glGetInteger64i_v (GLenum target
, GLuint index
, GLint64
*data
);
2644 GLAPI
void APIENTRY
glGetBufferParameteri64v (GLenum target
, GLenum pname
, GLint64
*params
);
2645 GLAPI
void APIENTRY
glFramebufferTexture (GLenum target
, GLenum attachment
, GLuint texture
, GLint level
);
2646 #endif /* GL3_PROTOTYPES */
2647 typedef void (APIENTRYP PFNGLGETINTEGER64I_VPROC
) (GLenum target
, GLuint index
, GLint64
*data
);
2648 typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERI64VPROC
) (GLenum target
, GLenum pname
, GLint64
*params
);
2649 typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREPROC
) (GLenum target
, GLenum attachment
, GLuint texture
, GLint level
);
2652 #ifndef GL_VERSION_3_3
2653 #define GL_VERSION_3_3 1
2654 /* OpenGL 3.3 also reuses entry points from these extensions: */
2655 /* ARB_blend_func_extended */
2656 /* ARB_sampler_objects */
2657 /* ARB_explicit_attrib_location, but it has none */
2658 /* ARB_occlusion_query2 (no entry points) */
2659 /* ARB_shader_bit_encoding (no entry points) */
2660 /* ARB_texture_rgb10_a2ui (no entry points) */
2661 /* ARB_texture_swizzle (no entry points) */
2662 /* ARB_timer_query */
2663 /* ARB_vertex_type_2_10_10_10_rev */
2664 #ifdef GL3_PROTOTYPES
2665 GLAPI
void APIENTRY
glVertexAttribDivisor (GLuint index
, GLuint divisor
);
2666 #endif /* GL3_PROTOTYPES */
2667 typedef void (APIENTRYP PFNGLVERTEXATTRIBDIVISORPROC
) (GLuint index
, GLuint divisor
);
2670 #ifndef GL_VERSION_4_0
2671 #define GL_VERSION_4_0 1
2672 /* OpenGL 4.0 also reuses entry points from these extensions: */
2673 /* ARB_texture_query_lod (no entry points) */
2674 /* ARB_draw_indirect */
2675 /* ARB_gpu_shader5 (no entry points) */
2676 /* ARB_gpu_shader_fp64 */
2677 /* ARB_shader_subroutine */
2678 /* ARB_tessellation_shader */
2679 /* ARB_texture_buffer_object_rgb32 (no entry points) */
2680 /* ARB_texture_cube_map_array (no entry points) */
2681 /* ARB_texture_gather (no entry points) */
2682 /* ARB_transform_feedback2 */
2683 /* ARB_transform_feedback3 */
2684 #ifdef GL3_PROTOTYPES
2685 GLAPI
void APIENTRY
glMinSampleShading (GLclampf value
);
2686 GLAPI
void APIENTRY
glBlendEquationi (GLuint buf
, GLenum mode
);
2687 GLAPI
void APIENTRY
glBlendEquationSeparatei (GLuint buf
, GLenum modeRGB
, GLenum modeAlpha
);
2688 GLAPI
void APIENTRY
glBlendFunci (GLuint buf
, GLenum src
, GLenum dst
);
2689 GLAPI
void APIENTRY
glBlendFuncSeparatei (GLuint buf
, GLenum srcRGB
, GLenum dstRGB
, GLenum srcAlpha
, GLenum dstAlpha
);
2690 #endif /* GL3_PROTOTYPES */
2691 typedef void (APIENTRYP PFNGLMINSAMPLESHADINGPROC
) (GLclampf value
);
2692 typedef void (APIENTRYP PFNGLBLENDEQUATIONIPROC
) (GLuint buf
, GLenum mode
);
2693 typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEIPROC
) (GLuint buf
, GLenum modeRGB
, GLenum modeAlpha
);
2694 typedef void (APIENTRYP PFNGLBLENDFUNCIPROC
) (GLuint buf
, GLenum src
, GLenum dst
);
2695 typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEIPROC
) (GLuint buf
, GLenum srcRGB
, GLenum dstRGB
, GLenum srcAlpha
, GLenum dstAlpha
);
2698 #ifndef GL_VERSION_4_1
2699 #define GL_VERSION_4_1 1
2700 /* OpenGL 4.1 reuses entry points from these extensions: */
2701 /* ARB_ES2_compatibility */
2702 /* ARB_get_program_binary */
2703 /* ARB_separate_shader_objects */
2704 /* ARB_shader_precision (no entry points) */
2705 /* ARB_vertex_attrib_64bit */
2706 /* ARB_viewport_array */
2709 #ifndef GL_VERSION_4_2
2710 #define GL_VERSION_4_2 1
2711 /* OpenGL 4.2 reuses entry points from these extensions: */
2712 /* ARB_base_instance */
2713 /* ARB_shading_language_420pack (no entry points) */
2714 /* ARB_transform_feedback_instanced */
2715 /* ARB_compressed_texture_pixel_storage (no entry points) */
2716 /* ARB_conservative_depth (no entry points) */
2717 /* ARB_internalformat_query */
2718 /* ARB_map_buffer_alignment (no entry points) */
2719 /* ARB_shader_atomic_counters */
2720 /* ARB_shader_image_load_store */
2721 /* ARB_shading_language_packing (no entry points) */
2722 /* ARB_texture_storage */
2725 #ifndef GL_ARB_depth_buffer_float
2726 #define GL_ARB_depth_buffer_float 1
2729 #ifndef GL_ARB_framebuffer_object
2730 #define GL_ARB_framebuffer_object 1
2731 #ifdef GL3_PROTOTYPES
2732 GLAPI GLboolean APIENTRY
glIsRenderbuffer (GLuint renderbuffer
);
2733 GLAPI
void APIENTRY
glBindRenderbuffer (GLenum target
, GLuint renderbuffer
);
2734 GLAPI
void APIENTRY
glDeleteRenderbuffers (GLsizei n
, const GLuint
*renderbuffers
);
2735 GLAPI
void APIENTRY
glGenRenderbuffers (GLsizei n
, GLuint
*renderbuffers
);
2736 GLAPI
void APIENTRY
glRenderbufferStorage (GLenum target
, GLenum internalformat
, GLsizei width
, GLsizei height
);
2737 GLAPI
void APIENTRY
glGetRenderbufferParameteriv (GLenum target
, GLenum pname
, GLint
*params
);
2738 GLAPI GLboolean APIENTRY
glIsFramebuffer (GLuint framebuffer
);
2739 GLAPI
void APIENTRY
glBindFramebuffer (GLenum target
, GLuint framebuffer
);
2740 GLAPI
void APIENTRY
glDeleteFramebuffers (GLsizei n
, const GLuint
*framebuffers
);
2741 GLAPI
void APIENTRY
glGenFramebuffers (GLsizei n
, GLuint
*framebuffers
);
2742 GLAPI GLenum APIENTRY
glCheckFramebufferStatus (GLenum target
);
2743 GLAPI
void APIENTRY
glFramebufferTexture1D (GLenum target
, GLenum attachment
, GLenum textarget
, GLuint texture
, GLint level
);
2744 GLAPI
void APIENTRY
glFramebufferTexture2D (GLenum target
, GLenum attachment
, GLenum textarget
, GLuint texture
, GLint level
);
2745 GLAPI
void APIENTRY
glFramebufferTexture3D (GLenum target
, GLenum attachment
, GLenum textarget
, GLuint texture
, GLint level
, GLint zoffset
);
2746 GLAPI
void APIENTRY
glFramebufferRenderbuffer (GLenum target
, GLenum attachment
, GLenum renderbuffertarget
, GLuint renderbuffer
);
2747 GLAPI
void APIENTRY
glGetFramebufferAttachmentParameteriv (GLenum target
, GLenum attachment
, GLenum pname
, GLint
*params
);
2748 GLAPI
void APIENTRY
glGenerateMipmap (GLenum target
);
2749 GLAPI
void APIENTRY
glBlitFramebuffer (GLint srcX0
, GLint srcY0
, GLint srcX1
, GLint srcY1
, GLint dstX0
, GLint dstY0
, GLint dstX1
, GLint dstY1
, GLbitfield mask
, GLenum filter
);
2750 GLAPI
void APIENTRY
glRenderbufferStorageMultisample (GLenum target
, GLsizei samples
, GLenum internalformat
, GLsizei width
, GLsizei height
);
2751 GLAPI
void APIENTRY
glFramebufferTextureLayer (GLenum target
, GLenum attachment
, GLuint texture
, GLint level
, GLint layer
);
2752 #endif /* GL3_PROTOTYPES */
2753 typedef GLboolean (APIENTRYP PFNGLISRENDERBUFFERPROC
) (GLuint renderbuffer
);
2754 typedef void (APIENTRYP PFNGLBINDRENDERBUFFERPROC
) (GLenum target
, GLuint renderbuffer
);
2755 typedef void (APIENTRYP PFNGLDELETERENDERBUFFERSPROC
) (GLsizei n
, const GLuint
*renderbuffers
);
2756 typedef void (APIENTRYP PFNGLGENRENDERBUFFERSPROC
) (GLsizei n
, GLuint
*renderbuffers
);
2757 typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEPROC
) (GLenum target
, GLenum internalformat
, GLsizei width
, GLsizei height
);
2758 typedef void (APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVPROC
) (GLenum target
, GLenum pname
, GLint
*params
);
2759 typedef GLboolean (APIENTRYP PFNGLISFRAMEBUFFERPROC
) (GLuint framebuffer
);
2760 typedef void (APIENTRYP PFNGLBINDFRAMEBUFFERPROC
) (GLenum target
, GLuint framebuffer
);
2761 typedef void (APIENTRYP PFNGLDELETEFRAMEBUFFERSPROC
) (GLsizei n
, const GLuint
*framebuffers
);
2762 typedef void (APIENTRYP PFNGLGENFRAMEBUFFERSPROC
) (GLsizei n
, GLuint
*framebuffers
);
2763 typedef GLenum (APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSPROC
) (GLenum target
);
2764 typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE1DPROC
) (GLenum target
, GLenum attachment
, GLenum textarget
, GLuint texture
, GLint level
);
2765 typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DPROC
) (GLenum target
, GLenum attachment
, GLenum textarget
, GLuint texture
, GLint level
);
2766 typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DPROC
) (GLenum target
, GLenum attachment
, GLenum textarget
, GLuint texture
, GLint level
, GLint zoffset
);
2767 typedef void (APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFERPROC
) (GLenum target
, GLenum attachment
, GLenum renderbuffertarget
, GLuint renderbuffer
);
2768 typedef void (APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC
) (GLenum target
, GLenum attachment
, GLenum pname
, GLint
*params
);
2769 typedef void (APIENTRYP PFNGLGENERATEMIPMAPPROC
) (GLenum target
);
2770 typedef void (APIENTRYP PFNGLBLITFRAMEBUFFERPROC
) (GLint srcX0
, GLint srcY0
, GLint srcX1
, GLint srcY1
, GLint dstX0
, GLint dstY0
, GLint dstX1
, GLint dstY1
, GLbitfield mask
, GLenum filter
);
2771 typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC
) (GLenum target
, GLsizei samples
, GLenum internalformat
, GLsizei width
, GLsizei height
);
2772 typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERPROC
) (GLenum target
, GLenum attachment
, GLuint texture
, GLint level
, GLint layer
);
2775 #ifndef GL_ARB_framebuffer_sRGB
2776 #define GL_ARB_framebuffer_sRGB 1
2779 #ifndef GL_ARB_half_float_vertex
2780 #define GL_ARB_half_float_vertex 1
2783 #ifndef GL_ARB_map_buffer_range
2784 #define GL_ARB_map_buffer_range 1
2785 #ifdef GL3_PROTOTYPES
2786 GLAPI GLvoid
* APIENTRY
glMapBufferRange (GLenum target
, GLintptr offset
, GLsizeiptr length
, GLbitfield access
);
2787 GLAPI
void APIENTRY
glFlushMappedBufferRange (GLenum target
, GLintptr offset
, GLsizeiptr length
);
2788 #endif /* GL3_PROTOTYPES */
2789 typedef GLvoid
* (APIENTRYP PFNGLMAPBUFFERRANGEPROC
) (GLenum target
, GLintptr offset
, GLsizeiptr length
, GLbitfield access
);
2790 typedef void (APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEPROC
) (GLenum target
, GLintptr offset
, GLsizeiptr length
);
2793 #ifndef GL_ARB_texture_compression_rgtc
2794 #define GL_ARB_texture_compression_rgtc 1
2797 #ifndef GL_ARB_texture_rg
2798 #define GL_ARB_texture_rg 1
2801 #ifndef GL_ARB_vertex_array_object
2802 #define GL_ARB_vertex_array_object 1
2803 #ifdef GL3_PROTOTYPES
2804 GLAPI
void APIENTRY
glBindVertexArray (GLuint array
);
2805 GLAPI
void APIENTRY
glDeleteVertexArrays (GLsizei n
, const GLuint
*arrays
);
2806 GLAPI
void APIENTRY
glGenVertexArrays (GLsizei n
, GLuint
*arrays
);
2807 GLAPI GLboolean APIENTRY
glIsVertexArray (GLuint array
);
2808 #endif /* GL3_PROTOTYPES */
2809 typedef void (APIENTRYP PFNGLBINDVERTEXARRAYPROC
) (GLuint array
);
2810 typedef void (APIENTRYP PFNGLDELETEVERTEXARRAYSPROC
) (GLsizei n
, const GLuint
*arrays
);
2811 typedef void (APIENTRYP PFNGLGENVERTEXARRAYSPROC
) (GLsizei n
, GLuint
*arrays
);
2812 typedef GLboolean (APIENTRYP PFNGLISVERTEXARRAYPROC
) (GLuint array
);
2815 #ifndef GL_ARB_uniform_buffer_object
2816 #define GL_ARB_uniform_buffer_object 1
2817 #ifdef GL3_PROTOTYPES
2818 GLAPI
void APIENTRY
glGetUniformIndices (GLuint program
, GLsizei uniformCount
, const GLchar
* *uniformNames
, GLuint
*uniformIndices
);
2819 GLAPI
void APIENTRY
glGetActiveUniformsiv (GLuint program
, GLsizei uniformCount
, const GLuint
*uniformIndices
, GLenum pname
, GLint
*params
);
2820 GLAPI
void APIENTRY
glGetActiveUniformName (GLuint program
, GLuint uniformIndex
, GLsizei bufSize
, GLsizei
*length
, GLchar
*uniformName
);
2821 GLAPI GLuint APIENTRY
glGetUniformBlockIndex (GLuint program
, const GLchar
*uniformBlockName
);
2822 GLAPI
void APIENTRY
glGetActiveUniformBlockiv (GLuint program
, GLuint uniformBlockIndex
, GLenum pname
, GLint
*params
);
2823 GLAPI
void APIENTRY
glGetActiveUniformBlockName (GLuint program
, GLuint uniformBlockIndex
, GLsizei bufSize
, GLsizei
*length
, GLchar
*uniformBlockName
);
2824 GLAPI
void APIENTRY
glUniformBlockBinding (GLuint program
, GLuint uniformBlockIndex
, GLuint uniformBlockBinding
);
2825 #endif /* GL3_PROTOTYPES */
2826 typedef void (APIENTRYP PFNGLGETUNIFORMINDICESPROC
) (GLuint program
, GLsizei uniformCount
, const GLchar
* *uniformNames
, GLuint
*uniformIndices
);
2827 typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMSIVPROC
) (GLuint program
, GLsizei uniformCount
, const GLuint
*uniformIndices
, GLenum pname
, GLint
*params
);
2828 typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMNAMEPROC
) (GLuint program
, GLuint uniformIndex
, GLsizei bufSize
, GLsizei
*length
, GLchar
*uniformName
);
2829 typedef GLuint (APIENTRYP PFNGLGETUNIFORMBLOCKINDEXPROC
) (GLuint program
, const GLchar
*uniformBlockName
);
2830 typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKIVPROC
) (GLuint program
, GLuint uniformBlockIndex
, GLenum pname
, GLint
*params
);
2831 typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC
) (GLuint program
, GLuint uniformBlockIndex
, GLsizei bufSize
, GLsizei
*length
, GLchar
*uniformBlockName
);
2832 typedef void (APIENTRYP PFNGLUNIFORMBLOCKBINDINGPROC
) (GLuint program
, GLuint uniformBlockIndex
, GLuint uniformBlockBinding
);
2835 #ifndef GL_ARB_copy_buffer
2836 #define GL_ARB_copy_buffer 1
2837 #ifdef GL3_PROTOTYPES
2838 GLAPI
void APIENTRY
glCopyBufferSubData (GLenum readTarget
, GLenum writeTarget
, GLintptr readOffset
, GLintptr writeOffset
, GLsizeiptr size
);
2839 #endif /* GL3_PROTOTYPES */
2840 typedef void (APIENTRYP PFNGLCOPYBUFFERSUBDATAPROC
) (GLenum readTarget
, GLenum writeTarget
, GLintptr readOffset
, GLintptr writeOffset
, GLsizeiptr size
);
2843 #ifndef GL_ARB_depth_clamp
2844 #define GL_ARB_depth_clamp 1
2847 #ifndef GL_ARB_draw_elements_base_vertex
2848 #define GL_ARB_draw_elements_base_vertex 1
2849 #ifdef GL3_PROTOTYPES
2850 GLAPI
void APIENTRY
glDrawElementsBaseVertex (GLenum mode
, GLsizei count
, GLenum type
, const GLvoid
*indices
, GLint basevertex
);
2851 GLAPI
void APIENTRY
glDrawRangeElementsBaseVertex (GLenum mode
, GLuint start
, GLuint end
, GLsizei count
, GLenum type
, const GLvoid
*indices
, GLint basevertex
);
2852 GLAPI
void APIENTRY
glDrawElementsInstancedBaseVertex (GLenum mode
, GLsizei count
, GLenum type
, const GLvoid
*indices
, GLsizei primcount
, GLint basevertex
);
2853 GLAPI
void APIENTRY
glMultiDrawElementsBaseVertex (GLenum mode
, const GLsizei
*count
, GLenum type
, const GLvoid
* *indices
, GLsizei primcount
, const GLint
*basevertex
);
2854 #endif /* GL3_PROTOTYPES */
2855 typedef void (APIENTRYP PFNGLDRAWELEMENTSBASEVERTEXPROC
) (GLenum mode
, GLsizei count
, GLenum type
, const GLvoid
*indices
, GLint basevertex
);
2856 typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC
) (GLenum mode
, GLuint start
, GLuint end
, GLsizei count
, GLenum type
, const GLvoid
*indices
, GLint basevertex
);
2857 typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC
) (GLenum mode
, GLsizei count
, GLenum type
, const GLvoid
*indices
, GLsizei primcount
, GLint basevertex
);
2858 typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC
) (GLenum mode
, const GLsizei
*count
, GLenum type
, const GLvoid
* *indices
, GLsizei primcount
, const GLint
*basevertex
);
2861 #ifndef GL_ARB_fragment_coord_conventions
2862 #define GL_ARB_fragment_coord_conventions 1
2865 #ifndef GL_ARB_provoking_vertex
2866 #define GL_ARB_provoking_vertex 1
2867 #ifdef GL3_PROTOTYPES
2868 GLAPI
void APIENTRY
glProvokingVertex (GLenum mode
);
2869 #endif /* GL3_PROTOTYPES */
2870 typedef void (APIENTRYP PFNGLPROVOKINGVERTEXPROC
) (GLenum mode
);
2873 #ifndef GL_ARB_seamless_cube_map
2874 #define GL_ARB_seamless_cube_map 1
2878 #define GL_ARB_sync 1
2879 #ifdef GL3_PROTOTYPES
2880 GLAPI GLsync APIENTRY
glFenceSync (GLenum condition
, GLbitfield flags
);
2881 GLAPI GLboolean APIENTRY
glIsSync (GLsync sync
);
2882 GLAPI
void APIENTRY
glDeleteSync (GLsync sync
);
2883 GLAPI GLenum APIENTRY
glClientWaitSync (GLsync sync
, GLbitfield flags
, GLuint64 timeout
);
2884 GLAPI
void APIENTRY
glWaitSync (GLsync sync
, GLbitfield flags
, GLuint64 timeout
);
2885 GLAPI
void APIENTRY
glGetInteger64v (GLenum pname
, GLint64
*params
);
2886 GLAPI
void APIENTRY
glGetSynciv (GLsync sync
, GLenum pname
, GLsizei bufSize
, GLsizei
*length
, GLint
*values
);
2887 #endif /* GL3_PROTOTYPES */
2888 typedef GLsync (APIENTRYP PFNGLFENCESYNCPROC
) (GLenum condition
, GLbitfield flags
);
2889 typedef GLboolean (APIENTRYP PFNGLISSYNCPROC
) (GLsync sync
);
2890 typedef void (APIENTRYP PFNGLDELETESYNCPROC
) (GLsync sync
);
2891 typedef GLenum (APIENTRYP PFNGLCLIENTWAITSYNCPROC
) (GLsync sync
, GLbitfield flags
, GLuint64 timeout
);
2892 typedef void (APIENTRYP PFNGLWAITSYNCPROC
) (GLsync sync
, GLbitfield flags
, GLuint64 timeout
);
2893 typedef void (APIENTRYP PFNGLGETINTEGER64VPROC
) (GLenum pname
, GLint64
*params
);
2894 typedef void (APIENTRYP PFNGLGETSYNCIVPROC
) (GLsync sync
, GLenum pname
, GLsizei bufSize
, GLsizei
*length
, GLint
*values
);
2897 #ifndef GL_ARB_texture_multisample
2898 #define GL_ARB_texture_multisample 1
2899 #ifdef GL3_PROTOTYPES
2900 GLAPI
void APIENTRY
glTexImage2DMultisample (GLenum target
, GLsizei samples
, GLint internalformat
, GLsizei width
, GLsizei height
, GLboolean fixedsamplelocations
);
2901 GLAPI
void APIENTRY
glTexImage3DMultisample (GLenum target
, GLsizei samples
, GLint internalformat
, GLsizei width
, GLsizei height
, GLsizei depth
, GLboolean fixedsamplelocations
);
2902 GLAPI
void APIENTRY
glGetMultisamplefv (GLenum pname
, GLuint index
, GLfloat
*val
);
2903 GLAPI
void APIENTRY
glSampleMaski (GLuint index
, GLbitfield mask
);
2904 #endif /* GL3_PROTOTYPES */
2905 typedef void (APIENTRYP PFNGLTEXIMAGE2DMULTISAMPLEPROC
) (GLenum target
, GLsizei samples
, GLint internalformat
, GLsizei width
, GLsizei height
, GLboolean fixedsamplelocations
);
2906 typedef void (APIENTRYP PFNGLTEXIMAGE3DMULTISAMPLEPROC
) (GLenum target
, GLsizei samples
, GLint internalformat
, GLsizei width
, GLsizei height
, GLsizei depth
, GLboolean fixedsamplelocations
);
2907 typedef void (APIENTRYP PFNGLGETMULTISAMPLEFVPROC
) (GLenum pname
, GLuint index
, GLfloat
*val
);
2908 typedef void (APIENTRYP PFNGLSAMPLEMASKIPROC
) (GLuint index
, GLbitfield mask
);
2911 #ifndef GL_ARB_vertex_array_bgra
2912 #define GL_ARB_vertex_array_bgra 1
2915 #ifndef GL_ARB_draw_buffers_blend
2916 #define GL_ARB_draw_buffers_blend 1
2917 #ifdef GL3_PROTOTYPES
2918 GLAPI
void APIENTRY
glBlendEquationiARB (GLuint buf
, GLenum mode
);
2919 GLAPI
void APIENTRY
glBlendEquationSeparateiARB (GLuint buf
, GLenum modeRGB
, GLenum modeAlpha
);
2920 GLAPI
void APIENTRY
glBlendFunciARB (GLuint buf
, GLenum src
, GLenum dst
);
2921 GLAPI
void APIENTRY
glBlendFuncSeparateiARB (GLuint buf
, GLenum srcRGB
, GLenum dstRGB
, GLenum srcAlpha
, GLenum dstAlpha
);
2922 #endif /* GL3_PROTOTYPES */
2923 typedef void (APIENTRYP PFNGLBLENDEQUATIONIARBPROC
) (GLuint buf
, GLenum mode
);
2924 typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEIARBPROC
) (GLuint buf
, GLenum modeRGB
, GLenum modeAlpha
);
2925 typedef void (APIENTRYP PFNGLBLENDFUNCIARBPROC
) (GLuint buf
, GLenum src
, GLenum dst
);
2926 typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEIARBPROC
) (GLuint buf
, GLenum srcRGB
, GLenum dstRGB
, GLenum srcAlpha
, GLenum dstAlpha
);
2929 #ifndef GL_ARB_sample_shading
2930 #define GL_ARB_sample_shading 1
2931 #ifdef GL3_PROTOTYPES
2932 GLAPI
void APIENTRY
glMinSampleShadingARB (GLclampf value
);
2933 #endif /* GL3_PROTOTYPES */
2934 typedef void (APIENTRYP PFNGLMINSAMPLESHADINGARBPROC
) (GLclampf value
);
2937 #ifndef GL_ARB_texture_cube_map_array
2938 #define GL_ARB_texture_cube_map_array 1
2941 #ifndef GL_ARB_texture_gather
2942 #define GL_ARB_texture_gather 1
2945 #ifndef GL_ARB_texture_query_lod
2946 #define GL_ARB_texture_query_lod 1
2949 #ifndef GL_ARB_shading_language_include
2950 #define GL_ARB_shading_language_include 1
2951 #ifdef GL3_PROTOTYPES
2952 GLAPI
void APIENTRY
glNamedStringARB (GLenum type
, GLint namelen
, const GLchar
*name
, GLint stringlen
, const GLchar
*string
);
2953 GLAPI
void APIENTRY
glDeleteNamedStringARB (GLint namelen
, const GLchar
*name
);
2954 GLAPI
void APIENTRY
glCompileShaderIncludeARB (GLuint shader
, GLsizei count
, const GLchar
* *path
, const GLint
*length
);
2955 GLAPI GLboolean APIENTRY
glIsNamedStringARB (GLint namelen
, const GLchar
*name
);
2956 GLAPI
void APIENTRY
glGetNamedStringARB (GLint namelen
, const GLchar
*name
, GLsizei bufSize
, GLint
*stringlen
, GLchar
*string
);
2957 GLAPI
void APIENTRY
glGetNamedStringivARB (GLint namelen
, const GLchar
*name
, GLenum pname
, GLint
*params
);
2958 #endif /* GL3_PROTOTYPES */
2959 typedef void (APIENTRYP PFNGLNAMEDSTRINGARBPROC
) (GLenum type
, GLint namelen
, const GLchar
*name
, GLint stringlen
, const GLchar
*string
);
2960 typedef void (APIENTRYP PFNGLDELETENAMEDSTRINGARBPROC
) (GLint namelen
, const GLchar
*name
);
2961 typedef void (APIENTRYP PFNGLCOMPILESHADERINCLUDEARBPROC
) (GLuint shader
, GLsizei count
, const GLchar
* *path
, const GLint
*length
);
2962 typedef GLboolean (APIENTRYP PFNGLISNAMEDSTRINGARBPROC
) (GLint namelen
, const GLchar
*name
);
2963 typedef void (APIENTRYP PFNGLGETNAMEDSTRINGARBPROC
) (GLint namelen
, const GLchar
*name
, GLsizei bufSize
, GLint
*stringlen
, GLchar
*string
);
2964 typedef void (APIENTRYP PFNGLGETNAMEDSTRINGIVARBPROC
) (GLint namelen
, const GLchar
*name
, GLenum pname
, GLint
*params
);
2967 #ifndef GL_ARB_texture_compression_bptc
2968 #define GL_ARB_texture_compression_bptc 1
2971 #ifndef GL_ARB_blend_func_extended
2972 #define GL_ARB_blend_func_extended 1
2973 #ifdef GL3_PROTOTYPES
2974 GLAPI
void APIENTRY
glBindFragDataLocationIndexed (GLuint program
, GLuint colorNumber
, GLuint index
, const GLchar
*name
);
2975 GLAPI GLint APIENTRY
glGetFragDataIndex (GLuint program
, const GLchar
*name
);
2976 #endif /* GL3_PROTOTYPES */
2977 typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONINDEXEDPROC
) (GLuint program
, GLuint colorNumber
, GLuint index
, const GLchar
*name
);
2978 typedef GLint (APIENTRYP PFNGLGETFRAGDATAINDEXPROC
) (GLuint program
, const GLchar
*name
);
2981 #ifndef GL_ARB_explicit_attrib_location
2982 #define GL_ARB_explicit_attrib_location 1
2985 #ifndef GL_ARB_occlusion_query2
2986 #define GL_ARB_occlusion_query2 1
2989 #ifndef GL_ARB_sampler_objects
2990 #define GL_ARB_sampler_objects 1
2991 #ifdef GL3_PROTOTYPES
2992 GLAPI
void APIENTRY
glGenSamplers (GLsizei count
, GLuint
*samplers
);
2993 GLAPI
void APIENTRY
glDeleteSamplers (GLsizei count
, const GLuint
*samplers
);
2994 GLAPI GLboolean APIENTRY
glIsSampler (GLuint sampler
);
2995 GLAPI
void APIENTRY
glBindSampler (GLuint unit
, GLuint sampler
);
2996 GLAPI
void APIENTRY
glSamplerParameteri (GLuint sampler
, GLenum pname
, GLint param
);
2997 GLAPI
void APIENTRY
glSamplerParameteriv (GLuint sampler
, GLenum pname
, const GLint
*param
);
2998 GLAPI
void APIENTRY
glSamplerParameterf (GLuint sampler
, GLenum pname
, GLfloat param
);
2999 GLAPI
void APIENTRY
glSamplerParameterfv (GLuint sampler
, GLenum pname
, const GLfloat
*param
);
3000 GLAPI
void APIENTRY
glSamplerParameterIiv (GLuint sampler
, GLenum pname
, const GLint
*param
);
3001 GLAPI
void APIENTRY
glSamplerParameterIuiv (GLuint sampler
, GLenum pname
, const GLuint
*param
);
3002 GLAPI
void APIENTRY
glGetSamplerParameteriv (GLuint sampler
, GLenum pname
, GLint
*params
);
3003 GLAPI
void APIENTRY
glGetSamplerParameterIiv (GLuint sampler
, GLenum pname
, GLint
*params
);
3004 GLAPI
void APIENTRY
glGetSamplerParameterfv (GLuint sampler
, GLenum pname
, GLfloat
*params
);
3005 GLAPI
void APIENTRY
glGetSamplerParameterIuiv (GLuint sampler
, GLenum pname
, GLuint
*params
);
3006 #endif /* GL3_PROTOTYPES */
3007 typedef void (APIENTRYP PFNGLGENSAMPLERSPROC
) (GLsizei count
, GLuint
*samplers
);
3008 typedef void (APIENTRYP PFNGLDELETESAMPLERSPROC
) (GLsizei count
, const GLuint
*samplers
);
3009 typedef GLboolean (APIENTRYP PFNGLISSAMPLERPROC
) (GLuint sampler
);
3010 typedef void (APIENTRYP PFNGLBINDSAMPLERPROC
) (GLuint unit
, GLuint sampler
);
3011 typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIPROC
) (GLuint sampler
, GLenum pname
, GLint param
);
3012 typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIVPROC
) (GLuint sampler
, GLenum pname
, const GLint
*param
);
3013 typedef void (APIENTRYP PFNGLSAMPLERPARAMETERFPROC
) (GLuint sampler
, GLenum pname
, GLfloat param
);
3014 typedef void (APIENTRYP PFNGLSAMPLERPARAMETERFVPROC
) (GLuint sampler
, GLenum pname
, const GLfloat
*param
);
3015 typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIIVPROC
) (GLuint sampler
, GLenum pname
, const GLint
*param
);
3016 typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIUIVPROC
) (GLuint sampler
, GLenum pname
, const GLuint
*param
);
3017 typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIVPROC
) (GLuint sampler
, GLenum pname
, GLint
*params
);
3018 typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIIVPROC
) (GLuint sampler
, GLenum pname
, GLint
*params
);
3019 typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERFVPROC
) (GLuint sampler
, GLenum pname
, GLfloat
*params
);
3020 typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIUIVPROC
) (GLuint sampler
, GLenum pname
, GLuint
*params
);
3023 #ifndef GL_ARB_shader_bit_encoding
3024 #define GL_ARB_shader_bit_encoding 1
3027 #ifndef GL_ARB_texture_rgb10_a2ui
3028 #define GL_ARB_texture_rgb10_a2ui 1
3031 #ifndef GL_ARB_texture_swizzle
3032 #define GL_ARB_texture_swizzle 1
3035 #ifndef GL_ARB_timer_query
3036 #define GL_ARB_timer_query 1
3037 #ifdef GL3_PROTOTYPES
3038 GLAPI
void APIENTRY
glQueryCounter (GLuint id
, GLenum target
);
3039 GLAPI
void APIENTRY
glGetQueryObjecti64v (GLuint id
, GLenum pname
, GLint64
*params
);
3040 GLAPI
void APIENTRY
glGetQueryObjectui64v (GLuint id
, GLenum pname
, GLuint64
*params
);
3041 #endif /* GL3_PROTOTYPES */
3042 typedef void (APIENTRYP PFNGLQUERYCOUNTERPROC
) (GLuint id
, GLenum target
);
3043 typedef void (APIENTRYP PFNGLGETQUERYOBJECTI64VPROC
) (GLuint id
, GLenum pname
, GLint64
*params
);
3044 typedef void (APIENTRYP PFNGLGETQUERYOBJECTUI64VPROC
) (GLuint id
, GLenum pname
, GLuint64
*params
);
3047 #ifndef GL_ARB_vertex_type_2_10_10_10_rev
3048 #define GL_ARB_vertex_type_2_10_10_10_rev 1
3049 #ifdef GL3_PROTOTYPES
3050 GLAPI
void APIENTRY
glVertexP2ui (GLenum type
, GLuint value
);
3051 GLAPI
void APIENTRY
glVertexP2uiv (GLenum type
, const GLuint
*value
);
3052 GLAPI
void APIENTRY
glVertexP3ui (GLenum type
, GLuint value
);
3053 GLAPI
void APIENTRY
glVertexP3uiv (GLenum type
, const GLuint
*value
);
3054 GLAPI
void APIENTRY
glVertexP4ui (GLenum type
, GLuint value
);
3055 GLAPI
void APIENTRY
glVertexP4uiv (GLenum type
, const GLuint
*value
);
3056 GLAPI
void APIENTRY
glTexCoordP1ui (GLenum type
, GLuint coords
);
3057 GLAPI
void APIENTRY
glTexCoordP1uiv (GLenum type
, const GLuint
*coords
);
3058 GLAPI
void APIENTRY
glTexCoordP2ui (GLenum type
, GLuint coords
);
3059 GLAPI
void APIENTRY
glTexCoordP2uiv (GLenum type
, const GLuint
*coords
);
3060 GLAPI
void APIENTRY
glTexCoordP3ui (GLenum type
, GLuint coords
);
3061 GLAPI
void APIENTRY
glTexCoordP3uiv (GLenum type
, const GLuint
*coords
);
3062 GLAPI
void APIENTRY
glTexCoordP4ui (GLenum type
, GLuint coords
);
3063 GLAPI
void APIENTRY
glTexCoordP4uiv (GLenum type
, const GLuint
*coords
);
3064 GLAPI
void APIENTRY
glMultiTexCoordP1ui (GLenum texture
, GLenum type
, GLuint coords
);
3065 GLAPI
void APIENTRY
glMultiTexCoordP1uiv (GLenum texture
, GLenum type
, const GLuint
*coords
);
3066 GLAPI
void APIENTRY
glMultiTexCoordP2ui (GLenum texture
, GLenum type
, GLuint coords
);
3067 GLAPI
void APIENTRY
glMultiTexCoordP2uiv (GLenum texture
, GLenum type
, const GLuint
*coords
);
3068 GLAPI
void APIENTRY
glMultiTexCoordP3ui (GLenum texture
, GLenum type
, GLuint coords
);
3069 GLAPI
void APIENTRY
glMultiTexCoordP3uiv (GLenum texture
, GLenum type
, const GLuint
*coords
);
3070 GLAPI
void APIENTRY
glMultiTexCoordP4ui (GLenum texture
, GLenum type
, GLuint coords
);
3071 GLAPI
void APIENTRY
glMultiTexCoordP4uiv (GLenum texture
, GLenum type
, const GLuint
*coords
);
3072 GLAPI
void APIENTRY
glNormalP3ui (GLenum type
, GLuint coords
);
3073 GLAPI
void APIENTRY
glNormalP3uiv (GLenum type
, const GLuint
*coords
);
3074 GLAPI
void APIENTRY
glColorP3ui (GLenum type
, GLuint color
);
3075 GLAPI
void APIENTRY
glColorP3uiv (GLenum type
, const GLuint
*color
);
3076 GLAPI
void APIENTRY
glColorP4ui (GLenum type
, GLuint color
);
3077 GLAPI
void APIENTRY
glColorP4uiv (GLenum type
, const GLuint
*color
);
3078 GLAPI
void APIENTRY
glSecondaryColorP3ui (GLenum type
, GLuint color
);
3079 GLAPI
void APIENTRY
glSecondaryColorP3uiv (GLenum type
, const GLuint
*color
);
3080 GLAPI
void APIENTRY
glVertexAttribP1ui (GLuint index
, GLenum type
, GLboolean normalized
, GLuint value
);
3081 GLAPI
void APIENTRY
glVertexAttribP1uiv (GLuint index
, GLenum type
, GLboolean normalized
, const GLuint
*value
);
3082 GLAPI
void APIENTRY
glVertexAttribP2ui (GLuint index
, GLenum type
, GLboolean normalized
, GLuint value
);
3083 GLAPI
void APIENTRY
glVertexAttribP2uiv (GLuint index
, GLenum type
, GLboolean normalized
, const GLuint
*value
);
3084 GLAPI
void APIENTRY
glVertexAttribP3ui (GLuint index
, GLenum type
, GLboolean normalized
, GLuint value
);
3085 GLAPI
void APIENTRY
glVertexAttribP3uiv (GLuint index
, GLenum type
, GLboolean normalized
, const GLuint
*value
);
3086 GLAPI
void APIENTRY
glVertexAttribP4ui (GLuint index
, GLenum type
, GLboolean normalized
, GLuint value
);
3087 GLAPI
void APIENTRY
glVertexAttribP4uiv (GLuint index
, GLenum type
, GLboolean normalized
, const GLuint
*value
);
3088 #endif /* GL3_PROTOTYPES */
3089 typedef void (APIENTRYP PFNGLVERTEXP2UIPROC
) (GLenum type
, GLuint value
);
3090 typedef void (APIENTRYP PFNGLVERTEXP2UIVPROC
) (GLenum type
, const GLuint
*value
);
3091 typedef void (APIENTRYP PFNGLVERTEXP3UIPROC
) (GLenum type
, GLuint value
);
3092 typedef void (APIENTRYP PFNGLVERTEXP3UIVPROC
) (GLenum type
, const GLuint
*value
);
3093 typedef void (APIENTRYP PFNGLVERTEXP4UIPROC
) (GLenum type
, GLuint value
);
3094 typedef void (APIENTRYP PFNGLVERTEXP4UIVPROC
) (GLenum type
, const GLuint
*value
);
3095 typedef void (APIENTRYP PFNGLTEXCOORDP1UIPROC
) (GLenum type
, GLuint coords
);
3096 typedef void (APIENTRYP PFNGLTEXCOORDP1UIVPROC
) (GLenum type
, const GLuint
*coords
);
3097 typedef void (APIENTRYP PFNGLTEXCOORDP2UIPROC
) (GLenum type
, GLuint coords
);
3098 typedef void (APIENTRYP PFNGLTEXCOORDP2UIVPROC
) (GLenum type
, const GLuint
*coords
);
3099 typedef void (APIENTRYP PFNGLTEXCOORDP3UIPROC
) (GLenum type
, GLuint coords
);
3100 typedef void (APIENTRYP PFNGLTEXCOORDP3UIVPROC
) (GLenum type
, const GLuint
*coords
);
3101 typedef void (APIENTRYP PFNGLTEXCOORDP4UIPROC
) (GLenum type
, GLuint coords
);
3102 typedef void (APIENTRYP PFNGLTEXCOORDP4UIVPROC
) (GLenum type
, const GLuint
*coords
);
3103 typedef void (APIENTRYP PFNGLMULTITEXCOORDP1UIPROC
) (GLenum texture
, GLenum type
, GLuint coords
);
3104 typedef void (APIENTRYP PFNGLMULTITEXCOORDP1UIVPROC
) (GLenum texture
, GLenum type
, const GLuint
*coords
);
3105 typedef void (APIENTRYP PFNGLMULTITEXCOORDP2UIPROC
) (GLenum texture
, GLenum type
, GLuint coords
);
3106 typedef void (APIENTRYP PFNGLMULTITEXCOORDP2UIVPROC
) (GLenum texture
, GLenum type
, const GLuint
*coords
);
3107 typedef void (APIENTRYP PFNGLMULTITEXCOORDP3UIPROC
) (GLenum texture
, GLenum type
, GLuint coords
);
3108 typedef void (APIENTRYP PFNGLMULTITEXCOORDP3UIVPROC
) (GLenum texture
, GLenum type
, const GLuint
*coords
);
3109 typedef void (APIENTRYP PFNGLMULTITEXCOORDP4UIPROC
) (GLenum texture
, GLenum type
, GLuint coords
);
3110 typedef void (APIENTRYP PFNGLMULTITEXCOORDP4UIVPROC
) (GLenum texture
, GLenum type
, const GLuint
*coords
);
3111 typedef void (APIENTRYP PFNGLNORMALP3UIPROC
) (GLenum type
, GLuint coords
);
3112 typedef void (APIENTRYP PFNGLNORMALP3UIVPROC
) (GLenum type
, const GLuint
*coords
);
3113 typedef void (APIENTRYP PFNGLCOLORP3UIPROC
) (GLenum type
, GLuint color
);
3114 typedef void (APIENTRYP PFNGLCOLORP3UIVPROC
) (GLenum type
, const GLuint
*color
);
3115 typedef void (APIENTRYP PFNGLCOLORP4UIPROC
) (GLenum type
, GLuint color
);
3116 typedef void (APIENTRYP PFNGLCOLORP4UIVPROC
) (GLenum type
, const GLuint
*color
);
3117 typedef void (APIENTRYP PFNGLSECONDARYCOLORP3UIPROC
) (GLenum type
, GLuint color
);
3118 typedef void (APIENTRYP PFNGLSECONDARYCOLORP3UIVPROC
) (GLenum type
, const GLuint
*color
);
3119 typedef void (APIENTRYP PFNGLVERTEXATTRIBP1UIPROC
) (GLuint index
, GLenum type
, GLboolean normalized
, GLuint value
);
3120 typedef void (APIENTRYP PFNGLVERTEXATTRIBP1UIVPROC
) (GLuint index
, GLenum type
, GLboolean normalized
, const GLuint
*value
);
3121 typedef void (APIENTRYP PFNGLVERTEXATTRIBP2UIPROC
) (GLuint index
, GLenum type
, GLboolean normalized
, GLuint value
);
3122 typedef void (APIENTRYP PFNGLVERTEXATTRIBP2UIVPROC
) (GLuint index
, GLenum type
, GLboolean normalized
, const GLuint
*value
);
3123 typedef void (APIENTRYP PFNGLVERTEXATTRIBP3UIPROC
) (GLuint index
, GLenum type
, GLboolean normalized
, GLuint value
);
3124 typedef void (APIENTRYP PFNGLVERTEXATTRIBP3UIVPROC
) (GLuint index
, GLenum type
, GLboolean normalized
, const GLuint
*value
);
3125 typedef void (APIENTRYP PFNGLVERTEXATTRIBP4UIPROC
) (GLuint index
, GLenum type
, GLboolean normalized
, GLuint value
);
3126 typedef void (APIENTRYP PFNGLVERTEXATTRIBP4UIVPROC
) (GLuint index
, GLenum type
, GLboolean normalized
, const GLuint
*value
);
3129 #ifndef GL_ARB_draw_indirect
3130 #define GL_ARB_draw_indirect 1
3131 #ifdef GL3_PROTOTYPES
3132 GLAPI
void APIENTRY
glDrawArraysIndirect (GLenum mode
, const GLvoid
*indirect
);
3133 GLAPI
void APIENTRY
glDrawElementsIndirect (GLenum mode
, GLenum type
, const GLvoid
*indirect
);
3134 #endif /* GL3_PROTOTYPES */
3135 typedef void (APIENTRYP PFNGLDRAWARRAYSINDIRECTPROC
) (GLenum mode
, const GLvoid
*indirect
);
3136 typedef void (APIENTRYP PFNGLDRAWELEMENTSINDIRECTPROC
) (GLenum mode
, GLenum type
, const GLvoid
*indirect
);
3139 #ifndef GL_ARB_gpu_shader5
3140 #define GL_ARB_gpu_shader5 1
3143 #ifndef GL_ARB_gpu_shader_fp64
3144 #define GL_ARB_gpu_shader_fp64 1
3145 #ifdef GL3_PROTOTYPES
3146 GLAPI
void APIENTRY
glUniform1d (GLint location
, GLdouble x
);
3147 GLAPI
void APIENTRY
glUniform2d (GLint location
, GLdouble x
, GLdouble y
);
3148 GLAPI
void APIENTRY
glUniform3d (GLint location
, GLdouble x
, GLdouble y
, GLdouble z
);
3149 GLAPI
void APIENTRY
glUniform4d (GLint location
, GLdouble x
, GLdouble y
, GLdouble z
, GLdouble w
);
3150 GLAPI
void APIENTRY
glUniform1dv (GLint location
, GLsizei count
, const GLdouble
*value
);
3151 GLAPI
void APIENTRY
glUniform2dv (GLint location
, GLsizei count
, const GLdouble
*value
);
3152 GLAPI
void APIENTRY
glUniform3dv (GLint location
, GLsizei count
, const GLdouble
*value
);
3153 GLAPI
void APIENTRY
glUniform4dv (GLint location
, GLsizei count
, const GLdouble
*value
);
3154 GLAPI
void APIENTRY
glUniformMatrix2dv (GLint location
, GLsizei count
, GLboolean transpose
, const GLdouble
*value
);
3155 GLAPI
void APIENTRY
glUniformMatrix3dv (GLint location
, GLsizei count
, GLboolean transpose
, const GLdouble
*value
);
3156 GLAPI
void APIENTRY
glUniformMatrix4dv (GLint location
, GLsizei count
, GLboolean transpose
, const GLdouble
*value
);
3157 GLAPI
void APIENTRY
glUniformMatrix2x3dv (GLint location
, GLsizei count
, GLboolean transpose
, const GLdouble
*value
);
3158 GLAPI
void APIENTRY
glUniformMatrix2x4dv (GLint location
, GLsizei count
, GLboolean transpose
, const GLdouble
*value
);
3159 GLAPI
void APIENTRY
glUniformMatrix3x2dv (GLint location
, GLsizei count
, GLboolean transpose
, const GLdouble
*value
);
3160 GLAPI
void APIENTRY
glUniformMatrix3x4dv (GLint location
, GLsizei count
, GLboolean transpose
, const GLdouble
*value
);
3161 GLAPI
void APIENTRY
glUniformMatrix4x2dv (GLint location
, GLsizei count
, GLboolean transpose
, const GLdouble
*value
);
3162 GLAPI
void APIENTRY
glUniformMatrix4x3dv (GLint location
, GLsizei count
, GLboolean transpose
, const GLdouble
*value
);
3163 GLAPI
void APIENTRY
glGetUniformdv (GLuint program
, GLint location
, GLdouble
*params
);
3164 #endif /* GL3_PROTOTYPES */
3165 typedef void (APIENTRYP PFNGLUNIFORM1DPROC
) (GLint location
, GLdouble x
);
3166 typedef void (APIENTRYP PFNGLUNIFORM2DPROC
) (GLint location
, GLdouble x
, GLdouble y
);
3167 typedef void (APIENTRYP PFNGLUNIFORM3DPROC
) (GLint location
, GLdouble x
, GLdouble y
, GLdouble z
);
3168 typedef void (APIENTRYP PFNGLUNIFORM4DPROC
) (GLint location
, GLdouble x
, GLdouble y
, GLdouble z
, GLdouble w
);
3169 typedef void (APIENTRYP PFNGLUNIFORM1DVPROC
) (GLint location
, GLsizei count
, const GLdouble
*value
);
3170 typedef void (APIENTRYP PFNGLUNIFORM2DVPROC
) (GLint location
, GLsizei count
, const GLdouble
*value
);
3171 typedef void (APIENTRYP PFNGLUNIFORM3DVPROC
) (GLint location
, GLsizei count
, const GLdouble
*value
);
3172 typedef void (APIENTRYP PFNGLUNIFORM4DVPROC
) (GLint location
, GLsizei count
, const GLdouble
*value
);
3173 typedef void (APIENTRYP PFNGLUNIFORMMATRIX2DVPROC
) (GLint location
, GLsizei count
, GLboolean transpose
, const GLdouble
*value
);
3174 typedef void (APIENTRYP PFNGLUNIFORMMATRIX3DVPROC
) (GLint location
, GLsizei count
, GLboolean transpose
, const GLdouble
*value
);
3175 typedef void (APIENTRYP PFNGLUNIFORMMATRIX4DVPROC
) (GLint location
, GLsizei count
, GLboolean transpose
, const GLdouble
*value
);
3176 typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X3DVPROC
) (GLint location
, GLsizei count
, GLboolean transpose
, const GLdouble
*value
);
3177 typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X4DVPROC
) (GLint location
, GLsizei count
, GLboolean transpose
, const GLdouble
*value
);
3178 typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X2DVPROC
) (GLint location
, GLsizei count
, GLboolean transpose
, const GLdouble
*value
);
3179 typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X4DVPROC
) (GLint location
, GLsizei count
, GLboolean transpose
, const GLdouble
*value
);
3180 typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X2DVPROC
) (GLint location
, GLsizei count
, GLboolean transpose
, const GLdouble
*value
);
3181 typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X3DVPROC
) (GLint location
, GLsizei count
, GLboolean transpose
, const GLdouble
*value
);
3182 typedef void (APIENTRYP PFNGLGETUNIFORMDVPROC
) (GLuint program
, GLint location
, GLdouble
*params
);
3185 #ifndef GL_ARB_shader_subroutine
3186 #define GL_ARB_shader_subroutine 1
3187 #ifdef GL3_PROTOTYPES
3188 GLAPI GLint APIENTRY
glGetSubroutineUniformLocation (GLuint program
, GLenum shadertype
, const GLchar
*name
);
3189 GLAPI GLuint APIENTRY
glGetSubroutineIndex (GLuint program
, GLenum shadertype
, const GLchar
*name
);
3190 GLAPI
void APIENTRY
glGetActiveSubroutineUniformiv (GLuint program
, GLenum shadertype
, GLuint index
, GLenum pname
, GLint
*values
);
3191 GLAPI
void APIENTRY
glGetActiveSubroutineUniformName (GLuint program
, GLenum shadertype
, GLuint index
, GLsizei bufsize
, GLsizei
*length
, GLchar
*name
);
3192 GLAPI
void APIENTRY
glGetActiveSubroutineName (GLuint program
, GLenum shadertype
, GLuint index
, GLsizei bufsize
, GLsizei
*length
, GLchar
*name
);
3193 GLAPI
void APIENTRY
glUniformSubroutinesuiv (GLenum shadertype
, GLsizei count
, const GLuint
*indices
);
3194 GLAPI
void APIENTRY
glGetUniformSubroutineuiv (GLenum shadertype
, GLint location
, GLuint
*params
);
3195 GLAPI
void APIENTRY
glGetProgramStageiv (GLuint program
, GLenum shadertype
, GLenum pname
, GLint
*values
);
3196 #endif /* GL3_PROTOTYPES */
3197 typedef GLint (APIENTRYP PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC
) (GLuint program
, GLenum shadertype
, const GLchar
*name
);
3198 typedef GLuint (APIENTRYP PFNGLGETSUBROUTINEINDEXPROC
) (GLuint program
, GLenum shadertype
, const GLchar
*name
);
3199 typedef void (APIENTRYP PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC
) (GLuint program
, GLenum shadertype
, GLuint index
, GLenum pname
, GLint
*values
);
3200 typedef void (APIENTRYP PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC
) (GLuint program
, GLenum shadertype
, GLuint index
, GLsizei bufsize
, GLsizei
*length
, GLchar
*name
);
3201 typedef void (APIENTRYP PFNGLGETACTIVESUBROUTINENAMEPROC
) (GLuint program
, GLenum shadertype
, GLuint index
, GLsizei bufsize
, GLsizei
*length
, GLchar
*name
);
3202 typedef void (APIENTRYP PFNGLUNIFORMSUBROUTINESUIVPROC
) (GLenum shadertype
, GLsizei count
, const GLuint
*indices
);
3203 typedef void (APIENTRYP PFNGLGETUNIFORMSUBROUTINEUIVPROC
) (GLenum shadertype
, GLint location
, GLuint
*params
);
3204 typedef void (APIENTRYP PFNGLGETPROGRAMSTAGEIVPROC
) (GLuint program
, GLenum shadertype
, GLenum pname
, GLint
*values
);
3207 #ifndef GL_ARB_tessellation_shader
3208 #define GL_ARB_tessellation_shader 1
3209 #ifdef GL3_PROTOTYPES
3210 GLAPI
void APIENTRY
glPatchParameteri (GLenum pname
, GLint value
);
3211 GLAPI
void APIENTRY
glPatchParameterfv (GLenum pname
, const GLfloat
*values
);
3212 #endif /* GL3_PROTOTYPES */
3213 typedef void (APIENTRYP PFNGLPATCHPARAMETERIPROC
) (GLenum pname
, GLint value
);
3214 typedef void (APIENTRYP PFNGLPATCHPARAMETERFVPROC
) (GLenum pname
, const GLfloat
*values
);
3217 #ifndef GL_ARB_texture_buffer_object_rgb32
3218 #define GL_ARB_texture_buffer_object_rgb32 1
3221 #ifndef GL_ARB_transform_feedback2
3222 #define GL_ARB_transform_feedback2 1
3223 #ifdef GL3_PROTOTYPES
3224 GLAPI
void APIENTRY
glBindTransformFeedback (GLenum target
, GLuint id
);
3225 GLAPI
void APIENTRY
glDeleteTransformFeedbacks (GLsizei n
, const GLuint
*ids
);
3226 GLAPI
void APIENTRY
glGenTransformFeedbacks (GLsizei n
, GLuint
*ids
);
3227 GLAPI GLboolean APIENTRY
glIsTransformFeedback (GLuint id
);
3228 GLAPI
void APIENTRY
glPauseTransformFeedback (void);
3229 GLAPI
void APIENTRY
glResumeTransformFeedback (void);
3230 GLAPI
void APIENTRY
glDrawTransformFeedback (GLenum mode
, GLuint id
);
3231 #endif /* GL3_PROTOTYPES */
3232 typedef void (APIENTRYP PFNGLBINDTRANSFORMFEEDBACKPROC
) (GLenum target
, GLuint id
);
3233 typedef void (APIENTRYP PFNGLDELETETRANSFORMFEEDBACKSPROC
) (GLsizei n
, const GLuint
*ids
);
3234 typedef void (APIENTRYP PFNGLGENTRANSFORMFEEDBACKSPROC
) (GLsizei n
, GLuint
*ids
);
3235 typedef GLboolean (APIENTRYP PFNGLISTRANSFORMFEEDBACKPROC
) (GLuint id
);
3236 typedef void (APIENTRYP PFNGLPAUSETRANSFORMFEEDBACKPROC
) (void);
3237 typedef void (APIENTRYP PFNGLRESUMETRANSFORMFEEDBACKPROC
) (void);
3238 typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKPROC
) (GLenum mode
, GLuint id
);
3241 #ifndef GL_ARB_transform_feedback3
3242 #define GL_ARB_transform_feedback3 1
3243 #ifdef GL3_PROTOTYPES
3244 GLAPI
void APIENTRY
glDrawTransformFeedbackStream (GLenum mode
, GLuint id
, GLuint stream
);
3245 GLAPI
void APIENTRY
glBeginQueryIndexed (GLenum target
, GLuint index
, GLuint id
);
3246 GLAPI
void APIENTRY
glEndQueryIndexed (GLenum target
, GLuint index
);
3247 GLAPI
void APIENTRY
glGetQueryIndexediv (GLenum target
, GLuint index
, GLenum pname
, GLint
*params
);
3248 #endif /* GL3_PROTOTYPES */
3249 typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC
) (GLenum mode
, GLuint id
, GLuint stream
);
3250 typedef void (APIENTRYP PFNGLBEGINQUERYINDEXEDPROC
) (GLenum target
, GLuint index
, GLuint id
);
3251 typedef void (APIENTRYP PFNGLENDQUERYINDEXEDPROC
) (GLenum target
, GLuint index
);
3252 typedef void (APIENTRYP PFNGLGETQUERYINDEXEDIVPROC
) (GLenum target
, GLuint index
, GLenum pname
, GLint
*params
);
3255 #ifndef GL_ARB_ES2_compatibility
3256 #define GL_ARB_ES2_compatibility 1
3257 #ifdef GL3_PROTOTYPES
3258 GLAPI
void APIENTRY
glReleaseShaderCompiler (void);
3259 GLAPI
void APIENTRY
glShaderBinary (GLsizei count
, const GLuint
*shaders
, GLenum binaryformat
, const GLvoid
*binary
, GLsizei length
);
3260 GLAPI
void APIENTRY
glGetShaderPrecisionFormat (GLenum shadertype
, GLenum precisiontype
, GLint
*range
, GLint
*precision
);
3261 GLAPI
void APIENTRY
glDepthRangef (GLclampf n
, GLclampf f
);
3262 GLAPI
void APIENTRY
glClearDepthf (GLclampf d
);
3263 #endif /* GL3_PROTOTYPES */
3264 typedef void (APIENTRYP PFNGLRELEASESHADERCOMPILERPROC
) (void);
3265 typedef void (APIENTRYP PFNGLSHADERBINARYPROC
) (GLsizei count
, const GLuint
*shaders
, GLenum binaryformat
, const GLvoid
*binary
, GLsizei length
);
3266 typedef void (APIENTRYP PFNGLGETSHADERPRECISIONFORMATPROC
) (GLenum shadertype
, GLenum precisiontype
, GLint
*range
, GLint
*precision
);
3267 typedef void (APIENTRYP PFNGLDEPTHRANGEFPROC
) (GLclampf n
, GLclampf f
);
3268 typedef void (APIENTRYP PFNGLCLEARDEPTHFPROC
) (GLclampf d
);
3271 #ifndef GL_ARB_get_program_binary
3272 #define GL_ARB_get_program_binary 1
3273 #ifdef GL3_PROTOTYPES
3274 GLAPI
void APIENTRY
glGetProgramBinary (GLuint program
, GLsizei bufSize
, GLsizei
*length
, GLenum
*binaryFormat
, GLvoid
*binary
);
3275 GLAPI
void APIENTRY
glProgramBinary (GLuint program
, GLenum binaryFormat
, const GLvoid
*binary
, GLsizei length
);
3276 GLAPI
void APIENTRY
glProgramParameteri (GLuint program
, GLenum pname
, GLint value
);
3277 #endif /* GL3_PROTOTYPES */
3278 typedef void (APIENTRYP PFNGLGETPROGRAMBINARYPROC
) (GLuint program
, GLsizei bufSize
, GLsizei
*length
, GLenum
*binaryFormat
, GLvoid
*binary
);
3279 typedef void (APIENTRYP PFNGLPROGRAMBINARYPROC
) (GLuint program
, GLenum binaryFormat
, const GLvoid
*binary
, GLsizei length
);
3280 typedef void (APIENTRYP PFNGLPROGRAMPARAMETERIPROC
) (GLuint program
, GLenum pname
, GLint value
);
3283 #ifndef GL_ARB_separate_shader_objects
3284 #define GL_ARB_separate_shader_objects 1
3285 #ifdef GL3_PROTOTYPES
3286 GLAPI
void APIENTRY
glUseProgramStages (GLuint pipeline
, GLbitfield stages
, GLuint program
);
3287 GLAPI
void APIENTRY
glActiveShaderProgram (GLuint pipeline
, GLuint program
);
3288 GLAPI GLuint APIENTRY
glCreateShaderProgramv (GLenum type
, GLsizei count
, const GLchar
* *strings
);
3289 GLAPI
void APIENTRY
glBindProgramPipeline (GLuint pipeline
);
3290 GLAPI
void APIENTRY
glDeleteProgramPipelines (GLsizei n
, const GLuint
*pipelines
);
3291 GLAPI
void APIENTRY
glGenProgramPipelines (GLsizei n
, GLuint
*pipelines
);
3292 GLAPI GLboolean APIENTRY
glIsProgramPipeline (GLuint pipeline
);
3293 GLAPI
void APIENTRY
glGetProgramPipelineiv (GLuint pipeline
, GLenum pname
, GLint
*params
);
3294 GLAPI
void APIENTRY
glProgramUniform1i (GLuint program
, GLint location
, GLint v0
);
3295 GLAPI
void APIENTRY
glProgramUniform1iv (GLuint program
, GLint location
, GLsizei count
, const GLint
*value
);
3296 GLAPI
void APIENTRY
glProgramUniform1f (GLuint program
, GLint location
, GLfloat v0
);
3297 GLAPI
void APIENTRY
glProgramUniform1fv (GLuint program
, GLint location
, GLsizei count
, const GLfloat
*value
);
3298 GLAPI
void APIENTRY
glProgramUniform1d (GLuint program
, GLint location
, GLdouble v0
);
3299 GLAPI
void APIENTRY
glProgramUniform1dv (GLuint program
, GLint location
, GLsizei count
, const GLdouble
*value
);
3300 GLAPI
void APIENTRY
glProgramUniform1ui (GLuint program
, GLint location
, GLuint v0
);
3301 GLAPI
void APIENTRY
glProgramUniform1uiv (GLuint program
, GLint location
, GLsizei count
, const GLuint
*value
);
3302 GLAPI
void APIENTRY
glProgramUniform2i (GLuint program
, GLint location
, GLint v0
, GLint v1
);
3303 GLAPI
void APIENTRY
glProgramUniform2iv (GLuint program
, GLint location
, GLsizei count
, const GLint
*value
);
3304 GLAPI
void APIENTRY
glProgramUniform2f (GLuint program
, GLint location
, GLfloat v0
, GLfloat v1
);
3305 GLAPI
void APIENTRY
glProgramUniform2fv (GLuint program
, GLint location
, GLsizei count
, const GLfloat
*value
);
3306 GLAPI
void APIENTRY
glProgramUniform2d (GLuint program
, GLint location
, GLdouble v0
, GLdouble v1
);
3307 GLAPI
void APIENTRY
glProgramUniform2dv (GLuint program
, GLint location
, GLsizei count
, const GLdouble
*value
);
3308 GLAPI
void APIENTRY
glProgramUniform2ui (GLuint program
, GLint location
, GLuint v0
, GLuint v1
);
3309 GLAPI
void APIENTRY
glProgramUniform2uiv (GLuint program
, GLint location
, GLsizei count
, const GLuint
*value
);
3310 GLAPI
void APIENTRY
glProgramUniform3i (GLuint program
, GLint location
, GLint v0
, GLint v1
, GLint v2
);
3311 GLAPI
void APIENTRY
glProgramUniform3iv (GLuint program
, GLint location
, GLsizei count
, const GLint
*value
);
3312 GLAPI
void APIENTRY
glProgramUniform3f (GLuint program
, GLint location
, GLfloat v0
, GLfloat v1
, GLfloat v2
);
3313 GLAPI
void APIENTRY
glProgramUniform3fv (GLuint program
, GLint location
, GLsizei count
, const GLfloat
*value
);
3314 GLAPI
void APIENTRY
glProgramUniform3d (GLuint program
, GLint location
, GLdouble v0
, GLdouble v1
, GLdouble v2
);
3315 GLAPI
void APIENTRY
glProgramUniform3dv (GLuint program
, GLint location
, GLsizei count
, const GLdouble
*value
);
3316 GLAPI
void APIENTRY
glProgramUniform3ui (GLuint program
, GLint location
, GLuint v0
, GLuint v1
, GLuint v2
);
3317 GLAPI
void APIENTRY
glProgramUniform3uiv (GLuint program
, GLint location
, GLsizei count
, const GLuint
*value
);
3318 GLAPI
void APIENTRY
glProgramUniform4i (GLuint program
, GLint location
, GLint v0
, GLint v1
, GLint v2
, GLint v3
);
3319 GLAPI
void APIENTRY
glProgramUniform4iv (GLuint program
, GLint location
, GLsizei count
, const GLint
*value
);
3320 GLAPI
void APIENTRY
glProgramUniform4f (GLuint program
, GLint location
, GLfloat v0
, GLfloat v1
, GLfloat v2
, GLfloat v3
);
3321 GLAPI
void APIENTRY
glProgramUniform4fv (GLuint program
, GLint location
, GLsizei count
, const GLfloat
*value
);
3322 GLAPI
void APIENTRY
glProgramUniform4d (GLuint program
, GLint location
, GLdouble v0
, GLdouble v1
, GLdouble v2
, GLdouble v3
);
3323 GLAPI
void APIENTRY
glProgramUniform4dv (GLuint program
, GLint location
, GLsizei count
, const GLdouble
*value
);
3324 GLAPI
void APIENTRY
glProgramUniform4ui (GLuint program
, GLint location
, GLuint v0
, GLuint v1
, GLuint v2
, GLuint v3
);
3325 GLAPI
void APIENTRY
glProgramUniform4uiv (GLuint program
, GLint location
, GLsizei count
, const GLuint
*value
);
3326 GLAPI
void APIENTRY
glProgramUniformMatrix2fv (GLuint program
, GLint location
, GLsizei count
, GLboolean transpose
, const GLfloat
*value
);
3327 GLAPI
void APIENTRY
glProgramUniformMatrix3fv (GLuint program
, GLint location
, GLsizei count
, GLboolean transpose
, const GLfloat
*value
);
3328 GLAPI
void APIENTRY
glProgramUniformMatrix4fv (GLuint program
, GLint location
, GLsizei count
, GLboolean transpose
, const GLfloat
*value
);
3329 GLAPI
void APIENTRY
glProgramUniformMatrix2dv (GLuint program
, GLint location
, GLsizei count
, GLboolean transpose
, const GLdouble
*value
);
3330 GLAPI
void APIENTRY
glProgramUniformMatrix3dv (GLuint program
, GLint location
, GLsizei count
, GLboolean transpose
, const GLdouble
*value
);
3331 GLAPI
void APIENTRY
glProgramUniformMatrix4dv (GLuint program
, GLint location
, GLsizei count
, GLboolean transpose
, const GLdouble
*value
);
3332 GLAPI
void APIENTRY
glProgramUniformMatrix2x3fv (GLuint program
, GLint location
, GLsizei count
, GLboolean transpose
, const GLfloat
*value
);
3333 GLAPI
void APIENTRY
glProgramUniformMatrix3x2fv (GLuint program
, GLint location
, GLsizei count
, GLboolean transpose
, const GLfloat
*value
);
3334 GLAPI
void APIENTRY
glProgramUniformMatrix2x4fv (GLuint program
, GLint location
, GLsizei count
, GLboolean transpose
, const GLfloat
*value
);
3335 GLAPI
void APIENTRY
glProgramUniformMatrix4x2fv (GLuint program
, GLint location
, GLsizei count
, GLboolean transpose
, const GLfloat
*value
);
3336 GLAPI
void APIENTRY
glProgramUniformMatrix3x4fv (GLuint program
, GLint location
, GLsizei count
, GLboolean transpose
, const GLfloat
*value
);
3337 GLAPI
void APIENTRY
glProgramUniformMatrix4x3fv (GLuint program
, GLint location
, GLsizei count
, GLboolean transpose
, const GLfloat
*value
);
3338 GLAPI
void APIENTRY
glProgramUniformMatrix2x3dv (GLuint program
, GLint location
, GLsizei count
, GLboolean transpose
, const GLdouble
*value
);
3339 GLAPI
void APIENTRY
glProgramUniformMatrix3x2dv (GLuint program
, GLint location
, GLsizei count
, GLboolean transpose
, const GLdouble
*value
);
3340 GLAPI
void APIENTRY
glProgramUniformMatrix2x4dv (GLuint program
, GLint location
, GLsizei count
, GLboolean transpose
, const GLdouble
*value
);
3341 GLAPI
void APIENTRY
glProgramUniformMatrix4x2dv (GLuint program
, GLint location
, GLsizei count
, GLboolean transpose
, const GLdouble
*value
);
3342 GLAPI
void APIENTRY
glProgramUniformMatrix3x4dv (GLuint program
, GLint location
, GLsizei count
, GLboolean transpose
, const GLdouble
*value
);
3343 GLAPI
void APIENTRY
glProgramUniformMatrix4x3dv (GLuint program
, GLint location
, GLsizei count
, GLboolean transpose
, const GLdouble
*value
);
3344 GLAPI
void APIENTRY
glValidateProgramPipeline (GLuint pipeline
);
3345 GLAPI
void APIENTRY
glGetProgramPipelineInfoLog (GLuint pipeline
, GLsizei bufSize
, GLsizei
*length
, GLchar
*infoLog
);
3346 #endif /* GL3_PROTOTYPES */
3347 typedef void (APIENTRYP PFNGLUSEPROGRAMSTAGESPROC
) (GLuint pipeline
, GLbitfield stages
, GLuint program
);
3348 typedef void (APIENTRYP PFNGLACTIVESHADERPROGRAMPROC
) (GLuint pipeline
, GLuint program
);
3349 typedef GLuint (APIENTRYP PFNGLCREATESHADERPROGRAMVPROC
) (GLenum type
, GLsizei count
, const GLchar
* *strings
);
3350 typedef void (APIENTRYP PFNGLBINDPROGRAMPIPELINEPROC
) (GLuint pipeline
);
3351 typedef void (APIENTRYP PFNGLDELETEPROGRAMPIPELINESPROC
) (GLsizei n
, const GLuint
*pipelines
);
3352 typedef void (APIENTRYP PFNGLGENPROGRAMPIPELINESPROC
) (GLsizei n
, GLuint
*pipelines
);
3353 typedef GLboolean (APIENTRYP PFNGLISPROGRAMPIPELINEPROC
) (GLuint pipeline
);
3354 typedef void (APIENTRYP PFNGLGETPROGRAMPIPELINEIVPROC
) (GLuint pipeline
, GLenum pname
, GLint
*params
);
3355 typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IPROC
) (GLuint program
, GLint location
, GLint v0
);
3356 typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IVPROC
) (GLuint program
, GLint location
, GLsizei count
, const GLint
*value
);
3357 typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FPROC
) (GLuint program
, GLint location
, GLfloat v0
);
3358 typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FVPROC
) (GLuint program
, GLint location
, GLsizei count
, const GLfloat
*value
);
3359 typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DPROC
) (GLuint program
, GLint location
, GLdouble v0
);
3360 typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DVPROC
) (GLuint program
, GLint location
, GLsizei count
, const GLdouble
*value
);
3361 typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIPROC
) (GLuint program
, GLint location
, GLuint v0
);
3362 typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIVPROC
) (GLuint program
, GLint location
, GLsizei count
, const GLuint
*value
);
3363 typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IPROC
) (GLuint program
, GLint location
, GLint v0
, GLint v1
);
3364 typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IVPROC
) (GLuint program
, GLint location
, GLsizei count
, const GLint
*value
);
3365 typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FPROC
) (GLuint program
, GLint location
, GLfloat v0
, GLfloat v1
);
3366 typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FVPROC
) (GLuint program
, GLint location
, GLsizei count
, const GLfloat
*value
);
3367 typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2DPROC
) (GLuint program
, GLint location
, GLdouble v0
, GLdouble v1
);
3368 typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2DVPROC
) (GLuint program
, GLint location
, GLsizei count
, const GLdouble
*value
);
3369 typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIPROC
) (GLuint program
, GLint location
, GLuint v0
, GLuint v1
);
3370 typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIVPROC
) (GLuint program
, GLint location
, GLsizei count
, const GLuint
*value
);
3371 typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IPROC
) (GLuint program
, GLint location
, GLint v0
, GLint v1
, GLint v2
);
3372 typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IVPROC
) (GLuint program
, GLint location
, GLsizei count
, const GLint
*value
);
3373 typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FPROC
) (GLuint program
, GLint location
, GLfloat v0
, GLfloat v1
, GLfloat v2
);
3374 typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FVPROC
) (GLuint program
, GLint location
, GLsizei count
, const GLfloat
*value
);
3375 typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3DPROC
) (GLuint program
, GLint location
, GLdouble v0
, GLdouble v1
, GLdouble v2
);
3376 typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3DVPROC
) (GLuint program
, GLint location
, GLsizei count
, const GLdouble
*value
);
3377 typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIPROC
) (GLuint program
, GLint location
, GLuint v0
, GLuint v1
, GLuint v2
);
3378 typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIVPROC
) (GLuint program
, GLint location
, GLsizei count
, const GLuint
*value
);
3379 typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IPROC
) (GLuint program
, GLint location
, GLint v0
, GLint v1
, GLint v2
, GLint v3
);
3380 typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IVPROC
) (GLuint program
, GLint location
, GLsizei count
, const GLint
*value
);
3381 typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FPROC
) (GLuint program
, GLint location
, GLfloat v0
, GLfloat v1
, GLfloat v2
, GLfloat v3
);
3382 typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FVPROC
) (GLuint program
, GLint location
, GLsizei count
, const GLfloat
*value
);
3383 typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4DPROC
) (GLuint program
, GLint location
, GLdouble v0
, GLdouble v1
, GLdouble v2
, GLdouble v3
);
3384 typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4DVPROC
) (GLuint program
, GLint location
, GLsizei count
, const GLdouble
*value
);
3385 typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIPROC
) (GLuint program
, GLint location
, GLuint v0
, GLuint v1
, GLuint v2
, GLuint v3
);
3386 typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIVPROC
) (GLuint program
, GLint location
, GLsizei count
, const GLuint
*value
);
3387 typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVPROC
) (GLuint program
, GLint location
, GLsizei count
, GLboolean transpose
, const GLfloat
*value
);
3388 typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVPROC
) (GLuint program
, GLint location
, GLsizei count
, GLboolean transpose
, const GLfloat
*value
);
3389 typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVPROC
) (GLuint program
, GLint location
, GLsizei count
, GLboolean transpose
, const GLfloat
*value
);
3390 typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2DVPROC
) (GLuint program
, GLint location
, GLsizei count
, GLboolean transpose
, const GLdouble
*value
);
3391 typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3DVPROC
) (GLuint program
, GLint location
, GLsizei count
, GLboolean transpose
, const GLdouble
*value
);
3392 typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4DVPROC
) (GLuint program
, GLint location
, GLsizei count
, GLboolean transpose
, const GLdouble
*value
);
3393 typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC
) (GLuint program
, GLint location
, GLsizei count
, GLboolean transpose
, const GLfloat
*value
);
3394 typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC
) (GLuint program
, GLint location
, GLsizei count
, GLboolean transpose
, const GLfloat
*value
);
3395 typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC
) (GLuint program
, GLint location
, GLsizei count
, GLboolean transpose
, const GLfloat
*value
);
3396 typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC
) (GLuint program
, GLint location
, GLsizei count
, GLboolean transpose
, const GLfloat
*value
);
3397 typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC
) (GLuint program
, GLint location
, GLsizei count
, GLboolean transpose
, const GLfloat
*value
);
3398 typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC
) (GLuint program
, GLint location
, GLsizei count
, GLboolean transpose
, const GLfloat
*value
);
3399 typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC
) (GLuint program
, GLint location
, GLsizei count
, GLboolean transpose
, const GLdouble
*value
);
3400 typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC
) (GLuint program
, GLint location
, GLsizei count
, GLboolean transpose
, const GLdouble
*value
);
3401 typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC
) (GLuint program
, GLint location
, GLsizei count
, GLboolean transpose
, const GLdouble
*value
);
3402 typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC
) (GLuint program
, GLint location
, GLsizei count
, GLboolean transpose
, const GLdouble
*value
);
3403 typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC
) (GLuint program
, GLint location
, GLsizei count
, GLboolean transpose
, const GLdouble
*value
);
3404 typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC
) (GLuint program
, GLint location
, GLsizei count
, GLboolean transpose
, const GLdouble
*value
);
3405 typedef void (APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEPROC
) (GLuint pipeline
);
3406 typedef void (APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGPROC
) (GLuint pipeline
, GLsizei bufSize
, GLsizei
*length
, GLchar
*infoLog
);
3409 #ifndef GL_ARB_vertex_attrib_64bit
3410 #define GL_ARB_vertex_attrib_64bit 1
3411 #ifdef GL3_PROTOTYPES
3412 GLAPI
void APIENTRY
glVertexAttribL1d (GLuint index
, GLdouble x
);
3413 GLAPI
void APIENTRY
glVertexAttribL2d (GLuint index
, GLdouble x
, GLdouble y
);
3414 GLAPI
void APIENTRY
glVertexAttribL3d (GLuint index
, GLdouble x
, GLdouble y
, GLdouble z
);
3415 GLAPI
void APIENTRY
glVertexAttribL4d (GLuint index
, GLdouble x
, GLdouble y
, GLdouble z
, GLdouble w
);
3416 GLAPI
void APIENTRY
glVertexAttribL1dv (GLuint index
, const GLdouble
*v
);
3417 GLAPI
void APIENTRY
glVertexAttribL2dv (GLuint index
, const GLdouble
*v
);
3418 GLAPI
void APIENTRY
glVertexAttribL3dv (GLuint index
, const GLdouble
*v
);
3419 GLAPI
void APIENTRY
glVertexAttribL4dv (GLuint index
, const GLdouble
*v
);
3420 GLAPI
void APIENTRY
glVertexAttribLPointer (GLuint index
, GLint size
, GLenum type
, GLsizei stride
, const GLvoid
*pointer
);
3421 GLAPI
void APIENTRY
glGetVertexAttribLdv (GLuint index
, GLenum pname
, GLdouble
*params
);
3422 #endif /* GL3_PROTOTYPES */
3423 typedef void (APIENTRYP PFNGLVERTEXATTRIBL1DPROC
) (GLuint index
, GLdouble x
);
3424 typedef void (APIENTRYP PFNGLVERTEXATTRIBL2DPROC
) (GLuint index
, GLdouble x
, GLdouble y
);
3425 typedef void (APIENTRYP PFNGLVERTEXATTRIBL3DPROC
) (GLuint index
, GLdouble x
, GLdouble y
, GLdouble z
);
3426 typedef void (APIENTRYP PFNGLVERTEXATTRIBL4DPROC
) (GLuint index
, GLdouble x
, GLdouble y
, GLdouble z
, GLdouble w
);
3427 typedef void (APIENTRYP PFNGLVERTEXATTRIBL1DVPROC
) (GLuint index
, const GLdouble
*v
);
3428 typedef void (APIENTRYP PFNGLVERTEXATTRIBL2DVPROC
) (GLuint index
, const GLdouble
*v
);
3429 typedef void (APIENTRYP PFNGLVERTEXATTRIBL3DVPROC
) (GLuint index
, const GLdouble
*v
);
3430 typedef void (APIENTRYP PFNGLVERTEXATTRIBL4DVPROC
) (GLuint index
, const GLdouble
*v
);
3431 typedef void (APIENTRYP PFNGLVERTEXATTRIBLPOINTERPROC
) (GLuint index
, GLint size
, GLenum type
, GLsizei stride
, const GLvoid
*pointer
);
3432 typedef void (APIENTRYP PFNGLGETVERTEXATTRIBLDVPROC
) (GLuint index
, GLenum pname
, GLdouble
*params
);
3435 #ifndef GL_ARB_viewport_array
3436 #define GL_ARB_viewport_array 1
3437 #ifdef GL3_PROTOTYPES
3438 GLAPI
void APIENTRY
glViewportArrayv (GLuint first
, GLsizei count
, const GLfloat
*v
);
3439 GLAPI
void APIENTRY
glViewportIndexedf (GLuint index
, GLfloat x
, GLfloat y
, GLfloat w
, GLfloat h
);
3440 GLAPI
void APIENTRY
glViewportIndexedfv (GLuint index
, const GLfloat
*v
);
3441 GLAPI
void APIENTRY
glScissorArrayv (GLuint first
, GLsizei count
, const GLint
*v
);
3442 GLAPI
void APIENTRY
glScissorIndexed (GLuint index
, GLint left
, GLint bottom
, GLsizei width
, GLsizei height
);
3443 GLAPI
void APIENTRY
glScissorIndexedv (GLuint index
, const GLint
*v
);
3444 GLAPI
void APIENTRY
glDepthRangeArrayv (GLuint first
, GLsizei count
, const GLclampd
*v
);
3445 GLAPI
void APIENTRY
glDepthRangeIndexed (GLuint index
, GLclampd n
, GLclampd f
);
3446 GLAPI
void APIENTRY
glGetFloati_v (GLenum target
, GLuint index
, GLfloat
*data
);
3447 GLAPI
void APIENTRY
glGetDoublei_v (GLenum target
, GLuint index
, GLdouble
*data
);
3448 #endif /* GL3_PROTOTYPES */
3449 typedef void (APIENTRYP PFNGLVIEWPORTARRAYVPROC
) (GLuint first
, GLsizei count
, const GLfloat
*v
);
3450 typedef void (APIENTRYP PFNGLVIEWPORTINDEXEDFPROC
) (GLuint index
, GLfloat x
, GLfloat y
, GLfloat w
, GLfloat h
);
3451 typedef void (APIENTRYP PFNGLVIEWPORTINDEXEDFVPROC
) (GLuint index
, const GLfloat
*v
);
3452 typedef void (APIENTRYP PFNGLSCISSORARRAYVPROC
) (GLuint first
, GLsizei count
, const GLint
*v
);
3453 typedef void (APIENTRYP PFNGLSCISSORINDEXEDPROC
) (GLuint index
, GLint left
, GLint bottom
, GLsizei width
, GLsizei height
);
3454 typedef void (APIENTRYP PFNGLSCISSORINDEXEDVPROC
) (GLuint index
, const GLint
*v
);
3455 typedef void (APIENTRYP PFNGLDEPTHRANGEARRAYVPROC
) (GLuint first
, GLsizei count
, const GLclampd
*v
);
3456 typedef void (APIENTRYP PFNGLDEPTHRANGEINDEXEDPROC
) (GLuint index
, GLclampd n
, GLclampd f
);
3457 typedef void (APIENTRYP PFNGLGETFLOATI_VPROC
) (GLenum target
, GLuint index
, GLfloat
*data
);
3458 typedef void (APIENTRYP PFNGLGETDOUBLEI_VPROC
) (GLenum target
, GLuint index
, GLdouble
*data
);
3461 #ifndef GL_ARB_cl_event
3462 #define GL_ARB_cl_event 1
3463 #ifdef GL3_PROTOTYPES
3464 GLAPI GLsync APIENTRY
glCreateSyncFromCLeventARB (struct _cl_context
* context
, struct _cl_event
* event
, GLbitfield flags
);
3465 #endif /* GL3_PROTOTYPES */
3466 typedef GLsync (APIENTRYP PFNGLCREATESYNCFROMCLEVENTARBPROC
) (struct _cl_context
* context
, struct _cl_event
* event
, GLbitfield flags
);
3469 #ifndef GL_ARB_debug_output
3470 #define GL_ARB_debug_output 1
3471 #ifdef GL3_PROTOTYPES
3472 GLAPI
void APIENTRY
glDebugMessageControlARB (GLenum source
, GLenum type
, GLenum severity
, GLsizei count
, const GLuint
*ids
, GLboolean enabled
);
3473 GLAPI
void APIENTRY
glDebugMessageInsertARB (GLenum source
, GLenum type
, GLuint id
, GLenum severity
, GLsizei length
, const GLchar
*buf
);
3474 GLAPI
void APIENTRY
glDebugMessageCallbackARB (GLDEBUGPROCARB callback
, const GLvoid
*userParam
);
3475 GLAPI GLuint APIENTRY
glGetDebugMessageLogARB (GLuint count
, GLsizei bufsize
, GLenum
*sources
, GLenum
*types
, GLuint
*ids
, GLenum
*severities
, GLsizei
*lengths
, GLchar
*messageLog
);
3476 #endif /* GL3_PROTOTYPES */
3477 typedef void (APIENTRYP PFNGLDEBUGMESSAGECONTROLARBPROC
) (GLenum source
, GLenum type
, GLenum severity
, GLsizei count
, const GLuint
*ids
, GLboolean enabled
);
3478 typedef void (APIENTRYP PFNGLDEBUGMESSAGEINSERTARBPROC
) (GLenum source
, GLenum type
, GLuint id
, GLenum severity
, GLsizei length
, const GLchar
*buf
);
3479 typedef void (APIENTRYP PFNGLDEBUGMESSAGECALLBACKARBPROC
) (GLDEBUGPROCARB callback
, const GLvoid
*userParam
);
3480 typedef GLuint (APIENTRYP PFNGLGETDEBUGMESSAGELOGARBPROC
) (GLuint count
, GLsizei bufsize
, GLenum
*sources
, GLenum
*types
, GLuint
*ids
, GLenum
*severities
, GLsizei
*lengths
, GLchar
*messageLog
);
3483 #ifndef GL_ARB_robustness
3484 #define GL_ARB_robustness 1
3485 #ifdef GL3_PROTOTYPES
3486 GLAPI GLenum APIENTRY
glGetGraphicsResetStatusARB (void);
3487 GLAPI
void APIENTRY
glGetnMapdvARB (GLenum target
, GLenum query
, GLsizei bufSize
, GLdouble
*v
);
3488 GLAPI
void APIENTRY
glGetnMapfvARB (GLenum target
, GLenum query
, GLsizei bufSize
, GLfloat
*v
);
3489 GLAPI
void APIENTRY
glGetnMapivARB (GLenum target
, GLenum query
, GLsizei bufSize
, GLint
*v
);
3490 GLAPI
void APIENTRY
glGetnPixelMapfvARB (GLenum map
, GLsizei bufSize
, GLfloat
*values
);
3491 GLAPI
void APIENTRY
glGetnPixelMapuivARB (GLenum map
, GLsizei bufSize
, GLuint
*values
);
3492 GLAPI
void APIENTRY
glGetnPixelMapusvARB (GLenum map
, GLsizei bufSize
, GLushort
*values
);
3493 GLAPI
void APIENTRY
glGetnPolygonStippleARB (GLsizei bufSize
, GLubyte
*pattern
);
3494 GLAPI
void APIENTRY
glGetnColorTableARB (GLenum target
, GLenum format
, GLenum type
, GLsizei bufSize
, GLvoid
*table
);
3495 GLAPI
void APIENTRY
glGetnConvolutionFilterARB (GLenum target
, GLenum format
, GLenum type
, GLsizei bufSize
, GLvoid
*image
);
3496 GLAPI
void APIENTRY
glGetnSeparableFilterARB (GLenum target
, GLenum format
, GLenum type
, GLsizei rowBufSize
, GLvoid
*row
, GLsizei columnBufSize
, GLvoid
*column
, GLvoid
*span
);
3497 GLAPI
void APIENTRY
glGetnHistogramARB (GLenum target
, GLboolean reset
, GLenum format
, GLenum type
, GLsizei bufSize
, GLvoid
*values
);
3498 GLAPI
void APIENTRY
glGetnMinmaxARB (GLenum target
, GLboolean reset
, GLenum format
, GLenum type
, GLsizei bufSize
, GLvoid
*values
);
3499 GLAPI
void APIENTRY
glGetnTexImageARB (GLenum target
, GLint level
, GLenum format
, GLenum type
, GLsizei bufSize
, GLvoid
*img
);
3500 GLAPI
void APIENTRY
glReadnPixelsARB (GLint x
, GLint y
, GLsizei width
, GLsizei height
, GLenum format
, GLenum type
, GLsizei bufSize
, GLvoid
*data
);
3501 GLAPI
void APIENTRY
glGetnCompressedTexImageARB (GLenum target
, GLint lod
, GLsizei bufSize
, GLvoid
*img
);
3502 GLAPI
void APIENTRY
glGetnUniformfvARB (GLuint program
, GLint location
, GLsizei bufSize
, GLfloat
*params
);
3503 GLAPI
void APIENTRY
glGetnUniformivARB (GLuint program
, GLint location
, GLsizei bufSize
, GLint
*params
);
3504 GLAPI
void APIENTRY
glGetnUniformuivARB (GLuint program
, GLint location
, GLsizei bufSize
, GLuint
*params
);
3505 GLAPI
void APIENTRY
glGetnUniformdvARB (GLuint program
, GLint location
, GLsizei bufSize
, GLdouble
*params
);
3506 #endif /* GL3_PROTOTYPES */
3507 typedef GLenum (APIENTRYP PFNGLGETGRAPHICSRESETSTATUSARBPROC
) (void);
3508 typedef void (APIENTRYP PFNGLGETNMAPDVARBPROC
) (GLenum target
, GLenum query
, GLsizei bufSize
, GLdouble
*v
);
3509 typedef void (APIENTRYP PFNGLGETNMAPFVARBPROC
) (GLenum target
, GLenum query
, GLsizei bufSize
, GLfloat
*v
);
3510 typedef void (APIENTRYP PFNGLGETNMAPIVARBPROC
) (GLenum target
, GLenum query
, GLsizei bufSize
, GLint
*v
);
3511 typedef void (APIENTRYP PFNGLGETNPIXELMAPFVARBPROC
) (GLenum map
, GLsizei bufSize
, GLfloat
*values
);
3512 typedef void (APIENTRYP PFNGLGETNPIXELMAPUIVARBPROC
) (GLenum map
, GLsizei bufSize
, GLuint
*values
);
3513 typedef void (APIENTRYP PFNGLGETNPIXELMAPUSVARBPROC
) (GLenum map
, GLsizei bufSize
, GLushort
*values
);
3514 typedef void (APIENTRYP PFNGLGETNPOLYGONSTIPPLEARBPROC
) (GLsizei bufSize
, GLubyte
*pattern
);
3515 typedef void (APIENTRYP PFNGLGETNCOLORTABLEARBPROC
) (GLenum target
, GLenum format
, GLenum type
, GLsizei bufSize
, GLvoid
*table
);
3516 typedef void (APIENTRYP PFNGLGETNCONVOLUTIONFILTERARBPROC
) (GLenum target
, GLenum format
, GLenum type
, GLsizei bufSize
, GLvoid
*image
);
3517 typedef void (APIENTRYP PFNGLGETNSEPARABLEFILTERARBPROC
) (GLenum target
, GLenum format
, GLenum type
, GLsizei rowBufSize
, GLvoid
*row
, GLsizei columnBufSize
, GLvoid
*column
, GLvoid
*span
);
3518 typedef void (APIENTRYP PFNGLGETNHISTOGRAMARBPROC
) (GLenum target
, GLboolean reset
, GLenum format
, GLenum type
, GLsizei bufSize
, GLvoid
*values
);
3519 typedef void (APIENTRYP PFNGLGETNMINMAXARBPROC
) (GLenum target
, GLboolean reset
, GLenum format
, GLenum type
, GLsizei bufSize
, GLvoid
*values
);
3520 typedef void (APIENTRYP PFNGLGETNTEXIMAGEARBPROC
) (GLenum target
, GLint level
, GLenum format
, GLenum type
, GLsizei bufSize
, GLvoid
*img
);
3521 typedef void (APIENTRYP PFNGLREADNPIXELSARBPROC
) (GLint x
, GLint y
, GLsizei width
, GLsizei height
, GLenum format
, GLenum type
, GLsizei bufSize
, GLvoid
*data
);
3522 typedef void (APIENTRYP PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC
) (GLenum target
, GLint lod
, GLsizei bufSize
, GLvoid
*img
);
3523 typedef void (APIENTRYP PFNGLGETNUNIFORMFVARBPROC
) (GLuint program
, GLint location
, GLsizei bufSize
, GLfloat
*params
);
3524 typedef void (APIENTRYP PFNGLGETNUNIFORMIVARBPROC
) (GLuint program
, GLint location
, GLsizei bufSize
, GLint
*params
);
3525 typedef void (APIENTRYP PFNGLGETNUNIFORMUIVARBPROC
) (GLuint program
, GLint location
, GLsizei bufSize
, GLuint
*params
);
3526 typedef void (APIENTRYP PFNGLGETNUNIFORMDVARBPROC
) (GLuint program
, GLint location
, GLsizei bufSize
, GLdouble
*params
);
3529 #ifndef GL_ARB_shader_stencil_export
3530 #define GL_ARB_shader_stencil_export 1
3533 #ifndef GL_ARB_base_instance
3534 #define GL_ARB_base_instance 1
3535 #ifdef GL3_PROTOTYPES
3536 GLAPI
void APIENTRY
glDrawArraysInstancedBaseInstance (GLenum mode
, GLint first
, GLsizei count
, GLsizei primcount
, GLuint baseinstance
);
3537 GLAPI
void APIENTRY
glDrawElementsInstancedBaseInstance (GLenum mode
, GLsizei count
, GLenum type
, const void *indices
, GLsizei primcount
, GLuint baseinstance
);
3538 GLAPI
void APIENTRY
glDrawElementsInstancedBaseVertexBaseInstance (GLenum mode
, GLsizei count
, GLenum type
, const void *indices
, GLsizei primcount
, GLint basevertex
, GLuint baseinstance
);
3539 #endif /* GL3_PROTOTYPES */
3540 typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC
) (GLenum mode
, GLint first
, GLsizei count
, GLsizei primcount
, GLuint baseinstance
);
3541 typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC
) (GLenum mode
, GLsizei count
, GLenum type
, const void *indices
, GLsizei primcount
, GLuint baseinstance
);
3542 typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC
) (GLenum mode
, GLsizei count
, GLenum type
, const void *indices
, GLsizei primcount
, GLint basevertex
, GLuint baseinstance
);
3545 #ifndef GL_ARB_shading_language_420pack
3546 #define GL_ARB_shading_language_420pack 1
3549 #ifndef GL_ARB_transform_feedback_instanced
3550 #define GL_ARB_transform_feedback_instanced 1
3551 #ifdef GL3_PROTOTYPES
3552 GLAPI
void APIENTRY
glDrawTransformFeedbackInstanced (GLenum mode
, GLuint id
, GLsizei primcount
);
3553 GLAPI
void APIENTRY
glDrawTransformFeedbackStreamInstanced (GLenum mode
, GLuint id
, GLuint stream
, GLsizei primcount
);
3554 #endif /* GL3_PROTOTYPES */
3555 typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC
) (GLenum mode
, GLuint id
, GLsizei primcount
);
3556 typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC
) (GLenum mode
, GLuint id
, GLuint stream
, GLsizei primcount
);
3559 #ifndef GL_ARB_compressed_texture_pixel_storage
3560 #define GL_ARB_compressed_texture_pixel_storage 1
3563 #ifndef GL_ARB_conservative_depth
3564 #define GL_ARB_conservative_depth 1
3567 #ifndef GL_ARB_internalformat_query
3568 #define GL_ARB_internalformat_query 1
3569 #ifdef GL3_PROTOTYPES
3570 GLAPI
void APIENTRY
glGetInternalformativ (GLenum target
, GLenum internalformat
, GLenum pname
, GLsizei bufSize
, GLint
*params
);
3571 #endif /* GL3_PROTOTYPES */
3572 typedef void (APIENTRYP PFNGLGETINTERNALFORMATIVPROC
) (GLenum target
, GLenum internalformat
, GLenum pname
, GLsizei bufSize
, GLint
*params
);
3575 #ifndef GL_ARB_map_buffer_alignment
3576 #define GL_ARB_map_buffer_alignment 1
3579 #ifndef GL_ARB_shader_atomic_counters
3580 #define GL_ARB_shader_atomic_counters 1
3581 #ifdef GL3_PROTOTYPES
3582 GLAPI
void APIENTRY
glGetActiveAtomicCounterBufferiv (GLuint program
, GLuint bufferIndex
, GLenum pname
, GLint
*params
);
3583 #endif /* GL3_PROTOTYPES */
3584 typedef void (APIENTRYP PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC
) (GLuint program
, GLuint bufferIndex
, GLenum pname
, GLint
*params
);
3587 #ifndef GL_ARB_shader_image_load_store
3588 #define GL_ARB_shader_image_load_store 1
3589 #ifdef GL3_PROTOTYPES
3590 GLAPI
void APIENTRY
glBindImageTexture (GLuint unit
, GLuint texture
, GLint level
, GLboolean layered
, GLint layer
, GLenum access
, GLenum format
);
3591 GLAPI
void APIENTRY
glMemoryBarrier (GLbitfield barriers
);
3592 #endif /* GL3_PROTOTYPES */
3593 typedef void (APIENTRYP PFNGLBINDIMAGETEXTUREPROC
) (GLuint unit
, GLuint texture
, GLint level
, GLboolean layered
, GLint layer
, GLenum access
, GLenum format
);
3594 typedef void (APIENTRYP PFNGLMEMORYBARRIERPROC
) (GLbitfield barriers
);
3597 #ifndef GL_ARB_shading_language_packing
3598 #define GL_ARB_shading_language_packing 1
3601 #ifndef GL_ARB_texture_storage
3602 #define GL_ARB_texture_storage 1
3603 #ifdef GL3_PROTOTYPES
3604 GLAPI
void APIENTRY
glTexStorage1D (GLenum target
, GLsizei levels
, GLenum internalformat
, GLsizei width
);
3605 GLAPI
void APIENTRY
glTexStorage2D (GLenum target
, GLsizei levels
, GLenum internalformat
, GLsizei width
, GLsizei height
);
3606 GLAPI
void APIENTRY
glTexStorage3D (GLenum target
, GLsizei levels
, GLenum internalformat
, GLsizei width
, GLsizei height
, GLsizei depth
);
3607 GLAPI
void APIENTRY
glTextureStorage1DEXT (GLuint texture
, GLenum target
, GLsizei levels
, GLenum internalformat
, GLsizei width
);
3608 GLAPI
void APIENTRY
glTextureStorage2DEXT (GLuint texture
, GLenum target
, GLsizei levels
, GLenum internalformat
, GLsizei width
, GLsizei height
);
3609 GLAPI
void APIENTRY
glTextureStorage3DEXT (GLuint texture
, GLenum target
, GLsizei levels
, GLenum internalformat
, GLsizei width
, GLsizei height
, GLsizei depth
);
3610 #endif /* GL3_PROTOTYPES */
3611 typedef void (APIENTRYP PFNGLTEXSTORAGE1DPROC
) (GLenum target
, GLsizei levels
, GLenum internalformat
, GLsizei width
);
3612 typedef void (APIENTRYP PFNGLTEXSTORAGE2DPROC
) (GLenum target
, GLsizei levels
, GLenum internalformat
, GLsizei width
, GLsizei height
);
3613 typedef void (APIENTRYP PFNGLTEXSTORAGE3DPROC
) (GLenum target
, GLsizei levels
, GLenum internalformat
, GLsizei width
, GLsizei height
, GLsizei depth
);
3614 typedef void (APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC
) (GLuint texture
, GLenum target
, GLsizei levels
, GLenum internalformat
, GLsizei width
);
3615 typedef void (APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC
) (GLuint texture
, GLenum target
, GLsizei levels
, GLenum internalformat
, GLsizei width
, GLsizei height
);
3616 typedef void (APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC
) (GLuint texture
, GLenum target
, GLsizei levels
, GLenum internalformat
, GLsizei width
, GLsizei height
, GLsizei depth
);