summaryrefslogtreecommitdiffstats
path: root/src/mesa/tnl/t_save_playback.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/tnl/t_save_playback.c')
-rw-r--r--src/mesa/tnl/t_save_playback.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/mesa/tnl/t_save_playback.c b/src/mesa/tnl/t_save_playback.c
index a1949a1ce31..deb404f483d 100644
--- a/src/mesa/tnl/t_save_playback.c
+++ b/src/mesa/tnl/t_save_playback.c
@@ -91,11 +91,15 @@ static void _tnl_bind_vertex_list( GLcontext *ctx,
/* Copy edgeflag to a contiguous array
*/
- if (node->attrsz[_TNL_ATTRIB_EDGEFLAG]) {
- VB->EdgeFlag = _tnl_translate_edgeflag( ctx, data,
- node->count,
- node->vertex_size );
- data++;
+ if (ctx->Polygon.FrontMode != GL_FILL || ctx->Polygon.BackMode != GL_FILL) {
+ if (node->attrsz[_TNL_ATTRIB_EDGEFLAG]) {
+ VB->EdgeFlag = _tnl_translate_edgeflag( ctx, data,
+ node->count,
+ node->vertex_size );
+ data++;
+ }
+ else
+ VB->EdgeFlag = _tnl_import_current_edgeflag( ctx, node->count );
}
/* Legacy pointers -- remove one day.