diff options
author | Keith Whitwell <[email protected]> | 2005-01-22 14:38:00 +0000 |
---|---|---|
committer | Keith Whitwell <[email protected]> | 2005-01-22 14:38:00 +0000 |
commit | 36a35c5614336bffdac4827c1e04bcaa8ab2fa27 (patch) | |
tree | e7a41d044ac2998fe23e89b0f36868de67fa05d1 /src/mesa/tnl/t_save_playback.c | |
parent | 8fca9bdc35bfb5220012cfa5041504b0a05d2440 (diff) |
Determine ahead of time whether a display list will include vertices
which have to be processed in the 'loopback' path. If so, send
all vertices that way as the transition from playback->loopback has
several problems.
Diffstat (limited to 'src/mesa/tnl/t_save_playback.c')
-rw-r--r-- | src/mesa/tnl/t_save_playback.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/mesa/tnl/t_save_playback.c b/src/mesa/tnl/t_save_playback.c index 26c77bd7d8e..d5fcbe6c02a 100644 --- a/src/mesa/tnl/t_save_playback.c +++ b/src/mesa/tnl/t_save_playback.c @@ -178,7 +178,7 @@ void _tnl_playback_vertex_list( GLcontext *ctx, void *data ) if (node->prim_count > 0 && node->count > 0) { if (ctx->Driver.CurrentExecPrimitive != PRIM_OUTSIDE_BEGIN_END && - (node->prim[0].mode & PRIM_BEGIN)) { + (node->prim[0].mode & PRIM_BEGIN)) { /* Degenerate case: list is called inside begin/end pair and * includes operations such as glBegin or glDrawArrays. @@ -187,10 +187,9 @@ void _tnl_playback_vertex_list( GLcontext *ctx, void *data ) _tnl_loopback_vertex_list( ctx, node ); return; } - else if (tnl->LoopbackDListCassettes || - node->dangling_attr_ref) { - /* Degenerate case: list references current data and would - * require fixup. Take the easier option & loop it back. + else if (tnl->save.replay_flags) { + /* Various degnerate cases: translate into immediate mode + * calls rather than trying to execute in place. */ _tnl_loopback_vertex_list( ctx, node ); return; |