Bring the FX driver into line with core mesa changes.
authorKeith Whitwell <keith@tungstengraphics.com>
Mon, 8 Jan 2001 04:06:56 +0000 (04:06 +0000)
committerKeith Whitwell <keith@tungstengraphics.com>
Mon, 8 Jan 2001 04:06:56 +0000 (04:06 +0000)
src/mesa/drivers/glide/fxdd.c
src/mesa/drivers/glide/fxtris.c
src/mesa/drivers/glide/fxvb.c

index b36cbee..08285f6 100644 (file)
@@ -1026,6 +1026,10 @@ static void fxDDUpdateDDPointers(GLcontext *ctx, GLuint new_state)
 #endif
 }
 
+static void fxDDRenderPrimitive( GLcontext *ctx, GLenum mode )
+{
+   (void) ctx; (void) mode;
+}
 
 
 void fxSetupDDPointers(GLcontext *ctx)
@@ -1061,6 +1065,7 @@ void fxSetupDDPointers(GLcontext *ctx)
   ctx->Driver.RenderStart=fxSetupFXUnits;
   ctx->Driver.RenderFinish=_swrast_flush;
   ctx->Driver.ResetLineStipple=_swrast_ResetLineStipple;
+  ctx->Driver.RenderPrimitive=fxDDRenderPrimitive;
 
   ctx->Driver.TexImage2D = fxDDTexImage2D;
   ctx->Driver.TexSubImage2D = fxDDTexSubImage2D;
index 11072a2..b2864db 100644 (file)
@@ -457,19 +457,6 @@ fx_null_tri( GLcontext *ctx,
 
 
 
-#define POINT_FALLBACK (DD_POINT_SMOOTH )
-#define LINE_FALLBACK  (DD_LINE_STIPPLE)
-#define TRI_FALLBACK   (DD_TRI_SMOOTH | DD_TRI_STIPPLE )
-#define ANY_FALLBACK   (POINT_FALLBACK | LINE_FALLBACK | TRI_FALLBACK)
-                        
-
-#define ANY_RENDER_FLAGS (DD_FLATSHADE |               \
-                         DD_TRI_LIGHT_TWOSIDE |        \
-                         DD_TRI_OFFSET |               \
-                         DD_TRI_UNFILLED)
-
-
-
 
 /**********************************************************************/
 /*                 Render whole begin/end objects                     */
@@ -518,6 +505,24 @@ fx_null_tri( GLcontext *ctx,
 #include "tnl/t_vb_rendertmp.h"
 
 
+/**********************************************************************/
+/*                    Choose render functions                         */
+/**********************************************************************/
+
+
+
+
+#define POINT_FALLBACK (DD_POINT_SMOOTH )
+#define LINE_FALLBACK  (DD_LINE_STIPPLE)
+#define TRI_FALLBACK   (DD_TRI_SMOOTH | DD_TRI_STIPPLE )
+#define ANY_FALLBACK   (POINT_FALLBACK | LINE_FALLBACK | TRI_FALLBACK)
+                        
+
+#define ANY_RENDER_FLAGS (DD_FLATSHADE |               \
+                         DD_TRI_LIGHT_TWOSIDE |        \
+                         DD_TRI_OFFSET |               \
+                         DD_TRI_UNFILLED)
+
 
 
 /* Setup the Point, Line, Triangle and Quad functions based on the
index 3138d59..d95cfca 100644 (file)
@@ -288,12 +288,13 @@ void fxDDSetupInit( void )
 void fx_validate_BuildProjVerts(GLcontext *ctx, GLuint start, GLuint count,
                                GLuint newinputs )
 {
-   GLuint setupindex = SETUP_XYZW;
    fxMesaContext fxMesa = (fxMesaContext)ctx->DriverCtx;
 
    if (!fxMesa->is_in_hardware) 
-     ctx->Driver.BuildProjectedVertices = _swsetup_BuildProjectedVertices;
+      ctx->Driver.BuildProjectedVertices = _swsetup_BuildProjectedVertices;
    else {
+      GLuint setupindex = SETUP_XYZW;
+
       fxMesa->tmu_source[0] = 0;
       fxMesa->tmu_source[1] = 1;
       fxMesa->tex_dest[0] = SETUP_TMU0;
@@ -357,20 +358,13 @@ void fx_BuildProjVerts( GLcontext *ctx, GLuint start, GLuint count,
         ind &= fxMesa->setupindex;
       }
 
-      if (0) {
-        _tnl_print_vert_flags("newinputs", newinputs);
-        fxPrintSetupFlags("setup function", ind); 
-      }
-
       if (ind) {
         if (fxMesa->new_state) 
-           fxSetupFXUnits( ctx );
-      
-        if (VB->importable_data)
+           fxSetupFXUnits( ctx ); /* why? */
+        
+        if (VB->importable_data & newinputs)
            VB->import_data( ctx, VB->importable_data & newinputs,
-                            (VB->ClipOrMask
-                             ? VEC_NOT_WRITEABLE|VEC_BAD_STRIDE
-                             : VEC_BAD_STRIDE));
+                            VEC_BAD_STRIDE );
       
         setupfuncs[ind]( ctx, start, count );   
       }