summaryrefslogtreecommitdiffstats
path: root/src/glsl/builtins/110/fract
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2010-06-30 15:59:07 -0700
committerEric Anholt <[email protected]>2010-06-30 15:59:07 -0700
commit4e16a7b526bb4736cd11e512009cf6532b2d1dc5 (patch)
tree7be90e24cf75ee9643448a173f9fb5fd705381fe /src/glsl/builtins/110/fract
parent285ff93819724b9a858984dc8c30858784a5ee5b (diff)
glsl2: Fix up the implementation of fract() for vector types.
There's no need to split each vector component out, just do vector ops.
Diffstat (limited to 'src/glsl/builtins/110/fract')
-rw-r--r--src/glsl/builtins/110/fract18
1 files changed, 3 insertions, 15 deletions
diff --git a/src/glsl/builtins/110/fract b/src/glsl/builtins/110/fract
index 3995bfaf3f9..46741bb3cb4 100644
--- a/src/glsl/builtins/110/fract
+++ b/src/glsl/builtins/110/fract
@@ -7,28 +7,16 @@
(signature vec2
(parameters
(declare (in) vec2 x))
- ((declare () vec2 t)
- (assign (constant bool (1)) (swiz x (var_ref t)) (expression float - (swiz x (var_ref x)) (expression float floor (swiz x (var_ref x)))))
- (assign (constant bool (1)) (swiz y (var_ref t)) (expression float - (swiz y (var_ref x)) (expression float floor (swiz y (var_ref x)))))
- (return (var_ref t))))
+ ((return (expression vec2 - (var_ref x) (expression vec2 floor (var_ref x))))))
(signature vec3
(parameters
(declare (in) vec3 x))
- ((declare () vec3 t)
- (assign (constant bool (1)) (swiz x (var_ref t)) (expression float - (swiz x (var_ref x)) (expression float floor (swiz x (var_ref x)))))
- (assign (constant bool (1)) (swiz y (var_ref t)) (expression float - (swiz y (var_ref x)) (expression float floor (swiz y (var_ref x)))))
- (assign (constant bool (1)) (swiz z (var_ref t)) (expression float - (swiz z (var_ref x)) (expression float floor (swiz z (var_ref x)))))
- (return (var_ref t))))
+ ((return (expression vec3 - (var_ref x) (expression vec3 floor (var_ref x))))))
(signature vec4
(parameters
(declare (in) vec4 x))
- ((declare () vec4 t)
- (assign (constant bool (1)) (swiz x (var_ref t)) (expression float - (swiz x (var_ref x)) (expression float floor (swiz x (var_ref x)))))
- (assign (constant bool (1)) (swiz y (var_ref t)) (expression float - (swiz y (var_ref x)) (expression float floor (swiz y (var_ref x)))))
- (assign (constant bool (1)) (swiz z (var_ref t)) (expression float - (swiz z (var_ref x)) (expression float floor (swiz z (var_ref x)))))
- (assign (constant bool (1)) (swiz w (var_ref t)) (expression float - (swiz w (var_ref x)) (expression float floor (swiz w (var_ref x)))))
- (return (var_ref t))))
+ ((return (expression vec4 - (var_ref x) (expression vec4 floor (var_ref x))))))
))