glsl/builtins: normalize of a negative scalar should be -1.0.
diff --git a/src/glsl/builtin_function.cpp b/src/glsl/builtin_function.cpp
index d897fa6..7e40cd7 100644
--- a/src/glsl/builtin_function.cpp
+++ b/src/glsl/builtin_function.cpp
@@ -2138,7 +2138,7 @@
    "   (signature float\n"
    "     (parameters\n"
    "       (declare (in) float arg0))\n"
-   "     ((return (constant float (1.0)))))\n"
+   "     ((return (expression float sign (var_ref arg0)))))\n"
    "\n"
    "   (signature vec2\n"
    "     (parameters\n"
diff --git a/src/glsl/builtins/ir/normalize b/src/glsl/builtins/ir/normalize
index 02b249a..0de0db0 100644
--- a/src/glsl/builtins/ir/normalize
+++ b/src/glsl/builtins/ir/normalize
@@ -2,7 +2,7 @@
    (signature float
      (parameters
        (declare (in) float arg0))
-     ((return (constant float (1.0)))))
+     ((return (expression float sign (var_ref arg0)))))
 
    (signature vec2
      (parameters