s/gl_ctx/mesa/ and misc clean-ups

This commit is contained in:
Brian Paul
2003-04-01 17:28:55 +00:00
parent 1e24d3318d
commit 6fafc7ad19

View File

@@ -1,4 +1,4 @@
/* $Id: osmesa.c,v 1.102 2003/04/01 16:41:57 brianp Exp $ */ /* $Id: osmesa.c,v 1.103 2003/04/01 17:28:55 brianp Exp $ */
/* /*
* Mesa 3-D graphics library * Mesa 3-D graphics library
@@ -70,7 +70,7 @@
* or vice versa. * or vice versa.
*/ */
struct osmesa_context { struct osmesa_context {
GLcontext gl_ctx; /* The core GL/Mesa context */ GLcontext mesa; /* The core GL/Mesa context */
GLvisual *gl_visual; /* Describes the buffers */ GLvisual *gl_visual; /* Describes the buffers */
GLframebuffer *gl_buffer; /* Depth, stencil, accum, etc buffers */ GLframebuffer *gl_buffer; /* Depth, stencil, accum, etc buffers */
GLenum format; /* either GL_RGBA or GL_COLOR_INDEX */ GLenum format; /* either GL_RGBA or GL_COLOR_INDEX */
@@ -87,6 +87,7 @@ struct osmesa_context {
}; };
/* Just cast, since we're using structure containment */
#define OSMESA_CONTEXT(ctx) ((OSMesaContext) (ctx->DriverCtx)) #define OSMESA_CONTEXT(ctx) ((OSMesaContext) (ctx->DriverCtx))
@@ -671,9 +672,6 @@ hook_in_driver_functions( GLcontext *ctx )
ctx->Driver.CompressedTexSubImage2D = _mesa_store_compressed_texsubimage2d; ctx->Driver.CompressedTexSubImage2D = _mesa_store_compressed_texsubimage2d;
ctx->Driver.CompressedTexSubImage3D = _mesa_store_compressed_texsubimage3d; ctx->Driver.CompressedTexSubImage3D = _mesa_store_compressed_texsubimage3d;
ctx->Driver.NewTextureObject = _mesa_new_texture_object;
ctx->Driver.DeleteTexture = _mesa_delete_texture_object;
ctx->Driver.CopyTexImage1D = _swrast_copy_teximage1d; ctx->Driver.CopyTexImage1D = _swrast_copy_teximage1d;
ctx->Driver.CopyTexImage2D = _swrast_copy_teximage2d; ctx->Driver.CopyTexImage2D = _swrast_copy_teximage2d;
ctx->Driver.CopyTexSubImage1D = _swrast_copy_texsubimage1d; ctx->Driver.CopyTexSubImage1D = _swrast_copy_texsubimage1d;
@@ -962,9 +960,17 @@ OSMesaCreateContextExt( GLenum format, GLint depthBits, GLint stencilBits,
return NULL; return NULL;
} }
if (!_mesa_initialize_context(&osmesa->gl_ctx, /* Setup these pointers here since they're using for making the default
* and proxy texture objects. Actually, we don't really need to do
* this since we're using the default fallback functions which
* _mesa_initialize_context() would plug in if needed.
*/
osmesa->mesa.Driver.NewTextureObject = _mesa_new_texture_object;
osmesa->mesa.Driver.DeleteTexture = _mesa_delete_texture_object;
if (!_mesa_initialize_context(&osmesa->mesa,
osmesa->gl_visual, osmesa->gl_visual,
sharelist ? &sharelist->gl_ctx sharelist ? &sharelist->mesa
: (GLcontext *) NULL, : (GLcontext *) NULL,
(void *) osmesa, (void *) osmesa,
GL_FALSE)) { GL_FALSE)) {
@@ -973,9 +979,9 @@ OSMesaCreateContextExt( GLenum format, GLint depthBits, GLint stencilBits,
return NULL; return NULL;
} }
_mesa_enable_sw_extensions(&(osmesa->gl_ctx)); _mesa_enable_sw_extensions(&(osmesa->mesa));
_mesa_enable_1_3_extensions(&(osmesa->gl_ctx)); _mesa_enable_1_3_extensions(&(osmesa->mesa));
/*_mesa_enable_1_4_extensions(&(osmesa->gl_ctx));*/ _mesa_enable_1_4_extensions(&(osmesa->mesa));
osmesa->gl_buffer = _mesa_create_framebuffer( osmesa->gl_visual, osmesa->gl_buffer = _mesa_create_framebuffer( osmesa->gl_visual,
(GLboolean) ( osmesa->gl_visual->depthBits > 0 ), (GLboolean) ( osmesa->gl_visual->depthBits > 0 ),
@@ -985,7 +991,7 @@ OSMesaCreateContextExt( GLenum format, GLint depthBits, GLint stencilBits,
if (!osmesa->gl_buffer) { if (!osmesa->gl_buffer) {
_mesa_destroy_visual( osmesa->gl_visual ); _mesa_destroy_visual( osmesa->gl_visual );
_mesa_free_context_data( &osmesa->gl_ctx ); _mesa_free_context_data( &osmesa->mesa );
FREE(osmesa); FREE(osmesa);
return NULL; return NULL;
} }
@@ -1007,7 +1013,7 @@ OSMesaCreateContextExt( GLenum format, GLint depthBits, GLint stencilBits,
/* Initialize the software rasterizer and helper modules. */ /* Initialize the software rasterizer and helper modules. */
{ {
GLcontext *ctx = &osmesa->gl_ctx; GLcontext *ctx = &osmesa->mesa;
_swrast_CreateContext( ctx ); _swrast_CreateContext( ctx );
_ac_CreateContext( ctx ); _ac_CreateContext( ctx );
@@ -1031,14 +1037,14 @@ GLAPI void GLAPIENTRY
OSMesaDestroyContext( OSMesaContext ctx ) OSMesaDestroyContext( OSMesaContext ctx )
{ {
if (ctx) { if (ctx) {
_swsetup_DestroyContext( &ctx->gl_ctx ); _swsetup_DestroyContext( &ctx->mesa );
_tnl_DestroyContext( &ctx->gl_ctx ); _tnl_DestroyContext( &ctx->mesa );
_ac_DestroyContext( &ctx->gl_ctx ); _ac_DestroyContext( &ctx->mesa );
_swrast_DestroyContext( &ctx->gl_ctx ); _swrast_DestroyContext( &ctx->mesa );
_mesa_destroy_visual( ctx->gl_visual ); _mesa_destroy_visual( ctx->gl_visual );
_mesa_destroy_framebuffer( ctx->gl_buffer ); _mesa_destroy_framebuffer( ctx->gl_buffer );
_mesa_free_context_data( &ctx->gl_ctx ); _mesa_free_context_data( &ctx->mesa );
FREE( ctx ); FREE( ctx );
} }
} }
@@ -1131,8 +1137,8 @@ OSMesaMakeCurrent( OSMesaContext ctx, void *buffer, GLenum type,
return GL_FALSE; return GL_FALSE;
} }
osmesa_update_state( &ctx->gl_ctx, 0 ); osmesa_update_state( &ctx->mesa, 0 );
_mesa_make_current( &ctx->gl_ctx, ctx->gl_buffer ); _mesa_make_current( &ctx->mesa, ctx->gl_buffer );
ctx->buffer = buffer; ctx->buffer = buffer;
ctx->width = width; ctx->width = width;
@@ -1145,11 +1151,11 @@ OSMesaMakeCurrent( OSMesaContext ctx, void *buffer, GLenum type,
compute_row_addresses( ctx ); compute_row_addresses( ctx );
/* init viewport */ /* init viewport */
if (ctx->gl_ctx.Viewport.Width == 0) { if (ctx->mesa.Viewport.Width == 0) {
/* initialize viewport and scissor box to buffer size */ /* initialize viewport and scissor box to buffer size */
_mesa_Viewport( 0, 0, width, height ); _mesa_Viewport( 0, 0, width, height );
ctx->gl_ctx.Scissor.Width = width; ctx->mesa.Scissor.Width = width;
ctx->gl_ctx.Scissor.Height = height; ctx->mesa.Scissor.Height = height;
} }
else { else {
/* this will make ensure we recognize the new buffer size */ /* this will make ensure we recognize the new buffer size */
@@ -1157,8 +1163,8 @@ OSMesaMakeCurrent( OSMesaContext ctx, void *buffer, GLenum type,
} }
/* Added by Gerk Huisma: */ /* Added by Gerk Huisma: */
_tnl_MakeCurrent( &ctx->gl_ctx, ctx->gl_ctx.DrawBuffer, _tnl_MakeCurrent( &ctx->mesa, ctx->mesa.DrawBuffer,
ctx->gl_ctx.ReadBuffer ); ctx->mesa.ReadBuffer );
return GL_TRUE; return GL_TRUE;
} }
@@ -1183,7 +1189,7 @@ GLAPI void GLAPIENTRY OSMesaPixelStore( GLint pname, GLint value )
switch (pname) { switch (pname) {
case OSMESA_ROW_LENGTH: case OSMESA_ROW_LENGTH:
if (value<0) { if (value<0) {
_mesa_error( &osmesa->gl_ctx, GL_INVALID_VALUE, _mesa_error( &osmesa->mesa, GL_INVALID_VALUE,
"OSMesaPixelStore(value)" ); "OSMesaPixelStore(value)" );
return; return;
} }
@@ -1194,7 +1200,7 @@ GLAPI void GLAPIENTRY OSMesaPixelStore( GLint pname, GLint value )
osmesa->yup = value ? GL_TRUE : GL_FALSE; osmesa->yup = value ? GL_TRUE : GL_FALSE;
break; break;
default: default:
_mesa_error( &osmesa->gl_ctx, GL_INVALID_ENUM, "OSMesaPixelStore(pname)" ); _mesa_error( &osmesa->mesa, GL_INVALID_ENUM, "OSMesaPixelStore(pname)" );
return; return;
} }
@@ -1232,7 +1238,7 @@ GLAPI void GLAPIENTRY OSMesaGetIntegerv( GLint pname, GLint *value )
*value = MAX_HEIGHT; *value = MAX_HEIGHT;
return; return;
default: default:
_mesa_error(&osmesa->gl_ctx, GL_INVALID_ENUM, "OSMesaGetIntergerv(pname)"); _mesa_error(&osmesa->mesa, GL_INVALID_ENUM, "OSMesaGetIntergerv(pname)");
return; return;
} }
} }