Tizen 2.0 Release
[profile/ivi/osmesa.git] / src / glsl / builtins / ir / mix
1 ((function mix
2    (signature float
3      (parameters
4        (declare (in) float arg0)
5        (declare (in) float arg1)
6        (declare (in) float arg2))
7      ((return (expression float + (expression float * (var_ref arg0) (expression float - (constant float (1.000000)) (var_ref arg2))) (expression float * (var_ref arg1) (var_ref arg2))))))
8
9    (signature vec2
10      (parameters
11        (declare (in) vec2 arg0)
12        (declare (in) vec2 arg1)
13        (declare (in) vec2 arg2))
14      ((return (expression vec2 + (expression vec2 * (var_ref arg0) (expression vec2 - (constant float (1.000000)) (var_ref arg2))) (expression vec2 * (var_ref arg1) (var_ref arg2))))))
15
16    (signature vec3
17      (parameters
18        (declare (in) vec3 arg0)
19        (declare (in) vec3 arg1)
20        (declare (in) vec3 arg2))
21      ((return (expression vec3 + (expression vec3 * (var_ref arg0) (expression vec3 - (constant float (1.000000)) (var_ref arg2))) (expression vec3 * (var_ref arg1) (var_ref arg2))))))
22
23    (signature vec4
24      (parameters
25        (declare (in) vec4 arg0)
26        (declare (in) vec4 arg1)
27        (declare (in) vec4 arg2))
28      ((return (expression vec4 + (expression vec4 * (var_ref arg0) (expression vec4 - (constant float (1.000000)) (var_ref arg2))) (expression vec4 * (var_ref arg1) (var_ref arg2))))))
29
30    (signature vec2
31      (parameters
32        (declare (in) vec2 arg0)
33        (declare (in) vec2 arg1)
34        (declare (in) float arg2))
35      ((return (expression vec2 + (expression vec2 * (var_ref arg0) (expression float - (constant float (1.000000)) (var_ref arg2))) (expression vec2 * (var_ref arg1) (var_ref arg2))))))
36
37    (signature vec3
38      (parameters
39        (declare (in) vec3 arg0)
40        (declare (in) vec3 arg1)
41        (declare (in) float arg2))
42      ((return (expression vec3 + (expression vec3 * (var_ref arg0) (expression float - (constant float (1.000000)) (var_ref arg2))) (expression vec3 * (var_ref arg1) (var_ref arg2))))))
43
44    (signature vec4
45      (parameters
46        (declare (in) vec4 arg0)
47        (declare (in) vec4 arg1)
48        (declare (in) float arg2))
49      ((return (expression vec4 + (expression vec4 * (var_ref arg0) (expression float - (constant float (1.000000)) (var_ref arg2))) (expression vec4 * (var_ref arg1) (var_ref arg2))))))
50
51    (signature float
52      (parameters
53        (declare (in) float v1)
54        (declare (in) float v2)
55        (declare (in) bool  a))
56      ((assign (var_ref a) (var_ref v1) (var_ref v2))
57       (return (var_ref v1))))
58
59    (signature vec2
60      (parameters
61        (declare (in) vec2 v1)
62        (declare (in) vec2 v2)
63        (declare (in) bvec2 a))
64      ((assign (swiz x (var_ref a)) (x) (var_ref v1) (swiz x (var_ref v2)))
65       (assign (swiz y (var_ref a)) (y) (var_ref v1) (swiz y (var_ref v2)))
66       (return (var_ref v1))))
67
68    (signature vec3
69      (parameters
70        (declare (in) vec3 v1)
71        (declare (in) vec3 v2)
72        (declare (in) bvec3 a))
73      ((assign (swiz x (var_ref a)) (x) (var_ref v1) (swiz x (var_ref v2)))
74       (assign (swiz y (var_ref a)) (y) (var_ref v1) (swiz y (var_ref v2)))
75       (assign (swiz z (var_ref a)) (z) (var_ref v1) (swiz z (var_ref v2)))
76       (return (var_ref v1))))
77
78    (signature vec4
79      (parameters
80        (declare (in) vec4 v1)
81        (declare (in) vec4 v2)
82        (declare (in) bvec4 a))
83      ((assign (swiz x (var_ref a)) (x) (var_ref v1) (swiz x (var_ref v2)))
84       (assign (swiz y (var_ref a)) (y) (var_ref v1) (swiz y (var_ref v2)))
85       (assign (swiz z (var_ref a)) (z) (var_ref v1) (swiz z (var_ref v2)))
86       (assign (swiz w (var_ref a)) (w) (var_ref v1) (swiz w (var_ref v2)))
87       (return (var_ref v1))))
88 ))