Reenable the vtxfmt code paths in the radeon and r200 drivers.
authorFelix Kuehling <fxkuehl@gmx.de>
Sun, 4 Jan 2004 16:39:29 +0000 (16:39 +0000)
committerFelix Kuehling <fxkuehl@gmx.de>
Sun, 4 Jan 2004 16:39:29 +0000 (16:39 +0000)
src/mesa/drivers/dri/r200/r200_vtxfmt.c
src/mesa/drivers/dri/radeon/radeon_vtxfmt.c
src/mesa/tnl/t_vtx_api.c

index 188bed28765913ba83aa7d0581cdcf96a88a5ad3..2e83adad2699248e51052d9a602b0aa5b5d33178 100644 (file)
@@ -744,12 +744,6 @@ void r200VtxfmtInvalidate( GLcontext *ctx )
 }
 
 
-static void r200NewList( GLcontext *ctx, GLuint list, GLenum mode )
-{
-   VFMT_FALLBACK_OUTSIDE_BEGIN_END( __FUNCTION__ );
-}
-
-
 static void r200VtxfmtValidate( GLcontext *ctx )
 {
    r200ContextPtr rmesa = R200_CONTEXT( ctx );
@@ -769,7 +763,6 @@ static void r200VtxfmtValidate( GLcontext *ctx )
 
         _mesa_install_exec_vtxfmt( ctx, &rmesa->vb.vtxfmt );
         ctx->Driver.FlushVertices = r200VtxFmtFlushVertices;
-        ctx->Driver.NewList = r200NewList;
         rmesa->vb.installed = GL_TRUE;
       }
       else if (R200_DEBUG & DEBUG_VFMT)
@@ -1037,6 +1030,14 @@ void r200VtxfmtInit( GLcontext *ctx, GLboolean useCodegen )
    vfmt->MultiTexCoord4fvARB = r200_fallback_MultiTexCoord4fvARB;
    vfmt->Vertex4f = r200_fallback_Vertex4f;
    vfmt->Vertex4fv = r200_fallback_Vertex4fv;
+   vfmt->VertexAttrib1fNV  = r200_fallback_VertexAttrib1fNV;
+   vfmt->VertexAttrib1fvNV = r200_fallback_VertexAttrib1fvNV;
+   vfmt->VertexAttrib2fNV  = r200_fallback_VertexAttrib2fNV;
+   vfmt->VertexAttrib2fvNV = r200_fallback_VertexAttrib2fvNV;
+   vfmt->VertexAttrib3fNV  = r200_fallback_VertexAttrib3fNV;
+   vfmt->VertexAttrib3fvNV = r200_fallback_VertexAttrib3fvNV;
+   vfmt->VertexAttrib4fNV  = r200_fallback_VertexAttrib4fNV;
+   vfmt->VertexAttrib4fvNV = r200_fallback_VertexAttrib4fvNV;
 
    (void)r200_fallback_vtxfmt;
 
index 4e27324807f1331011d6f34d239e44d17a42c59c..9fb699e3d614338bbfd288f0f00719b8664b8ebd 100644 (file)
@@ -705,12 +705,6 @@ void radeonVtxfmtInvalidate( GLcontext *ctx )
 }
 
 
-static void radeonNewList( GLcontext *ctx, GLuint list, GLenum mode )
-{
-   VFMT_FALLBACK_OUTSIDE_BEGIN_END( __FUNCTION__ );
-}
-
-
 static void radeonVtxfmtValidate( GLcontext *ctx )
 {
    radeonContextPtr rmesa = RADEON_CONTEXT( ctx );
@@ -730,7 +724,6 @@ static void radeonVtxfmtValidate( GLcontext *ctx )
 
         _mesa_install_exec_vtxfmt( ctx, &rmesa->vb.vtxfmt );
         ctx->Driver.FlushVertices = radeonVtxfmtFlushVertices;
-        ctx->Driver.NewList = radeonNewList;
         rmesa->vb.installed = GL_TRUE;
       }
       else if (RADEON_DEBUG & DEBUG_VFMT)
@@ -999,6 +992,14 @@ void radeonVtxfmtInit( GLcontext *ctx, GLboolean useCodegen )
    vfmt->MultiTexCoord4fvARB = radeon_fallback_MultiTexCoord4fvARB;
    vfmt->Vertex4f = radeon_fallback_Vertex4f;
    vfmt->Vertex4fv = radeon_fallback_Vertex4fv;
+   vfmt->VertexAttrib1fNV  = radeon_fallback_VertexAttrib1fNV;
+   vfmt->VertexAttrib1fvNV = radeon_fallback_VertexAttrib1fvNV;
+   vfmt->VertexAttrib2fNV  = radeon_fallback_VertexAttrib2fNV;
+   vfmt->VertexAttrib2fvNV = radeon_fallback_VertexAttrib2fvNV;
+   vfmt->VertexAttrib3fNV  = radeon_fallback_VertexAttrib3fNV;
+   vfmt->VertexAttrib3fvNV = radeon_fallback_VertexAttrib3fvNV;
+   vfmt->VertexAttrib4fNV  = radeon_fallback_VertexAttrib4fNV;
+   vfmt->VertexAttrib4fvNV = radeon_fallback_VertexAttrib4fvNV;
 
    (void)radeon_fallback_vtxfmt;
 
index 36ba7b6dff6255d7c912625a35f7219bb9e75620..d77a538ade769f68450cc69fcb3d4822d360c0a7 100644 (file)
@@ -981,7 +981,8 @@ static void GLAPIENTRY _tnl_Begin( GLenum mode )
 
       if (ctx->NewState) {
         _mesa_update_state( ctx );
-        ctx->Exec->Begin(mode);
+        if (!(tnl->Driver.NotifyBegin && tnl->Driver.NotifyBegin( ctx, mode )))
+            ctx->Exec->Begin(mode);
         return;
       }