blob: a2dc3c6c6ba1c3b1e166ea2caabc20682464b877 [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 COLORUBV(v) glColor4ubv(v)
49#define COLORF(r,g,b,a) glColor4f(r,g,b,a)
50#define VERTEX2(x,y) glVertex2f(x,y)
51#define VERTEX3(x,y,z) glVertex3f(x,y,z)
52#define VERTEX4(x,y,z,w) glVertex4f(x,y,z,w)
53#define NORMAL(x,y,z) glNormal3f(x,y,z)
54#define TEXCOORD1(s) glTexCoord1f(s)
55#define TEXCOORD2(s,t) glTexCoord2f(s,t)
56#define TEXCOORD3(s,t,u) glTexCoord3f(s,t,u)
57#define TEXCOORD4(s,t,u,v) glTexCoord4f(s,t,u,v)
58#define INDEX(c) glIndexi(c)
59#define MULTI_TEXCOORD1(z,s) glMultiTexCoord1fARB(z,s)
60#define MULTI_TEXCOORD2(z,s,t) glMultiTexCoord2fARB(z,s,t)
61#define MULTI_TEXCOORD3(z,s,t,u) glMultiTexCoord3fARB(z,s,t,u)
62#define MULTI_TEXCOORD4(z,s,t,u,v) glMultiTexCoord4fARB(z,s,t,u,v)
63#define EVALCOORD1(x) glEvalCoord1f(x)
64#define EVALCOORD2(x,y) glEvalCoord2f(x,y)
65#define MATERIALFV(a,b,c) glMaterialfv(a,b,c)
66#define RECTF(a,b,c,d) glRectf(a,b,c,d)
67
Brian Paul03c0c2e2002-01-14 16:06:35 +000068#define ATTRIB(index, x, y, z, w) _glapi_Dispatch->VertexAttrib4fNV(index, x, y, z, w)
Keith Whitwellfc00cbe2001-12-20 15:30:45 +000069
70
Brian Paul03c0c2e2002-01-14 16:06:35 +000071#define FOGCOORDF(x) _glapi_Dispatch->FogCoordfEXT(x)
72#define SECONDARYCOLORUB(a,b,c) _glapi_Dispatch->SecondaryColor3ubEXT(a,b,c)
73#define SECONDARYCOLORF(a,b,c) _glapi_Dispatch->SecondaryColor3fEXT(a,b,c)
Keith Whitwellb0149862000-11-24 10:30:04 +000074
75
Kendall Bennettc40d1dd2003-10-21 22:22:17 +000076static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +000077loopback_Color3b( GLbyte red, GLbyte green, GLbyte blue )
78{
79 GLubyte col[4];
80 col[0] = BYTE_TO_UBYTE(red);
81 col[1] = BYTE_TO_UBYTE(green);
82 col[2] = BYTE_TO_UBYTE(blue);
83 col[3] = 255;
84 COLORUBV(col);
85}
86
Kendall Bennettc40d1dd2003-10-21 22:22:17 +000087static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +000088loopback_Color3d( GLdouble red, GLdouble green, GLdouble blue )
89{
90 GLubyte col[4];
Brian Paul7c276322001-09-14 21:36:43 +000091 GLfloat r = (GLfloat) red;
92 GLfloat g = (GLfloat) green;
93 GLfloat b = (GLfloat) blue;
Brian Paul3041d052001-01-02 22:02:51 +000094 UNCLAMPED_FLOAT_TO_UBYTE(col[0], r);
95 UNCLAMPED_FLOAT_TO_UBYTE(col[1], g);
96 UNCLAMPED_FLOAT_TO_UBYTE(col[2], b);
Keith Whitwellb0149862000-11-24 10:30:04 +000097 col[3] = 255;
98 COLORUBV( col );
99}
100
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000101static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000102loopback_Color3i( GLint red, GLint green, GLint blue )
103{
104 GLubyte col[4];
105 col[0] = INT_TO_UBYTE(red);
106 col[1] = INT_TO_UBYTE(green);
107 col[2] = INT_TO_UBYTE(blue);
108 col[3] = 255;
109 COLORUBV(col);
110}
111
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000112static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000113loopback_Color3s( GLshort red, GLshort green, GLshort blue )
114{
115 GLubyte col[4];
116 col[0] = SHORT_TO_UBYTE(red);
117 col[1] = SHORT_TO_UBYTE(green);
118 col[2] = SHORT_TO_UBYTE(blue);
119 col[3] = 255;
120 COLORUBV(col);
121}
122
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000123static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000124loopback_Color3ui( GLuint red, GLuint green, GLuint blue )
125{
126 GLubyte col[4];
127 col[0] = UINT_TO_UBYTE(red);
128 col[1] = UINT_TO_UBYTE(green);
129 col[2] = UINT_TO_UBYTE(blue);
130 col[3] = 255;
131 COLORUBV(col);
132}
133
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000134static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000135loopback_Color3us( GLushort red, GLushort green, GLushort blue )
136{
137 GLubyte col[4];
138 col[0] = USHORT_TO_UBYTE(red);
139 col[1] = USHORT_TO_UBYTE(green);
140 col[2] = USHORT_TO_UBYTE(blue);
141 col[3] = 255;
142 COLORUBV(col);
143}
144
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000145static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000146loopback_Color4b( GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha )
147{
148 GLubyte col[4];
149 col[0] = BYTE_TO_UBYTE(red);
150 col[1] = BYTE_TO_UBYTE(green);
151 col[2] = BYTE_TO_UBYTE(blue);
152 col[3] = 255;
153 COLORUBV(col);
154}
155
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000156static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000157loopback_Color4d( GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha )
158{
159 GLubyte col[4];
Brian Paul7c276322001-09-14 21:36:43 +0000160 GLfloat r = (GLfloat) red;
161 GLfloat g = (GLfloat) green;
162 GLfloat b = (GLfloat) blue;
163 GLfloat a = (GLfloat) alpha;
Brian Paul3041d052001-01-02 22:02:51 +0000164 UNCLAMPED_FLOAT_TO_UBYTE(col[0], r);
165 UNCLAMPED_FLOAT_TO_UBYTE(col[1], g);
166 UNCLAMPED_FLOAT_TO_UBYTE(col[2], b);
167 UNCLAMPED_FLOAT_TO_UBYTE(col[3], a);
Keith Whitwellb0149862000-11-24 10:30:04 +0000168 COLORUBV( col );
169}
170
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000171static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000172loopback_Color4i( GLint red, GLint green, GLint blue, GLint alpha )
173{
174 GLubyte col[4];
175 col[0] = INT_TO_UBYTE(red);
176 col[1] = INT_TO_UBYTE(green);
177 col[2] = INT_TO_UBYTE(blue);
178 col[3] = INT_TO_UBYTE(alpha);
179 COLORUBV(col);
180}
181
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000182static void GLAPIENTRY
Gareth Hughes22144ab2001-03-12 00:48:37 +0000183loopback_Color4s( GLshort red, GLshort green, GLshort blue,
Keith Whitwellb0149862000-11-24 10:30:04 +0000184 GLshort alpha )
185{
186 GLubyte col[4];
187 col[0] = SHORT_TO_UBYTE(red);
188 col[1] = SHORT_TO_UBYTE(green);
189 col[2] = SHORT_TO_UBYTE(blue);
190 col[3] = SHORT_TO_UBYTE(alpha);
191 COLORUBV(col);
192}
193
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000194static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000195loopback_Color4ui( GLuint red, GLuint green, GLuint blue, GLuint alpha )
196{
197 GLubyte col[4];
198 col[0] = UINT_TO_UBYTE(red);
199 col[1] = UINT_TO_UBYTE(green);
200 col[2] = UINT_TO_UBYTE(blue);
201 col[3] = UINT_TO_UBYTE(alpha);
202 COLORUBV(col);
203}
204
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000205static void GLAPIENTRY
Gareth Hughes22144ab2001-03-12 00:48:37 +0000206loopback_Color4us( GLushort red, GLushort green, GLushort blue,
Keith Whitwellb0149862000-11-24 10:30:04 +0000207 GLushort alpha )
208{
209 GLubyte col[4];
210 col[0] = USHORT_TO_UBYTE(red);
211 col[1] = USHORT_TO_UBYTE(green);
212 col[2] = USHORT_TO_UBYTE(blue);
213 col[3] = USHORT_TO_UBYTE(alpha);
214 COLORUBV(col);
215}
216
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000217static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000218loopback_Color3bv( const GLbyte *v )
219{
220 GLubyte col[4];
221 col[0] = BYTE_TO_UBYTE(v[0]);
222 col[1] = BYTE_TO_UBYTE(v[1]);
223 col[2] = BYTE_TO_UBYTE(v[2]);
224 col[3] = 255;
225 COLORUBV(col);
226}
227
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000228static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000229loopback_Color3dv( const GLdouble *v )
230{
231 GLubyte col[4];
Brian Paul7c276322001-09-14 21:36:43 +0000232 GLfloat r = (GLfloat) v[0];
233 GLfloat g = (GLfloat) v[1];
234 GLfloat b = (GLfloat) v[2];
Brian Paula580e1a2001-01-02 22:05:55 +0000235 UNCLAMPED_FLOAT_TO_UBYTE(col[0], r);
236 UNCLAMPED_FLOAT_TO_UBYTE(col[1], g);
237 UNCLAMPED_FLOAT_TO_UBYTE(col[2], b);
Keith Whitwellb0149862000-11-24 10:30:04 +0000238 col[3] = 255;
239 COLORUBV( col );
240}
241
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000242static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000243loopback_Color3iv( const GLint *v )
244{
245 GLubyte col[4];
246 col[0] = INT_TO_UBYTE(v[0]);
247 col[1] = INT_TO_UBYTE(v[1]);
248 col[2] = INT_TO_UBYTE(v[2]);
249 col[3] = 255;
250 COLORUBV(col);
251}
252
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000253static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000254loopback_Color3sv( const GLshort *v )
Gareth Hughes22144ab2001-03-12 00:48:37 +0000255{
Keith Whitwellb0149862000-11-24 10:30:04 +0000256 GLubyte col[4];
257 col[0] = SHORT_TO_UBYTE(v[0]);
258 col[1] = SHORT_TO_UBYTE(v[1]);
259 col[2] = SHORT_TO_UBYTE(v[2]);
260 col[3] = 255;
261 COLORUBV(col);
262}
263
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000264static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000265loopback_Color3uiv( const GLuint *v )
266{
267 GLubyte col[4];
268 col[0] = UINT_TO_UBYTE(v[0]);
269 col[1] = UINT_TO_UBYTE(v[1]);
270 col[2] = UINT_TO_UBYTE(v[2]);
271 col[3] = 255;
272 COLORUBV(col);
273}
274
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000275static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000276loopback_Color3usv( const GLushort *v )
277{
278 GLubyte col[4];
279 col[0] = USHORT_TO_UBYTE(v[0]);
280 col[1] = USHORT_TO_UBYTE(v[1]);
281 col[2] = USHORT_TO_UBYTE(v[2]);
282 col[3] = 255;
283 COLORUBV(col);
284
285}
286
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000287static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000288loopback_Color4bv( const GLbyte *v )
289{
290 GLubyte col[4];
291 col[0] = BYTE_TO_UBYTE(v[0]);
292 col[1] = BYTE_TO_UBYTE(v[1]);
293 col[2] = BYTE_TO_UBYTE(v[2]);
294 col[3] = BYTE_TO_UBYTE(v[3]);
295 COLORUBV(col);
296}
297
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000298static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000299loopback_Color4dv( const GLdouble *v )
300{
301 GLubyte col[4];
Brian Paul7c276322001-09-14 21:36:43 +0000302 GLfloat r = (GLfloat) v[0];
303 GLfloat g = (GLfloat) v[1];
304 GLfloat b = (GLfloat) v[2];
305 GLfloat a = (GLfloat) v[3];
Brian Paula580e1a2001-01-02 22:05:55 +0000306 UNCLAMPED_FLOAT_TO_UBYTE(col[0], r);
307 UNCLAMPED_FLOAT_TO_UBYTE(col[1], g);
308 UNCLAMPED_FLOAT_TO_UBYTE(col[2], b);
309 UNCLAMPED_FLOAT_TO_UBYTE(col[3], a);
Keith Whitwellb0149862000-11-24 10:30:04 +0000310 COLORUBV( col );
311}
312
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000313static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000314loopback_Color4iv( const GLint *v )
315{
316 GLubyte col[4];
317 col[0] = INT_TO_UBYTE(v[0]);
318 col[1] = INT_TO_UBYTE(v[1]);
319 col[2] = INT_TO_UBYTE(v[2]);
320 col[3] = INT_TO_UBYTE(v[3]);
321 COLORUBV(col);
322}
323
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000324static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000325loopback_Color4sv( const GLshort *v)
326{
327 GLubyte col[4];
328 col[0] = SHORT_TO_UBYTE(v[0]);
329 col[1] = SHORT_TO_UBYTE(v[1]);
330 col[2] = SHORT_TO_UBYTE(v[2]);
331 col[3] = SHORT_TO_UBYTE(v[3]);
332 COLORUBV(col);
333}
334
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000335static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000336loopback_Color4uiv( const GLuint *v)
337{
338 GLubyte col[4];
339 col[0] = UINT_TO_UBYTE(v[0]);
340 col[1] = UINT_TO_UBYTE(v[1]);
341 col[2] = UINT_TO_UBYTE(v[2]);
342 col[3] = UINT_TO_UBYTE(v[3]);
343 COLORUBV(col);
344}
345
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000346static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000347loopback_Color4usv( const GLushort *v)
348{
349 GLubyte col[4];
350 col[0] = USHORT_TO_UBYTE(v[0]);
351 col[1] = USHORT_TO_UBYTE(v[1]);
352 col[2] = USHORT_TO_UBYTE(v[2]);
353 col[3] = USHORT_TO_UBYTE(v[3]);
354 COLORUBV(col);
355}
356
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000357static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000358loopback_Color3b_f( GLbyte red, GLbyte green, GLbyte blue )
359{
Gareth Hughes22144ab2001-03-12 00:48:37 +0000360 COLORF( BYTE_TO_FLOAT(red),
Keith Whitwellb0149862000-11-24 10:30:04 +0000361 BYTE_TO_FLOAT(green),
Gareth Hughes22144ab2001-03-12 00:48:37 +0000362 BYTE_TO_FLOAT(blue),
Keith Whitwellb0149862000-11-24 10:30:04 +0000363 1.0 );
364}
365
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000366static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000367loopback_Color3d_f( GLdouble red, GLdouble green, GLdouble blue )
368{
Brian Paul7c276322001-09-14 21:36:43 +0000369 COLORF( (GLfloat) red, (GLfloat) green, (GLfloat) blue, 1.0 );
Keith Whitwellb0149862000-11-24 10:30:04 +0000370}
371
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000372static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000373loopback_Color3i_f( GLint red, GLint green, GLint blue )
374{
375 COLORF( INT_TO_FLOAT(red), INT_TO_FLOAT(green),
376 INT_TO_FLOAT(blue), 1.0);
377}
378
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000379static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000380loopback_Color3s_f( GLshort red, GLshort green, GLshort blue )
381{
382 COLORF( SHORT_TO_FLOAT(red), SHORT_TO_FLOAT(green),
383 SHORT_TO_FLOAT(blue), 1.0);
384}
385
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000386static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000387loopback_Color3ui_f( GLuint red, GLuint green, GLuint blue )
388{
389 COLORF( UINT_TO_FLOAT(red), UINT_TO_FLOAT(green),
390 UINT_TO_FLOAT(blue), 1.0 );
391}
392
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000393static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000394loopback_Color3us_f( GLushort red, GLushort green, GLushort blue )
395{
396 COLORF( USHORT_TO_FLOAT(red), USHORT_TO_FLOAT(green),
397 USHORT_TO_FLOAT(blue), 1.0 );
398}
399
400
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000401static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000402loopback_Color3bv_f( const GLbyte *v )
403{
404 COLORF( BYTE_TO_FLOAT(v[0]), BYTE_TO_FLOAT(v[1]),
405 BYTE_TO_FLOAT(v[2]), 1.0 );
406}
407
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000408static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000409loopback_Color3dv_f( const GLdouble *v )
410{
Brian Paul7c276322001-09-14 21:36:43 +0000411 COLORF( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], 1.0 );
Keith Whitwellb0149862000-11-24 10:30:04 +0000412}
413
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000414static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000415loopback_Color3iv_f( const GLint *v )
416{
417 COLORF( INT_TO_FLOAT(v[0]), INT_TO_FLOAT(v[1]),
418 INT_TO_FLOAT(v[2]), INT_TO_FLOAT(v[3]) );
419}
420
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000421static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000422loopback_Color3sv_f( const GLshort *v )
423{
424 COLORF( SHORT_TO_FLOAT(v[0]), SHORT_TO_FLOAT(v[1]),
425 SHORT_TO_FLOAT(v[2]), 1.0 );
426}
427
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000428static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000429loopback_Color3uiv_f( const GLuint *v )
430{
431 COLORF( UINT_TO_FLOAT(v[0]), UINT_TO_FLOAT(v[1]),
432 UINT_TO_FLOAT(v[2]), 1.0 );
433}
434
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000435static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000436loopback_Color3usv_f( const GLushort *v )
437{
438 COLORF( USHORT_TO_FLOAT(v[0]), USHORT_TO_FLOAT(v[1]),
439 USHORT_TO_FLOAT(v[2]), 1.0 );
440}
441
442
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000443static void GLAPIENTRY
Gareth Hughes22144ab2001-03-12 00:48:37 +0000444loopback_Color4b_f( GLbyte red, GLbyte green, GLbyte blue,
Keith Whitwellb0149862000-11-24 10:30:04 +0000445 GLbyte alpha )
446{
447 COLORF( BYTE_TO_FLOAT(red), BYTE_TO_FLOAT(green),
448 BYTE_TO_FLOAT(blue), BYTE_TO_FLOAT(alpha) );
449}
450
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000451static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000452loopback_Color4d_f( GLdouble red, GLdouble green, GLdouble blue,
453 GLdouble alpha )
454{
Brian Paul7c276322001-09-14 21:36:43 +0000455 COLORF( (GLfloat) red, (GLfloat) green, (GLfloat) blue, (GLfloat) alpha );
Keith Whitwellb0149862000-11-24 10:30:04 +0000456}
457
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000458static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000459loopback_Color4i_f( GLint red, GLint green, GLint blue, GLint alpha )
460{
461 COLORF( INT_TO_FLOAT(red), INT_TO_FLOAT(green),
462 INT_TO_FLOAT(blue), INT_TO_FLOAT(alpha) );
463}
464
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000465static void GLAPIENTRY
Gareth Hughes22144ab2001-03-12 00:48:37 +0000466loopback_Color4s_f( GLshort red, GLshort green, GLshort blue,
Keith Whitwellb0149862000-11-24 10:30:04 +0000467 GLshort alpha )
468{
469 COLORF( SHORT_TO_FLOAT(red), SHORT_TO_FLOAT(green),
470 SHORT_TO_FLOAT(blue), SHORT_TO_FLOAT(alpha) );
471}
472
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000473static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000474loopback_Color4ui_f( GLuint red, GLuint green, GLuint blue, GLuint alpha )
475{
476 COLORF( UINT_TO_FLOAT(red), UINT_TO_FLOAT(green),
477 UINT_TO_FLOAT(blue), UINT_TO_FLOAT(alpha) );
478}
479
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000480static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000481loopback_Color4us_f( GLushort red, GLushort green, GLushort blue, GLushort alpha )
482{
483 COLORF( USHORT_TO_FLOAT(red), USHORT_TO_FLOAT(green),
484 USHORT_TO_FLOAT(blue), USHORT_TO_FLOAT(alpha) );
485}
486
487
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000488static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000489loopback_Color4iv_f( const GLint *v )
490{
491 COLORF( INT_TO_FLOAT(v[0]), INT_TO_FLOAT(v[1]),
492 INT_TO_FLOAT(v[2]), INT_TO_FLOAT(v[3]) );
493}
494
495
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000496static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000497loopback_Color4bv_f( const GLbyte *v )
498{
499 COLORF( BYTE_TO_FLOAT(v[0]), BYTE_TO_FLOAT(v[1]),
500 BYTE_TO_FLOAT(v[2]), BYTE_TO_FLOAT(v[3]) );
501}
502
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000503static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000504loopback_Color4dv_f( const GLdouble *v )
505{
Brian Paul7c276322001-09-14 21:36:43 +0000506 COLORF( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3] );
Keith Whitwellb0149862000-11-24 10:30:04 +0000507}
508
509
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000510static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000511loopback_Color4sv_f( const GLshort *v)
512{
513 COLORF( SHORT_TO_FLOAT(v[0]), SHORT_TO_FLOAT(v[1]),
514 SHORT_TO_FLOAT(v[2]), SHORT_TO_FLOAT(v[3]) );
515}
516
517
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000518static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000519loopback_Color4uiv_f( const GLuint *v)
520{
521 COLORF( UINT_TO_FLOAT(v[0]), UINT_TO_FLOAT(v[1]),
522 UINT_TO_FLOAT(v[2]), UINT_TO_FLOAT(v[3]) );
523}
524
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000525static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000526loopback_Color4usv_f( const GLushort *v)
527{
528 COLORF( USHORT_TO_FLOAT(v[0]), USHORT_TO_FLOAT(v[1]),
529 USHORT_TO_FLOAT(v[2]), USHORT_TO_FLOAT(v[3]) );
530}
531
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000532static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000533loopback_FogCoorddEXT( GLdouble d )
534{
Brian Paul7c276322001-09-14 21:36:43 +0000535 FOGCOORDF( (GLfloat) d );
Keith Whitwellb0149862000-11-24 10:30:04 +0000536}
537
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000538static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000539loopback_FogCoorddvEXT( const GLdouble *v )
540{
Brian Paul7c276322001-09-14 21:36:43 +0000541 FOGCOORDF( (GLfloat) *v );
Keith Whitwellb0149862000-11-24 10:30:04 +0000542}
543
544
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000545static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000546loopback_Indexd( GLdouble c )
547{
Brian Paul50478de2000-11-27 18:17:09 +0000548 INDEX( (GLint) c );
Keith Whitwellb0149862000-11-24 10:30:04 +0000549}
550
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000551static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000552loopback_Indexf( GLfloat c )
553{
Keith Whitwellcab974c2000-12-26 05:09:27 +0000554 INDEX( (GLuint) (GLint) c );
Keith Whitwellb0149862000-11-24 10:30:04 +0000555}
556
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000557static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000558loopback_Indexs( GLshort c )
559{
Brian Paul50478de2000-11-27 18:17:09 +0000560 INDEX( (GLint) c );
Keith Whitwellb0149862000-11-24 10:30:04 +0000561}
562
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000563static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000564loopback_Indexub( GLubyte c )
565{
Brian Paul50478de2000-11-27 18:17:09 +0000566 INDEX( (GLint) c );
Keith Whitwellb0149862000-11-24 10:30:04 +0000567}
568
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000569static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000570loopback_Indexdv( const GLdouble *c )
571{
Brian Paul50478de2000-11-27 18:17:09 +0000572 INDEX( (GLint) (GLint) *c );
Keith Whitwellb0149862000-11-24 10:30:04 +0000573}
574
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000575static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000576loopback_Indexfv( const GLfloat *c )
577{
Brian Paul50478de2000-11-27 18:17:09 +0000578 INDEX( (GLint) (GLint) *c );
Keith Whitwellb0149862000-11-24 10:30:04 +0000579}
580
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000581static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000582loopback_Indexiv( const GLint *c )
583{
584 INDEX( *c );
585}
586
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000587static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000588loopback_Indexsv( const GLshort *c )
589{
Brian Paul50478de2000-11-27 18:17:09 +0000590 INDEX( (GLint) *c );
Keith Whitwellb0149862000-11-24 10:30:04 +0000591}
592
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000593static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000594loopback_Indexubv( const GLubyte *c )
595{
Brian Paul50478de2000-11-27 18:17:09 +0000596 INDEX( (GLint) *c );
Keith Whitwellb0149862000-11-24 10:30:04 +0000597}
598
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000599static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000600loopback_Normal3b( GLbyte nx, GLbyte ny, GLbyte nz )
601{
602 NORMAL( BYTE_TO_FLOAT(nx), BYTE_TO_FLOAT(ny), BYTE_TO_FLOAT(nz) );
603}
604
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000605static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000606loopback_Normal3d( GLdouble nx, GLdouble ny, GLdouble nz )
607{
Brian Paul7c276322001-09-14 21:36:43 +0000608 NORMAL((GLfloat) nx, (GLfloat) ny, (GLfloat) nz);
Keith Whitwellb0149862000-11-24 10:30:04 +0000609}
610
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000611static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000612loopback_Normal3i( GLint nx, GLint ny, GLint nz )
613{
614 NORMAL( INT_TO_FLOAT(nx), INT_TO_FLOAT(ny), INT_TO_FLOAT(nz) );
615}
616
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000617static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000618loopback_Normal3s( GLshort nx, GLshort ny, GLshort nz )
619{
620 NORMAL( SHORT_TO_FLOAT(nx), SHORT_TO_FLOAT(ny), SHORT_TO_FLOAT(nz) );
621}
622
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000623static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000624loopback_Normal3bv( const GLbyte *v )
625{
626 NORMAL( BYTE_TO_FLOAT(v[0]), BYTE_TO_FLOAT(v[1]), BYTE_TO_FLOAT(v[2]) );
627}
628
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000629static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000630loopback_Normal3dv( const GLdouble *v )
631{
Brian Paul7c276322001-09-14 21:36:43 +0000632 NORMAL( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] );
Keith Whitwellb0149862000-11-24 10:30:04 +0000633}
634
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000635static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000636loopback_Normal3iv( const GLint *v )
637{
638 NORMAL( INT_TO_FLOAT(v[0]), INT_TO_FLOAT(v[1]), INT_TO_FLOAT(v[2]) );
639}
640
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000641static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000642loopback_Normal3sv( const GLshort *v )
643{
644 NORMAL( SHORT_TO_FLOAT(v[0]), SHORT_TO_FLOAT(v[1]), SHORT_TO_FLOAT(v[2]) );
645}
646
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000647static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000648loopback_TexCoord1d( GLdouble s )
649{
Brian Paul7c276322001-09-14 21:36:43 +0000650 TEXCOORD1((GLfloat) s);
Keith Whitwellb0149862000-11-24 10:30:04 +0000651}
652
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000653static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000654loopback_TexCoord1i( GLint s )
655{
Brian Paul7c276322001-09-14 21:36:43 +0000656 TEXCOORD1((GLfloat) s);
Keith Whitwellb0149862000-11-24 10:30:04 +0000657}
658
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000659static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000660loopback_TexCoord1s( GLshort s )
661{
Brian Paul7c276322001-09-14 21:36:43 +0000662 TEXCOORD1((GLfloat) s);
Keith Whitwellb0149862000-11-24 10:30:04 +0000663}
664
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000665static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000666loopback_TexCoord2d( GLdouble s, GLdouble t )
667{
Brian Paul7c276322001-09-14 21:36:43 +0000668 TEXCOORD2((GLfloat) s,(GLfloat) t);
Keith Whitwellb0149862000-11-24 10:30:04 +0000669}
670
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000671static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000672loopback_TexCoord2s( GLshort s, GLshort t )
673{
Brian Paul7c276322001-09-14 21:36:43 +0000674 TEXCOORD2((GLfloat) s,(GLfloat) t);
Keith Whitwellb0149862000-11-24 10:30:04 +0000675}
676
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000677static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000678loopback_TexCoord2i( GLint s, GLint t )
679{
Brian Paul7c276322001-09-14 21:36:43 +0000680 TEXCOORD2((GLfloat) s,(GLfloat) t);
Keith Whitwellb0149862000-11-24 10:30:04 +0000681}
682
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000683static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000684loopback_TexCoord3d( GLdouble s, GLdouble t, GLdouble r )
685{
Brian Paul7c276322001-09-14 21:36:43 +0000686 TEXCOORD3((GLfloat) s,(GLfloat) t,(GLfloat) r);
Keith Whitwellb0149862000-11-24 10:30:04 +0000687}
688
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000689static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000690loopback_TexCoord3i( GLint s, GLint t, GLint r )
691{
Brian Paul7c276322001-09-14 21:36:43 +0000692 TEXCOORD3((GLfloat) s,(GLfloat) t,(GLfloat) r);
Keith Whitwellb0149862000-11-24 10:30:04 +0000693}
694
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000695static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000696loopback_TexCoord3s( GLshort s, GLshort t, GLshort r )
697{
Brian Paul7c276322001-09-14 21:36:43 +0000698 TEXCOORD3((GLfloat) s,(GLfloat) t,(GLfloat) r);
Keith Whitwellb0149862000-11-24 10:30:04 +0000699}
700
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000701static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000702loopback_TexCoord4d( GLdouble s, GLdouble t, GLdouble r, GLdouble q )
703{
Brian Paul7c276322001-09-14 21:36:43 +0000704 TEXCOORD4((GLfloat) s,(GLfloat) t,(GLfloat) r,(GLfloat) q);
Keith Whitwellb0149862000-11-24 10:30:04 +0000705}
706
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000707static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000708loopback_TexCoord4i( GLint s, GLint t, GLint r, GLint q )
709{
Brian Paul7c276322001-09-14 21:36:43 +0000710 TEXCOORD4((GLfloat) s,(GLfloat) t,(GLfloat) r,(GLfloat) q);
Keith Whitwellb0149862000-11-24 10:30:04 +0000711}
712
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000713static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000714loopback_TexCoord4s( GLshort s, GLshort t, GLshort r, GLshort q )
715{
Brian Paul7c276322001-09-14 21:36:43 +0000716 TEXCOORD4((GLfloat) s,(GLfloat) t,(GLfloat) r,(GLfloat) q);
Keith Whitwellb0149862000-11-24 10:30:04 +0000717}
718
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000719static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000720loopback_TexCoord1dv( const GLdouble *v )
721{
Brian Paul7c276322001-09-14 21:36:43 +0000722 TEXCOORD1((GLfloat) v[0]);
Keith Whitwellb0149862000-11-24 10:30:04 +0000723}
724
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000725static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000726loopback_TexCoord1iv( const GLint *v )
727{
Brian Paul7c276322001-09-14 21:36:43 +0000728 TEXCOORD1((GLfloat) v[0]);
Keith Whitwellb0149862000-11-24 10:30:04 +0000729}
730
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000731static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000732loopback_TexCoord1sv( const GLshort *v )
733{
Brian Paul7c276322001-09-14 21:36:43 +0000734 TEXCOORD1((GLfloat) v[0]);
Keith Whitwellb0149862000-11-24 10:30:04 +0000735}
736
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000737static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000738loopback_TexCoord2dv( const GLdouble *v )
739{
Brian Paul7c276322001-09-14 21:36:43 +0000740 TEXCOORD2((GLfloat) v[0],(GLfloat) v[1]);
Keith Whitwellb0149862000-11-24 10:30:04 +0000741}
742
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000743static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000744loopback_TexCoord2iv( const GLint *v )
745{
Brian Paul7c276322001-09-14 21:36:43 +0000746 TEXCOORD2((GLfloat) v[0],(GLfloat) v[1]);
Keith Whitwellb0149862000-11-24 10:30:04 +0000747}
748
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000749static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000750loopback_TexCoord2sv( const GLshort *v )
751{
Brian Paul7c276322001-09-14 21:36:43 +0000752 TEXCOORD2((GLfloat) v[0],(GLfloat) v[1]);
Keith Whitwellb0149862000-11-24 10:30:04 +0000753}
754
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000755static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000756loopback_TexCoord3dv( const GLdouble *v )
757{
Brian Paul7c276322001-09-14 21:36:43 +0000758 TEXCOORD2((GLfloat) v[0],(GLfloat) v[1]);
Keith Whitwellb0149862000-11-24 10:30:04 +0000759}
760
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000761static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000762loopback_TexCoord3iv( const GLint *v )
763{
Brian Paul7c276322001-09-14 21:36:43 +0000764 TEXCOORD3((GLfloat) v[0],(GLfloat) v[1],(GLfloat) v[2]);
Keith Whitwellb0149862000-11-24 10:30:04 +0000765}
766
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000767static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000768loopback_TexCoord3sv( const GLshort *v )
769{
Brian Paul7c276322001-09-14 21:36:43 +0000770 TEXCOORD3((GLfloat) v[0],(GLfloat) v[1],(GLfloat) v[2]);
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_TexCoord4dv( const GLdouble *v )
775{
Brian Paul7c276322001-09-14 21:36:43 +0000776 TEXCOORD4((GLfloat) v[0],(GLfloat) v[1],(GLfloat) v[2],(GLfloat) v[3]);
Keith Whitwellb0149862000-11-24 10:30:04 +0000777}
778
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000779static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000780loopback_TexCoord4iv( const GLint *v )
781{
Brian Paul7c276322001-09-14 21:36:43 +0000782 TEXCOORD4((GLfloat) v[0],(GLfloat) v[1],(GLfloat) v[2],(GLfloat) v[3]);
Keith Whitwellb0149862000-11-24 10:30:04 +0000783}
784
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000785static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000786loopback_TexCoord4sv( const GLshort *v )
787{
Brian Paul7c276322001-09-14 21:36:43 +0000788 TEXCOORD4((GLfloat) v[0],(GLfloat) v[1],(GLfloat) v[2],(GLfloat) v[3]);
Keith Whitwellb0149862000-11-24 10:30:04 +0000789}
790
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000791static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000792loopback_Vertex2d( GLdouble x, GLdouble y )
793{
794 VERTEX2( (GLfloat) x, (GLfloat) y );
795}
796
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000797static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000798loopback_Vertex2i( GLint x, GLint y )
799{
800 VERTEX2( (GLfloat) x, (GLfloat) y );
801}
802
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000803static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000804loopback_Vertex2s( GLshort x, GLshort y )
805{
806 VERTEX2( (GLfloat) x, (GLfloat) y );
807}
808
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000809static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000810loopback_Vertex3d( GLdouble x, GLdouble y, GLdouble z )
811{
812 VERTEX3( (GLfloat) x, (GLfloat) y, (GLfloat) z );
813}
814
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000815static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000816loopback_Vertex3i( GLint x, GLint y, GLint z )
817{
818 VERTEX3( (GLfloat) x, (GLfloat) y, (GLfloat) z );
819}
820
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000821static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000822loopback_Vertex3s( GLshort x, GLshort y, GLshort z )
823{
824 VERTEX3( (GLfloat) x, (GLfloat) y, (GLfloat) z );
825}
826
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000827static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000828loopback_Vertex4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w )
829{
830 VERTEX4( (GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w );
831}
832
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000833static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000834loopback_Vertex4i( GLint x, GLint y, GLint z, GLint w )
835{
836 VERTEX4( (GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w );
837}
838
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000839static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000840loopback_Vertex4s( GLshort x, GLshort y, GLshort z, GLshort w )
841{
842 VERTEX4( (GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w );
843}
844
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000845static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000846loopback_Vertex2dv( const GLdouble *v )
847{
848 VERTEX2( (GLfloat) v[0], (GLfloat) v[1] );
849}
850
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000851static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000852loopback_Vertex2iv( const GLint *v )
853{
854 VERTEX2( (GLfloat) v[0], (GLfloat) v[1] );
855}
856
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000857static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000858loopback_Vertex2sv( const GLshort *v )
859{
860 VERTEX2( (GLfloat) v[0], (GLfloat) v[1] );
861}
862
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000863static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000864loopback_Vertex3dv( const GLdouble *v )
865{
866 VERTEX3( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] );
867}
868
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000869static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000870loopback_Vertex3iv( const GLint *v )
871{
872 VERTEX3( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] );
873}
874
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000875static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000876loopback_Vertex3sv( const GLshort *v )
877{
878 VERTEX3( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] );
879}
880
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000881static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000882loopback_Vertex4dv( const GLdouble *v )
883{
Gareth Hughes22144ab2001-03-12 00:48:37 +0000884 VERTEX4( (GLfloat) v[0], (GLfloat) v[1],
Keith Whitwellb0149862000-11-24 10:30:04 +0000885 (GLfloat) v[2], (GLfloat) v[3] );
886}
887
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000888static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000889loopback_Vertex4iv( const GLint *v )
890{
Gareth Hughes22144ab2001-03-12 00:48:37 +0000891 VERTEX4( (GLfloat) v[0], (GLfloat) v[1],
Keith Whitwellb0149862000-11-24 10:30:04 +0000892 (GLfloat) v[2], (GLfloat) v[3] );
893}
894
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000895static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000896loopback_Vertex4sv( const GLshort *v )
897{
Gareth Hughes22144ab2001-03-12 00:48:37 +0000898 VERTEX4( (GLfloat) v[0], (GLfloat) v[1],
Keith Whitwellb0149862000-11-24 10:30:04 +0000899 (GLfloat) v[2], (GLfloat) v[3] );
900}
901
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000902static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000903loopback_MultiTexCoord1dARB(GLenum target, GLdouble s)
904{
Brian Paul7c276322001-09-14 21:36:43 +0000905 MULTI_TEXCOORD1( target, (GLfloat) s );
Keith Whitwellb0149862000-11-24 10:30:04 +0000906}
907
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000908static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000909loopback_MultiTexCoord1dvARB(GLenum target, const GLdouble *v)
910{
Brian Paul7c276322001-09-14 21:36:43 +0000911 MULTI_TEXCOORD1( target, (GLfloat) v[0] );
Keith Whitwellb0149862000-11-24 10:30:04 +0000912}
913
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000914static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000915loopback_MultiTexCoord1iARB(GLenum target, GLint s)
916{
Brian Paul7c276322001-09-14 21:36:43 +0000917 MULTI_TEXCOORD1( target, (GLfloat) s );
Keith Whitwellb0149862000-11-24 10:30:04 +0000918}
919
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000920static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000921loopback_MultiTexCoord1ivARB(GLenum target, const GLint *v)
922{
Brian Paul7c276322001-09-14 21:36:43 +0000923 MULTI_TEXCOORD1( target, (GLfloat) v[0] );
Keith Whitwellb0149862000-11-24 10:30:04 +0000924}
925
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000926static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000927loopback_MultiTexCoord1sARB(GLenum target, GLshort s)
928{
Brian Paul7c276322001-09-14 21:36:43 +0000929 MULTI_TEXCOORD1( target, (GLfloat) s );
Keith Whitwellb0149862000-11-24 10:30:04 +0000930}
931
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000932static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000933loopback_MultiTexCoord1svARB(GLenum target, const GLshort *v)
934{
Brian Paul7c276322001-09-14 21:36:43 +0000935 MULTI_TEXCOORD1( target, (GLfloat) v[0] );
Keith Whitwellb0149862000-11-24 10:30:04 +0000936}
937
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000938static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000939loopback_MultiTexCoord2dARB(GLenum target, GLdouble s, GLdouble t)
940{
Brian Paul7c276322001-09-14 21:36:43 +0000941 MULTI_TEXCOORD2( target, (GLfloat) s, (GLfloat) t );
Keith Whitwellb0149862000-11-24 10:30:04 +0000942}
943
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000944static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000945loopback_MultiTexCoord2dvARB(GLenum target, const GLdouble *v)
946{
Brian Paul7c276322001-09-14 21:36:43 +0000947 MULTI_TEXCOORD2( target, (GLfloat) v[0], (GLfloat) v[1] );
Keith Whitwellb0149862000-11-24 10:30:04 +0000948}
949
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000950static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000951loopback_MultiTexCoord2iARB(GLenum target, GLint s, GLint t)
952{
Brian Paul7c276322001-09-14 21:36:43 +0000953 MULTI_TEXCOORD2( target, (GLfloat) s, (GLfloat) t );
Keith Whitwellb0149862000-11-24 10:30:04 +0000954}
955
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000956static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000957loopback_MultiTexCoord2ivARB(GLenum target, const GLint *v)
958{
Brian Paul7c276322001-09-14 21:36:43 +0000959 MULTI_TEXCOORD2( target, (GLfloat) v[0], (GLfloat) v[1] );
Keith Whitwellb0149862000-11-24 10:30:04 +0000960}
961
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000962static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000963loopback_MultiTexCoord2sARB(GLenum target, GLshort s, GLshort t)
964{
Brian Paul7c276322001-09-14 21:36:43 +0000965 MULTI_TEXCOORD2( target, (GLfloat) s, (GLfloat) t );
Keith Whitwellb0149862000-11-24 10:30:04 +0000966}
967
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000968static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000969loopback_MultiTexCoord2svARB(GLenum target, const GLshort *v)
970{
Brian Paul7c276322001-09-14 21:36:43 +0000971 MULTI_TEXCOORD2( target, (GLfloat) v[0], (GLfloat) v[1] );
Keith Whitwellb0149862000-11-24 10:30:04 +0000972}
973
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000974static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000975loopback_MultiTexCoord3dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r)
976{
Brian Paul7c276322001-09-14 21:36:43 +0000977 MULTI_TEXCOORD3( target, (GLfloat) s, (GLfloat) t, (GLfloat) r );
Keith Whitwellb0149862000-11-24 10:30:04 +0000978}
979
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000980static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000981loopback_MultiTexCoord3dvARB(GLenum target, const GLdouble *v)
982{
Brian Paul7c276322001-09-14 21:36:43 +0000983 MULTI_TEXCOORD3( target, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] );
Keith Whitwellb0149862000-11-24 10:30:04 +0000984}
985
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000986static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000987loopback_MultiTexCoord3iARB(GLenum target, GLint s, GLint t, GLint r)
988{
Brian Paul7c276322001-09-14 21:36:43 +0000989 MULTI_TEXCOORD3( target, (GLfloat) s, (GLfloat) t, (GLfloat) r );
Keith Whitwellb0149862000-11-24 10:30:04 +0000990}
991
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000992static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000993loopback_MultiTexCoord3ivARB(GLenum target, const GLint *v)
994{
Brian Paul7c276322001-09-14 21:36:43 +0000995 MULTI_TEXCOORD3( target, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] );
Keith Whitwellb0149862000-11-24 10:30:04 +0000996}
997
Kendall Bennettc40d1dd2003-10-21 22:22:17 +0000998static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +0000999loopback_MultiTexCoord3sARB(GLenum target, GLshort s, GLshort t, GLshort r)
1000{
Brian Paul7c276322001-09-14 21:36:43 +00001001 MULTI_TEXCOORD3( target, (GLfloat) s, (GLfloat) t, (GLfloat) r );
Keith Whitwellb0149862000-11-24 10:30:04 +00001002}
1003
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001004static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001005loopback_MultiTexCoord3svARB(GLenum target, const GLshort *v)
1006{
Brian Paul7c276322001-09-14 21:36:43 +00001007 MULTI_TEXCOORD3( target, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] );
Keith Whitwellb0149862000-11-24 10:30:04 +00001008}
1009
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001010static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001011loopback_MultiTexCoord4dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q)
1012{
Brian Paul7c276322001-09-14 21:36:43 +00001013 MULTI_TEXCOORD4( target, (GLfloat) s, (GLfloat) t,
1014 (GLfloat) r, (GLfloat) q );
Keith Whitwellb0149862000-11-24 10:30:04 +00001015}
1016
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001017static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001018loopback_MultiTexCoord4dvARB(GLenum target, const GLdouble *v)
1019{
Brian Paul7c276322001-09-14 21:36:43 +00001020 MULTI_TEXCOORD4( target, (GLfloat) v[0], (GLfloat) v[1],
1021 (GLfloat) v[2], (GLfloat) v[3] );
Keith Whitwellb0149862000-11-24 10:30:04 +00001022}
1023
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001024static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001025loopback_MultiTexCoord4iARB(GLenum target, GLint s, GLint t, GLint r, GLint q)
1026{
Brian Paul7c276322001-09-14 21:36:43 +00001027 MULTI_TEXCOORD4( target, (GLfloat) s, (GLfloat) t,
1028 (GLfloat) r, (GLfloat) q );
Keith Whitwellb0149862000-11-24 10:30:04 +00001029}
1030
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001031static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001032loopback_MultiTexCoord4ivARB(GLenum target, const GLint *v)
1033{
Brian Paul7c276322001-09-14 21:36:43 +00001034 MULTI_TEXCOORD4( target, (GLfloat) v[0], (GLfloat) v[1],
1035 (GLfloat) v[2], (GLfloat) v[3] );
Keith Whitwellb0149862000-11-24 10:30:04 +00001036}
1037
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001038static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001039loopback_MultiTexCoord4sARB(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q)
1040{
Brian Paul7c276322001-09-14 21:36:43 +00001041 MULTI_TEXCOORD4( target, (GLfloat) s, (GLfloat) t,
1042 (GLfloat) r, (GLfloat) q );
Keith Whitwellb0149862000-11-24 10:30:04 +00001043}
1044
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001045static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001046loopback_MultiTexCoord4svARB(GLenum target, const GLshort *v)
1047{
Brian Paul7c276322001-09-14 21:36:43 +00001048 MULTI_TEXCOORD4( target, (GLfloat) v[0], (GLfloat) v[1],
1049 (GLfloat) v[2], (GLfloat) v[3] );
Keith Whitwellb0149862000-11-24 10:30:04 +00001050}
1051
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001052static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001053loopback_EvalCoord2dv( const GLdouble *u )
1054{
1055 EVALCOORD2( (GLfloat) u[0], (GLfloat) u[1] );
1056}
1057
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001058static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001059loopback_EvalCoord2fv( const GLfloat *u )
1060{
1061 EVALCOORD2( u[0], u[1] );
1062}
1063
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001064static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001065loopback_EvalCoord2d( GLdouble u, GLdouble v )
1066{
1067 EVALCOORD2( (GLfloat) u, (GLfloat) v );
1068}
1069
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001070static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001071loopback_EvalCoord1dv( const GLdouble *u )
1072{
1073 EVALCOORD1( (GLfloat) *u );
1074}
1075
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001076static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001077loopback_EvalCoord1fv( const GLfloat *u )
1078{
1079 EVALCOORD1( (GLfloat) *u );
1080}
1081
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001082static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001083loopback_EvalCoord1d( GLdouble u )
1084{
1085 EVALCOORD1( (GLfloat) u );
1086}
1087
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001088static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001089loopback_Materialf( GLenum face, GLenum pname, GLfloat param )
1090{
1091 GLfloat fparam[4];
1092 fparam[0] = param;
1093 MATERIALFV( face, pname, fparam );
1094}
1095
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001096static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001097loopback_Materiali(GLenum face, GLenum pname, GLint param )
1098{
1099 GLfloat p = (GLfloat) param;
1100 MATERIALFV(face, pname, &p);
1101}
1102
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001103static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001104loopback_Materialiv(GLenum face, GLenum pname, const GLint *params )
1105{
1106 GLfloat fparam[4];
1107 switch (pname) {
1108 case GL_AMBIENT:
1109 case GL_DIFFUSE:
1110 case GL_SPECULAR:
1111 case GL_EMISSION:
1112 case GL_AMBIENT_AND_DIFFUSE:
1113 fparam[0] = INT_TO_FLOAT( params[0] );
1114 fparam[1] = INT_TO_FLOAT( params[1] );
1115 fparam[2] = INT_TO_FLOAT( params[2] );
1116 fparam[3] = INT_TO_FLOAT( params[3] );
1117 break;
1118 case GL_SHININESS:
1119 fparam[0] = (GLfloat) params[0];
1120 break;
1121 case GL_COLOR_INDEXES:
1122 fparam[0] = (GLfloat) params[0];
1123 fparam[1] = (GLfloat) params[1];
1124 fparam[2] = (GLfloat) params[2];
1125 break;
1126 default:
1127 ;
1128 }
1129 MATERIALFV(face, pname, fparam);
1130}
1131
1132
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001133static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001134loopback_Rectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2)
1135{
Brian Paul7c276322001-09-14 21:36:43 +00001136 RECTF((GLfloat) x1, (GLfloat) y1, (GLfloat) x2, (GLfloat) y2);
Keith Whitwellb0149862000-11-24 10:30:04 +00001137}
1138
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001139static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001140loopback_Rectdv(const GLdouble *v1, const GLdouble *v2)
1141{
Brian Paul7c276322001-09-14 21:36:43 +00001142 RECTF((GLfloat) v1[0], (GLfloat) v1[1], (GLfloat) v2[0], (GLfloat) v2[1]);
Keith Whitwellb0149862000-11-24 10:30:04 +00001143}
1144
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001145static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001146loopback_Rectfv(const GLfloat *v1, const GLfloat *v2)
1147{
1148 RECTF(v1[0], v1[1], v2[0], v2[1]);
1149}
1150
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001151static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001152loopback_Recti(GLint x1, GLint y1, GLint x2, GLint y2)
1153{
Brian Paul7c276322001-09-14 21:36:43 +00001154 RECTF((GLfloat) x1, (GLfloat) y1, (GLfloat) x2, (GLfloat) y2);
Keith Whitwellb0149862000-11-24 10:30:04 +00001155}
1156
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001157static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001158loopback_Rectiv(const GLint *v1, const GLint *v2)
1159{
Brian Paul7c276322001-09-14 21:36:43 +00001160 RECTF((GLfloat) v1[0], (GLfloat) v1[1], (GLfloat) v2[0], (GLfloat) v2[1]);
Keith Whitwellb0149862000-11-24 10:30:04 +00001161}
1162
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001163static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001164loopback_Rects(GLshort x1, GLshort y1, GLshort x2, GLshort y2)
1165{
Brian Paul7c276322001-09-14 21:36:43 +00001166 RECTF((GLfloat) x1, (GLfloat) y1, (GLfloat) x2, (GLfloat) y2);
Keith Whitwellb0149862000-11-24 10:30:04 +00001167}
1168
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001169static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001170loopback_Rectsv(const GLshort *v1, const GLshort *v2)
1171{
Brian Paul7c276322001-09-14 21:36:43 +00001172 RECTF((GLfloat) v1[0], (GLfloat) v1[1], (GLfloat) v2[0], (GLfloat) v2[1]);
Keith Whitwellb0149862000-11-24 10:30:04 +00001173}
1174
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001175static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001176loopback_SecondaryColor3bEXT( GLbyte red, GLbyte green, GLbyte blue )
1177{
1178 SECONDARYCOLORUB( BYTE_TO_UBYTE(red),
1179 BYTE_TO_UBYTE(green),
1180 BYTE_TO_UBYTE(blue) );
1181}
1182
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001183static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001184loopback_SecondaryColor3dEXT( GLdouble red, GLdouble green, GLdouble blue )
1185{
1186 GLubyte col[3];
Brian Paul7c276322001-09-14 21:36:43 +00001187 GLfloat r = (GLfloat) red;
1188 GLfloat g = (GLfloat) green;
1189 GLfloat b = (GLfloat) blue;
Brian Paul3041d052001-01-02 22:02:51 +00001190 UNCLAMPED_FLOAT_TO_UBYTE(col[0], r);
1191 UNCLAMPED_FLOAT_TO_UBYTE(col[1], g);
1192 UNCLAMPED_FLOAT_TO_UBYTE(col[2], b);
Keith Whitwellb0149862000-11-24 10:30:04 +00001193 SECONDARYCOLORUB( col[0], col[1], col[2] );
1194}
1195
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001196static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001197loopback_SecondaryColor3iEXT( GLint red, GLint green, GLint blue )
1198{
1199 SECONDARYCOLORUB( INT_TO_UBYTE(red),
1200 INT_TO_UBYTE(green),
1201 INT_TO_UBYTE(blue));
1202}
1203
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001204static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001205loopback_SecondaryColor3sEXT( GLshort red, GLshort green, GLshort blue )
1206{
1207 SECONDARYCOLORUB(SHORT_TO_UBYTE(red),
1208 SHORT_TO_UBYTE(green),
1209 SHORT_TO_UBYTE(blue));
1210}
1211
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001212static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001213loopback_SecondaryColor3uiEXT( GLuint red, GLuint green, GLuint blue )
1214{
1215 SECONDARYCOLORUB(UINT_TO_UBYTE(red),
1216 UINT_TO_UBYTE(green),
1217 UINT_TO_UBYTE(blue));
1218}
1219
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001220static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001221loopback_SecondaryColor3usEXT( GLushort red, GLushort green, GLushort blue )
1222{
1223 SECONDARYCOLORUB(USHORT_TO_UBYTE(red),
1224 USHORT_TO_UBYTE(green),
1225 USHORT_TO_UBYTE(blue));
1226}
1227
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001228static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001229loopback_SecondaryColor3bvEXT( const GLbyte *v )
1230{
Keith Whitwellfc00cbe2001-12-20 15:30:45 +00001231 const GLfloat a = BYTE_TO_FLOAT(v[0]);
1232 const GLfloat b = BYTE_TO_FLOAT(v[1]);
1233 const GLfloat c = BYTE_TO_FLOAT(v[2]);
1234 SECONDARYCOLORF(a,b,c);
Keith Whitwellb0149862000-11-24 10:30:04 +00001235}
1236
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001237static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001238loopback_SecondaryColor3dvEXT( const GLdouble *v )
1239{
1240 GLubyte col[3];
Brian Paul7c276322001-09-14 21:36:43 +00001241 GLfloat r = (GLfloat) v[0];
1242 GLfloat g = (GLfloat) v[1];
1243 GLfloat b = (GLfloat) v[2];
Brian Paul3041d052001-01-02 22:02:51 +00001244 UNCLAMPED_FLOAT_TO_UBYTE(col[0], r);
1245 UNCLAMPED_FLOAT_TO_UBYTE(col[1], g);
1246 UNCLAMPED_FLOAT_TO_UBYTE(col[2], b);
Keith Whitwellb0149862000-11-24 10:30:04 +00001247 SECONDARYCOLORUB( col[0], col[1], col[2] );
1248}
1249
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001250static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001251loopback_SecondaryColor3ivEXT( const GLint *v )
1252{
1253 SECONDARYCOLORUB(INT_TO_UBYTE(v[0]),
1254 INT_TO_UBYTE(v[1]),
1255 INT_TO_UBYTE(v[2]));
1256}
1257
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001258static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001259loopback_SecondaryColor3svEXT( const GLshort *v )
1260{
1261 SECONDARYCOLORUB(SHORT_TO_UBYTE(v[0]),
1262 SHORT_TO_UBYTE(v[1]),
1263 SHORT_TO_UBYTE(v[2]));
1264}
1265
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001266static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001267loopback_SecondaryColor3uivEXT( const GLuint *v )
1268{
1269 SECONDARYCOLORUB(UINT_TO_UBYTE(v[0]),
1270 UINT_TO_UBYTE(v[1]),
1271 UINT_TO_UBYTE(v[2]));
1272}
1273
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001274static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001275loopback_SecondaryColor3usvEXT( const GLushort *v )
1276{
1277 SECONDARYCOLORUB(USHORT_TO_UBYTE(v[0]),
1278 USHORT_TO_UBYTE(v[1]),
1279 USHORT_TO_UBYTE(v[2]));
1280}
1281
1282
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001283static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001284loopback_SecondaryColor3bEXT_f( GLbyte red, GLbyte green, GLbyte blue )
1285{
1286 SECONDARYCOLORF( BYTE_TO_FLOAT(red),
1287 BYTE_TO_FLOAT(green),
1288 BYTE_TO_FLOAT(blue) );
1289}
1290
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001291static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001292loopback_SecondaryColor3dEXT_f( GLdouble red, GLdouble green, GLdouble blue )
1293{
Brian Paul7c276322001-09-14 21:36:43 +00001294 SECONDARYCOLORF( (GLfloat) red, (GLfloat) green, (GLfloat) blue );
Keith Whitwellb0149862000-11-24 10:30:04 +00001295}
1296
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001297static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001298loopback_SecondaryColor3iEXT_f( GLint red, GLint green, GLint blue )
1299{
1300 SECONDARYCOLORF( INT_TO_FLOAT(red),
1301 INT_TO_FLOAT(green),
1302 INT_TO_FLOAT(blue));
1303}
1304
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001305static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001306loopback_SecondaryColor3sEXT_f( GLshort red, GLshort green, GLshort blue )
1307{
1308 SECONDARYCOLORF(SHORT_TO_FLOAT(red),
1309 SHORT_TO_FLOAT(green),
1310 SHORT_TO_FLOAT(blue));
1311}
1312
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001313static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001314loopback_SecondaryColor3uiEXT_f( GLuint red, GLuint green, GLuint blue )
1315{
1316 SECONDARYCOLORF(UINT_TO_FLOAT(red),
1317 UINT_TO_FLOAT(green),
1318 UINT_TO_FLOAT(blue));
1319}
1320
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001321static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001322loopback_SecondaryColor3usEXT_f( GLushort red, GLushort green, GLushort blue )
1323{
1324 SECONDARYCOLORF(USHORT_TO_FLOAT(red),
1325 USHORT_TO_FLOAT(green),
1326 USHORT_TO_FLOAT(blue));
1327}
1328
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001329static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001330loopback_SecondaryColor3bvEXT_f( const GLbyte *v )
1331{
1332 SECONDARYCOLORF(BYTE_TO_FLOAT(v[0]),
1333 BYTE_TO_FLOAT(v[1]),
1334 BYTE_TO_FLOAT(v[2]));
1335}
1336
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001337static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001338loopback_SecondaryColor3dvEXT_f( const GLdouble *v )
1339{
Brian Paul7c276322001-09-14 21:36:43 +00001340 SECONDARYCOLORF( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] );
Keith Whitwellb0149862000-11-24 10:30:04 +00001341}
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001342static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001343loopback_SecondaryColor3ivEXT_f( const GLint *v )
1344{
1345 SECONDARYCOLORF(INT_TO_FLOAT(v[0]),
1346 INT_TO_FLOAT(v[1]),
1347 INT_TO_FLOAT(v[2]));
1348}
1349
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001350static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001351loopback_SecondaryColor3svEXT_f( const GLshort *v )
1352{
1353 SECONDARYCOLORF(SHORT_TO_FLOAT(v[0]),
1354 SHORT_TO_FLOAT(v[1]),
1355 SHORT_TO_FLOAT(v[2]));
1356}
1357
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001358static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001359loopback_SecondaryColor3uivEXT_f( const GLuint *v )
1360{
1361 SECONDARYCOLORF(UINT_TO_FLOAT(v[0]),
1362 UINT_TO_FLOAT(v[1]),
1363 UINT_TO_FLOAT(v[2]));
1364}
1365
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001366static void GLAPIENTRY
Keith Whitwellb0149862000-11-24 10:30:04 +00001367loopback_SecondaryColor3usvEXT_f( const GLushort *v )
1368{
1369 SECONDARYCOLORF(USHORT_TO_FLOAT(v[0]),
1370 USHORT_TO_FLOAT(v[1]),
1371 USHORT_TO_FLOAT(v[2]));
1372}
1373
1374
Brian Paul86b84272001-12-14 02:50:01 +00001375/*
1376 * GL_NV_vertex_program
1377 */
1378
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001379static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001380loopback_VertexAttrib1sNV(GLuint index, GLshort x)
1381{
1382 ATTRIB(index, (GLfloat) x, 0.0F, 0.0F, 1.0F);
1383}
1384
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001385static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001386loopback_VertexAttrib1fNV(GLuint index, GLfloat x)
1387{
1388 ATTRIB(index, x, 0.0F, 0.0F, 1.0F);
1389}
1390
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001391static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001392loopback_VertexAttrib1dNV(GLuint index, GLdouble x)
1393{
1394 ATTRIB(index, (GLfloat) x, 0.0F, 0.0F, 1.0F);
1395}
1396
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001397static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001398loopback_VertexAttrib2sNV(GLuint index, GLshort x, GLshort y)
1399{
1400 ATTRIB(index, (GLfloat) x, y, 0.0F, 1.0F);
1401}
1402
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001403static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001404loopback_VertexAttrib2fNV(GLuint index, GLfloat x, GLfloat y)
1405{
1406 ATTRIB(index, (GLfloat) x, y, 0.0F, 1.0F);
1407}
1408
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001409static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001410loopback_VertexAttrib2dNV(GLuint index, GLdouble x, GLdouble y)
1411{
Karl Schultz798d83c2002-10-17 22:26:06 +00001412 ATTRIB(index, (GLfloat) x, (GLfloat) y, 0.0F, 1.0F);
Brian Paul86b84272001-12-14 02:50:01 +00001413}
1414
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001415static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001416loopback_VertexAttrib3sNV(GLuint index, GLshort x, GLshort y, GLshort z)
1417{
1418 ATTRIB(index, (GLfloat) x, y, z, 1.0F);
1419}
1420
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001421static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001422loopback_VertexAttrib3fNV(GLuint index, GLfloat x, GLfloat y, GLfloat z)
1423{
1424 ATTRIB(index, x, y, z, 1.0F);
1425}
1426
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001427static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001428loopback_VertexAttrib3dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z)
1429{
1430 ATTRIB(index, (GLfloat) x, (GLfloat) y, (GLfloat) z, 1.0F);
1431}
1432
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001433static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001434loopback_VertexAttrib4sNV(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w)
1435{
1436 ATTRIB(index, (GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w);
1437}
1438
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001439static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001440loopback_VertexAttrib4dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
1441{
1442 ATTRIB(index, (GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w);
1443}
1444
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001445static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001446loopback_VertexAttrib4ubNV(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w)
1447{
1448 ATTRIB(index, UBYTE_TO_FLOAT(x), UBYTE_TO_FLOAT(y),
1449 UBYTE_TO_FLOAT(z), UBYTE_TO_FLOAT(w));
1450}
1451
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001452static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001453loopback_VertexAttrib1svNV(GLuint index, const GLshort *v)
1454{
1455 ATTRIB(index, (GLfloat) v[0], 0.0F, 0.0F, 1.0F);
1456}
1457
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001458static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001459loopback_VertexAttrib1fvNV(GLuint index, const GLfloat *v)
1460{
1461 ATTRIB(index, v[0], 0.0F, 0.0F, 1.0F);
1462}
1463
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001464static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001465loopback_VertexAttrib1dvNV(GLuint index, const GLdouble *v)
1466{
1467 ATTRIB(index, (GLfloat) v[0], (GLfloat) v[1], 0.0F, 1.0F);
1468}
1469
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001470static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001471loopback_VertexAttrib2svNV(GLuint index, const GLshort *v)
1472{
1473 ATTRIB(index, (GLfloat) v[0], (GLfloat) v[1], 0.0F, 1.0F);
1474}
1475
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001476static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001477loopback_VertexAttrib2fvNV(GLuint index, const GLfloat *v)
1478{
1479 ATTRIB(index, v[0], v[1], 0.0F, 1.0F);
1480}
1481
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001482static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001483loopback_VertexAttrib2dvNV(GLuint index, const GLdouble *v)
1484{
Karl Schultz798d83c2002-10-17 22:26:06 +00001485 ATTRIB(index, (GLfloat) v[0], (GLfloat) v[1], 0.0F, 1.0F);
Brian Paul86b84272001-12-14 02:50:01 +00001486}
1487
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001488static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001489loopback_VertexAttrib3svNV(GLuint index, const GLshort *v)
1490{
1491 ATTRIB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], 1.0F);
1492}
1493
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001494static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001495loopback_VertexAttrib3fvNV(GLuint index, const GLfloat *v)
1496{
1497 ATTRIB(index, v[0], v[1], v[2], 1.0F);
1498}
1499
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001500static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001501loopback_VertexAttrib3dvNV(GLuint index, const GLdouble *v)
1502{
1503 ATTRIB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], 1.0F);
1504}
1505
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001506static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001507loopback_VertexAttrib4svNV(GLuint index, const GLshort *v)
1508{
Keith Whitwell33ce4052003-04-05 07:29:23 +00001509 ATTRIB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2],
1510 (GLfloat)v[3]);
Brian Paul86b84272001-12-14 02:50:01 +00001511}
1512
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001513static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001514loopback_VertexAttrib4fvNV(GLuint index, const GLfloat *v)
1515{
1516 ATTRIB(index, v[0], v[1], v[2], v[3]);
1517}
1518
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001519static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001520loopback_VertexAttrib4dvNV(GLuint index, const GLdouble *v)
1521{
1522 ATTRIB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]);
1523}
1524
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001525static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001526loopback_VertexAttrib4ubvNV(GLuint index, const GLubyte *v)
1527{
1528 ATTRIB(index, UBYTE_TO_FLOAT(v[0]), UBYTE_TO_FLOAT(v[1]),
1529 UBYTE_TO_FLOAT(v[2]), UBYTE_TO_FLOAT(v[3]));
1530}
1531
1532
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001533static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001534loopback_VertexAttribs1svNV(GLuint index, GLsizei n, const GLshort *v)
1535{
1536 GLint i;
1537 for (i = n - 1; i >= 0; i--)
1538 loopback_VertexAttrib1svNV(index + i, v + i);
1539}
1540
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001541static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001542loopback_VertexAttribs1fvNV(GLuint index, GLsizei n, const GLfloat *v)
1543{
1544 GLint i;
1545 for (i = n - 1; i >= 0; i--)
1546 loopback_VertexAttrib1fvNV(index + i, v + i);
1547}
1548
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001549static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001550loopback_VertexAttribs1dvNV(GLuint index, GLsizei n, const GLdouble *v)
1551{
1552 GLint i;
1553 for (i = n - 1; i >= 0; i--)
1554 loopback_VertexAttrib1dvNV(index + i, v + i);
1555}
1556
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001557static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001558loopback_VertexAttribs2svNV(GLuint index, GLsizei n, const GLshort *v)
1559{
1560 GLint i;
1561 for (i = n - 1; i >= 0; i--)
1562 loopback_VertexAttrib2svNV(index + i, v + 2 * i);
1563}
1564
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001565static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001566loopback_VertexAttribs2fvNV(GLuint index, GLsizei n, const GLfloat *v)
1567{
1568 GLint i;
1569 for (i = n - 1; i >= 0; i--)
1570 loopback_VertexAttrib2fvNV(index + i, v + 2 * i);
1571}
1572
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001573static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001574loopback_VertexAttribs2dvNV(GLuint index, GLsizei n, const GLdouble *v)
1575{
1576 GLint i;
1577 for (i = n - 1; i >= 0; i--)
1578 loopback_VertexAttrib2dvNV(index + i, v + 2 * i);
1579}
1580
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001581static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001582loopback_VertexAttribs3svNV(GLuint index, GLsizei n, const GLshort *v)
1583{
1584 GLint i;
1585 for (i = n - 1; i >= 0; i--)
1586 loopback_VertexAttrib3svNV(index + i, v + 3 * i);
1587}
1588
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001589static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001590loopback_VertexAttribs3fvNV(GLuint index, GLsizei n, const GLfloat *v)
1591{
1592 GLint i;
1593 for (i = n - 1; i >= 0; i--)
1594 loopback_VertexAttrib3fvNV(index + i, v + 3 * i);
1595}
1596
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001597static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001598loopback_VertexAttribs3dvNV(GLuint index, GLsizei n, const GLdouble *v)
1599{
1600 GLint i;
1601 for (i = n - 1; i >= 0; i--)
1602 loopback_VertexAttrib3dvNV(index + i, v + 3 * i);
1603}
1604
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001605static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001606loopback_VertexAttribs4svNV(GLuint index, GLsizei n, const GLshort *v)
1607{
1608 GLint i;
1609 for (i = n - 1; i >= 0; i--)
1610 loopback_VertexAttrib4svNV(index + i, v + 4 * i);
1611}
1612
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001613static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001614loopback_VertexAttribs4fvNV(GLuint index, GLsizei n, const GLfloat *v)
1615{
1616 GLint i;
1617 for (i = n - 1; i >= 0; i--)
1618 loopback_VertexAttrib4fvNV(index + i, v + 4 * i);
1619}
1620
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001621static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001622loopback_VertexAttribs4dvNV(GLuint index, GLsizei n, const GLdouble *v)
1623{
1624 GLint i;
1625 for (i = n - 1; i >= 0; i--)
1626 loopback_VertexAttrib4dvNV(index + i, v + 4 * i);
1627}
1628
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001629static void GLAPIENTRY
Brian Paul86b84272001-12-14 02:50:01 +00001630loopback_VertexAttribs4ubvNV(GLuint index, GLsizei n, const GLubyte *v)
1631{
1632 GLint i;
1633 for (i = n - 1; i >= 0; i--)
1634 loopback_VertexAttrib4ubvNV(index + i, v + 4 * i);
1635}
1636
Keith Whitwellcab974c2000-12-26 05:09:27 +00001637
Brian Paule591ad72003-05-10 04:37:47 +00001638/*
1639 * GL_ARB_vertex_program
1640 */
1641
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001642static void GLAPIENTRY
Brian Paule591ad72003-05-10 04:37:47 +00001643loopback_VertexAttrib4bvARB(GLuint index, const GLbyte * v)
1644{
Karl Schultzdc242302003-08-30 14:45:04 +00001645 ATTRIB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]);
Brian Paule591ad72003-05-10 04:37:47 +00001646}
1647
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001648static void GLAPIENTRY
Brian Paule591ad72003-05-10 04:37:47 +00001649loopback_VertexAttrib4ivARB(GLuint index, const GLint * v)
1650{
Karl Schultzdc242302003-08-30 14:45:04 +00001651 ATTRIB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]);
Brian Paule591ad72003-05-10 04:37:47 +00001652}
1653
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001654static void GLAPIENTRY
Brian Paule591ad72003-05-10 04:37:47 +00001655loopback_VertexAttrib4ubvARB(GLuint index, const GLubyte * v)
1656{
Karl Schultzdc242302003-08-30 14:45:04 +00001657 ATTRIB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]);
Brian Paule591ad72003-05-10 04:37:47 +00001658}
1659
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001660static void GLAPIENTRY
Brian Paule591ad72003-05-10 04:37:47 +00001661loopback_VertexAttrib4usvARB(GLuint index, const GLushort * v)
1662{
Karl Schultzdc242302003-08-30 14:45:04 +00001663 ATTRIB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]);
Brian Paule591ad72003-05-10 04:37:47 +00001664}
1665
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001666static void GLAPIENTRY
Brian Paule591ad72003-05-10 04:37:47 +00001667loopback_VertexAttrib4uivARB(GLuint index, const GLuint * v)
1668{
Karl Schultzdc242302003-08-30 14:45:04 +00001669 ATTRIB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]);
Brian Paule591ad72003-05-10 04:37:47 +00001670}
1671
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001672static void GLAPIENTRY
Brian Paule591ad72003-05-10 04:37:47 +00001673loopback_VertexAttrib4NbvARB(GLuint index, const GLbyte * v)
1674{
1675 ATTRIB(index, BYTE_TO_FLOAT(v[0]), BYTE_TO_FLOAT(v[1]),
1676 BYTE_TO_FLOAT(v[2]), BYTE_TO_FLOAT(v[3]));
1677}
1678
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001679static void GLAPIENTRY
Brian Paule591ad72003-05-10 04:37:47 +00001680loopback_VertexAttrib4NsvARB(GLuint index, const GLshort * v)
1681{
1682 ATTRIB(index, SHORT_TO_FLOAT(v[0]), SHORT_TO_FLOAT(v[1]),
1683 SHORT_TO_FLOAT(v[2]), SHORT_TO_FLOAT(v[3]));
1684}
1685
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001686static void GLAPIENTRY
Brian Paule591ad72003-05-10 04:37:47 +00001687loopback_VertexAttrib4NivARB(GLuint index, const GLint * v)
1688{
1689 ATTRIB(index, INT_TO_FLOAT(v[0]), INT_TO_FLOAT(v[1]),
1690 INT_TO_FLOAT(v[2]), INT_TO_FLOAT(v[3]));
1691}
1692
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001693static void GLAPIENTRY
Brian Paule591ad72003-05-10 04:37:47 +00001694loopback_VertexAttrib4NusvARB(GLuint index, const GLushort * v)
1695{
1696 ATTRIB(index, USHORT_TO_FLOAT(v[0]), USHORT_TO_FLOAT(v[1]),
1697 USHORT_TO_FLOAT(v[2]), USHORT_TO_FLOAT(v[3]));
1698}
1699
Kendall Bennettc40d1dd2003-10-21 22:22:17 +00001700static void GLAPIENTRY
Brian Paule591ad72003-05-10 04:37:47 +00001701loopback_VertexAttrib4NuivARB(GLuint index, const GLuint * v)
1702{
1703 ATTRIB(index, UINT_TO_FLOAT(v[0]), UINT_TO_FLOAT(v[1]),
1704 UINT_TO_FLOAT(v[2]), UINT_TO_FLOAT(v[3]));
1705}
1706
1707
Brian Paul03c0c2e2002-01-14 16:06:35 +00001708
Keith Whitwellb0149862000-11-24 10:30:04 +00001709void
Gareth Hughes22144ab2001-03-12 00:48:37 +00001710_mesa_loopback_prefer_float( struct _glapi_table *dest,
Keith Whitwellb0149862000-11-24 10:30:04 +00001711 GLboolean prefer_float_colors )
1712{
1713 if (!prefer_float_colors) {
1714 dest->Color3b = loopback_Color3b;
1715 dest->Color3d = loopback_Color3d;
1716 dest->Color3i = loopback_Color3i;
1717 dest->Color3s = loopback_Color3s;
1718 dest->Color3ui = loopback_Color3ui;
1719 dest->Color3us = loopback_Color3us;
1720 dest->Color4b = loopback_Color4b;
1721 dest->Color4d = loopback_Color4d;
1722 dest->Color4i = loopback_Color4i;
1723 dest->Color4s = loopback_Color4s;
1724 dest->Color4ui = loopback_Color4ui;
1725 dest->Color4us = loopback_Color4us;
1726 dest->Color3bv = loopback_Color3bv;
1727 dest->Color3dv = loopback_Color3dv;
1728 dest->Color3iv = loopback_Color3iv;
1729 dest->Color3sv = loopback_Color3sv;
1730 dest->Color3uiv = loopback_Color3uiv;
1731 dest->Color3usv = loopback_Color3usv;
1732 dest->Color4bv = loopback_Color4bv;
1733 dest->Color4dv = loopback_Color4dv;
1734 dest->Color4iv = loopback_Color4iv;
1735 dest->Color4sv = loopback_Color4sv;
1736 dest->Color4uiv = loopback_Color4uiv;
1737 dest->Color4usv = loopback_Color4usv;
1738 dest->SecondaryColor3bEXT = loopback_SecondaryColor3bEXT;
1739 dest->SecondaryColor3dEXT = loopback_SecondaryColor3dEXT;
1740 dest->SecondaryColor3iEXT = loopback_SecondaryColor3iEXT;
1741 dest->SecondaryColor3sEXT = loopback_SecondaryColor3sEXT;
1742 dest->SecondaryColor3uiEXT = loopback_SecondaryColor3uiEXT;
1743 dest->SecondaryColor3usEXT = loopback_SecondaryColor3usEXT;
1744 dest->SecondaryColor3bvEXT = loopback_SecondaryColor3bvEXT;
1745 dest->SecondaryColor3dvEXT = loopback_SecondaryColor3dvEXT;
1746 dest->SecondaryColor3ivEXT = loopback_SecondaryColor3ivEXT;
1747 dest->SecondaryColor3svEXT = loopback_SecondaryColor3svEXT;
1748 dest->SecondaryColor3uivEXT = loopback_SecondaryColor3uivEXT;
1749 dest->SecondaryColor3usvEXT = loopback_SecondaryColor3usvEXT;
Gareth Hughes22144ab2001-03-12 00:48:37 +00001750 }
Keith Whitwellb0149862000-11-24 10:30:04 +00001751 else {
1752 dest->Color3b = loopback_Color3b_f;
1753 dest->Color3d = loopback_Color3d_f;
1754 dest->Color3i = loopback_Color3i_f;
1755 dest->Color3s = loopback_Color3s_f;
1756 dest->Color3ui = loopback_Color3ui_f;
1757 dest->Color3us = loopback_Color3us_f;
1758 dest->Color4b = loopback_Color4b_f;
1759 dest->Color4d = loopback_Color4d_f;
1760 dest->Color4i = loopback_Color4i_f;
1761 dest->Color4s = loopback_Color4s_f;
1762 dest->Color4ui = loopback_Color4ui_f;
1763 dest->Color4us = loopback_Color4us_f;
1764 dest->Color3bv = loopback_Color3bv_f;
1765 dest->Color3dv = loopback_Color3dv_f;
1766 dest->Color3iv = loopback_Color3iv_f;
1767 dest->Color3sv = loopback_Color3sv_f;
1768 dest->Color3uiv = loopback_Color3uiv_f;
1769 dest->Color3usv = loopback_Color3usv_f;
1770 dest->Color4bv = loopback_Color4bv_f;
1771 dest->Color4dv = loopback_Color4dv_f;
1772 dest->Color4iv = loopback_Color4iv_f;
1773 dest->Color4sv = loopback_Color4sv_f;
1774 dest->Color4uiv = loopback_Color4uiv_f;
1775 dest->Color4usv = loopback_Color4usv_f;
1776 dest->SecondaryColor3bEXT = loopback_SecondaryColor3bEXT_f;
1777 dest->SecondaryColor3dEXT = loopback_SecondaryColor3dEXT_f;
1778 dest->SecondaryColor3iEXT = loopback_SecondaryColor3iEXT_f;
1779 dest->SecondaryColor3sEXT = loopback_SecondaryColor3sEXT_f;
1780 dest->SecondaryColor3uiEXT = loopback_SecondaryColor3uiEXT_f;
1781 dest->SecondaryColor3usEXT = loopback_SecondaryColor3usEXT_f;
1782 dest->SecondaryColor3bvEXT = loopback_SecondaryColor3bvEXT_f;
1783 dest->SecondaryColor3dvEXT = loopback_SecondaryColor3dvEXT_f;
1784 dest->SecondaryColor3ivEXT = loopback_SecondaryColor3ivEXT_f;
1785 dest->SecondaryColor3svEXT = loopback_SecondaryColor3svEXT_f;
1786 dest->SecondaryColor3uivEXT = loopback_SecondaryColor3uivEXT_f;
1787 dest->SecondaryColor3usvEXT = loopback_SecondaryColor3usvEXT_f;
1788 }
1789}
1790
Keith Whitwell8b6a91a2001-05-10 15:42:42 +00001791/* Passing prefer_float_colors as true will mean that all colors
Keith Whitwellb0149862000-11-24 10:30:04 +00001792 * *except* Color{34}ub{v} are passed as floats. Setting it false will
Gareth Hughes22144ab2001-03-12 00:48:37 +00001793 * mean all colors *except* Color{34}f{v} are passed as ubytes.
1794 *
Keith Whitwellb0149862000-11-24 10:30:04 +00001795 * This code never registers handlers for any of the entry points
Gareth Hughes22144ab2001-03-12 00:48:37 +00001796 * listed in vtxfmt.h.
Keith Whitwellb0149862000-11-24 10:30:04 +00001797 */
1798void
Gareth Hughes22144ab2001-03-12 00:48:37 +00001799_mesa_loopback_init_api_table( struct _glapi_table *dest,
Keith Whitwellb0149862000-11-24 10:30:04 +00001800 GLboolean prefer_float_colors )
1801{
1802 _mesa_loopback_prefer_float( dest, prefer_float_colors );
1803
1804 dest->Indexd = loopback_Indexd;
1805 dest->Indexf = loopback_Indexf;
Keith Whitwellb0149862000-11-24 10:30:04 +00001806 dest->Indexs = loopback_Indexs;
1807 dest->Indexub = loopback_Indexub;
1808 dest->Indexdv = loopback_Indexdv;
1809 dest->Indexfv = loopback_Indexfv;
1810 dest->Indexiv = loopback_Indexiv;
1811 dest->Indexsv = loopback_Indexsv;
1812 dest->Indexubv = loopback_Indexubv;
1813 dest->Normal3b = loopback_Normal3b;
1814 dest->Normal3d = loopback_Normal3d;
1815 dest->Normal3i = loopback_Normal3i;
1816 dest->Normal3s = loopback_Normal3s;
1817 dest->Normal3bv = loopback_Normal3bv;
1818 dest->Normal3dv = loopback_Normal3dv;
1819 dest->Normal3iv = loopback_Normal3iv;
1820 dest->Normal3sv = loopback_Normal3sv;
1821 dest->TexCoord1d = loopback_TexCoord1d;
1822 dest->TexCoord1i = loopback_TexCoord1i;
1823 dest->TexCoord1s = loopback_TexCoord1s;
1824 dest->TexCoord2d = loopback_TexCoord2d;
1825 dest->TexCoord2s = loopback_TexCoord2s;
1826 dest->TexCoord2i = loopback_TexCoord2i;
1827 dest->TexCoord3d = loopback_TexCoord3d;
1828 dest->TexCoord3i = loopback_TexCoord3i;
1829 dest->TexCoord3s = loopback_TexCoord3s;
1830 dest->TexCoord4d = loopback_TexCoord4d;
1831 dest->TexCoord4i = loopback_TexCoord4i;
1832 dest->TexCoord4s = loopback_TexCoord4s;
1833 dest->TexCoord1dv = loopback_TexCoord1dv;
1834 dest->TexCoord1iv = loopback_TexCoord1iv;
1835 dest->TexCoord1sv = loopback_TexCoord1sv;
1836 dest->TexCoord2dv = loopback_TexCoord2dv;
1837 dest->TexCoord2iv = loopback_TexCoord2iv;
1838 dest->TexCoord2sv = loopback_TexCoord2sv;
1839 dest->TexCoord3dv = loopback_TexCoord3dv;
1840 dest->TexCoord3iv = loopback_TexCoord3iv;
1841 dest->TexCoord3sv = loopback_TexCoord3sv;
1842 dest->TexCoord4dv = loopback_TexCoord4dv;
1843 dest->TexCoord4iv = loopback_TexCoord4iv;
1844 dest->TexCoord4sv = loopback_TexCoord4sv;
1845 dest->Vertex2d = loopback_Vertex2d;
1846 dest->Vertex2i = loopback_Vertex2i;
1847 dest->Vertex2s = loopback_Vertex2s;
1848 dest->Vertex3d = loopback_Vertex3d;
1849 dest->Vertex3i = loopback_Vertex3i;
1850 dest->Vertex3s = loopback_Vertex3s;
1851 dest->Vertex4d = loopback_Vertex4d;
1852 dest->Vertex4i = loopback_Vertex4i;
1853 dest->Vertex4s = loopback_Vertex4s;
1854 dest->Vertex2dv = loopback_Vertex2dv;
1855 dest->Vertex2iv = loopback_Vertex2iv;
1856 dest->Vertex2sv = loopback_Vertex2sv;
1857 dest->Vertex3dv = loopback_Vertex3dv;
1858 dest->Vertex3iv = loopback_Vertex3iv;
1859 dest->Vertex3sv = loopback_Vertex3sv;
1860 dest->Vertex4dv = loopback_Vertex4dv;
1861 dest->Vertex4iv = loopback_Vertex4iv;
1862 dest->Vertex4sv = loopback_Vertex4sv;
Brian Paul471a7742001-12-04 23:43:31 +00001863 dest->MultiTexCoord1dARB = loopback_MultiTexCoord1dARB;
1864 dest->MultiTexCoord1dvARB = loopback_MultiTexCoord1dvARB;
1865 dest->MultiTexCoord1iARB = loopback_MultiTexCoord1iARB;
1866 dest->MultiTexCoord1ivARB = loopback_MultiTexCoord1ivARB;
1867 dest->MultiTexCoord1sARB = loopback_MultiTexCoord1sARB;
1868 dest->MultiTexCoord1svARB = loopback_MultiTexCoord1svARB;
1869 dest->MultiTexCoord2dARB = loopback_MultiTexCoord2dARB;
1870 dest->MultiTexCoord2dvARB = loopback_MultiTexCoord2dvARB;
1871 dest->MultiTexCoord2iARB = loopback_MultiTexCoord2iARB;
1872 dest->MultiTexCoord2ivARB = loopback_MultiTexCoord2ivARB;
1873 dest->MultiTexCoord2sARB = loopback_MultiTexCoord2sARB;
1874 dest->MultiTexCoord2svARB = loopback_MultiTexCoord2svARB;
1875 dest->MultiTexCoord3dARB = loopback_MultiTexCoord3dARB;
1876 dest->MultiTexCoord3dvARB = loopback_MultiTexCoord3dvARB;
1877 dest->MultiTexCoord3iARB = loopback_MultiTexCoord3iARB;
1878 dest->MultiTexCoord3ivARB = loopback_MultiTexCoord3ivARB;
1879 dest->MultiTexCoord3sARB = loopback_MultiTexCoord3sARB;
1880 dest->MultiTexCoord3svARB = loopback_MultiTexCoord3svARB;
1881 dest->MultiTexCoord4dARB = loopback_MultiTexCoord4dARB;
1882 dest->MultiTexCoord4dvARB = loopback_MultiTexCoord4dvARB;
1883 dest->MultiTexCoord4iARB = loopback_MultiTexCoord4iARB;
1884 dest->MultiTexCoord4ivARB = loopback_MultiTexCoord4ivARB;
1885 dest->MultiTexCoord4sARB = loopback_MultiTexCoord4sARB;
1886 dest->MultiTexCoord4svARB = loopback_MultiTexCoord4svARB;
Keith Whitwellb0149862000-11-24 10:30:04 +00001887 dest->EvalCoord2dv = loopback_EvalCoord2dv;
1888 dest->EvalCoord2fv = loopback_EvalCoord2fv;
1889 dest->EvalCoord2d = loopback_EvalCoord2d;
1890 dest->EvalCoord1dv = loopback_EvalCoord1dv;
1891 dest->EvalCoord1fv = loopback_EvalCoord1fv;
1892 dest->EvalCoord1d = loopback_EvalCoord1d;
1893 dest->Materialf = loopback_Materialf;
1894 dest->Materiali = loopback_Materiali;
1895 dest->Materialiv = loopback_Materialiv;
1896 dest->Rectd = loopback_Rectd;
1897 dest->Rectdv = loopback_Rectdv;
1898 dest->Rectfv = loopback_Rectfv;
1899 dest->Recti = loopback_Recti;
1900 dest->Rectiv = loopback_Rectiv;
1901 dest->Rects = loopback_Rects;
1902 dest->Rectsv = loopback_Rectsv;
1903 dest->FogCoorddEXT = loopback_FogCoorddEXT;
1904 dest->FogCoorddvEXT = loopback_FogCoorddvEXT;
Brian Paul86b84272001-12-14 02:50:01 +00001905
1906 dest->VertexAttrib1sNV = loopback_VertexAttrib1sNV;
1907 dest->VertexAttrib1fNV = loopback_VertexAttrib1fNV;
1908 dest->VertexAttrib1dNV = loopback_VertexAttrib1dNV;
1909 dest->VertexAttrib2sNV = loopback_VertexAttrib2sNV;
1910 dest->VertexAttrib2fNV = loopback_VertexAttrib2fNV;
1911 dest->VertexAttrib2dNV = loopback_VertexAttrib2dNV;
1912 dest->VertexAttrib3sNV = loopback_VertexAttrib3sNV;
1913 dest->VertexAttrib3fNV = loopback_VertexAttrib3fNV;
1914 dest->VertexAttrib3dNV = loopback_VertexAttrib3dNV;
1915 dest->VertexAttrib4sNV = loopback_VertexAttrib4sNV;
1916 dest->VertexAttrib4dNV = loopback_VertexAttrib4dNV;
1917 dest->VertexAttrib4ubNV = loopback_VertexAttrib4ubNV;
1918
1919 dest->VertexAttrib1svNV = loopback_VertexAttrib1svNV;
1920 dest->VertexAttrib1fvNV = loopback_VertexAttrib1fvNV;
1921 dest->VertexAttrib1dvNV = loopback_VertexAttrib1dvNV;
1922 dest->VertexAttrib2svNV = loopback_VertexAttrib2svNV;
1923 dest->VertexAttrib2fvNV = loopback_VertexAttrib2fvNV;
1924 dest->VertexAttrib2dvNV = loopback_VertexAttrib2dvNV;
1925 dest->VertexAttrib3svNV = loopback_VertexAttrib3svNV;
1926 dest->VertexAttrib3fvNV = loopback_VertexAttrib3fvNV;
1927 dest->VertexAttrib3dvNV = loopback_VertexAttrib3dvNV;
1928 dest->VertexAttrib4svNV = loopback_VertexAttrib4svNV;
1929 dest->VertexAttrib4fvNV = loopback_VertexAttrib4fvNV;
1930 dest->VertexAttrib4dvNV = loopback_VertexAttrib4dvNV;
1931 dest->VertexAttrib4ubvNV = loopback_VertexAttrib4ubvNV;
1932
1933 dest->VertexAttribs1svNV = loopback_VertexAttribs1svNV;
1934 dest->VertexAttribs1fvNV = loopback_VertexAttribs1fvNV;
1935 dest->VertexAttribs1dvNV = loopback_VertexAttribs1dvNV;
1936 dest->VertexAttribs2svNV = loopback_VertexAttribs2svNV;
1937 dest->VertexAttribs2fvNV = loopback_VertexAttribs2fvNV;
1938 dest->VertexAttribs2dvNV = loopback_VertexAttribs2dvNV;
1939 dest->VertexAttribs3svNV = loopback_VertexAttribs3svNV;
1940 dest->VertexAttribs3fvNV = loopback_VertexAttribs3fvNV;
1941 dest->VertexAttribs3dvNV = loopback_VertexAttribs3dvNV;
1942 dest->VertexAttribs4svNV = loopback_VertexAttribs4svNV;
1943 dest->VertexAttribs4fvNV = loopback_VertexAttribs4fvNV;
1944 dest->VertexAttribs4dvNV = loopback_VertexAttribs4dvNV;
1945 dest->VertexAttribs4ubvNV = loopback_VertexAttribs4ubvNV;
Brian Paul03c0c2e2002-01-14 16:06:35 +00001946
Brian Paule591ad72003-05-10 04:37:47 +00001947 dest->VertexAttrib4bvARB = loopback_VertexAttrib4bvARB;
1948 dest->VertexAttrib4ivARB = loopback_VertexAttrib4ivARB;
1949 dest->VertexAttrib4ubvARB = loopback_VertexAttrib4ubvARB;
1950 dest->VertexAttrib4usvARB = loopback_VertexAttrib4usvARB;
1951 dest->VertexAttrib4uivARB = loopback_VertexAttrib4uivARB;
1952 dest->VertexAttrib4NbvARB = loopback_VertexAttrib4NbvARB;
1953 dest->VertexAttrib4NsvARB = loopback_VertexAttrib4NsvARB;
1954 dest->VertexAttrib4NivARB = loopback_VertexAttrib4NivARB;
1955 dest->VertexAttrib4NusvARB = loopback_VertexAttrib4NusvARB;
1956 dest->VertexAttrib4NuivARB = loopback_VertexAttrib4NuivARB;
Keith Whitwellb0149862000-11-24 10:30:04 +00001957}