gl2ext.h revision a3d66a834f7e6796003684652d8aef13fa6345cd
1#ifndef __gl2ext_h_
2#define __gl2ext_h_
3
4/* $Revision: 8271 $ on $Date:: 2009-05-21 09:33:40 -0700 #$ */
5
6#ifdef __cplusplus
7extern "C" {
8#endif
9
10/*
11 * This document is licensed under the SGI Free Software B License Version
12 * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ .
13 */
14
15#ifndef GL_APIENTRYP
16#   define GL_APIENTRYP GL_APIENTRY*
17#endif
18
19/*------------------------------------------------------------------------*
20 * OES extension tokens
21 *------------------------------------------------------------------------*/
22
23/* GL_OES_compressed_ETC1_RGB8_texture */
24#ifndef GL_OES_compressed_ETC1_RGB8_texture
25#define GL_ETC1_RGB8_OES                                        0x8D64
26#endif
27
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
40#endif
41
42/* GL_OES_depth24 */
43#ifndef GL_OES_depth24
44#define GL_DEPTH_COMPONENT24_OES                                0x81A6
45#endif
46
47/* GL_OES_depth32 */
48#ifndef GL_OES_depth32
49#define GL_DEPTH_COMPONENT32_OES                                0x81A7
50#endif
51
52/* GL_OES_depth_texture */
53/* No new tokens introduced by this extension. */
54
55/* GL_OES_EGL_image */
56#ifndef GL_OES_EGL_image
57typedef void* GLeglImageOES;
58#endif
59
60/* GL_OES_get_program_binary */
61#ifndef GL_OES_get_program_binary
62#define GL_PROGRAM_BINARY_LENGTH_OES                            0x8741
63#define GL_NUM_PROGRAM_BINARY_FORMATS_OES                       0x87FE
64#define GL_PROGRAM_BINARY_FORMATS_OES                           0x87FF
65#endif
66
67/* GL_OES_mapbuffer */
68#ifndef GL_OES_mapbuffer
69#define GL_WRITE_ONLY_OES                                       0x88B9
70#define GL_BUFFER_ACCESS_OES                                    0x88BB
71#define GL_BUFFER_MAPPED_OES                                    0x88BC
72#define GL_BUFFER_MAP_POINTER_OES                               0x88BD
73#endif
74
75/* GL_OES_packed_depth_stencil */
76#ifndef GL_OES_packed_depth_stencil
77#define GL_DEPTH_STENCIL_OES                                    0x84F9
78#define GL_UNSIGNED_INT_24_8_OES                                0x84FA
79#define GL_DEPTH24_STENCIL8_OES                                 0x88F0
80#endif
81
82/* GL_OES_rgb8_rgba8 */
83#ifndef GL_OES_rgb8_rgba8
84#define GL_RGB8_OES                                             0x8051
85#define GL_RGBA8_OES                                            0x8058
86#endif
87
88/* GL_OES_standard_derivatives */
89#ifndef GL_OES_standard_derivatives
90#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES                  0x8B8B
91#endif
92
93/* GL_OES_stencil1 */
94#ifndef GL_OES_stencil1
95#define GL_STENCIL_INDEX1_OES                                   0x8D46
96#endif
97
98/* GL_OES_stencil4 */
99#ifndef GL_OES_stencil4
100#define GL_STENCIL_INDEX4_OES                                   0x8D47
101#endif
102
103/* GL_OES_texture3D */
104#ifndef GL_OES_texture3D
105#define GL_TEXTURE_WRAP_R_OES                                   0x8072
106#define GL_TEXTURE_3D_OES                                       0x806F
107#define GL_TEXTURE_BINDING_3D_OES                               0x806A
108#define GL_MAX_3D_TEXTURE_SIZE_OES                              0x8073
109#define GL_SAMPLER_3D_OES                                       0x8B5F
110#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES        0x8CD4
111#endif
112
113/* GL_OES_texture_half_float */
114#ifndef GL_OES_texture_half_float
115#define GL_HALF_FLOAT_OES                                       0x8D61
116#endif
117
118/* GL_OES_vertex_half_float */
119/* GL_HALF_FLOAT_OES defined in GL_OES_texture_half_float already. */
120
121/* GL_OES_vertex_type_10_10_10_2 */
122#ifndef GL_OES_vertex_type_10_10_10_2
123#define GL_UNSIGNED_INT_10_10_10_2_OES                          0x8DF6
124#define GL_INT_10_10_10_2_OES                                   0x8DF7
125#endif
126
127/*------------------------------------------------------------------------*
128 * AMD extension tokens
129 *------------------------------------------------------------------------*/
130
131/* GL_AMD_compressed_3DC_texture */
132#ifndef GL_AMD_compressed_3DC_texture
133#define GL_3DC_X_AMD                                            0x87F9
134#define GL_3DC_XY_AMD                                           0x87FA
135#endif
136
137/* GL_AMD_compressed_ATC_texture */
138#ifndef GL_AMD_compressed_ATC_texture
139#define GL_ATC_RGB_AMD                                          0x8C92
140#define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD                          0x8C93
141#define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD                      0x87EE
142#endif
143
144/* GL_AMD_program_binary_Z400 */
145#ifndef GL_AMD_program_binary_Z400
146#define GL_Z400_BINARY_AMD                                      0x8740
147#endif
148
149/* GL_AMD_performance_monitor */
150#ifndef GL_AMD_performance_monitor
151#define GL_COUNTER_TYPE_AMD                                     0x8BC0
152#define GL_COUNTER_RANGE_AMD                                    0x8BC1
153#define GL_UNSIGNED_INT64_AMD                                   0x8BC2
154#define GL_PERCENTAGE_AMD                                       0x8BC3
155#define GL_PERFMON_RESULT_AVAILABLE_AMD                         0x8BC4
156#define GL_PERFMON_RESULT_SIZE_AMD                              0x8BC5
157#define GL_PERFMON_RESULT_AMD                                   0x8BC6
158#endif
159
160/*------------------------------------------------------------------------*
161 * EXT extension tokens
162 *------------------------------------------------------------------------*/
163
164/* GL_EXT_texture_filter_anisotropic */
165#ifndef GL_EXT_texture_filter_anisotropic
166#define GL_TEXTURE_MAX_ANISOTROPY_EXT                           0x84FE
167#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT                       0x84FF
168#endif
169
170/* GL_EXT_texture_type_2_10_10_10_REV */
171#ifndef GL_EXT_texture_type_2_10_10_10_REV
172#define GL_UNSIGNED_INT_2_10_10_10_REV_EXT                      0x8368
173#endif
174
175/* GL_EXT_texture_format_BGRA8888 */
176#ifndef GL_EXT_texture_format_BGRA8888
177#define GL_BGRA                                                 0x80E1
178#endif
179
180/*------------------------------------------------------------------------*
181 * IMG extension tokens
182 *------------------------------------------------------------------------*/
183
184/* GL_IMG_read_format */
185#ifndef GL_IMG_read_format
186#define GL_BGRA                                                 0x80E1
187#define GL_UNSIGNED_SHORT_4_4_4_4_REV                           0x8365
188#define GL_UNSIGNED_SHORT_1_5_5_5_REV                           0x8366
189#endif
190
191/* GL_IMG_texture_compression_pvrtc */
192#ifndef GL_IMG_texture_compression_pvrtc
193#define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG                      0x8C00
194#define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG                      0x8C01
195#define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG                     0x8C02
196#define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG                     0x8C03
197#endif
198
199/*------------------------------------------------------------------------*
200 * NV extension tokens
201 *------------------------------------------------------------------------*/
202
203/* GL_NV_fence */
204#ifndef GL_NV_fence
205#define GL_ALL_COMPLETED_NV                                     0x84F2
206#define GL_FENCE_STATUS_NV                                      0x84F3
207#define GL_FENCE_CONDITION_NV                                   0x84F4
208#endif
209
210/*------------------------------------------------------------------------*
211 * QCOM extension tokens
212 *------------------------------------------------------------------------*/
213
214/* GL_QCOM_driver_control */
215/* No new tokens introduced by this extension. */
216
217/* GL_QCOM_perfmon_global_mode */
218#ifndef GL_QCOM_perfmon_global_mode
219#define GL_PERFMON_GLOBAL_MODE_QCOM                             0x8FA0
220#endif
221
222/*------------------------------------------------------------------------*
223 * End of extension tokens, start of corresponding extension functions
224 *------------------------------------------------------------------------*/
225
226/*------------------------------------------------------------------------*
227 * OES extension functions
228 *------------------------------------------------------------------------*/
229
230/* GL_OES_compressed_ETC1_RGB8_texture */
231#ifndef GL_OES_compressed_ETC1_RGB8_texture
232#define GL_OES_compressed_ETC1_RGB8_texture 1
233#endif
234
235/* GL_OES_compressed_paletted_texture */
236#ifndef GL_OES_compressed_paletted_texture
237#define GL_OES_compressed_paletted_texture 1
238#endif
239
240/* GL_OES_EGL_image */
241#ifndef GL_OES_EGL_image
242#define GL_OES_EGL_image 1
243#ifdef GL_GLEXT_PROTOTYPES
244GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
245GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
246#endif
247typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
248typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
249#endif
250
251/* GL_OES_depth24 */
252#ifndef GL_OES_depth24
253#define GL_OES_depth24 1
254#endif
255
256/* GL_OES_depth32 */
257#ifndef GL_OES_depth32
258#define GL_OES_depth32 1
259#endif
260
261/* GL_OES_depth_texture */
262#ifndef GL_OES_depth_texture
263#define GL_OES_depth_texture 1
264#endif
265
266/* GL_OES_element_index_uint */
267#ifndef GL_OES_element_index_uint
268#define GL_OES_element_index_uint 1
269#endif
270
271/* GL_OES_fbo_render_mipmap */
272#ifndef GL_OES_fbo_render_mipmap
273#define GL_OES_fbo_render_mipmap 1
274#endif
275
276/* GL_OES_fragment_precision_high */
277#ifndef GL_OES_fragment_precision_high
278#define GL_OES_fragment_precision_high 1
279#endif
280
281/* GL_OES_get_program_binary */
282#ifndef GL_OES_get_program_binary
283#define GL_OES_get_program_binary 1
284#ifdef GL_GLEXT_PROTOTYPES
285GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);
286GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const void *binary, GLint length);
287#endif
288typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);
289typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const void *binary, GLint length);
290#endif
291
292/* GL_OES_mapbuffer */
293#ifndef GL_OES_mapbuffer
294#define GL_OES_mapbuffer 1
295#ifdef GL_GLEXT_PROTOTYPES
296GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
297GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
298GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, void** params);
299#endif
300typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
301typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
302typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, void** params);
303#endif
304
305/* GL_OES_packed_depth_stencil */
306#ifndef GL_OES_packed_depth_stencil
307#define GL_OES_packed_depth_stencil 1
308#endif
309
310/* GL_OES_rgb8_rgba8 */
311#ifndef GL_OES_rgb8_rgba8
312#define GL_OES_rgb8_rgba8 1
313#endif
314
315/* GL_OES_standard_derivatives */
316#ifndef GL_OES_standard_derivatives
317#define GL_OES_standard_derivatives 1
318#endif
319
320/* GL_OES_stencil1 */
321#ifndef GL_OES_stencil1
322#define GL_OES_stencil1 1
323#endif
324
325/* GL_OES_stencil4 */
326#ifndef GL_OES_stencil4
327#define GL_OES_stencil4 1
328#endif
329
330/* GL_OES_texture_3D */
331#ifndef GL_OES_texture_3D
332#define GL_OES_texture_3D 1
333#ifdef GL_GLEXT_PROTOTYPES
334GL_APICALL void GL_APIENTRY glTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void* pixels);
335GL_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 void* pixels);
336GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
337GL_APICALL void GL_APIENTRY glCompressedTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void* data);
338GL_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 void* data);
339GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
340#endif
341typedef 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);
342typedef 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 void* pixels);
343typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
344typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void* data);
345typedef 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 void* data);
346typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOES) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
347#endif
348
349/* GL_OES_texture_float_linear */
350#ifndef GL_OES_texture_float_linear
351#define GL_OES_texture_float_linear 1
352#endif
353
354/* GL_OES_texture_half_float_linear */
355#ifndef GL_OES_texture_half_float_linear
356#define GL_OES_texture_half_float_linear 1
357#endif
358
359/* GL_OES_texture_float */
360#ifndef GL_OES_texture_float
361#define GL_OES_texture_float 1
362#endif
363
364/* GL_OES_texture_half_float */
365#ifndef GL_OES_texture_half_float
366#define GL_OES_texture_half_float 1
367#endif
368
369/* GL_OES_texture_npot */
370#ifndef GL_OES_texture_npot
371#define GL_OES_texture_npot 1
372#endif
373
374/* GL_OES_vertex_half_float */
375#ifndef GL_OES_vertex_half_float
376#define GL_OES_vertex_half_float 1
377#endif
378
379/* GL_OES_vertex_type_10_10_10_2 */
380#ifndef GL_OES_vertex_type_10_10_10_2
381#define GL_OES_vertex_type_10_10_10_2 1
382#endif
383
384/*------------------------------------------------------------------------*
385 * AMD extension functions
386 *------------------------------------------------------------------------*/
387
388/* GL_AMD_compressed_3DC_texture */
389#ifndef GL_AMD_compressed_3DC_texture
390#define GL_AMD_compressed_3DC_texture 1
391#endif
392
393/* GL_AMD_compressed_ATC_texture */
394#ifndef GL_AMD_compressed_ATC_texture
395#define GL_AMD_compressed_ATC_texture 1
396#endif
397
398/* GL_AMD_program_binary_Z400 */
399#ifndef GL_AMD_program_binary_Z400
400#define GL_AMD_program_binary_Z400 1
401#endif
402
403/* AMD_performance_monitor */
404#ifndef GL_AMD_performance_monitor
405#define GL_AMD_performance_monitor 1
406#ifdef GL_GLEXT_PROTOTYPES
407GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
408GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
409GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, char *groupString);
410GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, char *counterString);
411GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, void *data);
412GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors);
413GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors);
414GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
415GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor);
416GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor);
417GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
418#endif
419typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
420typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
421typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, char *groupString);
422typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, char *counterString);
423typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, void *data);
424typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
425typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
426typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
427typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor);
428typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);
429typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
430#endif
431
432/*------------------------------------------------------------------------*
433 * EXT extension functions
434 *------------------------------------------------------------------------*/
435
436/* GL_EXT_texture_filter_anisotropic */
437#ifndef GL_EXT_texture_filter_anisotropic
438#define GL_EXT_texture_filter_anisotropic 1
439#endif
440
441/* GL_EXT_texture_type_2_10_10_10_REV */
442#ifndef GL_EXT_texture_type_2_10_10_10_REV
443#define GL_EXT_texture_type_2_10_10_10_REV 1
444#endif
445
446/* GL_EXT_texture_format_BGRA8888 */
447#ifndef GL_EXT_texture_format_BGRA8888
448#define GL_EXT_texture_format_BGRA8888 1
449#endif
450
451/*------------------------------------------------------------------------*
452 * IMG extension functions
453 *------------------------------------------------------------------------*/
454
455/* GL_IMG_read_format */
456#ifndef GL_IMG_read_format
457#define GL_IMG_read_format 1
458#endif
459
460/* GL_IMG_texture_compression_pvrtc */
461#ifndef GL_IMG_texture_compression_pvrtc
462#define GL_IMG_texture_compression_pvrtc 1
463#endif
464
465/*------------------------------------------------------------------------*
466 * NV extension functions
467 *------------------------------------------------------------------------*/
468
469/* GL_NV_fence */
470#ifndef GL_NV_fence
471#define GL_NV_fence 1
472#ifdef GL_GLEXT_PROTOTYPES
473GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei n, const GLuint *fences);
474GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei n, GLuint *fences);
475GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint fence);
476GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint fence);
477GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint fence, GLenum pname, GLint *params);
478GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint fence);
479GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint fence, GLenum condition);
480#endif
481typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
482typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
483typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
484typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
485typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
486typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
487typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
488#endif
489
490/*------------------------------------------------------------------------*
491 * QCOM extension functions
492 *------------------------------------------------------------------------*/
493
494/* GL_QCOM_driver_control */
495#ifndef GL_QCOM_driver_control
496#define GL_QCOM_driver_control 1
497#ifdef GL_GLEXT_PROTOTYPES
498GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls);
499GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, char *driverControlString);
500GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);
501GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);
502#endif
503typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls);
504typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, char *driverControlString);
505typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
506typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
507#endif
508
509/* GL_QCOM_perfmon_global_mode */
510#ifndef GL_QCOM_perfmon_global_mode
511#define GL_QCOM_perfmon_global_mode 1
512#endif
513
514#ifdef __cplusplus
515}
516#endif
517
518#endif /* __gl2ext_h_ */
519