Tizen 2.0 Release
[profile/ivi/osmesa.git] / src / glsl / builtins / ir / reflect
1 ((function reflect
2    (signature float
3      (parameters
4        (declare (in) float i)
5        (declare (in) float n))
6      ((return (expression float -
7                (var_ref i)
8                (expression float *
9                 (constant float (2.0))
10                 (expression float *
11                  (expression float *
12                   (var_ref n)
13                   (var_ref i))
14                  (var_ref n)))))))
15
16    (signature vec2
17      (parameters
18        (declare (in) vec2 i)
19        (declare (in) vec2 n))
20      ((return (expression vec2 -
21                (var_ref i)
22                (expression vec2 *
23                 (constant float (2.0))
24                 (expression vec2 *
25                  (expression float dot
26                   (var_ref n)
27                   (var_ref i))
28                  (var_ref n)))))))
29
30    (signature vec3
31      (parameters
32        (declare (in) vec3 i)
33        (declare (in) vec3 n))
34      ((return (expression vec3 -
35                (var_ref i)
36                (expression vec3 *
37                 (constant float (2.0))
38                 (expression vec3 *
39                  (expression float dot
40                   (var_ref n)
41                   (var_ref i))
42                  (var_ref n)))))))
43
44    (signature vec4
45      (parameters
46        (declare (in) vec4 i)
47        (declare (in) vec4 n))
48      ((return (expression vec4 -
49                (var_ref i)
50                (expression vec4 *
51                 (constant float (2.0))
52                 (expression vec4 *
53                  (expression float dot
54                   (var_ref n)
55                   (var_ref i))
56                  (var_ref n)))))))
57
58 ))