mesa: fix polygon offset issue (bug #12061)
authorXiang, Haihao <haihao.xiang@intel.com>
Fri, 4 Jul 2008 01:53:51 +0000 (09:53 +0800)
committerXiang, Haihao <haihao.xiang@intel.com>
Fri, 4 Jul 2008 01:53:51 +0000 (09:53 +0800)
src/mesa/tnl_dd/t_dd_tritmp.h

index 2bb890593b1b8cef7b5e87d7a616819d53a4f67a..1ae70f4059f221c252b991e3b1dd0aa2502b8ec5 100644 (file)
@@ -267,7 +267,7 @@ static void TAG(triangle)( GLcontext *ctx, GLuint e0, GLuint e1, GLuint e2 )
            GLfloat bc  = b * ic;
            if ( ac < 0.0f ) ac = -ac;
            if ( bc < 0.0f ) bc = -bc;
-           offset += MAX2( ac, bc ) * ctx->Polygon.OffsetFactor;
+           offset += MAX2( ac, bc ) * ctx->Polygon.OffsetFactor / ctx->DrawBuffer->_MRD;
         }
         offset *= ctx->DrawBuffer->_MRD * (REVERSE_DEPTH ? -1.0 : 1.0);
       }
@@ -539,7 +539,7 @@ static void TAG(quadr)( GLcontext *ctx,
            GLfloat bc  = b * ic;
            if ( ac < 0.0f ) ac = -ac;
            if ( bc < 0.0f ) bc = -bc;
-           offset += MAX2( ac, bc ) * ctx->Polygon.OffsetFactor;
+           offset += MAX2( ac, bc ) * ctx->Polygon.OffsetFactor / ctx->DrawBuffer->_MRD;
         }
         offset *= ctx->DrawBuffer->_MRD * (REVERSE_DEPTH ? -1.0 : 1.0);
       }