From: Brian Paul Date: Tue, 24 Jul 2012 17:11:45 +0000 (-0600) Subject: mesa: loosen small matrix determinant check X-Git-Tag: accepted/2.0alpha-wayland/20121114.171706~980 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=50db8129152f3d5ea8db13d55f82673d53bf1b8f;p=profile%2Fivi%2Fmesa.git 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 --- diff --git a/src/mesa/math/m_matrix.c b/src/mesa/math/m_matrix.c index 02aedba..ffbdcdb 100644 --- a/src/mesa/math/m_matrix.c +++ b/src/mesa/math/m_matrix.c @@ -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;