Perform check for dstclip[3] == 0.

This commit is contained in:
Keith Whitwell 2004-01-08 13:55:24 +00:00
parent 2fa774edba
commit fb2a95b391

View file

@ -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] );