Tizen 2.0 Release
[profile/ivi/osmesa.git] / src / glsl / builtins / ir / outerProduct
1 ((function outerProduct
2    (signature mat2
3      (parameters
4        (declare (in) vec2 u)
5        (declare (in) vec2 v))
6      ((declare () mat2 m)
7       (assign (xy) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))
8       (assign (xy) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))
9       (return (var_ref m))))
10
11    (signature mat2x3
12      (parameters
13        (declare (in) vec3 u)
14        (declare (in) vec2 v))
15      ((declare () mat2x3 m)
16       (assign (xyz) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))
17       (assign (xyz) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))
18       (return (var_ref m))))
19
20    (signature mat2x4
21      (parameters
22        (declare (in) vec4 u)
23        (declare (in) vec2 v))
24      ((declare () mat2x4 m)
25       (assign (xyzw) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))
26       (assign (xyzw) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))
27       (return (var_ref m))))
28
29    (signature mat3x2
30      (parameters
31        (declare (in) vec2 u)
32        (declare (in) vec3 v))
33      ((declare () mat3x2 m)
34       (assign (xy) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))
35       (assign (xy) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))
36       (assign (xy) (array_ref (var_ref m) (constant int (2))) (expression vec2 * (var_ref u) (swiz z (var_ref v))))
37       (return (var_ref m))
38  ))
39
40    (signature mat3
41      (parameters
42        (declare (in) vec3 u)
43        (declare (in) vec3 v))
44      ((declare () mat3 m)
45       (assign (xyz) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))
46       (assign (xyz) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))
47       (assign (xyz) (array_ref (var_ref m) (constant int (2))) (expression vec3 * (var_ref u) (swiz z (var_ref v))))
48       (return (var_ref m))))
49
50    (signature mat3x4
51      (parameters
52        (declare (in) vec4 u)
53        (declare (in) vec3 v))
54      ((declare () mat3x4 m)
55       (assign (xyzw) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))
56       (assign (xyzw) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))
57       (assign (xyzw) (array_ref (var_ref m) (constant int (2))) (expression vec4 * (var_ref u) (swiz z (var_ref v))))
58       (return (var_ref m))))
59
60    (signature mat4x2
61      (parameters
62        (declare (in) vec2 u)
63        (declare (in) vec4 v))
64      ((declare () mat4x2 m)
65       (assign (xy) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))
66       (assign (xy) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))
67       (assign (xy) (array_ref (var_ref m) (constant int (2))) (expression vec2 * (var_ref u) (swiz z (var_ref v))))
68       (assign (xy) (array_ref (var_ref m) (constant int (3))) (expression vec2 * (var_ref u) (swiz w (var_ref v))))
69       (return (var_ref m))))
70
71    (signature mat4x3
72      (parameters
73        (declare (in) vec3 u)
74        (declare (in) vec4 v))
75      ((declare () mat4x3 m)
76       (assign (xyz) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))
77       (assign (xyz) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))
78       (assign (xyz) (array_ref (var_ref m) (constant int (2))) (expression vec3 * (var_ref u) (swiz z (var_ref v))))
79       (assign (xyz) (array_ref (var_ref m) (constant int (3))) (expression vec3 * (var_ref u) (swiz w (var_ref v))))
80       (return (var_ref m))))
81
82    (signature mat4
83      (parameters
84        (declare (in) vec4 u)
85        (declare (in) vec4 v))
86      ((declare () mat4 m)
87       (assign (xyzw) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))
88       (assign (xyzw) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))
89       (assign (xyzw) (array_ref (var_ref m) (constant int (2))) (expression vec4 * (var_ref u) (swiz z (var_ref v))))
90       (assign (xyzw) (array_ref (var_ref m) (constant int (3))) (expression vec4 * (var_ref u) (swiz w (var_ref v))))
91       (return (var_ref m))))
92 ))