glsl: improve the accuracy of the radians() builtin function
authorPaul Berry <stereotype441@gmail.com>
Wed, 27 Jul 2011 17:35:17 +0000 (10:35 -0700)
committerPaul Berry <stereotype441@gmail.com>
Thu, 28 Jul 2011 17:41:39 +0000 (10:41 -0700)
commitfe33c886a79f49378e5719909a51e794b7bb1c38
tree0d7b1afdfd2880523379933cff0c1c41b2799eba
parent0aed27ee37860ba332df776425d89d97ca1168b2
glsl: improve the accuracy of the radians() builtin function

The constant used in the radians() function didn't have enough
precision, causing a relative error of 1.676e-5, which is far worse
than the precision of 32-bit floats.  This patch reduces the relative
error to 1.14e-9, which is the best we can do in 32 bits.

Fixes piglit tests {fs,vs}-radians-{float,vec2,vec3,vec4}.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/glsl/builtins/ir/radians