1#ifndef __glext_h_
2#define __glext_h_
3
4/* $Revision: 7172 $ on $Date:: 2009-01-09 11:17:41 -0800 #$ */
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_blend_equation_separate */
24#ifndef GL_OES_blend_equation_separate
25/* BLEND_EQUATION_RGB_OES same as BLEND_EQUATION_OES */
26#define GL_BLEND_EQUATION_RGB_OES                               0x8009
27#define GL_BLEND_EQUATION_ALPHA_OES                             0x883D
28#endif
29
30/* GL_OES_blend_func_separate */
31#ifndef GL_OES_blend_func_separate
32#define GL_BLEND_DST_RGB_OES                                    0x80C8
33#define GL_BLEND_SRC_RGB_OES                                    0x80C9
34#define GL_BLEND_DST_ALPHA_OES                                  0x80CA
35#define GL_BLEND_SRC_ALPHA_OES                                  0x80CB
36#endif
37
38/* GL_OES_blend_subtract */
39#ifndef GL_OES_blend_subtract
40#define GL_BLEND_EQUATION_OES                                   0x8009
41#define GL_FUNC_ADD_OES                                         0x8006
42#define GL_FUNC_SUBTRACT_OES                                    0x800A
43#define GL_FUNC_REVERSE_SUBTRACT_OES                            0x800B
44#endif
45
46/* GL_OES_compressed_ETC1_RGB8_texture */
47#ifndef GL_OES_compressed_ETC1_RGB8_texture
48#define GL_ETC1_RGB8_OES                                        0x8D64
49#endif
50
51/* GL_OES_depth24 */
52#ifndef GL_OES_depth24
53#define GL_DEPTH_COMPONENT24_OES                                0x81A6
54#endif
55
56/* GL_OES_depth32 */
57#ifndef GL_OES_depth32
58#define GL_DEPTH_COMPONENT32_OES                                0x81A7
59#endif
60
61/* GL_OES_draw_texture */
62#ifndef GL_OES_draw_texture
63#define GL_TEXTURE_CROP_RECT_OES                                0x8B9D
64#endif
65
66/* GL_OES_EGL_image */
67#ifndef GL_OES_EGL_image
68typedef void* GLeglImageOES;
69#endif
70
71/* GL_OES_fixed_point */
72#ifndef GL_OES_fixed_point
73#define GL_FIXED_OES                                            0x140C
74#endif
75
76/* GL_OES_framebuffer_object */
77#ifndef GL_OES_framebuffer_object
78#define GL_NONE_OES                                             0
79#define GL_FRAMEBUFFER_OES                                      0x8D40
80#define GL_RENDERBUFFER_OES                                     0x8D41
81#define GL_RGBA4_OES                                            0x8056
82#define GL_RGB5_A1_OES                                          0x8057
83#define GL_RGB565_OES                                           0x8D62
84#define GL_DEPTH_COMPONENT16_OES                                0x81A5
85#define GL_RENDERBUFFER_WIDTH_OES                               0x8D42
86#define GL_RENDERBUFFER_HEIGHT_OES                              0x8D43
87#define GL_RENDERBUFFER_INTERNAL_FORMAT_OES                     0x8D44
88#define GL_RENDERBUFFER_RED_SIZE_OES                            0x8D50
89#define GL_RENDERBUFFER_GREEN_SIZE_OES                          0x8D51
90#define GL_RENDERBUFFER_BLUE_SIZE_OES                           0x8D52
91#define GL_RENDERBUFFER_ALPHA_SIZE_OES                          0x8D53
92#define GL_RENDERBUFFER_DEPTH_SIZE_OES                          0x8D54
93#define GL_RENDERBUFFER_STENCIL_SIZE_OES                        0x8D55
94#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES               0x8CD0
95#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES               0x8CD1
96#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES             0x8CD2
97#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES     0x8CD3
98#define GL_COLOR_ATTACHMENT0_OES                                0x8CE0
99#define GL_DEPTH_ATTACHMENT_OES                                 0x8D00
100#define GL_STENCIL_ATTACHMENT_OES                               0x8D20
101#define GL_FRAMEBUFFER_COMPLETE_OES                             0x8CD5
102#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES                0x8CD6
103#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES        0x8CD7
104#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES                0x8CD9
105#define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES                   0x8CDA
106#define GL_FRAMEBUFFER_UNSUPPORTED_OES                          0x8CDD
107#define GL_FRAMEBUFFER_BINDING_OES                              0x8CA6
108#define GL_RENDERBUFFER_BINDING_OES                             0x8CA7
109#define GL_MAX_RENDERBUFFER_SIZE_OES                            0x84E8
110#define GL_INVALID_FRAMEBUFFER_OPERATION_OES                    0x0506
111#endif
112
113/* GL_OES_mapbuffer */
114#ifndef GL_OES_mapbuffer
115#define GL_WRITE_ONLY_OES                                       0x88B9
116#define GL_BUFFER_ACCESS_OES                                    0x88BB
117#define GL_BUFFER_MAPPED_OES                                    0x88BC
118#define GL_BUFFER_MAP_POINTER_OES                               0x88BD
119#endif
120
121/* GL_OES_matrix_get */
122#ifndef GL_OES_matrix_get
123#define GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES               0x898D
124#define GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES              0x898E
125#define GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES                 0x898F
126#endif
127
128/* GL_OES_matrix_palette */
129#ifndef GL_OES_matrix_palette
130#define GL_MAX_VERTEX_UNITS_OES                                 0x86A4
131#define GL_MAX_PALETTE_MATRICES_OES                             0x8842
132#define GL_MATRIX_PALETTE_OES                                   0x8840
133#define GL_MATRIX_INDEX_ARRAY_OES                               0x8844
134#define GL_WEIGHT_ARRAY_OES                                     0x86AD
135#define GL_CURRENT_PALETTE_MATRIX_OES                           0x8843
136#define GL_MATRIX_INDEX_ARRAY_SIZE_OES                          0x8846
137#define GL_MATRIX_INDEX_ARRAY_TYPE_OES                          0x8847
138#define GL_MATRIX_INDEX_ARRAY_STRIDE_OES                        0x8848
139#define GL_MATRIX_INDEX_ARRAY_POINTER_OES                       0x8849
140#define GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES                0x8B9E
141#define GL_WEIGHT_ARRAY_SIZE_OES                                0x86AB
142#define GL_WEIGHT_ARRAY_TYPE_OES                                0x86A9
143#define GL_WEIGHT_ARRAY_STRIDE_OES                              0x86AA
144#define GL_WEIGHT_ARRAY_POINTER_OES                             0x86AC
145#define GL_WEIGHT_ARRAY_BUFFER_BINDING_OES                      0x889E
146#endif
147
148/* GL_OES_packed_depth_stencil */
149#ifndef GL_OES_packed_depth_stencil
150#define GL_DEPTH_STENCIL_OES                                    0x84F9
151#define GL_UNSIGNED_INT_24_8_OES                                0x84FA
152#define GL_DEPTH24_STENCIL8_OES                                 0x88F0
153#endif
154
155/* GL_OES_rgb8_rgba8 */
156#ifndef GL_OES_rgb8_rgba8
157#define GL_RGB8_OES                                             0x8051
158#define GL_RGBA8_OES                                            0x8058
159#endif
160
161/* GL_OES_stencil1 */
162#ifndef GL_OES_stencil1
163#define GL_STENCIL_INDEX1_OES                                   0x8D46
164#endif
165
166/* GL_OES_stencil4 */
167#ifndef GL_OES_stencil4
168#define GL_STENCIL_INDEX4_OES                                   0x8D47
169#endif
170
171/* GL_OES_stencil8 */
172#ifndef GL_OES_stencil8
173#define GL_STENCIL_INDEX8_OES                                   0x8D48
174#endif
175
176/* GL_OES_stencil_wrap */
177#ifndef GL_OES_stencil_wrap
178#define GL_INCR_WRAP_OES                                        0x8507
179#define GL_DECR_WRAP_OES                                        0x8508
180#endif
181
182/* GL_OES_texture_cube_map */
183#ifndef GL_OES_texture_cube_map
184#define GL_NORMAL_MAP_OES                                       0x8511
185#define GL_REFLECTION_MAP_OES                                   0x8512
186#define GL_TEXTURE_CUBE_MAP_OES                                 0x8513
187#define GL_TEXTURE_BINDING_CUBE_MAP_OES                         0x8514
188#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES                      0x8515
189#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES                      0x8516
190#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES                      0x8517
191#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES                      0x8518
192#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES                      0x8519
193#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES                      0x851A
194#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES                        0x851C
195#define GL_TEXTURE_GEN_MODE_OES                                 0x2500
196#define GL_TEXTURE_GEN_STR_OES                                  0x8D60
197#endif
198
199/* GL_OES_texture_mirrored_repeat */
200#ifndef GL_OES_texture_mirrored_repeat
201#define GL_MIRRORED_REPEAT_OES                                  0x8370
202#endif
203
204/*------------------------------------------------------------------------*
205 * AMD extension tokens
206 *------------------------------------------------------------------------*/
207
208/* GL_AMD_compressed_3DC_texture */
209#ifndef GL_AMD_compressed_3DC_texture
210#define GL_3DC_X_AMD                                            0x87F9
211#define GL_3DC_XY_AMD                                           0x87FA
212#endif
213
214/* GL_AMD_compressed_ATC_texture */
215#ifndef GL_AMD_compressed_ATC_texture
216#define GL_ATC_RGB_AMD                                          0x8C92
217#define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD                          0x8C93
218#define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD                      0x87EE
219#endif
220
221/*------------------------------------------------------------------------*
222 * EXT extension tokens
223 *------------------------------------------------------------------------*/
224
225/* GL_EXT_texture_filter_anisotropic */
226#ifndef GL_EXT_texture_filter_anisotropic
227#define GL_TEXTURE_MAX_ANISOTROPY_EXT                           0x84FE
228#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT                       0x84FF
229#endif
230
231/*------------------------------------------------------------------------*
232 * OES extension functions
233 *------------------------------------------------------------------------*/
234
235/* GL_OES_blend_equation_separate */
236#ifndef GL_OES_blend_equation_separate
237#define GL_OES_blend_equation_separate 1
238#ifdef GL_GLEXT_PROTOTYPES
239GL_API void GL_APIENTRY glBlendEquationSeparateOES (GLenum modeRGB, GLenum modeAlpha);
240#endif
241typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONSEPARATEOESPROC) (GLenum modeRGB, GLenum modeAlpha);
242#endif
243
244/* GL_OES_blend_func_separate */
245#ifndef GL_OES_blend_func_separate
246#define GL_OES_blend_func_separate 1
247#ifdef GL_GLEXT_PROTOTYPES
248GL_API void GL_APIENTRY glBlendFuncSeparateOES (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
249#endif
250typedef void (GL_APIENTRYP PFNGLBLENDFUNCSEPARATEOESPROC) (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
251#endif
252
253/* GL_OES_blend_subtract */
254#ifndef GL_OES_blend_subtract
255#define GL_OES_blend_subtract 1
256#ifdef GL_GLEXT_PROTOTYPES
257GL_API void GL_APIENTRY glBlendEquationOES (GLenum mode);
258#endif
259typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONOESPROC) (GLenum mode);
260#endif
261
262/* GL_OES_byte_coordinates */
263#ifndef GL_OES_byte_coordinates
264#define GL_OES_byte_coordinates 1
265#endif
266
267/* GL_OES_compressed_ETC1_RGB8_texture */
268#ifndef GL_OES_compressed_ETC1_RGB8_texture
269#define GL_OES_compressed_ETC1_RGB8_texture 1
270#endif
271
272/* GL_OES_depth24 */
273#ifndef GL_OES_depth24
274#define GL_OES_depth24 1
275#endif
276
277/* GL_OES_depth32 */
278#ifndef GL_OES_depth32
279#define GL_OES_depth32 1
280#endif
281
282/* GL_OES_draw_texture */
283#ifndef GL_OES_draw_texture
284#define GL_OES_draw_texture 1
285#ifdef GL_GLEXT_PROTOTYPES
286GL_API void GL_APIENTRY glDrawTexsOES (GLshort x, GLshort y, GLshort z, GLshort width, GLshort height);
287GL_API void GL_APIENTRY glDrawTexiOES (GLint x, GLint y, GLint z, GLint width, GLint height);
288GL_API void GL_APIENTRY glDrawTexxOES (GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height);
289GL_API void GL_APIENTRY glDrawTexsvOES (const GLshort *coords);
290GL_API void GL_APIENTRY glDrawTexivOES (const GLint *coords);
291GL_API void GL_APIENTRY glDrawTexxvOES (const GLfixed *coords);
292GL_API void GL_APIENTRY glDrawTexfOES (GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height);
293GL_API void GL_APIENTRY glDrawTexfvOES (const GLfloat *coords);
294#endif
295typedef void (GL_APIENTRYP PFNGLDRAWTEXSOESPROC) (GLshort x, GLshort y, GLshort z, GLshort width, GLshort height);
296typedef void (GL_APIENTRYP PFNGLDRAWTEXIOESPROC) (GLint x, GLint y, GLint z, GLint width, GLint height);
297typedef void (GL_APIENTRYP PFNGLDRAWTEXXOESPROC) (GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height);
298typedef void (GL_APIENTRYP PFNGLDRAWTEXSVOESPROC) (const GLshort *coords);
299typedef void (GL_APIENTRYP PFNGLDRAWTEXIVOESPROC) (const GLint *coords);
300typedef void (GL_APIENTRYP PFNGLDRAWTEXXVOESPROC) (const GLfixed *coords);
301typedef void (GL_APIENTRYP PFNGLDRAWTEXFOESPROC) (GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height);
302typedef void (GL_APIENTRYP PFNGLDRAWTEXFVOESPROC) (const GLfloat *coords);
303#endif
304
305/* GL_OES_EGL_image */
306#ifndef GL_OES_EGL_image
307#define GL_OES_EGL_image 1
308#ifdef GL_GLEXT_PROTOTYPES
309GL_API void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
310GL_API void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
311#endif
312typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
313typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
314#endif
315
316/* GL_OES_element_index_uint */
317#ifndef GL_OES_element_index_uint
318#define GL_OES_element_index_uint 1
319#endif
320
321/* GL_OES_extended_matrix_palette */
322#ifndef GL_OES_extended_matrix_palette
323#define GL_OES_extended_matrix_palette 1
324#endif
325
326/* GL_OES_fbo_render_mipmap */
327#ifndef GL_OES_fbo_render_mipmap
328#define GL_OES_fbo_render_mipmap 1
329#endif
330
331/* GL_OES_fixed_point */
332#ifndef GL_OES_fixed_point
333#define GL_OES_fixed_point 1
334#ifdef GL_GLEXT_PROTOTYPES
335GL_API void GL_APIENTRY glAlphaFuncxOES (GLenum func, GLclampx ref);
336GL_API void GL_APIENTRY glClearColorxOES (GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha);
337GL_API void GL_APIENTRY glClearDepthxOES (GLclampx depth);
338GL_API void GL_APIENTRY glClipPlanexOES (GLenum plane, const GLfixed *equation);
339GL_API void GL_APIENTRY glColor4xOES (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
340GL_API void GL_APIENTRY glDepthRangexOES (GLclampx zNear, GLclampx zFar);
341GL_API void GL_APIENTRY glFogxOES (GLenum pname, GLfixed param);
342GL_API void GL_APIENTRY glFogxvOES (GLenum pname, const GLfixed *params);
343GL_API void GL_APIENTRY glFrustumxOES (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
344GL_API void GL_APIENTRY glGetClipPlanexOES (GLenum pname, GLfixed eqn[4]);
345GL_API void GL_APIENTRY glGetFixedvOES (GLenum pname, GLfixed *params);
346GL_API void GL_APIENTRY glGetLightxvOES (GLenum light, GLenum pname, GLfixed *params);
347GL_API void GL_APIENTRY glGetMaterialxvOES (GLenum face, GLenum pname, GLfixed *params);
348GL_API void GL_APIENTRY glGetTexEnvxvOES (GLenum env, GLenum pname, GLfixed *params);
349GL_API void GL_APIENTRY glGetTexParameterxvOES (GLenum target, GLenum pname, GLfixed *params);
350GL_API void GL_APIENTRY glLightModelxOES (GLenum pname, GLfixed param);
351GL_API void GL_APIENTRY glLightModelxvOES (GLenum pname, const GLfixed *params);
352GL_API void GL_APIENTRY glLightxOES (GLenum light, GLenum pname, GLfixed param);
353GL_API void GL_APIENTRY glLightxvOES (GLenum light, GLenum pname, const GLfixed *params);
354GL_API void GL_APIENTRY glLineWidthxOES (GLfixed width);
355GL_API void GL_APIENTRY glLoadMatrixxOES (const GLfixed *m);
356GL_API void GL_APIENTRY glMaterialxOES (GLenum face, GLenum pname, GLfixed param);
357GL_API void GL_APIENTRY glMaterialxvOES (GLenum face, GLenum pname, const GLfixed *params);
358GL_API void GL_APIENTRY glMultMatrixxOES (const GLfixed *m);
359GL_API void GL_APIENTRY glMultiTexCoord4xOES (GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q);
360GL_API void GL_APIENTRY glNormal3xOES (GLfixed nx, GLfixed ny, GLfixed nz);
361GL_API void GL_APIENTRY glOrthoxOES (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
362GL_API void GL_APIENTRY glPointParameterxOES (GLenum pname, GLfixed param);
363GL_API void GL_APIENTRY glPointParameterxvOES (GLenum pname, const GLfixed *params);
364GL_API void GL_APIENTRY glPointSizexOES (GLfixed size);
365GL_API void GL_APIENTRY glPolygonOffsetxOES (GLfixed factor, GLfixed units);
366GL_API void GL_APIENTRY glRotatexOES (GLfixed angle, GLfixed x, GLfixed y, GLfixed z);
367GL_API void GL_APIENTRY glSampleCoveragexOES (GLclampx value, GLboolean invert);
368GL_API void GL_APIENTRY glScalexOES (GLfixed x, GLfixed y, GLfixed z);
369GL_API void GL_APIENTRY glTexEnvxOES (GLenum target, GLenum pname, GLfixed param);
370GL_API void GL_APIENTRY glTexEnvxvOES (GLenum target, GLenum pname, const GLfixed *params);
371GL_API void GL_APIENTRY glTexParameterxOES (GLenum target, GLenum pname, GLfixed param);
372GL_API void GL_APIENTRY glTexParameterxvOES (GLenum target, GLenum pname, const GLfixed *params);
373GL_API void GL_APIENTRY glTranslatexOES (GLfixed x, GLfixed y, GLfixed z);
374#endif
375typedef void (GL_APIENTRYP PFNGLALPHAFUNCXOESPROC) (GLenum func, GLclampx ref);
376typedef void (GL_APIENTRYP PFNGLCLEARCOLORXOESPROC) (GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha);
377typedef void (GL_APIENTRYP PFNGLCLEARDEPTHXOESPROC) (GLclampx depth);
378typedef void (GL_APIENTRYP PFNGLCLIPPLANEXOESPROC) (GLenum plane, const GLfixed *equation);
379typedef void (GL_APIENTRYP PFNGLCOLOR4XOESPROC) (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
380typedef void (GL_APIENTRYP PFNGLDEPTHRANGEXOESPROC) (GLclampx zNear, GLclampx zFar);
381typedef void (GL_APIENTRYP PFNGLFOGXOESPROC) (GLenum pname, GLfixed param);
382typedef void (GL_APIENTRYP PFNGLFOGXVOESPROC) (GLenum pname, const GLfixed *params);
383typedef void (GL_APIENTRYP PFNGLFRUSTUMXOESPROC) (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
384typedef void (GL_APIENTRYP PFNGLGETCLIPPLANEXOESPROC) (GLenum pname, GLfixed eqn[4]);
385typedef void (GL_APIENTRYP PFNGLGETFIXEDVOESPROC) (GLenum pname, GLfixed *params);
386typedef void (GL_APIENTRYP PFNGLGETLIGHTXVOESPROC) (GLenum light, GLenum pname, GLfixed *params);
387typedef void (GL_APIENTRYP PFNGLGETMATERIALXVOESPROC) (GLenum face, GLenum pname, GLfixed *params);
388typedef void (GL_APIENTRYP PFNGLGETTEXENVXVOESPROC) (GLenum env, GLenum pname, GLfixed *params);
389typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERXVOESPROC) (GLenum target, GLenum pname, GLfixed *params);
390typedef void (GL_APIENTRYP PFNGLLIGHTMODELXOESPROC) (GLenum pname, GLfixed param);
391typedef void (GL_APIENTRYP PFNGLLIGHTMODELXVOESPROC) (GLenum pname, const GLfixed *params);
392typedef void (GL_APIENTRYP PFNGLLIGHTXOESPROC) (GLenum light, GLenum pname, GLfixed param);
393typedef void (GL_APIENTRYP PFNGLLIGHTXVOESPROC) (GLenum light, GLenum pname, const GLfixed *params);
394typedef void (GL_APIENTRYP PFNGLLINEWIDTHXOESPROC) (GLfixed width);
395typedef void (GL_APIENTRYP PFNGLLOADMATRIXXOESPROC) (const GLfixed *m);
396typedef void (GL_APIENTRYP PFNGLMATERIALXOESPROC) (GLenum face, GLenum pname, GLfixed param);
397typedef void (GL_APIENTRYP PFNGLMATERIALXVOESPROC) (GLenum face, GLenum pname, const GLfixed *params);
398typedef void (GL_APIENTRYP PFNGLMULTMATRIXXOESPROC) (const GLfixed *m);
399typedef void (GL_APIENTRYP PFNGLMULTITEXCOORD4XOESPROC) (GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q);
400typedef void (GL_APIENTRYP PFNGLNORMAL3XOESPROC) (GLfixed nx, GLfixed ny, GLfixed nz);
401typedef void (GL_APIENTRYP PFNGLORTHOXOESPROC) (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
402typedef void (GL_APIENTRYP PFNGLPOINTPARAMETERXOESPROC) (GLenum pname, GLfixed param);
403typedef void (GL_APIENTRYP PFNGLPOINTPARAMETERXVOESPROC) (GLenum pname, const GLfixed *params);
404typedef void (GL_APIENTRYP PFNGLPOINTSIZEXOESPROC) (GLfixed size);
405typedef void (GL_APIENTRYP PFNGLPOLYGONOFFSETXOESPROC) (GLfixed factor, GLfixed units);
406typedef void (GL_APIENTRYP PFNGLROTATEXOESPROC) (GLfixed angle, GLfixed x, GLfixed y, GLfixed z);
407typedef void (GL_APIENTRYP PFNGLSAMPLECOVERAGEXOESPROC) (GLclampx value, GLboolean invert);
408typedef void (GL_APIENTRYP PFNGLSCALEXOESPROC) (GLfixed x, GLfixed y, GLfixed z);
409typedef void (GL_APIENTRYP PFNGLTEXENVXOESPROC) (GLenum target, GLenum pname, GLfixed param);
410typedef void (GL_APIENTRYP PFNGLTEXENVXVOESPROC) (GLenum target, GLenum pname, const GLfixed *params);
411typedef void (GL_APIENTRYP PFNGLTEXPARAMETERXOESPROC) (GLenum target, GLenum pname, GLfixed param);
412typedef void (GL_APIENTRYP PFNGLTEXPARAMETERXVOESPROC) (GLenum target, GLenum pname, const GLfixed *params);
413typedef void (GL_APIENTRYP PFNGLTRANSLATEXOESPROC) (GLfixed x, GLfixed y, GLfixed z);
414#endif
415
416/* GL_OES_framebuffer_object */
417#ifndef GL_OES_framebuffer_object
418#define GL_OES_framebuffer_object 1
419#ifdef GL_GLEXT_PROTOTYPES
420GL_API GLboolean GL_APIENTRY glIsRenderbufferOES (GLuint renderbuffer);
421GL_API void GL_APIENTRY glBindRenderbufferOES (GLenum target, GLuint renderbuffer);
422GL_API void GL_APIENTRY glDeleteRenderbuffersOES (GLsizei n, const GLuint* renderbuffers);
423GL_API void GL_APIENTRY glGenRenderbuffersOES (GLsizei n, GLuint* renderbuffers);
424GL_API void GL_APIENTRY glRenderbufferStorageOES (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
425GL_API void GL_APIENTRY glGetRenderbufferParameterivOES (GLenum target, GLenum pname, GLint* params);
426GL_API GLboolean GL_APIENTRY glIsFramebufferOES (GLuint framebuffer);
427GL_API void GL_APIENTRY glBindFramebufferOES (GLenum target, GLuint framebuffer);
428GL_API void GL_APIENTRY glDeleteFramebuffersOES (GLsizei n, const GLuint* framebuffers);
429GL_API void GL_APIENTRY glGenFramebuffersOES (GLsizei n, GLuint* framebuffers);
430GL_API GLenum GL_APIENTRY glCheckFramebufferStatusOES (GLenum target);
431GL_API void GL_APIENTRY glFramebufferRenderbufferOES (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
432GL_API void GL_APIENTRY glFramebufferTexture2DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
433GL_API void GL_APIENTRY glGetFramebufferAttachmentParameterivOES (GLenum target, GLenum attachment, GLenum pname, GLint* params);
434GL_API void GL_APIENTRY glGenerateMipmapOES (GLenum target);
435#endif
436typedef GLboolean (GL_APIENTRYP PFNGLISRENDERBUFFEROESPROC) (GLuint renderbuffer);
437typedef void (GL_APIENTRYP PFNGLBINDRENDERBUFFEROESPROC) (GLenum target, GLuint renderbuffer);
438typedef void (GL_APIENTRYP PFNGLDELETERENDERBUFFERSOESPROC) (GLsizei n, const GLuint* renderbuffers);
439typedef void (GL_APIENTRYP PFNGLGENRENDERBUFFERSOESPROC) (GLsizei n, GLuint* renderbuffers);
440typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
441typedef void (GL_APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVOESPROC) (GLenum target, GLenum pname, GLint* params);
442typedef GLboolean (GL_APIENTRYP PFNGLISFRAMEBUFFEROESPROC) (GLuint framebuffer);
443typedef void (GL_APIENTRYP PFNGLBINDFRAMEBUFFEROESPROC) (GLenum target, GLuint framebuffer);
444typedef void (GL_APIENTRYP PFNGLDELETEFRAMEBUFFERSOESPROC) (GLsizei n, const GLuint* framebuffers);
445typedef void (GL_APIENTRYP PFNGLGENFRAMEBUFFERSOESPROC) (GLsizei n, GLuint* framebuffers);
446typedef GLenum (GL_APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSOESPROC) (GLenum target);
447typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFEROESPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
448typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DOESPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
449typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC) (GLenum target, GLenum attachment, GLenum pname, GLint* params);
450typedef void (GL_APIENTRYP PFNGLGENERATEMIPMAPOESPROC) (GLenum target);
451#endif
452
453/* GL_OES_mapbuffer */
454#ifndef GL_OES_mapbuffer
455#define GL_OES_mapbuffer 1
456#ifdef GL_GLEXT_PROTOTYPES
457GL_API void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
458GL_API GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
459GL_API void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, void** params);
460#endif
461typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
462typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
463typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, void** params);
464#endif
465
466/* GL_OES_matrix_get */
467#ifndef GL_OES_matrix_get
468#define GL_OES_matrix_get 1
469#endif
470
471/* GL_OES_matrix_palette */
472#ifndef GL_OES_matrix_palette
473#define GL_OES_matrix_palette 1
474#ifdef GL_GLEXT_PROTOTYPES
475GL_API void GL_APIENTRY glCurrentPaletteMatrixOES (GLuint matrixpaletteindex);
476GL_API void GL_APIENTRY glLoadPaletteFromModelViewMatrixOES (void);
477GL_API void GL_APIENTRY glMatrixIndexPointerOES (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
478GL_API void GL_APIENTRY glWeightPointerOES (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
479#endif
480typedef void (GL_APIENTRYP PFNGLCURRENTPALETTEMATRIXOESPROC) (GLuint matrixpaletteindex);
481typedef void (GL_APIENTRYP PFNGLLOADPALETTEFROMMODELVIEWMATRIXOESPROC) (void);
482typedef void (GL_APIENTRYP PFNGLMATRIXINDEXPOINTEROESPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
483typedef void (GL_APIENTRYP PFNGLWEIGHTPOINTEROESPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
484#endif
485
486/* GL_OES_packed_depth_stencil */
487#ifndef GL_OES_packed_depth_stencil
488#define GL_OES_packed_depth_stencil 1
489#endif
490
491/* GL_OES_query_matrix */
492#ifndef GL_OES_query_matrix
493#define GL_OES_query_matrix 1
494#ifdef GL_GLEXT_PROTOTYPES
495GL_API GLbitfield GL_APIENTRY glQueryMatrixxOES (GLfixed mantissa[16], GLint exponent[16]);
496#endif
497typedef GLbitfield (GL_APIENTRYP PFNGLQUERYMATRIXXOESPROC) (GLfixed mantissa[16], GLint exponent[16]);
498#endif
499
500/* GL_OES_rgb8_rgba8 */
501#ifndef GL_OES_rgb8_rgba8
502#define GL_OES_rgb8_rgba8 1
503#endif
504
505/* GL_OES_single_precision */
506#ifndef GL_OES_single_precision
507#define GL_OES_single_precision 1
508#ifdef GL_GLEXT_PROTOTYPES
509GL_API void GL_APIENTRY glDepthRangefOES (GLclampf zNear, GLclampf zFar);
510GL_API void GL_APIENTRY glFrustumfOES (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);
511GL_API void GL_APIENTRY glOrthofOES (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);
512GL_API void GL_APIENTRY glClipPlanefOES (GLenum plane, const GLfloat *equation);
513GL_API void GL_APIENTRY glGetClipPlanefOES (GLenum pname, GLfloat eqn[4]);
514GL_API void GL_APIENTRY glClearDepthfOES (GLclampf depth);
515#endif
516typedef void (GL_APIENTRYP PFNGLDEPTHRANGEFOESPROC) (GLclampf zNear, GLclampf zFar);
517typedef void (GL_APIENTRYP PFNGLFRUSTUMFOESPROC) (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);
518typedef void (GL_APIENTRYP PFNGLORTHOFOESPROC) (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);
519typedef void (GL_APIENTRYP PFNGLCLIPPLANEFOESPROC) (GLenum plane, const GLfloat *equation);
520typedef void (GL_APIENTRYP PFNGLGETCLIPPLANEFOESPROC) (GLenum pname, GLfloat eqn[4]);
521typedef void (GL_APIENTRYP PFNGLCLEARDEPTHFOESPROC) (GLclampf depth);
522#endif
523
524/* GL_OES_stencil1 */
525#ifndef GL_OES_stencil1
526#define GL_OES_stencil1 1
527#endif
528
529/* GL_OES_stencil4 */
530#ifndef GL_OES_stencil4
531#define GL_OES_stencil4 1
532#endif
533
534/* GL_OES_stencil8 */
535#ifndef GL_OES_stencil8
536#define GL_OES_stencil8 1
537#endif
538
539/* GL_OES_stencil_wrap */
540#ifndef GL_OES_stencil_wrap
541#define GL_OES_stencil_wrap 1
542#endif
543
544/* GL_OES_texture_cube_map */
545#ifndef GL_OES_texture_cube_map
546#define GL_OES_texture_cube_map 1
547#ifdef GL_GLEXT_PROTOTYPES
548GL_API void GL_APIENTRY glTexGenfOES (GLenum coord, GLenum pname, GLfloat param);
549GL_API void GL_APIENTRY glTexGenfvOES (GLenum coord, GLenum pname, const GLfloat *params);
550GL_API void GL_APIENTRY glTexGeniOES (GLenum coord, GLenum pname, GLint param);
551GL_API void GL_APIENTRY glTexGenivOES (GLenum coord, GLenum pname, const GLint *params);
552GL_API void GL_APIENTRY glTexGenxOES (GLenum coord, GLenum pname, GLfixed param);
553GL_API void GL_APIENTRY glTexGenxvOES (GLenum coord, GLenum pname, const GLfixed *params);
554GL_API void GL_APIENTRY glGetTexGenfvOES (GLenum coord, GLenum pname, GLfloat *params);
555GL_API void GL_APIENTRY glGetTexGenivOES (GLenum coord, GLenum pname, GLint *params);
556GL_API void GL_APIENTRY glGetTexGenxvOES (GLenum coord, GLenum pname, GLfixed *params);
557#endif
558typedef void (GL_APIENTRYP PFNGLTEXGENFOESPROC) (GLenum coord, GLenum pname, GLfloat param);
559typedef void (GL_APIENTRYP PFNGLTEXGENFVOESPROC) (GLenum coord, GLenum pname, const GLfloat *params);
560typedef void (GL_APIENTRYP PFNGLTEXGENIOESPROC) (GLenum coord, GLenum pname, GLint param);
561typedef void (GL_APIENTRYP PFNGLTEXGENIVOESPROC) (GLenum coord, GLenum pname, const GLint *params);
562typedef void (GL_APIENTRYP PFNGLTEXGENXOESPROC) (GLenum coord, GLenum pname, GLfixed param);
563typedef void (GL_APIENTRYP PFNGLTEXGENXVOESPROC) (GLenum coord, GLenum pname, const GLfixed *params);
564typedef void (GL_APIENTRYP PFNGLGETTEXGENFVOESPROC) (GLenum coord, GLenum pname, GLfloat *params);
565typedef void (GL_APIENTRYP PFNGLGETTEXGENIVOESPROC) (GLenum coord, GLenum pname, GLint *params);
566typedef void (GL_APIENTRYP PFNGLGETTEXGENXVOESPROC) (GLenum coord, GLenum pname, GLfixed *params);
567#endif
568
569/* GL_OES_texture_env_crossbar */
570#ifndef GL_OES_texture_env_crossbar
571#define GL_OES_texture_env_crossbar 1
572#endif
573
574/* GL_OES_texture_mirrored_repeat */
575#ifndef GL_OES_texture_mirrored_repeat
576#define GL_OES_texture_mirrored_repeat 1
577#endif
578
579/*------------------------------------------------------------------------*
580 * AMD extension functions
581 *------------------------------------------------------------------------*/
582
583/* GL_AMD_compressed_3DC_texture */
584#ifndef GL_AMD_compressed_3DC_texture
585#define GL_AMD_compressed_3DC_texture 1
586#endif
587
588/* GL_AMD_compressed_ATC_texture */
589#ifndef GL_AMD_compressed_ATC_texture
590#define GL_AMD_compressed_ATC_texture 1
591#endif
592
593/*------------------------------------------------------------------------*
594 * EXT extension functions
595 *------------------------------------------------------------------------*/
596
597/* GL_EXT_texture_filter_anisotropic */
598#ifndef GL_EXT_texture_filter_anisotropic
599#define GL_EXT_texture_filter_anisotropic 1
600#endif
601
602#ifdef __cplusplus
603}
604#endif
605
606#endif /* __glext_h_ */
607
608