1 /* $Id: glapitable.h,v 1.2 1999/11/27 21:30:10 brianp Exp $ */
4 * Mesa 3-D graphics library
7 * Copyright (C) 1999 Brian Paul All Rights Reserved.
9 * Permission is hereby granted, free of charge, to any person obtaining a
10 * copy of this software and associated documentation files (the "Software"),
11 * to deal in the Software without restriction, including without limitation
12 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
13 * and/or sell copies of the Software, and to permit persons to whom the
14 * Software is furnished to do so, subject to the following conditions:
16 * The above copyright notice and this permission notice shall be included
17 * in all copies or substantial portions of the Software.
19 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
20 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
22 * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
23 * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
24 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
29 * This file is not specific to Mesa. It defines a dispatch table
30 * which could be used by any number of OpenGL implementations.
31 * It's designed to be gl.h-independent as well. That is, it does
32 * not depend on any particular extensions being defined in the gl.h
33 * header. We #define extension symbols (like _GLAPI_EXT_blend_color)
34 * to determine which entry points to compile. Clients of this dispatcher
35 * (like Mesa) can #ifdef test these symbols to know how to fill in the
40 #ifndef _GLAPI_TABLE_H
41 #define _GLAPI_TABLE_H
47 /* Which OpenGL API revisisions are supported by the table: */
48 #define _GLAPI_VERSION_1_1 1
49 #define _GLAPI_VERSION_1_2 1
51 /* And which extensions: */
52 #define _GLAPI_ARB_imaging 1
53 #define _GLAPI_ARB_multitexture 1
54 #define _GLAPI_EXT_paletted_texture 1
55 #define _GLAPI_EXT_compiled_vertex_array 1
56 #define _GLAPI_EXT_point_parameters 1
57 #define _GLAPI_EXT_polygon_offset 1
58 #define _GLAPI_EXT_blend_minmax 1
59 #define _GLAPI_EXT_blend_color 1
60 #define _GLAPI_EXT_texture3D 1
61 #define _GLAPI_EXT_texture_object 1
62 #define _GLAPI_EXT_vertex_array 1
63 #define _GLAPI_INGR_blend_func_separate 1
64 #define _GLAPI_MESA_window_pos 1
65 #define _GLAPI_MESA_resize_buffers 1
69 #define _GLAPI_EXTRA_SLOTS 1000
73 * This struct contains pointers for all the GL API entrypoints
74 * plus some reserved slots for dynamic extensions.
82 void (*Accum
)(GLenum
, GLfloat
);
83 void (*AlphaFunc
)(GLenum
, GLclampf
);
84 void (*Begin
)(GLenum
);
85 void (*Bitmap
)(GLsizei
, GLsizei
, GLfloat
, GLfloat
, GLfloat
, GLfloat
, const GLubyte
*);
86 void (*BlendFunc
)(GLenum
, GLenum
);
87 void (*CallList
)(GLuint list
);
88 void (*CallLists
)(GLsizei
, GLenum
, const GLvoid
*);
89 void (*Clear
)(GLbitfield
);
90 void (*ClearAccum
)(GLfloat
, GLfloat
, GLfloat
, GLfloat
);
91 void (*ClearColor
)(GLclampf
, GLclampf
, GLclampf
, GLclampf
);
92 void (*ClearDepth
)(GLclampd
);
93 void (*ClearIndex
)(GLfloat
);
94 void (*ClearStencil
)(GLint
);
95 void (*ClipPlane
)(GLenum
, const GLdouble
*);
96 void (*Color3b
)(GLbyte
, GLbyte
, GLbyte
);
97 void (*Color3bv
)(const GLbyte
*);
98 void (*Color3d
)(GLdouble
, GLdouble
, GLdouble
);
99 void (*Color3dv
)(const GLdouble
*);
100 void (*Color3f
)(GLfloat
, GLfloat
, GLfloat
);
101 void (*Color3fv
)(const GLfloat
*);
102 void (*Color3i
)(GLint
, GLint
, GLint
);
103 void (*Color3iv
)(const GLint
*);
104 void (*Color3s
)(GLshort
, GLshort
, GLshort
);
105 void (*Color3sv
)(const GLshort
*);
106 void (*Color3ub
)(GLubyte
, GLubyte
, GLubyte
);
107 void (*Color3ubv
)(const GLubyte
*);
108 void (*Color3ui
)(GLuint
, GLuint
, GLuint
);
109 void (*Color3uiv
)(const GLuint
*);
110 void (*Color3us
)(GLushort
, GLushort
, GLushort
);
111 void (*Color3usv
)(const GLushort
*);
112 void (*Color4b
)(GLbyte
, GLbyte
, GLbyte
, GLbyte
);
113 void (*Color4bv
)(const GLbyte
*);
114 void (*Color4d
)(GLdouble
, GLdouble
, GLdouble
, GLdouble
);
115 void (*Color4dv
)(const GLdouble
*);
116 void (*Color4f
)(GLfloat
, GLfloat
, GLfloat
, GLfloat
);
117 void (*Color4fv
)(const GLfloat
*);
118 void (*Color4i
)(GLint
, GLint
, GLint
, GLint
);
119 void (*Color4iv
)(const GLint
*);
120 void (*Color4s
)(GLshort
, GLshort
, GLshort
, GLshort
);
121 void (*Color4sv
)(const GLshort
*);
122 void (*Color4ub
)(GLubyte
, GLubyte
, GLubyte
, GLubyte
);
123 void (*Color4ubv
)(const GLubyte
*);
124 void (*Color4ui
)(GLuint
, GLuint
, GLuint
, GLuint
);
125 void (*Color4uiv
)(const GLuint
*);
126 void (*Color4us
)(GLushort
, GLushort
, GLushort
, GLushort
);
127 void (*Color4usv
)(const GLushort
*);
128 void (*ColorMask
)(GLboolean
, GLboolean
, GLboolean
, GLboolean
);
129 void (*ColorMaterial
)(GLenum
, GLenum
);
130 void (*CopyPixels
)(GLint
, GLint
, GLsizei
, GLsizei
, GLenum
);
131 void (*CullFace
)(GLenum
);
132 void (*DeleteLists
)(GLuint
, GLsizei
);
133 void (*DepthFunc
)(GLenum
);
134 void (*DepthMask
)(GLboolean
);
135 void (*DepthRange
)(GLclampd
, GLclampd
);
136 void (*Disable
)(GLenum
);
137 void (*DrawBuffer
)(GLenum
);
138 void (*DrawPixels
)(GLsizei
, GLsizei
, GLenum
, GLenum
, const GLvoid
*);
139 void (*EdgeFlag
)(GLboolean
);
140 void (*EdgeFlagv
)(const GLboolean
*);
141 void (*Enable
)(GLenum
);
143 void (*EndList
)(void);
144 void (*EvalCoord1d
)(GLdouble
);
145 void (*EvalCoord1dv
)(const GLdouble
*);
146 void (*EvalCoord1f
)(GLfloat
);
147 void (*EvalCoord1fv
)(const GLfloat
*);
148 void (*EvalCoord2d
)(GLdouble u
, GLdouble
);
149 void (*EvalCoord2dv
)(const GLdouble
*);
150 void (*EvalCoord2f
)(GLfloat u
, GLfloat
);
151 void (*EvalCoord2fv
)(const GLfloat
*);
152 void (*EvalMesh1
)(GLenum
, GLint
, GLint
);
153 void (*EvalMesh2
)(GLenum
, GLint
, GLint
, GLint
, GLint
);
154 void (*EvalPoint1
)(GLint
);
155 void (*EvalPoint2
)(GLint
, GLint
);
156 void (*FeedbackBuffer
)(GLsizei
, GLenum
, GLfloat
*);
157 void (*Finish
)(void);
159 void (*Fogf
)(GLenum
, GLfloat
);
160 void (*Fogfv
)(GLenum
, const GLfloat
*);
161 void (*Fogi
)(GLenum
, GLint
);
162 void (*Fogiv
)(GLenum
, const GLint
*);
163 void (*FrontFace
)(GLenum
);
164 void (*Frustum
)(GLdouble
, GLdouble
, GLdouble
, GLdouble
, GLdouble
, GLdouble
);
165 GLuint (*GenLists
)(GLsizei
);
166 void (*GetBooleanv
)(GLenum
, GLboolean
*);
167 void (*GetClipPlane
)(GLenum
, GLdouble
*);
168 void (*GetDoublev
)(GLenum
, GLdouble
*);
169 GLenum (*GetError
)(void);
170 void (*GetFloatv
)(GLenum
, GLfloat
*);
171 void (*GetIntegerv
)(GLenum
, GLint
*);
172 void (*GetLightfv
)(GLenum light
, GLenum
, GLfloat
*);
173 void (*GetLightiv
)(GLenum light
, GLenum
, GLint
*);
174 void (*GetMapdv
)(GLenum
, GLenum
, GLdouble
*);
175 void (*GetMapfv
)(GLenum
, GLenum
, GLfloat
*);
176 void (*GetMapiv
)(GLenum
, GLenum
, GLint
*);
177 void (*GetMaterialfv
)(GLenum
, GLenum
, GLfloat
*);
178 void (*GetMaterialiv
)(GLenum
, GLenum
, GLint
*);
179 void (*GetPixelMapfv
)(GLenum
, GLfloat
*);
180 void (*GetPixelMapuiv
)(GLenum
, GLuint
*);
181 void (*GetPixelMapusv
)(GLenum
, GLushort
*);
182 void (*GetPolygonStipple
)(GLubyte
*);
183 const GLubyte
* (*GetString
)(GLenum name
);
184 void (*GetTexEnvfv
)(GLenum
, GLenum
, GLfloat
*);
185 void (*GetTexEnviv
)(GLenum
, GLenum
, GLint
*);
186 void (*GetTexGendv
)(GLenum coord
, GLenum
, GLdouble
*);
187 void (*GetTexGenfv
)(GLenum coord
, GLenum
, GLfloat
*);
188 void (*GetTexGeniv
)(GLenum coord
, GLenum
, GLint
*);
189 void (*GetTexImage
)(GLenum
, GLint level
, GLenum
, GLenum
, GLvoid
*);
190 void (*GetTexLevelParameterfv
)(GLenum
, GLint
, GLenum
, GLfloat
*);
191 void (*GetTexLevelParameteriv
)(GLenum
, GLint
, GLenum
, GLint
*);
192 void (*GetTexParameterfv
)(GLenum
, GLenum
, GLfloat
*);
193 void (*GetTexParameteriv
)(GLenum
, GLenum
, GLint
*);
194 void (*Hint
)(GLenum
, GLenum
);
195 void (*IndexMask
)(GLuint
);
196 void (*Indexd
)(GLdouble
);
197 void (*Indexdv
)(const GLdouble
*);
198 void (*Indexf
)(GLfloat
);
199 void (*Indexfv
)(const GLfloat
*);
200 void (*Indexi
)(GLint
);
201 void (*Indexiv
)(const GLint
*);
202 void (*Indexs
)(GLshort
);
203 void (*Indexsv
)(const GLshort
*);
204 void (*InitNames
)(void);
205 GLboolean (*IsEnabled
)(GLenum
);
206 GLboolean (*IsList
)(GLuint
);
207 void (*LightModelf
)(GLenum
, GLfloat
);
208 void (*LightModelfv
)(GLenum
, const GLfloat
*);
209 void (*LightModeli
)(GLenum
, GLint
);
210 void (*LightModeliv
)(GLenum
, const GLint
*);
211 void (*Lightf
)(GLenum light
, GLenum
, GLfloat
);
212 void (*Lightfv
)(GLenum light
, GLenum
, const GLfloat
*);
213 void (*Lighti
)(GLenum light
, GLenum
, GLint
);
214 void (*Lightiv
)(GLenum light
, GLenum
, const GLint
*);
215 void (*LineStipple
)(GLint factor
, GLushort
);
216 void (*LineWidth
)(GLfloat
);
217 void (*ListBase
)(GLuint
);
218 void (*LoadIdentity
)(void);
219 void (*LoadMatrixd
)(const GLdouble
*);
220 void (*LoadMatrixf
)(const GLfloat
*);
221 void (*LoadName
)(GLuint
);
222 void (*LogicOp
)(GLenum
);
223 void (*Map1d
)(GLenum
, GLdouble
, GLdouble
, GLint
, GLint
, const GLdouble
*);
224 void (*Map1f
)(GLenum
, GLfloat
, GLfloat
, GLint
, GLint
, const GLfloat
*);
225 void (*Map2d
)(GLenum
, GLdouble
, GLdouble
, GLint
, GLint
, GLdouble
, GLdouble
, GLint
, GLint
, const GLdouble
*);
226 void (*Map2f
)(GLenum
, GLfloat
, GLfloat
, GLint
, GLint
, GLfloat
, GLfloat
, GLint
, GLint
, const GLfloat
*);
227 void (*MapGrid1d
)(GLint
, GLdouble
, GLdouble
);
228 void (*MapGrid1f
)(GLint
, GLfloat
, GLfloat
);
229 void (*MapGrid2d
)(GLint
, GLdouble
, GLdouble
, GLint
, GLdouble
, GLdouble
);
230 void (*MapGrid2f
)(GLint
, GLfloat
, GLfloat
, GLint
, GLfloat
, GLfloat
);
231 void (*Materialf
)(GLenum
, GLenum
, GLfloat
);
232 void (*Materialfv
)(GLenum
, GLenum
, const GLfloat
*);
233 void (*Materiali
)(GLenum
, GLenum
, GLint
);
234 void (*Materialiv
)(GLenum
, GLenum
, const GLint
*);
235 void (*MatrixMode
)(GLenum
);
236 void (*MultMatrixd
)(const GLdouble
*);
237 void (*MultMatrixf
)(const GLfloat
*);
238 void (*NewList
)(GLuint list
, GLenum
);
239 void (*Normal3b
)(GLbyte
, GLbyte
, GLbyte
);
240 void (*Normal3bv
)(const GLbyte
*);
241 void (*Normal3d
)(GLdouble
, GLdouble
, GLdouble
);
242 void (*Normal3dv
)(const GLdouble
*);
243 void (*Normal3f
)(GLfloat
, GLfloat
, GLfloat
);
244 void (*Normal3fv
)(const GLfloat
*);
245 void (*Normal3i
)(GLint
, GLint
, GLint
);
246 void (*Normal3iv
)(const GLint
*);
247 void (*Normal3s
)(GLshort
, GLshort
, GLshort
);
248 void (*Normal3sv
)(const GLshort
*);
249 void (*Ortho
)(GLdouble
, GLdouble
, GLdouble
, GLdouble
, GLdouble
, GLdouble
);
250 void (*PassThrough
)(GLfloat
);
251 void (*PixelMapfv
)(GLenum
, GLint
, const GLfloat
*);
252 void (*PixelMapuiv
)(GLenum
, GLint
, const GLuint
*);
253 void (*PixelMapusv
)(GLenum
, GLint
, const GLushort
*);
254 void (*PixelStoref
)(GLenum
, GLfloat
);
255 void (*PixelStorei
)(GLenum
, GLint
);
256 void (*PixelTransferf
)(GLenum
, GLfloat
);
257 void (*PixelTransferi
)(GLenum
, GLint
);
258 void (*PixelZoom
)(GLfloat
, GLfloat
);
259 void (*PointSize
)(GLfloat
);
260 void (*PolygonMode
)(GLenum
, GLenum
);
261 void (*PolygonOffset
)(GLfloat
, GLfloat
);
262 void (*PolygonStipple
)(const GLubyte
*);
263 void (*PopAttrib
)(void);
264 void (*PopMatrix
)(void);
265 void (*PopName
)(void);
266 void (*PushAttrib
)(GLbitfield
);
267 void (*PushMatrix
)(void);
268 void (*PushName
)(GLuint
);
269 void (*RasterPos2d
)(GLdouble
, GLdouble
);
270 void (*RasterPos2dv
)(const GLdouble
*);
271 void (*RasterPos2f
)(GLfloat
, GLfloat
);
272 void (*RasterPos2fv
)(const GLfloat
*);
273 void (*RasterPos2i
)(GLint
, GLint
);
274 void (*RasterPos2iv
)(const GLint
*);
275 void (*RasterPos2s
)(GLshort
, GLshort
);
276 void (*RasterPos2sv
)(const GLshort
*);
277 void (*RasterPos3d
)(GLdouble
, GLdouble
, GLdouble
);
278 void (*RasterPos3dv
)(const GLdouble
*);
279 void (*RasterPos3f
)(GLfloat
, GLfloat
, GLfloat
);
280 void (*RasterPos3fv
)(const GLfloat
*);
281 void (*RasterPos3i
)(GLint
, GLint
, GLint
);
282 void (*RasterPos3iv
)(const GLint
*);
283 void (*RasterPos3s
)(GLshort
, GLshort
, GLshort
);
284 void (*RasterPos3sv
)(const GLshort
*);
285 void (*RasterPos4d
)(GLdouble
, GLdouble
, GLdouble
, GLdouble
);
286 void (*RasterPos4dv
)(const GLdouble
*);
287 void (*RasterPos4f
)(GLfloat
, GLfloat
, GLfloat
, GLfloat
);
288 void (*RasterPos4fv
)(const GLfloat
*);
289 void (*RasterPos4i
)(GLint
, GLint
, GLint
, GLint
);
290 void (*RasterPos4iv
)(const GLint
*);
291 void (*RasterPos4s
)(GLshort
, GLshort
, GLshort
, GLshort
);
292 void (*RasterPos4sv
)(const GLshort
*);
293 void (*ReadBuffer
)(GLenum
);
294 void (*ReadPixels
)(GLint
, GLint
, GLsizei
, GLsizei
, GLenum
, GLenum
, GLvoid
*);
295 void (*Rectd
)(GLdouble
, GLdouble
, GLdouble
, GLdouble
);
296 void (*Rectdv
)(const GLdouble
*, const GLdouble
*);
297 void (*Rectf
)(GLfloat
, GLfloat
, GLfloat
, GLfloat
);
298 void (*Rectfv
)(const GLfloat
*, const GLfloat
*);
299 void (*Recti
)(GLint
, GLint
, GLint
, GLint
);
300 void (*Rectiv
)(const GLint
*, const GLint
*);
301 void (*Rects
)(GLshort
, GLshort
, GLshort
, GLshort
);
302 void (*Rectsv
)(const GLshort
*, const GLshort
*);
303 GLint (*RenderMode
)(GLenum
);
304 void (*Rotated
)(GLdouble
, GLdouble
, GLdouble
, GLdouble
);
305 void (*Rotatef
)(GLfloat
, GLfloat
, GLfloat
, GLfloat
);
306 void (*Scaled
)(GLdouble
, GLdouble
, GLdouble
);
307 void (*Scalef
)(GLfloat
, GLfloat
, GLfloat
);
308 void (*Scissor
)(GLint
, GLint
, GLsizei
, GLsizei
);
309 void (*SelectBuffer
)(GLsizei
, GLuint
*);
310 void (*ShadeModel
)(GLenum
);
311 void (*StencilFunc
)(GLenum
, GLint
, GLuint
);
312 void (*StencilMask
)(GLuint
);
313 void (*StencilOp
)(GLenum
, GLenum
, GLenum
);
314 void (*TexCoord1d
)(GLdouble
);
315 void (*TexCoord1dv
)(const GLdouble
*);
316 void (*TexCoord1f
)(GLfloat
);
317 void (*TexCoord1fv
)(const GLfloat
*);
318 void (*TexCoord1i
)(GLint
);
319 void (*TexCoord1iv
)(const GLint
*);
320 void (*TexCoord1s
)(GLshort
);
321 void (*TexCoord1sv
)(const GLshort
*);
322 void (*TexCoord2d
)(GLdouble
, GLdouble
);
323 void (*TexCoord2dv
)(const GLdouble
*);
324 void (*TexCoord2f
)(GLfloat
, GLfloat
);
325 void (*TexCoord2fv
)(const GLfloat
*);
326 void (*TexCoord2i
)(GLint
, GLint
);
327 void (*TexCoord2iv
)(const GLint
*);
328 void (*TexCoord2s
)(GLshort
, GLshort
);
329 void (*TexCoord2sv
)(const GLshort
*);
330 void (*TexCoord3d
)(GLdouble
, GLdouble
, GLdouble
);
331 void (*TexCoord3dv
)(const GLdouble
*);
332 void (*TexCoord3f
)(GLfloat
, GLfloat
, GLfloat
);
333 void (*TexCoord3fv
)(const GLfloat
*);
334 void (*TexCoord3i
)(GLint
, GLint
, GLint
);
335 void (*TexCoord3iv
)(const GLint
*);
336 void (*TexCoord3s
)(GLshort
, GLshort
, GLshort
);
337 void (*TexCoord3sv
)(const GLshort
*);
338 void (*TexCoord4d
)(GLdouble
, GLdouble
, GLdouble
, GLdouble
);
339 void (*TexCoord4dv
)(const GLdouble
*);
340 void (*TexCoord4f
)(GLfloat
, GLfloat
, GLfloat
, GLfloat
);
341 void (*TexCoord4fv
)(const GLfloat
*);
342 void (*TexCoord4i
)(GLint
, GLint
, GLint
, GLint
);
343 void (*TexCoord4iv
)(const GLint
*);
344 void (*TexCoord4s
)(GLshort
, GLshort
, GLshort
, GLshort
);
345 void (*TexCoord4sv
)(const GLshort
*);
346 void (*TexEnvf
)(GLenum
, GLenum
, GLfloat
);
347 void (*TexEnvfv
)(GLenum
, GLenum
, const GLfloat
*);
348 void (*TexEnvi
)(GLenum
, GLenum
, GLint
);
349 void (*TexEnviv
)(GLenum
, GLenum
, const GLint
*);
350 void (*TexGend
)(GLenum
, GLenum
, GLdouble
);
351 void (*TexGendv
)(GLenum
, GLenum
, const GLdouble
*);
352 void (*TexGenf
)(GLenum
, GLenum
, GLfloat
);
353 void (*TexGenfv
)(GLenum
, GLenum
, const GLfloat
*);
354 void (*TexGeni
)(GLenum
, GLenum
, GLint
);
355 void (*TexGeniv
)(GLenum
, GLenum
, const GLint
*);
356 void (*TexImage1D
)(GLenum
, GLint
, GLint
, GLsizei
, GLint
, GLenum
, GLenum
, const GLvoid
*);
357 void (*TexImage2D
)(GLenum
, GLint
, GLint
, GLsizei
, GLsizei
, GLint
, GLenum
, GLenum
, const GLvoid
*);
358 void (*TexParameterf
)(GLenum
, GLenum
, GLfloat
);
359 void (*TexParameterfv
)(GLenum
, GLenum
, const GLfloat
*);
360 void (*TexParameteri
)(GLenum
, GLenum
, GLint
);
361 void (*TexParameteriv
)(GLenum
, GLenum
, const GLint
*);
362 void (*Translated
)(GLdouble
, GLdouble
, GLdouble
);
363 void (*Translatef
)(GLfloat
, GLfloat
, GLfloat
);
364 void (*Vertex2d
)(GLdouble
, GLdouble
);
365 void (*Vertex2dv
)(const GLdouble
*);
366 void (*Vertex2f
)(GLfloat
, GLfloat
);
367 void (*Vertex2fv
)(const GLfloat
*);
368 void (*Vertex2i
)(GLint
, GLint
);
369 void (*Vertex2iv
)(const GLint
*);
370 void (*Vertex2s
)(GLshort
, GLshort
);
371 void (*Vertex2sv
)(const GLshort
*);
372 void (*Vertex3d
)(GLdouble
, GLdouble
, GLdouble
);
373 void (*Vertex3dv
)(const GLdouble
*);
374 void (*Vertex3f
)(GLfloat
, GLfloat
, GLfloat
);
375 void (*Vertex3fv
)(const GLfloat
*);
376 void (*Vertex3i
)(GLint
, GLint
, GLint
);
377 void (*Vertex3iv
)(const GLint
*);
378 void (*Vertex3s
)(GLshort
, GLshort
, GLshort
);
379 void (*Vertex3sv
)(const GLshort
*);
380 void (*Vertex4d
)(GLdouble
, GLdouble
, GLdouble
, GLdouble
);
381 void (*Vertex4dv
)(const GLdouble
*);
382 void (*Vertex4f
)(GLfloat
, GLfloat
, GLfloat
, GLfloat
);
383 void (*Vertex4fv
)(const GLfloat
*);
384 void (*Vertex4i
)(GLint
, GLint
, GLint
, GLint
);
385 void (*Vertex4iv
)(const GLint
*);
386 void (*Vertex4s
)(GLshort
, GLshort
, GLshort
, GLshort
);
387 void (*Vertex4sv
)(const GLshort
*);
388 void (*Viewport
)(GLint
, GLint
, GLsizei
, GLsizei
);
393 #ifdef _GLAPI_VERSION_1_1
394 GLboolean (*AreTexturesResident
)(GLsizei
, const GLuint
*, GLboolean
*);
395 void (*ArrayElement
)(GLint
);
396 void (*BindTexture
)(GLenum
, GLuint
);
397 void (*ColorPointer
)(GLint
, GLenum
, GLsizei
, const GLvoid
*);
398 void (*CopyTexImage1D
)(GLenum
, GLint
, GLenum
, GLint
, GLint
, GLsizei
, GLint
);
399 void (*CopyTexImage2D
)(GLenum
, GLint
, GLenum
, GLint
, GLint
, GLsizei
, GLsizei
, GLint
);
400 void (*CopyTexSubImage1D
)(GLenum
, GLint
, GLint
, GLint
, GLint
, GLsizei
);
401 void (*CopyTexSubImage2D
)(GLenum
, GLint
, GLint
, GLint
, GLint
, GLint
, GLsizei
, GLsizei
);
402 void (*DeleteTextures
)(GLsizei
, const GLuint
*);
403 void (*DisableClientState
)(GLenum
);
404 void (*DrawArrays
)(GLenum
, GLint
, GLsizei
);
405 void (*DrawElements
)(GLenum
, GLsizei
, GLenum
, const GLvoid
*);
406 void (*EdgeFlagPointer
)(GLsizei
, const GLvoid
*);
407 void (*EnableClientState
)(GLenum
);
408 void (*GenTextures
)(GLsizei
, GLuint
*);
409 void (*GetPointerv
)(GLenum
, GLvoid
**);
410 void (*IndexPointer
)(GLenum
, GLsizei
, const GLvoid
*);
411 void (*Indexub
)(GLubyte
);
412 void (*Indexubv
)(const GLubyte
*);
413 void (*InterleavedArrays
)(GLenum
, GLsizei
, const GLvoid
*);
414 GLboolean (*IsTexture
)(GLuint
);
415 void (*NormalPointer
)(GLenum
, GLsizei
, const GLvoid
*);
416 void (*PopClientAttrib
)(void);
417 void (*PrioritizeTextures
)(GLsizei
, const GLuint
*, const GLclampf
*);
418 void (*PushClientAttrib
)(GLbitfield
);
419 void (*TexCoordPointer
)(GLint
, GLenum
, GLsizei
, const GLvoid
*);
420 void (*TexSubImage1D
)(GLenum
, GLint
, GLint
, GLsizei
, GLenum
, GLenum
, const GLvoid
*);
421 void (*TexSubImage2D
)(GLenum
, GLint
, GLint
, GLint
, GLsizei
, GLsizei
, GLenum
, GLenum
, const GLvoid
*);
422 void (*VertexPointer
)(GLint
, GLenum
, GLsizei
, const GLvoid
*);
428 #ifdef _GLAPI_VERSION_1_2
429 void (*CopyTexSubImage3D
)(GLenum
, GLint
, GLint
, GLint
, GLint
, GLint
, GLint
, GLsizei
, GLsizei
);
430 void (*DrawRangeElements
)(GLenum
, GLuint
, GLuint
, GLsizei
, GLenum
, const GLvoid
*);
431 void (*TexImage3D
)(GLenum
, GLint
, GLint
, GLsizei
, GLsizei
, GLsizei
, GLint
, GLenum
, GLenum
, const GLvoid
*);
432 void (*TexSubImage3D
)(GLenum
, GLint
, GLint
, GLint
, GLint
, GLsizei
, GLsizei
, GLsizei
, GLenum
, GLenum
, const GLvoid
*);
434 #ifdef _GLAPI_ARB_imaging
435 void (*BlendColor
)(GLclampf
, GLclampf
, GLclampf
, GLclampf
);
436 void (*BlendEquation
)(GLenum
);
437 void (*ColorSubTable
)(GLenum
, GLsizei
, GLsizei
, GLenum
, GLenum
, const GLvoid
*);
438 void (*ColorTable
)(GLenum
, GLenum
, GLsizei
, GLenum
, GLenum
, const GLvoid
*);
439 void (*ColorTableParameterfv
)(GLenum
, GLenum
, const GLfloat
*);
440 void (*ColorTableParameteriv
)(GLenum
, GLenum
, const GLint
*);
441 void (*ConvolutionFilter1D
)(GLenum
, GLenum
, GLsizei
, GLenum
, GLenum
, const GLvoid
*);
442 void (*ConvolutionFilter2D
)(GLenum
, GLenum
, GLsizei
, GLsizei
, GLenum
, GLenum
, const GLvoid
*);
443 void (*ConvolutionParameterf
)(GLenum
, GLenum
, GLfloat
);
444 void (*ConvolutionParameterfv
)(GLenum
, GLenum
, const GLfloat
*);
445 void (*ConvolutionParameteri
)(GLenum
, GLenum
, GLint
);
446 void (*ConvolutionParameteriv
)(GLenum
, GLenum
, const GLint
*);
447 void (*CopyColorSubTable
)(GLenum
, GLsizei
, GLint
, GLint
, GLsizei
);
448 void (*CopyColorTable
)(GLenum
, GLenum
, GLint
, GLint
, GLsizei
);
449 void (*CopyConvolutionFilter1D
)(GLenum
, GLenum
, GLint x
, GLint y
, GLsizei
);
450 void (*CopyConvolutionFilter2D
)(GLenum
, GLenum
, GLint x
, GLint y
, GLsizei
, GLsizei
);
451 void (*GetColorTable
)(GLenum
, GLenum
, GLenum
, GLvoid
*);
452 void (*GetColorTableParameterfv
)(GLenum
, GLenum
, GLfloat
*);
453 void (*GetColorTableParameteriv
)(GLenum
, GLenum
, GLint
*);
454 void (*GetConvolutionFilter
)(GLenum
, GLenum
, GLenum
, GLvoid
*);
455 void (*GetConvolutionParameterfv
)(GLenum
, GLenum
, GLfloat
*);
456 void (*GetConvolutionParameteriv
)(GLenum
, GLenum
, GLint
*);
457 void (*GetHistogram
)(GLenum
, GLboolean
, GLenum
, GLenum
, GLvoid
*);
458 void (*GetHistogramParameterfv
)(GLenum
, GLenum
, GLfloat
*);
459 void (*GetHistogramParameteriv
)(GLenum
, GLenum
, GLint
*);
460 void (*GetMinmax
)(GLenum
, GLboolean
, GLenum
, GLenum
, GLvoid
*);
461 void (*GetMinmaxParameterfv
)(GLenum
, GLenum
, GLfloat
*);
462 void (*GetMinmaxParameteriv
)(GLenum
, GLenum
, GLint
*);
463 void (*GetSeparableFilter
)(GLenum
, GLenum
, GLenum
, GLvoid
*, GLvoid
*, GLvoid
*);
464 void (*Histogram
)(GLenum
, GLsizei
, GLenum
, GLboolean
);
465 void (*Minmax
)(GLenum
, GLenum
, GLboolean
);
466 void (*ResetHistogram
)(GLenum
);
467 void (*ResetMinmax
)(GLenum
);
468 void (*SeparableFilter2D
)(GLenum
, GLenum
, GLsizei
, GLsizei
, GLenum
, GLenum
, const GLvoid
*, const GLvoid
*);
469 #endif /*_GLAPI_ARB_imaging*/
470 #endif /*_GLAPI_VERSION_1_2*/
477 #ifdef _GLAPI_EXT_paletted_texture
478 void (*ColorTableEXT
)(GLenum
, GLenum
, GLsizei
, GLenum
, GLenum
, const GLvoid
*);
479 void (*ColorSubTableEXT
)(GLenum
, GLsizei
, GLsizei
, GLenum
, GLenum
, const GLvoid
*);
480 void (*GetColorTableEXT
)(GLenum
, GLenum
, GLenum
, GLvoid
*);
481 void (*GetColorTableParameterfvEXT
)(GLenum
, GLenum
, GLfloat
*);
482 void (*GetColorTableParameterivEXT
)(GLenum
, GLenum
, GLint
*);
485 #ifdef _GLAPI_EXT_compiled_vertex_array
486 void (*LockArraysEXT
)(GLint
, GLsizei
);
487 void (*UnlockArraysEXT
)(void);
490 #ifdef _GLAPI_EXT_point_parameters
491 void (*PointParameterfEXT
)(GLenum
, GLfloat
);
492 void (*PointParameterfvEXT
)(GLenum
, const GLfloat
*);
495 #ifdef _GLAPI_EXT_polygon_offset
496 void (*PolygonOffsetEXT
)(GLfloat
, GLfloat
);
499 #ifdef _GLAPI_EXT_blend_minmax
500 void (*BlendEquationEXT
)(GLenum
);
503 #ifdef _GLAPI_EXT_blend_color
504 void (*BlendColorEXT
)(GLclampf
, GLclampf
, GLclampf
, GLclampf
);
507 #ifdef _GLAPI_ARB_multitexture
508 void (*ActiveTextureARB
)(GLenum
);
509 void (*ClientActiveTextureARB
)(GLenum
);
510 void (*MultiTexCoord1dARB
)(GLenum
, GLdouble
);
511 void (*MultiTexCoord1dvARB
)(GLenum
, const GLdouble
*);
512 void (*MultiTexCoord1fARB
)(GLenum
, GLfloat
);
513 void (*MultiTexCoord1fvARB
)(GLenum
, const GLfloat
*);
514 void (*MultiTexCoord1iARB
)(GLenum
, GLint
);
515 void (*MultiTexCoord1ivARB
)(GLenum
, const GLint
*);
516 void (*MultiTexCoord1sARB
)(GLenum
, GLshort
);
517 void (*MultiTexCoord1svARB
)(GLenum
, const GLshort
*);
518 void (*MultiTexCoord2dARB
)(GLenum
, GLdouble
, GLdouble
);
519 void (*MultiTexCoord2dvARB
)(GLenum
, const GLdouble
*);
520 void (*MultiTexCoord2fARB
)(GLenum
, GLfloat
, GLfloat
);
521 void (*MultiTexCoord2fvARB
)(GLenum
, const GLfloat
*);
522 void (*MultiTexCoord2iARB
)(GLenum
, GLint
, GLint
);
523 void (*MultiTexCoord2ivARB
)(GLenum
, const GLint
*);
524 void (*MultiTexCoord2sARB
)(GLenum
, GLshort
, GLshort
);
525 void (*MultiTexCoord2svARB
)(GLenum
, const GLshort
*);
526 void (*MultiTexCoord3dARB
)(GLenum
, GLdouble
, GLdouble
, GLdouble
);
527 void (*MultiTexCoord3dvARB
)(GLenum
, const GLdouble
*);
528 void (*MultiTexCoord3fARB
)(GLenum
, GLfloat
, GLfloat
, GLfloat
);
529 void (*MultiTexCoord3fvARB
)(GLenum
, const GLfloat
*);
530 void (*MultiTexCoord3iARB
)(GLenum
, GLint
, GLint
, GLint
);
531 void (*MultiTexCoord3ivARB
)(GLenum
, const GLint
*);
532 void (*MultiTexCoord3sARB
)(GLenum
, GLshort
, GLshort
, GLshort
);
533 void (*MultiTexCoord3svARB
)(GLenum
, const GLshort
*);
534 void (*MultiTexCoord4dARB
)(GLenum
, GLdouble
, GLdouble
, GLdouble
, GLdouble
);
535 void (*MultiTexCoord4dvARB
)(GLenum
, const GLdouble
*);
536 void (*MultiTexCoord4fARB
)(GLenum
, GLfloat
, GLfloat
, GLfloat
, GLfloat
);
537 void (*MultiTexCoord4fvARB
)(GLenum
, const GLfloat
*);
538 void (*MultiTexCoord4iARB
)(GLenum
, GLint
, GLint
, GLint
, GLint
);
539 void (*MultiTexCoord4ivARB
)(GLenum
, const GLint
*);
540 void (*MultiTexCoord4sARB
)(GLenum
, GLshort
, GLshort
, GLshort
, GLshort
);
541 void (*MultiTexCoord4svARB
)(GLenum
, const GLshort
*);
544 #ifdef _GLAPI_INGR_blend_func_separate
545 void (*BlendFuncSeparateINGR
)(GLenum
, GLenum
, GLenum
, GLenum
);
548 #ifdef _GLAPI_MESA_window_pos
549 void (*WindowPos4fMESA
)(GLfloat x
, GLfloat y
, GLfloat z
, GLfloat w
);
552 #ifdef _GLAPI_MESA_resize_buffers
553 void (*ResizeBuffersMESA
)(void);
557 void *ExtensionFuncs
[_GLAPI_EXTRA_SLOTS
];