From 6254be9b7144821e044d3fbade514fa0358db693 Mon Sep 17 00:00:00 2001 From: "Xiang, Haihao" Date: Thu, 27 Sep 2007 15:52:01 +0800 Subject: [PATCH] mesa: make sure the gotten value isn't greater than the max depth buffer value on 64bit system. fix bug #12095 --- src/mesa/swrast/s_span.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) 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; } -- 2.30.2