aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/tnl/t_context.c
diff options
context:
space:
mode:
authorKeith Whitwell <[email protected]>2006-10-29 09:48:15 +0000
committerKeith Whitwell <[email protected]>2006-10-29 09:48:15 +0000
commitb1f176039ae3690b38e3ccacb079b3d7c3e50402 (patch)
tree045b13f38d0eb538f69a2fe1005262e2f483c76f /src/mesa/tnl/t_context.c
parentfd12b37dbada6f945a94b93ecf332d0b6a8eef06 (diff)
Changes for new vbo-building module.
- Removed all the old immediate, array and display list code. - Remove references to the old array_cache module. - Added a _tnl_draw_prims() entrypoint. - Added a simplified data import facility for converting non-floating point data as required. Checkpoint commit - trivial/tri works.
Diffstat (limited to 'src/mesa/tnl/t_context.c')
-rw-r--r--src/mesa/tnl/t_context.c102
1 files changed, 7 insertions, 95 deletions
diff --git a/src/mesa/tnl/t_context.c b/src/mesa/tnl/t_context.c
index 55b40c0531f..ff05ac03181 100644
--- a/src/mesa/tnl/t_context.c
+++ b/src/mesa/tnl/t_context.c
@@ -1,6 +1,6 @@
/*
* Mesa 3-D graphics library
- * Version: 6.5.2
+ * Version: 6.5
*
* Copyright (C) 1999-2006 Brian Paul All Rights Reserved.
*
@@ -26,38 +26,19 @@
*/
-#include "api_arrayelt.h"
#include "glheader.h"
#include "imports.h"
#include "context.h"
#include "macros.h"
#include "mtypes.h"
-#include "dlist.h"
#include "light.h"
-#include "vtxfmt.h"
#include "tnl.h"
-#include "t_array_api.h"
#include "t_context.h"
#include "t_pipeline.h"
-#include "t_save_api.h"
#include "t_vp_build.h"
-#include "t_vtx_api.h"
-
-
-
-static void
-install_driver_callbacks( GLcontext *ctx )
-{
- ctx->Driver.NewList = _tnl_NewList;
- ctx->Driver.EndList = _tnl_EndList;
- ctx->Driver.FlushVertices = _tnl_FlushVertices;
- ctx->Driver.SaveFlushVertices = _tnl_SaveFlushVertices;
- ctx->Driver.BeginCallList = _tnl_BeginCallList;
- ctx->Driver.EndCallList = _tnl_EndCallList;
-}
-
+#include "vbo/vbo_attrib.h"
GLboolean
_tnl_CreateContext( GLcontext *ctx )
@@ -72,20 +53,13 @@ _tnl_CreateContext( GLcontext *ctx )
return GL_FALSE;
}
- if (_mesa_getenv("MESA_CODEGEN"))
- tnl->AllowCodegen = GL_TRUE;
-
/* Initialize the VB.
*/
tnl->vb.Size = ctx->Const.MaxArrayLockSize + MAX_CLIPPED_VERTICES;
- /* Initialize tnl state and tnl->vtxfmt.
+ /* Initialize tnl state.
*/
- _tnl_save_init( ctx );
- _tnl_array_init( ctx );
- _tnl_vtx_init( ctx );
-
if (ctx->_MaintainTnlProgram) {
_tnl_ProgramCacheInit( ctx );
_tnl_install_pipeline( ctx, _tnl_vp_pipeline );
@@ -93,30 +67,12 @@ _tnl_CreateContext( GLcontext *ctx )
_tnl_install_pipeline( ctx, _tnl_default_pipeline );
}
- /* Initialize the arrayelt helper
- */
- if (!_ae_create_context( ctx ))
- return GL_FALSE;
-
-
tnl->NeedNdcCoords = GL_TRUE;
- tnl->LoopbackDListCassettes = GL_FALSE;
- tnl->CalcDListNormalLengths = GL_TRUE;
tnl->AllowVertexFog = GL_TRUE;
tnl->AllowPixelFog = GL_TRUE;
- /* Hook our functions into exec and compile dispatch tables.
- */
- _mesa_install_exec_vtxfmt( ctx, &tnl->exec_vtxfmt );
-
-
/* Set a few default values in the driver struct.
*/
- install_driver_callbacks(ctx);
- ctx->Driver.NeedFlush = 0;
- ctx->Driver.CurrentExecPrimitive = PRIM_OUTSIDE_BEGIN_END;
- ctx->Driver.CurrentSavePrimitive = PRIM_UNKNOWN;
-
tnl->Driver.Render.PrimTabElts = _tnl_render_tab_elts;
tnl->Driver.Render.PrimTabVerts = _tnl_render_tab_verts;
tnl->Driver.NotifyMaterialChange = _mesa_validate_all_lighting_tables;
@@ -130,11 +86,7 @@ _tnl_DestroyContext( GLcontext *ctx )
{
TNLcontext *tnl = TNL_CONTEXT(ctx);
- _tnl_array_destroy( ctx );
- _tnl_vtx_destroy( ctx );
- _tnl_save_destroy( ctx );
_tnl_destroy_pipeline( ctx );
- _ae_destroy_context( ctx );
if (ctx->_MaintainTnlProgram)
_tnl_ProgramCacheDestroy( ctx );
@@ -155,10 +107,7 @@ _tnl_InvalidateState( GLcontext *ctx, GLuint new_state )
|| !tnl->AllowPixelFog;
}
- _ae_invalidate_state(ctx, new_state);
-
tnl->pipeline.new_state |= new_state;
- tnl->vtx.eval.new_state |= new_state;
/* Calculate tnl->render_inputs:
*/
@@ -184,8 +133,7 @@ _tnl_InvalidateState( GLcontext *ctx, GLuint new_state )
if (ctx->Fog.Enabled ||
(ctx->FragmentProgram._Active &&
- (ctx->FragmentProgram._Current->FogOption != GL_NONE ||
- ctx->FragmentProgram._Current->Base.InputsRead & FRAG_BIT_FOGC)))
+ ctx->FragmentProgram._Current->FogOption != GL_NONE))
RENDERINPUTS_SET( tnl->render_inputs_bitset, _TNL_ATTRIB_FOG );
if (ctx->Polygon.FrontMode != GL_FILL ||
@@ -205,36 +153,21 @@ _tnl_InvalidateState( GLcontext *ctx, GLuint new_state )
void
-_tnl_wakeup_exec( GLcontext *ctx )
+_tnl_wakeup( GLcontext *ctx )
{
- TNLcontext *tnl = TNL_CONTEXT(ctx);
-
- install_driver_callbacks(ctx);
- ctx->Driver.NeedFlush |= FLUSH_UPDATE_CURRENT;
-
- /* Hook our functions into exec and compile dispatch tables.
- */
- _mesa_install_exec_vtxfmt( ctx, &tnl->exec_vtxfmt );
-
/* Assume we haven't been getting state updates either:
*/
_tnl_InvalidateState( ctx, ~0 );
+#if 0
if (ctx->Light.ColorMaterialEnabled) {
_mesa_update_color_material( ctx,
ctx->Current.Attrib[VERT_ATTRIB_COLOR0] );
}
+#endif
}
-void
-_tnl_wakeup_save_exec( GLcontext *ctx )
-{
- TNLcontext *tnl = TNL_CONTEXT(ctx);
-
- _tnl_wakeup_exec( ctx );
- _mesa_install_save_vtxfmt( ctx, &tnl->save_vtxfmt );
-}
/**
@@ -253,27 +186,6 @@ _tnl_need_projected_coords( GLcontext *ctx, GLboolean mode )
}
void
-_tnl_need_dlist_loopback( GLcontext *ctx, GLboolean mode )
-{
- TNLcontext *tnl = TNL_CONTEXT(ctx);
- tnl->LoopbackDListCassettes = mode;
-}
-
-void
-_tnl_need_dlist_norm_lengths( GLcontext *ctx, GLboolean mode )
-{
- TNLcontext *tnl = TNL_CONTEXT(ctx);
- tnl->CalcDListNormalLengths = mode;
-}
-
-void
-_tnl_isolate_materials( GLcontext *ctx, GLboolean mode )
-{
- TNLcontext *tnl = TNL_CONTEXT(ctx);
- tnl->IsolateMaterials = mode;
-}
-
-void
_tnl_allow_vertex_fog( GLcontext *ctx, GLboolean value )
{
TNLcontext *tnl = TNL_CONTEXT(ctx);