Fix fd.o #9686, when fall into vertex fog,
authorZou Nan hai <nanhai.zou@intel.com>
Fri, 2 Feb 2007 01:35:17 +0000 (09:35 +0800)
committerZou Nan hai <nanhai.zou@intel.com>
Fri, 2 Feb 2007 01:35:17 +0000 (09:35 +0800)
  fog factors are precomputed in t_vb_fog.c compute_fog_blend_factors,
  which is incompatible with appended fragment fog code.
  That will make GoogleEarth display abnormally.
  always use pixel fog.

src/mesa/drivers/dri/i915/i915_state.c

index 3cec6a2ddfc300d6fba7a7bad9157ab933465060..fd11e10652e22dd8d4d4049312c4ed8b5b3ff354 100644 (file)
@@ -611,10 +611,12 @@ void i915_update_fog( GLcontext *ctx )
         i915->state.Ctx[I915_CTXREG_LIS5] &= ~S5_FOG_ENABLE;
    }
 
-   if (enabled) {
-      _tnl_allow_vertex_fog( ctx, (i915->vertex_fog == I915_FOG_VERTEX) ); 
-      _tnl_allow_pixel_fog( ctx, (i915->vertex_fog != I915_FOG_VERTEX) ); 
-   }
+   /* always enbale pixel fog
+    * vertex fog use precaculted fog coord will conflict with appended
+    * fog program
+    */
+    _tnl_allow_vertex_fog( ctx, 0 );
+    _tnl_allow_pixel_fog( ctx, 1 );
 }
 
 static void i915Fogfv(GLcontext *ctx, GLenum pname, const GLfloat *param)