mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 04:48:08 +02:00
glsl2: fix bug in atan(y, x) function
When x==0, the result was wrong. Fixes piglit glsl-fs-atan-1.shader_test
This commit is contained in:
parent
9b075cb9fa
commit
16c733495d
2 changed files with 9 additions and 13 deletions
|
|
@ -324,6 +324,8 @@ static const char *builtin_atan =
|
|||
") \n"
|
||||
" (assign (constant bool (1)) (var_ref r) (var_ref atan_retval) ) \n"
|
||||
" (if (expression bool < (var_ref x) (constant float (0.000000)) ) (\n"
|
||||
"\n"
|
||||
"\n"
|
||||
" (if (expression bool >= (var_ref y) (constant float (0.000000)) ) (\n"
|
||||
" (declare ( ) float assignment_tmp)\n"
|
||||
" (assign (constant bool (1)) (var_ref assignment_tmp) (expression float + (var_ref r) (constant float (3.141593)) ) ) \n"
|
||||
|
|
@ -341,12 +343,10 @@ static const char *builtin_atan =
|
|||
"\n"
|
||||
" )\n"
|
||||
" (\n"
|
||||
" (if (expression bool >= (var_ref y) (constant float (0.000000)) ) (\n"
|
||||
" (assign (constant bool (1)) (var_ref r) (constant float (1.570796)) ) \n"
|
||||
" )\n"
|
||||
" (\n"
|
||||
" (assign (constant bool (1)) (var_ref r) (constant float (-1.570796)) ) \n"
|
||||
" ))\n"
|
||||
"\n"
|
||||
" (declare () float sgn)\n"
|
||||
" (assign (constant bool (1)) (var_ref sgn) (expression float sign (var_ref y)))\n"
|
||||
" (assign (constant bool (1)) (var_ref r) (expression float * (var_ref sgn) (constant float (1.5707965))))\n"
|
||||
"\n"
|
||||
" ))\n"
|
||||
"\n"
|
||||
|
|
|
|||
|
|
@ -80,13 +80,9 @@
|
|||
|
||||
)
|
||||
(
|
||||
(if (expression bool >= (var_ref y) (constant float (0.000000)) ) (
|
||||
(assign (constant bool (1)) (var_ref r) (constant float (1.570796)) )
|
||||
)
|
||||
(
|
||||
(assign (constant bool (1)) (var_ref r) (constant float (-1.570796)) )
|
||||
))
|
||||
|
||||
(declare () float sgn)
|
||||
(assign (constant bool (1)) (var_ref sgn) (expression float sign (var_ref y)))
|
||||
(assign (constant bool (1)) (var_ref r) (expression float * (var_ref sgn) (constant float (1.5707965))))
|
||||
))
|
||||
|
||||
(return (var_ref r) )
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue