Massively cleaned up the code that calculates front/back/depth buffer
[mesa.git] / src / mesa / main / vtxfmt_tmp.h
1
2 /*
3 * Mesa 3-D graphics library
4 * Version: 4.1
5 *
6 * Copyright (C) 1999-2002 Brian Paul All Rights Reserved.
7 *
8 * Permission is hereby granted, free of charge, to any person obtaining a
9 * copy of this software and associated documentation files (the "Software"),
10 * to deal in the Software without restriction, including without limitation
11 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
12 * and/or sell copies of the Software, and to permit persons to whom the
13 * Software is furnished to do so, subject to the following conditions:
14 *
15 * The above copyright notice and this permission notice shall be included
16 * in all copies or substantial portions of the Software.
17 *
18 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
19 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
21 * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
22 * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
23 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24 *
25 * Authors:
26 * Gareth Hughes
27 */
28
29 #ifndef PRE_LOOPBACK
30 #define PRE_LOOPBACK( FUNC )
31 #endif
32
33 static void GLAPIENTRY TAG(ArrayElement)( GLint i )
34 {
35 PRE_LOOPBACK( ArrayElement );
36 GL_CALL(ArrayElement)( i );
37 }
38
39 static void GLAPIENTRY TAG(Color3f)( GLfloat r, GLfloat g, GLfloat b )
40 {
41 PRE_LOOPBACK( Color3f );
42 GL_CALL(Color3f)( r, g, b );
43 }
44
45 static void GLAPIENTRY TAG(Color3fv)( const GLfloat *v )
46 {
47 PRE_LOOPBACK( Color3fv );
48 GL_CALL(Color3fv)( v );
49 }
50
51 static void GLAPIENTRY TAG(Color4f)( GLfloat r, GLfloat g, GLfloat b, GLfloat a )
52 {
53 PRE_LOOPBACK( Color4f );
54 GL_CALL(Color4f)( r, g, b, a );
55 }
56
57 static void GLAPIENTRY TAG(Color4fv)( const GLfloat *v )
58 {
59 PRE_LOOPBACK( Color4fv );
60 GL_CALL(Color4fv)( v );
61 }
62
63 static void GLAPIENTRY TAG(EdgeFlag)( GLboolean e )
64 {
65 PRE_LOOPBACK( EdgeFlag );
66 GL_CALL(EdgeFlag)( e );
67 }
68
69 static void GLAPIENTRY TAG(EdgeFlagv)( const GLboolean *v )
70 {
71 PRE_LOOPBACK( EdgeFlagv );
72 GL_CALL(EdgeFlagv)( v );
73 }
74
75 static void GLAPIENTRY TAG(EvalCoord1f)( GLfloat s )
76 {
77 PRE_LOOPBACK( EvalCoord1f );
78 GL_CALL(EvalCoord1f)( s );
79 }
80
81 static void GLAPIENTRY TAG(EvalCoord1fv)( const GLfloat *v )
82 {
83 PRE_LOOPBACK( EvalCoord1fv );
84 GL_CALL(EvalCoord1fv)( v );
85 }
86
87 static void GLAPIENTRY TAG(EvalCoord2f)( GLfloat s, GLfloat t )
88 {
89 PRE_LOOPBACK( EvalCoord2f );
90 GL_CALL(EvalCoord2f)( s, t );
91 }
92
93 static void GLAPIENTRY TAG(EvalCoord2fv)( const GLfloat *v )
94 {
95 PRE_LOOPBACK( EvalCoord2fv );
96 GL_CALL(EvalCoord2fv)( v );
97 }
98
99 static void GLAPIENTRY TAG(EvalPoint1)( GLint i )
100 {
101 PRE_LOOPBACK( EvalPoint1 );
102 GL_CALL(EvalPoint1)( i );
103 }
104
105 static void GLAPIENTRY TAG(EvalPoint2)( GLint i, GLint j )
106 {
107 PRE_LOOPBACK( EvalPoint2 );
108 GL_CALL(EvalPoint2)( i, j );
109 }
110
111 static void GLAPIENTRY TAG(FogCoordfEXT)( GLfloat f )
112 {
113 PRE_LOOPBACK( FogCoordfEXT );
114 GL_CALL(FogCoordfEXT)( f );
115 }
116
117 static void GLAPIENTRY TAG(FogCoordfvEXT)( const GLfloat *v )
118 {
119 PRE_LOOPBACK( FogCoordfvEXT );
120 GL_CALL(FogCoordfvEXT)( v );
121 }
122
123 static void GLAPIENTRY TAG(Indexf)( GLfloat f )
124 {
125 PRE_LOOPBACK( Indexf );
126 GL_CALL(Indexf)( f );
127 }
128
129 static void GLAPIENTRY TAG(Indexfv)( const GLfloat *v )
130 {
131 PRE_LOOPBACK( Indexfv );
132 GL_CALL(Indexfv)( v );
133 }
134
135 static void GLAPIENTRY TAG(Materialfv)( GLenum face, GLenum pname, const GLfloat *v )
136 {
137 PRE_LOOPBACK( Materialfv );
138 GL_CALL(Materialfv)( face, pname, v );
139 }
140
141 static void GLAPIENTRY TAG(MultiTexCoord1fARB)( GLenum target, GLfloat a )
142 {
143 PRE_LOOPBACK( MultiTexCoord1fARB );
144 GL_CALL(MultiTexCoord1fARB)( target, a );
145 }
146
147 static void GLAPIENTRY TAG(MultiTexCoord1fvARB)( GLenum target, const GLfloat *tc )
148 {
149 PRE_LOOPBACK( MultiTexCoord1fvARB );
150 GL_CALL(MultiTexCoord1fvARB)( target, tc );
151 }
152
153 static void GLAPIENTRY TAG(MultiTexCoord2fARB)( GLenum target, GLfloat s, GLfloat t )
154 {
155 PRE_LOOPBACK( MultiTexCoord2fARB );
156 GL_CALL(MultiTexCoord2fARB)( target, s, t );
157 }
158
159 static void GLAPIENTRY TAG(MultiTexCoord2fvARB)( GLenum target, const GLfloat *tc )
160 {
161 PRE_LOOPBACK( MultiTexCoord2fvARB );
162 GL_CALL(MultiTexCoord2fvARB)( target, tc );
163 }
164
165 static void GLAPIENTRY TAG(MultiTexCoord3fARB)( GLenum target, GLfloat s,
166 GLfloat t, GLfloat r )
167 {
168 PRE_LOOPBACK( MultiTexCoord3fARB );
169 GL_CALL(MultiTexCoord3fARB)( target, s, t, r );
170 }
171
172 static void GLAPIENTRY TAG(MultiTexCoord3fvARB)( GLenum target, const GLfloat *tc )
173 {
174 PRE_LOOPBACK( MultiTexCoord3fvARB );
175 GL_CALL(MultiTexCoord3fvARB)( target, tc );
176 }
177
178 static void GLAPIENTRY TAG(MultiTexCoord4fARB)( GLenum target, GLfloat s,
179 GLfloat t, GLfloat r, GLfloat q )
180 {
181 PRE_LOOPBACK( MultiTexCoord4fARB );
182 GL_CALL(MultiTexCoord4fARB)( target, s, t, r, q );
183 }
184
185 static void GLAPIENTRY TAG(MultiTexCoord4fvARB)( GLenum target, const GLfloat *tc )
186 {
187 PRE_LOOPBACK( MultiTexCoord4fvARB );
188 GL_CALL(MultiTexCoord4fvARB)( target, tc );
189 }
190
191 static void GLAPIENTRY TAG(Normal3f)( GLfloat x, GLfloat y, GLfloat z )
192 {
193 PRE_LOOPBACK( Normal3f );
194 GL_CALL(Normal3f)( x, y, z );
195 }
196
197 static void GLAPIENTRY TAG(Normal3fv)( const GLfloat *v )
198 {
199 PRE_LOOPBACK( Normal3fv );
200 GL_CALL(Normal3fv)( v );
201 }
202
203 static void GLAPIENTRY TAG(SecondaryColor3fEXT)( GLfloat r, GLfloat g, GLfloat b )
204 {
205 PRE_LOOPBACK( SecondaryColor3fEXT );
206 GL_CALL(SecondaryColor3fEXT)( r, g, b );
207 }
208
209 static void GLAPIENTRY TAG(SecondaryColor3fvEXT)( const GLfloat *v )
210 {
211 PRE_LOOPBACK( SecondaryColor3fvEXT );
212 GL_CALL(SecondaryColor3fvEXT)( v );
213 }
214
215 static void GLAPIENTRY TAG(TexCoord1f)( GLfloat s )
216 {
217 PRE_LOOPBACK( TexCoord1f );
218 GL_CALL(TexCoord1f)( s );
219 }
220
221 static void GLAPIENTRY TAG(TexCoord1fv)( const GLfloat *tc )
222 {
223 PRE_LOOPBACK( TexCoord1fv );
224 GL_CALL(TexCoord1fv)( tc );
225 }
226
227 static void GLAPIENTRY TAG(TexCoord2f)( GLfloat s, GLfloat t )
228 {
229 PRE_LOOPBACK( TexCoord2f );
230 GL_CALL(TexCoord2f)( s, t );
231 }
232
233 static void GLAPIENTRY TAG(TexCoord2fv)( const GLfloat *tc )
234 {
235 PRE_LOOPBACK( TexCoord2fv );
236 GL_CALL(TexCoord2fv)( tc );
237 }
238
239 static void GLAPIENTRY TAG(TexCoord3f)( GLfloat s, GLfloat t, GLfloat r )
240 {
241 PRE_LOOPBACK( TexCoord3f );
242 GL_CALL(TexCoord3f)( s, t, r );
243 }
244
245 static void GLAPIENTRY TAG(TexCoord3fv)( const GLfloat *tc )
246 {
247 PRE_LOOPBACK( TexCoord3fv );
248 GL_CALL(TexCoord3fv)( tc );
249 }
250
251 static void GLAPIENTRY TAG(TexCoord4f)( GLfloat s, GLfloat t, GLfloat r, GLfloat q )
252 {
253 PRE_LOOPBACK( TexCoord4f );
254 GL_CALL(TexCoord4f)( s, t, r, q );
255 }
256
257 static void GLAPIENTRY TAG(TexCoord4fv)( const GLfloat *tc )
258 {
259 PRE_LOOPBACK( TexCoord4fv );
260 GL_CALL(TexCoord4fv)( tc );
261 }
262
263 static void GLAPIENTRY TAG(Vertex2f)( GLfloat x, GLfloat y )
264 {
265 PRE_LOOPBACK( Vertex2f );
266 GL_CALL(Vertex2f)( x, y );
267 }
268
269 static void GLAPIENTRY TAG(Vertex2fv)( const GLfloat *v )
270 {
271 PRE_LOOPBACK( Vertex2fv );
272 GL_CALL(Vertex2fv)( v );
273 }
274
275 static void GLAPIENTRY TAG(Vertex3f)( GLfloat x, GLfloat y, GLfloat z )
276 {
277 PRE_LOOPBACK( Vertex3f );
278 GL_CALL(Vertex3f)( x, y, z );
279 }
280
281 static void GLAPIENTRY TAG(Vertex3fv)( const GLfloat *v )
282 {
283 PRE_LOOPBACK( Vertex3fv );
284 GL_CALL(Vertex3fv)( v );
285 }
286
287 static void GLAPIENTRY TAG(Vertex4f)( GLfloat x, GLfloat y, GLfloat z, GLfloat w )
288 {
289 PRE_LOOPBACK( Vertex4f );
290 GL_CALL(Vertex4f)( x, y, z, w );
291 }
292
293 static void GLAPIENTRY TAG(Vertex4fv)( const GLfloat *v )
294 {
295 PRE_LOOPBACK( Vertex4fv );
296 GL_CALL(Vertex4fv)( v );
297 }
298
299 static void GLAPIENTRY TAG(CallList)( GLuint i )
300 {
301 PRE_LOOPBACK( CallList );
302 GL_CALL(CallList)( i );
303 }
304
305 static void GLAPIENTRY TAG(CallLists)( GLsizei sz, GLenum type, const GLvoid *v )
306 {
307 PRE_LOOPBACK( CallLists );
308 GL_CALL(CallLists)( sz, type, v );
309 }
310
311 static void GLAPIENTRY TAG(Begin)( GLenum mode )
312 {
313 PRE_LOOPBACK( Begin );
314 GL_CALL(Begin)( mode );
315 }
316
317 static void GLAPIENTRY TAG(End)( void )
318 {
319 PRE_LOOPBACK( End );
320 GL_CALL(End)();
321 }
322
323 static void GLAPIENTRY TAG(Rectf)( GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2 )
324 {
325 PRE_LOOPBACK( Rectf );
326 GL_CALL(Rectf)( x1, y1, x2, y2 );
327 }
328
329 static void GLAPIENTRY TAG(DrawArrays)( GLenum mode, GLint start, GLsizei count )
330 {
331 PRE_LOOPBACK( DrawArrays );
332 GL_CALL(DrawArrays)( mode, start, count );
333 }
334
335 static void GLAPIENTRY TAG(DrawElements)( GLenum mode, GLsizei count, GLenum type,
336 const GLvoid *indices )
337 {
338 PRE_LOOPBACK( DrawElements );
339 GL_CALL(DrawElements)( mode, count, type, indices );
340 }
341
342 static void GLAPIENTRY TAG(DrawRangeElements)( GLenum mode, GLuint start,
343 GLuint end, GLsizei count,
344 GLenum type, const GLvoid *indices )
345 {
346 PRE_LOOPBACK( DrawRangeElements );
347 GL_CALL(DrawRangeElements)( mode, start, end, count, type, indices );
348 }
349
350 static void GLAPIENTRY TAG(EvalMesh1)( GLenum mode, GLint i1, GLint i2 )
351 {
352 PRE_LOOPBACK( EvalMesh1 );
353 GL_CALL(EvalMesh1)( mode, i1, i2 );
354 }
355
356 static void GLAPIENTRY TAG(EvalMesh2)( GLenum mode, GLint i1, GLint i2,
357 GLint j1, GLint j2 )
358 {
359 PRE_LOOPBACK( EvalMesh2 );
360 GL_CALL(EvalMesh2)( mode, i1, i2, j1, j2 );
361 }
362
363 static void GLAPIENTRY TAG(VertexAttrib1fNV)( GLuint index, GLfloat x )
364 {
365 PRE_LOOPBACK( VertexAttrib1fNV );
366 GL_CALL(VertexAttrib1fNV)( index, x );
367 }
368
369 static void GLAPIENTRY TAG(VertexAttrib1fvNV)( GLuint index, const GLfloat *v )
370 {
371 PRE_LOOPBACK( VertexAttrib1fvNV );
372 GL_CALL(VertexAttrib1fvNV)( index, v );
373 }
374
375 static void GLAPIENTRY TAG(VertexAttrib2fNV)( GLuint index, GLfloat x, GLfloat y )
376 {
377 PRE_LOOPBACK( VertexAttrib2fNV );
378 GL_CALL(VertexAttrib2fNV)( index, x, y );
379 }
380
381 static void GLAPIENTRY TAG(VertexAttrib2fvNV)( GLuint index, const GLfloat *v )
382 {
383 PRE_LOOPBACK( VertexAttrib2fvNV );
384 GL_CALL(VertexAttrib2fvNV)( index, v );
385 }
386
387 static void GLAPIENTRY TAG(VertexAttrib3fNV)( GLuint index, GLfloat x, GLfloat y, GLfloat z )
388 {
389 PRE_LOOPBACK( VertexAttrib3fNV );
390 GL_CALL(VertexAttrib3fNV)( index, x, y, z );
391 }
392
393 static void GLAPIENTRY TAG(VertexAttrib3fvNV)( GLuint index, const GLfloat *v )
394 {
395 PRE_LOOPBACK( VertexAttrib3fvNV );
396 GL_CALL(VertexAttrib3fvNV)( index, v );
397 }
398
399 static void GLAPIENTRY TAG(VertexAttrib4fNV)( GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w )
400 {
401 PRE_LOOPBACK( VertexAttrib4fNV );
402 GL_CALL(VertexAttrib4fNV)( index, x, y, z, w );
403 }
404
405 static void GLAPIENTRY TAG(VertexAttrib4fvNV)( GLuint index, const GLfloat *v )
406 {
407 PRE_LOOPBACK( VertexAttrib4fvNV );
408 GL_CALL(VertexAttrib4fvNV)( index, v );
409 }
410
411
412 static GLvertexformat TAG(vtxfmt) = {
413 TAG(ArrayElement),
414 TAG(Color3f),
415 TAG(Color3fv),
416 TAG(Color4f),
417 TAG(Color4fv),
418 TAG(EdgeFlag),
419 TAG(EdgeFlagv),
420 TAG(EvalCoord1f),
421 TAG(EvalCoord1fv),
422 TAG(EvalCoord2f),
423 TAG(EvalCoord2fv),
424 TAG(EvalPoint1),
425 TAG(EvalPoint2),
426 TAG(FogCoordfEXT),
427 TAG(FogCoordfvEXT),
428 TAG(Indexf),
429 TAG(Indexfv),
430 TAG(Materialfv),
431 TAG(MultiTexCoord1fARB),
432 TAG(MultiTexCoord1fvARB),
433 TAG(MultiTexCoord2fARB),
434 TAG(MultiTexCoord2fvARB),
435 TAG(MultiTexCoord3fARB),
436 TAG(MultiTexCoord3fvARB),
437 TAG(MultiTexCoord4fARB),
438 TAG(MultiTexCoord4fvARB),
439 TAG(Normal3f),
440 TAG(Normal3fv),
441 TAG(SecondaryColor3fEXT),
442 TAG(SecondaryColor3fvEXT),
443 TAG(TexCoord1f),
444 TAG(TexCoord1fv),
445 TAG(TexCoord2f),
446 TAG(TexCoord2fv),
447 TAG(TexCoord3f),
448 TAG(TexCoord3fv),
449 TAG(TexCoord4f),
450 TAG(TexCoord4fv),
451 TAG(Vertex2f),
452 TAG(Vertex2fv),
453 TAG(Vertex3f),
454 TAG(Vertex3fv),
455 TAG(Vertex4f),
456 TAG(Vertex4fv),
457 TAG(CallList),
458 TAG(CallLists),
459 TAG(Begin),
460 TAG(End),
461 TAG(VertexAttrib1fNV),
462 TAG(VertexAttrib1fvNV),
463 TAG(VertexAttrib2fNV),
464 TAG(VertexAttrib2fvNV),
465 TAG(VertexAttrib3fNV),
466 TAG(VertexAttrib3fvNV),
467 TAG(VertexAttrib4fNV),
468 TAG(VertexAttrib4fvNV),
469 TAG(Rectf),
470 TAG(DrawArrays),
471 TAG(DrawElements),
472 TAG(DrawRangeElements),
473 TAG(EvalMesh1),
474 TAG(EvalMesh2)
475 };
476
477 #undef TAG
478 #undef PRE_LOOPBACK