mesa: loosen small matrix determinant check

When computing a matrix inverse, if the determinant is too small we could hit
a divide by zero.  There's a check to prevent this (we basically give up on
computing the inverse and return the identity matrix.)  This patch loosens
this test to fix a lighting bug reported by Lars Henning Wendt.

v2: use abs(det) to handle negative values

NOTE: This is a candidate for the 8.0 branch.

Tested-by: Lars Henning Wendt <lars.henning.wendt@gris.tu-darmstadt.de>
This commit is contained in:
Brian Paul 2012-07-24 11:11:45 -06:00
parent 148c8e639d
commit 50db812915
1 changed files with 1 additions and 1 deletions

View File

@ -513,7 +513,7 @@ static GLboolean invert_matrix_3d_general( GLmatrix *mat )
det = pos + neg;
if (det*det < 1e-25)
if (FABSF(det) < 1e-25)
return GL_FALSE;
det = 1.0F / det;