diff options
author | Brian <brian@yutani.localnet.net> | 2006-12-13 14:49:41 -0700 |
---|---|---|
committer | Brian <brian@yutani.localnet.net> | 2006-12-13 14:49:41 -0700 |
commit | 8627bf14524a85cedc3d1794fce9f562fd12bf79 (patch) | |
tree | c7747789bb8dae6a2508a76e2cfd52a7c9703b73 /src/mesa/shader/slang/library/slang_builtin_vec4.gc | |
parent | aff8e204d205b5d424d2c39a5d9e004caaa1eab1 (diff) |
Rewrite/simplify most built-in functions to use updated set of __asm instructions.
Diffstat (limited to 'src/mesa/shader/slang/library/slang_builtin_vec4.gc')
-rwxr-xr-x | src/mesa/shader/slang/library/slang_builtin_vec4.gc | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/src/mesa/shader/slang/library/slang_builtin_vec4.gc b/src/mesa/shader/slang/library/slang_builtin_vec4.gc index d549c0133a..f075a886bd 100755 --- a/src/mesa/shader/slang/library/slang_builtin_vec4.gc +++ b/src/mesa/shader/slang/library/slang_builtin_vec4.gc @@ -181,10 +181,10 @@ float dot (vec3 v, vec3 u) { return v4.x; } -float dot (vec4 v, vec4 u) { - __asm vec4_dot v, u; - return v.x; -} +//float dot (vec4 v, vec4 u) { +// __asm vec4_dot v, u; +// return v.x; +//} float length (vec3 v) { @@ -199,14 +199,10 @@ float length (vec4 v) { } -vec3 normalize (vec3 v) { - vec4 u = vec4 (v, 0.0); - vec4 w = u; - __asm vec4_dot u, u; - float l = sqrt (u.x); - __asm float_to_vec4 u, l; - __asm vec4_divide w, u; - return w.xyz; +vec3 normalize (vec3 v) +{ + float s = inversesqrt(dot(v,v)); + __retVal = v * s; } vec4 normalize (vec4 v) { |