-/* $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
}
-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;
}
-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;
if (ctx->Driver.BeginCallList)
ctx->Driver.BeginCallList( ctx, list );
+/* fprintf(stderr, "execute list %d\n", list); */
/* mesa_print_display_list( list ); */
ctx->CallDepth++;
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) {
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;
-/* $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
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 );
-/* $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
*/
_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;
_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;