diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mesa/main/dlist.c | 20 | ||||
-rw-r--r-- | src/mesa/main/dlist.h | 7 | ||||
-rw-r--r-- | src/mesa/tnl/t_context.c | 6 |
3 files changed, 20 insertions, 13 deletions
diff --git a/src/mesa/main/dlist.c b/src/mesa/main/dlist.c index c7848dfc75..503bb9629c 100644 --- a/src/mesa/main/dlist.c +++ b/src/mesa/main/dlist.c @@ -1,4 +1,4 @@ -/* $Id: dlist.c,v 1.60 2000/12/27 23:01:25 keithw Exp $ */ +/* $Id: dlist.c,v 1.61 2001/01/13 18:28:19 keithw Exp $ */ /* * Mesa 3-D graphics library @@ -869,11 +869,12 @@ static void save_BlendColor( GLfloat red, GLfloat green, } -static void save_CallList( GLuint list ) +void _mesa_save_CallList( GLuint list ) { GET_CURRENT_CONTEXT(ctx); Node *n; ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); + n = ALLOC_INSTRUCTION( ctx, OPCODE_CALL_LIST, 1 ); if (n) { n[1].ui = list; @@ -884,7 +885,7 @@ static void save_CallList( GLuint list ) } -static void save_CallLists( GLsizei n, GLenum type, const GLvoid *lists ) +void _mesa_save_CallLists( GLsizei n, GLenum type, const GLvoid *lists ) { GET_CURRENT_CONTEXT(ctx); GLint i; @@ -3981,6 +3982,7 @@ static void execute_list( GLcontext *ctx, GLuint list ) if (ctx->Driver.BeginCallList) ctx->Driver.BeginCallList( ctx, list ); +/* fprintf(stderr, "execute list %d\n", list); */ /* mesa_print_display_list( list ); */ ctx->CallDepth++; @@ -4819,15 +4821,13 @@ _mesa_EndList( void ) void _mesa_CallList( GLuint list ) { + GLboolean save_compile_flag; GET_CURRENT_CONTEXT(ctx); + FLUSH_CURRENT(ctx, 0); /* VERY IMPORTANT: Save the CompileFlag status, turn it off, */ /* execute the display list, and restore the CompileFlag. */ - GLboolean save_compile_flag; - if (MESA_VERBOSE&VERBOSE_API) { - fprintf(stderr, "glCallList %u\n", list); - mesa_print_display_list( list ); - } +/* mesa_print_display_list( list ); */ save_compile_flag = ctx->CompileFlag; if (save_compile_flag) { @@ -5536,8 +5536,8 @@ _mesa_init_dlist_table( struct _glapi_table *table, GLuint tableSize ) table->AlphaFunc = save_AlphaFunc; table->Bitmap = save_Bitmap; table->BlendFunc = save_BlendFunc; - table->CallList = save_CallList; - table->CallLists = save_CallLists; + table->CallList = _mesa_save_CallList; + table->CallLists = _mesa_save_CallLists; table->Clear = save_Clear; table->ClearAccum = save_ClearAccum; table->ClearColor = save_ClearColor; diff --git a/src/mesa/main/dlist.h b/src/mesa/main/dlist.h index e2dea89269..d43aed787b 100644 --- a/src/mesa/main/dlist.h +++ b/src/mesa/main/dlist.h @@ -1,4 +1,4 @@ -/* $Id: dlist.h,v 1.11 2000/12/26 07:41:32 keithw Exp $ */ +/* $Id: dlist.h,v 1.12 2001/01/13 18:28:20 keithw Exp $ */ /* * Mesa 3-D graphics library @@ -91,8 +91,11 @@ _mesa_alloc_opcode( GLcontext *ctx, GLuint sz, void (*destroy)( GLcontext *, void * ), void (*print)( GLcontext *, void * ) ); -extern void _mesa_save_EvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 ); +extern void _mesa_save_EvalMesh2(GLenum mode, GLint i1, GLint i2, + GLint j1, GLint j2 ); extern void _mesa_save_EvalMesh1( GLenum mode, GLint i1, GLint i2 ); +extern void _mesa_save_CallLists( GLsizei n, GLenum type, const GLvoid *lists ); +extern void _mesa_save_CallList( GLuint list ); diff --git a/src/mesa/tnl/t_context.c b/src/mesa/tnl/t_context.c index e0d254edf3..843db0ebd7 100644 --- a/src/mesa/tnl/t_context.c +++ b/src/mesa/tnl/t_context.c @@ -1,4 +1,4 @@ -/* $Id: t_context.c,v 1.10 2001/01/13 05:48:25 keithw Exp $ */ +/* $Id: t_context.c,v 1.11 2001/01/13 18:28:20 keithw Exp $ */ /* * Mesa 3-D graphics library @@ -111,6 +111,8 @@ _tnl_CreateContext( GLcontext *ctx ) */ _mesa_install_exec_vtxfmt( ctx, &tnl->vtxfmt ); _mesa_install_save_vtxfmt( ctx, &tnl->vtxfmt ); + ctx->Save->CallList = _mesa_save_CallList; /* fixme */ + ctx->Save->CallLists = _mesa_save_CallLists; ctx->Save->EvalMesh1 = _mesa_save_EvalMesh1; /* fixme */ ctx->Save->EvalMesh2 = _mesa_save_EvalMesh2; ctx->Save->Begin = _tnl_save_Begin; @@ -192,6 +194,8 @@ _tnl_wakeup_save_exec( GLcontext *ctx ) _tnl_wakeup_exec( ctx ); _mesa_install_save_vtxfmt( ctx, &tnl->vtxfmt ); + ctx->Save->CallList = _mesa_save_CallList; /* fixme */ + ctx->Save->CallLists = _mesa_save_CallLists; ctx->Save->EvalMesh1 = _mesa_save_EvalMesh1; /* fixme */ ctx->Save->EvalMesh2 = _mesa_save_EvalMesh2; ctx->Save->Begin = _tnl_save_Begin; |