On Wed, Apr 18, 2012 at 06:40:32PM -0700, Eric Anholt wrote: > +mat3 inverse(mat3 m) > +{ > + mat3 adj; > + adj[0][0] = + (m[1][1] * m[2][2] - m[2][1] * m[1][2]); > + adj[1][0] = - (m[1][0] * m[2][2] - m[2][0] * m[1][2]); > + adj[2][0] = + (m[1][0] * m[2][1] - m[2][0] * m[1][1]); > + adj[0][1] = - (m[0][1] * m[2][2] - m[2][1] * m[0][2]); > + adj[1][1] = + (m[0][0] * m[2][2] - m[2][0] * m[0][2]); > + adj[2][1] = - (m[0][0] * m[2][1] - m[2][0] * m[0][1]); > + adj[0][2] = + (m[0][1] * m[1][2] - m[1][1] * m[0][2]); > + adj[1][2] = - (m[0][0] * m[1][2] - m[1][0] * m[0][2]); > + adj[2][2] = + (m[0][0] * m[1][1] - m[1][0] * m[0][1]); > + > + float det = (+ m[0][0] * (m[1][1] * m[2][2] - m[1][2] * m[2][1]) > + - m[0][1] * (m[1][0] * m[2][2] - m[1][2] * m[2][0]) > + + m[0][2] * (m[1][0] * m[2][1] - m[1][1] * m[2][0]));
Do you think the compiler will notice these are adj[0][0], adj[1][0] and adj[2][0]? OG. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev