Add coding style guide.
[platform/core/uifw/coregl.git] / include_KHR / GLES / glext.h
1 #ifndef __glext_h_
2 #define __glext_h_
3
4 /* $Revision: 20798 $ on $Date:: 2013-03-07 01:19:34 -0800 #$ */
5
6 #ifdef __cplusplus
7 extern "C" {
8 #endif
9
10 /*
11  * This document is licensed under the SGI Free Software B License Version
12  * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ .
13  */
14
15 #ifndef GL_APIENTRYP
16 #   define GL_APIENTRYP GL_APIENTRY*
17 #endif
18
19 /*------------------------------------------------------------------------*
20  * OES extension tokens
21  *------------------------------------------------------------------------*/
22
23 /* GL_OES_blend_equation_separate */
24 #ifndef GL_OES_blend_equation_separate
25 /* BLEND_EQUATION_RGB_OES same as BLEND_EQUATION_OES */
26 #define GL_BLEND_EQUATION_RGB_OES                               0x8009
27 #define GL_BLEND_EQUATION_ALPHA_OES                             0x883D
28 #endif
29
30 /* GL_OES_blend_func_separate */
31 #ifndef GL_OES_blend_func_separate
32 #define GL_BLEND_DST_RGB_OES                                    0x80C8
33 #define GL_BLEND_SRC_RGB_OES                                    0x80C9
34 #define GL_BLEND_DST_ALPHA_OES                                  0x80CA
35 #define GL_BLEND_SRC_ALPHA_OES                                  0x80CB
36 #endif
37
38 /* GL_OES_blend_subtract */
39 #ifndef GL_OES_blend_subtract
40 #define GL_BLEND_EQUATION_OES                                   0x8009
41 #define GL_FUNC_ADD_OES                                         0x8006
42 #define GL_FUNC_SUBTRACT_OES                                    0x800A
43 #define GL_FUNC_REVERSE_SUBTRACT_OES                            0x800B
44 #endif
45
46 /* GL_OES_compressed_ETC1_RGB8_texture */
47 #ifndef GL_OES_compressed_ETC1_RGB8_texture
48 #define GL_ETC1_RGB8_OES                                        0x8D64
49 #endif
50
51 /* GL_OES_depth24 */
52 #ifndef GL_OES_depth24
53 #define GL_DEPTH_COMPONENT24_OES                                0x81A6
54 #endif
55
56 /* GL_OES_depth32 */
57 #ifndef GL_OES_depth32
58 #define GL_DEPTH_COMPONENT32_OES                                0x81A7
59 #endif
60
61 /* GL_OES_draw_texture */
62 #ifndef GL_OES_draw_texture
63 #define GL_TEXTURE_CROP_RECT_OES                                0x8B9D
64 #endif
65
66 /* GL_OES_EGL_image */
67 #ifndef GL_OES_EGL_image
68 typedef void *GLeglImageOES;
69 #endif
70
71 /* GL_OES_EGL_image_external */
72 #ifndef GL_OES_EGL_image_external
73 /* GLeglImageOES defined in GL_OES_EGL_image already. */
74 #define GL_TEXTURE_EXTERNAL_OES                                 0x8D65
75 #define GL_TEXTURE_BINDING_EXTERNAL_OES                         0x8D67
76 #define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES                     0x8D68
77 #endif
78
79 /* GL_OES_element_index_uint */
80 #ifndef GL_OES_element_index_uint
81 #define GL_UNSIGNED_INT                                         0x1405
82 #endif
83
84 /* GL_OES_fixed_point */
85 #ifndef GL_OES_fixed_point
86 #define GL_FIXED_OES                                            0x140C
87 #endif
88
89 /* GL_OES_framebuffer_object */
90 #ifndef GL_OES_framebuffer_object
91 #define GL_NONE_OES                                             0
92 #define GL_FRAMEBUFFER_OES                                      0x8D40
93 #define GL_RENDERBUFFER_OES                                     0x8D41
94 #define GL_RGBA4_OES                                            0x8056
95 #define GL_RGB5_A1_OES                                          0x8057
96 #define GL_RGB565_OES                                           0x8D62
97 #define GL_DEPTH_COMPONENT16_OES                                0x81A5
98 #define GL_RENDERBUFFER_WIDTH_OES                               0x8D42
99 #define GL_RENDERBUFFER_HEIGHT_OES                              0x8D43
100 #define GL_RENDERBUFFER_INTERNAL_FORMAT_OES                     0x8D44
101 #define GL_RENDERBUFFER_RED_SIZE_OES                            0x8D50
102 #define GL_RENDERBUFFER_GREEN_SIZE_OES                          0x8D51
103 #define GL_RENDERBUFFER_BLUE_SIZE_OES                           0x8D52
104 #define GL_RENDERBUFFER_ALPHA_SIZE_OES                          0x8D53
105 #define GL_RENDERBUFFER_DEPTH_SIZE_OES                          0x8D54
106 #define GL_RENDERBUFFER_STENCIL_SIZE_OES                        0x8D55
107 #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES               0x8CD0
108 #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES               0x8CD1
109 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES             0x8CD2
110 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES     0x8CD3
111 #define GL_COLOR_ATTACHMENT0_OES                                0x8CE0
112 #define GL_DEPTH_ATTACHMENT_OES                                 0x8D00
113 #define GL_STENCIL_ATTACHMENT_OES                               0x8D20
114 #define GL_FRAMEBUFFER_COMPLETE_OES                             0x8CD5
115 #define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES                0x8CD6
116 #define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES        0x8CD7
117 #define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES                0x8CD9
118 #define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES                   0x8CDA
119 #define GL_FRAMEBUFFER_UNSUPPORTED_OES                          0x8CDD
120 #define GL_FRAMEBUFFER_BINDING_OES                              0x8CA6
121 #define GL_RENDERBUFFER_BINDING_OES                             0x8CA7
122 #define GL_MAX_RENDERBUFFER_SIZE_OES                            0x84E8
123 #define GL_INVALID_FRAMEBUFFER_OPERATION_OES                    0x0506
124 #endif
125
126 /* GL_OES_mapbuffer */
127 #ifndef GL_OES_mapbuffer
128 #define GL_WRITE_ONLY_OES                                       0x88B9
129 #define GL_BUFFER_ACCESS_OES                                    0x88BB
130 #define GL_BUFFER_MAPPED_OES                                    0x88BC
131 #define GL_BUFFER_MAP_POINTER_OES                               0x88BD
132 #endif
133
134 /* GL_OES_matrix_get */
135 #ifndef GL_OES_matrix_get
136 #define GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES               0x898D
137 #define GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES              0x898E
138 #define GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES                 0x898F
139 #endif
140
141 /* GL_OES_matrix_palette */
142 #ifndef GL_OES_matrix_palette
143 #define GL_MAX_VERTEX_UNITS_OES                                 0x86A4
144 #define GL_MAX_PALETTE_MATRICES_OES                             0x8842
145 #define GL_MATRIX_PALETTE_OES                                   0x8840
146 #define GL_MATRIX_INDEX_ARRAY_OES                               0x8844
147 #define GL_WEIGHT_ARRAY_OES                                     0x86AD
148 #define GL_CURRENT_PALETTE_MATRIX_OES                           0x8843
149 #define GL_MATRIX_INDEX_ARRAY_SIZE_OES                          0x8846
150 #define GL_MATRIX_INDEX_ARRAY_TYPE_OES                          0x8847
151 #define GL_MATRIX_INDEX_ARRAY_STRIDE_OES                        0x8848
152 #define GL_MATRIX_INDEX_ARRAY_POINTER_OES                       0x8849
153 #define GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES                0x8B9E
154 #define GL_WEIGHT_ARRAY_SIZE_OES                                0x86AB
155 #define GL_WEIGHT_ARRAY_TYPE_OES                                0x86A9
156 #define GL_WEIGHT_ARRAY_STRIDE_OES                              0x86AA
157 #define GL_WEIGHT_ARRAY_POINTER_OES                             0x86AC
158 #define GL_WEIGHT_ARRAY_BUFFER_BINDING_OES                      0x889E
159 #endif
160
161 /* GL_OES_packed_depth_stencil */
162 #ifndef GL_OES_packed_depth_stencil
163 #define GL_DEPTH_STENCIL_OES                                    0x84F9
164 #define GL_UNSIGNED_INT_24_8_OES                                0x84FA
165 #define GL_DEPTH24_STENCIL8_OES                                 0x88F0
166 #endif
167
168 /* GL_OES_required_internalformat */
169 /* No new tokens introduced by this extension. */
170
171 /* GL_OES_rgb8_rgba8 */
172 #ifndef GL_OES_rgb8_rgba8
173 #define GL_RGB8_OES                                             0x8051
174 #define GL_RGBA8_OES                                            0x8058
175 #endif
176
177 /* GL_OES_stencil1 */
178 #ifndef GL_OES_stencil1
179 #define GL_STENCIL_INDEX1_OES                                   0x8D46
180 #endif
181
182 /* GL_OES_stencil4 */
183 #ifndef GL_OES_stencil4
184 #define GL_STENCIL_INDEX4_OES                                   0x8D47
185 #endif
186
187 /* GL_OES_stencil8 */
188 #ifndef GL_OES_stencil8
189 #define GL_STENCIL_INDEX8_OES                                   0x8D48
190 #endif
191
192 /* GL_OES_stencil_wrap */
193 #ifndef GL_OES_stencil_wrap
194 #define GL_INCR_WRAP_OES                                        0x8507
195 #define GL_DECR_WRAP_OES                                        0x8508
196 #endif
197
198 /* GL_OES_texture_cube_map */
199 #ifndef GL_OES_texture_cube_map
200 #define GL_NORMAL_MAP_OES                                       0x8511
201 #define GL_REFLECTION_MAP_OES                                   0x8512
202 #define GL_TEXTURE_CUBE_MAP_OES                                 0x8513
203 #define GL_TEXTURE_BINDING_CUBE_MAP_OES                         0x8514
204 #define GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES                      0x8515
205 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES                      0x8516
206 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES                      0x8517
207 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES                      0x8518
208 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES                      0x8519
209 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES                      0x851A
210 #define GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES                        0x851C
211 #define GL_TEXTURE_GEN_MODE_OES                                 0x2500
212 #define GL_TEXTURE_GEN_STR_OES                                  0x8D60
213 #endif
214
215 /* GL_OES_texture_mirrored_repeat */
216 #ifndef GL_OES_texture_mirrored_repeat
217 #define GL_MIRRORED_REPEAT_OES                                  0x8370
218 #endif
219
220 /* GL_OES_vertex_array_object */
221 #ifndef GL_OES_vertex_array_object
222 #define GL_VERTEX_ARRAY_BINDING_OES                             0x85B5
223 #endif
224
225 /*------------------------------------------------------------------------*
226  * AMD extension tokens
227  *------------------------------------------------------------------------*/
228
229 /* GL_AMD_compressed_3DC_texture */
230 #ifndef GL_AMD_compressed_3DC_texture
231 #define GL_3DC_X_AMD                                            0x87F9
232 #define GL_3DC_XY_AMD                                           0x87FA
233 #endif
234
235 /* GL_AMD_compressed_ATC_texture */
236 #ifndef GL_AMD_compressed_ATC_texture
237 #define GL_ATC_RGB_AMD                                          0x8C92
238 #define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD                          0x8C93
239 #define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD                      0x87EE
240 #endif
241
242 /*------------------------------------------------------------------------*
243  * APPLE extension tokens
244  *------------------------------------------------------------------------*/
245
246 /* GL_APPLE_copy_texture_levels */
247 /* No new tokens introduced by this extension. */
248
249 /* GL_APPLE_framebuffer_multisample */
250 #ifndef GL_APPLE_framebuffer_multisample
251 #define GL_RENDERBUFFER_SAMPLES_APPLE                           0x8CAB
252 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE             0x8D56
253 #define GL_MAX_SAMPLES_APPLE                                    0x8D57
254 #define GL_READ_FRAMEBUFFER_APPLE                               0x8CA8
255 #define GL_DRAW_FRAMEBUFFER_APPLE                               0x8CA9
256 #define GL_DRAW_FRAMEBUFFER_BINDING_APPLE                       0x8CA6
257 #define GL_READ_FRAMEBUFFER_BINDING_APPLE                       0x8CAA
258 #endif
259
260 /* GL_APPLE_sync */
261 #ifndef GL_APPLE_sync
262
263 /* These types are defined with reference to <inttypes.h>
264  * in the Apple extension spec, but here we use the Khronos
265  * portable types in khrplatform.h, and assume those types
266  * are always defined.
267  * If any other extensions using these types are defined,
268  * the typedefs must move out of this block and be shared.
269  */
270 typedef khronos_int64_t GLint64;
271 typedef khronos_uint64_t GLuint64;
272 typedef struct __GLsync *GLsync;
273
274 #define GL_SYNC_OBJECT_APPLE                                    0x8A53
275 #define GL_MAX_SERVER_WAIT_TIMEOUT_APPLE                        0x9111
276 #define GL_OBJECT_TYPE_APPLE                                    0x9112
277 #define GL_SYNC_CONDITION_APPLE                                 0x9113
278 #define GL_SYNC_STATUS_APPLE                                    0x9114
279 #define GL_SYNC_FLAGS_APPLE                                     0x9115
280 #define GL_SYNC_FENCE_APPLE                                     0x9116
281 #define GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE                     0x9117
282 #define GL_UNSIGNALED_APPLE                                     0x9118
283 #define GL_SIGNALED_APPLE                                       0x9119
284 #define GL_ALREADY_SIGNALED_APPLE                               0x911A
285 #define GL_TIMEOUT_EXPIRED_APPLE                                0x911B
286 #define GL_CONDITION_SATISFIED_APPLE                            0x911C
287 #define GL_WAIT_FAILED_APPLE                                    0x911D
288 #define GL_SYNC_FLUSH_COMMANDS_BIT_APPLE                        0x00000001
289 #define GL_TIMEOUT_IGNORED_APPLE                                0xFFFFFFFFFFFFFFFFull
290 #endif
291
292 /* GL_APPLE_texture_2D_limited_npot */
293 /* No new tokens introduced by this extension. */
294
295 /* GL_APPLE_texture_format_BGRA8888 */
296 #ifndef GL_APPLE_texture_format_BGRA8888
297 #define GL_BGRA_EXT                                             0x80E1
298 #endif
299
300 /* GL_APPLE_texture_max_level */
301 #ifndef GL_APPLE_texture_max_level
302 #define GL_TEXTURE_MAX_LEVEL_APPLE                              0x813D
303 #endif
304
305 /*------------------------------------------------------------------------*
306  * ARM extension tokens
307  *------------------------------------------------------------------------*/
308
309 /* GL_ARM_rgba8 */
310 /* No new tokens introduced by this extension. */
311
312 /*------------------------------------------------------------------------*
313  * EXT extension tokens
314  *------------------------------------------------------------------------*/
315
316 /* GL_EXT_blend_minmax */
317 #ifndef GL_EXT_blend_minmax
318 #define GL_MIN_EXT                                              0x8007
319 #define GL_MAX_EXT                                              0x8008
320 #endif
321
322 /* GL_EXT_discard_framebuffer */
323 #ifndef GL_EXT_discard_framebuffer
324 #define GL_COLOR_EXT                                            0x1800
325 #define GL_DEPTH_EXT                                            0x1801
326 #define GL_STENCIL_EXT                                          0x1802
327 #endif
328
329 /* GL_EXT_map_buffer_range */
330 #ifndef GL_EXT_map_buffer_range
331 #define GL_MAP_READ_BIT_EXT                                     0x0001
332 #define GL_MAP_WRITE_BIT_EXT                                    0x0002
333 #define GL_MAP_INVALIDATE_RANGE_BIT_EXT                         0x0004
334 #define GL_MAP_INVALIDATE_BUFFER_BIT_EXT                        0x0008
335 #define GL_MAP_FLUSH_EXPLICIT_BIT_EXT                           0x0010
336 #define GL_MAP_UNSYNCHRONIZED_BIT_EXT                           0x0020
337 #endif
338
339 /* GL_EXT_multisampled_render_to_texture */
340 #ifndef GL_EXT_multisampled_render_to_texture
341 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT           0x8D6C
342 /* reuse values from GL_EXT_framebuffer_multisample (desktop extension) */
343 #define GL_RENDERBUFFER_SAMPLES_EXT                             0x8CAB
344 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT               0x8D56
345 #define GL_MAX_SAMPLES_EXT                                      0x8D57
346 #endif
347
348 /* GL_EXT_multi_draw_arrays */
349 /* No new tokens introduced by this extension. */
350
351 /* GL_EXT_read_format_bgra */
352 #ifndef GL_EXT_read_format_bgra
353 #define GL_BGRA_EXT                                             0x80E1
354 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT                       0x8365
355 #define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT                       0x8366
356 #endif
357
358 /* GL_EXT_robustness */
359 #ifndef GL_EXT_robustness
360 /* reuse GL_NO_ERROR */
361 #define GL_GUILTY_CONTEXT_RESET_EXT                             0x8253
362 #define GL_INNOCENT_CONTEXT_RESET_EXT                           0x8254
363 #define GL_UNKNOWN_CONTEXT_RESET_EXT                            0x8255
364 #define GL_CONTEXT_ROBUST_ACCESS_EXT                            0x90F3
365 #define GL_RESET_NOTIFICATION_STRATEGY_EXT                      0x8256
366 #define GL_LOSE_CONTEXT_ON_RESET_EXT                            0x8252
367 #define GL_NO_RESET_NOTIFICATION_EXT                            0x8261
368 #endif
369
370 /* GL_EXT_sRGB */
371 #ifndef GL_EXT_sRGB
372 #define GL_SRGB_EXT                                             0x8C40
373 #define GL_SRGB_ALPHA_EXT                                       0x8C42
374 #define GL_SRGB8_ALPHA8_EXT                                     0x8C43
375 #define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT            0x8210
376 #endif
377
378 /* GL_EXT_texture_compression_dxt1 */
379 #ifndef GL_EXT_texture_compression_dxt1
380 #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT                         0x83F0
381 #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT                        0x83F1
382 #endif
383
384 /* GL_EXT_texture_filter_anisotropic */
385 #ifndef GL_EXT_texture_filter_anisotropic
386 #define GL_TEXTURE_MAX_ANISOTROPY_EXT                           0x84FE
387 #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT                       0x84FF
388 #endif
389
390 /* GL_EXT_texture_format_BGRA8888 */
391 #ifndef GL_EXT_texture_format_BGRA8888
392 #define GL_BGRA_EXT                                             0x80E1
393 #endif
394
395 /* GL_EXT_texture_lod_bias */
396 #ifndef GL_EXT_texture_lod_bias
397 #define GL_MAX_TEXTURE_LOD_BIAS_EXT                             0x84FD
398 #define GL_TEXTURE_FILTER_CONTROL_EXT                           0x8500
399 #define GL_TEXTURE_LOD_BIAS_EXT                                 0x8501
400 #endif
401
402 /* GL_EXT_texture_storage */
403 #ifndef GL_EXT_texture_storage
404 #define GL_TEXTURE_IMMUTABLE_FORMAT_EXT                         0x912F
405 #define GL_ALPHA8_EXT                                           0x803C
406 #define GL_LUMINANCE8_EXT                                       0x8040
407 #define GL_LUMINANCE8_ALPHA8_EXT                                0x8045
408 #define GL_RGBA32F_EXT                                          0x8814
409 #define GL_RGB32F_EXT                                           0x8815
410 #define GL_ALPHA32F_EXT                                         0x8816
411 #define GL_LUMINANCE32F_EXT                                     0x8818
412 #define GL_LUMINANCE_ALPHA32F_EXT                               0x8819
413 /* reuse GL_RGBA16F_EXT */
414 #define GL_RGB16F_EXT                                           0x881B
415 #define GL_ALPHA16F_EXT                                         0x881C
416 #define GL_LUMINANCE16F_EXT                                     0x881E
417 #define GL_LUMINANCE_ALPHA16F_EXT                               0x881F
418 #define GL_RGB10_A2_EXT                                         0x8059
419 #define GL_RGB10_EXT                                            0x8052
420 #define GL_BGRA8_EXT                                            0x93A1
421 #endif
422
423 /*------------------------------------------------------------------------*
424  * IMG extension tokens
425  *------------------------------------------------------------------------*/
426
427 /* GL_IMG_read_format */
428 #ifndef GL_IMG_read_format
429 #define GL_BGRA_IMG                                             0x80E1
430 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG                       0x8365
431 #endif
432
433 /* GL_IMG_texture_compression_pvrtc */
434 #ifndef GL_IMG_texture_compression_pvrtc
435 #define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG                      0x8C00
436 #define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG                      0x8C01
437 #define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG                     0x8C02
438 #define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG                     0x8C03
439 #endif
440
441 /* GL_IMG_texture_env_enhanced_fixed_function */
442 #ifndef GL_IMG_texture_env_enhanced_fixed_function
443 #define GL_MODULATE_COLOR_IMG                                   0x8C04
444 #define GL_RECIP_ADD_SIGNED_ALPHA_IMG                           0x8C05
445 #define GL_TEXTURE_ALPHA_MODULATE_IMG                           0x8C06
446 #define GL_FACTOR_ALPHA_MODULATE_IMG                            0x8C07
447 #define GL_FRAGMENT_ALPHA_MODULATE_IMG                          0x8C08
448 #define GL_ADD_BLEND_IMG                                        0x8C09
449 #define GL_DOT3_RGBA_IMG                                        0x86AF
450 #endif
451
452 /* GL_IMG_user_clip_plane */
453 #ifndef GL_IMG_user_clip_plane
454 #define GL_CLIP_PLANE0_IMG                                      0x3000
455 #define GL_CLIP_PLANE1_IMG                                      0x3001
456 #define GL_CLIP_PLANE2_IMG                                      0x3002
457 #define GL_CLIP_PLANE3_IMG                                      0x3003
458 #define GL_CLIP_PLANE4_IMG                                      0x3004
459 #define GL_CLIP_PLANE5_IMG                                      0x3005
460 #define GL_MAX_CLIP_PLANES_IMG                                  0x0D32
461 #endif
462
463 /* GL_IMG_multisampled_render_to_texture */
464 #ifndef GL_IMG_multisampled_render_to_texture
465 #define GL_RENDERBUFFER_SAMPLES_IMG                             0x9133
466 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG               0x9134
467 #define GL_MAX_SAMPLES_IMG                                      0x9135
468 #define GL_TEXTURE_SAMPLES_IMG                                  0x9136
469 #endif
470
471 /*------------------------------------------------------------------------*
472  * NV extension tokens
473  *------------------------------------------------------------------------*/
474
475 /* GL_NV_fence */
476 #ifndef GL_NV_fence
477 #define GL_ALL_COMPLETED_NV                                     0x84F2
478 #define GL_FENCE_STATUS_NV                                      0x84F3
479 #define GL_FENCE_CONDITION_NV                                   0x84F4
480 #endif
481
482 /*------------------------------------------------------------------------*
483  * QCOM extension tokens
484  *------------------------------------------------------------------------*/
485
486 /* GL_QCOM_driver_control */
487 /* No new tokens introduced by this extension. */
488
489 /* GL_QCOM_extended_get */
490 #ifndef GL_QCOM_extended_get
491 #define GL_TEXTURE_WIDTH_QCOM                                   0x8BD2
492 #define GL_TEXTURE_HEIGHT_QCOM                                  0x8BD3
493 #define GL_TEXTURE_DEPTH_QCOM                                   0x8BD4
494 #define GL_TEXTURE_INTERNAL_FORMAT_QCOM                         0x8BD5
495 #define GL_TEXTURE_FORMAT_QCOM                                  0x8BD6
496 #define GL_TEXTURE_TYPE_QCOM                                    0x8BD7
497 #define GL_TEXTURE_IMAGE_VALID_QCOM                             0x8BD8
498 #define GL_TEXTURE_NUM_LEVELS_QCOM                              0x8BD9
499 #define GL_TEXTURE_TARGET_QCOM                                  0x8BDA
500 #define GL_TEXTURE_OBJECT_VALID_QCOM                            0x8BDB
501 #define GL_STATE_RESTORE                                        0x8BDC
502 #endif
503
504 /* GL_QCOM_extended_get2 */
505 /* No new tokens introduced by this extension. */
506
507 /* GL_QCOM_perfmon_global_mode */
508 #ifndef GL_QCOM_perfmon_global_mode
509 #define GL_PERFMON_GLOBAL_MODE_QCOM                             0x8FA0
510 #endif
511
512 /* GL_QCOM_writeonly_rendering */
513 #ifndef GL_QCOM_writeonly_rendering
514 #define GL_WRITEONLY_RENDERING_QCOM                             0x8823
515 #endif
516
517 /* GL_QCOM_tiled_rendering */
518 #ifndef GL_QCOM_tiled_rendering
519 #define GL_COLOR_BUFFER_BIT0_QCOM                               0x00000001
520 #define GL_COLOR_BUFFER_BIT1_QCOM                               0x00000002
521 #define GL_COLOR_BUFFER_BIT2_QCOM                               0x00000004
522 #define GL_COLOR_BUFFER_BIT3_QCOM                               0x00000008
523 #define GL_COLOR_BUFFER_BIT4_QCOM                               0x00000010
524 #define GL_COLOR_BUFFER_BIT5_QCOM                               0x00000020
525 #define GL_COLOR_BUFFER_BIT6_QCOM                               0x00000040
526 #define GL_COLOR_BUFFER_BIT7_QCOM                               0x00000080
527 #define GL_DEPTH_BUFFER_BIT0_QCOM                               0x00000100
528 #define GL_DEPTH_BUFFER_BIT1_QCOM                               0x00000200
529 #define GL_DEPTH_BUFFER_BIT2_QCOM                               0x00000400
530 #define GL_DEPTH_BUFFER_BIT3_QCOM                               0x00000800
531 #define GL_DEPTH_BUFFER_BIT4_QCOM                               0x00001000
532 #define GL_DEPTH_BUFFER_BIT5_QCOM                               0x00002000
533 #define GL_DEPTH_BUFFER_BIT6_QCOM                               0x00004000
534 #define GL_DEPTH_BUFFER_BIT7_QCOM                               0x00008000
535 #define GL_STENCIL_BUFFER_BIT0_QCOM                             0x00010000
536 #define GL_STENCIL_BUFFER_BIT1_QCOM                             0x00020000
537 #define GL_STENCIL_BUFFER_BIT2_QCOM                             0x00040000
538 #define GL_STENCIL_BUFFER_BIT3_QCOM                             0x00080000
539 #define GL_STENCIL_BUFFER_BIT4_QCOM                             0x00100000
540 #define GL_STENCIL_BUFFER_BIT5_QCOM                             0x00200000
541 #define GL_STENCIL_BUFFER_BIT6_QCOM                             0x00400000
542 #define GL_STENCIL_BUFFER_BIT7_QCOM                             0x00800000
543 #define GL_MULTISAMPLE_BUFFER_BIT0_QCOM                         0x01000000
544 #define GL_MULTISAMPLE_BUFFER_BIT1_QCOM                         0x02000000
545 #define GL_MULTISAMPLE_BUFFER_BIT2_QCOM                         0x04000000
546 #define GL_MULTISAMPLE_BUFFER_BIT3_QCOM                         0x08000000
547 #define GL_MULTISAMPLE_BUFFER_BIT4_QCOM                         0x10000000
548 #define GL_MULTISAMPLE_BUFFER_BIT5_QCOM                         0x20000000
549 #define GL_MULTISAMPLE_BUFFER_BIT6_QCOM                         0x40000000
550 #define GL_MULTISAMPLE_BUFFER_BIT7_QCOM                         0x80000000
551 #endif
552
553 /*------------------------------------------------------------------------*
554  * End of extension tokens, start of corresponding extension functions
555  *------------------------------------------------------------------------*/
556
557 /*------------------------------------------------------------------------*
558  * OES extension functions
559  *------------------------------------------------------------------------*/
560
561 /* GL_OES_blend_equation_separate */
562 #ifndef GL_OES_blend_equation_separate
563 #define GL_OES_blend_equation_separate 1
564 #ifdef GL_GLEXT_PROTOTYPES
565 GL_API void GL_APIENTRY glBlendEquationSeparateOES (GLenum modeRGB,
566                 GLenum modeAlpha);
567 #endif
568 typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONSEPARATEOESPROC) (GLenum modeRGB,
569                 GLenum modeAlpha);
570 #endif
571
572 /* GL_OES_blend_func_separate */
573 #ifndef GL_OES_blend_func_separate
574 #define GL_OES_blend_func_separate 1
575 #ifdef GL_GLEXT_PROTOTYPES
576 GL_API void GL_APIENTRY glBlendFuncSeparateOES (GLenum srcRGB, GLenum dstRGB,
577                 GLenum srcAlpha, GLenum dstAlpha);
578 #endif
579 typedef void (GL_APIENTRYP PFNGLBLENDFUNCSEPARATEOESPROC) (GLenum srcRGB,
580                 GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
581 #endif
582
583 /* GL_OES_blend_subtract */
584 #ifndef GL_OES_blend_subtract
585 #define GL_OES_blend_subtract 1
586 #ifdef GL_GLEXT_PROTOTYPES
587 GL_API void GL_APIENTRY glBlendEquationOES (GLenum mode);
588 #endif
589 typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONOESPROC) (GLenum mode);
590 #endif
591
592 /* GL_OES_byte_coordinates */
593 #ifndef GL_OES_byte_coordinates
594 #define GL_OES_byte_coordinates 1
595 #endif
596
597 /* GL_OES_compressed_ETC1_RGB8_texture */
598 #ifndef GL_OES_compressed_ETC1_RGB8_texture
599 #define GL_OES_compressed_ETC1_RGB8_texture 1
600 #endif
601
602 /* GL_OES_depth24 */
603 #ifndef GL_OES_depth24
604 #define GL_OES_depth24 1
605 #endif
606
607 /* GL_OES_depth32 */
608 #ifndef GL_OES_depth32
609 #define GL_OES_depth32 1
610 #endif
611
612 /* GL_OES_draw_texture */
613 #ifndef GL_OES_draw_texture
614 #define GL_OES_draw_texture 1
615 #ifdef GL_GLEXT_PROTOTYPES
616 GL_API void GL_APIENTRY glDrawTexsOES (GLshort x, GLshort y, GLshort z,
617                                        GLshort width, GLshort height);
618 GL_API void GL_APIENTRY glDrawTexiOES (GLint x, GLint y, GLint z, GLint width,
619                                        GLint height);
620 GL_API void GL_APIENTRY glDrawTexxOES (GLfixed x, GLfixed y, GLfixed z,
621                                        GLfixed width, GLfixed height);
622 GL_API void GL_APIENTRY glDrawTexsvOES (const GLshort *coords);
623 GL_API void GL_APIENTRY glDrawTexivOES (const GLint *coords);
624 GL_API void GL_APIENTRY glDrawTexxvOES (const GLfixed *coords);
625 GL_API void GL_APIENTRY glDrawTexfOES (GLfloat x, GLfloat y, GLfloat z,
626                                        GLfloat width, GLfloat height);
627 GL_API void GL_APIENTRY glDrawTexfvOES (const GLfloat *coords);
628 #endif
629 typedef void (GL_APIENTRYP PFNGLDRAWTEXSOESPROC) (GLshort x, GLshort y,
630                 GLshort z, GLshort width, GLshort height);
631 typedef void (GL_APIENTRYP PFNGLDRAWTEXIOESPROC) (GLint x, GLint y, GLint z,
632                 GLint width, GLint height);
633 typedef void (GL_APIENTRYP PFNGLDRAWTEXXOESPROC) (GLfixed x, GLfixed y,
634                 GLfixed z, GLfixed width, GLfixed height);
635 typedef void (GL_APIENTRYP PFNGLDRAWTEXSVOESPROC) (const GLshort *coords);
636 typedef void (GL_APIENTRYP PFNGLDRAWTEXIVOESPROC) (const GLint *coords);
637 typedef void (GL_APIENTRYP PFNGLDRAWTEXXVOESPROC) (const GLfixed *coords);
638 typedef void (GL_APIENTRYP PFNGLDRAWTEXFOESPROC) (GLfloat x, GLfloat y,
639                 GLfloat z, GLfloat width, GLfloat height);
640 typedef void (GL_APIENTRYP PFNGLDRAWTEXFVOESPROC) (const GLfloat *coords);
641 #endif
642
643 /* GL_OES_EGL_image */
644 #ifndef GL_OES_EGL_image
645 #define GL_OES_EGL_image 1
646 #ifdef GL_GLEXT_PROTOTYPES
647 GL_API void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target,
648                 GLeglImageOES image);
649 GL_API void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target,
650                 GLeglImageOES image);
651 #endif
652 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target,
653                 GLeglImageOES image);
654 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (
655         GLenum target, GLeglImageOES image);
656 #endif
657
658 /* GL_OES_EGL_image_external */
659 #ifndef GL_OES_EGL_image_external
660 #define GL_OES_EGL_image_external 1
661 /* glEGLImageTargetTexture2DOES defined in GL_OES_EGL_image already. */
662 #endif
663
664 /* GL_OES_element_index_uint */
665 #ifndef GL_OES_element_index_uint
666 #define GL_OES_element_index_uint 1
667 #endif
668
669 /* GL_OES_extended_matrix_palette */
670 #ifndef GL_OES_extended_matrix_palette
671 #define GL_OES_extended_matrix_palette 1
672 #endif
673
674 /* GL_OES_fbo_render_mipmap */
675 #ifndef GL_OES_fbo_render_mipmap
676 #define GL_OES_fbo_render_mipmap 1
677 #endif
678
679 /* GL_OES_fixed_point */
680 #ifndef GL_OES_fixed_point
681 #define GL_OES_fixed_point 1
682 #ifdef GL_GLEXT_PROTOTYPES
683 GL_API void GL_APIENTRY glAlphaFuncxOES (GLenum func, GLclampx ref);
684 GL_API void GL_APIENTRY glClearColorxOES (GLclampx red, GLclampx green,
685                 GLclampx blue, GLclampx alpha);
686 GL_API void GL_APIENTRY glClearDepthxOES (GLclampx depth);
687 GL_API void GL_APIENTRY glClipPlanexOES (GLenum plane, const GLfixed *equation);
688 GL_API void GL_APIENTRY glColor4xOES (GLfixed red, GLfixed green, GLfixed blue,
689                                       GLfixed alpha);
690 GL_API void GL_APIENTRY glDepthRangexOES (GLclampx zNear, GLclampx zFar);
691 GL_API void GL_APIENTRY glFogxOES (GLenum pname, GLfixed param);
692 GL_API void GL_APIENTRY glFogxvOES (GLenum pname, const GLfixed *params);
693 GL_API void GL_APIENTRY glFrustumxOES (GLfixed left, GLfixed right,
694                                        GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
695 GL_API void GL_APIENTRY glGetClipPlanexOES (GLenum pname, GLfixed eqn[4]);
696 GL_API void GL_APIENTRY glGetFixedvOES (GLenum pname, GLfixed *params);
697 GL_API void GL_APIENTRY glGetLightxvOES (GLenum light, GLenum pname,
698                 GLfixed *params);
699 GL_API void GL_APIENTRY glGetMaterialxvOES (GLenum face, GLenum pname,
700                 GLfixed *params);
701 GL_API void GL_APIENTRY glGetTexEnvxvOES (GLenum env, GLenum pname,
702                 GLfixed *params);
703 GL_API void GL_APIENTRY glGetTexParameterxvOES (GLenum target, GLenum pname,
704                 GLfixed *params);
705 GL_API void GL_APIENTRY glLightModelxOES (GLenum pname, GLfixed param);
706 GL_API void GL_APIENTRY glLightModelxvOES (GLenum pname, const GLfixed *params);
707 GL_API void GL_APIENTRY glLightxOES (GLenum light, GLenum pname, GLfixed param);
708 GL_API void GL_APIENTRY glLightxvOES (GLenum light, GLenum pname,
709                                       const GLfixed *params);
710 GL_API void GL_APIENTRY glLineWidthxOES (GLfixed width);
711 GL_API void GL_APIENTRY glLoadMatrixxOES (const GLfixed *m);
712 GL_API void GL_APIENTRY glMaterialxOES (GLenum face, GLenum pname,
713                                         GLfixed param);
714 GL_API void GL_APIENTRY glMaterialxvOES (GLenum face, GLenum pname,
715                 const GLfixed *params);
716 GL_API void GL_APIENTRY glMultMatrixxOES (const GLfixed *m);
717 GL_API void GL_APIENTRY glMultiTexCoord4bOES (GLenum target, GLbyte s, GLbyte t,
718                 GLbyte r, GLbyte q);
719 GL_API void GL_APIENTRY glMultiTexCoord4xOES (GLenum target, GLfixed s,
720                 GLfixed t, GLfixed r, GLfixed q);
721 GL_API void GL_APIENTRY glNormal3xOES (GLfixed nx, GLfixed ny, GLfixed nz);
722 GL_API void GL_APIENTRY glOrthoxOES (GLfixed left, GLfixed right,
723                                      GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
724 GL_API void GL_APIENTRY glPointParameterxOES (GLenum pname, GLfixed param);
725 GL_API void GL_APIENTRY glPointParameterxvOES (GLenum pname,
726                 const GLfixed *params);
727 GL_API void GL_APIENTRY glPointSizexOES (GLfixed size);
728 GL_API void GL_APIENTRY glPolygonOffsetxOES (GLfixed factor, GLfixed units);
729 GL_API void GL_APIENTRY glRotatexOES (GLfixed angle, GLfixed x, GLfixed y,
730                                       GLfixed z);
731 GL_API void GL_APIENTRY glSampleCoveragexOES (GLclampx value, GLboolean invert);
732 GL_API void GL_APIENTRY glScalexOES (GLfixed x, GLfixed y, GLfixed z);
733 GL_API void GL_APIENTRY glTexEnvxOES (GLenum target, GLenum pname,
734                                       GLfixed param);
735 GL_API void GL_APIENTRY glTexEnvxvOES (GLenum target, GLenum pname,
736                                        const GLfixed *params);
737 GL_API void GL_APIENTRY glTexParameterxOES (GLenum target, GLenum pname,
738                 GLfixed param);
739 GL_API void GL_APIENTRY glTexParameterxvOES (GLenum target, GLenum pname,
740                 const GLfixed *params);
741 GL_API void GL_APIENTRY glTranslatexOES (GLfixed x, GLfixed y, GLfixed z);
742 #endif
743 typedef void (GL_APIENTRYP PFNGLALPHAFUNCXOESPROC) (GLenum func, GLclampx ref);
744 typedef void (GL_APIENTRYP PFNGLCLEARCOLORXOESPROC) (GLclampx red,
745                 GLclampx green, GLclampx blue, GLclampx alpha);
746 typedef void (GL_APIENTRYP PFNGLCLEARDEPTHXOESPROC) (GLclampx depth);
747 typedef void (GL_APIENTRYP PFNGLCLIPPLANEXOESPROC) (GLenum plane,
748                 const GLfixed *equation);
749 typedef void (GL_APIENTRYP PFNGLCOLOR4XOESPROC) (GLfixed red, GLfixed green,
750                 GLfixed blue, GLfixed alpha);
751 typedef void (GL_APIENTRYP PFNGLDEPTHRANGEXOESPROC) (GLclampx zNear,
752                 GLclampx zFar);
753 typedef void (GL_APIENTRYP PFNGLFOGXOESPROC) (GLenum pname, GLfixed param);
754 typedef void (GL_APIENTRYP PFNGLFOGXVOESPROC) (GLenum pname,
755                 const GLfixed *params);
756 typedef void (GL_APIENTRYP PFNGLFRUSTUMXOESPROC) (GLfixed left, GLfixed right,
757                 GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
758 typedef void (GL_APIENTRYP PFNGLGETCLIPPLANEXOESPROC) (GLenum pname,
759                 GLfixed eqn[4]);
760 typedef void (GL_APIENTRYP PFNGLGETFIXEDVOESPROC) (GLenum pname,
761                 GLfixed *params);
762 typedef void (GL_APIENTRYP PFNGLGETLIGHTXVOESPROC) (GLenum light, GLenum pname,
763                 GLfixed *params);
764 typedef void (GL_APIENTRYP PFNGLGETMATERIALXVOESPROC) (GLenum face,
765                 GLenum pname, GLfixed *params);
766 typedef void (GL_APIENTRYP PFNGLGETTEXENVXVOESPROC) (GLenum env, GLenum pname,
767                 GLfixed *params);
768 typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERXVOESPROC) (GLenum target,
769                 GLenum pname, GLfixed *params);
770 typedef void (GL_APIENTRYP PFNGLLIGHTMODELXOESPROC) (GLenum pname,
771                 GLfixed param);
772 typedef void (GL_APIENTRYP PFNGLLIGHTMODELXVOESPROC) (GLenum pname,
773                 const GLfixed *params);
774 typedef void (GL_APIENTRYP PFNGLLIGHTXOESPROC) (GLenum light, GLenum pname,
775                 GLfixed param);
776 typedef void (GL_APIENTRYP PFNGLLIGHTXVOESPROC) (GLenum light, GLenum pname,
777                 const GLfixed *params);
778 typedef void (GL_APIENTRYP PFNGLLINEWIDTHXOESPROC) (GLfixed width);
779 typedef void (GL_APIENTRYP PFNGLLOADMATRIXXOESPROC) (const GLfixed *m);
780 typedef void (GL_APIENTRYP PFNGLMATERIALXOESPROC) (GLenum face, GLenum pname,
781                 GLfixed param);
782 typedef void (GL_APIENTRYP PFNGLMATERIALXVOESPROC) (GLenum face, GLenum pname,
783                 const GLfixed *params);
784 typedef void (GL_APIENTRYP PFNGLMULTMATRIXXOESPROC) (const GLfixed *m);
785 typedef void (GL_APIENTRYP PFNGLMULTITEXCOORD4XOESPROC) (GLenum target,
786                 GLfixed s, GLfixed t, GLfixed r, GLfixed q);
787 typedef void (GL_APIENTRYP PFNGLNORMAL3XOESPROC) (GLfixed nx, GLfixed ny,
788                 GLfixed nz);
789 typedef void (GL_APIENTRYP PFNGLORTHOXOESPROC) (GLfixed left, GLfixed right,
790                 GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
791 typedef void (GL_APIENTRYP PFNGLPOINTPARAMETERXOESPROC) (GLenum pname,
792                 GLfixed param);
793 typedef void (GL_APIENTRYP PFNGLPOINTPARAMETERXVOESPROC) (GLenum pname,
794                 const GLfixed *params);
795 typedef void (GL_APIENTRYP PFNGLPOINTSIZEXOESPROC) (GLfixed size);
796 typedef void (GL_APIENTRYP PFNGLPOLYGONOFFSETXOESPROC) (GLfixed factor,
797                 GLfixed units);
798 typedef void (GL_APIENTRYP PFNGLROTATEXOESPROC) (GLfixed angle, GLfixed x,
799                 GLfixed y, GLfixed z);
800 typedef void (GL_APIENTRYP PFNGLSAMPLECOVERAGEXOESPROC) (GLclampx value,
801                 GLboolean invert);
802 typedef void (GL_APIENTRYP PFNGLSCALEXOESPROC) (GLfixed x, GLfixed y,
803                 GLfixed z);
804 typedef void (GL_APIENTRYP PFNGLTEXENVXOESPROC) (GLenum target, GLenum pname,
805                 GLfixed param);
806 typedef void (GL_APIENTRYP PFNGLTEXENVXVOESPROC) (GLenum target, GLenum pname,
807                 const GLfixed *params);
808 typedef void (GL_APIENTRYP PFNGLTEXPARAMETERXOESPROC) (GLenum target,
809                 GLenum pname, GLfixed param);
810 typedef void (GL_APIENTRYP PFNGLTEXPARAMETERXVOESPROC) (GLenum target,
811                 GLenum pname, const GLfixed *params);
812 typedef void (GL_APIENTRYP PFNGLTRANSLATEXOESPROC) (GLfixed x, GLfixed y,
813                 GLfixed z);
814 typedef void (GL_APIENTRYP PFNGLMULTITEXCOORD4BOESPROC) (GLenum target,
815                 GLbyte s, GLbyte t, GLbyte r, GLbyte q);
816 #endif
817
818 /* GL_OES_framebuffer_object */
819 #ifndef GL_OES_framebuffer_object
820 #define GL_OES_framebuffer_object 1
821 #ifdef GL_GLEXT_PROTOTYPES
822 GL_API GLboolean GL_APIENTRY glIsRenderbufferOES (GLuint renderbuffer);
823 GL_API void GL_APIENTRY glBindRenderbufferOES (GLenum target,
824                 GLuint renderbuffer);
825 GL_API void GL_APIENTRY glDeleteRenderbuffersOES (GLsizei n,
826                 const GLuint *renderbuffers);
827 GL_API void GL_APIENTRY glGenRenderbuffersOES (GLsizei n,
828                 GLuint *renderbuffers);
829 GL_API void GL_APIENTRY glRenderbufferStorageOES (GLenum target,
830                 GLenum internalformat, GLsizei width, GLsizei height);
831 GL_API void GL_APIENTRY glGetRenderbufferParameterivOES (GLenum target,
832                 GLenum pname, GLint *params);
833 GL_API GLboolean GL_APIENTRY glIsFramebufferOES (GLuint framebuffer);
834 GL_API void GL_APIENTRY glBindFramebufferOES (GLenum target,
835                 GLuint framebuffer);
836 GL_API void GL_APIENTRY glDeleteFramebuffersOES (GLsizei n,
837                 const GLuint *framebuffers);
838 GL_API void GL_APIENTRY glGenFramebuffersOES (GLsizei n, GLuint *framebuffers);
839 GL_API GLenum GL_APIENTRY glCheckFramebufferStatusOES (GLenum target);
840 GL_API void GL_APIENTRY glFramebufferRenderbufferOES (GLenum target,
841                 GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
842 GL_API void GL_APIENTRY glFramebufferTexture2DOES (GLenum target,
843                 GLenum attachment, GLenum textarget, GLuint texture, GLint level);
844 GL_API void GL_APIENTRY glGetFramebufferAttachmentParameterivOES (GLenum target,
845                 GLenum attachment, GLenum pname, GLint *params);
846 GL_API void GL_APIENTRY glGenerateMipmapOES (GLenum target);
847 #endif
848 typedef GLboolean (GL_APIENTRYP PFNGLISRENDERBUFFEROESPROC) (
849         GLuint renderbuffer);
850 typedef void (GL_APIENTRYP PFNGLBINDRENDERBUFFEROESPROC) (GLenum target,
851                 GLuint renderbuffer);
852 typedef void (GL_APIENTRYP PFNGLDELETERENDERBUFFERSOESPROC) (GLsizei n,
853                 const GLuint *renderbuffers);
854 typedef void (GL_APIENTRYP PFNGLGENRENDERBUFFERSOESPROC) (GLsizei n,
855                 GLuint *renderbuffers);
856 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEOESPROC) (GLenum target,
857                 GLenum internalformat, GLsizei width, GLsizei height);
858 typedef void (GL_APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVOESPROC) (
859         GLenum target, GLenum pname, GLint *params);
860 typedef GLboolean (GL_APIENTRYP PFNGLISFRAMEBUFFEROESPROC) (GLuint framebuffer);
861 typedef void (GL_APIENTRYP PFNGLBINDFRAMEBUFFEROESPROC) (GLenum target,
862                 GLuint framebuffer);
863 typedef void (GL_APIENTRYP PFNGLDELETEFRAMEBUFFERSOESPROC) (GLsizei n,
864                 const GLuint *framebuffers);
865 typedef void (GL_APIENTRYP PFNGLGENFRAMEBUFFERSOESPROC) (GLsizei n,
866                 GLuint *framebuffers);
867 typedef GLenum (GL_APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSOESPROC) (
868         GLenum target);
869 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFEROESPROC) (GLenum target,
870                 GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
871 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DOESPROC) (GLenum target,
872                 GLenum attachment, GLenum textarget, GLuint texture, GLint level);
873 typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC) (
874         GLenum target, GLenum attachment, GLenum pname, GLint *params);
875 typedef void (GL_APIENTRYP PFNGLGENERATEMIPMAPOESPROC) (GLenum target);
876 #endif
877
878 /* GL_OES_mapbuffer */
879 #ifndef GL_OES_mapbuffer
880 #define GL_OES_mapbuffer 1
881 #ifdef GL_GLEXT_PROTOTYPES
882 GL_API void *GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
883 GL_API GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
884 GL_API void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname,
885                 GLvoid **params);
886 #endif
887 typedef void *(GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target,
888                 GLenum access);
889 typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
890 typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target,
891                 GLenum pname, GLvoid **params);
892 #endif
893
894 /* GL_OES_matrix_get */
895 #ifndef GL_OES_matrix_get
896 #define GL_OES_matrix_get 1
897 #endif
898
899 /* GL_OES_matrix_palette */
900 #ifndef GL_OES_matrix_palette
901 #define GL_OES_matrix_palette 1
902 #ifdef GL_GLEXT_PROTOTYPES
903 GL_API void GL_APIENTRY glCurrentPaletteMatrixOES (GLuint matrixpaletteindex);
904 GL_API void GL_APIENTRY glLoadPaletteFromModelViewMatrixOES (void);
905 GL_API void GL_APIENTRY glMatrixIndexPointerOES (GLint size, GLenum type,
906                 GLsizei stride, const GLvoid *pointer);
907 GL_API void GL_APIENTRY glWeightPointerOES (GLint size, GLenum type,
908                 GLsizei stride, const GLvoid *pointer);
909 #endif
910 typedef void (GL_APIENTRYP PFNGLCURRENTPALETTEMATRIXOESPROC) (
911         GLuint matrixpaletteindex);
912 typedef void (GL_APIENTRYP PFNGLLOADPALETTEFROMMODELVIEWMATRIXOESPROC) (void);
913 typedef void (GL_APIENTRYP PFNGLMATRIXINDEXPOINTEROESPROC) (GLint size,
914                 GLenum type, GLsizei stride, const GLvoid *pointer);
915 typedef void (GL_APIENTRYP PFNGLWEIGHTPOINTEROESPROC) (GLint size, GLenum type,
916                 GLsizei stride, const GLvoid *pointer);
917 #endif
918
919 /* GL_OES_packed_depth_stencil */
920 #ifndef GL_OES_packed_depth_stencil
921 #define GL_OES_packed_depth_stencil 1
922 #endif
923
924 /* GL_OES_required_internalformat */
925 #ifndef GL_OES_required_internalformat
926 #define GL_OES_required_internalformat 1
927 #endif
928
929 /* GL_OES_query_matrix */
930 #ifndef GL_OES_query_matrix
931 #define GL_OES_query_matrix 1
932 #ifdef GL_GLEXT_PROTOTYPES
933 GL_API GLbitfield GL_APIENTRY glQueryMatrixxOES (GLfixed mantissa[16],
934                 GLint exponent[16]);
935 #endif
936 typedef GLbitfield (GL_APIENTRYP PFNGLQUERYMATRIXXOESPROC) (
937         GLfixed mantissa[16], GLint exponent[16]);
938 #endif
939
940 /* GL_OES_rgb8_rgba8 */
941 #ifndef GL_OES_rgb8_rgba8
942 #define GL_OES_rgb8_rgba8 1
943 #endif
944
945 /* GL_OES_single_precision */
946 #ifndef GL_OES_single_precision
947 #define GL_OES_single_precision 1
948 #ifdef GL_GLEXT_PROTOTYPES
949 GL_API void GL_APIENTRY glDepthRangefOES (GLclampf zNear, GLclampf zFar);
950 GL_API void GL_APIENTRY glFrustumfOES (GLfloat left, GLfloat right,
951                                        GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);
952 GL_API void GL_APIENTRY glOrthofOES (GLfloat left, GLfloat right,
953                                      GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);
954 GL_API void GL_APIENTRY glClipPlanefOES (GLenum plane, const GLfloat *equation);
955 GL_API void GL_APIENTRY glGetClipPlanefOES (GLenum pname, GLfloat eqn[4]);
956 GL_API void GL_APIENTRY glClearDepthfOES (GLclampf depth);
957 #endif
958 typedef void (GL_APIENTRYP PFNGLDEPTHRANGEFOESPROC) (GLclampf zNear,
959                 GLclampf zFar);
960 typedef void (GL_APIENTRYP PFNGLFRUSTUMFOESPROC) (GLfloat left, GLfloat right,
961                 GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);
962 typedef void (GL_APIENTRYP PFNGLORTHOFOESPROC) (GLfloat left, GLfloat right,
963                 GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);
964 typedef void (GL_APIENTRYP PFNGLCLIPPLANEFOESPROC) (GLenum plane,
965                 const GLfloat *equation);
966 typedef void (GL_APIENTRYP PFNGLGETCLIPPLANEFOESPROC) (GLenum pname,
967                 GLfloat eqn[4]);
968 typedef void (GL_APIENTRYP PFNGLCLEARDEPTHFOESPROC) (GLclampf depth);
969 #endif
970
971 /* GL_OES_stencil1 */
972 #ifndef GL_OES_stencil1
973 #define GL_OES_stencil1 1
974 #endif
975
976 /* GL_OES_stencil4 */
977 #ifndef GL_OES_stencil4
978 #define GL_OES_stencil4 1
979 #endif
980
981 /* GL_OES_stencil8 */
982 #ifndef GL_OES_stencil8
983 #define GL_OES_stencil8 1
984 #endif
985
986 /* GL_OES_stencil_wrap */
987 #ifndef GL_OES_stencil_wrap
988 #define GL_OES_stencil_wrap 1
989 #endif
990
991 /* GL_OES_texture_cube_map */
992 #ifndef GL_OES_texture_cube_map
993 #define GL_OES_texture_cube_map 1
994 #ifdef GL_GLEXT_PROTOTYPES
995 GL_API void GL_APIENTRY glTexGenfOES (GLenum coord, GLenum pname,
996                                       GLfloat param);
997 GL_API void GL_APIENTRY glTexGenfvOES (GLenum coord, GLenum pname,
998                                        const GLfloat *params);
999 GL_API void GL_APIENTRY glTexGeniOES (GLenum coord, GLenum pname, GLint param);
1000 GL_API void GL_APIENTRY glTexGenivOES (GLenum coord, GLenum pname,
1001                                        const GLint *params);
1002 GL_API void GL_APIENTRY glTexGenxOES (GLenum coord, GLenum pname,
1003                                       GLfixed param);
1004 GL_API void GL_APIENTRY glTexGenxvOES (GLenum coord, GLenum pname,
1005                                        const GLfixed *params);
1006 GL_API void GL_APIENTRY glGetTexGenfvOES (GLenum coord, GLenum pname,
1007                 GLfloat *params);
1008 GL_API void GL_APIENTRY glGetTexGenivOES (GLenum coord, GLenum pname,
1009                 GLint *params);
1010 GL_API void GL_APIENTRY glGetTexGenxvOES (GLenum coord, GLenum pname,
1011                 GLfixed *params);
1012 #endif
1013 typedef void (GL_APIENTRYP PFNGLTEXGENFOESPROC) (GLenum coord, GLenum pname,
1014                 GLfloat param);
1015 typedef void (GL_APIENTRYP PFNGLTEXGENFVOESPROC) (GLenum coord, GLenum pname,
1016                 const GLfloat *params);
1017 typedef void (GL_APIENTRYP PFNGLTEXGENIOESPROC) (GLenum coord, GLenum pname,
1018                 GLint param);
1019 typedef void (GL_APIENTRYP PFNGLTEXGENIVOESPROC) (GLenum coord, GLenum pname,
1020                 const GLint *params);
1021 typedef void (GL_APIENTRYP PFNGLTEXGENXOESPROC) (GLenum coord, GLenum pname,
1022                 GLfixed param);
1023 typedef void (GL_APIENTRYP PFNGLTEXGENXVOESPROC) (GLenum coord, GLenum pname,
1024                 const GLfixed *params);
1025 typedef void (GL_APIENTRYP PFNGLGETTEXGENFVOESPROC) (GLenum coord, GLenum pname,
1026                 GLfloat *params);
1027 typedef void (GL_APIENTRYP PFNGLGETTEXGENIVOESPROC) (GLenum coord, GLenum pname,
1028                 GLint *params);
1029 typedef void (GL_APIENTRYP PFNGLGETTEXGENXVOESPROC) (GLenum coord, GLenum pname,
1030                 GLfixed *params);
1031 #endif
1032
1033 /* GL_OES_texture_env_crossbar */
1034 #ifndef GL_OES_texture_env_crossbar
1035 #define GL_OES_texture_env_crossbar 1
1036 #endif
1037
1038 /* GL_OES_texture_mirrored_repeat */
1039 #ifndef GL_OES_texture_mirrored_repeat
1040 #define GL_OES_texture_mirrored_repeat 1
1041 #endif
1042
1043 /* GL_OES_vertex_array_object */
1044 #ifndef GL_OES_vertex_array_object
1045 #define GL_OES_vertex_array_object 1
1046 #ifdef GL_GLEXT_PROTOTYPES
1047 GL_API void GL_APIENTRY glBindVertexArrayOES (GLuint array);
1048 GL_API void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n,
1049                 const GLuint *arrays);
1050 GL_API void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays);
1051 GL_API GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array);
1052 #endif
1053 typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array);
1054 typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n,
1055                 const GLuint *arrays);
1056 typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n,
1057                 GLuint *arrays);
1058 typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array);
1059 #endif
1060
1061 /*------------------------------------------------------------------------*
1062  * AMD extension functions
1063  *------------------------------------------------------------------------*/
1064
1065 /* GL_AMD_compressed_3DC_texture */
1066 #ifndef GL_AMD_compressed_3DC_texture
1067 #define GL_AMD_compressed_3DC_texture 1
1068 #endif
1069
1070 /* GL_AMD_compressed_ATC_texture */
1071 #ifndef GL_AMD_compressed_ATC_texture
1072 #define GL_AMD_compressed_ATC_texture 1
1073 #endif
1074
1075 /*------------------------------------------------------------------------*
1076  * APPLE extension functions
1077  *------------------------------------------------------------------------*/
1078
1079 /* GL_APPLE_copy_texture_levels */
1080 #ifndef GL_APPLE_copy_texture_levels
1081 #define GL_APPLE_copy_texture_levels 1
1082 #ifdef GL_GLEXT_PROTOTYPES
1083 GL_API void GL_APIENTRY glCopyTextureLevelsAPPLE (GLuint destinationTexture,
1084                 GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
1085 #endif
1086 typedef void (GL_APIENTRYP PFNGLCOPYTEXTURELEVELSAPPLEPROC) (
1087         GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel,
1088         GLsizei sourceLevelCount);
1089 #endif
1090
1091 /* GL_APPLE_framebuffer_multisample */
1092 #ifndef GL_APPLE_framebuffer_multisample
1093 #define GL_APPLE_framebuffer_multisample 1
1094 #ifdef GL_GLEXT_PROTOTYPES
1095 GL_API void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum, GLsizei,
1096                 GLenum, GLsizei, GLsizei);
1097 GL_API void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void);
1098 #endif /* GL_GLEXT_PROTOTYPES */
1099 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (
1100         GLenum target, GLsizei samples, GLenum internalformat, GLsizei width,
1101         GLsizei height);
1102 typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void);
1103 #endif
1104
1105 /* GL_APPLE_sync */
1106 #ifndef GL_APPLE_sync
1107 #define GL_APPLE_sync 1
1108 #ifdef GL_GLEXT_PROTOTYPES
1109 GL_API GLsync GL_APIENTRY glFenceSyncAPPLE (GLenum condition, GLbitfield flags);
1110 GL_API GLboolean GL_APIENTRY glIsSyncAPPLE (GLsync sync);
1111 GL_API void GL_APIENTRY glDeleteSyncAPPLE (GLsync sync);
1112 GL_API GLenum GL_APIENTRY glClientWaitSyncAPPLE (GLsync sync, GLbitfield flags,
1113                 GLuint64 timeout);
1114 GL_API void GL_APIENTRY glWaitSyncAPPLE (GLsync sync, GLbitfield flags,
1115                 GLuint64 timeout);
1116 GL_API void GL_APIENTRY glGetInteger64vAPPLE (GLenum pname, GLint64 *params);
1117 GL_API void GL_APIENTRY glGetSyncivAPPLE (GLsync sync, GLenum pname,
1118                 GLsizei bufSize, GLsizei *length, GLint *values);
1119 #endif
1120 typedef GLsync (GL_APIENTRYP PFNGLFENCESYNCAPPLEPROC) (GLenum condition,
1121                 GLbitfield flags);
1122 typedef GLboolean (GL_APIENTRYP PFNGLISSYNCAPPLEPROC) (GLsync sync);
1123 typedef void (GL_APIENTRYP PFNGLDELETESYNCAPPLEPROC) (GLsync sync);
1124 typedef GLenum (GL_APIENTRYP PFNGLCLIENTWAITSYNCAPPLEPROC) (GLsync sync,
1125                 GLbitfield flags, GLuint64 timeout);
1126 typedef void (GL_APIENTRYP PFNGLWAITSYNCAPPLEPROC) (GLsync sync,
1127                 GLbitfield flags, GLuint64 timeout);
1128 typedef void (GL_APIENTRYP PFNGLGETINTEGER64VAPPLEPROC) (GLenum pname,
1129                 GLint64 *params);
1130 typedef void (GL_APIENTRYP PFNGLGETSYNCIVAPPLEPROC) (GLsync sync, GLenum pname,
1131                 GLsizei bufSize, GLsizei *length, GLint *values);
1132 #endif
1133
1134 /* GL_APPLE_texture_2D_limited_npot */
1135 #ifndef GL_APPLE_texture_2D_limited_npot
1136 #define GL_APPLE_texture_2D_limited_npot 1
1137 #endif
1138
1139 /* GL_APPLE_texture_format_BGRA8888 */
1140 #ifndef GL_APPLE_texture_format_BGRA8888
1141 #define GL_APPLE_texture_format_BGRA8888 1
1142 #endif
1143
1144 /* GL_APPLE_texture_max_level */
1145 #ifndef GL_APPLE_texture_max_level
1146 #define GL_APPLE_texture_max_level 1
1147 #endif
1148
1149 /*------------------------------------------------------------------------*
1150  * ARM extension functions
1151  *------------------------------------------------------------------------*/
1152
1153 /* GL_ARM_rgba8 */
1154 #ifndef GL_ARM_rgba8
1155 #define GL_ARM_rgba8 1
1156 #endif
1157
1158 /*------------------------------------------------------------------------*
1159  * EXT extension functions
1160  *------------------------------------------------------------------------*/
1161
1162 /* GL_EXT_blend_minmax */
1163 #ifndef GL_EXT_blend_minmax
1164 #define GL_EXT_blend_minmax 1
1165 #endif
1166
1167 /* GL_EXT_discard_framebuffer */
1168 #ifndef GL_EXT_discard_framebuffer
1169 #define GL_EXT_discard_framebuffer 1
1170 #ifdef GL_GLEXT_PROTOTYPES
1171 GL_API void GL_APIENTRY glDiscardFramebufferEXT (GLenum target,
1172                 GLsizei numAttachments, const GLenum *attachments);
1173 #endif
1174 typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target,
1175                 GLsizei numAttachments, const GLenum *attachments);
1176 #endif
1177
1178 /* GL_EXT_map_buffer_range */
1179 #ifndef GL_EXT_map_buffer_range
1180 #define GL_EXT_map_buffer_range 1
1181 #ifdef GL_GLEXT_PROTOTYPES
1182 GL_API void GL_APIENTRY *glMapBufferRangeEXT (GLenum target, GLintptr offset,
1183                 GLsizeiptr length, GLbitfield access);
1184 GL_API void GL_APIENTRY glFlushMappedBufferRangeEXT (GLenum target,
1185                 GLintptr offset, GLsizeiptr length);
1186 #endif
1187 typedef void *(GL_APIENTRYP PFNGLMAPBUFFERRANGEEXTPROC) (GLenum target,
1188                 GLintptr offset, GLsizeiptr length, GLbitfield access);
1189 typedef void (GL_APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC) (GLenum target,
1190                 GLintptr offset, GLsizeiptr length);
1191 #endif
1192
1193 /* GL_EXT_multisampled_render_to_texture */
1194 #ifndef GL_EXT_multisampled_render_to_texture
1195 #define GL_EXT_multisampled_render_to_texture 1
1196 #ifdef GL_GLEXT_PROTOTYPES
1197 GL_API void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum, GLsizei,
1198                 GLenum, GLsizei, GLsizei);
1199 GL_API void GL_APIENTRY glFramebufferTexture2DMultisampleEXT (GLenum, GLenum,
1200                 GLenum, GLuint, GLint, GLsizei);
1201 #endif
1202 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (
1203         GLenum target, GLsizei samples, GLenum internalformat, GLsizei width,
1204         GLsizei height);
1205 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (
1206         GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level,
1207         GLsizei samples);
1208 #endif
1209
1210 /* GL_EXT_multi_draw_arrays */
1211 #ifndef GL_EXT_multi_draw_arrays
1212 #define GL_EXT_multi_draw_arrays 1
1213 #ifdef GL_GLEXT_PROTOTYPES
1214 GL_API void GL_APIENTRY glMultiDrawArraysEXT (GLenum, const GLint *,
1215                 const GLsizei *, GLsizei);
1216 GL_API void GL_APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum,
1217                 const GLvoid **, GLsizei);
1218 #endif /* GL_GLEXT_PROTOTYPES */
1219 typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode,
1220                 const GLint *first, const GLsizei *count, GLsizei primcount);
1221 typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode,
1222                 const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount);
1223 #endif
1224
1225 /* GL_EXT_read_format_bgra */
1226 #ifndef GL_EXT_read_format_bgra
1227 #define GL_EXT_read_format_bgra 1
1228 #endif
1229
1230 /* GL_EXT_robustness */
1231 #ifndef GL_EXT_robustness
1232 #define GL_EXT_robustness 1
1233 #ifdef GL_GLEXT_PROTOTYPES
1234 GL_API GLenum GL_APIENTRY glGetGraphicsResetStatusEXT (void);
1235 GL_API void GL_APIENTRY glReadnPixelsEXT (GLint x, GLint y, GLsizei width,
1236                 GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
1237 GL_API void GL_APIENTRY glGetnUniformfvEXT (GLuint program, GLint location,
1238                 GLsizei bufSize, float *params);
1239 GL_API void GL_APIENTRY glGetnUniformivEXT (GLuint program, GLint location,
1240                 GLsizei bufSize, GLint *params);
1241 #endif
1242 typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSEXTPROC) (void);
1243 typedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y,
1244                 GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize,
1245                 void *data);
1246 typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC) (GLuint program,
1247                 GLint location, GLsizei bufSize, float *params);
1248 typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVEXTPROC) (GLuint program,
1249                 GLint location, GLsizei bufSize, GLint *params);
1250 #endif
1251
1252 /* GL_EXT_sRGB */
1253 #ifndef GL_EXT_sRGB
1254 #define GL_EXT_sRGB 1
1255 #endif
1256
1257 /* GL_EXT_texture_compression_dxt1 */
1258 #ifndef GL_EXT_texture_compression_dxt1
1259 #define GL_EXT_texture_compression_dxt1 1
1260 #endif
1261
1262 /* GL_EXT_texture_filter_anisotropic */
1263 #ifndef GL_EXT_texture_filter_anisotropic
1264 #define GL_EXT_texture_filter_anisotropic 1
1265 #endif
1266
1267 /* GL_EXT_texture_format_BGRA8888 */
1268 #ifndef GL_EXT_texture_format_BGRA8888
1269 #define GL_EXT_texture_format_BGRA8888 1
1270 #endif
1271
1272 /* GL_EXT_texture_lod_bias */
1273 #ifndef GL_EXT_texture_lod_bias
1274 #define GL_EXT_texture_lod_bias 1
1275 #endif
1276
1277 /* GL_EXT_texture_storage */
1278 #ifndef GL_EXT_texture_storage
1279 #define GL_EXT_texture_storage 1
1280 #ifdef GL_GLEXT_PROTOTYPES
1281 GL_API void GL_APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels,
1282                 GLenum internalformat, GLsizei width);
1283 GL_API void GL_APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels,
1284                 GLenum internalformat, GLsizei width, GLsizei height);
1285 GL_API void GL_APIENTRY glTexStorage3DEXT (GLenum target, GLsizei levels,
1286                 GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1287 GL_API void GL_APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target,
1288                 GLsizei levels, GLenum internalformat, GLsizei width);
1289 GL_API void GL_APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target,
1290                 GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1291 GL_API void GL_APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target,
1292                 GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height,
1293                 GLsizei depth);
1294 #endif
1295 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target,
1296                 GLsizei levels, GLenum internalformat, GLsizei width);
1297 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target,
1298                 GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1299 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target,
1300                 GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height,
1301                 GLsizei depth);
1302 typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture,
1303                 GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
1304 typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture,
1305                 GLenum target, GLsizei levels, GLenum internalformat, GLsizei width,
1306                 GLsizei height);
1307 typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture,
1308                 GLenum target, GLsizei levels, GLenum internalformat, GLsizei width,
1309                 GLsizei height, GLsizei depth);
1310 #endif
1311
1312 /*------------------------------------------------------------------------*
1313  * IMG extension functions
1314  *------------------------------------------------------------------------*/
1315
1316 /* GL_IMG_read_format */
1317 #ifndef GL_IMG_read_format
1318 #define GL_IMG_read_format 1
1319 #endif
1320
1321 /* GL_IMG_texture_compression_pvrtc */
1322 #ifndef GL_IMG_texture_compression_pvrtc
1323 #define GL_IMG_texture_compression_pvrtc 1
1324 #endif
1325
1326 /* GL_IMG_texture_env_enhanced_fixed_function */
1327 #ifndef GL_IMG_texture_env_enhanced_fixed_function
1328 #define GL_IMG_texture_env_enhanced_fixed_function 1
1329 #endif
1330
1331 /* GL_IMG_user_clip_plane */
1332 #ifndef GL_IMG_user_clip_plane
1333 #define GL_IMG_user_clip_plane 1
1334 #ifdef GL_GLEXT_PROTOTYPES
1335 GL_API void GL_APIENTRY glClipPlanefIMG (GLenum, const GLfloat *);
1336 GL_API void GL_APIENTRY glClipPlanexIMG (GLenum, const GLfixed *);
1337 #endif
1338 typedef void (GL_APIENTRYP PFNGLCLIPPLANEFIMGPROC) (GLenum p,
1339                 const GLfloat *eqn);
1340 typedef void (GL_APIENTRYP PFNGLCLIPPLANEXIMGPROC) (GLenum p,
1341                 const GLfixed *eqn);
1342 #endif
1343
1344 /* GL_IMG_multisampled_render_to_texture */
1345 #ifndef GL_IMG_multisampled_render_to_texture
1346 #define GL_IMG_multisampled_render_to_texture 1
1347 #ifdef GL_GLEXT_PROTOTYPES
1348 GL_API void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum, GLsizei,
1349                 GLenum, GLsizei, GLsizei);
1350 GL_API void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum, GLenum,
1351                 GLenum, GLuint, GLint, GLsizei);
1352 #endif
1353 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC) (
1354         GLenum target, GLsizei samples, GLenum internalformat, GLsizei width,
1355         GLsizei height);
1356 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC) (
1357         GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level,
1358         GLsizei samples);
1359 #endif
1360
1361 /*------------------------------------------------------------------------*
1362  * NV extension functions
1363  *------------------------------------------------------------------------*/
1364
1365 /* NV_fence */
1366 #ifndef GL_NV_fence
1367 #define GL_NV_fence 1
1368 #ifdef GL_GLEXT_PROTOTYPES
1369 GL_API void GL_APIENTRY glDeleteFencesNV (GLsizei, const GLuint *);
1370 GL_API void GL_APIENTRY glGenFencesNV (GLsizei, GLuint *);
1371 GL_API GLboolean GL_APIENTRY glIsFenceNV (GLuint);
1372 GL_API GLboolean GL_APIENTRY glTestFenceNV (GLuint);
1373 GL_API void GL_APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *);
1374 GL_API void GL_APIENTRY glFinishFenceNV (GLuint);
1375 GL_API void GL_APIENTRY glSetFenceNV (GLuint, GLenum);
1376 #endif
1377 typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n,
1378                 const GLuint *fences);
1379 typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
1380 typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
1381 typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
1382 typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname,
1383                 GLint *params);
1384 typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
1385 typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence,
1386                 GLenum condition);
1387 #endif
1388
1389 /*------------------------------------------------------------------------*
1390  * QCOM extension functions
1391  *------------------------------------------------------------------------*/
1392
1393 /* GL_QCOM_driver_control */
1394 #ifndef GL_QCOM_driver_control
1395 #define GL_QCOM_driver_control 1
1396 #ifdef GL_GLEXT_PROTOTYPES
1397 GL_API void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size,
1398                 GLuint *driverControls);
1399 GL_API void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl,
1400                 GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
1401 GL_API void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);
1402 GL_API void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);
1403 #endif
1404 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num,
1405                 GLsizei size, GLuint *driverControls);
1406 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (
1407         GLuint driverControl, GLsizei bufSize, GLsizei *length,
1408         GLchar *driverControlString);
1409 typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (
1410         GLuint driverControl);
1411 typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (
1412         GLuint driverControl);
1413 #endif
1414
1415 /* GL_QCOM_extended_get */
1416 #ifndef GL_QCOM_extended_get
1417 #define GL_QCOM_extended_get 1
1418 #ifdef GL_GLEXT_PROTOTYPES
1419 GL_API void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures,
1420                 GLint maxTextures, GLint *numTextures);
1421 GL_API void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers,
1422                 GLint *numBuffers);
1423 GL_API void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers,
1424                 GLint maxRenderbuffers, GLint *numRenderbuffers);
1425 GL_API void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers,
1426                 GLint maxFramebuffers, GLint *numFramebuffers);
1427 GL_API void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture,
1428                 GLenum face, GLint level, GLenum pname, GLint *params);
1429 GL_API void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target,
1430                 GLenum pname, GLint param);
1431 GL_API void GL_APIENTRY glExtGetTexSubImageQCOM (GLenum target, GLint level,
1432                 GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height,
1433                 GLsizei depth, GLenum format, GLenum type, GLvoid *texels);
1434 GL_API void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target,
1435                 GLvoid **params);
1436 #endif
1437 typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures,
1438                 GLint maxTextures, GLint *numTextures);
1439 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers,
1440                 GLint maxBuffers, GLint *numBuffers);
1441 typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (
1442         GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
1443 typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (
1444         GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
1445 typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (
1446         GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
1447 typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (
1448         GLenum target, GLenum pname, GLint param);
1449 typedef void (GL_APIENTRYP PFNGLEXTGETTEXSUBIMAGEQCOMPROC) (GLenum target,
1450                 GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width,
1451                 GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels);
1452 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target,
1453                 GLvoid **params);
1454 #endif
1455
1456 /* GL_QCOM_extended_get2 */
1457 #ifndef GL_QCOM_extended_get2
1458 #define GL_QCOM_extended_get2 1
1459 #ifdef GL_GLEXT_PROTOTYPES
1460 GL_API void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders,
1461                 GLint *numShaders);
1462 GL_API void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs,
1463                 GLint maxPrograms, GLint *numPrograms);
1464 GL_API GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program);
1465 GL_API void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program,
1466                 GLenum shadertype, GLchar *source, GLint *length);
1467 #endif
1468 typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders,
1469                 GLint maxShaders, GLint *numShaders);
1470 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs,
1471                 GLint maxPrograms, GLint *numPrograms);
1472 typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (
1473         GLuint program);
1474 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (
1475         GLuint program, GLenum shadertype, GLchar *source, GLint *length);
1476 #endif
1477
1478 /* GL_QCOM_perfmon_global_mode */
1479 #ifndef GL_QCOM_perfmon_global_mode
1480 #define GL_QCOM_perfmon_global_mode 1
1481 #endif
1482
1483 /* GL_QCOM_writeonly_rendering */
1484 #ifndef GL_QCOM_writeonly_rendering
1485 #define GL_QCOM_writeonly_rendering 1
1486 #endif
1487
1488 /* GL_QCOM_tiled_rendering */
1489 #ifndef GL_QCOM_tiled_rendering
1490 #define GL_QCOM_tiled_rendering 1
1491 #ifdef GL_GLEXT_PROTOTYPES
1492 GL_API void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width,
1493                 GLuint height, GLbitfield preserveMask);
1494 GL_API void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask);
1495 #endif
1496 typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y,
1497                 GLuint width, GLuint height, GLbitfield preserveMask);
1498 typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask);
1499 #endif
1500
1501 /******************************************************************************/
1502 /* 20140930-sw815.ha : SEC proprietary specs                                  */
1503 #ifndef GL_EXT_multisampled_render_to_texture
1504 #define GL_TEXTURE_SAMPLES_EXT                     0x9136
1505 #endif
1506 /******************************************************************************/
1507
1508 #ifdef __cplusplus
1509 }
1510 #endif
1511
1512 #endif /* __glext_h_ */