4 /* $Revision: 22161 $ on $Date:: 2013-06-25 08:17:27 -0700 #$ */
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/ .
16 # define GL_APIENTRYP GL_APIENTRY*
19 /* New types shared by several extensions */
22 /* These are defined with respect to <inttypes.h> in the
23 * Apple extension spec, but they are also used by non-APPLE
24 * extensions, and in the Khronos header we use the Khronos
25 * portable types in khrplatform.h, which must be defined.
27 typedef khronos_int64_t GLint64
;
28 typedef khronos_uint64_t GLuint64
;
29 typedef struct __GLsync
*GLsync
;
33 /*------------------------------------------------------------------------*
34 * OES extension tokens
35 *------------------------------------------------------------------------*/
37 /* GL_OES_compressed_ETC1_RGB8_texture */
38 #ifndef GL_OES_compressed_ETC1_RGB8_texture
39 #define GL_ETC1_RGB8_OES 0x8D64
42 /* GL_OES_compressed_paletted_texture */
43 #ifndef GL_OES_compressed_paletted_texture
44 #define GL_PALETTE4_RGB8_OES 0x8B90
45 #define GL_PALETTE4_RGBA8_OES 0x8B91
46 #define GL_PALETTE4_R5_G6_B5_OES 0x8B92
47 #define GL_PALETTE4_RGBA4_OES 0x8B93
48 #define GL_PALETTE4_RGB5_A1_OES 0x8B94
49 #define GL_PALETTE8_RGB8_OES 0x8B95
50 #define GL_PALETTE8_RGBA8_OES 0x8B96
51 #define GL_PALETTE8_R5_G6_B5_OES 0x8B97
52 #define GL_PALETTE8_RGBA4_OES 0x8B98
53 #define GL_PALETTE8_RGB5_A1_OES 0x8B99
57 #ifndef GL_OES_depth24
58 #define GL_DEPTH_COMPONENT24_OES 0x81A6
62 #ifndef GL_OES_depth32
63 #define GL_DEPTH_COMPONENT32_OES 0x81A7
66 /* GL_OES_depth_texture */
67 /* No new tokens introduced by this extension. */
69 /* GL_OES_EGL_image */
70 #ifndef GL_OES_EGL_image
71 typedef void* GLeglImageOES
;
74 /* GL_OES_EGL_image_external */
75 #ifndef GL_OES_EGL_image_external
76 /* GLeglImageOES defined in GL_OES_EGL_image already. */
77 #define GL_TEXTURE_EXTERNAL_OES 0x8D65
78 #define GL_SAMPLER_EXTERNAL_OES 0x8D66
79 #define GL_TEXTURE_BINDING_EXTERNAL_OES 0x8D67
80 #define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES 0x8D68
83 /* GL_OES_element_index_uint */
84 #ifndef GL_OES_element_index_uint
85 #define GL_UNSIGNED_INT 0x1405
88 /* GL_OES_get_program_binary */
89 #ifndef GL_OES_get_program_binary
90 #define GL_PROGRAM_BINARY_LENGTH_OES 0x8741
91 #define GL_NUM_PROGRAM_BINARY_FORMATS_OES 0x87FE
92 #define GL_PROGRAM_BINARY_FORMATS_OES 0x87FF
95 /* GL_OES_mapbuffer */
96 #ifndef GL_OES_mapbuffer
97 #define GL_WRITE_ONLY_OES 0x88B9
98 #define GL_BUFFER_ACCESS_OES 0x88BB
99 #define GL_BUFFER_MAPPED_OES 0x88BC
100 #define GL_BUFFER_MAP_POINTER_OES 0x88BD
103 /* GL_OES_packed_depth_stencil */
104 #ifndef GL_OES_packed_depth_stencil
105 #define GL_DEPTH_STENCIL_OES 0x84F9
106 #define GL_UNSIGNED_INT_24_8_OES 0x84FA
107 #define GL_DEPTH24_STENCIL8_OES 0x88F0
110 /* GL_OES_required_internalformat */
111 #ifndef GL_OES_required_internalformat
112 #define GL_ALPHA8_OES 0x803C
113 #define GL_DEPTH_COMPONENT16_OES 0x81A5
114 /* reuse GL_DEPTH_COMPONENT24_OES */
115 /* reuse GL_DEPTH24_STENCIL8_OES */
116 /* reuse GL_DEPTH_COMPONENT32_OES */
117 #define GL_LUMINANCE4_ALPHA4_OES 0x8043
118 #define GL_LUMINANCE8_ALPHA8_OES 0x8045
119 #define GL_LUMINANCE8_OES 0x8040
120 #define GL_RGBA4_OES 0x8056
121 #define GL_RGB5_A1_OES 0x8057
122 #define GL_RGB565_OES 0x8D62
123 /* reuse GL_RGB8_OES */
124 /* reuse GL_RGBA8_OES */
125 /* reuse GL_RGB10_EXT */
126 /* reuse GL_RGB10_A2_EXT */
129 /* GL_OES_rgb8_rgba8 */
130 #ifndef GL_OES_rgb8_rgba8
131 #define GL_RGB8_OES 0x8051
132 #define GL_RGBA8_OES 0x8058
135 /* GL_OES_standard_derivatives */
136 #ifndef GL_OES_standard_derivatives
137 #define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES 0x8B8B
140 /* GL_OES_stencil1 */
141 #ifndef GL_OES_stencil1
142 #define GL_STENCIL_INDEX1_OES 0x8D46
145 /* GL_OES_stencil4 */
146 #ifndef GL_OES_stencil4
147 #define GL_STENCIL_INDEX4_OES 0x8D47
150 #ifndef GL_OES_surfaceless_context
151 #define GL_FRAMEBUFFER_UNDEFINED_OES 0x8219
154 /* GL_OES_texture_3D */
155 #ifndef GL_OES_texture_3D
156 #define GL_TEXTURE_WRAP_R_OES 0x8072
157 #define GL_TEXTURE_3D_OES 0x806F
158 #define GL_TEXTURE_BINDING_3D_OES 0x806A
159 #define GL_MAX_3D_TEXTURE_SIZE_OES 0x8073
160 #define GL_SAMPLER_3D_OES 0x8B5F
161 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES 0x8CD4
164 /* GL_OES_texture_float */
165 /* No new tokens introduced by this extension. */
167 /* GL_OES_texture_float_linear */
168 /* No new tokens introduced by this extension. */
170 /* GL_OES_texture_half_float */
171 #ifndef GL_OES_texture_half_float
172 #define GL_HALF_FLOAT_OES 0x8D61
175 /* GL_OES_texture_half_float_linear */
176 /* No new tokens introduced by this extension. */
178 /* GL_OES_texture_npot */
179 /* No new tokens introduced by this extension. */
181 /* GL_OES_vertex_array_object */
182 #ifndef GL_OES_vertex_array_object
183 #define GL_VERTEX_ARRAY_BINDING_OES 0x85B5
186 /* GL_OES_vertex_half_float */
187 /* GL_HALF_FLOAT_OES defined in GL_OES_texture_half_float already. */
189 /* GL_OES_vertex_type_10_10_10_2 */
190 #ifndef GL_OES_vertex_type_10_10_10_2
191 #define GL_UNSIGNED_INT_10_10_10_2_OES 0x8DF6
192 #define GL_INT_10_10_10_2_OES 0x8DF7
195 /*------------------------------------------------------------------------*
196 * KHR extension tokens
197 *------------------------------------------------------------------------*/
200 typedef void (GL_APIENTRYP GLDEBUGPROCKHR
)(GLenum source
,GLenum type
,GLuint id
,GLenum severity
,GLsizei length
,const GLchar
*message
,const GLvoid
*userParam
);
201 #define GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR 0x8242
202 #define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR 0x8243
203 #define GL_DEBUG_CALLBACK_FUNCTION_KHR 0x8244
204 #define GL_DEBUG_CALLBACK_USER_PARAM_KHR 0x8245
205 #define GL_DEBUG_SOURCE_API_KHR 0x8246
206 #define GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR 0x8247
207 #define GL_DEBUG_SOURCE_SHADER_COMPILER_KHR 0x8248
208 #define GL_DEBUG_SOURCE_THIRD_PARTY_KHR 0x8249
209 #define GL_DEBUG_SOURCE_APPLICATION_KHR 0x824A
210 #define GL_DEBUG_SOURCE_OTHER_KHR 0x824B
211 #define GL_DEBUG_TYPE_ERROR_KHR 0x824C
212 #define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR 0x824D
213 #define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR 0x824E
214 #define GL_DEBUG_TYPE_PORTABILITY_KHR 0x824F
215 #define GL_DEBUG_TYPE_PERFORMANCE_KHR 0x8250
216 #define GL_DEBUG_TYPE_OTHER_KHR 0x8251
217 #define GL_DEBUG_TYPE_MARKER_KHR 0x8268
218 #define GL_DEBUG_TYPE_PUSH_GROUP_KHR 0x8269
219 #define GL_DEBUG_TYPE_POP_GROUP_KHR 0x826A
220 #define GL_DEBUG_SEVERITY_NOTIFICATION_KHR 0x826B
221 #define GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR 0x826C
222 #define GL_DEBUG_GROUP_STACK_DEPTH_KHR 0x826D
223 #define GL_BUFFER_KHR 0x82E0
224 #define GL_SHADER_KHR 0x82E1
225 #define GL_PROGRAM_KHR 0x82E2
226 #define GL_QUERY_KHR 0x82E3
227 /* PROGRAM_PIPELINE only in GL */
228 #define GL_SAMPLER_KHR 0x82E6
229 /* DISPLAY_LIST only in GL */
230 #define GL_MAX_LABEL_LENGTH_KHR 0x82E8
231 #define GL_MAX_DEBUG_MESSAGE_LENGTH_KHR 0x9143
232 #define GL_MAX_DEBUG_LOGGED_MESSAGES_KHR 0x9144
233 #define GL_DEBUG_LOGGED_MESSAGES_KHR 0x9145
234 #define GL_DEBUG_SEVERITY_HIGH_KHR 0x9146
235 #define GL_DEBUG_SEVERITY_MEDIUM_KHR 0x9147
236 #define GL_DEBUG_SEVERITY_LOW_KHR 0x9148
237 #define GL_DEBUG_OUTPUT_KHR 0x92E0
238 #define GL_CONTEXT_FLAG_DEBUG_BIT_KHR 0x00000002
239 #define GL_STACK_OVERFLOW_KHR 0x0503
240 #define GL_STACK_UNDERFLOW_KHR 0x0504
243 #ifndef GL_KHR_texture_compression_astc_ldr
244 #define GL_COMPRESSED_RGBA_ASTC_4x4_KHR 0x93B0
245 #define GL_COMPRESSED_RGBA_ASTC_5x4_KHR 0x93B1
246 #define GL_COMPRESSED_RGBA_ASTC_5x5_KHR 0x93B2
247 #define GL_COMPRESSED_RGBA_ASTC_6x5_KHR 0x93B3
248 #define GL_COMPRESSED_RGBA_ASTC_6x6_KHR 0x93B4
249 #define GL_COMPRESSED_RGBA_ASTC_8x5_KHR 0x93B5
250 #define GL_COMPRESSED_RGBA_ASTC_8x6_KHR 0x93B6
251 #define GL_COMPRESSED_RGBA_ASTC_8x8_KHR 0x93B7
252 #define GL_COMPRESSED_RGBA_ASTC_10x5_KHR 0x93B8
253 #define GL_COMPRESSED_RGBA_ASTC_10x6_KHR 0x93B9
254 #define GL_COMPRESSED_RGBA_ASTC_10x8_KHR 0x93BA
255 #define GL_COMPRESSED_RGBA_ASTC_10x10_KHR 0x93BB
256 #define GL_COMPRESSED_RGBA_ASTC_12x10_KHR 0x93BC
257 #define GL_COMPRESSED_RGBA_ASTC_12x12_KHR 0x93BD
258 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR 0x93D0
259 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR 0x93D1
260 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR 0x93D2
261 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR 0x93D3
262 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR 0x93D4
263 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR 0x93D5
264 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR 0x93D6
265 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR 0x93D7
266 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR 0x93D8
267 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR 0x93D9
268 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR 0x93DA
269 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR 0x93DB
270 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR 0x93DC
271 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR 0x93DD
274 /*------------------------------------------------------------------------*
275 * AMD extension tokens
276 *------------------------------------------------------------------------*/
278 /* GL_AMD_compressed_3DC_texture */
279 #ifndef GL_AMD_compressed_3DC_texture
280 #define GL_3DC_X_AMD 0x87F9
281 #define GL_3DC_XY_AMD 0x87FA
284 /* GL_AMD_compressed_ATC_texture */
285 #ifndef GL_AMD_compressed_ATC_texture
286 #define GL_ATC_RGB_AMD 0x8C92
287 #define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD 0x8C93
288 #define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87EE
291 /* GL_AMD_performance_monitor */
292 #ifndef GL_AMD_performance_monitor
293 #define GL_COUNTER_TYPE_AMD 0x8BC0
294 #define GL_COUNTER_RANGE_AMD 0x8BC1
295 #define GL_UNSIGNED_INT64_AMD 0x8BC2
296 #define GL_PERCENTAGE_AMD 0x8BC3
297 #define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8BC4
298 #define GL_PERFMON_RESULT_SIZE_AMD 0x8BC5
299 #define GL_PERFMON_RESULT_AMD 0x8BC6
302 /* GL_AMD_program_binary_Z400 */
303 #ifndef GL_AMD_program_binary_Z400
304 #define GL_Z400_BINARY_AMD 0x8740
307 /*------------------------------------------------------------------------*
308 * ANGLE extension tokens
309 *------------------------------------------------------------------------*/
311 /* GL_ANGLE_depth_texture */
312 #ifndef GL_ANGLE_depth_texture
313 #define GL_DEPTH_COMPONENT 0x1902
314 #define GL_DEPTH_STENCIL_OES 0x84F9
315 #define GL_UNSIGNED_SHORT 0x1403
316 #define GL_UNSIGNED_INT 0x1405
317 #define GL_UNSIGNED_INT_24_8_OES 0x84FA
318 #define GL_DEPTH_COMPONENT16 0x81A5
319 #define GL_DEPTH_COMPONENT32_OES 0x81A7
320 #define GL_DEPTH24_STENCIL8_OES 0x88F0
323 /* GL_ANGLE_framebuffer_blit */
324 #ifndef GL_ANGLE_framebuffer_blit
325 #define GL_READ_FRAMEBUFFER_ANGLE 0x8CA8
326 #define GL_DRAW_FRAMEBUFFER_ANGLE 0x8CA9
327 #define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE 0x8CA6
328 #define GL_READ_FRAMEBUFFER_BINDING_ANGLE 0x8CAA
331 /* GL_ANGLE_framebuffer_multisample */
332 #ifndef GL_ANGLE_framebuffer_multisample
333 #define GL_RENDERBUFFER_SAMPLES_ANGLE 0x8CAB
334 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE 0x8D56
335 #define GL_MAX_SAMPLES_ANGLE 0x8D57
338 /* GL_ANGLE_instanced_arrays */
339 #ifndef GL_ANGLE_instanced_arrays
340 #define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE 0x88FE
343 /* GL_ANGLE_pack_reverse_row_order */
344 #ifndef GL_ANGLE_pack_reverse_row_order
345 #define GL_PACK_REVERSE_ROW_ORDER_ANGLE 0x93A4
348 /* GL_ANGLE_program_binary */
349 #ifndef GL_ANGLE_program_binary
350 #define GL_PROGRAM_BINARY_ANGLE 0x93A6
353 /* GL_ANGLE_texture_compression_dxt3 */
354 #ifndef GL_ANGLE_texture_compression_dxt3
355 #define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE 0x83F2
358 /* GL_ANGLE_texture_compression_dxt5 */
359 #ifndef GL_ANGLE_texture_compression_dxt5
360 #define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE 0x83F3
363 /* GL_ANGLE_texture_usage */
364 #ifndef GL_ANGLE_texture_usage
365 #define GL_TEXTURE_USAGE_ANGLE 0x93A2
366 #define GL_FRAMEBUFFER_ATTACHMENT_ANGLE 0x93A3
369 /* GL_ANGLE_translated_shader_source */
370 #ifndef GL_ANGLE_translated_shader_source
371 #define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE 0x93A0
374 /*------------------------------------------------------------------------*
375 * APPLE extension tokens
376 *------------------------------------------------------------------------*/
378 /* GL_APPLE_copy_texture_levels */
379 /* No new tokens introduced by this extension. */
381 /* GL_APPLE_framebuffer_multisample */
382 #ifndef GL_APPLE_framebuffer_multisample
383 #define GL_RENDERBUFFER_SAMPLES_APPLE 0x8CAB
384 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE 0x8D56
385 #define GL_MAX_SAMPLES_APPLE 0x8D57
386 #define GL_READ_FRAMEBUFFER_APPLE 0x8CA8
387 #define GL_DRAW_FRAMEBUFFER_APPLE 0x8CA9
388 #define GL_DRAW_FRAMEBUFFER_BINDING_APPLE 0x8CA6
389 #define GL_READ_FRAMEBUFFER_BINDING_APPLE 0x8CAA
392 /* GL_APPLE_rgb_422 */
393 #ifndef GL_APPLE_rgb_422
394 #define GL_RGB_422_APPLE 0x8A1F
395 #define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA
396 #define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB
400 #ifndef GL_APPLE_sync
402 #define GL_SYNC_OBJECT_APPLE 0x8A53
403 #define GL_MAX_SERVER_WAIT_TIMEOUT_APPLE 0x9111
404 #define GL_OBJECT_TYPE_APPLE 0x9112
405 #define GL_SYNC_CONDITION_APPLE 0x9113
406 #define GL_SYNC_STATUS_APPLE 0x9114
407 #define GL_SYNC_FLAGS_APPLE 0x9115
408 #define GL_SYNC_FENCE_APPLE 0x9116
409 #define GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE 0x9117
410 #define GL_UNSIGNALED_APPLE 0x9118
411 #define GL_SIGNALED_APPLE 0x9119
412 #define GL_ALREADY_SIGNALED_APPLE 0x911A
413 #define GL_TIMEOUT_EXPIRED_APPLE 0x911B
414 #define GL_CONDITION_SATISFIED_APPLE 0x911C
415 #define GL_WAIT_FAILED_APPLE 0x911D
416 #define GL_SYNC_FLUSH_COMMANDS_BIT_APPLE 0x00000001
417 #define GL_TIMEOUT_IGNORED_APPLE 0xFFFFFFFFFFFFFFFFull
420 /* GL_APPLE_texture_format_BGRA8888 */
421 #ifndef GL_APPLE_texture_format_BGRA8888
422 #define GL_BGRA_EXT 0x80E1
425 /* GL_APPLE_texture_max_level */
426 #ifndef GL_APPLE_texture_max_level
427 #define GL_TEXTURE_MAX_LEVEL_APPLE 0x813D
430 /*------------------------------------------------------------------------*
431 * ARM extension tokens
432 *------------------------------------------------------------------------*/
434 /* GL_ARM_mali_program_binary */
435 #ifndef GL_ARM_mali_program_binary
436 #define GL_MALI_PROGRAM_BINARY_ARM 0x8F61
439 /* GL_ARM_mali_shader_binary */
440 #ifndef GL_ARM_mali_shader_binary
441 #define GL_MALI_SHADER_BINARY_ARM 0x8F60
445 /* No new tokens introduced by this extension. */
447 /*------------------------------------------------------------------------*
448 * EXT extension tokens
449 *------------------------------------------------------------------------*/
451 /* GL_EXT_blend_minmax */
452 #ifndef GL_EXT_blend_minmax
453 #define GL_MIN_EXT 0x8007
454 #define GL_MAX_EXT 0x8008
457 /* GL_EXT_color_buffer_half_float */
458 #ifndef GL_EXT_color_buffer_half_float
459 #define GL_RGBA16F_EXT 0x881A
460 #define GL_RGB16F_EXT 0x881B
461 #define GL_RG16F_EXT 0x822F
462 #define GL_R16F_EXT 0x822D
463 #define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT 0x8211
464 #define GL_UNSIGNED_NORMALIZED_EXT 0x8C17
467 /* GL_EXT_debug_label */
468 #ifndef GL_EXT_debug_label
469 #define GL_PROGRAM_PIPELINE_OBJECT_EXT 0x8A4F
470 #define GL_PROGRAM_OBJECT_EXT 0x8B40
471 #define GL_SHADER_OBJECT_EXT 0x8B48
472 #define GL_BUFFER_OBJECT_EXT 0x9151
473 #define GL_QUERY_OBJECT_EXT 0x9153
474 #define GL_VERTEX_ARRAY_OBJECT_EXT 0x9154
477 /* GL_EXT_debug_marker */
478 /* No new tokens introduced by this extension. */
480 /* GL_EXT_discard_framebuffer */
481 #ifndef GL_EXT_discard_framebuffer
482 #define GL_COLOR_EXT 0x1800
483 #define GL_DEPTH_EXT 0x1801
484 #define GL_STENCIL_EXT 0x1802
487 #ifndef GL_EXT_disjoint_timer_query
488 #define GL_QUERY_COUNTER_BITS_EXT 0x8864
489 #define GL_CURRENT_QUERY_EXT 0x8865
490 #define GL_QUERY_RESULT_EXT 0x8866
491 #define GL_QUERY_RESULT_AVAILABLE_EXT 0x8867
492 #define GL_TIME_ELAPSED_EXT 0x88BF
493 #define GL_TIMESTAMP_EXT 0x8E28
494 #define GL_GPU_DISJOINT_EXT 0x8FBB
497 #ifndef GL_EXT_draw_buffers
498 #define GL_EXT_draw_buffers 1
499 #define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF
500 #define GL_MAX_DRAW_BUFFERS_EXT 0x8824
501 #define GL_DRAW_BUFFER0_EXT 0x8825
502 #define GL_DRAW_BUFFER1_EXT 0x8826
503 #define GL_DRAW_BUFFER2_EXT 0x8827
504 #define GL_DRAW_BUFFER3_EXT 0x8828
505 #define GL_DRAW_BUFFER4_EXT 0x8829
506 #define GL_DRAW_BUFFER5_EXT 0x882A
507 #define GL_DRAW_BUFFER6_EXT 0x882B
508 #define GL_DRAW_BUFFER7_EXT 0x882C
509 #define GL_DRAW_BUFFER8_EXT 0x882D
510 #define GL_DRAW_BUFFER9_EXT 0x882E
511 #define GL_DRAW_BUFFER10_EXT 0x882F
512 #define GL_DRAW_BUFFER11_EXT 0x8830
513 #define GL_DRAW_BUFFER12_EXT 0x8831
514 #define GL_DRAW_BUFFER13_EXT 0x8832
515 #define GL_DRAW_BUFFER14_EXT 0x8833
516 #define GL_DRAW_BUFFER15_EXT 0x8834
517 #define GL_COLOR_ATTACHMENT0_EXT 0x8CE0
518 #define GL_COLOR_ATTACHMENT1_EXT 0x8CE1
519 #define GL_COLOR_ATTACHMENT2_EXT 0x8CE2
520 #define GL_COLOR_ATTACHMENT3_EXT 0x8CE3
521 #define GL_COLOR_ATTACHMENT4_EXT 0x8CE4
522 #define GL_COLOR_ATTACHMENT5_EXT 0x8CE5
523 #define GL_COLOR_ATTACHMENT6_EXT 0x8CE6
524 #define GL_COLOR_ATTACHMENT7_EXT 0x8CE7
525 #define GL_COLOR_ATTACHMENT8_EXT 0x8CE8
526 #define GL_COLOR_ATTACHMENT9_EXT 0x8CE9
527 #define GL_COLOR_ATTACHMENT10_EXT 0x8CEA
528 #define GL_COLOR_ATTACHMENT11_EXT 0x8CEB
529 #define GL_COLOR_ATTACHMENT12_EXT 0x8CEC
530 #define GL_COLOR_ATTACHMENT13_EXT 0x8CED
531 #define GL_COLOR_ATTACHMENT14_EXT 0x8CEE
532 #define GL_COLOR_ATTACHMENT15_EXT 0x8CEF
535 /* GL_EXT_map_buffer_range */
536 #ifndef GL_EXT_map_buffer_range
537 #define GL_MAP_READ_BIT_EXT 0x0001
538 #define GL_MAP_WRITE_BIT_EXT 0x0002
539 #define GL_MAP_INVALIDATE_RANGE_BIT_EXT 0x0004
540 #define GL_MAP_INVALIDATE_BUFFER_BIT_EXT 0x0008
541 #define GL_MAP_FLUSH_EXPLICIT_BIT_EXT 0x0010
542 #define GL_MAP_UNSYNCHRONIZED_BIT_EXT 0x0020
545 /* GL_EXT_multisampled_render_to_texture */
546 #ifndef GL_EXT_multisampled_render_to_texture
547 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT 0x8D6C
548 /* reuse values from GL_EXT_framebuffer_multisample (desktop extension) */
549 #define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB
550 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56
551 #define GL_MAX_SAMPLES_EXT 0x8D57
554 /* GL_EXT_multiview_draw_buffers */
555 #ifndef GL_EXT_multiview_draw_buffers
556 #define GL_COLOR_ATTACHMENT_EXT 0x90F0
557 #define GL_MULTIVIEW_EXT 0x90F1
558 #define GL_DRAW_BUFFER_EXT 0x0C01
559 #define GL_READ_BUFFER_EXT 0x0C02
560 #define GL_MAX_MULTIVIEW_BUFFERS_EXT 0x90F2
563 /* GL_EXT_multi_draw_arrays */
564 /* No new tokens introduced by this extension. */
566 /* GL_EXT_occlusion_query_boolean */
567 #ifndef GL_EXT_occlusion_query_boolean
568 #define GL_ANY_SAMPLES_PASSED_EXT 0x8C2F
569 #define GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT 0x8D6A
570 #define GL_CURRENT_QUERY_EXT 0x8865
571 #define GL_QUERY_RESULT_EXT 0x8866
572 #define GL_QUERY_RESULT_AVAILABLE_EXT 0x8867
575 /* GL_EXT_read_format_bgra */
576 #ifndef GL_EXT_read_format_bgra
577 #define GL_BGRA_EXT 0x80E1
578 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT 0x8365
579 #define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT 0x8366
582 /* GL_EXT_robustness */
583 #ifndef GL_EXT_robustness
584 /* reuse GL_NO_ERROR */
585 #define GL_GUILTY_CONTEXT_RESET_EXT 0x8253
586 #define GL_INNOCENT_CONTEXT_RESET_EXT 0x8254
587 #define GL_UNKNOWN_CONTEXT_RESET_EXT 0x8255
588 #define GL_CONTEXT_ROBUST_ACCESS_EXT 0x90F3
589 #define GL_RESET_NOTIFICATION_STRATEGY_EXT 0x8256
590 #define GL_LOSE_CONTEXT_ON_RESET_EXT 0x8252
591 #define GL_NO_RESET_NOTIFICATION_EXT 0x8261
594 /* GL_EXT_separate_shader_objects */
595 #ifndef GL_EXT_separate_shader_objects
596 #define GL_VERTEX_SHADER_BIT_EXT 0x00000001
597 #define GL_FRAGMENT_SHADER_BIT_EXT 0x00000002
598 #define GL_ALL_SHADER_BITS_EXT 0xFFFFFFFF
599 #define GL_PROGRAM_SEPARABLE_EXT 0x8258
600 #define GL_ACTIVE_PROGRAM_EXT 0x8259
601 #define GL_PROGRAM_PIPELINE_BINDING_EXT 0x825A
604 /* GL_EXT_shader_framebuffer_fetch */
605 #ifndef GL_EXT_shader_framebuffer_fetch
606 #define GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT 0x8A52
609 /* GL_EXT_shader_texture_lod */
610 /* No new tokens introduced by this extension. */
612 /* GL_EXT_shadow_samplers */
613 #ifndef GL_EXT_shadow_samplers
614 #define GL_TEXTURE_COMPARE_MODE_EXT 0x884C
615 #define GL_TEXTURE_COMPARE_FUNC_EXT 0x884D
616 #define GL_COMPARE_REF_TO_TEXTURE_EXT 0x884E
617 #define GL_SAMPLER_2D_SHADOW_EXT 0x8B62
622 #define GL_SRGB_EXT 0x8C40
623 #define GL_SRGB_ALPHA_EXT 0x8C42
624 #define GL_SRGB8_ALPHA8_EXT 0x8C43
625 #define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT 0x8210
628 /* GL_EXT_texture_compression_dxt1 */
629 #ifndef GL_EXT_texture_compression_dxt1
630 #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0
631 #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1
634 /* GL_EXT_texture_filter_anisotropic */
635 #ifndef GL_EXT_texture_filter_anisotropic
636 #define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE
637 #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
640 /* GL_EXT_texture_format_BGRA8888 */
641 #ifndef GL_EXT_texture_format_BGRA8888
642 #define GL_BGRA_EXT 0x80E1
645 /* GL_EXT_texture_rg */
646 #ifndef GL_EXT_texture_rg
647 #define GL_RED_EXT 0x1903
648 #define GL_RG_EXT 0x8227
649 #define GL_R8_EXT 0x8229
650 #define GL_RG8_EXT 0x822B
653 /* GL_EXT_texture_storage */
654 #ifndef GL_EXT_texture_storage
655 #define GL_TEXTURE_IMMUTABLE_FORMAT_EXT 0x912F
656 #define GL_ALPHA8_EXT 0x803C
657 #define GL_LUMINANCE8_EXT 0x8040
658 #define GL_LUMINANCE8_ALPHA8_EXT 0x8045
659 #define GL_RGBA32F_EXT 0x8814
660 #define GL_RGB32F_EXT 0x8815
661 #define GL_ALPHA32F_EXT 0x8816
662 #define GL_LUMINANCE32F_EXT 0x8818
663 #define GL_LUMINANCE_ALPHA32F_EXT 0x8819
664 /* reuse GL_RGBA16F_EXT */
665 /* reuse GL_RGB16F_EXT */
666 #define GL_ALPHA16F_EXT 0x881C
667 #define GL_LUMINANCE16F_EXT 0x881E
668 #define GL_LUMINANCE_ALPHA16F_EXT 0x881F
669 #define GL_RGB10_A2_EXT 0x8059
670 #define GL_RGB10_EXT 0x8052
671 #define GL_BGRA8_EXT 0x93A1
672 #define GL_R8_EXT 0x8229
673 #define GL_RG8_EXT 0x822B
674 #define GL_R32F_EXT 0x822E
675 #define GL_RG32F_EXT 0x8230
676 #define GL_R16F_EXT 0x822D
677 #define GL_RG16F_EXT 0x822F
680 /* GL_EXT_texture_type_2_10_10_10_REV */
681 #ifndef GL_EXT_texture_type_2_10_10_10_REV
682 #define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368
685 /* GL_EXT_unpack_subimage */
686 #ifndef GL_EXT_unpack_subimage
687 #define GL_UNPACK_ROW_LENGTH_EXT 0x0CF2
688 #define GL_UNPACK_SKIP_ROWS_EXT 0x0CF3
689 #define GL_UNPACK_SKIP_PIXELS_EXT 0x0CF4
692 /*------------------------------------------------------------------------*
693 * DMP extension tokens
694 *------------------------------------------------------------------------*/
696 /* GL_DMP_shader_binary */
697 #ifndef GL_DMP_shader_binary
698 #define GL_SHADER_BINARY_DMP 0x9250
701 /*------------------------------------------------------------------------*
702 * FJ extension tokens
703 *------------------------------------------------------------------------*/
705 /* GL_FJ_shader_binary_GCCSO */
706 #ifndef GL_FJ_shader_binary_GCCSO
707 #define GL_GCCSO_SHADER_BINARY_FJ 0x9260
710 /*------------------------------------------------------------------------*
711 * IMG extension tokens
712 *------------------------------------------------------------------------*/
714 /* GL_IMG_program_binary */
715 #ifndef GL_IMG_program_binary
716 #define GL_SGX_PROGRAM_BINARY_IMG 0x9130
719 /* GL_IMG_read_format */
720 #ifndef GL_IMG_read_format
721 #define GL_BGRA_IMG 0x80E1
722 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG 0x8365
725 /* GL_IMG_shader_binary */
726 #ifndef GL_IMG_shader_binary
727 #define GL_SGX_BINARY_IMG 0x8C0A
730 /* GL_IMG_texture_compression_pvrtc */
731 #ifndef GL_IMG_texture_compression_pvrtc
732 #define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00
733 #define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG 0x8C01
734 #define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02
735 #define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8C03
738 /* GL_IMG_texture_compression_pvrtc2 */
739 #ifndef GL_IMG_texture_compression_pvrtc2
740 #define GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG 0x9137
741 #define GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG 0x9138
744 /* GL_IMG_multisampled_render_to_texture */
745 #ifndef GL_IMG_multisampled_render_to_texture
746 #define GL_RENDERBUFFER_SAMPLES_IMG 0x9133
747 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG 0x9134
748 #define GL_MAX_SAMPLES_IMG 0x9135
749 #define GL_TEXTURE_SAMPLES_IMG 0x9136
752 /*------------------------------------------------------------------------*
753 * NV extension tokens
754 *------------------------------------------------------------------------*/
756 /* GL_NV_coverage_sample */
757 #ifndef GL_NV_coverage_sample
758 #define GL_COVERAGE_COMPONENT_NV 0x8ED0
759 #define GL_COVERAGE_COMPONENT4_NV 0x8ED1
760 #define GL_COVERAGE_ATTACHMENT_NV 0x8ED2
761 #define GL_COVERAGE_BUFFERS_NV 0x8ED3
762 #define GL_COVERAGE_SAMPLES_NV 0x8ED4
763 #define GL_COVERAGE_ALL_FRAGMENTS_NV 0x8ED5
764 #define GL_COVERAGE_EDGE_FRAGMENTS_NV 0x8ED6
765 #define GL_COVERAGE_AUTOMATIC_NV 0x8ED7
766 #define GL_COVERAGE_BUFFER_BIT_NV 0x00008000
769 /* GL_NV_depth_nonlinear */
770 #ifndef GL_NV_depth_nonlinear
771 #define GL_DEPTH_COMPONENT16_NONLINEAR_NV 0x8E2C
774 /* GL_NV_draw_buffers */
775 #ifndef GL_NV_draw_buffers
776 #define GL_MAX_DRAW_BUFFERS_NV 0x8824
777 #define GL_DRAW_BUFFER0_NV 0x8825
778 #define GL_DRAW_BUFFER1_NV 0x8826
779 #define GL_DRAW_BUFFER2_NV 0x8827
780 #define GL_DRAW_BUFFER3_NV 0x8828
781 #define GL_DRAW_BUFFER4_NV 0x8829
782 #define GL_DRAW_BUFFER5_NV 0x882A
783 #define GL_DRAW_BUFFER6_NV 0x882B
784 #define GL_DRAW_BUFFER7_NV 0x882C
785 #define GL_DRAW_BUFFER8_NV 0x882D
786 #define GL_DRAW_BUFFER9_NV 0x882E
787 #define GL_DRAW_BUFFER10_NV 0x882F
788 #define GL_DRAW_BUFFER11_NV 0x8830
789 #define GL_DRAW_BUFFER12_NV 0x8831
790 #define GL_DRAW_BUFFER13_NV 0x8832
791 #define GL_DRAW_BUFFER14_NV 0x8833
792 #define GL_DRAW_BUFFER15_NV 0x8834
793 #define GL_COLOR_ATTACHMENT0_NV 0x8CE0
794 #define GL_COLOR_ATTACHMENT1_NV 0x8CE1
795 #define GL_COLOR_ATTACHMENT2_NV 0x8CE2
796 #define GL_COLOR_ATTACHMENT3_NV 0x8CE3
797 #define GL_COLOR_ATTACHMENT4_NV 0x8CE4
798 #define GL_COLOR_ATTACHMENT5_NV 0x8CE5
799 #define GL_COLOR_ATTACHMENT6_NV 0x8CE6
800 #define GL_COLOR_ATTACHMENT7_NV 0x8CE7
801 #define GL_COLOR_ATTACHMENT8_NV 0x8CE8
802 #define GL_COLOR_ATTACHMENT9_NV 0x8CE9
803 #define GL_COLOR_ATTACHMENT10_NV 0x8CEA
804 #define GL_COLOR_ATTACHMENT11_NV 0x8CEB
805 #define GL_COLOR_ATTACHMENT12_NV 0x8CEC
806 #define GL_COLOR_ATTACHMENT13_NV 0x8CED
807 #define GL_COLOR_ATTACHMENT14_NV 0x8CEE
808 #define GL_COLOR_ATTACHMENT15_NV 0x8CEF
811 /* GL_NV_draw_instanced */
812 /* No new tokens introduced by this extension. */
814 /* GL_NV_fbo_color_attachments */
815 #ifndef GL_NV_fbo_color_attachments
816 #define GL_MAX_COLOR_ATTACHMENTS_NV 0x8CDF
817 /* GL_COLOR_ATTACHMENT{0-15}_NV defined in GL_NV_draw_buffers already. */
822 #define GL_ALL_COMPLETED_NV 0x84F2
823 #define GL_FENCE_STATUS_NV 0x84F3
824 #define GL_FENCE_CONDITION_NV 0x84F4
827 /* GL_NV_framebuffer_blit */
828 #ifndef GL_NV_framebuffer_blit
829 #define GL_READ_FRAMEBUFFER_NV 0x8CA8
830 #define GL_DRAW_FRAMEBUFFER_NV 0x8CA9
831 #define GL_DRAW_FRAMEBUFFER_BINDING_NV 0x8CA6
832 #define GL_READ_FRAMEBUFFER_BINDING_NV 0x8CAA
835 /* GL_NV_framebuffer_multisample */
836 #ifndef GL_NV_framebuffer_multisample
837 #define GL_RENDERBUFFER_SAMPLES_NV 0x8CAB
838 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV 0x8D56
839 #define GL_MAX_SAMPLES_NV 0x8D57
842 /* GL_NV_generate_mipmap_sRGB */
843 /* No new tokens introduced by this extension. */
845 /* GL_NV_instanced_arrays */
846 #ifndef GL_NV_instanced_arrays
847 #define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_NV 0x88FE
850 /* GL_NV_read_buffer */
851 #ifndef GL_NV_read_buffer
852 #define GL_READ_BUFFER_NV 0x0C02
855 /* GL_NV_read_buffer_front */
856 /* No new tokens introduced by this extension. */
858 /* GL_NV_read_depth */
859 /* No new tokens introduced by this extension. */
861 /* GL_NV_read_depth_stencil */
862 /* No new tokens introduced by this extension. */
864 /* GL_NV_read_stencil */
865 /* No new tokens introduced by this extension. */
867 /* GL_NV_shadow_samplers_array */
868 #ifndef GL_NV_shadow_samplers_array
869 #define GL_SAMPLER_2D_ARRAY_SHADOW_NV 0x8DC4
872 /* GL_NV_shadow_samplers_cube */
873 #ifndef GL_NV_shadow_samplers_cube
874 #define GL_SAMPLER_CUBE_SHADOW_NV 0x8DC5
877 /* GL_NV_sRGB_formats */
878 #ifndef GL_NV_sRGB_formats
879 #define GL_SLUMINANCE_NV 0x8C46
880 #define GL_SLUMINANCE_ALPHA_NV 0x8C44
881 #define GL_SRGB8_NV 0x8C41
882 #define GL_SLUMINANCE8_NV 0x8C47
883 #define GL_SLUMINANCE8_ALPHA8_NV 0x8C45
884 #define GL_COMPRESSED_SRGB_S3TC_DXT1_NV 0x8C4C
885 #define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV 0x8C4D
886 #define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV 0x8C4E
887 #define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV 0x8C4F
888 #define GL_ETC1_SRGB8_NV 0x88EE
891 /* GL_NV_texture_border_clamp */
892 #ifndef GL_NV_texture_border_clamp
893 #define GL_TEXTURE_BORDER_COLOR_NV 0x1004
894 #define GL_CLAMP_TO_BORDER_NV 0x812D
897 /* GL_NV_texture_compression_s3tc_update */
898 /* No new tokens introduced by this extension. */
900 /* GL_NV_texture_npot_2D_mipmap */
901 /* No new tokens introduced by this extension. */
903 /*------------------------------------------------------------------------*
904 * QCOM extension tokens
905 *------------------------------------------------------------------------*/
907 /* GL_QCOM_alpha_test */
908 #ifndef GL_QCOM_alpha_test
909 #define GL_ALPHA_TEST_QCOM 0x0BC0
910 #define GL_ALPHA_TEST_FUNC_QCOM 0x0BC1
911 #define GL_ALPHA_TEST_REF_QCOM 0x0BC2
914 /* GL_QCOM_binning_control */
915 #ifndef GL_QCOM_binning_control
916 #define GL_BINNING_CONTROL_HINT_QCOM 0x8FB0
917 #define GL_CPU_OPTIMIZED_QCOM 0x8FB1
918 #define GL_GPU_OPTIMIZED_QCOM 0x8FB2
919 #define GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM 0x8FB3
922 /* GL_QCOM_driver_control */
923 /* No new tokens introduced by this extension. */
925 /* GL_QCOM_extended_get */
926 #ifndef GL_QCOM_extended_get
927 #define GL_TEXTURE_WIDTH_QCOM 0x8BD2
928 #define GL_TEXTURE_HEIGHT_QCOM 0x8BD3
929 #define GL_TEXTURE_DEPTH_QCOM 0x8BD4
930 #define GL_TEXTURE_INTERNAL_FORMAT_QCOM 0x8BD5
931 #define GL_TEXTURE_FORMAT_QCOM 0x8BD6
932 #define GL_TEXTURE_TYPE_QCOM 0x8BD7
933 #define GL_TEXTURE_IMAGE_VALID_QCOM 0x8BD8
934 #define GL_TEXTURE_NUM_LEVELS_QCOM 0x8BD9
935 #define GL_TEXTURE_TARGET_QCOM 0x8BDA
936 #define GL_TEXTURE_OBJECT_VALID_QCOM 0x8BDB
937 #define GL_STATE_RESTORE 0x8BDC
940 /* GL_QCOM_extended_get2 */
941 /* No new tokens introduced by this extension. */
943 /* GL_QCOM_perfmon_global_mode */
944 #ifndef GL_QCOM_perfmon_global_mode
945 #define GL_PERFMON_GLOBAL_MODE_QCOM 0x8FA0
948 /* GL_QCOM_writeonly_rendering */
949 #ifndef GL_QCOM_writeonly_rendering
950 #define GL_WRITEONLY_RENDERING_QCOM 0x8823
953 /* GL_QCOM_tiled_rendering */
954 #ifndef GL_QCOM_tiled_rendering
955 #define GL_COLOR_BUFFER_BIT0_QCOM 0x00000001
956 #define GL_COLOR_BUFFER_BIT1_QCOM 0x00000002
957 #define GL_COLOR_BUFFER_BIT2_QCOM 0x00000004
958 #define GL_COLOR_BUFFER_BIT3_QCOM 0x00000008
959 #define GL_COLOR_BUFFER_BIT4_QCOM 0x00000010
960 #define GL_COLOR_BUFFER_BIT5_QCOM 0x00000020
961 #define GL_COLOR_BUFFER_BIT6_QCOM 0x00000040
962 #define GL_COLOR_BUFFER_BIT7_QCOM 0x00000080
963 #define GL_DEPTH_BUFFER_BIT0_QCOM 0x00000100
964 #define GL_DEPTH_BUFFER_BIT1_QCOM 0x00000200
965 #define GL_DEPTH_BUFFER_BIT2_QCOM 0x00000400
966 #define GL_DEPTH_BUFFER_BIT3_QCOM 0x00000800
967 #define GL_DEPTH_BUFFER_BIT4_QCOM 0x00001000
968 #define GL_DEPTH_BUFFER_BIT5_QCOM 0x00002000
969 #define GL_DEPTH_BUFFER_BIT6_QCOM 0x00004000
970 #define GL_DEPTH_BUFFER_BIT7_QCOM 0x00008000
971 #define GL_STENCIL_BUFFER_BIT0_QCOM 0x00010000
972 #define GL_STENCIL_BUFFER_BIT1_QCOM 0x00020000
973 #define GL_STENCIL_BUFFER_BIT2_QCOM 0x00040000
974 #define GL_STENCIL_BUFFER_BIT3_QCOM 0x00080000
975 #define GL_STENCIL_BUFFER_BIT4_QCOM 0x00100000
976 #define GL_STENCIL_BUFFER_BIT5_QCOM 0x00200000
977 #define GL_STENCIL_BUFFER_BIT6_QCOM 0x00400000
978 #define GL_STENCIL_BUFFER_BIT7_QCOM 0x00800000
979 #define GL_MULTISAMPLE_BUFFER_BIT0_QCOM 0x01000000
980 #define GL_MULTISAMPLE_BUFFER_BIT1_QCOM 0x02000000
981 #define GL_MULTISAMPLE_BUFFER_BIT2_QCOM 0x04000000
982 #define GL_MULTISAMPLE_BUFFER_BIT3_QCOM 0x08000000
983 #define GL_MULTISAMPLE_BUFFER_BIT4_QCOM 0x10000000
984 #define GL_MULTISAMPLE_BUFFER_BIT5_QCOM 0x20000000
985 #define GL_MULTISAMPLE_BUFFER_BIT6_QCOM 0x40000000
986 #define GL_MULTISAMPLE_BUFFER_BIT7_QCOM 0x80000000
989 /*------------------------------------------------------------------------*
990 * VIV extension tokens
991 *------------------------------------------------------------------------*/
993 /* GL_VIV_shader_binary */
994 #ifndef GL_VIV_shader_binary
995 #define GL_SHADER_BINARY_VIV 0x8FC4
998 /*------------------------------------------------------------------------*
999 * End of extension tokens, start of corresponding extension functions
1000 *------------------------------------------------------------------------*/
1002 /*------------------------------------------------------------------------*
1003 * OES extension functions
1004 *------------------------------------------------------------------------*/
1006 /* GL_OES_compressed_ETC1_RGB8_texture */
1007 #ifndef GL_OES_compressed_ETC1_RGB8_texture
1008 #define GL_OES_compressed_ETC1_RGB8_texture 1
1011 /* GL_OES_compressed_paletted_texture */
1012 #ifndef GL_OES_compressed_paletted_texture
1013 #define GL_OES_compressed_paletted_texture 1
1016 /* GL_OES_depth24 */
1017 #ifndef GL_OES_depth24
1018 #define GL_OES_depth24 1
1021 /* GL_OES_depth32 */
1022 #ifndef GL_OES_depth32
1023 #define GL_OES_depth32 1
1026 /* GL_OES_depth_texture */
1027 #ifndef GL_OES_depth_texture
1028 #define GL_OES_depth_texture 1
1031 /* GL_OES_EGL_image */
1032 #ifndef GL_OES_EGL_image
1033 #define GL_OES_EGL_image 1
1034 #ifdef GL_GLEXT_PROTOTYPES
1035 GL_APICALL
void GL_APIENTRY
glEGLImageTargetTexture2DOES (GLenum target
, GLeglImageOES image
);
1036 GL_APICALL
void GL_APIENTRY
glEGLImageTargetRenderbufferStorageOES (GLenum target
, GLeglImageOES image
);
1038 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC
) (GLenum target
, GLeglImageOES image
);
1039 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC
) (GLenum target
, GLeglImageOES image
);
1042 /* GL_OES_EGL_image_external */
1043 #ifndef GL_OES_EGL_image_external
1044 #define GL_OES_EGL_image_external 1
1045 /* glEGLImageTargetTexture2DOES defined in GL_OES_EGL_image already. */
1048 /* GL_OES_element_index_uint */
1049 #ifndef GL_OES_element_index_uint
1050 #define GL_OES_element_index_uint 1
1053 /* GL_OES_fbo_render_mipmap */
1054 #ifndef GL_OES_fbo_render_mipmap
1055 #define GL_OES_fbo_render_mipmap 1
1058 /* GL_OES_fragment_precision_high */
1059 #ifndef GL_OES_fragment_precision_high
1060 #define GL_OES_fragment_precision_high 1
1063 /* GL_OES_get_program_binary */
1064 #ifndef GL_OES_get_program_binary
1065 #define GL_OES_get_program_binary 1
1066 #ifdef GL_GLEXT_PROTOTYPES
1067 GL_APICALL
void GL_APIENTRY
glGetProgramBinaryOES (GLuint program
, GLsizei bufSize
, GLsizei
*length
, GLenum
*binaryFormat
, GLvoid
*binary
);
1068 GL_APICALL
void GL_APIENTRY
glProgramBinaryOES (GLuint program
, GLenum binaryFormat
, const GLvoid
*binary
, GLint length
);
1070 typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC
) (GLuint program
, GLsizei bufSize
, GLsizei
*length
, GLenum
*binaryFormat
, GLvoid
*binary
);
1071 typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC
) (GLuint program
, GLenum binaryFormat
, const GLvoid
*binary
, GLint length
);
1074 /* GL_OES_mapbuffer */
1075 #ifndef GL_OES_mapbuffer
1076 #define GL_OES_mapbuffer 1
1077 #ifdef GL_GLEXT_PROTOTYPES
1078 GL_APICALL
void* GL_APIENTRY
glMapBufferOES (GLenum target
, GLenum access
);
1079 GL_APICALL GLboolean GL_APIENTRY
glUnmapBufferOES (GLenum target
);
1080 GL_APICALL
void GL_APIENTRY
glGetBufferPointervOES (GLenum target
, GLenum pname
, GLvoid
** params
);
1082 typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC
) (GLenum target
, GLenum access
);
1083 typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC
) (GLenum target
);
1084 typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC
) (GLenum target
, GLenum pname
, GLvoid
** params
);
1087 /* GL_OES_packed_depth_stencil */
1088 #ifndef GL_OES_packed_depth_stencil
1089 #define GL_OES_packed_depth_stencil 1
1092 /* GL_OES_required_internalformat */
1093 #ifndef GL_OES_required_internalformat
1094 #define GL_OES_required_internalformat 1
1097 /* GL_OES_rgb8_rgba8 */
1098 #ifndef GL_OES_rgb8_rgba8
1099 #define GL_OES_rgb8_rgba8 1
1102 /* GL_OES_standard_derivatives */
1103 #ifndef GL_OES_standard_derivatives
1104 #define GL_OES_standard_derivatives 1
1107 /* GL_OES_stencil1 */
1108 #ifndef GL_OES_stencil1
1109 #define GL_OES_stencil1 1
1112 /* GL_OES_stencil4 */
1113 #ifndef GL_OES_stencil4
1114 #define GL_OES_stencil4 1
1117 #ifndef GL_OES_surfaceless_context
1118 #define GL_OES_surfaceless_context 1
1121 /* GL_OES_texture_3D */
1122 #ifndef GL_OES_texture_3D
1123 #define GL_OES_texture_3D 1
1124 #ifdef GL_GLEXT_PROTOTYPES
1125 GL_APICALL
void GL_APIENTRY
glTexImage3DOES (GLenum target
, GLint level
, GLenum internalformat
, GLsizei width
, GLsizei height
, GLsizei depth
, GLint border
, GLenum format
, GLenum type
, const GLvoid
* pixels
);
1126 GL_APICALL
void GL_APIENTRY
glTexSubImage3DOES (GLenum target
, GLint level
, GLint xoffset
, GLint yoffset
, GLint zoffset
, GLsizei width
, GLsizei height
, GLsizei depth
, GLenum format
, GLenum type
, const GLvoid
* pixels
);
1127 GL_APICALL
void GL_APIENTRY
glCopyTexSubImage3DOES (GLenum target
, GLint level
, GLint xoffset
, GLint yoffset
, GLint zoffset
, GLint x
, GLint y
, GLsizei width
, GLsizei height
);
1128 GL_APICALL
void GL_APIENTRY
glCompressedTexImage3DOES (GLenum target
, GLint level
, GLenum internalformat
, GLsizei width
, GLsizei height
, GLsizei depth
, GLint border
, GLsizei imageSize
, const GLvoid
* data
);
1129 GL_APICALL
void GL_APIENTRY
glCompressedTexSubImage3DOES (GLenum target
, GLint level
, GLint xoffset
, GLint yoffset
, GLint zoffset
, GLsizei width
, GLsizei height
, GLsizei depth
, GLenum format
, GLsizei imageSize
, const GLvoid
* data
);
1130 GL_APICALL
void GL_APIENTRY
glFramebufferTexture3DOES (GLenum target
, GLenum attachment
, GLenum textarget
, GLuint texture
, GLint level
, GLint zoffset
);
1132 typedef void (GL_APIENTRYP PFNGLTEXIMAGE3DOESPROC
) (GLenum target
, GLint level
, GLenum internalformat
, GLsizei width
, GLsizei height
, GLsizei depth
, GLint border
, GLenum format
, GLenum type
, const GLvoid
* pixels
);
1133 typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE3DOESPROC
) (GLenum target
, GLint level
, GLint xoffset
, GLint yoffset
, GLint zoffset
, GLsizei width
, GLsizei height
, GLsizei depth
, GLenum format
, GLenum type
, const GLvoid
* pixels
);
1134 typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC
) (GLenum target
, GLint level
, GLint xoffset
, GLint yoffset
, GLint zoffset
, GLint x
, GLint y
, GLsizei width
, GLsizei height
);
1135 typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC
) (GLenum target
, GLint level
, GLenum internalformat
, GLsizei width
, GLsizei height
, GLsizei depth
, GLint border
, GLsizei imageSize
, const GLvoid
* data
);
1136 typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DOESPROC
) (GLenum target
, GLint level
, GLint xoffset
, GLint yoffset
, GLint zoffset
, GLsizei width
, GLsizei height
, GLsizei depth
, GLenum format
, GLsizei imageSize
, const GLvoid
* data
);
1137 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOES
) (GLenum target
, GLenum attachment
, GLenum textarget
, GLuint texture
, GLint level
, GLint zoffset
);
1140 /* GL_OES_texture_float */
1141 #ifndef GL_OES_texture_float
1142 #define GL_OES_texture_float 1
1145 /* GL_OES_texture_float_linear */
1146 #ifndef GL_OES_texture_float_linear
1147 #define GL_OES_texture_float_linear 1
1150 /* GL_OES_texture_half_float */
1151 #ifndef GL_OES_texture_half_float
1152 #define GL_OES_texture_half_float 1
1155 /* GL_OES_texture_half_float_linear */
1156 #ifndef GL_OES_texture_half_float_linear
1157 #define GL_OES_texture_half_float_linear 1
1160 /* GL_OES_texture_npot */
1161 #ifndef GL_OES_texture_npot
1162 #define GL_OES_texture_npot 1
1165 /* GL_OES_vertex_array_object */
1166 #ifndef GL_OES_vertex_array_object
1167 #define GL_OES_vertex_array_object 1
1168 #ifdef GL_GLEXT_PROTOTYPES
1169 GL_APICALL
void GL_APIENTRY
glBindVertexArrayOES (GLuint array
);
1170 GL_APICALL
void GL_APIENTRY
glDeleteVertexArraysOES (GLsizei n
, const GLuint
*arrays
);
1171 GL_APICALL
void GL_APIENTRY
glGenVertexArraysOES (GLsizei n
, GLuint
*arrays
);
1172 GL_APICALL GLboolean GL_APIENTRY
glIsVertexArrayOES (GLuint array
);
1174 typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC
) (GLuint array
);
1175 typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC
) (GLsizei n
, const GLuint
*arrays
);
1176 typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC
) (GLsizei n
, GLuint
*arrays
);
1177 typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC
) (GLuint array
);
1180 /* GL_OES_vertex_half_float */
1181 #ifndef GL_OES_vertex_half_float
1182 #define GL_OES_vertex_half_float 1
1185 /* GL_OES_vertex_type_10_10_10_2 */
1186 #ifndef GL_OES_vertex_type_10_10_10_2
1187 #define GL_OES_vertex_type_10_10_10_2 1
1190 /*------------------------------------------------------------------------*
1191 * KHR extension functions
1192 *------------------------------------------------------------------------*/
1194 #ifndef GL_KHR_debug
1195 #define GL_KHR_debug 1
1196 #ifdef GL_GLEXT_PROTOTYPES
1197 GL_APICALL
void GL_APIENTRY
glDebugMessageControlKHR (GLenum source
, GLenum type
, GLenum severity
, GLsizei count
, const GLuint
*ids
, GLboolean enabled
);
1198 GL_APICALL
void GL_APIENTRY
glDebugMessageInsertKHR (GLenum source
, GLenum type
, GLuint id
, GLenum severity
, GLsizei length
, const GLchar
*buf
);
1199 GL_APICALL
void GL_APIENTRY
glDebugMessageCallbackKHR (GLDEBUGPROCKHR callback
, const void *userParam
);
1200 GL_APICALL GLuint GL_APIENTRY
glGetDebugMessageLogKHR (GLuint count
, GLsizei bufsize
, GLenum
*sources
, GLenum
*types
, GLuint
*ids
, GLenum
*severities
, GLsizei
*lengths
, GLchar
*messageLog
);
1201 GL_APICALL
void GL_APIENTRY
glPushDebugGroupKHR (GLenum source
, GLuint id
, GLsizei length
, const GLchar
*message
);
1202 GL_APICALL
void GL_APIENTRY
glPopDebugGroupKHR (void);
1203 GL_APICALL
void GL_APIENTRY
glObjectLabelKHR (GLenum identifier
, GLuint name
, GLsizei length
, const GLchar
*label
);
1204 GL_APICALL
void GL_APIENTRY
glGetObjectLabelKHR (GLenum identifier
, GLuint name
, GLsizei bufSize
, GLsizei
*length
, GLchar
*label
);
1205 GL_APICALL
void GL_APIENTRY
glObjectPtrLabelKHR (const void *ptr
, GLsizei length
, const GLchar
*label
);
1206 GL_APICALL
void GL_APIENTRY
glGetObjectPtrLabelKHR (const void *ptr
, GLsizei bufSize
, GLsizei
*length
, GLchar
*label
);
1207 GL_APICALL
void GL_APIENTRY
glGetPointervKHR (GLenum pname
, void **params
);
1209 typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECONTROLKHRPROC
) (GLenum source
, GLenum type
, GLenum severity
, GLsizei count
, const GLuint
*ids
, GLboolean enabled
);
1210 typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGEINSERTKHRPROC
) (GLenum source
, GLenum type
, GLuint id
, GLenum severity
, GLsizei length
, const GLchar
*buf
);
1211 typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECALLBACKKHRPROC
) (GLDEBUGPROCKHR callback
, const void *userParam
);
1212 typedef GLuint (GL_APIENTRYP PFNGLGETDEBUGMESSAGELOGKHRPROC
) (GLuint count
, GLsizei bufsize
, GLenum
*sources
, GLenum
*types
, GLuint
*ids
, GLenum
*severities
, GLsizei
*lengths
, GLchar
*messageLog
);
1213 typedef void (GL_APIENTRYP PFNGLPUSHDEBUGGROUPKHRPROC
) (GLenum source
, GLuint id
, GLsizei length
, const GLchar
*message
);
1214 typedef void (GL_APIENTRYP PFNGLPOPDEBUGGROUPKHRPROC
) (void);
1215 typedef void (GL_APIENTRYP PFNGLOBJECTLABELKHRPROC
) (GLenum identifier
, GLuint name
, GLsizei length
, const GLchar
*label
);
1216 typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELKHRPROC
) (GLenum identifier
, GLuint name
, GLsizei bufSize
, GLsizei
*length
, GLchar
*label
);
1217 typedef void (GL_APIENTRYP PFNGLOBJECTPTRLABELKHRPROC
) (const void *ptr
, GLsizei length
, const GLchar
*label
);
1218 typedef void (GL_APIENTRYP PFNGLGETOBJECTPTRLABELKHRPROC
) (const void *ptr
, GLsizei bufSize
, GLsizei
*length
, GLchar
*label
);
1219 typedef void (GL_APIENTRYP PFNGLGETPOINTERVKHRPROC
) (GLenum pname
, void **params
);
1222 #ifndef GL_KHR_texture_compression_astc_ldr
1223 #define GL_KHR_texture_compression_astc_ldr 1
1227 /*------------------------------------------------------------------------*
1228 * AMD extension functions
1229 *------------------------------------------------------------------------*/
1231 /* GL_AMD_compressed_3DC_texture */
1232 #ifndef GL_AMD_compressed_3DC_texture
1233 #define GL_AMD_compressed_3DC_texture 1
1236 /* GL_AMD_compressed_ATC_texture */
1237 #ifndef GL_AMD_compressed_ATC_texture
1238 #define GL_AMD_compressed_ATC_texture 1
1241 /* AMD_performance_monitor */
1242 #ifndef GL_AMD_performance_monitor
1243 #define GL_AMD_performance_monitor 1
1244 #ifdef GL_GLEXT_PROTOTYPES
1245 GL_APICALL
void GL_APIENTRY
glGetPerfMonitorGroupsAMD (GLint
*numGroups
, GLsizei groupsSize
, GLuint
*groups
);
1246 GL_APICALL
void GL_APIENTRY
glGetPerfMonitorCountersAMD (GLuint group
, GLint
*numCounters
, GLint
*maxActiveCounters
, GLsizei counterSize
, GLuint
*counters
);
1247 GL_APICALL
void GL_APIENTRY
glGetPerfMonitorGroupStringAMD (GLuint group
, GLsizei bufSize
, GLsizei
*length
, GLchar
*groupString
);
1248 GL_APICALL
void GL_APIENTRY
glGetPerfMonitorCounterStringAMD (GLuint group
, GLuint counter
, GLsizei bufSize
, GLsizei
*length
, GLchar
*counterString
);
1249 GL_APICALL
void GL_APIENTRY
glGetPerfMonitorCounterInfoAMD (GLuint group
, GLuint counter
, GLenum pname
, GLvoid
*data
);
1250 GL_APICALL
void GL_APIENTRY
glGenPerfMonitorsAMD (GLsizei n
, GLuint
*monitors
);
1251 GL_APICALL
void GL_APIENTRY
glDeletePerfMonitorsAMD (GLsizei n
, GLuint
*monitors
);
1252 GL_APICALL
void GL_APIENTRY
glSelectPerfMonitorCountersAMD (GLuint monitor
, GLboolean enable
, GLuint group
, GLint numCounters
, GLuint
*countersList
);
1253 GL_APICALL
void GL_APIENTRY
glBeginPerfMonitorAMD (GLuint monitor
);
1254 GL_APICALL
void GL_APIENTRY
glEndPerfMonitorAMD (GLuint monitor
);
1255 GL_APICALL
void GL_APIENTRY
glGetPerfMonitorCounterDataAMD (GLuint monitor
, GLenum pname
, GLsizei dataSize
, GLuint
*data
, GLint
*bytesWritten
);
1257 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC
) (GLint
*numGroups
, GLsizei groupsSize
, GLuint
*groups
);
1258 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC
) (GLuint group
, GLint
*numCounters
, GLint
*maxActiveCounters
, GLsizei counterSize
, GLuint
*counters
);
1259 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC
) (GLuint group
, GLsizei bufSize
, GLsizei
*length
, GLchar
*groupString
);
1260 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC
) (GLuint group
, GLuint counter
, GLsizei bufSize
, GLsizei
*length
, GLchar
*counterString
);
1261 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC
) (GLuint group
, GLuint counter
, GLenum pname
, GLvoid
*data
);
1262 typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC
) (GLsizei n
, GLuint
*monitors
);
1263 typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC
) (GLsizei n
, GLuint
*monitors
);
1264 typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC
) (GLuint monitor
, GLboolean enable
, GLuint group
, GLint numCounters
, GLuint
*countersList
);
1265 typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC
) (GLuint monitor
);
1266 typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC
) (GLuint monitor
);
1267 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC
) (GLuint monitor
, GLenum pname
, GLsizei dataSize
, GLuint
*data
, GLint
*bytesWritten
);
1270 /* GL_AMD_program_binary_Z400 */
1271 #ifndef GL_AMD_program_binary_Z400
1272 #define GL_AMD_program_binary_Z400 1
1275 /*------------------------------------------------------------------------*
1276 * ANGLE extension functions
1277 *------------------------------------------------------------------------*/
1279 /* GL_ANGLE_depth_texture */
1280 #ifndef GL_ANGLE_depth_texture
1281 #define GL_ANGLE_depth_texture 1
1284 /* GL_ANGLE_framebuffer_blit */
1285 #ifndef GL_ANGLE_framebuffer_blit
1286 #define GL_ANGLE_framebuffer_blit 1
1287 #ifdef GL_GLEXT_PROTOTYPES
1288 GL_APICALL
void GL_APIENTRY
glBlitFramebufferANGLE (GLint srcX0
, GLint srcY0
, GLint srcX1
, GLint srcY1
, GLint dstX0
, GLint dstY0
, GLint dstX1
, GLint dstY1
, GLbitfield mask
, GLenum filter
);
1290 typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERANGLEPROC
) (GLint srcX0
, GLint srcY0
, GLint srcX1
, GLint srcY1
, GLint dstX0
, GLint dstY0
, GLint dstX1
, GLint dstY1
, GLbitfield mask
, GLenum filter
);
1293 /* GL_ANGLE_framebuffer_multisample */
1294 #ifndef GL_ANGLE_framebuffer_multisample
1295 #define GL_ANGLE_framebuffer_multisample 1
1296 #ifdef GL_GLEXT_PROTOTYPES
1297 GL_APICALL
void GL_APIENTRY
glRenderbufferStorageMultisampleANGLE (GLenum target
, GLsizei samples
, GLenum internalformat
, GLsizei width
, GLsizei height
);
1299 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC
) (GLenum target
, GLsizei samples
, GLenum internalformat
, GLsizei width
, GLsizei height
);
1302 #ifndef GL_ANGLE_instanced_arrays
1303 #define GL_ANGLE_instanced_arrays 1
1304 #ifdef GL_GLEXT_PROTOTYPES
1305 GL_APICALL
void GL_APIENTRY
glDrawArraysInstancedANGLE (GLenum mode
, GLint first
, GLsizei count
, GLsizei primcount
);
1306 GL_APICALL
void GL_APIENTRY
glDrawElementsInstancedANGLE (GLenum mode
, GLsizei count
, GLenum type
, const void *indices
, GLsizei primcount
);
1307 GL_APICALL
void GL_APIENTRY
glVertexAttribDivisorANGLE (GLuint index
, GLuint divisor
);
1309 typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDANGLEPROC
) (GLenum mode
, GLint first
, GLsizei count
, GLsizei primcount
);
1310 typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDANGLEPROC
) (GLenum mode
, GLsizei count
, GLenum type
, const void *indices
, GLsizei primcount
);
1311 typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISORANGLEPROC
) (GLuint index
, GLuint divisor
);
1314 /* GL_ANGLE_pack_reverse_row_order */
1315 #ifndef GL_ANGLE_pack_reverse_row_order
1316 #define GL_ANGLE_pack_reverse_row_order 1
1319 /* GL_ANGLE_program_binary */
1320 #ifndef GL_ANGLE_program_binary
1321 #define GL_ANGLE_program_binary 1
1324 /* GL_ANGLE_texture_compression_dxt3 */
1325 #ifndef GL_ANGLE_texture_compression_dxt3
1326 #define GL_ANGLE_texture_compression_dxt3 1
1329 /* GL_ANGLE_texture_compression_dxt5 */
1330 #ifndef GL_ANGLE_texture_compression_dxt5
1331 #define GL_ANGLE_texture_compression_dxt5 1
1334 /* GL_ANGLE_texture_usage */
1335 #ifndef GL_ANGLE_texture_usage
1336 #define GL_ANGLE_texture_usage 1
1339 #ifndef GL_ANGLE_translated_shader_source
1340 #define GL_ANGLE_translated_shader_source 1
1341 #ifdef GL_GLEXT_PROTOTYPES
1342 GL_APICALL
void GL_APIENTRY
glGetTranslatedShaderSourceANGLE (GLuint shader
, GLsizei bufsize
, GLsizei
*length
, GLchar
*source
);
1344 typedef void (GL_APIENTRYP PFNGLGETTRANSLATEDSHADERSOURCEANGLEPROC
) (GLuint shader
, GLsizei bufsize
, GLsizei
*length
, GLchar
*source
);
1347 /*------------------------------------------------------------------------*
1348 * APPLE extension functions
1349 *------------------------------------------------------------------------*/
1351 /* GL_APPLE_copy_texture_levels */
1352 #ifndef GL_APPLE_copy_texture_levels
1353 #define GL_APPLE_copy_texture_levels 1
1354 #ifdef GL_GLEXT_PROTOTYPES
1355 GL_APICALL
void GL_APIENTRY
glCopyTextureLevelsAPPLE (GLuint destinationTexture
, GLuint sourceTexture
, GLint sourceBaseLevel
, GLsizei sourceLevelCount
);
1357 typedef void (GL_APIENTRYP PFNGLCOPYTEXTURELEVELSAPPLEPROC
) (GLuint destinationTexture
, GLuint sourceTexture
, GLint sourceBaseLevel
, GLsizei sourceLevelCount
);
1360 /* GL_APPLE_framebuffer_multisample */
1361 #ifndef GL_APPLE_framebuffer_multisample
1362 #define GL_APPLE_framebuffer_multisample 1
1363 #ifdef GL_GLEXT_PROTOTYPES
1364 GL_APICALL
void GL_APIENTRY
glRenderbufferStorageMultisampleAPPLE (GLenum
, GLsizei
, GLenum
, GLsizei
, GLsizei
);
1365 GL_APICALL
void GL_APIENTRY
glResolveMultisampleFramebufferAPPLE (void);
1366 #endif /* GL_GLEXT_PROTOTYPES */
1367 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC
) (GLenum target
, GLsizei samples
, GLenum internalformat
, GLsizei width
, GLsizei height
);
1368 typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC
) (void);
1371 /* GL_APPLE_rgb_422 */
1372 #ifndef GL_APPLE_rgb_422
1373 #define GL_APPLE_rgb_422 1
1377 #ifndef GL_APPLE_sync
1378 #define GL_APPLE_sync 1
1379 #ifdef GL_GLEXT_PROTOTYPES
1380 GL_APICALL GLsync GL_APIENTRY
glFenceSyncAPPLE (GLenum condition
, GLbitfield flags
);
1381 GL_APICALL GLboolean GL_APIENTRY
glIsSyncAPPLE (GLsync sync
);
1382 GL_APICALL
void GL_APIENTRY
glDeleteSyncAPPLE (GLsync sync
);
1383 GL_APICALL GLenum GL_APIENTRY
glClientWaitSyncAPPLE (GLsync sync
, GLbitfield flags
, GLuint64 timeout
);
1384 GL_APICALL
void GL_APIENTRY
glWaitSyncAPPLE (GLsync sync
, GLbitfield flags
, GLuint64 timeout
);
1385 GL_APICALL
void GL_APIENTRY
glGetInteger64vAPPLE (GLenum pname
, GLint64
*params
);
1386 GL_APICALL
void GL_APIENTRY
glGetSyncivAPPLE (GLsync sync
, GLenum pname
, GLsizei bufSize
, GLsizei
*length
, GLint
*values
);
1388 typedef GLsync (GL_APIENTRYP PFNGLFENCESYNCAPPLEPROC
) (GLenum condition
, GLbitfield flags
);
1389 typedef GLboolean (GL_APIENTRYP PFNGLISSYNCAPPLEPROC
) (GLsync sync
);
1390 typedef void (GL_APIENTRYP PFNGLDELETESYNCAPPLEPROC
) (GLsync sync
);
1391 typedef GLenum (GL_APIENTRYP PFNGLCLIENTWAITSYNCAPPLEPROC
) (GLsync sync
, GLbitfield flags
, GLuint64 timeout
);
1392 typedef void (GL_APIENTRYP PFNGLWAITSYNCAPPLEPROC
) (GLsync sync
, GLbitfield flags
, GLuint64 timeout
);
1393 typedef void (GL_APIENTRYP PFNGLGETINTEGER64VAPPLEPROC
) (GLenum pname
, GLint64
*params
);
1394 typedef void (GL_APIENTRYP PFNGLGETSYNCIVAPPLEPROC
) (GLsync sync
, GLenum pname
, GLsizei bufSize
, GLsizei
*length
, GLint
*values
);
1397 /* GL_APPLE_texture_format_BGRA8888 */
1398 #ifndef GL_APPLE_texture_format_BGRA8888
1399 #define GL_APPLE_texture_format_BGRA8888 1
1402 /* GL_APPLE_texture_max_level */
1403 #ifndef GL_APPLE_texture_max_level
1404 #define GL_APPLE_texture_max_level 1
1407 /*------------------------------------------------------------------------*
1408 * ARM extension functions
1409 *------------------------------------------------------------------------*/
1411 /* GL_ARM_mali_program_binary */
1412 #ifndef GL_ARM_mali_program_binary
1413 #define GL_ARM_mali_program_binary 1
1416 /* GL_ARM_mali_shader_binary */
1417 #ifndef GL_ARM_mali_shader_binary
1418 #define GL_ARM_mali_shader_binary 1
1422 #ifndef GL_ARM_rgba8
1423 #define GL_ARM_rgba8 1
1426 /*------------------------------------------------------------------------*
1427 * EXT extension functions
1428 *------------------------------------------------------------------------*/
1430 /* GL_EXT_blend_minmax */
1431 #ifndef GL_EXT_blend_minmax
1432 #define GL_EXT_blend_minmax 1
1435 /* GL_EXT_color_buffer_half_float */
1436 #ifndef GL_EXT_color_buffer_half_float
1437 #define GL_EXT_color_buffer_half_float 1
1440 /* GL_EXT_debug_label */
1441 #ifndef GL_EXT_debug_label
1442 #define GL_EXT_debug_label 1
1443 #ifdef GL_GLEXT_PROTOTYPES
1444 GL_APICALL
void GL_APIENTRY
glLabelObjectEXT (GLenum type
, GLuint object
, GLsizei length
, const GLchar
*label
);
1445 GL_APICALL
void GL_APIENTRY
glGetObjectLabelEXT (GLenum type
, GLuint object
, GLsizei bufSize
, GLsizei
*length
, GLchar
*label
);
1447 typedef void (GL_APIENTRYP PFNGLLABELOBJECTEXTPROC
) (GLenum type
, GLuint object
, GLsizei length
, const GLchar
*label
);
1448 typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELEXTPROC
) (GLenum type
, GLuint object
, GLsizei bufSize
, GLsizei
*length
, GLchar
*label
);
1451 /* GL_EXT_debug_marker */
1452 #ifndef GL_EXT_debug_marker
1453 #define GL_EXT_debug_marker 1
1454 #ifdef GL_GLEXT_PROTOTYPES
1455 GL_APICALL
void GL_APIENTRY
glInsertEventMarkerEXT (GLsizei length
, const GLchar
*marker
);
1456 GL_APICALL
void GL_APIENTRY
glPushGroupMarkerEXT (GLsizei length
, const GLchar
*marker
);
1457 GL_APICALL
void GL_APIENTRY
glPopGroupMarkerEXT (void);
1459 typedef void (GL_APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC
) (GLsizei length
, const GLchar
*marker
);
1460 typedef void (GL_APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC
) (GLsizei length
, const GLchar
*marker
);
1461 typedef void (GL_APIENTRYP PFNGLPOPGROUPMARKEREXTPROC
) (void);
1464 /* GL_EXT_discard_framebuffer */
1465 #ifndef GL_EXT_discard_framebuffer
1466 #define GL_EXT_discard_framebuffer 1
1467 #ifdef GL_GLEXT_PROTOTYPES
1468 GL_APICALL
void GL_APIENTRY
glDiscardFramebufferEXT (GLenum target
, GLsizei numAttachments
, const GLenum
*attachments
);
1470 typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC
) (GLenum target
, GLsizei numAttachments
, const GLenum
*attachments
);
1473 #ifndef GL_EXT_disjoint_timer_query
1474 #define GL_EXT_disjoint_timer_query 1
1475 #ifdef GL_GLEXT_PROTOTYPES
1476 GL_APICALL
void GL_APIENTRY
glGenQueriesEXT (GLsizei n
, GLuint
*ids
);
1477 GL_APICALL
void GL_APIENTRY
glDeleteQueriesEXT (GLsizei n
, const GLuint
*ids
);
1478 GL_APICALL GLboolean GL_APIENTRY
glIsQueryEXT (GLuint id
);
1479 GL_APICALL
void GL_APIENTRY
glBeginQueryEXT (GLenum target
, GLuint id
);
1480 GL_APICALL
void GL_APIENTRY
glEndQueryEXT (GLenum target
);
1481 GL_APICALL
void GL_APIENTRY
glQueryCounterEXT (GLuint id
, GLenum target
);
1482 GL_APICALL
void GL_APIENTRY
glGetQueryivEXT (GLenum target
, GLenum pname
, GLint
*params
);
1483 GL_APICALL
void GL_APIENTRY
glGetQueryObjectivEXT (GLuint id
, GLenum pname
, GLint
*params
);
1484 GL_APICALL
void GL_APIENTRY
glGetQueryObjectuivEXT (GLuint id
, GLenum pname
, GLuint
*params
);
1485 GL_APICALL
void GL_APIENTRY
glGetQueryObjecti64vEXT (GLuint id
, GLenum pname
, GLint64
*params
);
1486 GL_APICALL
void GL_APIENTRY
glGetQueryObjectui64vEXT (GLuint id
, GLenum pname
, GLuint64
*params
);
1488 typedef void (GL_APIENTRYP PFNGLGENQUERIESEXTPROC
) (GLsizei n
, GLuint
*ids
);
1489 typedef void (GL_APIENTRYP PFNGLDELETEQUERIESEXTPROC
) (GLsizei n
, const GLuint
*ids
);
1490 typedef GLboolean (GL_APIENTRYP PFNGLISQUERYEXTPROC
) (GLuint id
);
1491 typedef void (GL_APIENTRYP PFNGLBEGINQUERYEXTPROC
) (GLenum target
, GLuint id
);
1492 typedef void (GL_APIENTRYP PFNGLENDQUERYEXTPROC
) (GLenum target
);
1493 typedef void (GL_APIENTRYP PFNGLQUERYCOUNTEREXTPROC
) (GLuint id
, GLenum target
);
1494 typedef void (GL_APIENTRYP PFNGLGETQUERYIVEXTPROC
) (GLenum target
, GLenum pname
, GLint
*params
);
1495 typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTIVEXTPROC
) (GLuint id
, GLenum pname
, GLint
*params
);
1496 typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVEXTPROC
) (GLuint id
, GLenum pname
, GLuint
*params
);
1497 typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTI64VEXTPROC
) (GLuint id
, GLenum pname
, GLint64
*params
);
1498 typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUI64VEXTPROC
) (GLuint id
, GLenum pname
, GLuint64
*params
);
1499 #endif /* GL_EXT_disjoint_timer_query */
1501 #ifndef GL_EXT_draw_buffers
1502 #define GL_EXT_draw_buffers 1
1503 #ifdef GL_GLEXT_PROTOTYPES
1504 GL_APICALL
void GL_APIENTRY
glDrawBuffersEXT (GLsizei n
, const GLenum
*bufs
);
1506 typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSEXTPROC
) (GLsizei n
, const GLenum
*bufs
);
1507 #endif /* GL_EXT_draw_buffers */
1509 /* GL_EXT_map_buffer_range */
1510 #ifndef GL_EXT_map_buffer_range
1511 #define GL_EXT_map_buffer_range 1
1512 #ifdef GL_GLEXT_PROTOTYPES
1513 GL_APICALL
void* GL_APIENTRY
glMapBufferRangeEXT (GLenum target
, GLintptr offset
, GLsizeiptr length
, GLbitfield access
);
1514 GL_APICALL
void GL_APIENTRY
glFlushMappedBufferRangeEXT (GLenum target
, GLintptr offset
, GLsizeiptr length
);
1516 typedef void* (GL_APIENTRYP PFNGLMAPBUFFERRANGEEXTPROC
) (GLenum target
, GLintptr offset
, GLsizeiptr length
, GLbitfield access
);
1517 typedef void (GL_APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC
) (GLenum target
, GLintptr offset
, GLsizeiptr length
);
1520 /* GL_EXT_multisampled_render_to_texture */
1521 #ifndef GL_EXT_multisampled_render_to_texture
1522 #define GL_EXT_multisampled_render_to_texture 1
1523 #ifdef GL_GLEXT_PROTOTYPES
1524 GL_APICALL
void GL_APIENTRY
glRenderbufferStorageMultisampleEXT (GLenum
, GLsizei
, GLenum
, GLsizei
, GLsizei
);
1525 GL_APICALL
void GL_APIENTRY
glFramebufferTexture2DMultisampleEXT (GLenum
, GLenum
, GLenum
, GLuint
, GLint
, GLsizei
);
1527 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC
) (GLenum target
, GLsizei samples
, GLenum internalformat
, GLsizei width
, GLsizei height
);
1528 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC
) (GLenum target
, GLenum attachment
, GLenum textarget
, GLuint texture
, GLint level
, GLsizei samples
);
1531 /* GL_EXT_multiview_draw_buffers */
1532 #ifndef GL_EXT_multiview_draw_buffers
1533 #define GL_EXT_multiview_draw_buffers 1
1534 #ifdef GL_GLEXT_PROTOTYPES
1535 GL_APICALL
void GL_APIENTRY
glReadBufferIndexedEXT (GLenum src
, GLint index
);
1536 GL_APICALL
void GL_APIENTRY
glDrawBuffersIndexedEXT (GLint n
, const GLenum
*location
, const GLint
*indices
);
1537 GL_APICALL
void GL_APIENTRY
glGetIntegeri_vEXT (GLenum target
, GLuint index
, GLint
*data
);
1539 typedef void (GL_APIENTRYP PFNGLREADBUFFERINDEXEDEXTPROC
) (GLenum src
, GLint index
);
1540 typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSINDEXEDEXTPROC
) (GLint n
, const GLenum
*location
, const GLint
*indices
);
1541 typedef void (GL_APIENTRYP PFNGLGETINTEGERI_VEXTPROC
) (GLenum target
, GLuint index
, GLint
*data
);
1544 #ifndef GL_EXT_multi_draw_arrays
1545 #define GL_EXT_multi_draw_arrays 1
1546 #ifdef GL_GLEXT_PROTOTYPES
1547 GL_APICALL
void GL_APIENTRY
glMultiDrawArraysEXT (GLenum
, const GLint
*, const GLsizei
*, GLsizei
);
1548 GL_APICALL
void GL_APIENTRY
glMultiDrawElementsEXT (GLenum
, const GLsizei
*, GLenum
, const GLvoid
* *, GLsizei
);
1549 #endif /* GL_GLEXT_PROTOTYPES */
1550 typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC
) (GLenum mode
, const GLint
*first
, const GLsizei
*count
, GLsizei primcount
);
1551 typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC
) (GLenum mode
, const GLsizei
*count
, GLenum type
, const GLvoid
* *indices
, GLsizei primcount
);
1554 /* GL_EXT_occlusion_query_boolean */
1555 #ifndef GL_EXT_occlusion_query_boolean
1556 #define GL_EXT_occlusion_query_boolean 1
1557 #ifdef GL_GLEXT_PROTOTYPES
1558 GL_APICALL
void GL_APIENTRY
glGenQueriesEXT (GLsizei n
, GLuint
*ids
);
1559 GL_APICALL
void GL_APIENTRY
glDeleteQueriesEXT (GLsizei n
, const GLuint
*ids
);
1560 GL_APICALL GLboolean GL_APIENTRY
glIsQueryEXT (GLuint id
);
1561 GL_APICALL
void GL_APIENTRY
glBeginQueryEXT (GLenum target
, GLuint id
);
1562 GL_APICALL
void GL_APIENTRY
glEndQueryEXT (GLenum target
);
1563 GL_APICALL
void GL_APIENTRY
glGetQueryivEXT (GLenum target
, GLenum pname
, GLint
*params
);
1564 GL_APICALL
void GL_APIENTRY
glGetQueryObjectuivEXT (GLuint id
, GLenum pname
, GLuint
*params
);
1566 typedef void (GL_APIENTRYP PFNGLGENQUERIESEXTPROC
) (GLsizei n
, GLuint
*ids
);
1567 typedef void (GL_APIENTRYP PFNGLDELETEQUERIESEXTPROC
) (GLsizei n
, const GLuint
*ids
);
1568 typedef GLboolean (GL_APIENTRYP PFNGLISQUERYEXTPROC
) (GLuint id
);
1569 typedef void (GL_APIENTRYP PFNGLBEGINQUERYEXTPROC
) (GLenum target
, GLuint id
);
1570 typedef void (GL_APIENTRYP PFNGLENDQUERYEXTPROC
) (GLenum target
);
1571 typedef void (GL_APIENTRYP PFNGLGETQUERYIVEXTPROC
) (GLenum target
, GLenum pname
, GLint
*params
);
1572 typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVEXTPROC
) (GLuint id
, GLenum pname
, GLuint
*params
);
1575 /* GL_EXT_read_format_bgra */
1576 #ifndef GL_EXT_read_format_bgra
1577 #define GL_EXT_read_format_bgra 1
1580 /* GL_EXT_robustness */
1581 #ifndef GL_EXT_robustness
1582 #define GL_EXT_robustness 1
1583 #ifdef GL_GLEXT_PROTOTYPES
1584 GL_APICALL GLenum GL_APIENTRY
glGetGraphicsResetStatusEXT (void);
1585 GL_APICALL
void GL_APIENTRY
glReadnPixelsEXT (GLint x
, GLint y
, GLsizei width
, GLsizei height
, GLenum format
, GLenum type
, GLsizei bufSize
, void *data
);
1586 GL_APICALL
void GL_APIENTRY
glGetnUniformfvEXT (GLuint program
, GLint location
, GLsizei bufSize
, float *params
);
1587 GL_APICALL
void GL_APIENTRY
glGetnUniformivEXT (GLuint program
, GLint location
, GLsizei bufSize
, GLint
*params
);
1589 typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSEXTPROC
) (void);
1590 typedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC
) (GLint x
, GLint y
, GLsizei width
, GLsizei height
, GLenum format
, GLenum type
, GLsizei bufSize
, void *data
);
1591 typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC
) (GLuint program
, GLint location
, GLsizei bufSize
, float *params
);
1592 typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVEXTPROC
) (GLuint program
, GLint location
, GLsizei bufSize
, GLint
*params
);
1595 /* GL_EXT_separate_shader_objects */
1596 #ifndef GL_EXT_separate_shader_objects
1597 #define GL_EXT_separate_shader_objects 1
1598 #ifdef GL_GLEXT_PROTOTYPES
1599 GL_APICALL
void GL_APIENTRY
glUseProgramStagesEXT (GLuint pipeline
, GLbitfield stages
, GLuint program
);
1600 GL_APICALL
void GL_APIENTRY
glActiveShaderProgramEXT (GLuint pipeline
, GLuint program
);
1601 GL_APICALL GLuint GL_APIENTRY
glCreateShaderProgramvEXT (GLenum type
, GLsizei count
, const GLchar
**strings
);
1602 GL_APICALL
void GL_APIENTRY
glBindProgramPipelineEXT (GLuint pipeline
);
1603 GL_APICALL
void GL_APIENTRY
glDeleteProgramPipelinesEXT (GLsizei n
, const GLuint
*pipelines
);
1604 GL_APICALL
void GL_APIENTRY
glGenProgramPipelinesEXT (GLsizei n
, GLuint
*pipelines
);
1605 GL_APICALL GLboolean GL_APIENTRY
glIsProgramPipelineEXT (GLuint pipeline
);
1606 GL_APICALL
void GL_APIENTRY
glProgramParameteriEXT (GLuint program
, GLenum pname
, GLint value
);
1607 GL_APICALL
void GL_APIENTRY
glGetProgramPipelineivEXT (GLuint pipeline
, GLenum pname
, GLint
*params
);
1608 GL_APICALL
void GL_APIENTRY
glProgramUniform1iEXT (GLuint program
, GLint location
, GLint x
);
1609 GL_APICALL
void GL_APIENTRY
glProgramUniform2iEXT (GLuint program
, GLint location
, GLint x
, GLint y
);
1610 GL_APICALL
void GL_APIENTRY
glProgramUniform3iEXT (GLuint program
, GLint location
, GLint x
, GLint y
, GLint z
);
1611 GL_APICALL
void GL_APIENTRY
glProgramUniform4iEXT (GLuint program
, GLint location
, GLint x
, GLint y
, GLint z
, GLint w
);
1612 GL_APICALL
void GL_APIENTRY
glProgramUniform1fEXT (GLuint program
, GLint location
, GLfloat x
);
1613 GL_APICALL
void GL_APIENTRY
glProgramUniform2fEXT (GLuint program
, GLint location
, GLfloat x
, GLfloat y
);
1614 GL_APICALL
void GL_APIENTRY
glProgramUniform3fEXT (GLuint program
, GLint location
, GLfloat x
, GLfloat y
, GLfloat z
);
1615 GL_APICALL
void GL_APIENTRY
glProgramUniform4fEXT (GLuint program
, GLint location
, GLfloat x
, GLfloat y
, GLfloat z
, GLfloat w
);
1616 GL_APICALL
void GL_APIENTRY
glProgramUniform1ivEXT (GLuint program
, GLint location
, GLsizei count
, const GLint
*value
);
1617 GL_APICALL
void GL_APIENTRY
glProgramUniform2ivEXT (GLuint program
, GLint location
, GLsizei count
, const GLint
*value
);
1618 GL_APICALL
void GL_APIENTRY
glProgramUniform3ivEXT (GLuint program
, GLint location
, GLsizei count
, const GLint
*value
);
1619 GL_APICALL
void GL_APIENTRY
glProgramUniform4ivEXT (GLuint program
, GLint location
, GLsizei count
, const GLint
*value
);
1620 GL_APICALL
void GL_APIENTRY
glProgramUniform1fvEXT (GLuint program
, GLint location
, GLsizei count
, const GLfloat
*value
);
1621 GL_APICALL
void GL_APIENTRY
glProgramUniform2fvEXT (GLuint program
, GLint location
, GLsizei count
, const GLfloat
*value
);
1622 GL_APICALL
void GL_APIENTRY
glProgramUniform3fvEXT (GLuint program
, GLint location
, GLsizei count
, const GLfloat
*value
);
1623 GL_APICALL
void GL_APIENTRY
glProgramUniform4fvEXT (GLuint program
, GLint location
, GLsizei count
, const GLfloat
*value
);
1624 GL_APICALL
void GL_APIENTRY
glProgramUniformMatrix2fvEXT (GLuint program
, GLint location
, GLsizei count
, GLboolean transpose
, const GLfloat
*value
);
1625 GL_APICALL
void GL_APIENTRY
glProgramUniformMatrix3fvEXT (GLuint program
, GLint location
, GLsizei count
, GLboolean transpose
, const GLfloat
*value
);
1626 GL_APICALL
void GL_APIENTRY
glProgramUniformMatrix4fvEXT (GLuint program
, GLint location
, GLsizei count
, GLboolean transpose
, const GLfloat
*value
);
1627 GL_APICALL
void GL_APIENTRY
glValidateProgramPipelineEXT (GLuint pipeline
);
1628 GL_APICALL
void GL_APIENTRY
glGetProgramPipelineInfoLogEXT (GLuint pipeline
, GLsizei bufSize
, GLsizei
*length
, GLchar
*infoLog
);
1630 typedef void (GL_APIENTRYP PFNGLUSEPROGRAMSTAGESEXTPROC
) (GLuint pipeline
, GLbitfield stages
, GLuint program
);
1631 typedef void (GL_APIENTRYP PFNGLACTIVESHADERPROGRAMEXTPROC
) (GLuint pipeline
, GLuint program
);
1632 typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROGRAMVEXTPROC
) (GLenum type
, GLsizei count
, const GLchar
**strings
);
1633 typedef void (GL_APIENTRYP PFNGLBINDPROGRAMPIPELINEEXTPROC
) (GLuint pipeline
);
1634 typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPIPELINESEXTPROC
) (GLsizei n
, const GLuint
*pipelines
);
1635 typedef void (GL_APIENTRYP PFNGLGENPROGRAMPIPELINESEXTPROC
) (GLsizei n
, GLuint
*pipelines
);
1636 typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPIPELINEEXTPROC
) (GLuint pipeline
);
1637 typedef void (GL_APIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC
) (GLuint program
, GLenum pname
, GLint value
);
1638 typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEIVEXTPROC
) (GLuint pipeline
, GLenum pname
, GLint
*params
);
1639 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC
) (GLuint program
, GLint location
, GLint x
);
1640 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC
) (GLuint program
, GLint location
, GLint x
, GLint y
);
1641 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC
) (GLuint program
, GLint location
, GLint x
, GLint y
, GLint z
);
1642 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC
) (GLuint program
, GLint location
, GLint x
, GLint y
, GLint z
, GLint w
);
1643 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC
) (GLuint program
, GLint location
, GLfloat x
);
1644 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC
) (GLuint program
, GLint location
, GLfloat x
, GLfloat y
);
1645 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC
) (GLuint program
, GLint location
, GLfloat x
, GLfloat y
, GLfloat z
);
1646 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC
) (GLuint program
, GLint location
, GLfloat x
, GLfloat y
, GLfloat z
, GLfloat w
);
1647 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC
) (GLuint program
, GLint location
, GLsizei count
, const GLint
*value
);
1648 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC
) (GLuint program
, GLint location
, GLsizei count
, const GLint
*value
);
1649 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC
) (GLuint program
, GLint location
, GLsizei count
, const GLint
*value
);
1650 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC
) (GLuint program
, GLint location
, GLsizei count
, const GLint
*value
);
1651 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC
) (GLuint program
, GLint location
, GLsizei count
, const GLfloat
*value
);
1652 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC
) (GLuint program
, GLint location
, GLsizei count
, const GLfloat
*value
);
1653 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC
) (GLuint program
, GLint location
, GLsizei count
, const GLfloat
*value
);
1654 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC
) (GLuint program
, GLint location
, GLsizei count
, const GLfloat
*value
);
1655 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC
) (GLuint program
, GLint location
, GLsizei count
, GLboolean transpose
, const GLfloat
*value
);
1656 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC
) (GLuint program
, GLint location
, GLsizei count
, GLboolean transpose
, const GLfloat
*value
);
1657 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC
) (GLuint program
, GLint location
, GLsizei count
, GLboolean transpose
, const GLfloat
*value
);
1658 typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEEXTPROC
) (GLuint pipeline
);
1659 typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC
) (GLuint pipeline
, GLsizei bufSize
, GLsizei
*length
, GLchar
*infoLog
);
1662 /* GL_EXT_shader_framebuffer_fetch */
1663 #ifndef GL_EXT_shader_framebuffer_fetch
1664 #define GL_EXT_shader_framebuffer_fetch 1
1667 /* GL_EXT_shader_texture_lod */
1668 #ifndef GL_EXT_shader_texture_lod
1669 #define GL_EXT_shader_texture_lod 1
1672 /* GL_EXT_shadow_samplers */
1673 #ifndef GL_EXT_shadow_samplers
1674 #define GL_EXT_shadow_samplers 1
1679 #define GL_EXT_sRGB 1
1682 /* GL_EXT_texture_compression_dxt1 */
1683 #ifndef GL_EXT_texture_compression_dxt1
1684 #define GL_EXT_texture_compression_dxt1 1
1687 /* GL_EXT_texture_filter_anisotropic */
1688 #ifndef GL_EXT_texture_filter_anisotropic
1689 #define GL_EXT_texture_filter_anisotropic 1
1692 /* GL_EXT_texture_format_BGRA8888 */
1693 #ifndef GL_EXT_texture_format_BGRA8888
1694 #define GL_EXT_texture_format_BGRA8888 1
1697 /* GL_EXT_texture_rg */
1698 #ifndef GL_EXT_texture_rg
1699 #define GL_EXT_texture_rg 1
1702 /* GL_EXT_texture_storage */
1703 #ifndef GL_EXT_texture_storage
1704 #define GL_EXT_texture_storage 1
1705 #ifdef GL_GLEXT_PROTOTYPES
1706 GL_APICALL
void GL_APIENTRY
glTexStorage1DEXT (GLenum target
, GLsizei levels
, GLenum internalformat
, GLsizei width
);
1707 GL_APICALL
void GL_APIENTRY
glTexStorage2DEXT (GLenum target
, GLsizei levels
, GLenum internalformat
, GLsizei width
, GLsizei height
);
1708 GL_APICALL
void GL_APIENTRY
glTexStorage3DEXT (GLenum target
, GLsizei levels
, GLenum internalformat
, GLsizei width
, GLsizei height
, GLsizei depth
);
1709 GL_APICALL
void GL_APIENTRY
glTextureStorage1DEXT (GLuint texture
, GLenum target
, GLsizei levels
, GLenum internalformat
, GLsizei width
);
1710 GL_APICALL
void GL_APIENTRY
glTextureStorage2DEXT (GLuint texture
, GLenum target
, GLsizei levels
, GLenum internalformat
, GLsizei width
, GLsizei height
);
1711 GL_APICALL
void GL_APIENTRY
glTextureStorage3DEXT (GLuint texture
, GLenum target
, GLsizei levels
, GLenum internalformat
, GLsizei width
, GLsizei height
, GLsizei depth
);
1713 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE1DEXTPROC
) (GLenum target
, GLsizei levels
, GLenum internalformat
, GLsizei width
);
1714 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DEXTPROC
) (GLenum target
, GLsizei levels
, GLenum internalformat
, GLsizei width
, GLsizei height
);
1715 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DEXTPROC
) (GLenum target
, GLsizei levels
, GLenum internalformat
, GLsizei width
, GLsizei height
, GLsizei depth
);
1716 typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC
) (GLuint texture
, GLenum target
, GLsizei levels
, GLenum internalformat
, GLsizei width
);
1717 typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC
) (GLuint texture
, GLenum target
, GLsizei levels
, GLenum internalformat
, GLsizei width
, GLsizei height
);
1718 typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC
) (GLuint texture
, GLenum target
, GLsizei levels
, GLenum internalformat
, GLsizei width
, GLsizei height
, GLsizei depth
);
1721 /* GL_EXT_texture_type_2_10_10_10_REV */
1722 #ifndef GL_EXT_texture_type_2_10_10_10_REV
1723 #define GL_EXT_texture_type_2_10_10_10_REV 1
1726 /* GL_EXT_unpack_subimage */
1727 #ifndef GL_EXT_unpack_subimage
1728 #define GL_EXT_unpack_subimage 1
1731 /*------------------------------------------------------------------------*
1732 * DMP extension functions
1733 *------------------------------------------------------------------------*/
1735 /* GL_DMP_shader_binary */
1736 #ifndef GL_DMP_shader_binary
1737 #define GL_DMP_shader_binary 1
1740 /*------------------------------------------------------------------------*
1741 * FJ extension functions
1742 *------------------------------------------------------------------------*/
1744 /* GL_FJ_shader_binary_GCCSO */
1745 #ifndef GL_FJ_shader_binary_GCCSO
1746 #define GL_FJ_shader_binary_GCCSO 1
1749 /*------------------------------------------------------------------------*
1750 * IMG extension functions
1751 *------------------------------------------------------------------------*/
1753 /* GL_IMG_program_binary */
1754 #ifndef GL_IMG_program_binary
1755 #define GL_IMG_program_binary 1
1758 /* GL_IMG_read_format */
1759 #ifndef GL_IMG_read_format
1760 #define GL_IMG_read_format 1
1763 /* GL_IMG_shader_binary */
1764 #ifndef GL_IMG_shader_binary
1765 #define GL_IMG_shader_binary 1
1768 /* GL_IMG_texture_compression_pvrtc */
1769 #ifndef GL_IMG_texture_compression_pvrtc
1770 #define GL_IMG_texture_compression_pvrtc 1
1773 /* GL_IMG_texture_compression_pvrtc2 */
1774 #ifndef GL_IMG_texture_compression_pvrtc2
1775 #define GL_IMG_texture_compression_pvrtc2 1
1778 /* GL_IMG_multisampled_render_to_texture */
1779 #ifndef GL_IMG_multisampled_render_to_texture
1780 #define GL_IMG_multisampled_render_to_texture 1
1781 #ifdef GL_GLEXT_PROTOTYPES
1782 GL_APICALL
void GL_APIENTRY
glRenderbufferStorageMultisampleIMG (GLenum
, GLsizei
, GLenum
, GLsizei
, GLsizei
);
1783 GL_APICALL
void GL_APIENTRY
glFramebufferTexture2DMultisampleIMG (GLenum
, GLenum
, GLenum
, GLuint
, GLint
, GLsizei
);
1785 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC
) (GLenum target
, GLsizei samples
, GLenum internalformat
, GLsizei width
, GLsizei height
);
1786 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC
) (GLenum target
, GLenum attachment
, GLenum textarget
, GLuint texture
, GLint level
, GLsizei samples
);
1789 /*------------------------------------------------------------------------*
1790 * NV extension functions
1791 *------------------------------------------------------------------------*/
1793 /* GL_NV_coverage_sample */
1794 #ifndef GL_NV_coverage_sample
1795 #define GL_NV_coverage_sample 1
1796 #ifdef GL_GLEXT_PROTOTYPES
1797 GL_APICALL
void GL_APIENTRY
glCoverageMaskNV (GLboolean mask
);
1798 GL_APICALL
void GL_APIENTRY
glCoverageOperationNV (GLenum operation
);
1800 typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC
) (GLboolean mask
);
1801 typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC
) (GLenum operation
);
1804 /* GL_NV_depth_nonlinear */
1805 #ifndef GL_NV_depth_nonlinear
1806 #define GL_NV_depth_nonlinear 1
1809 /* GL_NV_draw_buffers */
1810 #ifndef GL_NV_draw_buffers
1811 #define GL_NV_draw_buffers 1
1812 #ifdef GL_GLEXT_PROTOTYPES
1813 GL_APICALL
void GL_APIENTRY
glDrawBuffersNV (GLsizei n
, const GLenum
*bufs
);
1815 typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSNVPROC
) (GLsizei n
, const GLenum
*bufs
);
1818 /* GL_NV_draw_instanced */
1819 #ifndef GL_NV_draw_instanced
1820 #define GL_NV_draw_instanced 1
1821 #ifdef GL_GLEXT_PROTOTYPES
1822 GL_APICALL
void GL_APIENTRY
glDrawArraysInstancedNV (GLenum mode
, GLint first
, GLsizei count
, GLsizei primcount
);
1823 GL_APICALL
void GL_APIENTRY
glDrawElementsInstancedNV (GLenum mode
, GLsizei count
, GLenum type
, const GLvoid
*indices
, GLsizei primcount
);
1825 typedef void (GL_APIENTRYP PFNDRAWARRAYSINSTANCEDNVPROC
) (GLenum mode
, GLint first
, GLsizei count
, GLsizei primcount
);
1826 typedef void (GL_APIENTRYP PFNDRAWELEMENTSINSTANCEDNVPROC
) (GLenum mode
, GLsizei count
, GLenum type
, const GLvoid
*indices
, GLsizei primcount
);
1829 /* GL_NV_fbo_color_attachments */
1830 #ifndef GL_NV_fbo_color_attachments
1831 #define GL_NV_fbo_color_attachments 1
1836 #define GL_NV_fence 1
1837 #ifdef GL_GLEXT_PROTOTYPES
1838 GL_APICALL
void GL_APIENTRY
glDeleteFencesNV (GLsizei
, const GLuint
*);
1839 GL_APICALL
void GL_APIENTRY
glGenFencesNV (GLsizei
, GLuint
*);
1840 GL_APICALL GLboolean GL_APIENTRY
glIsFenceNV (GLuint
);
1841 GL_APICALL GLboolean GL_APIENTRY
glTestFenceNV (GLuint
);
1842 GL_APICALL
void GL_APIENTRY
glGetFenceivNV (GLuint
, GLenum
, GLint
*);
1843 GL_APICALL
void GL_APIENTRY
glFinishFenceNV (GLuint
);
1844 GL_APICALL
void GL_APIENTRY
glSetFenceNV (GLuint
, GLenum
);
1846 typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC
) (GLsizei n
, const GLuint
*fences
);
1847 typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC
) (GLsizei n
, GLuint
*fences
);
1848 typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC
) (GLuint fence
);
1849 typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC
) (GLuint fence
);
1850 typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC
) (GLuint fence
, GLenum pname
, GLint
*params
);
1851 typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC
) (GLuint fence
);
1852 typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC
) (GLuint fence
, GLenum condition
);
1855 /* GL_NV_framebuffer_blit */
1856 #ifndef GL_NV_framebuffer_blit
1857 #define GL_NV_framebuffer_blit 1
1858 #ifdef GL_GLEXT_PROTOTYPES
1859 GL_APICALL
void GL_APIENTRY
glBlitFramebufferNV (int srcX0
, GLint srcY0
, GLint srcX1
, GLint srcY1
, GLint dstX0
, GLint dstY0
, GLint dstX1
, GLint dstY1
, GLbitfield mask
, GLenum filter
);
1861 typedef void (GL_APIENTRYP PFNBLITFRAMEBUFFERNVPROC
) (GLint srcX0
, GLint srcY0
, GLint srcX1
, GLint srcY1
, GLint dstX0
, GLint dstY0
, GLint dstX1
, GLint dstY1
, GLbitfield mask
, GLenum filter
);
1864 /* GL_NV_framebuffer_multisample */
1865 #ifndef GL_NV_framebuffer_multisample
1866 #define GL_NV_framebuffer_multisample 1
1867 #ifdef GL_GLEXT_PROTOTYPES
1868 GL_APICALL
void GL_APIENTRY
glRenderbufferStorageMultisampleNV ( GLenum target
, GLsizei samples
, GLenum internalformat
, GLsizei width
, GLsizei height
);
1870 typedef void (GL_APIENTRYP PFNRENDERBUFFERSTORAGEMULTISAMPLENVPROC
) ( GLenum target
, GLsizei samples
, GLenum internalformat
, GLsizei width
, GLsizei height
);
1873 /* GL_NV_generate_mipmap_sRGB */
1874 #ifndef GL_NV_generate_mipmap_sRGB
1875 #define GL_NV_generate_mipmap_sRGB 1
1878 /* GL_NV_instanced_arrays */
1879 #ifndef GL_NV_instanced_arrays
1880 #define GL_NV_instanced_arrays 1
1881 #ifdef GL_GLEXT_PROTOTYPES
1882 GL_APICALL
void GL_APIENTRY
glVertexAttribDivisorNV (GLuint index
, GLuint divisor
);
1884 typedef void (GL_APIENTRYP PFNVERTEXATTRIBDIVISORNVPROC
) (GLuint index
, GLuint divisor
);
1887 /* GL_NV_read_buffer */
1888 #ifndef GL_NV_read_buffer
1889 #define GL_NV_read_buffer 1
1890 #ifdef GL_GLEXT_PROTOTYPES
1891 GL_APICALL
void GL_APIENTRY
glReadBufferNV (GLenum mode
);
1893 typedef void (GL_APIENTRYP PFNGLREADBUFFERNVPROC
) (GLenum mode
);
1896 /* GL_NV_read_buffer_front */
1897 #ifndef GL_NV_read_buffer_front
1898 #define GL_NV_read_buffer_front 1
1901 /* GL_NV_read_depth */
1902 #ifndef GL_NV_read_depth
1903 #define GL_NV_read_depth 1
1906 /* GL_NV_read_depth_stencil */
1907 #ifndef GL_NV_read_depth_stencil
1908 #define GL_NV_read_depth_stencil 1
1911 /* GL_NV_read_stencil */
1912 #ifndef GL_NV_read_stencil
1913 #define GL_NV_read_stencil 1
1916 /* GL_NV_shadow_samplers_array */
1917 #ifndef GL_NV_shadow_samplers_array
1918 #define GL_NV_shadow_samplers_array 1
1921 /* GL_NV_shadow_samplers_cube */
1922 #ifndef GL_NV_shadow_samplers_cube
1923 #define GL_NV_shadow_samplers_cube 1
1926 /* GL_NV_sRGB_formats */
1927 #ifndef GL_NV_sRGB_formats
1928 #define GL_NV_sRGB_formats 1
1931 /* GL_NV_texture_border_clamp */
1932 #ifndef GL_NV_texture_border_clamp
1933 #define GL_NV_texture_border_clamp 1
1936 /* GL_NV_texture_compression_s3tc_update */
1937 #ifndef GL_NV_texture_compression_s3tc_update
1938 #define GL_NV_texture_compression_s3tc_update 1
1941 /* GL_NV_texture_npot_2D_mipmap */
1942 #ifndef GL_NV_texture_npot_2D_mipmap
1943 #define GL_NV_texture_npot_2D_mipmap 1
1946 /*------------------------------------------------------------------------*
1947 * QCOM extension functions
1948 *------------------------------------------------------------------------*/
1950 /* GL_QCOM_alpha_test */
1951 #ifndef GL_QCOM_alpha_test
1952 #define GL_QCOM_alpha_test 1
1953 #ifdef GL_GLEXT_PROTOTYPES
1954 GL_APICALL
void GL_APIENTRY
glAlphaFuncQCOM (GLenum func
, GLclampf ref
);
1956 typedef void (GL_APIENTRYP PFNGLALPHAFUNCQCOMPROC
) (GLenum func
, GLclampf ref
);
1959 /* GL_QCOM_binning_control */
1960 #ifndef GL_QCOM_binning_control
1961 #define GL_QCOM_binning_control 1
1964 /* GL_QCOM_driver_control */
1965 #ifndef GL_QCOM_driver_control
1966 #define GL_QCOM_driver_control 1
1967 #ifdef GL_GLEXT_PROTOTYPES
1968 GL_APICALL
void GL_APIENTRY
glGetDriverControlsQCOM (GLint
*num
, GLsizei size
, GLuint
*driverControls
);
1969 GL_APICALL
void GL_APIENTRY
glGetDriverControlStringQCOM (GLuint driverControl
, GLsizei bufSize
, GLsizei
*length
, GLchar
*driverControlString
);
1970 GL_APICALL
void GL_APIENTRY
glEnableDriverControlQCOM (GLuint driverControl
);
1971 GL_APICALL
void GL_APIENTRY
glDisableDriverControlQCOM (GLuint driverControl
);
1973 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC
) (GLint
*num
, GLsizei size
, GLuint
*driverControls
);
1974 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC
) (GLuint driverControl
, GLsizei bufSize
, GLsizei
*length
, GLchar
*driverControlString
);
1975 typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC
) (GLuint driverControl
);
1976 typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC
) (GLuint driverControl
);
1979 /* GL_QCOM_extended_get */
1980 #ifndef GL_QCOM_extended_get
1981 #define GL_QCOM_extended_get 1
1982 #ifdef GL_GLEXT_PROTOTYPES
1983 GL_APICALL
void GL_APIENTRY
glExtGetTexturesQCOM (GLuint
*textures
, GLint maxTextures
, GLint
*numTextures
);
1984 GL_APICALL
void GL_APIENTRY
glExtGetBuffersQCOM (GLuint
*buffers
, GLint maxBuffers
, GLint
*numBuffers
);
1985 GL_APICALL
void GL_APIENTRY
glExtGetRenderbuffersQCOM (GLuint
*renderbuffers
, GLint maxRenderbuffers
, GLint
*numRenderbuffers
);
1986 GL_APICALL
void GL_APIENTRY
glExtGetFramebuffersQCOM (GLuint
*framebuffers
, GLint maxFramebuffers
, GLint
*numFramebuffers
);
1987 GL_APICALL
void GL_APIENTRY
glExtGetTexLevelParameterivQCOM (GLuint texture
, GLenum face
, GLint level
, GLenum pname
, GLint
*params
);
1988 GL_APICALL
void GL_APIENTRY
glExtTexObjectStateOverrideiQCOM (GLenum target
, GLenum pname
, GLint param
);
1989 GL_APICALL
void GL_APIENTRY
glExtGetTexSubImageQCOM (GLenum target
, GLint level
, GLint xoffset
, GLint yoffset
, GLint zoffset
, GLsizei width
, GLsizei height
, GLsizei depth
, GLenum format
, GLenum type
, GLvoid
*texels
);
1990 GL_APICALL
void GL_APIENTRY
glExtGetBufferPointervQCOM (GLenum target
, GLvoid
**params
);
1992 typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC
) (GLuint
*textures
, GLint maxTextures
, GLint
*numTextures
);
1993 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC
) (GLuint
*buffers
, GLint maxBuffers
, GLint
*numBuffers
);
1994 typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC
) (GLuint
*renderbuffers
, GLint maxRenderbuffers
, GLint
*numRenderbuffers
);
1995 typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC
) (GLuint
*framebuffers
, GLint maxFramebuffers
, GLint
*numFramebuffers
);
1996 typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC
) (GLuint texture
, GLenum face
, GLint level
, GLenum pname
, GLint
*params
);
1997 typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC
) (GLenum target
, GLenum pname
, GLint param
);
1998 typedef void (GL_APIENTRYP PFNGLEXTGETTEXSUBIMAGEQCOMPROC
) (GLenum target
, GLint level
, GLint xoffset
, GLint yoffset
, GLint zoffset
, GLsizei width
, GLsizei height
, GLsizei depth
, GLenum format
, GLenum type
, GLvoid
*texels
);
1999 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC
) (GLenum target
, GLvoid
**params
);
2002 /* GL_QCOM_extended_get2 */
2003 #ifndef GL_QCOM_extended_get2
2004 #define GL_QCOM_extended_get2 1
2005 #ifdef GL_GLEXT_PROTOTYPES
2006 GL_APICALL
void GL_APIENTRY
glExtGetShadersQCOM (GLuint
*shaders
, GLint maxShaders
, GLint
*numShaders
);
2007 GL_APICALL
void GL_APIENTRY
glExtGetProgramsQCOM (GLuint
*programs
, GLint maxPrograms
, GLint
*numPrograms
);
2008 GL_APICALL GLboolean GL_APIENTRY
glExtIsProgramBinaryQCOM (GLuint program
);
2009 GL_APICALL
void GL_APIENTRY
glExtGetProgramBinarySourceQCOM (GLuint program
, GLenum shadertype
, GLchar
*source
, GLint
*length
);
2011 typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC
) (GLuint
*shaders
, GLint maxShaders
, GLint
*numShaders
);
2012 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC
) (GLuint
*programs
, GLint maxPrograms
, GLint
*numPrograms
);
2013 typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC
) (GLuint program
);
2014 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC
) (GLuint program
, GLenum shadertype
, GLchar
*source
, GLint
*length
);
2017 /* GL_QCOM_perfmon_global_mode */
2018 #ifndef GL_QCOM_perfmon_global_mode
2019 #define GL_QCOM_perfmon_global_mode 1
2022 /* GL_QCOM_writeonly_rendering */
2023 #ifndef GL_QCOM_writeonly_rendering
2024 #define GL_QCOM_writeonly_rendering 1
2027 /* GL_QCOM_tiled_rendering */
2028 #ifndef GL_QCOM_tiled_rendering
2029 #define GL_QCOM_tiled_rendering 1
2030 #ifdef GL_GLEXT_PROTOTYPES
2031 GL_APICALL
void GL_APIENTRY
glStartTilingQCOM (GLuint x
, GLuint y
, GLuint width
, GLuint height
, GLbitfield preserveMask
);
2032 GL_APICALL
void GL_APIENTRY
glEndTilingQCOM (GLbitfield preserveMask
);
2034 typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC
) (GLuint x
, GLuint y
, GLuint width
, GLuint height
, GLbitfield preserveMask
);
2035 typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC
) (GLbitfield preserveMask
);
2038 /*------------------------------------------------------------------------*
2039 * VIV extension tokens
2040 *------------------------------------------------------------------------*/
2042 /* GL_VIV_shader_binary */
2043 #ifndef GL_VIV_shader_binary
2044 #define GL_VIV_shader_binary 1
2051 #endif /* __gl2ext_h_ */