Header file clean-up:
[mesa.git] / src / mesa / tnl / t_imm_elt.c
index 69457b8cf48aaa79721bdade459f77859006d916..f435dc9db03f03c4db969d12e5f83506947edd5e 100644 (file)
@@ -1,10 +1,10 @@
-/* $Id: t_imm_elt.c,v 1.10 2001/05/09 14:12:34 keithw Exp $ */
+/* $Id: t_imm_elt.c,v 1.19 2002/10/24 23:57:25 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
- * Version:  3.5
+ * Version:  4.1
  *
- * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved.
+ * Copyright (C) 1999-2002  Brian Paul   All Rights Reserved.
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the "Software"),
@@ -29,7 +29,8 @@
 
 #include "glheader.h"
 #include "colormac.h"
-#include "mem.h"
+#include "context.h"
+#include "imports.h"
 #include "mmath.h"
 #include "mtypes.h"
 
@@ -138,7 +139,7 @@ static trans_elt_4f_func  _tnl_trans_elt_4f_tab[5][MAX_TYPES];
                GLuint start, GLuint n
 #define SRC_START  0
 #define DST_START  start
-#define CHECK  if ((flags[i]&match) == VERT_ELT)
+#define CHECK  if ((flags[i]&match) == VERT_BIT_ELT)
 #define NEXT_F  (void)1
 #define NEXT_F2 f = first + elts[i] * stride;
 
@@ -425,12 +426,12 @@ static trans_elt_4f_func  _tnl_trans_elt_4f_tab[5][MAX_TYPES];
  */
 #define SRC GLdouble
 #define SRC_IDX TYPE_IDX(GL_DOUBLE)
-#define TRX_3F(f,n)   PTR_ELT(f,n)
-#define TRX_4F(f,n)   PTR_ELT(f,n)
+#define TRX_3F(f,n)    (GLfloat) PTR_ELT(f,n)
+#define TRX_4F(f,n)    (GLfloat) PTR_ELT(f,n)
 #define TRX_UB(ub,f,n) UNCLAMPED_FLOAT_TO_UBYTE(ub, PTR_ELT(f,n))
 #define TRX_US(us,f,n) UNCLAMPED_FLOAT_TO_USHORT(us, PTR_ELT(f,n))
-#define TRX_UI(f,n)  (GLuint) (GLint) PTR_ELT(f,n)
-#define TRX_1F(f,n)   PTR_ELT(f,n)
+#define TRX_UI(f,n)    (GLuint) (GLint) PTR_ELT(f,n)
+#define TRX_1F(f,n)    (GLfloat) PTR_ELT(f,n)
 
 
 #define SZ 4
@@ -597,6 +598,7 @@ void _tnl_imm_elt_init( void )
 }
 
 
+#if 00
 static void _tnl_trans_elt_1f(GLfloat *to,
                       const struct gl_client_array *from,
                       GLuint *flags,
@@ -615,6 +617,7 @@ static void _tnl_trans_elt_1f(GLfloat *to,
                                              n );
 
 }
