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