aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2010-07-02 02:10:01 -0700
committerKenneth Graunke <[email protected]>2010-07-02 18:03:58 -0700
commit9a7ac272fb7d87e56277ed88585f389446a4a1b9 (patch)
tree751707d8f08917d4d12df060fa7d7fd443d85f86
parentb0ac07e3de8d9609fb0b1b7ec85b4149c4ee2c70 (diff)
glsl2/builtins: Use vector ops in "smoothstep."
-rw-r--r--src/glsl/builtins/110/smoothstep101
1 files changed, 15 insertions, 86 deletions
diff --git a/src/glsl/builtins/110/smoothstep b/src/glsl/builtins/110/smoothstep
index b4255ba78f1..663eec63419 100644
--- a/src/glsl/builtins/110/smoothstep
+++ b/src/glsl/builtins/110/smoothstep
@@ -122,103 +122,32 @@
(declare (in) vec2 edge0)
(declare (in) vec2 edge1)
(declare (in) vec2 x))
- ((declare () vec2 t)
- (declare () vec2 retval)
-
- (assign (constant bool (1)) (swiz x (var_ref t))
- (expression float max
- (expression float min
- (expression float / (expression float - (swiz x (var_ref x)) (swiz x (var_ref edge0))) (expression float - (swiz x (var_ref edge1)) (swiz x (var_ref edge0))))
- (constant float (1.0)))
- (constant float (0.0))))
- (assign (constant bool (1)) (swiz x (var_ref retval)) (expression float * (swiz x (var_ref t)) (expression float * (swiz x (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz x (var_ref t)))))))
-
- (assign (constant bool (1)) (swiz y (var_ref t))
- (expression float max
- (expression float min
- (expression float / (expression float - (swiz y (var_ref x)) (swiz y (var_ref edge0))) (expression float - (swiz y (var_ref edge1)) (swiz y (var_ref edge0))))
- (constant float (1.0)))
- (constant float (0.0))))
- (assign (constant bool (1)) (swiz y (var_ref retval)) (expression float * (swiz y (var_ref t)) (expression float * (swiz y (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz y (var_ref t)))))))
- (return (var_ref retval))
- ))
+ ((return (expression vec2 max
+ (expression vec2 min
+ (expression vec2 / (expression vec2 - (var_ref x) (var_ref edge0)) (expression vec2 - (var_ref edge1) (var_ref edge0)))
+ (constant vec2 (1.0 1.0)))
+ (constant vec2 (0.0 0.0))))))
(signature vec3
(parameters
(declare (in) vec3 edge0)
(declare (in) vec3 edge1)
(declare (in) vec3 x))
- ((declare () vec3 t)
- (declare () vec3 retval)
-
- (assign (constant bool (1)) (swiz x (var_ref t))
- (expression float max
- (expression float min
- (expression float / (expression float - (swiz x (var_ref x)) (swiz x (var_ref edge0))) (expression float - (swiz x (var_ref edge1)) (swiz x (var_ref edge0))))
- (constant float (1.0)))
- (constant float (0.0))))
- (assign (constant bool (1)) (swiz x (var_ref retval)) (expression float * (swiz x (var_ref t)) (expression float * (swiz x (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz x (var_ref t)))))))
-
- (assign (constant bool (1)) (swiz y (var_ref t))
- (expression float max
- (expression float min
- (expression float / (expression float - (swiz y (var_ref x)) (swiz y (var_ref edge0))) (expression float - (swiz y (var_ref edge1)) (swiz y (var_ref edge0))))
- (constant float (1.0)))
- (constant float (0.0))))
- (assign (constant bool (1)) (swiz y (var_ref retval)) (expression float * (swiz y (var_ref t)) (expression float * (swiz y (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz y (var_ref t)))))))
-
- (assign (constant bool (1)) (swiz z (var_ref t))
- (expression float max
- (expression float min
- (expression float / (expression float - (swiz z (var_ref x)) (swiz z (var_ref edge0))) (expression float - (swiz z (var_ref edge1)) (swiz z (var_ref edge0))))
- (constant float (1.0)))
- (constant float (0.0))))
- (assign (constant bool (1)) (swiz z (var_ref retval)) (expression float * (swiz z (var_ref t)) (expression float * (swiz z (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz z (var_ref t)))))))
- (return (var_ref retval))
- ))
-
+ ((return (expression vec3 max
+ (expression vec3 min
+ (expression vec3 / (expression vec3 - (var_ref x) (var_ref edge0)) (expression vec3 - (var_ref edge1) (var_ref edge0)))
+ (constant vec3 (1.0 1.0 1.0)))
+ (constant vec3 (0.0 0.0 0.0))))))
(signature vec4
(parameters
(declare (in) vec4 edge0)
(declare (in) vec4 edge1)
(declare (in) vec4 x))
- ((declare () vec4 t)
- (declare () vec4 retval)
-
- (assign (constant bool (1)) (swiz x (var_ref t))
- (expression float max
- (expression float min
- (expression float / (expression float - (swiz x (var_ref x)) (swiz x (var_ref edge0))) (expression float - (swiz x (var_ref edge1)) (swiz x (var_ref edge0))))
- (constant float (1.0)))
- (constant float (0.0))))
- (assign (constant bool (1)) (swiz x (var_ref retval)) (expression float * (swiz x (var_ref t)) (expression float * (swiz x (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz x (var_ref t)))))))
-
- (assign (constant bool (1)) (swiz y (var_ref t))
- (expression float max
- (expression float min
- (expression float / (expression float - (swiz y (var_ref x)) (swiz y (var_ref edge0))) (expression float - (swiz y (var_ref edge1)) (swiz y (var_ref edge0))))
- (constant float (1.0)))
- (constant float (0.0))))
- (assign (constant bool (1)) (swiz y (var_ref retval)) (expression float * (swiz y (var_ref t)) (expression float * (swiz y (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz y (var_ref t)))))))
-
- (assign (constant bool (1)) (swiz z (var_ref t))
- (expression float max
- (expression float min
- (expression float / (expression float - (swiz z (var_ref x)) (swiz z (var_ref edge0))) (expression float - (swiz z (var_ref edge1)) (swiz z (var_ref edge0))))
- (constant float (1.0)))
- (constant float (0.0))))
- (assign (constant bool (1)) (swiz z (var_ref retval)) (expression float * (swiz z (var_ref t)) (expression float * (swiz z (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz z (var_ref t)))))))
-
- (assign (constant bool (1)) (swiz w (var_ref t))
- (expression float max
- (expression float min
- (expression float / (expression float - (swiz w (var_ref x)) (swiz w (var_ref edge0))) (expression float - (swiz w (var_ref edge1)) (swiz w (var_ref edge0))))
- (constant float (1.0)))
- (constant float (0.0))))
- (assign (constant bool (1)) (swiz w (var_ref retval)) (expression float * (swiz w (var_ref t)) (expression float * (swiz w (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz w (var_ref t)))))))
- (return (var_ref retval))
- ))
-
+ ((return (expression vec4 max
+ (expression vec4 min
+ (expression vec4 / (expression vec4 - (var_ref x) (var_ref edge0)) (expression vec4 - (var_ref edge1) (var_ref edge0)))
+ (constant vec4 (1.0 1.0 1.0 1.0)))
+ (constant vec4 (0.0 0.0 0.0 0.0))))))
))