summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBrian Paul <brian.paul@tungstengraphics.com>2002-10-14 17:08:17 +0000
committerBrian Paul <brian.paul@tungstengraphics.com>2002-10-14 17:08:17 +0000
commit60b6e4fd7e85ca0ad1c4ab22433b745bf97e9280 (patch)
tree5368e3158654b0d3d52a828ea517909635b5e267 /src
parent795ae30787e6fd9413a495586edf4973e4987417 (diff)
context-related cleanups (ex: _mesa_notifySwapBuffers instead of _mesa_swapbuffers)
Diffstat (limited to 'src')
-rw-r--r--src/mesa/drivers/dos/dmesa.c2
-rw-r--r--src/mesa/drivers/ggi/ggimesa.c2
-rw-r--r--src/mesa/drivers/glide/fxapi.c4
-rw-r--r--src/mesa/drivers/osmesa/osmesa.c3
-rw-r--r--src/mesa/drivers/svga/svgamesa.c4
-rw-r--r--src/mesa/drivers/windows/wmesa.c4
-rw-r--r--src/mesa/drivers/x11/xm_api.c7
-rw-r--r--src/mesa/drivers/x11/xm_dd.c4
-rw-r--r--src/mesa/main/context.c110
-rw-r--r--src/mesa/main/context.h6
-rw-r--r--src/mesa/main/imports.c11
11 files changed, 41 insertions, 116 deletions
diff --git a/src/mesa/drivers/dos/dmesa.c b/src/mesa/drivers/dos/dmesa.c
index ac21e8a15f3..65c82da19a9 100644
--- a/src/mesa/drivers/dos/dmesa.c
+++ b/src/mesa/drivers/dos/dmesa.c
@@ -936,6 +936,6 @@ void DMesaSwapBuffers (DMesaBuffer b)
{
/* copy/swap back buffer to front if applicable */
GET_CURRENT_CONTEXT(ctx);
- _mesa_swapbuffers(ctx);
+ _mesa_notifySwapBuffers(ctx);
vl_flip(b->the_window, b->stride, b->height);
}
diff --git a/src/mesa/drivers/ggi/ggimesa.c b/src/mesa/drivers/ggi/ggimesa.c
index b3afe6ef6c0..73f6f95b669 100644
--- a/src/mesa/drivers/ggi/ggimesa.c
+++ b/src/mesa/drivers/ggi/ggimesa.c
@@ -554,7 +554,7 @@ void ggiMesaSwapBuffers(void)
GGIMESADPRINT_CORE("ggiMesaSwapBuffers() called\n");
- _mesa_swapbuffers(ctx);
+ _mesa_notifySwapBuffers(ctx);
gl_ggiFlush(ctx);
ggiSetDisplayFrame(ggi_ctx->ggi_visual,
diff --git a/src/mesa/drivers/glide/fxapi.c b/src/mesa/drivers/glide/fxapi.c
index 5ba01b66e7c..eb87837c9b6 100644
--- a/src/mesa/drivers/glide/fxapi.c
+++ b/src/mesa/drivers/glide/fxapi.c
@@ -1,4 +1,4 @@
-/* $Id: fxapi.c,v 1.33 2002/06/15 02:38:16 brianp Exp $ */
+/* $Id: fxapi.c,v 1.34 2002/10/14 17:08:25 brianp Exp $ */
/*
* Mesa 3-D graphics library
@@ -742,7 +742,7 @@ fxMesaSwapBuffers(void)
}
if (fxMesaCurrentCtx) {
- _mesa_swapbuffers(fxMesaCurrentCtx->glCtx);
+ _mesa_notifySwapBuffers(fxMesaCurrentCtx->glCtx);
if (fxMesaCurrentCtx->haveDoubleBuffer) {
diff --git a/src/mesa/drivers/osmesa/osmesa.c b/src/mesa/drivers/osmesa/osmesa.c
index 5c1f7691c93..ff966c3f037 100644
--- a/src/mesa/drivers/osmesa/osmesa.c
+++ b/src/mesa/drivers/osmesa/osmesa.c
@@ -1,4 +1,4 @@
-/* $Id: osmesa.c,v 1.90 2002/10/11 17:41:05 brianp Exp $ */
+/* $Id: osmesa.c,v 1.91 2002/10/14 17:08:27 brianp Exp $ */
/*
* Mesa 3-D graphics library
@@ -305,6 +305,7 @@ OSMesaCreateContextExt( GLenum format, GLint depthBits, GLint stencilBits,
_mesa_enable_sw_extensions(&(osmesa->gl_ctx));
_mesa_enable_1_3_extensions(&(osmesa->gl_ctx));
+ /*_mesa_enable_1_4_extensions(&(osmesa->gl_ctx));*/
osmesa->gl_buffer = _mesa_create_framebuffer( osmesa->gl_visual,
(GLboolean) ( osmesa->gl_visual->depthBits > 0 ),
diff --git a/src/mesa/drivers/svga/svgamesa.c b/src/mesa/drivers/svga/svgamesa.c
index 270455ee691..4581517678b 100644
--- a/src/mesa/drivers/svga/svgamesa.c
+++ b/src/mesa/drivers/svga/svgamesa.c
@@ -1,4 +1,4 @@
-/* $Id: svgamesa.c,v 1.20 2002/07/09 01:22:51 brianp Exp $ */
+/* $Id: svgamesa.c,v 1.21 2002/10/14 17:08:27 brianp Exp $ */
/*
* Mesa 3-D graphics library
@@ -482,7 +482,7 @@ void SVGAMesaSwapBuffers( void )
copy_buffer(SVGABuffer.BackBuffer);
#ifndef DEV
- _mesa_swapbuffers( SVGAMesa->gl_ctx );
+ _mesa_notifySwapBuffers( SVGAMesa->gl_ctx );
if (SVGAMesa->gl_vis->doubleBufferMode)
#endif /* DEV */
{
diff --git a/src/mesa/drivers/windows/wmesa.c b/src/mesa/drivers/windows/wmesa.c
index bd91040221b..b18fe548ba7 100644
--- a/src/mesa/drivers/windows/wmesa.c
+++ b/src/mesa/drivers/windows/wmesa.c
@@ -1,4 +1,4 @@
-/* $Id: wmesa.c,v 1.39 2002/10/11 17:41:05 brianp Exp $ */
+/* $Id: wmesa.c,v 1.40 2002/10/14 17:08:28 brianp Exp $ */
/*
* Windows (Win32) device driver for Mesa 3.4
@@ -1459,7 +1459,7 @@ void WMesaSwapBuffers( void )
* we have to flush any pending rendering commands first.
*/
if (Current && Current->gl_ctx == ctx)
- _mesa_swapbuffers(ctx);
+ _mesa_notifySwapBuffers(ctx);
if (Current->db_flag)
wmFlush(Current);
diff --git a/src/mesa/drivers/x11/xm_api.c b/src/mesa/drivers/x11/xm_api.c
index 28837db6ca4..c4463af6901 100644
--- a/src/mesa/drivers/x11/xm_api.c
+++ b/src/mesa/drivers/x11/xm_api.c
@@ -1,4 +1,4 @@
-/* $Id: xm_api.c,v 1.44 2002/10/09 19:35:11 brianp Exp $ */
+/* $Id: xm_api.c,v 1.45 2002/10/14 17:08:34 brianp Exp $ */
/*
* Mesa 3-D graphics library
@@ -1642,6 +1642,7 @@ XMesaContext XMesaCreateContext( XMesaVisual v, XMesaContext share_list )
_mesa_enable_sw_extensions(ctx);
_mesa_enable_1_3_extensions(ctx);
+ /*_mesa_enable_1_4_extensions(ctx);*/
if (CHECK_BYTE_ORDER(v)) {
c->swapbytes = GL_FALSE;
@@ -2329,7 +2330,7 @@ void XMesaSwapBuffers( XMesaBuffer b )
* we have to flush any pending rendering commands first.
*/
if (ctx && ctx->DrawBuffer == &(b->mesa_buffer))
- _mesa_swapbuffers(ctx);
+ _mesa_notifySwapBuffers(ctx);
if (b->db_state) {
#ifdef FX
@@ -2395,7 +2396,7 @@ void XMesaCopySubBuffer( XMesaBuffer b, int x, int y, int width, int height )
* we have to flush any pending rendering commands first.
*/
if (ctx && ctx->DrawBuffer == &(b->mesa_buffer))
- _mesa_swapbuffers(ctx);
+ _mesa_notifySwapBuffers(ctx);
if (b->db_state) {
int yTop = b->height - y - height;
diff --git a/src/mesa/drivers/x11/xm_dd.c b/src/mesa/drivers/x11/xm_dd.c
index 81a4b006a46..e0bc2be1d4c 100644
--- a/src/mesa/drivers/x11/xm_dd.c
+++ b/src/mesa/drivers/x11/xm_dd.c
@@ -1,4 +1,4 @@
-/* $Id: xm_dd.c,v 1.38 2002/10/11 17:41:06 brianp Exp $ */
+/* $Id: xm_dd.c,v 1.39 2002/10/14 17:08:38 brianp Exp $ */
/*
* Mesa 3-D graphics library
@@ -146,7 +146,7 @@ set_buffer( GLcontext *ctx, GLframebuffer *buffer, GLuint bufferBit )
ASSERT(target->db_state);
if (target->backpixmap) {
/* back buffer is a pixmape */
- target->buffer = target->backpixmap;
+ target->buffer = target->backpixmap; /* incompatible types? */
}
else if (target->backimage) {
/* back buffer is an XImage */
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
}