Index: r200_swtcl.c =================================================================== RCS file: /cvs/mesa/Mesa/src/mesa/drivers/dri/r200/r200_swtcl.c,v retrieving revision 1.23 diff -u -r1.23 r200_swtcl.c --- r200_swtcl.c 17 Feb 2005 14:12:50 -0000 1.23 +++ r200_swtcl.c 9 Mar 2005 23:07:17 -0000 @@ -219,6 +219,12 @@ { r200ContextPtr rmesa = R200_CONTEXT( ctx ); TNLcontext *tnl = TNL_CONTEXT(ctx); + + /* XXX we must ensure we don't mess with _tnl_need_projected_coords when in + * a raster fallback. However, this may not be correct I believe, I think this + * code may be triggered when we are just transitioning to raster fallback, and + * are not yet there? */ + if (rmesa->Fallback) return; GLuint vte = rmesa->hw.vte.cmd[VTE_SE_VTE_CNTL]; GLuint vap = rmesa->hw.vap.cmd[VAP_SE_VAP_CNTL]; @@ -678,7 +684,8 @@ R200_FIREVERTICES( rmesa ); TCL_FALLBACK( ctx, R200_TCL_FALLBACK_RASTER, GL_TRUE ); _swsetup_Wakeup( ctx ); - _tnl_need_projected_coords( ctx, GL_TRUE ); + /* xxx this won't do anything as it's called within _swsetup_Wakeup anyway */ +/* _tnl_need_projected_coords( ctx, GL_TRUE ); */ rmesa->swtcl.RenderIndex = ~0; if (R200_DEBUG & DEBUG_FALLBACKS) { fprintf(stderr, "R200 begin rasterization fallback: 0x%x %s\n",