blob: c163d668fdd9fd1047da4ee41b2feaec5ae2fa7c [file] [log] [blame]
Keith Whitwell6dc85572003-07-17 13:43:59 +00001/**
2 * \file api_loopback.c
3 *
4 * \author Keith Whitwell <keith@tungstengraphics.com>
5 */
6
Brian Paul50478de2000-11-27 18:17:09 +00007/*
8 * Mesa 3-D graphics library
Brian Paule591ad72003-05-10 04:37:47 +00009 * Version: 5.1
Gareth Hughes22144ab2001-03-12 00:48:37 +000010 *
Brian Paule591ad72003-05-10 04:37:47 +000011 * Copyright (C) 1999-2003 Brian Paul All Rights Reserved.
Gareth Hughes22144ab2001-03-12 00:48:37 +000012 *
Brian Paul50478de2000-11-27 18:17:09 +000013 * 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:
Gareth Hughes22144ab2001-03-12 00:48:37 +000019 *
Brian Paul50478de2000-11-27 18:17:09 +000020 * The above copyright notice and this permission notice shall be included
21 * in all copies or substantial portions of the Software.
Gareth Hughes22144ab2001-03-12 00:48:37 +000022 *
Brian Paul50478de2000-11-27 18:17:09 +000023 * 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.
Brian Paul50478de2000-11-27 18:17:09 +000029 */
30
31
Keith Whitwellb0149862000-11-24 10:30:04 +000032#include "glheader.h"
Brian Paul03c0c2e2002-01-14 16:06:35 +000033#include "glapi.h"
Keith Whitwellb0149862000-11-24 10:30:04 +000034#include "glapitable.h"
35#include "macros.h"
36#include "colormac.h"
37#include "api_loopback.h"
38
39/* KW: A set of functions to convert unusual Color/Normal/Vertex/etc
40 * calls to a smaller set of driver-provided formats. Currently just
41 * go back to dispatch to find these (eg. call glNormal3f directly),
42 * hence 'loopback'.
43 *
44 * The driver must supply all of the remaining entry points, which are
Keith Whitwell9aff6cf2000-11-24 15:21:59 +000045 * listed in dd.h. The easiest way for a driver to do this is to
Keith Whitwellb0149862000-11-24 10:30:04 +000046 * install the supplied software t&l module.
47 */
Keith Whitwellfc00cbe2001-12-20 15:30:45 +000048#define COLORF(r,g,b,a) glColor4f(r,g,b,a)
49#define VERTEX2(x,y) glVertex2f(x,y)
50#define VERTEX3(x,y,z) glVertex3f(x,y,z)
51#define VERTEX4(x,y,z,w) glVertex4f(x,y,z,w)
52#define NORMAL(x,y,z) glNormal3f(x,y,z)
53#define TEXCOORD1(s) glTexCoord1f(s)
54#define TEXCOORD2(s,t) glTexCoord2f(s,t)
55#define TEXCOORD3(s,t,u) glTexCoord3f(s,t,u)
56#define TEXCOORD4(s,t,u,v) glTexCoord4f(s,t,u,v)
Keith Whitwellae0eaf92003-11-24 15:23:18 +000057#define INDEX(c) glIndexf(c)
Keith Whitwellfc00cbe2001-12-20 15:30:45 +000058#define MULTI_TEXCOORD1(z,s) glMultiTexCoord1fARB(z,s)
59#define MULTI_TEXCOORD2(z,s,t) glMultiTexCoord2fARB(z,s,t)
60#define MULTI_TEXCOORD3(z,s,t,u) glMultiTexCoord3fARB(z,s,t,u)
61#define MULTI_TEXCOORD4(z,s,t,u,v) glMultiTexCoord4fARB(z,s,t,u,v)
62#define EVALCOORD1(x) glEvalCoord1f(x)
63#define EVALCOORD2(x,y) glEvalCoord2f(x,y)
64#define MATERIALFV(a,b,c) glMaterialfv(a,b,c)
65#define RECTF(a,b,c,d) glRectf(a,b,c,d)
66
Keith Whitwellae0eaf92003-11-24 15:23:18 +000067/* Extension functions must be dereferenced through _glapi_Dispatch as
68 * not all libGL.so's will have all the uptodate entrypoints.
69 */
70#define ATTRIB1(index,x) _glapi_Dispatch->VertexAttrib1fNV(index,x)
71#define ATTRIB2(index,x,y) _glapi_Dispatch->VertexAttrib2fNV(index,x,y)
72#define ATTRIB3(index,x,y,z) _glapi_Dispatch->VertexAttrib3fNV(index,x,y,z)
73#define ATTRIB4(index,x,y,z,w) _glapi_Dispatch->VertexAttrib4fNV(index,x,y,z,w)
74#define FOGCOORDF(x) _glapi_Dispatch->FogCoordfEXT(x)
75#define SECONDARYCOLORF(a,b,c) _glapi_Dispatch->SecondaryColor3fEXT(a,b,c)
Keith Whitwellb0149862000-11-24 10:30:04 +000076
Kendall Bennettc40d1dd2003-10-21 22:22:17 +000077static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +000078loopback_Color3b_f( GLbyte red, GLbyte green, GLbyte blue )
79{
Gareth Hughes22144ab2001-03-12 00:48:37 +000080 COLORF( BYTE_TO_FLOAT(red),
Keith Whitwellb0149862000-11-24 10:30:04 +000081 BYTE_TO_FLOAT(green),
Gareth Hughes22144ab2001-03-12 00:48:37 +000082 BYTE_TO_FLOAT(blue),
Keith Whitwellb0149862000-11-24 10:30:04 +000083 1.0 );
84}
85
Kendall Bennettc40d1dd2003-10-21 22:22:17 +000086static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +000087loopback_Color3d_f( GLdouble red, GLdouble green, GLdouble blue )
88{
Brian Paul7c276322001-09-14 21:36:43 +000089 COLORF( (GLfloat) red, (GLfloat) green, (GLfloat) blue, 1.0 );
Keith Whitwellb0149862000-11-24 10:30:04 +000090}
91
Kendall Bennettc40d1dd2003-10-21 22:22:17 +000092static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +000093loopback_Color3i_f( GLint red, GLint green, GLint blue )
94{
95 COLORF( INT_TO_FLOAT(red), INT_TO_FLOAT(green),
96 INT_TO_FLOAT(blue), 1.0);
97}
98
Kendall Bennettc40d1dd2003-10-21 22:22:17 +000099static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000100loopback_Color3s_f( GLshort red, GLshort green, GLshort blue )
101{
102 COLORF( SHORT_TO_FLOAT(red), SHORT_TO_FLOAT(green),
103 SHORT_TO_FLOAT(blue), 1.0);
104}
105
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000106static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000107loopback_Color3ui_f( GLuint red, GLuint green, GLuint blue )
108{
109 COLORF( UINT_TO_FLOAT(red), UINT_TO_FLOAT(green),
110 UINT_TO_FLOAT(blue), 1.0 );
111}
112
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000113static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000114loopback_Color3us_f( GLushort red, GLushort green, GLushort blue )
115{
116 COLORF( USHORT_TO_FLOAT(red), USHORT_TO_FLOAT(green),
117 USHORT_TO_FLOAT(blue), 1.0 );
118}
119
Keith Whitwellae0eaf92003-11-24 15:23:18 +0000120static void GLAPIENTRY
121loopback_Color3ub_f( GLubyte red, GLubyte green, GLubyte blue )
122{
123 COLORF( UBYTE_TO_FLOAT(red), UBYTE_TO_FLOAT(green),
124 UBYTE_TO_FLOAT(blue), 1.0 );
125}
126
Keith Whitwellb0149862000-11-24 10:30:04 +0000127
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000128static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000129loopback_Color3bv_f( const GLbyte *v )
130{
131 COLORF( BYTE_TO_FLOAT(v[0]), BYTE_TO_FLOAT(v[1]),
132 BYTE_TO_FLOAT(v[2]), 1.0 );
133}
134
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000135static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000136loopback_Color3dv_f( const GLdouble *v )
137{
Brian Paul7c276322001-09-14 21:36:43 +0000138 COLORF( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], 1.0 );
Keith Whitwellb0149862000-11-24 10:30:04 +0000139}
140
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000141static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000142loopback_Color3iv_f( const GLint *v )
143{
144 COLORF( INT_TO_FLOAT(v[0]), INT_TO_FLOAT(v[1]),
145 INT_TO_FLOAT(v[2]), INT_TO_FLOAT(v[3]) );
146}
147
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000148static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000149loopback_Color3sv_f( const GLshort *v )
150{
151 COLORF( SHORT_TO_FLOAT(v[0]), SHORT_TO_FLOAT(v[1]),
152 SHORT_TO_FLOAT(v[2]), 1.0 );
153}
154
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000155static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000156loopback_Color3uiv_f( const GLuint *v )
157{
158 COLORF( UINT_TO_FLOAT(v[0]), UINT_TO_FLOAT(v[1]),
159 UINT_TO_FLOAT(v[2]), 1.0 );
160}
161
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000162static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000163loopback_Color3usv_f( const GLushort *v )
164{
165 COLORF( USHORT_TO_FLOAT(v[0]), USHORT_TO_FLOAT(v[1]),
166 USHORT_TO_FLOAT(v[2]), 1.0 );
167}
168
Keith Whitwellae0eaf92003-11-24 15:23:18 +0000169static void GLAPIENTRY
170loopback_Color3ubv_f( const GLubyte *v )
171{
172 COLORF( UBYTE_TO_FLOAT(v[0]), UBYTE_TO_FLOAT(v[1]),
173 UBYTE_TO_FLOAT(v[2]), 1.0 );
174}
175
Keith Whitwellb0149862000-11-24 10:30:04 +0000176
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000177static void GLAPIENTRY
Gareth Hughes22144ab2001-03-12 00:48:37 +0000178loopback_Color4b_f( GLbyte red, GLbyte green, GLbyte blue,
Keith Whitwellb0149862000-11-24 10:30:04 +0000179 GLbyte alpha )
180{
181 COLORF( BYTE_TO_FLOAT(red), BYTE_TO_FLOAT(green),
182 BYTE_TO_FLOAT(blue), BYTE_TO_FLOAT(alpha) );
183}
184
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000185static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000186loopback_Color4d_f( GLdouble red, GLdouble green, GLdouble blue,
187 GLdouble alpha )
188{
Brian Paul7c276322001-09-14 21:36:43 +0000189 COLORF( (GLfloat) red, (GLfloat) green, (GLfloat) blue, (GLfloat) alpha );
Keith Whitwellb0149862000-11-24 10:30:04 +0000190}
191
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000192static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000193loopback_Color4i_f( GLint red, GLint green, GLint blue, GLint alpha )
194{
195 COLORF( INT_TO_FLOAT(red), INT_TO_FLOAT(green),
196 INT_TO_FLOAT(blue), INT_TO_FLOAT(alpha) );
197}
198
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000199static void GLAPIENTRY
Gareth Hughes22144ab2001-03-12 00:48:37 +0000200loopback_Color4s_f( GLshort red, GLshort green, GLshort blue,
Keith Whitwellb0149862000-11-24 10:30:04 +0000201 GLshort alpha )
202{
203 COLORF( SHORT_TO_FLOAT(red), SHORT_TO_FLOAT(green),
204 SHORT_TO_FLOAT(blue), SHORT_TO_FLOAT(alpha) );
205}
206
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000207static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000208loopback_Color4ui_f( GLuint red, GLuint green, GLuint blue, GLuint alpha )
209{
210 COLORF( UINT_TO_FLOAT(red), UINT_TO_FLOAT(green),
211 UINT_TO_FLOAT(blue), UINT_TO_FLOAT(alpha) );
212}
213
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000214static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000215loopback_Color4us_f( GLushort red, GLushort green, GLushort blue, GLushort alpha )
216{
217 COLORF( USHORT_TO_FLOAT(red), USHORT_TO_FLOAT(green),
218 USHORT_TO_FLOAT(blue), USHORT_TO_FLOAT(alpha) );
219}
220
Keith Whitwellae0eaf92003-11-24 15:23:18 +0000221static void
222loopback_Color4ub_f( GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha )
223{
224 COLORF( UBYTE_TO_FLOAT(red), UBYTE_TO_FLOAT(green),
225 UBYTE_TO_FLOAT(blue), UBYTE_TO_FLOAT(alpha) );
226}
227
Keith Whitwellb0149862000-11-24 10:30:04 +0000228
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000229static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000230loopback_Color4iv_f( const GLint *v )
231{
232 COLORF( INT_TO_FLOAT(v[0]), INT_TO_FLOAT(v[1]),
233 INT_TO_FLOAT(v[2]), INT_TO_FLOAT(v[3]) );
234}
235
236
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000237static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000238loopback_Color4bv_f( const GLbyte *v )
239{
240 COLORF( BYTE_TO_FLOAT(v[0]), BYTE_TO_FLOAT(v[1]),
241 BYTE_TO_FLOAT(v[2]), BYTE_TO_FLOAT(v[3]) );
242}
243
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000244static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000245loopback_Color4dv_f( const GLdouble *v )
246{
Brian Paul7c276322001-09-14 21:36:43 +0000247 COLORF( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3] );
Keith Whitwellb0149862000-11-24 10:30:04 +0000248}
249
250
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000251static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000252loopback_Color4sv_f( const GLshort *v)
253{
254 COLORF( SHORT_TO_FLOAT(v[0]), SHORT_TO_FLOAT(v[1]),
255 SHORT_TO_FLOAT(v[2]), SHORT_TO_FLOAT(v[3]) );
256}
257
258
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000259static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000260loopback_Color4uiv_f( const GLuint *v)
261{
262 COLORF( UINT_TO_FLOAT(v[0]), UINT_TO_FLOAT(v[1]),
263 UINT_TO_FLOAT(v[2]), UINT_TO_FLOAT(v[3]) );
264}
265
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000266static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000267loopback_Color4usv_f( const GLushort *v)
268{
269 COLORF( USHORT_TO_FLOAT(v[0]), USHORT_TO_FLOAT(v[1]),
270 USHORT_TO_FLOAT(v[2]), USHORT_TO_FLOAT(v[3]) );
271}
272
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000273static void GLAPIENTRY
Keith Whitwellae0eaf92003-11-24 15:23:18 +0000274loopback_Color4ubv_f( const GLubyte *v)
275{
276 COLORF( UBYTE_TO_FLOAT(v[0]), UBYTE_TO_FLOAT(v[1]),
277 UBYTE_TO_FLOAT(v[2]), UBYTE_TO_FLOAT(v[3]) );
278}
279
280static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000281loopback_FogCoorddEXT( GLdouble d )
282{
Brian Paul7c276322001-09-14 21:36:43 +0000283 FOGCOORDF( (GLfloat) d );
Keith Whitwellb0149862000-11-24 10:30:04 +0000284}
285
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000286static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000287loopback_FogCoorddvEXT( const GLdouble *v )
288{
Brian Paul7c276322001-09-14 21:36:43 +0000289 FOGCOORDF( (GLfloat) *v );
Keith Whitwellb0149862000-11-24 10:30:04 +0000290}
291
292
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000293static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000294loopback_Indexd( GLdouble c )
295{
Keith Whitwellae0eaf92003-11-24 15:23:18 +0000296 INDEX( (GLfloat) c );
Keith Whitwellb0149862000-11-24 10:30:04 +0000297}
298
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000299static void GLAPIENTRY
Keith Whitwellae0eaf92003-11-24 15:23:18 +0000300loopback_Indexi( GLint c )
Keith Whitwellb0149862000-11-24 10:30:04 +0000301{
Keith Whitwellae0eaf92003-11-24 15:23:18 +0000302 INDEX( (GLfloat) c );
Keith Whitwellb0149862000-11-24 10:30:04 +0000303}
304
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000305static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000306loopback_Indexs( GLshort c )
307{
Keith Whitwellae0eaf92003-11-24 15:23:18 +0000308 INDEX( (GLfloat) c );
Keith Whitwellb0149862000-11-24 10:30:04 +0000309}
310
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000311static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000312loopback_Indexub( GLubyte c )
313{
Keith Whitwellae0eaf92003-11-24 15:23:18 +0000314 INDEX( (GLfloat) c );
Keith Whitwellb0149862000-11-24 10:30:04 +0000315}
316
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000317static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000318loopback_Indexdv( const GLdouble *c )
319{
Keith Whitwellae0eaf92003-11-24 15:23:18 +0000320 INDEX( (GLfloat) *c );
Keith Whitwellb0149862000-11-24 10:30:04 +0000321}
322
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000323static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000324loopback_Indexiv( const GLint *c )
325{
Keith Whitwellae0eaf92003-11-24 15:23:18 +0000326 INDEX( (GLfloat) *c );
Keith Whitwellb0149862000-11-24 10:30:04 +0000327}
328
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000329static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000330loopback_Indexsv( const GLshort *c )
331{
Keith Whitwellae0eaf92003-11-24 15:23:18 +0000332 INDEX( (GLfloat) *c );
Keith Whitwellb0149862000-11-24 10:30:04 +0000333}
334
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000335static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000336loopback_Indexubv( const GLubyte *c )
337{
Keith Whitwellae0eaf92003-11-24 15:23:18 +0000338 INDEX( (GLfloat) *c );
Keith Whitwellb0149862000-11-24 10:30:04 +0000339}
340
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000341static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000342loopback_Normal3b( GLbyte nx, GLbyte ny, GLbyte nz )
343{
344 NORMAL( BYTE_TO_FLOAT(nx), BYTE_TO_FLOAT(ny), BYTE_TO_FLOAT(nz) );
345}
346
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000347static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000348loopback_Normal3d( GLdouble nx, GLdouble ny, GLdouble nz )
349{
Brian Paul7c276322001-09-14 21:36:43 +0000350 NORMAL((GLfloat) nx, (GLfloat) ny, (GLfloat) nz);
Keith Whitwellb0149862000-11-24 10:30:04 +0000351}
352
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000353static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000354loopback_Normal3i( GLint nx, GLint ny, GLint nz )
355{
356 NORMAL( INT_TO_FLOAT(nx), INT_TO_FLOAT(ny), INT_TO_FLOAT(nz) );
357}
358
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000359static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000360loopback_Normal3s( GLshort nx, GLshort ny, GLshort nz )
361{
362 NORMAL( SHORT_TO_FLOAT(nx), SHORT_TO_FLOAT(ny), SHORT_TO_FLOAT(nz) );
363}
364
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000365static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000366loopback_Normal3bv( const GLbyte *v )
367{
368 NORMAL( BYTE_TO_FLOAT(v[0]), BYTE_TO_FLOAT(v[1]), BYTE_TO_FLOAT(v[2]) );
369}
370
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000371static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000372loopback_Normal3dv( const GLdouble *v )
373{
Brian Paul7c276322001-09-14 21:36:43 +0000374 NORMAL( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] );
Keith Whitwellb0149862000-11-24 10:30:04 +0000375}
376
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000377static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000378loopback_Normal3iv( const GLint *v )
379{
380 NORMAL( INT_TO_FLOAT(v[0]), INT_TO_FLOAT(v[1]), INT_TO_FLOAT(v[2]) );
381}
382
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000383static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000384loopback_Normal3sv( const GLshort *v )
385{
386 NORMAL( SHORT_TO_FLOAT(v[0]), SHORT_TO_FLOAT(v[1]), SHORT_TO_FLOAT(v[2]) );
387}
388
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000389static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000390loopback_TexCoord1d( GLdouble s )
391{
Brian Paul7c276322001-09-14 21:36:43 +0000392 TEXCOORD1((GLfloat) s);
Keith Whitwellb0149862000-11-24 10:30:04 +0000393}
394
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000395static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000396loopback_TexCoord1i( GLint s )
397{
Brian Paul7c276322001-09-14 21:36:43 +0000398 TEXCOORD1((GLfloat) s);
Keith Whitwellb0149862000-11-24 10:30:04 +0000399}
400
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000401static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000402loopback_TexCoord1s( GLshort s )
403{
Brian Paul7c276322001-09-14 21:36:43 +0000404 TEXCOORD1((GLfloat) s);
Keith Whitwellb0149862000-11-24 10:30:04 +0000405}
406
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000407static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000408loopback_TexCoord2d( GLdouble s, GLdouble t )
409{
Brian Paul7c276322001-09-14 21:36:43 +0000410 TEXCOORD2((GLfloat) s,(GLfloat) t);
Keith Whitwellb0149862000-11-24 10:30:04 +0000411}
412
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000413static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000414loopback_TexCoord2s( GLshort s, GLshort t )
415{
Brian Paul7c276322001-09-14 21:36:43 +0000416 TEXCOORD2((GLfloat) s,(GLfloat) t);
Keith Whitwellb0149862000-11-24 10:30:04 +0000417}
418
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000419static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000420loopback_TexCoord2i( GLint s, GLint t )
421{
Brian Paul7c276322001-09-14 21:36:43 +0000422 TEXCOORD2((GLfloat) s,(GLfloat) t);
Keith Whitwellb0149862000-11-24 10:30:04 +0000423}
424
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000425static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000426loopback_TexCoord3d( GLdouble s, GLdouble t, GLdouble r )
427{
Brian Paul7c276322001-09-14 21:36:43 +0000428 TEXCOORD3((GLfloat) s,(GLfloat) t,(GLfloat) r);
Keith Whitwellb0149862000-11-24 10:30:04 +0000429}
430
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000431static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000432loopback_TexCoord3i( GLint s, GLint t, GLint r )
433{
Brian Paul7c276322001-09-14 21:36:43 +0000434 TEXCOORD3((GLfloat) s,(GLfloat) t,(GLfloat) r);
Keith Whitwellb0149862000-11-24 10:30:04 +0000435}
436
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000437static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000438loopback_TexCoord3s( GLshort s, GLshort t, GLshort r )
439{
Brian Paul7c276322001-09-14 21:36:43 +0000440 TEXCOORD3((GLfloat) s,(GLfloat) t,(GLfloat) r);
Keith Whitwellb0149862000-11-24 10:30:04 +0000441}
442
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000443static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000444loopback_TexCoord4d( GLdouble s, GLdouble t, GLdouble r, GLdouble q )
445{
Brian Paul7c276322001-09-14 21:36:43 +0000446 TEXCOORD4((GLfloat) s,(GLfloat) t,(GLfloat) r,(GLfloat) q);
Keith Whitwellb0149862000-11-24 10:30:04 +0000447}
448
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000449static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000450loopback_TexCoord4i( GLint s, GLint t, GLint r, GLint q )
451{
Brian Paul7c276322001-09-14 21:36:43 +0000452 TEXCOORD4((GLfloat) s,(GLfloat) t,(GLfloat) r,(GLfloat) q);
Keith Whitwellb0149862000-11-24 10:30:04 +0000453}
454
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000455static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000456loopback_TexCoord4s( GLshort s, GLshort t, GLshort r, GLshort q )
457{
Brian Paul7c276322001-09-14 21:36:43 +0000458 TEXCOORD4((GLfloat) s,(GLfloat) t,(GLfloat) r,(GLfloat) q);
Keith Whitwellb0149862000-11-24 10:30:04 +0000459}
460
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000461static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000462loopback_TexCoord1dv( const GLdouble *v )
463{
Brian Paul7c276322001-09-14 21:36:43 +0000464 TEXCOORD1((GLfloat) v[0]);
Keith Whitwellb0149862000-11-24 10:30:04 +0000465}
466
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000467static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000468loopback_TexCoord1iv( const GLint *v )
469{
Brian Paul7c276322001-09-14 21:36:43 +0000470 TEXCOORD1((GLfloat) v[0]);
Keith Whitwellb0149862000-11-24 10:30:04 +0000471}
472
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000473static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000474loopback_TexCoord1sv( const GLshort *v )
475{
Brian Paul7c276322001-09-14 21:36:43 +0000476 TEXCOORD1((GLfloat) v[0]);
Keith Whitwellb0149862000-11-24 10:30:04 +0000477}
478
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000479static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000480loopback_TexCoord2dv( const GLdouble *v )
481{
Brian Paul7c276322001-09-14 21:36:43 +0000482 TEXCOORD2((GLfloat) v[0],(GLfloat) v[1]);
Keith Whitwellb0149862000-11-24 10:30:04 +0000483}
484
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000485static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000486loopback_TexCoord2iv( const GLint *v )
487{
Brian Paul7c276322001-09-14 21:36:43 +0000488 TEXCOORD2((GLfloat) v[0],(GLfloat) v[1]);
Keith Whitwellb0149862000-11-24 10:30:04 +0000489}
490
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000491static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000492loopback_TexCoord2sv( const GLshort *v )
493{
Brian Paul7c276322001-09-14 21:36:43 +0000494 TEXCOORD2((GLfloat) v[0],(GLfloat) v[1]);
Keith Whitwellb0149862000-11-24 10:30:04 +0000495}
496
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000497static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000498loopback_TexCoord3dv( const GLdouble *v )
499{
Brian Paul7c276322001-09-14 21:36:43 +0000500 TEXCOORD2((GLfloat) v[0],(GLfloat) v[1]);
Keith Whitwellb0149862000-11-24 10:30:04 +0000501}
502
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000503static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000504loopback_TexCoord3iv( const GLint *v )
505{
Brian Paul7c276322001-09-14 21:36:43 +0000506 TEXCOORD3((GLfloat) v[0],(GLfloat) v[1],(GLfloat) v[2]);
Keith Whitwellb0149862000-11-24 10:30:04 +0000507}
508
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000509static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000510loopback_TexCoord3sv( const GLshort *v )
511{
Brian Paul7c276322001-09-14 21:36:43 +0000512 TEXCOORD3((GLfloat) v[0],(GLfloat) v[1],(GLfloat) v[2]);
Keith Whitwellb0149862000-11-24 10:30:04 +0000513}
514
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000515static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000516loopback_TexCoord4dv( const GLdouble *v )
517{
Brian Paul7c276322001-09-14 21:36:43 +0000518 TEXCOORD4((GLfloat) v[0],(GLfloat) v[1],(GLfloat) v[2],(GLfloat) v[3]);
Keith Whitwellb0149862000-11-24 10:30:04 +0000519}
520
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000521static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000522loopback_TexCoord4iv( const GLint *v )
523{
Brian Paul7c276322001-09-14 21:36:43 +0000524 TEXCOORD4((GLfloat) v[0],(GLfloat) v[1],(GLfloat) v[2],(GLfloat) v[3]);
Keith Whitwellb0149862000-11-24 10:30:04 +0000525}
526
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000527static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000528loopback_TexCoord4sv( const GLshort *v )
529{
Brian Paul7c276322001-09-14 21:36:43 +0000530 TEXCOORD4((GLfloat) v[0],(GLfloat) v[1],(GLfloat) v[2],(GLfloat) v[3]);
Keith Whitwellb0149862000-11-24 10:30:04 +0000531}
532
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000533static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000534loopback_Vertex2d( GLdouble x, GLdouble y )
535{
536 VERTEX2( (GLfloat) x, (GLfloat) y );
537}
538
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000539static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000540loopback_Vertex2i( GLint x, GLint y )
541{
542 VERTEX2( (GLfloat) x, (GLfloat) y );
543}
544
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000545static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000546loopback_Vertex2s( GLshort x, GLshort y )
547{
548 VERTEX2( (GLfloat) x, (GLfloat) y );
549}
550
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000551static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000552loopback_Vertex3d( GLdouble x, GLdouble y, GLdouble z )
553{
554 VERTEX3( (GLfloat) x, (GLfloat) y, (GLfloat) z );
555}
556
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000557static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000558loopback_Vertex3i( GLint x, GLint y, GLint z )
559{
560 VERTEX3( (GLfloat) x, (GLfloat) y, (GLfloat) z );
561}
562
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000563static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000564loopback_Vertex3s( GLshort x, GLshort y, GLshort z )
565{
566 VERTEX3( (GLfloat) x, (GLfloat) y, (GLfloat) z );
567}
568
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000569static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000570loopback_Vertex4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w )
571{
572 VERTEX4( (GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w );
573}
574
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000575static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000576loopback_Vertex4i( GLint x, GLint y, GLint z, GLint w )
577{
578 VERTEX4( (GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w );
579}
580
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000581static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000582loopback_Vertex4s( GLshort x, GLshort y, GLshort z, GLshort w )
583{
584 VERTEX4( (GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w );
585}
586
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000587static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000588loopback_Vertex2dv( const GLdouble *v )
589{
590 VERTEX2( (GLfloat) v[0], (GLfloat) v[1] );
591}
592
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000593static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000594loopback_Vertex2iv( const GLint *v )
595{
596 VERTEX2( (GLfloat) v[0], (GLfloat) v[1] );
597}
598
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000599static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000600loopback_Vertex2sv( const GLshort *v )
601{
602 VERTEX2( (GLfloat) v[0], (GLfloat) v[1] );
603}
604
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000605static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000606loopback_Vertex3dv( const GLdouble *v )
607{
608 VERTEX3( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] );
609}
610
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000611static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000612loopback_Vertex3iv( const GLint *v )
613{
614 VERTEX3( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] );
615}
616
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000617static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000618loopback_Vertex3sv( const GLshort *v )
619{
620 VERTEX3( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] );
621}
622
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000623static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000624loopback_Vertex4dv( const GLdouble *v )
625{
Gareth Hughes22144ab2001-03-12 00:48:37 +0000626 VERTEX4( (GLfloat) v[0], (GLfloat) v[1],
Keith Whitwellb0149862000-11-24 10:30:04 +0000627 (GLfloat) v[2], (GLfloat) v[3] );
628}
629
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000630static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000631loopback_Vertex4iv( const GLint *v )
632{
Gareth Hughes22144ab2001-03-12 00:48:37 +0000633 VERTEX4( (GLfloat) v[0], (GLfloat) v[1],
Keith Whitwellb0149862000-11-24 10:30:04 +0000634 (GLfloat) v[2], (GLfloat) v[3] );
635}
636
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000637static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000638loopback_Vertex4sv( const GLshort *v )
639{
Gareth Hughes22144ab2001-03-12 00:48:37 +0000640 VERTEX4( (GLfloat) v[0], (GLfloat) v[1],
Keith Whitwellb0149862000-11-24 10:30:04 +0000641 (GLfloat) v[2], (GLfloat) v[3] );
642}
643
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000644static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000645loopback_MultiTexCoord1dARB(GLenum target, GLdouble s)
646{
Brian Paul7c276322001-09-14 21:36:43 +0000647 MULTI_TEXCOORD1( target, (GLfloat) s );
Keith Whitwellb0149862000-11-24 10:30:04 +0000648}
649
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000650static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000651loopback_MultiTexCoord1dvARB(GLenum target, const GLdouble *v)
652{
Brian Paul7c276322001-09-14 21:36:43 +0000653 MULTI_TEXCOORD1( target, (GLfloat) v[0] );
Keith Whitwellb0149862000-11-24 10:30:04 +0000654}
655
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000656static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000657loopback_MultiTexCoord1iARB(GLenum target, GLint s)
658{
Brian Paul7c276322001-09-14 21:36:43 +0000659 MULTI_TEXCOORD1( target, (GLfloat) s );
Keith Whitwellb0149862000-11-24 10:30:04 +0000660}
661
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000662static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000663loopback_MultiTexCoord1ivARB(GLenum target, const GLint *v)
664{
Brian Paul7c276322001-09-14 21:36:43 +0000665 MULTI_TEXCOORD1( target, (GLfloat) v[0] );
Keith Whitwellb0149862000-11-24 10:30:04 +0000666}
667
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000668static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000669loopback_MultiTexCoord1sARB(GLenum target, GLshort s)
670{
Brian Paul7c276322001-09-14 21:36:43 +0000671 MULTI_TEXCOORD1( target, (GLfloat) s );
Keith Whitwellb0149862000-11-24 10:30:04 +0000672}
673
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000674static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000675loopback_MultiTexCoord1svARB(GLenum target, const GLshort *v)
676{
Brian Paul7c276322001-09-14 21:36:43 +0000677 MULTI_TEXCOORD1( target, (GLfloat) v[0] );
Keith Whitwellb0149862000-11-24 10:30:04 +0000678}
679
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000680static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000681loopback_MultiTexCoord2dARB(GLenum target, GLdouble s, GLdouble t)
682{
Brian Paul7c276322001-09-14 21:36:43 +0000683 MULTI_TEXCOORD2( target, (GLfloat) s, (GLfloat) t );
Keith Whitwellb0149862000-11-24 10:30:04 +0000684}
685
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000686static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000687loopback_MultiTexCoord2dvARB(GLenum target, const GLdouble *v)
688{
Brian Paul7c276322001-09-14 21:36:43 +0000689 MULTI_TEXCOORD2( target, (GLfloat) v[0], (GLfloat) v[1] );
Keith Whitwellb0149862000-11-24 10:30:04 +0000690}
691
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000692static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000693loopback_MultiTexCoord2iARB(GLenum target, GLint s, GLint t)
694{
Brian Paul7c276322001-09-14 21:36:43 +0000695 MULTI_TEXCOORD2( target, (GLfloat) s, (GLfloat) t );
Keith Whitwellb0149862000-11-24 10:30:04 +0000696}
697
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000698static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000699loopback_MultiTexCoord2ivARB(GLenum target, const GLint *v)
700{
Brian Paul7c276322001-09-14 21:36:43 +0000701 MULTI_TEXCOORD2( target, (GLfloat) v[0], (GLfloat) v[1] );
Keith Whitwellb0149862000-11-24 10:30:04 +0000702}
703
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000704static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000705loopback_MultiTexCoord2sARB(GLenum target, GLshort s, GLshort t)
706{
Brian Paul7c276322001-09-14 21:36:43 +0000707 MULTI_TEXCOORD2( target, (GLfloat) s, (GLfloat) t );
Keith Whitwellb0149862000-11-24 10:30:04 +0000708}
709
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000710static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000711loopback_MultiTexCoord2svARB(GLenum target, const GLshort *v)
712{
Brian Paul7c276322001-09-14 21:36:43 +0000713 MULTI_TEXCOORD2( target, (GLfloat) v[0], (GLfloat) v[1] );
Keith Whitwellb0149862000-11-24 10:30:04 +0000714}
715
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000716static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000717loopback_MultiTexCoord3dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r)
718{
Brian Paul7c276322001-09-14 21:36:43 +0000719 MULTI_TEXCOORD3( target, (GLfloat) s, (GLfloat) t, (GLfloat) r );
Keith Whitwellb0149862000-11-24 10:30:04 +0000720}
721
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000722static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000723loopback_MultiTexCoord3dvARB(GLenum target, const GLdouble *v)
724{
Brian Paul7c276322001-09-14 21:36:43 +0000725 MULTI_TEXCOORD3( target, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] );
Keith Whitwellb0149862000-11-24 10:30:04 +0000726}
727
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000728static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000729loopback_MultiTexCoord3iARB(GLenum target, GLint s, GLint t, GLint r)
730{
Brian Paul7c276322001-09-14 21:36:43 +0000731 MULTI_TEXCOORD3( target, (GLfloat) s, (GLfloat) t, (GLfloat) r );
Keith Whitwellb0149862000-11-24 10:30:04 +0000732}
733
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000734static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000735loopback_MultiTexCoord3ivARB(GLenum target, const GLint *v)
736{
Brian Paul7c276322001-09-14 21:36:43 +0000737 MULTI_TEXCOORD3( target, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] );
Keith Whitwellb0149862000-11-24 10:30:04 +0000738}
739
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000740static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000741loopback_MultiTexCoord3sARB(GLenum target, GLshort s, GLshort t, GLshort r)
742{
Brian Paul7c276322001-09-14 21:36:43 +0000743 MULTI_TEXCOORD3( target, (GLfloat) s, (GLfloat) t, (GLfloat) r );
Keith Whitwellb0149862000-11-24 10:30:04 +0000744}
745
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000746static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000747loopback_MultiTexCoord3svARB(GLenum target, const GLshort *v)
748{
Brian Paul7c276322001-09-14 21:36:43 +0000749 MULTI_TEXCOORD3( target, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] );
Keith Whitwellb0149862000-11-24 10:30:04 +0000750}
751
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000752static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000753loopback_MultiTexCoord4dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q)
754{
Brian Paul7c276322001-09-14 21:36:43 +0000755 MULTI_TEXCOORD4( target, (GLfloat) s, (GLfloat) t,
756 (GLfloat) r, (GLfloat) q );
Keith Whitwellb0149862000-11-24 10:30:04 +0000757}
758
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000759static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000760loopback_MultiTexCoord4dvARB(GLenum target, const GLdouble *v)
761{
Brian Paul7c276322001-09-14 21:36:43 +0000762 MULTI_TEXCOORD4( target, (GLfloat) v[0], (GLfloat) v[1],
763 (GLfloat) v[2], (GLfloat) v[3] );
Keith Whitwellb0149862000-11-24 10:30:04 +0000764}
765
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000766static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000767loopback_MultiTexCoord4iARB(GLenum target, GLint s, GLint t, GLint r, GLint q)
768{
Brian Paul7c276322001-09-14 21:36:43 +0000769 MULTI_TEXCOORD4( target, (GLfloat) s, (GLfloat) t,
770 (GLfloat) r, (GLfloat) q );
Keith Whitwellb0149862000-11-24 10:30:04 +0000771}
772
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000773static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000774loopback_MultiTexCoord4ivARB(GLenum target, const GLint *v)
775{
Brian Paul7c276322001-09-14 21:36:43 +0000776 MULTI_TEXCOORD4( target, (GLfloat) v[0], (GLfloat) v[1],
777 (GLfloat) v[2], (GLfloat) v[3] );
Keith Whitwellb0149862000-11-24 10:30:04 +0000778}
779
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000780static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000781loopback_MultiTexCoord4sARB(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q)
782{
Brian Paul7c276322001-09-14 21:36:43 +0000783 MULTI_TEXCOORD4( target, (GLfloat) s, (GLfloat) t,
784 (GLfloat) r, (GLfloat) q );
Keith Whitwellb0149862000-11-24 10:30:04 +0000785}
786
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000787static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000788loopback_MultiTexCoord4svARB(GLenum target, const GLshort *v)
789{
Brian Paul7c276322001-09-14 21:36:43 +0000790 MULTI_TEXCOORD4( target, (GLfloat) v[0], (GLfloat) v[1],
791 (GLfloat) v[2], (GLfloat) v[3] );
Keith Whitwellb0149862000-11-24 10:30:04 +0000792}
793
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000794static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000795loopback_EvalCoord2dv( const GLdouble *u )
796{
797 EVALCOORD2( (GLfloat) u[0], (GLfloat) u[1] );
798}
799
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000800static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000801loopback_EvalCoord2fv( const GLfloat *u )
802{
803 EVALCOORD2( u[0], u[1] );
804}
805
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000806static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000807loopback_EvalCoord2d( GLdouble u, GLdouble v )
808{
809 EVALCOORD2( (GLfloat) u, (GLfloat) v );
810}
811
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000812static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000813loopback_EvalCoord1dv( const GLdouble *u )
814{
815 EVALCOORD1( (GLfloat) *u );
816}
817
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000818static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000819loopback_EvalCoord1fv( const GLfloat *u )
820{
821 EVALCOORD1( (GLfloat) *u );
822}
823
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000824static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000825loopback_EvalCoord1d( GLdouble u )
826{
827 EVALCOORD1( (GLfloat) u );
828}
829
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000830static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000831loopback_Materialf( GLenum face, GLenum pname, GLfloat param )
832{
833 GLfloat fparam[4];
834 fparam[0] = param;
835 MATERIALFV( face, pname, fparam );
836}
837
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000838static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000839loopback_Materiali(GLenum face, GLenum pname, GLint param )
840{
841 GLfloat p = (GLfloat) param;
842 MATERIALFV(face, pname, &p);
843}
844
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000845static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000846loopback_Materialiv(GLenum face, GLenum pname, const GLint *params )
847{
848 GLfloat fparam[4];
849 switch (pname) {
850 case GL_AMBIENT:
851 case GL_DIFFUSE:
852 case GL_SPECULAR:
853 case GL_EMISSION:
854 case GL_AMBIENT_AND_DIFFUSE:
855 fparam[0] = INT_TO_FLOAT( params[0] );
856 fparam[1] = INT_TO_FLOAT( params[1] );
857 fparam[2] = INT_TO_FLOAT( params[2] );
858 fparam[3] = INT_TO_FLOAT( params[3] );
859 break;
860 case GL_SHININESS:
861 fparam[0] = (GLfloat) params[0];
862 break;
863 case GL_COLOR_INDEXES:
864 fparam[0] = (GLfloat) params[0];
865 fparam[1] = (GLfloat) params[1];
866 fparam[2] = (GLfloat) params[2];
867 break;
868 default:
869 ;
870 }
871 MATERIALFV(face, pname, fparam);
872}
873
874
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000875static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000876loopback_Rectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2)
877{
Brian Paul7c276322001-09-14 21:36:43 +0000878 RECTF((GLfloat) x1, (GLfloat) y1, (GLfloat) x2, (GLfloat) y2);
Keith Whitwellb0149862000-11-24 10:30:04 +0000879}
880
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000881static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000882loopback_Rectdv(const GLdouble *v1, const GLdouble *v2)
883{
Brian Paul7c276322001-09-14 21:36:43 +0000884 RECTF((GLfloat) v1[0], (GLfloat) v1[1], (GLfloat) v2[0], (GLfloat) v2[1]);
Keith Whitwellb0149862000-11-24 10:30:04 +0000885}
886
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000887static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000888loopback_Rectfv(const GLfloat *v1, const GLfloat *v2)
889{
890 RECTF(v1[0], v1[1], v2[0], v2[1]);
891}
892
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000893static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000894loopback_Recti(GLint x1, GLint y1, GLint x2, GLint y2)
895{
Brian Paul7c276322001-09-14 21:36:43 +0000896 RECTF((GLfloat) x1, (GLfloat) y1, (GLfloat) x2, (GLfloat) y2);
Keith Whitwellb0149862000-11-24 10:30:04 +0000897}
898
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000899static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000900loopback_Rectiv(const GLint *v1, const GLint *v2)
901{
Brian Paul7c276322001-09-14 21:36:43 +0000902 RECTF((GLfloat) v1[0], (GLfloat) v1[1], (GLfloat) v2[0], (GLfloat) v2[1]);
Keith Whitwellb0149862000-11-24 10:30:04 +0000903}
904
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000905static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000906loopback_Rects(GLshort x1, GLshort y1, GLshort x2, GLshort y2)
907{
Brian Paul7c276322001-09-14 21:36:43 +0000908 RECTF((GLfloat) x1, (GLfloat) y1, (GLfloat) x2, (GLfloat) y2);
Keith Whitwellb0149862000-11-24 10:30:04 +0000909}
910
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000911static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000912loopback_Rectsv(const GLshort *v1, const GLshort *v2)
913{
Brian Paul7c276322001-09-14 21:36:43 +0000914 RECTF((GLfloat) v1[0], (GLfloat) v1[1], (GLfloat) v2[0], (GLfloat) v2[1]);
Keith Whitwellb0149862000-11-24 10:30:04 +0000915}
916
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000917static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000918loopback_SecondaryColor3bEXT_f( GLbyte red, GLbyte green, GLbyte blue )
919{
920 SECONDARYCOLORF( BYTE_TO_FLOAT(red),
921 BYTE_TO_FLOAT(green),
922 BYTE_TO_FLOAT(blue) );
923}
924
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000925static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000926loopback_SecondaryColor3dEXT_f( GLdouble red, GLdouble green, GLdouble blue )
927{
Brian Paul7c276322001-09-14 21:36:43 +0000928 SECONDARYCOLORF( (GLfloat) red, (GLfloat) green, (GLfloat) blue );
Keith Whitwellb0149862000-11-24 10:30:04 +0000929}
930
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000931static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000932loopback_SecondaryColor3iEXT_f( GLint red, GLint green, GLint blue )
933{
934 SECONDARYCOLORF( INT_TO_FLOAT(red),
935 INT_TO_FLOAT(green),
936 INT_TO_FLOAT(blue));
937}
938
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000939static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000940loopback_SecondaryColor3sEXT_f( GLshort red, GLshort green, GLshort blue )
941{
942 SECONDARYCOLORF(SHORT_TO_FLOAT(red),
943 SHORT_TO_FLOAT(green),
944 SHORT_TO_FLOAT(blue));
945}
946
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000947static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000948loopback_SecondaryColor3uiEXT_f( GLuint red, GLuint green, GLuint blue )
949{
950 SECONDARYCOLORF(UINT_TO_FLOAT(red),
951 UINT_TO_FLOAT(green),
952 UINT_TO_FLOAT(blue));
953}
954
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000955static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000956loopback_SecondaryColor3usEXT_f( GLushort red, GLushort green, GLushort blue )
957{
958 SECONDARYCOLORF(USHORT_TO_FLOAT(red),
959 USHORT_TO_FLOAT(green),
960 USHORT_TO_FLOAT(blue));
961}
962
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000963static void GLAPIENTRY
Keith Whitwellae0eaf92003-11-24 15:23:18 +0000964loopback_SecondaryColor3ubEXT_f( GLubyte red, GLubyte green, GLubyte blue )
965{
966 SECONDARYCOLORF(UBYTE_TO_FLOAT(red),
967 UBYTE_TO_FLOAT(green),
968 UBYTE_TO_FLOAT(blue));
969}
970
971static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000972loopback_SecondaryColor3bvEXT_f( const GLbyte *v )
973{
974 SECONDARYCOLORF(BYTE_TO_FLOAT(v[0]),
975 BYTE_TO_FLOAT(v[1]),
976 BYTE_TO_FLOAT(v[2]));
977}
978
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000979static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000980loopback_SecondaryColor3dvEXT_f( const GLdouble *v )
981{
Brian Paul7c276322001-09-14 21:36:43 +0000982 SECONDARYCOLORF( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] );
Keith Whitwellb0149862000-11-24 10:30:04 +0000983}
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000984static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000985loopback_SecondaryColor3ivEXT_f( const GLint *v )
986{
987 SECONDARYCOLORF(INT_TO_FLOAT(v[0]),
988 INT_TO_FLOAT(v[1]),
989 INT_TO_FLOAT(v[2]));
990}
991
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000992static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000993loopback_SecondaryColor3svEXT_f( const GLshort *v )
994{
995 SECONDARYCOLORF(SHORT_TO_FLOAT(v[0]),
996 SHORT_TO_FLOAT(v[1]),
997 SHORT_TO_FLOAT(v[2]));
998}
999
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001000static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001001loopback_SecondaryColor3uivEXT_f( const GLuint *v )
1002{
1003 SECONDARYCOLORF(UINT_TO_FLOAT(v[0]),
1004 UINT_TO_FLOAT(v[1]),
1005 UINT_TO_FLOAT(v[2]));
1006}
1007
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001008static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001009loopback_SecondaryColor3usvEXT_f( const GLushort *v )
1010{
1011 SECONDARYCOLORF(USHORT_TO_FLOAT(v[0]),
1012 USHORT_TO_FLOAT(v[1]),
1013 USHORT_TO_FLOAT(v[2]));
1014}
1015
Keith Whitwellae0eaf92003-11-24 15:23:18 +00001016static void GLAPIENTRY
1017loopback_SecondaryColor3ubvEXT_f( const GLubyte *v )
1018{
1019 SECONDARYCOLORF(UBYTE_TO_FLOAT(v[0]),
1020 UBYTE_TO_FLOAT(v[1]),
1021 UBYTE_TO_FLOAT(v[2]));
1022}
1023
Keith Whitwellb0149862000-11-24 10:30:04 +00001024
Brian Paul86b84272001-12-14 02:50:01 +00001025/*
1026 * GL_NV_vertex_program
1027 */
1028
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001029static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001030loopback_VertexAttrib1sNV(GLuint index, GLshort x)
1031{
Keith Whitwellae0eaf92003-11-24 15:23:18 +00001032 ATTRIB1(index, (GLfloat) x);
Brian Paul86b84272001-12-14 02:50:01 +00001033}
1034
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001035static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001036loopback_VertexAttrib1fNV(GLuint index, GLfloat x)
1037{
Keith Whitwellae0eaf92003-11-24 15:23:18 +00001038 ATTRIB1(index, x);
Brian Paul86b84272001-12-14 02:50:01 +00001039}
1040
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001041static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001042loopback_VertexAttrib1dNV(GLuint index, GLdouble x)
1043{
Keith Whitwellae0eaf92003-11-24 15:23:18 +00001044 ATTRIB1(index, (GLfloat) x);
Brian Paul86b84272001-12-14 02:50:01 +00001045}
1046
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001047static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001048loopback_VertexAttrib2sNV(GLuint index, GLshort x, GLshort y)
1049{
Keith Whitwellae0eaf92003-11-24 15:23:18 +00001050 ATTRIB2(index, (GLfloat) x, y);
Brian Paul86b84272001-12-14 02:50:01 +00001051}
1052
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001053static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001054loopback_VertexAttrib2fNV(GLuint index, GLfloat x, GLfloat y)
1055{
Keith Whitwellae0eaf92003-11-24 15:23:18 +00001056 ATTRIB2(index, (GLfloat) x, y);
Brian Paul86b84272001-12-14 02:50:01 +00001057}
1058
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001059static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001060loopback_VertexAttrib2dNV(GLuint index, GLdouble x, GLdouble y)
1061{
Keith Whitwellae0eaf92003-11-24 15:23:18 +00001062 ATTRIB2(index, (GLfloat) x, (GLfloat) y);
Brian Paul86b84272001-12-14 02:50:01 +00001063}
1064
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001065static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001066loopback_VertexAttrib3sNV(GLuint index, GLshort x, GLshort y, GLshort z)
1067{
Keith Whitwellae0eaf92003-11-24 15:23:18 +00001068 ATTRIB3(index, (GLfloat) x, y, z);
Brian Paul86b84272001-12-14 02:50:01 +00001069}
1070
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001071static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001072loopback_VertexAttrib3fNV(GLuint index, GLfloat x, GLfloat y, GLfloat z)
1073{
Keith Whitwellae0eaf92003-11-24 15:23:18 +00001074 ATTRIB3(index, x, y, z);
Brian Paul86b84272001-12-14 02:50:01 +00001075}
1076
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001077static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001078loopback_VertexAttrib3dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z)
1079{
Keith Whitwellae0eaf92003-11-24 15:23:18 +00001080 ATTRIB4(index, (GLfloat) x, (GLfloat) y, (GLfloat) z, 1.0F);
Brian Paul86b84272001-12-14 02:50:01 +00001081}
1082
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001083static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001084loopback_VertexAttrib4sNV(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w)
1085{
Keith Whitwellae0eaf92003-11-24 15:23:18 +00001086 ATTRIB4(index, (GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w);
Brian Paul86b84272001-12-14 02:50:01 +00001087}
1088
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001089static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001090loopback_VertexAttrib4dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
1091{
Keith Whitwellae0eaf92003-11-24 15:23:18 +00001092 ATTRIB4(index, (GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w);
Brian Paul86b84272001-12-14 02:50:01 +00001093}
1094
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001095static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001096loopback_VertexAttrib4ubNV(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w)
1097{
Keith Whitwellae0eaf92003-11-24 15:23:18 +00001098 ATTRIB4(index, UBYTE_TO_FLOAT(x), UBYTE_TO_FLOAT(y),
Brian Paul86b84272001-12-14 02:50:01 +00001099 UBYTE_TO_FLOAT(z), UBYTE_TO_FLOAT(w));
1100}
1101
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001102static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001103loopback_VertexAttrib1svNV(GLuint index, const GLshort *v)
1104{
Keith Whitwellae0eaf92003-11-24 15:23:18 +00001105 ATTRIB1(index, (GLfloat) v[0]);
Brian Paul86b84272001-12-14 02:50:01 +00001106}
1107
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001108static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001109loopback_VertexAttrib1fvNV(GLuint index, const GLfloat *v)
1110{
Keith Whitwellae0eaf92003-11-24 15:23:18 +00001111 ATTRIB1(index, v[0]);
Brian Paul86b84272001-12-14 02:50:01 +00001112}
1113
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001114static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001115loopback_VertexAttrib1dvNV(GLuint index, const GLdouble *v)
1116{
Keith Whitwellae0eaf92003-11-24 15:23:18 +00001117 ATTRIB1(index, (GLfloat) v[0]);
Brian Paul86b84272001-12-14 02:50:01 +00001118}
1119
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001120static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001121loopback_VertexAttrib2svNV(GLuint index, const GLshort *v)
1122{
Keith Whitwellae0eaf92003-11-24 15:23:18 +00001123 ATTRIB2(index, (GLfloat) v[0], (GLfloat) v[1]);
Brian Paul86b84272001-12-14 02:50:01 +00001124}
1125
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001126static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001127loopback_VertexAttrib2fvNV(GLuint index, const GLfloat *v)
1128{
Keith Whitwellae0eaf92003-11-24 15:23:18 +00001129 ATTRIB2(index, v[0], v[1]);
Brian Paul86b84272001-12-14 02:50:01 +00001130}
1131
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001132static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001133loopback_VertexAttrib2dvNV(GLuint index, const GLdouble *v)
1134{
Keith Whitwellae0eaf92003-11-24 15:23:18 +00001135 ATTRIB2(index, (GLfloat) v[0], (GLfloat) v[1]);
Brian Paul86b84272001-12-14 02:50:01 +00001136}
1137
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001138static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001139loopback_VertexAttrib3svNV(GLuint index, const GLshort *v)
1140{
Keith Whitwellae0eaf92003-11-24 15:23:18 +00001141 ATTRIB2(index, (GLfloat) v[0], (GLfloat) v[1]);
Brian Paul86b84272001-12-14 02:50:01 +00001142}
1143
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001144static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001145loopback_VertexAttrib3fvNV(GLuint index, const GLfloat *v)
1146{
Keith Whitwellae0eaf92003-11-24 15:23:18 +00001147 ATTRIB3(index, v[0], v[1], v[2]);
Brian Paul86b84272001-12-14 02:50:01 +00001148}
1149
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001150static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001151loopback_VertexAttrib3dvNV(GLuint index, const GLdouble *v)
1152{
Keith Whitwellae0eaf92003-11-24 15:23:18 +00001153 ATTRIB3(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2]);
Brian Paul86b84272001-12-14 02:50:01 +00001154}
1155
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001156static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001157loopback_VertexAttrib4svNV(GLuint index, const GLshort *v)
1158{
Keith Whitwellae0eaf92003-11-24 15:23:18 +00001159 ATTRIB4(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2],
Keith Whitwell33ce4052003-04-05 07:29:23 +00001160 (GLfloat)v[3]);
Brian Paul86b84272001-12-14 02:50:01 +00001161}
1162
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001163static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001164loopback_VertexAttrib4fvNV(GLuint index, const GLfloat *v)
1165{
Keith Whitwellae0eaf92003-11-24 15:23:18 +00001166 ATTRIB4(index, v[0], v[1], v[2], v[3]);
Brian Paul86b84272001-12-14 02:50:01 +00001167}
1168
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001169static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001170loopback_VertexAttrib4dvNV(GLuint index, const GLdouble *v)
1171{
Keith Whitwellae0eaf92003-11-24 15:23:18 +00001172 ATTRIB4(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]);
Brian Paul86b84272001-12-14 02:50:01 +00001173}
1174
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001175static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001176loopback_VertexAttrib4ubvNV(GLuint index, const GLubyte *v)
1177{
Keith Whitwellae0eaf92003-11-24 15:23:18 +00001178 ATTRIB4(index, UBYTE_TO_FLOAT(v[0]), UBYTE_TO_FLOAT(v[1]),
Brian Paul86b84272001-12-14 02:50:01 +00001179 UBYTE_TO_FLOAT(v[2]), UBYTE_TO_FLOAT(v[3]));
1180}
1181
1182
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001183static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001184loopback_VertexAttribs1svNV(GLuint index, GLsizei n, const GLshort *v)
1185{
1186 GLint i;
1187 for (i = n - 1; i >= 0; i--)
1188 loopback_VertexAttrib1svNV(index + i, v + i);
1189}
1190
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001191static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001192loopback_VertexAttribs1fvNV(GLuint index, GLsizei n, const GLfloat *v)
1193{
1194 GLint i;
1195 for (i = n - 1; i >= 0; i--)
1196 loopback_VertexAttrib1fvNV(index + i, v + i);
1197}
1198
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001199static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001200loopback_VertexAttribs1dvNV(GLuint index, GLsizei n, const GLdouble *v)
1201{
1202 GLint i;
1203 for (i = n - 1; i >= 0; i--)
1204 loopback_VertexAttrib1dvNV(index + i, v + i);
1205}
1206
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001207static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001208loopback_VertexAttribs2svNV(GLuint index, GLsizei n, const GLshort *v)
1209{
1210 GLint i;
1211 for (i = n - 1; i >= 0; i--)
1212 loopback_VertexAttrib2svNV(index + i, v + 2 * i);
1213}
1214
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001215static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001216loopback_VertexAttribs2fvNV(GLuint index, GLsizei n, const GLfloat *v)
1217{
1218 GLint i;
1219 for (i = n - 1; i >= 0; i--)
1220 loopback_VertexAttrib2fvNV(index + i, v + 2 * i);
1221}
1222
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001223static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001224loopback_VertexAttribs2dvNV(GLuint index, GLsizei n, const GLdouble *v)
1225{
1226 GLint i;
1227 for (i = n - 1; i >= 0; i--)
1228 loopback_VertexAttrib2dvNV(index + i, v + 2 * i);
1229}
1230
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001231static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001232loopback_VertexAttribs3svNV(GLuint index, GLsizei n, const GLshort *v)
1233{
1234 GLint i;
1235 for (i = n - 1; i >= 0; i--)
1236 loopback_VertexAttrib3svNV(index + i, v + 3 * i);
1237}
1238
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001239static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001240loopback_VertexAttribs3fvNV(GLuint index, GLsizei n, const GLfloat *v)
1241{
1242 GLint i;
1243 for (i = n - 1; i >= 0; i--)
1244 loopback_VertexAttrib3fvNV(index + i, v + 3 * i);
1245}
1246
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001247static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001248loopback_VertexAttribs3dvNV(GLuint index, GLsizei n, const GLdouble *v)
1249{
1250 GLint i;
1251 for (i = n - 1; i >= 0; i--)
1252 loopback_VertexAttrib3dvNV(index + i, v + 3 * i);
1253}
1254
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001255static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001256loopback_VertexAttribs4svNV(GLuint index, GLsizei n, const GLshort *v)
1257{
1258 GLint i;
1259 for (i = n - 1; i >= 0; i--)
1260 loopback_VertexAttrib4svNV(index + i, v + 4 * i);
1261}
1262
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001263static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001264loopback_VertexAttribs4fvNV(GLuint index, GLsizei n, const GLfloat *v)
1265{
1266 GLint i;
1267 for (i = n - 1; i >= 0; i--)
1268 loopback_VertexAttrib4fvNV(index + i, v + 4 * i);
1269}
1270
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001271static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001272loopback_VertexAttribs4dvNV(GLuint index, GLsizei n, const GLdouble *v)
1273{
1274 GLint i;
1275 for (i = n - 1; i >= 0; i--)
1276 loopback_VertexAttrib4dvNV(index + i, v + 4 * i);
1277}
1278
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001279static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001280loopback_VertexAttribs4ubvNV(GLuint index, GLsizei n, const GLubyte *v)
1281{
1282 GLint i;
1283 for (i = n - 1; i >= 0; i--)
1284 loopback_VertexAttrib4ubvNV(index + i, v + 4 * i);
1285}
1286
Keith Whitwellcab974c2000-12-26 05:09:27 +00001287
Brian Paule591ad72003-05-10 04:37:47 +00001288/*
1289 * GL_ARB_vertex_program
1290 */
1291
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001292static void GLAPIENTRY
Brian Paule591ad72003-05-10 04:37:47 +00001293loopback_VertexAttrib4bvARB(GLuint index, const GLbyte * v)
1294{
Keith Whitwellae0eaf92003-11-24 15:23:18 +00001295 ATTRIB4(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]);
Brian Paule591ad72003-05-10 04:37:47 +00001296}
1297
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001298static void GLAPIENTRY
Brian Paule591ad72003-05-10 04:37:47 +00001299loopback_VertexAttrib4ivARB(GLuint index, const GLint * v)
1300{
Keith Whitwellae0eaf92003-11-24 15:23:18 +00001301 ATTRIB4(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]);
Brian Paule591ad72003-05-10 04:37:47 +00001302}
1303
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001304static void GLAPIENTRY
Brian Paule591ad72003-05-10 04:37:47 +00001305loopback_VertexAttrib4ubvARB(GLuint index, const GLubyte * v)
1306{
Keith Whitwellae0eaf92003-11-24 15:23:18 +00001307 ATTRIB4(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]);
Brian Paule591ad72003-05-10 04:37:47 +00001308}
1309
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001310static void GLAPIENTRY
Brian Paule591ad72003-05-10 04:37:47 +00001311loopback_VertexAttrib4usvARB(GLuint index, const GLushort * v)
1312{
Keith Whitwellae0eaf92003-11-24 15:23:18 +00001313 ATTRIB4(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]);
Brian Paule591ad72003-05-10 04:37:47 +00001314}
1315
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001316static void GLAPIENTRY
Brian Paule591ad72003-05-10 04:37:47 +00001317loopback_VertexAttrib4uivARB(GLuint index, const GLuint * v)
1318{
Keith Whitwellae0eaf92003-11-24 15:23:18 +00001319 ATTRIB4(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]);
Brian Paule591ad72003-05-10 04:37:47 +00001320}
1321
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001322static void GLAPIENTRY
Brian Paule591ad72003-05-10 04:37:47 +00001323loopback_VertexAttrib4NbvARB(GLuint index, const GLbyte * v)
1324{
Keith Whitwellae0eaf92003-11-24 15:23:18 +00001325 ATTRIB4(index, BYTE_TO_FLOAT(v[0]), BYTE_TO_FLOAT(v[1]),
Brian Paule591ad72003-05-10 04:37:47 +00001326 BYTE_TO_FLOAT(v[2]), BYTE_TO_FLOAT(v[3]));
1327}
1328
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001329static void GLAPIENTRY
Brian Paule591ad72003-05-10 04:37:47 +00001330loopback_VertexAttrib4NsvARB(GLuint index, const GLshort * v)
1331{
Keith Whitwellae0eaf92003-11-24 15:23:18 +00001332 ATTRIB4(index, SHORT_TO_FLOAT(v[0]), SHORT_TO_FLOAT(v[1]),
Brian Paule591ad72003-05-10 04:37:47 +00001333 SHORT_TO_FLOAT(v[2]), SHORT_TO_FLOAT(v[3]));
1334}
1335
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001336static void GLAPIENTRY
Brian Paule591ad72003-05-10 04:37:47 +00001337loopback_VertexAttrib4NivARB(GLuint index, const GLint * v)
1338{
Keith Whitwellae0eaf92003-11-24 15:23:18 +00001339 ATTRIB4(index, INT_TO_FLOAT(v[0]), INT_TO_FLOAT(v[1]),
Brian Paule591ad72003-05-10 04:37:47 +00001340 INT_TO_FLOAT(v[2]), INT_TO_FLOAT(v[3]));
1341}
1342
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001343static void GLAPIENTRY
Brian Paule591ad72003-05-10 04:37:47 +00001344loopback_VertexAttrib4NusvARB(GLuint index, const GLushort * v)
1345{
Keith Whitwellae0eaf92003-11-24 15:23:18 +00001346 ATTRIB4(index, USHORT_TO_FLOAT(v[0]), USHORT_TO_FLOAT(v[1]),
Brian Paule591ad72003-05-10 04:37:47 +00001347 USHORT_TO_FLOAT(v[2]), USHORT_TO_FLOAT(v[3]));
1348}
1349
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001350static void GLAPIENTRY
Brian Paule591ad72003-05-10 04:37:47 +00001351loopback_VertexAttrib4NuivARB(GLuint index, const GLuint * v)
1352{
Keith Whitwellae0eaf92003-11-24 15:23:18 +00001353 ATTRIB4(index, UINT_TO_FLOAT(v[0]), UINT_TO_FLOAT(v[1]),
Brian Paule591ad72003-05-10 04:37:47 +00001354 UINT_TO_FLOAT(v[2]), UINT_TO_FLOAT(v[3]));
1355}
1356
1357
Brian Paul03c0c2e2002-01-14 16:06:35 +00001358
Keith Whitwellb0149862000-11-24 10:30:04 +00001359
Keith Whitwellae0eaf92003-11-24 15:23:18 +00001360/*
Keith Whitwellb0149862000-11-24 10:30:04 +00001361 * This code never registers handlers for any of the entry points
Gareth Hughes22144ab2001-03-12 00:48:37 +00001362 * listed in vtxfmt.h.
Keith Whitwellb0149862000-11-24 10:30:04 +00001363 */
1364void
Keith Whitwellae0eaf92003-11-24 15:23:18 +00001365_mesa_loopback_init_api_table( struct _glapi_table *dest )
Keith Whitwellb0149862000-11-24 10:30:04 +00001366{
Keith Whitwellae0eaf92003-11-24 15:23:18 +00001367 dest->Color3b = loopback_Color3b_f;
1368 dest->Color3d = loopback_Color3d_f;
1369 dest->Color3i = loopback_Color3i_f;
1370 dest->Color3s = loopback_Color3s_f;
1371 dest->Color3ui = loopback_Color3ui_f;
1372 dest->Color3us = loopback_Color3us_f;
1373 dest->Color3ub = loopback_Color3ub_f;
1374 dest->Color4b = loopback_Color4b_f;
1375 dest->Color4d = loopback_Color4d_f;
1376 dest->Color4i = loopback_Color4i_f;
1377 dest->Color4s = loopback_Color4s_f;
1378 dest->Color4ui = loopback_Color4ui_f;
1379 dest->Color4us = loopback_Color4us_f;
1380 dest->Color4ub = loopback_Color4ub_f;
1381 dest->Color3bv = loopback_Color3bv_f;
1382 dest->Color3dv = loopback_Color3dv_f;
1383 dest->Color3iv = loopback_Color3iv_f;
1384 dest->Color3sv = loopback_Color3sv_f;
1385 dest->Color3uiv = loopback_Color3uiv_f;
1386 dest->Color3usv = loopback_Color3usv_f;
1387 dest->Color3ubv = loopback_Color3ubv_f;
1388 dest->Color4bv = loopback_Color4bv_f;
1389 dest->Color4dv = loopback_Color4dv_f;
1390 dest->Color4iv = loopback_Color4iv_f;
1391 dest->Color4sv = loopback_Color4sv_f;
1392 dest->Color4uiv = loopback_Color4uiv_f;
1393 dest->Color4usv = loopback_Color4usv_f;
1394 dest->Color4ubv = loopback_Color4ubv_f;
Keith Whitwellb0149862000-11-24 10:30:04 +00001395
Keith Whitwellae0eaf92003-11-24 15:23:18 +00001396 dest->SecondaryColor3bEXT = loopback_SecondaryColor3bEXT_f;
1397 dest->SecondaryColor3dEXT = loopback_SecondaryColor3dEXT_f;
1398 dest->SecondaryColor3iEXT = loopback_SecondaryColor3iEXT_f;
1399 dest->SecondaryColor3sEXT = loopback_SecondaryColor3sEXT_f;
1400 dest->SecondaryColor3uiEXT = loopback_SecondaryColor3uiEXT_f;
1401 dest->SecondaryColor3usEXT = loopback_SecondaryColor3usEXT_f;
1402 dest->SecondaryColor3ubEXT = loopback_SecondaryColor3ubEXT_f;
1403 dest->SecondaryColor3bvEXT = loopback_SecondaryColor3bvEXT_f;
1404 dest->SecondaryColor3dvEXT = loopback_SecondaryColor3dvEXT_f;
1405 dest->SecondaryColor3ivEXT = loopback_SecondaryColor3ivEXT_f;
1406 dest->SecondaryColor3svEXT = loopback_SecondaryColor3svEXT_f;
1407 dest->SecondaryColor3uivEXT = loopback_SecondaryColor3uivEXT_f;
1408 dest->SecondaryColor3usvEXT = loopback_SecondaryColor3usvEXT_f;
1409 dest->SecondaryColor3ubvEXT = loopback_SecondaryColor3ubvEXT_f;
1410
Keith Whitwellb0149862000-11-24 10:30:04 +00001411 dest->Indexd = loopback_Indexd;
Keith Whitwellae0eaf92003-11-24 15:23:18 +00001412 dest->Indexi = loopback_Indexi;
Keith Whitwellb0149862000-11-24 10:30:04 +00001413 dest->Indexs = loopback_Indexs;
1414 dest->Indexub = loopback_Indexub;
1415 dest->Indexdv = loopback_Indexdv;
Keith Whitwellb0149862000-11-24 10:30:04 +00001416 dest->Indexiv = loopback_Indexiv;
1417 dest->Indexsv = loopback_Indexsv;
1418 dest->Indexubv = loopback_Indexubv;
1419 dest->Normal3b = loopback_Normal3b;
1420 dest->Normal3d = loopback_Normal3d;
1421 dest->Normal3i = loopback_Normal3i;
1422 dest->Normal3s = loopback_Normal3s;
1423 dest->Normal3bv = loopback_Normal3bv;
1424 dest->Normal3dv = loopback_Normal3dv;
1425 dest->Normal3iv = loopback_Normal3iv;
1426 dest->Normal3sv = loopback_Normal3sv;
1427 dest->TexCoord1d = loopback_TexCoord1d;
1428 dest->TexCoord1i = loopback_TexCoord1i;
1429 dest->TexCoord1s = loopback_TexCoord1s;
1430 dest->TexCoord2d = loopback_TexCoord2d;
1431 dest->TexCoord2s = loopback_TexCoord2s;
1432 dest->TexCoord2i = loopback_TexCoord2i;
1433 dest->TexCoord3d = loopback_TexCoord3d;
1434 dest->TexCoord3i = loopback_TexCoord3i;
1435 dest->TexCoord3s = loopback_TexCoord3s;
1436 dest->TexCoord4d = loopback_TexCoord4d;
1437 dest->TexCoord4i = loopback_TexCoord4i;
1438 dest->TexCoord4s = loopback_TexCoord4s;
1439 dest->TexCoord1dv = loopback_TexCoord1dv;
1440 dest->TexCoord1iv = loopback_TexCoord1iv;
1441 dest->TexCoord1sv = loopback_TexCoord1sv;
1442 dest->TexCoord2dv = loopback_TexCoord2dv;
1443 dest->TexCoord2iv = loopback_TexCoord2iv;
1444 dest->TexCoord2sv = loopback_TexCoord2sv;
1445 dest->TexCoord3dv = loopback_TexCoord3dv;
1446 dest->TexCoord3iv = loopback_TexCoord3iv;
1447 dest->TexCoord3sv = loopback_TexCoord3sv;
1448 dest->TexCoord4dv = loopback_TexCoord4dv;
1449 dest->TexCoord4iv = loopback_TexCoord4iv;
1450 dest->TexCoord4sv = loopback_TexCoord4sv;
1451 dest->Vertex2d = loopback_Vertex2d;
1452 dest->Vertex2i = loopback_Vertex2i;
1453 dest->Vertex2s = loopback_Vertex2s;
1454 dest->Vertex3d = loopback_Vertex3d;
1455 dest->Vertex3i = loopback_Vertex3i;
1456 dest->Vertex3s = loopback_Vertex3s;
1457 dest->Vertex4d = loopback_Vertex4d;
1458 dest->Vertex4i = loopback_Vertex4i;
1459 dest->Vertex4s = loopback_Vertex4s;
1460 dest->Vertex2dv = loopback_Vertex2dv;
1461 dest->Vertex2iv = loopback_Vertex2iv;
1462 dest->Vertex2sv = loopback_Vertex2sv;
1463 dest->Vertex3dv = loopback_Vertex3dv;
1464 dest->Vertex3iv = loopback_Vertex3iv;
1465 dest->Vertex3sv = loopback_Vertex3sv;
1466 dest->Vertex4dv = loopback_Vertex4dv;
1467 dest->Vertex4iv = loopback_Vertex4iv;
1468 dest->Vertex4sv = loopback_Vertex4sv;
Brian Paul471a7742001-12-04 23:43:31 +00001469 dest->MultiTexCoord1dARB = loopback_MultiTexCoord1dARB;
1470 dest->MultiTexCoord1dvARB = loopback_MultiTexCoord1dvARB;
1471 dest->MultiTexCoord1iARB = loopback_MultiTexCoord1iARB;
1472 dest->MultiTexCoord1ivARB = loopback_MultiTexCoord1ivARB;
1473 dest->MultiTexCoord1sARB = loopback_MultiTexCoord1sARB;
1474 dest->MultiTexCoord1svARB = loopback_MultiTexCoord1svARB;
1475 dest->MultiTexCoord2dARB = loopback_MultiTexCoord2dARB;
1476 dest->MultiTexCoord2dvARB = loopback_MultiTexCoord2dvARB;
1477 dest->MultiTexCoord2iARB = loopback_MultiTexCoord2iARB;
1478 dest->MultiTexCoord2ivARB = loopback_MultiTexCoord2ivARB;
1479 dest->MultiTexCoord2sARB = loopback_MultiTexCoord2sARB;
1480 dest->MultiTexCoord2svARB = loopback_MultiTexCoord2svARB;
1481 dest->MultiTexCoord3dARB = loopback_MultiTexCoord3dARB;
1482 dest->MultiTexCoord3dvARB = loopback_MultiTexCoord3dvARB;
1483 dest->MultiTexCoord3iARB = loopback_MultiTexCoord3iARB;
1484 dest->MultiTexCoord3ivARB = loopback_MultiTexCoord3ivARB;
1485 dest->MultiTexCoord3sARB = loopback_MultiTexCoord3sARB;
1486 dest->MultiTexCoord3svARB = loopback_MultiTexCoord3svARB;
1487 dest->MultiTexCoord4dARB = loopback_MultiTexCoord4dARB;
1488 dest->MultiTexCoord4dvARB = loopback_MultiTexCoord4dvARB;
1489 dest->MultiTexCoord4iARB = loopback_MultiTexCoord4iARB;
1490 dest->MultiTexCoord4ivARB = loopback_MultiTexCoord4ivARB;
1491 dest->MultiTexCoord4sARB = loopback_MultiTexCoord4sARB;
1492 dest->MultiTexCoord4svARB = loopback_MultiTexCoord4svARB;
Keith Whitwellb0149862000-11-24 10:30:04 +00001493 dest->EvalCoord2dv = loopback_EvalCoord2dv;
1494 dest->EvalCoord2fv = loopback_EvalCoord2fv;
1495 dest->EvalCoord2d = loopback_EvalCoord2d;
1496 dest->EvalCoord1dv = loopback_EvalCoord1dv;
1497 dest->EvalCoord1fv = loopback_EvalCoord1fv;
1498 dest->EvalCoord1d = loopback_EvalCoord1d;
1499 dest->Materialf = loopback_Materialf;
1500 dest->Materiali = loopback_Materiali;
1501 dest->Materialiv = loopback_Materialiv;
1502 dest->Rectd = loopback_Rectd;
1503 dest->Rectdv = loopback_Rectdv;
1504 dest->Rectfv = loopback_Rectfv;
1505 dest->Recti = loopback_Recti;
1506 dest->Rectiv = loopback_Rectiv;
1507 dest->Rects = loopback_Rects;
1508 dest->Rectsv = loopback_Rectsv;
1509 dest->FogCoorddEXT = loopback_FogCoorddEXT;
1510 dest->FogCoorddvEXT = loopback_FogCoorddvEXT;
Brian Paul86b84272001-12-14 02:50:01 +00001511
1512 dest->VertexAttrib1sNV = loopback_VertexAttrib1sNV;
1513 dest->VertexAttrib1fNV = loopback_VertexAttrib1fNV;
1514 dest->VertexAttrib1dNV = loopback_VertexAttrib1dNV;
1515 dest->VertexAttrib2sNV = loopback_VertexAttrib2sNV;
1516 dest->VertexAttrib2fNV = loopback_VertexAttrib2fNV;
1517 dest->VertexAttrib2dNV = loopback_VertexAttrib2dNV;
1518 dest->VertexAttrib3sNV = loopback_VertexAttrib3sNV;
1519 dest->VertexAttrib3fNV = loopback_VertexAttrib3fNV;
1520 dest->VertexAttrib3dNV = loopback_VertexAttrib3dNV;
1521 dest->VertexAttrib4sNV = loopback_VertexAttrib4sNV;
1522 dest->VertexAttrib4dNV = loopback_VertexAttrib4dNV;
1523 dest->VertexAttrib4ubNV = loopback_VertexAttrib4ubNV;
1524
1525 dest->VertexAttrib1svNV = loopback_VertexAttrib1svNV;
1526 dest->VertexAttrib1fvNV = loopback_VertexAttrib1fvNV;
1527 dest->VertexAttrib1dvNV = loopback_VertexAttrib1dvNV;
1528 dest->VertexAttrib2svNV = loopback_VertexAttrib2svNV;
1529 dest->VertexAttrib2fvNV = loopback_VertexAttrib2fvNV;
1530 dest->VertexAttrib2dvNV = loopback_VertexAttrib2dvNV;
1531 dest->VertexAttrib3svNV = loopback_VertexAttrib3svNV;
1532 dest->VertexAttrib3fvNV = loopback_VertexAttrib3fvNV;
1533 dest->VertexAttrib3dvNV = loopback_VertexAttrib3dvNV;
1534 dest->VertexAttrib4svNV = loopback_VertexAttrib4svNV;
1535 dest->VertexAttrib4fvNV = loopback_VertexAttrib4fvNV;
1536 dest->VertexAttrib4dvNV = loopback_VertexAttrib4dvNV;
1537 dest->VertexAttrib4ubvNV = loopback_VertexAttrib4ubvNV;
1538
1539 dest->VertexAttribs1svNV = loopback_VertexAttribs1svNV;
1540 dest->VertexAttribs1fvNV = loopback_VertexAttribs1fvNV;
1541 dest->VertexAttribs1dvNV = loopback_VertexAttribs1dvNV;
1542 dest->VertexAttribs2svNV = loopback_VertexAttribs2svNV;
1543 dest->VertexAttribs2fvNV = loopback_VertexAttribs2fvNV;
1544 dest->VertexAttribs2dvNV = loopback_VertexAttribs2dvNV;
1545 dest->VertexAttribs3svNV = loopback_VertexAttribs3svNV;
1546 dest->VertexAttribs3fvNV = loopback_VertexAttribs3fvNV;
1547 dest->VertexAttribs3dvNV = loopback_VertexAttribs3dvNV;
1548 dest->VertexAttribs4svNV = loopback_VertexAttribs4svNV;
1549 dest->VertexAttribs4fvNV = loopback_VertexAttribs4fvNV;
1550 dest->VertexAttribs4dvNV = loopback_VertexAttribs4dvNV;
1551 dest->VertexAttribs4ubvNV = loopback_VertexAttribs4ubvNV;
Brian Paul03c0c2e2002-01-14 16:06:35 +00001552
Brian Paule591ad72003-05-10 04:37:47 +00001553 dest->VertexAttrib4bvARB = loopback_VertexAttrib4bvARB;
1554 dest->VertexAttrib4ivARB = loopback_VertexAttrib4ivARB;
1555 dest->VertexAttrib4ubvARB = loopback_VertexAttrib4ubvARB;
1556 dest->VertexAttrib4usvARB = loopback_VertexAttrib4usvARB;
1557 dest->VertexAttrib4uivARB = loopback_VertexAttrib4uivARB;
1558 dest->VertexAttrib4NbvARB = loopback_VertexAttrib4NbvARB;
1559 dest->VertexAttrib4NsvARB = loopback_VertexAttrib4NsvARB;
1560 dest->VertexAttrib4NivARB = loopback_VertexAttrib4NivARB;
1561 dest->VertexAttrib4NusvARB = loopback_VertexAttrib4NusvARB;
1562 dest->VertexAttrib4NuivARB = loopback_VertexAttrib4NuivARB;
Keith Whitwellb0149862000-11-24 10:30:04 +00001563}