glsl2: Don't break sign() down by vector components.
[mesa.git] / src / glsl / builtin_function.cpp
index 811c5b20ac32165460b9bf478694f2197938edf8..b7dbc6b34f5fd4aba191b7b1c38204e5d6cfed5c 100644 (file)
@@ -1856,31 +1856,18 @@ static const char *builtins_110_sign = {
    "   (signature vec2\n"
    "     (parameters\n"
    "       (declare (in) vec2 x))\n"
-   "     ((declare () vec2 t)\n"
-   "      (assign (constant bool (1)) (swiz x (var_ref t)) (expression float sign (swiz x (var_ref x))))\n"
-   "      (assign (constant bool (1)) (swiz y (var_ref t)) (expression float sign (swiz y (var_ref x))))\n"
-   "      (return (var_ref t))))\n"
+   "     ((return (expression vec2 sign (var_ref x)))))\n"
    "\n"
    "   (signature vec3\n"
    "     (parameters\n"
    "       (declare (in) vec3 x))\n"
-   "     ((declare () vec3 t)\n"
-   "      (assign (constant bool (1)) (swiz x (var_ref t)) (expression float sign (swiz x (var_ref x))))\n"
-   "      (assign (constant bool (1)) (swiz y (var_ref t)) (expression float sign (swiz y (var_ref x))))\n"
-   "      (assign (constant bool (1)) (swiz z (var_ref t)) (expression float sign (swiz z (var_ref x))))\n"
-   "      (return (var_ref t))))\n"
+   "     ((return (expression vec3 sign (var_ref x)))))\n"
    "\n"
    "   (signature vec4\n"
    "     (parameters\n"
    "       (declare (in) vec4 x))\n"
-   "     ((declare () vec4 t)\n"
-   "      (assign (constant bool (1)) (swiz x (var_ref t)) (expression float sign (swiz x (var_ref x))))\n"
-   "      (assign (constant bool (1)) (swiz y (var_ref t)) (expression float sign (swiz y (var_ref x))))\n"
-   "      (assign (constant bool (1)) (swiz z (var_ref t)) (expression float sign (swiz z (var_ref x))))\n"
-   "      (assign (constant bool (1)) (swiz w (var_ref t)) (expression float sign (swiz w (var_ref x))))\n"
-   "      (return (var_ref t))))\n"
+   "     ((return (expression vec4 sign (var_ref x)))))\n"
    "))\n"
-   "\n"
 };
 
 static const char *builtins_110_sin = {