-/* $Id: attrib.c,v 1.3 1999/09/18 20:41:22 keithw Exp $ */
+/* $Id: attrib.c,v 1.4 1999/09/19 23:43:02 keithw Exp $ */
/*
* Mesa 3-D graphics library
}
TEST_AND_UPDATE(ctx->Light.ColorMaterialEnabled, enable->ColorMaterial, GL_COLOR_MATERIAL);
TEST_AND_UPDATE(ctx->Polygon.CullFlag, enable->CullFace, GL_CULL_FACE);
+ TEST_AND_UPDATE(ctx->Depth.Test, enable->DepthTest, GL_DEPTH_TEST);
TEST_AND_UPDATE(ctx->Color.DitherFlag, enable->Dither, GL_DITHER);
TEST_AND_UPDATE(ctx->Fog.Enabled, enable->Fog, GL_FOG);
TEST_AND_UPDATE(ctx->Light.Enabled, enable->Lighting, GL_LIGHTING);
-/* $Id: context.c,v 1.8 1999/09/18 20:41:22 keithw Exp $ */
+/* $Id: context.c,v 1.9 1999/09/19 23:43:02 keithw Exp $ */
/*
* Mesa 3-D graphics library
for (i = 0 ; i < MAX_MODELVIEW_STACK_DEPTH ; i++) {
gl_matrix_dtr( &ctx->ModelViewStack[i] );
}
-
+ gl_matrix_dtr( &ctx->ProjectionMatrix );
+ for (i = 0 ; i < MAX_PROJECTION_STACK_DEPTH ; i++) {
+ gl_matrix_dtr( &ctx->ProjectionStack[i] );
+ }
free( ctx->PB );
- free( ctx->VB );
+
+ if(ctx->input != ctx->VB->IM)
+ gl_immediate_free( ctx->input );
+
+ gl_vb_free( ctx->VB );
ctx->Shared->RefCount--;
assert(ctx->Shared->RefCount>=0);
if (ctx->EvalMap.Map2Texture4.Points)
free( ctx->EvalMap.Map2Texture4.Points );
+ /* Free cache of immediate buffers. */
+ while (ctx->nr_im_queued-- > 0) {
+ struct immediate * next = ctx->freed_im_queue->next;
+ free( ctx->freed_im_queue );
+ ctx->freed_im_queue = next;
+ }
+ gl_extensions_dtr(ctx);
+
free( (void *) ctx );
#ifndef THREADS
-/* $Id: depth.c,v 1.2 1999/09/10 14:24:35 keithw Exp $ */
+/* $Id: depth.c,v 1.3 1999/09/19 23:43:02 keithw Exp $ */
/*
* Mesa 3-D graphics library
if (!ctx->Buffer->Depth) {
/* out of memory */
ctx->Depth.Test = GL_FALSE;
+ ctx->NewState |= NEW_RASTER_OPS;
gl_error( ctx, GL_OUT_OF_MEMORY, "Couldn't allocate depth buffer" );
}
}