summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/mesa/main/dlist.c20
-rw-r--r--src/mesa/main/dlist.h7
-rw-r--r--src/mesa/tnl/t_context.c6
3 files changed, 20 insertions, 13 deletions
diff --git a/src/mesa/main/dlist.c b/src/mesa/main/dlist.c
index c7848dfc750..503bb9629c5 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 e2dea892696..d43aed787bf 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 e0d254edf33..843db0ebd7b 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;