diff options
author | Keith Whitwell <keith@tungstengraphics.com> | 2001-01-13 05:48:25 +0000 |
---|---|---|
committer | Keith Whitwell <keith@tungstengraphics.com> | 2001-01-13 05:48:25 +0000 |
commit | 321f67c4729adeebd7aa9ef9e22c95e709952851 (patch) | |
tree | 8661da8a994f3c554c4428afdd53642c0814854b /src/mesa/tnl/t_imm_exec.c | |
parent | a087c7421bef25747e1d692f62062393d849c501 (diff) |
Fix crash in book/stencil.
Allow drivers to perform the perspective divide themselves. Assembly
to do cliptesting without perspective divide for size-4 vectors.
Diffstat (limited to 'src/mesa/tnl/t_imm_exec.c')
-rw-r--r-- | src/mesa/tnl/t_imm_exec.c | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/src/mesa/tnl/t_imm_exec.c b/src/mesa/tnl/t_imm_exec.c index e8904dfd1e..6feff8464f 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.6 2001/01/08 21:56:00 keithw Exp $ */ +/* $Id: t_imm_exec.c,v 1.7 2001/01/13 05:48:26 keithw Exp $ */ /* * Mesa 3-D graphics library @@ -357,16 +357,21 @@ static void exec_elt_cassette( GLcontext *ctx, struct immediate *IM ) */ void _tnl_run_empty_cassette( GLcontext *ctx, struct immediate *IM ) { - GLuint start = IM->CopyStart; - copy_to_current( ctx, IM, IM->OrFlag ); - if (IM->OrFlag & VERT_MATERIAL) - gl_update_material( ctx, IM->Material[start], IM->MaterialMask[start] ); + if (IM->OrFlag & (VERT_RGBA|VERT_MATERIAL)) { + GLuint start = IM->CopyStart; - if (IM->OrFlag & VERT_RGBA) - if (ctx->Light.ColorMaterialEnabled) - gl_update_color_material( ctx, ctx->Current.Color ); + if (IM->OrFlag & VERT_MATERIAL) + gl_update_material( ctx, IM->Material[start], + IM->MaterialMask[start] ); + + if (IM->OrFlag & VERT_RGBA) + if (ctx->Light.ColorMaterialEnabled) + gl_update_color_material( ctx, ctx->Current.Color ); + + gl_validate_all_lighting_tables( ctx ); + } } |