blob: 7324342085faeb2f6ec5990a5ef3a5ae16419d18 [file] [log] [blame]
LoopDawg4b677322016-05-26 10:10:16 -06001float VertexShaderFunction(float inF0, float inF1, float inF2)
2{
3 all(inF0);
4 abs(inF0);
5 acos(inF0);
6 any(inF0);
7 asin(inF0);
8 atan(inF0);
9 atan2(inF0, inF1);
10 ceil(inF0);
11 clamp(inF0, inF1, inF2);
12 cos(inF0);
13 cosh(inF0);
14 countbits(7);
15 degrees(inF0);
16 // EvaluateAttributeAtCentroid(inF0);
17 // EvaluateAttributeAtSample(inF0, 0);
18 // TODO: EvaluateAttributeSnapped(inF0, int2(1,2));
19 exp(inF0);
20 exp2(inF0);
21 firstbithigh(7);
22 firstbitlow(7);
23 floor(inF0);
24 // TODO: fma(inD0, inD1, inD2);
25 fmod(inF0, inF1);
26 frac(inF0);
27 frexp(inF0, inF1);
28 fwidth(inF0);
29 isinf(inF0);
30 isnan(inF0);
31 ldexp(inF0, inF1);
32 log(inF0);
33 log2(inF0);
34 max(inF0, inF1);
35 min(inF0, inF1);
36 // TODO: mul(inF0, inF1);
37 pow(inF0, inF1);
38 radians(inF0);
39 reversebits(2);
40 round(inF0);
41 rsqrt(inF0);
42 sign(inF0);
43 sin(inF0);
44 sinh(inF0);
45 smoothstep(inF0, inF1, inF2);
46 sqrt(inF0);
47 step(inF0, inF1);
48 tan(inF0);
49 tanh(inF0);
50 // TODO: sampler intrinsics, when we can declare the types.
51 trunc(inF0);
52
53 return 0.0;
54}
55
56float1 VertexShaderFunction(float1 inF0, float1 inF1, float1 inF2)
57{
58 // TODO: ... add when float1 prototypes are generated
59 return 0.0;
60}
61
62float2 VertexShaderFunction(float2 inF0, float2 inF1, float2 inF2)
63{
64 all(inF0);
65 abs(inF0);
66 acos(inF0);
67 any(inF0);
68 asin(inF0);
69 atan(inF0);
70 atan2(inF0, inF1);
71 ceil(inF0);
72 clamp(inF0, inF1, inF2);
73 cos(inF0);
74 cosh(inF0);
75 countbits(int2(7,3));
76 degrees(inF0);
77 distance(inF0, inF1);
78 dot(inF0, inF1);
79 // EvaluateAttributeAtCentroid(inF0);
80 // EvaluateAttributeAtSample(inF0, 0);
81 // TODO: EvaluateAttributeSnapped(inF0, int2(1,2));
82 exp(inF0);
83 exp2(inF0);
84 faceforward(inF0, inF1, inF2);
85 firstbithigh(7);
86 firstbitlow(7);
87 floor(inF0);
88 // TODO: fma(inD0, inD1, inD2);
89 fmod(inF0, inF1);
90 frac(inF0);
91 frexp(inF0, inF1);
92 fwidth(inF0);
93 isinf(inF0);
94 isnan(inF0);
95 ldexp(inF0, inF1);
96 length(inF0);
97 log(inF0);
98 log2(inF0);
99 max(inF0, inF1);
100 min(inF0, inF1);
101 // TODO: mul(inF0, inF1);
102 normalize(inF0);
103 pow(inF0, inF1);
104 radians(inF0);
105 reflect(inF0, inF1);
106 refract(inF0, inF1, 2.0);
107 reversebits(int2(1,2));
108 round(inF0);
109 rsqrt(inF0);
110 sign(inF0);
111 sin(inF0);
112 sinh(inF0);
113 smoothstep(inF0, inF1, inF2);
114 sqrt(inF0);
115 step(inF0, inF1);
116 tan(inF0);
117 tanh(inF0);
118 // TODO: sampler intrinsics, when we can declare the types.
119 trunc(inF0);
120
121 // TODO: ... add when float1 prototypes are generated
122 return float2(1,2);
123}
124
125float3 VertexShaderFunction(float3 inF0, float3 inF1, float3 inF2)
126{
127 all(inF0);
128 abs(inF0);
129 acos(inF0);
130 any(inF0);
131 asin(inF0);
132 atan(inF0);
133 atan2(inF0, inF1);
134 ceil(inF0);
135 clamp(inF0, inF1, inF2);
136 cos(inF0);
137 cosh(inF0);
138 countbits(int3(7,3,5));
139 cross(inF0, inF1);
140 degrees(inF0);
141 distance(inF0, inF1);
142 dot(inF0, inF1);
143 // EvaluateAttributeAtCentroid(inF0);
144 // EvaluateAttributeAtSample(inF0, 0);
145 // TODO: EvaluateAttributeSnapped(inF0, int2(1,2));
146 exp(inF0);
147 exp2(inF0);
148 faceforward(inF0, inF1, inF2);
149 firstbithigh(7);
150 firstbitlow(7);
151 floor(inF0);
152 // TODO: fma(inD0, inD1, inD2);
153 fmod(inF0, inF1);
154 frac(inF0);
155 frexp(inF0, inF1);
156 fwidth(inF0);
157 isinf(inF0);
158 isnan(inF0);
159 ldexp(inF0, inF1);
160 length(inF0);
161 log(inF0);
162 log2(inF0);
163 max(inF0, inF1);
164 min(inF0, inF1);
165 // TODO: mul(inF0, inF1);
166 normalize(inF0);
167 pow(inF0, inF1);
168 radians(inF0);
169 reflect(inF0, inF1);
170 refract(inF0, inF1, 2.0);
171 reversebits(int3(1,2,3));
172 round(inF0);
173 rsqrt(inF0);
174 sign(inF0);
175 sin(inF0);
176 sinh(inF0);
177 smoothstep(inF0, inF1, inF2);
178 sqrt(inF0);
179 step(inF0, inF1);
180 tan(inF0);
181 tanh(inF0);
182 // TODO: sampler intrinsics, when we can declare the types.
183 trunc(inF0);
184
185 // TODO: ... add when float1 prototypes are generated
186 return float3(1,2,3);
187}
188
189float4 VertexShaderFunction(float4 inF0, float4 inF1, float4 inF2)
190{
191 all(inF0);
192 abs(inF0);
193 acos(inF0);
194 any(inF0);
195 asin(inF0);
196 atan(inF0);
197 atan2(inF0, inF1);
198 ceil(inF0);
199 clamp(inF0, inF1, inF2);
200 cos(inF0);
201 cosh(inF0);
202 countbits(int4(7,3,5,2));
203 degrees(inF0);
204 distance(inF0, inF1);
205 dot(inF0, inF1);
206 // EvaluateAttributeAtCentroid(inF0);
207 // EvaluateAttributeAtSample(inF0, 0);
208 // TODO: EvaluateAttributeSnapped(inF0, int2(1,2));
209 exp(inF0);
210 exp2(inF0);
211 faceforward(inF0, inF1, inF2);
212 firstbithigh(7);
213 firstbitlow(7);
214 floor(inF0);
215 // TODO: fma(inD0, inD1, inD2);
216 fmod(inF0, inF1);
217 frac(inF0);
218 frexp(inF0, inF1);
219 fwidth(inF0);
220 isinf(inF0);
221 isnan(inF0);
222 ldexp(inF0, inF1);
223 length(inF0);
224 log(inF0);
225 log2(inF0);
226 max(inF0, inF1);
227 min(inF0, inF1);
228 // TODO: mul(inF0, inF1);
229 normalize(inF0);
230 pow(inF0, inF1);
231 radians(inF0);
232 reflect(inF0, inF1);
233 refract(inF0, inF1, 2.0);
234 reversebits(int4(1,2,3,4));
235 round(inF0);
236 rsqrt(inF0);
237 sign(inF0);
238 sin(inF0);
239 sinh(inF0);
240 smoothstep(inF0, inF1, inF2);
241 sqrt(inF0);
242 step(inF0, inF1);
243 tan(inF0);
244 tanh(inF0);
245 // TODO: sampler intrinsics, when we can declare the types.
246 trunc(inF0);
247
248 // TODO: ... add when float1 prototypes are generated
249 return float4(1,2,3,4);
250}
251
252// TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
253#define MATFNS() \
254 all(inF0); \
255 abs(inF0); \
256 acos(inF0); \
257 any(inF0); \
258 asin(inF0); \
259 atan(inF0); \
260 atan2(inF0, inF1); \
261 ceil(inF0); \
262 clamp(inF0, inF1, inF2); \
263 cos(inF0); \
264 cosh(inF0); \
265 degrees(inF0); \
266 determinant(inF0); \
267 exp(inF0); \
268 exp2(inF0); \
269 firstbithigh(7); \
270 firstbitlow(7); \
271 floor(inF0); \
272 fmod(inF0, inF1); \
273 frac(inF0); \
274 frexp(inF0, inF1); \
275 fwidth(inF0); \
276 ldexp(inF0, inF1); \
277 log(inF0); \
278 log2(inF0); \
279 max(inF0, inF1); \
280 min(inF0, inF1); \
281 pow(inF0, inF1); \
282 radians(inF0); \
283 round(inF0); \
284 rsqrt(inF0); \
285 sign(inF0); \
286 sin(inF0); \
287 sinh(inF0); \
288 smoothstep(inF0, inF1, inF2); \
289 sqrt(inF0); \
290 step(inF0, inF1); \
291 tan(inF0); \
292 tanh(inF0); \
293 transpose(inF0); \
294 trunc(inF0);
295
296// TODO: turn on non-square matrix tests when protos are available.
297
298float2x2 VertexShaderFunction(float2x2 inF0, float2x2 inF1, float2x2 inF2)
299{
300 // TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
301 MATFNS()
302
303 // TODO: ... add when float1 prototypes are generated
304 return float2x2(2,2,2,2);
305}
306
307float3x3 VertexShaderFunction(float3x3 inF0, float3x3 inF1, float3x3 inF2)
308{
309 // TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
310 MATFNS()
311
312 // TODO: ... add when float1 prototypes are generated
313 return float3x3(3,3,3,3,3,3,3,3,3);
314}
315
316float4x4 VertexShaderFunction(float4x4 inF0, float4x4 inF1, float4x4 inF2)
317{
318 // TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
319 MATFNS()
320
321 // TODO: ... add when float1 prototypes are generated
322 return float4x4(4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4);
323}