glsl: Fix the setup of refract()'s output for vec3/vec4 and k < 0.0.
caught by valgrind.
This commit is contained in:
@@ -1808,7 +1808,7 @@ static const char *builtins_110_refract = {
|
||||
" (expression float dot (var_ref n) (var_ref i))\n"
|
||||
" (expression float dot (var_ref n) (var_ref i))))))))\n"
|
||||
" (if (expression bool < (var_ref k) (constant float (0.0)))\n"
|
||||
" ((return (constant vec3 (0.0 0.0))))\n"
|
||||
" ((return (constant vec3 (0.0 0.0 0.0))))\n"
|
||||
" ((return (expression vec3 -\n"
|
||||
" (expression vec3 * (var_ref eta) (var_ref i))\n"
|
||||
" (expression vec3 *\n"
|
||||
@@ -1833,7 +1833,7 @@ static const char *builtins_110_refract = {
|
||||
" (expression float dot (var_ref n) (var_ref i))\n"
|
||||
" (expression float dot (var_ref n) (var_ref i))))))))\n"
|
||||
" (if (expression bool < (var_ref k) (constant float (0.0)))\n"
|
||||
" ((return (constant vec4 (0.0 0.0))))\n"
|
||||
" ((return (constant vec4 (0.0 0.0 0.0 0.0))))\n"
|
||||
" ((return (expression vec4 -\n"
|
||||
" (expression vec4 * (var_ref eta) (var_ref i))\n"
|
||||
" (expression vec4 *\n"
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
(expression float dot (var_ref n) (var_ref i))
|
||||
(expression float dot (var_ref n) (var_ref i))))))))
|
||||
(if (expression bool < (var_ref k) (constant float (0.0)))
|
||||
((return (constant vec3 (0.0 0.0))))
|
||||
((return (constant vec3 (0.0 0.0 0.0))))
|
||||
((return (expression vec3 -
|
||||
(expression vec3 * (var_ref eta) (var_ref i))
|
||||
(expression vec3 *
|
||||
@@ -89,7 +89,7 @@
|
||||
(expression float dot (var_ref n) (var_ref i))
|
||||
(expression float dot (var_ref n) (var_ref i))))))))
|
||||
(if (expression bool < (var_ref k) (constant float (0.0)))
|
||||
((return (constant vec4 (0.0 0.0))))
|
||||
((return (constant vec4 (0.0 0.0 0.0 0.0))))
|
||||
((return (expression vec4 -
|
||||
(expression vec4 * (var_ref eta) (var_ref i))
|
||||
(expression vec4 *
|
||||
|
||||
Reference in New Issue
Block a user