From: Keith Whitwell Date: Thu, 8 Jan 2004 13:55:24 +0000 (+0000) Subject: Perform check for dstclip[3] == 0. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=fb2a95b39142a2507e710d8a8e973f107fffb654;p=mesa.git Perform check for dstclip[3] == 0. --- diff --git a/src/mesa/tnl/t_vertex.c b/src/mesa/tnl/t_vertex.c index 575db2a966c..7fe7194a3d9 100644 --- a/src/mesa/tnl/t_vertex.c +++ b/src/mesa/tnl/t_vertex.c @@ -716,15 +716,17 @@ static void generic_interp( GLcontext *ctx, if (tnl->NeedNdcCoords) { const GLfloat *dstclip = VB->ClipPtr->data[edst]; - const GLfloat w = 1.0 / dstclip[3]; - GLfloat pos[4]; + if (dstclip[3] != 0.0) { + const GLfloat w = 1.0 / dstclip[3]; + GLfloat pos[4]; - pos[0] = dstclip[0] * w; - pos[1] = dstclip[1] * w; - pos[2] = dstclip[2] * w; - pos[3] = w; + pos[0] = dstclip[0] * w; + pos[1] = dstclip[1] * w; + pos[2] = dstclip[2] * w; + pos[3] = w; - a[0].insert[4-1]( &a[0], vdst, pos ); + a[0].insert[4-1]( &a[0], vdst, pos ); + } } else { a[0].insert[4-1]( &a[0], vdst, VB->ClipPtr->data[edst] );