mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-16 11:58:05 +02:00
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>
(cherry picked from commit fe33c886a7)
This commit is contained in:
parent
0501cee136
commit
e42b822fec
1 changed files with 4 additions and 4 deletions
|
|
@ -2,20 +2,20 @@
|
|||
(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))))))
|
||||
))
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue