4 /* $Revision: 10969 $ on $Date:: 2010-04-09 02:27:15 -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 /*------------------------------------------------------------------------*
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_element_index_uint */
61 #ifndef GL_OES_element_index_uint
62 #define GL_UNSIGNED_INT 0x1405
65 /* GL_OES_get_program_binary */
66 #ifndef GL_OES_get_program_binary
67 #define GL_PROGRAM_BINARY_LENGTH_OES 0x8741
68 #define GL_NUM_PROGRAM_BINARY_FORMATS_OES 0x87FE
69 #define GL_PROGRAM_BINARY_FORMATS_OES 0x87FF
72 /* GL_OES_mapbuffer */
73 #ifndef GL_OES_mapbuffer
74 #define GL_WRITE_ONLY_OES 0x88B9
75 #define GL_BUFFER_ACCESS_OES 0x88BB
76 #define GL_BUFFER_MAPPED_OES 0x88BC
77 #define GL_BUFFER_MAP_POINTER_OES 0x88BD
80 /* GL_OES_packed_depth_stencil */
81 #ifndef GL_OES_packed_depth_stencil
82 #define GL_DEPTH_STENCIL_OES 0x84F9
83 #define GL_UNSIGNED_INT_24_8_OES 0x84FA
84 #define GL_DEPTH24_STENCIL8_OES 0x88F0
87 /* GL_OES_rgb8_rgba8 */
88 #ifndef GL_OES_rgb8_rgba8
89 #define GL_RGB8_OES 0x8051
90 #define GL_RGBA8_OES 0x8058
93 /* GL_OES_standard_derivatives */
94 #ifndef GL_OES_standard_derivatives
95 #define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES 0x8B8B
99 #ifndef GL_OES_stencil1
100 #define GL_STENCIL_INDEX1_OES 0x8D46
103 /* GL_OES_stencil4 */
104 #ifndef GL_OES_stencil4
105 #define GL_STENCIL_INDEX4_OES 0x8D47
108 /* GL_OES_texture_3D */
109 #ifndef GL_OES_texture_3D
110 #define GL_TEXTURE_WRAP_R_OES 0x8072
111 #define GL_TEXTURE_3D_OES 0x806F
112 #define GL_TEXTURE_BINDING_3D_OES 0x806A
113 #define GL_MAX_3D_TEXTURE_SIZE_OES 0x8073
114 #define GL_SAMPLER_3D_OES 0x8B5F
115 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES 0x8CD4
118 /* GL_OES_texture_float */
119 /* No new tokens introduced by this extension. */
121 /* GL_OES_texture_float_linear */
122 /* No new tokens introduced by this extension. */
124 /* GL_OES_texture_half_float */
125 #ifndef GL_OES_texture_half_float
126 #define GL_HALF_FLOAT_OES 0x8D61
129 /* GL_OES_texture_half_float_linear */
130 /* No new tokens introduced by this extension. */
132 /* GL_OES_texture_npot */
133 /* No new tokens introduced by this extension. */
135 /* GL_OES_vertex_array_object */
136 #ifndef GL_OES_vertex_array_object
137 #define GL_VERTEX_ARRAY_BINDING_OES 0x85B5
140 /* GL_OES_vertex_half_float */
141 /* GL_HALF_FLOAT_OES defined in GL_OES_texture_half_float already. */
143 /* GL_OES_vertex_type_10_10_10_2 */
144 #ifndef GL_OES_vertex_type_10_10_10_2
145 #define GL_UNSIGNED_INT_10_10_10_2_OES 0x8DF6
146 #define GL_INT_10_10_10_2_OES 0x8DF7
149 /*------------------------------------------------------------------------*
150 * AMD extension tokens
151 *------------------------------------------------------------------------*/
153 /* GL_AMD_compressed_3DC_texture */
154 #ifndef GL_AMD_compressed_3DC_texture
155 #define GL_3DC_X_AMD 0x87F9
156 #define GL_3DC_XY_AMD 0x87FA
159 /* GL_AMD_compressed_ATC_texture */
160 #ifndef GL_AMD_compressed_ATC_texture
161 #define GL_ATC_RGB_AMD 0x8C92
162 #define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD 0x8C93
163 #define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87EE
166 /* GL_AMD_performance_monitor */
167 #ifndef GL_AMD_performance_monitor
168 #define GL_COUNTER_TYPE_AMD 0x8BC0
169 #define GL_COUNTER_RANGE_AMD 0x8BC1
170 #define GL_UNSIGNED_INT64_AMD 0x8BC2
171 #define GL_PERCENTAGE_AMD 0x8BC3
172 #define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8BC4
173 #define GL_PERFMON_RESULT_SIZE_AMD 0x8BC5
174 #define GL_PERFMON_RESULT_AMD 0x8BC6
177 /* GL_AMD_program_binary_Z400 */
178 #ifndef GL_AMD_program_binary_Z400
179 #define GL_Z400_BINARY_AMD 0x8740
182 /*------------------------------------------------------------------------*
183 * EXT extension tokens
184 *------------------------------------------------------------------------*/
186 /* GL_EXT_blend_minmax */
187 #ifndef GL_EXT_blend_minmax
188 #define GL_MIN_EXT 0x8007
189 #define GL_MAX_EXT 0x8008
192 /* GL_EXT_discard_framebuffer */
193 #ifndef GL_EXT_discard_framebuffer
194 #define GL_COLOR_EXT 0x1800
195 #define GL_DEPTH_EXT 0x1801
196 #define GL_STENCIL_EXT 0x1802
199 /* GL_EXT_multi_draw_arrays */
200 /* No new tokens introduced by this extension. */
202 /* GL_EXT_read_format_bgra */
203 #ifndef GL_EXT_read_format_bgra
204 #define GL_BGRA_EXT 0x80E1
205 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT 0x8365
206 #define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT 0x8366
209 /* GL_EXT_texture_filter_anisotropic */
210 #ifndef GL_EXT_texture_filter_anisotropic
211 #define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE
212 #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
215 /* GL_EXT_texture_format_BGRA8888 */
216 #ifndef GL_EXT_texture_format_BGRA8888
217 #define GL_BGRA_EXT 0x80E1
220 /* GL_EXT_texture_type_2_10_10_10_REV */
221 #ifndef GL_EXT_texture_type_2_10_10_10_REV
222 #define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368
225 /* GL_EXT_texture_compression_dxt1 */
226 #ifndef GL_EXT_texture_compression_dxt1
227 #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0
228 #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1
231 /*------------------------------------------------------------------------*
232 * IMG extension tokens
233 *------------------------------------------------------------------------*/
235 /* GL_IMG_program_binary */
236 #ifndef GL_IMG_program_binary
237 #define GL_SGX_PROGRAM_BINARY_IMG 0x9130
240 /* GL_IMG_read_format */
241 #ifndef GL_IMG_read_format
242 #define GL_BGRA_IMG 0x80E1
243 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG 0x8365
246 /* GL_IMG_shader_binary */
247 #ifndef GL_IMG_shader_binary
248 #define GL_SGX_BINARY_IMG 0x8C0A
251 /* GL_IMG_texture_compression_pvrtc */
252 #ifndef GL_IMG_texture_compression_pvrtc
253 #define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00
254 #define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG 0x8C01
255 #define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02
256 #define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8C03
259 /* GL_IMG_multisampled_render_to_texture */
260 #ifndef GL_IMG_multisampled_render_to_texture
261 #define GL_RENDERBUFFER_SAMPLES_IMG 0x9133
262 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG 0x9134
263 #define GL_MAX_SAMPLES_IMG 0x9135
264 #define GL_TEXTURE_SAMPLES_IMG 0x9136
267 /*------------------------------------------------------------------------*
268 * NV extension tokens
269 *------------------------------------------------------------------------*/
273 #define GL_ALL_COMPLETED_NV 0x84F2
274 #define GL_FENCE_STATUS_NV 0x84F3
275 #define GL_FENCE_CONDITION_NV 0x84F4
278 /* GL_NV_coverage_sample */
279 #ifndef GL_NV_coverage_sample
280 #define GL_COVERAGE_COMPONENT_NV 0x8ED0
281 #define GL_COVERAGE_COMPONENT4_NV 0x8ED1
282 #define GL_COVERAGE_ATTACHMENT_NV 0x8ED2
283 #define GL_COVERAGE_BUFFERS_NV 0x8ED3
284 #define GL_COVERAGE_SAMPLES_NV 0x8ED4
285 #define GL_COVERAGE_ALL_FRAGMENTS_NV 0x8ED5
286 #define GL_COVERAGE_EDGE_FRAGMENTS_NV 0x8ED6
287 #define GL_COVERAGE_AUTOMATIC_NV 0x8ED7
288 #define GL_COVERAGE_BUFFER_BIT_NV 0x8000
291 /* GL_NV_depth_nonlinear */
292 #ifndef GL_NV_depth_nonlinear
293 #define GL_DEPTH_COMPONENT16_NONLINEAR_NV 0x8E2C
296 /*------------------------------------------------------------------------*
297 * QCOM extension tokens
298 *------------------------------------------------------------------------*/
300 /* GL_QCOM_driver_control */
301 /* No new tokens introduced by this extension. */
303 /* GL_QCOM_extended_get */
304 #ifndef GL_QCOM_extended_get
305 #define GL_TEXTURE_WIDTH_QCOM 0x8BD2
306 #define GL_TEXTURE_HEIGHT_QCOM 0x8BD3
307 #define GL_TEXTURE_DEPTH_QCOM 0x8BD4
308 #define GL_TEXTURE_INTERNAL_FORMAT_QCOM 0x8BD5
309 #define GL_TEXTURE_FORMAT_QCOM 0x8BD6
310 #define GL_TEXTURE_TYPE_QCOM 0x8BD7
311 #define GL_TEXTURE_IMAGE_VALID_QCOM 0x8BD8
312 #define GL_TEXTURE_NUM_LEVELS_QCOM 0x8BD9
313 #define GL_TEXTURE_TARGET_QCOM 0x8BDA
314 #define GL_TEXTURE_OBJECT_VALID_QCOM 0x8BDB
315 #define GL_STATE_RESTORE 0x8BDC
318 /* GL_QCOM_extended_get2 */
319 /* No new tokens introduced by this extension. */
321 /* GL_QCOM_perfmon_global_mode */
322 #ifndef GL_QCOM_perfmon_global_mode
323 #define GL_PERFMON_GLOBAL_MODE_QCOM 0x8FA0
326 /* GL_QCOM_writeonly_rendering */
327 #ifndef GL_QCOM_writeonly_rendering
328 #define GL_WRITEONLY_RENDERING_QCOM 0x8823
331 /* GL_QCOM_tiled_rendering */
332 #ifndef GL_QCOM_tiled_rendering
333 #define GL_COLOR_BUFFER_BIT0_QCOM 0x00000001
334 #define GL_COLOR_BUFFER_BIT1_QCOM 0x00000002
335 #define GL_COLOR_BUFFER_BIT2_QCOM 0x00000004
336 #define GL_COLOR_BUFFER_BIT3_QCOM 0x00000008
337 #define GL_COLOR_BUFFER_BIT4_QCOM 0x00000010
338 #define GL_COLOR_BUFFER_BIT5_QCOM 0x00000020
339 #define GL_COLOR_BUFFER_BIT6_QCOM 0x00000040
340 #define GL_COLOR_BUFFER_BIT7_QCOM 0x00000080
341 #define GL_DEPTH_BUFFER_BIT0_QCOM 0x00000100
342 #define GL_DEPTH_BUFFER_BIT1_QCOM 0x00000200
343 #define GL_DEPTH_BUFFER_BIT2_QCOM 0x00000400
344 #define GL_DEPTH_BUFFER_BIT3_QCOM 0x00000800
345 #define GL_DEPTH_BUFFER_BIT4_QCOM 0x00001000
346 #define GL_DEPTH_BUFFER_BIT5_QCOM 0x00002000
347 #define GL_DEPTH_BUFFER_BIT6_QCOM 0x00004000
348 #define GL_DEPTH_BUFFER_BIT7_QCOM 0x00008000
349 #define GL_STENCIL_BUFFER_BIT0_QCOM 0x00010000
350 #define GL_STENCIL_BUFFER_BIT1_QCOM 0x00020000
351 #define GL_STENCIL_BUFFER_BIT2_QCOM 0x00040000
352 #define GL_STENCIL_BUFFER_BIT3_QCOM 0x00080000
353 #define GL_STENCIL_BUFFER_BIT4_QCOM 0x00100000
354 #define GL_STENCIL_BUFFER_BIT5_QCOM 0x00200000
355 #define GL_STENCIL_BUFFER_BIT6_QCOM 0x00400000
356 #define GL_STENCIL_BUFFER_BIT7_QCOM 0x00800000
357 #define GL_MULTISAMPLE_BUFFER_BIT0_QCOM 0x01000000
358 #define GL_MULTISAMPLE_BUFFER_BIT1_QCOM 0x02000000
359 #define GL_MULTISAMPLE_BUFFER_BIT2_QCOM 0x04000000
360 #define GL_MULTISAMPLE_BUFFER_BIT3_QCOM 0x08000000
361 #define GL_MULTISAMPLE_BUFFER_BIT4_QCOM 0x10000000
362 #define GL_MULTISAMPLE_BUFFER_BIT5_QCOM 0x20000000
363 #define GL_MULTISAMPLE_BUFFER_BIT6_QCOM 0x40000000
364 #define GL_MULTISAMPLE_BUFFER_BIT7_QCOM 0x80000000
367 /*------------------------------------------------------------------------*
368 * End of extension tokens, start of corresponding extension functions
369 *------------------------------------------------------------------------*/
371 /*------------------------------------------------------------------------*
372 * OES extension functions
373 *------------------------------------------------------------------------*/
375 /* GL_OES_compressed_ETC1_RGB8_texture */
376 #ifndef GL_OES_compressed_ETC1_RGB8_texture
377 #define GL_OES_compressed_ETC1_RGB8_texture 1
380 /* GL_OES_compressed_paletted_texture */
381 #ifndef GL_OES_compressed_paletted_texture
382 #define GL_OES_compressed_paletted_texture 1
386 #ifndef GL_OES_depth24
387 #define GL_OES_depth24 1
391 #ifndef GL_OES_depth32
392 #define GL_OES_depth32 1
395 /* GL_OES_depth_texture */
396 #ifndef GL_OES_depth_texture
397 #define GL_OES_depth_texture 1
400 /* GL_OES_EGL_image */
401 #ifndef GL_OES_EGL_image
402 #define GL_OES_EGL_image 1
403 #ifdef GL_GLEXT_PROTOTYPES
404 GL_APICALL
void GL_APIENTRY
glEGLImageTargetTexture2DOES (GLenum target
, GLeglImageOES image
);
405 GL_APICALL
void GL_APIENTRY
glEGLImageTargetRenderbufferStorageOES (GLenum target
, GLeglImageOES image
);
407 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC
) (GLenum target
, GLeglImageOES image
);
408 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC
) (GLenum target
, GLeglImageOES image
);
411 /* GL_OES_element_index_uint */
412 #ifndef GL_OES_element_index_uint
413 #define GL_OES_element_index_uint 1
416 /* GL_OES_fbo_render_mipmap */
417 #ifndef GL_OES_fbo_render_mipmap
418 #define GL_OES_fbo_render_mipmap 1
421 /* GL_OES_fragment_precision_high */
422 #ifndef GL_OES_fragment_precision_high
423 #define GL_OES_fragment_precision_high 1
426 /* GL_OES_get_program_binary */
427 #ifndef GL_OES_get_program_binary
428 #define GL_OES_get_program_binary 1
429 #ifdef GL_GLEXT_PROTOTYPES
430 GL_APICALL
void GL_APIENTRY
glGetProgramBinaryOES (GLuint program
, GLsizei bufSize
, GLsizei
*length
, GLenum
*binaryFormat
, GLvoid
*binary
);
431 GL_APICALL
void GL_APIENTRY
glProgramBinaryOES (GLuint program
, GLenum binaryFormat
, const GLvoid
*binary
, GLint length
);
433 typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC
) (GLuint program
, GLsizei bufSize
, GLsizei
*length
, GLenum
*binaryFormat
, GLvoid
*binary
);
434 typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC
) (GLuint program
, GLenum binaryFormat
, const GLvoid
*binary
, GLint length
);
437 /* GL_OES_mapbuffer */
438 #ifndef GL_OES_mapbuffer
439 #define GL_OES_mapbuffer 1
440 #ifdef GL_GLEXT_PROTOTYPES
441 GL_APICALL
void* GL_APIENTRY
glMapBufferOES (GLenum target
, GLenum access
);
442 GL_APICALL GLboolean GL_APIENTRY
glUnmapBufferOES (GLenum target
);
443 GL_APICALL
void GL_APIENTRY
glGetBufferPointervOES (GLenum target
, GLenum pname
, GLvoid
** params
);
445 typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC
) (GLenum target
, GLenum access
);
446 typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC
) (GLenum target
);
447 typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC
) (GLenum target
, GLenum pname
, GLvoid
** params
);
450 /* GL_OES_packed_depth_stencil */
451 #ifndef GL_OES_packed_depth_stencil
452 #define GL_OES_packed_depth_stencil 1
455 /* GL_OES_rgb8_rgba8 */
456 #ifndef GL_OES_rgb8_rgba8
457 #define GL_OES_rgb8_rgba8 1
460 /* GL_OES_standard_derivatives */
461 #ifndef GL_OES_standard_derivatives
462 #define GL_OES_standard_derivatives 1
465 /* GL_OES_stencil1 */
466 #ifndef GL_OES_stencil1
467 #define GL_OES_stencil1 1
470 /* GL_OES_stencil4 */
471 #ifndef GL_OES_stencil4
472 #define GL_OES_stencil4 1
475 /* GL_OES_texture_3D */
476 #ifndef GL_OES_texture_3D
477 #define GL_OES_texture_3D 1
478 #ifdef GL_GLEXT_PROTOTYPES
479 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
);
480 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
);
481 GL_APICALL
void GL_APIENTRY
glCopyTexSubImage3DOES (GLenum target
, GLint level
, GLint xoffset
, GLint yoffset
, GLint zoffset
, GLint x
, GLint y
, GLsizei width
, GLsizei height
);
482 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
);
483 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
);
484 GL_APICALL
void GL_APIENTRY
glFramebufferTexture3DOES (GLenum target
, GLenum attachment
, GLenum textarget
, GLuint texture
, GLint level
, GLint zoffset
);
486 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
);
487 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
);
488 typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC
) (GLenum target
, GLint level
, GLint xoffset
, GLint yoffset
, GLint zoffset
, GLint x
, GLint y
, GLsizei width
, GLsizei height
);
489 typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC
) (GLenum target
, GLint level
, GLenum internalformat
, GLsizei width
, GLsizei height
, GLsizei depth
, GLint border
, GLsizei imageSize
, const GLvoid
* data
);
490 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
);
491 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOES
) (GLenum target
, GLenum attachment
, GLenum textarget
, GLuint texture
, GLint level
, GLint zoffset
);
494 /* GL_OES_texture_float */
495 #ifndef GL_OES_texture_float
496 #define GL_OES_texture_float 1
499 /* GL_OES_texture_float_linear */
500 #ifndef GL_OES_texture_float_linear
501 #define GL_OES_texture_float_linear 1
504 /* GL_OES_texture_half_float */
505 #ifndef GL_OES_texture_half_float
506 #define GL_OES_texture_half_float 1
509 /* GL_OES_texture_half_float_linear */
510 #ifndef GL_OES_texture_half_float_linear
511 #define GL_OES_texture_half_float_linear 1
514 /* GL_OES_texture_npot */
515 #ifndef GL_OES_texture_npot
516 #define GL_OES_texture_npot 1
519 /* GL_OES_vertex_array_object */
520 #ifndef GL_OES_vertex_array_object
521 #define GL_OES_vertex_array_object 1
522 #ifdef GL_GLEXT_PROTOTYPES
523 GL_APICALL
void GL_APIENTRY
glBindVertexArrayOES (GLuint array
);
524 GL_APICALL
void GL_APIENTRY
glDeleteVertexArraysOES (GLsizei n
, const GLuint
*arrays
);
525 GL_APICALL
void GL_APIENTRY
glGenVertexArraysOES (GLsizei n
, GLuint
*arrays
);
526 GL_APICALL GLboolean GL_APIENTRY
glIsVertexArrayOES (GLuint array
);
528 typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC
) (GLuint array
);
529 typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC
) (GLsizei n
, const GLuint
*arrays
);
530 typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC
) (GLsizei n
, GLuint
*arrays
);
531 typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC
) (GLuint array
);
534 /* GL_OES_vertex_half_float */
535 #ifndef GL_OES_vertex_half_float
536 #define GL_OES_vertex_half_float 1
539 /* GL_OES_vertex_type_10_10_10_2 */
540 #ifndef GL_OES_vertex_type_10_10_10_2
541 #define GL_OES_vertex_type_10_10_10_2 1
544 /*------------------------------------------------------------------------*
545 * AMD extension functions
546 *------------------------------------------------------------------------*/
548 /* GL_AMD_compressed_3DC_texture */
549 #ifndef GL_AMD_compressed_3DC_texture
550 #define GL_AMD_compressed_3DC_texture 1
553 /* GL_AMD_compressed_ATC_texture */
554 #ifndef GL_AMD_compressed_ATC_texture
555 #define GL_AMD_compressed_ATC_texture 1
558 /* AMD_performance_monitor */
559 #ifndef GL_AMD_performance_monitor
560 #define GL_AMD_performance_monitor 1
561 #ifdef GL_GLEXT_PROTOTYPES
562 GL_APICALL
void GL_APIENTRY
glGetPerfMonitorGroupsAMD (GLint
*numGroups
, GLsizei groupsSize
, GLuint
*groups
);
563 GL_APICALL
void GL_APIENTRY
glGetPerfMonitorCountersAMD (GLuint group
, GLint
*numCounters
, GLint
*maxActiveCounters
, GLsizei counterSize
, GLuint
*counters
);
564 GL_APICALL
void GL_APIENTRY
glGetPerfMonitorGroupStringAMD (GLuint group
, GLsizei bufSize
, GLsizei
*length
, GLchar
*groupString
);
565 GL_APICALL
void GL_APIENTRY
glGetPerfMonitorCounterStringAMD (GLuint group
, GLuint counter
, GLsizei bufSize
, GLsizei
*length
, GLchar
*counterString
);
566 GL_APICALL
void GL_APIENTRY
glGetPerfMonitorCounterInfoAMD (GLuint group
, GLuint counter
, GLenum pname
, GLvoid
*data
);
567 GL_APICALL
void GL_APIENTRY
glGenPerfMonitorsAMD (GLsizei n
, GLuint
*monitors
);
568 GL_APICALL
void GL_APIENTRY
glDeletePerfMonitorsAMD (GLsizei n
, GLuint
*monitors
);
569 GL_APICALL
void GL_APIENTRY
glSelectPerfMonitorCountersAMD (GLuint monitor
, GLboolean enable
, GLuint group
, GLint numCounters
, GLuint
*countersList
);
570 GL_APICALL
void GL_APIENTRY
glBeginPerfMonitorAMD (GLuint monitor
);
571 GL_APICALL
void GL_APIENTRY
glEndPerfMonitorAMD (GLuint monitor
);
572 GL_APICALL
void GL_APIENTRY
glGetPerfMonitorCounterDataAMD (GLuint monitor
, GLenum pname
, GLsizei dataSize
, GLuint
*data
, GLint
*bytesWritten
);
574 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC
) (GLint
*numGroups
, GLsizei groupsSize
, GLuint
*groups
);
575 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC
) (GLuint group
, GLint
*numCounters
, GLint
*maxActiveCounters
, GLsizei counterSize
, GLuint
*counters
);
576 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC
) (GLuint group
, GLsizei bufSize
, GLsizei
*length
, GLchar
*groupString
);
577 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC
) (GLuint group
, GLuint counter
, GLsizei bufSize
, GLsizei
*length
, GLchar
*counterString
);
578 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC
) (GLuint group
, GLuint counter
, GLenum pname
, GLvoid
*data
);
579 typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC
) (GLsizei n
, GLuint
*monitors
);
580 typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC
) (GLsizei n
, GLuint
*monitors
);
581 typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC
) (GLuint monitor
, GLboolean enable
, GLuint group
, GLint numCounters
, GLuint
*countersList
);
582 typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC
) (GLuint monitor
);
583 typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC
) (GLuint monitor
);
584 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC
) (GLuint monitor
, GLenum pname
, GLsizei dataSize
, GLuint
*data
, GLint
*bytesWritten
);
587 /* GL_AMD_program_binary_Z400 */
588 #ifndef GL_AMD_program_binary_Z400
589 #define GL_AMD_program_binary_Z400 1
592 /*------------------------------------------------------------------------*
593 * EXT extension functions
594 *------------------------------------------------------------------------*/
596 /* GL_EXT_blend_minmax */
597 #ifndef GL_EXT_blend_minmax
598 #define GL_EXT_blend_minmax 1
601 /* GL_EXT_discard_framebuffer */
602 #ifndef GL_EXT_discard_framebuffer
603 #define GL_EXT_discard_framebuffer 1
604 #ifdef GL_GLEXT_PROTOTYPES
605 GL_APICALL
void GL_APIENTRY
glDiscardFramebufferEXT (GLenum target
, GLsizei numAttachments
, const GLenum
*attachments
);
607 typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC
) (GLenum target
, GLsizei numAttachments
, const GLenum
*attachments
);
610 #ifndef GL_EXT_multi_draw_arrays
611 #define GL_EXT_multi_draw_arrays 1
612 #ifdef GL_GLEXT_PROTOTYPES
613 GL_APICALL
void GL_APIENTRY
glMultiDrawArraysEXT (GLenum
, GLint
*, GLsizei
*, GLsizei
);
614 GL_APICALL
void GL_APIENTRY
glMultiDrawElementsEXT (GLenum
, const GLsizei
*, GLenum
, const GLvoid
* *, GLsizei
);
615 #endif /* GL_GLEXT_PROTOTYPES */
616 typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC
) (GLenum mode
, GLint
*first
, GLsizei
*count
, GLsizei primcount
);
617 typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC
) (GLenum mode
, const GLsizei
*count
, GLenum type
, const GLvoid
* *indices
, GLsizei primcount
);
620 /* GL_EXT_read_format_bgra */
621 #ifndef GL_EXT_read_format_bgra
622 #define GL_EXT_read_format_bgra 1
625 /* GL_EXT_texture_filter_anisotropic */
626 #ifndef GL_EXT_texture_filter_anisotropic
627 #define GL_EXT_texture_filter_anisotropic 1
630 /* GL_EXT_texture_format_BGRA8888 */
631 #ifndef GL_EXT_texture_format_BGRA8888
632 #define GL_EXT_texture_format_BGRA8888 1
635 /* GL_EXT_texture_type_2_10_10_10_REV */
636 #ifndef GL_EXT_texture_type_2_10_10_10_REV
637 #define GL_EXT_texture_type_2_10_10_10_REV 1
640 /* GL_EXT_texture_compression_dxt1 */
641 #ifndef GL_EXT_texture_compression_dxt1
642 #define GL_EXT_texture_compression_dxt1 1
645 /*------------------------------------------------------------------------*
646 * IMG extension functions
647 *------------------------------------------------------------------------*/
649 /* GL_IMG_program_binary */
650 #ifndef GL_IMG_program_binary
651 #define GL_IMG_program_binary 1
654 /* GL_IMG_read_format */
655 #ifndef GL_IMG_read_format
656 #define GL_IMG_read_format 1
659 /* GL_IMG_shader_binary */
660 #ifndef GL_IMG_shader_binary
661 #define GL_IMG_shader_binary 1
664 /* GL_IMG_texture_compression_pvrtc */
665 #ifndef GL_IMG_texture_compression_pvrtc
666 #define GL_IMG_texture_compression_pvrtc 1
669 /* GL_IMG_multisampled_render_to_texture */
670 #ifndef GL_IMG_multisampled_render_to_texture
671 #define GL_IMG_multisampled_render_to_texture 1
672 #ifdef GL_GLEXT_PROTOTYPES
673 GL_APICALL
void GL_APIENTRY
glRenderbufferStorageMultisampleIMG (GLenum
, GLsizei
, GLenum
, GLsizei
, GLsizei
);
674 GL_APICALL
void GL_APIENTRY
glFramebufferTexture2DMultisampleIMG (GLenum
, GLenum
, GLenum
, GLuint
, GLint
, GLsizei
);
676 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMG
) (GLenum target
, GLsizei samples
, GLenum internalformat
, GLsizei width
, GLsizei height
);
677 typedef void (GL_APIENTRYP PFNGLCLIPPLANEXIMG
) (GLenum target
, GLenum attachment
, GLenum textarget
, GLuint texture
, GLint level
, GLsizei samples
);
680 /*------------------------------------------------------------------------*
681 * NV extension functions
682 *------------------------------------------------------------------------*/
686 #define GL_NV_fence 1
687 #ifdef GL_GLEXT_PROTOTYPES
688 GL_APICALL
void GL_APIENTRY
glDeleteFencesNV (GLsizei
, const GLuint
*);
689 GL_APICALL
void GL_APIENTRY
glGenFencesNV (GLsizei
, GLuint
*);
690 GL_APICALL GLboolean GL_APIENTRY
glIsFenceNV (GLuint
);
691 GL_APICALL GLboolean GL_APIENTRY
glTestFenceNV (GLuint
);
692 GL_APICALL
void GL_APIENTRY
glGetFenceivNV (GLuint
, GLenum
, GLint
*);
693 GL_APICALL
void GL_APIENTRY
glFinishFenceNV (GLuint
);
694 GL_APICALL
void GL_APIENTRY
glSetFenceNV (GLuint
, GLenum
);
696 typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC
) (GLsizei n
, const GLuint
*fences
);
697 typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC
) (GLsizei n
, GLuint
*fences
);
698 typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC
) (GLuint fence
);
699 typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC
) (GLuint fence
);
700 typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC
) (GLuint fence
, GLenum pname
, GLint
*params
);
701 typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC
) (GLuint fence
);
702 typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC
) (GLuint fence
, GLenum condition
);
705 /* GL_NV_coverage_sample */
706 #ifndef GL_NV_coverage_sample
707 #define GL_NV_coverage_sample 1
708 #ifdef GL_GLEXT_PROTOTYPES
709 GL_APICALL
void GL_APIENTRY
glCoverageMaskNV (GLboolean mask
);
710 GL_APICALL
void GL_APIENTRY
glCoverageOperationNV (GLenum operation
);
712 typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC
) (GLboolean mask
);
713 typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC
) (GLenum operation
);
716 /* GL_NV_depth_nonlinear */
717 #ifndef GL_NV_depth_nonlinear
718 #define GL_NV_depth_nonlinear 1
721 /*------------------------------------------------------------------------*
722 * QCOM extension functions
723 *------------------------------------------------------------------------*/
725 /* GL_QCOM_driver_control */
726 #ifndef GL_QCOM_driver_control
727 #define GL_QCOM_driver_control 1
728 #ifdef GL_GLEXT_PROTOTYPES
729 GL_APICALL
void GL_APIENTRY
glGetDriverControlsQCOM (GLint
*num
, GLsizei size
, GLuint
*driverControls
);
730 GL_APICALL
void GL_APIENTRY
glGetDriverControlStringQCOM (GLuint driverControl
, GLsizei bufSize
, GLsizei
*length
, GLchar
*driverControlString
);
731 GL_APICALL
void GL_APIENTRY
glEnableDriverControlQCOM (GLuint driverControl
);
732 GL_APICALL
void GL_APIENTRY
glDisableDriverControlQCOM (GLuint driverControl
);
734 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC
) (GLint
*num
, GLsizei size
, GLuint
*driverControls
);
735 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC
) (GLuint driverControl
, GLsizei bufSize
, GLsizei
*length
, GLchar
*driverControlString
);
736 typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC
) (GLuint driverControl
);
737 typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC
) (GLuint driverControl
);
740 /* GL_QCOM_extended_get */
741 #ifndef GL_QCOM_extended_get
742 #define GL_QCOM_extended_get 1
743 #ifdef GL_GLEXT_PROTOTYPES
744 GL_APICALL
void GL_APIENTRY
glExtGetTexturesQCOM (GLuint
*textures
, GLint maxTextures
, GLint
*numTextures
);
745 GL_APICALL
void GL_APIENTRY
glExtGetBuffersQCOM (GLuint
*buffers
, GLint maxBuffers
, GLint
*numBuffers
);
746 GL_APICALL
void GL_APIENTRY
glExtGetRenderbuffersQCOM (GLuint
*renderbuffers
, GLint maxRenderbuffers
, GLint
*numRenderbuffers
);
747 GL_APICALL
void GL_APIENTRY
glExtGetFramebuffersQCOM (GLuint
*framebuffers
, GLint maxFramebuffers
, GLint
*numFramebuffers
);
748 GL_APICALL
void GL_APIENTRY
glExtGetTexLevelParameterivQCOM (GLuint texture
, GLenum face
, GLint level
, GLenum pname
, GLint
*params
);
749 GL_APICALL
void GL_APIENTRY
glExtTexObjectStateOverrideiQCOM (GLenum target
, GLenum pname
, GLint param
);
750 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
);
751 GL_APICALL
void GL_APIENTRY
glExtGetBufferPointervQCOM (GLenum target
, GLvoid
**params
);
753 typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC
) (GLuint
*textures
, GLint maxTextures
, GLint
*numTextures
);
754 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC
) (GLuint
*buffers
, GLint maxBuffers
, GLint
*numBuffers
);
755 typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC
) (GLuint
*renderbuffers
, GLint maxRenderbuffers
, GLint
*numRenderbuffers
);
756 typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC
) (GLuint
*framebuffers
, GLint maxFramebuffers
, GLint
*numFramebuffers
);
757 typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC
) (GLuint texture
, GLenum face
, GLint level
, GLenum pname
, GLint
*params
);
758 typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC
) (GLenum target
, GLenum pname
, GLint param
);
759 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
);
760 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC
) (GLenum target
, GLvoid
**params
);
763 /* GL_QCOM_extended_get2 */
764 #ifndef GL_QCOM_extended_get2
765 #define GL_QCOM_extended_get2 1
766 #ifdef GL_GLEXT_PROTOTYPES
767 GL_APICALL
void GL_APIENTRY
glExtGetShadersQCOM (GLuint
*shaders
, GLint maxShaders
, GLint
*numShaders
);
768 GL_APICALL
void GL_APIENTRY
glExtGetProgramsQCOM (GLuint
*programs
, GLint maxPrograms
, GLint
*numPrograms
);
769 GL_APICALL GLboolean GL_APIENTRY
glExtIsProgramBinaryQCOM (GLuint program
);
770 GL_APICALL
void GL_APIENTRY
glExtGetProgramBinarySourceQCOM (GLuint program
, GLenum shadertype
, GLchar
*source
, GLint
*length
);
772 typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC
) (GLuint
*shaders
, GLint maxShaders
, GLint
*numShaders
);
773 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC
) (GLuint
*programs
, GLint maxPrograms
, GLint
*numPrograms
);
774 typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC
) (GLuint program
);
775 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC
) (GLuint program
, GLenum shadertype
, GLchar
*source
, GLint
*length
);
778 /* GL_QCOM_perfmon_global_mode */
779 #ifndef GL_QCOM_perfmon_global_mode
780 #define GL_QCOM_perfmon_global_mode 1
783 /* GL_QCOM_writeonly_rendering */
784 #ifndef GL_QCOM_writeonly_rendering
785 #define GL_QCOM_writeonly_rendering 1
788 /* GL_QCOM_tiled_rendering */
789 #ifndef GL_QCOM_tiled_rendering
790 #define GL_QCOM_tiled_rendering 1
791 #ifdef GL_GLEXT_PROTOTYPES
792 GL_APICALL
void GL_APIENTRY
glStartTilingQCOM (GLuint x
, GLuint y
, GLuint width
, GLuint height
, GLbitfield preserveMask
);
793 GL_APICALL
void GL_APIENTRY
glEndTilingQCOM (GLbitfield preserveMask
);
795 typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC
) (GLuint x
, GLuint y
, GLuint width
, GLuint height
, GLbitfield preserveMask
);
796 typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC
) (GLbitfield preserveMask
);
803 #endif /* __gl2ext_h_ */