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