glsl2/builtins: Use vector ops in the 130 version of "sign."
authorKenneth Graunke <kenneth@whitecape.org>
Fri, 2 Jul 2010 09:12:34 +0000 (02:12 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Sat, 3 Jul 2010 01:03:58 +0000 (18:03 -0700)
src/glsl/builtins/130/sign

index 0bdc0e0..1707959 100644 (file)
@@ -7,28 +7,16 @@
    (signature ivec2
      (parameters
        (declare (in) ivec2 x))
-     ((declare () ivec2 t)
-      (assign (constant bool (1)) (swiz x (var_ref t)) (expression int sign (swiz x (var_ref x))))
-      (assign (constant bool (1)) (swiz y (var_ref t)) (expression int sign (swiz y (var_ref x))))
-      (return (var_ref t))))
+     ((return (expression ivec2 sign (var_ref x)))))
 
    (signature ivec3
      (parameters
        (declare (in) ivec3 x))
-     ((declare () ivec3 t)
-      (assign (constant bool (1)) (swiz x (var_ref t)) (expression int sign (swiz x (var_ref x))))
-      (assign (constant bool (1)) (swiz y (var_ref t)) (expression int sign (swiz y (var_ref x))))
-      (assign (constant bool (1)) (swiz z (var_ref t)) (expression int sign (swiz z (var_ref x))))
-      (return (var_ref t))))
+     ((return (expression ivec3 sign (var_ref x)))))
 
    (signature ivec4
      (parameters
        (declare (in) ivec4 x))
-     ((declare () ivec4 t)
-      (assign (constant bool (1)) (swiz x (var_ref t)) (expression int sign (swiz x (var_ref x))))
-      (assign (constant bool (1)) (swiz y (var_ref t)) (expression int sign (swiz y (var_ref x))))
-      (assign (constant bool (1)) (swiz z (var_ref t)) (expression int sign (swiz z (var_ref x))))
-      (assign (constant bool (1)) (swiz w (var_ref t)) (expression int sign (swiz w (var_ref x))))
-      (return (var_ref t))))
+     ((return (expression ivec4 sign (var_ref x)))))
 ))