Commit 65fdafae authored by Keith Whitwell's avatar Keith Whitwell
Browse files

checkpoint, changes from end of last year

parent 878e544c
/* $Id: t_context.h,v 1.43.2.3 2002/11/19 12:01:29 keithw Exp $ */
/* $Id: t_context.h,v 1.43.2.4 2003/01/16 00:38:44 keithw Exp $ */
/*
* Mesa 3-D graphics library
......@@ -77,21 +77,7 @@
#define TNL_EVAL_POINT2 0x8
/* Numbers for sizing immediate structs.
*/
#define IMM_MAX_COPIED_VERTS 3
/* Storage for vertices generated by.
*/
struct vertex_block
{
GLuint refcount;
GLuint vertex_format[2];
GLuint vertex_size;
GLuint block_size;
GLubyte verts[1];
};
#define TNL_MAX_WRAPPED_VERTS 3
#define PRIM_MODE_MASK 0xff /* Extract the actual primitive */
......@@ -129,7 +115,7 @@ struct vertex_buffer
struct gl_client_array *NdcPtr;
GLubyte *ClipMask;
GLfloat *NormalLengthPtr;
struct gl_client_array *PointSizePtr; /* why not just a float *? */
struct gl_client_array *PointSizePtr;
struct tnl_prim *Primitive; /* primitive descriptors */
GLuint NrPrimitives; /* nr */
......@@ -139,10 +125,6 @@ struct vertex_buffer
* float arrays. This may have to change later.
*/
GLuint AttribActive;
/* Bitmap: Which arrays are non-zero?
*/
GLuint LastClipped;
/* Private data from _tnl_render_stage that has no business being
* in this struct.
......@@ -355,18 +337,62 @@ struct dynfn {
#define TNL_END 0x1
#define TNL_BE_MAX 3 /* XXX */
struct tnl_be {
GLint type;
GLint idx;
GLenum mode;
};
#define TNL_VTX_STORE_MAX ((4096-sizeof(GLint))/sizeof(union uif))
#define TNL_ATTRIB_STORE_MAX ((4096-sizeof(GLint))/sizeof(GLubyte))
#define TNL_BE_STORE_MAX ((4096-sizeof(GLint))/sizeof(struct tnl_be))
struct tnl_vtx_store {
union uif vertices[TNL_VTX_STORE_MAX];
GLint ref_count;
};
struct tnl_be_store {
struct tnl_be be[TNL_BE_STORE_MAX];
GLint ref_count;
};
struct tnl_attrib_store {
GLubyte attrib_sz[TNL_ATTRIB_STORE_MAX]; /* ??? */
GLint ref_count;
};
/* Will be saved into dlists, also used below.
*/
struct tnl_vtx_node {
struct tnl_vtx_store *vert_store;
struct tnl_be_store *be_store;
struct tnl_attrib_store *attrib_store;
union uif *verts;
struct tnl_be *be;
GLubyte *attrib_sz;
GLint vert_count, vert_size;
GLint be_count;
};
/* Mechanism for building tnl_vtx_nodes from GL api commands.
*/
struct tnl_vtx {
struct tnl_vtx_node node; /* May be copied into dlists. */
int initial_counter;
int counter; /* nr of vertices */
int counter; /* nr of vertices */
int vertex_size;
union uif *vbstart; /* built vertices */
union uif *vbptr; /* built vertices */
union uif *vbptr; /* derived from node, above */
struct tnl_be *beptr; /* derived from node, above */
GLubyte *attrib_sz; /* derived from node, above */
union uif *attrptr[TNL_ATTRIB_MAX]; /* pointers into vertex below */
union uif vertex[TNL_ATTRIB_MAX*4]; /* current vertex */
GLubyte attrib_sz[TNL_ATTRIB_MAX];
struct dynfn *generated[4][2][2]; /* chains of generated functions
struct dynfn *generated[4][2][2]; /* chains of generated functions
* could use a hash also.
*/
......@@ -391,13 +417,32 @@ struct tnl_vtx {
*/
void (*tabfv[4][TNL_ATTRIB_MAX])( const GLfloat * );
/* Build a list of begins and ends.
*/
struct { GLint type; GLint idx; GLenum mode; } be[TNL_BE_MAX];
GLint be_count;
};
/* State for executing tnl_vtx_nodes
*/
struct tnl_vtx_exec {
struct tnl_vtx_node *bound;
struct tnl_vtx_node *tmp; /* ??? */
/* Always bound to current:
*/
struct gl_client_array Current[TNL_ATTRIB_MAX];
/* Bound to
*/
struct gl_client_array Attrib[TNL_ATTRIB_MAX];
/* Which and how many vertices must be copied?
*/
GLint wrap_nr;
GLint wrap_elts[TNL_MAX_WRAPPED_VERTS];
};
typedef struct {
/* Driver interface.
......@@ -408,6 +453,10 @@ typedef struct {
*/
struct tnl_vtx vtx;
/* Support for executing vertices:
*/
struct tnl_vtx_exec exec;
/* Track whether the module is active.
*/
GLboolean bound_exec;
......@@ -441,32 +490,10 @@ typedef struct {
#define TNL_CONTEXT(ctx) ((TNLcontext *)(ctx->swtnl_context))
#define TNL_CURRENT_IM(ctx) ((struct immediate *)(ctx->swtnl_im))
#define TYPE_IDX(t) ((t) & 0xf)
#define MAX_TYPES TYPE_IDX(GL_DOUBLE)+1 /* 0xa + 1 */
extern void _tnl_MakeCurrent( GLcontext *ctx,
GLframebuffer *drawBuffer,
GLframebuffer *readBuffer );
/*
* Macros for fetching current input buffer.
*/
#ifdef THREADS
#define GET_IMMEDIATE struct immediate *IM = TNL_CURRENT_IM(((GLcontext *) (_glapi_Context ? _glapi_Context : _glapi_get_context())))
#define SET_IMMEDIATE(ctx, im) ctx->swtnl_im = (void *)im
#else
extern struct immediate *_tnl_CurrentInput;
#define GET_IMMEDIATE struct immediate *IM = _tnl_CurrentInput
#define SET_IMMEDIATE(ctx, im) \
do { \
ctx->swtnl_im = (void *)im; \
_tnl_CurrentInput = im; \
} while (0)
#endif
#endif
/* $Id: t_pipeline.c,v 1.22.2.2 2002/10/17 14:26:37 keithw Exp $ */
/* $Id: t_pipeline.c,v 1.22.2.3 2003/01/16 00:38:44 keithw Exp $ */
/*
* Mesa 3-D graphics library
......@@ -42,7 +42,7 @@
void _tnl_install_pipeline( GLcontext *ctx,
const struct gl_pipeline_stage **stages )
const struct tnl_pipeline_stage **stages )
{
TNLcontext *tnl = TNL_CONTEXT(ctx);
struct gl_pipeline *pipe = &tnl->pipeline;
......@@ -87,7 +87,7 @@ void _tnl_validate_pipeline( GLcontext *ctx )
{
TNLcontext *tnl = TNL_CONTEXT(ctx);
struct gl_pipeline *pipe = &tnl->pipeline;
struct gl_pipeline_stage *s = pipe->stages;
struct tnl_pipeline_stage *s = pipe->stages;
GLuint newstate = pipe->build_state_changes;
GLuint generated[2];
GLuint changed_inputs[2];
......@@ -138,7 +138,7 @@ void _tnl_run_pipeline( GLcontext *ctx )
TNLcontext *tnl = TNL_CONTEXT(ctx);
struct vertex_buffer *VB = &tnl->vb;
struct gl_pipeline *pipe = &tnl->pipeline;
struct gl_pipeline_stage *s = pipe->stages;
struct tnl_pipeline_stage *s = pipe->stages;
GLuint changed_state = pipe->run_state_changes;
GLuint changed_inputs[2];
GLboolean running = GL_TRUE;
......@@ -219,7 +219,7 @@ void _tnl_run_pipeline( GLcontext *ctx )
* Some work can be done to lift some of the restrictions in the final
* case, if it becomes necessary to do so.
*/
const struct gl_pipeline_stage *_tnl_default_pipeline[] = {
const struct tnl_pipeline_stage *_tnl_default_pipeline[] = {
&_tnl_vertex_transform_stage,
&_tnl_normal_transform_stage,
&_tnl_lighting_stage,
......
/* $Id: t_vb_fog.c,v 1.17.2.3 2002/10/31 15:32:41 keithw Exp $ */
/* $Id: t_vb_fog.c,v 1.17.2.4 2003/01/16 00:38:44 keithw Exp $ */
/*
* Mesa 3-D graphics library
......@@ -129,7 +129,7 @@ static void make_win_fog_coords( GLcontext *ctx, GLvector4f *out,
static GLboolean run_fog_stage( GLcontext *ctx,
struct gl_pipeline_stage *stage )
struct tnl_pipeline_stage *stage )
{
struct vertex_buffer *VB = &TNL_CONTEXT(ctx)->vb;
struct fog_stage_data *store = FOG_STAGE_DATA(stage);
......@@ -189,7 +189,7 @@ static GLboolean run_fog_stage( GLcontext *ctx,
}
static void check_fog_stage( GLcontext *ctx, struct gl_pipeline_stage *stage )
static void check_fog_stage( GLcontext *ctx, struct tnl_pipeline_stage *stage )
{
stage->active = ctx->Fog.Enabled && !ctx->VertexProgram.Enabled;
......@@ -207,7 +207,7 @@ static void check_fog_stage( GLcontext *ctx, struct gl_pipeline_stage *stage )
/* Called the first time stage->run() is invoked.
*/
static GLboolean alloc_fog_data( GLcontext *ctx,
struct gl_pipeline_stage *stage )
struct tnl_pipeline_stage *stage )
{
TNLcontext *tnl = TNL_CONTEXT(ctx);
struct fog_stage_data *store;
......@@ -229,7 +229,7 @@ static GLboolean alloc_fog_data( GLcontext *ctx,
}
static void free_fog_data( struct gl_pipeline_stage *stage )
static void free_fog_data( struct tnl_pipeline_stage *stage )
{
struct fog_stage_data *store = FOG_STAGE_DATA(stage);
if (store) {
......@@ -240,9 +240,9 @@ static void free_fog_data( struct gl_pipeline_stage *stage )
}
struct gl_pipeline_stage *_tnl_fog_stage( GLcontext *ctx )
struct tnl_pipeline_stage *_tnl_fog_stage( GLcontext *ctx )
{
struct gl_pipeline_stage *stage = CALLOC_STRUCT( gl_pipeline_stage );
struct tnl_pipeline_stage *stage = CALLOC_STRUCT( tnl_pipeline_stage );
stage->name = "fog";
stage->recheck = _NEW_FOG;
......
/* $Id: t_vb_light.c,v 1.18.2.2 2002/10/17 14:26:37 keithw Exp $ */
/* $Id: t_vb_light.c,v 1.18.2.3 2003/01/16 00:38:44 keithw Exp $ */
/*
* Mesa 3-D graphics library
......@@ -46,7 +46,7 @@
typedef void (*light_func)( GLcontext *ctx,
struct vertex_buffer *VB,
struct gl_pipeline_stage *stage,
struct tnl_pipeline_stage *stage,
GLvector4f *input );
struct light_stage_data {
......@@ -100,7 +100,7 @@ static void init_lighting( void )
}
static GLboolean run_lighting( GLcontext *ctx, struct gl_pipeline_stage *stage )
static GLboolean run_lighting( GLcontext *ctx, struct tnl_pipeline_stage *stage )
{
struct light_stage_data *store = LIGHT_STAGE_DATA(stage);
TNLcontext *tnl = TNL_CONTEXT(ctx);
......@@ -127,7 +127,7 @@ static GLboolean run_lighting( GLcontext *ctx, struct gl_pipeline_stage *stage )
/* Called in place of do_lighting when the light table may have changed.
*/
static GLboolean run_validate_lighting( GLcontext *ctx,
struct gl_pipeline_stage *stage )
struct tnl_pipeline_stage *stage )
{
GLuint ind = 0;
light_func *tab;
......@@ -177,7 +177,7 @@ static void alloc_4f( struct gl_client_array *a, GLuint sz )
* allocate data until the first time the stage is run.
*/
static GLboolean run_init_lighting( GLcontext *ctx,
struct gl_pipeline_stage *stage )
struct tnl_pipeline_stage *stage )
{
TNLcontext *tnl = TNL_CONTEXT(ctx);
struct light_stage_data *store;
......@@ -212,7 +212,7 @@ static GLboolean run_init_lighting( GLcontext *ctx,
* Check if lighting is enabled. If so, configure the pipeline stage's
* type, inputs, and outputs.
*/
static void check_lighting( GLcontext *ctx, struct gl_pipeline_stage *stage )
static void check_lighting( GLcontext *ctx, struct tnl_pipeline_stage *stage )
{
stage->active = ctx->Light.Enabled && !ctx->VertexProgram.Enabled;
if (stage->active) {
......@@ -235,7 +235,7 @@ static void check_lighting( GLcontext *ctx, struct gl_pipeline_stage *stage )
}
}
static void dtr( struct gl_pipeline_stage *stage )
static void dtr( struct tnl_pipeline_stage *stage )
{
struct light_stage_data *store = LIGHT_STAGE_DATA(stage);
......@@ -252,9 +252,9 @@ static void dtr( struct gl_pipeline_stage *stage )
}
}
struct gl_pipeline_stage *_tnl_lighting_stage( GLcontext *ctx )
struct tnl_pipeline_stage *_tnl_lighting_stage( GLcontext *ctx )
{
stage = CALLOC_STRUCT( gl_pipeline_stage );
stage = CALLOC_STRUCT( tnl_pipeline_stage );
stage->name = "lighting";
stage->recheck = _NEW_LIGHT;
......
/* $Id: t_vb_lighttmp.h,v 1.25.2.1 2002/10/15 16:56:52 keithw Exp $ */
/* $Id: t_vb_lighttmp.h,v 1.25.2.2 2003/01/16 00:38:44 keithw Exp $ */
/*
* Mesa 3-D graphics library
......@@ -60,7 +60,7 @@
*/
static void TAG(light_rgba_spec)( GLcontext *ctx,
struct vertex_buffer *VB,
struct gl_pipeline_stage *stage,
struct tnl_pipeline_stage *stage,
GLvector4f *input )
{
struct light_stage_data *store = LIGHT_STAGE_DATA(stage);
......@@ -251,7 +251,7 @@ static void TAG(light_rgba_spec)( GLcontext *ctx,
static void TAG(light_rgba)( GLcontext *ctx,
struct vertex_buffer *VB,
struct gl_pipeline_stage *stage,
struct tnl_pipeline_stage *stage,
GLvector4f *input )
{
struct light_stage_data *store = LIGHT_STAGE_DATA(stage);
......@@ -442,7 +442,7 @@ static void TAG(light_rgba)( GLcontext *ctx,
*/
static void TAG(light_fast_rgba_single)( GLcontext *ctx,
struct vertex_buffer *VB,
struct gl_pipeline_stage *stage,
struct tnl_pipeline_stage *stage,
GLvector4f *input )
{
......@@ -548,7 +548,7 @@ static void TAG(light_fast_rgba_single)( GLcontext *ctx,
*/
static void TAG(light_fast_rgba)( GLcontext *ctx,
struct vertex_buffer *VB,
struct gl_pipeline_stage *stage,
struct tnl_pipeline_stage *stage,
GLvector4f *input )
{
struct light_stage_data *store = LIGHT_STAGE_DATA(stage);
......@@ -668,7 +668,7 @@ static void TAG(light_fast_rgba)( GLcontext *ctx,
*/
static void TAG(light_ci)( GLcontext *ctx,
struct vertex_buffer *VB,
struct gl_pipeline_stage *stage,
struct tnl_pipeline_stage *stage,
GLvector4f *input )
{
struct light_stage_data *store = LIGHT_STAGE_DATA(stage);
......
/* $Id: t_vb_normals.c,v 1.15.2.2 2002/10/17 14:26:37 keithw Exp $ */
/* $Id: t_vb_normals.c,v 1.15.2.3 2003/01/16 00:38:44 keithw Exp $ */
/*
* Mesa 3-D graphics library
......@@ -54,7 +54,7 @@ struct normal_stage_data {
static GLboolean run_normal_stage( GLcontext *ctx,
struct gl_pipeline_stage *stage )
struct tnl_pipeline_stage *stage )
{
struct normal_stage_data *store = NORMAL_STAGE_DATA(stage);
struct vertex_buffer *VB = &TNL_CONTEXT(ctx)->vb;
......@@ -85,7 +85,7 @@ static GLboolean run_normal_stage( GLcontext *ctx,
static GLboolean run_validate_normal_stage( GLcontext *ctx,
struct gl_pipeline_stage *stage )
struct tnl_pipeline_stage *stage )
{
struct normal_stage_data *store = NORMAL_STAGE_DATA(stage);
......@@ -136,7 +136,7 @@ static GLboolean run_validate_normal_stage( GLcontext *ctx,
static void check_normal_transform( GLcontext *ctx,
struct gl_pipeline_stage *stage )
struct tnl_pipeline_stage *stage )
{
stage->active = ctx->_NeedNormals && !ctx->VertexProgram.Enabled;
/* Don't clobber the initialize function:
......@@ -147,7 +147,7 @@ static void check_normal_transform( GLcontext *ctx,
static GLboolean alloc_normal_data( GLcontext *ctx,
struct gl_pipeline_stage *stage )
struct tnl_pipeline_stage *stage )
{
TNLcontext *tnl = TNL_CONTEXT(ctx);
struct normal_stage_data *store;
......@@ -166,7 +166,7 @@ static GLboolean alloc_normal_data( GLcontext *ctx,
static void free_normal_data( struct gl_pipeline_stage *stage )
static void free_normal_data( struct tnl_pipeline_stage *stage )
{
struct normal_stage_data *store = NORMAL_STAGE_DATA(stage);
if (store) {
......@@ -183,9 +183,9 @@ static void free_normal_data( struct gl_pipeline_stage *stage )
struct gl_pipeline_stage *_tnl_normal_transform_stage( GLcontext *ctx )
struct tnl_pipeline_stage *_tnl_normal_transform_stage( GLcontext *ctx )
{
struct gl_pipeline_stage *stage = CALLOC_STRUCT( gl_pipeline_stage );
struct tnl_pipeline_stage *stage = CALLOC_STRUCT( tnl_pipeline_stage );
stage->name = "normal transform";
stage->recheck = _TNL_NEW_NORMAL_TRANSFORM;
......
/* $Id: t_vb_points.c,v 1.8.2.1 2002/10/17 14:26:37 keithw Exp $ */
/* $Id: t_vb_points.c,v 1.8.2.2 2003/01/16 00:38:44 keithw Exp $ */
/*
* Mesa 3-D graphics library
......@@ -44,7 +44,7 @@ struct point_stage_data {
* Compute attenuated point sizes
*/
static GLboolean run_point_stage( GLcontext *ctx,
struct gl_pipeline_stage *stage )
struct tnl_pipeline_stage *stage )
{
struct point_stage_data *store = POINT_STAGE_DATA(stage);
struct vertex_buffer *VB = &TNL_CONTEXT(ctx)->vb;
......@@ -74,13 +74,13 @@ static GLboolean run_point_stage( GLcontext *ctx,
/* If point size attenuation is on we'll compute the point size for
* each vertex in a special pipeline stage.
*/
static void check_point_size( GLcontext *ctx, struct gl_pipeline_stage *d )
static void check_point_size( GLcontext *ctx, struct tnl_pipeline_stage *d )
{
d->active = ctx->Point._Attenuated && !ctx->VertexProgram.Enabled;
}
static GLboolean alloc_point_data( GLcontext *ctx,
struct gl_pipeline_stage *stage )
struct tnl_pipeline_stage *stage )
{
struct vertex_buffer *VB = &TNL_CONTEXT(ctx)->vb;
struct point_stage_data *store;
......@@ -98,7 +98,7 @@ static GLboolean alloc_point_data( GLcontext *ctx,
}
static void free_point_data( struct gl_pipeline_stage *stage )
static void free_point_data( struct tnl_pipeline_stage *stage )
{
struct point_stage_data *store = POINT_STAGE_DATA(stage);
if (store) {
......@@ -109,9 +109,9 @@ static void free_point_data( struct gl_pipeline_stage *stage )
}
struct gl_pipeline_stage *_tnl_normal_transform_stage( GLcontext *ctx )
struct tnl_pipeline_stage *_tnl_normal_transform_stage( GLcontext *ctx )
{
struct gl_pipeline_stage *stage = CALLOC_STRUCT( gl_pipeline_stage );
struct tnl_pipeline_stage *stage = CALLOC_STRUCT( tnl_pipeline_stage );
stage->name = "normal transform";
stage->recheck = _NEW_POINT;
......
/* $Id: t_vb_program.c,v 1.14.2.3 2002/11/19 12:01:29 keithw Exp $ */
/* $Id: t_vb_program.c,v 1.14.2.4 2003/01/16 00:38:44 keithw Exp $ */
/*
* Mesa 3-D graphics library
......@@ -143,7 +143,7 @@ struct vp_stage_data {
/**
* This function executes vertex programs
*/
static GLboolean run_vp( GLcontext *ctx, struct gl_pipeline_stage *stage )
static GLboolean run_vp( GLcontext *ctx, struct tnl_pipeline_stage *stage )
{
TNLcontext *tnl = TNL_CONTEXT(ctx);
struct vp_stage_data *store = VP_STAGE_DATA(stage);
......@@ -289,7 +289,7 @@ static GLboolean run_vp( GLcontext *ctx, struct gl_pipeline_stage *stage )
* This function validates stuff.
*/
static GLboolean run_validate_program( GLcontext *ctx,
struct gl_pipeline_stage *stage )
struct tnl_pipeline_stage *stage )
{
#if 000
/* XXX do we need any validation for vertex programs? */
......@@ -353,7 +353,7 @@ static void init_color_array( struct gl_client_array *a, GLvector4f *vec )
* allocate data until the first time the stage is run.
*/
static GLboolean run_init_vp( GLcontext *ctx,
struct gl_pipeline_stage *stage )
struct tnl_pipeline_stage *stage )
{
TNLcontext *tnl = TNL_CONTEXT(ctx);
struct vertex_buffer *VB = &(tnl->vb);
......@@ -392,7 +392,7 @@ static GLboolean run_init_vp( GLcontext *ctx,
* Check if vertex program mode is enabled.
* If so, configure the pipeline stage's type, inputs, and outputs.
*/
static void check_vp( GLcontext *ctx, struct gl_pipeline_stage *stage )
static void check_vp( GLcontext *ctx, struct tnl_pipeline_stage *stage )
{
stage->active = ctx->VertexProgram.Enabled;
......@@ -416,7 +416,7 @@ static void check_vp( GLcontext *ctx, struct gl_pipeline_stage *stage )
/**
* Destructor for this pipeline stage.
*/
static void dtr( struct gl_pipeline_stage *stage )
static void dtr( struct tnl_pipeline_stage *stage )
{
struct vp_stage_data *store = VP_STAGE_DATA(stage);
......@@ -436,9 +436,9 @@ static void dtr( struct gl_pipeline_stage *stage )
}
}
struct gl_pipeline_stage *_tnl_vertex_program_stage( GLcontext *ctx )
struct tnl_pipeline_stage *_tnl_vertex_program_stage( GLcontext *ctx )
{
struct gl_pipeline_stage *stage = CALLOC_STRUCT( gl_pipeline_stage );
struct tnl_pipeline_stage *stage = CALLOC_STRUCT( tnl_pipeline_stage );
stage->name = "vertex-program";
stage->recheck = _NEW_ALL;
......
/* $Id: t_vb_render.c,v 1.31.2.2 2002/10/17 14:26:37 keithw Exp $ */
/* $Id: t_vb_render.c,v 1.31.2.3 2003/01/16 00:38:44 keithw Exp $ */
/*
* Mesa 3-D graphics library
......@@ -277,7 +277,7 @@ void _tnl_RenderClippedLine( GLcontext *ctx, GLuint ii, GLuint jj )
static GLboolean run_render( GLcontext *ctx,
struct gl_pipeline_stage *stage )
struct tnl_pipeline_stage *stage )
{
TNLcontext *tnl = TNL_CONTEXT(ctx);
struct vertex_buffer *VB = &tnl->vb;
......@@ -358,7 +358,7 @@ static GLboolean run_render( GLcontext *ctx,
/* Quite a bit of work involved in finding out the inputs for the
* render stage.
*/
static void check_render( GLcontext *ctx, struct gl_pipeline_stage *stage )
static void check_render( GLcontext *ctx, struct tnl_pipeline_stage *stage )
{
GLuint i;
......@@ -404,15 +404,15 @@ static void check_render( GLcontext *ctx, struct gl_pipeline_stage *stage )
static void dtr( struct gl_pipeline_stage *stage )
static void dtr( struct tnl_pipeline_stage *stage )
{
}
struct gl_pipeline_stage *_tnl_render_stage( GLcontext *ctx )
struct tnl_pipeline_stage *_tnl_render_stage( GLcontext *ctx )
{
struct gl_pipeline_stage *stage = CALLOC_STRUCT( gl_pipeline_stage );
struct tnl_pipeline_stage *stage = CALLOC_STRUCT( tnl_pipeline_stage );
stage->name = "render";
stage->recheck = (_NEW_BUFFERS |
......
/* $Id: t_vb_texgen.c,v 1.13.2.2 2002/10/17 14:26:37 keithw Exp $ */
/* $Id: t_vb_texgen.c,v 1.13.2.3 2003/01/16 00:38:44 keithw Exp $ */
/*
* Mesa 3-D graphics library
......@@ -517,7 +517,7 @@ static void texgen( GLcontext *ctx,
static GLboolean run_texgen_stage( GLcontext *ctx,
struct gl_pipeline_stage *stage )
struct tnl_pipeline_stage *stage )
{
struct vertex_buffer *VB = &TNL_CONTEXT(ctx)->vb;
struct texgen_stage_data *store = TEXGEN_STAGE_DATA( stage );
......@@ -538,7 +538,7 @@ static GLboolean run_texgen_stage( GLcontext *ctx,
static GLboolean run_validate_texgen_stage( GLcontext *ctx