Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenapi_loopback.c
Go to the documentation of this file.
00001 00007 /* 00008 * Mesa 3-D graphics library 00009 * Version: 6.3 00010 * 00011 * Copyright (C) 1999-2004 Brian Paul All Rights Reserved. 00012 * 00013 * Permission is hereby granted, free of charge, to any person obtaining a 00014 * copy of this software and associated documentation files (the "Software"), 00015 * to deal in the Software without restriction, including without limitation 00016 * the rights to use, copy, modify, merge, publish, distribute, sublicense, 00017 * and/or sell copies of the Software, and to permit persons to whom the 00018 * Software is furnished to do so, subject to the following conditions: 00019 * 00020 * The above copyright notice and this permission notice shall be included 00021 * in all copies or substantial portions of the Software. 00022 * 00023 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 00024 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 00025 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 00026 * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 00027 * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 00028 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 00029 */ 00030 00031 00032 #include "glheader.h" 00033 #include "macros.h" 00034 #include "api_loopback.h" 00035 #include "mtypes.h" 00036 #include "glapi/glapi.h" 00037 #include "glapi/glapitable.h" 00038 #include "glapi/glthread.h" 00039 #include "glapi/dispatch.h" 00040 00041 /* KW: A set of functions to convert unusual Color/Normal/Vertex/etc 00042 * calls to a smaller set of driver-provided formats. Currently just 00043 * go back to dispatch to find these (eg. call glNormal3f directly), 00044 * hence 'loopback'. 00045 * 00046 * The driver must supply all of the remaining entry points, which are 00047 * listed in dd.h. The easiest way for a driver to do this is to 00048 * install the supplied software t&l module. 00049 */ 00050 #define COLORF(r,g,b,a) CALL_Color4f(GET_DISPATCH(), (r,g,b,a)) 00051 #define VERTEX2(x,y) CALL_Vertex2f(GET_DISPATCH(), (x,y)) 00052 #define VERTEX3(x,y,z) CALL_Vertex3f(GET_DISPATCH(), (x,y,z)) 00053 #define VERTEX4(x,y,z,w) CALL_Vertex4f(GET_DISPATCH(), (x,y,z,w)) 00054 #define NORMAL(x,y,z) CALL_Normal3f(GET_DISPATCH(), (x,y,z)) 00055 #define TEXCOORD1(s) CALL_TexCoord1f(GET_DISPATCH(), (s)) 00056 #define TEXCOORD2(s,t) CALL_TexCoord2f(GET_DISPATCH(), (s,t)) 00057 #define TEXCOORD3(s,t,u) CALL_TexCoord3f(GET_DISPATCH(), (s,t,u)) 00058 #define TEXCOORD4(s,t,u,v) CALL_TexCoord4f(GET_DISPATCH(), (s,t,u,v)) 00059 #define INDEX(c) CALL_Indexf(GET_DISPATCH(), (c)) 00060 #define MULTI_TEXCOORD1(z,s) CALL_MultiTexCoord1fARB(GET_DISPATCH(), (z,s)) 00061 #define MULTI_TEXCOORD2(z,s,t) CALL_MultiTexCoord2fARB(GET_DISPATCH(), (z,s,t)) 00062 #define MULTI_TEXCOORD3(z,s,t,u) CALL_MultiTexCoord3fARB(GET_DISPATCH(), (z,s,t,u)) 00063 #define MULTI_TEXCOORD4(z,s,t,u,v) CALL_MultiTexCoord4fARB(GET_DISPATCH(), (z,s,t,u,v)) 00064 #define EVALCOORD1(x) CALL_EvalCoord1f(GET_DISPATCH(), (x)) 00065 #define EVALCOORD2(x,y) CALL_EvalCoord2f(GET_DISPATCH(), (x,y)) 00066 #define MATERIALFV(a,b,c) CALL_Materialfv(GET_DISPATCH(), (a,b,c)) 00067 #define RECTF(a,b,c,d) CALL_Rectf(GET_DISPATCH(), (a,b,c,d)) 00068 00069 #define ATTRIB1NV(index,x) CALL_VertexAttrib1fNV(GET_DISPATCH(), (index,x)) 00070 #define ATTRIB2NV(index,x,y) CALL_VertexAttrib2fNV(GET_DISPATCH(), (index,x,y)) 00071 #define ATTRIB3NV(index,x,y,z) CALL_VertexAttrib3fNV(GET_DISPATCH(), (index,x,y,z)) 00072 #define ATTRIB4NV(index,x,y,z,w) CALL_VertexAttrib4fNV(GET_DISPATCH(), (index,x,y,z,w)) 00073 #define ATTRIB1ARB(index,x) CALL_VertexAttrib1fARB(GET_DISPATCH(), (index,x)) 00074 #define ATTRIB2ARB(index,x,y) CALL_VertexAttrib2fARB(GET_DISPATCH(), (index,x,y)) 00075 #define ATTRIB3ARB(index,x,y,z) CALL_VertexAttrib3fARB(GET_DISPATCH(), (index,x,y,z)) 00076 #define ATTRIB4ARB(index,x,y,z,w) CALL_VertexAttrib4fARB(GET_DISPATCH(), (index,x,y,z,w)) 00077 #define FOGCOORDF(x) CALL_FogCoordfEXT(GET_DISPATCH(), (x)) 00078 #define SECONDARYCOLORF(a,b,c) CALL_SecondaryColor3fEXT(GET_DISPATCH(), (a,b,c)) 00079 00080 static void GLAPIENTRY 00081 loopback_Color3b_f( GLbyte red, GLbyte green, GLbyte blue ) 00082 { 00083 COLORF( BYTE_TO_FLOAT(red), 00084 BYTE_TO_FLOAT(green), 00085 BYTE_TO_FLOAT(blue), 00086 1.0 ); 00087 } 00088 00089 static void GLAPIENTRY 00090 loopback_Color3d_f( GLdouble red, GLdouble green, GLdouble blue ) 00091 { 00092 COLORF( (GLfloat) red, (GLfloat) green, (GLfloat) blue, 1.0 ); 00093 } 00094 00095 static void GLAPIENTRY 00096 loopback_Color3i_f( GLint red, GLint green, GLint blue ) 00097 { 00098 COLORF( INT_TO_FLOAT(red), INT_TO_FLOAT(green), 00099 INT_TO_FLOAT(blue), 1.0); 00100 } 00101 00102 static void GLAPIENTRY 00103 loopback_Color3s_f( GLshort red, GLshort green, GLshort blue ) 00104 { 00105 COLORF( SHORT_TO_FLOAT(red), SHORT_TO_FLOAT(green), 00106 SHORT_TO_FLOAT(blue), 1.0); 00107 } 00108 00109 static void GLAPIENTRY 00110 loopback_Color3ui_f( GLuint red, GLuint green, GLuint blue ) 00111 { 00112 COLORF( UINT_TO_FLOAT(red), UINT_TO_FLOAT(green), 00113 UINT_TO_FLOAT(blue), 1.0 ); 00114 } 00115 00116 static void GLAPIENTRY 00117 loopback_Color3us_f( GLushort red, GLushort green, GLushort blue ) 00118 { 00119 COLORF( USHORT_TO_FLOAT(red), USHORT_TO_FLOAT(green), 00120 USHORT_TO_FLOAT(blue), 1.0 ); 00121 } 00122 00123 static void GLAPIENTRY 00124 loopback_Color3ub_f( GLubyte red, GLubyte green, GLubyte blue ) 00125 { 00126 COLORF( UBYTE_TO_FLOAT(red), UBYTE_TO_FLOAT(green), 00127 UBYTE_TO_FLOAT(blue), 1.0 ); 00128 } 00129 00130 00131 static void GLAPIENTRY 00132 loopback_Color3bv_f( const GLbyte *v ) 00133 { 00134 COLORF( BYTE_TO_FLOAT(v[0]), BYTE_TO_FLOAT(v[1]), 00135 BYTE_TO_FLOAT(v[2]), 1.0 ); 00136 } 00137 00138 static void GLAPIENTRY 00139 loopback_Color3dv_f( const GLdouble *v ) 00140 { 00141 COLORF( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], 1.0 ); 00142 } 00143 00144 static void GLAPIENTRY 00145 loopback_Color3iv_f( const GLint *v ) 00146 { 00147 COLORF( INT_TO_FLOAT(v[0]), INT_TO_FLOAT(v[1]), 00148 INT_TO_FLOAT(v[2]), 1.0 ); 00149 } 00150 00151 static void GLAPIENTRY 00152 loopback_Color3sv_f( const GLshort *v ) 00153 { 00154 COLORF( SHORT_TO_FLOAT(v[0]), SHORT_TO_FLOAT(v[1]), 00155 SHORT_TO_FLOAT(v[2]), 1.0 ); 00156 } 00157 00158 static void GLAPIENTRY 00159 loopback_Color3uiv_f( const GLuint *v ) 00160 { 00161 COLORF( UINT_TO_FLOAT(v[0]), UINT_TO_FLOAT(v[1]), 00162 UINT_TO_FLOAT(v[2]), 1.0 ); 00163 } 00164 00165 static void GLAPIENTRY 00166 loopback_Color3usv_f( const GLushort *v ) 00167 { 00168 COLORF( USHORT_TO_FLOAT(v[0]), USHORT_TO_FLOAT(v[1]), 00169 USHORT_TO_FLOAT(v[2]), 1.0 ); 00170 } 00171 00172 static void GLAPIENTRY 00173 loopback_Color3ubv_f( const GLubyte *v ) 00174 { 00175 COLORF( UBYTE_TO_FLOAT(v[0]), UBYTE_TO_FLOAT(v[1]), 00176 UBYTE_TO_FLOAT(v[2]), 1.0 ); 00177 } 00178 00179 00180 static void GLAPIENTRY 00181 loopback_Color4b_f( GLbyte red, GLbyte green, GLbyte blue, 00182 GLbyte alpha ) 00183 { 00184 COLORF( BYTE_TO_FLOAT(red), BYTE_TO_FLOAT(green), 00185 BYTE_TO_FLOAT(blue), BYTE_TO_FLOAT(alpha) ); 00186 } 00187 00188 static void GLAPIENTRY 00189 loopback_Color4d_f( GLdouble red, GLdouble green, GLdouble blue, 00190 GLdouble alpha ) 00191 { 00192 COLORF( (GLfloat) red, (GLfloat) green, (GLfloat) blue, (GLfloat) alpha ); 00193 } 00194 00195 static void GLAPIENTRY 00196 loopback_Color4i_f( GLint red, GLint green, GLint blue, GLint alpha ) 00197 { 00198 COLORF( INT_TO_FLOAT(red), INT_TO_FLOAT(green), 00199 INT_TO_FLOAT(blue), INT_TO_FLOAT(alpha) ); 00200 } 00201 00202 static void GLAPIENTRY 00203 loopback_Color4s_f( GLshort red, GLshort green, GLshort blue, 00204 GLshort alpha ) 00205 { 00206 COLORF( SHORT_TO_FLOAT(red), SHORT_TO_FLOAT(green), 00207 SHORT_TO_FLOAT(blue), SHORT_TO_FLOAT(alpha) ); 00208 } 00209 00210 static void GLAPIENTRY 00211 loopback_Color4ui_f( GLuint red, GLuint green, GLuint blue, GLuint alpha ) 00212 { 00213 COLORF( UINT_TO_FLOAT(red), UINT_TO_FLOAT(green), 00214 UINT_TO_FLOAT(blue), UINT_TO_FLOAT(alpha) ); 00215 } 00216 00217 static void GLAPIENTRY 00218 loopback_Color4us_f( GLushort red, GLushort green, GLushort blue, GLushort alpha ) 00219 { 00220 COLORF( USHORT_TO_FLOAT(red), USHORT_TO_FLOAT(green), 00221 USHORT_TO_FLOAT(blue), USHORT_TO_FLOAT(alpha) ); 00222 } 00223 00224 static void GLAPIENTRY 00225 loopback_Color4ub_f( GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha ) 00226 { 00227 COLORF( UBYTE_TO_FLOAT(red), UBYTE_TO_FLOAT(green), 00228 UBYTE_TO_FLOAT(blue), UBYTE_TO_FLOAT(alpha) ); 00229 } 00230 00231 00232 static void GLAPIENTRY 00233 loopback_Color4iv_f( const GLint *v ) 00234 { 00235 COLORF( INT_TO_FLOAT(v[0]), INT_TO_FLOAT(v[1]), 00236 INT_TO_FLOAT(v[2]), INT_TO_FLOAT(v[3]) ); 00237 } 00238 00239 00240 static void GLAPIENTRY 00241 loopback_Color4bv_f( const GLbyte *v ) 00242 { 00243 COLORF( BYTE_TO_FLOAT(v[0]), BYTE_TO_FLOAT(v[1]), 00244 BYTE_TO_FLOAT(v[2]), BYTE_TO_FLOAT(v[3]) ); 00245 } 00246 00247 static void GLAPIENTRY 00248 loopback_Color4dv_f( const GLdouble *v ) 00249 { 00250 COLORF( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3] ); 00251 } 00252 00253 00254 static void GLAPIENTRY 00255 loopback_Color4sv_f( const GLshort *v) 00256 { 00257 COLORF( SHORT_TO_FLOAT(v[0]), SHORT_TO_FLOAT(v[1]), 00258 SHORT_TO_FLOAT(v[2]), SHORT_TO_FLOAT(v[3]) ); 00259 } 00260 00261 00262 static void GLAPIENTRY 00263 loopback_Color4uiv_f( const GLuint *v) 00264 { 00265 COLORF( UINT_TO_FLOAT(v[0]), UINT_TO_FLOAT(v[1]), 00266 UINT_TO_FLOAT(v[2]), UINT_TO_FLOAT(v[3]) ); 00267 } 00268 00269 static void GLAPIENTRY 00270 loopback_Color4usv_f( const GLushort *v) 00271 { 00272 COLORF( USHORT_TO_FLOAT(v[0]), USHORT_TO_FLOAT(v[1]), 00273 USHORT_TO_FLOAT(v[2]), USHORT_TO_FLOAT(v[3]) ); 00274 } 00275 00276 static void GLAPIENTRY 00277 loopback_Color4ubv_f( const GLubyte *v) 00278 { 00279 COLORF( UBYTE_TO_FLOAT(v[0]), UBYTE_TO_FLOAT(v[1]), 00280 UBYTE_TO_FLOAT(v[2]), UBYTE_TO_FLOAT(v[3]) ); 00281 } 00282 00283 00284 static void GLAPIENTRY 00285 loopback_FogCoorddEXT( GLdouble d ) 00286 { 00287 FOGCOORDF( (GLfloat) d ); 00288 } 00289 00290 static void GLAPIENTRY 00291 loopback_FogCoorddvEXT( const GLdouble *v ) 00292 { 00293 FOGCOORDF( (GLfloat) *v ); 00294 } 00295 00296 00297 static void GLAPIENTRY 00298 loopback_Indexd( GLdouble c ) 00299 { 00300 INDEX( (GLfloat) c ); 00301 } 00302 00303 static void GLAPIENTRY 00304 loopback_Indexi( GLint c ) 00305 { 00306 INDEX( (GLfloat) c ); 00307 } 00308 00309 static void GLAPIENTRY 00310 loopback_Indexs( GLshort c ) 00311 { 00312 INDEX( (GLfloat) c ); 00313 } 00314 00315 static void GLAPIENTRY 00316 loopback_Indexub( GLubyte c ) 00317 { 00318 INDEX( (GLfloat) c ); 00319 } 00320 00321 static void GLAPIENTRY 00322 loopback_Indexdv( const GLdouble *c ) 00323 { 00324 INDEX( (GLfloat) *c ); 00325 } 00326 00327 static void GLAPIENTRY 00328 loopback_Indexiv( const GLint *c ) 00329 { 00330 INDEX( (GLfloat) *c ); 00331 } 00332 00333 static void GLAPIENTRY 00334 loopback_Indexsv( const GLshort *c ) 00335 { 00336 INDEX( (GLfloat) *c ); 00337 } 00338 00339 static void GLAPIENTRY 00340 loopback_Indexubv( const GLubyte *c ) 00341 { 00342 INDEX( (GLfloat) *c ); 00343 } 00344 00345 00346 static void GLAPIENTRY 00347 loopback_EdgeFlagv(const GLboolean *flag) 00348 { 00349 CALL_EdgeFlag(GET_DISPATCH(), (*flag)); 00350 } 00351 00352 00353 static void GLAPIENTRY 00354 loopback_Normal3b( GLbyte nx, GLbyte ny, GLbyte nz ) 00355 { 00356 NORMAL( BYTE_TO_FLOAT(nx), BYTE_TO_FLOAT(ny), BYTE_TO_FLOAT(nz) ); 00357 } 00358 00359 static void GLAPIENTRY 00360 loopback_Normal3d( GLdouble nx, GLdouble ny, GLdouble nz ) 00361 { 00362 NORMAL((GLfloat) nx, (GLfloat) ny, (GLfloat) nz); 00363 } 00364 00365 static void GLAPIENTRY 00366 loopback_Normal3i( GLint nx, GLint ny, GLint nz ) 00367 { 00368 NORMAL( INT_TO_FLOAT(nx), INT_TO_FLOAT(ny), INT_TO_FLOAT(nz) ); 00369 } 00370 00371 static void GLAPIENTRY 00372 loopback_Normal3s( GLshort nx, GLshort ny, GLshort nz ) 00373 { 00374 NORMAL( SHORT_TO_FLOAT(nx), SHORT_TO_FLOAT(ny), SHORT_TO_FLOAT(nz) ); 00375 } 00376 00377 static void GLAPIENTRY 00378 loopback_Normal3bv( const GLbyte *v ) 00379 { 00380 NORMAL( BYTE_TO_FLOAT(v[0]), BYTE_TO_FLOAT(v[1]), BYTE_TO_FLOAT(v[2]) ); 00381 } 00382 00383 static void GLAPIENTRY 00384 loopback_Normal3dv( const GLdouble *v ) 00385 { 00386 NORMAL( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] ); 00387 } 00388 00389 static void GLAPIENTRY 00390 loopback_Normal3iv( const GLint *v ) 00391 { 00392 NORMAL( INT_TO_FLOAT(v[0]), INT_TO_FLOAT(v[1]), INT_TO_FLOAT(v[2]) ); 00393 } 00394 00395 static void GLAPIENTRY 00396 loopback_Normal3sv( const GLshort *v ) 00397 { 00398 NORMAL( SHORT_TO_FLOAT(v[0]), SHORT_TO_FLOAT(v[1]), SHORT_TO_FLOAT(v[2]) ); 00399 } 00400 00401 static void GLAPIENTRY 00402 loopback_TexCoord1d( GLdouble s ) 00403 { 00404 TEXCOORD1((GLfloat) s); 00405 } 00406 00407 static void GLAPIENTRY 00408 loopback_TexCoord1i( GLint s ) 00409 { 00410 TEXCOORD1((GLfloat) s); 00411 } 00412 00413 static void GLAPIENTRY 00414 loopback_TexCoord1s( GLshort s ) 00415 { 00416 TEXCOORD1((GLfloat) s); 00417 } 00418 00419 static void GLAPIENTRY 00420 loopback_TexCoord2d( GLdouble s, GLdouble t ) 00421 { 00422 TEXCOORD2((GLfloat) s,(GLfloat) t); 00423 } 00424 00425 static void GLAPIENTRY 00426 loopback_TexCoord2s( GLshort s, GLshort t ) 00427 { 00428 TEXCOORD2((GLfloat) s,(GLfloat) t); 00429 } 00430 00431 static void GLAPIENTRY 00432 loopback_TexCoord2i( GLint s, GLint t ) 00433 { 00434 TEXCOORD2((GLfloat) s,(GLfloat) t); 00435 } 00436 00437 static void GLAPIENTRY 00438 loopback_TexCoord3d( GLdouble s, GLdouble t, GLdouble r ) 00439 { 00440 TEXCOORD3((GLfloat) s,(GLfloat) t,(GLfloat) r); 00441 } 00442 00443 static void GLAPIENTRY 00444 loopback_TexCoord3i( GLint s, GLint t, GLint r ) 00445 { 00446 TEXCOORD3((GLfloat) s,(GLfloat) t,(GLfloat) r); 00447 } 00448 00449 static void GLAPIENTRY 00450 loopback_TexCoord3s( GLshort s, GLshort t, GLshort r ) 00451 { 00452 TEXCOORD3((GLfloat) s,(GLfloat) t,(GLfloat) r); 00453 } 00454 00455 static void GLAPIENTRY 00456 loopback_TexCoord4d( GLdouble s, GLdouble t, GLdouble r, GLdouble q ) 00457 { 00458 TEXCOORD4((GLfloat) s,(GLfloat) t,(GLfloat) r,(GLfloat) q); 00459 } 00460 00461 static void GLAPIENTRY 00462 loopback_TexCoord4i( GLint s, GLint t, GLint r, GLint q ) 00463 { 00464 TEXCOORD4((GLfloat) s,(GLfloat) t,(GLfloat) r,(GLfloat) q); 00465 } 00466 00467 static void GLAPIENTRY 00468 loopback_TexCoord4s( GLshort s, GLshort t, GLshort r, GLshort q ) 00469 { 00470 TEXCOORD4((GLfloat) s,(GLfloat) t,(GLfloat) r,(GLfloat) q); 00471 } 00472 00473 static void GLAPIENTRY 00474 loopback_TexCoord1dv( const GLdouble *v ) 00475 { 00476 TEXCOORD1((GLfloat) v[0]); 00477 } 00478 00479 static void GLAPIENTRY 00480 loopback_TexCoord1iv( const GLint *v ) 00481 { 00482 TEXCOORD1((GLfloat) v[0]); 00483 } 00484 00485 static void GLAPIENTRY 00486 loopback_TexCoord1sv( const GLshort *v ) 00487 { 00488 TEXCOORD1((GLfloat) v[0]); 00489 } 00490 00491 static void GLAPIENTRY 00492 loopback_TexCoord2dv( const GLdouble *v ) 00493 { 00494 TEXCOORD2((GLfloat) v[0],(GLfloat) v[1]); 00495 } 00496 00497 static void GLAPIENTRY 00498 loopback_TexCoord2iv( const GLint *v ) 00499 { 00500 TEXCOORD2((GLfloat) v[0],(GLfloat) v[1]); 00501 } 00502 00503 static void GLAPIENTRY 00504 loopback_TexCoord2sv( const GLshort *v ) 00505 { 00506 TEXCOORD2((GLfloat) v[0],(GLfloat) v[1]); 00507 } 00508 00509 static void GLAPIENTRY 00510 loopback_TexCoord3dv( const GLdouble *v ) 00511 { 00512 TEXCOORD3((GLfloat) v[0],(GLfloat) v[1],(GLfloat) v[2]); 00513 } 00514 00515 static void GLAPIENTRY 00516 loopback_TexCoord3iv( const GLint *v ) 00517 { 00518 TEXCOORD3((GLfloat) v[0],(GLfloat) v[1],(GLfloat) v[2]); 00519 } 00520 00521 static void GLAPIENTRY 00522 loopback_TexCoord3sv( const GLshort *v ) 00523 { 00524 TEXCOORD3((GLfloat) v[0],(GLfloat) v[1],(GLfloat) v[2]); 00525 } 00526 00527 static void GLAPIENTRY 00528 loopback_TexCoord4dv( const GLdouble *v ) 00529 { 00530 TEXCOORD4((GLfloat) v[0],(GLfloat) v[1],(GLfloat) v[2],(GLfloat) v[3]); 00531 } 00532 00533 static void GLAPIENTRY 00534 loopback_TexCoord4iv( const GLint *v ) 00535 { 00536 TEXCOORD4((GLfloat) v[0],(GLfloat) v[1],(GLfloat) v[2],(GLfloat) v[3]); 00537 } 00538 00539 static void GLAPIENTRY 00540 loopback_TexCoord4sv( const GLshort *v ) 00541 { 00542 TEXCOORD4((GLfloat) v[0],(GLfloat) v[1],(GLfloat) v[2],(GLfloat) v[3]); 00543 } 00544 00545 static void GLAPIENTRY 00546 loopback_Vertex2d( GLdouble x, GLdouble y ) 00547 { 00548 VERTEX2( (GLfloat) x, (GLfloat) y ); 00549 } 00550 00551 static void GLAPIENTRY 00552 loopback_Vertex2i( GLint x, GLint y ) 00553 { 00554 VERTEX2( (GLfloat) x, (GLfloat) y ); 00555 } 00556 00557 static void GLAPIENTRY 00558 loopback_Vertex2s( GLshort x, GLshort y ) 00559 { 00560 VERTEX2( (GLfloat) x, (GLfloat) y ); 00561 } 00562 00563 static void GLAPIENTRY 00564 loopback_Vertex3d( GLdouble x, GLdouble y, GLdouble z ) 00565 { 00566 VERTEX3( (GLfloat) x, (GLfloat) y, (GLfloat) z ); 00567 } 00568 00569 static void GLAPIENTRY 00570 loopback_Vertex3i( GLint x, GLint y, GLint z ) 00571 { 00572 VERTEX3( (GLfloat) x, (GLfloat) y, (GLfloat) z ); 00573 } 00574 00575 static void GLAPIENTRY 00576 loopback_Vertex3s( GLshort x, GLshort y, GLshort z ) 00577 { 00578 VERTEX3( (GLfloat) x, (GLfloat) y, (GLfloat) z ); 00579 } 00580 00581 static void GLAPIENTRY 00582 loopback_Vertex4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w ) 00583 { 00584 VERTEX4( (GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w ); 00585 } 00586 00587 static void GLAPIENTRY 00588 loopback_Vertex4i( GLint x, GLint y, GLint z, GLint w ) 00589 { 00590 VERTEX4( (GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w ); 00591 } 00592 00593 static void GLAPIENTRY 00594 loopback_Vertex4s( GLshort x, GLshort y, GLshort z, GLshort w ) 00595 { 00596 VERTEX4( (GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w ); 00597 } 00598 00599 static void GLAPIENTRY 00600 loopback_Vertex2dv( const GLdouble *v ) 00601 { 00602 VERTEX2( (GLfloat) v[0], (GLfloat) v[1] ); 00603 } 00604 00605 static void GLAPIENTRY 00606 loopback_Vertex2iv( const GLint *v ) 00607 { 00608 VERTEX2( (GLfloat) v[0], (GLfloat) v[1] ); 00609 } 00610 00611 static void GLAPIENTRY 00612 loopback_Vertex2sv( const GLshort *v ) 00613 { 00614 VERTEX2( (GLfloat) v[0], (GLfloat) v[1] ); 00615 } 00616 00617 static void GLAPIENTRY 00618 loopback_Vertex3dv( const GLdouble *v ) 00619 { 00620 VERTEX3( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] ); 00621 } 00622 00623 static void GLAPIENTRY 00624 loopback_Vertex3iv( const GLint *v ) 00625 { 00626 VERTEX3( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] ); 00627 } 00628 00629 static void GLAPIENTRY 00630 loopback_Vertex3sv( const GLshort *v ) 00631 { 00632 VERTEX3( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] ); 00633 } 00634 00635 static void GLAPIENTRY 00636 loopback_Vertex4dv( const GLdouble *v ) 00637 { 00638 VERTEX4( (GLfloat) v[0], (GLfloat) v[1], 00639 (GLfloat) v[2], (GLfloat) v[3] ); 00640 } 00641 00642 static void GLAPIENTRY 00643 loopback_Vertex4iv( const GLint *v ) 00644 { 00645 VERTEX4( (GLfloat) v[0], (GLfloat) v[1], 00646 (GLfloat) v[2], (GLfloat) v[3] ); 00647 } 00648 00649 static void GLAPIENTRY 00650 loopback_Vertex4sv( const GLshort *v ) 00651 { 00652 VERTEX4( (GLfloat) v[0], (GLfloat) v[1], 00653 (GLfloat) v[2], (GLfloat) v[3] ); 00654 } 00655 00656 static void GLAPIENTRY 00657 loopback_MultiTexCoord1dARB(GLenum target, GLdouble s) 00658 { 00659 MULTI_TEXCOORD1( target, (GLfloat) s ); 00660 } 00661 00662 static void GLAPIENTRY 00663 loopback_MultiTexCoord1dvARB(GLenum target, const GLdouble *v) 00664 { 00665 MULTI_TEXCOORD1( target, (GLfloat) v[0] ); 00666 } 00667 00668 static void GLAPIENTRY 00669 loopback_MultiTexCoord1iARB(GLenum target, GLint s) 00670 { 00671 MULTI_TEXCOORD1( target, (GLfloat) s ); 00672 } 00673 00674 static void GLAPIENTRY 00675 loopback_MultiTexCoord1ivARB(GLenum target, const GLint *v) 00676 { 00677 MULTI_TEXCOORD1( target, (GLfloat) v[0] ); 00678 } 00679 00680 static void GLAPIENTRY 00681 loopback_MultiTexCoord1sARB(GLenum target, GLshort s) 00682 { 00683 MULTI_TEXCOORD1( target, (GLfloat) s ); 00684 } 00685 00686 static void GLAPIENTRY 00687 loopback_MultiTexCoord1svARB(GLenum target, const GLshort *v) 00688 { 00689 MULTI_TEXCOORD1( target, (GLfloat) v[0] ); 00690 } 00691 00692 static void GLAPIENTRY 00693 loopback_MultiTexCoord2dARB(GLenum target, GLdouble s, GLdouble t) 00694 { 00695 MULTI_TEXCOORD2( target, (GLfloat) s, (GLfloat) t ); 00696 } 00697 00698 static void GLAPIENTRY 00699 loopback_MultiTexCoord2dvARB(GLenum target, const GLdouble *v) 00700 { 00701 MULTI_TEXCOORD2( target, (GLfloat) v[0], (GLfloat) v[1] ); 00702 } 00703 00704 static void GLAPIENTRY 00705 loopback_MultiTexCoord2iARB(GLenum target, GLint s, GLint t) 00706 { 00707 MULTI_TEXCOORD2( target, (GLfloat) s, (GLfloat) t ); 00708 } 00709 00710 static void GLAPIENTRY 00711 loopback_MultiTexCoord2ivARB(GLenum target, const GLint *v) 00712 { 00713 MULTI_TEXCOORD2( target, (GLfloat) v[0], (GLfloat) v[1] ); 00714 } 00715 00716 static void GLAPIENTRY 00717 loopback_MultiTexCoord2sARB(GLenum target, GLshort s, GLshort t) 00718 { 00719 MULTI_TEXCOORD2( target, (GLfloat) s, (GLfloat) t ); 00720 } 00721 00722 static void GLAPIENTRY 00723 loopback_MultiTexCoord2svARB(GLenum target, const GLshort *v) 00724 { 00725 MULTI_TEXCOORD2( target, (GLfloat) v[0], (GLfloat) v[1] ); 00726 } 00727 00728 static void GLAPIENTRY 00729 loopback_MultiTexCoord3dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r) 00730 { 00731 MULTI_TEXCOORD3( target, (GLfloat) s, (GLfloat) t, (GLfloat) r ); 00732 } 00733 00734 static void GLAPIENTRY 00735 loopback_MultiTexCoord3dvARB(GLenum target, const GLdouble *v) 00736 { 00737 MULTI_TEXCOORD3( target, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] ); 00738 } 00739 00740 static void GLAPIENTRY 00741 loopback_MultiTexCoord3iARB(GLenum target, GLint s, GLint t, GLint r) 00742 { 00743 MULTI_TEXCOORD3( target, (GLfloat) s, (GLfloat) t, (GLfloat) r ); 00744 } 00745 00746 static void GLAPIENTRY 00747 loopback_MultiTexCoord3ivARB(GLenum target, const GLint *v) 00748 { 00749 MULTI_TEXCOORD3( target, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] ); 00750 } 00751 00752 static void GLAPIENTRY 00753 loopback_MultiTexCoord3sARB(GLenum target, GLshort s, GLshort t, GLshort r) 00754 { 00755 MULTI_TEXCOORD3( target, (GLfloat) s, (GLfloat) t, (GLfloat) r ); 00756 } 00757 00758 static void GLAPIENTRY 00759 loopback_MultiTexCoord3svARB(GLenum target, const GLshort *v) 00760 { 00761 MULTI_TEXCOORD3( target, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] ); 00762 } 00763 00764 static void GLAPIENTRY 00765 loopback_MultiTexCoord4dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q) 00766 { 00767 MULTI_TEXCOORD4( target, (GLfloat) s, (GLfloat) t, 00768 (GLfloat) r, (GLfloat) q ); 00769 } 00770 00771 static void GLAPIENTRY 00772 loopback_MultiTexCoord4dvARB(GLenum target, const GLdouble *v) 00773 { 00774 MULTI_TEXCOORD4( target, (GLfloat) v[0], (GLfloat) v[1], 00775 (GLfloat) v[2], (GLfloat) v[3] ); 00776 } 00777 00778 static void GLAPIENTRY 00779 loopback_MultiTexCoord4iARB(GLenum target, GLint s, GLint t, GLint r, GLint q) 00780 { 00781 MULTI_TEXCOORD4( target, (GLfloat) s, (GLfloat) t, 00782 (GLfloat) r, (GLfloat) q ); 00783 } 00784 00785 static void GLAPIENTRY 00786 loopback_MultiTexCoord4ivARB(GLenum target, const GLint *v) 00787 { 00788 MULTI_TEXCOORD4( target, (GLfloat) v[0], (GLfloat) v[1], 00789 (GLfloat) v[2], (GLfloat) v[3] ); 00790 } 00791 00792 static void GLAPIENTRY 00793 loopback_MultiTexCoord4sARB(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q) 00794 { 00795 MULTI_TEXCOORD4( target, (GLfloat) s, (GLfloat) t, 00796 (GLfloat) r, (GLfloat) q ); 00797 } 00798 00799 static void GLAPIENTRY 00800 loopback_MultiTexCoord4svARB(GLenum target, const GLshort *v) 00801 { 00802 MULTI_TEXCOORD4( target, (GLfloat) v[0], (GLfloat) v[1], 00803 (GLfloat) v[2], (GLfloat) v[3] ); 00804 } 00805 00806 static void GLAPIENTRY 00807 loopback_EvalCoord2dv( const GLdouble *u ) 00808 { 00809 EVALCOORD2( (GLfloat) u[0], (GLfloat) u[1] ); 00810 } 00811 00812 static void GLAPIENTRY 00813 loopback_EvalCoord2fv( const GLfloat *u ) 00814 { 00815 EVALCOORD2( u[0], u[1] ); 00816 } 00817 00818 static void GLAPIENTRY 00819 loopback_EvalCoord2d( GLdouble u, GLdouble v ) 00820 { 00821 EVALCOORD2( (GLfloat) u, (GLfloat) v ); 00822 } 00823 00824 static void GLAPIENTRY 00825 loopback_EvalCoord1dv( const GLdouble *u ) 00826 { 00827 EVALCOORD1( (GLfloat) *u ); 00828 } 00829 00830 static void GLAPIENTRY 00831 loopback_EvalCoord1fv( const GLfloat *u ) 00832 { 00833 EVALCOORD1( (GLfloat) *u ); 00834 } 00835 00836 static void GLAPIENTRY 00837 loopback_EvalCoord1d( GLdouble u ) 00838 { 00839 EVALCOORD1( (GLfloat) u ); 00840 } 00841 00842 static void GLAPIENTRY 00843 loopback_Materialf( GLenum face, GLenum pname, GLfloat param ) 00844 { 00845 GLfloat fparam[4]; 00846 fparam[0] = param; 00847 MATERIALFV( face, pname, fparam ); 00848 } 00849 00850 static void GLAPIENTRY 00851 loopback_Materiali(GLenum face, GLenum pname, GLint param ) 00852 { 00853 GLfloat p = (GLfloat) param; 00854 MATERIALFV(face, pname, &p); 00855 } 00856 00857 static void GLAPIENTRY 00858 loopback_Materialiv(GLenum face, GLenum pname, const GLint *params ) 00859 { 00860 GLfloat fparam[4]; 00861 switch (pname) { 00862 case GL_AMBIENT: 00863 case GL_DIFFUSE: 00864 case GL_SPECULAR: 00865 case GL_EMISSION: 00866 case GL_AMBIENT_AND_DIFFUSE: 00867 fparam[0] = INT_TO_FLOAT( params[0] ); 00868 fparam[1] = INT_TO_FLOAT( params[1] ); 00869 fparam[2] = INT_TO_FLOAT( params[2] ); 00870 fparam[3] = INT_TO_FLOAT( params[3] ); 00871 break; 00872 case GL_SHININESS: 00873 fparam[0] = (GLfloat) params[0]; 00874 break; 00875 case GL_COLOR_INDEXES: 00876 fparam[0] = (GLfloat) params[0]; 00877 fparam[1] = (GLfloat) params[1]; 00878 fparam[2] = (GLfloat) params[2]; 00879 break; 00880 default: 00881 ; 00882 } 00883 MATERIALFV(face, pname, fparam); 00884 } 00885 00886 00887 static void GLAPIENTRY 00888 loopback_Rectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2) 00889 { 00890 RECTF((GLfloat) x1, (GLfloat) y1, (GLfloat) x2, (GLfloat) y2); 00891 } 00892 00893 static void GLAPIENTRY 00894 loopback_Rectdv(const GLdouble *v1, const GLdouble *v2) 00895 { 00896 RECTF((GLfloat) v1[0], (GLfloat) v1[1], (GLfloat) v2[0], (GLfloat) v2[1]); 00897 } 00898 00899 static void GLAPIENTRY 00900 loopback_Rectfv(const GLfloat *v1, const GLfloat *v2) 00901 { 00902 RECTF(v1[0], v1[1], v2[0], v2[1]); 00903 } 00904 00905 static void GLAPIENTRY 00906 loopback_Recti(GLint x1, GLint y1, GLint x2, GLint y2) 00907 { 00908 RECTF((GLfloat) x1, (GLfloat) y1, (GLfloat) x2, (GLfloat) y2); 00909 } 00910 00911 static void GLAPIENTRY 00912 loopback_Rectiv(const GLint *v1, const GLint *v2) 00913 { 00914 RECTF((GLfloat) v1[0], (GLfloat) v1[1], (GLfloat) v2[0], (GLfloat) v2[1]); 00915 } 00916 00917 static void GLAPIENTRY 00918 loopback_Rects(GLshort x1, GLshort y1, GLshort x2, GLshort y2) 00919 { 00920 RECTF((GLfloat) x1, (GLfloat) y1, (GLfloat) x2, (GLfloat) y2); 00921 } 00922 00923 static void GLAPIENTRY 00924 loopback_Rectsv(const GLshort *v1, const GLshort *v2) 00925 { 00926 RECTF((GLfloat) v1[0], (GLfloat) v1[1], (GLfloat) v2[0], (GLfloat) v2[1]); 00927 } 00928 00929 static void GLAPIENTRY 00930 loopback_SecondaryColor3bEXT_f( GLbyte red, GLbyte green, GLbyte blue ) 00931 { 00932 SECONDARYCOLORF( BYTE_TO_FLOAT(red), 00933 BYTE_TO_FLOAT(green), 00934 BYTE_TO_FLOAT(blue) ); 00935 } 00936 00937 static void GLAPIENTRY 00938 loopback_SecondaryColor3dEXT_f( GLdouble red, GLdouble green, GLdouble blue ) 00939 { 00940 SECONDARYCOLORF( (GLfloat) red, (GLfloat) green, (GLfloat) blue ); 00941 } 00942 00943 static void GLAPIENTRY 00944 loopback_SecondaryColor3iEXT_f( GLint red, GLint green, GLint blue ) 00945 { 00946 SECONDARYCOLORF( INT_TO_FLOAT(red), 00947 INT_TO_FLOAT(green), 00948 INT_TO_FLOAT(blue)); 00949 } 00950 00951 static void GLAPIENTRY 00952 loopback_SecondaryColor3sEXT_f( GLshort red, GLshort green, GLshort blue ) 00953 { 00954 SECONDARYCOLORF(SHORT_TO_FLOAT(red), 00955 SHORT_TO_FLOAT(green), 00956 SHORT_TO_FLOAT(blue)); 00957 } 00958 00959 static void GLAPIENTRY 00960 loopback_SecondaryColor3uiEXT_f( GLuint red, GLuint green, GLuint blue ) 00961 { 00962 SECONDARYCOLORF(UINT_TO_FLOAT(red), 00963 UINT_TO_FLOAT(green), 00964 UINT_TO_FLOAT(blue)); 00965 } 00966 00967 static void GLAPIENTRY 00968 loopback_SecondaryColor3usEXT_f( GLushort red, GLushort green, GLushort blue ) 00969 { 00970 SECONDARYCOLORF(USHORT_TO_FLOAT(red), 00971 USHORT_TO_FLOAT(green), 00972 USHORT_TO_FLOAT(blue)); 00973 } 00974 00975 static void GLAPIENTRY 00976 loopback_SecondaryColor3ubEXT_f( GLubyte red, GLubyte green, GLubyte blue ) 00977 { 00978 SECONDARYCOLORF(UBYTE_TO_FLOAT(red), 00979 UBYTE_TO_FLOAT(green), 00980 UBYTE_TO_FLOAT(blue)); 00981 } 00982 00983 static void GLAPIENTRY 00984 loopback_SecondaryColor3bvEXT_f( const GLbyte *v ) 00985 { 00986 SECONDARYCOLORF(BYTE_TO_FLOAT(v[0]), 00987 BYTE_TO_FLOAT(v[1]), 00988 BYTE_TO_FLOAT(v[2])); 00989 } 00990 00991 static void GLAPIENTRY 00992 loopback_SecondaryColor3dvEXT_f( const GLdouble *v ) 00993 { 00994 SECONDARYCOLORF( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] ); 00995 } 00996 static void GLAPIENTRY 00997 loopback_SecondaryColor3ivEXT_f( const GLint *v ) 00998 { 00999 SECONDARYCOLORF(INT_TO_FLOAT(v[0]), 01000 INT_TO_FLOAT(v[1]), 01001 INT_TO_FLOAT(v[2])); 01002 } 01003 01004 static void GLAPIENTRY 01005 loopback_SecondaryColor3svEXT_f( const GLshort *v ) 01006 { 01007 SECONDARYCOLORF(SHORT_TO_FLOAT(v[0]), 01008 SHORT_TO_FLOAT(v[1]), 01009 SHORT_TO_FLOAT(v[2])); 01010 } 01011 01012 static void GLAPIENTRY 01013 loopback_SecondaryColor3uivEXT_f( const GLuint *v ) 01014 { 01015 SECONDARYCOLORF(UINT_TO_FLOAT(v[0]), 01016 UINT_TO_FLOAT(v[1]), 01017 UINT_TO_FLOAT(v[2])); 01018 } 01019 01020 static void GLAPIENTRY 01021 loopback_SecondaryColor3usvEXT_f( const GLushort *v ) 01022 { 01023 SECONDARYCOLORF(USHORT_TO_FLOAT(v[0]), 01024 USHORT_TO_FLOAT(v[1]), 01025 USHORT_TO_FLOAT(v[2])); 01026 } 01027 01028 static void GLAPIENTRY 01029 loopback_SecondaryColor3ubvEXT_f( const GLubyte *v ) 01030 { 01031 SECONDARYCOLORF(UBYTE_TO_FLOAT(v[0]), 01032 UBYTE_TO_FLOAT(v[1]), 01033 UBYTE_TO_FLOAT(v[2])); 01034 } 01035 01036 01037 /* 01038 * GL_NV_vertex_program: 01039 * Always loop-back to one of the VertexAttrib[1234]f[v]NV functions. 01040 */ 01041 01042 static void GLAPIENTRY 01043 loopback_VertexAttrib1sNV(GLuint index, GLshort x) 01044 { 01045 ATTRIB1NV(index, (GLfloat) x); 01046 } 01047 01048 static void GLAPIENTRY 01049 loopback_VertexAttrib1dNV(GLuint index, GLdouble x) 01050 { 01051 ATTRIB1NV(index, (GLfloat) x); 01052 } 01053 01054 static void GLAPIENTRY 01055 loopback_VertexAttrib2sNV(GLuint index, GLshort x, GLshort y) 01056 { 01057 ATTRIB2NV(index, (GLfloat) x, y); 01058 } 01059 01060 static void GLAPIENTRY 01061 loopback_VertexAttrib2dNV(GLuint index, GLdouble x, GLdouble y) 01062 { 01063 ATTRIB2NV(index, (GLfloat) x, (GLfloat) y); 01064 } 01065 01066 static void GLAPIENTRY 01067 loopback_VertexAttrib3sNV(GLuint index, GLshort x, GLshort y, GLshort z) 01068 { 01069 ATTRIB3NV(index, (GLfloat) x, (GLfloat) y, (GLfloat) z); 01070 } 01071 01072 static void GLAPIENTRY 01073 loopback_VertexAttrib3dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z) 01074 { 01075 ATTRIB4NV(index, (GLfloat) x, (GLfloat) y, (GLfloat) z, 1.0F); 01076 } 01077 01078 static void GLAPIENTRY 01079 loopback_VertexAttrib4sNV(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w) 01080 { 01081 ATTRIB4NV(index, (GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w); 01082 } 01083 01084 static void GLAPIENTRY 01085 loopback_VertexAttrib4dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) 01086 { 01087 ATTRIB4NV(index, (GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w); 01088 } 01089 01090 static void GLAPIENTRY 01091 loopback_VertexAttrib4ubNV(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) 01092 { 01093 ATTRIB4NV(index, UBYTE_TO_FLOAT(x), UBYTE_TO_FLOAT(y), 01094 UBYTE_TO_FLOAT(z), UBYTE_TO_FLOAT(w)); 01095 } 01096 01097 static void GLAPIENTRY 01098 loopback_VertexAttrib1svNV(GLuint index, const GLshort *v) 01099 { 01100 ATTRIB1NV(index, (GLfloat) v[0]); 01101 } 01102 01103 static void GLAPIENTRY 01104 loopback_VertexAttrib1dvNV(GLuint index, const GLdouble *v) 01105 { 01106 ATTRIB1NV(index, (GLfloat) v[0]); 01107 } 01108 01109 static void GLAPIENTRY 01110 loopback_VertexAttrib2svNV(GLuint index, const GLshort *v) 01111 { 01112 ATTRIB2NV(index, (GLfloat) v[0], (GLfloat) v[1]); 01113 } 01114 01115 static void GLAPIENTRY 01116 loopback_VertexAttrib2dvNV(GLuint index, const GLdouble *v) 01117 { 01118 ATTRIB2NV(index, (GLfloat) v[0], (GLfloat) v[1]); 01119 } 01120 01121 static void GLAPIENTRY 01122 loopback_VertexAttrib3svNV(GLuint index, const GLshort *v) 01123 { 01124 ATTRIB3NV(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2]); 01125 } 01126 01127 static void GLAPIENTRY 01128 loopback_VertexAttrib3dvNV(GLuint index, const GLdouble *v) 01129 { 01130 ATTRIB3NV(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2]); 01131 } 01132 01133 static void GLAPIENTRY 01134 loopback_VertexAttrib4svNV(GLuint index, const GLshort *v) 01135 { 01136 ATTRIB4NV(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], 01137 (GLfloat)v[3]); 01138 } 01139 01140 static void GLAPIENTRY 01141 loopback_VertexAttrib4dvNV(GLuint index, const GLdouble *v) 01142 { 01143 ATTRIB4NV(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]); 01144 } 01145 01146 static void GLAPIENTRY 01147 loopback_VertexAttrib4ubvNV(GLuint index, const GLubyte *v) 01148 { 01149 ATTRIB4NV(index, UBYTE_TO_FLOAT(v[0]), UBYTE_TO_FLOAT(v[1]), 01150 UBYTE_TO_FLOAT(v[2]), UBYTE_TO_FLOAT(v[3])); 01151 } 01152 01153 01154 static void GLAPIENTRY 01155 loopback_VertexAttribs1svNV(GLuint index, GLsizei n, const GLshort *v) 01156 { 01157 GLint i; 01158 for (i = n - 1; i >= 0; i--) 01159 loopback_VertexAttrib1svNV(index + i, v + i); 01160 } 01161 01162 static void GLAPIENTRY 01163 loopback_VertexAttribs1fvNV(GLuint index, GLsizei n, const GLfloat *v) 01164 { 01165 GLint i; 01166 for (i = n - 1; i >= 0; i--) 01167 ATTRIB1NV(index + i, v[i]); 01168 } 01169 01170 static void GLAPIENTRY 01171 loopback_VertexAttribs1dvNV(GLuint index, GLsizei n, const GLdouble *v) 01172 { 01173 GLint i; 01174 for (i = n - 1; i >= 0; i--) 01175 loopback_VertexAttrib1dvNV(index + i, v + i); 01176 } 01177 01178 static void GLAPIENTRY 01179 loopback_VertexAttribs2svNV(GLuint index, GLsizei n, const GLshort *v) 01180 { 01181 GLint i; 01182 for (i = n - 1; i >= 0; i--) 01183 loopback_VertexAttrib2svNV(index + i, v + 2 * i); 01184 } 01185 01186 static void GLAPIENTRY 01187 loopback_VertexAttribs2fvNV(GLuint index, GLsizei n, const GLfloat *v) 01188 { 01189 GLint i; 01190 for (i = n - 1; i >= 0; i--) 01191 ATTRIB2NV(index + i, v[2 * i], v[2 * i + 1]); 01192 } 01193 01194 static void GLAPIENTRY 01195 loopback_VertexAttribs2dvNV(GLuint index, GLsizei n, const GLdouble *v) 01196 { 01197 GLint i; 01198 for (i = n - 1; i >= 0; i--) 01199 loopback_VertexAttrib2dvNV(index + i, v + 2 * i); 01200 } 01201 01202 static void GLAPIENTRY 01203 loopback_VertexAttribs3svNV(GLuint index, GLsizei n, const GLshort *v) 01204 { 01205 GLint i; 01206 for (i = n - 1; i >= 0; i--) 01207 loopback_VertexAttrib3svNV(index + i, v + 3 * i); 01208 } 01209 01210 static void GLAPIENTRY 01211 loopback_VertexAttribs3fvNV(GLuint index, GLsizei n, const GLfloat *v) 01212 { 01213 GLint i; 01214 for (i = n - 1; i >= 0; i--) 01215 ATTRIB3NV(index + i, v[3 * i], v[3 * i + 1], v[3 * i + 2]); 01216 } 01217 01218 static void GLAPIENTRY 01219 loopback_VertexAttribs3dvNV(GLuint index, GLsizei n, const GLdouble *v) 01220 { 01221 GLint i; 01222 for (i = n - 1; i >= 0; i--) 01223 loopback_VertexAttrib3dvNV(index + i, v + 3 * i); 01224 } 01225 01226 static void GLAPIENTRY 01227 loopback_VertexAttribs4svNV(GLuint index, GLsizei n, const GLshort *v) 01228 { 01229 GLint i; 01230 for (i = n - 1; i >= 0; i--) 01231 loopback_VertexAttrib4svNV(index + i, v + 4 * i); 01232 } 01233 01234 static void GLAPIENTRY 01235 loopback_VertexAttribs4fvNV(GLuint index, GLsizei n, const GLfloat *v) 01236 { 01237 GLint i; 01238 for (i = n - 1; i >= 0; i--) 01239 ATTRIB4NV(index + i, v[4 * i], v[4 * i + 1], v[4 * i + 2], v[4 * i + 3]); 01240 } 01241 01242 static void GLAPIENTRY 01243 loopback_VertexAttribs4dvNV(GLuint index, GLsizei n, const GLdouble *v) 01244 { 01245 GLint i; 01246 for (i = n - 1; i >= 0; i--) 01247 loopback_VertexAttrib4dvNV(index + i, v + 4 * i); 01248 } 01249 01250 static void GLAPIENTRY 01251 loopback_VertexAttribs4ubvNV(GLuint index, GLsizei n, const GLubyte *v) 01252 { 01253 GLint i; 01254 for (i = n - 1; i >= 0; i--) 01255 loopback_VertexAttrib4ubvNV(index + i, v + 4 * i); 01256 } 01257 01258 01259 /* 01260 * GL_ARB_vertex_program 01261 * Always loop-back to one of the VertexAttrib[1234]f[v]ARB functions. 01262 */ 01263 01264 static void GLAPIENTRY 01265 loopback_VertexAttrib1sARB(GLuint index, GLshort x) 01266 { 01267 ATTRIB1ARB(index, (GLfloat) x); 01268 } 01269 01270 static void GLAPIENTRY 01271 loopback_VertexAttrib1dARB(GLuint index, GLdouble x) 01272 { 01273 ATTRIB1ARB(index, (GLfloat) x); 01274 } 01275 01276 static void GLAPIENTRY 01277 loopback_VertexAttrib2sARB(GLuint index, GLshort x, GLshort y) 01278 { 01279 ATTRIB2ARB(index, (GLfloat) x, y); 01280 } 01281 01282 static void GLAPIENTRY 01283 loopback_VertexAttrib2dARB(GLuint index, GLdouble x, GLdouble y) 01284 { 01285 ATTRIB2ARB(index, (GLfloat) x, (GLfloat) y); 01286 } 01287 01288 static void GLAPIENTRY 01289 loopback_VertexAttrib3sARB(GLuint index, GLshort x, GLshort y, GLshort z) 01290 { 01291 ATTRIB3ARB(index, (GLfloat) x, (GLfloat) y, (GLfloat) z); 01292 } 01293 01294 static void GLAPIENTRY 01295 loopback_VertexAttrib3dARB(GLuint index, GLdouble x, GLdouble y, GLdouble z) 01296 { 01297 ATTRIB4ARB(index, (GLfloat) x, (GLfloat) y, (GLfloat) z, 1.0F); 01298 } 01299 01300 static void GLAPIENTRY 01301 loopback_VertexAttrib4sARB(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w) 01302 { 01303 ATTRIB4ARB(index, (GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w); 01304 } 01305 01306 static void GLAPIENTRY 01307 loopback_VertexAttrib4dARB(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) 01308 { 01309 ATTRIB4ARB(index, (GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w); 01310 } 01311 01312 static void GLAPIENTRY 01313 loopback_VertexAttrib1svARB(GLuint index, const GLshort *v) 01314 { 01315 ATTRIB1ARB(index, (GLfloat) v[0]); 01316 } 01317 01318 static void GLAPIENTRY 01319 loopback_VertexAttrib1dvARB(GLuint index, const GLdouble *v) 01320 { 01321 ATTRIB1ARB(index, (GLfloat) v[0]); 01322 } 01323 01324 static void GLAPIENTRY 01325 loopback_VertexAttrib2svARB(GLuint index, const GLshort *v) 01326 { 01327 ATTRIB2ARB(index, (GLfloat) v[0], (GLfloat) v[1]); 01328 } 01329 01330 static void GLAPIENTRY 01331 loopback_VertexAttrib2dvARB(GLuint index, const GLdouble *v) 01332 { 01333 ATTRIB2ARB(index, (GLfloat) v[0], (GLfloat) v[1]); 01334 } 01335 01336 static void GLAPIENTRY 01337 loopback_VertexAttrib3svARB(GLuint index, const GLshort *v) 01338 { 01339 ATTRIB3ARB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2]); 01340 } 01341 01342 static void GLAPIENTRY 01343 loopback_VertexAttrib3dvARB(GLuint index, const GLdouble *v) 01344 { 01345 ATTRIB3ARB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2]); 01346 } 01347 01348 static void GLAPIENTRY 01349 loopback_VertexAttrib4svARB(GLuint index, const GLshort *v) 01350 { 01351 ATTRIB4ARB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], 01352 (GLfloat)v[3]); 01353 } 01354 01355 static void GLAPIENTRY 01356 loopback_VertexAttrib4dvARB(GLuint index, const GLdouble *v) 01357 { 01358 ATTRIB4ARB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]); 01359 } 01360 01361 static void GLAPIENTRY 01362 loopback_VertexAttrib4bvARB(GLuint index, const GLbyte * v) 01363 { 01364 ATTRIB4ARB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]); 01365 } 01366 01367 static void GLAPIENTRY 01368 loopback_VertexAttrib4ivARB(GLuint index, const GLint * v) 01369 { 01370 ATTRIB4ARB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]); 01371 } 01372 01373 static void GLAPIENTRY 01374 loopback_VertexAttrib4ubvARB(GLuint index, const GLubyte * v) 01375 { 01376 ATTRIB4ARB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]); 01377 } 01378 01379 static void GLAPIENTRY 01380 loopback_VertexAttrib4usvARB(GLuint index, const GLushort * v) 01381 { 01382 ATTRIB4ARB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]); 01383 } 01384 01385 static void GLAPIENTRY 01386 loopback_VertexAttrib4uivARB(GLuint index, const GLuint * v) 01387 { 01388 ATTRIB4ARB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]); 01389 } 01390 01391 static void GLAPIENTRY 01392 loopback_VertexAttrib4NbvARB(GLuint index, const GLbyte * v) 01393 { 01394 ATTRIB4ARB(index, BYTE_TO_FLOAT(v[0]), BYTE_TO_FLOAT(v[1]), 01395 BYTE_TO_FLOAT(v[2]), BYTE_TO_FLOAT(v[3])); 01396 } 01397 01398 static void GLAPIENTRY 01399 loopback_VertexAttrib4NsvARB(GLuint index, const GLshort * v) 01400 { 01401 ATTRIB4ARB(index, SHORT_TO_FLOAT(v[0]), SHORT_TO_FLOAT(v[1]), 01402 SHORT_TO_FLOAT(v[2]), SHORT_TO_FLOAT(v[3])); 01403 } 01404 01405 static void GLAPIENTRY 01406 loopback_VertexAttrib4NivARB(GLuint index, const GLint * v) 01407 { 01408 ATTRIB4ARB(index, INT_TO_FLOAT(v[0]), INT_TO_FLOAT(v[1]), 01409 INT_TO_FLOAT(v[2]), INT_TO_FLOAT(v[3])); 01410 } 01411 01412 static void GLAPIENTRY 01413 loopback_VertexAttrib4NubARB(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) 01414 { 01415 ATTRIB4ARB(index, UBYTE_TO_FLOAT(x), UBYTE_TO_FLOAT(y), 01416 UBYTE_TO_FLOAT(z), UBYTE_TO_FLOAT(w)); 01417 } 01418 01419 static void GLAPIENTRY 01420 loopback_VertexAttrib4NubvARB(GLuint index, const GLubyte * v) 01421 { 01422 ATTRIB4ARB(index, UBYTE_TO_FLOAT(v[0]), UBYTE_TO_FLOAT(v[1]), 01423 UBYTE_TO_FLOAT(v[2]), UBYTE_TO_FLOAT(v[3])); 01424 } 01425 01426 static void GLAPIENTRY 01427 loopback_VertexAttrib4NusvARB(GLuint index, const GLushort * v) 01428 { 01429 ATTRIB4ARB(index, USHORT_TO_FLOAT(v[0]), USHORT_TO_FLOAT(v[1]), 01430 USHORT_TO_FLOAT(v[2]), USHORT_TO_FLOAT(v[3])); 01431 } 01432 01433 static void GLAPIENTRY 01434 loopback_VertexAttrib4NuivARB(GLuint index, const GLuint * v) 01435 { 01436 ATTRIB4ARB(index, UINT_TO_FLOAT(v[0]), UINT_TO_FLOAT(v[1]), 01437 UINT_TO_FLOAT(v[2]), UINT_TO_FLOAT(v[3])); 01438 } 01439 01440 01441 01442 01443 /* 01444 * This code never registers handlers for any of the entry points 01445 * listed in vtxfmt.h. 01446 */ 01447 void 01448 _mesa_loopback_init_api_table( struct _glapi_table *dest ) 01449 { 01450 SET_Color3b(dest, loopback_Color3b_f); 01451 SET_Color3d(dest, loopback_Color3d_f); 01452 SET_Color3i(dest, loopback_Color3i_f); 01453 SET_Color3s(dest, loopback_Color3s_f); 01454 SET_Color3ui(dest, loopback_Color3ui_f); 01455 SET_Color3us(dest, loopback_Color3us_f); 01456 SET_Color3ub(dest, loopback_Color3ub_f); 01457 SET_Color4b(dest, loopback_Color4b_f); 01458 SET_Color4d(dest, loopback_Color4d_f); 01459 SET_Color4i(dest, loopback_Color4i_f); 01460 SET_Color4s(dest, loopback_Color4s_f); 01461 SET_Color4ui(dest, loopback_Color4ui_f); 01462 SET_Color4us(dest, loopback_Color4us_f); 01463 SET_Color4ub(dest, loopback_Color4ub_f); 01464 SET_Color3bv(dest, loopback_Color3bv_f); 01465 SET_Color3dv(dest, loopback_Color3dv_f); 01466 SET_Color3iv(dest, loopback_Color3iv_f); 01467 SET_Color3sv(dest, loopback_Color3sv_f); 01468 SET_Color3uiv(dest, loopback_Color3uiv_f); 01469 SET_Color3usv(dest, loopback_Color3usv_f); 01470 SET_Color3ubv(dest, loopback_Color3ubv_f); 01471 SET_Color4bv(dest, loopback_Color4bv_f); 01472 SET_Color4dv(dest, loopback_Color4dv_f); 01473 SET_Color4iv(dest, loopback_Color4iv_f); 01474 SET_Color4sv(dest, loopback_Color4sv_f); 01475 SET_Color4uiv(dest, loopback_Color4uiv_f); 01476 SET_Color4usv(dest, loopback_Color4usv_f); 01477 SET_Color4ubv(dest, loopback_Color4ubv_f); 01478 01479 SET_SecondaryColor3bEXT(dest, loopback_SecondaryColor3bEXT_f); 01480 SET_SecondaryColor3dEXT(dest, loopback_SecondaryColor3dEXT_f); 01481 SET_SecondaryColor3iEXT(dest, loopback_SecondaryColor3iEXT_f); 01482 SET_SecondaryColor3sEXT(dest, loopback_SecondaryColor3sEXT_f); 01483 SET_SecondaryColor3uiEXT(dest, loopback_SecondaryColor3uiEXT_f); 01484 SET_SecondaryColor3usEXT(dest, loopback_SecondaryColor3usEXT_f); 01485 SET_SecondaryColor3ubEXT(dest, loopback_SecondaryColor3ubEXT_f); 01486 SET_SecondaryColor3bvEXT(dest, loopback_SecondaryColor3bvEXT_f); 01487 SET_SecondaryColor3dvEXT(dest, loopback_SecondaryColor3dvEXT_f); 01488 SET_SecondaryColor3ivEXT(dest, loopback_SecondaryColor3ivEXT_f); 01489 SET_SecondaryColor3svEXT(dest, loopback_SecondaryColor3svEXT_f); 01490 SET_SecondaryColor3uivEXT(dest, loopback_SecondaryColor3uivEXT_f); 01491 SET_SecondaryColor3usvEXT(dest, loopback_SecondaryColor3usvEXT_f); 01492 SET_SecondaryColor3ubvEXT(dest, loopback_SecondaryColor3ubvEXT_f); 01493 01494 SET_EdgeFlagv(dest, loopback_EdgeFlagv); 01495 01496 SET_Indexd(dest, loopback_Indexd); 01497 SET_Indexi(dest, loopback_Indexi); 01498 SET_Indexs(dest, loopback_Indexs); 01499 SET_Indexub(dest, loopback_Indexub); 01500 SET_Indexdv(dest, loopback_Indexdv); 01501 SET_Indexiv(dest, loopback_Indexiv); 01502 SET_Indexsv(dest, loopback_Indexsv); 01503 SET_Indexubv(dest, loopback_Indexubv); 01504 SET_Normal3b(dest, loopback_Normal3b); 01505 SET_Normal3d(dest, loopback_Normal3d); 01506 SET_Normal3i(dest, loopback_Normal3i); 01507 SET_Normal3s(dest, loopback_Normal3s); 01508 SET_Normal3bv(dest, loopback_Normal3bv); 01509 SET_Normal3dv(dest, loopback_Normal3dv); 01510 SET_Normal3iv(dest, loopback_Normal3iv); 01511 SET_Normal3sv(dest, loopback_Normal3sv); 01512 SET_TexCoord1d(dest, loopback_TexCoord1d); 01513 SET_TexCoord1i(dest, loopback_TexCoord1i); 01514 SET_TexCoord1s(dest, loopback_TexCoord1s); 01515 SET_TexCoord2d(dest, loopback_TexCoord2d); 01516 SET_TexCoord2s(dest, loopback_TexCoord2s); 01517 SET_TexCoord2i(dest, loopback_TexCoord2i); 01518 SET_TexCoord3d(dest, loopback_TexCoord3d); 01519 SET_TexCoord3i(dest, loopback_TexCoord3i); 01520 SET_TexCoord3s(dest, loopback_TexCoord3s); 01521 SET_TexCoord4d(dest, loopback_TexCoord4d); 01522 SET_TexCoord4i(dest, loopback_TexCoord4i); 01523 SET_TexCoord4s(dest, loopback_TexCoord4s); 01524 SET_TexCoord1dv(dest, loopback_TexCoord1dv); 01525 SET_TexCoord1iv(dest, loopback_TexCoord1iv); 01526 SET_TexCoord1sv(dest, loopback_TexCoord1sv); 01527 SET_TexCoord2dv(dest, loopback_TexCoord2dv); 01528 SET_TexCoord2iv(dest, loopback_TexCoord2iv); 01529 SET_TexCoord2sv(dest, loopback_TexCoord2sv); 01530 SET_TexCoord3dv(dest, loopback_TexCoord3dv); 01531 SET_TexCoord3iv(dest, loopback_TexCoord3iv); 01532 SET_TexCoord3sv(dest, loopback_TexCoord3sv); 01533 SET_TexCoord4dv(dest, loopback_TexCoord4dv); 01534 SET_TexCoord4iv(dest, loopback_TexCoord4iv); 01535 SET_TexCoord4sv(dest, loopback_TexCoord4sv); 01536 SET_Vertex2d(dest, loopback_Vertex2d); 01537 SET_Vertex2i(dest, loopback_Vertex2i); 01538 SET_Vertex2s(dest, loopback_Vertex2s); 01539 SET_Vertex3d(dest, loopback_Vertex3d); 01540 SET_Vertex3i(dest, loopback_Vertex3i); 01541 SET_Vertex3s(dest, loopback_Vertex3s); 01542 SET_Vertex4d(dest, loopback_Vertex4d); 01543 SET_Vertex4i(dest, loopback_Vertex4i); 01544 SET_Vertex4s(dest, loopback_Vertex4s); 01545 SET_Vertex2dv(dest, loopback_Vertex2dv); 01546 SET_Vertex2iv(dest, loopback_Vertex2iv); 01547 SET_Vertex2sv(dest, loopback_Vertex2sv); 01548 SET_Vertex3dv(dest, loopback_Vertex3dv); 01549 SET_Vertex3iv(dest, loopback_Vertex3iv); 01550 SET_Vertex3sv(dest, loopback_Vertex3sv); 01551 SET_Vertex4dv(dest, loopback_Vertex4dv); 01552 SET_Vertex4iv(dest, loopback_Vertex4iv); 01553 SET_Vertex4sv(dest, loopback_Vertex4sv); 01554 SET_MultiTexCoord1dARB(dest, loopback_MultiTexCoord1dARB); 01555 SET_MultiTexCoord1dvARB(dest, loopback_MultiTexCoord1dvARB); 01556 SET_MultiTexCoord1iARB(dest, loopback_MultiTexCoord1iARB); 01557 SET_MultiTexCoord1ivARB(dest, loopback_MultiTexCoord1ivARB); 01558 SET_MultiTexCoord1sARB(dest, loopback_MultiTexCoord1sARB); 01559 SET_MultiTexCoord1svARB(dest, loopback_MultiTexCoord1svARB); 01560 SET_MultiTexCoord2dARB(dest, loopback_MultiTexCoord2dARB); 01561 SET_MultiTexCoord2dvARB(dest, loopback_MultiTexCoord2dvARB); 01562 SET_MultiTexCoord2iARB(dest, loopback_MultiTexCoord2iARB); 01563 SET_MultiTexCoord2ivARB(dest, loopback_MultiTexCoord2ivARB); 01564 SET_MultiTexCoord2sARB(dest, loopback_MultiTexCoord2sARB); 01565 SET_MultiTexCoord2svARB(dest, loopback_MultiTexCoord2svARB); 01566 SET_MultiTexCoord3dARB(dest, loopback_MultiTexCoord3dARB); 01567 SET_MultiTexCoord3dvARB(dest, loopback_MultiTexCoord3dvARB); 01568 SET_MultiTexCoord3iARB(dest, loopback_MultiTexCoord3iARB); 01569 SET_MultiTexCoord3ivARB(dest, loopback_MultiTexCoord3ivARB); 01570 SET_MultiTexCoord3sARB(dest, loopback_MultiTexCoord3sARB); 01571 SET_MultiTexCoord3svARB(dest, loopback_MultiTexCoord3svARB); 01572 SET_MultiTexCoord4dARB(dest, loopback_MultiTexCoord4dARB); 01573 SET_MultiTexCoord4dvARB(dest, loopback_MultiTexCoord4dvARB); 01574 SET_MultiTexCoord4iARB(dest, loopback_MultiTexCoord4iARB); 01575 SET_MultiTexCoord4ivARB(dest, loopback_MultiTexCoord4ivARB); 01576 SET_MultiTexCoord4sARB(dest, loopback_MultiTexCoord4sARB); 01577 SET_MultiTexCoord4svARB(dest, loopback_MultiTexCoord4svARB); 01578 SET_EvalCoord2dv(dest, loopback_EvalCoord2dv); 01579 SET_EvalCoord2fv(dest, loopback_EvalCoord2fv); 01580 SET_EvalCoord2d(dest, loopback_EvalCoord2d); 01581 SET_EvalCoord1dv(dest, loopback_EvalCoord1dv); 01582 SET_EvalCoord1fv(dest, loopback_EvalCoord1fv); 01583 SET_EvalCoord1d(dest, loopback_EvalCoord1d); 01584 SET_Materialf(dest, loopback_Materialf); 01585 SET_Materiali(dest, loopback_Materiali); 01586 SET_Materialiv(dest, loopback_Materialiv); 01587 SET_Rectd(dest, loopback_Rectd); 01588 SET_Rectdv(dest, loopback_Rectdv); 01589 SET_Rectfv(dest, loopback_Rectfv); 01590 SET_Recti(dest, loopback_Recti); 01591 SET_Rectiv(dest, loopback_Rectiv); 01592 SET_Rects(dest, loopback_Rects); 01593 SET_Rectsv(dest, loopback_Rectsv); 01594 SET_FogCoorddEXT(dest, loopback_FogCoorddEXT); 01595 SET_FogCoorddvEXT(dest, loopback_FogCoorddvEXT); 01596 01597 SET_VertexAttrib1sNV(dest, loopback_VertexAttrib1sNV); 01598 SET_VertexAttrib1dNV(dest, loopback_VertexAttrib1dNV); 01599 SET_VertexAttrib2sNV(dest, loopback_VertexAttrib2sNV); 01600 SET_VertexAttrib2dNV(dest, loopback_VertexAttrib2dNV); 01601 SET_VertexAttrib3sNV(dest, loopback_VertexAttrib3sNV); 01602 SET_VertexAttrib3dNV(dest, loopback_VertexAttrib3dNV); 01603 SET_VertexAttrib4sNV(dest, loopback_VertexAttrib4sNV); 01604 SET_VertexAttrib4dNV(dest, loopback_VertexAttrib4dNV); 01605 SET_VertexAttrib4ubNV(dest, loopback_VertexAttrib4ubNV); 01606 SET_VertexAttrib1svNV(dest, loopback_VertexAttrib1svNV); 01607 SET_VertexAttrib1dvNV(dest, loopback_VertexAttrib1dvNV); 01608 SET_VertexAttrib2svNV(dest, loopback_VertexAttrib2svNV); 01609 SET_VertexAttrib2dvNV(dest, loopback_VertexAttrib2dvNV); 01610 SET_VertexAttrib3svNV(dest, loopback_VertexAttrib3svNV); 01611 SET_VertexAttrib3dvNV(dest, loopback_VertexAttrib3dvNV); 01612 SET_VertexAttrib4svNV(dest, loopback_VertexAttrib4svNV); 01613 SET_VertexAttrib4dvNV(dest, loopback_VertexAttrib4dvNV); 01614 SET_VertexAttrib4ubvNV(dest, loopback_VertexAttrib4ubvNV); 01615 SET_VertexAttribs1svNV(dest, loopback_VertexAttribs1svNV); 01616 SET_VertexAttribs1fvNV(dest, loopback_VertexAttribs1fvNV); 01617 SET_VertexAttribs1dvNV(dest, loopback_VertexAttribs1dvNV); 01618 SET_VertexAttribs2svNV(dest, loopback_VertexAttribs2svNV); 01619 SET_VertexAttribs2fvNV(dest, loopback_VertexAttribs2fvNV); 01620 SET_VertexAttribs2dvNV(dest, loopback_VertexAttribs2dvNV); 01621 SET_VertexAttribs3svNV(dest, loopback_VertexAttribs3svNV); 01622 SET_VertexAttribs3fvNV(dest, loopback_VertexAttribs3fvNV); 01623 SET_VertexAttribs3dvNV(dest, loopback_VertexAttribs3dvNV); 01624 SET_VertexAttribs4svNV(dest, loopback_VertexAttribs4svNV); 01625 SET_VertexAttribs4fvNV(dest, loopback_VertexAttribs4fvNV); 01626 SET_VertexAttribs4dvNV(dest, loopback_VertexAttribs4dvNV); 01627 SET_VertexAttribs4ubvNV(dest, loopback_VertexAttribs4ubvNV); 01628 01629 SET_VertexAttrib1sARB(dest, loopback_VertexAttrib1sARB); 01630 SET_VertexAttrib1dARB(dest, loopback_VertexAttrib1dARB); 01631 SET_VertexAttrib2sARB(dest, loopback_VertexAttrib2sARB); 01632 SET_VertexAttrib2dARB(dest, loopback_VertexAttrib2dARB); 01633 SET_VertexAttrib3sARB(dest, loopback_VertexAttrib3sARB); 01634 SET_VertexAttrib3dARB(dest, loopback_VertexAttrib3dARB); 01635 SET_VertexAttrib4sARB(dest, loopback_VertexAttrib4sARB); 01636 SET_VertexAttrib4dARB(dest, loopback_VertexAttrib4dARB); 01637 SET_VertexAttrib1svARB(dest, loopback_VertexAttrib1svARB); 01638 SET_VertexAttrib1dvARB(dest, loopback_VertexAttrib1dvARB); 01639 SET_VertexAttrib2svARB(dest, loopback_VertexAttrib2svARB); 01640 SET_VertexAttrib2dvARB(dest, loopback_VertexAttrib2dvARB); 01641 SET_VertexAttrib3svARB(dest, loopback_VertexAttrib3svARB); 01642 SET_VertexAttrib3dvARB(dest, loopback_VertexAttrib3dvARB); 01643 SET_VertexAttrib4svARB(dest, loopback_VertexAttrib4svARB); 01644 SET_VertexAttrib4dvARB(dest, loopback_VertexAttrib4dvARB); 01645 SET_VertexAttrib4NubARB(dest, loopback_VertexAttrib4NubARB); 01646 SET_VertexAttrib4NubvARB(dest, loopback_VertexAttrib4NubvARB); 01647 SET_VertexAttrib4bvARB(dest, loopback_VertexAttrib4bvARB); 01648 SET_VertexAttrib4ivARB(dest, loopback_VertexAttrib4ivARB); 01649 SET_VertexAttrib4ubvARB(dest, loopback_VertexAttrib4ubvARB); 01650 SET_VertexAttrib4usvARB(dest, loopback_VertexAttrib4usvARB); 01651 SET_VertexAttrib4uivARB(dest, loopback_VertexAttrib4uivARB); 01652 SET_VertexAttrib4NbvARB(dest, loopback_VertexAttrib4NbvARB); 01653 SET_VertexAttrib4NsvARB(dest, loopback_VertexAttrib4NsvARB); 01654 SET_VertexAttrib4NivARB(dest, loopback_VertexAttrib4NivARB); 01655 SET_VertexAttrib4NusvARB(dest, loopback_VertexAttrib4NusvARB); 01656 SET_VertexAttrib4NuivARB(dest, loopback_VertexAttrib4NuivARB); 01657 } Generated on Mon May 28 2012 04:19:56 for ReactOS by
1.7.6.1
|