summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/mesa/drivers/dri/r300/r300_state.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/mesa/drivers/dri/r300/r300_state.c b/src/mesa/drivers/dri/r300/r300_state.c
index 820b8dff300..15cd0531618 100644
--- a/src/mesa/drivers/dri/r300/r300_state.c
+++ b/src/mesa/drivers/dri/r300/r300_state.c
@@ -2623,10 +2623,12 @@ static void r500SetupPixelShader(r300ContextPtr rmesa)
if (fp->mesa_program.FogOption != GL_NONE) {
/* Enable HW fog. Try not to squish GL context.
* (Anybody sane remembered to set glFog() opts first!) */
+ r300SetFogState(ctx, GL_TRUE);
ctx->Fog.Mode = fp->mesa_program.FogOption;
r300Fogfv(ctx, GL_FOG_MODE, NULL);
- r300SetFogState(ctx, GL_TRUE);
- }
+ } else
+ /* Make sure HW is matching GL context. */
+ r300SetFogState(ctx, ctx->Fog.Enabled);
r300SetupTextures(ctx);