static void mgaRunPipeline( GLcontext *ctx ) { mgaContextPtr mmesa = MGA_CONTEXT(ctx); if (mmesa->new_state) { mgaDDUpdateHwState( ctx ); } if (!mmesa->Fallback && mmesa->new_gl_state) { if (mmesa->new_gl_state & _MGA_NEW_RASTERSETUP) mgaChooseVertexState( ctx ); if (mmesa->new_gl_state & _MGA_NEW_RENDERSTATE) mgaChooseRenderState( ctx ); mmesa->new_gl_state = 0; /* Circularity: mgaDDUpdateHwState can affect mmesa->Fallback, * but mgaChooseVertexState can affect mmesa->new_state. Hence * the second check. (Fix this...) */ if (mmesa->new_state) { mgaDDUpdateHwState( ctx ); } } _tnl_run_pipeline( ctx ); }
static void mgaDDValidateState( GLcontext *ctx ) { mgaContextPtr mmesa = MGA_CONTEXT( ctx ); FLUSH_BATCH( mmesa ); if (mmesa->NewGLState & _NEW_TEXTURE) { mgaUpdateTextureState(ctx); } if (!mmesa->Fallback) { if (mmesa->NewGLState & _MGA_NEW_RASTERSETUP) { mgaChooseVertexState( ctx ); } if (mmesa->NewGLState & _MGA_NEW_RENDERSTATE) { mgaChooseRenderState( ctx ); } } mmesa->NewGLState = 0; }