accomodate vtx-0-2-branch
authorDaniel Borca <dborca@users.sourceforge.net>
Wed, 26 Nov 2003 08:32:35 +0000 (08:32 +0000)
committerDaniel Borca <dborca@users.sourceforge.net>
Wed, 26 Nov 2003 08:32:35 +0000 (08:32 +0000)
12 files changed:
src/mesa/Makefile.DJ
src/mesa/Makefile.mgw
src/mesa/Makefile.wfx
src/mesa/drivers/glide/fxglidew.h
src/mesa/drivers/glide/fxtris.c
src/mesa/drivers/glide/fxvb.c
src/mesa/drivers/glide/fxvbtmp.h
src/mesa/tnl_dd/t_dd_rendertmp.h
src/mesa/x86/3dnow_normal.S
src/mesa/x86/gen_matypes.c
src/mesa/x86/norm_args.h
src/mesa/x86/sse_normal.S

index af2bb36ccc483d86003879f24d24005e33e0d945..cd336fc50e9f0c9fe1f5f5df637873e11fbef4ea 100644 (file)
@@ -216,16 +216,10 @@ TNL_SOURCES = \
        tnl/t_array_api.c \
        tnl/t_array_import.c \
        tnl/t_context.c \
-       tnl/t_eval_api.c \
-       tnl/t_imm_alloc.c \
-       tnl/t_imm_api.c \
-       tnl/t_imm_debug.c \
-       tnl/t_imm_dlist.c \
-       tnl/t_imm_elt.c \
-       tnl/t_imm_eval.c \
-       tnl/t_imm_exec.c \
-       tnl/t_imm_fixup.c \
        tnl/t_pipeline.c \
+       tnl/t_save_api.c \
+       tnl/t_save_loopback.c \
+       tnl/t_save_playback.c \
        tnl/t_vb_fog.c \
        tnl/t_vb_light.c \
        tnl/t_vb_normals.c \
@@ -234,7 +228,10 @@ TNL_SOURCES = \
        tnl/t_vb_render.c \
        tnl/t_vb_texgen.c \
        tnl/t_vb_texmat.c \
-       tnl/t_vb_vertex.c
+       tnl/t_vb_vertex.c \
+       tnl/t_vtx_api.c \
+       tnl/t_vtx_eval.c \
+       tnl/t_vtx_exec.c 
 
 X86_SOURCES = \
        x86/x86.c \
@@ -268,9 +265,9 @@ CORE_SOURCES = \
        $(GLAPI_SOURCES) \
        $(MATH_SOURCES) \
        $(ARRAY_CACHE_SOURCES) \
+       $(TNL_SOURCES) \
        $(SWRAST_SOURCES) \
-       $(SWRAST_SETUP_SOURCES) \
-       $(TNL_SOURCES)
+       $(SWRAST_SETUP_SOURCES)
 
 ifeq ($(HAVE_MMX),1)
 X86_SOURCES += $(MMX_SOURCES)
index 9f49e0e9b6f4c116f63a5a65bf843dea6a25d11b..3f9ddaa5044dfd8cbfa744b527bfc8adafcae95e 100644 (file)
@@ -209,16 +209,10 @@ TNL_SOURCES = \
        tnl/t_array_api.c \
        tnl/t_array_import.c \
        tnl/t_context.c \
-       tnl/t_eval_api.c \
-       tnl/t_imm_alloc.c \
-       tnl/t_imm_api.c \
-       tnl/t_imm_debug.c \
-       tnl/t_imm_dlist.c \
-       tnl/t_imm_elt.c \
-       tnl/t_imm_eval.c \
-       tnl/t_imm_exec.c \
-       tnl/t_imm_fixup.c \
        tnl/t_pipeline.c \
+       tnl/t_save_api.c \
+       tnl/t_save_loopback.c \
+       tnl/t_save_playback.c \
        tnl/t_vb_fog.c \
        tnl/t_vb_light.c \
        tnl/t_vb_normals.c \
@@ -227,7 +221,10 @@ TNL_SOURCES = \
        tnl/t_vb_render.c \
        tnl/t_vb_texgen.c \
        tnl/t_vb_texmat.c \
-       tnl/t_vb_vertex.c
+       tnl/t_vb_vertex.c \
+       tnl/t_vtx_api.c \
+       tnl/t_vtx_eval.c \
+       tnl/t_vtx_exec.c 
 
 X86_SOURCES = \
        x86/x86.c \
@@ -261,9 +258,9 @@ CORE_SOURCES = \
        $(GLAPI_SOURCES) \
        $(MATH_SOURCES) \
        $(ARRAY_CACHE_SOURCES) \
+       $(TNL_SOURCES) \
        $(SWRAST_SOURCES) \
-       $(SWRAST_SETUP_SOURCES) \
-       $(TNL_SOURCES)
+       $(SWRAST_SETUP_SOURCES)
 
 ifeq ($(HAVE_MMX),1)
 X86_SOURCES += $(MMX_SOURCES)
index 0561f6da464eee49b52f7a55ecc109ff6e40f953..0886c2c1523b6337f4a4460788218f7cb22d245f 100644 (file)
@@ -231,16 +231,10 @@ TNL_SOURCES =\
        tnl\t_array_api.c\
        tnl\t_array_import.c\
        tnl\t_context.c\
-       tnl\t_eval_api.c\
-       tnl\t_imm_alloc.c\
-       tnl\t_imm_api.c\
-       tnl\t_imm_debug.c\
-       tnl\t_imm_dlist.c\
-       tnl\t_imm_elt.c\
-       tnl\t_imm_eval.c\
-       tnl\t_imm_exec.c\
-       tnl\t_imm_fixup.c\
        tnl\t_pipeline.c\
+       tnl\t_save_api.c\
+       tnl\t_save_loopback.c\
+       tnl\t_save_playback.c\
        tnl\t_vb_fog.c\
        tnl\t_vb_light.c\
        tnl\t_vb_normals.c\
@@ -249,7 +243,10 @@ TNL_SOURCES =\
        tnl\t_vb_render.c\
        tnl\t_vb_texgen.c\
        tnl\t_vb_texmat.c\
