fix Unichrome/Blender crash, bug 13142
authorBenno Schulenberg <bensberg@justemail.net>
Thu, 8 Nov 2007 14:34:20 +0000 (07:34 -0700)
committerBrian <brian.paul@tungstengraphics.com>
Thu, 8 Nov 2007 14:34:55 +0000 (07:34 -0700)
src/mesa/drivers/dri/unichrome/via_tris.c

index 4cc7942b1b617fe88b3a8b21fb6fc92212ba5d2e..73e66260711cfa463a521e1584817664c512264e 100644 (file)
@@ -666,9 +666,11 @@ static void viaChooseRenderState(GLcontext *ctx)
    }
 
    if (flags & (ANY_FALLBACK_FLAGS|ANY_RASTER_FLAGS)) {
-      if (flags & DD_TRI_LIGHT_TWOSIDE)    index |= VIA_TWOSIDE_BIT;
+      if (ctx->Light.Enabled && ctx->Light.Model.TwoSide)
+         index |= VIA_TWOSIDE_BIT;
       if (flags & DD_TRI_OFFSET)           index |= VIA_OFFSET_BIT;
-      if (flags & DD_TRI_UNFILLED)         index |= VIA_UNFILLED_BIT;
+      if (ctx->Polygon.FrontMode != GL_FILL || ctx->Polygon.BackMode != GL_FILL)
+         index |= VIA_UNFILLED_BIT;
       if (flags & ANY_FALLBACK_FLAGS)      index |= VIA_FALLBACK_BIT;
 
       /* Hook in fallbacks for specific primitives.