Mesa (master): glsl: avoid using rcp in length() functions
Brian Paul
brianp at kemper.freedesktop.org
Mon Mar 29 17:47:52 UTC 2010
Module: Mesa
Branch: master
Commit: 1cbd51068802a3aa530b9c12d86c40cb3a1bbfa4
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1cbd51068802a3aa530b9c12d86c40cb3a1bbfa4
Author: Brian Paul <brianp at vmware.com>
Date: Mon Mar 29 11:31:02 2010 -0600
glsl: avoid using rcp in length() functions
See prev commit for related info.
---
.../shader/slang/library/slang_common_builtin.gc | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/mesa/shader/slang/library/slang_common_builtin.gc b/src/mesa/shader/slang/library/slang_common_builtin.gc
index 3d46463..d75354d 100644
--- a/src/mesa/shader/slang/library/slang_common_builtin.gc
+++ b/src/mesa/shader/slang/library/slang_common_builtin.gc
@@ -1160,7 +1160,7 @@ float length(const vec2 v)
float r;
const float p = dot(v, v); // p = v.x * v.x + v.y * v.y
__asm float_rsq r, p; // r = 1 / sqrt(p)
- __asm float_rcp __retVal.x, r; // retVal = 1 / r
+ __retVal = p * r; // p * r = sqrt(p);
}
float length(const vec3 v)
@@ -1168,7 +1168,7 @@ float length(const vec3 v)
float r;
const float p = dot(v, v); // p = v.x * v.x + v.y * v.y + v.z * v.z
__asm float_rsq r, p; // r = 1 / sqrt(p)
- __asm float_rcp __retVal, r; // retVal = 1 / r
+ __retVal = p * r; // p * r = sqrt(p);
}
float length(const vec4 v)
@@ -1176,7 +1176,7 @@ float length(const vec4 v)
float r;
const float p = dot(v, v); // p = v.x * v.x + v.y * v.y + ...
__asm float_rsq r, p; // r = 1 / sqrt(p)
- __asm float_rcp __retVal, r; // retVal = 1 / r
+ __retVal = p * r; // p * r = sqrt(p);
}
More information about the mesa-commit
mailing list