summaryrefslogtreecommitdiffstats
path: root/src/glsl/builtins/ir/faceforward
blob: 35b79571c6b672a108c9da580fcce37e3de4b13f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
((function faceforward
   (signature float
     (parameters
       (declare (in) float N)
       (declare (in) float I)
       (declare (in) float Nref))
     ((if (expression bool < (expression float * (var_ref Nref) (var_ref I)) (constant float (0)))
          ((return (var_ref N)))
	  ((return (expression float neg (var_ref N)))))))

   (signature vec2
     (parameters
       (declare (in) vec2 N)
       (declare (in) vec2 I)
       (declare (in) vec2 Nref))
     ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))
          ((return (var_ref N)))
	  ((return (expression vec2 neg (var_ref N)))))))

   (signature vec3
     (parameters
       (declare (in) vec3 N)
       (declare (in) vec3 I)
       (declare (in) vec3 Nref))
     ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))
          ((return (var_ref N)))
	  ((return (expression vec3 neg (var_ref N)))))))

   (signature vec4
     (parameters
       (declare (in) vec4 N)
       (declare (in) vec4 I)
       (declare (in) vec4 Nref))
     ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))
          ((return (var_ref N)))
	  ((return (expression vec4 neg (var_ref N)))))))
))