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>
(signature float
(parameters
(declare (in) float arg0))
- ((return (expression float * (var_ref arg0) (constant float (0.017453))))))
+ ((return (expression float * (var_ref arg0) (constant float (0.0174532925))))))
(signature vec2
(parameters
(declare (in) vec2 arg0))
- ((return (expression vec2 * (var_ref arg0) (constant float (0.017453))))))
+ ((return (expression vec2 * (var_ref arg0) (constant float (0.0174532925))))))
(signature vec3
(parameters
(declare (in) vec3 arg0))
- ((return (expression vec3 * (var_ref arg0) (constant float (0.017453))))))
+ ((return (expression vec3 * (var_ref arg0) (constant float (0.0174532925))))))
(signature vec4
(parameters
(declare (in) vec4 arg0))
- ((return (expression vec4 * (var_ref arg0) (constant float (0.017453))))))
+ ((return (expression vec4 * (var_ref arg0) (constant float (0.0174532925))))))
))