summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mesa/drivers/glide/fxvb.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/mesa/drivers/glide/fxvb.c b/src/mesa/drivers/glide/fxvb.c
index f807048b09..9fc73e2379 100644
--- a/src/mesa/drivers/glide/fxvb.c
+++ b/src/mesa/drivers/glide/fxvb.c
@@ -1,5 +1,3 @@
-/* $Id: fxvb.c,v 1.17 2003/03/01 01:50:23 brianp Exp $ */
-
/*
* Mesa 3-D graphics library
* Version: 5.1
@@ -39,6 +37,7 @@
#include "mtypes.h"
#include "imports.h"
#include "macros.h"
+#include "context.h"
#include "colormac.h"
#include "math/m_translate.h"
@@ -286,7 +285,9 @@ void fxCheckTexSizes( GLcontext *ctx )
* In the unfilled and twosided cases we are using the
* Extras ones anyway, so leave them in place.
*/
- if (!(ctx->_TriangleCaps & (DD_TRI_LIGHT_TWOSIDE|DD_TRI_UNFILLED))) {
+ if (!(NEED_TWO_SIDED_LIGHTING(ctx) ||
+ ctx->Polygon.FrontMode != GL_FILL ||
+ ctx->Polygon.BackMode != GL_FILL)) {
tnl->Driver.Render.Interp = setup_tab[fxMesa->SetupIndex].interp;
}
}
@@ -357,10 +358,13 @@ void fxChooseVertexState( GLcontext *ctx )
fxMesa->SetupIndex = ind;
- if (ctx->_TriangleCaps & (DD_TRI_LIGHT_TWOSIDE|DD_TRI_UNFILLED)) {
+ if (NEED_TWO_SIDED_LIGHTING(ctx) ||
+ ctx->Polygon.FrontMode != GL_FILL ||
+ ctx->Polygon.BackMode != GL_FILL) {
tnl->Driver.Render.Interp = interp_extras;
tnl->Driver.Render.CopyPV = copy_pv_extras;
- } else {
+ }
+ else {
tnl->Driver.Render.Interp = setup_tab[ind].interp;
tnl->Driver.Render.CopyPV = copy_pv;
}