summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2010-09-08 15:38:09 -0700
committerKenneth Graunke <[email protected]>2010-09-08 15:38:09 -0700
commitfc1daab2a2846912d3da5eb69e1ce0afbf08ab04 (patch)
treeddbef3d328b6ca3cf7d07de0ce0077c42ebd02cd
parentc3db43df046daf46e98cc3043129b5b56c513799 (diff)
glsl: Fix for scalar float built-in definitions.
These need abs, and we need more tests.
-rw-r--r--src/glsl/builtin_function.cpp4
-rw-r--r--src/glsl/builtins/ir/distance2
-rw-r--r--src/glsl/builtins/ir/length2
3 files changed, 4 insertions, 4 deletions
diff --git a/src/glsl/builtin_function.cpp b/src/glsl/builtin_function.cpp
index 11b96fdcbd8..0a2b0120f26 100644
--- a/src/glsl/builtin_function.cpp
+++ b/src/glsl/builtin_function.cpp
@@ -724,7 +724,7 @@ static const char *builtin_distance =
" (parameters\n"
" (declare (in) float p0)\n"
" (declare (in) float p1))\n"
- " ((return (expression float - (var_ref p0) (var_ref p1)))))\n"
+ " ((return (expression float abs (expression float - (var_ref p0) (var_ref p1))))))\n"
"\n"
" (signature float\n"
" (parameters\n"
@@ -1302,7 +1302,7 @@ static const char *builtin_length =
" (signature float\n"
" (parameters\n"
" (declare (in) float arg0))\n"
- " ((return (var_ref arg0))))\n"
+ " ((return (expression float abs (var_ref arg0)))))\n"
"\n"
" (signature float\n"
" (parameters\n"
diff --git a/src/glsl/builtins/ir/distance b/src/glsl/builtins/ir/distance
index f73f755b32b..7789ca6314d 100644
--- a/src/glsl/builtins/ir/distance
+++ b/src/glsl/builtins/ir/distance
@@ -3,7 +3,7 @@
(parameters
(declare (in) float p0)
(declare (in) float p1))
- ((return (expression float - (var_ref p0) (var_ref p1)))))
+ ((return (expression float abs (expression float - (var_ref p0) (var_ref p1))))))
(signature float
(parameters
diff --git a/src/glsl/builtins/ir/length b/src/glsl/builtins/ir/length
index 3fc3103da16..b72334ee8a2 100644
--- a/src/glsl/builtins/ir/length
+++ b/src/glsl/builtins/ir/length
@@ -2,7 +2,7 @@
(signature float
(parameters
(declare (in) float arg0))
- ((return (var_ref arg0))))
+ ((return (expression float abs (var_ref arg0)))))
(signature float
(parameters