summaryrefslogtreecommitdiff
path: root/src/mesa/tnl/t_imm_dlist.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/tnl/t_imm_dlist.c')
-rw-r--r--src/mesa/tnl/t_imm_dlist.c30
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);