diff options
Diffstat (limited to 'src/mesa')
| -rw-r--r-- | src/mesa/vbo/vbo_context.c | 1 | ||||
| -rw-r--r-- | src/mesa/vbo/vbo_exec.c | 23 | ||||
| -rw-r--r-- | src/mesa/vbo/vbo_exec.h | 1 | ||||
| -rw-r--r-- | src/mesa/vbo/vbo_save.c | 38 | ||||
| -rw-r--r-- | src/mesa/vbo/vbo_save.h | 2 | 
5 files changed, 19 insertions, 46 deletions
| diff --git a/src/mesa/vbo/vbo_context.c b/src/mesa/vbo/vbo_context.c index 5279b2e13c..291eb0bed3 100644 --- a/src/mesa/vbo/vbo_context.c +++ b/src/mesa/vbo/vbo_context.c @@ -214,6 +214,7 @@ GLboolean _vbo_CreateContext( GLcontext *ctx )  void _vbo_InvalidateState( GLcontext *ctx, GLuint new_state )  {     _ae_invalidate_state(ctx, new_state); +   vbo_exec_invalidate_state(ctx, new_state);  } diff --git a/src/mesa/vbo/vbo_exec.c b/src/mesa/vbo/vbo_exec.c index 270e5201d3..7d95873247 100644 --- a/src/mesa/vbo/vbo_exec.c +++ b/src/mesa/vbo/vbo_exec.c @@ -37,8 +37,6 @@  #include "vbo_context.h" - -  void vbo_exec_init( GLcontext *ctx )  {     struct vbo_exec_context *exec = &vbo_context(ctx)->exec; @@ -54,11 +52,15 @@ void vbo_exec_init( GLcontext *ctx )     vbo_exec_vtx_init( exec );     vbo_exec_array_init( exec ); +   /* Hook our functions into exec and compile dispatch tables. +    */ +   _mesa_install_exec_vtxfmt( ctx, &exec->vtxfmt ); +     ctx->Driver.NeedFlush = 0;     ctx->Driver.CurrentExecPrimitive = PRIM_OUTSIDE_BEGIN_END;     ctx->Driver.FlushVertices = vbo_exec_FlushVertices; -   exec->eval.recalculate_maps = 1; +   vbo_exec_invalidate_state( ctx, ~0 );  } @@ -90,21 +92,6 @@ void vbo_exec_invalidate_state( GLcontext *ctx, GLuint new_state )  } -void vbo_exec_wakeup( GLcontext *ctx ) -{ -   struct vbo_exec_context *exec = &vbo_context(ctx)->exec; - -   ctx->Driver.FlushVertices = vbo_exec_FlushVertices; -   ctx->Driver.NeedFlush |= FLUSH_UPDATE_CURRENT; - -   /* Hook our functions into exec and compile dispatch tables. -    */ -   _mesa_install_exec_vtxfmt( ctx, &exec->vtxfmt ); - -   /* Assume we haven't been getting state updates either: -    */ -   vbo_exec_invalidate_state( ctx, ~0 ); -} diff --git a/src/mesa/vbo/vbo_exec.h b/src/mesa/vbo/vbo_exec.h index 72855d267e..ef158de825 100644 --- a/src/mesa/vbo/vbo_exec.h +++ b/src/mesa/vbo/vbo_exec.h @@ -146,7 +146,6 @@ void vbo_exec_init( GLcontext *ctx );  void vbo_exec_destroy( GLcontext *ctx );  void vbo_exec_invalidate_state( GLcontext *ctx, GLuint new_state );  void vbo_exec_FlushVertices( GLcontext *ctx, GLuint flags ); -void vbo_exec_wakeup( GLcontext *ctx );  /* Internal functions: diff --git a/src/mesa/vbo/vbo_save.c b/src/mesa/vbo/vbo_save.c index 0a5b705400..3a97ea66a4 100644 --- a/src/mesa/vbo/vbo_save.c +++ b/src/mesa/vbo/vbo_save.c @@ -35,6 +35,18 @@ +static void vbo_save_callback_init( GLcontext *ctx ) +{ +   ctx->Driver.NewList = vbo_save_NewList; +   ctx->Driver.EndList = vbo_save_EndList; +   ctx->Driver.SaveFlushVertices = vbo_save_SaveFlushVertices; +   ctx->Driver.BeginCallList = vbo_save_BeginCallList; +   ctx->Driver.EndCallList = vbo_save_EndCallList; +   ctx->Driver.NotifySaveBegin = vbo_save_NotifyBegin; +} + + +  void vbo_save_init( GLcontext *ctx )  {     struct vbo_save_context *save = &vbo_context(ctx)->save; @@ -42,7 +54,7 @@ void vbo_save_init( GLcontext *ctx )     save->ctx = ctx;     vbo_save_api_init( save ); -   vbo_save_wakeup(ctx); +   vbo_save_callback_init(ctx);     ctx->Driver.CurrentSavePrimitive = PRIM_UNKNOWN;  } @@ -68,27 +80,3 @@ void vbo_save_fallback( GLcontext *ctx, GLboolean fallback )  } -/* I don't see any reason to swap this code out on fallbacks.  It - * wouldn't really mean anything to do so anyway as the old lists are - * still around from pre-fallback.  Instead, the above code ensures - * that vertices are routed back through immediate mode dispatch on - * fallback. - * - * The below can be moved into init or removed: - */ -void vbo_save_wakeup( GLcontext *ctx ) -{ -   ctx->Driver.NewList = vbo_save_NewList; -   ctx->Driver.EndList = vbo_save_EndList; -   ctx->Driver.SaveFlushVertices = vbo_save_SaveFlushVertices; -   ctx->Driver.BeginCallList = vbo_save_BeginCallList; -   ctx->Driver.EndCallList = vbo_save_EndCallList; -   ctx->Driver.NotifySaveBegin = vbo_save_NotifyBegin; - -   /* Assume we haven't been getting state updates either: -    */ -   vbo_save_invalidate_state( ctx, ~0 ); -} - - - diff --git a/src/mesa/vbo/vbo_save.h b/src/mesa/vbo/vbo_save.h index dbe5cafb99..5a64429411 100644 --- a/src/mesa/vbo/vbo_save.h +++ b/src/mesa/vbo/vbo_save.h @@ -150,8 +150,6 @@ struct vbo_save_context {  void vbo_save_init( GLcontext *ctx );  void vbo_save_destroy( GLcontext *ctx ); -void vbo_save_wakeup( GLcontext *ctx ); -void vbo_save_invalidate_state( GLcontext *ctx, GLuint new_state );  void vbo_save_fallback( GLcontext *ctx, GLboolean fallback );  /* save_loopback.c: | 
