glsl2: Rework builtin function generation.
[mesa.git] / src / glsl / builtins / ir / faceforward
1 ((function faceforward
2 (signature float
3 (parameters
4 (declare (in) float N)
5 (declare (in) float I)
6 (declare (in) float Nref))
7 ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))
8 ((return (var_ref N)))
9 ((return (expression float neg (var_ref N)))))))
10
11 (signature vec2
12 (parameters
13 (declare (in) vec2 N)
14 (declare (in) vec2 I)
15 (declare (in) vec2 Nref))
16 ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))
17 ((return (var_ref N)))
18 ((return (expression vec2 neg (var_ref N)))))))
19
20 (signature vec3
21 (parameters
22 (declare (in) vec3 N)
23 (declare (in) vec3 I)
24 (declare (in) vec3 Nref))
25 ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))
26 ((return (var_ref N)))
27 ((return (expression vec3 neg (var_ref N)))))))
28
29 (signature vec4
30 (parameters
31 (declare (in) vec4 N)
32 (declare (in) vec4 I)
33 (declare (in) vec4 Nref))
34 ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))
35 ((return (var_ref N)))
36 ((return (expression vec4 neg (var_ref N)))))))
37 ))