From: Xiang, Haihao Date: Thu, 27 Sep 2007 07:52:01 +0000 (+0800) Subject: mesa: make sure the gotten value isn't greater than the X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6254be9b7144821e044d3fbade514fa0358db693;p=mesa.git mesa: make sure the gotten value isn't greater than the max depth buffer value on 64bit system. fix bug #12095 --- diff --git a/src/mesa/swrast/s_span.c b/src/mesa/swrast/s_span.c index bbde0025f45..f1e58bd3d81 100644 --- a/src/mesa/swrast/s_span.c +++ b/src/mesa/swrast/s_span.c @@ -64,8 +64,11 @@ _swrast_span_default_attribs(GLcontext *ctx, SWspan *span) const GLfloat depthMax = ctx->DrawBuffer->_DepthMaxF; if (ctx->DrawBuffer->Visual.depthBits <= 16) span->z = FloatToFixed(ctx->Current.RasterPos[2] * depthMax + 0.5F); - else - span->z = (GLint) (ctx->Current.RasterPos[2] * depthMax + 0.5F); + else { + GLfloat tmpf = ctx->Current.RasterPos[2] * depthMax; + tmpf = MIN2(tmpf, depthMax); + span->z = (GLint)tmpf; + } span->zStep = 0; span->interpMask |= SPAN_Z; }