-       tnl\t_vb_vertex.c
+       tnl\t_vb_vertex.c\
+       tnl\t_vtx_api.c\
+       tnl\t_vtx_eval.c\
+       tnl\t_vtx_exec.c 
 
 DRIVER_SOURCES =\
        drivers\glide\fxapi.c\
index 31a8fa3b02eece2421ce74da40af4dd487c470bc..feacde8418947fef04e81cadef77141698911a30 100644 (file)
@@ -119,7 +119,8 @@ typedef struct {
         float oow;             /* 1/W (used for W-buffering, texturing) */
         unsigned char pargb[4];        /* B, G, R, A [0..255] */
         GrTmuVertex tmuvtx[GLIDE_NUM_TMU];
-        long pad[16 - 11];     /* future use; also ensure 64b structure */
+        float fog;             /* fog coordinate */
+        long pad[16 - 12];     /* ensure 64b structure */
 } GrVertex;
 
 #define GR_VERTEX_X_OFFSET              0
@@ -133,6 +134,7 @@ typedef struct {
 #define GR_VERTEX_SOW_TMU1_OFFSET       8
 #define GR_VERTEX_TOW_TMU1_OFFSET       9
 #define GR_VERTEX_OOW_TMU1_OFFSET       10
+#define GR_VERTEX_FOG_OFFSET            11
 
 
 
index 08ecc6dd81b95dce146a879c260e66c2d916dc3a..209a29e76684c80c96e9897ac43df289e8e02afa 100644 (file)
@@ -24,6 +24,7 @@
 
 /* Authors:
  *    Keith Whitwell <keith@tungstengraphics.com>
+ *    Daniel Borca <dborca@users.sourceforge.net>
  */
 
 #include "glheader.h"
@@ -310,10 +311,10 @@ static struct {
 
 #define VERT_SET_RGBA( dst, f )                   \
 do {                                           \
-   dst->pargb[2] = f[0];       \
-   dst->pargb[1] = f[1];       \
-   dst->pargb[0] = f[2];       \
-   dst->pargb[3] = f[3];       \
+   dst->pargb[2] = f[0] * 255.;        \
+   dst->pargb[1] = f[1] * 255.;        \
+   dst->pargb[0] = f[2] * 255.;        \
+   dst->pargb[3] = f[3] * 255.;        \
 } while (0)
 
 #define VERT_COPY_RGBA( v0, v1 )               \
@@ -343,7 +344,7 @@ do {                                                \
 #define RENDER_PRIMITIVE fxMesa->render_primitive
 #define IND FX_FALLBACK_BIT
 #define TAG(x) x
-#include "../common/t_dd_unfilled.h"
+#include "../../tnl_dd/t_dd_unfilled.h"
 #undef IND
 
 /***********************************************************************
@@ -352,136 +353,136 @@ do {                                            \
 
 #define IND (0)
 #define TAG(x) x
-#include "../common/t_dd_tritmp.h"
+#include "../../tnl_dd/t_dd_tritmp.h"
 
 #define IND (FX_OFFSET_BIT)
 #define TAG(x) x##_offset
-#include "../common/t_dd_tritmp.h"
+#include "../../tnl_dd/t_dd_tritmp.h"
 
 #define IND (FX_TWOSIDE_BIT)
 #define TAG(x) x##_twoside
-#include "../common/t_dd_tritmp.h"
+#include "../../tnl_dd/t_dd_tritmp.h"
 
 #define IND (FX_TWOSIDE_BIT|FX_OFFSET_BIT)
 #define TAG(x) x##_twoside_offset
-#include "../common/t_dd_tritmp.h"
+#include "../../tnl_dd/t_dd_tritmp.h"
 
 #define IND (FX_UNFILLED_BIT)
 #define TAG(x) x##_unfilled
-#include "../common/t_dd_tritmp.h"
+#include "../../tnl_dd/t_dd_tritmp.h"
 
 #define IND (FX_OFFSET_BIT|FX_UNFILLED_BIT)
 #define TAG(x) x##_offset_unfilled
-#include "../common/t_dd_tritmp.h"
+#include "../../tnl_dd/t_dd_tritmp.h"
 
 #define IND (FX_TWOSIDE_BIT|FX_UNFILLED_BIT)
 #define TAG(x) x##_twoside_unfilled
-#include "../common/t_dd_tritmp.h"
+#include "../../tnl_dd/t_dd_tritmp.h"
 
 #define IND (FX_TWOSIDE_BIT|FX_OFFSET_BIT|FX_UNFILLED_BIT)
 #define TAG(x) x##_twoside_offset_unfilled
-#include "../common/t_dd_tritmp.h"
+#include "../../tnl_dd/t_dd_tritmp.h"
 
 #define IND (FX_FALLBACK_BIT)
 #define TAG(x) x##_fallback
-#include "../common/t_dd_tritmp.h"
+#include "../../tnl_dd/t_dd_tritmp.h"
 
 #define IND (FX_OFFSET_BIT|FX_FALLBACK_BIT)
 #define TAG(x) x##_offset_fallback
-#include "../common/t_dd_tritmp.h"
+#include "../../tnl_dd/t_dd_tritmp.h"
 
 #define IND (FX_TWOSIDE_BIT|FX_FALLBACK_BIT)
 #define TAG(x) x##_twoside_fallback
-#include "../common/t_dd_tritmp.h"
+#include "../../tnl_dd/t_dd_tritmp.h"
 
 #define IND (FX_TWOSIDE_BIT|FX_OFFSET_BIT|FX_FALLBACK_BIT)
 #define TAG(x) x##_twoside_offset_fallback
-#include "../common/t_dd_tritmp.h"
+#include "../../tnl_dd/t_dd_tritmp.h"
 
 #define IND (FX_UNFILLED_BIT|FX_FALLBACK_BIT)
 #define TAG(x) x##_unfilled_fallback
-#include "../common/t_dd_tritmp.h"
+#include "../../tnl_dd/t_dd_tritmp.h"
 
 #define IND (FX_OFFSET_BIT|FX_UNFILLED_BIT|FX_FALLBACK_BIT)
 #define TAG(x) x##_offset_unfilled_fallback
-#include "../common/t_dd_tritmp.h"
+#include "../../tnl_dd/t_dd_tritmp.h"
 
 #define IND (FX_TWOSIDE_BIT|FX_UNFILLED_BIT|FX_FALLBACK_BIT)
 #define TAG(x) x##_twoside_unfilled_fallback
-#include "../common/t_dd_tritmp.h"
+#include "../../tnl_dd/t_dd_tritmp.h"
 
 #define IND (FX_TWOSIDE_BIT|FX_OFFSET_BIT|FX_UNFILLED_BIT| \
             FX_FALLBACK_BIT)
 #define TAG(x) x##_twoside_offset_unfilled_fallback
-#include "../common/t_dd_tritmp.h"
+#include "../../tnl_dd/t_dd_tritmp.h"
 
 
 /* Fx doesn't support provoking-vertex flat-shading?
  */
 #define IND (FX_FLAT_BIT)
 #define TAG(x) x##_flat
-#include "../common/t_dd_tritmp.h"
+#include "../../tnl_dd/t_dd_tritmp.h"
 
 #define IND (FX_OFFSET_BIT|FX_FLAT_BIT)
 #define TAG(x) x##_offset_flat
-#include "../common/t_dd_tritmp.h"
+#include "../../tnl_dd/t_dd_tritmp.h"
 
 #define IND (FX_TWOSIDE_BIT|FX_FLAT_BIT)
 #define TAG(x) x##_twoside_flat
-#include "../common/t_dd_tritmp.h"
+#include "../../tnl_dd/t_dd_tritmp.h"
 
 #define IND (FX_TWOSIDE_BIT|FX_OFFSET_BIT|FX_FLAT_BIT)
 #define TAG(x) x##_twoside_offset_flat
-#include "../common/t_dd_tritmp.h"
+#include "../../tnl_dd/t_dd_tritmp.h"
 
 #define IND (FX_UNFILLED_BIT|FX_FLAT_BIT)
 #define TAG(x) x##_unfilled_flat
-#include "../common/t_dd_tritmp.h"
+#include "../../tnl_dd/t_dd_tritmp.h"
 
 #define IND (FX_OFFSET_BIT|FX_UNFILLED_BIT|FX_FLAT_BIT)
 #define TAG(x) x##_offset_unfilled_flat
-#include "../common/t_dd_tritmp.h"
+#include "../../tnl_dd/t_dd_tritmp.h"
 
 #define IND (FX_TWOSIDE_BIT|FX_UNFILLED_BIT|FX_FLAT_BIT)
 #define TAG(x) x##_twoside_unfilled_flat
-#include "../common/t_dd_tritmp.h"
+#include "../../tnl_dd/t_dd_tritmp.h"
 
 #define IND (FX_TWOSIDE_BIT|FX_OFFSET_BIT|FX_UNFILLED_BIT|FX_FLAT_BIT)
 #define TAG(x) x##_twoside_offset_unfilled_flat
-#include "../common/t_dd_tritmp.h"
+#include "../../tnl_dd/t_dd_tritmp.h"
 
 #define IND (FX_FALLBACK_BIT|FX_FLAT_BIT)
 #define TAG(x) x##_fallback_flat
-#include "../common/t_dd_tritmp.h"
+#include "../../tnl_dd/t_dd_tritmp.h"
 
 #define IND (FX_OFFSET_BIT|FX_FALLBACK_BIT|FX_FLAT_BIT)
 #define TAG(x) x##_offset_fallback_flat
-#include "../common/t_dd_tritmp.h"
+#include "../../tnl_dd/t_dd_tritmp.h"
 
 #define IND (FX_TWOSIDE_BIT|FX_FALLBACK_BIT|FX_FLAT_BIT)
 #define TAG(x) x##_twoside_fallback_flat
-#include "../common/t_dd_tritmp.h"
+#include "../../tnl_dd/t_dd_tritmp.h"
 
 #define IND (FX_TWOSIDE_BIT|FX_OFFSET_BIT|FX_FALLBACK_BIT|FX_FLAT_BIT)
 #define TAG(x) x##_twoside_offset_fallback_flat
-#include "../common/t_dd_tritmp.h"
+#include "../../tnl_dd/t_dd_tritmp.h"
 
 #define IND (FX_UNFILLED_BIT|FX_FALLBACK_BIT|FX_FLAT_BIT)
 #define TAG(x) x##_unfilled_fallback_flat
-#include "../common/t_dd_tritmp.h"
+#include "../../tnl_dd/t_dd_tritmp.h"
 
 #define IND (FX_OFFSET_BIT|FX_UNFILLED_BIT|FX_FALLBACK_BIT|FX_FLAT_BIT)
 #define TAG(x) x##_offset_unfilled_fallback_flat
-#include "../common/t_dd_tritmp.h"
+#include "../../tnl_dd/t_dd_tritmp.h"
 
 #define IND (FX_TWOSIDE_BIT|FX_UNFILLED_BIT|FX_FALLBACK_BIT|FX_FLAT_BIT)
 #define TAG(x) x##_twoside_unfilled_fallback_flat
-#include "../common/t_dd_tritmp.h"
+#include "../../tnl_dd/t_dd_tritmp.h"
 
 #define IND (FX_TWOSIDE_BIT|FX_OFFSET_BIT|FX_UNFILLED_BIT| \
             FX_FALLBACK_BIT|FX_FLAT_BIT)
 #define TAG(x) x##_twoside_offset_unfilled_fallback_flat
-#include "../common/t_dd_tritmp.h"
+#include "../../tnl_dd/t_dd_tritmp.h"
 
 
 static void init_rast_tab( void )
@@ -719,9 +720,10 @@ static void fx_render_vb_tri_strip( GLcontext *ctx,
 
    INIT(GL_TRIANGLE_STRIP);
 
+   /* [dBorca] WTF?!?
    if (flags & PRIM_PARITY) 
       mode = GR_TRIANGLE_STRIP_CONTINUE;
-   else
+   else*/
       mode = GR_TRIANGLE_STRIP;
 
    grDrawVertexArrayContiguous( mode, count-start,
@@ -837,7 +839,7 @@ static void (*fx_render_tab_verts[GL_POLYGON+2])(GLcontext *,
    fx_render_vb_poly,
    fx_render_vb_noop,
 };
-#undef INIT(x)
+#undef INIT
 
 
 /**********************************************************************/
@@ -879,7 +881,7 @@ static void (*fx_render_tab_verts[GL_POLYGON+2])(GLcontext *,
 #undef TAG
 #define TAG(x) fx_##x##_elts
 #define ELT(x) elt[x]
-#include "../common/t_dd_rendertmp.h"
+#include "../../tnl_dd/t_dd_rendertmp.h"
 
 /* Verts, no clipping.
  */
@@ -887,7 +889,7 @@ static void (*fx_render_tab_verts[GL_POLYGON+2])(GLcontext *,
 #undef TAG
 #define TAG(x) fx_##x##_verts
 #define ELT(x) x
-/*#include "../common/t_dd_rendertmp.h"*/ /* we have fx_render_vb_* now */
+/*#include "../../tnl_dd/t_dd_rendertmp.h"*/ /* we have fx_render_vb_* now */
 
 
 
index 8d3647ad60ee4a6c8b2388ae86d1d6118eb78965..03cefef08265716ce8f58821e6140cd7783daadf 100644 (file)
@@ -24,7 +24,8 @@
  */
 
 /* Authors:
- *   Keith Whitwell
+ *    Keith Whitwell <keith@tungstengraphics.com>
+ *    Daniel Borca <dborca@users.sourceforge.net>
  */
 
 #ifdef HAVE_CONFIG_H
@@ -67,41 +68,7 @@ static struct {
 } setup_tab[MAX_SETUP];
 
 
-static void import_float_colors( GLcontext *ctx )
-{
-   struct vertex_buffer *VB = &TNL_CONTEXT(ctx)->vb;
-   struct gl_client_array *from = VB->ColorPtr[0];
-   struct gl_client_array *to = &FX_CONTEXT(ctx)->UbyteColor;
-   GLuint count = VB->Count;
-
-   if (!to->Ptr) {
-      to->Ptr = ALIGN_MALLOC( VB->Size * 4 * sizeof(GLubyte), 32 );
-      to->Type = GL_UNSIGNED_BYTE;
-   }
-
-   /* No need to transform the same value 3000 times.
-    */
-   if (!from->StrideB) {
-      to->StrideB = 0;
-      count = 1;
-   }
-   else
-      to->StrideB = 4 * sizeof(GLubyte);
-   
-   _math_trans_4ub( (GLubyte (*)[4]) to->Ptr,
-                   from->Ptr,
-                   from->StrideB,
-                   from->Type,
-                   from->Size,
-                   0,
-                   count);
-
-   VB->ColorPtr[0] = to;
-}
-
-
-/* Hack alert: assume chan is 8 bits */
-#define GET_COLOR(ptr, idx) (((GLchan (*)[4])((ptr)->Ptr))[idx])
+#define GET_COLOR(ptr, idx) ((ptr)->data[idx])
 
 
 static void interp_extras( GLcontext *ctx,
@@ -112,13 +79,15 @@ static void interp_extras( GLcontext *ctx,
    struct vertex_buffer *VB = &TNL_CONTEXT(ctx)->vb;
 
    if (VB->ColorPtr[1]) {
-      INTERP_4CHAN( t,
+      assert(VB->ColorPtr[1]->stride == 4 * sizeof(GLfloat));
+
+      INTERP_4F( t,
                 GET_COLOR(VB->ColorPtr[1], dst),
                 GET_COLOR(VB->ColorPtr[1], out),
                 GET_COLOR(VB->ColorPtr[1], in) );
 #if 1 /* [dBorca] GL_EXT_separate_specular_color */
       if (VB->SecondaryColorPtr[1]) {
-        INTERP_3CHAN( t,
+        INTERP_3F( t,
                    GET_COLOR(VB->SecondaryColorPtr[1], dst),
                    GET_COLOR(VB->SecondaryColorPtr[1], out),
                    GET_COLOR(VB->SecondaryColorPtr[1], in) );
@@ -139,11 +108,11 @@ static void copy_pv_extras( GLcontext *ctx, GLuint dst, GLuint src )
    struct vertex_buffer *VB = &TNL_CONTEXT(ctx)->vb;
 
    if (VB->ColorPtr[1]) {
-        COPY_CHAN4( GET_COLOR(VB->ColorPtr[1], dst),
+        COPY_4FV( GET_COLOR(VB->ColorPtr[1], dst),
                   GET_COLOR(VB->ColorPtr[1], src) );
 #if 1 /* [dBorca] GL_EXT_separate_specular_color */
         if (VB->SecondaryColorPtr[1]) {
-           COPY_CHAN4( GET_COLOR(VB->SecondaryColorPtr[1], dst),
+           COPY_4FV( GET_COLOR(VB->SecondaryColorPtr[1], dst),
                      GET_COLOR(VB->SecondaryColorPtr[1], src) );
         }
 #endif
index 7d5741cd75d36ec4e33dfb3a49ee5f4844d99b41..e0af9bdb4fefb512599c8b07821e74bcceb350f9 100644 (file)
@@ -24,6 +24,7 @@
 
 /* Authors:
  *    Keith Whitwell <keith@tungstengraphics.com>
+ *    Daniel Borca <dborca@users.sourceforge.net>
  */
 
 
@@ -40,7 +41,7 @@ static void TAG(emit)( GLcontext *ctx,
    GLuint tmu0_source = fxMesa->tmu_source[0];
    GLuint tmu1_source = fxMesa->tmu_source[1];
    GLfloat (*tc0)[4], (*tc1)[4];
-   GLubyte (*col)[4];
+   GLfloat (*col)[4];
    GLuint tc0_stride, tc1_stride, col_stride;
    GLuint tc0_size, tc1_size;
    GLfloat (*proj)[4] = VB->NdcPtr->data; 
@@ -71,10 +72,8 @@ static void TAG(emit)( GLcontext *ctx,
    }
    
    if (IND & SETUP_RGBA) {
-      if (VB->ColorPtr[0]->Type != GL_UNSIGNED_BYTE)
-        import_float_colors( ctx );
-      col = VB->ColorPtr[0]->Ptr;
-      col_stride = VB->ColorPtr[0]->StrideB;
+      col = VB->ColorPtr[0]->data;
+      col_stride = VB->ColorPtr[0]->stride;
    }
 
    if (start) {
@@ -84,7 +83,7 @@ static void TAG(emit)( GLcontext *ctx,
       if (IND & SETUP_TMU1) 
         tc1 =  (GLfloat (*)[4])((GLubyte *)tc1 + start * tc1_stride);
       if (IND & SETUP_RGBA) 
-        STRIDE_4UB(col, start * col_stride);
+        STRIDE_4F(col, start * col_stride);
    }
 
    for (i=start; i < end; i++, v++) {
@@ -116,11 +115,11 @@ static void TAG(emit)( GLcontext *ctx,
         proj =  (GLfloat (*)[4])((GLubyte *)proj +  proj_stride);
       }
       if (IND & SETUP_RGBA) {
-        v->pargb[2] = col[0][0];
-        v->pargb[1] = col[0][1];
-        v->pargb[0] = col[0][2];
-        v->pargb[3] = col[0][3];
-        STRIDE_4UB(col, col_stride);
+        v->pargb[2] = col[0][0] * 255.;
+        v->pargb[1] = col[0][1] * 255.;
+        v->pargb[0] = col[0][2] * 255.;
+        v->pargb[3] = col[0][3] * 255.;
+        STRIDE_4F(col, col_stride);
       }
       if (IND & SETUP_TMU0) {
         GLfloat w = v->oow;
index fc00e76934bcd3dd54ad381026f4f14a5faf55e9..b9f030195d5b805265442b808590099ae39534ac 100644 (file)
@@ -186,9 +186,6 @@ static void TAG(render_tri_strip)( GLcontext *ctx,
    GLuint parity = 0;
    LOCAL_VARS;
 
-   if (TEST_PRIM_PARITY(flags))
-      parity = 1;
-
    INIT(GL_TRIANGLE_STRIP);
    if (NEED_EDGEFLAG_SETUP) {
       for (j=start+2;j<count;j++,parity^=1) {
index 2855f608c39318dd1822e408369eb8103c99e505..07755b2516d26c7e8db28b527d62206930e06d7b 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: 3dnow_normal.S,v 1.5 2003/01/30 14:30:24 brianp Exp $ */
+/* $Id: 3dnow_normal.S,v 1.6 2003/11/26 08:32:35 dborca Exp $ */
 
 /*
  * Mesa 3-D graphics library
@@ -50,17 +50,17 @@ GLNAME(_mesa_3dnow_transform_normalize_normals):
     MOV_L      ( ARG_LENGTHS, EDI )
     MOV_L      ( ARG_IN, ESI )
     MOV_L      ( ARG_DEST, EAX )
-    MOV_L      ( REGOFF(V3F_COUNT, ESI), EBP ) /*  dest->count = in->count   */
-    MOV_L      ( EBP, REGOFF(V3F_COUNT, EAX) )
-    MOV_L      ( REGOFF(V3F_START, ESI), EDX ) /*  in->start    */
-    MOV_L      ( REGOFF(V3F_START, EAX), EAX ) /*  dest->start  */
+    MOV_L      ( REGOFF(V4F_COUNT, ESI), EBP ) /*  dest->count = in->count   */
+    MOV_L      ( EBP, REGOFF(V4F_COUNT, EAX) )
+    MOV_L      ( REGOFF(V4F_START, ESI), EDX ) /*  in->start    */
+    MOV_L      ( REGOFF(V4F_START, EAX), EAX ) /*  dest->start  */
     MOV_L      ( ARG_MAT, ECX )
     MOV_L      ( REGOFF(MATRIX_INV, ECX), ECX ) /*  mat->inv     */
 
     CMP_L      ( CONST(0), EBP )        /*   count > 0 ??  */
     JE         ( LLBL (G3TN_end) )
 
-    MOV_L      ( REGOFF (V3F_COUNT, ESI), EBP )
+    MOV_L      ( REGOFF (V4F_COUNT, ESI), EBP )
     FEMMS
 
     PUSH_L     ( EBP )
@@ -228,12 +228,12 @@ GLNAME(_mesa_3dnow_transform_normalize_normals_no_rot):
     MOV_L      ( ARG_LENGTHS, EDI )
     MOV_L      ( ARG_IN, ESI )
     MOV_L      ( ARG_DEST, EAX )
-    MOV_L      ( REGOFF(V3F_COUNT, ESI), EBP ) /*  dest->count = in->count   */
-    MOV_L      ( EBP, REGOFF(V3F_COUNT, EAX) )
+    MOV_L      ( REGOFF(V4F_COUNT, ESI), EBP ) /*  dest->count = in->count   */
+    MOV_L      ( EBP, REGOFF(V4F_COUNT, EAX) )
     MOV_L      ( ARG_MAT, ECX )
-    MOV_L      ( REGOFF(V3F_START, EAX), EAX ) /*  dest->start  */
+    MOV_L      ( REGOFF(V4F_START, EAX), EAX ) /*  dest->start  */
     MOV_L      ( REGOFF(MATRIX_INV, ECX), ECX ) /*  mat->inv     */
-    MOV_L      ( REGOFF(V3F_START, ESI), EDX ) /*  in->start    */
+    MOV_L      ( REGOFF(V4F_START, ESI), EDX ) /*  in->start    */
 
     CMP_L      ( CONST(0), EBP ) /*   count > 0 ??  */
     JE         ( LLBL (G3TNNR_end) )
@@ -366,13 +366,13 @@ GLNAME(_mesa_3dnow_transform_rescale_normals_no_rot):
 
     MOV_L      ( ARG_IN, EAX )
     MOV_L      ( ARG_DEST, EDX )
-    MOV_L      ( REGOFF(V3F_COUNT, EAX), EBP ) /*  dest->count = in->count   */
-    MOV_L      ( EBP, REGOFF(V3F_COUNT, EDX) )
+    MOV_L      ( REGOFF(V4F_COUNT, EAX), EBP ) /*  dest->count = in->count   */
+    MOV_L      ( EBP, REGOFF(V4F_COUNT, EDX) )
     MOV_L      ( ARG_IN, ESI )
     MOV_L      ( ARG_MAT, ECX )
     MOV_L      ( REGOFF(MATRIX_INV, ECX), ECX ) /*  mat->inv     */
-    MOV_L      ( REGOFF(V3F_START, EDX), EAX ) /*  dest->start  */
-    MOV_L      ( REGOFF(V3F_START, ESI), EDX ) /*  in->start    */
+    MOV_L      ( REGOFF(V4F_START, EDX), EAX ) /*  dest->start  */
+    MOV_L      ( REGOFF(V4F_START, ESI), EDX ) /*  in->start    */
 
     CMP_L      ( CONST(0), EBP )
     JE         ( LLBL (G3TRNR_end) )
@@ -437,10 +437,10 @@ GLNAME(_mesa_3dnow_transform_rescale_normals):
     MOV_L      ( ARG_IN, ESI )
     MOV_L      ( ARG_DEST, EAX )
     MOV_L      ( ARG_MAT, ECX )
-    MOV_L      ( REGOFF(V3F_COUNT, ESI), EDI ) /*  dest->count = in->count   */
-    MOV_L      ( EDI, REGOFF(V3F_COUNT, EAX) )
-    MOV_L      ( REGOFF(V3F_START, EAX), EAX ) /*  dest->start  */
-    MOV_L      ( REGOFF(V3F_START, ESI), EDX ) /*  in->start    */
+    MOV_L      ( REGOFF(V4F_COUNT, ESI), EDI ) /*  dest->count = in->count   */
+    MOV_L      ( EDI, REGOFF(V4F_COUNT, EAX) )
+    MOV_L      ( REGOFF(V4F_START, EAX), EAX ) /*  dest->start  */
+    MOV_L      ( REGOFF(V4F_START, ESI), EDX ) /*  in->start    */
     MOV_L      ( REGOFF(MATRIX_INV, ECX), ECX ) /*  mat->inv     */
 
     CMP_L      ( CONST(0), EDI )
@@ -534,10 +534,10 @@ GLNAME(_mesa_3dnow_transform_normals_no_rot):
     MOV_L      ( ARG_IN, ESI )
     MOV_L      ( ARG_DEST, EAX )
     MOV_L      ( ARG_MAT, ECX )
-    MOV_L      ( REGOFF(V3F_COUNT, ESI), EDI ) /*  dest->count = in->count   */
-    MOV_L      ( EDI, REGOFF(V3F_COUNT, EAX) )
-    MOV_L      ( REGOFF(V3F_START, EAX), EAX ) /*  dest->start  */
-    MOV_L      ( REGOFF(V3F_START, ESI), EDX ) /*  in->start    */
+    MOV_L      ( REGOFF(V4F_COUNT, ESI), EDI ) /*  dest->count = in->count   */
+    MOV_L      ( EDI, REGOFF(V4F_COUNT, EAX) )
+    MOV_L      ( REGOFF(V4F_START, EAX), EAX ) /*  dest->start  */
+    MOV_L      ( REGOFF(V4F_START, ESI), EDX ) /*  in->start    */
     MOV_L      ( REGOFF(MATRIX_INV, ECX), ECX ) /*  mat->inv     */
 
     CMP_L      ( CONST(0), EDI )
@@ -600,10 +600,10 @@ GLNAME(_mesa_3dnow_transform_normals):
     MOV_L      ( ARG_IN, ESI )
     MOV_L      ( ARG_DEST, EAX )
     MOV_L      ( ARG_MAT, ECX )
-    MOV_L      ( REGOFF(V3F_COUNT, ESI), EDI ) /*  dest->count = in->count   */
-    MOV_L      ( EDI, REGOFF(V3F_COUNT, EAX) )
-    MOV_L      ( REGOFF(V3F_START, EAX), EAX ) /*  dest->start  */
-    MOV_L      ( REGOFF(V3F_START, ESI), EDX ) /*  in->start    */
+    MOV_L      ( REGOFF(V4F_COUNT, ESI), EDI ) /*  dest->count = in->count   */
+    MOV_L      ( EDI, REGOFF(V4F_COUNT, EAX) )
+    MOV_L      ( REGOFF(V4F_START, EAX), EAX ) /*  dest->start  */
+    MOV_L      ( REGOFF(V4F_START, ESI), EDX ) /*  in->start    */
     MOV_L      ( REGOFF(MATRIX_INV, ECX), ECX ) /*  mat->inv     */
 
     CMP_L      ( CONST(0), EDI )        /* count > 0 ??                       */
@@ -684,10 +684,10 @@ GLNAME(_mesa_3dnow_normalize_normals):
 
     MOV_L      ( ARG_IN, ESI )
     MOV_L      ( ARG_DEST, EAX )
-    MOV_L      ( REGOFF(V3F_COUNT, ESI), EBP ) /*  dest->count = in->count   */
-    MOV_L      ( EBP, REGOFF(V3F_COUNT, EAX) )
-    MOV_L      ( REGOFF(V3F_START, EAX), EAX ) /*  dest->start  */
-    MOV_L      ( REGOFF(V3F_START, ESI), ECX ) /*  in->start    */
+    MOV_L      ( REGOFF(V4F_COUNT, ESI), EBP ) /*  dest->count = in->count   */
+    MOV_L      ( EBP, REGOFF(V4F_COUNT, EAX) )
+    MOV_L      ( REGOFF(V4F_START, EAX), EAX ) /*  dest->start  */
+    MOV_L      ( REGOFF(V4F_START, ESI), ECX ) /*  in->start    */
     MOV_L      ( ARG_LENGTHS, EDX )
 
     CMP_L      ( CONST(0), EBP ) /* count > 0 ?? */
@@ -793,10 +793,10 @@ GLNAME(_mesa_3dnow_rescale_normals):
 
     MOV_L      ( ARG_IN, ESI )
     MOV_L      ( ARG_DEST, EAX )
-    MOV_L      ( REGOFF(V3F_COUNT, ESI), EDX ) /*  dest->count = in->count   */
-    MOV_L      ( EDX, REGOFF(V3F_COUNT, EAX) )
-    MOV_L      ( REGOFF(V3F_START, EAX), EAX ) /*  dest->start  */
-    MOV_L      ( REGOFF(V3F_START, ESI), ECX ) /*  in->start    */
+    MOV_L      ( REGOFF(V4F_COUNT, ESI), EDX ) /*  dest->count = in->count   */
+    MOV_L      ( EDX, REGOFF(V4F_COUNT, EAX) )
+    MOV_L      ( REGOFF(V4F_START, EAX), EAX ) /*  dest->start  */
+    MOV_L      ( REGOFF(V4F_START, ESI), ECX ) /*  in->start    */
 
     CMP_L      ( CONST(0), EDX )
     JE         ( LLBL (G3R_end) )
index e57c7326e3aac39840c1c49800425477b169877d..30642e4b12d92d72381e2a26e66d80bc188e48d8 100644 (file)
@@ -120,9 +120,6 @@ int main( int argc, char **argv )
    OFFSET( "VB_SIZE                ", struct vertex_buffer, Size );
    OFFSET( "VB_COUNT               ", struct vertex_buffer, Count );
    printf( "\n" );
-   OFFSET( "VB_FIRST_CLIPPED       ", struct vertex_buffer, FirstClipped );
-   OFFSET( "VB_FIRST_PRIMITIVE     ", struct vertex_buffer, FirstPrimitive );
-   printf( "\n" );
    OFFSET( "VB_ELTS                ", struct vertex_buffer, Elts );
    OFFSET( "VB_OBJ_PTR             ", struct vertex_buffer, ObjPtr );
    OFFSET( "VB_EYE_PTR             ", struct vertex_buffer, EyePtr );
@@ -141,13 +138,7 @@ int main( int argc, char **argv )
    OFFSET( "VB_SECONDARY_COLOR_PTR ", struct vertex_buffer, SecondaryColorPtr );
    OFFSET( "VB_FOG_COORD_PTR       ", struct vertex_buffer, FogCoordPtr );
    OFFSET( "VB_POINT_SIZE_PTR      ", struct vertex_buffer, PointSizePtr );
-   OFFSET( "VB_MATERIAL            ", struct vertex_buffer, Material );
-   OFFSET( "VB_MATERIAL_MASK       ", struct vertex_buffer, MaterialMask );
-   OFFSET( "VB_FLAG                ", struct vertex_buffer, Flag );
    OFFSET( "VB_PRIMITIVE           ", struct vertex_buffer, Primitive );
-   OFFSET( "VB_PRIMITIVE_LENGTH    ", struct vertex_buffer, PrimitiveLength );
-   printf( "\n" );
-   OFFSET( "VB_IMPORTABLE_DATA     ", struct vertex_buffer, importable_data );
    printf( "\n" );
    OFFSET( "VB_LAST_CLIPPED        ", struct vertex_buffer, LastClipped );
 
@@ -159,39 +150,10 @@ int main( int argc, char **argv )
    DEFINE( "VERT_BIT_RGBA          ", VERT_BIT_COLOR0 );
    DEFINE( "VERT_BIT_SPEC_RGB      ", VERT_BIT_COLOR1 );
    DEFINE( "VERT_BIT_FOG_COORD     ", VERT_BIT_FOG );
-   DEFINE( "VERT_BIT_INDEX         ", VERT_BIT_INDEX );
-   DEFINE( "VERT_BIT_EDGE          ", VERT_BIT_EDGEFLAG );
    DEFINE( "VERT_BIT_TEX0          ", VERT_BIT_TEX0 );
    DEFINE( "VERT_BIT_TEX1          ", VERT_BIT_TEX1 );
    DEFINE( "VERT_BIT_TEX2          ", VERT_BIT_TEX2 );
    DEFINE( "VERT_BIT_TEX3          ", VERT_BIT_TEX3 );
-   DEFINE( "VERT_BIT_EVAL_C1       ", VERT_BIT_EVAL_C1 );
-   DEFINE( "VERT_BIT_EVAL_C2       ", VERT_BIT_EVAL_C2 );
-   DEFINE( "VERT_BIT_EVAL_P1       ", VERT_BIT_EVAL_P1 );
-   DEFINE( "VERT_BIT_EVAL_P2       ", VERT_BIT_EVAL_P2 );
-   DEFINE( "VERT_BIT_OBJ_3         ", VERT_BIT_OBJ_3 );
-   DEFINE( "VERT_BIT_OBJ_4         ", VERT_BIT_OBJ_4 );
-   DEFINE( "VERT_BIT_MATERIAL      ", VERT_BIT_MATERIAL );
-   DEFINE( "VERT_BIT_ELT           ", VERT_BIT_ELT );
-   DEFINE( "VERT_BIT_BEGIN         ", VERT_BIT_BEGIN );
-   DEFINE( "VERT_BIT_END           ", VERT_BIT_END );
-   DEFINE( "VERT_BIT_END_VB        ", VERT_BIT_END_VB );
-   DEFINE( "VERT_BIT_POINT_SIZE    ", VERT_BIT_POINT_SIZE );
-   DEFINE( "VERT_BIT_EYE           ", VERT_BIT_EYE );
-   printf( "\n" );
-   DEFINE( "VERT_BIT_OBJ_23        ", VERT_BIT_OBJ_3 );
-   DEFINE( "VERT_BIT_OBJ_234       ", VERT_BIT_OBJ_4 );
-
-
-   /* GLvector3f offsets:
-    */
-   OFFSET_HEADER( "GLvector3f" );
-
-   OFFSET( "V3F_DATA          ", GLvector3f, data );
-   OFFSET( "V3F_START         ", GLvector3f, start );
-   OFFSET( "V3F_COUNT         ", GLvector3f, count );
-   OFFSET( "V3F_STRIDE        ", GLvector3f, stride );
-   OFFSET( "V3F_FLAGS         ", GLvector3f, flags );
 
 
    /* GLvector4f offsets:
index 32bcf3def9737a7ba67c116a8c1d088ae4db52d0..1b43d57a202412aa3e1ad76042d10ce6cadf5696 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: norm_args.h,v 1.3 2002/10/29 20:28:58 brianp Exp $ */
+/* $Id: norm_args.h,v 1.4 2003/11/26 08:32:36 dborca Exp $ */
 
 /*
  * Mesa 3-D graphics library
@@ -39,9 +39,9 @@
  *
  * typedef void (*normal_func)( CONST GLmatrix *mat,
  *                              GLfloat scale,
- *                              CONST GLvector3f *in,
+ *                              CONST GLvector4f *in,
  *                              CONST GLfloat lengths[],
- *                              GLvector3f *dest );
+ *                              GLvector4f *dest );
  */
 #define OFFSET_MAT     4
 #define OFFSET_SCALE   8
index 91260a2085392145258bc9e5ab4a77832e82b938..64bd38486c87b165d69afd998ac3af13e23a1915 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: sse_normal.S,v 1.2 2002/08/07 16:40:18 brianp Exp $ */
+/* $Id: sse_normal.S,v 1.3 2003/11/26 08:32:36 dborca Exp $ */
 
 /*
  * Mesa 3-D graphics library
@@ -56,18 +56,18 @@ GLNAME(_mesa_sse_transform_rescale_normals_no_rot):
        MOV_L   ( ARG_MAT, EDX )                        /* ptr to matrix */
        MOV_L   ( REGOFF(MATRIX_INV, EDX), EDX)         /* matrix->inv */
 
-       MOV_L   ( REGOFF(V3F_COUNT, ESI), ECX )         /* source count */
+       MOV_L   ( REGOFF(V4F_COUNT, ESI), ECX )         /* source count */
 
        TEST_L  ( ECX, ECX )
        JZ( LLBL(K_G3TRNNRR_finish) )                   /* count was zero; go to finish */
 
        MOV_L   ( STRIDE, EAX )                         /* stride */
-       MOV_L   ( ECX, REGOFF(V3F_COUNT, EDI) )         /* set dest-count */
+       MOV_L   ( ECX, REGOFF(V4F_COUNT, EDI) )         /* set dest-count */
 
        IMUL_L( CONST(16), ECX )                        /* count *= 16 */
-       MOV_L( REGOFF(V3F_START, ESI), ESI )            /* ptr to first source vertex */
+       MOV_L( REGOFF(V4F_START, ESI), ESI )            /* ptr to first source vertex */
 
-       MOV_L( REGOFF(V3F_START, EDI), EDI )            /* ptr to first dest vertex */
+       MOV_L( REGOFF(V4F_START, EDI), EDI )            /* ptr to first dest vertex */
        ADD_L( EDI, ECX )                               /* count += dest ptr */
 
 ALIGNTEXT32
@@ -117,18 +117,18 @@ GLNAME(_mesa_sse_transform_rescale_normals):
        MOV_L   ( ARG_MAT, EDX )                        /* ptr to matrix */
        MOV_L   ( REGOFF(MATRIX_INV, EDX), EDX)         /* matrix->inv */
 
-       MOV_L   ( REGOFF(V3F_COUNT, ESI), ECX )         /* source count */
+       MOV_L   ( REGOFF(V4F_COUNT, ESI), ECX )         /* source count */
 
        TEST_L  ( ECX, ECX )
        JZ( LLBL(K_G3TRNR_finish) )                     /* count was zero; go to finish */
 
        MOV_L   ( STRIDE, EAX )                         /* stride */
-       MOV_L   ( ECX, REGOFF(V3F_COUNT, EDI) )         /* set dest-count */
+       MOV_L   ( ECX, REGOFF(V4F_COUNT, EDI) )         /* set dest-count */
 
        IMUL_L( CONST(16), ECX )                        /* count *= 16 */
-       MOV_L( REGOFF(V3F_START, ESI), ESI )            /* ptr to first source vertex */
+       MOV_L( REGOFF(V4F_START, ESI), ESI )            /* ptr to first source vertex */
 
-       MOV_L( REGOFF(V3F_START, EDI), EDI )            /* ptr to first dest vertex */
+       MOV_L( REGOFF(V4F_START, EDI), EDI )            /* ptr to first dest vertex */
        ADD_L( EDI, ECX )                               /* count += dest ptr */
 
 ALIGNTEXT32
@@ -209,18 +209,18 @@ GLNAME(_mesa_sse_transform_normals_no_rot):
        MOV_L   ( ARG_MAT, EDX )                        /* ptr to matrix */
        MOV_L   ( REGOFF(MATRIX_INV, EDX), EDX)         /* matrix->inv */
 
-       MOV_L   ( REGOFF(V3F_COUNT, ESI), ECX )         /* source count */
+       MOV_L   ( REGOFF(V4F_COUNT, ESI), ECX )         /* source count */
 
        TEST_L  ( ECX, ECX )
        JZ( LLBL(K_G3TNNRR_finish) )                    /* count was zero; go to finish */
 
        MOV_L   ( STRIDE, EAX )                         /* stride */
-       MOV_L   ( ECX, REGOFF(V3F_COUNT, EDI) )         /* set dest-count */
+       MOV_L   ( ECX, REGOFF(V4F_COUNT, EDI) )         /* set dest-count */
 
        IMUL_L( CONST(16), ECX )                        /* count *= 16 */
-       MOV_L( REGOFF(V3F_START, ESI), ESI )            /* ptr to first source vertex */
+       MOV_L( REGOFF(V4F_START, ESI), ESI )            /* ptr to first source vertex */
 
-       MOV_L( REGOFF(V3F_START, EDI), EDI )            /* ptr to first dest vertex */
+       MOV_L( REGOFF(V4F_START, EDI), EDI )            /* ptr to first dest vertex */
        ADD_L( EDI, ECX )                               /* count += dest ptr */
 
 ALIGNTEXT32