+#endif
 
 static void _tnl_trans_elt_1ui(GLuint *to,
                        const struct gl_client_array *from,
@@ -719,6 +722,7 @@ static void _tnl_trans_elt_4f(GLfloat (*to)[4],
 
 
 
+#if 0
 static void _tnl_trans_elt_3f(GLfloat (*to)[3],
                       const struct gl_client_array *from,
                       GLuint *flags,
@@ -736,7 +740,7 @@ static void _tnl_trans_elt_3f(GLfloat (*to)[3],
                                              start,
                                              n );
 }
-
+#endif
 
 
 
@@ -754,66 +758,66 @@ void _tnl_translate_array_elts( GLcontext *ctx, struct immediate *IM,
    GLuint translate = ctx->Array._Enabled;
    GLuint i;
 
-   if (MESA_VERBOSE&VERBOSE_IMMEDIATE)
-      fprintf(stderr, "exec_array_elements %d .. %d\n", start, count);
+   if (MESA_VERBOSE & VERBOSE_IMMEDIATE)
+      _mesa_debug(ctx, "exec_array_elements %d .. %d\n", start, count);
 
-   if (translate & VERT_OBJ) {
-      _tnl_trans_elt_4f( IM->Obj,
+   if (translate & VERT_BIT_POS) {
+      _tnl_trans_elt_4f( IM->Attrib[VERT_ATTRIB_POS],
                         &ctx->Array.Vertex,
-                        flags, elts, (VERT_ELT|VERT_OBJ),
+                        flags, elts, (VERT_BIT_ELT|VERT_BIT_POS),
                         start, count);
 
       if (ctx->Array.Vertex.Size == 4)
-        translate |= VERT_OBJ_234;
+        translate |= VERT_BITS_OBJ_234;
       else if (ctx->Array.Vertex.Size == 3)
-        translate |= VERT_OBJ_23;
+        translate |= VERT_BITS_OBJ_23;
    }
 
 
-   if (translate & VERT_NORM)
-      _tnl_trans_elt_3f( IM->Normal,
+   if (translate & VERT_BIT_NORMAL)
+      _tnl_trans_elt_4f( IM->Attrib[VERT_ATTRIB_NORMAL],
                         &ctx->Array.Normal,
-                        flags, elts, (VERT_ELT|VERT_NORM),
+                        flags, elts, (VERT_BIT_ELT|VERT_BIT_NORMAL),
                         start, count);
 
-   if (translate & VERT_EDGE)
+   if (translate & VERT_BIT_EDGEFLAG)
       _tnl_trans_elt_1ub( IM->EdgeFlag,
                          &ctx->Array.EdgeFlag,
-                         flags, elts, (VERT_ELT|VERT_EDGE),
+                         flags, elts, (VERT_BIT_ELT|VERT_BIT_EDGEFLAG),
                          start, count);
 
-   if (translate & VERT_RGBA) {
-      _tnl_trans_elt_4f( IM->Color,
+   if (translate & VERT_BIT_COLOR0) {
+      _tnl_trans_elt_4f( IM->Attrib[VERT_ATTRIB_COLOR0],
                         &ctx->Array.Color,
-                        flags, elts, (VERT_ELT|VERT_RGBA),
+                        flags, elts, (VERT_BIT_ELT|VERT_BIT_COLOR0),
                         start, count);
    }
 
-   if (translate & VERT_SPEC_RGB) {
-      _tnl_trans_elt_4f( IM->SecondaryColor,
+   if (translate & VERT_BIT_COLOR1) {
+      _tnl_trans_elt_4f( IM->Attrib[VERT_ATTRIB_COLOR1],
                         &ctx->Array.SecondaryColor,
-                        flags, elts, (VERT_ELT|VERT_SPEC_RGB),
+                        flags, elts, (VERT_BIT_ELT|VERT_BIT_COLOR1),
                         start, count);
    }
 
-   if (translate & VERT_FOG_COORD)
-      _tnl_trans_elt_1f( IM->FogCoord,
+   if (translate & VERT_BIT_FOG)
+      _tnl_trans_elt_4f( IM->Attrib[VERT_ATTRIB_FOG],
                         &ctx->Array.FogCoord,
-                        flags, elts, (VERT_ELT|VERT_FOG_COORD),
+                        flags, elts, (VERT_BIT_ELT|VERT_BIT_FOG),
                         start, count);
 
-   if (translate & VERT_INDEX)
+   if (translate & VERT_BIT_INDEX)
       _tnl_trans_elt_1ui( IM->Index,
                          &ctx->Array.Index,
-                         flags, elts, (VERT_ELT|VERT_INDEX),
+                         flags, elts, (VERT_BIT_ELT|VERT_BIT_INDEX),
                          start, count);
 
-   if (translate & VERT_TEX_ANY) {
+   if (translate & VERT_BITS_TEX_ANY) {
       for (i = 0 ; i < ctx->Const.MaxTextureUnits ; i++)
-        if (translate & VERT_TEX(i)) {
-           _tnl_trans_elt_4f( IM->TexCoord[i],
+        if (translate & VERT_BIT_TEX(i)) {
+           _tnl_trans_elt_4f( IM->Attrib[VERT_ATTRIB_TEX0 + i],
                               &ctx->Array.TexCoord[i],
-                              flags, elts, (VERT_ELT|VERT_TEX(i)),
+                              flags, elts, (VERT_BIT_ELT|VERT_BIT_TEX(i)),
                               start, count);
 
            if (ctx->Array.TexCoord[i].Size == 4)
@@ -824,5 +828,7 @@ void _tnl_translate_array_elts( GLcontext *ctx, struct immediate *IM,
    }
 
    for (i = start ; i < count ; i++)
-      if (flags[i] & VERT_ELT) flags[i] |= translate;
+      if (flags[i] & VERT_BIT_ELT) flags[i] |= translate;
+
+   IM->FlushElt = 0;
 }