summaryrefslogtreecommitdiff
path: root/src/glsl/builtins/130/clamp
blob: 3aed22c20df2c166a3f9258990a7394ff1eed0f8 (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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
((function clamp
   (signature int
     (parameters
       (declare (in) int arg0)
       (declare (in) int arg1)
       (declare (in) int arg2))
     ((return (expression int max (expression int min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))

   (signature ivec2
     (parameters
       (declare (in) ivec2 arg0)
       (declare (in) ivec2 arg1)
       (declare (in) ivec2 arg2))
     ((return (expression ivec2 max (expression ivec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))

   (signature ivec3
     (parameters
       (declare (in) ivec3 arg0)
       (declare (in) ivec3 arg1)
       (declare (in) ivec3 arg2))
     ((return (expression ivec3 max (expression ivec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))

   (signature ivec4
     (parameters
       (declare (in) ivec4 arg0)
       (declare (in) ivec4 arg1)
       (declare (in) ivec4 arg2))
     ((return (expression ivec4 max (expression ivec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))

   (signature ivec2
     (parameters
       (declare (in) ivec2 arg0)
       (declare (in) int arg1)
       (declare (in) int arg2))
     ((declare () ivec2 result)
      (assign (constant bool (1)) (swiz x (var_ref result)) (expression ivec4 max (expression ivec4 min (swiz x (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
      (assign (constant bool (1)) (swiz y (var_ref result)) (expression ivec4 max (expression ivec4 min (swiz y (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
      (return (var_ref result))))

   (signature ivec3
     (parameters
       (declare (in) ivec3 arg0)
       (declare (in) int arg1)
       (declare (in) int arg2))
     ((declare () ivec3 result)
      (assign (constant bool (1)) (swiz x (var_ref result)) (expression ivec4 max (expression ivec4 min (swiz x (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
      (assign (constant bool (1)) (swiz y (var_ref result)) (expression ivec4 max (expression ivec4 min (swiz y (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
      (assign (constant bool (1)) (swiz z (var_ref result)) (expression ivec4 max (expression ivec4 min (swiz z (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
      (return (var_ref result))))

   (signature ivec4
     (parameters
       (declare (in) ivec4 arg0)
       (declare (in) int arg1)
       (declare (in) int arg2))
     ((declare () ivec4 result)
      (assign (constant bool (1)) (swiz x (var_ref result)) (expression ivec4 max (expression ivec4 min (swiz x (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
      (assign (constant bool (1)) (swiz y (var_ref result)) (expression ivec4 max (expression ivec4 min (swiz y (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
      (assign (constant bool (1)) (swiz z (var_ref result)) (expression ivec4 max (expression ivec4 min (swiz z (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
      (assign (constant bool (1)) (swiz w (var_ref result)) (expression ivec4 max (expression ivec4 min (swiz w (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
      (return (var_ref result))))

   (signature uint
     (parameters
       (declare (in) uint arg0)
       (declare (in) uint arg1)
       (declare (in) uint arg2))
     ((return (expression uint max (expression uint min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))

   (signature uvec2
     (parameters
       (declare (in) uvec2 arg0)
       (declare (in) uvec2 arg1)
       (declare (in) uvec2 arg2))
     ((return (expression uvec2 max (expression uvec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))

   (signature uvec3
     (parameters
       (declare (in) uvec3 arg0)
       (declare (in) uvec3 arg1)
       (declare (in) uvec3 arg2))
     ((return (expression uvec3 max (expression uvec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))

   (signature uvec4
     (parameters
       (declare (in) uvec4 arg0)
       (declare (in) uvec4 arg1)
       (declare (in) uvec4 arg2))
     ((return (expression uvec4 max (expression uvec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))

   (signature uvec2
     (parameters
       (declare (in) uvec2 arg0)
       (declare (in) uint arg1)
       (declare (in) uint arg2))
     ((declare () uvec2 result)
      (assign (constant bool (1)) (swiz x (var_ref result)) (expression uvec4 max (expression uvec4 min (swiz x (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
      (assign (constant bool (1)) (swiz y (var_ref result)) (expression uvec4 max (expression uvec4 min (swiz y (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
      (return (var_ref result))))

   (signature uvec3
     (parameters
       (declare (in) uvec3 arg0)
       (declare (in) uint arg1)
       (declare (in) uint arg2))
     ((declare () uvec3 result)
      (assign (constant bool (1)) (swiz x (var_ref result)) (expression uvec4 max (expression uvec4 min (swiz x (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
      (assign (constant bool (1)) (swiz y (var_ref result)) (expression uvec4 max (expression uvec4 min (swiz y (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
      (assign (constant bool (1)) (swiz z (var_ref result)) (expression uvec4 max (expression uvec4 min (swiz z (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
      (return (var_ref result))))

   (signature uvec4
     (parameters
       (declare (in) uvec4 arg0)
       (declare (in) uint arg1)
       (declare (in) uint arg2))
     ((declare () uvec4 result)
      (assign (constant bool (1)) (swiz x (var_ref result)) (expression uvec4 max (expression uvec4 min (swiz x (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
      (assign (constant bool (1)) (swiz y (var_ref result)) (expression uvec4 max (expression uvec4 min (swiz y (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
      (assign (constant bool (1)) (swiz z (var_ref result)) (expression uvec4 max (expression uvec4 min (swiz z (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
      (assign (constant bool (1)) (swiz w (var_ref result)) (expression uvec4 max (expression uvec4 min (swiz w (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
      (return (var_ref result))))
))