Lift VBO/tnl stuff up out of drivers
This commit is contained in:
@@ -30,10 +30,6 @@
|
|||||||
#include "context.h"
|
#include "context.h"
|
||||||
#include "extensions.h"
|
#include "extensions.h"
|
||||||
|
|
||||||
#include "tnl/tnl.h"
|
|
||||||
#include "tnl/t_pipeline.h"
|
|
||||||
#include "tnl/t_vertex.h"
|
|
||||||
|
|
||||||
#include "drivers/common/driverfuncs.h"
|
#include "drivers/common/driverfuncs.h"
|
||||||
|
|
||||||
#include "i830_dri.h"
|
#include "i830_dri.h"
|
||||||
@@ -210,11 +206,6 @@ intelCreateContext(const __GLcontextModes * mesaVis,
|
|||||||
intel->driScreen->myNum, "i915");
|
intel->driScreen->myNum, "i915");
|
||||||
|
|
||||||
|
|
||||||
/* Initialize the software rasterizer and helper modules. */
|
|
||||||
_vbo_CreateContext(ctx);
|
|
||||||
_tnl_CreateContext(ctx);
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* memory pools
|
* memory pools
|
||||||
*/
|
*/
|
||||||
@@ -230,9 +221,6 @@ intelCreateContext(const __GLcontextModes * mesaVis,
|
|||||||
intel->driFd = sPriv->fd;
|
intel->driFd = sPriv->fd;
|
||||||
intel->driHwLock = (drmLock *) & sPriv->pSAREA->lock;
|
intel->driHwLock = (drmLock *) & sPriv->pSAREA->lock;
|
||||||
|
|
||||||
TNL_CONTEXT(ctx)->Driver.RunPipeline = _tnl_run_pipeline;
|
|
||||||
|
|
||||||
|
|
||||||
fthrottle_mode = driQueryOptioni(&intel->optionCache, "fthrottle_mode");
|
fthrottle_mode = driQueryOptioni(&intel->optionCache, "fthrottle_mode");
|
||||||
intel->iw.irq_seq = -1;
|
intel->iw.irq_seq = -1;
|
||||||
intel->irqsEmitted = 0;
|
intel->irqsEmitted = 0;
|
||||||
@@ -309,8 +297,6 @@ intelDestroyContext(__DRIcontextPrivate * driContextPriv)
|
|||||||
//intel->vtbl.destroy(intel);
|
//intel->vtbl.destroy(intel);
|
||||||
|
|
||||||
release_texture_heaps = (intel->ctx.Shared->RefCount == 1);
|
release_texture_heaps = (intel->ctx.Shared->RefCount == 1);
|
||||||
_tnl_DestroyContext(&intel->ctx);
|
|
||||||
_vbo_DestroyContext(&intel->ctx);
|
|
||||||
|
|
||||||
intel_batchbuffer_free(intel->batch);
|
intel_batchbuffer_free(intel->batch);
|
||||||
|
|
||||||
@@ -332,8 +318,10 @@ intelDestroyContext(__DRIcontextPrivate * driContextPriv)
|
|||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
/* free the Mesa context */
|
/* free the Mesa context data */
|
||||||
_mesa_free_context_data(&intel->ctx);
|
_mesa_free_context_data(&intel->ctx);
|
||||||
|
|
||||||
|
st_destroy_context(intel->ctx.st);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -76,9 +76,11 @@
|
|||||||
#include "swrast/swrast.h"
|
#include "swrast/swrast.h"
|
||||||
#include "swrast_setup/swrast_setup.h"
|
#include "swrast_setup/swrast_setup.h"
|
||||||
#include "vbo/vbo.h"
|
#include "vbo/vbo.h"
|
||||||
|
#if 0
|
||||||
#include "tnl/tnl.h"
|
#include "tnl/tnl.h"
|
||||||
#include "tnl/t_context.h"
|
#include "tnl/t_context.h"
|
||||||
#include "tnl/t_pipeline.h"
|
#include "tnl/t_pipeline.h"
|
||||||
|
#endif
|
||||||
#include "drivers/common/driverfuncs.h"
|
#include "drivers/common/driverfuncs.h"
|
||||||
|
|
||||||
#include "state_tracker/st_public.h"
|
#include "state_tracker/st_public.h"
|
||||||
@@ -1528,7 +1530,9 @@ XMesaContext XMesaCreateContext( XMesaVisual v, XMesaContext share_list )
|
|||||||
XMesaContext c;
|
XMesaContext c;
|
||||||
GLcontext *mesaCtx;
|
GLcontext *mesaCtx;
|
||||||
struct dd_function_table functions;
|
struct dd_function_table functions;
|
||||||
|
#if 0
|
||||||
TNLcontext *tnl;
|
TNLcontext *tnl;
|
||||||
|
#endif
|
||||||
|
|
||||||
if (firstTime) {
|
if (firstTime) {
|
||||||
_glthread_INIT_MUTEX(_xmesa_lock);
|
_glthread_INIT_MUTEX(_xmesa_lock);
|
||||||
@@ -1591,17 +1595,22 @@ XMesaContext XMesaCreateContext( XMesaVisual v, XMesaContext share_list )
|
|||||||
/* Initialize the software rasterizer and helper modules.
|
/* Initialize the software rasterizer and helper modules.
|
||||||
*/
|
*/
|
||||||
if (!_swrast_CreateContext( mesaCtx ) ||
|
if (!_swrast_CreateContext( mesaCtx ) ||
|
||||||
|
#if 0
|
||||||
!_vbo_CreateContext( mesaCtx ) ||
|
!_vbo_CreateContext( mesaCtx ) ||
|
||||||
!_tnl_CreateContext( mesaCtx ) ||
|
!_tnl_CreateContext( mesaCtx ) ||
|
||||||
|
#endif
|
||||||
!_swsetup_CreateContext( mesaCtx )) {
|
!_swsetup_CreateContext( mesaCtx )) {
|
||||||
_mesa_free_context_data(&c->mesa);
|
_mesa_free_context_data(&c->mesa);
|
||||||
_mesa_free(c);
|
_mesa_free(c);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if 0
|
||||||
/* tnl setup */
|
/* tnl setup */
|
||||||
tnl = TNL_CONTEXT(mesaCtx);
|
tnl = TNL_CONTEXT(mesaCtx);
|
||||||
tnl->Driver.RunPipeline = _tnl_run_pipeline;
|
tnl->Driver.RunPipeline = _tnl_run_pipeline;
|
||||||
|
#endif
|
||||||
|
|
||||||
/* swrast setup */
|
/* swrast setup */
|
||||||
xmesa_register_swrast_functions( mesaCtx );
|
xmesa_register_swrast_functions( mesaCtx );
|
||||||
_swsetup_Wakeup(mesaCtx);
|
_swsetup_Wakeup(mesaCtx);
|
||||||
@@ -1641,8 +1650,10 @@ void XMesaDestroyContext( XMesaContext c )
|
|||||||
|
|
||||||
_swsetup_DestroyContext( mesaCtx );
|
_swsetup_DestroyContext( mesaCtx );
|
||||||
_swrast_DestroyContext( mesaCtx );
|
_swrast_DestroyContext( mesaCtx );
|
||||||
|
#if 0
|
||||||
_tnl_DestroyContext( mesaCtx );
|
_tnl_DestroyContext( mesaCtx );
|
||||||
_vbo_DestroyContext( mesaCtx );
|
_vbo_DestroyContext( mesaCtx );
|
||||||
|
#endif
|
||||||
_mesa_free_context_data( mesaCtx );
|
_mesa_free_context_data( mesaCtx );
|
||||||
_mesa_free( c );
|
_mesa_free( c );
|
||||||
}
|
}
|
||||||
|
@@ -78,6 +78,11 @@ struct st_context *st_create_context( GLcontext *ctx,
|
|||||||
st->ctx = ctx;
|
st->ctx = ctx;
|
||||||
st->pipe = pipe;
|
st->pipe = pipe;
|
||||||
|
|
||||||
|
/* state tracker needs the VBO module */
|
||||||
|
_vbo_CreateContext(ctx);
|
||||||
|
/* XXX temporary */
|
||||||
|
_tnl_CreateContext(ctx);
|
||||||
|
|
||||||
st->draw = draw_create(); /* for selection/feedback */
|
st->draw = draw_create(); /* for selection/feedback */
|
||||||
|
|
||||||
st->dirty.mesa = ~0;
|
st->dirty.mesa = ~0;
|
||||||
@@ -125,6 +130,9 @@ void st_destroy_context( struct st_context *st )
|
|||||||
st_destroy_atoms( st );
|
st_destroy_atoms( st );
|
||||||
st_destroy_draw( st );
|
st_destroy_draw( st );
|
||||||
|
|
||||||
|
_vbo_DestroyContext(st->ctx);
|
||||||
|
_tnl_DestroyContext(st->ctx); /* XXX temporary */
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
st_destroy_cb_clear( st );
|
st_destroy_cb_clear( st );
|
||||||
st_destroy_cb_program( st );
|
st_destroy_cb_program( st );
|
||||||
|
Reference in New Issue
Block a user