blob: 9db4e252c559ae3b290ae11b7861112c31ff732e [file] [log] [blame]
Mathias Agopian48efd952009-05-27 20:31:18 -07001#ifndef __gl2ext_h_
2#define __gl2ext_h_
3
Mathias Agopian8f62c302010-06-09 18:08:15 -07004/* $Revision: 10969 $ on $Date:: 2010-04-09 02:27:15 -0700 #$ */
Mathias Agopian48efd952009-05-27 20:31:18 -07005
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
Mathias Agopian8f62c302010-06-09 18:08:15 -070060/* GL_OES_element_index_uint */
61#ifndef GL_OES_element_index_uint
62#define GL_UNSIGNED_INT 0x1405
63#endif
64
Mathias Agopian48efd952009-05-27 20:31:18 -070065/* 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
70#endif
71
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
78#endif
79
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
85#endif
86
87/* GL_OES_rgb8_rgba8 */
88#ifndef GL_OES_rgb8_rgba8
89#define GL_RGB8_OES 0x8051
90#define GL_RGBA8_OES 0x8058
91#endif
92
93/* GL_OES_standard_derivatives */
94#ifndef GL_OES_standard_derivatives
95#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES 0x8B8B
96#endif
97
98/* GL_OES_stencil1 */
99#ifndef GL_OES_stencil1
100#define GL_STENCIL_INDEX1_OES 0x8D46
101#endif
102
103/* GL_OES_stencil4 */
104#ifndef GL_OES_stencil4
105#define GL_STENCIL_INDEX4_OES 0x8D47
106#endif
107
Mathias Agopian8f62c302010-06-09 18:08:15 -0700108/* GL_OES_texture_3D */
109#ifndef GL_OES_texture_3D
Mathias Agopian48efd952009-05-27 20:31:18 -0700110#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
116#endif
117
Mathias Agopian8f62c302010-06-09 18:08:15 -0700118/* GL_OES_texture_float */
119/* No new tokens introduced by this extension. */
120
121/* GL_OES_texture_float_linear */
122/* No new tokens introduced by this extension. */
123
Mathias Agopian48efd952009-05-27 20:31:18 -0700124/* GL_OES_texture_half_float */
125#ifndef GL_OES_texture_half_float
126#define GL_HALF_FLOAT_OES 0x8D61
127#endif
128
Mathias Agopian8f62c302010-06-09 18:08:15 -0700129/* GL_OES_texture_half_float_linear */
130/* No new tokens introduced by this extension. */
131
132/* GL_OES_texture_npot */
133/* No new tokens introduced by this extension. */
134
135/* GL_OES_vertex_array_object */
136#ifndef GL_OES_vertex_array_object
137#define GL_VERTEX_ARRAY_BINDING_OES 0x85B5
138#endif
139
Mathias Agopian48efd952009-05-27 20:31:18 -0700140/* GL_OES_vertex_half_float */
141/* GL_HALF_FLOAT_OES defined in GL_OES_texture_half_float already. */
142
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
147#endif
148
Michael I. Gold7f198b62010-09-15 15:46:24 -0700149/* GL_OES_EGL_image_external */
150#ifndef GL_OES_EGL_image_external
Mathias Agopian0a917752010-06-14 21:20:00 -0700151#define GL_TEXTURE_EXTERNAL_OES 0x8D65
Michael I. Gold7f198b62010-09-15 15:46:24 -0700152#define GL_SAMPLER_EXTERNAL_OES 0x8D66
153#define GL_TEXTURE_BINDING_EXTERNAL_OES 0x8D67
154#define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES 0x8D68
Mathias Agopian0a917752010-06-14 21:20:00 -0700155#endif
156
Mathias Agopian48efd952009-05-27 20:31:18 -0700157/*------------------------------------------------------------------------*
158 * AMD extension tokens
159 *------------------------------------------------------------------------*/
160
161/* GL_AMD_compressed_3DC_texture */
162#ifndef GL_AMD_compressed_3DC_texture
163#define GL_3DC_X_AMD 0x87F9
164#define GL_3DC_XY_AMD 0x87FA
165#endif
166
167/* GL_AMD_compressed_ATC_texture */
168#ifndef GL_AMD_compressed_ATC_texture
169#define GL_ATC_RGB_AMD 0x8C92
170#define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD 0x8C93
171#define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87EE
172#endif
173
Mathias Agopian48efd952009-05-27 20:31:18 -0700174/* GL_AMD_performance_monitor */
175#ifndef GL_AMD_performance_monitor
176#define GL_COUNTER_TYPE_AMD 0x8BC0
177#define GL_COUNTER_RANGE_AMD 0x8BC1
178#define GL_UNSIGNED_INT64_AMD 0x8BC2
179#define GL_PERCENTAGE_AMD 0x8BC3
180#define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8BC4
181#define GL_PERFMON_RESULT_SIZE_AMD 0x8BC5
182#define GL_PERFMON_RESULT_AMD 0x8BC6
183#endif
184
Mathias Agopian8f62c302010-06-09 18:08:15 -0700185/* GL_AMD_program_binary_Z400 */
186#ifndef GL_AMD_program_binary_Z400
187#define GL_Z400_BINARY_AMD 0x8740
188#endif
189
Mathias Agopian48efd952009-05-27 20:31:18 -0700190/*------------------------------------------------------------------------*
191 * EXT extension tokens
192 *------------------------------------------------------------------------*/
193
Mathias Agopian8f62c302010-06-09 18:08:15 -0700194/* GL_EXT_blend_minmax */
195#ifndef GL_EXT_blend_minmax
196#define GL_MIN_EXT 0x8007
197#define GL_MAX_EXT 0x8008
198#endif
199
200/* GL_EXT_discard_framebuffer */
201#ifndef GL_EXT_discard_framebuffer
202#define GL_COLOR_EXT 0x1800
203#define GL_DEPTH_EXT 0x1801
204#define GL_STENCIL_EXT 0x1802
205#endif
206
207/* GL_EXT_multi_draw_arrays */
208/* No new tokens introduced by this extension. */
209
210/* GL_EXT_read_format_bgra */
211#ifndef GL_EXT_read_format_bgra
212#define GL_BGRA_EXT 0x80E1
213#define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT 0x8365
214#define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT 0x8366
215#endif
216
Mathias Agopian48efd952009-05-27 20:31:18 -0700217/* GL_EXT_texture_filter_anisotropic */
218#ifndef GL_EXT_texture_filter_anisotropic
219#define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE
220#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
221#endif
222
Mathias Agopian8f62c302010-06-09 18:08:15 -0700223/* GL_EXT_texture_format_BGRA8888 */
224#ifndef GL_EXT_texture_format_BGRA8888
225#define GL_BGRA_EXT 0x80E1
226#endif
227
Mathias Agopian48efd952009-05-27 20:31:18 -0700228/* GL_EXT_texture_type_2_10_10_10_REV */
229#ifndef GL_EXT_texture_type_2_10_10_10_REV
230#define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368
231#endif
232
Mathias Agopian8f62c302010-06-09 18:08:15 -0700233/* GL_EXT_texture_compression_dxt1 */
234#ifndef GL_EXT_texture_compression_dxt1
235#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0
236#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1
Mathias Agopian48efd952009-05-27 20:31:18 -0700237#endif
238
239/*------------------------------------------------------------------------*
240 * IMG extension tokens
241 *------------------------------------------------------------------------*/
242
Mathias Agopian8f62c302010-06-09 18:08:15 -0700243/* GL_IMG_program_binary */
244#ifndef GL_IMG_program_binary
245#define GL_SGX_PROGRAM_BINARY_IMG 0x9130
246#endif
247
Mathias Agopian48efd952009-05-27 20:31:18 -0700248/* GL_IMG_read_format */
249#ifndef GL_IMG_read_format
Mathias Agopian8f62c302010-06-09 18:08:15 -0700250#define GL_BGRA_IMG 0x80E1
251#define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG 0x8365
252#endif
253
254/* GL_IMG_shader_binary */
255#ifndef GL_IMG_shader_binary
256#define GL_SGX_BINARY_IMG 0x8C0A
Mathias Agopian48efd952009-05-27 20:31:18 -0700257#endif
258
259/* GL_IMG_texture_compression_pvrtc */
260#ifndef GL_IMG_texture_compression_pvrtc
261#define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00
262#define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG 0x8C01
263#define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02
264#define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8C03
265#endif
266
Mathias Agopian8f62c302010-06-09 18:08:15 -0700267/* GL_IMG_multisampled_render_to_texture */
268#ifndef GL_IMG_multisampled_render_to_texture
269#define GL_RENDERBUFFER_SAMPLES_IMG 0x9133
270#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG 0x9134
271#define GL_MAX_SAMPLES_IMG 0x9135
272#define GL_TEXTURE_SAMPLES_IMG 0x9136
273#endif
274
Mathias Agopian48efd952009-05-27 20:31:18 -0700275/*------------------------------------------------------------------------*
276 * NV extension tokens
277 *------------------------------------------------------------------------*/
278
279/* GL_NV_fence */
280#ifndef GL_NV_fence
281#define GL_ALL_COMPLETED_NV 0x84F2
282#define GL_FENCE_STATUS_NV 0x84F3
283#define GL_FENCE_CONDITION_NV 0x84F4
284#endif
285
Mathias Agopian8f62c302010-06-09 18:08:15 -0700286/* GL_NV_coverage_sample */
287#ifndef GL_NV_coverage_sample
288#define GL_COVERAGE_COMPONENT_NV 0x8ED0
289#define GL_COVERAGE_COMPONENT4_NV 0x8ED1
290#define GL_COVERAGE_ATTACHMENT_NV 0x8ED2
291#define GL_COVERAGE_BUFFERS_NV 0x8ED3
292#define GL_COVERAGE_SAMPLES_NV 0x8ED4
293#define GL_COVERAGE_ALL_FRAGMENTS_NV 0x8ED5
294#define GL_COVERAGE_EDGE_FRAGMENTS_NV 0x8ED6
295#define GL_COVERAGE_AUTOMATIC_NV 0x8ED7
296#define GL_COVERAGE_BUFFER_BIT_NV 0x8000
297#endif
298
299/* GL_NV_depth_nonlinear */
300#ifndef GL_NV_depth_nonlinear
301#define GL_DEPTH_COMPONENT16_NONLINEAR_NV 0x8E2C
302#endif
303
Mathias Agopian48efd952009-05-27 20:31:18 -0700304/*------------------------------------------------------------------------*
305 * QCOM extension tokens
306 *------------------------------------------------------------------------*/
307
308/* GL_QCOM_driver_control */
309/* No new tokens introduced by this extension. */
310
Mathias Agopian8f62c302010-06-09 18:08:15 -0700311/* GL_QCOM_extended_get */
312#ifndef GL_QCOM_extended_get
313#define GL_TEXTURE_WIDTH_QCOM 0x8BD2
314#define GL_TEXTURE_HEIGHT_QCOM 0x8BD3
315#define GL_TEXTURE_DEPTH_QCOM 0x8BD4
316#define GL_TEXTURE_INTERNAL_FORMAT_QCOM 0x8BD5
317#define GL_TEXTURE_FORMAT_QCOM 0x8BD6
318#define GL_TEXTURE_TYPE_QCOM 0x8BD7
319#define GL_TEXTURE_IMAGE_VALID_QCOM 0x8BD8
320#define GL_TEXTURE_NUM_LEVELS_QCOM 0x8BD9
321#define GL_TEXTURE_TARGET_QCOM 0x8BDA
322#define GL_TEXTURE_OBJECT_VALID_QCOM 0x8BDB
323#define GL_STATE_RESTORE 0x8BDC
324#endif
325
326/* GL_QCOM_extended_get2 */
327/* No new tokens introduced by this extension. */
328
Mathias Agopian48efd952009-05-27 20:31:18 -0700329/* GL_QCOM_perfmon_global_mode */
330#ifndef GL_QCOM_perfmon_global_mode
331#define GL_PERFMON_GLOBAL_MODE_QCOM 0x8FA0
332#endif
333
Mathias Agopian8f62c302010-06-09 18:08:15 -0700334/* GL_QCOM_writeonly_rendering */
335#ifndef GL_QCOM_writeonly_rendering
336#define GL_WRITEONLY_RENDERING_QCOM 0x8823
337#endif
338
339/* GL_QCOM_tiled_rendering */
340#ifndef GL_QCOM_tiled_rendering
341#define GL_COLOR_BUFFER_BIT0_QCOM 0x00000001
342#define GL_COLOR_BUFFER_BIT1_QCOM 0x00000002
343#define GL_COLOR_BUFFER_BIT2_QCOM 0x00000004
344#define GL_COLOR_BUFFER_BIT3_QCOM 0x00000008
345#define GL_COLOR_BUFFER_BIT4_QCOM 0x00000010
346#define GL_COLOR_BUFFER_BIT5_QCOM 0x00000020
347#define GL_COLOR_BUFFER_BIT6_QCOM 0x00000040
348#define GL_COLOR_BUFFER_BIT7_QCOM 0x00000080
349#define GL_DEPTH_BUFFER_BIT0_QCOM 0x00000100
350#define GL_DEPTH_BUFFER_BIT1_QCOM 0x00000200
351#define GL_DEPTH_BUFFER_BIT2_QCOM 0x00000400
352#define GL_DEPTH_BUFFER_BIT3_QCOM 0x00000800
353#define GL_DEPTH_BUFFER_BIT4_QCOM 0x00001000
354#define GL_DEPTH_BUFFER_BIT5_QCOM 0x00002000
355#define GL_DEPTH_BUFFER_BIT6_QCOM 0x00004000
356#define GL_DEPTH_BUFFER_BIT7_QCOM 0x00008000
357#define GL_STENCIL_BUFFER_BIT0_QCOM 0x00010000
358#define GL_STENCIL_BUFFER_BIT1_QCOM 0x00020000
359#define GL_STENCIL_BUFFER_BIT2_QCOM 0x00040000
360#define GL_STENCIL_BUFFER_BIT3_QCOM 0x00080000
361#define GL_STENCIL_BUFFER_BIT4_QCOM 0x00100000
362#define GL_STENCIL_BUFFER_BIT5_QCOM 0x00200000
363#define GL_STENCIL_BUFFER_BIT6_QCOM 0x00400000
364#define GL_STENCIL_BUFFER_BIT7_QCOM 0x00800000
365#define GL_MULTISAMPLE_BUFFER_BIT0_QCOM 0x01000000
366#define GL_MULTISAMPLE_BUFFER_BIT1_QCOM 0x02000000
367#define GL_MULTISAMPLE_BUFFER_BIT2_QCOM 0x04000000
368#define GL_MULTISAMPLE_BUFFER_BIT3_QCOM 0x08000000
369#define GL_MULTISAMPLE_BUFFER_BIT4_QCOM 0x10000000
370#define GL_MULTISAMPLE_BUFFER_BIT5_QCOM 0x20000000
371#define GL_MULTISAMPLE_BUFFER_BIT6_QCOM 0x40000000
372#define GL_MULTISAMPLE_BUFFER_BIT7_QCOM 0x80000000
373#endif
374
Mathias Agopian48efd952009-05-27 20:31:18 -0700375/*------------------------------------------------------------------------*
376 * End of extension tokens, start of corresponding extension functions
377 *------------------------------------------------------------------------*/
378
379/*------------------------------------------------------------------------*
380 * OES extension functions
381 *------------------------------------------------------------------------*/
382
383/* GL_OES_compressed_ETC1_RGB8_texture */
384#ifndef GL_OES_compressed_ETC1_RGB8_texture
385#define GL_OES_compressed_ETC1_RGB8_texture 1
386#endif
387
388/* GL_OES_compressed_paletted_texture */
389#ifndef GL_OES_compressed_paletted_texture
390#define GL_OES_compressed_paletted_texture 1
391#endif
392
Mathias Agopian48efd952009-05-27 20:31:18 -0700393/* GL_OES_depth24 */
394#ifndef GL_OES_depth24
395#define GL_OES_depth24 1
396#endif
397
398/* GL_OES_depth32 */
399#ifndef GL_OES_depth32
400#define GL_OES_depth32 1
401#endif
402
403/* GL_OES_depth_texture */
404#ifndef GL_OES_depth_texture
405#define GL_OES_depth_texture 1
406#endif
407
Mathias Agopian8f62c302010-06-09 18:08:15 -0700408/* GL_OES_EGL_image */
409#ifndef GL_OES_EGL_image
410#define GL_OES_EGL_image 1
411#ifdef GL_GLEXT_PROTOTYPES
412GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
413GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
414#endif
415typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
416typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
417#endif
418
Mathias Agopian48efd952009-05-27 20:31:18 -0700419/* GL_OES_element_index_uint */
420#ifndef GL_OES_element_index_uint
421#define GL_OES_element_index_uint 1
422#endif
423
424/* GL_OES_fbo_render_mipmap */
425#ifndef GL_OES_fbo_render_mipmap
426#define GL_OES_fbo_render_mipmap 1
427#endif
428
429/* GL_OES_fragment_precision_high */
430#ifndef GL_OES_fragment_precision_high
431#define GL_OES_fragment_precision_high 1
432#endif
433
434/* GL_OES_get_program_binary */
435#ifndef GL_OES_get_program_binary
436#define GL_OES_get_program_binary 1
437#ifdef GL_GLEXT_PROTOTYPES
Mathias Agopian8f62c302010-06-09 18:08:15 -0700438GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
439GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
Mathias Agopian48efd952009-05-27 20:31:18 -0700440#endif
Mathias Agopian8f62c302010-06-09 18:08:15 -0700441typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
442typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
Mathias Agopian48efd952009-05-27 20:31:18 -0700443#endif
444
445/* GL_OES_mapbuffer */
446#ifndef GL_OES_mapbuffer
447#define GL_OES_mapbuffer 1
448#ifdef GL_GLEXT_PROTOTYPES
449GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
450GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
Mathias Agopian8f62c302010-06-09 18:08:15 -0700451GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid** params);
Mathias Agopian48efd952009-05-27 20:31:18 -0700452#endif
453typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
454typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
Mathias Agopian8f62c302010-06-09 18:08:15 -0700455typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid** params);
Mathias Agopian48efd952009-05-27 20:31:18 -0700456#endif
457
458/* GL_OES_packed_depth_stencil */
459#ifndef GL_OES_packed_depth_stencil
460#define GL_OES_packed_depth_stencil 1
461#endif
462
463/* GL_OES_rgb8_rgba8 */
464#ifndef GL_OES_rgb8_rgba8
465#define GL_OES_rgb8_rgba8 1
466#endif
467
468/* GL_OES_standard_derivatives */
469#ifndef GL_OES_standard_derivatives
470#define GL_OES_standard_derivatives 1
471#endif
472
473/* GL_OES_stencil1 */
474#ifndef GL_OES_stencil1
475#define GL_OES_stencil1 1
476#endif
477
478/* GL_OES_stencil4 */
479#ifndef GL_OES_stencil4
480#define GL_OES_stencil4 1
481#endif
482
483/* GL_OES_texture_3D */
484#ifndef GL_OES_texture_3D
485#define GL_OES_texture_3D 1
486#ifdef GL_GLEXT_PROTOTYPES
Mathias Agopian8f62c302010-06-09 18:08:15 -0700487GL_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);
488GL_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);
Mathias Agopian48efd952009-05-27 20:31:18 -0700489GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
Mathias Agopian8f62c302010-06-09 18:08:15 -0700490GL_APICALL void GL_APIENTRY glCompressedTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
491GL_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);
Mathias Agopian48efd952009-05-27 20:31:18 -0700492GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
493#endif
494typedef 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);
Mathias Agopian8f62c302010-06-09 18:08:15 -0700495typedef 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);
Mathias Agopian48efd952009-05-27 20:31:18 -0700496typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
Mathias Agopian8f62c302010-06-09 18:08:15 -0700497typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
498typedef 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);
Mathias Agopian48efd952009-05-27 20:31:18 -0700499typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOES) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
500#endif
501
Mathias Agopian48efd952009-05-27 20:31:18 -0700502/* GL_OES_texture_float */
503#ifndef GL_OES_texture_float
504#define GL_OES_texture_float 1
505#endif
506
Mathias Agopian8f62c302010-06-09 18:08:15 -0700507/* GL_OES_texture_float_linear */
508#ifndef GL_OES_texture_float_linear
509#define GL_OES_texture_float_linear 1
510#endif
511
Mathias Agopian48efd952009-05-27 20:31:18 -0700512/* GL_OES_texture_half_float */
513#ifndef GL_OES_texture_half_float
514#define GL_OES_texture_half_float 1
515#endif
516
Mathias Agopian8f62c302010-06-09 18:08:15 -0700517/* GL_OES_texture_half_float_linear */
518#ifndef GL_OES_texture_half_float_linear
519#define GL_OES_texture_half_float_linear 1
520#endif
521
Mathias Agopian48efd952009-05-27 20:31:18 -0700522/* GL_OES_texture_npot */
523#ifndef GL_OES_texture_npot
524#define GL_OES_texture_npot 1
525#endif
526
Mathias Agopian8f62c302010-06-09 18:08:15 -0700527/* GL_OES_vertex_array_object */
528#ifndef GL_OES_vertex_array_object
529#define GL_OES_vertex_array_object 1
530#ifdef GL_GLEXT_PROTOTYPES
531GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array);
532GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays);
533GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays);
534GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array);
535#endif
536typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array);
537typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays);
538typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays);
539typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array);
540#endif
541
Mathias Agopian48efd952009-05-27 20:31:18 -0700542/* GL_OES_vertex_half_float */
543#ifndef GL_OES_vertex_half_float
544#define GL_OES_vertex_half_float 1
545#endif
546
547/* GL_OES_vertex_type_10_10_10_2 */
548#ifndef GL_OES_vertex_type_10_10_10_2
549#define GL_OES_vertex_type_10_10_10_2 1
550#endif
551
Michael I. Gold7f198b62010-09-15 15:46:24 -0700552/* GL_OES_EGL_image_external */
553#ifndef GL_OES_EGL_image_external
554#define GL_OES_EGL_image_external 1
Mathias Agopian0a917752010-06-14 21:20:00 -0700555#endif
556
Mathias Agopian48efd952009-05-27 20:31:18 -0700557/*------------------------------------------------------------------------*
558 * AMD extension functions
559 *------------------------------------------------------------------------*/
560
561/* GL_AMD_compressed_3DC_texture */
562#ifndef GL_AMD_compressed_3DC_texture
563#define GL_AMD_compressed_3DC_texture 1
564#endif
565
566/* GL_AMD_compressed_ATC_texture */
567#ifndef GL_AMD_compressed_ATC_texture
568#define GL_AMD_compressed_ATC_texture 1
569#endif
570
Mathias Agopian48efd952009-05-27 20:31:18 -0700571/* AMD_performance_monitor */
572#ifndef GL_AMD_performance_monitor
573#define GL_AMD_performance_monitor 1
574#ifdef GL_GLEXT_PROTOTYPES
575GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
576GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
Mathias Agopian8f62c302010-06-09 18:08:15 -0700577GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
578GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
579GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
Mathias Agopian48efd952009-05-27 20:31:18 -0700580GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors);
581GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors);
582GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
583GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor);
584GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor);
585GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
586#endif
587typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
588typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
Mathias Agopian8f62c302010-06-09 18:08:15 -0700589typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
590typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
591typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
Mathias Agopian48efd952009-05-27 20:31:18 -0700592typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
593typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
594typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
595typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor);
596typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);
597typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
598#endif
599
Mathias Agopian8f62c302010-06-09 18:08:15 -0700600/* GL_AMD_program_binary_Z400 */
601#ifndef GL_AMD_program_binary_Z400
602#define GL_AMD_program_binary_Z400 1
603#endif
604
Mathias Agopian48efd952009-05-27 20:31:18 -0700605/*------------------------------------------------------------------------*
606 * EXT extension functions
607 *------------------------------------------------------------------------*/
608
Mathias Agopian8f62c302010-06-09 18:08:15 -0700609/* GL_EXT_blend_minmax */
610#ifndef GL_EXT_blend_minmax
611#define GL_EXT_blend_minmax 1
612#endif
613
614/* GL_EXT_discard_framebuffer */
615#ifndef GL_EXT_discard_framebuffer
616#define GL_EXT_discard_framebuffer 1
617#ifdef GL_GLEXT_PROTOTYPES
618GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments);
619#endif
620typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
621#endif
622
623#ifndef GL_EXT_multi_draw_arrays
624#define GL_EXT_multi_draw_arrays 1
625#ifdef GL_GLEXT_PROTOTYPES
Mathias Agopian05bb9c92010-06-09 18:19:11 -0700626GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
627GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
Mathias Agopian8f62c302010-06-09 18:08:15 -0700628#endif /* GL_GLEXT_PROTOTYPES */
629typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
630typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
631#endif
632
633/* GL_EXT_read_format_bgra */
634#ifndef GL_EXT_read_format_bgra
635#define GL_EXT_read_format_bgra 1
636#endif
637
Mathias Agopian48efd952009-05-27 20:31:18 -0700638/* GL_EXT_texture_filter_anisotropic */
639#ifndef GL_EXT_texture_filter_anisotropic
640#define GL_EXT_texture_filter_anisotropic 1
641#endif
642
Mathias Agopian48efd952009-05-27 20:31:18 -0700643/* GL_EXT_texture_format_BGRA8888 */
644#ifndef GL_EXT_texture_format_BGRA8888
645#define GL_EXT_texture_format_BGRA8888 1
646#endif
647
Mathias Agopian8f62c302010-06-09 18:08:15 -0700648/* GL_EXT_texture_type_2_10_10_10_REV */
649#ifndef GL_EXT_texture_type_2_10_10_10_REV
650#define GL_EXT_texture_type_2_10_10_10_REV 1
651#endif
652
653/* GL_EXT_texture_compression_dxt1 */
654#ifndef GL_EXT_texture_compression_dxt1
655#define GL_EXT_texture_compression_dxt1 1
656#endif
657
Mathias Agopian48efd952009-05-27 20:31:18 -0700658/*------------------------------------------------------------------------*
659 * IMG extension functions
660 *------------------------------------------------------------------------*/
661
Mathias Agopian8f62c302010-06-09 18:08:15 -0700662/* GL_IMG_program_binary */
663#ifndef GL_IMG_program_binary
664#define GL_IMG_program_binary 1
665#endif
666
Mathias Agopian48efd952009-05-27 20:31:18 -0700667/* GL_IMG_read_format */
668#ifndef GL_IMG_read_format
669#define GL_IMG_read_format 1
670#endif
671
Mathias Agopian8f62c302010-06-09 18:08:15 -0700672/* GL_IMG_shader_binary */
673#ifndef GL_IMG_shader_binary
674#define GL_IMG_shader_binary 1
675#endif
676
Mathias Agopian48efd952009-05-27 20:31:18 -0700677/* GL_IMG_texture_compression_pvrtc */
678#ifndef GL_IMG_texture_compression_pvrtc
679#define GL_IMG_texture_compression_pvrtc 1
680#endif
681
Mathias Agopian8f62c302010-06-09 18:08:15 -0700682/* GL_IMG_multisampled_render_to_texture */
683#ifndef GL_IMG_multisampled_render_to_texture
684#define GL_IMG_multisampled_render_to_texture 1
685#ifdef GL_GLEXT_PROTOTYPES
Mathias Agopian05bb9c92010-06-09 18:19:11 -0700686GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
687GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
Mathias Agopian8f62c302010-06-09 18:08:15 -0700688#endif
689typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMG) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
Mathias Agopian05bb9c92010-06-09 18:19:11 -0700690typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMG) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
Mathias Agopian8f62c302010-06-09 18:08:15 -0700691#endif
692
Mathias Agopian48efd952009-05-27 20:31:18 -0700693/*------------------------------------------------------------------------*
694 * NV extension functions
695 *------------------------------------------------------------------------*/
696
697/* GL_NV_fence */
698#ifndef GL_NV_fence
699#define GL_NV_fence 1
700#ifdef GL_GLEXT_PROTOTYPES
Mathias Agopian05bb9c92010-06-09 18:19:11 -0700701GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei n, const GLuint *fences);
702GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei n, GLuint *fences);
703GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint fence);
704GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint fence);
705GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint fence, GLenum pname, GLint *params);
706GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint fence);
707GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint fence, GLenum condition);
Mathias Agopian48efd952009-05-27 20:31:18 -0700708#endif
709typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
710typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
711typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
712typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
713typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
714typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
715typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
716#endif
717
Mathias Agopian8f62c302010-06-09 18:08:15 -0700718/* GL_NV_coverage_sample */
719#ifndef GL_NV_coverage_sample
720#define GL_NV_coverage_sample 1
721#ifdef GL_GLEXT_PROTOTYPES
722GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask);
723GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation);
724#endif
725typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask);
726typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation);
727#endif
728
729/* GL_NV_depth_nonlinear */
730#ifndef GL_NV_depth_nonlinear
731#define GL_NV_depth_nonlinear 1
732#endif
733
Mathias Agopian48efd952009-05-27 20:31:18 -0700734/*------------------------------------------------------------------------*
735 * QCOM extension functions
736 *------------------------------------------------------------------------*/
737
738/* GL_QCOM_driver_control */
739#ifndef GL_QCOM_driver_control
740#define GL_QCOM_driver_control 1
741#ifdef GL_GLEXT_PROTOTYPES
742GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls);
Mathias Agopian8f62c302010-06-09 18:08:15 -0700743GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
Mathias Agopian48efd952009-05-27 20:31:18 -0700744GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);
745GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);
746#endif
747typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls);
Mathias Agopian8f62c302010-06-09 18:08:15 -0700748typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
Mathias Agopian48efd952009-05-27 20:31:18 -0700749typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
750typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
751#endif
752
Mathias Agopian8f62c302010-06-09 18:08:15 -0700753/* GL_QCOM_extended_get */
754#ifndef GL_QCOM_extended_get
755#define GL_QCOM_extended_get 1
756#ifdef GL_GLEXT_PROTOTYPES
757GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures);
758GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
759GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
760GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
761GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
762GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param);
763GL_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);
764GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params);
765#endif
766typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures);
767typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
768typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
769typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
770typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
771typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param);
772typedef 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);
773typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params);
774#endif
775
776/* GL_QCOM_extended_get2 */
777#ifndef GL_QCOM_extended_get2
778#define GL_QCOM_extended_get2 1
779#ifdef GL_GLEXT_PROTOTYPES
780GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders);
781GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
782GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program);
783GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
784#endif
785typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders);
786typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
787typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program);
788typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
789#endif
790
Mathias Agopian48efd952009-05-27 20:31:18 -0700791/* GL_QCOM_perfmon_global_mode */
792#ifndef GL_QCOM_perfmon_global_mode
793#define GL_QCOM_perfmon_global_mode 1
794#endif
795
Mathias Agopian8f62c302010-06-09 18:08:15 -0700796/* GL_QCOM_writeonly_rendering */
797#ifndef GL_QCOM_writeonly_rendering
798#define GL_QCOM_writeonly_rendering 1
799#endif
800
801/* GL_QCOM_tiled_rendering */
802#ifndef GL_QCOM_tiled_rendering
803#define GL_QCOM_tiled_rendering 1
804#ifdef GL_GLEXT_PROTOTYPES
805GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
806GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask);
807#endif
808typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
809typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask);
810#endif
811
Mathias Agopian48efd952009-05-27 20:31:18 -0700812#ifdef __cplusplus
813}
814#endif
815
816#endif /* __gl2ext_h_ */