From 609f35274c9dcf8607673ec1970efff583c97ed7 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Wed, 4 Feb 2004 03:00:42 +0000 Subject: fix two-sided lighting / vertex program bug (#887330) --- src/mesa/swrast_setup/ss_context.c | 10 ++++++---- src/mesa/swrast_setup/ss_triangle.c | 8 ++++---- 2 files changed, 10 insertions(+), 8 deletions(-) (limited to 'src/mesa/swrast_setup') diff --git a/src/mesa/swrast_setup/ss_context.c b/src/mesa/swrast_setup/ss_context.c index ef83dd4237..cc30d5a93f 100644 --- a/src/mesa/swrast_setup/ss_context.c +++ b/src/mesa/swrast_setup/ss_context.c @@ -1,9 +1,8 @@ - /* * Mesa 3-D graphics library - * Version: 4.1 + * Version: 6.0.1 * - * Copyright (C) 1999-2002 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2004 Brian Paul All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), @@ -37,7 +36,10 @@ #include "tnl/t_pipeline.h" #include "tnl/t_vertex.h" -#define _SWSETUP_NEW_RENDERINDEX (_NEW_POLYGON|_NEW_LIGHT) +/* Need to check lighting state and vertex program state to know + * if two-sided lighting is in effect. + */ +#define _SWSETUP_NEW_RENDERINDEX (_NEW_POLYGON|_NEW_LIGHT|_NEW_PROGRAM) GLboolean diff --git a/src/mesa/swrast_setup/ss_triangle.c b/src/mesa/swrast_setup/ss_triangle.c index 3a0af5de5e..39e3912612 100644 --- a/src/mesa/swrast_setup/ss_triangle.c +++ b/src/mesa/swrast_setup/ss_triangle.c @@ -1,9 +1,8 @@ - /* * Mesa 3-D graphics library - * Version: 3.5 + * Version: 6.0.1 * - * Copyright (C) 1999-2001 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2002 Brian Paul All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), @@ -291,7 +290,8 @@ void _swsetup_choose_trifuncs( GLcontext *ctx ) ctx->Polygon.OffsetFill) ind |= SS_OFFSET_BIT; - if (ctx->Light.Enabled && ctx->Light.Model.TwoSide) + if ((ctx->Light.Enabled && ctx->Light.Model.TwoSide) || + ctx->VertexProgram.TwoSideEnabled) ind |= SS_TWOSIDE_BIT; /* We piggyback the two-sided stencil front/back determination on the -- cgit v1.2.3