s/gl_ctx/mesa/ and misc clean-ups
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user