summaryrefslogtreecommitdiff
path: root/src/mesa/shader/slang/library/slang_builtin_vec4.gc
diff options
context:
space:
mode:
authorBrian <brian@yutani.localnet.net>2006-12-13 14:49:41 -0700
committerBrian <brian@yutani.localnet.net>2006-12-13 14:49:41 -0700
commit8627bf14524a85cedc3d1794fce9f562fd12bf79 (patch)
treec7747789bb8dae6a2508a76e2cfd52a7c9703b73 /src/mesa/shader/slang/library/slang_builtin_vec4.gc
parentaff8e204d205b5d424d2c39a5d9e004caaa1eab1 (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-xsrc/mesa/shader/slang/library/slang_builtin_vec4.gc20
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) {