summaryrefslogtreecommitdiffstats
path: root/src/mesa/main
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2002-10-14 17:08:17 +0000
committerBrian Paul <[email protected]>2002-10-14 17:08:17 +0000
commit60b6e4fd7e85ca0ad1c4ab22433b745bf97e9280 (patch)
tree5368e3158654b0d3d52a828ea517909635b5e267 /src/mesa/main
parent795ae30787e6fd9413a495586edf4973e4987417 (diff)
context-related cleanups (ex: _mesa_notifySwapBuffers instead of _mesa_swapbuffers)
Diffstat (limited to 'src/mesa/main')
-rw-r--r--src/mesa/main/context.c110
-rw-r--r--src/mesa/main/context.h6
-rw-r--r--src/mesa/main/imports.c11
3 files changed, 25 insertions, 102 deletions
diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c
index e9c82c91be7..b5872471c8d 100644
--- a/src/mesa/main/context.c
+++ b/src/mesa/main/context.c
@@ -1,4 +1,4 @@
-/* $Id: context.c,v 1.183 2002/10/11 17:41:03 brianp Exp $ */
+/* $Id: context.c,v 1.184 2002/10/14 17:08:17 brianp Exp $ */
/*
* Mesa 3-D graphics library
@@ -77,19 +77,6 @@ int MESA_VERBOSE = 0;
int MESA_DEBUG_FLAGS = 0;
#endif
-/* XFree86 stuff */
-#ifdef getenv
-#undef getenv
-#endif
-#ifdef calloc
-#undef calloc
-extern void *calloc(size_t, size_t);
-#endif
-#ifdef free
-#undef free
-extern void free(void *);
-#endif
-
static void
free_shared_state( GLcontext *ctx, struct gl_shared_state *ss );
@@ -186,6 +173,8 @@ _mesa_notifyResize(__GLcontext *gc)
void
_mesa_notifyDestroy(__GLcontext *gc)
{
+ /* Called when the context's window/buffer is going to be destroyed. */
+ /* Unbind from it. */
}
/* Called by window system just before swapping buffers.
@@ -250,28 +239,10 @@ __glCoreCreateContext(__GLimports *imports, __GLcontextModes *modes)
if (ctx == NULL) {
return NULL;
}
- ctx->Driver.CurrentExecPrimitive=0; /* XXX why is this here??? */
+
ctx->imports = *imports;
_mesa_init_default_exports(&(ctx->exports));
-
- _mesa_initialize_visual(&ctx->Visual,
- modes->rgbMode,
- modes->doubleBufferMode,
- modes->stereoMode,
- modes->redBits,
- modes->greenBits,
- modes->blueBits,
- modes->alphaBits,
- modes->indexBits,
- modes->depthBits,
- modes->stencilBits,
- modes->accumRedBits,
- modes->accumGreenBits,
- modes->accumBlueBits,
- modes->accumAlphaBits,
- 0);
-
- _mesa_initialize_context(ctx, &ctx->Visual, NULL, imports);
+ _mesa_initialize_context(ctx, modes, NULL, imports);
return ctx;
}
@@ -590,7 +561,7 @@ one_time_init( GLcontext *ctx )
#ifdef USE_SPARC_ASM
_mesa_init_sparc_glapi_relocs();
#endif
- if (ctx->imports.getenv(ctx, "MESA_DEBUG")) {
+ if ((*ctx->imports.getenv)(ctx, "MESA_DEBUG")) {
_glapi_noop_enable_warnings(GL_TRUE);
#ifndef GLX_DIRECT_RENDERING
/* libGL from before 2002/06/28 don't have this function. Someday,
@@ -1499,13 +1470,13 @@ init_attrib_groups( GLcontext *ctx )
ctx->_Facing = 0;
/* For debug/development only */
- ctx->NoRaster = ctx->imports.getenv(ctx, "MESA_NO_RASTER") ? GL_TRUE : GL_FALSE;
+ ctx->NoRaster = (*ctx->imports.getenv)(ctx, "MESA_NO_RASTER") ? GL_TRUE : GL_FALSE;
ctx->FirstTimeCurrent = GL_TRUE;
/* Dither disable */
- ctx->NoDither = ctx->imports.getenv(ctx, "MESA_NO_DITHER") ? GL_TRUE : GL_FALSE;
+ ctx->NoDither = (*ctx->imports.getenv)(ctx, "MESA_NO_DITHER") ? GL_TRUE : GL_FALSE;
if (ctx->NoDither) {
- if (ctx->imports.getenv(ctx, "MESA_DEBUG")) {
+ if ((*ctx->imports.getenv)(ctx, "MESA_DEBUG")) {
_mesa_debug(ctx, "MESA_NO_DITHER set - dithering disabled\n");
}
ctx->Color.DitherFlag = GL_FALSE;
@@ -1660,6 +1631,7 @@ _mesa_initialize_context( GLcontext *ctx,
const __GLimports *imports )
{
GLuint dispatchSize;
+ const char *c;
ASSERT(imports);
ASSERT(imports->other); /* other points to the device driver's context */
@@ -1881,41 +1853,13 @@ _mesa_initialize_context( GLcontext *ctx,
}
ctx->MRD = 1.0; /* Minimum resolvable depth value, for polygon offset */
+ c = (*ctx->imports.getenv)(ctx, "MESA_DEBUG");
+ if (c)
+ add_debug_flags(c);
-#if defined(MESA_TRACE)
- ctx->TraceCtx = (trace_context_t *) CALLOC( sizeof(trace_context_t) );
-#if 0
- /* Brian: do you want to have CreateContext fail here,
- or should we just trap in NewTrace (currently done)? */
- if (!(ctx->TraceCtx)) {
- free_shared_state(ctx, ctx->Shared);
- FREE( ctx->Exec );
- FREE( ctx->Save );
- return GL_FALSE;
- }
-#endif
- trInitContext(ctx->TraceCtx);
-
- ctx->TraceDispatch = (struct _glapi_table *)
- CALLOC(dispatchSize * sizeof(void*));
-#if 0
- if (!(ctx->TraceCtx)) {
- free_shared_state(ctx, ctx->Shared);
- FREE( ctx->Exec );
- FREE( ctx->Save );
- FREE( ctx->TraceCtx );
- return GL_FALSE;
- }
-#endif
- trInitDispatch(ctx->TraceDispatch);
-#endif
-
-
- if (ctx->imports.getenv(ctx, "MESA_DEBUG"))
- add_debug_flags(ctx->imports.getenv(ctx, "MESA_DEBUG"));
-
- if (ctx->imports.getenv(ctx, "MESA_VERBOSE"))
- add_debug_flags(ctx->imports.getenv(ctx, "MESA_VERBOSE"));
+ c = (*ctx->imports.getenv)(ctx, "MESA_VERBOSE");
+ if (c)
+ add_debug_flags(c);
return GL_TRUE;
}
@@ -1940,17 +1884,15 @@ _mesa_create_context( const GLvisual *visual,
ASSERT(imports);
ASSERT(imports->calloc);
- ctx = (GLcontext *) imports->calloc(NULL, 1, sizeof(GLcontext));
+ ctx = (GLcontext *) (*imports->calloc)(NULL, 1, sizeof(GLcontext));
if (!ctx)
return NULL;
- ctx->Driver.CurrentExecPrimitive = 0; /* XXX why is this here??? */
-
if (_mesa_initialize_context(ctx, visual, share_list, imports)) {
return ctx;
}
else {
- imports->free(NULL, ctx);
+ (*imports->free)(NULL, ctx);
return NULL;
}
}
@@ -2330,7 +2272,7 @@ _mesa_make_current2( GLcontext *newCtx, GLframebuffer *drawBuffer,
* information.
*/
if (newCtx->FirstTimeCurrent) {
- if (newCtx->imports.getenv(newCtx, "MESA_INFO")) {
+ if ((*newCtx->imports.getenv)(newCtx, "MESA_INFO")) {
print_info();
}
newCtx->FirstTimeCurrent = GL_FALSE;
@@ -2352,20 +2294,6 @@ _mesa_get_current_context( void )
}
-
-/*
- * This should be called by device drivers just before they do a
- * swapbuffers. Any pending rendering commands will be executed.
- * XXX we should really rename this function to _mesa_flush() or something.
- */
-void
-_mesa_swapbuffers(GLcontext *ctx)
-{
- FLUSH_VERTICES( ctx, 0 );
-}
-
-
-
/*
* Return pointer to this context's current API dispatch table.
* It'll either be the immediate-mode execute dispatcher or the
diff --git a/src/mesa/main/context.h b/src/mesa/main/context.h
index 2b359d0968e..937b9c59a3d 100644
--- a/src/mesa/main/context.h
+++ b/src/mesa/main/context.h
@@ -1,4 +1,4 @@
-/* $Id: context.h,v 1.33 2002/06/29 19:48:15 brianp Exp $ */
+/* $Id: context.h,v 1.34 2002/10/14 17:08:21 brianp Exp $ */
/*
* Mesa 3-D graphics library
@@ -216,10 +216,6 @@ _mesa_endDispatchOverride(__GLcontext *gc);
-
-extern void
-_mesa_swapbuffers(GLcontext *ctx);
-
extern struct _glapi_table *
_mesa_get_dispatch(GLcontext *ctx);
diff --git a/src/mesa/main/imports.c b/src/mesa/main/imports.c
index bd62f279aad..c3783c624b9 100644
--- a/src/mesa/main/imports.c
+++ b/src/mesa/main/imports.c
@@ -1,4 +1,4 @@
-/* $Id: imports.c,v 1.18 2002/08/03 16:19:20 kschultz Exp $ */
+/* $Id: imports.c,v 1.19 2002/10/14 17:08:21 brianp Exp $ */
/*
* Mesa 3-D graphics library
@@ -84,12 +84,11 @@ static char * CAPI
_mesa_getenv(__GLcontext *gc, const char *var)
{
(void) gc;
-/* Whacko XFree86 macro:
- */
-#ifdef getenv
-#undef getenv
-#endif
+#ifdef XFree86LOADER
+ return xf86getenv(var);
+#else
return getenv(var);
+#endif
}