-/* $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
GLuint importable_data;
+ void *import_source;
void (*import_data)( GLcontext *ctx, GLuint flags, GLuint vecflags );
/* Callback to the provider of the untransformed input for the
* render stage (or other stages) to call if they need to write into
-/* $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
tmp->Color.Ptr = ctx->Current.Color;
tmp->Color.StrideB = 0;
tmp->Color.Flags = CA_CLIENT_DATA; /* hack */
+ VB->import_source = IM;
VB->importable_data |= VERT_RGBA;
VB->import_data = _tnl_upgrade_current_data;
}
-/* $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
GLuint flags )
{
TNLcontext *tnl = TNL_CONTEXT(ctx);
- struct immediate *IM = TNL_CURRENT_IM(ctx); /* hmmm */
struct vertex_buffer *VB = &tnl->vb;
+ struct immediate *IM = (struct immediate *)VB->import_source;
ASSERT(IM);
tmp->Flags = 0;
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,
IM->Color[start] );