4 * \author Keith Whitwell <keith@tungstengraphics.com>
8 * Mesa 3-D graphics library
11 * Copyright (C) 1999-2004 Brian Paul All Rights Reserved.
13 * Permission is hereby granted, free of charge, to any person obtaining a
14 * copy of this software and associated documentation files (the "Software"),
15 * to deal in the Software without restriction, including without limitation
16 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
17 * and/or sell copies of the Software, and to permit persons to whom the
18 * Software is furnished to do so, subject to the following conditions:
20 * The above copyright notice and this permission notice shall be included
21 * in all copies or substantial portions of the Software.
23 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
24 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
25 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
26 * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
27 * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
28 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
33 /* KW: A set of functions to convert unusual Color/Normal/Vertex/etc
34 * calls to a smaller set of driver-provided formats. Currently just
35 * go back to dispatch to find these (eg. call glNormal3f directly),
38 * The driver must supply all of the remaining entry points, which are
39 * listed in dd.h. The easiest way for a driver to do this is to
40 * install the supplied software t&l module.
42 #define COLORF(r,g,b,a) CALL_Color4f(GET_DISPATCH(), (r,g,b,a))
43 #define VERTEX2(x,y) CALL_Vertex2f(GET_DISPATCH(), (x,y))
44 #define VERTEX3(x,y,z) CALL_Vertex3f(GET_DISPATCH(), (x,y,z))
45 #define VERTEX4(x,y,z,w) CALL_Vertex4f(GET_DISPATCH(), (x,y,z,w))
46 #define NORMAL(x,y,z) CALL_Normal3f(GET_DISPATCH(), (x,y,z))
47 #define TEXCOORD1(s) CALL_TexCoord1f(GET_DISPATCH(), (s))
48 #define TEXCOORD2(s,t) CALL_TexCoord2f(GET_DISPATCH(), (s,t))
49 #define TEXCOORD3(s,t,u) CALL_TexCoord3f(GET_DISPATCH(), (s,t,u))
50 #define TEXCOORD4(s,t,u,v) CALL_TexCoord4f(GET_DISPATCH(), (s,t,u,v))
51 #define INDEX(c) CALL_Indexf(GET_DISPATCH(), (c))
52 #define EVALCOORD1(x) CALL_EvalCoord1f(GET_DISPATCH(), (x))
53 #define EVALCOORD2(x,y) CALL_EvalCoord2f(GET_DISPATCH(), (x,y))
54 #define MATERIALFV(a,b,c) CALL_Materialfv(GET_DISPATCH(), (a,b,c))
55 #define RECTF(a,b,c,d) CALL_Rectf(GET_DISPATCH(), (a,b,c,d))
57 #define FOGCOORDF(x) CALL_FogCoordfEXT(GET_DISPATCH(), (x))
58 #define SECONDARYCOLORF(a,b,c) CALL_SecondaryColor3fEXT(GET_DISPATCH(), (a,b,c))
60 #define ATTRIB1NV(index,x) CALL_VertexAttrib1fNV(GET_DISPATCH(), (index,x))
61 #define ATTRIB2NV(index,x,y) CALL_VertexAttrib2fNV(GET_DISPATCH(), (index,x,y))
62 #define ATTRIB3NV(index,x,y,z) CALL_VertexAttrib3fNV(GET_DISPATCH(), (index,x,y,z))
63 #define ATTRIB4NV(index,x,y,z,w) CALL_VertexAttrib4fNV(GET_DISPATCH(), (index,x,y,z,w))
69 static void GLAPIENTRY
70 loopback_Color3b_f( GLbyte red
, GLbyte green
, GLbyte blue
)
72 COLORF( BYTE_TO_FLOAT(red
),
78 static void GLAPIENTRY
79 loopback_Color3d_f( GLdouble red
, GLdouble green
, GLdouble blue
)
81 COLORF( (GLfloat
) red
, (GLfloat
) green
, (GLfloat
) blue
, 1.0 );
84 static void GLAPIENTRY
85 loopback_Color3i_f( GLint red
, GLint green
, GLint blue
)
87 COLORF( INT_TO_FLOAT(red
), INT_TO_FLOAT(green
),
88 INT_TO_FLOAT(blue
), 1.0);
91 static void GLAPIENTRY
92 loopback_Color3s_f( GLshort red
, GLshort green
, GLshort blue
)
94 COLORF( SHORT_TO_FLOAT(red
), SHORT_TO_FLOAT(green
),
95 SHORT_TO_FLOAT(blue
), 1.0);
98 static void GLAPIENTRY
99 loopback_Color3ui_f( GLuint red
, GLuint green
, GLuint blue
)
101 COLORF( UINT_TO_FLOAT(red
), UINT_TO_FLOAT(green
),
102 UINT_TO_FLOAT(blue
), 1.0 );
105 static void GLAPIENTRY
106 loopback_Color3us_f( GLushort red
, GLushort green
, GLushort blue
)
108 COLORF( USHORT_TO_FLOAT(red
), USHORT_TO_FLOAT(green
),
109 USHORT_TO_FLOAT(blue
), 1.0 );
112 static void GLAPIENTRY
113 loopback_Color3ub_f( GLubyte red
, GLubyte green
, GLubyte blue
)
115 COLORF( UBYTE_TO_FLOAT(red
), UBYTE_TO_FLOAT(green
),
116 UBYTE_TO_FLOAT(blue
), 1.0 );
120 static void GLAPIENTRY
121 loopback_Color3bv_f( const GLbyte
*v
)
123 COLORF( BYTE_TO_FLOAT(v
[0]), BYTE_TO_FLOAT(v
[1]),
124 BYTE_TO_FLOAT(v
[2]), 1.0 );
127 static void GLAPIENTRY
128 loopback_Color3dv_f( const GLdouble
*v
)
130 COLORF( (GLfloat
) v
[0], (GLfloat
) v
[1], (GLfloat
) v
[2], 1.0 );
133 static void GLAPIENTRY
134 loopback_Color3iv_f( const GLint
*v
)
136 COLORF( INT_TO_FLOAT(v
[0]), INT_TO_FLOAT(v
[1]),
137 INT_TO_FLOAT(v
[2]), 1.0 );
140 static void GLAPIENTRY
141 loopback_Color3sv_f( const GLshort
*v
)
143 COLORF( SHORT_TO_FLOAT(v
[0]), SHORT_TO_FLOAT(v
[1]),
144 SHORT_TO_FLOAT(v
[2]), 1.0 );
147 static void GLAPIENTRY
148 loopback_Color3uiv_f( const GLuint
*v
)
150 COLORF( UINT_TO_FLOAT(v
[0]), UINT_TO_FLOAT(v
[1]),
151 UINT_TO_FLOAT(v
[2]), 1.0 );
154 static void GLAPIENTRY
155 loopback_Color3usv_f( const GLushort
*v
)
157 COLORF( USHORT_TO_FLOAT(v
[0]), USHORT_TO_FLOAT(v
[1]),
158 USHORT_TO_FLOAT(v
[2]), 1.0 );
161 static void GLAPIENTRY
162 loopback_Color3ubv_f( const GLubyte
*v
)
164 COLORF( UBYTE_TO_FLOAT(v
[0]), UBYTE_TO_FLOAT(v
[1]),
165 UBYTE_TO_FLOAT(v
[2]), 1.0 );
169 static void GLAPIENTRY
170 loopback_Color4b_f( GLbyte red
, GLbyte green
, GLbyte blue
,
173 COLORF( BYTE_TO_FLOAT(red
), BYTE_TO_FLOAT(green
),
174 BYTE_TO_FLOAT(blue
), BYTE_TO_FLOAT(alpha
) );
177 static void GLAPIENTRY
178 loopback_Color4d_f( GLdouble red
, GLdouble green
, GLdouble blue
,
181 COLORF( (GLfloat
) red
, (GLfloat
) green
, (GLfloat
) blue
, (GLfloat
) alpha
);
184 static void GLAPIENTRY
185 loopback_Color4i_f( GLint red
, GLint green
, GLint blue
, GLint alpha
)
187 COLORF( INT_TO_FLOAT(red
), INT_TO_FLOAT(green
),
188 INT_TO_FLOAT(blue
), INT_TO_FLOAT(alpha
) );
191 static void GLAPIENTRY
192 loopback_Color4s_f( GLshort red
, GLshort green
, GLshort blue
,
195 COLORF( SHORT_TO_FLOAT(red
), SHORT_TO_FLOAT(green
),
196 SHORT_TO_FLOAT(blue
), SHORT_TO_FLOAT(alpha
) );
199 static void GLAPIENTRY
200 loopback_Color4ui_f( GLuint red
, GLuint green
, GLuint blue
, GLuint alpha
)
202 COLORF( UINT_TO_FLOAT(red
), UINT_TO_FLOAT(green
),
203 UINT_TO_FLOAT(blue
), UINT_TO_FLOAT(alpha
) );
206 static void GLAPIENTRY
207 loopback_Color4us_f( GLushort red
, GLushort green
, GLushort blue
, GLushort alpha
)
209 COLORF( USHORT_TO_FLOAT(red
), USHORT_TO_FLOAT(green
),
210 USHORT_TO_FLOAT(blue
), USHORT_TO_FLOAT(alpha
) );
213 static void GLAPIENTRY
214 loopback_Color4ub_f( GLubyte red
, GLubyte green
, GLubyte blue
, GLubyte alpha
)
216 COLORF( UBYTE_TO_FLOAT(red
), UBYTE_TO_FLOAT(green
),
217 UBYTE_TO_FLOAT(blue
), UBYTE_TO_FLOAT(alpha
) );
221 static void GLAPIENTRY
222 loopback_Color4iv_f( const GLint
*v
)
224 COLORF( INT_TO_FLOAT(v
[0]), INT_TO_FLOAT(v
[1]),
225 INT_TO_FLOAT(v
[2]), INT_TO_FLOAT(v
[3]) );
229 static void GLAPIENTRY
230 loopback_Color4bv_f( const GLbyte
*v
)
232 COLORF( BYTE_TO_FLOAT(v
[0]), BYTE_TO_FLOAT(v
[1]),
233 BYTE_TO_FLOAT(v
[2]), BYTE_TO_FLOAT(v
[3]) );
236 static void GLAPIENTRY
237 loopback_Color4dv_f( const GLdouble
*v
)
239 COLORF( (GLfloat
) v
[0], (GLfloat
) v
[1], (GLfloat
) v
[2], (GLfloat
) v
[3] );
243 static void GLAPIENTRY
244 loopback_Color4sv_f( const GLshort
*v
)
246 COLORF( SHORT_TO_FLOAT(v
[0]), SHORT_TO_FLOAT(v
[1]),
247 SHORT_TO_FLOAT(v
[2]), SHORT_TO_FLOAT(v
[3]) );
251 static void GLAPIENTRY
252 loopback_Color4uiv_f( const GLuint
*v
)
254 COLORF( UINT_TO_FLOAT(v
[0]), UINT_TO_FLOAT(v
[1]),
255 UINT_TO_FLOAT(v
[2]), UINT_TO_FLOAT(v
[3]) );
258 static void GLAPIENTRY
259 loopback_Color4usv_f( const GLushort
*v
)
261 COLORF( USHORT_TO_FLOAT(v
[0]), USHORT_TO_FLOAT(v
[1]),
262 USHORT_TO_FLOAT(v
[2]), USHORT_TO_FLOAT(v
[3]) );
265 static void GLAPIENTRY
266 loopback_Color4ubv_f( const GLubyte
*v
)
268 COLORF( UBYTE_TO_FLOAT(v
[0]), UBYTE_TO_FLOAT(v
[1]),
269 UBYTE_TO_FLOAT(v
[2]), UBYTE_TO_FLOAT(v
[3]) );
273 static void GLAPIENTRY
274 loopback_FogCoorddEXT( GLdouble d
)
276 FOGCOORDF( (GLfloat
) d
);
279 static void GLAPIENTRY
280 loopback_FogCoorddvEXT( const GLdouble
*v
)
282 FOGCOORDF( (GLfloat
) *v
);
286 static void GLAPIENTRY
287 loopback_Indexd( GLdouble c
)
289 INDEX( (GLfloat
) c
);
292 static void GLAPIENTRY
293 loopback_Indexi( GLint c
)
295 INDEX( (GLfloat
) c
);
298 static void GLAPIENTRY
299 loopback_Indexs( GLshort c
)
301 INDEX( (GLfloat
) c
);
304 static void GLAPIENTRY
305 loopback_Indexub( GLubyte c
)
307 INDEX( (GLfloat
) c
);
310 static void GLAPIENTRY
311 loopback_Indexdv( const GLdouble
*c
)
313 INDEX( (GLfloat
) *c
);
316 static void GLAPIENTRY
317 loopback_Indexiv( const GLint
*c
)
319 INDEX( (GLfloat
) *c
);
322 static void GLAPIENTRY
323 loopback_Indexsv( const GLshort
*c
)
325 INDEX( (GLfloat
) *c
);
328 static void GLAPIENTRY
329 loopback_Indexubv( const GLubyte
*c
)
331 INDEX( (GLfloat
) *c
);
335 static void GLAPIENTRY
336 loopback_EdgeFlagv(const GLboolean
*flag
)
338 CALL_EdgeFlag(GET_DISPATCH(), (*flag
));
342 static void GLAPIENTRY
343 loopback_Normal3b( GLbyte nx
, GLbyte ny
, GLbyte nz
)
345 NORMAL( BYTE_TO_FLOAT(nx
), BYTE_TO_FLOAT(ny
), BYTE_TO_FLOAT(nz
) );
348 static void GLAPIENTRY
349 loopback_Normal3d( GLdouble nx
, GLdouble ny
, GLdouble nz
)
351 NORMAL((GLfloat
) nx
, (GLfloat
) ny
, (GLfloat
) nz
);
354 static void GLAPIENTRY
355 loopback_Normal3i( GLint nx
, GLint ny
, GLint nz
)
357 NORMAL( INT_TO_FLOAT(nx
), INT_TO_FLOAT(ny
), INT_TO_FLOAT(nz
) );
360 static void GLAPIENTRY
361 loopback_Normal3s( GLshort nx
, GLshort ny
, GLshort nz
)
363 NORMAL( SHORT_TO_FLOAT(nx
), SHORT_TO_FLOAT(ny
), SHORT_TO_FLOAT(nz
) );
366 static void GLAPIENTRY
367 loopback_Normal3bv( const GLbyte
*v
)
369 NORMAL( BYTE_TO_FLOAT(v
[0]), BYTE_TO_FLOAT(v
[1]), BYTE_TO_FLOAT(v
[2]) );
372 static void GLAPIENTRY
373 loopback_Normal3dv( const GLdouble
*v
)
375 NORMAL( (GLfloat
) v
[0], (GLfloat
) v
[1], (GLfloat
) v
[2] );
378 static void GLAPIENTRY
379 loopback_Normal3iv( const GLint
*v
)
381 NORMAL( INT_TO_FLOAT(v
[0]), INT_TO_FLOAT(v
[1]), INT_TO_FLOAT(v
[2]) );
384 static void GLAPIENTRY
385 loopback_Normal3sv( const GLshort
*v
)
387 NORMAL( SHORT_TO_FLOAT(v
[0]), SHORT_TO_FLOAT(v
[1]), SHORT_TO_FLOAT(v
[2]) );
390 static void GLAPIENTRY
391 loopback_TexCoord1d( GLdouble s
)
393 TEXCOORD1((GLfloat
) s
);
396 static void GLAPIENTRY
397 loopback_TexCoord1i( GLint s
)
399 TEXCOORD1((GLfloat
) s
);
402 static void GLAPIENTRY
403 loopback_TexCoord1s( GLshort s
)
405 TEXCOORD1((GLfloat
) s
);
408 static void GLAPIENTRY
409 loopback_TexCoord2d( GLdouble s
, GLdouble t
)
411 TEXCOORD2((GLfloat
) s
,(GLfloat
) t
);
414 static void GLAPIENTRY
415 loopback_TexCoord2s( GLshort s
, GLshort t
)
417 TEXCOORD2((GLfloat
) s
,(GLfloat
) t
);
420 static void GLAPIENTRY
421 loopback_TexCoord2i( GLint s
, GLint t
)
423 TEXCOORD2((GLfloat
) s
,(GLfloat
) t
);
426 static void GLAPIENTRY
427 loopback_TexCoord3d( GLdouble s
, GLdouble t
, GLdouble r
)
429 TEXCOORD3((GLfloat
) s
,(GLfloat
) t
,(GLfloat
) r
);
432 static void GLAPIENTRY
433 loopback_TexCoord3i( GLint s
, GLint t
, GLint r
)
435 TEXCOORD3((GLfloat
) s
,(GLfloat
) t
,(GLfloat
) r
);
438 static void GLAPIENTRY
439 loopback_TexCoord3s( GLshort s
, GLshort t
, GLshort r
)
441 TEXCOORD3((GLfloat
) s
,(GLfloat
) t
,(GLfloat
) r
);
444 static void GLAPIENTRY
445 loopback_TexCoord4d( GLdouble s
, GLdouble t
, GLdouble r
, GLdouble q
)
447 TEXCOORD4((GLfloat
) s
,(GLfloat
) t
,(GLfloat
) r
,(GLfloat
) q
);
450 static void GLAPIENTRY
451 loopback_TexCoord4i( GLint s
, GLint t
, GLint r
, GLint q
)
453 TEXCOORD4((GLfloat
) s
,(GLfloat
) t
,(GLfloat
) r
,(GLfloat
) q
);
456 static void GLAPIENTRY
457 loopback_TexCoord4s( GLshort s
, GLshort t
, GLshort r
, GLshort q
)
459 TEXCOORD4((GLfloat
) s
,(GLfloat
) t
,(GLfloat
) r
,(GLfloat
) q
);
462 static void GLAPIENTRY
463 loopback_TexCoord1dv( const GLdouble
*v
)
465 TEXCOORD1((GLfloat
) v
[0]);
468 static void GLAPIENTRY
469 loopback_TexCoord1iv( const GLint
*v
)
471 TEXCOORD1((GLfloat
) v
[0]);
474 static void GLAPIENTRY
475 loopback_TexCoord1sv( const GLshort
*v
)
477 TEXCOORD1((GLfloat
) v
[0]);
480 static void GLAPIENTRY
481 loopback_TexCoord2dv( const GLdouble
*v
)
483 TEXCOORD2((GLfloat
) v
[0],(GLfloat
) v
[1]);
486 static void GLAPIENTRY
487 loopback_TexCoord2iv( const GLint
*v
)
489 TEXCOORD2((GLfloat
) v
[0],(GLfloat
) v
[1]);
492 static void GLAPIENTRY
493 loopback_TexCoord2sv( const GLshort
*v
)
495 TEXCOORD2((GLfloat
) v
[0],(GLfloat
) v
[1]);
498 static void GLAPIENTRY
499 loopback_TexCoord3dv( const GLdouble
*v
)
501 TEXCOORD3((GLfloat
) v
[0],(GLfloat
) v
[1],(GLfloat
) v
[2]);
504 static void GLAPIENTRY
505 loopback_TexCoord3iv( const GLint
*v
)
507 TEXCOORD3((GLfloat
) v
[0],(GLfloat
) v
[1],(GLfloat
) v
[2]);
510 static void GLAPIENTRY
511 loopback_TexCoord3sv( const GLshort
*v
)
513 TEXCOORD3((GLfloat
) v
[0],(GLfloat
) v
[1],(GLfloat
) v
[2]);
516 static void GLAPIENTRY
517 loopback_TexCoord4dv( const GLdouble
*v
)
519 TEXCOORD4((GLfloat
) v
[0],(GLfloat
) v
[1],(GLfloat
) v
[2],(GLfloat
) v
[3]);
522 static void GLAPIENTRY
523 loopback_TexCoord4iv( const GLint
*v
)
525 TEXCOORD4((GLfloat
) v
[0],(GLfloat
) v
[1],(GLfloat
) v
[2],(GLfloat
) v
[3]);
528 static void GLAPIENTRY
529 loopback_TexCoord4sv( const GLshort
*v
)
531 TEXCOORD4((GLfloat
) v
[0],(GLfloat
) v
[1],(GLfloat
) v
[2],(GLfloat
) v
[3]);
534 static void GLAPIENTRY
535 loopback_Vertex2d( GLdouble x
, GLdouble y
)
537 VERTEX2( (GLfloat
) x
, (GLfloat
) y
);
540 static void GLAPIENTRY
541 loopback_Vertex2i( GLint x
, GLint y
)
543 VERTEX2( (GLfloat
) x
, (GLfloat
) y
);
546 static void GLAPIENTRY
547 loopback_Vertex2s( GLshort x
, GLshort y
)
549 VERTEX2( (GLfloat
) x
, (GLfloat
) y
);
552 static void GLAPIENTRY
553 loopback_Vertex3d( GLdouble x
, GLdouble y
, GLdouble z
)
555 VERTEX3( (GLfloat
) x
, (GLfloat
) y
, (GLfloat
) z
);
558 static void GLAPIENTRY
559 loopback_Vertex3i( GLint x
, GLint y
, GLint z
)
561 VERTEX3( (GLfloat
) x
, (GLfloat
) y
, (GLfloat
) z
);
564 static void GLAPIENTRY
565 loopback_Vertex3s( GLshort x
, GLshort y
, GLshort z
)
567 VERTEX3( (GLfloat
) x
, (GLfloat
) y
, (GLfloat
) z
);
570 static void GLAPIENTRY
571 loopback_Vertex4d( GLdouble x
, GLdouble y
, GLdouble z
, GLdouble w
)
573 VERTEX4( (GLfloat
) x
, (GLfloat
) y
, (GLfloat
) z
, (GLfloat
) w
);
576 static void GLAPIENTRY
577 loopback_Vertex4i( GLint x
, GLint y
, GLint z
, GLint w
)
579 VERTEX4( (GLfloat
) x
, (GLfloat
) y
, (GLfloat
) z
, (GLfloat
) w
);
582 static void GLAPIENTRY
583 loopback_Vertex4s( GLshort x
, GLshort y
, GLshort z
, GLshort w
)
585 VERTEX4( (GLfloat
) x
, (GLfloat
) y
, (GLfloat
) z
, (GLfloat
) w
);
588 static void GLAPIENTRY
589 loopback_Vertex2dv( const GLdouble
*v
)
591 VERTEX2( (GLfloat
) v
[0], (GLfloat
) v
[1] );
594 static void GLAPIENTRY
595 loopback_Vertex2iv( const GLint
*v
)
597 VERTEX2( (GLfloat
) v
[0], (GLfloat
) v
[1] );
600 static void GLAPIENTRY
601 loopback_Vertex2sv( const GLshort
*v
)
603 VERTEX2( (GLfloat
) v
[0], (GLfloat
) v
[1] );
606 static void GLAPIENTRY
607 loopback_Vertex3dv( const GLdouble
*v
)
609 VERTEX3( (GLfloat
) v
[0], (GLfloat
) v
[1], (GLfloat
) v
[2] );
612 static void GLAPIENTRY
613 loopback_Vertex3iv( const GLint
*v
)
615 VERTEX3( (GLfloat
) v
[0], (GLfloat
) v
[1], (GLfloat
) v
[2] );
618 static void GLAPIENTRY
619 loopback_Vertex3sv( const GLshort
*v
)
621 VERTEX3( (GLfloat
) v
[0], (GLfloat
) v
[1], (GLfloat
) v
[2] );
624 static void GLAPIENTRY
625 loopback_Vertex4dv( const GLdouble
*v
)
627 VERTEX4( (GLfloat
) v
[0], (GLfloat
) v
[1],
628 (GLfloat
) v
[2], (GLfloat
) v
[3] );
631 static void GLAPIENTRY
632 loopback_Vertex4iv( const GLint
*v
)
634 VERTEX4( (GLfloat
) v
[0], (GLfloat
) v
[1],
635 (GLfloat
) v
[2], (GLfloat
) v
[3] );
638 static void GLAPIENTRY
639 loopback_Vertex4sv( const GLshort
*v
)
641 VERTEX4( (GLfloat
) v
[0], (GLfloat
) v
[1],
642 (GLfloat
) v
[2], (GLfloat
) v
[3] );
645 static void GLAPIENTRY
646 loopback_EvalCoord2dv( const GLdouble
*u
)
648 EVALCOORD2( (GLfloat
) u
[0], (GLfloat
) u
[1] );
651 static void GLAPIENTRY
652 loopback_EvalCoord2fv( const GLfloat
*u
)
654 EVALCOORD2( u
[0], u
[1] );
657 static void GLAPIENTRY
658 loopback_EvalCoord2d( GLdouble u
, GLdouble v
)
660 EVALCOORD2( (GLfloat
) u
, (GLfloat
) v
);
663 static void GLAPIENTRY
664 loopback_EvalCoord1dv( const GLdouble
*u
)
666 EVALCOORD1( (GLfloat
) *u
);
669 static void GLAPIENTRY
670 loopback_EvalCoord1fv( const GLfloat
*u
)
672 EVALCOORD1( (GLfloat
) *u
);
675 static void GLAPIENTRY
676 loopback_EvalCoord1d( GLdouble u
)
678 EVALCOORD1( (GLfloat
) u
);
681 static void GLAPIENTRY
682 loopback_Materialf( GLenum face
, GLenum pname
, GLfloat param
)
686 MATERIALFV( face
, pname
, fparam
);
689 static void GLAPIENTRY
690 loopback_Materiali(GLenum face
, GLenum pname
, GLint param
)
692 GLfloat p
= (GLfloat
) param
;
693 MATERIALFV(face
, pname
, &p
);
696 static void GLAPIENTRY
697 loopback_Materialiv(GLenum face
, GLenum pname
, const GLint
*params
)
705 case GL_AMBIENT_AND_DIFFUSE
:
706 fparam
[0] = INT_TO_FLOAT( params
[0] );
707 fparam
[1] = INT_TO_FLOAT( params
[1] );
708 fparam
[2] = INT_TO_FLOAT( params
[2] );
709 fparam
[3] = INT_TO_FLOAT( params
[3] );
712 fparam
[0] = (GLfloat
) params
[0];
714 case GL_COLOR_INDEXES
:
715 fparam
[0] = (GLfloat
) params
[0];
716 fparam
[1] = (GLfloat
) params
[1];
717 fparam
[2] = (GLfloat
) params
[2];
722 MATERIALFV(face
, pname
, fparam
);
726 static void GLAPIENTRY
727 loopback_Rectd(GLdouble x1
, GLdouble y1
, GLdouble x2
, GLdouble y2
)
729 RECTF((GLfloat
) x1
, (GLfloat
) y1
, (GLfloat
) x2
, (GLfloat
) y2
);
732 static void GLAPIENTRY
733 loopback_Rectdv(const GLdouble
*v1
, const GLdouble
*v2
)
735 RECTF((GLfloat
) v1
[0], (GLfloat
) v1
[1], (GLfloat
) v2
[0], (GLfloat
) v2
[1]);
738 static void GLAPIENTRY
739 loopback_Rectfv(const GLfloat
*v1
, const GLfloat
*v2
)
741 RECTF(v1
[0], v1
[1], v2
[0], v2
[1]);
744 static void GLAPIENTRY
745 loopback_Recti(GLint x1
, GLint y1
, GLint x2
, GLint y2
)
747 RECTF((GLfloat
) x1
, (GLfloat
) y1
, (GLfloat
) x2
, (GLfloat
) y2
);
750 static void GLAPIENTRY
751 loopback_Rectiv(const GLint
*v1
, const GLint
*v2
)
753 RECTF((GLfloat
) v1
[0], (GLfloat
) v1
[1], (GLfloat
) v2
[0], (GLfloat
) v2
[1]);
756 static void GLAPIENTRY
757 loopback_Rects(GLshort x1
, GLshort y1
, GLshort x2
, GLshort y2
)
759 RECTF((GLfloat
) x1
, (GLfloat
) y1
, (GLfloat
) x2
, (GLfloat
) y2
);
762 static void GLAPIENTRY
763 loopback_Rectsv(const GLshort
*v1
, const GLshort
*v2
)
765 RECTF((GLfloat
) v1
[0], (GLfloat
) v1
[1], (GLfloat
) v2
[0], (GLfloat
) v2
[1]);
768 static void GLAPIENTRY
769 loopback_SecondaryColor3bEXT_f( GLbyte red
, GLbyte green
, GLbyte blue
)
771 SECONDARYCOLORF( BYTE_TO_FLOAT(red
),
772 BYTE_TO_FLOAT(green
),
773 BYTE_TO_FLOAT(blue
) );
776 static void GLAPIENTRY
777 loopback_SecondaryColor3dEXT_f( GLdouble red
, GLdouble green
, GLdouble blue
)
779 SECONDARYCOLORF( (GLfloat
) red
, (GLfloat
) green
, (GLfloat
) blue
);
782 static void GLAPIENTRY
783 loopback_SecondaryColor3iEXT_f( GLint red
, GLint green
, GLint blue
)
785 SECONDARYCOLORF( INT_TO_FLOAT(red
),
790 static void GLAPIENTRY
791 loopback_SecondaryColor3sEXT_f( GLshort red
, GLshort green
, GLshort blue
)
793 SECONDARYCOLORF(SHORT_TO_FLOAT(red
),
794 SHORT_TO_FLOAT(green
),
795 SHORT_TO_FLOAT(blue
));
798 static void GLAPIENTRY
799 loopback_SecondaryColor3uiEXT_f( GLuint red
, GLuint green
, GLuint blue
)
801 SECONDARYCOLORF(UINT_TO_FLOAT(red
),
802 UINT_TO_FLOAT(green
),
803 UINT_TO_FLOAT(blue
));
806 static void GLAPIENTRY
807 loopback_SecondaryColor3usEXT_f( GLushort red
, GLushort green
, GLushort blue
)
809 SECONDARYCOLORF(USHORT_TO_FLOAT(red
),
810 USHORT_TO_FLOAT(green
),
811 USHORT_TO_FLOAT(blue
));
814 static void GLAPIENTRY
815 loopback_SecondaryColor3ubEXT_f( GLubyte red
, GLubyte green
, GLubyte blue
)
817 SECONDARYCOLORF(UBYTE_TO_FLOAT(red
),
818 UBYTE_TO_FLOAT(green
),
819 UBYTE_TO_FLOAT(blue
));
822 static void GLAPIENTRY
823 loopback_SecondaryColor3bvEXT_f( const GLbyte
*v
)
825 SECONDARYCOLORF(BYTE_TO_FLOAT(v
[0]),
827 BYTE_TO_FLOAT(v
[2]));
830 static void GLAPIENTRY
831 loopback_SecondaryColor3dvEXT_f( const GLdouble
*v
)
833 SECONDARYCOLORF( (GLfloat
) v
[0], (GLfloat
) v
[1], (GLfloat
) v
[2] );
835 static void GLAPIENTRY
836 loopback_SecondaryColor3ivEXT_f( const GLint
*v
)
838 SECONDARYCOLORF(INT_TO_FLOAT(v
[0]),
843 static void GLAPIENTRY
844 loopback_SecondaryColor3svEXT_f( const GLshort
*v
)
846 SECONDARYCOLORF(SHORT_TO_FLOAT(v
[0]),
847 SHORT_TO_FLOAT(v
[1]),
848 SHORT_TO_FLOAT(v
[2]));
851 static void GLAPIENTRY
852 loopback_SecondaryColor3uivEXT_f( const GLuint
*v
)
854 SECONDARYCOLORF(UINT_TO_FLOAT(v
[0]),
856 UINT_TO_FLOAT(v
[2]));
859 static void GLAPIENTRY
860 loopback_SecondaryColor3usvEXT_f( const GLushort
*v
)
862 SECONDARYCOLORF(USHORT_TO_FLOAT(v
[0]),
863 USHORT_TO_FLOAT(v
[1]),
864 USHORT_TO_FLOAT(v
[2]));
867 static void GLAPIENTRY
868 loopback_SecondaryColor3ubvEXT_f( const GLubyte
*v
)
870 SECONDARYCOLORF(UBYTE_TO_FLOAT(v
[0]),
871 UBYTE_TO_FLOAT(v
[1]),
872 UBYTE_TO_FLOAT(v
[2]));
877 * GL_NV_vertex_program:
878 * Always loop-back to one of the VertexAttrib[1234]f[v]NV functions.
879 * Note that attribute indexes DO alias conventional vertex attributes.
882 static void GLAPIENTRY
883 loopback_VertexAttrib1sNV(GLuint index
, GLshort x
)
885 ATTRIB1NV(index
, (GLfloat
) x
);
888 static void GLAPIENTRY
889 loopback_VertexAttrib1dNV(GLuint index
, GLdouble x
)
891 ATTRIB1NV(index
, (GLfloat
) x
);
894 static void GLAPIENTRY
895 loopback_VertexAttrib2sNV(GLuint index
, GLshort x
, GLshort y
)
897 ATTRIB2NV(index
, (GLfloat
) x
, y
);
900 static void GLAPIENTRY
901 loopback_VertexAttrib2dNV(GLuint index
, GLdouble x
, GLdouble y
)
903 ATTRIB2NV(index
, (GLfloat
) x
, (GLfloat
) y
);
906 static void GLAPIENTRY
907 loopback_VertexAttrib3sNV(GLuint index
, GLshort x
, GLshort y
, GLshort z
)
909 ATTRIB3NV(index
, (GLfloat
) x
, (GLfloat
) y
, (GLfloat
) z
);
912 static void GLAPIENTRY
913 loopback_VertexAttrib3dNV(GLuint index
, GLdouble x
, GLdouble y
, GLdouble z
)
915 ATTRIB4NV(index
, (GLfloat
) x
, (GLfloat
) y
, (GLfloat
) z
, 1.0F
);
918 static void GLAPIENTRY
919 loopback_VertexAttrib4sNV(GLuint index
, GLshort x
, GLshort y
, GLshort z
, GLshort w
)
921 ATTRIB4NV(index
, (GLfloat
) x
, (GLfloat
) y
, (GLfloat
) z
, (GLfloat
) w
);
924 static void GLAPIENTRY
925 loopback_VertexAttrib4dNV(GLuint index
, GLdouble x
, GLdouble y
, GLdouble z
, GLdouble w
)
927 ATTRIB4NV(index
, (GLfloat
) x
, (GLfloat
) y
, (GLfloat
) z
, (GLfloat
) w
);
930 static void GLAPIENTRY
931 loopback_VertexAttrib4ubNV(GLuint index
, GLubyte x
, GLubyte y
, GLubyte z
, GLubyte w
)
933 ATTRIB4NV(index
, UBYTE_TO_FLOAT(x
), UBYTE_TO_FLOAT(y
),
934 UBYTE_TO_FLOAT(z
), UBYTE_TO_FLOAT(w
));
937 static void GLAPIENTRY
938 loopback_VertexAttrib1svNV(GLuint index
, const GLshort
*v
)
940 ATTRIB1NV(index
, (GLfloat
) v
[0]);
943 static void GLAPIENTRY
944 loopback_VertexAttrib1dvNV(GLuint index
, const GLdouble
*v
)
946 ATTRIB1NV(index
, (GLfloat
) v
[0]);
949 static void GLAPIENTRY
950 loopback_VertexAttrib2svNV(GLuint index
, const GLshort
*v
)
952 ATTRIB2NV(index
, (GLfloat
) v
[0], (GLfloat
) v
[1]);
955 static void GLAPIENTRY
956 loopback_VertexAttrib2dvNV(GLuint index
, const GLdouble
*v
)
958 ATTRIB2NV(index
, (GLfloat
) v
[0], (GLfloat
) v
[1]);
961 static void GLAPIENTRY
962 loopback_VertexAttrib3svNV(GLuint index
, const GLshort
*v
)
964 ATTRIB3NV(index
, (GLfloat
) v
[0], (GLfloat
) v
[1], (GLfloat
) v
[2]);
967 static void GLAPIENTRY
968 loopback_VertexAttrib3dvNV(GLuint index
, const GLdouble
*v
)
970 ATTRIB3NV(index
, (GLfloat
) v
[0], (GLfloat
) v
[1], (GLfloat
) v
[2]);
973 static void GLAPIENTRY
974 loopback_VertexAttrib4svNV(GLuint index
, const GLshort
*v
)
976 ATTRIB4NV(index
, (GLfloat
) v
[0], (GLfloat
) v
[1], (GLfloat
) v
[2],
980 static void GLAPIENTRY
981 loopback_VertexAttrib4dvNV(GLuint index
, const GLdouble
*v
)
983 ATTRIB4NV(index
, (GLfloat
) v
[0], (GLfloat
) v
[1], (GLfloat
) v
[2], (GLfloat
) v
[3]);
986 static void GLAPIENTRY
987 loopback_VertexAttrib4ubvNV(GLuint index
, const GLubyte
*v
)
989 ATTRIB4NV(index
, UBYTE_TO_FLOAT(v
[0]), UBYTE_TO_FLOAT(v
[1]),
990 UBYTE_TO_FLOAT(v
[2]), UBYTE_TO_FLOAT(v
[3]));
994 static void GLAPIENTRY
995 loopback_VertexAttribs1svNV(GLuint index
, GLsizei n
, const GLshort
*v
)
998 for (i
= n
- 1; i
>= 0; i
--)
999 loopback_VertexAttrib1svNV(index
+ i
, v
+ i
);
1002 static void GLAPIENTRY
1003 loopback_VertexAttribs1fvNV(GLuint index
, GLsizei n
, const GLfloat
*v
)
1006 for (i
= n
- 1; i
>= 0; i
--)
1007 ATTRIB1NV(index
+ i
, v
[i
]);
1010 static void GLAPIENTRY
1011 loopback_VertexAttribs1dvNV(GLuint index
, GLsizei n
, const GLdouble
*v
)
1014 for (i
= n
- 1; i
>= 0; i
--)
1015 loopback_VertexAttrib1dvNV(index
+ i
, v
+ i
);
1018 static void GLAPIENTRY
1019 loopback_VertexAttribs2svNV(GLuint index
, GLsizei n
, const GLshort
*v
)
1022 for (i
= n
- 1; i
>= 0; i
--)
1023 loopback_VertexAttrib2svNV(index
+ i
, v
+ 2 * i
);
1026 static void GLAPIENTRY
1027 loopback_VertexAttribs2fvNV(GLuint index
, GLsizei n
, const GLfloat
*v
)
1030 for (i
= n
- 1; i
>= 0; i
--)
1031 ATTRIB2NV(index
+ i
, v
[2 * i
], v
[2 * i
+ 1]);
1034 static void GLAPIENTRY
1035 loopback_VertexAttribs2dvNV(GLuint index
, GLsizei n
, const GLdouble
*v
)
1038 for (i
= n
- 1; i
>= 0; i
--)
1039 loopback_VertexAttrib2dvNV(index
+ i
, v
+ 2 * i
);
1042 static void GLAPIENTRY
1043 loopback_VertexAttribs3svNV(GLuint index
, GLsizei n
, const GLshort
*v
)
1046 for (i
= n
- 1; i
>= 0; i
--)
1047 loopback_VertexAttrib3svNV(index
+ i
, v
+ 3 * i
);
1050 static void GLAPIENTRY
1051 loopback_VertexAttribs3fvNV(GLuint index
, GLsizei n
, const GLfloat
*v
)
1054 for (i
= n
- 1; i
>= 0; i
--)
1055 ATTRIB3NV(index
+ i
, v
[3 * i
], v
[3 * i
+ 1], v
[3 * i
+ 2]);
1058 static void GLAPIENTRY
1059 loopback_VertexAttribs3dvNV(GLuint index
, GLsizei n
, const GLdouble
*v
)
1062 for (i
= n
- 1; i
>= 0; i
--)
1063 loopback_VertexAttrib3dvNV(index
+ i
, v
+ 3 * i
);
1066 static void GLAPIENTRY
1067 loopback_VertexAttribs4svNV(GLuint index
, GLsizei n
, const GLshort
*v
)
1070 for (i
= n
- 1; i
>= 0; i
--)
1071 loopback_VertexAttrib4svNV(index
+ i
, v
+ 4 * i
);
1074 static void GLAPIENTRY
1075 loopback_VertexAttribs4fvNV(GLuint index
, GLsizei n
, const GLfloat
*v
)
1078 for (i
= n
- 1; i
>= 0; i
--)
1079 ATTRIB4NV(index
+ i
, v
[4 * i
], v
[4 * i
+ 1], v
[4 * i
+ 2], v
[4 * i
+ 3]);
1082 static void GLAPIENTRY
1083 loopback_VertexAttribs4dvNV(GLuint index
, GLsizei n
, const GLdouble
*v
)
1086 for (i
= n
- 1; i
>= 0; i
--)
1087 loopback_VertexAttrib4dvNV(index
+ i
, v
+ 4 * i
);
1090 static void GLAPIENTRY
1091 loopback_VertexAttribs4ubvNV(GLuint index
, GLsizei n
, const GLubyte
*v
)
1094 for (i
= n
- 1; i
>= 0; i
--)
1095 loopback_VertexAttrib4ubvNV(index
+ i
, v
+ 4 * i
);
1102 * This code never registers handlers for any of the entry points
1103 * listed in vtxfmt.h.
1106 _mesa_loopback_init_api_table( struct _glapi_table
*dest
)
1108 SET_Color3b(dest
, loopback_Color3b_f
);
1109 SET_Color3d(dest
, loopback_Color3d_f
);
1110 SET_Color3i(dest
, loopback_Color3i_f
);
1111 SET_Color3s(dest
, loopback_Color3s_f
);
1112 SET_Color3ui(dest
, loopback_Color3ui_f
);
1113 SET_Color3us(dest
, loopback_Color3us_f
);
1114 SET_Color3ub(dest
, loopback_Color3ub_f
);
1115 SET_Color4b(dest
, loopback_Color4b_f
);
1116 SET_Color4d(dest
, loopback_Color4d_f
);
1117 SET_Color4i(dest
, loopback_Color4i_f
);
1118 SET_Color4s(dest
, loopback_Color4s_f
);
1119 SET_Color4ui(dest
, loopback_Color4ui_f
);
1120 SET_Color4us(dest
, loopback_Color4us_f
);
1121 SET_Color4ub(dest
, loopback_Color4ub_f
);
1122 SET_Color3bv(dest
, loopback_Color3bv_f
);
1123 SET_Color3dv(dest
, loopback_Color3dv_f
);
1124 SET_Color3iv(dest
, loopback_Color3iv_f
);
1125 SET_Color3sv(dest
, loopback_Color3sv_f
);
1126 SET_Color3uiv(dest
, loopback_Color3uiv_f
);
1127 SET_Color3usv(dest
, loopback_Color3usv_f
);
1128 SET_Color3ubv(dest
, loopback_Color3ubv_f
);
1129 SET_Color4bv(dest
, loopback_Color4bv_f
);
1130 SET_Color4dv(dest
, loopback_Color4dv_f
);
1131 SET_Color4iv(dest
, loopback_Color4iv_f
);
1132 SET_Color4sv(dest
, loopback_Color4sv_f
);
1133 SET_Color4uiv(dest
, loopback_Color4uiv_f
);
1134 SET_Color4usv(dest
, loopback_Color4usv_f
);
1135 SET_Color4ubv(dest
, loopback_Color4ubv_f
);
1137 SET_SecondaryColor3bEXT(dest
, loopback_SecondaryColor3bEXT_f
);
1138 SET_SecondaryColor3dEXT(dest
, loopback_SecondaryColor3dEXT_f
);
1139 SET_SecondaryColor3iEXT(dest
, loopback_SecondaryColor3iEXT_f
);
1140 SET_SecondaryColor3sEXT(dest
, loopback_SecondaryColor3sEXT_f
);
1141 SET_SecondaryColor3uiEXT(dest
, loopback_SecondaryColor3uiEXT_f
);
1142 SET_SecondaryColor3usEXT(dest
, loopback_SecondaryColor3usEXT_f
);
1143 SET_SecondaryColor3ubEXT(dest
, loopback_SecondaryColor3ubEXT_f
);
1144 SET_SecondaryColor3bvEXT(dest
, loopback_SecondaryColor3bvEXT_f
);
1145 SET_SecondaryColor3dvEXT(dest
, loopback_SecondaryColor3dvEXT_f
);
1146 SET_SecondaryColor3ivEXT(dest
, loopback_SecondaryColor3ivEXT_f
);
1147 SET_SecondaryColor3svEXT(dest
, loopback_SecondaryColor3svEXT_f
);
1148 SET_SecondaryColor3uivEXT(dest
, loopback_SecondaryColor3uivEXT_f
);
1149 SET_SecondaryColor3usvEXT(dest
, loopback_SecondaryColor3usvEXT_f
);
1150 SET_SecondaryColor3ubvEXT(dest
, loopback_SecondaryColor3ubvEXT_f
);
1152 SET_EdgeFlagv(dest
, loopback_EdgeFlagv
);
1154 SET_Indexd(dest
, loopback_Indexd
);
1155 SET_Indexi(dest
, loopback_Indexi
);
1156 SET_Indexs(dest
, loopback_Indexs
);
1157 SET_Indexub(dest
, loopback_Indexub
);
1158 SET_Indexdv(dest
, loopback_Indexdv
);
1159 SET_Indexiv(dest
, loopback_Indexiv
);
1160 SET_Indexsv(dest
, loopback_Indexsv
);
1161 SET_Indexubv(dest
, loopback_Indexubv
);
1162 SET_Normal3b(dest
, loopback_Normal3b
);
1163 SET_Normal3d(dest
, loopback_Normal3d
);
1164 SET_Normal3i(dest
, loopback_Normal3i
);
1165 SET_Normal3s(dest
, loopback_Normal3s
);
1166 SET_Normal3bv(dest
, loopback_Normal3bv
);
1167 SET_Normal3dv(dest
, loopback_Normal3dv
);
1168 SET_Normal3iv(dest
, loopback_Normal3iv
);
1169 SET_Normal3sv(dest
, loopback_Normal3sv
);
1170 SET_TexCoord1d(dest
, loopback_TexCoord1d
);
1171 SET_TexCoord1i(dest
, loopback_TexCoord1i
);
1172 SET_TexCoord1s(dest
, loopback_TexCoord1s
);
1173 SET_TexCoord2d(dest
, loopback_TexCoord2d
);
1174 SET_TexCoord2s(dest
, loopback_TexCoord2s
);
1175 SET_TexCoord2i(dest
, loopback_TexCoord2i
);
1176 SET_TexCoord3d(dest
, loopback_TexCoord3d
);
1177 SET_TexCoord3i(dest
, loopback_TexCoord3i
);
1178 SET_TexCoord3s(dest
, loopback_TexCoord3s
);
1179 SET_TexCoord4d(dest
, loopback_TexCoord4d
);
1180 SET_TexCoord4i(dest
, loopback_TexCoord4i
);
1181 SET_TexCoord4s(dest
, loopback_TexCoord4s
);
1182 SET_TexCoord1dv(dest
, loopback_TexCoord1dv
);
1183 SET_TexCoord1iv(dest
, loopback_TexCoord1iv
);
1184 SET_TexCoord1sv(dest
, loopback_TexCoord1sv
);
1185 SET_TexCoord2dv(dest
, loopback_TexCoord2dv
);
1186 SET_TexCoord2iv(dest
, loopback_TexCoord2iv
);
1187 SET_TexCoord2sv(dest
, loopback_TexCoord2sv
);
1188 SET_TexCoord3dv(dest
, loopback_TexCoord3dv
);
1189 SET_TexCoord3iv(dest
, loopback_TexCoord3iv
);
1190 SET_TexCoord3sv(dest
, loopback_TexCoord3sv
);
1191 SET_TexCoord4dv(dest
, loopback_TexCoord4dv
);
1192 SET_TexCoord4iv(dest
, loopback_TexCoord4iv
);
1193 SET_TexCoord4sv(dest
, loopback_TexCoord4sv
);
1194 SET_Vertex2d(dest
, loopback_Vertex2d
);
1195 SET_Vertex2i(dest
, loopback_Vertex2i
);
1196 SET_Vertex2s(dest
, loopback_Vertex2s
);
1197 SET_Vertex3d(dest
, loopback_Vertex3d
);
1198 SET_Vertex3i(dest
, loopback_Vertex3i
);
1199 SET_Vertex3s(dest
, loopback_Vertex3s
);
1200 SET_Vertex4d(dest
, loopback_Vertex4d
);
1201 SET_Vertex4i(dest
, loopback_Vertex4i
);
1202 SET_Vertex4s(dest
, loopback_Vertex4s
);
1203 SET_Vertex2dv(dest
, loopback_Vertex2dv
);
1204 SET_Vertex2iv(dest
, loopback_Vertex2iv
);
1205 SET_Vertex2sv(dest
, loopback_Vertex2sv
);
1206 SET_Vertex3dv(dest
, loopback_Vertex3dv
);
1207 SET_Vertex3iv(dest
, loopback_Vertex3iv
);
1208 SET_Vertex3sv(dest
, loopback_Vertex3sv
);
1209 SET_Vertex4dv(dest
, loopback_Vertex4dv
);
1210 SET_Vertex4iv(dest
, loopback_Vertex4iv
);
1211 SET_Vertex4sv(dest
, loopback_Vertex4sv
);
1212 SET_EvalCoord2dv(dest
, loopback_EvalCoord2dv
);
1213 SET_EvalCoord2fv(dest
, loopback_EvalCoord2fv
);
1214 SET_EvalCoord2d(dest
, loopback_EvalCoord2d
);
1215 SET_EvalCoord1dv(dest
, loopback_EvalCoord1dv
);
1216 SET_EvalCoord1fv(dest
, loopback_EvalCoord1fv
);
1217 SET_EvalCoord1d(dest
, loopback_EvalCoord1d
);
1218 SET_Materialf(dest
, loopback_Materialf
);
1219 SET_Materiali(dest
, loopback_Materiali
);
1220 SET_Materialiv(dest
, loopback_Materialiv
);
1221 SET_Rectd(dest
, loopback_Rectd
);
1222 SET_Rectdv(dest
, loopback_Rectdv
);
1223 SET_Rectfv(dest
, loopback_Rectfv
);
1224 SET_Recti(dest
, loopback_Recti
);
1225 SET_Rectiv(dest
, loopback_Rectiv
);
1226 SET_Rects(dest
, loopback_Rects
);
1227 SET_Rectsv(dest
, loopback_Rectsv
);
1228 SET_FogCoorddEXT(dest
, loopback_FogCoorddEXT
);
1229 SET_FogCoorddvEXT(dest
, loopback_FogCoorddvEXT
);
1231 SET_VertexAttrib1sNV(dest
, loopback_VertexAttrib1sNV
);
1232 SET_VertexAttrib1dNV(dest
, loopback_VertexAttrib1dNV
);
1233 SET_VertexAttrib2sNV(dest
, loopback_VertexAttrib2sNV
);
1234 SET_VertexAttrib2dNV(dest
, loopback_VertexAttrib2dNV
);
1235 SET_VertexAttrib3sNV(dest
, loopback_VertexAttrib3sNV
);
1236 SET_VertexAttrib3dNV(dest
, loopback_VertexAttrib3dNV
);
1237 SET_VertexAttrib4sNV(dest
, loopback_VertexAttrib4sNV
);
1238 SET_VertexAttrib4dNV(dest
, loopback_VertexAttrib4dNV
);
1239 SET_VertexAttrib4ubNV(dest
, loopback_VertexAttrib4ubNV
);
1240 SET_VertexAttrib1svNV(dest
, loopback_VertexAttrib1svNV
);
1241 SET_VertexAttrib1dvNV(dest
, loopback_VertexAttrib1dvNV
);
1242 SET_VertexAttrib2svNV(dest
, loopback_VertexAttrib2svNV
);
1243 SET_VertexAttrib2dvNV(dest
, loopback_VertexAttrib2dvNV
);
1244 SET_VertexAttrib3svNV(dest
, loopback_VertexAttrib3svNV
);
1245 SET_VertexAttrib3dvNV(dest
, loopback_VertexAttrib3dvNV
);
1246 SET_VertexAttrib4svNV(dest
, loopback_VertexAttrib4svNV
);
1247 SET_VertexAttrib4dvNV(dest
, loopback_VertexAttrib4dvNV
);
1248 SET_VertexAttrib4ubvNV(dest
, loopback_VertexAttrib4ubvNV
);
1249 SET_VertexAttribs1svNV(dest
, loopback_VertexAttribs1svNV
);
1250 SET_VertexAttribs1fvNV(dest
, loopback_VertexAttribs1fvNV
);
1251 SET_VertexAttribs1dvNV(dest
, loopback_VertexAttribs1dvNV
);
1252 SET_VertexAttribs2svNV(dest
, loopback_VertexAttribs2svNV
);
1253 SET_VertexAttribs2fvNV(dest
, loopback_VertexAttribs2fvNV
);
1254 SET_VertexAttribs2dvNV(dest
, loopback_VertexAttribs2dvNV
);
1255 SET_VertexAttribs3svNV(dest
, loopback_VertexAttribs3svNV
);
1256 SET_VertexAttribs3fvNV(dest
, loopback_VertexAttribs3fvNV
);
1257 SET_VertexAttribs3dvNV(dest
, loopback_VertexAttribs3dvNV
);
1258 SET_VertexAttribs4svNV(dest
, loopback_VertexAttribs4svNV
);
1259 SET_VertexAttribs4fvNV(dest
, loopback_VertexAttribs4fvNV
);
1260 SET_VertexAttribs4dvNV(dest
, loopback_VertexAttribs4dvNV
);
1261 SET_VertexAttribs4ubvNV(dest
, loopback_VertexAttribs4ubvNV
);
1265 #endif /* FEATURE_beginend */