Update contrib.
4 /* differences from the actual sample implemtation provided by Khronos:
6 - the Doxygen comment with tag 'publishedAll', and tag 'released'
7 - added __SOFTFP decorations for call-by-value float functions
20 ** SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008)
21 ** Copyright (C) 2008 Silicon Graphics, Inc. All Rights Reserved.
23 ** Permission is hereby granted, free of charge, to any person obtaining
24 ** a copy of this software and associated documentation files
25 ** (the "Software"), to deal in the Software without restriction,
26 ** including without limitation the rights to use, copy, modify, merge,
27 ** publish, distribute, sublicense, and/or sell copies of the Software,
28 ** and to permit persons to whom the Software is furnished to do so,
29 ** subject to the following conditions:
31 ** The above copyright notice including the dates of first
32 ** publication and either this permission notice or a reference to
33 ** http://oss.sgi.com/projects/FreeB/ shall be included in all copies
34 ** or substantial portions of the Software.
36 ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
37 ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
38 ** MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
39 ** IN NO EVENT SHALL SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM,
40 ** DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
41 ** OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
42 ** THE USE OR OTHER DEALINGS IN THE SOFTWARE.
44 ** Except as contained in this notice, the name of Silicon Graphics, Inc.
45 ** shall not be used in advertising or otherwise to promote the sale, use
46 ** or other dealings in this Software without prior written authorization
47 ** from Silicon Graphics, Inc.
51 # define GL_APIENTRYP GL_APIENTRY*
54 /*------------------------------------------------------------------------*
55 * OES extension tokens
56 *------------------------------------------------------------------------*/
58 /* GL_OES_blend_equation_separate */
59 #ifndef GL_OES_blend_equation_separate
60 /* BLEND_EQUATION_RGB_OES same as BLEND_EQUATION_OES */
61 #define GL_BLEND_EQUATION_RGB_OES 0x8009
62 #define GL_BLEND_EQUATION_ALPHA_OES 0x883D
65 /* GL_OES_blend_func_separate */
66 #ifndef GL_OES_blend_func_separate
67 #define GL_BLEND_DST_RGB_OES 0x80C8
68 #define GL_BLEND_SRC_RGB_OES 0x80C9
69 #define GL_BLEND_DST_ALPHA_OES 0x80CA
70 #define GL_BLEND_SRC_ALPHA_OES 0x80CB
73 /* GL_OES_blend_subtract */
74 #ifndef GL_OES_blend_subtract
75 #define GL_BLEND_EQUATION_OES 0x8009
76 #define GL_FUNC_ADD_OES 0x8006
77 #define GL_FUNC_SUBTRACT_OES 0x800A
78 #define GL_FUNC_REVERSE_SUBTRACT_OES 0x800B
81 /* GL_OES_compressed_ETC1_RGB8_texture */
82 #ifndef GL_OES_compressed_ETC1_RGB8_texture
83 #define GL_ETC1_RGB8_OES 0x8D64
86 /* OES_draw_texture */
87 #ifndef GL_OES_draw_texture
88 #define GL_TEXTURE_CROP_RECT_OES 0x8B9D
92 #ifndef GL_OES_fixed_point
93 #define GL_FIXED_OES 0x140C
96 /* OES_framebuffer_object */
97 #ifndef GL_OES_framebuffer_object
98 #define GL_FRAMEBUFFER_OES 0x8D40
99 #define GL_RENDERBUFFER_OES 0x8D41
100 #define GL_RGBA4_OES 0x8056
101 #define GL_RGB5_A1_OES 0x8057
102 #define GL_RGB565_OES 0x8D62
103 #define GL_DEPTH_COMPONENT16_OES 0x81A5
104 #define GL_RENDERBUFFER_WIDTH_OES 0x8D42
105 #define GL_RENDERBUFFER_HEIGHT_OES 0x8D43
106 #define GL_RENDERBUFFER_INTERNAL_FORMAT_OES 0x8D44
107 #define GL_RENDERBUFFER_RED_SIZE_OES 0x8D50
108 #define GL_RENDERBUFFER_GREEN_SIZE_OES 0x8D51
109 #define GL_RENDERBUFFER_BLUE_SIZE_OES 0x8D52
110 #define GL_RENDERBUFFER_ALPHA_SIZE_OES 0x8D53
111 #define GL_RENDERBUFFER_DEPTH_SIZE_OES 0x8D54
112 #define GL_RENDERBUFFER_STENCIL_SIZE_OES 0x8D55
113 #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES 0x8CD0
114 #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES 0x8CD1
115 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES 0x8CD2
116 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES 0x8CD3
117 #define GL_COLOR_ATTACHMENT0_OES 0x8CE0
118 #define GL_DEPTH_ATTACHMENT_OES 0x8D00
119 #define GL_STENCIL_ATTACHMENT_OES 0x8D20
120 #define GL_FRAMEBUFFER_COMPLETE_OES 0x8CD5
121 #define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES 0x8CD6
122 #define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES 0x8CD7
123 #define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES 0x8CD9
124 #define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES 0x8CDA
125 #define GL_FRAMEBUFFER_UNSUPPORTED_OES 0x8CDD
126 #define GL_FRAMEBUFFER_BINDING_OES 0x8CA6
127 #define GL_RENDERBUFFER_BINDING_OES 0x8CA7
128 #define GL_MAX_RENDERBUFFER_SIZE_OES 0x84E8
129 #define GL_INVALID_FRAMEBUFFER_OPERATION_OES 0x0506
133 #ifndef GL_OES_matrix_get
134 #define GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES 0x898D
135 #define GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES 0x898E
136 #define GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES 0x898F
139 /* OES_matrix_palette */
140 #ifndef GL_OES_matrix_palette
141 #define GL_MAX_VERTEX_UNITS_OES 0x86A4
142 #define GL_MAX_PALETTE_MATRICES_OES 0x8842
143 #define GL_MATRIX_PALETTE_OES 0x8840
144 #define GL_MATRIX_INDEX_ARRAY_OES 0x8844
145 #define GL_WEIGHT_ARRAY_OES 0x86AD
146 #define GL_CURRENT_PALETTE_MATRIX_OES 0x8843
147 #define GL_MATRIX_INDEX_ARRAY_SIZE_OES 0x8846
148 #define GL_MATRIX_INDEX_ARRAY_TYPE_OES 0x8847
149 #define GL_MATRIX_INDEX_ARRAY_STRIDE_OES 0x8848
150 #define GL_MATRIX_INDEX_ARRAY_POINTER_OES 0x8849
151 #define GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES 0x8B9E
152 #define GL_WEIGHT_ARRAY_SIZE_OES 0x86AB
153 #define GL_WEIGHT_ARRAY_TYPE_OES 0x86A9
154 #define GL_WEIGHT_ARRAY_STRIDE_OES 0x86AA
155 #define GL_WEIGHT_ARRAY_POINTER_OES 0x86AC
156 #define GL_WEIGHT_ARRAY_BUFFER_BINDING_OES 0x889E
159 /* GL_OES_stencil_wrap */
160 #ifndef GL_OES_stencil_wrap
161 #define GL_INCR_WRAP_OES 0x8507
162 #define GL_DECR_WRAP_OES 0x8508
165 /* GL_OES_texture_cube_map */
166 #ifndef GL_OES_texture_cube_map
167 #define GL_NORMAL_MAP_OES 0x8511
168 #define GL_REFLECTION_MAP_OES 0x8512
169 #define GL_TEXTURE_CUBE_MAP_OES 0x8513
170 #define GL_TEXTURE_BINDING_CUBE_MAP_OES 0x8514
171 #define GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES 0x8515
172 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES 0x8516
173 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES 0x8517
174 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES 0x8518
175 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES 0x8519
176 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES 0x851A
177 #define GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES 0x851C
178 #define GL_TEXTURE_GEN_MODE_OES 0x2500
179 #define GL_TEXTURE_GEN_STR_OES 0x8D60
182 /* GL_OES_texture_mirrored_repeat */
183 #ifndef GL_OES_texture_mirrored_repeat
184 #define GL_MIRRORED_REPEAT_OES 0x8370
187 /* GL_OES_EGL_image */
188 #ifndef GL_OES_EGL_image
189 typedef void* GLeglImageOES;
193 #ifndef GL_OES_depth24
194 #define GL_DEPTH_COMPONENT24_OES 0x81A6
198 #ifndef GL_OES_depth32
199 #define GL_DEPTH_COMPONENT32_OES 0x81A7
202 /* GL_OES_mapbuffer */
203 #ifndef GL_OES_mapbuffer
204 #define GL_WRITE_ONLY_OES 0x88B9
205 #define GL_BUFFER_ACCESS_OES 0x88BB
206 #define GL_BUFFER_MAPPED_OES 0x88BC
207 #define GL_BUFFER_MAP_POINTER_OES 0x88BD
210 /* GL_OES_rgb8_rgba8 */
211 #ifndef GL_OES_rgb8_rgba8
212 #define GL_RGB8_OES 0x8051
213 #define GL_RGBA8_OES 0x8058
216 /* GL_OES_stencil1 */
217 #ifndef GL_OES_stencil1
218 #define GL_STENCIL_INDEX1_OES 0x8D46
221 /* GL_OES_stencil4 */
222 #ifndef GL_OES_stencil4
223 #define GL_STENCIL_INDEX4_OES 0x8D47
226 /* GL_OES_stencil8 */
227 #ifndef GL_OES_stencil8
228 #define GL_STENCIL_INDEX8_OES 0x8D48
231 /* GL_AMD_compressed_3DC_texture */
232 #ifndef GL_AMD_compressed_3DC_texture
233 #define GL_3DC_X_AMD 0x87F9
234 #define GL_3DC_XY_AMD 0x87FA
237 /* GL_AMD_compressed_ATC_texture */
238 #ifndef GL_AMD_compressed_ATC_texture
239 #define GL_ATC_RGB_AMD 0x8C92
240 #define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD 0x8C93
241 #define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87EE
244 /* GL_EXT_texture_filter_anisotropic */
245 #ifndef GL_EXT_texture_filter_anisotropic
246 #define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE
247 #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
250 /*------------------------------------------------------------------------*
251 * OES extension functions
252 *------------------------------------------------------------------------*/
254 /* GL_OES_blend_equation_separate */
255 #ifndef GL_OES_blend_equation_separate
256 #define GL_OES_blend_equation_separate 1
257 #ifdef GL_GLEXT_PROTOTYPES
258 GL_API void GL_APIENTRY glBlendEquationSeparateOES (GLenum modeRGB, GLenum modeAlpha);
260 typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONSEPARATEOESPROC) (GLenum modeRGB, GLenum modeAlpha);
263 /* GL_OES_blend_func_separate */
264 #ifndef GL_OES_blend_func_separate
265 #define GL_OES_blend_func_separate 1
266 #ifdef GL_GLEXT_PROTOTYPES
267 GL_API void GL_APIENTRY glBlendFuncSeparateOES (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
269 typedef void (GL_APIENTRYP PFNGLBLENDFUNCSEPARATEOESPROC) (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
272 /* GL_OES_blend_subtract */
273 #ifndef GL_OES_blend_subtract
274 #define GL_OES_blend_subtract 1
275 #ifdef GL_GLEXT_PROTOTYPES
276 GL_API void GL_APIENTRY glBlendEquationOES (GLenum mode);
278 typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONOESPROC) (GLenum mode);
281 /* GL_OES_byte_coordinates */
282 #ifndef GL_OES_byte_coordinates
283 #define GL_OES_byte_coordinates 1
286 /* GL_OES_compressed_ETC1_RGB8_texture */
287 #ifndef GL_OES_compressed_ETC1_RGB8_texture
288 #define GL_OES_compressed_ETC1_RGB8_texture 1
291 /* GL_OES_draw_texture */
292 #ifndef GL_OES_draw_texture
293 #define GL_OES_draw_texture 1
294 #ifdef GL_GLEXT_PROTOTYPES
295 GL_API void GL_APIENTRY glDrawTexsOES (GLshort x, GLshort y, GLshort z, GLshort width, GLshort height);
296 GL_API void GL_APIENTRY glDrawTexiOES (GLint x, GLint y, GLint z, GLint width, GLint height);
297 GL_API void GL_APIENTRY glDrawTexxOES (GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height);
298 GL_API void GL_APIENTRY glDrawTexsvOES (const GLshort *coords);
299 GL_API void GL_APIENTRY glDrawTexivOES (const GLint *coords);
300 GL_API void GL_APIENTRY glDrawTexxvOES (const GLfixed *coords);
301 GL_API void GL_APIENTRY glDrawTexfOES (GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height) __SOFTFP;
302 GL_API void GL_APIENTRY glDrawTexfvOES (const GLfloat *coords);
304 typedef void (GL_APIENTRYP PFNGLDRAWTEXSOESPROC) (GLshort x, GLshort y, GLshort z, GLshort width, GLshort height);
305 typedef void (GL_APIENTRYP PFNGLDRAWTEXIOESPROC) (GLint x, GLint y, GLint z, GLint width, GLint height);
306 typedef void (GL_APIENTRYP PFNGLDRAWTEXXOESPROC) (GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height);
307 typedef void (GL_APIENTRYP PFNGLDRAWTEXSVOESPROC) (const GLshort *coords);
308 typedef void (GL_APIENTRYP PFNGLDRAWTEXIVOESPROC) (const GLint *coords);
309 typedef void (GL_APIENTRYP PFNGLDRAWTEXXVOESPROC) (const GLfixed *coords);
310 typedef void (GL_APIENTRYP PFNGLDRAWTEXFOESPROC) (GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height) __SOFTFP;
311 typedef void (GL_APIENTRYP PFNGLDRAWTEXFVOESPROC) (const GLfloat *coords);
314 /* GL_OES_extended_matrix_palette */
315 #ifndef GL_OES_extended_matrix_palette
316 #define GL_OES_extended_matrix_palette 1
319 /* GL_OES_fixed_point */
320 #ifndef GL_OES_fixed_point
321 #define GL_OES_fixed_point 1
322 #ifdef GL_GLEXT_PROTOTYPES
323 GL_API void GL_APIENTRY glAlphaFuncxOES (GLenum func, GLclampx ref);
324 GL_API void GL_APIENTRY glClearColorxOES (GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha);
325 GL_API void GL_APIENTRY glClearDepthxOES (GLclampx depth);
326 GL_API void GL_APIENTRY glClipPlanexOES (GLenum plane, const GLfixed *equation);
327 GL_API void GL_APIENTRY glColor4xOES (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
328 GL_API void GL_APIENTRY glDepthRangexOES (GLclampx zNear, GLclampx zFar);
329 GL_API void GL_APIENTRY glFogxOES (GLenum pname, GLfixed param);
330 GL_API void GL_APIENTRY glFogxvOES (GLenum pname, const GLfixed *params);
331 GL_API void GL_APIENTRY glFrustumxOES (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
332 GL_API void GL_APIENTRY glGetClipPlanexOES (GLenum pname, GLfixed eqn[4]);
333 GL_API void GL_APIENTRY glGetFixedvOES (GLenum pname, GLfixed *params);
334 GL_API void GL_APIENTRY glGetLightxvOES (GLenum light, GLenum pname, GLfixed *params);
335 GL_API void GL_APIENTRY glGetMaterialxvOES (GLenum face, GLenum pname, GLfixed *params);
336 GL_API void GL_APIENTRY glGetTexEnvxvOES (GLenum env, GLenum pname, GLfixed *params);
337 GL_API void GL_APIENTRY glGetTexParameterxvOES (GLenum target, GLenum pname, GLfixed *params);
338 GL_API void GL_APIENTRY glLightModelxOES (GLenum pname, GLfixed param);
339 GL_API void GL_APIENTRY glLightModelxvOES (GLenum pname, const GLfixed *params);
340 GL_API void GL_APIENTRY glLightxOES (GLenum light, GLenum pname, GLfixed param);
341 GL_API void GL_APIENTRY glLightxvOES (GLenum light, GLenum pname, const GLfixed *params);
342 GL_API void GL_APIENTRY glLineWidthxOES (GLfixed width);
343 GL_API void GL_APIENTRY glLoadMatrixxOES (const GLfixed *m);
344 GL_API void GL_APIENTRY glMaterialxOES (GLenum face, GLenum pname, GLfixed param);
345 GL_API void GL_APIENTRY glMaterialxvOES (GLenum face, GLenum pname, const GLfixed *params);
346 GL_API void GL_APIENTRY glMultMatrixxOES (const GLfixed *m);
347 GL_API void GL_APIENTRY glMultiTexCoord4xOES (GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q);
348 GL_API void GL_APIENTRY glNormal3xOES (GLfixed nx, GLfixed ny, GLfixed nz);
349 GL_API void GL_APIENTRY glOrthoxOES (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
350 GL_API void GL_APIENTRY glPointParameterxOES (GLenum pname, GLfixed param);
351 GL_API void GL_APIENTRY glPointParameterxvOES (GLenum pname, const GLfixed *params);
352 GL_API void GL_APIENTRY glPointSizexOES (GLfixed size);
353 GL_API void GL_APIENTRY glPolygonOffsetxOES (GLfixed factor, GLfixed units);
354 GL_API void GL_APIENTRY glRotatexOES (GLfixed angle, GLfixed x, GLfixed y, GLfixed z);
355 GL_API void GL_APIENTRY glSampleCoveragexOES (GLclampx value, GLboolean invert);
356 GL_API void GL_APIENTRY glScalexOES (GLfixed x, GLfixed y, GLfixed z);
357 GL_API void GL_APIENTRY glTexEnvxOES (GLenum target, GLenum pname, GLfixed param);
358 GL_API void GL_APIENTRY glTexEnvxvOES (GLenum target, GLenum pname, const GLfixed *params);
359 GL_API void GL_APIENTRY glTexParameterxOES (GLenum target, GLenum pname, GLfixed param);
360 GL_API void GL_APIENTRY glTexParameterxvOES (GLenum target, GLenum pname, const GLfixed *params);
361 GL_API void GL_APIENTRY glTranslatexOES (GLfixed x, GLfixed y, GLfixed z);
363 typedef void (GL_APIENTRYP PFNGLALPHAFUNCXOESPROC) (GLenum func, GLclampx ref);
364 typedef void (GL_APIENTRYP PFNGLCLEARCOLORXOESPROC) (GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha);
365 typedef void (GL_APIENTRYP PFNGLCLEARDEPTHXOESPROC) (GLclampx depth);
366 typedef void (GL_APIENTRYP PFNGLCLIPPLANEXOESPROC) (GLenum plane, const GLfixed *equation);
367 typedef void (GL_APIENTRYP PFNGLCOLOR4XOESPROC) (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
368 typedef void (GL_APIENTRYP PFNGLDEPTHRANGEXOESPROC) (GLclampx zNear, GLclampx zFar);
369 typedef void (GL_APIENTRYP PFNGLFOGXOESPROC) (GLenum pname, GLfixed param);
370 typedef void (GL_APIENTRYP PFNGLFOGXVOESPROC) (GLenum pname, const GLfixed *params);
371 typedef void (GL_APIENTRYP PFNGLFRUSTUMXOESPROC) (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
372 typedef void (GL_APIENTRYP PFNGLGETCLIPPLANEXOESPROC) (GLenum pname, GLfixed eqn[4]);
373 typedef void (GL_APIENTRYP PFNGLGETFIXEDVOESPROC) (GLenum pname, GLfixed *params);
374 typedef void (GL_APIENTRYP PFNGLGETLIGHTXVOESPROC) (GLenum light, GLenum pname, GLfixed *params);
375 typedef void (GL_APIENTRYP PFNGLGETMATERIALXVOESPROC) (GLenum face, GLenum pname, GLfixed *params);
376 typedef void (GL_APIENTRYP PFNGLGETTEXENVXVOESPROC) (GLenum env, GLenum pname, GLfixed *params);
377 typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERXVOESPROC) (GLenum target, GLenum pname, GLfixed *params);
378 typedef void (GL_APIENTRYP PFNGLLIGHTMODELXOESPROC) (GLenum pname, GLfixed param);
379 typedef void (GL_APIENTRYP PFNGLLIGHTMODELXVOESPROC) (GLenum pname, const GLfixed *params);
380 typedef void (GL_APIENTRYP PFNGLLIGHTXOESPROC) (GLenum light, GLenum pname, GLfixed param);
381 typedef void (GL_APIENTRYP PFNGLLIGHTXVOESPROC) (GLenum light, GLenum pname, const GLfixed *params);
382 typedef void (GL_APIENTRYP PFNGLLINEWIDTHXOESPROC) (GLfixed width);
383 typedef void (GL_APIENTRYP PFNGLLOADMATRIXXOESPROC) (const GLfixed *m);
384 typedef void (GL_APIENTRYP PFNGLMATERIALXOESPROC) (GLenum face, GLenum pname, GLfixed param);
385 typedef void (GL_APIENTRYP PFNGLMATERIALXVOESPROC) (GLenum face, GLenum pname, const GLfixed *params);
386 typedef void (GL_APIENTRYP PFNGLMULTMATRIXXOESPROC) (const GLfixed *m);
387 typedef void (GL_APIENTRYP PFNGLMULTITEXCOORD4XOESPROC) (GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q);
388 typedef void (GL_APIENTRYP PFNGLNORMAL3XOESPROC) (GLfixed nx, GLfixed ny, GLfixed nz);
389 typedef void (GL_APIENTRYP PFNGLORTHOXOESPROC) (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
390 typedef void (GL_APIENTRYP PFNGLPOINTPARAMETERXOESPROC) (GLenum pname, GLfixed param);
391 typedef void (GL_APIENTRYP PFNGLPOINTPARAMETERXVOESPROC) (GLenum pname, const GLfixed *params);
392 typedef void (GL_APIENTRYP PFNGLPOINTSIZEXOESPROC) (GLfixed size);
393 typedef void (GL_APIENTRYP PFNGLPOLYGONOFFSETXOESPROC) (GLfixed factor, GLfixed units);
394 typedef void (GL_APIENTRYP PFNGLROTATEXOESPROC) (GLfixed angle, GLfixed x, GLfixed y, GLfixed z);
395 typedef void (GL_APIENTRYP PFNGLSAMPLECOVERAGEXOESPROC) (GLclampx value, GLboolean invert);
396 typedef void (GL_APIENTRYP PFNGLSCALEXOESPROC) (GLfixed x, GLfixed y, GLfixed z);
397 typedef void (GL_APIENTRYP PFNGLTEXENVXOESPROC) (GLenum target, GLenum pname, GLfixed param);
398 typedef void (GL_APIENTRYP PFNGLTEXENVXVOESPROC) (GLenum target, GLenum pname, const GLfixed *params);
399 typedef void (GL_APIENTRYP PFNGLTEXPARAMETERXOESPROC) (GLenum target, GLenum pname, GLfixed param);
400 typedef void (GL_APIENTRYP PFNGLTEXPARAMETERXVOESPROC) (GLenum target, GLenum pname, const GLfixed *params);
401 typedef void (GL_APIENTRYP PFNGLTRANSLATEXOESPROC) (GLfixed x, GLfixed y, GLfixed z);
404 /* GL_OES_framebuffer_object */
405 #ifndef GL_OES_framebuffer_object
406 #define GL_OES_framebuffer_object 1
407 #ifdef GL_GLEXT_PROTOTYPES
408 GL_API GLboolean GL_APIENTRY glIsRenderbufferOES (GLuint renderbuffer);
409 GL_API void GL_APIENTRY glBindRenderbufferOES (GLenum target, GLuint renderbuffer);
410 GL_API void GL_APIENTRY glDeleteRenderbuffersOES (GLsizei n, const GLuint* renderbuffers);
411 GL_API void GL_APIENTRY glGenRenderbuffersOES (GLsizei n, GLuint* renderbuffers);
412 GL_API void GL_APIENTRY glRenderbufferStorageOES (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
413 GL_API void GL_APIENTRY glGetRenderbufferParameterivOES (GLenum target, GLenum pname, GLint* params);
414 GL_API GLboolean GL_APIENTRY glIsFramebufferOES (GLuint framebuffer);
415 GL_API void GL_APIENTRY glBindFramebufferOES (GLenum target, GLuint framebuffer);
416 GL_API void GL_APIENTRY glDeleteFramebuffersOES (GLsizei n, const GLuint* framebuffers);
417 GL_API void GL_APIENTRY glGenFramebuffersOES (GLsizei n, GLuint* framebuffers);
418 GL_API GLenum GL_APIENTRY glCheckFramebufferStatusOES (GLenum target);
419 GL_API void GL_APIENTRY glFramebufferRenderbufferOES (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
420 GL_API void GL_APIENTRY glFramebufferTexture2DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
421 GL_API void GL_APIENTRY glGetFramebufferAttachmentParameterivOES (GLenum target, GLenum attachment, GLenum pname, GLint* params);
422 GL_API void GL_APIENTRY glGenerateMipmapOES (GLenum target);
424 typedef GLboolean (GL_APIENTRYP PFNGLISRENDERBUFFEROESPROC) (GLuint renderbuffer);
425 typedef void (GL_APIENTRYP PFNGLBINDRENDERBUFFEROESPROC) (GLenum target, GLuint renderbuffer);
426 typedef void (GL_APIENTRYP PFNGLDELETERENDERBUFFERSOESPROC) (GLsizei n, const GLuint* renderbuffers);
427 typedef void (GL_APIENTRYP PFNGLGENRENDERBUFFERSOESPROC) (GLsizei n, GLuint* renderbuffers);
428 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
429 typedef void (GL_APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVOESPROC) (GLenum target, GLenum pname, GLint* params);
430 typedef GLboolean (GL_APIENTRYP PFNGLISFRAMEBUFFEROESPROC) (GLuint framebuffer);
431 typedef void (GL_APIENTRYP PFNGLBINDFRAMEBUFFEROESPROC) (GLenum target, GLuint framebuffer);
432 typedef void (GL_APIENTRYP PFNGLDELETEFRAMEBUFFERSOESPROC) (GLsizei n, const GLuint* framebuffers);
433 typedef void (GL_APIENTRYP PFNGLGENFRAMEBUFFERSOESPROC) (GLsizei n, GLuint* framebuffers);
434 typedef GLenum (GL_APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSOESPROC) (GLenum target);
435 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFEROESPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
436 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DOESPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
437 typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC) (GLenum target, GLenum attachment, GLenum pname, GLint* params);
438 typedef void (GL_APIENTRYP PFNGLGENERATEMIPMAPOESPROC) (GLenum target);
441 /* GL_OES_matrix_get */
442 #ifndef GL_OES_matrix_get
443 #define GL_OES_matrix_get 1
446 /* GL_OES_matrix_palette */
447 #ifndef GL_OES_matrix_palette
448 #define GL_OES_matrix_palette 1
449 #ifdef GL_GLEXT_PROTOTYPES
450 GL_API void GL_APIENTRY glCurrentPaletteMatrixOES (GLuint matrixpaletteindex);
451 GL_API void GL_APIENTRY glLoadPaletteFromModelViewMatrixOES (void);
452 GL_API void GL_APIENTRY glMatrixIndexPointerOES (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
453 GL_API void GL_APIENTRY glWeightPointerOES (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
455 typedef void (GL_APIENTRYP PFNGLCURRENTPALETTEMATRIXOESPROC) (GLuint matrixpaletteindex);
456 typedef void (GL_APIENTRYP PFNGLLOADPALETTEFROMMODELVIEWMATRIXOESPROC) (void);
457 typedef void (GL_APIENTRYP PFNGLMATRIXINDEXPOINTEROESPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
458 typedef void (GL_APIENTRYP PFNGLWEIGHTPOINTEROESPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
461 /* GL_OES_query_matrix */
462 #ifndef GL_OES_query_matrix
463 #define GL_OES_query_matrix 1
464 #ifdef GL_GLEXT_PROTOTYPES
465 GL_API GLbitfield GL_APIENTRY glQueryMatrixxOES (GLfixed mantissa[16], GLint exponent[16]);
467 typedef GLbitfield (GL_APIENTRYP PFNGLQUERYMATRIXXOESPROC) (GLfixed mantissa[16], GLint exponent[16]);
470 /* GL_OES_single_precision */
471 #ifndef GL_OES_single_precision
472 #define GL_OES_single_precision 1
473 #ifdef GL_GLEXT_PROTOTYPES
474 GL_API void GL_APIENTRY glDepthRangefOES (GLclampf zNear, GLclampf zFar) __SOFTFP;
475 GL_API void GL_APIENTRY glFrustumfOES (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar) __SOFTFP;
476 GL_API void GL_APIENTRY glOrthofOES (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar) __SOFTFP;
477 GL_API void GL_APIENTRY glClipPlanefOES (GLenum plane, const GLfloat *equation);
478 GL_API void GL_APIENTRY glGetClipPlanefOES (GLenum pname, GLfloat eqn[4]);
479 GL_API void GL_APIENTRY glClearDepthfOES (GLclampf depth) __SOFTFP;
481 typedef void (GL_APIENTRYP PFNGLDEPTHRANGEFOESPROC) (GLclampf zNear, GLclampf zFar) __SOFTFP;
482 typedef void (GL_APIENTRYP PFNGLFRUSTUMFOESPROC) (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar) __SOFTFP;
483 typedef void (GL_APIENTRYP PFNGLORTHOFOESPROC) (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar) __SOFTFP;
484 typedef void (GL_APIENTRYP PFNGLCLIPPLANEFOESPROC) (GLenum plane, const GLfloat *equation);
485 typedef void (GL_APIENTRYP PFNGLGETCLIPPLANEFOESPROC) (GLenum pname, GLfloat eqn[4]);
486 typedef void (GL_APIENTRYP PFNGLCLEARDEPTHFOESPROC) (GLclampf depth) __SOFTFP;
489 /* GL_OES_stencil_wrap */
490 #ifndef GL_OES_stencil_wrap
491 #define GL_OES_stencil_wrap 1
494 /* GL_OES_texture_cube_map */
495 #ifndef GL_OES_texture_cube_map
496 #define GL_OES_texture_cube_map 1
497 #ifdef GL_GLEXT_PROTOTYPES
498 GL_API void GL_APIENTRY glTexGenfOES (GLenum coord, GLenum pname, GLfloat param) __SOFTFP;
499 GL_API void GL_APIENTRY glTexGenfvOES (GLenum coord, GLenum pname, const GLfloat *params);
500 GL_API void GL_APIENTRY glTexGeniOES (GLenum coord, GLenum pname, GLint param);
501 GL_API void GL_APIENTRY glTexGenivOES (GLenum coord, GLenum pname, const GLint *params);
502 GL_API void GL_APIENTRY glTexGenxOES (GLenum coord, GLenum pname, GLfixed param);
503 GL_API void GL_APIENTRY glTexGenxvOES (GLenum coord, GLenum pname, const GLfixed *params);
504 GL_API void GL_APIENTRY glGetTexGenfvOES (GLenum coord, GLenum pname, GLfloat *params);
505 GL_API void GL_APIENTRY glGetTexGenivOES (GLenum coord, GLenum pname, GLint *params);
506 GL_API void GL_APIENTRY glGetTexGenxvOES (GLenum coord, GLenum pname, GLfixed *params);
508 typedef void (GL_APIENTRYP PFNGLTEXGENFOESPROC) (GLenum coord, GLenum pname, GLfloat param) __SOFTFP;
509 typedef void (GL_APIENTRYP PFNGLTEXGENFVOESPROC) (GLenum coord, GLenum pname, const GLfloat *params);
510 typedef void (GL_APIENTRYP PFNGLTEXGENIOESPROC) (GLenum coord, GLenum pname, GLint param);
511 typedef void (GL_APIENTRYP PFNGLTEXGENIVOESPROC) (GLenum coord, GLenum pname, const GLint *params);
512 typedef void (GL_APIENTRYP PFNGLTEXGENXOESPROC) (GLenum coord, GLenum pname, GLfixed param);
513 typedef void (GL_APIENTRYP PFNGLTEXGENXVOESPROC) (GLenum coord, GLenum pname, const GLfixed *params);
514 typedef void (GL_APIENTRYP PFNGLGETTEXGENFVOESPROC) (GLenum coord, GLenum pname, GLfloat *params);
515 typedef void (GL_APIENTRYP PFNGLGETTEXGENIVOESPROC) (GLenum coord, GLenum pname, GLint *params);
516 typedef void (GL_APIENTRYP PFNGLGETTEXGENXVOESPROC) (GLenum coord, GLenum pname, GLfixed *params);
519 /* GL_OES_texture_env_crossbar */
520 #ifndef GL_OES_texture_env_crossbar
521 #define GL_OES_texture_env_crossbar 1
524 /* GL_OES_texture_mirrored_repeat */
525 #ifndef GL_OES_texture_mirrored_repeat
526 #define GL_OES_texture_mirrored_repeat 1
529 /* GL_OES_EGL_image */
530 #ifndef GL_OES_EGL_image
531 #define GL_OES_EGL_image 1
532 #ifdef GL_GLEXT_PROTOTYPES
533 GL_API void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
534 GL_API void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
536 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
537 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
541 #ifndef GL_OES_depth24
542 #define GL_OES_depth24 1
546 #ifndef GL_OES_depth32
547 #define GL_OES_depth32 1
550 /* GL_OES_element_index_uint */
551 #ifndef GL_OES_element_index_uint
552 #define GL_OES_element_index_uint 1
555 /* GL_OES_fbo_render_mipmap */
556 #ifndef GL_OES_fbo_render_mipmap
557 #define GL_OES_fbo_render_mipmap 1
560 /* GL_OES_mapbuffer */
561 #ifndef GL_OES_mapbuffer
562 #define GL_OES_mapbuffer 1
563 #ifdef GL_GLEXT_PROTOTYPES
564 GL_API void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
565 GL_API GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
566 GL_API void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, void** params);
568 typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
569 typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
570 typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, void** params);
573 /* GL_OES_rgb8_rgba8 */
574 #ifndef GL_OES_rgb8_rgba8
575 #define GL_OES_rgb8_rgba8 1
578 /* GL_OES_stencil1 */
579 #ifndef GL_OES_stencil1
580 #define GL_OES_stencil1 1
583 /* GL_OES_stencil4 */
584 #ifndef GL_OES_stencil4
585 #define GL_OES_stencil4 1
588 /* GL_OES_stencil8 */
589 #ifndef GL_OES_stencil8
590 #define GL_OES_stencil8 1
593 /* GL_AMD_compressed_3DC_texture */
594 #ifndef GL_AMD_compressed_3DC_texture
595 #define GL_AMD_compressed_3DC_texture 1
598 /* GL_AMD_compressed_ATC_texture */
599 #ifndef GL_AMD_compressed_ATC_texture
600 #define GL_AMD_compressed_ATC_texture 1
603 /* GL_EXT_texture_filter_anisotropic */
604 #ifndef GL_EXT_texture_filter_anisotropic
605 #define GL_EXT_texture_filter_anisotropic 1
612 #endif /* __glext_h_ */