4 /* $Revision: 1.27 $ on $Date: 2011/01/27 11:32:21 $ */
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 /*------------------------------------------------------------------------*
20 * OES extension tokens
21 *------------------------------------------------------------------------*/
23 /* GL_OES_compressed_ETC1_RGB8_texture */
24 #ifndef GL_OES_compressed_ETC1_RGB8_texture
25 #define GL_ETC1_RGB8_OES 0x8D64
28 /* GL_OES_compressed_paletted_texture */
29 #ifndef GL_OES_compressed_paletted_texture
30 #define GL_PALETTE4_RGB8_OES 0x8B90
31 #define GL_PALETTE4_RGBA8_OES 0x8B91
32 #define GL_PALETTE4_R5_G6_B5_OES 0x8B92
33 #define GL_PALETTE4_RGBA4_OES 0x8B93
34 #define GL_PALETTE4_RGB5_A1_OES 0x8B94
35 #define GL_PALETTE8_RGB8_OES 0x8B95
36 #define GL_PALETTE8_RGBA8_OES 0x8B96
37 #define GL_PALETTE8_R5_G6_B5_OES 0x8B97
38 #define GL_PALETTE8_RGBA4_OES 0x8B98
39 #define GL_PALETTE8_RGB5_A1_OES 0x8B99
43 #ifndef GL_OES_depth24
44 #define GL_DEPTH_COMPONENT24_OES 0x81A6
48 #ifndef GL_OES_depth32
49 #define GL_DEPTH_COMPONENT32_OES 0x81A7
52 /* GL_OES_depth_texture */
53 /* No new tokens introduced by this extension. */
55 /* GL_OES_EGL_image */
56 #ifndef GL_OES_EGL_image
57 typedef void* GLeglImageOES;
60 /* GL_OES_EGL_image_external */
61 #ifndef GL_OES_EGL_image_external
62 /* GLeglImageOES defined in GL_OES_EGL_image already. */
63 #define GL_TEXTURE_EXTERNAL_OES 0x8D65
64 #define GL_SAMPLER_EXTERNAL_OES 0x8D66
65 #define GL_TEXTURE_BINDING_EXTERNAL_OES 0x8D67
66 #define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES 0x8D68
69 /* GL_OES_element_index_uint */
70 #ifndef GL_OES_element_index_uint
71 #define GL_UNSIGNED_INT 0x1405
74 /* GL_OES_get_program_binary */
75 #ifndef GL_OES_get_program_binary
76 #define GL_PROGRAM_BINARY_LENGTH_OES 0x8741
77 #define GL_NUM_PROGRAM_BINARY_FORMATS_OES 0x87FE
78 #define GL_PROGRAM_BINARY_FORMATS_OES 0x87FF
81 /* GL_OES_mapbuffer */
82 #ifndef GL_OES_mapbuffer
83 #define GL_WRITE_ONLY_OES 0x88B9
84 #define GL_BUFFER_ACCESS_OES 0x88BB
85 #define GL_BUFFER_MAPPED_OES 0x88BC
86 #define GL_BUFFER_MAP_POINTER_OES 0x88BD
89 /* GL_OES_packed_depth_stencil */
90 #ifndef GL_OES_packed_depth_stencil
91 #define GL_DEPTH_STENCIL_OES 0x84F9
92 #define GL_UNSIGNED_INT_24_8_OES 0x84FA
93 #define GL_DEPTH24_STENCIL8_OES 0x88F0
96 /* GL_OES_rgb8_rgba8 */
97 #ifndef GL_OES_rgb8_rgba8
98 #define GL_RGB8_OES 0x8051
99 #define GL_RGBA8_OES 0x8058
102 /* GL_OES_standard_derivatives */
103 #ifndef GL_OES_standard_derivatives
104 #define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES 0x8B8B
107 /* GL_OES_stencil1 */
108 #ifndef GL_OES_stencil1
109 #define GL_STENCIL_INDEX1_OES 0x8D46
112 /* GL_OES_stencil4 */
113 #ifndef GL_OES_stencil4
114 #define GL_STENCIL_INDEX4_OES 0x8D47
117 /* GL_OES_texture_3D */
118 #ifndef GL_OES_texture_3D
119 #define GL_TEXTURE_WRAP_R_OES 0x8072
120 #define GL_TEXTURE_3D_OES 0x806F
121 #define GL_TEXTURE_BINDING_3D_OES 0x806A
122 #define GL_MAX_3D_TEXTURE_SIZE_OES 0x8073
123 #define GL_SAMPLER_3D_OES 0x8B5F
124 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES 0x8CD4
127 /* GL_OES_texture_float */
128 /* No new tokens introduced by this extension. */
130 /* GL_OES_texture_float_linear */
131 /* No new tokens introduced by this extension. */
133 /* GL_OES_texture_half_float */
134 #ifndef GL_OES_texture_half_float
135 #define GL_HALF_FLOAT_OES 0x8D61
138 /* GL_OES_texture_half_float_linear */
139 /* No new tokens introduced by this extension. */
141 /* GL_OES_texture_npot */
142 /* No new tokens introduced by this extension. */
144 /* GL_OES_vertex_array_object */
145 #ifndef GL_OES_vertex_array_object
146 #define GL_VERTEX_ARRAY_BINDING_OES 0x85B5
149 /* GL_OES_vertex_half_float */
150 /* GL_HALF_FLOAT_OES defined in GL_OES_texture_half_float already. */
152 /* GL_OES_vertex_type_10_10_10_2 */
153 #ifndef GL_OES_vertex_type_10_10_10_2
154 #define GL_UNSIGNED_INT_10_10_10_2_OES 0x8DF6
155 #define GL_INT_10_10_10_2_OES 0x8DF7
158 /*------------------------------------------------------------------------*
159 * AMD extension tokens
160 *------------------------------------------------------------------------*/
162 /* GL_AMD_compressed_3DC_texture */
163 #ifndef GL_AMD_compressed_3DC_texture
164 #define GL_3DC_X_AMD 0x87F9
165 #define GL_3DC_XY_AMD 0x87FA
168 /* GL_AMD_compressed_ATC_texture */
169 #ifndef GL_AMD_compressed_ATC_texture
170 #define GL_ATC_RGB_AMD 0x8C92
171 #define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD 0x8C93
172 #define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87EE
175 /* GL_AMD_performance_monitor */
176 #ifndef GL_AMD_performance_monitor
177 #define GL_COUNTER_TYPE_AMD 0x8BC0
178 #define GL_COUNTER_RANGE_AMD 0x8BC1
179 #define GL_UNSIGNED_INT64_AMD 0x8BC2
180 #define GL_PERCENTAGE_AMD 0x8BC3
181 #define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8BC4
182 #define GL_PERFMON_RESULT_SIZE_AMD 0x8BC5
183 #define GL_PERFMON_RESULT_AMD 0x8BC6
186 /* GL_AMD_program_binary_Z400 */
187 #ifndef GL_AMD_program_binary_Z400
188 #define GL_Z400_BINARY_AMD 0x8740
191 /*------------------------------------------------------------------------*
192 * ANGLE extension tokens
193 *------------------------------------------------------------------------*/
195 /* GL_ANGLE_framebuffer_blit */
196 #ifndef GL_ANGLE_framebuffer_blit
197 #define GL_READ_FRAMEBUFFER_ANGLE 0x8CA8
198 #define GL_DRAW_FRAMEBUFFER_ANGLE 0x8CA9
199 #define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE 0x8CA6
200 #define GL_READ_FRAMEBUFFER_BINDING_ANGLE 0x8CAA
203 /* GL_ANGLE_framebuffer_multisample */
204 #ifndef GL_ANGLE_framebuffer_multisample
205 #define GL_RENDERBUFFER_SAMPLES_ANGLE 0x8CAB
206 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE 0x8D56
207 #define GL_MAX_SAMPLES_ANGLE 0x8D57
210 /*------------------------------------------------------------------------*
211 * APPLE extension tokens
212 *------------------------------------------------------------------------*/
214 /* GL_APPLE_rgb_422 */
215 #ifndef GL_APPLE_rgb_422
216 #define GL_RGB_422_APPLE 0x8A1F
217 #define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA
218 #define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB
221 /* GL_APPLE_framebuffer_multisample */
222 #ifndef GL_APPLE_framebuffer_multisample
223 #define GL_RENDERBUFFER_SAMPLES_APPLE 0x8CAB
224 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE 0x8D56
225 #define GL_MAX_SAMPLES_APPLE 0x8D57
226 #define GL_READ_FRAMEBUFFER_APPLE 0x8CA8
227 #define GL_DRAW_FRAMEBUFFER_APPLE 0x8CA9
228 #define GL_DRAW_FRAMEBUFFER_BINDING_APPLE 0x8CA6
229 #define GL_READ_FRAMEBUFFER_BINDING_APPLE 0x8CAA
232 /* GL_APPLE_texture_format_BGRA8888 */
233 #ifndef GL_APPLE_texture_format_BGRA8888
234 #define GL_BGRA_EXT 0x80E1
237 /* GL_APPLE_texture_max_level */
238 #ifndef GL_APPLE_texture_max_level
239 #define GL_TEXTURE_MAX_LEVEL_APPLE 0x813D
242 /*------------------------------------------------------------------------*
243 * ARM extension tokens
244 *------------------------------------------------------------------------*/
246 /* GL_ARM_mali_shader_binary */
247 #ifndef GL_ARM_mali_shader_binary
248 #define GL_MALI_SHADER_BINARY_ARM 0x8F60
252 /* No new tokens introduced by this extension. */
254 /*------------------------------------------------------------------------*
255 * EXT extension tokens
256 *------------------------------------------------------------------------*/
258 /* GL_EXT_blend_minmax */
259 #ifndef GL_EXT_blend_minmax
260 #define GL_MIN_EXT 0x8007
261 #define GL_MAX_EXT 0x8008
264 /* GL_EXT_discard_framebuffer */
265 #ifndef GL_EXT_discard_framebuffer
266 #define GL_COLOR_EXT 0x1800
267 #define GL_DEPTH_EXT 0x1801
268 #define GL_STENCIL_EXT 0x1802
271 /* GL_EXT_multi_draw_arrays */
272 /* No new tokens introduced by this extension. */
274 /* GL_EXT_read_format_bgra */
275 #ifndef GL_EXT_read_format_bgra
276 #define GL_BGRA_EXT 0x80E1
277 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT 0x8365
278 #define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT 0x8366
281 /* GL_EXT_texture_filter_anisotropic */
282 #ifndef GL_EXT_texture_filter_anisotropic
283 #define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE
284 #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
287 /* GL_EXT_texture_format_BGRA8888 */
288 #ifndef GL_EXT_texture_format_BGRA8888
289 #define GL_BGRA_EXT 0x80E1
292 /* GL_EXT_texture_type_2_10_10_10_REV */
293 #ifndef GL_EXT_texture_type_2_10_10_10_REV
294 #define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368
297 /* GL_EXT_texture_compression_dxt1 */
298 #ifndef GL_EXT_texture_compression_dxt1
299 #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0
300 #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1
303 /* GL_EXT_shader_texture_lod */
304 /* No new tokens introduced by this extension. */
306 /*------------------------------------------------------------------------*
307 * DMP extension tokens
308 *------------------------------------------------------------------------*/
310 /* GL_DMP_shader_binary */
311 #ifndef GL_DMP_shader_binary
312 #define GL_SHADER_BINARY_DMP 0x9250
315 /*------------------------------------------------------------------------*
316 * IMG extension tokens
317 *------------------------------------------------------------------------*/
319 /* GL_IMG_program_binary */
320 #ifndef GL_IMG_program_binary
321 #define GL_SGX_PROGRAM_BINARY_IMG 0x9130
324 /* GL_IMG_read_format */
325 #ifndef GL_IMG_read_format
326 #define GL_BGRA_IMG 0x80E1
327 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG 0x8365
330 /* GL_IMG_shader_binary */
331 #ifndef GL_IMG_shader_binary
332 #define GL_SGX_BINARY_IMG 0x8C0A
335 /* GL_IMG_texture_compression_pvrtc */
336 #ifndef GL_IMG_texture_compression_pvrtc
337 #define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00
338 #define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG 0x8C01
339 #define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02
340 #define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8C03
343 /* GL_IMG_multisampled_render_to_texture */
344 #ifndef GL_IMG_multisampled_render_to_texture
345 #define GL_RENDERBUFFER_SAMPLES_IMG 0x9133
346 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG 0x9134
347 #define GL_MAX_SAMPLES_IMG 0x9135
348 #define GL_TEXTURE_SAMPLES_IMG 0x9136
351 /* GL_IMG_texture_stream */
352 #ifndef GL_IMG_texture_stream
353 #define GL_TEXTURE_STREAM_IMG 0x8C0D
354 #define GL_TEXTURE_NUM_STREAM_DEVICES_IMG 0x8C0E
355 #define GL_TEXTURE_STREAM_DEVICE_WIDTH_IMG 0x8C0F
356 #define GL_TEXTURE_STREAM_DEVICE_HEIGHT_IMG 0x8EA0
357 #define GL_TEXTURE_STREAM_DEVICE_FORMAT_IMG 0x8EA1
358 #define GL_TEXTURE_STREAM_DEVICE_NUM_BUFFERS_IMG 0x8EA2
359 #define GL_TEXTURE_BINDING_STREAM_IMG 0x9131
360 #define GL_SAMPLER_STREAM_IMG 0x9132
363 /*------------------------------------------------------------------------*
364 * NV extension tokens
365 *------------------------------------------------------------------------*/
369 #define GL_ALL_COMPLETED_NV 0x84F2
370 #define GL_FENCE_STATUS_NV 0x84F3
371 #define GL_FENCE_CONDITION_NV 0x84F4
374 /* GL_NV_coverage_sample */
375 #ifndef GL_NV_coverage_sample
376 #define GL_COVERAGE_COMPONENT_NV 0x8ED0
377 #define GL_COVERAGE_COMPONENT4_NV 0x8ED1
378 #define GL_COVERAGE_ATTACHMENT_NV 0x8ED2
379 #define GL_COVERAGE_BUFFERS_NV 0x8ED3
380 #define GL_COVERAGE_SAMPLES_NV 0x8ED4
381 #define GL_COVERAGE_ALL_FRAGMENTS_NV 0x8ED5
382 #define GL_COVERAGE_EDGE_FRAGMENTS_NV 0x8ED6
383 #define GL_COVERAGE_AUTOMATIC_NV 0x8ED7
384 #define GL_COVERAGE_BUFFER_BIT_NV 0x8000
387 /* GL_NV_depth_nonlinear */
388 #ifndef GL_NV_depth_nonlinear
389 #define GL_DEPTH_COMPONENT16_NONLINEAR_NV 0x8E2C
392 /*------------------------------------------------------------------------*
393 * QCOM extension tokens
394 *------------------------------------------------------------------------*/
396 /* GL_QCOM_driver_control */
397 /* No new tokens introduced by this extension. */
399 /* GL_QCOM_extended_get */
400 #ifndef GL_QCOM_extended_get
401 #define GL_TEXTURE_WIDTH_QCOM 0x8BD2
402 #define GL_TEXTURE_HEIGHT_QCOM 0x8BD3
403 #define GL_TEXTURE_DEPTH_QCOM 0x8BD4
404 #define GL_TEXTURE_INTERNAL_FORMAT_QCOM 0x8BD5
405 #define GL_TEXTURE_FORMAT_QCOM 0x8BD6
406 #define GL_TEXTURE_TYPE_QCOM 0x8BD7
407 #define GL_TEXTURE_IMAGE_VALID_QCOM 0x8BD8
408 #define GL_TEXTURE_NUM_LEVELS_QCOM 0x8BD9
409 #define GL_TEXTURE_TARGET_QCOM 0x8BDA
410 #define GL_TEXTURE_OBJECT_VALID_QCOM 0x8BDB
411 #define GL_STATE_RESTORE 0x8BDC
414 /* GL_QCOM_extended_get2 */
415 /* No new tokens introduced by this extension. */
417 /* GL_QCOM_perfmon_global_mode */
418 #ifndef GL_QCOM_perfmon_global_mode
419 #define GL_PERFMON_GLOBAL_MODE_QCOM 0x8FA0
422 /* GL_QCOM_writeonly_rendering */
423 #ifndef GL_QCOM_writeonly_rendering
424 #define GL_WRITEONLY_RENDERING_QCOM 0x8823
427 /* GL_QCOM_tiled_rendering */
428 #ifndef GL_QCOM_tiled_rendering
429 #define GL_COLOR_BUFFER_BIT0_QCOM 0x00000001
430 #define GL_COLOR_BUFFER_BIT1_QCOM 0x00000002
431 #define GL_COLOR_BUFFER_BIT2_QCOM 0x00000004
432 #define GL_COLOR_BUFFER_BIT3_QCOM 0x00000008
433 #define GL_COLOR_BUFFER_BIT4_QCOM 0x00000010
434 #define GL_COLOR_BUFFER_BIT5_QCOM 0x00000020
435 #define GL_COLOR_BUFFER_BIT6_QCOM 0x00000040
436 #define GL_COLOR_BUFFER_BIT7_QCOM 0x00000080
437 #define GL_DEPTH_BUFFER_BIT0_QCOM 0x00000100
438 #define GL_DEPTH_BUFFER_BIT1_QCOM 0x00000200
439 #define GL_DEPTH_BUFFER_BIT2_QCOM 0x00000400
440 #define GL_DEPTH_BUFFER_BIT3_QCOM 0x00000800
441 #define GL_DEPTH_BUFFER_BIT4_QCOM 0x00001000
442 #define GL_DEPTH_BUFFER_BIT5_QCOM 0x00002000
443 #define GL_DEPTH_BUFFER_BIT6_QCOM 0x00004000
444 #define GL_DEPTH_BUFFER_BIT7_QCOM 0x00008000
445 #define GL_STENCIL_BUFFER_BIT0_QCOM 0x00010000
446 #define GL_STENCIL_BUFFER_BIT1_QCOM 0x00020000
447 #define GL_STENCIL_BUFFER_BIT2_QCOM 0x00040000
448 #define GL_STENCIL_BUFFER_BIT3_QCOM 0x00080000
449 #define GL_STENCIL_BUFFER_BIT4_QCOM 0x00100000
450 #define GL_STENCIL_BUFFER_BIT5_QCOM 0x00200000
451 #define GL_STENCIL_BUFFER_BIT6_QCOM 0x00400000
452 #define GL_STENCIL_BUFFER_BIT7_QCOM 0x00800000
453 #define GL_MULTISAMPLE_BUFFER_BIT0_QCOM 0x01000000
454 #define GL_MULTISAMPLE_BUFFER_BIT1_QCOM 0x02000000
455 #define GL_MULTISAMPLE_BUFFER_BIT2_QCOM 0x04000000
456 #define GL_MULTISAMPLE_BUFFER_BIT3_QCOM 0x08000000
457 #define GL_MULTISAMPLE_BUFFER_BIT4_QCOM 0x10000000
458 #define GL_MULTISAMPLE_BUFFER_BIT5_QCOM 0x20000000
459 #define GL_MULTISAMPLE_BUFFER_BIT6_QCOM 0x40000000
460 #define GL_MULTISAMPLE_BUFFER_BIT7_QCOM 0x80000000
463 /*------------------------------------------------------------------------*
464 * VIV extension tokens
465 *------------------------------------------------------------------------*/
467 /* GL_VIV_shader_binary */
468 #ifndef GL_VIV_shader_binary
469 #define GL_SHADER_BINARY_VIV 0x8FC4
472 /*------------------------------------------------------------------------*
473 * End of extension tokens, start of corresponding extension functions
474 *------------------------------------------------------------------------*/
476 /*------------------------------------------------------------------------*
477 * OES extension functions
478 *------------------------------------------------------------------------*/
480 /* GL_OES_compressed_ETC1_RGB8_texture */
481 #ifndef GL_OES_compressed_ETC1_RGB8_texture
482 #define GL_OES_compressed_ETC1_RGB8_texture 1
485 /* GL_OES_compressed_paletted_texture */
486 #ifndef GL_OES_compressed_paletted_texture
487 #define GL_OES_compressed_paletted_texture 1
491 #ifndef GL_OES_depth24
492 #define GL_OES_depth24 1
496 #ifndef GL_OES_depth32
497 #define GL_OES_depth32 1
500 /* GL_OES_depth_texture */
501 #ifndef GL_OES_depth_texture
502 #define GL_OES_depth_texture 1
505 /* GL_OES_EGL_image */
506 #ifndef GL_OES_EGL_image
507 #define GL_OES_EGL_image 1
508 #ifdef GL_GLEXT_PROTOTYPES
509 GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
510 GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
512 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
513 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
516 /* GL_OES_EGL_image_external */
517 #ifndef GL_OES_EGL_image_external
518 #define GL_OES_EGL_image_external 1
519 /* glEGLImageTargetTexture2DOES defined in GL_OES_EGL_image already. */
522 /* GL_OES_element_index_uint */
523 #ifndef GL_OES_element_index_uint
524 #define GL_OES_element_index_uint 1
527 /* GL_OES_fbo_render_mipmap */
528 #ifndef GL_OES_fbo_render_mipmap
529 #define GL_OES_fbo_render_mipmap 1
532 /* GL_OES_fragment_precision_high */
533 #ifndef GL_OES_fragment_precision_high
534 #define GL_OES_fragment_precision_high 1
537 /* GL_OES_get_program_binary */
538 #ifndef GL_OES_get_program_binary
539 #define GL_OES_get_program_binary 1
540 #ifdef GL_GLEXT_PROTOTYPES
541 GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
542 GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
544 typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
545 typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
548 /* GL_OES_mapbuffer */
549 #ifndef GL_OES_mapbuffer
550 #define GL_OES_mapbuffer 1
551 #ifdef GL_GLEXT_PROTOTYPES
552 GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
553 GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
554 GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid** params);
556 typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
557 typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
558 typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid** params);
561 /* GL_OES_packed_depth_stencil */
562 #ifndef GL_OES_packed_depth_stencil
563 #define GL_OES_packed_depth_stencil 1
566 /* GL_OES_rgb8_rgba8 */
567 #ifndef GL_OES_rgb8_rgba8
568 #define GL_OES_rgb8_rgba8 1
571 /* GL_OES_standard_derivatives */
572 #ifndef GL_OES_standard_derivatives
573 #define GL_OES_standard_derivatives 1
576 /* GL_OES_stencil1 */
577 #ifndef GL_OES_stencil1
578 #define GL_OES_stencil1 1
581 /* GL_OES_stencil4 */
582 #ifndef GL_OES_stencil4
583 #define GL_OES_stencil4 1
586 /* GL_OES_texture_3D */
587 #ifndef GL_OES_texture_3D
588 #define GL_OES_texture_3D 1
589 #ifdef GL_GLEXT_PROTOTYPES
590 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);
591 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);
592 GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
593 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);
594 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);
595 GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
597 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);
598 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);
599 typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
600 typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
601 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);
602 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOES) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
605 /* GL_OES_texture_float */
606 #ifndef GL_OES_texture_float
607 #define GL_OES_texture_float 1
610 /* GL_OES_texture_float_linear */
611 #ifndef GL_OES_texture_float_linear
612 #define GL_OES_texture_float_linear 1
615 /* GL_OES_texture_half_float */
616 #ifndef GL_OES_texture_half_float
617 #define GL_OES_texture_half_float 1
620 /* GL_OES_texture_half_float_linear */
621 #ifndef GL_OES_texture_half_float_linear
622 #define GL_OES_texture_half_float_linear 1
625 /* GL_OES_texture_npot */
626 #ifndef GL_OES_texture_npot
627 #define GL_OES_texture_npot 1
630 /* GL_OES_vertex_array_object */
631 #ifndef GL_OES_vertex_array_object
632 #define GL_OES_vertex_array_object 1
633 #ifdef GL_GLEXT_PROTOTYPES
634 GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array);
635 GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays);
636 GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays);
637 GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array);
639 typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array);
640 typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays);
641 typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays);
642 typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array);
645 /* GL_OES_vertex_half_float */
646 #ifndef GL_OES_vertex_half_float
647 #define GL_OES_vertex_half_float 1
650 /* GL_OES_vertex_type_10_10_10_2 */
651 #ifndef GL_OES_vertex_type_10_10_10_2
652 #define GL_OES_vertex_type_10_10_10_2 1
655 /*------------------------------------------------------------------------*
656 * AMD extension functions
657 *------------------------------------------------------------------------*/
659 /* GL_AMD_compressed_3DC_texture */
660 #ifndef GL_AMD_compressed_3DC_texture
661 #define GL_AMD_compressed_3DC_texture 1
664 /* GL_AMD_compressed_ATC_texture */
665 #ifndef GL_AMD_compressed_ATC_texture
666 #define GL_AMD_compressed_ATC_texture 1
669 /* AMD_performance_monitor */
670 #ifndef GL_AMD_performance_monitor
671 #define GL_AMD_performance_monitor 1
672 #ifdef GL_GLEXT_PROTOTYPES
673 GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
674 GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
675 GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
676 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
677 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
678 GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors);
679 GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors);
680 GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
681 GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor);
682 GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor);
683 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
685 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
686 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
687 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
688 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
689 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
690 typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
691 typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
692 typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
693 typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor);
694 typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);
695 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
698 /* GL_AMD_program_binary_Z400 */
699 #ifndef GL_AMD_program_binary_Z400
700 #define GL_AMD_program_binary_Z400 1
703 /*------------------------------------------------------------------------*
704 * ANGLE extension functions
705 *------------------------------------------------------------------------*/
707 /* GL_ANGLE_framebuffer_blit */
708 #ifndef GL_ANGLE_framebuffer_blit
709 #define GL_ANGLE_framebuffer_blit 1
710 #ifdef GL_GLEXT_PROTOTYPES
711 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);
713 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);
716 /* GL_ANGLE_framebuffer_multisample */
717 #ifndef GL_ANGLE_framebuffer_multisample
718 #define GL_ANGLE_framebuffer_multisample 1
719 #ifdef GL_GLEXT_PROTOTYPES
720 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
722 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
725 /*------------------------------------------------------------------------*
726 * APPLE extension functions
727 *------------------------------------------------------------------------*/
729 /* GL_APPLE_rgb_422 */
730 #ifndef GL_APPLE_rgb_422
731 #define GL_APPLE_rgb_422 1
734 /* GL_APPLE_framebuffer_multisample */
735 #ifndef GL_APPLE_framebuffer_multisample
736 #define GL_APPLE_framebuffer_multisample 1
737 #ifdef GL_GLEXT_PROTOTYPES
738 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
739 GL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void);
740 #endif /* GL_GLEXT_PROTOTYPES */
741 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
742 typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void);
745 /* GL_APPLE_texture_format_BGRA8888 */
746 #ifndef GL_APPLE_texture_format_BGRA8888
747 #define GL_APPLE_texture_format_BGRA8888 1
750 /* GL_APPLE_texture_max_level */
751 #ifndef GL_APPLE_texture_max_level
752 #define GL_APPLE_texture_max_level 1
755 /*------------------------------------------------------------------------*
756 * ARM extension functions
757 *------------------------------------------------------------------------*/
759 /* GL_ARM_mali_shader_binary */
760 #ifndef GL_ARM_mali_shader_binary
761 #define GL_ARM_mali_shader_binary 1
766 #define GL_ARM_rgba8 1
769 /*------------------------------------------------------------------------*
770 * EXT extension functions
771 *------------------------------------------------------------------------*/
773 /* GL_EXT_blend_minmax */
774 #ifndef GL_EXT_blend_minmax
775 #define GL_EXT_blend_minmax 1
778 /* GL_EXT_discard_framebuffer */
779 #ifndef GL_EXT_discard_framebuffer
780 #define GL_EXT_discard_framebuffer 1
781 #ifdef GL_GLEXT_PROTOTYPES
782 GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments);
784 typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
787 #ifndef GL_EXT_multi_draw_arrays
788 #define GL_EXT_multi_draw_arrays 1
789 #ifdef GL_GLEXT_PROTOTYPES
790 GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum, GLint *, GLsizei *, GLsizei);
791 GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei);
792 #endif /* GL_GLEXT_PROTOTYPES */
793 typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
794 typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
797 /* GL_EXT_read_format_bgra */
798 #ifndef GL_EXT_read_format_bgra
799 #define GL_EXT_read_format_bgra 1
802 /* GL_EXT_texture_filter_anisotropic */
803 #ifndef GL_EXT_texture_filter_anisotropic
804 #define GL_EXT_texture_filter_anisotropic 1
807 /* GL_EXT_texture_format_BGRA8888 */
808 #ifndef GL_EXT_texture_format_BGRA8888
809 #define GL_EXT_texture_format_BGRA8888 1
812 /* GL_EXT_texture_type_2_10_10_10_REV */
813 #ifndef GL_EXT_texture_type_2_10_10_10_REV
814 #define GL_EXT_texture_type_2_10_10_10_REV 1
817 /* GL_EXT_texture_compression_dxt1 */
818 #ifndef GL_EXT_texture_compression_dxt1
819 #define GL_EXT_texture_compression_dxt1 1
822 /* GL_EXT_shader_texture_lod */
823 #ifndef GL_EXT_shader_texture_lod
824 #define GL_EXT_shader_texture_lod 1
827 /*------------------------------------------------------------------------*
828 * DMP extension functions
829 *------------------------------------------------------------------------*/
831 /* GL_DMP_shader_binary */
832 #ifndef GL_DMP_shader_binary
833 #define GL_DMP_shader_binary 1
836 /*------------------------------------------------------------------------*
837 * IMG extension functions
838 *------------------------------------------------------------------------*/
840 /* GL_IMG_program_binary */
841 #ifndef GL_IMG_program_binary
842 #define GL_IMG_program_binary 1
845 /* GL_IMG_read_format */
846 #ifndef GL_IMG_read_format
847 #define GL_IMG_read_format 1
850 /* GL_IMG_shader_binary */
851 #ifndef GL_IMG_shader_binary
852 #define GL_IMG_shader_binary 1
855 /* GL_IMG_texture_compression_pvrtc */
856 #ifndef GL_IMG_texture_compression_pvrtc
857 #define GL_IMG_texture_compression_pvrtc 1
860 /* GL_IMG_multisampled_render_to_texture */
861 #ifndef GL_IMG_multisampled_render_to_texture
862 #define GL_IMG_multisampled_render_to_texture 1
863 #ifdef GL_GLEXT_PROTOTYPES
864 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
865 GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei);
867 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
868 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
871 /* GL_IMG_texture_stream */
872 #ifndef GL_IMG_texture_stream2
873 #define GL_IMG_texture_stream2 1
874 #ifdef GL_GLEXT_PROTOTYPES
875 GL_APICALL void GL_APIENTRY glTexBindStreamIMG(GLint device, GLint deviceoffset);
876 GL_APICALL void GL_APIENTRY glGetTexStreamDeviceAttributeivIMG(GLint device, GLenum pname, GLint *params);
877 GL_APICALL const GLubyte * GL_APIENTRY glGetTexStreamDeviceNameIMG(GLint device);
880 typedef void (GL_APIENTRYP PFNGLTEXBINDSTREAMIMGPROC) (GLint device, GLint deviceoffset);
881 typedef const GLubyte *(GL_APIENTRYP PFNGLGETTEXSTREAMDEVICENAMEIMGPROC) (GLenum target);
882 typedef void (GL_APIENTRYP PFNGLGETTEXSTREAMDEVICEATTRIBUTEIVIMGPROC) (GLenum target, GLenum pname, GLint *params);
886 /*------------------------------------------------------------------------*
887 * NV extension functions
888 *------------------------------------------------------------------------*/
892 #define GL_NV_fence 1
893 #ifdef GL_GLEXT_PROTOTYPES
894 GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei, const GLuint *);
895 GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei, GLuint *);
896 GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint);
897 GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint);
898 GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *);
899 GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint);
900 GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint, GLenum);
902 typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
903 typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
904 typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
905 typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
906 typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
907 typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
908 typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
911 /* GL_NV_coverage_sample */
912 #ifndef GL_NV_coverage_sample
913 #define GL_NV_coverage_sample 1
914 #ifdef GL_GLEXT_PROTOTYPES
915 GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask);
916 GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation);
918 typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask);
919 typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation);
922 /* GL_NV_depth_nonlinear */
923 #ifndef GL_NV_depth_nonlinear
924 #define GL_NV_depth_nonlinear 1
927 /*------------------------------------------------------------------------*
928 * QCOM extension functions
929 *------------------------------------------------------------------------*/
931 /* GL_QCOM_driver_control */
932 #ifndef GL_QCOM_driver_control
933 #define GL_QCOM_driver_control 1
934 #ifdef GL_GLEXT_PROTOTYPES
935 GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls);
936 GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
937 GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);
938 GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);
940 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls);
941 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
942 typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
943 typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
946 /* GL_QCOM_extended_get */
947 #ifndef GL_QCOM_extended_get
948 #define GL_QCOM_extended_get 1
949 #ifdef GL_GLEXT_PROTOTYPES
950 GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures);
951 GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
952 GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
953 GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
954 GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
955 GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param);
956 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);
957 GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params);
959 typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures);
960 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
961 typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
962 typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
963 typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
964 typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param);
965 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);
966 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params);
969 /* GL_QCOM_extended_get2 */
970 #ifndef GL_QCOM_extended_get2
971 #define GL_QCOM_extended_get2 1
972 #ifdef GL_GLEXT_PROTOTYPES
973 GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders);
974 GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
975 GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program);
976 GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
978 typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders);
979 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
980 typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program);
981 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
984 /* GL_QCOM_perfmon_global_mode */
985 #ifndef GL_QCOM_perfmon_global_mode
986 #define GL_QCOM_perfmon_global_mode 1
989 /* GL_QCOM_writeonly_rendering */
990 #ifndef GL_QCOM_writeonly_rendering
991 #define GL_QCOM_writeonly_rendering 1
994 /* GL_QCOM_tiled_rendering */
995 #ifndef GL_QCOM_tiled_rendering
996 #define GL_QCOM_tiled_rendering 1
997 #ifdef GL_GLEXT_PROTOTYPES
998 GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
999 GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask);
1001 typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
1002 typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask);
1005 /*------------------------------------------------------------------------*
1006 * VIV extension tokens
1007 *------------------------------------------------------------------------*/
1009 /* GL_VIV_shader_binary */
1010 #ifndef GL_VIV_shader_binary
1011 #define GL_VIV_shader_binary 1
1018 #endif /* __gl2ext_h_ */