From 5c55aa4e61adcf136a18f2aea08a44f69840c4a0 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Wed, 7 Feb 2001 18:36:52 +0000 Subject: fixed divide by zero problem --- src/mesa/swrast/s_linetemp.h | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/mesa/swrast') diff --git a/src/mesa/swrast/s_linetemp.h b/src/mesa/swrast/s_linetemp.h index 8de9f8ee9d..e451f44855 100644 --- a/src/mesa/swrast/s_linetemp.h +++ b/src/mesa/swrast/s_linetemp.h @@ -1,4 +1,4 @@ -/* $Id: s_linetemp.h,v 1.4 2001/01/23 23:39:37 brianp Exp $ */ +/* $Id: s_linetemp.h,v 1.5 2001/02/07 18:36:52 brianp Exp $ */ /* * Mesa 3-D graphics library @@ -349,10 +349,11 @@ #endif #ifdef INTERP_TEX { - const GLfloat invQ = 1.0F / tex[3]; + const GLfloat invQ = tex[3] ? (1.0F / tex[3]) : 1.0F; fragTexcoord[0] = tex[0] * invQ; fragTexcoord[1] = tex[1] * invQ; fragTexcoord[2] = tex[2] * invQ; + fragTexcoord[3] = tex[3]; } #endif #ifdef INTERP_MULTITEX @@ -364,6 +365,7 @@ fragTexcoord[u][0] = tex[u][0] * invQ; fragTexcoord[u][1] = tex[u][1] * invQ; fragTexcoord[u][2] = tex[u][2] * invQ; + fragTexcoord[u][3] = tex[u][3]; } } } @@ -518,10 +520,11 @@ #endif #ifdef INTERP_TEX { - const GLfloat invQ = 1.0F / tex[3]; + const GLfloat invQ = tex[3] ? (1.0F / tex[3]) : 1.0F; fragTexcoord[0] = tex[0] * invQ; fragTexcoord[1] = tex[1] * invQ; fragTexcoord[2] = tex[2] * invQ; + fragTexcoord[3] = tex[3]; } #endif #ifdef INTERP_MULTITEX @@ -533,6 +536,7 @@ fragTexcoord[u][0] = tex[u][0] * invQ; fragTexcoord[u][1] = tex[u][1] * invQ; fragTexcoord[u][2] = tex[u][2] * invQ; + fragTexcoord[u][3] = tex[u][3]; } } } -- cgit v1.2.3