From: Keith Whitwell Date: Wed, 16 May 2001 09:28:32 +0000 (+0000) Subject: fix for Jouk's glplanet bug X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=dbd0dad580a6bf501441df95fccf2db718fd5d45;p=mesa.git fix for Jouk's glplanet bug --- diff --git a/src/mesa/tnl/t_context.h b/src/mesa/tnl/t_context.h index 9864c8ec070..e419e0caffd 100644 --- a/src/mesa/tnl/t_context.h +++ b/src/mesa/tnl/t_context.h @@ -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 @@ -271,6 +271,7 @@ typedef struct vertex_buffer 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 diff --git a/src/mesa/tnl/t_imm_exec.c b/src/mesa/tnl/t_imm_exec.c index 7ed76b02e53..37dd1597a54 100644 --- a/src/mesa/tnl/t_imm_exec.c +++ b/src/mesa/tnl/t_imm_exec.c @@ -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 @@ -314,6 +314,7 @@ static void _tnl_vb_bind_immediate( GLcontext *ctx, struct immediate *IM ) 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; } diff --git a/src/mesa/tnl/t_imm_fixup.c b/src/mesa/tnl/t_imm_fixup.c index 0f555d43e29..126aba10068 100644 --- a/src/mesa/tnl/t_imm_fixup.c +++ b/src/mesa/tnl/t_imm_fixup.c @@ -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 @@ -824,8 +824,8 @@ void _tnl_upgrade_current_data( GLcontext *ctx, 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); @@ -840,6 +840,9 @@ void _tnl_upgrade_current_data( GLcontext *ctx, 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] );