fix for Jouk's glplanet bug

This commit is contained in:
Keith Whitwell
2001-05-16 09:28:32 +00:00
parent c47a5327d3
commit dbd0dad580
3 changed files with 9 additions and 4 deletions

View File

@@ -1,4 +1,4 @@
/* $Id: t_context.h,v 1.24 2001/05/11 08:11:31 keithw Exp $ */ /* $Id: t_context.h,v 1.25 2001/05/16 09:28:32 keithw Exp $ */
/* /*
* Mesa 3-D graphics library * Mesa 3-D graphics library
@@ -271,6 +271,7 @@ typedef struct vertex_buffer
GLuint importable_data; GLuint importable_data;
void *import_source;
void (*import_data)( GLcontext *ctx, GLuint flags, GLuint vecflags ); void (*import_data)( GLcontext *ctx, GLuint flags, GLuint vecflags );
/* Callback to the provider of the untransformed input for the /* Callback to the provider of the untransformed input for the
* render stage (or other stages) to call if they need to write into * render stage (or other stages) to call if they need to write into

View File

@@ -1,4 +1,4 @@
/* $Id: t_imm_exec.c,v 1.25 2001/05/14 09:00:51 keithw Exp $ */ /* $Id: t_imm_exec.c,v 1.26 2001/05/16 09:28:32 keithw Exp $ */
/* /*
* Mesa 3-D graphics library * Mesa 3-D graphics library
@@ -314,6 +314,7 @@ static void _tnl_vb_bind_immediate( GLcontext *ctx, struct immediate *IM )
tmp->Color.Ptr = ctx->Current.Color; tmp->Color.Ptr = ctx->Current.Color;
tmp->Color.StrideB = 0; tmp->Color.StrideB = 0;
tmp->Color.Flags = CA_CLIENT_DATA; /* hack */ tmp->Color.Flags = CA_CLIENT_DATA; /* hack */
VB->import_source = IM;
VB->importable_data |= VERT_RGBA; VB->importable_data |= VERT_RGBA;
VB->import_data = _tnl_upgrade_current_data; VB->import_data = _tnl_upgrade_current_data;
} }

View File

@@ -1,4 +1,4 @@
/* $Id: t_imm_fixup.c,v 1.18 2001/05/14 16:34:24 keithw Exp $ */ /* $Id: t_imm_fixup.c,v 1.19 2001/05/16 09:28:32 keithw Exp $ */
/* /*
* Mesa 3-D graphics library * Mesa 3-D graphics library
@@ -824,8 +824,8 @@ void _tnl_upgrade_current_data( GLcontext *ctx,
GLuint flags ) GLuint flags )
{ {
TNLcontext *tnl = TNL_CONTEXT(ctx); TNLcontext *tnl = TNL_CONTEXT(ctx);
struct immediate *IM = TNL_CURRENT_IM(ctx); /* hmmm */
struct vertex_buffer *VB = &tnl->vb; struct vertex_buffer *VB = &tnl->vb;
struct immediate *IM = (struct immediate *)VB->import_source;
ASSERT(IM); ASSERT(IM);
@@ -840,6 +840,9 @@ void _tnl_upgrade_current_data( GLcontext *ctx,
tmp->Flags = 0; tmp->Flags = 0;
COPY_4FV( IM->Color[start], ctx->Current.Color); COPY_4FV( IM->Color[start], ctx->Current.Color);
ASSERT(IM->Flag[IM->LastData+1] & VERT_END_VB);
fixup_first_4f( IM->Color, IM->Flag, VERT_END_VB, start, fixup_first_4f( IM->Color, IM->Flag, VERT_END_VB, start,
IM->Color[start] ); IM->Color[start] );