i915: There's always a fragment program
authorIan Romanick <ian.d.romanick@intel.com>
Sat, 16 Apr 2011 02:23:13 +0000 (19:23 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Fri, 22 Apr 2011 00:33:35 +0000 (17:33 -0700)
Fragment programs are generated by core Mesa for fixed-function.
Because of this, there's no reason to handle cases where there is no
fragment program for fog.

Reviewed-by: Eric Anholt <eric@anholt.net>
Acked-by: Corbin Simpson <MostAwesomeDude@gmail.com>
Acked-by: Alex Deucher <alexdeucher@gmail.com>
src/mesa/drivers/dri/i915/i915_state.c

index 05fc26f68f793818d650db3eff6af94c67aeaff0..df100314be919dec9bb74b887cffac424884d884 100644 (file)
@@ -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);