diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mesa/drivers/dri/i915/i915_state.c | 31 |
1 files changed, 5 insertions, 26 deletions
diff --git a/src/mesa/drivers/dri/i915/i915_state.c b/src/mesa/drivers/dri/i915/i915_state.c index 05fc26f68f7..df100314be9 100644 --- a/src/mesa/drivers/dri/i915/i915_state.c +++ b/src/mesa/drivers/dri/i915/i915_state.c @@ -729,36 +729,15 @@ void i915_update_fog(struct gl_context * ctx) { struct i915_context *i915 = I915_CONTEXT(ctx); - GLenum mode; - GLboolean enabled; GLuint dw; - if (ctx->FragmentProgram._Current) { - /* Pull in static fog state from program */ - mode = GL_NONE; - enabled = GL_FALSE; - } - else { - enabled = ctx->Fog.Enabled; - mode = ctx->Fog.Mode; - } + assert(ctx->FragmentProgram._Current); - if (!enabled) { - i915->vertex_fog = I915_FOG_NONE; - } - else { /* if (i915->vertex_fog != I915_FOG_VERTEX) */ - I915_STATECHANGE(i915, I915_UPLOAD_FOG); - i915->state.Fog[I915_FOGREG_MODE1] &= ~FMC1_FOGFUNC_MASK; - i915->state.Fog[I915_FOGREG_MODE1] |= FMC1_FOGFUNC_VERTEX; - i915->vertex_fog = I915_FOG_VERTEX; - } + i915->vertex_fog = I915_FOG_NONE; + + I915_ACTIVESTATE(i915, I915_UPLOAD_FOG, 0); + dw = i915->state.Ctx[I915_CTXREG_LIS5] & ~S5_FOG_ENABLE; - I915_ACTIVESTATE(i915, I915_UPLOAD_FOG, enabled); - dw = i915->state.Ctx[I915_CTXREG_LIS5]; - if (enabled) - dw |= S5_FOG_ENABLE; - else - dw &= ~S5_FOG_ENABLE; if (dw != i915->state.Ctx[I915_CTXREG_LIS5]) { i915->state.Ctx[I915_CTXREG_LIS5] = dw; I915_STATECHANGE(i915, I915_UPLOAD_CTX); |