diff options
Diffstat (limited to 'src/mesa/tnl/t_imm_dlist.c')
-rw-r--r-- | src/mesa/tnl/t_imm_dlist.c | 30 |
1 files changed, 5 insertions, 25 deletions
diff --git a/src/mesa/tnl/t_imm_dlist.c b/src/mesa/tnl/t_imm_dlist.c index 598b9d0906..cb7493c037 100644 --- a/src/mesa/tnl/t_imm_dlist.c +++ b/src/mesa/tnl/t_imm_dlist.c @@ -1,4 +1,4 @@ -/* $Id: t_imm_dlist.c,v 1.16 2001/05/03 16:49:27 keithw Exp $ */ +/* $Id: t_imm_dlist.c,v 1.17 2001/05/11 08:11:31 keithw Exp $ */ /* * Mesa 3-D graphics library @@ -76,34 +76,15 @@ _tnl_compile_cassette( GLcontext *ctx, struct immediate *IM ) TNLvertexcassette *node; GLuint new_beginstate; - _tnl_compute_orflag( IM ); - - IM->CopyStart = IM->Start; - - if (IM->OrFlag & VERT_ELT) { - GLuint andflag = ~0; - GLuint i; - GLuint start = IM->FlushElt ? IM->LastPrimitive : IM->CopyStart; - _tnl_translate_array_elts( ctx, IM, start, IM->Count ); - - /* Need to recompute andflag. - */ - if (IM->AndFlag & VERT_ELT) - IM->CopyAndFlag = IM->AndFlag |= ctx->Array._Enabled; - else { - for (i = IM->CopyStart ; i < IM->Count ; i++) - andflag &= IM->Flag[i]; - IM->CopyAndFlag = IM->AndFlag = andflag; - } - IM->CopyOrFlag |= ctx->Array._Enabled; + if (IM->FlushElt) { + ASSERT (IM->FlushElt == FLUSH_ELT_LAZY); + _tnl_translate_array_elts( ctx, IM, IM->Start, IM->Count ); } + _tnl_compute_orflag( IM, IM->Start ); _tnl_fixup_input( ctx, IM ); - - /* _tnl_print_cassette( IM ); */ - node = (TNLvertexcassette *) _mesa_alloc_instruction(ctx, tnl->opcode_vertex_cassette, @@ -129,7 +110,6 @@ _tnl_compile_cassette( GLcontext *ctx, struct immediate *IM ) execute_compiled_cassette( ctx, (void *)node ); } - /* Discard any errors raised in the last cassette. */ new_beginstate = node->BeginState & (VERT_BEGIN_0|VERT_BEGIN_1); |