diff options
-rw-r--r-- | src/mesa/drivers/dri/r300/r300_state.c | 6 |
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); |