2 * Mesa 3-D graphics library
4 * Copyright (C) 1999-2001 Brian Paul All Rights Reserved.
6 * Permission is hereby granted, free of charge, to any person obtaining a
7 * copy of this software and associated documentation files (the "Software"),
8 * to deal in the Software without restriction, including without limitation
9 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
10 * and/or sell copies of the Software, and to permit persons to whom the
11 * Software is furnished to do so, subject to the following conditions:
13 * The above copyright notice and this permission notice shall be included
14 * in all copies or substantial portions of the Software.
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
17 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
20 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
21 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22 * OTHER DEALINGS IN THE SOFTWARE.
27 #ifndef API_LOOPBACK_H
28 #define API_LOOPBACK_H
30 #include "main/glheader.h"
36 _mesa_loopback_init_api_table(const struct gl_context
*ctx
,
37 struct _glapi_table
*dest
);
39 _mesa_Color3b( GLbyte red
, GLbyte green
, GLbyte blue
);
41 _mesa_Color3d( GLdouble red
, GLdouble green
, GLdouble blue
);
43 _mesa_Color3i( GLint red
, GLint green
, GLint blue
);
45 _mesa_Color3s( GLshort red
, GLshort green
, GLshort blue
);
47 _mesa_Color3ui( GLuint red
, GLuint green
, GLuint blue
);
49 _mesa_Color3us( GLushort red
, GLushort green
, GLushort blue
);
51 _mesa_Color3ub( GLubyte red
, GLubyte green
, GLubyte blue
);
53 _mesa_Color3bv( const GLbyte
*v
);
55 _mesa_Color3dv( const GLdouble
*v
);
57 _mesa_Color3iv( const GLint
*v
);
59 _mesa_Color3sv( const GLshort
*v
);
61 _mesa_Color3uiv( const GLuint
*v
);
63 _mesa_Color3usv( const GLushort
*v
);
65 _mesa_Color3ubv( const GLubyte
*v
);
67 _mesa_Color4b( GLbyte red
, GLbyte green
, GLbyte blue
,
70 _mesa_Color4d( GLdouble red
, GLdouble green
, GLdouble blue
,
73 _mesa_Color4i( GLint red
, GLint green
, GLint blue
, GLint alpha
);
75 _mesa_Color4s( GLshort red
, GLshort green
, GLshort blue
,
78 _mesa_Color4ui( GLuint red
, GLuint green
, GLuint blue
, GLuint alpha
);
80 _mesa_Color4us( GLushort red
, GLushort green
, GLushort blue
,
83 _mesa_Color4ub( GLubyte red
, GLubyte green
, GLubyte blue
, GLubyte alpha
);
85 _mesa_Color4iv( const GLint
*v
);
87 _mesa_Color4bv( const GLbyte
*v
);
89 _mesa_Color4dv( const GLdouble
*v
);
91 _mesa_Color4sv( const GLshort
*v
);
93 _mesa_Color4uiv( const GLuint
*v
);
95 _mesa_Color4usv( const GLushort
*v
);
97 _mesa_Color4ubv( const GLubyte
*v
);
99 _mesa_FogCoordd( GLdouble d
);
101 _mesa_FogCoorddv( const GLdouble
*v
);
103 _mesa_Indexd( GLdouble c
);
105 _mesa_Indexi( GLint c
);
107 _mesa_Indexs( GLshort c
);
109 _mesa_Indexub( GLubyte c
);
111 _mesa_Indexdv( const GLdouble
*c
);
113 _mesa_Indexiv( const GLint
*c
);
115 _mesa_Indexsv( const GLshort
*c
);
117 _mesa_Indexubv( const GLubyte
*c
);
119 _mesa_EdgeFlagv(const GLboolean
*flag
);
121 _mesa_Normal3b( GLbyte nx
, GLbyte ny
, GLbyte nz
);
123 _mesa_Normal3d( GLdouble nx
, GLdouble ny
, GLdouble nz
);
125 _mesa_Normal3i( GLint nx
, GLint ny
, GLint nz
);
127 _mesa_Normal3s( GLshort nx
, GLshort ny
, GLshort nz
);
129 _mesa_Normal3bv( const GLbyte
*v
);
131 _mesa_Normal3dv( const GLdouble
*v
);
133 _mesa_Normal3iv( const GLint
*v
);
135 _mesa_Normal3sv( const GLshort
*v
);
137 _mesa_TexCoord1d( GLdouble s
);
139 _mesa_TexCoord1i( GLint s
);
141 _mesa_TexCoord1s( GLshort s
);
143 _mesa_TexCoord2d( GLdouble s
, GLdouble t
);
145 _mesa_TexCoord2s( GLshort s
, GLshort t
);
147 _mesa_TexCoord2i( GLint s
, GLint t
);
149 _mesa_TexCoord3d( GLdouble s
, GLdouble t
, GLdouble r
);
151 _mesa_TexCoord3i( GLint s
, GLint t
, GLint r
);
153 _mesa_TexCoord3s( GLshort s
, GLshort t
, GLshort r
);
155 _mesa_TexCoord4d( GLdouble s
, GLdouble t
, GLdouble r
, GLdouble q
);
157 _mesa_TexCoord4i( GLint s
, GLint t
, GLint r
, GLint q
);
159 _mesa_TexCoord4s( GLshort s
, GLshort t
, GLshort r
, GLshort q
);
161 _mesa_TexCoord1dv( const GLdouble
*v
);
163 _mesa_TexCoord1iv( const GLint
*v
);
165 _mesa_TexCoord1sv( const GLshort
*v
);
167 _mesa_TexCoord2dv( const GLdouble
*v
);
169 _mesa_TexCoord2iv( const GLint
*v
);
171 _mesa_TexCoord2sv( const GLshort
*v
);
173 _mesa_TexCoord3dv( const GLdouble
*v
);
175 _mesa_TexCoord3iv( const GLint
*v
);
177 _mesa_TexCoord3sv( const GLshort
*v
);
179 _mesa_TexCoord4dv( const GLdouble
*v
);
181 _mesa_TexCoord4iv( const GLint
*v
);
183 _mesa_TexCoord4sv( const GLshort
*v
);
185 _mesa_Vertex2d( GLdouble x
, GLdouble y
);
187 _mesa_Vertex2i( GLint x
, GLint y
);
189 _mesa_Vertex2s( GLshort x
, GLshort y
);
191 _mesa_Vertex3d( GLdouble x
, GLdouble y
, GLdouble z
);
193 _mesa_Vertex3i( GLint x
, GLint y
, GLint z
);
195 _mesa_Vertex3s( GLshort x
, GLshort y
, GLshort z
);
197 _mesa_Vertex4d( GLdouble x
, GLdouble y
, GLdouble z
, GLdouble w
);
199 _mesa_Vertex4i( GLint x
, GLint y
, GLint z
, GLint w
);
201 _mesa_Vertex4s( GLshort x
, GLshort y
, GLshort z
, GLshort w
);
203 _mesa_Vertex2dv( const GLdouble
*v
);
205 _mesa_Vertex2iv( const GLint
*v
);
207 _mesa_Vertex2sv( const GLshort
*v
);
209 _mesa_Vertex3dv( const GLdouble
*v
);
211 _mesa_Vertex3iv( const GLint
*v
);
213 _mesa_Vertex3sv( const GLshort
*v
);
215 _mesa_Vertex4dv( const GLdouble
*v
);
217 _mesa_Vertex4iv( const GLint
*v
);
219 _mesa_Vertex4sv( const GLshort
*v
);
221 _mesa_MultiTexCoord1d(GLenum target
, GLdouble s
);
223 _mesa_MultiTexCoord1dv(GLenum target
, const GLdouble
*v
);
225 _mesa_MultiTexCoord1i(GLenum target
, GLint s
);
227 _mesa_MultiTexCoord1iv(GLenum target
, const GLint
*v
);
229 _mesa_MultiTexCoord1s(GLenum target
, GLshort s
);
231 _mesa_MultiTexCoord1sv(GLenum target
, const GLshort
*v
);
233 _mesa_MultiTexCoord2d(GLenum target
, GLdouble s
, GLdouble t
);
235 _mesa_MultiTexCoord2dv(GLenum target
, const GLdouble
*v
);
237 _mesa_MultiTexCoord2i(GLenum target
, GLint s
, GLint t
);
239 _mesa_MultiTexCoord2iv(GLenum target
, const GLint
*v
);
241 _mesa_MultiTexCoord2s(GLenum target
, GLshort s
, GLshort t
);
243 _mesa_MultiTexCoord2sv(GLenum target
, const GLshort
*v
);
245 _mesa_MultiTexCoord3d(GLenum target
, GLdouble s
, GLdouble t
, GLdouble r
);
247 _mesa_MultiTexCoord3dv(GLenum target
, const GLdouble
*v
);
249 _mesa_MultiTexCoord3i(GLenum target
, GLint s
, GLint t
, GLint r
);
251 _mesa_MultiTexCoord3iv(GLenum target
, const GLint
*v
);
253 _mesa_MultiTexCoord3s(GLenum target
, GLshort s
, GLshort t
, GLshort r
);
255 _mesa_MultiTexCoord3sv(GLenum target
, const GLshort
*v
);
257 _mesa_MultiTexCoord4d(GLenum target
, GLdouble s
, GLdouble t
, GLdouble r
,
260 _mesa_MultiTexCoord4dv(GLenum target
, const GLdouble
*v
);
262 _mesa_MultiTexCoord4i(GLenum target
, GLint s
, GLint t
, GLint r
, GLint q
);
264 _mesa_MultiTexCoord4iv(GLenum target
, const GLint
*v
);
266 _mesa_MultiTexCoord4s(GLenum target
, GLshort s
, GLshort t
, GLshort r
,
269 _mesa_MultiTexCoord4sv(GLenum target
, const GLshort
*v
);
271 _mesa_EvalCoord2dv( const GLdouble
*u
);
273 _mesa_EvalCoord2fv( const GLfloat
*u
);
275 _mesa_EvalCoord2d( GLdouble u
, GLdouble v
);
277 _mesa_EvalCoord1dv( const GLdouble
*u
);
279 _mesa_EvalCoord1fv( const GLfloat
*u
);
281 _mesa_EvalCoord1d( GLdouble u
);
283 _mesa_Materialf( GLenum face
, GLenum pname
, GLfloat param
);
285 _mesa_Materiali(GLenum face
, GLenum pname
, GLint param
);
287 _mesa_Materialiv(GLenum face
, GLenum pname
, const GLint
*params
);
289 _mesa_Rectd(GLdouble x1
, GLdouble y1
, GLdouble x2
, GLdouble y2
);
291 _mesa_Rectdv(const GLdouble
*v1
, const GLdouble
*v2
);
293 _mesa_Rectfv(const GLfloat
*v1
, const GLfloat
*v2
);
295 _mesa_Recti(GLint x1
, GLint y1
, GLint x2
, GLint y2
);
297 _mesa_Rectiv(const GLint
*v1
, const GLint
*v2
);
299 _mesa_Rects(GLshort x1
, GLshort y1
, GLshort x2
, GLshort y2
);
301 _mesa_Rectsv(const GLshort
*v1
, const GLshort
*v2
);
303 _mesa_SecondaryColor3b( GLbyte red
, GLbyte green
, GLbyte blue
);
305 _mesa_SecondaryColor3d( GLdouble red
, GLdouble green
, GLdouble blue
);
307 _mesa_SecondaryColor3i( GLint red
, GLint green
, GLint blue
);
309 _mesa_SecondaryColor3s( GLshort red
, GLshort green
, GLshort blue
);
311 _mesa_SecondaryColor3ui( GLuint red
, GLuint green
, GLuint blue
);
313 _mesa_SecondaryColor3us( GLushort red
, GLushort green
, GLushort blue
);
315 _mesa_SecondaryColor3ub( GLubyte red
, GLubyte green
, GLubyte blue
);
317 _mesa_SecondaryColor3bv( const GLbyte
*v
);
319 _mesa_SecondaryColor3dv( const GLdouble
*v
);
321 _mesa_SecondaryColor3iv( const GLint
*v
);
323 _mesa_SecondaryColor3sv( const GLshort
*v
);
325 _mesa_SecondaryColor3uiv( const GLuint
*v
);
327 _mesa_SecondaryColor3usv( const GLushort
*v
);
329 _mesa_SecondaryColor3ubv( const GLubyte
*v
);
331 _mesa_VertexAttrib1sNV(GLuint index
, GLshort x
);
333 _mesa_VertexAttrib1dNV(GLuint index
, GLdouble x
);
335 _mesa_VertexAttrib2sNV(GLuint index
, GLshort x
, GLshort y
);
337 _mesa_VertexAttrib2dNV(GLuint index
, GLdouble x
, GLdouble y
);
339 _mesa_VertexAttrib3sNV(GLuint index
, GLshort x
, GLshort y
, GLshort z
);
341 _mesa_VertexAttrib3dNV(GLuint index
, GLdouble x
, GLdouble y
, GLdouble z
);
343 _mesa_VertexAttrib4sNV(GLuint index
, GLshort x
, GLshort y
, GLshort z
,
346 _mesa_VertexAttrib4dNV(GLuint index
, GLdouble x
, GLdouble y
, GLdouble z
,
349 _mesa_VertexAttrib4ubNV(GLuint index
, GLubyte x
, GLubyte y
, GLubyte z
,
352 _mesa_VertexAttrib1svNV(GLuint index
, const GLshort
*v
);
354 _mesa_VertexAttrib1dvNV(GLuint index
, const GLdouble
*v
);
356 _mesa_VertexAttrib2svNV(GLuint index
, const GLshort
*v
);
358 _mesa_VertexAttrib2dvNV(GLuint index
, const GLdouble
*v
);
360 _mesa_VertexAttrib3svNV(GLuint index
, const GLshort
*v
);
362 _mesa_VertexAttrib3dvNV(GLuint index
, const GLdouble
*v
);
364 _mesa_VertexAttrib4svNV(GLuint index
, const GLshort
*v
);
366 _mesa_VertexAttrib4dvNV(GLuint index
, const GLdouble
*v
);
368 _mesa_VertexAttrib4ubvNV(GLuint index
, const GLubyte
*v
);
370 _mesa_VertexAttribs1svNV(GLuint index
, GLsizei n
, const GLshort
*v
);
372 _mesa_VertexAttribs1fvNV(GLuint index
, GLsizei n
, const GLfloat
*v
);
374 _mesa_VertexAttribs1dvNV(GLuint index
, GLsizei n
, const GLdouble
*v
);
376 _mesa_VertexAttribs2svNV(GLuint index
, GLsizei n
, const GLshort
*v
);
378 _mesa_VertexAttribs2fvNV(GLuint index
, GLsizei n
, const GLfloat
*v
);
380 _mesa_VertexAttribs2dvNV(GLuint index
, GLsizei n
, const GLdouble
*v
);
382 _mesa_VertexAttribs3svNV(GLuint index
, GLsizei n
, const GLshort
*v
);
384 _mesa_VertexAttribs3fvNV(GLuint index
, GLsizei n
, const GLfloat
*v
);
386 _mesa_VertexAttribs3dvNV(GLuint index
, GLsizei n
, const GLdouble
*v
);
388 _mesa_VertexAttribs4svNV(GLuint index
, GLsizei n
, const GLshort
*v
);
390 _mesa_VertexAttribs4fvNV(GLuint index
, GLsizei n
, const GLfloat
*v
);
392 _mesa_VertexAttribs4dvNV(GLuint index
, GLsizei n
, const GLdouble
*v
);
394 _mesa_VertexAttribs4ubvNV(GLuint index
, GLsizei n
, const GLubyte
*v
);
396 _mesa_VertexAttrib1s(GLuint index
, GLshort x
);
398 _mesa_VertexAttrib1d(GLuint index
, GLdouble x
);
400 _mesa_VertexAttrib2s(GLuint index
, GLshort x
, GLshort y
);
402 _mesa_VertexAttrib2d(GLuint index
, GLdouble x
, GLdouble y
);
404 _mesa_VertexAttrib3s(GLuint index
, GLshort x
, GLshort y
, GLshort z
);
406 _mesa_VertexAttrib3d(GLuint index
, GLdouble x
, GLdouble y
, GLdouble z
);
408 _mesa_VertexAttrib4s(GLuint index
, GLshort x
, GLshort y
, GLshort z
,
411 _mesa_VertexAttrib4d(GLuint index
, GLdouble x
, GLdouble y
, GLdouble z
,
414 _mesa_VertexAttrib1sv(GLuint index
, const GLshort
*v
);
416 _mesa_VertexAttrib1dv(GLuint index
, const GLdouble
*v
);
418 _mesa_VertexAttrib2sv(GLuint index
, const GLshort
*v
);
420 _mesa_VertexAttrib2dv(GLuint index
, const GLdouble
*v
);
422 _mesa_VertexAttrib3sv(GLuint index
, const GLshort
*v
);
424 _mesa_VertexAttrib3dv(GLuint index
, const GLdouble
*v
);
426 _mesa_VertexAttrib4sv(GLuint index
, const GLshort
*v
);
428 _mesa_VertexAttrib4dv(GLuint index
, const GLdouble
*v
);
430 _mesa_VertexAttrib4bv(GLuint index
, const GLbyte
* v
);
432 _mesa_VertexAttrib4iv(GLuint index
, const GLint
* v
);
434 _mesa_VertexAttrib4ubv(GLuint index
, const GLubyte
* v
);
436 _mesa_VertexAttrib4usv(GLuint index
, const GLushort
* v
);
438 _mesa_VertexAttrib4uiv(GLuint index
, const GLuint
* v
);
440 _mesa_VertexAttrib4Nbv(GLuint index
, const GLbyte
* v
);
442 _mesa_VertexAttrib4Nsv(GLuint index
, const GLshort
* v
);
444 _mesa_VertexAttrib4Niv(GLuint index
, const GLint
* v
);
446 _mesa_VertexAttrib4Nub(GLuint index
, GLubyte x
, GLubyte y
, GLubyte z
,
449 _mesa_VertexAttrib4Nubv(GLuint index
, const GLubyte
* v
);
451 _mesa_VertexAttrib4Nusv(GLuint index
, const GLushort
* v
);
453 _mesa_VertexAttrib4Nuiv(GLuint index
, const GLuint
* v
);
455 _mesa_VertexAttribI1iv(GLuint index
, const GLint
*v
);
457 _mesa_VertexAttribI1uiv(GLuint index
, const GLuint
*v
);
459 _mesa_VertexAttribI4bv(GLuint index
, const GLbyte
*v
);
461 _mesa_VertexAttribI4sv(GLuint index
, const GLshort
*v
);
463 _mesa_VertexAttribI4ubv(GLuint index
, const GLubyte
*v
);
465 _mesa_VertexAttribI4usv(GLuint index
, const GLushort
*v
);
468 _mesa_VertexAttribL1d(GLuint index
, GLdouble x
);
470 _mesa_VertexAttribL2d(GLuint index
, GLdouble x
, GLdouble y
);
472 _mesa_VertexAttribL3d(GLuint index
, GLdouble x
, GLdouble y
, GLdouble z
);
474 _mesa_VertexAttribL4d(GLuint index
, GLdouble x
, GLdouble y
, GLdouble z
, GLdouble w
);
477 _mesa_VertexAttribL1dv(GLuint index
, const GLdouble
*v
);
479 _mesa_VertexAttribL2dv(GLuint index
, const GLdouble
*v
);
481 _mesa_VertexAttribL3dv(GLuint index
, const GLdouble
*v
);
483 _mesa_VertexAttribL4dv(GLuint index
, const GLdouble
*v
);
486 _mesa_VertexAttribL1ui64ARB(GLuint index
, GLuint64EXT x
);
488 _mesa_VertexAttribL1ui64vARB(GLuint index
, const GLuint64EXT
*v
);
490 #endif /* API_LOOPBACK_H */