Merge remote branch 'origin/master' into pipe-video
[mesa.git] / src / glsl / builtin_function.cpp
1 /* DO NOT MODIFY - automatically generated by generate_builtins.py */
2 /*
3 * Copyright © 2010 Intel Corporation
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining a
6 * copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
11 *
12 * The above copyright notice and this permission notice (including the next
13 * paragraph) shall be included in all copies or substantial portions of the
14 * Software.
15 *
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22 * DEALINGS IN THE SOFTWARE.
23 */
24
25 #include <stdio.h>
26 #include "main/core.h" /* for struct gl_shader */
27 #include "glsl_parser_extras.h"
28 #include "ir_reader.h"
29 #include "program.h"
30 #include "ast.h"
31
32 extern "C" struct gl_shader *
33 _mesa_new_shader(struct gl_context *ctx, GLuint name, GLenum type);
34
35 gl_shader *
36 read_builtins(GLenum target, const char *protos, const char **functions, unsigned count)
37 {
38 struct gl_context fakeCtx;
39 fakeCtx.API = API_OPENGL;
40 gl_shader *sh = _mesa_new_shader(NULL, 0, target);
41 struct _mesa_glsl_parse_state *st =
42 new(sh) _mesa_glsl_parse_state(&fakeCtx, target, sh);
43
44 st->language_version = 130;
45 st->symbols->language_version = 130;
46 st->ARB_texture_rectangle_enable = true;
47 st->EXT_texture_array_enable = true;
48 _mesa_glsl_initialize_types(st);
49
50 sh->ir = new(sh) exec_list;
51 sh->symbols = st->symbols;
52
53 /* Read the IR containing the prototypes */
54 _mesa_glsl_read_ir(st, sh->ir, protos, true);
55
56 /* Read ALL the function bodies, telling the IR reader not to scan for
57 * prototypes (we've already created them). The IR reader will skip any
58 * signature that does not already exist as a prototype.
59 */
60 for (unsigned i = 0; i < count; i++) {
61 _mesa_glsl_read_ir(st, sh->ir, functions[i], false);
62
63 if (st->error) {
64 printf("error reading builtin: %.35s ...\n", functions[i]);
65 printf("Info log:\n%s\n", st->info_log);
66 talloc_free(sh);
67 return NULL;
68 }
69 }
70
71 reparent_ir(sh->ir, sh);
72 delete st;
73
74 return sh;
75 }
76
77 static const char builtin_abs[] =
78 "((function abs\n"
79 " (signature float\n"
80 " (parameters\n"
81 " (declare (in) float arg0))\n"
82 " ((return (expression float abs (var_ref arg0)))))\n"
83 "\n"
84 " (signature vec2\n"
85 " (parameters\n"
86 " (declare (in) vec2 arg0))\n"
87 " ((return (expression vec2 abs (var_ref arg0)))))\n"
88 "\n"
89 " (signature vec3\n"
90 " (parameters\n"
91 " (declare (in) vec3 arg0))\n"
92 " ((return (expression vec3 abs (var_ref arg0)))))\n"
93 "\n"
94 " (signature vec4\n"
95 " (parameters\n"
96 " (declare (in) vec4 arg0))\n"
97 " ((return (expression vec4 abs (var_ref arg0)))))\n"
98 "))\n"
99 ""
100 ;
101 static const char builtin_acos[] =
102 "((function acos\n"
103 " (signature float\n"
104 " (parameters\n"
105 " (declare (in) float x))\n"
106 " ((return (expression float - (constant float (1.5707963))\n"
107 " (call asin ((var_ref x)))))))\n"
108 " (signature vec2\n"
109 " (parameters\n"
110 " (declare (in) vec2 x))\n"
111 " ((return (expression vec2 - (constant float (1.5707963))\n"
112 " (call asin ((var_ref x)))))))\n"
113 " (signature vec3\n"
114 " (parameters\n"
115 " (declare (in) vec3 x))\n"
116 " ((return (expression vec3 - (constant float (1.5707963))\n"
117 " (call asin ((var_ref x)))))))\n"
118 " (signature vec4\n"
119 " (parameters\n"
120 " (declare (in) vec4 x))\n"
121 " ((return (expression vec4 - (constant float (1.5707963))\n"
122 " (call asin ((var_ref x)))))))\n"
123 "))\n"
124 ""
125 ;
126 static const char builtin_all[] =
127 "((function all\n"
128 " (signature bool\n"
129 " (parameters\n"
130 " (declare (in) bvec2 arg0))\n"
131 " ((return (expression bool && (swiz x (var_ref arg0))(swiz y (var_ref arg0))))))\n"
132 "\n"
133 " (signature bool\n"
134 " (parameters\n"
135 " (declare (in) bvec3 arg0))\n"
136 " ((return (expression bool && (expression bool && (swiz x (var_ref arg0))(swiz y (var_ref arg0))) (swiz z (var_ref arg0))))))\n"
137 "\n"
138 " (signature bool\n"
139 " (parameters\n"
140 " (declare (in) bvec4 arg0))\n"
141 " ((return (expression bool && (expression bool && (expression bool && (swiz x (var_ref arg0))(swiz y (var_ref arg0))) (swiz z (var_ref arg0))) (swiz w (var_ref arg0))))))\n"
142 "))\n"
143 ""
144 ;
145 static const char builtin_any[] =
146 "((function any\n"
147 " (signature bool\n"
148 " (parameters\n"
149 " (declare (in) bvec2 arg0))\n"
150 " ((return (expression bool any (var_ref arg0)))))\n"
151 "\n"
152 " (signature bool\n"
153 " (parameters\n"
154 " (declare (in) bvec3 arg0))\n"
155 " ((return (expression bool any (var_ref arg0)))))\n"
156 "\n"
157 " (signature bool\n"
158 " (parameters\n"
159 " (declare (in) bvec4 arg0))\n"
160 " ((return (expression bool any (var_ref arg0)))))\n"
161 "))\n"
162 ""
163 ;
164 static const char builtin_asin[] =
165 "((function asin\n"
166 " (signature float\n"
167 " (parameters\n"
168 " (declare (in) float x))\n"
169 " ((return (expression float *\n"
170 " (expression float sign (var_ref x))\n"
171 " (expression float -\n"
172 " (expression float *\n"
173 " (constant float (3.1415926))\n"
174 " (constant float (0.5)))\n"
175 " (expression float *\n"
176 " (expression float sqrt\n"
177 " (expression float -\n"
178 " (constant float (1.0))\n"
179 " (expression float abs (var_ref x))))\n"
180 " (expression float +\n"
181 " (constant float (1.5707288))\n"
182 " (expression float *\n"
183 " (expression float abs (var_ref x))\n"
184 " (expression float +\n"
185 " (constant float (-0.2121144))\n"
186 " (expression float *\n"
187 " (constant float (0.0742610))\n"
188 " (expression float abs (var_ref x))))))))))))\n"
189 "\n"
190 " (signature vec2\n"
191 " (parameters\n"
192 " (declare (in) vec2 x))\n"
193 " ((return (expression vec2 *\n"
194 " (expression vec2 sign (var_ref x))\n"
195 " (expression vec2 -\n"
196 " (expression float *\n"
197 " (constant float (3.1415926))\n"
198 " (constant float (0.5)))\n"
199 " (expression vec2 *\n"
200 " (expression vec2 sqrt\n"
201 " (expression vec2 -\n"
202 " (constant float (1.0))\n"
203 " (expression vec2 abs (var_ref x))))\n"
204 " (expression vec2 +\n"
205 " (constant float (1.5707288))\n"
206 " (expression vec2 *\n"
207 " (expression vec2 abs (var_ref x))\n"
208 " (expression vec2 +\n"
209 " (constant float (-0.2121144))\n"
210 " (expression vec2 *\n"
211 " (constant float (0.0742610))\n"
212 " (expression vec2 abs (var_ref x))))))))))))\n"
213 "\n"
214 " (signature vec3\n"
215 " (parameters\n"
216 " (declare (in) vec3 x))\n"
217 " ((return (expression vec3 *\n"
218 " (expression vec3 sign (var_ref x))\n"
219 " (expression vec3 -\n"
220 " (expression float *\n"
221 " (constant float (3.1415926))\n"
222 " (constant float (0.5)))\n"
223 " (expression vec3 *\n"
224 " (expression vec3 sqrt\n"
225 " (expression vec3 -\n"
226 " (constant float (1.0))\n"
227 " (expression vec3 abs (var_ref x))))\n"
228 " (expression vec3 +\n"
229 " (constant float (1.5707288))\n"
230 " (expression vec3 *\n"
231 " (expression vec3 abs (var_ref x))\n"
232 " (expression vec3 +\n"
233 " (constant float (-0.2121144))\n"
234 " (expression vec3 *\n"
235 " (constant float (0.0742610))\n"
236 " (expression vec3 abs (var_ref x))))))))))))\n"
237 "\n"
238 " (signature vec4\n"
239 " (parameters\n"
240 " (declare (in) vec4 x))\n"
241 " ((return (expression vec4 *\n"
242 " (expression vec4 sign (var_ref x))\n"
243 " (expression vec4 -\n"
244 " (expression float *\n"
245 " (constant float (3.1415926))\n"
246 " (constant float (0.5)))\n"
247 " (expression vec4 *\n"
248 " (expression vec4 sqrt\n"
249 " (expression vec4 -\n"
250 " (constant float (1.0))\n"
251 " (expression vec4 abs (var_ref x))))\n"
252 " (expression vec4 +\n"
253 " (constant float (1.5707288))\n"
254 " (expression vec4 *\n"
255 " (expression vec4 abs (var_ref x))\n"
256 " (expression vec4 +\n"
257 " (constant float (-0.2121144))\n"
258 " (expression vec4 *\n"
259 " (constant float (0.0742610))\n"
260 " (expression vec4 abs (var_ref x))))))))))))\n"
261 "))\n"
262 ""
263 ;
264 static const char builtin_atan[] =
265 "((function atan\n"
266 " (signature float\n"
267 " (parameters\n"
268 " (declare (in) float y_over_x))\n"
269 " ((return (call asin ((expression float *\n"
270 " (var_ref y_over_x)\n"
271 " (expression float rsq\n"
272 " (expression float +\n"
273 " (expression float *\n"
274 " (var_ref y_over_x)\n"
275 " (var_ref y_over_x))\n"
276 " (constant float (1.0))))))))))\n"
277 "\n"
278 " (signature vec2\n"
279 " (parameters\n"
280 " (declare (in) vec2 y_over_x))\n"
281 " ((return (call asin ((expression vec2 *\n"
282 " (var_ref y_over_x)\n"
283 " (expression vec2 rsq\n"
284 " (expression vec2 +\n"
285 " (expression vec2 *\n"
286 " (var_ref y_over_x)\n"
287 " (var_ref y_over_x))\n"
288 " (constant float (1.0))))))))))\n"
289 "\n"
290 " (signature vec3\n"
291 " (parameters\n"
292 " (declare (in) vec3 y_over_x))\n"
293 " ((return (call asin ((expression vec3 *\n"
294 " (var_ref y_over_x)\n"
295 " (expression vec3 rsq\n"
296 " (expression vec3 +\n"
297 " (expression vec3 *\n"
298 " (var_ref y_over_x)\n"
299 " (var_ref y_over_x))\n"
300 " (constant float (1.0))))))))))\n"
301 "\n"
302 " (signature vec4\n"
303 " (parameters\n"
304 " (declare (in) vec4 y_over_x))\n"
305 " ((return (call asin ((expression vec4 *\n"
306 " (var_ref y_over_x)\n"
307 " (expression vec4 rsq\n"
308 " (expression vec4 +\n"
309 " (expression vec4 *\n"
310 " (var_ref y_over_x)\n"
311 " (var_ref y_over_x))\n"
312 " (constant float (1.0))))))))))\n"
313 "\n"
314 " (signature float\n"
315 " (parameters\n"
316 " (declare (in ) float y)\n"
317 " (declare (in ) float x)\n"
318 " )\n"
319 " (\n"
320 " (declare () float r)\n"
321 " (if (expression bool > (expression float abs (var_ref x)) (constant float (0.000100))) (\n"
322 " (assign (constant bool (1)) (x) (var_ref r) (call atan ((expression float / (var_ref y) (var_ref x)))))\n"
323 " (if (expression bool < (var_ref x) (constant float (0.000000)) ) (\n"
324 " (if (expression bool >= (var_ref y) (constant float (0.000000)) )\n"
325 " ((assign (constant bool (1)) (x) (var_ref r) (expression float + (var_ref r) (constant float (3.141593)))))\n"
326 " ((assign (constant bool (1)) (x) (var_ref r) (expression float - (var_ref r) (constant float (3.141593))))))\n"
327 " )\n"
328 " (\n"
329 " ))\n"
330 " )\n"
331 " (\n"
332 " (declare () float sgn)\n"
333 " (assign (constant bool (1)) (x) (var_ref sgn) (expression float sign (var_ref y)))\n"
334 " (assign (constant bool (1)) (x) (var_ref r) (expression float * (var_ref sgn) (constant float (1.5707965))))\n"
335 " ))\n"
336 "\n"
337 " (return (var_ref r) )\n"
338 " ))\n"
339 "\n"
340 "\n"
341 "\n"
342 " (signature vec2\n"
343 " (parameters\n"
344 " (declare (in) vec2 y)\n"
345 " (declare (in) vec2 x))\n"
346 " ((declare () vec2 r)\n"
347 " (assign (constant bool (1)) (x) (var_ref r)\n"
348 " (call atan ((swiz x (var_ref y))\n"
349 " (swiz x (var_ref x)))))\n"
350 " (assign (constant bool (1)) (y) (var_ref r)\n"
351 " (call atan ((swiz y (var_ref y))\n"
352 " (swiz y (var_ref x)))))\n"
353 " (return (var_ref r))))\n"
354 "\n"
355 " (signature vec3\n"
356 " (parameters\n"
357 " (declare (in) vec3 y)\n"
358 " (declare (in) vec3 x))\n"
359 " ((declare () vec3 r)\n"
360 " (assign (constant bool (1)) (x) (var_ref r)\n"
361 " (call atan ((swiz x (var_ref y))\n"
362 " (swiz x (var_ref x)))))\n"
363 " (assign (constant bool (1)) (y) (var_ref r)\n"
364 " (call atan ((swiz y (var_ref y))\n"
365 " (swiz y (var_ref x)))))\n"
366 " (assign (constant bool (1)) (z) (var_ref r)\n"
367 " (call atan ((swiz z (var_ref y))\n"
368 " (swiz z (var_ref x)))))\n"
369 " (return (var_ref r))))\n"
370 "\n"
371 " (signature vec4\n"
372 " (parameters\n"
373 " (declare (in) vec4 y)\n"
374 " (declare (in) vec4 x))\n"
375 " ((declare () vec4 r)\n"
376 " (assign (constant bool (1)) (x) (var_ref r)\n"
377 " (call atan ((swiz x (var_ref y))\n"
378 " (swiz x (var_ref x)))))\n"
379 " (assign (constant bool (1)) (y) (var_ref r)\n"
380 " (call atan ((swiz y (var_ref y))\n"
381 " (swiz y (var_ref x)))))\n"
382 " (assign (constant bool (1)) (z) (var_ref r)\n"
383 " (call atan ((swiz z (var_ref y))\n"
384 " (swiz z (var_ref x)))))\n"
385 " (assign (constant bool (1)) (w) (var_ref r)\n"
386 " (call atan ((swiz w (var_ref y))\n"
387 " (swiz w (var_ref x)))))\n"
388 " (return (var_ref r)))))\n"
389 "\n"
390 "))\n"
391 ""
392 ;
393 static const char builtin_ceil[] =
394 "((function ceil\n"
395 " (signature float\n"
396 " (parameters\n"
397 " (declare (in) float arg0))\n"
398 " ((return (expression float ceil (var_ref arg0)))))\n"
399 "\n"
400 " (signature vec2\n"
401 " (parameters\n"
402 " (declare (in) vec2 arg0))\n"
403 " ((return (expression vec2 ceil (var_ref arg0)))))\n"
404 "\n"
405 " (signature vec3\n"
406 " (parameters\n"
407 " (declare (in) vec3 arg0))\n"
408 " ((return (expression vec3 ceil (var_ref arg0)))))\n"
409 "\n"
410 " (signature vec4\n"
411 " (parameters\n"
412 " (declare (in) vec4 arg0))\n"
413 " ((return (expression vec4 ceil (var_ref arg0)))))\n"
414 "))\n"
415 ""
416 ;
417 static const char builtin_clamp[] =
418 "((function clamp\n"
419 " (signature float\n"
420 " (parameters\n"
421 " (declare (in) float arg0)\n"
422 " (declare (in) float arg1)\n"
423 " (declare (in) float arg2))\n"
424 " ((return (expression float max (expression float min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
425 "\n"
426 " (signature vec2\n"
427 " (parameters\n"
428 " (declare (in) vec2 arg0)\n"
429 " (declare (in) vec2 arg1)\n"
430 " (declare (in) vec2 arg2))\n"
431 " ((return (expression vec2 max (expression vec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
432 "\n"
433 " (signature vec3\n"
434 " (parameters\n"
435 " (declare (in) vec3 arg0)\n"
436 " (declare (in) vec3 arg1)\n"
437 " (declare (in) vec3 arg2))\n"
438 " ((return (expression vec3 max (expression vec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
439 "\n"
440 " (signature vec4\n"
441 " (parameters\n"
442 " (declare (in) vec4 arg0)\n"
443 " (declare (in) vec4 arg1)\n"
444 " (declare (in) vec4 arg2))\n"
445 " ((return (expression vec4 max (expression vec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
446 "\n"
447 " (signature vec2\n"
448 " (parameters\n"
449 " (declare (in) vec2 arg0)\n"
450 " (declare (in) float arg1)\n"
451 " (declare (in) float arg2))\n"
452 " ((return (expression vec2 max (expression vec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
453 "\n"
454 " (signature vec3\n"
455 " (parameters\n"
456 " (declare (in) vec3 arg0)\n"
457 " (declare (in) float arg1)\n"
458 " (declare (in) float arg2))\n"
459 " ((return (expression vec3 max (expression vec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
460 "\n"
461 " (signature vec4\n"
462 " (parameters\n"
463 " (declare (in) vec4 arg0)\n"
464 " (declare (in) float arg1)\n"
465 " (declare (in) float arg2))\n"
466 " ((return (expression vec4 max (expression vec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
467 "\n"
468 " (signature int\n"
469 " (parameters\n"
470 " (declare (in) int arg0)\n"
471 " (declare (in) int arg1)\n"
472 " (declare (in) int arg2))\n"
473 " ((return (expression int max (expression int min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
474 "\n"
475 " (signature ivec2\n"
476 " (parameters\n"
477 " (declare (in) ivec2 arg0)\n"
478 " (declare (in) ivec2 arg1)\n"
479 " (declare (in) ivec2 arg2))\n"
480 " ((return (expression ivec2 max (expression ivec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
481 "\n"
482 " (signature ivec3\n"
483 " (parameters\n"
484 " (declare (in) ivec3 arg0)\n"
485 " (declare (in) ivec3 arg1)\n"
486 " (declare (in) ivec3 arg2))\n"
487 " ((return (expression ivec3 max (expression ivec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
488 "\n"
489 " (signature ivec4\n"
490 " (parameters\n"
491 " (declare (in) ivec4 arg0)\n"
492 " (declare (in) ivec4 arg1)\n"
493 " (declare (in) ivec4 arg2))\n"
494 " ((return (expression ivec4 max (expression ivec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
495 "\n"
496 " (signature ivec2\n"
497 " (parameters\n"
498 " (declare (in) ivec2 arg0)\n"
499 " (declare (in) int arg1)\n"
500 " (declare (in) int arg2))\n"
501 " ((return (expression ivec2 max (expression ivec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
502 "\n"
503 " (signature ivec3\n"
504 " (parameters\n"
505 " (declare (in) ivec3 arg0)\n"
506 " (declare (in) int arg1)\n"
507 " (declare (in) int arg2))\n"
508 " ((return (expression ivec3 max (expression ivec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
509 "\n"
510 " (signature ivec4\n"
511 " (parameters\n"
512 " (declare (in) ivec4 arg0)\n"
513 " (declare (in) int arg1)\n"
514 " (declare (in) int arg2))\n"
515 " ((return (expression ivec4 max (expression ivec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
516 "\n"
517 " (signature uint\n"
518 " (parameters\n"
519 " (declare (in) uint arg0)\n"
520 " (declare (in) uint arg1)\n"
521 " (declare (in) uint arg2))\n"
522 " ((return (expression uint max (expression uint min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
523 "\n"
524 " (signature uvec2\n"
525 " (parameters\n"
526 " (declare (in) uvec2 arg0)\n"
527 " (declare (in) uvec2 arg1)\n"
528 " (declare (in) uvec2 arg2))\n"
529 " ((return (expression uvec2 max (expression uvec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
530 "\n"
531 " (signature uvec3\n"
532 " (parameters\n"
533 " (declare (in) uvec3 arg0)\n"
534 " (declare (in) uvec3 arg1)\n"
535 " (declare (in) uvec3 arg2))\n"
536 " ((return (expression uvec3 max (expression uvec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
537 "\n"
538 " (signature uvec4\n"
539 " (parameters\n"
540 " (declare (in) uvec4 arg0)\n"
541 " (declare (in) uvec4 arg1)\n"
542 " (declare (in) uvec4 arg2))\n"
543 " ((return (expression uvec4 max (expression uvec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
544 "\n"
545 " (signature uvec2\n"
546 " (parameters\n"
547 " (declare (in) uvec2 arg0)\n"
548 " (declare (in) uint arg1)\n"
549 " (declare (in) uint arg2))\n"
550 " ((return (expression uvec2 max (expression uvec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
551 "\n"
552 " (signature uvec3\n"
553 " (parameters\n"
554 " (declare (in) uvec3 arg0)\n"
555 " (declare (in) uint arg1)\n"
556 " (declare (in) uint arg2))\n"
557 " ((return (expression uvec3 max (expression uvec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
558 "\n"
559 " (signature uvec4\n"
560 " (parameters\n"
561 " (declare (in) uvec4 arg0)\n"
562 " (declare (in) uint arg1)\n"
563 " (declare (in) uint arg2))\n"
564 " ((return (expression uvec4 max (expression uvec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
565 "))\n"
566 ""
567 ;
568 static const char builtin_cos[] =
569 "((function cos\n"
570 " (signature float\n"
571 " (parameters\n"
572 " (declare (in) float angle))\n"
573 " ((return (expression float cos (var_ref angle)))))\n"
574 "\n"
575 " (signature vec2\n"
576 " (parameters\n"
577 " (declare (in) vec2 angle))\n"
578 " ((return (expression vec2 cos (var_ref angle)))))\n"
579 "\n"
580 " (signature vec3\n"
581 " (parameters\n"
582 " (declare (in) vec3 angle))\n"
583 " ((return (expression vec3 cos (var_ref angle)))))\n"
584 "\n"
585 " (signature vec4\n"
586 " (parameters\n"
587 " (declare (in) vec4 angle))\n"
588 " ((return (expression vec4 cos (var_ref angle)))))\n"
589 "))\n"
590 ""
591 ;
592 static const char builtin_cosh[] =
593 "((function cosh\n"
594 " (signature float\n"
595 " (parameters\n"
596 " (declare (in) float x))\n"
597 " ((return (expression float * (constant float (0.5))\n"
598 " (expression float +\n"
599 " (expression float exp (var_ref x))\n"
600 " (expression float exp (expression float neg (var_ref x))))))))\n"
601 " (signature vec2\n"
602 " (parameters\n"
603 " (declare (in) vec2 x))\n"
604 " ((return (expression vec2 * (constant vec2 (0.5))\n"
605 " (expression vec2 +\n"
606 " (expression vec2 exp (var_ref x))\n"
607 " (expression vec2 exp (expression vec2 neg (var_ref x))))))))\n"
608 " (signature vec3\n"
609 " (parameters\n"
610 " (declare (in) vec3 x))\n"
611 " ((return (expression vec3 * (constant vec3 (0.5))\n"
612 " (expression vec3 +\n"
613 " (expression vec3 exp (var_ref x))\n"
614 " (expression vec3 exp (expression vec3 neg (var_ref x))))))))\n"
615 " (signature vec4\n"
616 " (parameters\n"
617 " (declare (in) vec4 x))\n"
618 " ((return (expression vec4 * (constant vec4 (0.5))\n"
619 " (expression vec4 +\n"
620 " (expression vec4 exp (var_ref x))\n"
621 " (expression vec4 exp (expression vec4 neg (var_ref x))))))))\n"
622 "))\n"
623 ""
624 ;
625 static const char builtin_cross[] =
626 "((function cross\n"
627 " (signature vec3\n"
628 " (parameters\n"
629 " (declare (in) vec3 arg0)\n"
630 " (declare (in) vec3 arg1))\n"
631 " ((return (expression vec3 cross (var_ref arg0) (var_ref arg1)))))\n"
632 "))\n"
633 ""
634 ;
635 static const char builtin_dFdx[] =
636 "((function dFdx\n"
637 " (signature float\n"
638 " (parameters\n"
639 " (declare (in) float p))\n"
640 " ((return (expression float dFdx (var_ref p)))))\n"
641 "\n"
642 " (signature vec2\n"
643 " (parameters\n"
644 " (declare (in) vec2 p))\n"
645 " ((return (expression vec2 dFdx (var_ref p)))))\n"
646 "\n"
647 " (signature vec3\n"
648 " (parameters\n"
649 " (declare (in) vec3 p))\n"
650 " ((return (expression vec3 dFdx (var_ref p)))))\n"
651 "\n"
652 " (signature vec4\n"
653 " (parameters\n"
654 " (declare (in) vec4 p))\n"
655 " ((return (expression vec4 dFdx (var_ref p)))))\n"
656 "))\n"
657 ""
658 ;
659 static const char builtin_dFdy[] =
660 "((function dFdy\n"
661 " (signature float\n"
662 " (parameters\n"
663 " (declare (in) float p))\n"
664 " ((return (expression float dFdy (var_ref p)))))\n"
665 "\n"
666 " (signature vec2\n"
667 " (parameters\n"
668 " (declare (in) vec2 p))\n"
669 " ((return (expression vec2 dFdy (var_ref p)))))\n"
670 "\n"
671 " (signature vec3\n"
672 " (parameters\n"
673 " (declare (in) vec3 p))\n"
674 " ((return (expression vec3 dFdy (var_ref p)))))\n"
675 "\n"
676 " (signature vec4\n"
677 " (parameters\n"
678 " (declare (in) vec4 p))\n"
679 " ((return (expression vec4 dFdy (var_ref p)))))\n"
680 "))\n"
681 ""
682 ;
683 static const char builtin_degrees[] =
684 "((function degrees\n"
685 " (signature float\n"
686 " (parameters\n"
687 " (declare (in) float arg0))\n"
688 " ((return (expression float * (var_ref arg0) (constant float (57.295780))))))\n"
689 "\n"
690 " (signature vec2\n"
691 " (parameters\n"
692 " (declare (in) vec2 arg0))\n"
693 " ((return (expression vec2 * (var_ref arg0) (constant float (57.295780))))))\n"
694 "\n"
695 " (signature vec3\n"
696 " (parameters\n"
697 " (declare (in) vec3 arg0))\n"
698 " ((return (expression vec3 * (var_ref arg0) (constant float (57.295780))))))\n"
699 "\n"
700 " (signature vec4\n"
701 " (parameters\n"
702 " (declare (in) vec4 arg0))\n"
703 " ((return (expression vec4 * (var_ref arg0) (constant float (57.295780))))))\n"
704 "))\n"
705 ""
706 ;
707 static const char builtin_distance[] =
708 "((function distance\n"
709 " (signature float\n"
710 " (parameters\n"
711 " (declare (in) float p0)\n"
712 " (declare (in) float p1))\n"
713 " ((return (expression float abs (expression float - (var_ref p0) (var_ref p1))))))\n"
714 "\n"
715 " (signature float\n"
716 " (parameters\n"
717 " (declare (in) vec2 p0)\n"
718 " (declare (in) vec2 p1))\n"
719 " ((declare () vec2 p)\n"
720 " (assign (constant bool (1)) (xy) (var_ref p) (expression vec2 - (var_ref p0) (var_ref p1)))\n"
721 " (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))\n"
722 "\n"
723 " (signature float\n"
724 " (parameters\n"
725 " (declare (in) vec3 p0)\n"
726 " (declare (in) vec3 p1))\n"
727 " ((declare () vec3 p)\n"
728 " (assign (constant bool (1)) (xyz) (var_ref p) (expression vec3 - (var_ref p0) (var_ref p1)))\n"
729 " (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))\n"
730 "\n"
731 " (signature float\n"
732 " (parameters\n"
733 " (declare (in) vec4 p0)\n"
734 " (declare (in) vec4 p1))\n"
735 " ((declare () vec4 p)\n"
736 " (assign (constant bool (1)) (xyzw) (var_ref p) (expression vec4 - (var_ref p0) (var_ref p1)))\n"
737 " (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))\n"
738 "))\n"
739 ""
740 ;
741 static const char builtin_dot[] =
742 "((function dot\n"
743 " (signature float\n"
744 " (parameters\n"
745 " (declare (in) float arg0)\n"
746 " (declare (in) float arg1))\n"
747 " ((return (expression float * (var_ref arg0) (var_ref arg1)))))\n"
748 "\n"
749 " (signature float\n"
750 " (parameters\n"
751 " (declare (in) vec2 arg0)\n"
752 " (declare (in) vec2 arg1))\n"
753 " ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
754 "\n"
755 " (signature float\n"
756 " (parameters\n"
757 " (declare (in) vec3 arg0)\n"
758 " (declare (in) vec3 arg1))\n"
759 " ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
760 "\n"
761 " (signature float\n"
762 " (parameters\n"
763 " (declare (in) vec4 arg0)\n"
764 " (declare (in) vec4 arg1))\n"
765 " ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
766 "))\n"
767 ""
768 ;
769 static const char builtin_equal[] =
770 "((function equal\n"
771 " (signature bvec2\n"
772 " (parameters\n"
773 " (declare (in) vec2 arg0)\n"
774 " (declare (in) vec2 arg1))\n"
775 " ((return (expression bvec2 == (var_ref arg0) (var_ref arg1)))))\n"
776 "\n"
777 " (signature bvec3\n"
778 " (parameters\n"
779 " (declare (in) vec3 arg0)\n"
780 " (declare (in) vec3 arg1))\n"
781 " ((return (expression bvec3 == (var_ref arg0) (var_ref arg1)))))\n"
782 "\n"
783 " (signature bvec4\n"
784 " (parameters\n"
785 " (declare (in) vec4 arg0)\n"
786 " (declare (in) vec4 arg1))\n"
787 " ((return (expression bvec4 == (var_ref arg0) (var_ref arg1)))))\n"
788 "\n"
789 " (signature bvec2\n"
790 " (parameters\n"
791 " (declare (in) bvec2 arg0)\n"
792 " (declare (in) bvec2 arg1))\n"
793 " ((return (expression bvec2 == (var_ref arg0) (var_ref arg1)))))\n"
794 "\n"
795 " (signature bvec3\n"
796 " (parameters\n"
797 " (declare (in) bvec3 arg0)\n"
798 " (declare (in) bvec3 arg1))\n"
799 " ((return (expression bvec3 == (var_ref arg0) (var_ref arg1)))))\n"
800 "\n"
801 " (signature bvec4\n"
802 " (parameters\n"
803 " (declare (in) bvec4 arg0)\n"
804 " (declare (in) bvec4 arg1))\n"
805 " ((return (expression bvec4 == (var_ref arg0) (var_ref arg1)))))\n"
806 "\n"
807 " (signature bvec2\n"
808 " (parameters\n"
809 " (declare (in) ivec2 arg0)\n"
810 " (declare (in) ivec2 arg1))\n"
811 " ((return (expression bvec2 == (var_ref arg0) (var_ref arg1)))))\n"
812 "\n"
813 " (signature bvec3\n"
814 " (parameters\n"
815 " (declare (in) ivec3 arg0)\n"
816 " (declare (in) ivec3 arg1))\n"
817 " ((return (expression bvec3 == (var_ref arg0) (var_ref arg1)))))\n"
818 "\n"
819 " (signature bvec4\n"
820 " (parameters\n"
821 " (declare (in) ivec4 arg0)\n"
822 " (declare (in) ivec4 arg1))\n"
823 " ((return (expression bvec4 == (var_ref arg0) (var_ref arg1)))))\n"
824 "\n"
825 " (signature bvec2\n"
826 " (parameters\n"
827 " (declare (in) uvec2 arg0)\n"
828 " (declare (in) uvec2 arg1))\n"
829 " ((return (expression bvec2 == (var_ref arg0) (var_ref arg1)))))\n"
830 "\n"
831 " (signature bvec3\n"
832 " (parameters\n"
833 " (declare (in) uvec3 arg0)\n"
834 " (declare (in) uvec3 arg1))\n"
835 " ((return (expression bvec3 == (var_ref arg0) (var_ref arg1)))))\n"
836 "\n"
837 " (signature bvec4\n"
838 " (parameters\n"
839 " (declare (in) uvec4 arg0)\n"
840 " (declare (in) uvec4 arg1))\n"
841 " ((return (expression bvec4 == (var_ref arg0) (var_ref arg1)))))\n"
842 "))\n"
843 ""
844 ;
845 static const char builtin_exp[] =
846 "((function exp\n"
847 " (signature float\n"
848 " (parameters\n"
849 " (declare (in) float arg0))\n"
850 " ((return (expression float exp (var_ref arg0)))))\n"
851 "\n"
852 " (signature vec2\n"
853 " (parameters\n"
854 " (declare (in) vec2 arg0))\n"
855 " ((return (expression vec2 exp (var_ref arg0)))))\n"
856 "\n"
857 " (signature vec3\n"
858 " (parameters\n"
859 " (declare (in) vec3 arg0))\n"
860 " ((return (expression vec3 exp (var_ref arg0)))))\n"
861 "\n"
862 " (signature vec4\n"
863 " (parameters\n"
864 " (declare (in) vec4 arg0))\n"
865 " ((return (expression vec4 exp (var_ref arg0)))))\n"
866 "))\n"
867 ""
868 ;
869 static const char builtin_exp2[] =
870 "((function exp2\n"
871 " (signature float\n"
872 " (parameters\n"
873 " (declare (in) float arg0))\n"
874 " ((return (expression float exp2 (var_ref arg0)))))\n"
875 "\n"
876 " (signature vec2\n"
877 " (parameters\n"
878 " (declare (in) vec2 arg0))\n"
879 " ((return (expression vec2 exp2 (var_ref arg0)))))\n"
880 "\n"
881 " (signature vec3\n"
882 " (parameters\n"
883 " (declare (in) vec3 arg0))\n"
884 " ((return (expression vec3 exp2 (var_ref arg0)))))\n"
885 "\n"
886 " (signature vec4\n"
887 " (parameters\n"
888 " (declare (in) vec4 arg0))\n"
889 " ((return (expression vec4 exp2 (var_ref arg0)))))\n"
890 "))\n"
891 ""
892 ;
893 static const char builtin_faceforward[] =
894 "((function faceforward\n"
895 " (signature float\n"
896 " (parameters\n"
897 " (declare (in) float N)\n"
898 " (declare (in) float I)\n"
899 " (declare (in) float Nref))\n"
900 " ((if (expression bool < (expression float * (var_ref Nref) (var_ref I)) (constant float (0)))\n"
901 " ((return (var_ref N)))\n"
902 " ((return (expression float neg (var_ref N)))))))\n"
903 "\n"
904 " (signature vec2\n"
905 " (parameters\n"
906 " (declare (in) vec2 N)\n"
907 " (declare (in) vec2 I)\n"
908 " (declare (in) vec2 Nref))\n"
909 " ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n"
910 " ((return (var_ref N)))\n"
911 " ((return (expression vec2 neg (var_ref N)))))))\n"
912 "\n"
913 " (signature vec3\n"
914 " (parameters\n"
915 " (declare (in) vec3 N)\n"
916 " (declare (in) vec3 I)\n"
917 " (declare (in) vec3 Nref))\n"
918 " ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n"
919 " ((return (var_ref N)))\n"
920 " ((return (expression vec3 neg (var_ref N)))))))\n"
921 "\n"
922 " (signature vec4\n"
923 " (parameters\n"
924 " (declare (in) vec4 N)\n"
925 " (declare (in) vec4 I)\n"
926 " (declare (in) vec4 Nref))\n"
927 " ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n"
928 " ((return (var_ref N)))\n"
929 " ((return (expression vec4 neg (var_ref N)))))))\n"
930 "))\n"
931 ""
932 ;
933 static const char builtin_floor[] =
934 "((function floor\n"
935 " (signature float\n"
936 " (parameters\n"
937 " (declare (in) float arg0))\n"
938 " ((return (expression float floor (var_ref arg0)))))\n"
939 "\n"
940 " (signature vec2\n"
941 " (parameters\n"
942 " (declare (in) vec2 arg0))\n"
943 " ((return (expression vec2 floor (var_ref arg0)))))\n"
944 "\n"
945 " (signature vec3\n"
946 " (parameters\n"
947 " (declare (in) vec3 arg0))\n"
948 " ((return (expression vec3 floor (var_ref arg0)))))\n"
949 "\n"
950 " (signature vec4\n"
951 " (parameters\n"
952 " (declare (in) vec4 arg0))\n"
953 " ((return (expression vec4 floor (var_ref arg0)))))\n"
954 "))\n"
955 ""
956 ;
957 static const char builtin_fract[] =
958 "((function fract\n"
959 " (signature float\n"
960 " (parameters\n"
961 " (declare (in) float x))\n"
962 " ((return (expression float fract (var_ref x)))))\n"
963 "\n"
964 " (signature vec2\n"
965 " (parameters\n"
966 " (declare (in) vec2 x))\n"
967 " ((return (expression vec2 fract (var_ref x)))))\n"
968 "\n"
969 " (signature vec3\n"
970 " (parameters\n"
971 " (declare (in) vec3 x))\n"
972 " ((return (expression vec3 fract (var_ref x)))))\n"
973 "\n"
974 " (signature vec4\n"
975 " (parameters\n"
976 " (declare (in) vec4 x))\n"
977 " ((return (expression vec4 fract (var_ref x)))))\n"
978 "))\n"
979 "\n"
980 ""
981 ;
982 static const char builtin_ftransform[] =
983 "((declare (uniform) mat4 gl_ModelViewProjectionMatrix)\n"
984 " (declare (in) vec4 gl_Vertex)\n"
985 " (function ftransform\n"
986 " (signature vec4\n"
987 " (parameters)\n"
988 " ((return (expression vec4 *\n"
989 " (var_ref gl_ModelViewProjectionMatrix)\n"
990 " (var_ref gl_Vertex)))))\n"
991 "))\n"
992 ""
993 ;
994 static const char builtin_fwidth[] =
995 "((function fwidth\n"
996 " (signature float\n"
997 " (parameters\n"
998 " (declare (in) float p))\n"
999 " ((return (expression float +\n"
1000 " (expression float abs (expression float dFdx (var_ref p)))\n"
1001 " (expression float abs (expression float dFdy (var_ref p)))))))\n"
1002 "\n"
1003 " (signature vec2\n"
1004 " (parameters\n"
1005 " (declare (in) vec2 p))\n"
1006 " ((return (expression vec2 +\n"
1007 " (expression vec2 abs (expression vec2 dFdx (var_ref p)))\n"
1008 " (expression vec2 abs (expression vec2 dFdy (var_ref p)))))))\n"
1009 "\n"
1010 " (signature vec3\n"
1011 " (parameters\n"
1012 " (declare (in) vec3 p))\n"
1013 " ((return (expression vec3 +\n"
1014 " (expression vec3 abs (expression vec3 dFdx (var_ref p)))\n"
1015 " (expression vec3 abs (expression vec3 dFdy (var_ref p)))))))\n"
1016 "\n"
1017 " (signature vec4\n"
1018 " (parameters\n"
1019 " (declare (in) vec4 p))\n"
1020 " ((return (expression vec4 +\n"
1021 " (expression vec4 abs (expression vec4 dFdx (var_ref p)))\n"
1022 " (expression vec4 abs (expression vec4 dFdy (var_ref p)))))))\n"
1023 "))\n"
1024 ""
1025 ;
1026 static const char builtin_greaterThan[] =
1027 "((function greaterThan\n"
1028 " (signature bvec2\n"
1029 " (parameters\n"
1030 " (declare (in) vec2 arg0)\n"
1031 " (declare (in) vec2 arg1))\n"
1032 " ((return (expression bvec2 > (var_ref arg0) (var_ref arg1)))))\n"
1033 "\n"
1034 " (signature bvec3\n"
1035 " (parameters\n"
1036 " (declare (in) vec3 arg0)\n"
1037 " (declare (in) vec3 arg1))\n"
1038 " ((return (expression bvec3 > (var_ref arg0) (var_ref arg1)))))\n"
1039 "\n"
1040 " (signature bvec4\n"
1041 " (parameters\n"
1042 " (declare (in) vec4 arg0)\n"
1043 " (declare (in) vec4 arg1))\n"
1044 " ((return (expression bvec4 > (var_ref arg0) (var_ref arg1)))))\n"
1045 "\n"
1046 " (signature bvec2\n"
1047 " (parameters\n"
1048 " (declare (in) ivec2 arg0)\n"
1049 " (declare (in) ivec2 arg1))\n"
1050 " ((return (expression bvec2 > (var_ref arg0) (var_ref arg1)))))\n"
1051 "\n"
1052 " (signature bvec3\n"
1053 " (parameters\n"
1054 " (declare (in) ivec3 arg0)\n"
1055 " (declare (in) ivec3 arg1))\n"
1056 " ((return (expression bvec3 > (var_ref arg0) (var_ref arg1)))))\n"
1057 "\n"
1058 " (signature bvec4\n"
1059 " (parameters\n"
1060 " (declare (in) ivec4 arg0)\n"
1061 " (declare (in) ivec4 arg1))\n"
1062 " ((return (expression bvec4 > (var_ref arg0) (var_ref arg1)))))\n"
1063 "\n"
1064 " (signature bvec2\n"
1065 " (parameters\n"
1066 " (declare (in) uvec2 arg0)\n"
1067 " (declare (in) uvec2 arg1))\n"
1068 " ((return (expression bvec2 > (var_ref arg0) (var_ref arg1)))))\n"
1069 "\n"
1070 " (signature bvec3\n"
1071 " (parameters\n"
1072 " (declare (in) uvec3 arg0)\n"
1073 " (declare (in) uvec3 arg1))\n"
1074 " ((return (expression bvec3 > (var_ref arg0) (var_ref arg1)))))\n"
1075 "\n"
1076 " (signature bvec4\n"
1077 " (parameters\n"
1078 " (declare (in) uvec4 arg0)\n"
1079 " (declare (in) uvec4 arg1))\n"
1080 " ((return (expression bvec4 > (var_ref arg0) (var_ref arg1)))))\n"
1081 "))\n"
1082 ""
1083 ;
1084 static const char builtin_greaterThanEqual[] =
1085 "((function greaterThanEqual\n"
1086 " (signature bvec2\n"
1087 " (parameters\n"
1088 " (declare (in) vec2 arg0)\n"
1089 " (declare (in) vec2 arg1))\n"
1090 " ((return (expression bvec2 >= (var_ref arg0) (var_ref arg1)))))\n"
1091 "\n"
1092 " (signature bvec3\n"
1093 " (parameters\n"
1094 " (declare (in) vec3 arg0)\n"
1095 " (declare (in) vec3 arg1))\n"
1096 " ((return (expression bvec3 >= (var_ref arg0) (var_ref arg1)))))\n"
1097 "\n"
1098 " (signature bvec4\n"
1099 " (parameters\n"
1100 " (declare (in) vec4 arg0)\n"
1101 " (declare (in) vec4 arg1))\n"
1102 " ((return (expression bvec4 >= (var_ref arg0) (var_ref arg1)))))\n"
1103 "\n"
1104 " (signature bvec2\n"
1105 " (parameters\n"
1106 " (declare (in) ivec2 arg0)\n"
1107 " (declare (in) ivec2 arg1))\n"
1108 " ((return (expression bvec2 >= (var_ref arg0) (var_ref arg1)))))\n"
1109 "\n"
1110 " (signature bvec3\n"
1111 " (parameters\n"
1112 " (declare (in) ivec3 arg0)\n"
1113 " (declare (in) ivec3 arg1))\n"
1114 " ((return (expression bvec3 >= (var_ref arg0) (var_ref arg1)))))\n"
1115 "\n"
1116 " (signature bvec4\n"
1117 " (parameters\n"
1118 " (declare (in) ivec4 arg0)\n"
1119 " (declare (in) ivec4 arg1))\n"
1120 " ((return (expression bvec4 >= (var_ref arg0) (var_ref arg1)))))\n"
1121 "\n"
1122 " (signature bvec2\n"
1123 " (parameters\n"
1124 " (declare (in) uvec2 arg0)\n"
1125 " (declare (in) uvec2 arg1))\n"
1126 " ((return (expression bvec2 >= (var_ref arg0) (var_ref arg1)))))\n"
1127 "\n"
1128 " (signature bvec3\n"
1129 " (parameters\n"
1130 " (declare (in) uvec3 arg0)\n"
1131 " (declare (in) uvec3 arg1))\n"
1132 " ((return (expression bvec3 >= (var_ref arg0) (var_ref arg1)))))\n"
1133 "\n"
1134 " (signature bvec4\n"
1135 " (parameters\n"
1136 " (declare (in) uvec4 arg0)\n"
1137 " (declare (in) uvec4 arg1))\n"
1138 " ((return (expression bvec4 >= (var_ref arg0) (var_ref arg1)))))\n"
1139 "))\n"
1140 ""
1141 ;
1142 static const char builtin_inversesqrt[] =
1143 "((function inversesqrt\n"
1144 " (signature float\n"
1145 " (parameters\n"
1146 " (declare (in) float arg0))\n"
1147 " ((return (expression float rsq (var_ref arg0)))))\n"
1148 "\n"
1149 " (signature vec2\n"
1150 " (parameters\n"
1151 " (declare (in) vec2 arg0))\n"
1152 " ((return (expression vec2 rsq (var_ref arg0)))))\n"
1153 "\n"
1154 " (signature vec3\n"
1155 " (parameters\n"
1156 " (declare (in) vec3 arg0))\n"
1157 " ((return (expression vec3 rsq (var_ref arg0)))))\n"
1158 "\n"
1159 " (signature vec4\n"
1160 " (parameters\n"
1161 " (declare (in) vec4 arg0))\n"
1162 " ((return (expression vec4 rsq (var_ref arg0)))))\n"
1163 "))\n"
1164 ""
1165 ;
1166 static const char builtin_length[] =
1167 "((function length\n"
1168 " (signature float\n"
1169 " (parameters\n"
1170 " (declare (in) float arg0))\n"
1171 " ((return (expression float abs (var_ref arg0)))))\n"
1172 "\n"
1173 " (signature float\n"
1174 " (parameters\n"
1175 " (declare (in) vec2 arg0))\n"
1176 " ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
1177 "\n"
1178 " (signature float\n"
1179 " (parameters\n"
1180 " (declare (in) vec3 arg0))\n"
1181 " ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
1182 "\n"
1183 " (signature float\n"
1184 " (parameters\n"
1185 " (declare (in) vec4 arg0))\n"
1186 " ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
1187 "))\n"
1188 ""
1189 ;
1190 static const char builtin_lessThan[] =
1191 "((function lessThan\n"
1192 " (signature bvec2\n"
1193 " (parameters\n"
1194 " (declare (in) vec2 arg0)\n"
1195 " (declare (in) vec2 arg1))\n"
1196 " ((return (expression bvec2 < (var_ref arg0) (var_ref arg1)))))\n"
1197 "\n"
1198 " (signature bvec3\n"
1199 " (parameters\n"
1200 " (declare (in) vec3 arg0)\n"
1201 " (declare (in) vec3 arg1))\n"
1202 " ((return (expression bvec3 < (var_ref arg0) (var_ref arg1)))))\n"
1203 "\n"
1204 " (signature bvec4\n"
1205 " (parameters\n"
1206 " (declare (in) vec4 arg0)\n"
1207 " (declare (in) vec4 arg1))\n"
1208 " ((return (expression bvec4 < (var_ref arg0) (var_ref arg1)))))\n"
1209 "\n"
1210 " (signature bvec2\n"
1211 " (parameters\n"
1212 " (declare (in) ivec2 arg0)\n"
1213 " (declare (in) ivec2 arg1))\n"
1214 " ((return (expression bvec2 < (var_ref arg0) (var_ref arg1)))))\n"
1215 "\n"
1216 " (signature bvec3\n"
1217 " (parameters\n"
1218 " (declare (in) ivec3 arg0)\n"
1219 " (declare (in) ivec3 arg1))\n"
1220 " ((return (expression bvec3 < (var_ref arg0) (var_ref arg1)))))\n"
1221 "\n"
1222 " (signature bvec4\n"
1223 " (parameters\n"
1224 " (declare (in) ivec4 arg0)\n"
1225 " (declare (in) ivec4 arg1))\n"
1226 " ((return (expression bvec4 < (var_ref arg0) (var_ref arg1)))))\n"
1227 "\n"
1228 " (signature bvec2\n"
1229 " (parameters\n"
1230 " (declare (in) uvec2 arg0)\n"
1231 " (declare (in) uvec2 arg1))\n"
1232 " ((return (expression bvec2 < (var_ref arg0) (var_ref arg1)))))\n"
1233 "\n"
1234 " (signature bvec3\n"
1235 " (parameters\n"
1236 " (declare (in) uvec3 arg0)\n"
1237 " (declare (in) uvec3 arg1))\n"
1238 " ((return (expression bvec3 < (var_ref arg0) (var_ref arg1)))))\n"
1239 "\n"
1240 " (signature bvec4\n"
1241 " (parameters\n"
1242 " (declare (in) uvec4 arg0)\n"
1243 " (declare (in) uvec4 arg1))\n"
1244 " ((return (expression bvec4 < (var_ref arg0) (var_ref arg1)))))\n"
1245 "))\n"
1246 ""
1247 ;
1248 static const char builtin_lessThanEqual[] =
1249 "((function lessThanEqual\n"
1250 " (signature bvec2\n"
1251 " (parameters\n"
1252 " (declare (in) vec2 arg0)\n"
1253 " (declare (in) vec2 arg1))\n"
1254 " ((return (expression bvec2 <= (var_ref arg0) (var_ref arg1)))))\n"
1255 "\n"
1256 " (signature bvec3\n"
1257 " (parameters\n"
1258 " (declare (in) vec3 arg0)\n"
1259 " (declare (in) vec3 arg1))\n"
1260 " ((return (expression bvec3 <= (var_ref arg0) (var_ref arg1)))))\n"
1261 "\n"
1262 " (signature bvec4\n"
1263 " (parameters\n"
1264 " (declare (in) vec4 arg0)\n"
1265 " (declare (in) vec4 arg1))\n"
1266 " ((return (expression bvec4 <= (var_ref arg0) (var_ref arg1)))))\n"
1267 "\n"
1268 " (signature bvec2\n"
1269 " (parameters\n"
1270 " (declare (in) ivec2 arg0)\n"
1271 " (declare (in) ivec2 arg1))\n"
1272 " ((return (expression bvec2 <= (var_ref arg0) (var_ref arg1)))))\n"
1273 "\n"
1274 " (signature bvec3\n"
1275 " (parameters\n"
1276 " (declare (in) ivec3 arg0)\n"
1277 " (declare (in) ivec3 arg1))\n"
1278 " ((return (expression bvec3 <= (var_ref arg0) (var_ref arg1)))))\n"
1279 "\n"
1280 " (signature bvec4\n"
1281 " (parameters\n"
1282 " (declare (in) ivec4 arg0)\n"
1283 " (declare (in) ivec4 arg1))\n"
1284 " ((return (expression bvec4 <= (var_ref arg0) (var_ref arg1)))))\n"
1285 "\n"
1286 " (signature bvec2\n"
1287 " (parameters\n"
1288 " (declare (in) uvec2 arg0)\n"
1289 " (declare (in) uvec2 arg1))\n"
1290 " ((return (expression bvec2 <= (var_ref arg0) (var_ref arg1)))))\n"
1291 "\n"
1292 " (signature bvec3\n"
1293 " (parameters\n"
1294 " (declare (in) uvec3 arg0)\n"
1295 " (declare (in) uvec3 arg1))\n"
1296 " ((return (expression bvec3 <= (var_ref arg0) (var_ref arg1)))))\n"
1297 "\n"
1298 " (signature bvec4\n"
1299 " (parameters\n"
1300 " (declare (in) uvec4 arg0)\n"
1301 " (declare (in) uvec4 arg1))\n"
1302 " ((return (expression bvec4 <= (var_ref arg0) (var_ref arg1)))))\n"
1303 "))\n"
1304 ""
1305 ;
1306 static const char builtin_log[] =
1307 "((function log\n"
1308 " (signature float\n"
1309 " (parameters\n"
1310 " (declare (in) float arg0))\n"
1311 " ((return (expression float log (var_ref arg0)))))\n"
1312 "\n"
1313 " (signature vec2\n"
1314 " (parameters\n"
1315 " (declare (in) vec2 arg0))\n"
1316 " ((return (expression vec2 log (var_ref arg0)))))\n"
1317 "\n"
1318 " (signature vec3\n"
1319 " (parameters\n"
1320 " (declare (in) vec3 arg0))\n"
1321 " ((return (expression vec3 log (var_ref arg0)))))\n"
1322 "\n"
1323 " (signature vec4\n"
1324 " (parameters\n"
1325 " (declare (in) vec4 arg0))\n"
1326 " ((return (expression vec4 log (var_ref arg0)))))\n"
1327 "))\n"
1328 ""
1329 ;
1330 static const char builtin_log2[] =
1331 "((function log2\n"
1332 " (signature float\n"
1333 " (parameters\n"
1334 " (declare (in) float arg0))\n"
1335 " ((return (expression float log2 (var_ref arg0)))))\n"
1336 "\n"
1337 " (signature vec2\n"
1338 " (parameters\n"
1339 " (declare (in) vec2 arg0))\n"
1340 " ((return (expression vec2 log2 (var_ref arg0)))))\n"
1341 "\n"
1342 " (signature vec3\n"
1343 " (parameters\n"
1344 " (declare (in) vec3 arg0))\n"
1345 " ((return (expression vec3 log2 (var_ref arg0)))))\n"
1346 "\n"
1347 " (signature vec4\n"
1348 " (parameters\n"
1349 " (declare (in) vec4 arg0))\n"
1350 " ((return (expression vec4 log2 (var_ref arg0)))))\n"
1351 "))\n"
1352 ""
1353 ;
1354 static const char builtin_matrixCompMult[] =
1355 "((function matrixCompMult\n"
1356 " (signature mat2\n"
1357 " (parameters\n"
1358 " (declare (in) mat2 x)\n"
1359 " (declare (in) mat2 y))\n"
1360 " ((declare () mat2 z)\n"
1361 " (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (0))) (expression vec2 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1362 " (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (1))) (expression vec2 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
1363 "(return (var_ref z))))\n"
1364 "\n"
1365 " (signature mat3\n"
1366 " (parameters\n"
1367 " (declare (in) mat3 x)\n"
1368 " (declare (in) mat3 y))\n"
1369 " ((declare () mat3 z)\n"
1370 " (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (0))) (expression vec3 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1371 " (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (1))) (expression vec3 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
1372 " (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (2))) (expression vec3 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2)))))\n"
1373 "(return (var_ref z))))\n"
1374 "\n"
1375 " (signature mat4\n"
1376 " (parameters\n"
1377 " (declare (in) mat4 x)\n"
1378 " (declare (in) mat4 y))\n"
1379 " ((declare () mat4 z)\n"
1380 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (0))) (expression vec4 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1381 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (1))) (expression vec4 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
1382 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (2))) (expression vec4 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2)))))\n"
1383 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (3))) (expression vec4 * (array_ref (var_ref x) (constant int (3))) (array_ref (var_ref y) (constant int (3)))))\n"
1384 "(return (var_ref z))))\n"
1385 "\n"
1386 " (signature mat2x3\n"
1387 " (parameters\n"
1388 " (declare (in) mat2x3 x)\n"
1389 " (declare (in) mat2x3 y))\n"
1390 " ((declare () mat2x3 z)\n"
1391 " (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (0))) (expression vec3 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1392 " (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (1))) (expression vec3 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
1393 "(return (var_ref z))))\n"
1394 "\n"
1395 " (signature mat3x2\n"
1396 " (parameters\n"
1397 " (declare (in) mat3x2 x)\n"
1398 " (declare (in) mat3x2 y))\n"
1399 " ((declare () mat3x2 z)\n"
1400 " (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (0))) (expression vec2 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1401 " (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (1))) (expression vec2 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
1402 " (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (2))) (expression vec2 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2)))))\n"
1403 "(return (var_ref z))))\n"
1404 "\n"
1405 " (signature mat2x4\n"
1406 " (parameters\n"
1407 " (declare (in) mat2x4 x)\n"
1408 " (declare (in) mat2x4 y))\n"
1409 " ((declare () mat2x4 z)\n"
1410 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (0))) (expression vec4 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1411 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (1))) (expression vec4 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
1412 "(return (var_ref z))))\n"
1413 "\n"
1414 " (signature mat4x2\n"
1415 " (parameters\n"
1416 " (declare (in) mat4x2 x)\n"
1417 " (declare (in) mat4x2 y))\n"
1418 " ((declare () mat4x2 z)\n"
1419 " (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (0))) (expression vec2 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1420 " (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (1))) (expression vec2 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
1421 " (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (2))) (expression vec2 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2)))))\n"
1422 " (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (3))) (expression vec2 * (array_ref (var_ref x) (constant int (3))) (array_ref (var_ref y) (constant int (3)))))\n"
1423 "(return (var_ref z))))\n"
1424 "\n"
1425 " (signature mat3x4\n"
1426 " (parameters\n"
1427 " (declare (in) mat3x4 x)\n"
1428 " (declare (in) mat3x4 y))\n"
1429 " ((declare () mat3x4 z)\n"
1430 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (0))) (expression vec4 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1431 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (1))) (expression vec4 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
1432 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (2))) (expression vec4 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2)))))\n"
1433 "(return (var_ref z))))\n"
1434 "\n"
1435 " (signature mat4x3\n"
1436 " (parameters\n"
1437 " (declare (in) mat4x3 x)\n"
1438 " (declare (in) mat4x3 y))\n"
1439 " ((declare () mat4x3 z)\n"
1440 " (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (0))) (expression vec3 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1441 " (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (1))) (expression vec3 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
1442 " (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (2))) (expression vec3 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2)))))\n"
1443 " (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (3))) (expression vec3 * (array_ref (var_ref x) (constant int (3))) (array_ref (var_ref y) (constant int (3)))))\n"
1444 "(return (var_ref z))))\n"
1445 "))\n"
1446 ""
1447 ;
1448 static const char builtin_max[] =
1449 "((function max\n"
1450 " (signature float\n"
1451 " (parameters\n"
1452 " (declare (in) float arg0)\n"
1453 " (declare (in) float arg1))\n"
1454 " ((return (expression float max (var_ref arg0) (var_ref arg1)))))\n"
1455 "\n"
1456 " (signature vec2\n"
1457 " (parameters\n"
1458 " (declare (in) vec2 arg0)\n"
1459 " (declare (in) vec2 arg1))\n"
1460 " ((return (expression vec2 max (var_ref arg0) (var_ref arg1)))))\n"
1461 "\n"
1462 " (signature vec3\n"
1463 " (parameters\n"
1464 " (declare (in) vec3 arg0)\n"
1465 " (declare (in) vec3 arg1))\n"
1466 " ((return (expression vec3 max (var_ref arg0) (var_ref arg1)))))\n"
1467 "\n"
1468 " (signature vec4\n"
1469 " (parameters\n"
1470 " (declare (in) vec4 arg0)\n"
1471 " (declare (in) vec4 arg1))\n"
1472 " ((return (expression vec4 max (var_ref arg0) (var_ref arg1)))))\n"
1473 "\n"
1474 " (signature vec2\n"
1475 " (parameters\n"
1476 " (declare (in) vec2 arg0)\n"
1477 " (declare (in) float arg1))\n"
1478 " ((return (expression vec2 max (var_ref arg0) (var_ref arg1)))))\n"
1479 "\n"
1480 " (signature vec3\n"
1481 " (parameters\n"
1482 " (declare (in) vec3 arg0)\n"
1483 " (declare (in) float arg1))\n"
1484 " ((return (expression vec3 max (var_ref arg0) (var_ref arg1)))))\n"
1485 "\n"
1486 " (signature vec4\n"
1487 " (parameters\n"
1488 " (declare (in) vec4 arg0)\n"
1489 " (declare (in) float arg1))\n"
1490 " ((return (expression vec4 max (var_ref arg0) (var_ref arg1)))))\n"
1491 "\n"
1492 " (signature int\n"
1493 " (parameters\n"
1494 " (declare (in) int arg0)\n"
1495 " (declare (in) int arg1))\n"
1496 " ((return (expression int max (var_ref arg0) (var_ref arg1)))))\n"
1497 "\n"
1498 " (signature ivec2\n"
1499 " (parameters\n"
1500 " (declare (in) ivec2 arg0)\n"
1501 " (declare (in) ivec2 arg1))\n"
1502 " ((return (expression ivec2 max (var_ref arg0) (var_ref arg1)))))\n"
1503 "\n"
1504 " (signature ivec3\n"
1505 " (parameters\n"
1506 " (declare (in) ivec3 arg0)\n"
1507 " (declare (in) ivec3 arg1))\n"
1508 " ((return (expression ivec3 max (var_ref arg0) (var_ref arg1)))))\n"
1509 "\n"
1510 " (signature ivec4\n"
1511 " (parameters\n"
1512 " (declare (in) ivec4 arg0)\n"
1513 " (declare (in) ivec4 arg1))\n"
1514 " ((return (expression ivec4 max (var_ref arg0) (var_ref arg1)))))\n"
1515 "\n"
1516 " (signature ivec2\n"
1517 " (parameters\n"
1518 " (declare (in) ivec2 arg0)\n"
1519 " (declare (in) int arg1))\n"
1520 " ((return (expression ivec2 max (var_ref arg0) (var_ref arg1)))))\n"
1521 "\n"
1522 " (signature ivec3\n"
1523 " (parameters\n"
1524 " (declare (in) ivec3 arg0)\n"
1525 " (declare (in) int arg1))\n"
1526 " ((return (expression ivec3 max (var_ref arg0) (var_ref arg1)))))\n"
1527 "\n"
1528 " (signature ivec4\n"
1529 " (parameters\n"
1530 " (declare (in) ivec4 arg0)\n"
1531 " (declare (in) int arg1))\n"
1532 " ((return (expression ivec4 max (var_ref arg0) (var_ref arg1)))))\n"
1533 "\n"
1534 " (signature uint\n"
1535 " (parameters\n"
1536 " (declare (in) uint arg0)\n"
1537 " (declare (in) uint arg1))\n"
1538 " ((return (expression uint max (var_ref arg0) (var_ref arg1)))))\n"
1539 "\n"
1540 " (signature uvec2\n"
1541 " (parameters\n"
1542 " (declare (in) uvec2 arg0)\n"
1543 " (declare (in) uvec2 arg1))\n"
1544 " ((return (expression uvec2 max (var_ref arg0) (var_ref arg1)))))\n"
1545 "\n"
1546 " (signature uvec3\n"
1547 " (parameters\n"
1548 " (declare (in) uvec3 arg0)\n"
1549 " (declare (in) uvec3 arg1))\n"
1550 " ((return (expression uvec3 max (var_ref arg0) (var_ref arg1)))))\n"
1551 "\n"
1552 " (signature uvec4\n"
1553 " (parameters\n"
1554 " (declare (in) uvec4 arg0)\n"
1555 " (declare (in) uvec4 arg1))\n"
1556 " ((return (expression uvec4 max (var_ref arg0) (var_ref arg1)))))\n"
1557 "\n"
1558 " (signature uvec2\n"
1559 " (parameters\n"
1560 " (declare (in) uvec2 arg0)\n"
1561 " (declare (in) uint arg1))\n"
1562 " ((return (expression uvec2 max (var_ref arg0) (var_ref arg1)))))\n"
1563 "\n"
1564 " (signature uvec3\n"
1565 " (parameters\n"
1566 " (declare (in) uvec3 arg0)\n"
1567 " (declare (in) uint arg1))\n"
1568 " ((return (expression uvec3 max (var_ref arg0) (var_ref arg1)))))\n"
1569 "\n"
1570 " (signature uvec4\n"
1571 " (parameters\n"
1572 " (declare (in) uvec4 arg0)\n"
1573 " (declare (in) uint arg1))\n"
1574 " ((return (expression uvec4 max (var_ref arg0) (var_ref arg1)))))\n"
1575 "))\n"
1576 ""
1577 ;
1578 static const char builtin_min[] =
1579 "((function min\n"
1580 " (signature float\n"
1581 " (parameters\n"
1582 " (declare (in) float arg0)\n"
1583 " (declare (in) float arg1))\n"
1584 " ((return (expression float min (var_ref arg0) (var_ref arg1)))))\n"
1585 "\n"
1586 " (signature vec2\n"
1587 " (parameters\n"
1588 " (declare (in) vec2 arg0)\n"
1589 " (declare (in) vec2 arg1))\n"
1590 " ((return (expression vec2 min (var_ref arg0) (var_ref arg1)))))\n"
1591 "\n"
1592 " (signature vec3\n"
1593 " (parameters\n"
1594 " (declare (in) vec3 arg0)\n"
1595 " (declare (in) vec3 arg1))\n"
1596 " ((return (expression vec3 min (var_ref arg0) (var_ref arg1)))))\n"
1597 "\n"
1598 " (signature vec4\n"
1599 " (parameters\n"
1600 " (declare (in) vec4 arg0)\n"
1601 " (declare (in) vec4 arg1))\n"
1602 " ((return (expression vec4 min (var_ref arg0) (var_ref arg1)))))\n"
1603 "\n"
1604 " (signature vec2\n"
1605 " (parameters\n"
1606 " (declare (in) vec2 arg0)\n"
1607 " (declare (in) float arg1))\n"
1608 " ((return (expression vec2 min (var_ref arg0) (var_ref arg1)))))\n"
1609 "\n"
1610 " (signature vec3\n"
1611 " (parameters\n"
1612 " (declare (in) vec3 arg0)\n"
1613 " (declare (in) float arg1))\n"
1614 " ((return (expression vec3 min (var_ref arg0) (var_ref arg1)))))\n"
1615 "\n"
1616 " (signature vec4\n"
1617 " (parameters\n"
1618 " (declare (in) vec4 arg0)\n"
1619 " (declare (in) float arg1))\n"
1620 " ((return (expression vec4 min (var_ref arg0) (var_ref arg1)))))\n"
1621 "\n"
1622 " (signature int\n"
1623 " (parameters\n"
1624 " (declare (in) int arg0)\n"
1625 " (declare (in) int arg1))\n"
1626 " ((return (expression int min (var_ref arg0) (var_ref arg1)))))\n"
1627 "\n"
1628 " (signature ivec2\n"
1629 " (parameters\n"
1630 " (declare (in) ivec2 arg0)\n"
1631 " (declare (in) ivec2 arg1))\n"
1632 " ((return (expression ivec2 min (var_ref arg0) (var_ref arg1)))))\n"
1633 "\n"
1634 " (signature ivec3\n"
1635 " (parameters\n"
1636 " (declare (in) ivec3 arg0)\n"
1637 " (declare (in) ivec3 arg1))\n"
1638 " ((return (expression ivec3 min (var_ref arg0) (var_ref arg1)))))\n"
1639 "\n"
1640 " (signature ivec4\n"
1641 " (parameters\n"
1642 " (declare (in) ivec4 arg0)\n"
1643 " (declare (in) ivec4 arg1))\n"
1644 " ((return (expression ivec4 min (var_ref arg0) (var_ref arg1)))))\n"
1645 "\n"
1646 " (signature ivec2\n"
1647 " (parameters\n"
1648 " (declare (in) ivec2 arg0)\n"
1649 " (declare (in) int arg1))\n"
1650 " ((return (expression ivec2 min (var_ref arg0) (var_ref arg1)))))\n"
1651 "\n"
1652 " (signature ivec3\n"
1653 " (parameters\n"
1654 " (declare (in) ivec3 arg0)\n"
1655 " (declare (in) int arg1))\n"
1656 " ((return (expression ivec3 min (var_ref arg0) (var_ref arg1)))))\n"
1657 "\n"
1658 " (signature ivec4\n"
1659 " (parameters\n"
1660 " (declare (in) ivec4 arg0)\n"
1661 " (declare (in) int arg1))\n"
1662 " ((return (expression ivec4 min (var_ref arg0) (var_ref arg1)))))\n"
1663 "\n"
1664 " (signature uint\n"
1665 " (parameters\n"
1666 " (declare (in) uint arg0)\n"
1667 " (declare (in) uint arg1))\n"
1668 " ((return (expression uint min (var_ref arg0) (var_ref arg1)))))\n"
1669 "\n"
1670 " (signature uvec2\n"
1671 " (parameters\n"
1672 " (declare (in) uvec2 arg0)\n"
1673 " (declare (in) uvec2 arg1))\n"
1674 " ((return (expression uvec2 min (var_ref arg0) (var_ref arg1)))))\n"
1675 "\n"
1676 " (signature uvec3\n"
1677 " (parameters\n"
1678 " (declare (in) uvec3 arg0)\n"
1679 " (declare (in) uvec3 arg1))\n"
1680 " ((return (expression uvec3 min (var_ref arg0) (var_ref arg1)))))\n"
1681 "\n"
1682 " (signature uvec4\n"
1683 " (parameters\n"
1684 " (declare (in) uvec4 arg0)\n"
1685 " (declare (in) uvec4 arg1))\n"
1686 " ((return (expression uvec4 min (var_ref arg0) (var_ref arg1)))))\n"
1687 "\n"
1688 " (signature uvec2\n"
1689 " (parameters\n"
1690 " (declare (in) uvec2 arg0)\n"
1691 " (declare (in) uint arg1))\n"
1692 " ((return (expression uvec2 min (var_ref arg0) (var_ref arg1)))))\n"
1693 "\n"
1694 " (signature uvec3\n"
1695 " (parameters\n"
1696 " (declare (in) uvec3 arg0)\n"
1697 " (declare (in) uint arg1))\n"
1698 " ((return (expression uvec3 min (var_ref arg0) (var_ref arg1)))))\n"
1699 "\n"
1700 " (signature uvec4\n"
1701 " (parameters\n"
1702 " (declare (in) uvec4 arg0)\n"
1703 " (declare (in) uint arg1))\n"
1704 " ((return (expression uvec4 min (var_ref arg0) (var_ref arg1)))))\n"
1705 "))\n"
1706 ""
1707 ;
1708 static const char builtin_mix[] =
1709 "((function mix\n"
1710 " (signature float\n"
1711 " (parameters\n"
1712 " (declare (in) float arg0)\n"
1713 " (declare (in) float arg1)\n"
1714 " (declare (in) float arg2))\n"
1715 " ((return (expression float + (expression float * (var_ref arg0) (expression float - (constant float (1.000000)) (var_ref arg2))) (expression float * (var_ref arg1) (var_ref arg2))))))\n"
1716 "\n"
1717 " (signature vec2\n"
1718 " (parameters\n"
1719 " (declare (in) vec2 arg0)\n"
1720 " (declare (in) vec2 arg1)\n"
1721 " (declare (in) vec2 arg2))\n"
1722 " ((return (expression vec2 + (expression vec2 * (var_ref arg0) (expression vec2 - (constant float (1.000000)) (var_ref arg2))) (expression vec2 * (var_ref arg1) (var_ref arg2))))))\n"
1723 "\n"
1724 " (signature vec3\n"
1725 " (parameters\n"
1726 " (declare (in) vec3 arg0)\n"
1727 " (declare (in) vec3 arg1)\n"
1728 " (declare (in) vec3 arg2))\n"
1729 " ((return (expression vec3 + (expression vec3 * (var_ref arg0) (expression vec3 - (constant float (1.000000)) (var_ref arg2))) (expression vec3 * (var_ref arg1) (var_ref arg2))))))\n"
1730 "\n"
1731 " (signature vec4\n"
1732 " (parameters\n"
1733 " (declare (in) vec4 arg0)\n"
1734 " (declare (in) vec4 arg1)\n"
1735 " (declare (in) vec4 arg2))\n"
1736 " ((return (expression vec4 + (expression vec4 * (var_ref arg0) (expression vec4 - (constant float (1.000000)) (var_ref arg2))) (expression vec4 * (var_ref arg1) (var_ref arg2))))))\n"
1737 "\n"
1738 " (signature vec2\n"
1739 " (parameters\n"
1740 " (declare (in) vec2 arg0)\n"
1741 " (declare (in) vec2 arg1)\n"
1742 " (declare (in) float arg2))\n"
1743 " ((return (expression vec2 + (expression vec2 * (var_ref arg0) (expression float - (constant float (1.000000)) (var_ref arg2))) (expression vec2 * (var_ref arg1) (var_ref arg2))))))\n"
1744 "\n"
1745 " (signature vec3\n"
1746 " (parameters\n"
1747 " (declare (in) vec3 arg0)\n"
1748 " (declare (in) vec3 arg1)\n"
1749 " (declare (in) float arg2))\n"
1750 " ((return (expression vec3 + (expression vec3 * (var_ref arg0) (expression float - (constant float (1.000000)) (var_ref arg2))) (expression vec3 * (var_ref arg1) (var_ref arg2))))))\n"
1751 "\n"
1752 " (signature vec4\n"
1753 " (parameters\n"
1754 " (declare (in) vec4 arg0)\n"
1755 " (declare (in) vec4 arg1)\n"
1756 " (declare (in) float arg2))\n"
1757 " ((return (expression vec4 + (expression vec4 * (var_ref arg0) (expression float - (constant float (1.000000)) (var_ref arg2))) (expression vec4 * (var_ref arg1) (var_ref arg2))))))\n"
1758 "\n"
1759 " (signature float\n"
1760 " (parameters\n"
1761 " (declare (in) float v1)\n"
1762 " (declare (in) float v2)\n"
1763 " (declare (in) bool a))\n"
1764 " ((assign (var_ref a) (var_ref v1) (var_ref v2))\n"
1765 " (return (var_ref v1))))\n"
1766 "\n"
1767 " (signature vec2\n"
1768 " (parameters\n"
1769 " (declare (in) vec2 v1)\n"
1770 " (declare (in) vec2 v2)\n"
1771 " (declare (in) bvec2 a))\n"
1772 " ((assign (swiz x (var_ref a)) (x) (var_ref v1) (swiz x (var_ref v2)))\n"
1773 " (assign (swiz y (var_ref a)) (y) (var_ref v1) (swiz y (var_ref v2)))\n"
1774 " (return (var_ref v1))))\n"
1775 "\n"
1776 " (signature vec3\n"
1777 " (parameters\n"
1778 " (declare (in) vec3 v1)\n"
1779 " (declare (in) vec3 v2)\n"
1780 " (declare (in) bvec3 a))\n"
1781 " ((assign (swiz x (var_ref a)) (x) (var_ref v1) (swiz x (var_ref v2)))\n"
1782 " (assign (swiz y (var_ref a)) (y) (var_ref v1) (swiz y (var_ref v2)))\n"
1783 " (assign (swiz z (var_ref a)) (z) (var_ref v1) (swiz z (var_ref v2)))\n"
1784 " (return (var_ref v1))))\n"
1785 "\n"
1786 " (signature vec4\n"
1787 " (parameters\n"
1788 " (declare (in) vec4 v1)\n"
1789 " (declare (in) vec4 v2)\n"
1790 " (declare (in) bvec4 a))\n"
1791 " ((assign (swiz x (var_ref a)) (x) (var_ref v1) (swiz x (var_ref v2)))\n"
1792 " (assign (swiz y (var_ref a)) (y) (var_ref v1) (swiz y (var_ref v2)))\n"
1793 " (assign (swiz z (var_ref a)) (z) (var_ref v1) (swiz z (var_ref v2)))\n"
1794 " (assign (swiz w (var_ref a)) (w) (var_ref v1) (swiz w (var_ref v2)))\n"
1795 " (return (var_ref v1))))\n"
1796 "))\n"
1797 ""
1798 ;
1799 static const char builtin_mod[] =
1800 "((function mod\n"
1801 " (signature float\n"
1802 " (parameters\n"
1803 " (declare (in) float arg0)\n"
1804 " (declare (in) float arg1))\n"
1805 " ((return (expression float % (var_ref arg0) (var_ref arg1)))))\n"
1806 "\n"
1807 " (signature vec2\n"
1808 " (parameters\n"
1809 " (declare (in) vec2 arg0)\n"
1810 " (declare (in) vec2 arg1))\n"
1811 " ((return (expression vec2 % (var_ref arg0) (var_ref arg1)))))\n"
1812 "\n"
1813 " (signature vec3\n"
1814 " (parameters\n"
1815 " (declare (in) vec3 arg0)\n"
1816 " (declare (in) vec3 arg1))\n"
1817 " ((return (expression vec3 % (var_ref arg0) (var_ref arg1)))))\n"
1818 "\n"
1819 " (signature vec4\n"
1820 " (parameters\n"
1821 " (declare (in) vec4 arg0)\n"
1822 " (declare (in) vec4 arg1))\n"
1823 " ((return (expression vec4 % (var_ref arg0) (var_ref arg1)))))\n"
1824 "\n"
1825 " (signature vec2\n"
1826 " (parameters\n"
1827 " (declare (in) vec2 arg0)\n"
1828 " (declare (in) float arg1))\n"
1829 " ((return (expression vec2 % (var_ref arg0) (var_ref arg1)))))\n"
1830 "\n"
1831 " (signature vec3\n"
1832 " (parameters\n"
1833 " (declare (in) vec3 arg0)\n"
1834 " (declare (in) float arg1))\n"
1835 " ((return (expression vec3 % (var_ref arg0) (var_ref arg1)))))\n"
1836 "\n"
1837 " (signature vec4\n"
1838 " (parameters\n"
1839 " (declare (in) vec4 arg0)\n"
1840 " (declare (in) float arg1))\n"
1841 " ((return (expression vec4 % (var_ref arg0) (var_ref arg1)))))\n"
1842 "))\n"
1843 ""
1844 ;
1845 static const char builtin_modf[] =
1846 "((function modf\n"
1847 " (signature float\n"
1848 " (parameters\n"
1849 " (declare (in) float x)\n"
1850 " (declare (out) float i))\n"
1851 " ((declare () float t)\n"
1852 " (assign (constant bool (1)) (x) (var_ref t)\n"
1853 " (expression float trunc (var_ref x)))\n"
1854 " (assign (constant bool (1)) (x) (var_ref i) (var_ref t))\n"
1855 " (return (expression float - (var_ref x) (var_ref t)))))\n"
1856 "\n"
1857 " (signature vec2\n"
1858 " (parameters\n"
1859 " (declare (in) vec2 x)\n"
1860 " (declare (out) vec2 i))\n"
1861 " ((declare () vec2 t)\n"
1862 " (assign (constant bool (1)) (xy) (var_ref t)\n"
1863 " (expression vec2 trunc (var_ref x)))\n"
1864 " (assign (constant bool (1)) (xy) (var_ref i) (var_ref t))\n"
1865 " (return (expression vec2 - (var_ref x) (var_ref t)))))\n"
1866 "\n"
1867 " (signature vec3\n"
1868 " (parameters\n"
1869 " (declare (in) vec3 x)\n"
1870 " (declare (out) vec3 i))\n"
1871 " ((declare () vec3 t)\n"
1872 " (assign (constant bool (1)) (xyz) (var_ref t)\n"
1873 " (expression vec3 trunc (var_ref x)))\n"
1874 " (assign (constant bool (1)) (xyz) (var_ref i) (var_ref t))\n"
1875 " (return (expression vec3 - (var_ref x) (var_ref t)))))\n"
1876 "\n"
1877 " (signature vec4\n"
1878 " (parameters\n"
1879 " (declare (in) vec4 x)\n"
1880 " (declare (out) vec4 i))\n"
1881 " ((declare () vec4 t)\n"
1882 " (assign (constant bool (1)) (xyzw) (var_ref t)\n"
1883 " (expression vec4 trunc (var_ref x)))\n"
1884 " (assign (constant bool (1)) (xyzw) (var_ref i) (var_ref t))\n"
1885 " (return (expression vec4 - (var_ref x) (var_ref t)))))\n"
1886 "))\n"
1887 ""
1888 ;
1889 static const char builtin_noise1[] =
1890 "((function noise1\n"
1891 " (signature float\n"
1892 " (parameters\n"
1893 " (declare (in) float x))\n"
1894 " ((return (expression float noise (var_ref x)))))\n"
1895 " (signature float\n"
1896 " (parameters\n"
1897 " (declare (in) vec2 x))\n"
1898 " ((return (expression float noise (var_ref x)))))\n"
1899 " (signature float\n"
1900 " (parameters\n"
1901 " (declare (in) vec3 x))\n"
1902 " ((return (expression float noise (var_ref x)))))\n"
1903 " (signature float\n"
1904 " (parameters\n"
1905 " (declare (in) vec4 x))\n"
1906 " ((return (expression float noise (var_ref x)))))\n"
1907 "))\n"
1908 ""
1909 ;
1910 static const char builtin_noise2[] =
1911 "((function noise2\n"
1912 " (signature vec2\n"
1913 " (parameters (declare (in) vec4 p))\n"
1914 " (\n"
1915 " (declare () float a)\n"
1916 " (declare () float b)\n"
1917 " (declare () vec2 t)\n"
1918 "\n"
1919 " (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
1920 " (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression vec4 + (var_ref p) (constant vec4 (601.0 313.0 29.0 277.0)))))\n"
1921 " (assign (constant bool (1)) (x) (var_ref t) (var_ref a))\n"
1922 " (assign (constant bool (1)) (y) (var_ref t) (var_ref b))\n"
1923 " (return (var_ref t))\n"
1924 " ))\n"
1925 "\n"
1926 " (signature vec2\n"
1927 " (parameters (declare (in) vec3 p))\n"
1928 " (\n"
1929 " (declare () float a)\n"
1930 " (declare () float b)\n"
1931 " (declare () vec2 t)\n"
1932 "\n"
1933 " (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
1934 " (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression vec3 + (var_ref p) (constant vec3 (601.0 313.0 29.0)))))\n"
1935 " (assign (constant bool (1)) (x) (var_ref t) (var_ref a))\n"
1936 " (assign (constant bool (1)) (y) (var_ref t) (var_ref b))\n"
1937 " (return (var_ref t))\n"
1938 " ))\n"
1939 "\n"
1940 " (signature vec2\n"
1941 " (parameters\n"
1942 " (declare (in ) vec2 p)\n"
1943 " )\n"
1944 " (\n"
1945 " (declare () float a)\n"
1946 " (declare () float b)\n"
1947 " (declare () vec2 t)\n"
1948 "\n"
1949 " (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
1950 " (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression vec2 + (var_ref p) (constant vec2 (601.0 313.0)))))\n"
1951 " (assign (constant bool (1)) (x) (var_ref t) (var_ref a))\n"
1952 " (assign (constant bool (1)) (y) (var_ref t) (var_ref b))\n"
1953 " (return (var_ref t))\n"
1954 " ))\n"
1955 "\n"
1956 " (signature vec2\n"
1957 " (parameters\n"
1958 " (declare (in ) float p)\n"
1959 " )\n"
1960 " (\n"
1961 " (declare () float a)\n"
1962 " (declare () float b)\n"
1963 " (declare () vec2 t)\n"
1964 "\n"
1965 " (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
1966 " (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression float + (var_ref p) (constant float (601.0)))))\n"
1967 " (assign (constant bool (1)) (x) (var_ref t) (var_ref a))\n"
1968 " (assign (constant bool (1)) (y) (var_ref t) (var_ref b))\n"
1969 " (return (var_ref t))\n"
1970 " ))\n"
1971 "))\n"
1972 ""
1973 ;
1974 static const char builtin_noise3[] =
1975 "((function noise3\n"
1976 " (signature vec3\n"
1977 " (parameters (declare (in) vec4 p))\n"
1978 " (\n"
1979 " (declare () float a)\n"
1980 " (declare () float b)\n"
1981 " (declare () float c)\n"
1982 " (declare () vec3 t)\n"
1983 "\n"
1984 " (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
1985 " (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression vec4 + (var_ref p) (constant vec4 (601.0 313.0 29.0 277.0)))))\n"
1986 " (assign (constant bool (1)) (x) (var_ref c) (expression float noise (expression vec4 + (var_ref p) (constant vec4 (1559.0 113.0 1861.0 797.0)))))\n"
1987 "\n"
1988 " (assign (constant bool (1)) (x) (var_ref t) (var_ref a))\n"
1989 " (assign (constant bool (1)) (y) (var_ref t) (var_ref b))\n"
1990 " (assign (constant bool (1)) (z) (var_ref t) (var_ref c))\n"
1991 " (return (var_ref t))\n"
1992 " ))\n"
1993 "\n"
1994 " (signature vec3\n"
1995 " (parameters (declare (in) vec3 p))\n"
1996 " (\n"
1997 " (declare () float a)\n"
1998 " (declare () float b)\n"
1999 " (declare () float c)\n"
2000 " (declare () vec3 t)\n"
2001 "\n"
2002 " (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
2003 " (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression vec3 + (var_ref p) (constant vec3 (601.0 313.0 29.0)))))\n"
2004 " (assign (constant bool (1)) (x) (var_ref c) (expression float noise (expression vec3 + (var_ref p) (constant vec3 (1559.0 113.0 1861.0)))))\n"
2005 "\n"
2006 " (assign (constant bool (1)) (x) (var_ref t) (var_ref a))\n"
2007 " (assign (constant bool (1)) (y) (var_ref t) (var_ref b))\n"
2008 " (assign (constant bool (1)) (z) (var_ref t) (var_ref c))\n"
2009 " (return (var_ref t))\n"
2010 " ))\n"
2011 "\n"
2012 " (signature vec3\n"
2013 " (parameters (declare (in) vec2 p))\n"
2014 " (\n"
2015 " (declare () float a)\n"
2016 " (declare () float b)\n"
2017 " (declare () float c)\n"
2018 " (declare () vec3 t)\n"
2019 "\n"
2020 " (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
2021 " (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression vec2 + (var_ref p) (constant vec2 (601.0 313.0)))))\n"
2022 " (assign (constant bool (1)) (x) (var_ref c) (expression float noise (expression vec2 + (var_ref p) (constant vec2 (1559.0 113.0)))))\n"
2023 "\n"
2024 " (assign (constant bool (1)) (x) (var_ref t) (var_ref a))\n"
2025 " (assign (constant bool (1)) (y) (var_ref t) (var_ref b))\n"
2026 " (assign (constant bool (1)) (z) (var_ref t) (var_ref c))\n"
2027 " (return (var_ref t))\n"
2028 " ))\n"
2029 "\n"
2030 " (signature vec3\n"
2031 " (parameters (declare (in) float p))\n"
2032 " (\n"
2033 " (declare () float a)\n"
2034 " (declare () float b)\n"
2035 " (declare () float c)\n"
2036 " (declare () vec3 t)\n"
2037 "\n"
2038 " (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
2039 " (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression float + (var_ref p) (constant float (601.0)))))\n"
2040 " (assign (constant bool (1)) (x) (var_ref c) (expression float noise (expression float + (var_ref p) (constant float (1559.0)))))\n"
2041 "\n"
2042 " (assign (constant bool (1)) (x) (var_ref t) (var_ref a))\n"
2043 " (assign (constant bool (1)) (y) (var_ref t) (var_ref b))\n"
2044 " (assign (constant bool (1)) (z) (var_ref t) (var_ref c))\n"
2045 " (return (var_ref t))\n"
2046 " ))\n"
2047 "))\n"
2048 ""
2049 ;
2050 static const char builtin_noise4[] =
2051 "((function noise4\n"
2052 " (signature vec4\n"
2053 " (parameters (declare (in) vec4 p))\n"
2054 " (\n"
2055 " (declare () float _x)\n"
2056 " (declare () float _y)\n"
2057 " (declare () float _z)\n"
2058 " (declare () float _w)\n"
2059 " (declare () vec4 _r)\n"
2060 "\n"
2061 " (declare () vec4 _p)\n"
2062 " (assign (constant bool (1)) (xyzw) (var_ref _p) (expression vec4 + (var_ref p) (constant vec4 (1559.0 113.0 1861.0 797.0))) )\n"
2063 "\n"
2064 " (assign (constant bool (1)) (x) (var_ref _x) (expression float noise(var_ref p)))\n"
2065 " (assign (constant bool (1)) (x) (var_ref _y) (expression float noise(expression vec4 + (var_ref p) (constant vec4 (601.0 313.0 29.0 277.0)))))\n"
2066 " (assign (constant bool (1)) (x) (var_ref _z) (expression float noise(var_ref _p)))\n"
2067 " (assign (constant bool (1)) (x) (var_ref _w) (expression float noise(expression vec4 + (var_ref _p) (constant vec4 (601.0 313.0 29.0 277.0)))))\n"
2068 "\n"
2069 " (assign (constant bool (1)) (x) (var_ref _r) (var_ref _x))\n"
2070 " (assign (constant bool (1)) (y) (var_ref _r) (var_ref _y))\n"
2071 " (assign (constant bool (1)) (z) (var_ref _r) (var_ref _z))\n"
2072 " (assign (constant bool (1)) (w) (var_ref _r) (var_ref _w))\n"
2073 " (return (var_ref _r))\n"
2074 " ))\n"
2075 "\n"
2076 " (signature vec4\n"
2077 " (parameters (declare (in) vec3 p))\n"
2078 " (\n"
2079 " (declare () float _x)\n"
2080 " (declare () float _y)\n"
2081 " (declare () float _z)\n"
2082 " (declare () float _w)\n"
2083 " (declare () vec4 _r)\n"
2084 "\n"
2085 " (declare () vec3 _p)\n"
2086 " (assign (constant bool (1)) (xyz) (var_ref _p) (expression vec3 + (var_ref p) (constant vec3 (1559.0 113.0 1861.0))) )\n"
2087 "\n"
2088 " (assign (constant bool (1)) (x) (var_ref _x) (expression float noise(var_ref p)))\n"
2089 " (assign (constant bool (1)) (x) (var_ref _y) (expression float noise(expression vec3 + (var_ref p) (constant vec3 (601.0 313.0 29.0)))))\n"
2090 " (assign (constant bool (1)) (x) (var_ref _z) (expression float noise(var_ref _p)))\n"
2091 " (assign (constant bool (1)) (x) (var_ref _w) (expression float noise(expression vec3 + (var_ref _p) (constant vec3 (601.0 313.0 29.0)))))\n"
2092 "\n"
2093 " (assign (constant bool (1)) (x) (var_ref _r) (var_ref _x))\n"
2094 " (assign (constant bool (1)) (y) (var_ref _r) (var_ref _y))\n"
2095 " (assign (constant bool (1)) (z) (var_ref _r) (var_ref _z))\n"
2096 " (assign (constant bool (1)) (w) (var_ref _r) (var_ref _w))\n"
2097 " (return (var_ref _r))\n"
2098 " ))\n"
2099 "\n"
2100 " (signature vec4\n"
2101 " (parameters (declare (in) vec2 p))\n"
2102 " (\n"
2103 " (declare () float _x)\n"
2104 " (declare () float _y)\n"
2105 " (declare () float _z)\n"
2106 " (declare () float _w)\n"
2107 " (declare () vec4 _r)\n"
2108 "\n"
2109 " (declare () vec2 _p)\n"
2110 " (assign (constant bool (1)) (xy) (var_ref _p) (expression vec2 + (var_ref p) (constant vec2 (1559.0 113.0))) )\n"
2111 "\n"
2112 " (assign (constant bool (1)) (x) (var_ref _x) (expression float noise(var_ref p)))\n"
2113 " (assign (constant bool (1)) (x) (var_ref _y) (expression float noise(expression vec2 + (var_ref p) (constant vec2 (601.0 313.0)))))\n"
2114 " (assign (constant bool (1)) (x) (var_ref _z) (expression float noise(var_ref _p)))\n"
2115 " (assign (constant bool (1)) (x) (var_ref _w) (expression float noise(expression vec2 + (var_ref _p) (constant vec2 (601.0 313.0)))))\n"
2116 "\n"
2117 " (assign (constant bool (1)) (x) (var_ref _r) (var_ref _x))\n"
2118 " (assign (constant bool (1)) (y) (var_ref _r) (var_ref _y))\n"
2119 " (assign (constant bool (1)) (z) (var_ref _r) (var_ref _z))\n"
2120 " (assign (constant bool (1)) (w) (var_ref _r) (var_ref _w))\n"
2121 " (return (var_ref _r))\n"
2122 " ))\n"
2123 "\n"
2124 " (signature vec4\n"
2125 " (parameters (declare (in) float p))\n"
2126 " (\n"
2127 " (declare () float _x)\n"
2128 " (declare () float _y)\n"
2129 " (declare () float _z)\n"
2130 " (declare () float _w)\n"
2131 " (declare () vec4 _r)\n"
2132 "\n"
2133 " (declare () float _p)\n"
2134 " (assign (constant bool (1)) (x) (var_ref _p) (expression float + (var_ref p) (constant float (1559.0))) )\n"
2135 "\n"
2136 " (assign (constant bool (1)) (x) (var_ref _x) (expression float noise(var_ref p)))\n"
2137 " (assign (constant bool (1)) (x) (var_ref _y) (expression float noise(expression float + (var_ref p) (constant float (601.0 313.0 29.0 277.0)))))\n"
2138 " (assign (constant bool (1)) (x) (var_ref _z) (expression float noise(var_ref _p)))\n"
2139 " (assign (constant bool (1)) (x) (var_ref _w) (expression float noise(expression float + (var_ref _p) (constant float (601.0 313.0 29.0 277.0)))))\n"
2140 "\n"
2141 " (assign (constant bool (1)) (x) (var_ref _r) (var_ref _x))\n"
2142 " (assign (constant bool (1)) (y) (var_ref _r) (var_ref _y))\n"
2143 " (assign (constant bool (1)) (z) (var_ref _r) (var_ref _z))\n"
2144 " (assign (constant bool (1)) (w) (var_ref _r) (var_ref _w))\n"
2145 " (return (var_ref _r))\n"
2146 " ))\n"
2147 "))\n"
2148 ""
2149 ;
2150 static const char builtin_normalize[] =
2151 "((function normalize\n"
2152 " (signature float\n"
2153 " (parameters\n"
2154 " (declare (in) float arg0))\n"
2155 " ((return (expression float sign (var_ref arg0)))))\n"
2156 "\n"
2157 " (signature vec2\n"
2158 " (parameters\n"
2159 " (declare (in) vec2 arg0))\n"
2160 " ((return (expression vec2 * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
2161 "\n"
2162 " (signature vec3\n"
2163 " (parameters\n"
2164 " (declare (in) vec3 arg0))\n"
2165 " ((return (expression vec3 * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
2166 "\n"
2167 " (signature vec4\n"
2168 " (parameters\n"
2169 " (declare (in) vec4 arg0))\n"
2170 " ((return (expression vec4 * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
2171 "))\n"
2172 ""
2173 ;
2174 static const char builtin_not[] =
2175 "((function not\n"
2176 " (signature bvec2\n"
2177 " (parameters\n"
2178 " (declare (in) bvec2 arg0))\n"
2179 " ((return (expression bvec2 ! (var_ref arg0)))))\n"
2180 "\n"
2181 " (signature bvec3\n"
2182 " (parameters\n"
2183 " (declare (in) bvec3 arg0))\n"
2184 " ((return (expression bvec3 ! (var_ref arg0)))))\n"
2185 "\n"
2186 " (signature bvec4\n"
2187 " (parameters\n"
2188 " (declare (in) bvec4 arg0))\n"
2189 " ((return (expression bvec4 ! (var_ref arg0)))))\n"
2190 "))\n"
2191 ""
2192 ;
2193 static const char builtin_notEqual[] =
2194 "((function notEqual\n"
2195 " (signature bvec2\n"
2196 " (parameters\n"
2197 " (declare (in) vec2 arg0)\n"
2198 " (declare (in) vec2 arg1))\n"
2199 " ((return (expression bvec2 != (var_ref arg0) (var_ref arg1)))))\n"
2200 "\n"
2201 " (signature bvec3\n"
2202 " (parameters\n"
2203 " (declare (in) vec3 arg0)\n"
2204 " (declare (in) vec3 arg1))\n"
2205 " ((return (expression bvec3 != (var_ref arg0) (var_ref arg1)))))\n"
2206 "\n"
2207 " (signature bvec4\n"
2208 " (parameters\n"
2209 " (declare (in) vec4 arg0)\n"
2210 " (declare (in) vec4 arg1))\n"
2211 " ((return (expression bvec4 != (var_ref arg0) (var_ref arg1)))))\n"
2212 "\n"
2213 " (signature bvec2\n"
2214 " (parameters\n"
2215 " (declare (in) bvec2 arg0)\n"
2216 " (declare (in) bvec2 arg1))\n"
2217 " ((return (expression bvec2 != (var_ref arg0) (var_ref arg1)))))\n"
2218 "\n"
2219 " (signature bvec3\n"
2220 " (parameters\n"
2221 " (declare (in) bvec3 arg0)\n"
2222 " (declare (in) bvec3 arg1))\n"
2223 " ((return (expression bvec3 != (var_ref arg0) (var_ref arg1)))))\n"
2224 "\n"
2225 " (signature bvec4\n"
2226 " (parameters\n"
2227 " (declare (in) bvec4 arg0)\n"
2228 " (declare (in) bvec4 arg1))\n"
2229 " ((return (expression bvec4 != (var_ref arg0) (var_ref arg1)))))\n"
2230 "\n"
2231 " (signature bvec2\n"
2232 " (parameters\n"
2233 " (declare (in) ivec2 arg0)\n"
2234 " (declare (in) ivec2 arg1))\n"
2235 " ((return (expression bvec2 != (var_ref arg0) (var_ref arg1)))))\n"
2236 "\n"
2237 " (signature bvec3\n"
2238 " (parameters\n"
2239 " (declare (in) ivec3 arg0)\n"
2240 " (declare (in) ivec3 arg1))\n"
2241 " ((return (expression bvec3 != (var_ref arg0) (var_ref arg1)))))\n"
2242 "\n"
2243 " (signature bvec4\n"
2244 " (parameters\n"
2245 " (declare (in) ivec4 arg0)\n"
2246 " (declare (in) ivec4 arg1))\n"
2247 " ((return (expression bvec4 != (var_ref arg0) (var_ref arg1)))))\n"
2248 "\n"
2249 " (signature bvec2\n"
2250 " (parameters\n"
2251 " (declare (in) uvec2 arg0)\n"
2252 " (declare (in) uvec2 arg1))\n"
2253 " ((return (expression bvec2 != (var_ref arg0) (var_ref arg1)))))\n"
2254 "\n"
2255 " (signature bvec3\n"
2256 " (parameters\n"
2257 " (declare (in) uvec3 arg0)\n"
2258 " (declare (in) uvec3 arg1))\n"
2259 " ((return (expression bvec3 != (var_ref arg0) (var_ref arg1)))))\n"
2260 "\n"
2261 " (signature bvec4\n"
2262 " (parameters\n"
2263 " (declare (in) uvec4 arg0)\n"
2264 " (declare (in) uvec4 arg1))\n"
2265 " ((return (expression bvec4 != (var_ref arg0) (var_ref arg1)))))\n"
2266 "))\n"
2267 ""
2268 ;
2269 static const char builtin_outerProduct[] =
2270 "((function outerProduct\n"
2271 " (signature mat2\n"
2272 " (parameters\n"
2273 " (declare (in) vec2 u)\n"
2274 " (declare (in) vec2 v))\n"
2275 " ((declare () mat2 m)\n"
2276 " (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))\n"
2277 " (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))\n"
2278 " (return (var_ref m))))\n"
2279 "\n"
2280 " (signature mat2x3\n"
2281 " (parameters\n"
2282 " (declare (in) vec3 u)\n"
2283 " (declare (in) vec2 v))\n"
2284 " ((declare () mat2x3 m)\n"
2285 " (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))\n"
2286 " (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))\n"
2287 " (return (var_ref m))))\n"
2288 "\n"
2289 " (signature mat2x4\n"
2290 " (parameters\n"
2291 " (declare (in) vec4 u)\n"
2292 " (declare (in) vec2 v))\n"
2293 " ((declare () mat2x4 m)\n"
2294 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))\n"
2295 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))\n"
2296 " (return (var_ref m))))\n"
2297 "\n"
2298 " (signature mat3x2\n"
2299 " (parameters\n"
2300 " (declare (in) vec2 u)\n"
2301 " (declare (in) vec3 v))\n"
2302 " ((declare () mat3x2 m)\n"
2303 " (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))\n"
2304 " (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))\n"
2305 " (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (2))) (expression vec2 * (var_ref u) (swiz z (var_ref v))))\n"
2306 " (return (var_ref m))\n"
2307 " ))\n"
2308 "\n"
2309 " (signature mat3\n"
2310 " (parameters\n"
2311 " (declare (in) vec3 u)\n"
2312 " (declare (in) vec3 v))\n"
2313 " ((declare () mat3 m)\n"
2314 " (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))\n"
2315 " (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))\n"
2316 " (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (2))) (expression vec3 * (var_ref u) (swiz z (var_ref v))))\n"
2317 " (return (var_ref m))))\n"
2318 "\n"
2319 " (signature mat3x4\n"
2320 " (parameters\n"
2321 " (declare (in) vec4 u)\n"
2322 " (declare (in) vec3 v))\n"
2323 " ((declare () mat3x4 m)\n"
2324 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))\n"
2325 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))\n"
2326 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (2))) (expression vec4 * (var_ref u) (swiz z (var_ref v))))\n"
2327 " (return (var_ref m))))\n"
2328 "\n"
2329 " (signature mat4x2\n"
2330 " (parameters\n"
2331 " (declare (in) vec2 u)\n"
2332 " (declare (in) vec4 v))\n"
2333 " ((declare () mat4x2 m)\n"
2334 " (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))\n"
2335 " (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))\n"
2336 " (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (2))) (expression vec2 * (var_ref u) (swiz z (var_ref v))))\n"
2337 " (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (3))) (expression vec2 * (var_ref u) (swiz w (var_ref v))))\n"
2338 " (return (var_ref m))))\n"
2339 "\n"
2340 " (signature mat4x3\n"
2341 " (parameters\n"
2342 " (declare (in) vec3 u)\n"
2343 " (declare (in) vec4 v))\n"
2344 " ((declare () mat4x3 m)\n"
2345 " (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))\n"
2346 " (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))\n"
2347 " (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (2))) (expression vec3 * (var_ref u) (swiz z (var_ref v))))\n"
2348 " (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (3))) (expression vec3 * (var_ref u) (swiz w (var_ref v))))\n"
2349 " (return (var_ref m))))\n"
2350 "\n"
2351 " (signature mat4\n"
2352 " (parameters\n"
2353 " (declare (in) vec4 u)\n"
2354 " (declare (in) vec4 v))\n"
2355 " ((declare () mat4 m)\n"
2356 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))\n"
2357 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))\n"
2358 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (2))) (expression vec4 * (var_ref u) (swiz z (var_ref v))))\n"
2359 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (3))) (expression vec4 * (var_ref u) (swiz w (var_ref v))))\n"
2360 " (return (var_ref m))))\n"
2361 "))\n"
2362 ""
2363 ;
2364 static const char builtin_pow[] =
2365 "((function pow\n"
2366 " (signature float\n"
2367 " (parameters\n"
2368 " (declare (in) float arg0)\n"
2369 " (declare (in) float arg1))\n"
2370 " ((return (expression float pow (var_ref arg0) (var_ref arg1)))))\n"
2371 "\n"
2372 " (signature vec2\n"
2373 " (parameters\n"
2374 " (declare (in) vec2 arg0)\n"
2375 " (declare (in) vec2 arg1))\n"
2376 " ((return (expression vec2 pow (var_ref arg0) (var_ref arg1)))))\n"
2377 "\n"
2378 " (signature vec3\n"
2379 " (parameters\n"
2380 " (declare (in) vec3 arg0)\n"
2381 " (declare (in) vec3 arg1))\n"
2382 " ((return (expression vec3 pow (var_ref arg0) (var_ref arg1)))))\n"
2383 "\n"
2384 " (signature vec4\n"
2385 " (parameters\n"
2386 " (declare (in) vec4 arg0)\n"
2387 " (declare (in) vec4 arg1))\n"
2388 " ((return (expression vec4 pow (var_ref arg0) (var_ref arg1)))))\n"
2389 "))\n"
2390 ""
2391 ;
2392 static const char builtin_radians[] =
2393 "((function radians\n"
2394 " (signature float\n"
2395 " (parameters\n"
2396 " (declare (in) float arg0))\n"
2397 " ((return (expression float * (var_ref arg0) (constant float (0.017453))))))\n"
2398 "\n"
2399 " (signature vec2\n"
2400 " (parameters\n"
2401 " (declare (in) vec2 arg0))\n"
2402 " ((return (expression vec2 * (var_ref arg0) (constant float (0.017453))))))\n"
2403 "\n"
2404 " (signature vec3\n"
2405 " (parameters\n"
2406 " (declare (in) vec3 arg0))\n"
2407 " ((return (expression vec3 * (var_ref arg0) (constant float (0.017453))))))\n"
2408 "\n"
2409 " (signature vec4\n"
2410 " (parameters\n"
2411 " (declare (in) vec4 arg0))\n"
2412 " ((return (expression vec4 * (var_ref arg0) (constant float (0.017453))))))\n"
2413 "))\n"
2414 ""
2415 ;
2416 static const char builtin_reflect[] =
2417 "((function reflect\n"
2418 " (signature float\n"
2419 " (parameters\n"
2420 " (declare (in) float i)\n"
2421 " (declare (in) float n))\n"
2422 " ((return (expression float -\n"
2423 " (var_ref i)\n"
2424 " (expression float *\n"
2425 " (constant float (2.0))\n"
2426 " (expression float *\n"
2427 " (expression float *\n"
2428 " (var_ref n)\n"
2429 " (var_ref i))\n"
2430 " (var_ref n)))))))\n"
2431 "\n"
2432 " (signature vec2\n"
2433 " (parameters\n"
2434 " (declare (in) vec2 i)\n"
2435 " (declare (in) vec2 n))\n"
2436 " ((return (expression vec2 -\n"
2437 " (var_ref i)\n"
2438 " (expression vec2 *\n"
2439 " (constant float (2.0))\n"
2440 " (expression vec2 *\n"
2441 " (expression float dot\n"
2442 " (var_ref n)\n"
2443 " (var_ref i))\n"
2444 " (var_ref n)))))))\n"
2445 "\n"
2446 " (signature vec3\n"
2447 " (parameters\n"
2448 " (declare (in) vec3 i)\n"
2449 " (declare (in) vec3 n))\n"
2450 " ((return (expression vec3 -\n"
2451 " (var_ref i)\n"
2452 " (expression vec3 *\n"
2453 " (constant float (2.0))\n"
2454 " (expression vec3 *\n"
2455 " (expression float dot\n"
2456 " (var_ref n)\n"
2457 " (var_ref i))\n"
2458 " (var_ref n)))))))\n"
2459 "\n"
2460 " (signature vec4\n"
2461 " (parameters\n"
2462 " (declare (in) vec4 i)\n"
2463 " (declare (in) vec4 n))\n"
2464 " ((return (expression vec4 -\n"
2465 " (var_ref i)\n"
2466 " (expression vec4 *\n"
2467 " (constant float (2.0))\n"
2468 " (expression vec4 *\n"
2469 " (expression float dot\n"
2470 " (var_ref n)\n"
2471 " (var_ref i))\n"
2472 " (var_ref n)))))))\n"
2473 "\n"
2474 "))\n"
2475 ""
2476 ;
2477 static const char builtin_refract[] =
2478 "((function refract\n"
2479 " (signature float\n"
2480 " (parameters\n"
2481 " (declare (in) float i)\n"
2482 " (declare (in) float n)\n"
2483 " (declare (in) float eta))\n"
2484 " ((declare () float k)\n"
2485 " (assign (constant bool (1)) (x) (var_ref k)\n"
2486 " (expression float - (constant float (1.0))\n"
2487 " (expression float * (var_ref eta)\n"
2488 " (expression float * (var_ref eta)\n"
2489 " (expression float - (constant float (1.0))\n"
2490 " (expression float * \n"
2491 " (expression float * (var_ref n) (var_ref i))\n"
2492 " (expression float * (var_ref n) (var_ref i))))))))\n"
2493 " (if (expression bool < (var_ref k) (constant float (0.0)))\n"
2494 " ((return (constant float (0.0))))\n"
2495 " ((return (expression float -\n"
2496 " (expression float * (var_ref eta) (var_ref i))\n"
2497 " (expression float *\n"
2498 " (expression float +\n"
2499 " (expression float * (var_ref eta)\n"
2500 " (expression float * (var_ref n) (var_ref i)))\n"
2501 " (expression float sqrt (var_ref k)))\n"
2502 " (var_ref n))))))))\n"
2503 "\n"
2504 " (signature vec2\n"
2505 " (parameters\n"
2506 " (declare (in) vec2 i)\n"
2507 " (declare (in) vec2 n)\n"
2508 " (declare (in) float eta))\n"
2509 " ((declare () float k)\n"
2510 " (assign (constant bool (1)) (x) (var_ref k)\n"
2511 " (expression float - (constant float (1.0))\n"
2512 " (expression float * (var_ref eta)\n"
2513 " (expression float * (var_ref eta)\n"
2514 " (expression float - (constant float (1.0))\n"
2515 " (expression float * \n"
2516 " (expression float dot (var_ref n) (var_ref i))\n"
2517 " (expression float dot (var_ref n) (var_ref i))))))))\n"
2518 " (if (expression bool < (var_ref k) (constant float (0.0)))\n"
2519 " ((return (constant vec2 (0.0 0.0))))\n"
2520 " ((return (expression vec2 -\n"
2521 " (expression vec2 * (var_ref eta) (var_ref i))\n"
2522 " (expression vec2 *\n"
2523 " (expression float +\n"
2524 " (expression float * (var_ref eta)\n"
2525 " (expression float dot (var_ref n) (var_ref i)))\n"
2526 " (expression float sqrt (var_ref k)))\n"
2527 " (var_ref n))))))))\n"
2528 "\n"
2529 " (signature vec3\n"
2530 " (parameters\n"
2531 " (declare (in) vec3 i)\n"
2532 " (declare (in) vec3 n)\n"
2533 " (declare (in) float eta))\n"
2534 " ((declare () float k)\n"
2535 " (assign (constant bool (1)) (x) (var_ref k)\n"
2536 " (expression float - (constant float (1.0))\n"
2537 " (expression float * (var_ref eta)\n"
2538 " (expression float * (var_ref eta)\n"
2539 " (expression float - (constant float (1.0))\n"
2540 " (expression float * \n"
2541 " (expression float dot (var_ref n) (var_ref i))\n"
2542 " (expression float dot (var_ref n) (var_ref i))))))))\n"
2543 " (if (expression bool < (var_ref k) (constant float (0.0)))\n"
2544 " ((return (constant vec3 (0.0 0.0 0.0))))\n"
2545 " ((return (expression vec3 -\n"
2546 " (expression vec3 * (var_ref eta) (var_ref i))\n"
2547 " (expression vec3 *\n"
2548 " (expression float +\n"
2549 " (expression float * (var_ref eta)\n"
2550 " (expression float dot (var_ref n) (var_ref i)))\n"
2551 " (expression float sqrt (var_ref k)))\n"
2552 " (var_ref n))))))))\n"
2553 "\n"
2554 " (signature vec4\n"
2555 " (parameters\n"
2556 " (declare (in) vec4 i)\n"
2557 " (declare (in) vec4 n)\n"
2558 " (declare (in) float eta))\n"
2559 " ((declare () float k)\n"
2560 " (assign (constant bool (1)) (x) (var_ref k)\n"
2561 " (expression float - (constant float (1.0))\n"
2562 " (expression float * (var_ref eta)\n"
2563 " (expression float * (var_ref eta)\n"
2564 " (expression float - (constant float (1.0))\n"
2565 " (expression float * \n"
2566 " (expression float dot (var_ref n) (var_ref i))\n"
2567 " (expression float dot (var_ref n) (var_ref i))))))))\n"
2568 " (if (expression bool < (var_ref k) (constant float (0.0)))\n"
2569 " ((return (constant vec4 (0.0 0.0 0.0 0.0))))\n"
2570 " ((return (expression vec4 -\n"
2571 " (expression vec4 * (var_ref eta) (var_ref i))\n"
2572 " (expression vec4 *\n"
2573 " (expression float +\n"
2574 " (expression float * (var_ref eta)\n"
2575 " (expression float dot (var_ref n) (var_ref i)))\n"
2576 " (expression float sqrt (var_ref k)))\n"
2577 " (var_ref n))))))))\n"
2578 "\n"
2579 "))\n"
2580 ""
2581 ;
2582 static const char builtin_round[] =
2583 "((function round\n"
2584 " (signature float\n"
2585 " (parameters\n"
2586 " (declare (in) float arg0))\n"
2587 " ((return (expression float round_even (var_ref arg0)))))\n"
2588 "\n"
2589 " (signature vec2\n"
2590 " (parameters\n"
2591 " (declare (in) vec2 arg0))\n"
2592 " ((return (expression vec2 round_even (var_ref arg0)))))\n"
2593 "\n"
2594 " (signature vec3\n"
2595 " (parameters\n"
2596 " (declare (in) vec3 arg0))\n"
2597 " ((return (expression vec3 round_even (var_ref arg0)))))\n"
2598 "\n"
2599 " (signature vec4\n"
2600 " (parameters\n"
2601 " (declare (in) vec4 arg0))\n"
2602 " ((return (expression vec4 round_even (var_ref arg0)))))\n"
2603 "))\n"
2604 ""
2605 ;
2606 static const char builtin_roundEven[] =
2607 "((function roundEven\n"
2608 " (signature float\n"
2609 " (parameters\n"
2610 " (declare (in) float arg0))\n"
2611 " ((return (expression float round_even (var_ref arg0)))))\n"
2612 "\n"
2613 " (signature vec2\n"
2614 " (parameters\n"
2615 " (declare (in) vec2 arg0))\n"
2616 " ((return (expression vec2 round_even (var_ref arg0)))))\n"
2617 "\n"
2618 " (signature vec3\n"
2619 " (parameters\n"
2620 " (declare (in) vec3 arg0))\n"
2621 " ((return (expression vec3 round_even (var_ref arg0)))))\n"
2622 "\n"
2623 " (signature vec4\n"
2624 " (parameters\n"
2625 " (declare (in) vec4 arg0))\n"
2626 " ((return (expression vec4 round_even (var_ref arg0)))))\n"
2627 "))\n"
2628 ""
2629 ;
2630 static const char builtin_shadow1D[] =
2631 "((function shadow1D\n"
2632 " (signature vec4\n"
2633 " (parameters\n"
2634 " (declare (in) sampler1DShadow sampler)\n"
2635 " (declare (in) vec3 P) )\n"
2636 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) ))))\n"
2637 "\n"
2638 " (signature vec4\n"
2639 " (parameters\n"
2640 " (declare (in) sampler1DShadow sampler)\n"
2641 " (declare (in) vec3 P) \n"
2642 " (declare (in) float bias) )\n"
2643 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref bias) ))))\n"
2644 "\n"
2645 "))\n"
2646 ""
2647 ;
2648 static const char builtin_shadow1DArray[] =
2649 "((function shadow1DArray\n"
2650 " (signature vec4\n"
2651 " (parameters\n"
2652 " (declare (in) sampler1DArrayShadow sampler)\n"
2653 " (declare (in) vec3 P) )\n"
2654 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) ))))\n"
2655 "\n"
2656 " (signature vec4\n"
2657 " (parameters\n"
2658 " (declare (in) sampler1DArrayShadow sampler)\n"
2659 " (declare (in) vec3 P) \n"
2660 " (declare (in) float bias) )\n"
2661 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref bias) ))))\n"
2662 "\n"
2663 "))\n"
2664 ""
2665 ;
2666 static const char builtin_shadow1DArrayLod[] =
2667 "((function shadow1DArrayLod\n"
2668 " (signature vec4\n"
2669 " (parameters\n"
2670 " (declare (in) sampler1DArrayShadow sampler)\n"
2671 " (declare (in) vec3 P) \n"
2672 " (declare (in) float lod) )\n"
2673 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref lod) ))))\n"
2674 "\n"
2675 "))\n"
2676 ""
2677 ;
2678 static const char builtin_shadow1DLod[] =
2679 "((function shadow1DLod\n"
2680 " (signature vec4\n"
2681 " (parameters\n"
2682 " (declare (in) sampler1DShadow sampler)\n"
2683 " (declare (in) vec3 P) \n"
2684 " (declare (in) float lod) )\n"
2685 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref lod) ))))\n"
2686 "\n"
2687 "))\n"
2688 ""
2689 ;
2690 static const char builtin_shadow1DProj[] =
2691 "((function shadow1DProj\n"
2692 " (signature vec4\n"
2693 " (parameters\n"
2694 " (declare (in) sampler1DShadow sampler)\n"
2695 " (declare (in) vec4 P) )\n"
2696 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) ))))\n"
2697 "\n"
2698 " (signature vec4\n"
2699 " (parameters\n"
2700 " (declare (in) sampler1DShadow sampler)\n"
2701 " (declare (in) vec4 P) \n"
2702 " (declare (in) float bias) )\n"
2703 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) (var_ref bias) ))))\n"
2704 "\n"
2705 "))\n"
2706 ""
2707 ;
2708 static const char builtin_shadow1DProjLod[] =
2709 "((function shadow1DProjLod\n"
2710 " (signature vec4\n"
2711 " (parameters\n"
2712 " (declare (in) sampler1DShadow sampler)\n"
2713 " (declare (in) vec4 P) \n"
2714 " (declare (in) float lod) )\n"
2715 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) (var_ref lod) ))))\n"
2716 "\n"
2717 "))\n"
2718 ""
2719 ;
2720 static const char builtin_shadow2D[] =
2721 "((function shadow2D\n"
2722 " (signature vec4\n"
2723 " (parameters\n"
2724 " (declare (in) sampler2DShadow sampler)\n"
2725 " (declare (in) vec3 P) )\n"
2726 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) ))))\n"
2727 "\n"
2728 " (signature vec4\n"
2729 " (parameters\n"
2730 " (declare (in) sampler2DShadow sampler)\n"
2731 " (declare (in) vec3 P) \n"
2732 " (declare (in) float bias) )\n"
2733 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref bias) ))))\n"
2734 "\n"
2735 "))\n"
2736 ""
2737 ;
2738 static const char builtin_shadow2DArray[] =
2739 "((function shadow2DArray\n"
2740 " (signature vec4\n"
2741 " (parameters\n"
2742 " (declare (in) sampler2DArrayShadow sampler)\n"
2743 " (declare (in) vec4 P) )\n"
2744 " ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) 1 (swiz w (var_ref P)) ))))\n"
2745 "\n"
2746 "))\n"
2747 ""
2748 ;
2749 static const char builtin_shadow2DLod[] =
2750 "((function shadow2DLod\n"
2751 " (signature vec4\n"
2752 " (parameters\n"
2753 " (declare (in) sampler2DShadow sampler)\n"
2754 " (declare (in) vec3 P) \n"
2755 " (declare (in) float lod) )\n"
2756 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref lod) ))))\n"
2757 "\n"
2758 "))\n"
2759 ""
2760 ;
2761 static const char builtin_shadow2DProj[] =
2762 "((function shadow2DProj\n"
2763 " (signature vec4\n"
2764 " (parameters\n"
2765 " (declare (in) sampler2DShadow sampler)\n"
2766 " (declare (in) vec4 P) )\n"
2767 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) ))))\n"
2768 "\n"
2769 " (signature vec4\n"
2770 " (parameters\n"
2771 " (declare (in) sampler2DShadow sampler)\n"
2772 " (declare (in) vec4 P) \n"
2773 " (declare (in) float bias) )\n"
2774 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) (var_ref bias) ))))\n"
2775 "\n"
2776 "))\n"
2777 ""
2778 ;
2779 static const char builtin_shadow2DProjLod[] =
2780 "((function shadow2DProjLod\n"
2781 " (signature vec4\n"
2782 " (parameters\n"
2783 " (declare (in) sampler2DShadow sampler)\n"
2784 " (declare (in) vec4 P) \n"
2785 " (declare (in) float lod) )\n"
2786 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) (var_ref lod) ))))\n"
2787 "\n"
2788 "))\n"
2789 ""
2790 ;
2791 static const char builtin_shadow2DRect[] =
2792 "((function shadow2DRect\n"
2793 " (signature vec4\n"
2794 " (parameters\n"
2795 " (declare (in) sampler2DRectShadow sampler)\n"
2796 " (declare (in) vec3 P) )\n"
2797 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) ))))\n"
2798 "\n"
2799 "))\n"
2800 ""
2801 ;
2802 static const char builtin_shadow2DRectProj[] =
2803 "((function shadow2DRectProj\n"
2804 " (signature vec4\n"
2805 " (parameters\n"
2806 " (declare (in) sampler2DRectShadow sampler)\n"
2807 " (declare (in) vec4 P) )\n"
2808 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) ))))\n"
2809 "\n"
2810 "))\n"
2811 ""
2812 ;
2813 static const char builtin_sign[] =
2814 "((function sign\n"
2815 " (signature float\n"
2816 " (parameters\n"
2817 " (declare (in) float x))\n"
2818 " ((return (expression float sign (var_ref x)))))\n"
2819 "\n"
2820 " (signature vec2\n"
2821 " (parameters\n"
2822 " (declare (in) vec2 x))\n"
2823 " ((return (expression vec2 sign (var_ref x)))))\n"
2824 "\n"
2825 " (signature vec3\n"
2826 " (parameters\n"
2827 " (declare (in) vec3 x))\n"
2828 " ((return (expression vec3 sign (var_ref x)))))\n"
2829 "\n"
2830 " (signature vec4\n"
2831 " (parameters\n"
2832 " (declare (in) vec4 x))\n"
2833 " ((return (expression vec4 sign (var_ref x)))))\n"
2834 "\n"
2835 " (signature int\n"
2836 " (parameters\n"
2837 " (declare (in) int x))\n"
2838 " ((return (expression int sign (var_ref x)))))\n"
2839 "\n"
2840 " (signature ivec2\n"
2841 " (parameters\n"
2842 " (declare (in) ivec2 x))\n"
2843 " ((return (expression ivec2 sign (var_ref x)))))\n"
2844 "\n"
2845 " (signature ivec3\n"
2846 " (parameters\n"
2847 " (declare (in) ivec3 x))\n"
2848 " ((return (expression ivec3 sign (var_ref x)))))\n"
2849 "\n"
2850 " (signature ivec4\n"
2851 " (parameters\n"
2852 " (declare (in) ivec4 x))\n"
2853 " ((return (expression ivec4 sign (var_ref x)))))\n"
2854 "))\n"
2855 "\n"
2856 ""
2857 ;
2858 static const char builtin_sin[] =
2859 "((function sin\n"
2860 " (signature float\n"
2861 " (parameters\n"
2862 " (declare (in) float angle))\n"
2863 " ((return (expression float sin (var_ref angle)))))\n"
2864 "\n"
2865 " (signature vec2\n"
2866 " (parameters\n"
2867 " (declare (in) vec2 angle))\n"
2868 " ((return (expression vec2 sin (var_ref angle)))))\n"
2869 "\n"
2870 " (signature vec3\n"
2871 " (parameters\n"
2872 " (declare (in) vec3 angle))\n"
2873 " ((return (expression vec3 sin (var_ref angle)))))\n"
2874 "\n"
2875 " (signature vec4\n"
2876 " (parameters\n"
2877 " (declare (in) vec4 angle))\n"
2878 " ((return (expression vec4 sin (var_ref angle)))))\n"
2879 "))\n"
2880 ""
2881 ;
2882 static const char builtin_sinh[] =
2883 "((function sinh\n"
2884 " (signature float\n"
2885 " (parameters\n"
2886 " (declare (in) float x))\n"
2887 " ((return (expression float * (constant float (0.5))\n"
2888 " (expression float -\n"
2889 " (expression float exp (var_ref x))\n"
2890 " (expression float exp (expression float neg (var_ref x))))))))\n"
2891 " (signature vec2\n"
2892 " (parameters\n"
2893 " (declare (in) vec2 x))\n"
2894 " ((return (expression vec2 * (constant vec2 (0.5))\n"
2895 " (expression vec2 -\n"
2896 " (expression vec2 exp (var_ref x))\n"
2897 " (expression vec2 exp (expression vec2 neg (var_ref x))))))))\n"
2898 " (signature vec3\n"
2899 " (parameters\n"
2900 " (declare (in) vec3 x))\n"
2901 " ((return (expression vec3 * (constant vec3 (0.5))\n"
2902 " (expression vec3 -\n"
2903 " (expression vec3 exp (var_ref x))\n"
2904 " (expression vec3 exp (expression vec3 neg (var_ref x))))))))\n"
2905 " (signature vec4\n"
2906 " (parameters\n"
2907 " (declare (in) vec4 x))\n"
2908 " ((return (expression vec4 * (constant vec4 (0.5))\n"
2909 " (expression vec4 -\n"
2910 " (expression vec4 exp (var_ref x))\n"
2911 " (expression vec4 exp (expression vec4 neg (var_ref x))))))))\n"
2912 "))\n"
2913 ""
2914 ;
2915 static const char builtin_smoothstep[] =
2916 "((function smoothstep\n"
2917 " (signature float\n"
2918 " (parameters\n"
2919 " (declare (in) float edge0)\n"
2920 " (declare (in) float edge1)\n"
2921 " (declare (in) float x))\n"
2922 " ((declare () float t)\n"
2923 "\n"
2924 " (assign (constant bool (1)) (x) (var_ref t)\n"
2925 " (expression float max\n"
2926 " (expression float min\n"
2927 " (expression float / (expression float - (var_ref x) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
2928 " (constant float (1.0)))\n"
2929 " (constant float (0.0))))\n"
2930 " (return (expression float * (var_ref t) (expression float * (var_ref t) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (var_ref t))))))))\n"
2931 "\n"
2932 " (signature vec2\n"
2933 " (parameters\n"
2934 " (declare (in) float edge0)\n"
2935 " (declare (in) float edge1)\n"
2936 " (declare (in) vec2 x))\n"
2937 " ((declare () vec2 t)\n"
2938 " (declare () vec2 retval)\n"
2939 "\n"
2940 " (assign (constant bool (1)) (x) (var_ref t)\n"
2941 " (expression float max\n"
2942 " (expression float min\n"
2943 " (expression float / (expression float - (swiz x (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
2944 " (constant float (1.0)))\n"
2945 " (constant float (0.0))))\n"
2946 " (assign (constant bool (1)) (x) (var_ref retval) (expression float * (swiz x (var_ref t)) (expression float * (swiz x (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz x (var_ref t)))))))\n"
2947 "\n"
2948 " (assign (constant bool (1)) (y) (var_ref t)\n"
2949 " (expression float max\n"
2950 " (expression float min\n"
2951 " (expression float / (expression float - (swiz y (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
2952 " (constant float (1.0)))\n"
2953 " (constant float (0.0))))\n"
2954 " (assign (constant bool (1)) (y) (var_ref retval) (expression float * (swiz y (var_ref t)) (expression float * (swiz y (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz y (var_ref t)))))))\n"
2955 " (return (var_ref retval))\n"
2956 " ))\n"
2957 "\n"
2958 " (signature vec3\n"
2959 " (parameters\n"
2960 " (declare (in) float edge0)\n"
2961 " (declare (in) float edge1)\n"
2962 " (declare (in) vec3 x))\n"
2963 " ((declare () vec3 t)\n"
2964 " (declare () vec3 retval)\n"
2965 "\n"
2966 " (assign (constant bool (1)) (x) (var_ref t)\n"
2967 " (expression float max\n"
2968 " (expression float min\n"
2969 " (expression float / (expression float - (swiz x (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
2970 " (constant float (1.0)))\n"
2971 " (constant float (0.0))))\n"
2972 " (assign (constant bool (1)) (x) (var_ref retval) (expression float * (swiz x (var_ref t)) (expression float * (swiz x (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz x (var_ref t)))))))\n"
2973 "\n"
2974 " (assign (constant bool (1)) (y) (var_ref t)\n"
2975 " (expression float max\n"
2976 " (expression float min\n"
2977 " (expression float / (expression float - (swiz y (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
2978 " (constant float (1.0)))\n"
2979 " (constant float (0.0))))\n"
2980 " (assign (constant bool (1)) (y) (var_ref retval) (expression float * (swiz y (var_ref t)) (expression float * (swiz y (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz y (var_ref t)))))))\n"
2981 "\n"
2982 " (assign (constant bool (1)) (z) (var_ref t)\n"
2983 " (expression float max\n"
2984 " (expression float min\n"
2985 " (expression float / (expression float - (swiz z (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
2986 " (constant float (1.0)))\n"
2987 " (constant float (0.0))))\n"
2988 " (assign (constant bool (1)) (z) (var_ref retval) (expression float * (swiz z (var_ref t)) (expression float * (swiz z (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz z (var_ref t)))))))\n"
2989 " (return (var_ref retval))\n"
2990 " ))\n"
2991 "\n"
2992 "\n"
2993 " (signature vec4\n"
2994 " (parameters\n"
2995 " (declare (in) float edge0)\n"
2996 " (declare (in) float edge1)\n"
2997 " (declare (in) vec4 x))\n"
2998 " ((declare () vec4 t)\n"
2999 " (declare () vec4 retval)\n"
3000 "\n"
3001 " (assign (constant bool (1)) (x) (var_ref t)\n"
3002 " (expression float max\n"
3003 " (expression float min\n"
3004 " (expression float / (expression float - (swiz x (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
3005 " (constant float (1.0)))\n"
3006 " (constant float (0.0))))\n"
3007 " (assign (constant bool (1)) (x) (var_ref retval) (expression float * (swiz x (var_ref t)) (expression float * (swiz x (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz x (var_ref t)))))))\n"
3008 "\n"
3009 " (assign (constant bool (1)) (y) (var_ref t)\n"
3010 " (expression float max\n"
3011 " (expression float min\n"
3012 " (expression float / (expression float - (swiz y (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
3013 " (constant float (1.0)))\n"
3014 " (constant float (0.0))))\n"
3015 " (assign (constant bool (1)) (y) (var_ref retval) (expression float * (swiz y (var_ref t)) (expression float * (swiz y (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz y (var_ref t)))))))\n"
3016 "\n"
3017 " (assign (constant bool (1)) (z) (var_ref t)\n"
3018 " (expression float max\n"
3019 " (expression float min\n"
3020 " (expression float / (expression float - (swiz z (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
3021 " (constant float (1.0)))\n"
3022 " (constant float (0.0))))\n"
3023 " (assign (constant bool (1)) (z) (var_ref retval) (expression float * (swiz z (var_ref t)) (expression float * (swiz z (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz z (var_ref t)))))))\n"
3024 "\n"
3025 " (assign (constant bool (1)) (w) (var_ref t)\n"
3026 " (expression float max\n"
3027 " (expression float min\n"
3028 " (expression float / (expression float - (swiz w (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
3029 " (constant float (1.0)))\n"
3030 " (constant float (0.0))))\n"
3031 " (assign (constant bool (1)) (w) (var_ref retval) (expression float * (swiz w (var_ref t)) (expression float * (swiz w (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz w (var_ref t)))))))\n"
3032 " (return (var_ref retval))\n"
3033 " ))\n"
3034 "\n"
3035 " (signature vec2\n"
3036 " (parameters\n"
3037 " (declare (in) vec2 edge0)\n"
3038 " (declare (in) vec2 edge1)\n"
3039 " (declare (in) vec2 x))\n"
3040 " ((return (expression vec2 max\n"
3041 " (expression vec2 min\n"
3042 " (expression vec2 / (expression vec2 - (var_ref x) (var_ref edge0)) (expression vec2 - (var_ref edge1) (var_ref edge0)))\n"
3043 " (constant vec2 (1.0 1.0)))\n"
3044 " (constant vec2 (0.0 0.0))))))\n"
3045 "\n"
3046 " (signature vec3\n"
3047 " (parameters\n"
3048 " (declare (in) vec3 edge0)\n"
3049 " (declare (in) vec3 edge1)\n"
3050 " (declare (in) vec3 x))\n"
3051 " ((return (expression vec3 max\n"
3052 " (expression vec3 min\n"
3053 " (expression vec3 / (expression vec3 - (var_ref x) (var_ref edge0)) (expression vec3 - (var_ref edge1) (var_ref edge0)))\n"
3054 " (constant vec3 (1.0 1.0 1.0)))\n"
3055 " (constant vec3 (0.0 0.0 0.0))))))\n"
3056 "\n"
3057 " (signature vec4\n"
3058 " (parameters\n"
3059 " (declare (in) vec4 edge0)\n"
3060 " (declare (in) vec4 edge1)\n"
3061 " (declare (in) vec4 x))\n"
3062 " ((return (expression vec4 max\n"
3063 " (expression vec4 min\n"
3064 " (expression vec4 / (expression vec4 - (var_ref x) (var_ref edge0)) (expression vec4 - (var_ref edge1) (var_ref edge0)))\n"
3065 " (constant vec4 (1.0 1.0 1.0 1.0)))\n"
3066 " (constant vec4 (0.0 0.0 0.0 0.0))))))\n"
3067 "))\n"
3068 "\n"
3069 ""
3070 ;
3071 static const char builtin_sqrt[] =
3072 "((function sqrt\n"
3073 " (signature float\n"
3074 " (parameters\n"
3075 " (declare (in) float arg0))\n"
3076 " ((return (expression float sqrt (var_ref arg0)))))\n"
3077 "\n"
3078 " (signature vec2\n"
3079 " (parameters\n"
3080 " (declare (in) vec2 arg0))\n"
3081 " ((return (expression vec2 sqrt (var_ref arg0)))))\n"
3082 "\n"
3083 " (signature vec3\n"
3084 " (parameters\n"
3085 " (declare (in) vec3 arg0))\n"
3086 " ((return (expression vec3 sqrt (var_ref arg0)))))\n"
3087 "\n"
3088 " (signature vec4\n"
3089 " (parameters\n"
3090 " (declare (in) vec4 arg0))\n"
3091 " ((return (expression vec4 sqrt (var_ref arg0)))))\n"
3092 "))\n"
3093 ""
3094 ;
3095 static const char builtin_step[] =
3096 "((function step\n"
3097 " (signature float\n"
3098 " (parameters\n"
3099 " (declare (in) float edge)\n"
3100 " (declare (in) float x))\n"
3101 " ((return (expression float b2f (expression bool >= (var_ref x) (var_ref edge))))))\n"
3102 "\n"
3103 " (signature vec2\n"
3104 " (parameters\n"
3105 " (declare (in) float edge)\n"
3106 " (declare (in) vec2 x))\n"
3107 " ((declare () vec2 t)\n"
3108 " (assign (constant bool (1)) (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge))))\n"
3109 " (assign (constant bool (1)) (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge))))\n"
3110 " (return (var_ref t))))\n"
3111 "\n"
3112 " (signature vec3\n"
3113 " (parameters\n"
3114 " (declare (in) float edge)\n"
3115 " (declare (in) vec3 x))\n"
3116 " ((declare () vec3 t)\n"
3117 " (assign (constant bool (1)) (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge))))\n"
3118 " (assign (constant bool (1)) (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge))))\n"
3119 " (assign (constant bool (1)) (z) (var_ref t) (expression float b2f (expression bool >= (swiz z (var_ref x))(var_ref edge))))\n"
3120 " (return (var_ref t))))\n"
3121 "\n"
3122 " (signature vec4\n"
3123 " (parameters\n"
3124 " (declare (in) float edge)\n"
3125 " (declare (in) vec4 x))\n"
3126 " ((declare () vec4 t)\n"
3127 " (assign (constant bool (1)) (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge))))\n"
3128 " (assign (constant bool (1)) (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge))))\n"
3129 " (assign (constant bool (1)) (z) (var_ref t) (expression float b2f (expression bool >= (swiz z (var_ref x))(var_ref edge))))\n"
3130 " (assign (constant bool (1)) (w) (var_ref t) (expression float b2f (expression bool >= (swiz w (var_ref x))(var_ref edge))))\n"
3131 " (return (var_ref t))))\n"
3132 "\n"
3133 " (signature vec2\n"
3134 " (parameters\n"
3135 " (declare (in) vec2 edge)\n"
3136 " (declare (in) vec2 x))\n"
3137 " ((declare () vec2 t)\n"
3138 " (assign (constant bool (1)) (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(swiz x (var_ref edge)))))\n"
3139 " (assign (constant bool (1)) (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(swiz y (var_ref edge)))))\n"
3140 " (return (var_ref t))))\n"
3141 "\n"
3142 " (signature vec3\n"
3143 " (parameters\n"
3144 " (declare (in) vec3 edge)\n"
3145 " (declare (in) vec3 x))\n"
3146 " ((declare () vec3 t)\n"
3147 " (assign (constant bool (1)) (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(swiz x (var_ref edge)))))\n"
3148 " (assign (constant bool (1)) (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(swiz y (var_ref edge)))))\n"
3149 " (assign (constant bool (1)) (z) (var_ref t) (expression float b2f (expression bool >= (swiz z (var_ref x))(swiz z (var_ref edge)))))\n"
3150 " (return (var_ref t))))\n"
3151 "\n"
3152 " (signature vec4\n"
3153 " (parameters\n"
3154 " (declare (in) vec4 edge)\n"
3155 " (declare (in) vec4 x))\n"
3156 " ((declare () vec4 t)\n"
3157 " (assign (constant bool (1)) (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(swiz x (var_ref edge)))))\n"
3158 " (assign (constant bool (1)) (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(swiz y (var_ref edge)))))\n"
3159 " (assign (constant bool (1)) (z) (var_ref t) (expression float b2f (expression bool >= (swiz z (var_ref x))(swiz z (var_ref edge)))))\n"
3160 " (assign (constant bool (1)) (w) (var_ref t) (expression float b2f (expression bool >= (swiz w (var_ref x))(swiz w (var_ref edge)))))\n"
3161 " (return (var_ref t))))\n"
3162 "))\n"
3163 "\n"
3164 ""
3165 ;
3166 static const char builtin_tan[] =
3167 "((function tan\n"
3168 " (signature float\n"
3169 " (parameters\n"
3170 " (declare (in) float angle))\n"
3171 " ((return (expression float / (expression float sin (var_ref angle)) (expression float cos (var_ref angle))))))\n"
3172 "\n"
3173 " (signature vec2\n"
3174 " (parameters\n"
3175 " (declare (in) vec2 angle))\n"
3176 " ((return (expression vec2 / (expression vec2 sin (var_ref angle)) (expression vec2 cos (var_ref angle))))))\n"
3177 "\n"
3178 " (signature vec3\n"
3179 " (parameters\n"
3180 " (declare (in) vec3 angle))\n"
3181 " ((return (expression vec3 / (expression vec3 sin (var_ref angle)) (expression vec3 cos (var_ref angle))))))\n"
3182 "\n"
3183 " (signature vec4\n"
3184 " (parameters\n"
3185 " (declare (in) vec4 angle))\n"
3186 " ((return (expression vec4 / (expression vec4 sin (var_ref angle)) (expression vec4 cos (var_ref angle))))))\n"
3187 "))\n"
3188 ""
3189 ;
3190 static const char builtin_tanh[] =
3191 "((function tanh\n"
3192 " (signature float\n"
3193 " (parameters\n"
3194 " (declare (in) float x))\n"
3195 " ((return (expression float /\n"
3196 " (expression float -\n"
3197 " (expression float exp (var_ref x))\n"
3198 " (expression float exp (expression float neg (var_ref x))))\n"
3199 " (expression float +\n"
3200 " (expression float exp (var_ref x))\n"
3201 " (expression float exp (expression float neg (var_ref x))))))))\n"
3202 " (signature vec2\n"
3203 " (parameters\n"
3204 " (declare (in) vec2 x))\n"
3205 " ((return (expression vec2 /\n"
3206 " (expression vec2 -\n"
3207 " (expression vec2 exp (var_ref x))\n"
3208 " (expression vec2 exp (expression vec2 neg (var_ref x))))\n"
3209 " (expression vec2 +\n"
3210 " (expression vec2 exp (var_ref x))\n"
3211 " (expression vec2 exp (expression vec2 neg (var_ref x))))))))\n"
3212 " (signature vec3\n"
3213 " (parameters\n"
3214 " (declare (in) vec3 x))\n"
3215 " ((return (expression vec3 /\n"
3216 " (expression vec3 -\n"
3217 " (expression vec3 exp (var_ref x))\n"
3218 " (expression vec3 exp (expression vec3 neg (var_ref x))))\n"
3219 " (expression vec3 +\n"
3220 " (expression vec3 exp (var_ref x))\n"
3221 " (expression vec3 exp (expression vec3 neg (var_ref x))))))))\n"
3222 " (signature vec4\n"
3223 " (parameters\n"
3224 " (declare (in) vec4 x))\n"
3225 " ((return (expression vec4 /\n"
3226 " (expression vec4 -\n"
3227 " (expression vec4 exp (var_ref x))\n"
3228 " (expression vec4 exp (expression vec4 neg (var_ref x))))\n"
3229 " (expression vec4 +\n"
3230 " (expression vec4 exp (var_ref x))\n"
3231 " (expression vec4 exp (expression vec4 neg (var_ref x))))))))\n"
3232 "))\n"
3233 ""
3234 ;
3235 static const char builtin_texelFetch[] =
3236 "((function texelFetch\n"
3237 " (signature vec4\n"
3238 " (parameters\n"
3239 " (declare (in) sampler1D sampler)\n"
3240 " (declare (in) int P) \n"
3241 " (declare (in) int lod) )\n"
3242 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3243 "\n"
3244 " (signature ivec4\n"
3245 " (parameters\n"
3246 " (declare (in) isampler1D sampler)\n"
3247 " (declare (in) int P) \n"
3248 " (declare (in) int lod) )\n"
3249 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3250 "\n"
3251 " (signature uvec4\n"
3252 " (parameters\n"
3253 " (declare (in) usampler1D sampler)\n"
3254 " (declare (in) int P) \n"
3255 " (declare (in) int lod) )\n"
3256 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3257 "\n"
3258 " (signature vec4\n"
3259 " (parameters\n"
3260 " (declare (in) sampler2D sampler)\n"
3261 " (declare (in) ivec2 P) \n"
3262 " (declare (in) int lod) )\n"
3263 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3264 "\n"
3265 " (signature ivec4\n"
3266 " (parameters\n"
3267 " (declare (in) isampler2D sampler)\n"
3268 " (declare (in) ivec2 P) \n"
3269 " (declare (in) int lod) )\n"
3270 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3271 "\n"
3272 " (signature uvec4\n"
3273 " (parameters\n"
3274 " (declare (in) usampler2D sampler)\n"
3275 " (declare (in) ivec2 P) \n"
3276 " (declare (in) int lod) )\n"
3277 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3278 "\n"
3279 " (signature vec4\n"
3280 " (parameters\n"
3281 " (declare (in) sampler3D sampler)\n"
3282 " (declare (in) ivec3 P) \n"
3283 " (declare (in) int lod) )\n"
3284 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3285 "\n"
3286 " (signature ivec4\n"
3287 " (parameters\n"
3288 " (declare (in) isampler3D sampler)\n"
3289 " (declare (in) ivec3 P) \n"
3290 " (declare (in) int lod) )\n"
3291 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3292 "\n"
3293 " (signature uvec4\n"
3294 " (parameters\n"
3295 " (declare (in) usampler3D sampler)\n"
3296 " (declare (in) ivec3 P) \n"
3297 " (declare (in) int lod) )\n"
3298 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3299 "\n"
3300 " (signature vec4\n"
3301 " (parameters\n"
3302 " (declare (in) sampler1DArray sampler)\n"
3303 " (declare (in) ivec2 P) \n"
3304 " (declare (in) int lod) )\n"
3305 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3306 "\n"
3307 " (signature ivec4\n"
3308 " (parameters\n"
3309 " (declare (in) isampler1DArray sampler)\n"
3310 " (declare (in) ivec2 P) \n"
3311 " (declare (in) int lod) )\n"
3312 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3313 "\n"
3314 " (signature uvec4\n"
3315 " (parameters\n"
3316 " (declare (in) usampler1DArray sampler)\n"
3317 " (declare (in) ivec2 P) \n"
3318 " (declare (in) int lod) )\n"
3319 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3320 "\n"
3321 " (signature vec4\n"
3322 " (parameters\n"
3323 " (declare (in) sampler2DArray sampler)\n"
3324 " (declare (in) ivec3 P) \n"
3325 " (declare (in) int lod) )\n"
3326 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3327 "\n"
3328 " (signature ivec4\n"
3329 " (parameters\n"
3330 " (declare (in) isampler2DArray sampler)\n"
3331 " (declare (in) ivec3 P) \n"
3332 " (declare (in) int lod) )\n"
3333 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3334 "\n"
3335 " (signature uvec4\n"
3336 " (parameters\n"
3337 " (declare (in) usampler2DArray sampler)\n"
3338 " (declare (in) ivec3 P) \n"
3339 " (declare (in) int lod) )\n"
3340 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3341 "\n"
3342 "))\n"
3343 ""
3344 ;
3345 static const char builtin_texture[] =
3346 "((function texture\n"
3347 " (signature vec4\n"
3348 " (parameters\n"
3349 " (declare (in) sampler1D sampler)\n"
3350 " (declare (in) float P) )\n"
3351 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3352 "\n"
3353 " (signature ivec4\n"
3354 " (parameters\n"
3355 " (declare (in) isampler1D sampler)\n"
3356 " (declare (in) float P) )\n"
3357 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3358 "\n"
3359 " (signature uvec4\n"
3360 " (parameters\n"
3361 " (declare (in) usampler1D sampler)\n"
3362 " (declare (in) float P) )\n"
3363 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3364 "\n"
3365 " (signature vec4\n"
3366 " (parameters\n"
3367 " (declare (in) sampler2D sampler)\n"
3368 " (declare (in) vec2 P) )\n"
3369 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3370 "\n"
3371 " (signature ivec4\n"
3372 " (parameters\n"
3373 " (declare (in) isampler2D sampler)\n"
3374 " (declare (in) vec2 P) )\n"
3375 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3376 "\n"
3377 " (signature uvec4\n"
3378 " (parameters\n"
3379 " (declare (in) usampler2D sampler)\n"
3380 " (declare (in) vec2 P) )\n"
3381 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3382 "\n"
3383 " (signature vec4\n"
3384 " (parameters\n"
3385 " (declare (in) sampler3D sampler)\n"
3386 " (declare (in) vec3 P) )\n"
3387 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3388 "\n"
3389 " (signature ivec4\n"
3390 " (parameters\n"
3391 " (declare (in) isampler3D sampler)\n"
3392 " (declare (in) vec3 P) )\n"
3393 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3394 "\n"
3395 " (signature uvec4\n"
3396 " (parameters\n"
3397 " (declare (in) usampler3D sampler)\n"
3398 " (declare (in) vec3 P) )\n"
3399 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3400 "\n"
3401 " (signature vec4\n"
3402 " (parameters\n"
3403 " (declare (in) samplerCube sampler)\n"
3404 " (declare (in) vec3 P) )\n"
3405 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3406 "\n"
3407 " (signature ivec4\n"
3408 " (parameters\n"
3409 " (declare (in) isamplerCube sampler)\n"
3410 " (declare (in) vec3 P) )\n"
3411 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3412 "\n"
3413 " (signature uvec4\n"
3414 " (parameters\n"
3415 " (declare (in) usamplerCube sampler)\n"
3416 " (declare (in) vec3 P) )\n"
3417 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3418 "\n"
3419 " (signature vec4\n"
3420 " (parameters\n"
3421 " (declare (in) sampler1DArray sampler)\n"
3422 " (declare (in) vec2 P) )\n"
3423 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3424 "\n"
3425 " (signature ivec4\n"
3426 " (parameters\n"
3427 " (declare (in) isampler1DArray sampler)\n"
3428 " (declare (in) vec2 P) )\n"
3429 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3430 "\n"
3431 " (signature uvec4\n"
3432 " (parameters\n"
3433 " (declare (in) usampler1DArray sampler)\n"
3434 " (declare (in) vec2 P) )\n"
3435 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3436 "\n"
3437 " (signature vec4\n"
3438 " (parameters\n"
3439 " (declare (in) sampler2DArray sampler)\n"
3440 " (declare (in) vec3 P) )\n"
3441 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3442 "\n"
3443 " (signature ivec4\n"
3444 " (parameters\n"
3445 " (declare (in) isampler2DArray sampler)\n"
3446 " (declare (in) vec3 P) )\n"
3447 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3448 "\n"
3449 " (signature uvec4\n"
3450 " (parameters\n"
3451 " (declare (in) usampler2DArray sampler)\n"
3452 " (declare (in) vec3 P) )\n"
3453 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3454 "\n"
3455 " (signature vec4\n"
3456 " (parameters\n"
3457 " (declare (in) sampler1D sampler)\n"
3458 " (declare (in) float P) \n"
3459 " (declare (in) float bias) )\n"
3460 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3461 "\n"
3462 " (signature ivec4\n"
3463 " (parameters\n"
3464 " (declare (in) isampler1D sampler)\n"
3465 " (declare (in) float P) \n"
3466 " (declare (in) float bias) )\n"
3467 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3468 "\n"
3469 " (signature uvec4\n"
3470 " (parameters\n"
3471 " (declare (in) usampler1D sampler)\n"
3472 " (declare (in) float P) \n"
3473 " (declare (in) float bias) )\n"
3474 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3475 "\n"
3476 " (signature vec4\n"
3477 " (parameters\n"
3478 " (declare (in) sampler2D sampler)\n"
3479 " (declare (in) vec2 P) \n"
3480 " (declare (in) float bias) )\n"
3481 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3482 "\n"
3483 " (signature ivec4\n"
3484 " (parameters\n"
3485 " (declare (in) isampler2D sampler)\n"
3486 " (declare (in) vec2 P) \n"
3487 " (declare (in) float bias) )\n"
3488 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3489 "\n"
3490 " (signature uvec4\n"
3491 " (parameters\n"
3492 " (declare (in) usampler2D sampler)\n"
3493 " (declare (in) vec2 P) \n"
3494 " (declare (in) float bias) )\n"
3495 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3496 "\n"
3497 " (signature vec4\n"
3498 " (parameters\n"
3499 " (declare (in) sampler3D sampler)\n"
3500 " (declare (in) vec3 P) \n"
3501 " (declare (in) float bias) )\n"
3502 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3503 "\n"
3504 " (signature ivec4\n"
3505 " (parameters\n"
3506 " (declare (in) isampler3D sampler)\n"
3507 " (declare (in) vec3 P) \n"
3508 " (declare (in) float bias) )\n"
3509 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3510 "\n"
3511 " (signature uvec4\n"
3512 " (parameters\n"
3513 " (declare (in) usampler3D sampler)\n"
3514 " (declare (in) vec3 P) \n"
3515 " (declare (in) float bias) )\n"
3516 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3517 "\n"
3518 " (signature vec4\n"
3519 " (parameters\n"
3520 " (declare (in) samplerCube sampler)\n"
3521 " (declare (in) vec3 P) \n"
3522 " (declare (in) float bias) )\n"
3523 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3524 "\n"
3525 " (signature ivec4\n"
3526 " (parameters\n"
3527 " (declare (in) isamplerCube sampler)\n"
3528 " (declare (in) vec3 P) \n"
3529 " (declare (in) float bias) )\n"
3530 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3531 "\n"
3532 " (signature uvec4\n"
3533 " (parameters\n"
3534 " (declare (in) usamplerCube sampler)\n"
3535 " (declare (in) vec3 P) \n"
3536 " (declare (in) float bias) )\n"
3537 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3538 "\n"
3539 " (signature vec4\n"
3540 " (parameters\n"
3541 " (declare (in) sampler1DArray sampler)\n"
3542 " (declare (in) vec2 P) \n"
3543 " (declare (in) float bias) )\n"
3544 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3545 "\n"
3546 " (signature ivec4\n"
3547 " (parameters\n"
3548 " (declare (in) isampler1DArray sampler)\n"
3549 " (declare (in) vec2 P) \n"
3550 " (declare (in) float bias) )\n"
3551 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3552 "\n"
3553 " (signature uvec4\n"
3554 " (parameters\n"
3555 " (declare (in) usampler1DArray sampler)\n"
3556 " (declare (in) vec2 P) \n"
3557 " (declare (in) float bias) )\n"
3558 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3559 "\n"
3560 " (signature vec4\n"
3561 " (parameters\n"
3562 " (declare (in) sampler2DArray sampler)\n"
3563 " (declare (in) vec3 P) \n"
3564 " (declare (in) float bias) )\n"
3565 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3566 "\n"
3567 " (signature ivec4\n"
3568 " (parameters\n"
3569 " (declare (in) isampler2DArray sampler)\n"
3570 " (declare (in) vec3 P) \n"
3571 " (declare (in) float bias) )\n"
3572 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3573 "\n"
3574 " (signature uvec4\n"
3575 " (parameters\n"
3576 " (declare (in) usampler2DArray sampler)\n"
3577 " (declare (in) vec3 P) \n"
3578 " (declare (in) float bias) )\n"
3579 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3580 "\n"
3581 "))\n"
3582 ""
3583 ;
3584 static const char builtin_texture1D[] =
3585 "((function texture1D\n"
3586 " (signature vec4\n"
3587 " (parameters\n"
3588 " (declare (in) sampler1D sampler)\n"
3589 " (declare (in) float P) )\n"
3590 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3591 "\n"
3592 " (signature vec4\n"
3593 " (parameters\n"
3594 " (declare (in) sampler1D sampler)\n"
3595 " (declare (in) float P) \n"
3596 " (declare (in) float bias) )\n"
3597 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3598 "\n"
3599 "))\n"
3600 ""
3601 ;
3602 static const char builtin_texture1DArray[] =
3603 "((function texture1DArray\n"
3604 " (signature vec4\n"
3605 " (parameters\n"
3606 " (declare (in) sampler1DArray sampler)\n"
3607 " (declare (in) vec2 P) )\n"
3608 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3609 "\n"
3610 " (signature vec4\n"
3611 " (parameters\n"
3612 " (declare (in) sampler1DArray sampler)\n"
3613 " (declare (in) vec2 P) \n"
3614 " (declare (in) float bias) )\n"
3615 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3616 "\n"
3617 "))\n"
3618 ""
3619 ;
3620 static const char builtin_texture1DArrayLod[] =
3621 "((function texture1DArrayLod\n"
3622 " (signature vec4\n"
3623 " (parameters\n"
3624 " (declare (in) sampler1DArray sampler)\n"
3625 " (declare (in) vec2 P) \n"
3626 " (declare (in) float lod) )\n"
3627 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3628 "\n"
3629 "))\n"
3630 ""
3631 ;
3632 static const char builtin_texture1DLod[] =
3633 "((function texture1DLod\n"
3634 " (signature vec4\n"
3635 " (parameters\n"
3636 " (declare (in) sampler1D sampler)\n"
3637 " (declare (in) float P) \n"
3638 " (declare (in) float lod) )\n"
3639 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3640 "\n"
3641 "))\n"
3642 ""
3643 ;
3644 static const char builtin_texture1DProj[] =
3645 "((function texture1DProj\n"
3646 " (signature vec4\n"
3647 " (parameters\n"
3648 " (declare (in) sampler1D sampler)\n"
3649 " (declare (in) vec2 P) )\n"
3650 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ))))\n"
3651 "\n"
3652 " (signature vec4\n"
3653 " (parameters\n"
3654 " (declare (in) sampler1D sampler)\n"
3655 " (declare (in) vec4 P) )\n"
3656 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
3657 "\n"
3658 " (signature vec4\n"
3659 " (parameters\n"
3660 " (declare (in) sampler1D sampler)\n"
3661 " (declare (in) vec2 P) \n"
3662 " (declare (in) float bias) )\n"
3663 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
3664 "\n"
3665 " (signature vec4\n"
3666 " (parameters\n"
3667 " (declare (in) sampler1D sampler)\n"
3668 " (declare (in) vec4 P) \n"
3669 " (declare (in) float bias) )\n"
3670 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
3671 "\n"
3672 "))\n"
3673 ""
3674 ;
3675 static const char builtin_texture1DProjLod[] =
3676 "((function texture1DProjLod\n"
3677 " (signature vec4\n"
3678 " (parameters\n"
3679 " (declare (in) sampler1D sampler)\n"
3680 " (declare (in) vec2 P) \n"
3681 " (declare (in) float lod) )\n"
3682 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
3683 "\n"
3684 " (signature vec4\n"
3685 " (parameters\n"
3686 " (declare (in) sampler1D sampler)\n"
3687 " (declare (in) vec4 P) \n"
3688 " (declare (in) float lod) )\n"
3689 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
3690 "\n"
3691 "))\n"
3692 ""
3693 ;
3694 static const char builtin_texture2D[] =
3695 "((function texture2D\n"
3696 " (signature vec4\n"
3697 " (parameters\n"
3698 " (declare (in) sampler2D sampler)\n"
3699 " (declare (in) vec2 P) )\n"
3700 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3701 "\n"
3702 " (signature vec4\n"
3703 " (parameters\n"
3704 " (declare (in) sampler2D sampler)\n"
3705 " (declare (in) vec2 P) \n"
3706 " (declare (in) float bias) )\n"
3707 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3708 "\n"
3709 "))\n"
3710 ""
3711 ;
3712 static const char builtin_texture2DArray[] =
3713 "((function texture2DArray\n"
3714 " (signature vec4\n"
3715 " (parameters\n"
3716 " (declare (in) sampler2DArray sampler)\n"
3717 " (declare (in) vec3 P) )\n"
3718 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3719 "\n"
3720 " (signature vec4\n"
3721 " (parameters\n"
3722 " (declare (in) sampler2DArray sampler)\n"
3723 " (declare (in) vec3 P) \n"
3724 " (declare (in) float bias) )\n"
3725 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3726 "\n"
3727 "))\n"
3728 ""
3729 ;
3730 static const char builtin_texture2DArrayLod[] =
3731 "((function texture2DArrayLod\n"
3732 " (signature vec4\n"
3733 " (parameters\n"
3734 " (declare (in) sampler2DArray sampler)\n"
3735 " (declare (in) vec3 P) \n"
3736 " (declare (in) float lod) )\n"
3737 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3738 "\n"
3739 "))\n"
3740 ""
3741 ;
3742 static const char builtin_texture2DLod[] =
3743 "((function texture2DLod\n"
3744 " (signature vec4\n"
3745 " (parameters\n"
3746 " (declare (in) sampler2D sampler)\n"
3747 " (declare (in) vec2 P) \n"
3748 " (declare (in) float lod) )\n"
3749 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3750 "\n"
3751 "))\n"
3752 ""
3753 ;
3754 static const char builtin_texture2DProj[] =
3755 "((function texture2DProj\n"
3756 " (signature vec4\n"
3757 " (parameters\n"
3758 " (declare (in) sampler2D sampler)\n"
3759 " (declare (in) vec3 P) )\n"
3760 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
3761 "\n"
3762 " (signature vec4\n"
3763 " (parameters\n"
3764 " (declare (in) sampler2D sampler)\n"
3765 " (declare (in) vec4 P) )\n"
3766 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
3767 "\n"
3768 " (signature vec4\n"
3769 " (parameters\n"
3770 " (declare (in) sampler2D sampler)\n"
3771 " (declare (in) vec3 P) \n"
3772 " (declare (in) float bias) )\n"
3773 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
3774 "\n"
3775 " (signature vec4\n"
3776 " (parameters\n"
3777 " (declare (in) sampler2D sampler)\n"
3778 " (declare (in) vec4 P) \n"
3779 " (declare (in) float bias) )\n"
3780 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
3781 "\n"
3782 "))\n"
3783 ""
3784 ;
3785 static const char builtin_texture2DProjLod[] =
3786 "((function texture2DProjLod\n"
3787 " (signature vec4\n"
3788 " (parameters\n"
3789 " (declare (in) sampler2D sampler)\n"
3790 " (declare (in) vec3 P) \n"
3791 " (declare (in) float lod) )\n"
3792 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
3793 "\n"
3794 " (signature vec4\n"
3795 " (parameters\n"
3796 " (declare (in) sampler2D sampler)\n"
3797 " (declare (in) vec4 P) \n"
3798 " (declare (in) float lod) )\n"
3799 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
3800 "\n"
3801 "))\n"
3802 ""
3803 ;
3804 static const char builtin_texture2DRect[] =
3805 "((function texture2DRect\n"
3806 " (signature vec4\n"
3807 " (parameters\n"
3808 " (declare (in) sampler2DRect sampler)\n"
3809 " (declare (in) vec2 P) )\n"
3810 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3811 "\n"
3812 "))\n"
3813 ""
3814 ;
3815 static const char builtin_texture2DRectProj[] =
3816 "((function texture2DRectProj\n"
3817 " (signature vec4\n"
3818 " (parameters\n"
3819 " (declare (in) sampler2DRect sampler)\n"
3820 " (declare (in) vec3 P) )\n"
3821 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
3822 "\n"
3823 " (signature vec4\n"
3824 " (parameters\n"
3825 " (declare (in) sampler2DRect sampler)\n"
3826 " (declare (in) vec4 P) )\n"
3827 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
3828 "\n"
3829 "))\n"
3830 ""
3831 ;
3832 static const char builtin_texture3D[] =
3833 "((function texture3D\n"
3834 " (signature vec4\n"
3835 " (parameters\n"
3836 " (declare (in) sampler3D sampler)\n"
3837 " (declare (in) vec3 P) )\n"
3838 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3839 "\n"
3840 " (signature vec4\n"
3841 " (parameters\n"
3842 " (declare (in) sampler3D sampler)\n"
3843 " (declare (in) vec3 P) \n"
3844 " (declare (in) float bias) )\n"
3845 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3846 "\n"
3847 "))\n"
3848 ""
3849 ;
3850 static const char builtin_texture3DLod[] =
3851 "((function texture3DLod\n"
3852 " (signature vec4\n"
3853 " (parameters\n"
3854 " (declare (in) sampler3D sampler)\n"
3855 " (declare (in) vec3 P) \n"
3856 " (declare (in) float lod) )\n"
3857 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3858 "\n"
3859 "))\n"
3860 ""
3861 ;
3862 static const char builtin_texture3DProj[] =
3863 "((function texture3DProj\n"
3864 " (signature vec4\n"
3865 " (parameters\n"
3866 " (declare (in) sampler3D sampler)\n"
3867 " (declare (in) vec4 P) )\n"
3868 " ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
3869 "\n"
3870 " (signature vec4\n"
3871 " (parameters\n"
3872 " (declare (in) sampler3D sampler)\n"
3873 " (declare (in) vec4 P) \n"
3874 " (declare (in) float bias) )\n"
3875 " ((return (txb (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
3876 "\n"
3877 "))\n"
3878 ""
3879 ;
3880 static const char builtin_texture3DProjLod[] =
3881 "((function texture3DProjLod\n"
3882 " (signature vec4\n"
3883 " (parameters\n"
3884 " (declare (in) sampler3D sampler)\n"
3885 " (declare (in) vec4 P) \n"
3886 " (declare (in) float lod) )\n"
3887 " ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
3888 "\n"
3889 "))\n"
3890 ""
3891 ;
3892 static const char builtin_textureCube[] =
3893 "((function textureCube\n"
3894 " (signature vec4\n"
3895 " (parameters\n"
3896 " (declare (in) samplerCube sampler)\n"
3897 " (declare (in) vec3 P) )\n"
3898 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3899 "\n"
3900 " (signature vec4\n"
3901 " (parameters\n"
3902 " (declare (in) samplerCube sampler)\n"
3903 " (declare (in) vec3 P) \n"
3904 " (declare (in) float bias) )\n"
3905 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3906 "\n"
3907 "))\n"
3908 ""
3909 ;
3910 static const char builtin_textureCubeLod[] =
3911 "((function textureCubeLod\n"
3912 " (signature vec4\n"
3913 " (parameters\n"
3914 " (declare (in) samplerCube sampler)\n"
3915 " (declare (in) vec3 P) \n"
3916 " (declare (in) float lod) )\n"
3917 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3918 "\n"
3919 "))\n"
3920 ""
3921 ;
3922 static const char builtin_textureGrad[] =
3923 "((function textureGrad\n"
3924 " (signature vec4\n"
3925 " (parameters\n"
3926 " (declare (in) sampler1D sampler)\n"
3927 " (declare (in) float P) \n"
3928 " (declare (in) float dPdx) \n"
3929 " (declare (in) float dPdy) )\n"
3930 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3931 "\n"
3932 " (signature ivec4\n"
3933 " (parameters\n"
3934 " (declare (in) isampler1D sampler)\n"
3935 " (declare (in) float P) \n"
3936 " (declare (in) float dPdx) \n"
3937 " (declare (in) float dPdy) )\n"
3938 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3939 "\n"
3940 " (signature uvec4\n"
3941 " (parameters\n"
3942 " (declare (in) usampler1D sampler)\n"
3943 " (declare (in) float P) \n"
3944 " (declare (in) float dPdx) \n"
3945 " (declare (in) float dPdy) )\n"
3946 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3947 "\n"
3948 " (signature vec4\n"
3949 " (parameters\n"
3950 " (declare (in) sampler2D sampler)\n"
3951 " (declare (in) vec2 P) \n"
3952 " (declare (in) vec2 dPdx) \n"
3953 " (declare (in) vec2 dPdy) )\n"
3954 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3955 "\n"
3956 " (signature ivec4\n"
3957 " (parameters\n"
3958 " (declare (in) isampler2D sampler)\n"
3959 " (declare (in) vec2 P) \n"
3960 " (declare (in) vec2 dPdx) \n"
3961 " (declare (in) vec2 dPdy) )\n"
3962 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3963 "\n"
3964 " (signature uvec4\n"
3965 " (parameters\n"
3966 " (declare (in) usampler2D sampler)\n"
3967 " (declare (in) vec2 P) \n"
3968 " (declare (in) vec2 dPdx) \n"
3969 " (declare (in) vec2 dPdy) )\n"
3970 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3971 "\n"
3972 " (signature vec4\n"
3973 " (parameters\n"
3974 " (declare (in) sampler3D sampler)\n"
3975 " (declare (in) vec3 P) \n"
3976 " (declare (in) vec3 dPdx) \n"
3977 " (declare (in) vec3 dPdy) )\n"
3978 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3979 "\n"
3980 " (signature ivec4\n"
3981 " (parameters\n"
3982 " (declare (in) isampler3D sampler)\n"
3983 " (declare (in) vec3 P) \n"
3984 " (declare (in) vec3 dPdx) \n"
3985 " (declare (in) vec3 dPdy) )\n"
3986 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3987 "\n"
3988 " (signature uvec4\n"
3989 " (parameters\n"
3990 " (declare (in) usampler3D sampler)\n"
3991 " (declare (in) vec3 P) \n"
3992 " (declare (in) vec3 dPdx) \n"
3993 " (declare (in) vec3 dPdy) )\n"
3994 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3995 "\n"
3996 " (signature vec4\n"
3997 " (parameters\n"
3998 " (declare (in) samplerCube sampler)\n"
3999 " (declare (in) vec3 P) \n"
4000 " (declare (in) vec3 dPdx) \n"
4001 " (declare (in) vec3 dPdy) )\n"
4002 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4003 "\n"
4004 " (signature ivec4\n"
4005 " (parameters\n"
4006 " (declare (in) isamplerCube sampler)\n"
4007 " (declare (in) vec3 P) \n"
4008 " (declare (in) vec3 dPdx) \n"
4009 " (declare (in) vec3 dPdy) )\n"
4010 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4011 "\n"
4012 " (signature uvec4\n"
4013 " (parameters\n"
4014 " (declare (in) usamplerCube sampler)\n"
4015 " (declare (in) vec3 P) \n"
4016 " (declare (in) vec3 dPdx) \n"
4017 " (declare (in) vec3 dPdy) )\n"
4018 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4019 "\n"
4020 " (signature vec4\n"
4021 " (parameters\n"
4022 " (declare (in) sampler1DArray sampler)\n"
4023 " (declare (in) vec2 P) \n"
4024 " (declare (in) vec2 dPdx) \n"
4025 " (declare (in) vec2 dPdy) )\n"
4026 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4027 "\n"
4028 " (signature ivec4\n"
4029 " (parameters\n"
4030 " (declare (in) isampler1DArray sampler)\n"
4031 " (declare (in) vec2 P) \n"
4032 " (declare (in) vec2 dPdx) \n"
4033 " (declare (in) vec2 dPdy) )\n"
4034 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4035 "\n"
4036 " (signature uvec4\n"
4037 " (parameters\n"
4038 " (declare (in) usampler1DArray sampler)\n"
4039 " (declare (in) vec2 P) \n"
4040 " (declare (in) vec2 dPdx) \n"
4041 " (declare (in) vec2 dPdy) )\n"
4042 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4043 "\n"
4044 " (signature vec4\n"
4045 " (parameters\n"
4046 " (declare (in) sampler2DArray sampler)\n"
4047 " (declare (in) vec3 P) \n"
4048 " (declare (in) vec3 dPdx) \n"
4049 " (declare (in) vec3 dPdy) )\n"
4050 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4051 "\n"
4052 " (signature ivec4\n"
4053 " (parameters\n"
4054 " (declare (in) isampler2DArray sampler)\n"
4055 " (declare (in) vec3 P) \n"
4056 " (declare (in) vec3 dPdx) \n"
4057 " (declare (in) vec3 dPdy) )\n"
4058 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4059 "\n"
4060 " (signature uvec4\n"
4061 " (parameters\n"
4062 " (declare (in) usampler2DArray sampler)\n"
4063 " (declare (in) vec3 P) \n"
4064 " (declare (in) vec3 dPdx) \n"
4065 " (declare (in) vec3 dPdy) )\n"
4066 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4067 "\n"
4068 "))\n"
4069 ""
4070 ;
4071 static const char builtin_textureLod[] =
4072 "((function textureLod\n"
4073 " (signature vec4\n"
4074 " (parameters\n"
4075 " (declare (in) sampler1D sampler)\n"
4076 " (declare (in) float P) \n"
4077 " (declare (in) float lod) )\n"
4078 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4079 "\n"
4080 " (signature ivec4\n"
4081 " (parameters\n"
4082 " (declare (in) isampler1D sampler)\n"
4083 " (declare (in) float P) \n"
4084 " (declare (in) float lod) )\n"
4085 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4086 "\n"
4087 " (signature uvec4\n"
4088 " (parameters\n"
4089 " (declare (in) usampler1D sampler)\n"
4090 " (declare (in) float P) \n"
4091 " (declare (in) float lod) )\n"
4092 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4093 "\n"
4094 " (signature vec4\n"
4095 " (parameters\n"
4096 " (declare (in) sampler2D sampler)\n"
4097 " (declare (in) vec2 P) \n"
4098 " (declare (in) float lod) )\n"
4099 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4100 "\n"
4101 " (signature ivec4\n"
4102 " (parameters\n"
4103 " (declare (in) isampler2D sampler)\n"
4104 " (declare (in) vec2 P) \n"
4105 " (declare (in) float lod) )\n"
4106 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4107 "\n"
4108 " (signature uvec4\n"
4109 " (parameters\n"
4110 " (declare (in) usampler2D sampler)\n"
4111 " (declare (in) vec2 P) \n"
4112 " (declare (in) float lod) )\n"
4113 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4114 "\n"
4115 " (signature vec4\n"
4116 " (parameters\n"
4117 " (declare (in) sampler3D sampler)\n"
4118 " (declare (in) vec3 P) \n"
4119 " (declare (in) float lod) )\n"
4120 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4121 "\n"
4122 " (signature ivec4\n"
4123 " (parameters\n"
4124 " (declare (in) isampler3D sampler)\n"
4125 " (declare (in) vec3 P) \n"
4126 " (declare (in) float lod) )\n"
4127 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4128 "\n"
4129 " (signature uvec4\n"
4130 " (parameters\n"
4131 " (declare (in) usampler3D sampler)\n"
4132 " (declare (in) vec3 P) \n"
4133 " (declare (in) float lod) )\n"
4134 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4135 "\n"
4136 " (signature vec4\n"
4137 " (parameters\n"
4138 " (declare (in) samplerCube sampler)\n"
4139 " (declare (in) vec3 P) \n"
4140 " (declare (in) float lod) )\n"
4141 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4142 "\n"
4143 " (signature ivec4\n"
4144 " (parameters\n"
4145 " (declare (in) isamplerCube sampler)\n"
4146 " (declare (in) vec3 P) \n"
4147 " (declare (in) float lod) )\n"
4148 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4149 "\n"
4150 " (signature uvec4\n"
4151 " (parameters\n"
4152 " (declare (in) usamplerCube sampler)\n"
4153 " (declare (in) vec3 P) \n"
4154 " (declare (in) float lod) )\n"
4155 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4156 "\n"
4157 " (signature vec4\n"
4158 " (parameters\n"
4159 " (declare (in) sampler1DArray sampler)\n"
4160 " (declare (in) vec2 P) \n"
4161 " (declare (in) float lod) )\n"
4162 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4163 "\n"
4164 " (signature ivec4\n"
4165 " (parameters\n"
4166 " (declare (in) isampler1DArray sampler)\n"
4167 " (declare (in) vec2 P) \n"
4168 " (declare (in) float lod) )\n"
4169 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4170 "\n"
4171 " (signature uvec4\n"
4172 " (parameters\n"
4173 " (declare (in) usampler1DArray sampler)\n"
4174 " (declare (in) vec2 P) \n"
4175 " (declare (in) float lod) )\n"
4176 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4177 "\n"
4178 " (signature vec4\n"
4179 " (parameters\n"
4180 " (declare (in) sampler2DArray sampler)\n"
4181 " (declare (in) vec3 P) \n"
4182 " (declare (in) float lod) )\n"
4183 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4184 "\n"
4185 " (signature ivec4\n"
4186 " (parameters\n"
4187 " (declare (in) isampler2DArray sampler)\n"
4188 " (declare (in) vec3 P) \n"
4189 " (declare (in) float lod) )\n"
4190 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4191 "\n"
4192 " (signature uvec4\n"
4193 " (parameters\n"
4194 " (declare (in) usampler2DArray sampler)\n"
4195 " (declare (in) vec3 P) \n"
4196 " (declare (in) float lod) )\n"
4197 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4198 "\n"
4199 "))\n"
4200 ""
4201 ;
4202 static const char builtin_textureProj[] =
4203 "((function textureProj\n"
4204 " (signature vec4\n"
4205 " (parameters\n"
4206 " (declare (in) sampler1D sampler)\n"
4207 " (declare (in) vec2 P) )\n"
4208 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ))))\n"
4209 "\n"
4210 " (signature ivec4\n"
4211 " (parameters\n"
4212 " (declare (in) isampler1D sampler)\n"
4213 " (declare (in) vec2 P) )\n"
4214 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ))))\n"
4215 "\n"
4216 " (signature uvec4\n"
4217 " (parameters\n"
4218 " (declare (in) usampler1D sampler)\n"
4219 " (declare (in) vec2 P) )\n"
4220 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ))))\n"
4221 "\n"
4222 " (signature vec4\n"
4223 " (parameters\n"
4224 " (declare (in) sampler1D sampler)\n"
4225 " (declare (in) vec4 P) )\n"
4226 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4227 "\n"
4228 " (signature ivec4\n"
4229 " (parameters\n"
4230 " (declare (in) isampler1D sampler)\n"
4231 " (declare (in) vec4 P) )\n"
4232 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4233 "\n"
4234 " (signature uvec4\n"
4235 " (parameters\n"
4236 " (declare (in) usampler1D sampler)\n"
4237 " (declare (in) vec4 P) )\n"
4238 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4239 "\n"
4240 " (signature vec4\n"
4241 " (parameters\n"
4242 " (declare (in) sampler2D sampler)\n"
4243 " (declare (in) vec3 P) )\n"
4244 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
4245 "\n"
4246 " (signature ivec4\n"
4247 " (parameters\n"
4248 " (declare (in) isampler2D sampler)\n"
4249 " (declare (in) vec3 P) )\n"
4250 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
4251 "\n"
4252 " (signature uvec4\n"
4253 " (parameters\n"
4254 " (declare (in) usampler2D sampler)\n"
4255 " (declare (in) vec3 P) )\n"
4256 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
4257 "\n"
4258 " (signature vec4\n"
4259 " (parameters\n"
4260 " (declare (in) sampler2D sampler)\n"
4261 " (declare (in) vec4 P) )\n"
4262 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4263 "\n"
4264 " (signature ivec4\n"
4265 " (parameters\n"
4266 " (declare (in) isampler2D sampler)\n"
4267 " (declare (in) vec4 P) )\n"
4268 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4269 "\n"
4270 " (signature uvec4\n"
4271 " (parameters\n"
4272 " (declare (in) usampler2D sampler)\n"
4273 " (declare (in) vec4 P) )\n"
4274 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4275 "\n"
4276 " (signature vec4\n"
4277 " (parameters\n"
4278 " (declare (in) sampler3D sampler)\n"
4279 " (declare (in) vec4 P) )\n"
4280 " ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4281 "\n"
4282 " (signature ivec4\n"
4283 " (parameters\n"
4284 " (declare (in) isampler3D sampler)\n"
4285 " (declare (in) vec4 P) )\n"
4286 " ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4287 "\n"
4288 " (signature uvec4\n"
4289 " (parameters\n"
4290 " (declare (in) usampler3D sampler)\n"
4291 " (declare (in) vec4 P) )\n"
4292 " ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4293 "\n"
4294 " (signature vec4\n"
4295 " (parameters\n"
4296 " (declare (in) sampler1D sampler)\n"
4297 " (declare (in) vec2 P) \n"
4298 " (declare (in) float bias) )\n"
4299 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
4300 "\n"
4301 " (signature ivec4\n"
4302 " (parameters\n"
4303 " (declare (in) isampler1D sampler)\n"
4304 " (declare (in) vec2 P) \n"
4305 " (declare (in) float bias) )\n"
4306 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
4307 "\n"
4308 " (signature uvec4\n"
4309 " (parameters\n"
4310 " (declare (in) usampler1D sampler)\n"
4311 " (declare (in) vec2 P) \n"
4312 " (declare (in) float bias) )\n"
4313 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
4314 "\n"
4315 " (signature vec4\n"
4316 " (parameters\n"
4317 " (declare (in) sampler1D sampler)\n"
4318 " (declare (in) vec4 P) \n"
4319 " (declare (in) float bias) )\n"
4320 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4321 "\n"
4322 " (signature ivec4\n"
4323 " (parameters\n"
4324 " (declare (in) isampler1D sampler)\n"
4325 " (declare (in) vec4 P) \n"
4326 " (declare (in) float bias) )\n"
4327 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4328 "\n"
4329 " (signature uvec4\n"
4330 " (parameters\n"
4331 " (declare (in) usampler1D sampler)\n"
4332 " (declare (in) vec4 P) \n"
4333 " (declare (in) float bias) )\n"
4334 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4335 "\n"
4336 " (signature vec4\n"
4337 " (parameters\n"
4338 " (declare (in) sampler2D sampler)\n"
4339 " (declare (in) vec3 P) \n"
4340 " (declare (in) float bias) )\n"
4341 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
4342 "\n"
4343 " (signature ivec4\n"
4344 " (parameters\n"
4345 " (declare (in) isampler2D sampler)\n"
4346 " (declare (in) vec3 P) \n"
4347 " (declare (in) float bias) )\n"
4348 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
4349 "\n"
4350 " (signature uvec4\n"
4351 " (parameters\n"
4352 " (declare (in) usampler2D sampler)\n"
4353 " (declare (in) vec3 P) \n"
4354 " (declare (in) float bias) )\n"
4355 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
4356 "\n"
4357 " (signature vec4\n"
4358 " (parameters\n"
4359 " (declare (in) sampler2D sampler)\n"
4360 " (declare (in) vec4 P) \n"
4361 " (declare (in) float bias) )\n"
4362 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4363 "\n"
4364 " (signature ivec4\n"
4365 " (parameters\n"
4366 " (declare (in) isampler2D sampler)\n"
4367 " (declare (in) vec4 P) \n"
4368 " (declare (in) float bias) )\n"
4369 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4370 "\n"
4371 " (signature uvec4\n"
4372 " (parameters\n"
4373 " (declare (in) usampler2D sampler)\n"
4374 " (declare (in) vec4 P) \n"
4375 " (declare (in) float bias) )\n"
4376 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4377 "\n"
4378 " (signature vec4\n"
4379 " (parameters\n"
4380 " (declare (in) sampler3D sampler)\n"
4381 " (declare (in) vec4 P) \n"
4382 " (declare (in) float bias) )\n"
4383 " ((return (txb (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4384 "\n"
4385 " (signature ivec4\n"
4386 " (parameters\n"
4387 " (declare (in) isampler3D sampler)\n"
4388 " (declare (in) vec4 P) \n"
4389 " (declare (in) float bias) )\n"
4390 " ((return (txb (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4391 "\n"
4392 " (signature uvec4\n"
4393 " (parameters\n"
4394 " (declare (in) usampler3D sampler)\n"
4395 " (declare (in) vec4 P) \n"
4396 " (declare (in) float bias) )\n"
4397 " ((return (txb (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4398 "\n"
4399 "))\n"
4400 ""
4401 ;
4402 static const char builtin_textureProjGrad[] =
4403 "((function textureProjGrad\n"
4404 " (signature vec4\n"
4405 " (parameters\n"
4406 " (declare (in) sampler1D sampler)\n"
4407 " (declare (in) vec2 P) \n"
4408 " (declare (in) float dPdx) \n"
4409 " (declare (in) float dPdy) )\n"
4410 " ((return (txd (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4411 "\n"
4412 " (signature ivec4\n"
4413 " (parameters\n"
4414 " (declare (in) isampler1D sampler)\n"
4415 " (declare (in) vec2 P) \n"
4416 " (declare (in) float dPdx) \n"
4417 " (declare (in) float dPdy) )\n"
4418 " ((return (txd (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4419 "\n"
4420 " (signature uvec4\n"
4421 " (parameters\n"
4422 " (declare (in) usampler1D sampler)\n"
4423 " (declare (in) vec2 P) \n"
4424 " (declare (in) float dPdx) \n"
4425 " (declare (in) float dPdy) )\n"
4426 " ((return (txd (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4427 "\n"
4428 " (signature vec4\n"
4429 " (parameters\n"
4430 " (declare (in) sampler1D sampler)\n"
4431 " (declare (in) vec4 P) \n"
4432 " (declare (in) float dPdx) \n"
4433 " (declare (in) float dPdy) )\n"
4434 " ((return (txd (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4435 "\n"
4436 " (signature ivec4\n"
4437 " (parameters\n"
4438 " (declare (in) isampler1D sampler)\n"
4439 " (declare (in) vec4 P) \n"
4440 " (declare (in) float dPdx) \n"
4441 " (declare (in) float dPdy) )\n"
4442 " ((return (txd (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4443 "\n"
4444 " (signature uvec4\n"
4445 " (parameters\n"
4446 " (declare (in) usampler1D sampler)\n"
4447 " (declare (in) vec4 P) \n"
4448 " (declare (in) float dPdx) \n"
4449 " (declare (in) float dPdy) )\n"
4450 " ((return (txd (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4451 "\n"
4452 " (signature vec4\n"
4453 " (parameters\n"
4454 " (declare (in) sampler2D sampler)\n"
4455 " (declare (in) vec3 P) \n"
4456 " (declare (in) vec2 dPdx) \n"
4457 " (declare (in) vec2 dPdy) )\n"
4458 " ((return (txd (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4459 "\n"
4460 " (signature ivec4\n"
4461 " (parameters\n"
4462 " (declare (in) isampler2D sampler)\n"
4463 " (declare (in) vec3 P) \n"
4464 " (declare (in) vec2 dPdx) \n"
4465 " (declare (in) vec2 dPdy) )\n"
4466 " ((return (txd (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4467 "\n"
4468 " (signature uvec4\n"
4469 " (parameters\n"
4470 " (declare (in) usampler2D sampler)\n"
4471 " (declare (in) vec3 P) \n"
4472 " (declare (in) vec2 dPdx) \n"
4473 " (declare (in) vec2 dPdy) )\n"
4474 " ((return (txd (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4475 "\n"
4476 " (signature vec4\n"
4477 " (parameters\n"
4478 " (declare (in) sampler2D sampler)\n"
4479 " (declare (in) vec4 P) \n"
4480 " (declare (in) vec2 dPdx) \n"
4481 " (declare (in) vec2 dPdy) )\n"
4482 " ((return (txd (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4483 "\n"
4484 " (signature ivec4\n"
4485 " (parameters\n"
4486 " (declare (in) isampler2D sampler)\n"
4487 " (declare (in) vec4 P) \n"
4488 " (declare (in) vec2 dPdx) \n"
4489 " (declare (in) vec2 dPdy) )\n"
4490 " ((return (txd (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4491 "\n"
4492 " (signature uvec4\n"
4493 " (parameters\n"
4494 " (declare (in) usampler2D sampler)\n"
4495 " (declare (in) vec4 P) \n"
4496 " (declare (in) vec2 dPdx) \n"
4497 " (declare (in) vec2 dPdy) )\n"
4498 " ((return (txd (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4499 "\n"
4500 " (signature vec4\n"
4501 " (parameters\n"
4502 " (declare (in) sampler3D sampler)\n"
4503 " (declare (in) vec4 P) \n"
4504 " (declare (in) vec3 dPdx) \n"
4505 " (declare (in) vec3 dPdy) )\n"
4506 " ((return (txd (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4507 "\n"
4508 " (signature ivec4\n"
4509 " (parameters\n"
4510 " (declare (in) isampler3D sampler)\n"
4511 " (declare (in) vec4 P) \n"
4512 " (declare (in) vec3 dPdx) \n"
4513 " (declare (in) vec3 dPdy) )\n"
4514 " ((return (txd (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4515 "\n"
4516 " (signature uvec4\n"
4517 " (parameters\n"
4518 " (declare (in) usampler3D sampler)\n"
4519 " (declare (in) vec4 P) \n"
4520 " (declare (in) vec3 dPdx) \n"
4521 " (declare (in) vec3 dPdy) )\n"
4522 " ((return (txd (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4523 "\n"
4524 "))\n"
4525 ""
4526 ;
4527 static const char builtin_textureProjLod[] =
4528 "((function textureProjLod\n"
4529 " (signature vec4\n"
4530 " (parameters\n"
4531 " (declare (in) sampler1D sampler)\n"
4532 " (declare (in) vec2 P) \n"
4533 " (declare (in) float lod) )\n"
4534 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
4535 "\n"
4536 " (signature ivec4\n"
4537 " (parameters\n"
4538 " (declare (in) isampler1D sampler)\n"
4539 " (declare (in) vec2 P) \n"
4540 " (declare (in) float lod) )\n"
4541 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
4542 "\n"
4543 " (signature uvec4\n"
4544 " (parameters\n"
4545 " (declare (in) usampler1D sampler)\n"
4546 " (declare (in) vec2 P) \n"
4547 " (declare (in) float lod) )\n"
4548 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
4549 "\n"
4550 " (signature vec4\n"
4551 " (parameters\n"
4552 " (declare (in) sampler1D sampler)\n"
4553 " (declare (in) vec4 P) \n"
4554 " (declare (in) float lod) )\n"
4555 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4556 "\n"
4557 " (signature ivec4\n"
4558 " (parameters\n"
4559 " (declare (in) isampler1D sampler)\n"
4560 " (declare (in) vec4 P) \n"
4561 " (declare (in) float lod) )\n"
4562 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4563 "\n"
4564 " (signature uvec4\n"
4565 " (parameters\n"
4566 " (declare (in) usampler1D sampler)\n"
4567 " (declare (in) vec4 P) \n"
4568 " (declare (in) float lod) )\n"
4569 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4570 "\n"
4571 " (signature vec4\n"
4572 " (parameters\n"
4573 " (declare (in) sampler2D sampler)\n"
4574 " (declare (in) vec3 P) \n"
4575 " (declare (in) float lod) )\n"
4576 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
4577 "\n"
4578 " (signature ivec4\n"
4579 " (parameters\n"
4580 " (declare (in) isampler2D sampler)\n"
4581 " (declare (in) vec3 P) \n"
4582 " (declare (in) float lod) )\n"
4583 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
4584 "\n"
4585 " (signature uvec4\n"
4586 " (parameters\n"
4587 " (declare (in) usampler2D sampler)\n"
4588 " (declare (in) vec3 P) \n"
4589 " (declare (in) float lod) )\n"
4590 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
4591 "\n"
4592 " (signature vec4\n"
4593 " (parameters\n"
4594 " (declare (in) sampler2D sampler)\n"
4595 " (declare (in) vec4 P) \n"
4596 " (declare (in) float lod) )\n"
4597 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4598 "\n"
4599 " (signature ivec4\n"
4600 " (parameters\n"
4601 " (declare (in) isampler2D sampler)\n"
4602 " (declare (in) vec4 P) \n"
4603 " (declare (in) float lod) )\n"
4604 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4605 "\n"
4606 " (signature uvec4\n"
4607 " (parameters\n"
4608 " (declare (in) usampler2D sampler)\n"
4609 " (declare (in) vec4 P) \n"
4610 " (declare (in) float lod) )\n"
4611 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4612 "\n"
4613 " (signature vec4\n"
4614 " (parameters\n"
4615 " (declare (in) sampler3D sampler)\n"
4616 " (declare (in) vec4 P) \n"
4617 " (declare (in) float lod) )\n"
4618 " ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4619 "\n"
4620 " (signature ivec4\n"
4621 " (parameters\n"
4622 " (declare (in) isampler3D sampler)\n"
4623 " (declare (in) vec4 P) \n"
4624 " (declare (in) float lod) )\n"
4625 " ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4626 "\n"
4627 " (signature uvec4\n"
4628 " (parameters\n"
4629 " (declare (in) usampler3D sampler)\n"
4630 " (declare (in) vec4 P) \n"
4631 " (declare (in) float lod) )\n"
4632 " ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4633 "\n"
4634 "))\n"
4635 ""
4636 ;
4637 static const char builtin_transpose[] =
4638 "((function transpose\n"
4639 " (signature mat2\n"
4640 " (parameters\n"
4641 " (declare (in) mat2 m))\n"
4642 " ((declare () mat2 t)\n"
4643 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4644 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4645 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4646 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4647 "(return (var_ref t))))\n"
4648 "\n"
4649 " (signature mat3x2\n"
4650 " (parameters\n"
4651 " (declare (in) mat2x3 m))\n"
4652 " ((declare () mat3x2 t)\n"
4653 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4654 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4655 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))\n"
4656 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4657 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4658 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))\n"
4659 "(return (var_ref t))))\n"
4660 "\n"
4661 " (signature mat4x2\n"
4662 " (parameters\n"
4663 " (declare (in) mat2x4 m))\n"
4664 " ((declare () mat4x2 t)\n"
4665 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4666 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4667 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))\n"
4668 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (0)))))\n"
4669 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4670 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4671 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))\n"
4672 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (1)))))\n"
4673 "(return (var_ref t))))\n"
4674 "\n"
4675 " (signature mat2x3\n"
4676 " (parameters\n"
4677 " (declare (in) mat3x2 m))\n"
4678 " ((declare () mat2x3 t)\n"
4679 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4680 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4681 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4682 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4683 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))\n"
4684 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))\n"
4685 "(return (var_ref t))))\n"
4686 "\n"
4687 " (signature mat3\n"
4688 " (parameters\n"
4689 " (declare (in) mat3 m))\n"
4690 " ((declare () mat3 t)\n"
4691 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4692 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4693 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))\n"
4694 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4695 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4696 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))\n"
4697 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))\n"
4698 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))\n"
4699 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (2)))))\n"
4700 "(return (var_ref t))))\n"
4701 "\n"
4702 " (signature mat4x3\n"
4703 " (parameters\n"
4704 " (declare (in) mat3x4 m))\n"
4705 " ((declare () mat4x3 t)\n"
4706 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4707 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4708 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))\n"
4709 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (0)))))\n"
4710 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4711 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4712 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))\n"
4713 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (1)))))\n"
4714 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))\n"
4715 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))\n"
4716 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (2)))))\n"
4717 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (2)))))\n"
4718 "(return (var_ref t))))\n"
4719 "\n"
4720 " (signature mat2x4\n"
4721 " (parameters\n"
4722 " (declare (in) mat4x2 m))\n"
4723 " ((declare () mat2x4 t)\n"
4724 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4725 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4726 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4727 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4728 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))\n"
4729 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))\n"
4730 " (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (3)))))\n"
4731 " (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (3)))))\n"
4732 "(return (var_ref t))))\n"
4733 "\n"
4734 " (signature mat3x4\n"
4735 " (parameters\n"
4736 " (declare (in) mat4x3 m))\n"
4737 " ((declare () mat3x4 t)\n"
4738 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4739 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4740 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))\n"
4741 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4742 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4743 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))\n"
4744 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))\n"
4745 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))\n"
4746 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (2)))))\n"
4747 " (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (3)))))\n"
4748 " (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (3)))))\n"
4749 " (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (3)))))\n"
4750 "(return (var_ref t))))\n"
4751 "\n"
4752 " (signature mat4\n"
4753 " (parameters\n"
4754 " (declare (in) mat4 m))\n"
4755 " ((declare () mat4 t)\n"
4756 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4757 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4758 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))\n"
4759 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (0)))))\n"
4760 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4761 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4762 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))\n"
4763 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (1)))))\n"
4764 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))\n"
4765 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))\n"
4766 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (2)))))\n"
4767 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (2)))))\n"
4768 " (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (3)))))\n"
4769 " (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (3)))))\n"
4770 " (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (3)))))\n"
4771 " (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (3)))))\n"
4772 "(return (var_ref t))))\n"
4773 ")\n"
4774 "\n"
4775 ")\n"
4776 "\n"
4777 ""
4778 ;
4779 static const char builtin_trunc[] =
4780 "((function trunc\n"
4781 " (signature float\n"
4782 " (parameters\n"
4783 " (declare (in) float arg0))\n"
4784 " ((return (expression float trunc (var_ref arg0)))))\n"
4785 "\n"
4786 " (signature vec2\n"
4787 " (parameters\n"
4788 " (declare (in) vec2 arg0))\n"
4789 " ((return (expression vec2 trunc (var_ref arg0)))))\n"
4790 "\n"
4791 " (signature vec3\n"
4792 " (parameters\n"
4793 " (declare (in) vec3 arg0))\n"
4794 " ((return (expression vec3 trunc (var_ref arg0)))))\n"
4795 "\n"
4796 " (signature vec4\n"
4797 " (parameters\n"
4798 " (declare (in) vec4 arg0))\n"
4799 " ((return (expression vec4 trunc (var_ref arg0)))))\n"
4800 "))\n"
4801 ""
4802 ;
4803 static const char prototypes_for_100_frag[] =
4804 "(\n"
4805 "(function radians\n"
4806 " (signature float\n"
4807 " (parameters\n"
4808 " (declare (in) float degrees))\n"
4809 " ())\n"
4810 " (signature vec2\n"
4811 " (parameters\n"
4812 " (declare (in) vec2 degrees))\n"
4813 " ())\n"
4814 " (signature vec3\n"
4815 " (parameters\n"
4816 " (declare (in) vec3 degrees))\n"
4817 " ())\n"
4818 " (signature vec4\n"
4819 " (parameters\n"
4820 " (declare (in) vec4 degrees))\n"
4821 " ()))\n"
4822 "(function degrees\n"
4823 " (signature float\n"
4824 " (parameters\n"
4825 " (declare (in) float radians))\n"
4826 " ())\n"
4827 " (signature vec2\n"
4828 " (parameters\n"
4829 " (declare (in) vec2 radians))\n"
4830 " ())\n"
4831 " (signature vec3\n"
4832 " (parameters\n"
4833 " (declare (in) vec3 radians))\n"
4834 " ())\n"
4835 " (signature vec4\n"
4836 " (parameters\n"
4837 " (declare (in) vec4 radians))\n"
4838 " ()))\n"
4839 "(function sin\n"
4840 " (signature float\n"
4841 " (parameters\n"
4842 " (declare (in) float angle))\n"
4843 " ())\n"
4844 " (signature vec2\n"
4845 " (parameters\n"
4846 " (declare (in) vec2 angle))\n"
4847 " ())\n"
4848 " (signature vec3\n"
4849 " (parameters\n"
4850 " (declare (in) vec3 angle))\n"
4851 " ())\n"
4852 " (signature vec4\n"
4853 " (parameters\n"
4854 " (declare (in) vec4 angle))\n"
4855 " ()))\n"
4856 "(function cos\n"
4857 " (signature float\n"
4858 " (parameters\n"
4859 " (declare (in) float angle))\n"
4860 " ())\n"
4861 " (signature vec2\n"
4862 " (parameters\n"
4863 " (declare (in) vec2 angle))\n"
4864 " ())\n"
4865 " (signature vec3\n"
4866 " (parameters\n"
4867 " (declare (in) vec3 angle))\n"
4868 " ())\n"
4869 " (signature vec4\n"
4870 " (parameters\n"
4871 " (declare (in) vec4 angle))\n"
4872 " ()))\n"
4873 "(function tan\n"
4874 " (signature float\n"
4875 " (parameters\n"
4876 " (declare (in) float angle))\n"
4877 " ())\n"
4878 " (signature vec2\n"
4879 " (parameters\n"
4880 " (declare (in) vec2 angle))\n"
4881 " ())\n"
4882 " (signature vec3\n"
4883 " (parameters\n"
4884 " (declare (in) vec3 angle))\n"
4885 " ())\n"
4886 " (signature vec4\n"
4887 " (parameters\n"
4888 " (declare (in) vec4 angle))\n"
4889 " ()))\n"
4890 "(function asin\n"
4891 " (signature float\n"
4892 " (parameters\n"
4893 " (declare (in) float angle))\n"
4894 " ())\n"
4895 " (signature vec2\n"
4896 " (parameters\n"
4897 " (declare (in) vec2 angle))\n"
4898 " ())\n"
4899 " (signature vec3\n"
4900 " (parameters\n"
4901 " (declare (in) vec3 angle))\n"
4902 " ())\n"
4903 " (signature vec4\n"
4904 " (parameters\n"
4905 " (declare (in) vec4 angle))\n"
4906 " ()))\n"
4907 "(function acos\n"
4908 " (signature float\n"
4909 " (parameters\n"
4910 " (declare (in) float angle))\n"
4911 " ())\n"
4912 " (signature vec2\n"
4913 " (parameters\n"
4914 " (declare (in) vec2 angle))\n"
4915 " ())\n"
4916 " (signature vec3\n"
4917 " (parameters\n"
4918 " (declare (in) vec3 angle))\n"
4919 " ())\n"
4920 " (signature vec4\n"
4921 " (parameters\n"
4922 " (declare (in) vec4 angle))\n"
4923 " ()))\n"
4924 "(function atan\n"
4925 " (signature float\n"
4926 " (parameters\n"
4927 " (declare (in) float y)\n"
4928 " (declare (in) float x))\n"
4929 " ())\n"
4930 " (signature vec2\n"
4931 " (parameters\n"
4932 " (declare (in) vec2 y)\n"
4933 " (declare (in) vec2 x))\n"
4934 " ())\n"
4935 " (signature vec3\n"
4936 " (parameters\n"
4937 " (declare (in) vec3 y)\n"
4938 " (declare (in) vec3 x))\n"
4939 " ())\n"
4940 " (signature vec4\n"
4941 " (parameters\n"
4942 " (declare (in) vec4 y)\n"
4943 " (declare (in) vec4 x))\n"
4944 " ())\n"
4945 " (signature float\n"
4946 " (parameters\n"
4947 " (declare (in) float y_over_x))\n"
4948 " ())\n"
4949 " (signature vec2\n"
4950 " (parameters\n"
4951 " (declare (in) vec2 y_over_x))\n"
4952 " ())\n"
4953 " (signature vec3\n"
4954 " (parameters\n"
4955 " (declare (in) vec3 y_over_x))\n"
4956 " ())\n"
4957 " (signature vec4\n"
4958 " (parameters\n"
4959 " (declare (in) vec4 y_over_x))\n"
4960 " ()))\n"
4961 "(function pow\n"
4962 " (signature float\n"
4963 " (parameters\n"
4964 " (declare (in) float x)\n"
4965 " (declare (in) float y))\n"
4966 " ())\n"
4967 " (signature vec2\n"
4968 " (parameters\n"
4969 " (declare (in) vec2 x)\n"
4970 " (declare (in) vec2 y))\n"
4971 " ())\n"
4972 " (signature vec3\n"
4973 " (parameters\n"
4974 " (declare (in) vec3 x)\n"
4975 " (declare (in) vec3 y))\n"
4976 " ())\n"
4977 " (signature vec4\n"
4978 " (parameters\n"
4979 " (declare (in) vec4 x)\n"
4980 " (declare (in) vec4 y))\n"
4981 " ()))\n"
4982 "(function exp\n"
4983 " (signature float\n"
4984 " (parameters\n"
4985 " (declare (in) float x))\n"
4986 " ())\n"
4987 " (signature vec2\n"
4988 " (parameters\n"
4989 " (declare (in) vec2 x))\n"
4990 " ())\n"
4991 " (signature vec3\n"
4992 " (parameters\n"
4993 " (declare (in) vec3 x))\n"
4994 " ())\n"
4995 " (signature vec4\n"
4996 " (parameters\n"
4997 " (declare (in) vec4 x))\n"
4998 " ()))\n"
4999 "(function log\n"
5000 " (signature float\n"
5001 " (parameters\n"
5002 " (declare (in) float x))\n"
5003 " ())\n"
5004 " (signature vec2\n"
5005 " (parameters\n"
5006 " (declare (in) vec2 x))\n"
5007 " ())\n"
5008 " (signature vec3\n"
5009 " (parameters\n"
5010 " (declare (in) vec3 x))\n"
5011 " ())\n"
5012 " (signature vec4\n"
5013 " (parameters\n"
5014 " (declare (in) vec4 x))\n"
5015 " ()))\n"
5016 "(function exp2\n"
5017 " (signature float\n"
5018 " (parameters\n"
5019 " (declare (in) float x))\n"
5020 " ())\n"
5021 " (signature vec2\n"
5022 " (parameters\n"
5023 " (declare (in) vec2 x))\n"
5024 " ())\n"
5025 " (signature vec3\n"
5026 " (parameters\n"
5027 " (declare (in) vec3 x))\n"
5028 " ())\n"
5029 " (signature vec4\n"
5030 " (parameters\n"
5031 " (declare (in) vec4 x))\n"
5032 " ()))\n"
5033 "(function log2\n"
5034 " (signature float\n"
5035 " (parameters\n"
5036 " (declare (in) float x))\n"
5037 " ())\n"
5038 " (signature vec2\n"
5039 " (parameters\n"
5040 " (declare (in) vec2 x))\n"
5041 " ())\n"
5042 " (signature vec3\n"
5043 " (parameters\n"
5044 " (declare (in) vec3 x))\n"
5045 " ())\n"
5046 " (signature vec4\n"
5047 " (parameters\n"
5048 " (declare (in) vec4 x))\n"
5049 " ()))\n"
5050 "(function sqrt\n"
5051 " (signature float\n"
5052 " (parameters\n"
5053 " (declare (in) float x))\n"
5054 " ())\n"
5055 " (signature vec2\n"
5056 " (parameters\n"
5057 " (declare (in) vec2 x))\n"
5058 " ())\n"
5059 " (signature vec3\n"
5060 " (parameters\n"
5061 " (declare (in) vec3 x))\n"
5062 " ())\n"
5063 " (signature vec4\n"
5064 " (parameters\n"
5065 " (declare (in) vec4 x))\n"
5066 " ()))\n"
5067 "(function inversesqrt\n"
5068 " (signature float\n"
5069 " (parameters\n"
5070 " (declare (in) float x))\n"
5071 " ())\n"
5072 " (signature vec2\n"
5073 " (parameters\n"
5074 " (declare (in) vec2 x))\n"
5075 " ())\n"
5076 " (signature vec3\n"
5077 " (parameters\n"
5078 " (declare (in) vec3 x))\n"
5079 " ())\n"
5080 " (signature vec4\n"
5081 " (parameters\n"
5082 " (declare (in) vec4 x))\n"
5083 " ()))\n"
5084 "(function abs\n"
5085 " (signature float\n"
5086 " (parameters\n"
5087 " (declare (in) float x))\n"
5088 " ())\n"
5089 " (signature vec2\n"
5090 " (parameters\n"
5091 " (declare (in) vec2 x))\n"
5092 " ())\n"
5093 " (signature vec3\n"
5094 " (parameters\n"
5095 " (declare (in) vec3 x))\n"
5096 " ())\n"
5097 " (signature vec4\n"
5098 " (parameters\n"
5099 " (declare (in) vec4 x))\n"
5100 " ()))\n"
5101 "(function sign\n"
5102 " (signature float\n"
5103 " (parameters\n"
5104 " (declare (in) float x))\n"
5105 " ())\n"
5106 " (signature vec2\n"
5107 " (parameters\n"
5108 " (declare (in) vec2 x))\n"
5109 " ())\n"
5110 " (signature vec3\n"
5111 " (parameters\n"
5112 " (declare (in) vec3 x))\n"
5113 " ())\n"
5114 " (signature vec4\n"
5115 " (parameters\n"
5116 " (declare (in) vec4 x))\n"
5117 " ()))\n"
5118 "(function floor\n"
5119 " (signature float\n"
5120 " (parameters\n"
5121 " (declare (in) float x))\n"
5122 " ())\n"
5123 " (signature vec2\n"
5124 " (parameters\n"
5125 " (declare (in) vec2 x))\n"
5126 " ())\n"
5127 " (signature vec3\n"
5128 " (parameters\n"
5129 " (declare (in) vec3 x))\n"
5130 " ())\n"
5131 " (signature vec4\n"
5132 " (parameters\n"
5133 " (declare (in) vec4 x))\n"
5134 " ()))\n"
5135 "(function ceil\n"
5136 " (signature float\n"
5137 " (parameters\n"
5138 " (declare (in) float x))\n"
5139 " ())\n"
5140 " (signature vec2\n"
5141 " (parameters\n"
5142 " (declare (in) vec2 x))\n"
5143 " ())\n"
5144 " (signature vec3\n"
5145 " (parameters\n"
5146 " (declare (in) vec3 x))\n"
5147 " ())\n"
5148 " (signature vec4\n"
5149 " (parameters\n"
5150 " (declare (in) vec4 x))\n"
5151 " ()))\n"
5152 "(function fract\n"
5153 " (signature float\n"
5154 " (parameters\n"
5155 " (declare (in) float x))\n"
5156 " ())\n"
5157 " (signature vec2\n"
5158 " (parameters\n"
5159 " (declare (in) vec2 x))\n"
5160 " ())\n"
5161 " (signature vec3\n"
5162 " (parameters\n"
5163 " (declare (in) vec3 x))\n"
5164 " ())\n"
5165 " (signature vec4\n"
5166 " (parameters\n"
5167 " (declare (in) vec4 x))\n"
5168 " ()))\n"
5169 "(function mod\n"
5170 " (signature float\n"
5171 " (parameters\n"
5172 " (declare (in) float x)\n"
5173 " (declare (in) float y))\n"
5174 " ())\n"
5175 " (signature vec2\n"
5176 " (parameters\n"
5177 " (declare (in) vec2 x)\n"
5178 " (declare (in) float y))\n"
5179 " ())\n"
5180 " (signature vec3\n"
5181 " (parameters\n"
5182 " (declare (in) vec3 x)\n"
5183 " (declare (in) float y))\n"
5184 " ())\n"
5185 " (signature vec4\n"
5186 " (parameters\n"
5187 " (declare (in) vec4 x)\n"
5188 " (declare (in) float y))\n"
5189 " ())\n"
5190 " (signature vec2\n"
5191 " (parameters\n"
5192 " (declare (in) vec2 x)\n"
5193 " (declare (in) vec2 y))\n"
5194 " ())\n"
5195 " (signature vec3\n"
5196 " (parameters\n"
5197 " (declare (in) vec3 x)\n"
5198 " (declare (in) vec3 y))\n"
5199 " ())\n"
5200 " (signature vec4\n"
5201 " (parameters\n"
5202 " (declare (in) vec4 x)\n"
5203 " (declare (in) vec4 y))\n"
5204 " ()))\n"
5205 "(function min\n"
5206 " (signature float\n"
5207 " (parameters\n"
5208 " (declare (in) float x)\n"
5209 " (declare (in) float y))\n"
5210 " ())\n"
5211 " (signature vec2\n"
5212 " (parameters\n"
5213 " (declare (in) vec2 x)\n"
5214 " (declare (in) vec2 y))\n"
5215 " ())\n"
5216 " (signature vec3\n"
5217 " (parameters\n"
5218 " (declare (in) vec3 x)\n"
5219 " (declare (in) vec3 y))\n"
5220 " ())\n"
5221 " (signature vec4\n"
5222 " (parameters\n"
5223 " (declare (in) vec4 x)\n"
5224 " (declare (in) vec4 y))\n"
5225 " ())\n"
5226 " (signature vec2\n"
5227 " (parameters\n"
5228 " (declare (in) vec2 x)\n"
5229 " (declare (in) float y))\n"
5230 " ())\n"
5231 " (signature vec3\n"
5232 " (parameters\n"
5233 " (declare (in) vec3 x)\n"
5234 " (declare (in) float y))\n"
5235 " ())\n"
5236 " (signature vec4\n"
5237 " (parameters\n"
5238 " (declare (in) vec4 x)\n"
5239 " (declare (in) float y))\n"
5240 " ()))\n"
5241 "(function max\n"
5242 " (signature float\n"
5243 " (parameters\n"
5244 " (declare (in) float x)\n"
5245 " (declare (in) float y))\n"
5246 " ())\n"
5247 " (signature vec2\n"
5248 " (parameters\n"
5249 " (declare (in) vec2 x)\n"
5250 " (declare (in) vec2 y))\n"
5251 " ())\n"
5252 " (signature vec3\n"
5253 " (parameters\n"
5254 " (declare (in) vec3 x)\n"
5255 " (declare (in) vec3 y))\n"
5256 " ())\n"
5257 " (signature vec4\n"
5258 " (parameters\n"
5259 " (declare (in) vec4 x)\n"
5260 " (declare (in) vec4 y))\n"
5261 " ())\n"
5262 " (signature vec2\n"
5263 " (parameters\n"
5264 " (declare (in) vec2 x)\n"
5265 " (declare (in) float y))\n"
5266 " ())\n"
5267 " (signature vec3\n"
5268 " (parameters\n"
5269 " (declare (in) vec3 x)\n"
5270 " (declare (in) float y))\n"
5271 " ())\n"
5272 " (signature vec4\n"
5273 " (parameters\n"
5274 " (declare (in) vec4 x)\n"
5275 " (declare (in) float y))\n"
5276 " ()))\n"
5277 "(function clamp\n"
5278 " (signature float\n"
5279 " (parameters\n"
5280 " (declare (in) float x)\n"
5281 " (declare (in) float minVal)\n"
5282 " (declare (in) float maxVal))\n"
5283 " ())\n"
5284 " (signature vec2\n"
5285 " (parameters\n"
5286 " (declare (in) vec2 x)\n"
5287 " (declare (in) vec2 minVal)\n"
5288 " (declare (in) vec2 maxVal))\n"
5289 " ())\n"
5290 " (signature vec3\n"
5291 " (parameters\n"
5292 " (declare (in) vec3 x)\n"
5293 " (declare (in) vec3 minVal)\n"
5294 " (declare (in) vec3 maxVal))\n"
5295 " ())\n"
5296 " (signature vec4\n"
5297 " (parameters\n"
5298 " (declare (in) vec4 x)\n"
5299 " (declare (in) vec4 minVal)\n"
5300 " (declare (in) vec4 maxVal))\n"
5301 " ())\n"
5302 " (signature vec2\n"
5303 " (parameters\n"
5304 " (declare (in) vec2 x)\n"
5305 " (declare (in) float minVal)\n"
5306 " (declare (in) float maxVal))\n"
5307 " ())\n"
5308 " (signature vec3\n"
5309 " (parameters\n"
5310 " (declare (in) vec3 x)\n"
5311 " (declare (in) float minVal)\n"
5312 " (declare (in) float maxVal))\n"
5313 " ())\n"
5314 " (signature vec4\n"
5315 " (parameters\n"
5316 " (declare (in) vec4 x)\n"
5317 " (declare (in) float minVal)\n"
5318 " (declare (in) float maxVal))\n"
5319 " ()))\n"
5320 "(function mix\n"
5321 " (signature float\n"
5322 " (parameters\n"
5323 " (declare (in) float x)\n"
5324 " (declare (in) float y)\n"
5325 " (declare (in) float a))\n"
5326 " ())\n"
5327 " (signature vec2\n"
5328 " (parameters\n"
5329 " (declare (in) vec2 x)\n"
5330 " (declare (in) vec2 y)\n"
5331 " (declare (in) vec2 a))\n"
5332 " ())\n"
5333 " (signature vec3\n"
5334 " (parameters\n"
5335 " (declare (in) vec3 x)\n"
5336 " (declare (in) vec3 y)\n"
5337 " (declare (in) vec3 a))\n"
5338 " ())\n"
5339 " (signature vec4\n"
5340 " (parameters\n"
5341 " (declare (in) vec4 x)\n"
5342 " (declare (in) vec4 y)\n"
5343 " (declare (in) vec4 a))\n"
5344 " ())\n"
5345 " (signature vec2\n"
5346 " (parameters\n"
5347 " (declare (in) vec2 x)\n"
5348 " (declare (in) vec2 y)\n"
5349 " (declare (in) float a))\n"
5350 " ())\n"
5351 " (signature vec3\n"
5352 " (parameters\n"
5353 " (declare (in) vec3 x)\n"
5354 " (declare (in) vec3 y)\n"
5355 " (declare (in) float a))\n"
5356 " ())\n"
5357 " (signature vec4\n"
5358 " (parameters\n"
5359 " (declare (in) vec4 x)\n"
5360 " (declare (in) vec4 y)\n"
5361 " (declare (in) float a))\n"
5362 " ()))\n"
5363 "(function step\n"
5364 " (signature float\n"
5365 " (parameters\n"
5366 " (declare (in) float edge)\n"
5367 " (declare (in) float x))\n"
5368 " ())\n"
5369 " (signature vec2\n"
5370 " (parameters\n"
5371 " (declare (in) vec2 edge)\n"
5372 " (declare (in) vec2 x))\n"
5373 " ())\n"
5374 " (signature vec3\n"
5375 " (parameters\n"
5376 " (declare (in) vec3 edge)\n"
5377 " (declare (in) vec3 x))\n"
5378 " ())\n"
5379 " (signature vec4\n"
5380 " (parameters\n"
5381 " (declare (in) vec4 edge)\n"
5382 " (declare (in) vec4 x))\n"
5383 " ())\n"
5384 " (signature vec2\n"
5385 " (parameters\n"
5386 " (declare (in) float edge)\n"
5387 " (declare (in) vec2 x))\n"
5388 " ())\n"
5389 " (signature vec3\n"
5390 " (parameters\n"
5391 " (declare (in) float edge)\n"
5392 " (declare (in) vec3 x))\n"
5393 " ())\n"
5394 " (signature vec4\n"
5395 " (parameters\n"
5396 " (declare (in) float edge)\n"
5397 " (declare (in) vec4 x))\n"
5398 " ()))\n"
5399 "(function smoothstep\n"
5400 " (signature float\n"
5401 " (parameters\n"
5402 " (declare (in) float edge0)\n"
5403 " (declare (in) float edge1)\n"
5404 " (declare (in) float x))\n"
5405 " ())\n"
5406 " (signature vec2\n"
5407 " (parameters\n"
5408 " (declare (in) vec2 edge0)\n"
5409 " (declare (in) vec2 edge1)\n"
5410 " (declare (in) vec2 x))\n"
5411 " ())\n"
5412 " (signature vec3\n"
5413 " (parameters\n"
5414 " (declare (in) vec3 edge0)\n"
5415 " (declare (in) vec3 edge1)\n"
5416 " (declare (in) vec3 x))\n"
5417 " ())\n"
5418 " (signature vec4\n"
5419 " (parameters\n"
5420 " (declare (in) vec4 edge0)\n"
5421 " (declare (in) vec4 edge1)\n"
5422 " (declare (in) vec4 x))\n"
5423 " ())\n"
5424 " (signature vec2\n"
5425 " (parameters\n"
5426 " (declare (in) float edge0)\n"
5427 " (declare (in) float edge1)\n"
5428 " (declare (in) vec2 x))\n"
5429 " ())\n"
5430 " (signature vec3\n"
5431 " (parameters\n"
5432 " (declare (in) float edge0)\n"
5433 " (declare (in) float edge1)\n"
5434 " (declare (in) vec3 x))\n"
5435 " ())\n"
5436 " (signature vec4\n"
5437 " (parameters\n"
5438 " (declare (in) float edge0)\n"
5439 " (declare (in) float edge1)\n"
5440 " (declare (in) vec4 x))\n"
5441 " ()))\n"
5442 "(function length\n"
5443 " (signature float\n"
5444 " (parameters\n"
5445 " (declare (in) float x))\n"
5446 " ())\n"
5447 " (signature float\n"
5448 " (parameters\n"
5449 " (declare (in) vec2 x))\n"
5450 " ())\n"
5451 " (signature float\n"
5452 " (parameters\n"
5453 " (declare (in) vec3 x))\n"
5454 " ())\n"
5455 " (signature float\n"
5456 " (parameters\n"
5457 " (declare (in) vec4 x))\n"
5458 " ()))\n"
5459 "(function distance\n"
5460 " (signature float\n"
5461 " (parameters\n"
5462 " (declare (in) float p0)\n"
5463 " (declare (in) float p1))\n"
5464 " ())\n"
5465 " (signature float\n"
5466 " (parameters\n"
5467 " (declare (in) vec2 p0)\n"
5468 " (declare (in) vec2 p1))\n"
5469 " ())\n"
5470 " (signature float\n"
5471 " (parameters\n"
5472 " (declare (in) vec3 p0)\n"
5473 " (declare (in) vec3 p1))\n"
5474 " ())\n"
5475 " (signature float\n"
5476 " (parameters\n"
5477 " (declare (in) vec4 p0)\n"
5478 " (declare (in) vec4 p1))\n"
5479 " ()))\n"
5480 "(function dot\n"
5481 " (signature float\n"
5482 " (parameters\n"
5483 " (declare (in) float x)\n"
5484 " (declare (in) float y))\n"
5485 " ())\n"
5486 " (signature float\n"
5487 " (parameters\n"
5488 " (declare (in) vec2 x)\n"
5489 " (declare (in) vec2 y))\n"
5490 " ())\n"
5491 " (signature float\n"
5492 " (parameters\n"
5493 " (declare (in) vec3 x)\n"
5494 " (declare (in) vec3 y))\n"
5495 " ())\n"
5496 " (signature float\n"
5497 " (parameters\n"
5498 " (declare (in) vec4 x)\n"
5499 " (declare (in) vec4 y))\n"
5500 " ()))\n"
5501 "(function cross\n"
5502 " (signature vec3\n"
5503 " (parameters\n"
5504 " (declare (in) vec3 x)\n"
5505 " (declare (in) vec3 y))\n"
5506 " ()))\n"
5507 "(function normalize\n"
5508 " (signature float\n"
5509 " (parameters\n"
5510 " (declare (in) float x))\n"
5511 " ())\n"
5512 " (signature vec2\n"
5513 " (parameters\n"
5514 " (declare (in) vec2 x))\n"
5515 " ())\n"
5516 " (signature vec3\n"
5517 " (parameters\n"
5518 " (declare (in) vec3 x))\n"
5519 " ())\n"
5520 " (signature vec4\n"
5521 " (parameters\n"
5522 " (declare (in) vec4 x))\n"
5523 " ()))\n"
5524 "(function faceforward\n"
5525 " (signature float\n"
5526 " (parameters\n"
5527 " (declare (in) float N)\n"
5528 " (declare (in) float I)\n"
5529 " (declare (in) float Nref))\n"
5530 " ())\n"
5531 " (signature vec2\n"
5532 " (parameters\n"
5533 " (declare (in) vec2 N)\n"
5534 " (declare (in) vec2 I)\n"
5535 " (declare (in) vec2 Nref))\n"
5536 " ())\n"
5537 " (signature vec3\n"
5538 " (parameters\n"
5539 " (declare (in) vec3 N)\n"
5540 " (declare (in) vec3 I)\n"
5541 " (declare (in) vec3 Nref))\n"
5542 " ())\n"
5543 " (signature vec4\n"
5544 " (parameters\n"
5545 " (declare (in) vec4 N)\n"
5546 " (declare (in) vec4 I)\n"
5547 " (declare (in) vec4 Nref))\n"
5548 " ()))\n"
5549 "(function reflect\n"
5550 " (signature float\n"
5551 " (parameters\n"
5552 " (declare (in) float I)\n"
5553 " (declare (in) float N))\n"
5554 " ())\n"
5555 " (signature vec2\n"
5556 " (parameters\n"
5557 " (declare (in) vec2 I)\n"
5558 " (declare (in) vec2 N))\n"
5559 " ())\n"
5560 " (signature vec3\n"
5561 " (parameters\n"
5562 " (declare (in) vec3 I)\n"
5563 " (declare (in) vec3 N))\n"
5564 " ())\n"
5565 " (signature vec4\n"
5566 " (parameters\n"
5567 " (declare (in) vec4 I)\n"
5568 " (declare (in) vec4 N))\n"
5569 " ()))\n"
5570 "(function refract\n"
5571 " (signature float\n"
5572 " (parameters\n"
5573 " (declare (in) float I)\n"
5574 " (declare (in) float N)\n"
5575 " (declare (in) float eta))\n"
5576 " ())\n"
5577 " (signature vec2\n"
5578 " (parameters\n"
5579 " (declare (in) vec2 I)\n"
5580 " (declare (in) vec2 N)\n"
5581 " (declare (in) float eta))\n"
5582 " ())\n"
5583 " (signature vec3\n"
5584 " (parameters\n"
5585 " (declare (in) vec3 I)\n"
5586 " (declare (in) vec3 N)\n"
5587 " (declare (in) float eta))\n"
5588 " ())\n"
5589 " (signature vec4\n"
5590 " (parameters\n"
5591 " (declare (in) vec4 I)\n"
5592 " (declare (in) vec4 N)\n"
5593 " (declare (in) float eta))\n"
5594 " ()))\n"
5595 "(function matrixCompMult\n"
5596 " (signature mat2\n"
5597 " (parameters\n"
5598 " (declare (in) mat2 x)\n"
5599 " (declare (in) mat2 y))\n"
5600 " ())\n"
5601 " (signature mat3\n"
5602 " (parameters\n"
5603 " (declare (in) mat3 x)\n"
5604 " (declare (in) mat3 y))\n"
5605 " ())\n"
5606 " (signature mat4\n"
5607 " (parameters\n"
5608 " (declare (in) mat4 x)\n"
5609 " (declare (in) mat4 y))\n"
5610 " ()))\n"
5611 "(function lessThan\n"
5612 " (signature bvec2\n"
5613 " (parameters\n"
5614 " (declare (in) vec2 x)\n"
5615 " (declare (in) vec2 y))\n"
5616 " ())\n"
5617 " (signature bvec3\n"
5618 " (parameters\n"
5619 " (declare (in) vec3 x)\n"
5620 " (declare (in) vec3 y))\n"
5621 " ())\n"
5622 " (signature bvec4\n"
5623 " (parameters\n"
5624 " (declare (in) vec4 x)\n"
5625 " (declare (in) vec4 y))\n"
5626 " ())\n"
5627 " (signature bvec2\n"
5628 " (parameters\n"
5629 " (declare (in) ivec2 x)\n"
5630 " (declare (in) ivec2 y))\n"
5631 " ())\n"
5632 " (signature bvec3\n"
5633 " (parameters\n"
5634 " (declare (in) ivec3 x)\n"
5635 " (declare (in) ivec3 y))\n"
5636 " ())\n"
5637 " (signature bvec4\n"
5638 " (parameters\n"
5639 " (declare (in) ivec4 x)\n"
5640 " (declare (in) ivec4 y))\n"
5641 " ()))\n"
5642 "(function lessThanEqual\n"
5643 " (signature bvec2\n"
5644 " (parameters\n"
5645 " (declare (in) vec2 x)\n"
5646 " (declare (in) vec2 y))\n"
5647 " ())\n"
5648 " (signature bvec3\n"
5649 " (parameters\n"
5650 " (declare (in) vec3 x)\n"
5651 " (declare (in) vec3 y))\n"
5652 " ())\n"
5653 " (signature bvec4\n"
5654 " (parameters\n"
5655 " (declare (in) vec4 x)\n"
5656 " (declare (in) vec4 y))\n"
5657 " ())\n"
5658 " (signature bvec2\n"
5659 " (parameters\n"
5660 " (declare (in) ivec2 x)\n"
5661 " (declare (in) ivec2 y))\n"
5662 " ())\n"
5663 " (signature bvec3\n"
5664 " (parameters\n"
5665 " (declare (in) ivec3 x)\n"
5666 " (declare (in) ivec3 y))\n"
5667 " ())\n"
5668 " (signature bvec4\n"
5669 " (parameters\n"
5670 " (declare (in) ivec4 x)\n"
5671 " (declare (in) ivec4 y))\n"
5672 " ()))\n"
5673 "(function greaterThan\n"
5674 " (signature bvec2\n"
5675 " (parameters\n"
5676 " (declare (in) vec2 x)\n"
5677 " (declare (in) vec2 y))\n"
5678 " ())\n"
5679 " (signature bvec3\n"
5680 " (parameters\n"
5681 " (declare (in) vec3 x)\n"
5682 " (declare (in) vec3 y))\n"
5683 " ())\n"
5684 " (signature bvec4\n"
5685 " (parameters\n"
5686 " (declare (in) vec4 x)\n"
5687 " (declare (in) vec4 y))\n"
5688 " ())\n"
5689 " (signature bvec2\n"
5690 " (parameters\n"
5691 " (declare (in) ivec2 x)\n"
5692 " (declare (in) ivec2 y))\n"
5693 " ())\n"
5694 " (signature bvec3\n"
5695 " (parameters\n"
5696 " (declare (in) ivec3 x)\n"
5697 " (declare (in) ivec3 y))\n"
5698 " ())\n"
5699 " (signature bvec4\n"
5700 " (parameters\n"
5701 " (declare (in) ivec4 x)\n"
5702 " (declare (in) ivec4 y))\n"
5703 " ()))\n"
5704 "(function greaterThanEqual\n"
5705 " (signature bvec2\n"
5706 " (parameters\n"
5707 " (declare (in) vec2 x)\n"
5708 " (declare (in) vec2 y))\n"
5709 " ())\n"
5710 " (signature bvec3\n"
5711 " (parameters\n"
5712 " (declare (in) vec3 x)\n"
5713 " (declare (in) vec3 y))\n"
5714 " ())\n"
5715 " (signature bvec4\n"
5716 " (parameters\n"
5717 " (declare (in) vec4 x)\n"
5718 " (declare (in) vec4 y))\n"
5719 " ())\n"
5720 " (signature bvec2\n"
5721 " (parameters\n"
5722 " (declare (in) ivec2 x)\n"
5723 " (declare (in) ivec2 y))\n"
5724 " ())\n"
5725 " (signature bvec3\n"
5726 " (parameters\n"
5727 " (declare (in) ivec3 x)\n"
5728 " (declare (in) ivec3 y))\n"
5729 " ())\n"
5730 " (signature bvec4\n"
5731 " (parameters\n"
5732 " (declare (in) ivec4 x)\n"
5733 " (declare (in) ivec4 y))\n"
5734 " ()))\n"
5735 "(function equal\n"
5736 " (signature bvec2\n"
5737 " (parameters\n"
5738 " (declare (in) vec2 x)\n"
5739 " (declare (in) vec2 y))\n"
5740 " ())\n"
5741 " (signature bvec3\n"
5742 " (parameters\n"
5743 " (declare (in) vec3 x)\n"
5744 " (declare (in) vec3 y))\n"
5745 " ())\n"
5746 " (signature bvec4\n"
5747 " (parameters\n"
5748 " (declare (in) vec4 x)\n"
5749 " (declare (in) vec4 y))\n"
5750 " ())\n"
5751 " (signature bvec2\n"
5752 " (parameters\n"
5753 " (declare (in) ivec2 x)\n"
5754 " (declare (in) ivec2 y))\n"
5755 " ())\n"
5756 " (signature bvec3\n"
5757 " (parameters\n"
5758 " (declare (in) ivec3 x)\n"
5759 " (declare (in) ivec3 y))\n"
5760 " ())\n"
5761 " (signature bvec4\n"
5762 " (parameters\n"
5763 " (declare (in) ivec4 x)\n"
5764 " (declare (in) ivec4 y))\n"
5765 " ())\n"
5766 " (signature bvec2\n"
5767 " (parameters\n"
5768 " (declare (in) bvec2 x)\n"
5769 " (declare (in) bvec2 y))\n"
5770 " ())\n"
5771 " (signature bvec3\n"
5772 " (parameters\n"
5773 " (declare (in) bvec3 x)\n"
5774 " (declare (in) bvec3 y))\n"
5775 " ())\n"
5776 " (signature bvec4\n"
5777 " (parameters\n"
5778 " (declare (in) bvec4 x)\n"
5779 " (declare (in) bvec4 y))\n"
5780 " ()))\n"
5781 "(function notEqual\n"
5782 " (signature bvec2\n"
5783 " (parameters\n"
5784 " (declare (in) vec2 x)\n"
5785 " (declare (in) vec2 y))\n"
5786 " ())\n"
5787 " (signature bvec3\n"
5788 " (parameters\n"
5789 " (declare (in) vec3 x)\n"
5790 " (declare (in) vec3 y))\n"
5791 " ())\n"
5792 " (signature bvec4\n"
5793 " (parameters\n"
5794 " (declare (in) vec4 x)\n"
5795 " (declare (in) vec4 y))\n"
5796 " ())\n"
5797 " (signature bvec2\n"
5798 " (parameters\n"
5799 " (declare (in) ivec2 x)\n"
5800 " (declare (in) ivec2 y))\n"
5801 " ())\n"
5802 " (signature bvec3\n"
5803 " (parameters\n"
5804 " (declare (in) ivec3 x)\n"
5805 " (declare (in) ivec3 y))\n"
5806 " ())\n"
5807 " (signature bvec4\n"
5808 " (parameters\n"
5809 " (declare (in) ivec4 x)\n"
5810 " (declare (in) ivec4 y))\n"
5811 " ())\n"
5812 " (signature bvec2\n"
5813 " (parameters\n"
5814 " (declare (in) bvec2 x)\n"
5815 " (declare (in) bvec2 y))\n"
5816 " ())\n"
5817 " (signature bvec3\n"
5818 " (parameters\n"
5819 " (declare (in) bvec3 x)\n"
5820 " (declare (in) bvec3 y))\n"
5821 " ())\n"
5822 " (signature bvec4\n"
5823 " (parameters\n"
5824 " (declare (in) bvec4 x)\n"
5825 " (declare (in) bvec4 y))\n"
5826 " ()))\n"
5827 "(function any\n"
5828 " (signature bool\n"
5829 " (parameters\n"
5830 " (declare (in) bvec2 x))\n"
5831 " ())\n"
5832 " (signature bool\n"
5833 " (parameters\n"
5834 " (declare (in) bvec3 x))\n"
5835 " ())\n"
5836 " (signature bool\n"
5837 " (parameters\n"
5838 " (declare (in) bvec4 x))\n"
5839 " ()))\n"
5840 "(function all\n"
5841 " (signature bool\n"
5842 " (parameters\n"
5843 " (declare (in) bvec2 x))\n"
5844 " ())\n"
5845 " (signature bool\n"
5846 " (parameters\n"
5847 " (declare (in) bvec3 x))\n"
5848 " ())\n"
5849 " (signature bool\n"
5850 " (parameters\n"
5851 " (declare (in) bvec4 x))\n"
5852 " ()))\n"
5853 "(function not\n"
5854 " (signature bvec2\n"
5855 " (parameters\n"
5856 " (declare (in) bvec2 x))\n"
5857 " ())\n"
5858 " (signature bvec3\n"
5859 " (parameters\n"
5860 " (declare (in) bvec3 x))\n"
5861 " ())\n"
5862 " (signature bvec4\n"
5863 " (parameters\n"
5864 " (declare (in) bvec4 x))\n"
5865 " ()))\n"
5866 "(function texture2D\n"
5867 " (signature vec4\n"
5868 " (parameters\n"
5869 " (declare (in) sampler2D sampler)\n"
5870 " (declare (in) vec2 coord))\n"
5871 " ())\n"
5872 " (signature vec4\n"
5873 " (parameters\n"
5874 " (declare (in) sampler2D sampler)\n"
5875 " (declare (in) vec2 coord)\n"
5876 " (declare (in) float bias))\n"
5877 " ()))\n"
5878 "(function texture2DProj\n"
5879 " (signature vec4\n"
5880 " (parameters\n"
5881 " (declare (in) sampler2D sampler)\n"
5882 " (declare (in) vec3 coord))\n"
5883 " ())\n"
5884 " (signature vec4\n"
5885 " (parameters\n"
5886 " (declare (in) sampler2D sampler)\n"
5887 " (declare (in) vec4 coord))\n"
5888 " ())\n"
5889 " (signature vec4\n"
5890 " (parameters\n"
5891 " (declare (in) sampler2D sampler)\n"
5892 " (declare (in) vec3 coord)\n"
5893 " (declare (in) float bias))\n"
5894 " ())\n"
5895 " (signature vec4\n"
5896 " (parameters\n"
5897 " (declare (in) sampler2D sampler)\n"
5898 " (declare (in) vec4 coord)\n"
5899 " (declare (in) float bias))\n"
5900 " ()))\n"
5901 "(function textureCube\n"
5902 " (signature vec4\n"
5903 " (parameters\n"
5904 " (declare (in) samplerCube sampler)\n"
5905 " (declare (in) vec3 coord))\n"
5906 " ())\n"
5907 " (signature vec4\n"
5908 " (parameters\n"
5909 " (declare (in) samplerCube sampler)\n"
5910 " (declare (in) vec3 coord)\n"
5911 " (declare (in) float bias))\n"
5912 " ())))"
5913 ;
5914 static const char *functions_for_100_frag [] = {
5915 builtin_abs,
5916 builtin_acos,
5917 builtin_all,
5918 builtin_any,
5919 builtin_asin,
5920 builtin_atan,
5921 builtin_ceil,
5922 builtin_clamp,
5923 builtin_cos,
5924 builtin_cross,
5925 builtin_degrees,
5926 builtin_distance,
5927 builtin_dot,
5928 builtin_equal,
5929 builtin_exp,
5930 builtin_exp2,
5931 builtin_faceforward,
5932 builtin_floor,
5933 builtin_fract,
5934 builtin_greaterThan,
5935 builtin_greaterThanEqual,
5936 builtin_inversesqrt,
5937 builtin_length,
5938 builtin_lessThan,
5939 builtin_lessThanEqual,
5940 builtin_log,
5941 builtin_log2,
5942 builtin_matrixCompMult,
5943 builtin_max,
5944 builtin_min,
5945 builtin_mix,
5946 builtin_mod,
5947 builtin_normalize,
5948 builtin_not,
5949 builtin_notEqual,
5950 builtin_pow,
5951 builtin_radians,
5952 builtin_reflect,
5953 builtin_refract,
5954 builtin_sign,
5955 builtin_sin,
5956 builtin_smoothstep,
5957 builtin_sqrt,
5958 builtin_step,
5959 builtin_tan,
5960 builtin_texture2D,
5961 builtin_texture2DProj,
5962 builtin_textureCube,
5963 };
5964 static const char prototypes_for_100_vert[] =
5965 "(\n"
5966 "(function radians\n"
5967 " (signature float\n"
5968 " (parameters\n"
5969 " (declare (in) float degrees))\n"
5970 " ())\n"
5971 " (signature vec2\n"
5972 " (parameters\n"
5973 " (declare (in) vec2 degrees))\n"
5974 " ())\n"
5975 " (signature vec3\n"
5976 " (parameters\n"
5977 " (declare (in) vec3 degrees))\n"
5978 " ())\n"
5979 " (signature vec4\n"
5980 " (parameters\n"
5981 " (declare (in) vec4 degrees))\n"
5982 " ()))\n"
5983 "(function degrees\n"
5984 " (signature float\n"
5985 " (parameters\n"
5986 " (declare (in) float radians))\n"
5987 " ())\n"
5988 " (signature vec2\n"
5989 " (parameters\n"
5990 " (declare (in) vec2 radians))\n"
5991 " ())\n"
5992 " (signature vec3\n"
5993 " (parameters\n"
5994 " (declare (in) vec3 radians))\n"
5995 " ())\n"
5996 " (signature vec4\n"
5997 " (parameters\n"
5998 " (declare (in) vec4 radians))\n"
5999 " ()))\n"
6000 "(function sin\n"
6001 " (signature float\n"
6002 " (parameters\n"
6003 " (declare (in) float angle))\n"
6004 " ())\n"
6005 " (signature vec2\n"
6006 " (parameters\n"
6007 " (declare (in) vec2 angle))\n"
6008 " ())\n"
6009 " (signature vec3\n"
6010 " (parameters\n"
6011 " (declare (in) vec3 angle))\n"
6012 " ())\n"
6013 " (signature vec4\n"
6014 " (parameters\n"
6015 " (declare (in) vec4 angle))\n"
6016 " ()))\n"
6017 "(function cos\n"
6018 " (signature float\n"
6019 " (parameters\n"
6020 " (declare (in) float angle))\n"
6021 " ())\n"
6022 " (signature vec2\n"
6023 " (parameters\n"
6024 " (declare (in) vec2 angle))\n"
6025 " ())\n"
6026 " (signature vec3\n"
6027 " (parameters\n"
6028 " (declare (in) vec3 angle))\n"
6029 " ())\n"
6030 " (signature vec4\n"
6031 " (parameters\n"
6032 " (declare (in) vec4 angle))\n"
6033 " ()))\n"
6034 "(function tan\n"
6035 " (signature float\n"
6036 " (parameters\n"
6037 " (declare (in) float angle))\n"
6038 " ())\n"
6039 " (signature vec2\n"
6040 " (parameters\n"
6041 " (declare (in) vec2 angle))\n"
6042 " ())\n"
6043 " (signature vec3\n"
6044 " (parameters\n"
6045 " (declare (in) vec3 angle))\n"
6046 " ())\n"
6047 " (signature vec4\n"
6048 " (parameters\n"
6049 " (declare (in) vec4 angle))\n"
6050 " ()))\n"
6051 "(function asin\n"
6052 " (signature float\n"
6053 " (parameters\n"
6054 " (declare (in) float angle))\n"
6055 " ())\n"
6056 " (signature vec2\n"
6057 " (parameters\n"
6058 " (declare (in) vec2 angle))\n"
6059 " ())\n"
6060 " (signature vec3\n"
6061 " (parameters\n"
6062 " (declare (in) vec3 angle))\n"
6063 " ())\n"
6064 " (signature vec4\n"
6065 " (parameters\n"
6066 " (declare (in) vec4 angle))\n"
6067 " ()))\n"
6068 "(function acos\n"
6069 " (signature float\n"
6070 " (parameters\n"
6071 " (declare (in) float angle))\n"
6072 " ())\n"
6073 " (signature vec2\n"
6074 " (parameters\n"
6075 " (declare (in) vec2 angle))\n"
6076 " ())\n"
6077 " (signature vec3\n"
6078 " (parameters\n"
6079 " (declare (in) vec3 angle))\n"
6080 " ())\n"
6081 " (signature vec4\n"
6082 " (parameters\n"
6083 " (declare (in) vec4 angle))\n"
6084 " ()))\n"
6085 "(function atan\n"
6086 " (signature float\n"
6087 " (parameters\n"
6088 " (declare (in) float y)\n"
6089 " (declare (in) float x))\n"
6090 " ())\n"
6091 " (signature vec2\n"
6092 " (parameters\n"
6093 " (declare (in) vec2 y)\n"
6094 " (declare (in) vec2 x))\n"
6095 " ())\n"
6096 " (signature vec3\n"
6097 " (parameters\n"
6098 " (declare (in) vec3 y)\n"
6099 " (declare (in) vec3 x))\n"
6100 " ())\n"
6101 " (signature vec4\n"
6102 " (parameters\n"
6103 " (declare (in) vec4 y)\n"
6104 " (declare (in) vec4 x))\n"
6105 " ())\n"
6106 " (signature float\n"
6107 " (parameters\n"
6108 " (declare (in) float y_over_x))\n"
6109 " ())\n"
6110 " (signature vec2\n"
6111 " (parameters\n"
6112 " (declare (in) vec2 y_over_x))\n"
6113 " ())\n"
6114 " (signature vec3\n"
6115 " (parameters\n"
6116 " (declare (in) vec3 y_over_x))\n"
6117 " ())\n"
6118 " (signature vec4\n"
6119 " (parameters\n"
6120 " (declare (in) vec4 y_over_x))\n"
6121 " ()))\n"
6122 "(function pow\n"
6123 " (signature float\n"
6124 " (parameters\n"
6125 " (declare (in) float x)\n"
6126 " (declare (in) float y))\n"
6127 " ())\n"
6128 " (signature vec2\n"
6129 " (parameters\n"
6130 " (declare (in) vec2 x)\n"
6131 " (declare (in) vec2 y))\n"
6132 " ())\n"
6133 " (signature vec3\n"
6134 " (parameters\n"
6135 " (declare (in) vec3 x)\n"
6136 " (declare (in) vec3 y))\n"
6137 " ())\n"
6138 " (signature vec4\n"
6139 " (parameters\n"
6140 " (declare (in) vec4 x)\n"
6141 " (declare (in) vec4 y))\n"
6142 " ()))\n"
6143 "(function exp\n"
6144 " (signature float\n"
6145 " (parameters\n"
6146 " (declare (in) float x))\n"
6147 " ())\n"
6148 " (signature vec2\n"
6149 " (parameters\n"
6150 " (declare (in) vec2 x))\n"
6151 " ())\n"
6152 " (signature vec3\n"
6153 " (parameters\n"
6154 " (declare (in) vec3 x))\n"
6155 " ())\n"
6156 " (signature vec4\n"
6157 " (parameters\n"
6158 " (declare (in) vec4 x))\n"
6159 " ()))\n"
6160 "(function log\n"
6161 " (signature float\n"
6162 " (parameters\n"
6163 " (declare (in) float x))\n"
6164 " ())\n"
6165 " (signature vec2\n"
6166 " (parameters\n"
6167 " (declare (in) vec2 x))\n"
6168 " ())\n"
6169 " (signature vec3\n"
6170 " (parameters\n"
6171 " (declare (in) vec3 x))\n"
6172 " ())\n"
6173 " (signature vec4\n"
6174 " (parameters\n"
6175 " (declare (in) vec4 x))\n"
6176 " ()))\n"
6177 "(function exp2\n"
6178 " (signature float\n"
6179 " (parameters\n"
6180 " (declare (in) float x))\n"
6181 " ())\n"
6182 " (signature vec2\n"
6183 " (parameters\n"
6184 " (declare (in) vec2 x))\n"
6185 " ())\n"
6186 " (signature vec3\n"
6187 " (parameters\n"
6188 " (declare (in) vec3 x))\n"
6189 " ())\n"
6190 " (signature vec4\n"
6191 " (parameters\n"
6192 " (declare (in) vec4 x))\n"
6193 " ()))\n"
6194 "(function log2\n"
6195 " (signature float\n"
6196 " (parameters\n"
6197 " (declare (in) float x))\n"
6198 " ())\n"
6199 " (signature vec2\n"
6200 " (parameters\n"
6201 " (declare (in) vec2 x))\n"
6202 " ())\n"
6203 " (signature vec3\n"
6204 " (parameters\n"
6205 " (declare (in) vec3 x))\n"
6206 " ())\n"
6207 " (signature vec4\n"
6208 " (parameters\n"
6209 " (declare (in) vec4 x))\n"
6210 " ()))\n"
6211 "(function sqrt\n"
6212 " (signature float\n"
6213 " (parameters\n"
6214 " (declare (in) float x))\n"
6215 " ())\n"
6216 " (signature vec2\n"
6217 " (parameters\n"
6218 " (declare (in) vec2 x))\n"
6219 " ())\n"
6220 " (signature vec3\n"
6221 " (parameters\n"
6222 " (declare (in) vec3 x))\n"
6223 " ())\n"
6224 " (signature vec4\n"
6225 " (parameters\n"
6226 " (declare (in) vec4 x))\n"
6227 " ()))\n"
6228 "(function inversesqrt\n"
6229 " (signature float\n"
6230 " (parameters\n"
6231 " (declare (in) float x))\n"
6232 " ())\n"
6233 " (signature vec2\n"
6234 " (parameters\n"
6235 " (declare (in) vec2 x))\n"
6236 " ())\n"
6237 " (signature vec3\n"
6238 " (parameters\n"
6239 " (declare (in) vec3 x))\n"
6240 " ())\n"
6241 " (signature vec4\n"
6242 " (parameters\n"
6243 " (declare (in) vec4 x))\n"
6244 " ()))\n"
6245 "(function abs\n"
6246 " (signature float\n"
6247 " (parameters\n"
6248 " (declare (in) float x))\n"
6249 " ())\n"
6250 " (signature vec2\n"
6251 " (parameters\n"
6252 " (declare (in) vec2 x))\n"
6253 " ())\n"
6254 " (signature vec3\n"
6255 " (parameters\n"
6256 " (declare (in) vec3 x))\n"
6257 " ())\n"
6258 " (signature vec4\n"
6259 " (parameters\n"
6260 " (declare (in) vec4 x))\n"
6261 " ()))\n"
6262 "(function sign\n"
6263 " (signature float\n"
6264 " (parameters\n"
6265 " (declare (in) float x))\n"
6266 " ())\n"
6267 " (signature vec2\n"
6268 " (parameters\n"
6269 " (declare (in) vec2 x))\n"
6270 " ())\n"
6271 " (signature vec3\n"
6272 " (parameters\n"
6273 " (declare (in) vec3 x))\n"
6274 " ())\n"
6275 " (signature vec4\n"
6276 " (parameters\n"
6277 " (declare (in) vec4 x))\n"
6278 " ()))\n"
6279 "(function floor\n"
6280 " (signature float\n"
6281 " (parameters\n"
6282 " (declare (in) float x))\n"
6283 " ())\n"
6284 " (signature vec2\n"
6285 " (parameters\n"
6286 " (declare (in) vec2 x))\n"
6287 " ())\n"
6288 " (signature vec3\n"
6289 " (parameters\n"
6290 " (declare (in) vec3 x))\n"
6291 " ())\n"
6292 " (signature vec4\n"
6293 " (parameters\n"
6294 " (declare (in) vec4 x))\n"
6295 " ()))\n"
6296 "(function ceil\n"
6297 " (signature float\n"
6298 " (parameters\n"
6299 " (declare (in) float x))\n"
6300 " ())\n"
6301 " (signature vec2\n"
6302 " (parameters\n"
6303 " (declare (in) vec2 x))\n"
6304 " ())\n"
6305 " (signature vec3\n"
6306 " (parameters\n"
6307 " (declare (in) vec3 x))\n"
6308 " ())\n"
6309 " (signature vec4\n"
6310 " (parameters\n"
6311 " (declare (in) vec4 x))\n"
6312 " ()))\n"
6313 "(function fract\n"
6314 " (signature float\n"
6315 " (parameters\n"
6316 " (declare (in) float x))\n"
6317 " ())\n"
6318 " (signature vec2\n"
6319 " (parameters\n"
6320 " (declare (in) vec2 x))\n"
6321 " ())\n"
6322 " (signature vec3\n"
6323 " (parameters\n"
6324 " (declare (in) vec3 x))\n"
6325 " ())\n"
6326 " (signature vec4\n"
6327 " (parameters\n"
6328 " (declare (in) vec4 x))\n"
6329 " ()))\n"
6330 "(function mod\n"
6331 " (signature float\n"
6332 " (parameters\n"
6333 " (declare (in) float x)\n"
6334 " (declare (in) float y))\n"
6335 " ())\n"
6336 " (signature vec2\n"
6337 " (parameters\n"
6338 " (declare (in) vec2 x)\n"
6339 " (declare (in) float y))\n"
6340 " ())\n"
6341 " (signature vec3\n"
6342 " (parameters\n"
6343 " (declare (in) vec3 x)\n"
6344 " (declare (in) float y))\n"
6345 " ())\n"
6346 " (signature vec4\n"
6347 " (parameters\n"
6348 " (declare (in) vec4 x)\n"
6349 " (declare (in) float y))\n"
6350 " ())\n"
6351 " (signature vec2\n"
6352 " (parameters\n"
6353 " (declare (in) vec2 x)\n"
6354 " (declare (in) vec2 y))\n"
6355 " ())\n"
6356 " (signature vec3\n"
6357 " (parameters\n"
6358 " (declare (in) vec3 x)\n"
6359 " (declare (in) vec3 y))\n"
6360 " ())\n"
6361 " (signature vec4\n"
6362 " (parameters\n"
6363 " (declare (in) vec4 x)\n"
6364 " (declare (in) vec4 y))\n"
6365 " ()))\n"
6366 "(function min\n"
6367 " (signature float\n"
6368 " (parameters\n"
6369 " (declare (in) float x)\n"
6370 " (declare (in) float y))\n"
6371 " ())\n"
6372 " (signature vec2\n"
6373 " (parameters\n"
6374 " (declare (in) vec2 x)\n"
6375 " (declare (in) vec2 y))\n"
6376 " ())\n"
6377 " (signature vec3\n"
6378 " (parameters\n"
6379 " (declare (in) vec3 x)\n"
6380 " (declare (in) vec3 y))\n"
6381 " ())\n"
6382 " (signature vec4\n"
6383 " (parameters\n"
6384 " (declare (in) vec4 x)\n"
6385 " (declare (in) vec4 y))\n"
6386 " ())\n"
6387 " (signature vec2\n"
6388 " (parameters\n"
6389 " (declare (in) vec2 x)\n"
6390 " (declare (in) float y))\n"
6391 " ())\n"
6392 " (signature vec3\n"
6393 " (parameters\n"
6394 " (declare (in) vec3 x)\n"
6395 " (declare (in) float y))\n"
6396 " ())\n"
6397 " (signature vec4\n"
6398 " (parameters\n"
6399 " (declare (in) vec4 x)\n"
6400 " (declare (in) float y))\n"
6401 " ()))\n"
6402 "(function max\n"
6403 " (signature float\n"
6404 " (parameters\n"
6405 " (declare (in) float x)\n"
6406 " (declare (in) float y))\n"
6407 " ())\n"
6408 " (signature vec2\n"
6409 " (parameters\n"
6410 " (declare (in) vec2 x)\n"
6411 " (declare (in) vec2 y))\n"
6412 " ())\n"
6413 " (signature vec3\n"
6414 " (parameters\n"
6415 " (declare (in) vec3 x)\n"
6416 " (declare (in) vec3 y))\n"
6417 " ())\n"
6418 " (signature vec4\n"
6419 " (parameters\n"
6420 " (declare (in) vec4 x)\n"
6421 " (declare (in) vec4 y))\n"
6422 " ())\n"
6423 " (signature vec2\n"
6424 " (parameters\n"
6425 " (declare (in) vec2 x)\n"
6426 " (declare (in) float y))\n"
6427 " ())\n"
6428 " (signature vec3\n"
6429 " (parameters\n"
6430 " (declare (in) vec3 x)\n"
6431 " (declare (in) float y))\n"
6432 " ())\n"
6433 " (signature vec4\n"
6434 " (parameters\n"
6435 " (declare (in) vec4 x)\n"
6436 " (declare (in) float y))\n"
6437 " ()))\n"
6438 "(function clamp\n"
6439 " (signature float\n"
6440 " (parameters\n"
6441 " (declare (in) float x)\n"
6442 " (declare (in) float minVal)\n"
6443 " (declare (in) float maxVal))\n"
6444 " ())\n"
6445 " (signature vec2\n"
6446 " (parameters\n"
6447 " (declare (in) vec2 x)\n"
6448 " (declare (in) vec2 minVal)\n"
6449 " (declare (in) vec2 maxVal))\n"
6450 " ())\n"
6451 " (signature vec3\n"
6452 " (parameters\n"
6453 " (declare (in) vec3 x)\n"
6454 " (declare (in) vec3 minVal)\n"
6455 " (declare (in) vec3 maxVal))\n"
6456 " ())\n"
6457 " (signature vec4\n"
6458 " (parameters\n"
6459 " (declare (in) vec4 x)\n"
6460 " (declare (in) vec4 minVal)\n"
6461 " (declare (in) vec4 maxVal))\n"
6462 " ())\n"
6463 " (signature vec2\n"
6464 " (parameters\n"
6465 " (declare (in) vec2 x)\n"
6466 " (declare (in) float minVal)\n"
6467 " (declare (in) float maxVal))\n"
6468 " ())\n"
6469 " (signature vec3\n"
6470 " (parameters\n"
6471 " (declare (in) vec3 x)\n"
6472 " (declare (in) float minVal)\n"
6473 " (declare (in) float maxVal))\n"
6474 " ())\n"
6475 " (signature vec4\n"
6476 " (parameters\n"
6477 " (declare (in) vec4 x)\n"
6478 " (declare (in) float minVal)\n"
6479 " (declare (in) float maxVal))\n"
6480 " ()))\n"
6481 "(function mix\n"
6482 " (signature float\n"
6483 " (parameters\n"
6484 " (declare (in) float x)\n"
6485 " (declare (in) float y)\n"
6486 " (declare (in) float a))\n"
6487 " ())\n"
6488 " (signature vec2\n"
6489 " (parameters\n"
6490 " (declare (in) vec2 x)\n"
6491 " (declare (in) vec2 y)\n"
6492 " (declare (in) vec2 a))\n"
6493 " ())\n"
6494 " (signature vec3\n"
6495 " (parameters\n"
6496 " (declare (in) vec3 x)\n"
6497 " (declare (in) vec3 y)\n"
6498 " (declare (in) vec3 a))\n"
6499 " ())\n"
6500 " (signature vec4\n"
6501 " (parameters\n"
6502 " (declare (in) vec4 x)\n"
6503 " (declare (in) vec4 y)\n"
6504 " (declare (in) vec4 a))\n"
6505 " ())\n"
6506 " (signature vec2\n"
6507 " (parameters\n"
6508 " (declare (in) vec2 x)\n"
6509 " (declare (in) vec2 y)\n"
6510 " (declare (in) float a))\n"
6511 " ())\n"
6512 " (signature vec3\n"
6513 " (parameters\n"
6514 " (declare (in) vec3 x)\n"
6515 " (declare (in) vec3 y)\n"
6516 " (declare (in) float a))\n"
6517 " ())\n"
6518 " (signature vec4\n"
6519 " (parameters\n"
6520 " (declare (in) vec4 x)\n"
6521 " (declare (in) vec4 y)\n"
6522 " (declare (in) float a))\n"
6523 " ()))\n"
6524 "(function step\n"
6525 " (signature float\n"
6526 " (parameters\n"
6527 " (declare (in) float edge)\n"
6528 " (declare (in) float x))\n"
6529 " ())\n"
6530 " (signature vec2\n"
6531 " (parameters\n"
6532 " (declare (in) vec2 edge)\n"
6533 " (declare (in) vec2 x))\n"
6534 " ())\n"
6535 " (signature vec3\n"
6536 " (parameters\n"
6537 " (declare (in) vec3 edge)\n"
6538 " (declare (in) vec3 x))\n"
6539 " ())\n"
6540 " (signature vec4\n"
6541 " (parameters\n"
6542 " (declare (in) vec4 edge)\n"
6543 " (declare (in) vec4 x))\n"
6544 " ())\n"
6545 " (signature vec2\n"
6546 " (parameters\n"
6547 " (declare (in) float edge)\n"
6548 " (declare (in) vec2 x))\n"
6549 " ())\n"
6550 " (signature vec3\n"
6551 " (parameters\n"
6552 " (declare (in) float edge)\n"
6553 " (declare (in) vec3 x))\n"
6554 " ())\n"
6555 " (signature vec4\n"
6556 " (parameters\n"
6557 " (declare (in) float edge)\n"
6558 " (declare (in) vec4 x))\n"
6559 " ()))\n"
6560 "(function smoothstep\n"
6561 " (signature float\n"
6562 " (parameters\n"
6563 " (declare (in) float edge0)\n"
6564 " (declare (in) float edge1)\n"
6565 " (declare (in) float x))\n"
6566 " ())\n"
6567 " (signature vec2\n"
6568 " (parameters\n"
6569 " (declare (in) vec2 edge0)\n"
6570 " (declare (in) vec2 edge1)\n"
6571 " (declare (in) vec2 x))\n"
6572 " ())\n"
6573 " (signature vec3\n"
6574 " (parameters\n"
6575 " (declare (in) vec3 edge0)\n"
6576 " (declare (in) vec3 edge1)\n"
6577 " (declare (in) vec3 x))\n"
6578 " ())\n"
6579 " (signature vec4\n"
6580 " (parameters\n"
6581 " (declare (in) vec4 edge0)\n"
6582 " (declare (in) vec4 edge1)\n"
6583 " (declare (in) vec4 x))\n"
6584 " ())\n"
6585 " (signature vec2\n"
6586 " (parameters\n"
6587 " (declare (in) float edge0)\n"
6588 " (declare (in) float edge1)\n"
6589 " (declare (in) vec2 x))\n"
6590 " ())\n"
6591 " (signature vec3\n"
6592 " (parameters\n"
6593 " (declare (in) float edge0)\n"
6594 " (declare (in) float edge1)\n"
6595 " (declare (in) vec3 x))\n"
6596 " ())\n"
6597 " (signature vec4\n"
6598 " (parameters\n"
6599 " (declare (in) float edge0)\n"
6600 " (declare (in) float edge1)\n"
6601 " (declare (in) vec4 x))\n"
6602 " ()))\n"
6603 "(function length\n"
6604 " (signature float\n"
6605 " (parameters\n"
6606 " (declare (in) float x))\n"
6607 " ())\n"
6608 " (signature float\n"
6609 " (parameters\n"
6610 " (declare (in) vec2 x))\n"
6611 " ())\n"
6612 " (signature float\n"
6613 " (parameters\n"
6614 " (declare (in) vec3 x))\n"
6615 " ())\n"
6616 " (signature float\n"
6617 " (parameters\n"
6618 " (declare (in) vec4 x))\n"
6619 " ()))\n"
6620 "(function distance\n"
6621 " (signature float\n"
6622 " (parameters\n"
6623 " (declare (in) float p0)\n"
6624 " (declare (in) float p1))\n"
6625 " ())\n"
6626 " (signature float\n"
6627 " (parameters\n"
6628 " (declare (in) vec2 p0)\n"
6629 " (declare (in) vec2 p1))\n"
6630 " ())\n"
6631 " (signature float\n"
6632 " (parameters\n"
6633 " (declare (in) vec3 p0)\n"
6634 " (declare (in) vec3 p1))\n"
6635 " ())\n"
6636 " (signature float\n"
6637 " (parameters\n"
6638 " (declare (in) vec4 p0)\n"
6639 " (declare (in) vec4 p1))\n"
6640 " ()))\n"
6641 "(function dot\n"
6642 " (signature float\n"
6643 " (parameters\n"
6644 " (declare (in) float x)\n"
6645 " (declare (in) float y))\n"
6646 " ())\n"
6647 " (signature float\n"
6648 " (parameters\n"
6649 " (declare (in) vec2 x)\n"
6650 " (declare (in) vec2 y))\n"
6651 " ())\n"
6652 " (signature float\n"
6653 " (parameters\n"
6654 " (declare (in) vec3 x)\n"
6655 " (declare (in) vec3 y))\n"
6656 " ())\n"
6657 " (signature float\n"
6658 " (parameters\n"
6659 " (declare (in) vec4 x)\n"
6660 " (declare (in) vec4 y))\n"
6661 " ()))\n"
6662 "(function cross\n"
6663 " (signature vec3\n"
6664 " (parameters\n"
6665 " (declare (in) vec3 x)\n"
6666 " (declare (in) vec3 y))\n"
6667 " ()))\n"
6668 "(function normalize\n"
6669 " (signature float\n"
6670 " (parameters\n"
6671 " (declare (in) float x))\n"
6672 " ())\n"
6673 " (signature vec2\n"
6674 " (parameters\n"
6675 " (declare (in) vec2 x))\n"
6676 " ())\n"
6677 " (signature vec3\n"
6678 " (parameters\n"
6679 " (declare (in) vec3 x))\n"
6680 " ())\n"
6681 " (signature vec4\n"
6682 " (parameters\n"
6683 " (declare (in) vec4 x))\n"
6684 " ()))\n"
6685 "(function faceforward\n"
6686 " (signature float\n"
6687 " (parameters\n"
6688 " (declare (in) float N)\n"
6689 " (declare (in) float I)\n"
6690 " (declare (in) float Nref))\n"
6691 " ())\n"
6692 " (signature vec2\n"
6693 " (parameters\n"
6694 " (declare (in) vec2 N)\n"
6695 " (declare (in) vec2 I)\n"
6696 " (declare (in) vec2 Nref))\n"
6697 " ())\n"
6698 " (signature vec3\n"
6699 " (parameters\n"
6700 " (declare (in) vec3 N)\n"
6701 " (declare (in) vec3 I)\n"
6702 " (declare (in) vec3 Nref))\n"
6703 " ())\n"
6704 " (signature vec4\n"
6705 " (parameters\n"
6706 " (declare (in) vec4 N)\n"
6707 " (declare (in) vec4 I)\n"
6708 " (declare (in) vec4 Nref))\n"
6709 " ()))\n"
6710 "(function reflect\n"
6711 " (signature float\n"
6712 " (parameters\n"
6713 " (declare (in) float I)\n"
6714 " (declare (in) float N))\n"
6715 " ())\n"
6716 " (signature vec2\n"
6717 " (parameters\n"
6718 " (declare (in) vec2 I)\n"
6719 " (declare (in) vec2 N))\n"
6720 " ())\n"
6721 " (signature vec3\n"
6722 " (parameters\n"
6723 " (declare (in) vec3 I)\n"
6724 " (declare (in) vec3 N))\n"
6725 " ())\n"
6726 " (signature vec4\n"
6727 " (parameters\n"
6728 " (declare (in) vec4 I)\n"
6729 " (declare (in) vec4 N))\n"
6730 " ()))\n"
6731 "(function refract\n"
6732 " (signature float\n"
6733 " (parameters\n"
6734 " (declare (in) float I)\n"
6735 " (declare (in) float N)\n"
6736 " (declare (in) float eta))\n"
6737 " ())\n"
6738 " (signature vec2\n"
6739 " (parameters\n"
6740 " (declare (in) vec2 I)\n"
6741 " (declare (in) vec2 N)\n"
6742 " (declare (in) float eta))\n"
6743 " ())\n"
6744 " (signature vec3\n"
6745 " (parameters\n"
6746 " (declare (in) vec3 I)\n"
6747 " (declare (in) vec3 N)\n"
6748 " (declare (in) float eta))\n"
6749 " ())\n"
6750 " (signature vec4\n"
6751 " (parameters\n"
6752 " (declare (in) vec4 I)\n"
6753 " (declare (in) vec4 N)\n"
6754 " (declare (in) float eta))\n"
6755 " ()))\n"
6756 "(function matrixCompMult\n"
6757 " (signature mat2\n"
6758 " (parameters\n"
6759 " (declare (in) mat2 x)\n"
6760 " (declare (in) mat2 y))\n"
6761 " ())\n"
6762 " (signature mat3\n"
6763 " (parameters\n"
6764 " (declare (in) mat3 x)\n"
6765 " (declare (in) mat3 y))\n"
6766 " ())\n"
6767 " (signature mat4\n"
6768 " (parameters\n"
6769 " (declare (in) mat4 x)\n"
6770 " (declare (in) mat4 y))\n"
6771 " ()))\n"
6772 "(function lessThan\n"
6773 " (signature bvec2\n"
6774 " (parameters\n"
6775 " (declare (in) vec2 x)\n"
6776 " (declare (in) vec2 y))\n"
6777 " ())\n"
6778 " (signature bvec3\n"
6779 " (parameters\n"
6780 " (declare (in) vec3 x)\n"
6781 " (declare (in) vec3 y))\n"
6782 " ())\n"
6783 " (signature bvec4\n"
6784 " (parameters\n"
6785 " (declare (in) vec4 x)\n"
6786 " (declare (in) vec4 y))\n"
6787 " ())\n"
6788 " (signature bvec2\n"
6789 " (parameters\n"
6790 " (declare (in) ivec2 x)\n"
6791 " (declare (in) ivec2 y))\n"
6792 " ())\n"
6793 " (signature bvec3\n"
6794 " (parameters\n"
6795 " (declare (in) ivec3 x)\n"
6796 " (declare (in) ivec3 y))\n"
6797 " ())\n"
6798 " (signature bvec4\n"
6799 " (parameters\n"
6800 " (declare (in) ivec4 x)\n"
6801 " (declare (in) ivec4 y))\n"
6802 " ()))\n"
6803 "(function lessThanEqual\n"
6804 " (signature bvec2\n"
6805 " (parameters\n"
6806 " (declare (in) vec2 x)\n"
6807 " (declare (in) vec2 y))\n"
6808 " ())\n"
6809 " (signature bvec3\n"
6810 " (parameters\n"
6811 " (declare (in) vec3 x)\n"
6812 " (declare (in) vec3 y))\n"
6813 " ())\n"
6814 " (signature bvec4\n"
6815 " (parameters\n"
6816 " (declare (in) vec4 x)\n"
6817 " (declare (in) vec4 y))\n"
6818 " ())\n"
6819 " (signature bvec2\n"
6820 " (parameters\n"
6821 " (declare (in) ivec2 x)\n"
6822 " (declare (in) ivec2 y))\n"
6823 " ())\n"
6824 " (signature bvec3\n"
6825 " (parameters\n"
6826 " (declare (in) ivec3 x)\n"
6827 " (declare (in) ivec3 y))\n"
6828 " ())\n"
6829 " (signature bvec4\n"
6830 " (parameters\n"
6831 " (declare (in) ivec4 x)\n"
6832 " (declare (in) ivec4 y))\n"
6833 " ()))\n"
6834 "(function greaterThan\n"
6835 " (signature bvec2\n"
6836 " (parameters\n"
6837 " (declare (in) vec2 x)\n"
6838 " (declare (in) vec2 y))\n"
6839 " ())\n"
6840 " (signature bvec3\n"
6841 " (parameters\n"
6842 " (declare (in) vec3 x)\n"
6843 " (declare (in) vec3 y))\n"
6844 " ())\n"
6845 " (signature bvec4\n"
6846 " (parameters\n"
6847 " (declare (in) vec4 x)\n"
6848 " (declare (in) vec4 y))\n"
6849 " ())\n"
6850 " (signature bvec2\n"
6851 " (parameters\n"
6852 " (declare (in) ivec2 x)\n"
6853 " (declare (in) ivec2 y))\n"
6854 " ())\n"
6855 " (signature bvec3\n"
6856 " (parameters\n"
6857 " (declare (in) ivec3 x)\n"
6858 " (declare (in) ivec3 y))\n"
6859 " ())\n"
6860 " (signature bvec4\n"
6861 " (parameters\n"
6862 " (declare (in) ivec4 x)\n"
6863 " (declare (in) ivec4 y))\n"
6864 " ()))\n"
6865 "(function greaterThanEqual\n"
6866 " (signature bvec2\n"
6867 " (parameters\n"
6868 " (declare (in) vec2 x)\n"
6869 " (declare (in) vec2 y))\n"
6870 " ())\n"
6871 " (signature bvec3\n"
6872 " (parameters\n"
6873 " (declare (in) vec3 x)\n"
6874 " (declare (in) vec3 y))\n"
6875 " ())\n"
6876 " (signature bvec4\n"
6877 " (parameters\n"
6878 " (declare (in) vec4 x)\n"
6879 " (declare (in) vec4 y))\n"
6880 " ())\n"
6881 " (signature bvec2\n"
6882 " (parameters\n"
6883 " (declare (in) ivec2 x)\n"
6884 " (declare (in) ivec2 y))\n"
6885 " ())\n"
6886 " (signature bvec3\n"
6887 " (parameters\n"
6888 " (declare (in) ivec3 x)\n"
6889 " (declare (in) ivec3 y))\n"
6890 " ())\n"
6891 " (signature bvec4\n"
6892 " (parameters\n"
6893 " (declare (in) ivec4 x)\n"
6894 " (declare (in) ivec4 y))\n"
6895 " ()))\n"
6896 "(function equal\n"
6897 " (signature bvec2\n"
6898 " (parameters\n"
6899 " (declare (in) vec2 x)\n"
6900 " (declare (in) vec2 y))\n"
6901 " ())\n"
6902 " (signature bvec3\n"
6903 " (parameters\n"
6904 " (declare (in) vec3 x)\n"
6905 " (declare (in) vec3 y))\n"
6906 " ())\n"
6907 " (signature bvec4\n"
6908 " (parameters\n"
6909 " (declare (in) vec4 x)\n"
6910 " (declare (in) vec4 y))\n"
6911 " ())\n"
6912 " (signature bvec2\n"
6913 " (parameters\n"
6914 " (declare (in) ivec2 x)\n"
6915 " (declare (in) ivec2 y))\n"
6916 " ())\n"
6917 " (signature bvec3\n"
6918 " (parameters\n"
6919 " (declare (in) ivec3 x)\n"
6920 " (declare (in) ivec3 y))\n"
6921 " ())\n"
6922 " (signature bvec4\n"
6923 " (parameters\n"
6924 " (declare (in) ivec4 x)\n"
6925 " (declare (in) ivec4 y))\n"
6926 " ())\n"
6927 " (signature bvec2\n"
6928 " (parameters\n"
6929 " (declare (in) bvec2 x)\n"
6930 " (declare (in) bvec2 y))\n"
6931 " ())\n"
6932 " (signature bvec3\n"
6933 " (parameters\n"
6934 " (declare (in) bvec3 x)\n"
6935 " (declare (in) bvec3 y))\n"
6936 " ())\n"
6937 " (signature bvec4\n"
6938 " (parameters\n"
6939 " (declare (in) bvec4 x)\n"
6940 " (declare (in) bvec4 y))\n"
6941 " ()))\n"
6942 "(function notEqual\n"
6943 " (signature bvec2\n"
6944 " (parameters\n"
6945 " (declare (in) vec2 x)\n"
6946 " (declare (in) vec2 y))\n"
6947 " ())\n"
6948 " (signature bvec3\n"
6949 " (parameters\n"
6950 " (declare (in) vec3 x)\n"
6951 " (declare (in) vec3 y))\n"
6952 " ())\n"
6953 " (signature bvec4\n"
6954 " (parameters\n"
6955 " (declare (in) vec4 x)\n"
6956 " (declare (in) vec4 y))\n"
6957 " ())\n"
6958 " (signature bvec2\n"
6959 " (parameters\n"
6960 " (declare (in) ivec2 x)\n"
6961 " (declare (in) ivec2 y))\n"
6962 " ())\n"
6963 " (signature bvec3\n"
6964 " (parameters\n"
6965 " (declare (in) ivec3 x)\n"
6966 " (declare (in) ivec3 y))\n"
6967 " ())\n"
6968 " (signature bvec4\n"
6969 " (parameters\n"
6970 " (declare (in) ivec4 x)\n"
6971 " (declare (in) ivec4 y))\n"
6972 " ())\n"
6973 " (signature bvec2\n"
6974 " (parameters\n"
6975 " (declare (in) bvec2 x)\n"
6976 " (declare (in) bvec2 y))\n"
6977 " ())\n"
6978 " (signature bvec3\n"
6979 " (parameters\n"
6980 " (declare (in) bvec3 x)\n"
6981 " (declare (in) bvec3 y))\n"
6982 " ())\n"
6983 " (signature bvec4\n"
6984 " (parameters\n"
6985 " (declare (in) bvec4 x)\n"
6986 " (declare (in) bvec4 y))\n"
6987 " ()))\n"
6988 "(function any\n"
6989 " (signature bool\n"
6990 " (parameters\n"
6991 " (declare (in) bvec2 x))\n"
6992 " ())\n"
6993 " (signature bool\n"
6994 " (parameters\n"
6995 " (declare (in) bvec3 x))\n"
6996 " ())\n"
6997 " (signature bool\n"
6998 " (parameters\n"
6999 " (declare (in) bvec4 x))\n"
7000 " ()))\n"
7001 "(function all\n"
7002 " (signature bool\n"
7003 " (parameters\n"
7004 " (declare (in) bvec2 x))\n"
7005 " ())\n"
7006 " (signature bool\n"
7007 " (parameters\n"
7008 " (declare (in) bvec3 x))\n"
7009 " ())\n"
7010 " (signature bool\n"
7011 " (parameters\n"
7012 " (declare (in) bvec4 x))\n"
7013 " ()))\n"
7014 "(function not\n"
7015 " (signature bvec2\n"
7016 " (parameters\n"
7017 " (declare (in) bvec2 x))\n"
7018 " ())\n"
7019 " (signature bvec3\n"
7020 " (parameters\n"
7021 " (declare (in) bvec3 x))\n"
7022 " ())\n"
7023 " (signature bvec4\n"
7024 " (parameters\n"
7025 " (declare (in) bvec4 x))\n"
7026 " ()))\n"
7027 "(function texture2D\n"
7028 " (signature vec4\n"
7029 " (parameters\n"
7030 " (declare (in) sampler2D sampler)\n"
7031 " (declare (in) vec2 coord))\n"
7032 " ()))\n"
7033 "(function texture2DProj\n"
7034 " (signature vec4\n"
7035 " (parameters\n"
7036 " (declare (in) sampler2D sampler)\n"
7037 " (declare (in) vec3 coord))\n"
7038 " ())\n"
7039 " (signature vec4\n"
7040 " (parameters\n"
7041 " (declare (in) sampler2D sampler)\n"
7042 " (declare (in) vec4 coord))\n"
7043 " ()))\n"
7044 "(function texture2DLod\n"
7045 " (signature vec4\n"
7046 " (parameters\n"
7047 " (declare (in) sampler2D sampler)\n"
7048 " (declare (in) vec2 coord)\n"
7049 " (declare (in) float lod))\n"
7050 " ()))\n"
7051 "(function texture2DProjLod\n"
7052 " (signature vec4\n"
7053 " (parameters\n"
7054 " (declare (in) sampler2D sampler)\n"
7055 " (declare (in) vec3 coord)\n"
7056 " (declare (in) float lod))\n"
7057 " ())\n"
7058 " (signature vec4\n"
7059 " (parameters\n"
7060 " (declare (in) sampler2D sampler)\n"
7061 " (declare (in) vec4 coord)\n"
7062 " (declare (in) float lod))\n"
7063 " ()))\n"
7064 "(function textureCube\n"
7065 " (signature vec4\n"
7066 " (parameters\n"
7067 " (declare (in) samplerCube sampler)\n"
7068 " (declare (in) vec3 coord))\n"
7069 " ()))\n"
7070 "(function textureCubeLod\n"
7071 " (signature vec4\n"
7072 " (parameters\n"
7073 " (declare (in) samplerCube sampler)\n"
7074 " (declare (in) vec3 coord)\n"
7075 " (declare (in) float lod))\n"
7076 " ())))"
7077 ;
7078 static const char *functions_for_100_vert [] = {
7079 builtin_abs,
7080 builtin_acos,
7081 builtin_all,
7082 builtin_any,
7083 builtin_asin,
7084 builtin_atan,
7085 builtin_ceil,
7086 builtin_clamp,
7087 builtin_cos,
7088 builtin_cross,
7089 builtin_degrees,
7090 builtin_distance,
7091 builtin_dot,
7092 builtin_equal,
7093 builtin_exp,
7094 builtin_exp2,
7095 builtin_faceforward,
7096 builtin_floor,
7097 builtin_fract,
7098 builtin_greaterThan,
7099 builtin_greaterThanEqual,
7100 builtin_inversesqrt,
7101 builtin_length,
7102 builtin_lessThan,
7103 builtin_lessThanEqual,
7104 builtin_log,
7105 builtin_log2,
7106 builtin_matrixCompMult,
7107 builtin_max,
7108 builtin_min,
7109 builtin_mix,
7110 builtin_mod,
7111 builtin_normalize,
7112 builtin_not,
7113 builtin_notEqual,
7114 builtin_pow,
7115 builtin_radians,
7116 builtin_reflect,
7117 builtin_refract,
7118 builtin_sign,
7119 builtin_sin,
7120 builtin_smoothstep,
7121 builtin_sqrt,
7122 builtin_step,
7123 builtin_tan,
7124 builtin_texture2D,
7125 builtin_texture2DLod,
7126 builtin_texture2DProj,
7127 builtin_texture2DProjLod,
7128 builtin_textureCube,
7129 builtin_textureCubeLod,
7130 };
7131 static const char prototypes_for_110_frag[] =
7132 "(\n"
7133 "(function radians\n"
7134 " (signature float\n"
7135 " (parameters\n"
7136 " (declare (in) float degrees))\n"
7137 " ())\n"
7138 " (signature vec2\n"
7139 " (parameters\n"
7140 " (declare (in) vec2 degrees))\n"
7141 " ())\n"
7142 " (signature vec3\n"
7143 " (parameters\n"
7144 " (declare (in) vec3 degrees))\n"
7145 " ())\n"
7146 " (signature vec4\n"
7147 " (parameters\n"
7148 " (declare (in) vec4 degrees))\n"
7149 " ()))\n"
7150 "(function degrees\n"
7151 " (signature float\n"
7152 " (parameters\n"
7153 " (declare (in) float radians))\n"
7154 " ())\n"
7155 " (signature vec2\n"
7156 " (parameters\n"
7157 " (declare (in) vec2 radians))\n"
7158 " ())\n"
7159 " (signature vec3\n"
7160 " (parameters\n"
7161 " (declare (in) vec3 radians))\n"
7162 " ())\n"
7163 " (signature vec4\n"
7164 " (parameters\n"
7165 " (declare (in) vec4 radians))\n"
7166 " ()))\n"
7167 "(function sin\n"
7168 " (signature float\n"
7169 " (parameters\n"
7170 " (declare (in) float angle))\n"
7171 " ())\n"
7172 " (signature vec2\n"
7173 " (parameters\n"
7174 " (declare (in) vec2 angle))\n"
7175 " ())\n"
7176 " (signature vec3\n"
7177 " (parameters\n"
7178 " (declare (in) vec3 angle))\n"
7179 " ())\n"
7180 " (signature vec4\n"
7181 " (parameters\n"
7182 " (declare (in) vec4 angle))\n"
7183 " ()))\n"
7184 "(function cos\n"
7185 " (signature float\n"
7186 " (parameters\n"
7187 " (declare (in) float angle))\n"
7188 " ())\n"
7189 " (signature vec2\n"
7190 " (parameters\n"
7191 " (declare (in) vec2 angle))\n"
7192 " ())\n"
7193 " (signature vec3\n"
7194 " (parameters\n"
7195 " (declare (in) vec3 angle))\n"
7196 " ())\n"
7197 " (signature vec4\n"
7198 " (parameters\n"
7199 " (declare (in) vec4 angle))\n"
7200 " ()))\n"
7201 "(function tan\n"
7202 " (signature float\n"
7203 " (parameters\n"
7204 " (declare (in) float angle))\n"
7205 " ())\n"
7206 " (signature vec2\n"
7207 " (parameters\n"
7208 " (declare (in) vec2 angle))\n"
7209 " ())\n"
7210 " (signature vec3\n"
7211 " (parameters\n"
7212 " (declare (in) vec3 angle))\n"
7213 " ())\n"
7214 " (signature vec4\n"
7215 " (parameters\n"
7216 " (declare (in) vec4 angle))\n"
7217 " ()))\n"
7218 "(function asin\n"
7219 " (signature float\n"
7220 " (parameters\n"
7221 " (declare (in) float angle))\n"
7222 " ())\n"
7223 " (signature vec2\n"
7224 " (parameters\n"
7225 " (declare (in) vec2 angle))\n"
7226 " ())\n"
7227 " (signature vec3\n"
7228 " (parameters\n"
7229 " (declare (in) vec3 angle))\n"
7230 " ())\n"
7231 " (signature vec4\n"
7232 " (parameters\n"
7233 " (declare (in) vec4 angle))\n"
7234 " ()))\n"
7235 "(function acos\n"
7236 " (signature float\n"
7237 " (parameters\n"
7238 " (declare (in) float angle))\n"
7239 " ())\n"
7240 " (signature vec2\n"
7241 " (parameters\n"
7242 " (declare (in) vec2 angle))\n"
7243 " ())\n"
7244 " (signature vec3\n"
7245 " (parameters\n"
7246 " (declare (in) vec3 angle))\n"
7247 " ())\n"
7248 " (signature vec4\n"
7249 " (parameters\n"
7250 " (declare (in) vec4 angle))\n"
7251 " ()))\n"
7252 "(function atan\n"
7253 " (signature float\n"
7254 " (parameters\n"
7255 " (declare (in) float y)\n"
7256 " (declare (in) float x))\n"
7257 " ())\n"
7258 " (signature vec2\n"
7259 " (parameters\n"
7260 " (declare (in) vec2 y)\n"
7261 " (declare (in) vec2 x))\n"
7262 " ())\n"
7263 " (signature vec3\n"
7264 " (parameters\n"
7265 " (declare (in) vec3 y)\n"
7266 " (declare (in) vec3 x))\n"
7267 " ())\n"
7268 " (signature vec4\n"
7269 " (parameters\n"
7270 " (declare (in) vec4 y)\n"
7271 " (declare (in) vec4 x))\n"
7272 " ())\n"
7273 " (signature float\n"
7274 " (parameters\n"
7275 " (declare (in) float y_over_x))\n"
7276 " ())\n"
7277 " (signature vec2\n"
7278 " (parameters\n"
7279 " (declare (in) vec2 y_over_x))\n"
7280 " ())\n"
7281 " (signature vec3\n"
7282 " (parameters\n"
7283 " (declare (in) vec3 y_over_x))\n"
7284 " ())\n"
7285 " (signature vec4\n"
7286 " (parameters\n"
7287 " (declare (in) vec4 y_over_x))\n"
7288 " ()))\n"
7289 "(function pow\n"
7290 " (signature float\n"
7291 " (parameters\n"
7292 " (declare (in) float x)\n"
7293 " (declare (in) float y))\n"
7294 " ())\n"
7295 " (signature vec2\n"
7296 " (parameters\n"
7297 " (declare (in) vec2 x)\n"
7298 " (declare (in) vec2 y))\n"
7299 " ())\n"
7300 " (signature vec3\n"
7301 " (parameters\n"
7302 " (declare (in) vec3 x)\n"
7303 " (declare (in) vec3 y))\n"
7304 " ())\n"
7305 " (signature vec4\n"
7306 " (parameters\n"
7307 " (declare (in) vec4 x)\n"
7308 " (declare (in) vec4 y))\n"
7309 " ()))\n"
7310 "(function exp\n"
7311 " (signature float\n"
7312 " (parameters\n"
7313 " (declare (in) float x))\n"
7314 " ())\n"
7315 " (signature vec2\n"
7316 " (parameters\n"
7317 " (declare (in) vec2 x))\n"
7318 " ())\n"
7319 " (signature vec3\n"
7320 " (parameters\n"
7321 " (declare (in) vec3 x))\n"
7322 " ())\n"
7323 " (signature vec4\n"
7324 " (parameters\n"
7325 " (declare (in) vec4 x))\n"
7326 " ()))\n"
7327 "(function log\n"
7328 " (signature float\n"
7329 " (parameters\n"
7330 " (declare (in) float x))\n"
7331 " ())\n"
7332 " (signature vec2\n"
7333 " (parameters\n"
7334 " (declare (in) vec2 x))\n"
7335 " ())\n"
7336 " (signature vec3\n"
7337 " (parameters\n"
7338 " (declare (in) vec3 x))\n"
7339 " ())\n"
7340 " (signature vec4\n"
7341 " (parameters\n"
7342 " (declare (in) vec4 x))\n"
7343 " ()))\n"
7344 "(function exp2\n"
7345 " (signature float\n"
7346 " (parameters\n"
7347 " (declare (in) float x))\n"
7348 " ())\n"
7349 " (signature vec2\n"
7350 " (parameters\n"
7351 " (declare (in) vec2 x))\n"
7352 " ())\n"
7353 " (signature vec3\n"
7354 " (parameters\n"
7355 " (declare (in) vec3 x))\n"
7356 " ())\n"
7357 " (signature vec4\n"
7358 " (parameters\n"
7359 " (declare (in) vec4 x))\n"
7360 " ()))\n"
7361 "(function log2\n"
7362 " (signature float\n"
7363 " (parameters\n"
7364 " (declare (in) float x))\n"
7365 " ())\n"
7366 " (signature vec2\n"
7367 " (parameters\n"
7368 " (declare (in) vec2 x))\n"
7369 " ())\n"
7370 " (signature vec3\n"
7371 " (parameters\n"
7372 " (declare (in) vec3 x))\n"
7373 " ())\n"
7374 " (signature vec4\n"
7375 " (parameters\n"
7376 " (declare (in) vec4 x))\n"
7377 " ()))\n"
7378 "(function sqrt\n"
7379 " (signature float\n"
7380 " (parameters\n"
7381 " (declare (in) float x))\n"
7382 " ())\n"
7383 " (signature vec2\n"
7384 " (parameters\n"
7385 " (declare (in) vec2 x))\n"
7386 " ())\n"
7387 " (signature vec3\n"
7388 " (parameters\n"
7389 " (declare (in) vec3 x))\n"
7390 " ())\n"
7391 " (signature vec4\n"
7392 " (parameters\n"
7393 " (declare (in) vec4 x))\n"
7394 " ()))\n"
7395 "(function inversesqrt\n"
7396 " (signature float\n"
7397 " (parameters\n"
7398 " (declare (in) float x))\n"
7399 " ())\n"
7400 " (signature vec2\n"
7401 " (parameters\n"
7402 " (declare (in) vec2 x))\n"
7403 " ())\n"
7404 " (signature vec3\n"
7405 " (parameters\n"
7406 " (declare (in) vec3 x))\n"
7407 " ())\n"
7408 " (signature vec4\n"
7409 " (parameters\n"
7410 " (declare (in) vec4 x))\n"
7411 " ()))\n"
7412 "(function abs\n"
7413 " (signature float\n"
7414 " (parameters\n"
7415 " (declare (in) float x))\n"
7416 " ())\n"
7417 " (signature vec2\n"
7418 " (parameters\n"
7419 " (declare (in) vec2 x))\n"
7420 " ())\n"
7421 " (signature vec3\n"
7422 " (parameters\n"
7423 " (declare (in) vec3 x))\n"
7424 " ())\n"
7425 " (signature vec4\n"
7426 " (parameters\n"
7427 " (declare (in) vec4 x))\n"
7428 " ()))\n"
7429 "(function sign\n"
7430 " (signature float\n"
7431 " (parameters\n"
7432 " (declare (in) float x))\n"
7433 " ())\n"
7434 " (signature vec2\n"
7435 " (parameters\n"
7436 " (declare (in) vec2 x))\n"
7437 " ())\n"
7438 " (signature vec3\n"
7439 " (parameters\n"
7440 " (declare (in) vec3 x))\n"
7441 " ())\n"
7442 " (signature vec4\n"
7443 " (parameters\n"
7444 " (declare (in) vec4 x))\n"
7445 " ()))\n"
7446 "(function floor\n"
7447 " (signature float\n"
7448 " (parameters\n"
7449 " (declare (in) float x))\n"
7450 " ())\n"
7451 " (signature vec2\n"
7452 " (parameters\n"
7453 " (declare (in) vec2 x))\n"
7454 " ())\n"
7455 " (signature vec3\n"
7456 " (parameters\n"
7457 " (declare (in) vec3 x))\n"
7458 " ())\n"
7459 " (signature vec4\n"
7460 " (parameters\n"
7461 " (declare (in) vec4 x))\n"
7462 " ()))\n"
7463 "(function ceil\n"
7464 " (signature float\n"
7465 " (parameters\n"
7466 " (declare (in) float x))\n"
7467 " ())\n"
7468 " (signature vec2\n"
7469 " (parameters\n"
7470 " (declare (in) vec2 x))\n"
7471 " ())\n"
7472 " (signature vec3\n"
7473 " (parameters\n"
7474 " (declare (in) vec3 x))\n"
7475 " ())\n"
7476 " (signature vec4\n"
7477 " (parameters\n"
7478 " (declare (in) vec4 x))\n"
7479 " ()))\n"
7480 "(function fract\n"
7481 " (signature float\n"
7482 " (parameters\n"
7483 " (declare (in) float x))\n"
7484 " ())\n"
7485 " (signature vec2\n"
7486 " (parameters\n"
7487 " (declare (in) vec2 x))\n"
7488 " ())\n"
7489 " (signature vec3\n"
7490 " (parameters\n"
7491 " (declare (in) vec3 x))\n"
7492 " ())\n"
7493 " (signature vec4\n"
7494 " (parameters\n"
7495 " (declare (in) vec4 x))\n"
7496 " ()))\n"
7497 "(function mod\n"
7498 " (signature float\n"
7499 " (parameters\n"
7500 " (declare (in) float x)\n"
7501 " (declare (in) float y))\n"
7502 " ())\n"
7503 " (signature vec2\n"
7504 " (parameters\n"
7505 " (declare (in) vec2 x)\n"
7506 " (declare (in) float y))\n"
7507 " ())\n"
7508 " (signature vec3\n"
7509 " (parameters\n"
7510 " (declare (in) vec3 x)\n"
7511 " (declare (in) float y))\n"
7512 " ())\n"
7513 " (signature vec4\n"
7514 " (parameters\n"
7515 " (declare (in) vec4 x)\n"
7516 " (declare (in) float y))\n"
7517 " ())\n"
7518 " (signature vec2\n"
7519 " (parameters\n"
7520 " (declare (in) vec2 x)\n"
7521 " (declare (in) vec2 y))\n"
7522 " ())\n"
7523 " (signature vec3\n"
7524 " (parameters\n"
7525 " (declare (in) vec3 x)\n"
7526 " (declare (in) vec3 y))\n"
7527 " ())\n"
7528 " (signature vec4\n"
7529 " (parameters\n"
7530 " (declare (in) vec4 x)\n"
7531 " (declare (in) vec4 y))\n"
7532 " ()))\n"
7533 "(function min\n"
7534 " (signature float\n"
7535 " (parameters\n"
7536 " (declare (in) float x)\n"
7537 " (declare (in) float y))\n"
7538 " ())\n"
7539 " (signature vec2\n"
7540 " (parameters\n"
7541 " (declare (in) vec2 x)\n"
7542 " (declare (in) vec2 y))\n"
7543 " ())\n"
7544 " (signature vec3\n"
7545 " (parameters\n"
7546 " (declare (in) vec3 x)\n"
7547 " (declare (in) vec3 y))\n"
7548 " ())\n"
7549 " (signature vec4\n"
7550 " (parameters\n"
7551 " (declare (in) vec4 x)\n"
7552 " (declare (in) vec4 y))\n"
7553 " ())\n"
7554 " (signature vec2\n"
7555 " (parameters\n"
7556 " (declare (in) vec2 x)\n"
7557 " (declare (in) float y))\n"
7558 " ())\n"
7559 " (signature vec3\n"
7560 " (parameters\n"
7561 " (declare (in) vec3 x)\n"
7562 " (declare (in) float y))\n"
7563 " ())\n"
7564 " (signature vec4\n"
7565 " (parameters\n"
7566 " (declare (in) vec4 x)\n"
7567 " (declare (in) float y))\n"
7568 " ()))\n"
7569 "(function max\n"
7570 " (signature float\n"
7571 " (parameters\n"
7572 " (declare (in) float x)\n"
7573 " (declare (in) float y))\n"
7574 " ())\n"
7575 " (signature vec2\n"
7576 " (parameters\n"
7577 " (declare (in) vec2 x)\n"
7578 " (declare (in) vec2 y))\n"
7579 " ())\n"
7580 " (signature vec3\n"
7581 " (parameters\n"
7582 " (declare (in) vec3 x)\n"
7583 " (declare (in) vec3 y))\n"
7584 " ())\n"
7585 " (signature vec4\n"
7586 " (parameters\n"
7587 " (declare (in) vec4 x)\n"
7588 " (declare (in) vec4 y))\n"
7589 " ())\n"
7590 " (signature vec2\n"
7591 " (parameters\n"
7592 " (declare (in) vec2 x)\n"
7593 " (declare (in) float y))\n"
7594 " ())\n"
7595 " (signature vec3\n"
7596 " (parameters\n"
7597 " (declare (in) vec3 x)\n"
7598 " (declare (in) float y))\n"
7599 " ())\n"
7600 " (signature vec4\n"
7601 " (parameters\n"
7602 " (declare (in) vec4 x)\n"
7603 " (declare (in) float y))\n"
7604 " ()))\n"
7605 "(function clamp\n"
7606 " (signature float\n"
7607 " (parameters\n"
7608 " (declare (in) float x)\n"
7609 " (declare (in) float minVal)\n"
7610 " (declare (in) float maxVal))\n"
7611 " ())\n"
7612 " (signature vec2\n"
7613 " (parameters\n"
7614 " (declare (in) vec2 x)\n"
7615 " (declare (in) vec2 minVal)\n"
7616 " (declare (in) vec2 maxVal))\n"
7617 " ())\n"
7618 " (signature vec3\n"
7619 " (parameters\n"
7620 " (declare (in) vec3 x)\n"
7621 " (declare (in) vec3 minVal)\n"
7622 " (declare (in) vec3 maxVal))\n"
7623 " ())\n"
7624 " (signature vec4\n"
7625 " (parameters\n"
7626 " (declare (in) vec4 x)\n"
7627 " (declare (in) vec4 minVal)\n"
7628 " (declare (in) vec4 maxVal))\n"
7629 " ())\n"
7630 " (signature vec2\n"
7631 " (parameters\n"
7632 " (declare (in) vec2 x)\n"
7633 " (declare (in) float minVal)\n"
7634 " (declare (in) float maxVal))\n"
7635 " ())\n"
7636 " (signature vec3\n"
7637 " (parameters\n"
7638 " (declare (in) vec3 x)\n"
7639 " (declare (in) float minVal)\n"
7640 " (declare (in) float maxVal))\n"
7641 " ())\n"
7642 " (signature vec4\n"
7643 " (parameters\n"
7644 " (declare (in) vec4 x)\n"
7645 " (declare (in) float minVal)\n"
7646 " (declare (in) float maxVal))\n"
7647 " ()))\n"
7648 "(function mix\n"
7649 " (signature float\n"
7650 " (parameters\n"
7651 " (declare (in) float x)\n"
7652 " (declare (in) float y)\n"
7653 " (declare (in) float a))\n"
7654 " ())\n"
7655 " (signature vec2\n"
7656 " (parameters\n"
7657 " (declare (in) vec2 x)\n"
7658 " (declare (in) vec2 y)\n"
7659 " (declare (in) vec2 a))\n"
7660 " ())\n"
7661 " (signature vec3\n"
7662 " (parameters\n"
7663 " (declare (in) vec3 x)\n"
7664 " (declare (in) vec3 y)\n"
7665 " (declare (in) vec3 a))\n"
7666 " ())\n"
7667 " (signature vec4\n"
7668 " (parameters\n"
7669 " (declare (in) vec4 x)\n"
7670 " (declare (in) vec4 y)\n"
7671 " (declare (in) vec4 a))\n"
7672 " ())\n"
7673 " (signature vec2\n"
7674 " (parameters\n"
7675 " (declare (in) vec2 x)\n"
7676 " (declare (in) vec2 y)\n"
7677 " (declare (in) float a))\n"
7678 " ())\n"
7679 " (signature vec3\n"
7680 " (parameters\n"
7681 " (declare (in) vec3 x)\n"
7682 " (declare (in) vec3 y)\n"
7683 " (declare (in) float a))\n"
7684 " ())\n"
7685 " (signature vec4\n"
7686 " (parameters\n"
7687 " (declare (in) vec4 x)\n"
7688 " (declare (in) vec4 y)\n"
7689 " (declare (in) float a))\n"
7690 " ()))\n"
7691 "(function step\n"
7692 " (signature float\n"
7693 " (parameters\n"
7694 " (declare (in) float edge)\n"
7695 " (declare (in) float x))\n"
7696 " ())\n"
7697 " (signature vec2\n"
7698 " (parameters\n"
7699 " (declare (in) vec2 edge)\n"
7700 " (declare (in) vec2 x))\n"
7701 " ())\n"
7702 " (signature vec3\n"
7703 " (parameters\n"
7704 " (declare (in) vec3 edge)\n"
7705 " (declare (in) vec3 x))\n"
7706 " ())\n"
7707 " (signature vec4\n"
7708 " (parameters\n"
7709 " (declare (in) vec4 edge)\n"
7710 " (declare (in) vec4 x))\n"
7711 " ())\n"
7712 " (signature vec2\n"
7713 " (parameters\n"
7714 " (declare (in) float edge)\n"
7715 " (declare (in) vec2 x))\n"
7716 " ())\n"
7717 " (signature vec3\n"
7718 " (parameters\n"
7719 " (declare (in) float edge)\n"
7720 " (declare (in) vec3 x))\n"
7721 " ())\n"
7722 " (signature vec4\n"
7723 " (parameters\n"
7724 " (declare (in) float edge)\n"
7725 " (declare (in) vec4 x))\n"
7726 " ()))\n"
7727 "(function smoothstep\n"
7728 " (signature float\n"
7729 " (parameters\n"
7730 " (declare (in) float edge0)\n"
7731 " (declare (in) float edge1)\n"
7732 " (declare (in) float x))\n"
7733 " ())\n"
7734 " (signature vec2\n"
7735 " (parameters\n"
7736 " (declare (in) vec2 edge0)\n"
7737 " (declare (in) vec2 edge1)\n"
7738 " (declare (in) vec2 x))\n"
7739 " ())\n"
7740 " (signature vec3\n"
7741 " (parameters\n"
7742 " (declare (in) vec3 edge0)\n"
7743 " (declare (in) vec3 edge1)\n"
7744 " (declare (in) vec3 x))\n"
7745 " ())\n"
7746 " (signature vec4\n"
7747 " (parameters\n"
7748 " (declare (in) vec4 edge0)\n"
7749 " (declare (in) vec4 edge1)\n"
7750 " (declare (in) vec4 x))\n"
7751 " ())\n"
7752 " (signature vec2\n"
7753 " (parameters\n"
7754 " (declare (in) float edge0)\n"
7755 " (declare (in) float edge1)\n"
7756 " (declare (in) vec2 x))\n"
7757 " ())\n"
7758 " (signature vec3\n"
7759 " (parameters\n"
7760 " (declare (in) float edge0)\n"
7761 " (declare (in) float edge1)\n"
7762 " (declare (in) vec3 x))\n"
7763 " ())\n"
7764 " (signature vec4\n"
7765 " (parameters\n"
7766 " (declare (in) float edge0)\n"
7767 " (declare (in) float edge1)\n"
7768 " (declare (in) vec4 x))\n"
7769 " ()))\n"
7770 "(function length\n"
7771 " (signature float\n"
7772 " (parameters\n"
7773 " (declare (in) float x))\n"
7774 " ())\n"
7775 " (signature float\n"
7776 " (parameters\n"
7777 " (declare (in) vec2 x))\n"
7778 " ())\n"
7779 " (signature float\n"
7780 " (parameters\n"
7781 " (declare (in) vec3 x))\n"
7782 " ())\n"
7783 " (signature float\n"
7784 " (parameters\n"
7785 " (declare (in) vec4 x))\n"
7786 " ()))\n"
7787 "(function distance\n"
7788 " (signature float\n"
7789 " (parameters\n"
7790 " (declare (in) float p0)\n"
7791 " (declare (in) float p1))\n"
7792 " ())\n"
7793 " (signature float\n"
7794 " (parameters\n"
7795 " (declare (in) vec2 p0)\n"
7796 " (declare (in) vec2 p1))\n"
7797 " ())\n"
7798 " (signature float\n"
7799 " (parameters\n"
7800 " (declare (in) vec3 p0)\n"
7801 " (declare (in) vec3 p1))\n"
7802 " ())\n"
7803 " (signature float\n"
7804 " (parameters\n"
7805 " (declare (in) vec4 p0)\n"
7806 " (declare (in) vec4 p1))\n"
7807 " ()))\n"
7808 "(function dot\n"
7809 " (signature float\n"
7810 " (parameters\n"
7811 " (declare (in) float x)\n"
7812 " (declare (in) float y))\n"
7813 " ())\n"
7814 " (signature float\n"
7815 " (parameters\n"
7816 " (declare (in) vec2 x)\n"
7817 " (declare (in) vec2 y))\n"
7818 " ())\n"
7819 " (signature float\n"
7820 " (parameters\n"
7821 " (declare (in) vec3 x)\n"
7822 " (declare (in) vec3 y))\n"
7823 " ())\n"
7824 " (signature float\n"
7825 " (parameters\n"
7826 " (declare (in) vec4 x)\n"
7827 " (declare (in) vec4 y))\n"
7828 " ()))\n"
7829 "(function cross\n"
7830 " (signature vec3\n"
7831 " (parameters\n"
7832 " (declare (in) vec3 x)\n"
7833 " (declare (in) vec3 y))\n"
7834 " ()))\n"
7835 "(function normalize\n"
7836 " (signature float\n"
7837 " (parameters\n"
7838 " (declare (in) float x))\n"
7839 " ())\n"
7840 " (signature vec2\n"
7841 " (parameters\n"
7842 " (declare (in) vec2 x))\n"
7843 " ())\n"
7844 " (signature vec3\n"
7845 " (parameters\n"
7846 " (declare (in) vec3 x))\n"
7847 " ())\n"
7848 " (signature vec4\n"
7849 " (parameters\n"
7850 " (declare (in) vec4 x))\n"
7851 " ()))\n"
7852 "(function faceforward\n"
7853 " (signature float\n"
7854 " (parameters\n"
7855 " (declare (in) float N)\n"
7856 " (declare (in) float I)\n"
7857 " (declare (in) float Nref))\n"
7858 " ())\n"
7859 " (signature vec2\n"
7860 " (parameters\n"
7861 " (declare (in) vec2 N)\n"
7862 " (declare (in) vec2 I)\n"
7863 " (declare (in) vec2 Nref))\n"
7864 " ())\n"
7865 " (signature vec3\n"
7866 " (parameters\n"
7867 " (declare (in) vec3 N)\n"
7868 " (declare (in) vec3 I)\n"
7869 " (declare (in) vec3 Nref))\n"
7870 " ())\n"
7871 " (signature vec4\n"
7872 " (parameters\n"
7873 " (declare (in) vec4 N)\n"
7874 " (declare (in) vec4 I)\n"
7875 " (declare (in) vec4 Nref))\n"
7876 " ()))\n"
7877 "(function reflect\n"
7878 " (signature float\n"
7879 " (parameters\n"
7880 " (declare (in) float I)\n"
7881 " (declare (in) float N))\n"
7882 " ())\n"
7883 " (signature vec2\n"
7884 " (parameters\n"
7885 " (declare (in) vec2 I)\n"
7886 " (declare (in) vec2 N))\n"
7887 " ())\n"
7888 " (signature vec3\n"
7889 " (parameters\n"
7890 " (declare (in) vec3 I)\n"
7891 " (declare (in) vec3 N))\n"
7892 " ())\n"
7893 " (signature vec4\n"
7894 " (parameters\n"
7895 " (declare (in) vec4 I)\n"
7896 " (declare (in) vec4 N))\n"
7897 " ()))\n"
7898 "(function refract\n"
7899 " (signature float\n"
7900 " (parameters\n"
7901 " (declare (in) float I)\n"
7902 " (declare (in) float N)\n"
7903 " (declare (in) float eta))\n"
7904 " ())\n"
7905 " (signature vec2\n"
7906 " (parameters\n"
7907 " (declare (in) vec2 I)\n"
7908 " (declare (in) vec2 N)\n"
7909 " (declare (in) float eta))\n"
7910 " ())\n"
7911 " (signature vec3\n"
7912 " (parameters\n"
7913 " (declare (in) vec3 I)\n"
7914 " (declare (in) vec3 N)\n"
7915 " (declare (in) float eta))\n"
7916 " ())\n"
7917 " (signature vec4\n"
7918 " (parameters\n"
7919 " (declare (in) vec4 I)\n"
7920 " (declare (in) vec4 N)\n"
7921 " (declare (in) float eta))\n"
7922 " ()))\n"
7923 "(function matrixCompMult\n"
7924 " (signature mat2\n"
7925 " (parameters\n"
7926 " (declare (in) mat2 x)\n"
7927 " (declare (in) mat2 y))\n"
7928 " ())\n"
7929 " (signature mat3\n"
7930 " (parameters\n"
7931 " (declare (in) mat3 x)\n"
7932 " (declare (in) mat3 y))\n"
7933 " ())\n"
7934 " (signature mat4\n"
7935 " (parameters\n"
7936 " (declare (in) mat4 x)\n"
7937 " (declare (in) mat4 y))\n"
7938 " ()))\n"
7939 "(function lessThan\n"
7940 " (signature bvec2\n"
7941 " (parameters\n"
7942 " (declare (in) vec2 x)\n"
7943 " (declare (in) vec2 y))\n"
7944 " ())\n"
7945 " (signature bvec3\n"
7946 " (parameters\n"
7947 " (declare (in) vec3 x)\n"
7948 " (declare (in) vec3 y))\n"
7949 " ())\n"
7950 " (signature bvec4\n"
7951 " (parameters\n"
7952 " (declare (in) vec4 x)\n"
7953 " (declare (in) vec4 y))\n"
7954 " ())\n"
7955 " (signature bvec2\n"
7956 " (parameters\n"
7957 " (declare (in) ivec2 x)\n"
7958 " (declare (in) ivec2 y))\n"
7959 " ())\n"
7960 " (signature bvec3\n"
7961 " (parameters\n"
7962 " (declare (in) ivec3 x)\n"
7963 " (declare (in) ivec3 y))\n"
7964 " ())\n"
7965 " (signature bvec4\n"
7966 " (parameters\n"
7967 " (declare (in) ivec4 x)\n"
7968 " (declare (in) ivec4 y))\n"
7969 " ()))\n"
7970 "(function lessThanEqual\n"
7971 " (signature bvec2\n"
7972 " (parameters\n"
7973 " (declare (in) vec2 x)\n"
7974 " (declare (in) vec2 y))\n"
7975 " ())\n"
7976 " (signature bvec3\n"
7977 " (parameters\n"
7978 " (declare (in) vec3 x)\n"
7979 " (declare (in) vec3 y))\n"
7980 " ())\n"
7981 " (signature bvec4\n"
7982 " (parameters\n"
7983 " (declare (in) vec4 x)\n"
7984 " (declare (in) vec4 y))\n"
7985 " ())\n"
7986 " (signature bvec2\n"
7987 " (parameters\n"
7988 " (declare (in) ivec2 x)\n"
7989 " (declare (in) ivec2 y))\n"
7990 " ())\n"
7991 " (signature bvec3\n"
7992 " (parameters\n"
7993 " (declare (in) ivec3 x)\n"
7994 " (declare (in) ivec3 y))\n"
7995 " ())\n"
7996 " (signature bvec4\n"
7997 " (parameters\n"
7998 " (declare (in) ivec4 x)\n"
7999 " (declare (in) ivec4 y))\n"
8000 " ()))\n"
8001 "(function greaterThan\n"
8002 " (signature bvec2\n"
8003 " (parameters\n"
8004 " (declare (in) vec2 x)\n"
8005 " (declare (in) vec2 y))\n"
8006 " ())\n"
8007 " (signature bvec3\n"
8008 " (parameters\n"
8009 " (declare (in) vec3 x)\n"
8010 " (declare (in) vec3 y))\n"
8011 " ())\n"
8012 " (signature bvec4\n"
8013 " (parameters\n"
8014 " (declare (in) vec4 x)\n"
8015 " (declare (in) vec4 y))\n"
8016 " ())\n"
8017 " (signature bvec2\n"
8018 " (parameters\n"
8019 " (declare (in) ivec2 x)\n"
8020 " (declare (in) ivec2 y))\n"
8021 " ())\n"
8022 " (signature bvec3\n"
8023 " (parameters\n"
8024 " (declare (in) ivec3 x)\n"
8025 " (declare (in) ivec3 y))\n"
8026 " ())\n"
8027 " (signature bvec4\n"
8028 " (parameters\n"
8029 " (declare (in) ivec4 x)\n"
8030 " (declare (in) ivec4 y))\n"
8031 " ()))\n"
8032 "(function greaterThanEqual\n"
8033 " (signature bvec2\n"
8034 " (parameters\n"
8035 " (declare (in) vec2 x)\n"
8036 " (declare (in) vec2 y))\n"
8037 " ())\n"
8038 " (signature bvec3\n"
8039 " (parameters\n"
8040 " (declare (in) vec3 x)\n"
8041 " (declare (in) vec3 y))\n"
8042 " ())\n"
8043 " (signature bvec4\n"
8044 " (parameters\n"
8045 " (declare (in) vec4 x)\n"
8046 " (declare (in) vec4 y))\n"
8047 " ())\n"
8048 " (signature bvec2\n"
8049 " (parameters\n"
8050 " (declare (in) ivec2 x)\n"
8051 " (declare (in) ivec2 y))\n"
8052 " ())\n"
8053 " (signature bvec3\n"
8054 " (parameters\n"
8055 " (declare (in) ivec3 x)\n"
8056 " (declare (in) ivec3 y))\n"
8057 " ())\n"
8058 " (signature bvec4\n"
8059 " (parameters\n"
8060 " (declare (in) ivec4 x)\n"
8061 " (declare (in) ivec4 y))\n"
8062 " ()))\n"
8063 "(function equal\n"
8064 " (signature bvec2\n"
8065 " (parameters\n"
8066 " (declare (in) vec2 x)\n"
8067 " (declare (in) vec2 y))\n"
8068 " ())\n"
8069 " (signature bvec3\n"
8070 " (parameters\n"
8071 " (declare (in) vec3 x)\n"
8072 " (declare (in) vec3 y))\n"
8073 " ())\n"
8074 " (signature bvec4\n"
8075 " (parameters\n"
8076 " (declare (in) vec4 x)\n"
8077 " (declare (in) vec4 y))\n"
8078 " ())\n"
8079 " (signature bvec2\n"
8080 " (parameters\n"
8081 " (declare (in) ivec2 x)\n"
8082 " (declare (in) ivec2 y))\n"
8083 " ())\n"
8084 " (signature bvec3\n"
8085 " (parameters\n"
8086 " (declare (in) ivec3 x)\n"
8087 " (declare (in) ivec3 y))\n"
8088 " ())\n"
8089 " (signature bvec4\n"
8090 " (parameters\n"
8091 " (declare (in) ivec4 x)\n"
8092 " (declare (in) ivec4 y))\n"
8093 " ())\n"
8094 " (signature bvec2\n"
8095 " (parameters\n"
8096 " (declare (in) bvec2 x)\n"
8097 " (declare (in) bvec2 y))\n"
8098 " ())\n"
8099 " (signature bvec3\n"
8100 " (parameters\n"
8101 " (declare (in) bvec3 x)\n"
8102 " (declare (in) bvec3 y))\n"
8103 " ())\n"
8104 " (signature bvec4\n"
8105 " (parameters\n"
8106 " (declare (in) bvec4 x)\n"
8107 " (declare (in) bvec4 y))\n"
8108 " ()))\n"
8109 "(function notEqual\n"
8110 " (signature bvec2\n"
8111 " (parameters\n"
8112 " (declare (in) vec2 x)\n"
8113 " (declare (in) vec2 y))\n"
8114 " ())\n"
8115 " (signature bvec3\n"
8116 " (parameters\n"
8117 " (declare (in) vec3 x)\n"
8118 " (declare (in) vec3 y))\n"
8119 " ())\n"
8120 " (signature bvec4\n"
8121 " (parameters\n"
8122 " (declare (in) vec4 x)\n"
8123 " (declare (in) vec4 y))\n"
8124 " ())\n"
8125 " (signature bvec2\n"
8126 " (parameters\n"
8127 " (declare (in) ivec2 x)\n"
8128 " (declare (in) ivec2 y))\n"
8129 " ())\n"
8130 " (signature bvec3\n"
8131 " (parameters\n"
8132 " (declare (in) ivec3 x)\n"
8133 " (declare (in) ivec3 y))\n"
8134 " ())\n"
8135 " (signature bvec4\n"
8136 " (parameters\n"
8137 " (declare (in) ivec4 x)\n"
8138 " (declare (in) ivec4 y))\n"
8139 " ())\n"
8140 " (signature bvec2\n"
8141 " (parameters\n"
8142 " (declare (in) bvec2 x)\n"
8143 " (declare (in) bvec2 y))\n"
8144 " ())\n"
8145 " (signature bvec3\n"
8146 " (parameters\n"
8147 " (declare (in) bvec3 x)\n"
8148 " (declare (in) bvec3 y))\n"
8149 " ())\n"
8150 " (signature bvec4\n"
8151 " (parameters\n"
8152 " (declare (in) bvec4 x)\n"
8153 " (declare (in) bvec4 y))\n"
8154 " ()))\n"
8155 "(function any\n"
8156 " (signature bool\n"
8157 " (parameters\n"
8158 " (declare (in) bvec2 x))\n"
8159 " ())\n"
8160 " (signature bool\n"
8161 " (parameters\n"
8162 " (declare (in) bvec3 x))\n"
8163 " ())\n"
8164 " (signature bool\n"
8165 " (parameters\n"
8166 " (declare (in) bvec4 x))\n"
8167 " ()))\n"
8168 "(function all\n"
8169 " (signature bool\n"
8170 " (parameters\n"
8171 " (declare (in) bvec2 x))\n"
8172 " ())\n"
8173 " (signature bool\n"
8174 " (parameters\n"
8175 " (declare (in) bvec3 x))\n"
8176 " ())\n"
8177 " (signature bool\n"
8178 " (parameters\n"
8179 " (declare (in) bvec4 x))\n"
8180 " ()))\n"
8181 "(function not\n"
8182 " (signature bvec2\n"
8183 " (parameters\n"
8184 " (declare (in) bvec2 x))\n"
8185 " ())\n"
8186 " (signature bvec3\n"
8187 " (parameters\n"
8188 " (declare (in) bvec3 x))\n"
8189 " ())\n"
8190 " (signature bvec4\n"
8191 " (parameters\n"
8192 " (declare (in) bvec4 x))\n"
8193 " ()))\n"
8194 "(function texture1D\n"
8195 " (signature vec4\n"
8196 " (parameters\n"
8197 " (declare (in) sampler1D sampler)\n"
8198 " (declare (in) float coord))\n"
8199 " ())\n"
8200 " (signature vec4\n"
8201 " (parameters\n"
8202 " (declare (in) sampler1D sampler)\n"
8203 " (declare (in) float coord)\n"
8204 " (declare (in) float bias))\n"
8205 " ()))\n"
8206 "(function texture1DProj\n"
8207 " (signature vec4\n"
8208 " (parameters\n"
8209 " (declare (in) sampler1D sampler)\n"
8210 " (declare (in) vec2 coord))\n"
8211 " ())\n"
8212 " (signature vec4\n"
8213 " (parameters\n"
8214 " (declare (in) sampler1D sampler)\n"
8215 " (declare (in) vec4 coord))\n"
8216 " ())\n"
8217 " (signature vec4\n"
8218 " (parameters\n"
8219 " (declare (in) sampler1D sampler)\n"
8220 " (declare (in) vec2 coord)\n"
8221 " (declare (in) float bias))\n"
8222 " ())\n"
8223 " (signature vec4\n"
8224 " (parameters\n"
8225 " (declare (in) sampler1D sampler)\n"
8226 " (declare (in) vec4 coord)\n"
8227 " (declare (in) float bias))\n"
8228 " ()))\n"
8229 "(function texture2D\n"
8230 " (signature vec4\n"
8231 " (parameters\n"
8232 " (declare (in) sampler2D sampler)\n"
8233 " (declare (in) vec2 coord))\n"
8234 " ())\n"
8235 " (signature vec4\n"
8236 " (parameters\n"
8237 " (declare (in) sampler2D sampler)\n"
8238 " (declare (in) vec2 coord)\n"
8239 " (declare (in) float bias))\n"
8240 " ()))\n"
8241 "(function texture2DProj\n"
8242 " (signature vec4\n"
8243 " (parameters\n"
8244 " (declare (in) sampler2D sampler)\n"
8245 " (declare (in) vec3 coord))\n"
8246 " ())\n"
8247 " (signature vec4\n"
8248 " (parameters\n"
8249 " (declare (in) sampler2D sampler)\n"
8250 " (declare (in) vec4 coord))\n"
8251 " ())\n"
8252 " (signature vec4\n"
8253 " (parameters\n"
8254 " (declare (in) sampler2D sampler)\n"
8255 " (declare (in) vec3 coord)\n"
8256 " (declare (in) float bias))\n"
8257 " ())\n"
8258 " (signature vec4\n"
8259 " (parameters\n"
8260 " (declare (in) sampler2D sampler)\n"
8261 " (declare (in) vec4 coord)\n"
8262 " (declare (in) float bias))\n"
8263 " ()))\n"
8264 "(function texture3D\n"
8265 " (signature vec4\n"
8266 " (parameters\n"
8267 " (declare (in) sampler3D sampler)\n"
8268 " (declare (in) vec3 coord))\n"
8269 " ())\n"
8270 " (signature vec4\n"
8271 " (parameters\n"
8272 " (declare (in) sampler3D sampler)\n"
8273 " (declare (in) vec3 coord)\n"
8274 " (declare (in) float bias))\n"
8275 " ()))\n"
8276 "(function texture3DProj\n"
8277 " (signature vec4\n"
8278 " (parameters\n"
8279 " (declare (in) sampler3D sampler)\n"
8280 " (declare (in) vec4 coord))\n"
8281 " ())\n"
8282 " (signature vec4\n"
8283 " (parameters\n"
8284 " (declare (in) sampler3D sampler)\n"
8285 " (declare (in) vec4 coord)\n"
8286 " (declare (in) float bias))\n"
8287 " ()))\n"
8288 "(function textureCube\n"
8289 " (signature vec4\n"
8290 " (parameters\n"
8291 " (declare (in) samplerCube sampler)\n"
8292 " (declare (in) vec3 coord))\n"
8293 " ())\n"
8294 " (signature vec4\n"
8295 " (parameters\n"
8296 " (declare (in) samplerCube sampler)\n"
8297 " (declare (in) vec3 coord)\n"
8298 " (declare (in) float bias))\n"
8299 " ()))\n"
8300 "(function shadow1D\n"
8301 " (signature vec4\n"
8302 " (parameters\n"
8303 " (declare (in) sampler1DShadow sampler)\n"
8304 " (declare (in) vec3 coord))\n"
8305 " ())\n"
8306 " (signature vec4\n"
8307 " (parameters\n"
8308 " (declare (in) sampler1DShadow sampler)\n"
8309 " (declare (in) vec3 coord)\n"
8310 " (declare (in) float bias))\n"
8311 " ()))\n"
8312 "(function shadow2D\n"
8313 " (signature vec4\n"
8314 " (parameters\n"
8315 " (declare (in) sampler2DShadow sampler)\n"
8316 " (declare (in) vec3 coord))\n"
8317 " ())\n"
8318 " (signature vec4\n"
8319 " (parameters\n"
8320 " (declare (in) sampler2DShadow sampler)\n"
8321 " (declare (in) vec3 coord)\n"
8322 " (declare (in) float bias))\n"
8323 " ()))\n"
8324 "(function shadow1DProj\n"
8325 " (signature vec4\n"
8326 " (parameters\n"
8327 " (declare (in) sampler1DShadow sampler)\n"
8328 " (declare (in) vec4 coord))\n"
8329 " ())\n"
8330 " (signature vec4\n"
8331 " (parameters\n"
8332 " (declare (in) sampler1DShadow sampler)\n"
8333 " (declare (in) vec4 coord)\n"
8334 " (declare (in) float bias))\n"
8335 " ()))\n"
8336 "(function shadow2DProj\n"
8337 " (signature vec4\n"
8338 " (parameters\n"
8339 " (declare (in) sampler2DShadow sampler)\n"
8340 " (declare (in) vec4 coord))\n"
8341 " ())\n"
8342 " (signature vec4\n"
8343 " (parameters\n"
8344 " (declare (in) sampler2DShadow sampler)\n"
8345 " (declare (in) vec4 coord)\n"
8346 " (declare (in) float bias))\n"
8347 " ()))\n"
8348 "(function dFdx\n"
8349 " (signature float\n"
8350 " (parameters\n"
8351 " (declare (in) float p))\n"
8352 " ())\n"
8353 " (signature vec2\n"
8354 " (parameters\n"
8355 " (declare (in) vec2 p))\n"
8356 " ())\n"
8357 " (signature vec3\n"
8358 " (parameters\n"
8359 " (declare (in) vec3 p))\n"
8360 " ())\n"
8361 " (signature vec4\n"
8362 " (parameters\n"
8363 " (declare (in) vec4 p))\n"
8364 " ()))\n"
8365 "(function dFdy\n"
8366 " (signature float\n"
8367 " (parameters\n"
8368 " (declare (in) float p))\n"
8369 " ())\n"
8370 " (signature vec2\n"
8371 " (parameters\n"
8372 " (declare (in) vec2 p))\n"
8373 " ())\n"
8374 " (signature vec3\n"
8375 " (parameters\n"
8376 " (declare (in) vec3 p))\n"
8377 " ())\n"
8378 " (signature vec4\n"
8379 " (parameters\n"
8380 " (declare (in) vec4 p))\n"
8381 " ()))\n"
8382 "(function fwidth\n"
8383 " (signature float\n"
8384 " (parameters\n"
8385 " (declare (in) float p))\n"
8386 " ())\n"
8387 " (signature vec2\n"
8388 " (parameters\n"
8389 " (declare (in) vec2 p))\n"
8390 " ())\n"
8391 " (signature vec3\n"
8392 " (parameters\n"
8393 " (declare (in) vec3 p))\n"
8394 " ())\n"
8395 " (signature vec4\n"
8396 " (parameters\n"
8397 " (declare (in) vec4 p))\n"
8398 " ()))\n"
8399 "(function noise1\n"
8400 " (signature float\n"
8401 " (parameters\n"
8402 " (declare (in) float x))\n"
8403 " ())\n"
8404 " (signature float\n"
8405 " (parameters\n"
8406 " (declare (in) vec2 x))\n"
8407 " ())\n"
8408 " (signature float\n"
8409 " (parameters\n"
8410 " (declare (in) vec3 x))\n"
8411 " ())\n"
8412 " (signature float\n"
8413 " (parameters\n"
8414 " (declare (in) vec4 x))\n"
8415 " ()))\n"
8416 "(function noise2\n"
8417 " (signature vec2\n"
8418 " (parameters\n"
8419 " (declare (in) float x))\n"
8420 " ())\n"
8421 " (signature vec2\n"
8422 " (parameters\n"
8423 " (declare (in) vec2 x))\n"
8424 " ())\n"
8425 " (signature vec2\n"
8426 " (parameters\n"
8427 " (declare (in) vec3 x))\n"
8428 " ())\n"
8429 " (signature vec2\n"
8430 " (parameters\n"
8431 " (declare (in) vec4 x))\n"
8432 " ()))\n"
8433 "(function noise3\n"
8434 " (signature vec3\n"
8435 " (parameters\n"
8436 " (declare (in) float x))\n"
8437 " ())\n"
8438 " (signature vec3\n"
8439 " (parameters\n"
8440 " (declare (in) vec2 x))\n"
8441 " ())\n"
8442 " (signature vec3\n"
8443 " (parameters\n"
8444 " (declare (in) vec3 x))\n"
8445 " ())\n"
8446 " (signature vec3\n"
8447 " (parameters\n"
8448 " (declare (in) vec4 x))\n"
8449 " ()))\n"
8450 "(function noise4\n"
8451 " (signature vec4\n"
8452 " (parameters\n"
8453 " (declare (in) float x))\n"
8454 " ())\n"
8455 " (signature vec4\n"
8456 " (parameters\n"
8457 " (declare (in) vec2 x))\n"
8458 " ())\n"
8459 " (signature vec4\n"
8460 " (parameters\n"
8461 " (declare (in) vec3 x))\n"
8462 " ())\n"
8463 " (signature vec4\n"
8464 " (parameters\n"
8465 " (declare (in) vec4 x))\n"
8466 " ())))"
8467 ;
8468 static const char *functions_for_110_frag [] = {
8469 builtin_abs,
8470 builtin_acos,
8471 builtin_all,
8472 builtin_any,
8473 builtin_asin,
8474 builtin_atan,
8475 builtin_ceil,
8476 builtin_clamp,
8477 builtin_cos,
8478 builtin_cross,
8479 builtin_dFdx,
8480 builtin_dFdy,
8481 builtin_degrees,
8482 builtin_distance,
8483 builtin_dot,
8484 builtin_equal,
8485 builtin_exp,
8486 builtin_exp2,
8487 builtin_faceforward,
8488 builtin_floor,
8489 builtin_fract,
8490 builtin_fwidth,
8491 builtin_greaterThan,
8492 builtin_greaterThanEqual,
8493 builtin_inversesqrt,
8494 builtin_length,
8495 builtin_lessThan,
8496 builtin_lessThanEqual,
8497 builtin_log,
8498 builtin_log2,
8499 builtin_matrixCompMult,
8500 builtin_max,
8501 builtin_min,
8502 builtin_mix,
8503 builtin_mod,
8504 builtin_noise1,
8505 builtin_noise2,
8506 builtin_noise3,
8507 builtin_noise4,
8508 builtin_normalize,
8509 builtin_not,
8510 builtin_notEqual,
8511 builtin_pow,
8512 builtin_radians,
8513 builtin_reflect,
8514 builtin_refract,
8515 builtin_shadow1D,
8516 builtin_shadow1DProj,
8517 builtin_shadow2D,
8518 builtin_shadow2DProj,
8519 builtin_sign,
8520 builtin_sin,
8521 builtin_smoothstep,
8522 builtin_sqrt,
8523 builtin_step,
8524 builtin_tan,
8525 builtin_texture1D,
8526 builtin_texture1DProj,
8527 builtin_texture2D,
8528 builtin_texture2DProj,
8529 builtin_texture3D,
8530 builtin_texture3DProj,
8531 builtin_textureCube,
8532 };
8533 static const char prototypes_for_110_vert[] =
8534 "(\n"
8535 "(function radians\n"
8536 " (signature float\n"
8537 " (parameters\n"
8538 " (declare (in) float degrees))\n"
8539 " ())\n"
8540 " (signature vec2\n"
8541 " (parameters\n"
8542 " (declare (in) vec2 degrees))\n"
8543 " ())\n"
8544 " (signature vec3\n"
8545 " (parameters\n"
8546 " (declare (in) vec3 degrees))\n"
8547 " ())\n"
8548 " (signature vec4\n"
8549 " (parameters\n"
8550 " (declare (in) vec4 degrees))\n"
8551 " ()))\n"
8552 "(function degrees\n"
8553 " (signature float\n"
8554 " (parameters\n"
8555 " (declare (in) float radians))\n"
8556 " ())\n"
8557 " (signature vec2\n"
8558 " (parameters\n"
8559 " (declare (in) vec2 radians))\n"
8560 " ())\n"
8561 " (signature vec3\n"
8562 " (parameters\n"
8563 " (declare (in) vec3 radians))\n"
8564 " ())\n"
8565 " (signature vec4\n"
8566 " (parameters\n"
8567 " (declare (in) vec4 radians))\n"
8568 " ()))\n"
8569 "(function sin\n"
8570 " (signature float\n"
8571 " (parameters\n"
8572 " (declare (in) float angle))\n"
8573 " ())\n"
8574 " (signature vec2\n"
8575 " (parameters\n"
8576 " (declare (in) vec2 angle))\n"
8577 " ())\n"
8578 " (signature vec3\n"
8579 " (parameters\n"
8580 " (declare (in) vec3 angle))\n"
8581 " ())\n"
8582 " (signature vec4\n"
8583 " (parameters\n"
8584 " (declare (in) vec4 angle))\n"
8585 " ()))\n"
8586 "(function cos\n"
8587 " (signature float\n"
8588 " (parameters\n"
8589 " (declare (in) float angle))\n"
8590 " ())\n"
8591 " (signature vec2\n"
8592 " (parameters\n"
8593 " (declare (in) vec2 angle))\n"
8594 " ())\n"
8595 " (signature vec3\n"
8596 " (parameters\n"
8597 " (declare (in) vec3 angle))\n"
8598 " ())\n"
8599 " (signature vec4\n"
8600 " (parameters\n"
8601 " (declare (in) vec4 angle))\n"
8602 " ()))\n"
8603 "(function tan\n"
8604 " (signature float\n"
8605 " (parameters\n"
8606 " (declare (in) float angle))\n"
8607 " ())\n"
8608 " (signature vec2\n"
8609 " (parameters\n"
8610 " (declare (in) vec2 angle))\n"
8611 " ())\n"
8612 " (signature vec3\n"
8613 " (parameters\n"
8614 " (declare (in) vec3 angle))\n"
8615 " ())\n"
8616 " (signature vec4\n"
8617 " (parameters\n"
8618 " (declare (in) vec4 angle))\n"
8619 " ()))\n"
8620 "(function asin\n"
8621 " (signature float\n"
8622 " (parameters\n"
8623 " (declare (in) float angle))\n"
8624 " ())\n"
8625 " (signature vec2\n"
8626 " (parameters\n"
8627 " (declare (in) vec2 angle))\n"
8628 " ())\n"
8629 " (signature vec3\n"
8630 " (parameters\n"
8631 " (declare (in) vec3 angle))\n"
8632 " ())\n"
8633 " (signature vec4\n"
8634 " (parameters\n"
8635 " (declare (in) vec4 angle))\n"
8636 " ()))\n"
8637 "(function acos\n"
8638 " (signature float\n"
8639 " (parameters\n"
8640 " (declare (in) float angle))\n"
8641 " ())\n"
8642 " (signature vec2\n"
8643 " (parameters\n"
8644 " (declare (in) vec2 angle))\n"
8645 " ())\n"
8646 " (signature vec3\n"
8647 " (parameters\n"
8648 " (declare (in) vec3 angle))\n"
8649 " ())\n"
8650 " (signature vec4\n"
8651 " (parameters\n"
8652 " (declare (in) vec4 angle))\n"
8653 " ()))\n"
8654 "(function atan\n"
8655 " (signature float\n"
8656 " (parameters\n"
8657 " (declare (in) float y)\n"
8658 " (declare (in) float x))\n"
8659 " ())\n"
8660 " (signature vec2\n"
8661 " (parameters\n"
8662 " (declare (in) vec2 y)\n"
8663 " (declare (in) vec2 x))\n"
8664 " ())\n"
8665 " (signature vec3\n"
8666 " (parameters\n"
8667 " (declare (in) vec3 y)\n"
8668 " (declare (in) vec3 x))\n"
8669 " ())\n"
8670 " (signature vec4\n"
8671 " (parameters\n"
8672 " (declare (in) vec4 y)\n"
8673 " (declare (in) vec4 x))\n"
8674 " ())\n"
8675 " (signature float\n"
8676 " (parameters\n"
8677 " (declare (in) float y_over_x))\n"
8678 " ())\n"
8679 " (signature vec2\n"
8680 " (parameters\n"
8681 " (declare (in) vec2 y_over_x))\n"
8682 " ())\n"
8683 " (signature vec3\n"
8684 " (parameters\n"
8685 " (declare (in) vec3 y_over_x))\n"
8686 " ())\n"
8687 " (signature vec4\n"
8688 " (parameters\n"
8689 " (declare (in) vec4 y_over_x))\n"
8690 " ()))\n"
8691 "(function pow\n"
8692 " (signature float\n"
8693 " (parameters\n"
8694 " (declare (in) float x)\n"
8695 " (declare (in) float y))\n"
8696 " ())\n"
8697 " (signature vec2\n"
8698 " (parameters\n"
8699 " (declare (in) vec2 x)\n"
8700 " (declare (in) vec2 y))\n"
8701 " ())\n"
8702 " (signature vec3\n"
8703 " (parameters\n"
8704 " (declare (in) vec3 x)\n"
8705 " (declare (in) vec3 y))\n"
8706 " ())\n"
8707 " (signature vec4\n"
8708 " (parameters\n"
8709 " (declare (in) vec4 x)\n"
8710 " (declare (in) vec4 y))\n"
8711 " ()))\n"
8712 "(function exp\n"
8713 " (signature float\n"
8714 " (parameters\n"
8715 " (declare (in) float x))\n"
8716 " ())\n"
8717 " (signature vec2\n"
8718 " (parameters\n"
8719 " (declare (in) vec2 x))\n"
8720 " ())\n"
8721 " (signature vec3\n"
8722 " (parameters\n"
8723 " (declare (in) vec3 x))\n"
8724 " ())\n"
8725 " (signature vec4\n"
8726 " (parameters\n"
8727 " (declare (in) vec4 x))\n"
8728 " ()))\n"
8729 "(function log\n"
8730 " (signature float\n"
8731 " (parameters\n"
8732 " (declare (in) float x))\n"
8733 " ())\n"
8734 " (signature vec2\n"
8735 " (parameters\n"
8736 " (declare (in) vec2 x))\n"
8737 " ())\n"
8738 " (signature vec3\n"
8739 " (parameters\n"
8740 " (declare (in) vec3 x))\n"
8741 " ())\n"
8742 " (signature vec4\n"
8743 " (parameters\n"
8744 " (declare (in) vec4 x))\n"
8745 " ()))\n"
8746 "(function exp2\n"
8747 " (signature float\n"
8748 " (parameters\n"
8749 " (declare (in) float x))\n"
8750 " ())\n"
8751 " (signature vec2\n"
8752 " (parameters\n"
8753 " (declare (in) vec2 x))\n"
8754 " ())\n"
8755 " (signature vec3\n"
8756 " (parameters\n"
8757 " (declare (in) vec3 x))\n"
8758 " ())\n"
8759 " (signature vec4\n"
8760 " (parameters\n"
8761 " (declare (in) vec4 x))\n"
8762 " ()))\n"
8763 "(function log2\n"
8764 " (signature float\n"
8765 " (parameters\n"
8766 " (declare (in) float x))\n"
8767 " ())\n"
8768 " (signature vec2\n"
8769 " (parameters\n"
8770 " (declare (in) vec2 x))\n"
8771 " ())\n"
8772 " (signature vec3\n"
8773 " (parameters\n"
8774 " (declare (in) vec3 x))\n"
8775 " ())\n"
8776 " (signature vec4\n"
8777 " (parameters\n"
8778 " (declare (in) vec4 x))\n"
8779 " ()))\n"
8780 "(function sqrt\n"
8781 " (signature float\n"
8782 " (parameters\n"
8783 " (declare (in) float x))\n"
8784 " ())\n"
8785 " (signature vec2\n"
8786 " (parameters\n"
8787 " (declare (in) vec2 x))\n"
8788 " ())\n"
8789 " (signature vec3\n"
8790 " (parameters\n"
8791 " (declare (in) vec3 x))\n"
8792 " ())\n"
8793 " (signature vec4\n"
8794 " (parameters\n"
8795 " (declare (in) vec4 x))\n"
8796 " ()))\n"
8797 "(function inversesqrt\n"
8798 " (signature float\n"
8799 " (parameters\n"
8800 " (declare (in) float x))\n"
8801 " ())\n"
8802 " (signature vec2\n"
8803 " (parameters\n"
8804 " (declare (in) vec2 x))\n"
8805 " ())\n"
8806 " (signature vec3\n"
8807 " (parameters\n"
8808 " (declare (in) vec3 x))\n"
8809 " ())\n"
8810 " (signature vec4\n"
8811 " (parameters\n"
8812 " (declare (in) vec4 x))\n"
8813 " ()))\n"
8814 "(function abs\n"
8815 " (signature float\n"
8816 " (parameters\n"
8817 " (declare (in) float x))\n"
8818 " ())\n"
8819 " (signature vec2\n"
8820 " (parameters\n"
8821 " (declare (in) vec2 x))\n"
8822 " ())\n"
8823 " (signature vec3\n"
8824 " (parameters\n"
8825 " (declare (in) vec3 x))\n"
8826 " ())\n"
8827 " (signature vec4\n"
8828 " (parameters\n"
8829 " (declare (in) vec4 x))\n"
8830 " ()))\n"
8831 "(function sign\n"
8832 " (signature float\n"
8833 " (parameters\n"
8834 " (declare (in) float x))\n"
8835 " ())\n"
8836 " (signature vec2\n"
8837 " (parameters\n"
8838 " (declare (in) vec2 x))\n"
8839 " ())\n"
8840 " (signature vec3\n"
8841 " (parameters\n"
8842 " (declare (in) vec3 x))\n"
8843 " ())\n"
8844 " (signature vec4\n"
8845 " (parameters\n"
8846 " (declare (in) vec4 x))\n"
8847 " ()))\n"
8848 "(function floor\n"
8849 " (signature float\n"
8850 " (parameters\n"
8851 " (declare (in) float x))\n"
8852 " ())\n"
8853 " (signature vec2\n"
8854 " (parameters\n"
8855 " (declare (in) vec2 x))\n"
8856 " ())\n"
8857 " (signature vec3\n"
8858 " (parameters\n"
8859 " (declare (in) vec3 x))\n"
8860 " ())\n"
8861 " (signature vec4\n"
8862 " (parameters\n"
8863 " (declare (in) vec4 x))\n"
8864 " ()))\n"
8865 "(function ceil\n"
8866 " (signature float\n"
8867 " (parameters\n"
8868 " (declare (in) float x))\n"
8869 " ())\n"
8870 " (signature vec2\n"
8871 " (parameters\n"
8872 " (declare (in) vec2 x))\n"
8873 " ())\n"
8874 " (signature vec3\n"
8875 " (parameters\n"
8876 " (declare (in) vec3 x))\n"
8877 " ())\n"
8878 " (signature vec4\n"
8879 " (parameters\n"
8880 " (declare (in) vec4 x))\n"
8881 " ()))\n"
8882 "(function fract\n"
8883 " (signature float\n"
8884 " (parameters\n"
8885 " (declare (in) float x))\n"
8886 " ())\n"
8887 " (signature vec2\n"
8888 " (parameters\n"
8889 " (declare (in) vec2 x))\n"
8890 " ())\n"
8891 " (signature vec3\n"
8892 " (parameters\n"
8893 " (declare (in) vec3 x))\n"
8894 " ())\n"
8895 " (signature vec4\n"
8896 " (parameters\n"
8897 " (declare (in) vec4 x))\n"
8898 " ()))\n"
8899 "(function mod\n"
8900 " (signature float\n"
8901 " (parameters\n"
8902 " (declare (in) float x)\n"
8903 " (declare (in) float y))\n"
8904 " ())\n"
8905 " (signature vec2\n"
8906 " (parameters\n"
8907 " (declare (in) vec2 x)\n"
8908 " (declare (in) float y))\n"
8909 " ())\n"
8910 " (signature vec3\n"
8911 " (parameters\n"
8912 " (declare (in) vec3 x)\n"
8913 " (declare (in) float y))\n"
8914 " ())\n"
8915 " (signature vec4\n"
8916 " (parameters\n"
8917 " (declare (in) vec4 x)\n"
8918 " (declare (in) float y))\n"
8919 " ())\n"
8920 " (signature vec2\n"
8921 " (parameters\n"
8922 " (declare (in) vec2 x)\n"
8923 " (declare (in) vec2 y))\n"
8924 " ())\n"
8925 " (signature vec3\n"
8926 " (parameters\n"
8927 " (declare (in) vec3 x)\n"
8928 " (declare (in) vec3 y))\n"
8929 " ())\n"
8930 " (signature vec4\n"
8931 " (parameters\n"
8932 " (declare (in) vec4 x)\n"
8933 " (declare (in) vec4 y))\n"
8934 " ()))\n"
8935 "(function min\n"
8936 " (signature float\n"
8937 " (parameters\n"
8938 " (declare (in) float x)\n"
8939 " (declare (in) float y))\n"
8940 " ())\n"
8941 " (signature vec2\n"
8942 " (parameters\n"
8943 " (declare (in) vec2 x)\n"
8944 " (declare (in) vec2 y))\n"
8945 " ())\n"
8946 " (signature vec3\n"
8947 " (parameters\n"
8948 " (declare (in) vec3 x)\n"
8949 " (declare (in) vec3 y))\n"
8950 " ())\n"
8951 " (signature vec4\n"
8952 " (parameters\n"
8953 " (declare (in) vec4 x)\n"
8954 " (declare (in) vec4 y))\n"
8955 " ())\n"
8956 " (signature vec2\n"
8957 " (parameters\n"
8958 " (declare (in) vec2 x)\n"
8959 " (declare (in) float y))\n"
8960 " ())\n"
8961 " (signature vec3\n"
8962 " (parameters\n"
8963 " (declare (in) vec3 x)\n"
8964 " (declare (in) float y))\n"
8965 " ())\n"
8966 " (signature vec4\n"
8967 " (parameters\n"
8968 " (declare (in) vec4 x)\n"
8969 " (declare (in) float y))\n"
8970 " ()))\n"
8971 "(function max\n"
8972 " (signature float\n"
8973 " (parameters\n"
8974 " (declare (in) float x)\n"
8975 " (declare (in) float y))\n"
8976 " ())\n"
8977 " (signature vec2\n"
8978 " (parameters\n"
8979 " (declare (in) vec2 x)\n"
8980 " (declare (in) vec2 y))\n"
8981 " ())\n"
8982 " (signature vec3\n"
8983 " (parameters\n"
8984 " (declare (in) vec3 x)\n"
8985 " (declare (in) vec3 y))\n"
8986 " ())\n"
8987 " (signature vec4\n"
8988 " (parameters\n"
8989 " (declare (in) vec4 x)\n"
8990 " (declare (in) vec4 y))\n"
8991 " ())\n"
8992 " (signature vec2\n"
8993 " (parameters\n"
8994 " (declare (in) vec2 x)\n"
8995 " (declare (in) float y))\n"
8996 " ())\n"
8997 " (signature vec3\n"
8998 " (parameters\n"
8999 " (declare (in) vec3 x)\n"
9000 " (declare (in) float y))\n"
9001 " ())\n"
9002 " (signature vec4\n"
9003 " (parameters\n"
9004 " (declare (in) vec4 x)\n"
9005 " (declare (in) float y))\n"
9006 " ()))\n"
9007 "(function clamp\n"
9008 " (signature float\n"
9009 " (parameters\n"
9010 " (declare (in) float x)\n"
9011 " (declare (in) float minVal)\n"
9012 " (declare (in) float maxVal))\n"
9013 " ())\n"
9014 " (signature vec2\n"
9015 " (parameters\n"
9016 " (declare (in) vec2 x)\n"
9017 " (declare (in) vec2 minVal)\n"
9018 " (declare (in) vec2 maxVal))\n"
9019 " ())\n"
9020 " (signature vec3\n"
9021 " (parameters\n"
9022 " (declare (in) vec3 x)\n"
9023 " (declare (in) vec3 minVal)\n"
9024 " (declare (in) vec3 maxVal))\n"
9025 " ())\n"
9026 " (signature vec4\n"
9027 " (parameters\n"
9028 " (declare (in) vec4 x)\n"
9029 " (declare (in) vec4 minVal)\n"
9030 " (declare (in) vec4 maxVal))\n"
9031 " ())\n"
9032 " (signature vec2\n"
9033 " (parameters\n"
9034 " (declare (in) vec2 x)\n"
9035 " (declare (in) float minVal)\n"
9036 " (declare (in) float maxVal))\n"
9037 " ())\n"
9038 " (signature vec3\n"
9039 " (parameters\n"
9040 " (declare (in) vec3 x)\n"
9041 " (declare (in) float minVal)\n"
9042 " (declare (in) float maxVal))\n"
9043 " ())\n"
9044 " (signature vec4\n"
9045 " (parameters\n"
9046 " (declare (in) vec4 x)\n"
9047 " (declare (in) float minVal)\n"
9048 " (declare (in) float maxVal))\n"
9049 " ()))\n"
9050 "(function mix\n"
9051 " (signature float\n"
9052 " (parameters\n"
9053 " (declare (in) float x)\n"
9054 " (declare (in) float y)\n"
9055 " (declare (in) float a))\n"
9056 " ())\n"
9057 " (signature vec2\n"
9058 " (parameters\n"
9059 " (declare (in) vec2 x)\n"
9060 " (declare (in) vec2 y)\n"
9061 " (declare (in) vec2 a))\n"
9062 " ())\n"
9063 " (signature vec3\n"
9064 " (parameters\n"
9065 " (declare (in) vec3 x)\n"
9066 " (declare (in) vec3 y)\n"
9067 " (declare (in) vec3 a))\n"
9068 " ())\n"
9069 " (signature vec4\n"
9070 " (parameters\n"
9071 " (declare (in) vec4 x)\n"
9072 " (declare (in) vec4 y)\n"
9073 " (declare (in) vec4 a))\n"
9074 " ())\n"
9075 " (signature vec2\n"
9076 " (parameters\n"
9077 " (declare (in) vec2 x)\n"
9078 " (declare (in) vec2 y)\n"
9079 " (declare (in) float a))\n"
9080 " ())\n"
9081 " (signature vec3\n"
9082 " (parameters\n"
9083 " (declare (in) vec3 x)\n"
9084 " (declare (in) vec3 y)\n"
9085 " (declare (in) float a))\n"
9086 " ())\n"
9087 " (signature vec4\n"
9088 " (parameters\n"
9089 " (declare (in) vec4 x)\n"
9090 " (declare (in) vec4 y)\n"
9091 " (declare (in) float a))\n"
9092 " ()))\n"
9093 "(function step\n"
9094 " (signature float\n"
9095 " (parameters\n"
9096 " (declare (in) float edge)\n"
9097 " (declare (in) float x))\n"
9098 " ())\n"
9099 " (signature vec2\n"
9100 " (parameters\n"
9101 " (declare (in) vec2 edge)\n"
9102 " (declare (in) vec2 x))\n"
9103 " ())\n"
9104 " (signature vec3\n"
9105 " (parameters\n"
9106 " (declare (in) vec3 edge)\n"
9107 " (declare (in) vec3 x))\n"
9108 " ())\n"
9109 " (signature vec4\n"
9110 " (parameters\n"
9111 " (declare (in) vec4 edge)\n"
9112 " (declare (in) vec4 x))\n"
9113 " ())\n"
9114 " (signature vec2\n"
9115 " (parameters\n"
9116 " (declare (in) float edge)\n"
9117 " (declare (in) vec2 x))\n"
9118 " ())\n"
9119 " (signature vec3\n"
9120 " (parameters\n"
9121 " (declare (in) float edge)\n"
9122 " (declare (in) vec3 x))\n"
9123 " ())\n"
9124 " (signature vec4\n"
9125 " (parameters\n"
9126 " (declare (in) float edge)\n"
9127 " (declare (in) vec4 x))\n"
9128 " ()))\n"
9129 "(function smoothstep\n"
9130 " (signature float\n"
9131 " (parameters\n"
9132 " (declare (in) float edge0)\n"
9133 " (declare (in) float edge1)\n"
9134 " (declare (in) float x))\n"
9135 " ())\n"
9136 " (signature vec2\n"
9137 " (parameters\n"
9138 " (declare (in) vec2 edge0)\n"
9139 " (declare (in) vec2 edge1)\n"
9140 " (declare (in) vec2 x))\n"
9141 " ())\n"
9142 " (signature vec3\n"
9143 " (parameters\n"
9144 " (declare (in) vec3 edge0)\n"
9145 " (declare (in) vec3 edge1)\n"
9146 " (declare (in) vec3 x))\n"
9147 " ())\n"
9148 " (signature vec4\n"
9149 " (parameters\n"
9150 " (declare (in) vec4 edge0)\n"
9151 " (declare (in) vec4 edge1)\n"
9152 " (declare (in) vec4 x))\n"
9153 " ())\n"
9154 " (signature vec2\n"
9155 " (parameters\n"
9156 " (declare (in) float edge0)\n"
9157 " (declare (in) float edge1)\n"
9158 " (declare (in) vec2 x))\n"
9159 " ())\n"
9160 " (signature vec3\n"
9161 " (parameters\n"
9162 " (declare (in) float edge0)\n"
9163 " (declare (in) float edge1)\n"
9164 " (declare (in) vec3 x))\n"
9165 " ())\n"
9166 " (signature vec4\n"
9167 " (parameters\n"
9168 " (declare (in) float edge0)\n"
9169 " (declare (in) float edge1)\n"
9170 " (declare (in) vec4 x))\n"
9171 " ()))\n"
9172 "(function length\n"
9173 " (signature float\n"
9174 " (parameters\n"
9175 " (declare (in) float x))\n"
9176 " ())\n"
9177 " (signature float\n"
9178 " (parameters\n"
9179 " (declare (in) vec2 x))\n"
9180 " ())\n"
9181 " (signature float\n"
9182 " (parameters\n"
9183 " (declare (in) vec3 x))\n"
9184 " ())\n"
9185 " (signature float\n"
9186 " (parameters\n"
9187 " (declare (in) vec4 x))\n"
9188 " ()))\n"
9189 "(function distance\n"
9190 " (signature float\n"
9191 " (parameters\n"
9192 " (declare (in) float p0)\n"
9193 " (declare (in) float p1))\n"
9194 " ())\n"
9195 " (signature float\n"
9196 " (parameters\n"
9197 " (declare (in) vec2 p0)\n"
9198 " (declare (in) vec2 p1))\n"
9199 " ())\n"
9200 " (signature float\n"
9201 " (parameters\n"
9202 " (declare (in) vec3 p0)\n"
9203 " (declare (in) vec3 p1))\n"
9204 " ())\n"
9205 " (signature float\n"
9206 " (parameters\n"
9207 " (declare (in) vec4 p0)\n"
9208 " (declare (in) vec4 p1))\n"
9209 " ()))\n"
9210 "(function dot\n"
9211 " (signature float\n"
9212 " (parameters\n"
9213 " (declare (in) float x)\n"
9214 " (declare (in) float y))\n"
9215 " ())\n"
9216 " (signature float\n"
9217 " (parameters\n"
9218 " (declare (in) vec2 x)\n"
9219 " (declare (in) vec2 y))\n"
9220 " ())\n"
9221 " (signature float\n"
9222 " (parameters\n"
9223 " (declare (in) vec3 x)\n"
9224 " (declare (in) vec3 y))\n"
9225 " ())\n"
9226 " (signature float\n"
9227 " (parameters\n"
9228 " (declare (in) vec4 x)\n"
9229 " (declare (in) vec4 y))\n"
9230 " ()))\n"
9231 "(function cross\n"
9232 " (signature vec3\n"
9233 " (parameters\n"
9234 " (declare (in) vec3 x)\n"
9235 " (declare (in) vec3 y))\n"
9236 " ()))\n"
9237 "(function normalize\n"
9238 " (signature float\n"
9239 " (parameters\n"
9240 " (declare (in) float x))\n"
9241 " ())\n"
9242 " (signature vec2\n"
9243 " (parameters\n"
9244 " (declare (in) vec2 x))\n"
9245 " ())\n"
9246 " (signature vec3\n"
9247 " (parameters\n"
9248 " (declare (in) vec3 x))\n"
9249 " ())\n"
9250 " (signature vec4\n"
9251 " (parameters\n"
9252 " (declare (in) vec4 x))\n"
9253 " ()))\n"
9254 "(function ftransform\n"
9255 " (signature vec4\n"
9256 " (parameters)\n"
9257 " ()))\n"
9258 "(function faceforward\n"
9259 " (signature float\n"
9260 " (parameters\n"
9261 " (declare (in) float N)\n"
9262 " (declare (in) float I)\n"
9263 " (declare (in) float Nref))\n"
9264 " ())\n"
9265 " (signature vec2\n"
9266 " (parameters\n"
9267 " (declare (in) vec2 N)\n"
9268 " (declare (in) vec2 I)\n"
9269 " (declare (in) vec2 Nref))\n"
9270 " ())\n"
9271 " (signature vec3\n"
9272 " (parameters\n"
9273 " (declare (in) vec3 N)\n"
9274 " (declare (in) vec3 I)\n"
9275 " (declare (in) vec3 Nref))\n"
9276 " ())\n"
9277 " (signature vec4\n"
9278 " (parameters\n"
9279 " (declare (in) vec4 N)\n"
9280 " (declare (in) vec4 I)\n"
9281 " (declare (in) vec4 Nref))\n"
9282 " ()))\n"
9283 "(function reflect\n"
9284 " (signature float\n"
9285 " (parameters\n"
9286 " (declare (in) float I)\n"
9287 " (declare (in) float N))\n"
9288 " ())\n"
9289 " (signature vec2\n"
9290 " (parameters\n"
9291 " (declare (in) vec2 I)\n"
9292 " (declare (in) vec2 N))\n"
9293 " ())\n"
9294 " (signature vec3\n"
9295 " (parameters\n"
9296 " (declare (in) vec3 I)\n"
9297 " (declare (in) vec3 N))\n"
9298 " ())\n"
9299 " (signature vec4\n"
9300 " (parameters\n"
9301 " (declare (in) vec4 I)\n"
9302 " (declare (in) vec4 N))\n"
9303 " ()))\n"
9304 "(function refract\n"
9305 " (signature float\n"
9306 " (parameters\n"
9307 " (declare (in) float I)\n"
9308 " (declare (in) float N)\n"
9309 " (declare (in) float eta))\n"
9310 " ())\n"
9311 " (signature vec2\n"
9312 " (parameters\n"
9313 " (declare (in) vec2 I)\n"
9314 " (declare (in) vec2 N)\n"
9315 " (declare (in) float eta))\n"
9316 " ())\n"
9317 " (signature vec3\n"
9318 " (parameters\n"
9319 " (declare (in) vec3 I)\n"
9320 " (declare (in) vec3 N)\n"
9321 " (declare (in) float eta))\n"
9322 " ())\n"
9323 " (signature vec4\n"
9324 " (parameters\n"
9325 " (declare (in) vec4 I)\n"
9326 " (declare (in) vec4 N)\n"
9327 " (declare (in) float eta))\n"
9328 " ()))\n"
9329 "(function matrixCompMult\n"
9330 " (signature mat2\n"
9331 " (parameters\n"
9332 " (declare (in) mat2 x)\n"
9333 " (declare (in) mat2 y))\n"
9334 " ())\n"
9335 " (signature mat3\n"
9336 " (parameters\n"
9337 " (declare (in) mat3 x)\n"
9338 " (declare (in) mat3 y))\n"
9339 " ())\n"
9340 " (signature mat4\n"
9341 " (parameters\n"
9342 " (declare (in) mat4 x)\n"
9343 " (declare (in) mat4 y))\n"
9344 " ()))\n"
9345 "(function lessThan\n"
9346 " (signature bvec2\n"
9347 " (parameters\n"
9348 " (declare (in) vec2 x)\n"
9349 " (declare (in) vec2 y))\n"
9350 " ())\n"
9351 " (signature bvec3\n"
9352 " (parameters\n"
9353 " (declare (in) vec3 x)\n"
9354 " (declare (in) vec3 y))\n"
9355 " ())\n"
9356 " (signature bvec4\n"
9357 " (parameters\n"
9358 " (declare (in) vec4 x)\n"
9359 " (declare (in) vec4 y))\n"
9360 " ())\n"
9361 " (signature bvec2\n"
9362 " (parameters\n"
9363 " (declare (in) ivec2 x)\n"
9364 " (declare (in) ivec2 y))\n"
9365 " ())\n"
9366 " (signature bvec3\n"
9367 " (parameters\n"
9368 " (declare (in) ivec3 x)\n"
9369 " (declare (in) ivec3 y))\n"
9370 " ())\n"
9371 " (signature bvec4\n"
9372 " (parameters\n"
9373 " (declare (in) ivec4 x)\n"
9374 " (declare (in) ivec4 y))\n"
9375 " ()))\n"
9376 "(function lessThanEqual\n"
9377 " (signature bvec2\n"
9378 " (parameters\n"
9379 " (declare (in) vec2 x)\n"
9380 " (declare (in) vec2 y))\n"
9381 " ())\n"
9382 " (signature bvec3\n"
9383 " (parameters\n"
9384 " (declare (in) vec3 x)\n"
9385 " (declare (in) vec3 y))\n"
9386 " ())\n"
9387 " (signature bvec4\n"
9388 " (parameters\n"
9389 " (declare (in) vec4 x)\n"
9390 " (declare (in) vec4 y))\n"
9391 " ())\n"
9392 " (signature bvec2\n"
9393 " (parameters\n"
9394 " (declare (in) ivec2 x)\n"
9395 " (declare (in) ivec2 y))\n"
9396 " ())\n"
9397 " (signature bvec3\n"
9398 " (parameters\n"
9399 " (declare (in) ivec3 x)\n"
9400 " (declare (in) ivec3 y))\n"
9401 " ())\n"
9402 " (signature bvec4\n"
9403 " (parameters\n"
9404 " (declare (in) ivec4 x)\n"
9405 " (declare (in) ivec4 y))\n"
9406 " ()))\n"
9407 "(function greaterThan\n"
9408 " (signature bvec2\n"
9409 " (parameters\n"
9410 " (declare (in) vec2 x)\n"
9411 " (declare (in) vec2 y))\n"
9412 " ())\n"
9413 " (signature bvec3\n"
9414 " (parameters\n"
9415 " (declare (in) vec3 x)\n"
9416 " (declare (in) vec3 y))\n"
9417 " ())\n"
9418 " (signature bvec4\n"
9419 " (parameters\n"
9420 " (declare (in) vec4 x)\n"
9421 " (declare (in) vec4 y))\n"
9422 " ())\n"
9423 " (signature bvec2\n"
9424 " (parameters\n"
9425 " (declare (in) ivec2 x)\n"
9426 " (declare (in) ivec2 y))\n"
9427 " ())\n"
9428 " (signature bvec3\n"
9429 " (parameters\n"
9430 " (declare (in) ivec3 x)\n"
9431 " (declare (in) ivec3 y))\n"
9432 " ())\n"
9433 " (signature bvec4\n"
9434 " (parameters\n"
9435 " (declare (in) ivec4 x)\n"
9436 " (declare (in) ivec4 y))\n"
9437 " ()))\n"
9438 "(function greaterThanEqual\n"
9439 " (signature bvec2\n"
9440 " (parameters\n"
9441 " (declare (in) vec2 x)\n"
9442 " (declare (in) vec2 y))\n"
9443 " ())\n"
9444 " (signature bvec3\n"
9445 " (parameters\n"
9446 " (declare (in) vec3 x)\n"
9447 " (declare (in) vec3 y))\n"
9448 " ())\n"
9449 " (signature bvec4\n"
9450 " (parameters\n"
9451 " (declare (in) vec4 x)\n"
9452 " (declare (in) vec4 y))\n"
9453 " ())\n"
9454 " (signature bvec2\n"
9455 " (parameters\n"
9456 " (declare (in) ivec2 x)\n"
9457 " (declare (in) ivec2 y))\n"
9458 " ())\n"
9459 " (signature bvec3\n"
9460 " (parameters\n"
9461 " (declare (in) ivec3 x)\n"
9462 " (declare (in) ivec3 y))\n"
9463 " ())\n"
9464 " (signature bvec4\n"
9465 " (parameters\n"
9466 " (declare (in) ivec4 x)\n"
9467 " (declare (in) ivec4 y))\n"
9468 " ()))\n"
9469 "(function equal\n"
9470 " (signature bvec2\n"
9471 " (parameters\n"
9472 " (declare (in) vec2 x)\n"
9473 " (declare (in) vec2 y))\n"
9474 " ())\n"
9475 " (signature bvec3\n"
9476 " (parameters\n"
9477 " (declare (in) vec3 x)\n"
9478 " (declare (in) vec3 y))\n"
9479 " ())\n"
9480 " (signature bvec4\n"
9481 " (parameters\n"
9482 " (declare (in) vec4 x)\n"
9483 " (declare (in) vec4 y))\n"
9484 " ())\n"
9485 " (signature bvec2\n"
9486 " (parameters\n"
9487 " (declare (in) ivec2 x)\n"
9488 " (declare (in) ivec2 y))\n"
9489 " ())\n"
9490 " (signature bvec3\n"
9491 " (parameters\n"
9492 " (declare (in) ivec3 x)\n"
9493 " (declare (in) ivec3 y))\n"
9494 " ())\n"
9495 " (signature bvec4\n"
9496 " (parameters\n"
9497 " (declare (in) ivec4 x)\n"
9498 " (declare (in) ivec4 y))\n"
9499 " ())\n"
9500 " (signature bvec2\n"
9501 " (parameters\n"
9502 " (declare (in) bvec2 x)\n"
9503 " (declare (in) bvec2 y))\n"
9504 " ())\n"
9505 " (signature bvec3\n"
9506 " (parameters\n"
9507 " (declare (in) bvec3 x)\n"
9508 " (declare (in) bvec3 y))\n"
9509 " ())\n"
9510 " (signature bvec4\n"
9511 " (parameters\n"
9512 " (declare (in) bvec4 x)\n"
9513 " (declare (in) bvec4 y))\n"
9514 " ()))\n"
9515 "(function notEqual\n"
9516 " (signature bvec2\n"
9517 " (parameters\n"
9518 " (declare (in) vec2 x)\n"
9519 " (declare (in) vec2 y))\n"
9520 " ())\n"
9521 " (signature bvec3\n"
9522 " (parameters\n"
9523 " (declare (in) vec3 x)\n"
9524 " (declare (in) vec3 y))\n"
9525 " ())\n"
9526 " (signature bvec4\n"
9527 " (parameters\n"
9528 " (declare (in) vec4 x)\n"
9529 " (declare (in) vec4 y))\n"
9530 " ())\n"
9531 " (signature bvec2\n"
9532 " (parameters\n"
9533 " (declare (in) ivec2 x)\n"
9534 " (declare (in) ivec2 y))\n"
9535 " ())\n"
9536 " (signature bvec3\n"
9537 " (parameters\n"
9538 " (declare (in) ivec3 x)\n"
9539 " (declare (in) ivec3 y))\n"
9540 " ())\n"
9541 " (signature bvec4\n"
9542 " (parameters\n"
9543 " (declare (in) ivec4 x)\n"
9544 " (declare (in) ivec4 y))\n"
9545 " ())\n"
9546 " (signature bvec2\n"
9547 " (parameters\n"
9548 " (declare (in) bvec2 x)\n"
9549 " (declare (in) bvec2 y))\n"
9550 " ())\n"
9551 " (signature bvec3\n"
9552 " (parameters\n"
9553 " (declare (in) bvec3 x)\n"
9554 " (declare (in) bvec3 y))\n"
9555 " ())\n"
9556 " (signature bvec4\n"
9557 " (parameters\n"
9558 " (declare (in) bvec4 x)\n"
9559 " (declare (in) bvec4 y))\n"
9560 " ()))\n"
9561 "(function any\n"
9562 " (signature bool\n"
9563 " (parameters\n"
9564 " (declare (in) bvec2 x))\n"
9565 " ())\n"
9566 " (signature bool\n"
9567 " (parameters\n"
9568 " (declare (in) bvec3 x))\n"
9569 " ())\n"
9570 " (signature bool\n"
9571 " (parameters\n"
9572 " (declare (in) bvec4 x))\n"
9573 " ()))\n"
9574 "(function all\n"
9575 " (signature bool\n"
9576 " (parameters\n"
9577 " (declare (in) bvec2 x))\n"
9578 " ())\n"
9579 " (signature bool\n"
9580 " (parameters\n"
9581 " (declare (in) bvec3 x))\n"
9582 " ())\n"
9583 " (signature bool\n"
9584 " (parameters\n"
9585 " (declare (in) bvec4 x))\n"
9586 " ()))\n"
9587 "(function not\n"
9588 " (signature bvec2\n"
9589 " (parameters\n"
9590 " (declare (in) bvec2 x))\n"
9591 " ())\n"
9592 " (signature bvec3\n"
9593 " (parameters\n"
9594 " (declare (in) bvec3 x))\n"
9595 " ())\n"
9596 " (signature bvec4\n"
9597 " (parameters\n"
9598 " (declare (in) bvec4 x))\n"
9599 " ()))\n"
9600 "(function texture1D\n"
9601 " (signature vec4\n"
9602 " (parameters\n"
9603 " (declare (in) sampler1D sampler)\n"
9604 " (declare (in) float coord))\n"
9605 " ()))\n"
9606 "(function texture1DProj\n"
9607 " (signature vec4\n"
9608 " (parameters\n"
9609 " (declare (in) sampler1D sampler)\n"
9610 " (declare (in) vec2 coord))\n"
9611 " ())\n"
9612 " (signature vec4\n"
9613 " (parameters\n"
9614 " (declare (in) sampler1D sampler)\n"
9615 " (declare (in) vec4 coord))\n"
9616 " ()))\n"
9617 "(function texture1DLod\n"
9618 " (signature vec4\n"
9619 " (parameters\n"
9620 " (declare (in) sampler1D sampler)\n"
9621 " (declare (in) float coord)\n"
9622 " (declare (in) float lod))\n"
9623 " ()))\n"
9624 "(function texture1DProjLod\n"
9625 " (signature vec4\n"
9626 " (parameters\n"
9627 " (declare (in) sampler1D sampler)\n"
9628 " (declare (in) vec2 coord)\n"
9629 " (declare (in) float lod))\n"
9630 " ())\n"
9631 " (signature vec4\n"
9632 " (parameters\n"
9633 " (declare (in) sampler1D sampler)\n"
9634 " (declare (in) vec4 coord)\n"
9635 " (declare (in) float lod))\n"
9636 " ()))\n"
9637 "(function texture2D\n"
9638 " (signature vec4\n"
9639 " (parameters\n"
9640 " (declare (in) sampler2D sampler)\n"
9641 " (declare (in) vec2 coord))\n"
9642 " ()))\n"
9643 "(function texture2DProj\n"
9644 " (signature vec4\n"
9645 " (parameters\n"
9646 " (declare (in) sampler2D sampler)\n"
9647 " (declare (in) vec3 coord))\n"
9648 " ())\n"
9649 " (signature vec4\n"
9650 " (parameters\n"
9651 " (declare (in) sampler2D sampler)\n"
9652 " (declare (in) vec4 coord))\n"
9653 " ()))\n"
9654 "(function texture2DLod\n"
9655 " (signature vec4\n"
9656 " (parameters\n"
9657 " (declare (in) sampler2D sampler)\n"
9658 " (declare (in) vec2 coord)\n"
9659 " (declare (in) float lod))\n"
9660 " ()))\n"
9661 "(function texture2DProjLod\n"
9662 " (signature vec4\n"
9663 " (parameters\n"
9664 " (declare (in) sampler2D sampler)\n"
9665 " (declare (in) vec3 coord)\n"
9666 " (declare (in) float lod))\n"
9667 " ())\n"
9668 " (signature vec4\n"
9669 " (parameters\n"
9670 " (declare (in) sampler2D sampler)\n"
9671 " (declare (in) vec4 coord)\n"
9672 " (declare (in) float lod))\n"
9673 " ()))\n"
9674 "(function texture3D\n"
9675 " (signature vec4\n"
9676 " (parameters\n"
9677 " (declare (in) sampler3D sampler)\n"
9678 " (declare (in) vec3 coord))\n"
9679 " ()))\n"
9680 "(function texture3DProj\n"
9681 " (signature vec4\n"
9682 " (parameters\n"
9683 " (declare (in) sampler3D sampler)\n"
9684 " (declare (in) vec4 coord))\n"
9685 " ()))\n"
9686 "(function texture3DLod\n"
9687 " (signature vec4\n"
9688 " (parameters\n"
9689 " (declare (in) sampler3D sampler)\n"
9690 " (declare (in) vec3 coord)\n"
9691 " (declare (in) float lod))\n"
9692 " ()))\n"
9693 "(function texture3DProjLod\n"
9694 " (signature vec4\n"
9695 " (parameters\n"
9696 " (declare (in) sampler3D sampler)\n"
9697 " (declare (in) vec4 coord)\n"
9698 " (declare (in) float lod))\n"
9699 " ()))\n"
9700 "(function textureCube\n"
9701 " (signature vec4\n"
9702 " (parameters\n"
9703 " (declare (in) samplerCube sampler)\n"
9704 " (declare (in) vec3 coord))\n"
9705 " ()))\n"
9706 "(function textureCubeLod\n"
9707 " (signature vec4\n"
9708 " (parameters\n"
9709 " (declare (in) samplerCube sampler)\n"
9710 " (declare (in) vec3 coord)\n"
9711 " (declare (in) float lod))\n"
9712 " ()))\n"
9713 "(function shadow1D\n"
9714 " (signature vec4\n"
9715 " (parameters\n"
9716 " (declare (in) sampler1DShadow sampler)\n"
9717 " (declare (in) vec3 coord))\n"
9718 " ()))\n"
9719 "(function shadow2D\n"
9720 " (signature vec4\n"
9721 " (parameters\n"
9722 " (declare (in) sampler2DShadow sampler)\n"
9723 " (declare (in) vec3 coord))\n"
9724 " ()))\n"
9725 "(function shadow1DProj\n"
9726 " (signature vec4\n"
9727 " (parameters\n"
9728 " (declare (in) sampler1DShadow sampler)\n"
9729 " (declare (in) vec4 coord))\n"
9730 " ()))\n"
9731 "(function shadow2DProj\n"
9732 " (signature vec4\n"
9733 " (parameters\n"
9734 " (declare (in) sampler2DShadow sampler)\n"
9735 " (declare (in) vec4 coord))\n"
9736 " ()))\n"
9737 "(function shadow1DLod\n"
9738 " (signature vec4\n"
9739 " (parameters\n"
9740 " (declare (in) sampler1DShadow sampler)\n"
9741 " (declare (in) vec3 coord)\n"
9742 " (declare (in) float lod))\n"
9743 " ()))\n"
9744 "(function shadow2DLod\n"
9745 " (signature vec4\n"
9746 " (parameters\n"
9747 " (declare (in) sampler2DShadow sampler)\n"
9748 " (declare (in) vec3 coord)\n"
9749 " (declare (in) float lod))\n"
9750 " ()))\n"
9751 "(function shadow1DProjLod\n"
9752 " (signature vec4\n"
9753 " (parameters\n"
9754 " (declare (in) sampler1DShadow sampler)\n"
9755 " (declare (in) vec4 coord)\n"
9756 " (declare (in) float lod))\n"
9757 " ()))\n"
9758 "(function shadow2DProjLod\n"
9759 " (signature vec4\n"
9760 " (parameters\n"
9761 " (declare (in) sampler2DShadow sampler)\n"
9762 " (declare (in) vec4 coord)\n"
9763 " (declare (in) float lod))\n"
9764 " ()))\n"
9765 "(function noise1\n"
9766 " (signature float\n"
9767 " (parameters\n"
9768 " (declare (in) float x))\n"
9769 " ())\n"
9770 " (signature float\n"
9771 " (parameters\n"
9772 " (declare (in) vec2 x))\n"
9773 " ())\n"
9774 " (signature float\n"
9775 " (parameters\n"
9776 " (declare (in) vec3 x))\n"
9777 " ())\n"
9778 " (signature float\n"
9779 " (parameters\n"
9780 " (declare (in) vec4 x))\n"
9781 " ()))\n"
9782 "(function noise2\n"
9783 " (signature vec2\n"
9784 " (parameters\n"
9785 " (declare (in) float x))\n"
9786 " ())\n"
9787 " (signature vec2\n"
9788 " (parameters\n"
9789 " (declare (in) vec2 x))\n"
9790 " ())\n"
9791 " (signature vec2\n"
9792 " (parameters\n"
9793 " (declare (in) vec3 x))\n"
9794 " ())\n"
9795 " (signature vec2\n"
9796 " (parameters\n"
9797 " (declare (in) vec4 x))\n"
9798 " ()))\n"
9799 "(function noise3\n"
9800 " (signature vec3\n"
9801 " (parameters\n"
9802 " (declare (in) float x))\n"
9803 " ())\n"
9804 " (signature vec3\n"
9805 " (parameters\n"
9806 " (declare (in) vec2 x))\n"
9807 " ())\n"
9808 " (signature vec3\n"
9809 " (parameters\n"
9810 " (declare (in) vec3 x))\n"
9811 " ())\n"
9812 " (signature vec3\n"
9813 " (parameters\n"
9814 " (declare (in) vec4 x))\n"
9815 " ()))\n"
9816 "(function noise4\n"
9817 " (signature vec4\n"
9818 " (parameters\n"
9819 " (declare (in) float x))\n"
9820 " ())\n"
9821 " (signature vec4\n"
9822 " (parameters\n"
9823 " (declare (in) vec2 x))\n"
9824 " ())\n"
9825 " (signature vec4\n"
9826 " (parameters\n"
9827 " (declare (in) vec3 x))\n"
9828 " ())\n"
9829 " (signature vec4\n"
9830 " (parameters\n"
9831 " (declare (in) vec4 x))\n"
9832 " ())))"
9833 ;
9834 static const char *functions_for_110_vert [] = {
9835 builtin_abs,
9836 builtin_acos,
9837 builtin_all,
9838 builtin_any,
9839 builtin_asin,
9840 builtin_atan,
9841 builtin_ceil,
9842 builtin_clamp,
9843 builtin_cos,
9844 builtin_cross,
9845 builtin_degrees,
9846 builtin_distance,
9847 builtin_dot,
9848 builtin_equal,
9849 builtin_exp,
9850 builtin_exp2,
9851 builtin_faceforward,
9852 builtin_floor,
9853 builtin_fract,
9854 builtin_ftransform,
9855 builtin_greaterThan,
9856 builtin_greaterThanEqual,
9857 builtin_inversesqrt,
9858 builtin_length,
9859 builtin_lessThan,
9860 builtin_lessThanEqual,
9861 builtin_log,
9862 builtin_log2,
9863 builtin_matrixCompMult,
9864 builtin_max,
9865 builtin_min,
9866 builtin_mix,
9867 builtin_mod,
9868 builtin_noise1,
9869 builtin_noise2,
9870 builtin_noise3,
9871 builtin_noise4,
9872 builtin_normalize,
9873 builtin_not,
9874 builtin_notEqual,
9875 builtin_pow,
9876 builtin_radians,
9877 builtin_reflect,
9878 builtin_refract,
9879 builtin_shadow1D,
9880 builtin_shadow1DLod,
9881 builtin_shadow1DProj,
9882 builtin_shadow1DProjLod,
9883 builtin_shadow2D,
9884 builtin_shadow2DLod,
9885 builtin_shadow2DProj,
9886 builtin_shadow2DProjLod,
9887 builtin_sign,
9888 builtin_sin,
9889 builtin_smoothstep,
9890 builtin_sqrt,
9891 builtin_step,
9892 builtin_tan,
9893 builtin_texture1D,
9894 builtin_texture1DLod,
9895 builtin_texture1DProj,
9896 builtin_texture1DProjLod,
9897 builtin_texture2D,
9898 builtin_texture2DLod,
9899 builtin_texture2DProj,
9900 builtin_texture2DProjLod,
9901 builtin_texture3D,
9902 builtin_texture3DLod,
9903 builtin_texture3DProj,
9904 builtin_texture3DProjLod,
9905 builtin_textureCube,
9906 builtin_textureCubeLod,
9907 };
9908 static const char prototypes_for_120_frag[] =
9909 "(\n"
9910 "(function radians\n"
9911 " (signature float\n"
9912 " (parameters\n"
9913 " (declare (in) float degrees))\n"
9914 " ())\n"
9915 " (signature vec2\n"
9916 " (parameters\n"
9917 " (declare (in) vec2 degrees))\n"
9918 " ())\n"
9919 " (signature vec3\n"
9920 " (parameters\n"
9921 " (declare (in) vec3 degrees))\n"
9922 " ())\n"
9923 " (signature vec4\n"
9924 " (parameters\n"
9925 " (declare (in) vec4 degrees))\n"
9926 " ()))\n"
9927 "(function degrees\n"
9928 " (signature float\n"
9929 " (parameters\n"
9930 " (declare (in) float radians))\n"
9931 " ())\n"
9932 " (signature vec2\n"
9933 " (parameters\n"
9934 " (declare (in) vec2 radians))\n"
9935 " ())\n"
9936 " (signature vec3\n"
9937 " (parameters\n"
9938 " (declare (in) vec3 radians))\n"
9939 " ())\n"
9940 " (signature vec4\n"
9941 " (parameters\n"
9942 " (declare (in) vec4 radians))\n"
9943 " ()))\n"
9944 "(function sin\n"
9945 " (signature float\n"
9946 " (parameters\n"
9947 " (declare (in) float angle))\n"
9948 " ())\n"
9949 " (signature vec2\n"
9950 " (parameters\n"
9951 " (declare (in) vec2 angle))\n"
9952 " ())\n"
9953 " (signature vec3\n"
9954 " (parameters\n"
9955 " (declare (in) vec3 angle))\n"
9956 " ())\n"
9957 " (signature vec4\n"
9958 " (parameters\n"
9959 " (declare (in) vec4 angle))\n"
9960 " ()))\n"
9961 "(function cos\n"
9962 " (signature float\n"
9963 " (parameters\n"
9964 " (declare (in) float angle))\n"
9965 " ())\n"
9966 " (signature vec2\n"
9967 " (parameters\n"
9968 " (declare (in) vec2 angle))\n"
9969 " ())\n"
9970 " (signature vec3\n"
9971 " (parameters\n"
9972 " (declare (in) vec3 angle))\n"
9973 " ())\n"
9974 " (signature vec4\n"
9975 " (parameters\n"
9976 " (declare (in) vec4 angle))\n"
9977 " ()))\n"
9978 "(function tan\n"
9979 " (signature float\n"
9980 " (parameters\n"
9981 " (declare (in) float angle))\n"
9982 " ())\n"
9983 " (signature vec2\n"
9984 " (parameters\n"
9985 " (declare (in) vec2 angle))\n"
9986 " ())\n"
9987 " (signature vec3\n"
9988 " (parameters\n"
9989 " (declare (in) vec3 angle))\n"
9990 " ())\n"
9991 " (signature vec4\n"
9992 " (parameters\n"
9993 " (declare (in) vec4 angle))\n"
9994 " ()))\n"
9995 "(function asin\n"
9996 " (signature float\n"
9997 " (parameters\n"
9998 " (declare (in) float angle))\n"
9999 " ())\n"
10000 " (signature vec2\n"
10001 " (parameters\n"
10002 " (declare (in) vec2 angle))\n"
10003 " ())\n"
10004 " (signature vec3\n"
10005 " (parameters\n"
10006 " (declare (in) vec3 angle))\n"
10007 " ())\n"
10008 " (signature vec4\n"
10009 " (parameters\n"
10010 " (declare (in) vec4 angle))\n"
10011 " ()))\n"
10012 "(function acos\n"
10013 " (signature float\n"
10014 " (parameters\n"
10015 " (declare (in) float angle))\n"
10016 " ())\n"
10017 " (signature vec2\n"
10018 " (parameters\n"
10019 " (declare (in) vec2 angle))\n"
10020 " ())\n"
10021 " (signature vec3\n"
10022 " (parameters\n"
10023 " (declare (in) vec3 angle))\n"
10024 " ())\n"
10025 " (signature vec4\n"
10026 " (parameters\n"
10027 " (declare (in) vec4 angle))\n"
10028 " ()))\n"
10029 "(function atan\n"
10030 " (signature float\n"
10031 " (parameters\n"
10032 " (declare (in) float y)\n"
10033 " (declare (in) float x))\n"
10034 " ())\n"
10035 " (signature vec2\n"
10036 " (parameters\n"
10037 " (declare (in) vec2 y)\n"
10038 " (declare (in) vec2 x))\n"
10039 " ())\n"
10040 " (signature vec3\n"
10041 " (parameters\n"
10042 " (declare (in) vec3 y)\n"
10043 " (declare (in) vec3 x))\n"
10044 " ())\n"
10045 " (signature vec4\n"
10046 " (parameters\n"
10047 " (declare (in) vec4 y)\n"
10048 " (declare (in) vec4 x))\n"
10049 " ())\n"
10050 " (signature float\n"
10051 " (parameters\n"
10052 " (declare (in) float y_over_x))\n"
10053 " ())\n"
10054 " (signature vec2\n"
10055 " (parameters\n"
10056 " (declare (in) vec2 y_over_x))\n"
10057 " ())\n"
10058 " (signature vec3\n"
10059 " (parameters\n"
10060 " (declare (in) vec3 y_over_x))\n"
10061 " ())\n"
10062 " (signature vec4\n"
10063 " (parameters\n"
10064 " (declare (in) vec4 y_over_x))\n"
10065 " ()))\n"
10066 "(function pow\n"
10067 " (signature float\n"
10068 " (parameters\n"
10069 " (declare (in) float x)\n"
10070 " (declare (in) float y))\n"
10071 " ())\n"
10072 " (signature vec2\n"
10073 " (parameters\n"
10074 " (declare (in) vec2 x)\n"
10075 " (declare (in) vec2 y))\n"
10076 " ())\n"
10077 " (signature vec3\n"
10078 " (parameters\n"
10079 " (declare (in) vec3 x)\n"
10080 " (declare (in) vec3 y))\n"
10081 " ())\n"
10082 " (signature vec4\n"
10083 " (parameters\n"
10084 " (declare (in) vec4 x)\n"
10085 " (declare (in) vec4 y))\n"
10086 " ()))\n"
10087 "(function exp\n"
10088 " (signature float\n"
10089 " (parameters\n"
10090 " (declare (in) float x))\n"
10091 " ())\n"
10092 " (signature vec2\n"
10093 " (parameters\n"
10094 " (declare (in) vec2 x))\n"
10095 " ())\n"
10096 " (signature vec3\n"
10097 " (parameters\n"
10098 " (declare (in) vec3 x))\n"
10099 " ())\n"
10100 " (signature vec4\n"
10101 " (parameters\n"
10102 " (declare (in) vec4 x))\n"
10103 " ()))\n"
10104 "(function log\n"
10105 " (signature float\n"
10106 " (parameters\n"
10107 " (declare (in) float x))\n"
10108 " ())\n"
10109 " (signature vec2\n"
10110 " (parameters\n"
10111 " (declare (in) vec2 x))\n"
10112 " ())\n"
10113 " (signature vec3\n"
10114 " (parameters\n"
10115 " (declare (in) vec3 x))\n"
10116 " ())\n"
10117 " (signature vec4\n"
10118 " (parameters\n"
10119 " (declare (in) vec4 x))\n"
10120 " ()))\n"
10121 "(function exp2\n"
10122 " (signature float\n"
10123 " (parameters\n"
10124 " (declare (in) float x))\n"
10125 " ())\n"
10126 " (signature vec2\n"
10127 " (parameters\n"
10128 " (declare (in) vec2 x))\n"
10129 " ())\n"
10130 " (signature vec3\n"
10131 " (parameters\n"
10132 " (declare (in) vec3 x))\n"
10133 " ())\n"
10134 " (signature vec4\n"
10135 " (parameters\n"
10136 " (declare (in) vec4 x))\n"
10137 " ()))\n"
10138 "(function log2\n"
10139 " (signature float\n"
10140 " (parameters\n"
10141 " (declare (in) float x))\n"
10142 " ())\n"
10143 " (signature vec2\n"
10144 " (parameters\n"
10145 " (declare (in) vec2 x))\n"
10146 " ())\n"
10147 " (signature vec3\n"
10148 " (parameters\n"
10149 " (declare (in) vec3 x))\n"
10150 " ())\n"
10151 " (signature vec4\n"
10152 " (parameters\n"
10153 " (declare (in) vec4 x))\n"
10154 " ()))\n"
10155 "(function sqrt\n"
10156 " (signature float\n"
10157 " (parameters\n"
10158 " (declare (in) float x))\n"
10159 " ())\n"
10160 " (signature vec2\n"
10161 " (parameters\n"
10162 " (declare (in) vec2 x))\n"
10163 " ())\n"
10164 " (signature vec3\n"
10165 " (parameters\n"
10166 " (declare (in) vec3 x))\n"
10167 " ())\n"
10168 " (signature vec4\n"
10169 " (parameters\n"
10170 " (declare (in) vec4 x))\n"
10171 " ()))\n"
10172 "(function inversesqrt\n"
10173 " (signature float\n"
10174 " (parameters\n"
10175 " (declare (in) float x))\n"
10176 " ())\n"
10177 " (signature vec2\n"
10178 " (parameters\n"
10179 " (declare (in) vec2 x))\n"
10180 " ())\n"
10181 " (signature vec3\n"
10182 " (parameters\n"
10183 " (declare (in) vec3 x))\n"
10184 " ())\n"
10185 " (signature vec4\n"
10186 " (parameters\n"
10187 " (declare (in) vec4 x))\n"
10188 " ()))\n"
10189 "(function abs\n"
10190 " (signature float\n"
10191 " (parameters\n"
10192 " (declare (in) float x))\n"
10193 " ())\n"
10194 " (signature vec2\n"
10195 " (parameters\n"
10196 " (declare (in) vec2 x))\n"
10197 " ())\n"
10198 " (signature vec3\n"
10199 " (parameters\n"
10200 " (declare (in) vec3 x))\n"
10201 " ())\n"
10202 " (signature vec4\n"
10203 " (parameters\n"
10204 " (declare (in) vec4 x))\n"
10205 " ()))\n"
10206 "(function sign\n"
10207 " (signature float\n"
10208 " (parameters\n"
10209 " (declare (in) float x))\n"
10210 " ())\n"
10211 " (signature vec2\n"
10212 " (parameters\n"
10213 " (declare (in) vec2 x))\n"
10214 " ())\n"
10215 " (signature vec3\n"
10216 " (parameters\n"
10217 " (declare (in) vec3 x))\n"
10218 " ())\n"
10219 " (signature vec4\n"
10220 " (parameters\n"
10221 " (declare (in) vec4 x))\n"
10222 " ()))\n"
10223 "(function floor\n"
10224 " (signature float\n"
10225 " (parameters\n"
10226 " (declare (in) float x))\n"
10227 " ())\n"
10228 " (signature vec2\n"
10229 " (parameters\n"
10230 " (declare (in) vec2 x))\n"
10231 " ())\n"
10232 " (signature vec3\n"
10233 " (parameters\n"
10234 " (declare (in) vec3 x))\n"
10235 " ())\n"
10236 " (signature vec4\n"
10237 " (parameters\n"
10238 " (declare (in) vec4 x))\n"
10239 " ()))\n"
10240 "(function ceil\n"
10241 " (signature float\n"
10242 " (parameters\n"
10243 " (declare (in) float x))\n"
10244 " ())\n"
10245 " (signature vec2\n"
10246 " (parameters\n"
10247 " (declare (in) vec2 x))\n"
10248 " ())\n"
10249 " (signature vec3\n"
10250 " (parameters\n"
10251 " (declare (in) vec3 x))\n"
10252 " ())\n"
10253 " (signature vec4\n"
10254 " (parameters\n"
10255 " (declare (in) vec4 x))\n"
10256 " ()))\n"
10257 "(function fract\n"
10258 " (signature float\n"
10259 " (parameters\n"
10260 " (declare (in) float x))\n"
10261 " ())\n"
10262 " (signature vec2\n"
10263 " (parameters\n"
10264 " (declare (in) vec2 x))\n"
10265 " ())\n"
10266 " (signature vec3\n"
10267 " (parameters\n"
10268 " (declare (in) vec3 x))\n"
10269 " ())\n"
10270 " (signature vec4\n"
10271 " (parameters\n"
10272 " (declare (in) vec4 x))\n"
10273 " ()))\n"
10274 "(function mod\n"
10275 " (signature float\n"
10276 " (parameters\n"
10277 " (declare (in) float x)\n"
10278 " (declare (in) float y))\n"
10279 " ())\n"
10280 " (signature vec2\n"
10281 " (parameters\n"
10282 " (declare (in) vec2 x)\n"
10283 " (declare (in) float y))\n"
10284 " ())\n"
10285 " (signature vec3\n"
10286 " (parameters\n"
10287 " (declare (in) vec3 x)\n"
10288 " (declare (in) float y))\n"
10289 " ())\n"
10290 " (signature vec4\n"
10291 " (parameters\n"
10292 " (declare (in) vec4 x)\n"
10293 " (declare (in) float y))\n"
10294 " ())\n"
10295 " (signature vec2\n"
10296 " (parameters\n"
10297 " (declare (in) vec2 x)\n"
10298 " (declare (in) vec2 y))\n"
10299 " ())\n"
10300 " (signature vec3\n"
10301 " (parameters\n"
10302 " (declare (in) vec3 x)\n"
10303 " (declare (in) vec3 y))\n"
10304 " ())\n"
10305 " (signature vec4\n"
10306 " (parameters\n"
10307 " (declare (in) vec4 x)\n"
10308 " (declare (in) vec4 y))\n"
10309 " ()))\n"
10310 "(function min\n"
10311 " (signature float\n"
10312 " (parameters\n"
10313 " (declare (in) float x)\n"
10314 " (declare (in) float y))\n"
10315 " ())\n"
10316 " (signature vec2\n"
10317 " (parameters\n"
10318 " (declare (in) vec2 x)\n"
10319 " (declare (in) vec2 y))\n"
10320 " ())\n"
10321 " (signature vec3\n"
10322 " (parameters\n"
10323 " (declare (in) vec3 x)\n"
10324 " (declare (in) vec3 y))\n"
10325 " ())\n"
10326 " (signature vec4\n"
10327 " (parameters\n"
10328 " (declare (in) vec4 x)\n"
10329 " (declare (in) vec4 y))\n"
10330 " ())\n"
10331 " (signature vec2\n"
10332 " (parameters\n"
10333 " (declare (in) vec2 x)\n"
10334 " (declare (in) float y))\n"
10335 " ())\n"
10336 " (signature vec3\n"
10337 " (parameters\n"
10338 " (declare (in) vec3 x)\n"
10339 " (declare (in) float y))\n"
10340 " ())\n"
10341 " (signature vec4\n"
10342 " (parameters\n"
10343 " (declare (in) vec4 x)\n"
10344 " (declare (in) float y))\n"
10345 " ()))\n"
10346 "(function max\n"
10347 " (signature float\n"
10348 " (parameters\n"
10349 " (declare (in) float x)\n"
10350 " (declare (in) float y))\n"
10351 " ())\n"
10352 " (signature vec2\n"
10353 " (parameters\n"
10354 " (declare (in) vec2 x)\n"
10355 " (declare (in) vec2 y))\n"
10356 " ())\n"
10357 " (signature vec3\n"
10358 " (parameters\n"
10359 " (declare (in) vec3 x)\n"
10360 " (declare (in) vec3 y))\n"
10361 " ())\n"
10362 " (signature vec4\n"
10363 " (parameters\n"
10364 " (declare (in) vec4 x)\n"
10365 " (declare (in) vec4 y))\n"
10366 " ())\n"
10367 " (signature vec2\n"
10368 " (parameters\n"
10369 " (declare (in) vec2 x)\n"
10370 " (declare (in) float y))\n"
10371 " ())\n"
10372 " (signature vec3\n"
10373 " (parameters\n"
10374 " (declare (in) vec3 x)\n"
10375 " (declare (in) float y))\n"
10376 " ())\n"
10377 " (signature vec4\n"
10378 " (parameters\n"
10379 " (declare (in) vec4 x)\n"
10380 " (declare (in) float y))\n"
10381 " ()))\n"
10382 "(function clamp\n"
10383 " (signature float\n"
10384 " (parameters\n"
10385 " (declare (in) float x)\n"
10386 " (declare (in) float minVal)\n"
10387 " (declare (in) float maxVal))\n"
10388 " ())\n"
10389 " (signature vec2\n"
10390 " (parameters\n"
10391 " (declare (in) vec2 x)\n"
10392 " (declare (in) vec2 minVal)\n"
10393 " (declare (in) vec2 maxVal))\n"
10394 " ())\n"
10395 " (signature vec3\n"
10396 " (parameters\n"
10397 " (declare (in) vec3 x)\n"
10398 " (declare (in) vec3 minVal)\n"
10399 " (declare (in) vec3 maxVal))\n"
10400 " ())\n"
10401 " (signature vec4\n"
10402 " (parameters\n"
10403 " (declare (in) vec4 x)\n"
10404 " (declare (in) vec4 minVal)\n"
10405 " (declare (in) vec4 maxVal))\n"
10406 " ())\n"
10407 " (signature vec2\n"
10408 " (parameters\n"
10409 " (declare (in) vec2 x)\n"
10410 " (declare (in) float minVal)\n"
10411 " (declare (in) float maxVal))\n"
10412 " ())\n"
10413 " (signature vec3\n"
10414 " (parameters\n"
10415 " (declare (in) vec3 x)\n"
10416 " (declare (in) float minVal)\n"
10417 " (declare (in) float maxVal))\n"
10418 " ())\n"
10419 " (signature vec4\n"
10420 " (parameters\n"
10421 " (declare (in) vec4 x)\n"
10422 " (declare (in) float minVal)\n"
10423 " (declare (in) float maxVal))\n"
10424 " ()))\n"
10425 "(function mix\n"
10426 " (signature float\n"
10427 " (parameters\n"
10428 " (declare (in) float x)\n"
10429 " (declare (in) float y)\n"
10430 " (declare (in) float a))\n"
10431 " ())\n"
10432 " (signature vec2\n"
10433 " (parameters\n"
10434 " (declare (in) vec2 x)\n"
10435 " (declare (in) vec2 y)\n"
10436 " (declare (in) vec2 a))\n"
10437 " ())\n"
10438 " (signature vec3\n"
10439 " (parameters\n"
10440 " (declare (in) vec3 x)\n"
10441 " (declare (in) vec3 y)\n"
10442 " (declare (in) vec3 a))\n"
10443 " ())\n"
10444 " (signature vec4\n"
10445 " (parameters\n"
10446 " (declare (in) vec4 x)\n"
10447 " (declare (in) vec4 y)\n"
10448 " (declare (in) vec4 a))\n"
10449 " ())\n"
10450 " (signature vec2\n"
10451 " (parameters\n"
10452 " (declare (in) vec2 x)\n"
10453 " (declare (in) vec2 y)\n"
10454 " (declare (in) float a))\n"
10455 " ())\n"
10456 " (signature vec3\n"
10457 " (parameters\n"
10458 " (declare (in) vec3 x)\n"
10459 " (declare (in) vec3 y)\n"
10460 " (declare (in) float a))\n"
10461 " ())\n"
10462 " (signature vec4\n"
10463 " (parameters\n"
10464 " (declare (in) vec4 x)\n"
10465 " (declare (in) vec4 y)\n"
10466 " (declare (in) float a))\n"
10467 " ()))\n"
10468 "(function step\n"
10469 " (signature float\n"
10470 " (parameters\n"
10471 " (declare (in) float edge)\n"
10472 " (declare (in) float x))\n"
10473 " ())\n"
10474 " (signature vec2\n"
10475 " (parameters\n"
10476 " (declare (in) vec2 edge)\n"
10477 " (declare (in) vec2 x))\n"
10478 " ())\n"
10479 " (signature vec3\n"
10480 " (parameters\n"
10481 " (declare (in) vec3 edge)\n"
10482 " (declare (in) vec3 x))\n"
10483 " ())\n"
10484 " (signature vec4\n"
10485 " (parameters\n"
10486 " (declare (in) vec4 edge)\n"
10487 " (declare (in) vec4 x))\n"
10488 " ())\n"
10489 " (signature vec2\n"
10490 " (parameters\n"
10491 " (declare (in) float edge)\n"
10492 " (declare (in) vec2 x))\n"
10493 " ())\n"
10494 " (signature vec3\n"
10495 " (parameters\n"
10496 " (declare (in) float edge)\n"
10497 " (declare (in) vec3 x))\n"
10498 " ())\n"
10499 " (signature vec4\n"
10500 " (parameters\n"
10501 " (declare (in) float edge)\n"
10502 " (declare (in) vec4 x))\n"
10503 " ()))\n"
10504 "(function smoothstep\n"
10505 " (signature float\n"
10506 " (parameters\n"
10507 " (declare (in) float edge0)\n"
10508 " (declare (in) float edge1)\n"
10509 " (declare (in) float x))\n"
10510 " ())\n"
10511 " (signature vec2\n"
10512 " (parameters\n"
10513 " (declare (in) vec2 edge0)\n"
10514 " (declare (in) vec2 edge1)\n"
10515 " (declare (in) vec2 x))\n"
10516 " ())\n"
10517 " (signature vec3\n"
10518 " (parameters\n"
10519 " (declare (in) vec3 edge0)\n"
10520 " (declare (in) vec3 edge1)\n"
10521 " (declare (in) vec3 x))\n"
10522 " ())\n"
10523 " (signature vec4\n"
10524 " (parameters\n"
10525 " (declare (in) vec4 edge0)\n"
10526 " (declare (in) vec4 edge1)\n"
10527 " (declare (in) vec4 x))\n"
10528 " ())\n"
10529 " (signature vec2\n"
10530 " (parameters\n"
10531 " (declare (in) float edge0)\n"
10532 " (declare (in) float edge1)\n"
10533 " (declare (in) vec2 x))\n"
10534 " ())\n"
10535 " (signature vec3\n"
10536 " (parameters\n"
10537 " (declare (in) float edge0)\n"
10538 " (declare (in) float edge1)\n"
10539 " (declare (in) vec3 x))\n"
10540 " ())\n"
10541 " (signature vec4\n"
10542 " (parameters\n"
10543 " (declare (in) float edge0)\n"
10544 " (declare (in) float edge1)\n"
10545 " (declare (in) vec4 x))\n"
10546 " ()))\n"
10547 "(function length\n"
10548 " (signature float\n"
10549 " (parameters\n"
10550 " (declare (in) float x))\n"
10551 " ())\n"
10552 " (signature float\n"
10553 " (parameters\n"
10554 " (declare (in) vec2 x))\n"
10555 " ())\n"
10556 " (signature float\n"
10557 " (parameters\n"
10558 " (declare (in) vec3 x))\n"
10559 " ())\n"
10560 " (signature float\n"
10561 " (parameters\n"
10562 " (declare (in) vec4 x))\n"
10563 " ()))\n"
10564 "(function distance\n"
10565 " (signature float\n"
10566 " (parameters\n"
10567 " (declare (in) float p0)\n"
10568 " (declare (in) float p1))\n"
10569 " ())\n"
10570 " (signature float\n"
10571 " (parameters\n"
10572 " (declare (in) vec2 p0)\n"
10573 " (declare (in) vec2 p1))\n"
10574 " ())\n"
10575 " (signature float\n"
10576 " (parameters\n"
10577 " (declare (in) vec3 p0)\n"
10578 " (declare (in) vec3 p1))\n"
10579 " ())\n"
10580 " (signature float\n"
10581 " (parameters\n"
10582 " (declare (in) vec4 p0)\n"
10583 " (declare (in) vec4 p1))\n"
10584 " ()))\n"
10585 "(function dot\n"
10586 " (signature float\n"
10587 " (parameters\n"
10588 " (declare (in) float x)\n"
10589 " (declare (in) float y))\n"
10590 " ())\n"
10591 " (signature float\n"
10592 " (parameters\n"
10593 " (declare (in) vec2 x)\n"
10594 " (declare (in) vec2 y))\n"
10595 " ())\n"
10596 " (signature float\n"
10597 " (parameters\n"
10598 " (declare (in) vec3 x)\n"
10599 " (declare (in) vec3 y))\n"
10600 " ())\n"
10601 " (signature float\n"
10602 " (parameters\n"
10603 " (declare (in) vec4 x)\n"
10604 " (declare (in) vec4 y))\n"
10605 " ()))\n"
10606 "(function cross\n"
10607 " (signature vec3\n"
10608 " (parameters\n"
10609 " (declare (in) vec3 x)\n"
10610 " (declare (in) vec3 y))\n"
10611 " ()))\n"
10612 "(function normalize\n"
10613 " (signature float\n"
10614 " (parameters\n"
10615 " (declare (in) float x))\n"
10616 " ())\n"
10617 " (signature vec2\n"
10618 " (parameters\n"
10619 " (declare (in) vec2 x))\n"
10620 " ())\n"
10621 " (signature vec3\n"
10622 " (parameters\n"
10623 " (declare (in) vec3 x))\n"
10624 " ())\n"
10625 " (signature vec4\n"
10626 " (parameters\n"
10627 " (declare (in) vec4 x))\n"
10628 " ()))\n"
10629 "(function faceforward\n"
10630 " (signature float\n"
10631 " (parameters\n"
10632 " (declare (in) float N)\n"
10633 " (declare (in) float I)\n"
10634 " (declare (in) float Nref))\n"
10635 " ())\n"
10636 " (signature vec2\n"
10637 " (parameters\n"
10638 " (declare (in) vec2 N)\n"
10639 " (declare (in) vec2 I)\n"
10640 " (declare (in) vec2 Nref))\n"
10641 " ())\n"
10642 " (signature vec3\n"
10643 " (parameters\n"
10644 " (declare (in) vec3 N)\n"
10645 " (declare (in) vec3 I)\n"
10646 " (declare (in) vec3 Nref))\n"
10647 " ())\n"
10648 " (signature vec4\n"
10649 " (parameters\n"
10650 " (declare (in) vec4 N)\n"
10651 " (declare (in) vec4 I)\n"
10652 " (declare (in) vec4 Nref))\n"
10653 " ()))\n"
10654 "(function reflect\n"
10655 " (signature float\n"
10656 " (parameters\n"
10657 " (declare (in) float I)\n"
10658 " (declare (in) float N))\n"
10659 " ())\n"
10660 " (signature vec2\n"
10661 " (parameters\n"
10662 " (declare (in) vec2 I)\n"
10663 " (declare (in) vec2 N))\n"
10664 " ())\n"
10665 " (signature vec3\n"
10666 " (parameters\n"
10667 " (declare (in) vec3 I)\n"
10668 " (declare (in) vec3 N))\n"
10669 " ())\n"
10670 " (signature vec4\n"
10671 " (parameters\n"
10672 " (declare (in) vec4 I)\n"
10673 " (declare (in) vec4 N))\n"
10674 " ()))\n"
10675 "(function refract\n"
10676 " (signature float\n"
10677 " (parameters\n"
10678 " (declare (in) float I)\n"
10679 " (declare (in) float N)\n"
10680 " (declare (in) float eta))\n"
10681 " ())\n"
10682 " (signature vec2\n"
10683 " (parameters\n"
10684 " (declare (in) vec2 I)\n"
10685 " (declare (in) vec2 N)\n"
10686 " (declare (in) float eta))\n"
10687 " ())\n"
10688 " (signature vec3\n"
10689 " (parameters\n"
10690 " (declare (in) vec3 I)\n"
10691 " (declare (in) vec3 N)\n"
10692 " (declare (in) float eta))\n"
10693 " ())\n"
10694 " (signature vec4\n"
10695 " (parameters\n"
10696 " (declare (in) vec4 I)\n"
10697 " (declare (in) vec4 N)\n"
10698 " (declare (in) float eta))\n"
10699 " ()))\n"
10700 "(function matrixCompMult\n"
10701 " (signature mat2\n"
10702 " (parameters\n"
10703 " (declare (in) mat2 x)\n"
10704 " (declare (in) mat2 y))\n"
10705 " ())\n"
10706 " (signature mat3\n"
10707 " (parameters\n"
10708 " (declare (in) mat3 x)\n"
10709 " (declare (in) mat3 y))\n"
10710 " ())\n"
10711 " (signature mat4\n"
10712 " (parameters\n"
10713 " (declare (in) mat4 x)\n"
10714 " (declare (in) mat4 y))\n"
10715 " ())\n"
10716 " (signature mat2x3\n"
10717 " (parameters\n"
10718 " (declare (in) mat2x3 x)\n"
10719 " (declare (in) mat2x3 y))\n"
10720 " ())\n"
10721 " (signature mat2x4\n"
10722 " (parameters\n"
10723 " (declare (in) mat2x4 x)\n"
10724 " (declare (in) mat2x4 y))\n"
10725 " ())\n"
10726 " (signature mat3x2\n"
10727 " (parameters\n"
10728 " (declare (in) mat3x2 x)\n"
10729 " (declare (in) mat3x2 y))\n"
10730 " ())\n"
10731 " (signature mat3x4\n"
10732 " (parameters\n"
10733 " (declare (in) mat3x4 x)\n"
10734 " (declare (in) mat3x4 y))\n"
10735 " ())\n"
10736 " (signature mat4x2\n"
10737 " (parameters\n"
10738 " (declare (in) mat4x2 x)\n"
10739 " (declare (in) mat4x2 y))\n"
10740 " ())\n"
10741 " (signature mat4x3\n"
10742 " (parameters\n"
10743 " (declare (in) mat4x3 x)\n"
10744 " (declare (in) mat4x3 y))\n"
10745 " ()))\n"
10746 "(function outerProduct\n"
10747 " (signature mat2\n"
10748 " (parameters\n"
10749 " (declare (in) vec2 c)\n"
10750 " (declare (in) vec2 r))\n"
10751 " ())\n"
10752 " (signature mat3\n"
10753 " (parameters\n"
10754 " (declare (in) vec3 c)\n"
10755 " (declare (in) vec3 r))\n"
10756 " ())\n"
10757 " (signature mat4\n"
10758 " (parameters\n"
10759 " (declare (in) vec4 c)\n"
10760 " (declare (in) vec4 r))\n"
10761 " ())\n"
10762 " (signature mat2x3\n"
10763 " (parameters\n"
10764 " (declare (in) vec3 c)\n"
10765 " (declare (in) vec2 r))\n"
10766 " ())\n"
10767 " (signature mat3x2\n"
10768 " (parameters\n"
10769 " (declare (in) vec2 c)\n"
10770 " (declare (in) vec3 r))\n"
10771 " ())\n"
10772 " (signature mat2x4\n"
10773 " (parameters\n"
10774 " (declare (in) vec4 c)\n"
10775 " (declare (in) vec2 r))\n"
10776 " ())\n"
10777 " (signature mat4x2\n"
10778 " (parameters\n"
10779 " (declare (in) vec2 c)\n"
10780 " (declare (in) vec4 r))\n"
10781 " ())\n"
10782 " (signature mat3x4\n"
10783 " (parameters\n"
10784 " (declare (in) vec4 c)\n"
10785 " (declare (in) vec3 r))\n"
10786 " ())\n"
10787 " (signature mat4x3\n"
10788 " (parameters\n"
10789 " (declare (in) vec3 c)\n"
10790 " (declare (in) vec4 r))\n"
10791 " ()))\n"
10792 "(function transpose\n"
10793 " (signature mat2\n"
10794 " (parameters\n"
10795 " (declare (in) mat2 m))\n"
10796 " ())\n"
10797 " (signature mat3\n"
10798 " (parameters\n"
10799 " (declare (in) mat3 m))\n"
10800 " ())\n"
10801 " (signature mat4\n"
10802 " (parameters\n"
10803 " (declare (in) mat4 m))\n"
10804 " ())\n"
10805 " (signature mat2x3\n"
10806 " (parameters\n"
10807 " (declare (in) mat3x2 m))\n"
10808 " ())\n"
10809 " (signature mat3x2\n"
10810 " (parameters\n"
10811 " (declare (in) mat2x3 m))\n"
10812 " ())\n"
10813 " (signature mat2x4\n"
10814 " (parameters\n"
10815 " (declare (in) mat4x2 m))\n"
10816 " ())\n"
10817 " (signature mat4x2\n"
10818 " (parameters\n"
10819 " (declare (in) mat2x4 m))\n"
10820 " ())\n"
10821 " (signature mat3x4\n"
10822 " (parameters\n"
10823 " (declare (in) mat4x3 m))\n"
10824 " ())\n"
10825 " (signature mat4x3\n"
10826 " (parameters\n"
10827 " (declare (in) mat3x4 m))\n"
10828 " ()))\n"
10829 "(function lessThan\n"
10830 " (signature bvec2\n"
10831 " (parameters\n"
10832 " (declare (in) vec2 x)\n"
10833 " (declare (in) vec2 y))\n"
10834 " ())\n"
10835 " (signature bvec3\n"
10836 " (parameters\n"
10837 " (declare (in) vec3 x)\n"
10838 " (declare (in) vec3 y))\n"
10839 " ())\n"
10840 " (signature bvec4\n"
10841 " (parameters\n"
10842 " (declare (in) vec4 x)\n"
10843 " (declare (in) vec4 y))\n"
10844 " ())\n"
10845 " (signature bvec2\n"
10846 " (parameters\n"
10847 " (declare (in) ivec2 x)\n"
10848 " (declare (in) ivec2 y))\n"
10849 " ())\n"
10850 " (signature bvec3\n"
10851 " (parameters\n"
10852 " (declare (in) ivec3 x)\n"
10853 " (declare (in) ivec3 y))\n"
10854 " ())\n"
10855 " (signature bvec4\n"
10856 " (parameters\n"
10857 " (declare (in) ivec4 x)\n"
10858 " (declare (in) ivec4 y))\n"
10859 " ()))\n"
10860 "(function lessThanEqual\n"
10861 " (signature bvec2\n"
10862 " (parameters\n"
10863 " (declare (in) vec2 x)\n"
10864 " (declare (in) vec2 y))\n"
10865 " ())\n"
10866 " (signature bvec3\n"
10867 " (parameters\n"
10868 " (declare (in) vec3 x)\n"
10869 " (declare (in) vec3 y))\n"
10870 " ())\n"
10871 " (signature bvec4\n"
10872 " (parameters\n"
10873 " (declare (in) vec4 x)\n"
10874 " (declare (in) vec4 y))\n"
10875 " ())\n"
10876 " (signature bvec2\n"
10877 " (parameters\n"
10878 " (declare (in) ivec2 x)\n"
10879 " (declare (in) ivec2 y))\n"
10880 " ())\n"
10881 " (signature bvec3\n"
10882 " (parameters\n"
10883 " (declare (in) ivec3 x)\n"
10884 " (declare (in) ivec3 y))\n"
10885 " ())\n"
10886 " (signature bvec4\n"
10887 " (parameters\n"
10888 " (declare (in) ivec4 x)\n"
10889 " (declare (in) ivec4 y))\n"
10890 " ()))\n"
10891 "(function greaterThan\n"
10892 " (signature bvec2\n"
10893 " (parameters\n"
10894 " (declare (in) vec2 x)\n"
10895 " (declare (in) vec2 y))\n"
10896 " ())\n"
10897 " (signature bvec3\n"
10898 " (parameters\n"
10899 " (declare (in) vec3 x)\n"
10900 " (declare (in) vec3 y))\n"
10901 " ())\n"
10902 " (signature bvec4\n"
10903 " (parameters\n"
10904 " (declare (in) vec4 x)\n"
10905 " (declare (in) vec4 y))\n"
10906 " ())\n"
10907 " (signature bvec2\n"
10908 " (parameters\n"
10909 " (declare (in) ivec2 x)\n"
10910 " (declare (in) ivec2 y))\n"
10911 " ())\n"
10912 " (signature bvec3\n"
10913 " (parameters\n"
10914 " (declare (in) ivec3 x)\n"
10915 " (declare (in) ivec3 y))\n"
10916 " ())\n"
10917 " (signature bvec4\n"
10918 " (parameters\n"
10919 " (declare (in) ivec4 x)\n"
10920 " (declare (in) ivec4 y))\n"
10921 " ()))\n"
10922 "(function greaterThanEqual\n"
10923 " (signature bvec2\n"
10924 " (parameters\n"
10925 " (declare (in) vec2 x)\n"
10926 " (declare (in) vec2 y))\n"
10927 " ())\n"
10928 " (signature bvec3\n"
10929 " (parameters\n"
10930 " (declare (in) vec3 x)\n"
10931 " (declare (in) vec3 y))\n"
10932 " ())\n"
10933 " (signature bvec4\n"
10934 " (parameters\n"
10935 " (declare (in) vec4 x)\n"
10936 " (declare (in) vec4 y))\n"
10937 " ())\n"
10938 " (signature bvec2\n"
10939 " (parameters\n"
10940 " (declare (in) ivec2 x)\n"
10941 " (declare (in) ivec2 y))\n"
10942 " ())\n"
10943 " (signature bvec3\n"
10944 " (parameters\n"
10945 " (declare (in) ivec3 x)\n"
10946 " (declare (in) ivec3 y))\n"
10947 " ())\n"
10948 " (signature bvec4\n"
10949 " (parameters\n"
10950 " (declare (in) ivec4 x)\n"
10951 " (declare (in) ivec4 y))\n"
10952 " ()))\n"
10953 "(function equal\n"
10954 " (signature bvec2\n"
10955 " (parameters\n"
10956 " (declare (in) vec2 x)\n"
10957 " (declare (in) vec2 y))\n"
10958 " ())\n"
10959 " (signature bvec3\n"
10960 " (parameters\n"
10961 " (declare (in) vec3 x)\n"
10962 " (declare (in) vec3 y))\n"
10963 " ())\n"
10964 " (signature bvec4\n"
10965 " (parameters\n"
10966 " (declare (in) vec4 x)\n"
10967 " (declare (in) vec4 y))\n"
10968 " ())\n"
10969 " (signature bvec2\n"
10970 " (parameters\n"
10971 " (declare (in) ivec2 x)\n"
10972 " (declare (in) ivec2 y))\n"
10973 " ())\n"
10974 " (signature bvec3\n"
10975 " (parameters\n"
10976 " (declare (in) ivec3 x)\n"
10977 " (declare (in) ivec3 y))\n"
10978 " ())\n"
10979 " (signature bvec4\n"
10980 " (parameters\n"
10981 " (declare (in) ivec4 x)\n"
10982 " (declare (in) ivec4 y))\n"
10983 " ())\n"
10984 " (signature bvec2\n"
10985 " (parameters\n"
10986 " (declare (in) bvec2 x)\n"
10987 " (declare (in) bvec2 y))\n"
10988 " ())\n"
10989 " (signature bvec3\n"
10990 " (parameters\n"
10991 " (declare (in) bvec3 x)\n"
10992 " (declare (in) bvec3 y))\n"
10993 " ())\n"
10994 " (signature bvec4\n"
10995 " (parameters\n"
10996 " (declare (in) bvec4 x)\n"
10997 " (declare (in) bvec4 y))\n"
10998 " ()))\n"
10999 "(function notEqual\n"
11000 " (signature bvec2\n"
11001 " (parameters\n"
11002 " (declare (in) vec2 x)\n"
11003 " (declare (in) vec2 y))\n"
11004 " ())\n"
11005 " (signature bvec3\n"
11006 " (parameters\n"
11007 " (declare (in) vec3 x)\n"
11008 " (declare (in) vec3 y))\n"
11009 " ())\n"
11010 " (signature bvec4\n"
11011 " (parameters\n"
11012 " (declare (in) vec4 x)\n"
11013 " (declare (in) vec4 y))\n"
11014 " ())\n"
11015 " (signature bvec2\n"
11016 " (parameters\n"
11017 " (declare (in) ivec2 x)\n"
11018 " (declare (in) ivec2 y))\n"
11019 " ())\n"
11020 " (signature bvec3\n"
11021 " (parameters\n"
11022 " (declare (in) ivec3 x)\n"
11023 " (declare (in) ivec3 y))\n"
11024 " ())\n"
11025 " (signature bvec4\n"
11026 " (parameters\n"
11027 " (declare (in) ivec4 x)\n"
11028 " (declare (in) ivec4 y))\n"
11029 " ())\n"
11030 " (signature bvec2\n"
11031 " (parameters\n"
11032 " (declare (in) bvec2 x)\n"
11033 " (declare (in) bvec2 y))\n"
11034 " ())\n"
11035 " (signature bvec3\n"
11036 " (parameters\n"
11037 " (declare (in) bvec3 x)\n"
11038 " (declare (in) bvec3 y))\n"
11039 " ())\n"
11040 " (signature bvec4\n"
11041 " (parameters\n"
11042 " (declare (in) bvec4 x)\n"
11043 " (declare (in) bvec4 y))\n"
11044 " ()))\n"
11045 "(function any\n"
11046 " (signature bool\n"
11047 " (parameters\n"
11048 " (declare (in) bvec2 x))\n"
11049 " ())\n"
11050 " (signature bool\n"
11051 " (parameters\n"
11052 " (declare (in) bvec3 x))\n"
11053 " ())\n"
11054 " (signature bool\n"
11055 " (parameters\n"
11056 " (declare (in) bvec4 x))\n"
11057 " ()))\n"
11058 "(function all\n"
11059 " (signature bool\n"
11060 " (parameters\n"
11061 " (declare (in) bvec2 x))\n"
11062 " ())\n"
11063 " (signature bool\n"
11064 " (parameters\n"
11065 " (declare (in) bvec3 x))\n"
11066 " ())\n"
11067 " (signature bool\n"
11068 " (parameters\n"
11069 " (declare (in) bvec4 x))\n"
11070 " ()))\n"
11071 "(function not\n"
11072 " (signature bvec2\n"
11073 " (parameters\n"
11074 " (declare (in) bvec2 x))\n"
11075 " ())\n"
11076 " (signature bvec3\n"
11077 " (parameters\n"
11078 " (declare (in) bvec3 x))\n"
11079 " ())\n"
11080 " (signature bvec4\n"
11081 " (parameters\n"
11082 " (declare (in) bvec4 x))\n"
11083 " ()))\n"
11084 "(function texture1D\n"
11085 " (signature vec4\n"
11086 " (parameters\n"
11087 " (declare (in) sampler1D sampler)\n"
11088 " (declare (in) float coord))\n"
11089 " ())\n"
11090 " (signature vec4\n"
11091 " (parameters\n"
11092 " (declare (in) sampler1D sampler)\n"
11093 " (declare (in) float coord)\n"
11094 " (declare (in) float bias))\n"
11095 " ()))\n"
11096 "(function texture1DProj\n"
11097 " (signature vec4\n"
11098 " (parameters\n"
11099 " (declare (in) sampler1D sampler)\n"
11100 " (declare (in) vec2 coord))\n"
11101 " ())\n"
11102 " (signature vec4\n"
11103 " (parameters\n"
11104 " (declare (in) sampler1D sampler)\n"
11105 " (declare (in) vec4 coord))\n"
11106 " ())\n"
11107 " (signature vec4\n"
11108 " (parameters\n"
11109 " (declare (in) sampler1D sampler)\n"
11110 " (declare (in) vec2 coord)\n"
11111 " (declare (in) float bias))\n"
11112 " ())\n"
11113 " (signature vec4\n"
11114 " (parameters\n"
11115 " (declare (in) sampler1D sampler)\n"
11116 " (declare (in) vec4 coord)\n"
11117 " (declare (in) float bias))\n"
11118 " ()))\n"
11119 "(function texture2D\n"
11120 " (signature vec4\n"
11121 " (parameters\n"
11122 " (declare (in) sampler2D sampler)\n"
11123 " (declare (in) vec2 coord))\n"
11124 " ())\n"
11125 " (signature vec4\n"
11126 " (parameters\n"
11127 " (declare (in) sampler2D sampler)\n"
11128 " (declare (in) vec2 coord)\n"
11129 " (declare (in) float bias))\n"
11130 " ()))\n"
11131 "(function texture2DProj\n"
11132 " (signature vec4\n"
11133 " (parameters\n"
11134 " (declare (in) sampler2D sampler)\n"
11135 " (declare (in) vec3 coord))\n"
11136 " ())\n"
11137 " (signature vec4\n"
11138 " (parameters\n"
11139 " (declare (in) sampler2D sampler)\n"
11140 " (declare (in) vec4 coord))\n"
11141 " ())\n"
11142 " (signature vec4\n"
11143 " (parameters\n"
11144 " (declare (in) sampler2D sampler)\n"
11145 " (declare (in) vec3 coord)\n"
11146 " (declare (in) float bias))\n"
11147 " ())\n"
11148 " (signature vec4\n"
11149 " (parameters\n"
11150 " (declare (in) sampler2D sampler)\n"
11151 " (declare (in) vec4 coord)\n"
11152 " (declare (in) float bias))\n"
11153 " ()))\n"
11154 "(function texture3D\n"
11155 " (signature vec4\n"
11156 " (parameters\n"
11157 " (declare (in) sampler3D sampler)\n"
11158 " (declare (in) vec3 coord))\n"
11159 " ())\n"
11160 " (signature vec4\n"
11161 " (parameters\n"
11162 " (declare (in) sampler3D sampler)\n"
11163 " (declare (in) vec3 coord)\n"
11164 " (declare (in) float bias))\n"
11165 " ()))\n"
11166 "(function texture3DProj\n"
11167 " (signature vec4\n"
11168 " (parameters\n"
11169 " (declare (in) sampler3D sampler)\n"
11170 " (declare (in) vec4 coord))\n"
11171 " ())\n"
11172 " (signature vec4\n"
11173 " (parameters\n"
11174 " (declare (in) sampler3D sampler)\n"
11175 " (declare (in) vec4 coord)\n"
11176 " (declare (in) float bias))\n"
11177 " ()))\n"
11178 "(function textureCube\n"
11179 " (signature vec4\n"
11180 " (parameters\n"
11181 " (declare (in) samplerCube sampler)\n"
11182 " (declare (in) vec3 coord))\n"
11183 " ())\n"
11184 " (signature vec4\n"
11185 " (parameters\n"
11186 " (declare (in) samplerCube sampler)\n"
11187 " (declare (in) vec3 coord)\n"
11188 " (declare (in) float bias))\n"
11189 " ()))\n"
11190 "(function shadow1D\n"
11191 " (signature vec4\n"
11192 " (parameters\n"
11193 " (declare (in) sampler1DShadow sampler)\n"
11194 " (declare (in) vec3 coord))\n"
11195 " ())\n"
11196 " (signature vec4\n"
11197 " (parameters\n"
11198 " (declare (in) sampler1DShadow sampler)\n"
11199 " (declare (in) vec3 coord)\n"
11200 " (declare (in) float bias))\n"
11201 " ()))\n"
11202 "(function shadow2D\n"
11203 " (signature vec4\n"
11204 " (parameters\n"
11205 " (declare (in) sampler2DShadow sampler)\n"
11206 " (declare (in) vec3 coord))\n"
11207 " ())\n"
11208 " (signature vec4\n"
11209 " (parameters\n"
11210 " (declare (in) sampler2DShadow sampler)\n"
11211 " (declare (in) vec3 coord)\n"
11212 " (declare (in) float bias))\n"
11213 " ()))\n"
11214 "(function shadow1DProj\n"
11215 " (signature vec4\n"
11216 " (parameters\n"
11217 " (declare (in) sampler1DShadow sampler)\n"
11218 " (declare (in) vec4 coord))\n"
11219 " ())\n"
11220 " (signature vec4\n"
11221 " (parameters\n"
11222 " (declare (in) sampler1DShadow sampler)\n"
11223 " (declare (in) vec4 coord)\n"
11224 " (declare (in) float bias))\n"
11225 " ()))\n"
11226 "(function shadow2DProj\n"
11227 " (signature vec4\n"
11228 " (parameters\n"
11229 " (declare (in) sampler2DShadow sampler)\n"
11230 " (declare (in) vec4 coord))\n"
11231 " ())\n"
11232 " (signature vec4\n"
11233 " (parameters\n"
11234 " (declare (in) sampler2DShadow sampler)\n"
11235 " (declare (in) vec4 coord)\n"
11236 " (declare (in) float bias))\n"
11237 " ()))\n"
11238 "(function dFdx\n"
11239 " (signature float\n"
11240 " (parameters\n"
11241 " (declare (in) float p))\n"
11242 " ())\n"
11243 " (signature vec2\n"
11244 " (parameters\n"
11245 " (declare (in) vec2 p))\n"
11246 " ())\n"
11247 " (signature vec3\n"
11248 " (parameters\n"
11249 " (declare (in) vec3 p))\n"
11250 " ())\n"
11251 " (signature vec4\n"
11252 " (parameters\n"
11253 " (declare (in) vec4 p))\n"
11254 " ()))\n"
11255 "(function dFdy\n"
11256 " (signature float\n"
11257 " (parameters\n"
11258 " (declare (in) float p))\n"
11259 " ())\n"
11260 " (signature vec2\n"
11261 " (parameters\n"
11262 " (declare (in) vec2 p))\n"
11263 " ())\n"
11264 " (signature vec3\n"
11265 " (parameters\n"
11266 " (declare (in) vec3 p))\n"
11267 " ())\n"
11268 " (signature vec4\n"
11269 " (parameters\n"
11270 " (declare (in) vec4 p))\n"
11271 " ()))\n"
11272 "(function fwidth\n"
11273 " (signature float\n"
11274 " (parameters\n"
11275 " (declare (in) float p))\n"
11276 " ())\n"
11277 " (signature vec2\n"
11278 " (parameters\n"
11279 " (declare (in) vec2 p))\n"
11280 " ())\n"
11281 " (signature vec3\n"
11282 " (parameters\n"
11283 " (declare (in) vec3 p))\n"
11284 " ())\n"
11285 " (signature vec4\n"
11286 " (parameters\n"
11287 " (declare (in) vec4 p))\n"
11288 " ()))\n"
11289 "(function noise1\n"
11290 " (signature float\n"
11291 " (parameters\n"
11292 " (declare (in) float x))\n"
11293 " ())\n"
11294 " (signature float\n"
11295 " (parameters\n"
11296 " (declare (in) vec2 x))\n"
11297 " ())\n"
11298 " (signature float\n"
11299 " (parameters\n"
11300 " (declare (in) vec3 x))\n"
11301 " ())\n"
11302 " (signature float\n"
11303 " (parameters\n"
11304 " (declare (in) vec4 x))\n"
11305 " ()))\n"
11306 "(function noise2\n"
11307 " (signature vec2\n"
11308 " (parameters\n"
11309 " (declare (in) float x))\n"
11310 " ())\n"
11311 " (signature vec2\n"
11312 " (parameters\n"
11313 " (declare (in) vec2 x))\n"
11314 " ())\n"
11315 " (signature vec2\n"
11316 " (parameters\n"
11317 " (declare (in) vec3 x))\n"
11318 " ())\n"
11319 " (signature vec2\n"
11320 " (parameters\n"
11321 " (declare (in) vec4 x))\n"
11322 " ()))\n"
11323 "(function noise3\n"
11324 " (signature vec3\n"
11325 " (parameters\n"
11326 " (declare (in) float x))\n"
11327 " ())\n"
11328 " (signature vec3\n"
11329 " (parameters\n"
11330 " (declare (in) vec2 x))\n"
11331 " ())\n"
11332 " (signature vec3\n"
11333 " (parameters\n"
11334 " (declare (in) vec3 x))\n"
11335 " ())\n"
11336 " (signature vec3\n"
11337 " (parameters\n"
11338 " (declare (in) vec4 x))\n"
11339 " ()))\n"
11340 "(function noise4\n"
11341 " (signature vec4\n"
11342 " (parameters\n"
11343 " (declare (in) float x))\n"
11344 " ())\n"
11345 " (signature vec4\n"
11346 " (parameters\n"
11347 " (declare (in) vec2 x))\n"
11348 " ())\n"
11349 " (signature vec4\n"
11350 " (parameters\n"
11351 " (declare (in) vec3 x))\n"
11352 " ())\n"
11353 " (signature vec4\n"
11354 " (parameters\n"
11355 " (declare (in) vec4 x))\n"
11356 " ())))"
11357 ;
11358 static const char *functions_for_120_frag [] = {
11359 builtin_abs,
11360 builtin_acos,
11361 builtin_all,
11362 builtin_any,
11363 builtin_asin,
11364 builtin_atan,
11365 builtin_ceil,
11366 builtin_clamp,
11367 builtin_cos,
11368 builtin_cross,
11369 builtin_dFdx,
11370 builtin_dFdy,
11371 builtin_degrees,
11372 builtin_distance,
11373 builtin_dot,
11374 builtin_equal,
11375 builtin_exp,
11376 builtin_exp2,
11377 builtin_faceforward,
11378 builtin_floor,
11379 builtin_fract,
11380 builtin_fwidth,
11381 builtin_greaterThan,
11382 builtin_greaterThanEqual,
11383 builtin_inversesqrt,
11384 builtin_length,
11385 builtin_lessThan,
11386 builtin_lessThanEqual,
11387 builtin_log,
11388 builtin_log2,
11389 builtin_matrixCompMult,
11390 builtin_max,
11391 builtin_min,
11392 builtin_mix,
11393 builtin_mod,
11394 builtin_noise1,
11395 builtin_noise2,
11396 builtin_noise3,
11397 builtin_noise4,
11398 builtin_normalize,
11399 builtin_not,
11400 builtin_notEqual,
11401 builtin_outerProduct,
11402 builtin_pow,
11403 builtin_radians,
11404 builtin_reflect,
11405 builtin_refract,
11406 builtin_shadow1D,
11407 builtin_shadow1DProj,
11408 builtin_shadow2D,
11409 builtin_shadow2DProj,
11410 builtin_sign,
11411 builtin_sin,
11412 builtin_smoothstep,
11413 builtin_sqrt,
11414 builtin_step,
11415 builtin_tan,
11416 builtin_texture1D,
11417 builtin_texture1DProj,
11418 builtin_texture2D,
11419 builtin_texture2DProj,
11420 builtin_texture3D,
11421 builtin_texture3DProj,
11422 builtin_textureCube,
11423 builtin_transpose,
11424 };
11425 static const char prototypes_for_120_vert[] =
11426 "(\n"
11427 "(function radians\n"
11428 " (signature float\n"
11429 " (parameters\n"
11430 " (declare (in) float degrees))\n"
11431 " ())\n"
11432 " (signature vec2\n"
11433 " (parameters\n"
11434 " (declare (in) vec2 degrees))\n"
11435 " ())\n"
11436 " (signature vec3\n"
11437 " (parameters\n"
11438 " (declare (in) vec3 degrees))\n"
11439 " ())\n"
11440 " (signature vec4\n"
11441 " (parameters\n"
11442 " (declare (in) vec4 degrees))\n"
11443 " ()))\n"
11444 "(function degrees\n"
11445 " (signature float\n"
11446 " (parameters\n"
11447 " (declare (in) float radians))\n"
11448 " ())\n"
11449 " (signature vec2\n"
11450 " (parameters\n"
11451 " (declare (in) vec2 radians))\n"
11452 " ())\n"
11453 " (signature vec3\n"
11454 " (parameters\n"
11455 " (declare (in) vec3 radians))\n"
11456 " ())\n"
11457 " (signature vec4\n"
11458 " (parameters\n"
11459 " (declare (in) vec4 radians))\n"
11460 " ()))\n"
11461 "(function sin\n"
11462 " (signature float\n"
11463 " (parameters\n"
11464 " (declare (in) float angle))\n"
11465 " ())\n"
11466 " (signature vec2\n"
11467 " (parameters\n"
11468 " (declare (in) vec2 angle))\n"
11469 " ())\n"
11470 " (signature vec3\n"
11471 " (parameters\n"
11472 " (declare (in) vec3 angle))\n"
11473 " ())\n"
11474 " (signature vec4\n"
11475 " (parameters\n"
11476 " (declare (in) vec4 angle))\n"
11477 " ()))\n"
11478 "(function cos\n"
11479 " (signature float\n"
11480 " (parameters\n"
11481 " (declare (in) float angle))\n"
11482 " ())\n"
11483 " (signature vec2\n"
11484 " (parameters\n"
11485 " (declare (in) vec2 angle))\n"
11486 " ())\n"
11487 " (signature vec3\n"
11488 " (parameters\n"
11489 " (declare (in) vec3 angle))\n"
11490 " ())\n"
11491 " (signature vec4\n"
11492 " (parameters\n"
11493 " (declare (in) vec4 angle))\n"
11494 " ()))\n"
11495 "(function tan\n"
11496 " (signature float\n"
11497 " (parameters\n"
11498 " (declare (in) float angle))\n"
11499 " ())\n"
11500 " (signature vec2\n"
11501 " (parameters\n"
11502 " (declare (in) vec2 angle))\n"
11503 " ())\n"
11504 " (signature vec3\n"
11505 " (parameters\n"
11506 " (declare (in) vec3 angle))\n"
11507 " ())\n"
11508 " (signature vec4\n"
11509 " (parameters\n"
11510 " (declare (in) vec4 angle))\n"
11511 " ()))\n"
11512 "(function asin\n"
11513 " (signature float\n"
11514 " (parameters\n"
11515 " (declare (in) float angle))\n"
11516 " ())\n"
11517 " (signature vec2\n"
11518 " (parameters\n"
11519 " (declare (in) vec2 angle))\n"
11520 " ())\n"
11521 " (signature vec3\n"
11522 " (parameters\n"
11523 " (declare (in) vec3 angle))\n"
11524 " ())\n"
11525 " (signature vec4\n"
11526 " (parameters\n"
11527 " (declare (in) vec4 angle))\n"
11528 " ()))\n"
11529 "(function acos\n"
11530 " (signature float\n"
11531 " (parameters\n"
11532 " (declare (in) float angle))\n"
11533 " ())\n"
11534 " (signature vec2\n"
11535 " (parameters\n"
11536 " (declare (in) vec2 angle))\n"
11537 " ())\n"
11538 " (signature vec3\n"
11539 " (parameters\n"
11540 " (declare (in) vec3 angle))\n"
11541 " ())\n"
11542 " (signature vec4\n"
11543 " (parameters\n"
11544 " (declare (in) vec4 angle))\n"
11545 " ()))\n"
11546 "(function atan\n"
11547 " (signature float\n"
11548 " (parameters\n"
11549 " (declare (in) float y)\n"
11550 " (declare (in) float x))\n"
11551 " ())\n"
11552 " (signature vec2\n"
11553 " (parameters\n"
11554 " (declare (in) vec2 y)\n"
11555 " (declare (in) vec2 x))\n"
11556 " ())\n"
11557 " (signature vec3\n"
11558 " (parameters\n"
11559 " (declare (in) vec3 y)\n"
11560 " (declare (in) vec3 x))\n"
11561 " ())\n"
11562 " (signature vec4\n"
11563 " (parameters\n"
11564 " (declare (in) vec4 y)\n"
11565 " (declare (in) vec4 x))\n"
11566 " ())\n"
11567 " (signature float\n"
11568 " (parameters\n"
11569 " (declare (in) float y_over_x))\n"
11570 " ())\n"
11571 " (signature vec2\n"
11572 " (parameters\n"
11573 " (declare (in) vec2 y_over_x))\n"
11574 " ())\n"
11575 " (signature vec3\n"
11576 " (parameters\n"
11577 " (declare (in) vec3 y_over_x))\n"
11578 " ())\n"
11579 " (signature vec4\n"
11580 " (parameters\n"
11581 " (declare (in) vec4 y_over_x))\n"
11582 " ()))\n"
11583 "(function pow\n"
11584 " (signature float\n"
11585 " (parameters\n"
11586 " (declare (in) float x)\n"
11587 " (declare (in) float y))\n"
11588 " ())\n"
11589 " (signature vec2\n"
11590 " (parameters\n"
11591 " (declare (in) vec2 x)\n"
11592 " (declare (in) vec2 y))\n"
11593 " ())\n"
11594 " (signature vec3\n"
11595 " (parameters\n"
11596 " (declare (in) vec3 x)\n"
11597 " (declare (in) vec3 y))\n"
11598 " ())\n"
11599 " (signature vec4\n"
11600 " (parameters\n"
11601 " (declare (in) vec4 x)\n"
11602 " (declare (in) vec4 y))\n"
11603 " ()))\n"
11604 "(function exp\n"
11605 " (signature float\n"
11606 " (parameters\n"
11607 " (declare (in) float x))\n"
11608 " ())\n"
11609 " (signature vec2\n"
11610 " (parameters\n"
11611 " (declare (in) vec2 x))\n"
11612 " ())\n"
11613 " (signature vec3\n"
11614 " (parameters\n"
11615 " (declare (in) vec3 x))\n"
11616 " ())\n"
11617 " (signature vec4\n"
11618 " (parameters\n"
11619 " (declare (in) vec4 x))\n"
11620 " ()))\n"
11621 "(function log\n"
11622 " (signature float\n"
11623 " (parameters\n"
11624 " (declare (in) float x))\n"
11625 " ())\n"
11626 " (signature vec2\n"
11627 " (parameters\n"
11628 " (declare (in) vec2 x))\n"
11629 " ())\n"
11630 " (signature vec3\n"
11631 " (parameters\n"
11632 " (declare (in) vec3 x))\n"
11633 " ())\n"
11634 " (signature vec4\n"
11635 " (parameters\n"
11636 " (declare (in) vec4 x))\n"
11637 " ()))\n"
11638 "(function exp2\n"
11639 " (signature float\n"
11640 " (parameters\n"
11641 " (declare (in) float x))\n"
11642 " ())\n"
11643 " (signature vec2\n"
11644 " (parameters\n"
11645 " (declare (in) vec2 x))\n"
11646 " ())\n"
11647 " (signature vec3\n"
11648 " (parameters\n"
11649 " (declare (in) vec3 x))\n"
11650 " ())\n"
11651 " (signature vec4\n"
11652 " (parameters\n"
11653 " (declare (in) vec4 x))\n"
11654 " ()))\n"
11655 "(function log2\n"
11656 " (signature float\n"
11657 " (parameters\n"
11658 " (declare (in) float x))\n"
11659 " ())\n"
11660 " (signature vec2\n"
11661 " (parameters\n"
11662 " (declare (in) vec2 x))\n"
11663 " ())\n"
11664 " (signature vec3\n"
11665 " (parameters\n"
11666 " (declare (in) vec3 x))\n"
11667 " ())\n"
11668 " (signature vec4\n"
11669 " (parameters\n"
11670 " (declare (in) vec4 x))\n"
11671 " ()))\n"
11672 "(function sqrt\n"
11673 " (signature float\n"
11674 " (parameters\n"
11675 " (declare (in) float x))\n"
11676 " ())\n"
11677 " (signature vec2\n"
11678 " (parameters\n"
11679 " (declare (in) vec2 x))\n"
11680 " ())\n"
11681 " (signature vec3\n"
11682 " (parameters\n"
11683 " (declare (in) vec3 x))\n"
11684 " ())\n"
11685 " (signature vec4\n"
11686 " (parameters\n"
11687 " (declare (in) vec4 x))\n"
11688 " ()))\n"
11689 "(function inversesqrt\n"
11690 " (signature float\n"
11691 " (parameters\n"
11692 " (declare (in) float x))\n"
11693 " ())\n"
11694 " (signature vec2\n"
11695 " (parameters\n"
11696 " (declare (in) vec2 x))\n"
11697 " ())\n"
11698 " (signature vec3\n"
11699 " (parameters\n"
11700 " (declare (in) vec3 x))\n"
11701 " ())\n"
11702 " (signature vec4\n"
11703 " (parameters\n"
11704 " (declare (in) vec4 x))\n"
11705 " ()))\n"
11706 "(function abs\n"
11707 " (signature float\n"
11708 " (parameters\n"
11709 " (declare (in) float x))\n"
11710 " ())\n"
11711 " (signature vec2\n"
11712 " (parameters\n"
11713 " (declare (in) vec2 x))\n"
11714 " ())\n"
11715 " (signature vec3\n"
11716 " (parameters\n"
11717 " (declare (in) vec3 x))\n"
11718 " ())\n"
11719 " (signature vec4\n"
11720 " (parameters\n"
11721 " (declare (in) vec4 x))\n"
11722 " ()))\n"
11723 "(function sign\n"
11724 " (signature float\n"
11725 " (parameters\n"
11726 " (declare (in) float x))\n"
11727 " ())\n"
11728 " (signature vec2\n"
11729 " (parameters\n"
11730 " (declare (in) vec2 x))\n"
11731 " ())\n"
11732 " (signature vec3\n"
11733 " (parameters\n"
11734 " (declare (in) vec3 x))\n"
11735 " ())\n"
11736 " (signature vec4\n"
11737 " (parameters\n"
11738 " (declare (in) vec4 x))\n"
11739 " ()))\n"
11740 "(function floor\n"
11741 " (signature float\n"
11742 " (parameters\n"
11743 " (declare (in) float x))\n"
11744 " ())\n"
11745 " (signature vec2\n"
11746 " (parameters\n"
11747 " (declare (in) vec2 x))\n"
11748 " ())\n"
11749 " (signature vec3\n"
11750 " (parameters\n"
11751 " (declare (in) vec3 x))\n"
11752 " ())\n"
11753 " (signature vec4\n"
11754 " (parameters\n"
11755 " (declare (in) vec4 x))\n"
11756 " ()))\n"
11757 "(function ceil\n"
11758 " (signature float\n"
11759 " (parameters\n"
11760 " (declare (in) float x))\n"
11761 " ())\n"
11762 " (signature vec2\n"
11763 " (parameters\n"
11764 " (declare (in) vec2 x))\n"
11765 " ())\n"
11766 " (signature vec3\n"
11767 " (parameters\n"
11768 " (declare (in) vec3 x))\n"
11769 " ())\n"
11770 " (signature vec4\n"
11771 " (parameters\n"
11772 " (declare (in) vec4 x))\n"
11773 " ()))\n"
11774 "(function fract\n"
11775 " (signature float\n"
11776 " (parameters\n"
11777 " (declare (in) float x))\n"
11778 " ())\n"
11779 " (signature vec2\n"
11780 " (parameters\n"
11781 " (declare (in) vec2 x))\n"
11782 " ())\n"
11783 " (signature vec3\n"
11784 " (parameters\n"
11785 " (declare (in) vec3 x))\n"
11786 " ())\n"
11787 " (signature vec4\n"
11788 " (parameters\n"
11789 " (declare (in) vec4 x))\n"
11790 " ()))\n"
11791 "(function mod\n"
11792 " (signature float\n"
11793 " (parameters\n"
11794 " (declare (in) float x)\n"
11795 " (declare (in) float y))\n"
11796 " ())\n"
11797 " (signature vec2\n"
11798 " (parameters\n"
11799 " (declare (in) vec2 x)\n"
11800 " (declare (in) float y))\n"
11801 " ())\n"
11802 " (signature vec3\n"
11803 " (parameters\n"
11804 " (declare (in) vec3 x)\n"
11805 " (declare (in) float y))\n"
11806 " ())\n"
11807 " (signature vec4\n"
11808 " (parameters\n"
11809 " (declare (in) vec4 x)\n"
11810 " (declare (in) float y))\n"
11811 " ())\n"
11812 " (signature vec2\n"
11813 " (parameters\n"
11814 " (declare (in) vec2 x)\n"
11815 " (declare (in) vec2 y))\n"
11816 " ())\n"
11817 " (signature vec3\n"
11818 " (parameters\n"
11819 " (declare (in) vec3 x)\n"
11820 " (declare (in) vec3 y))\n"
11821 " ())\n"
11822 " (signature vec4\n"
11823 " (parameters\n"
11824 " (declare (in) vec4 x)\n"
11825 " (declare (in) vec4 y))\n"
11826 " ()))\n"
11827 "(function min\n"
11828 " (signature float\n"
11829 " (parameters\n"
11830 " (declare (in) float x)\n"
11831 " (declare (in) float y))\n"
11832 " ())\n"
11833 " (signature vec2\n"
11834 " (parameters\n"
11835 " (declare (in) vec2 x)\n"
11836 " (declare (in) vec2 y))\n"
11837 " ())\n"
11838 " (signature vec3\n"
11839 " (parameters\n"
11840 " (declare (in) vec3 x)\n"
11841 " (declare (in) vec3 y))\n"
11842 " ())\n"
11843 " (signature vec4\n"
11844 " (parameters\n"
11845 " (declare (in) vec4 x)\n"
11846 " (declare (in) vec4 y))\n"
11847 " ())\n"
11848 " (signature vec2\n"
11849 " (parameters\n"
11850 " (declare (in) vec2 x)\n"
11851 " (declare (in) float y))\n"
11852 " ())\n"
11853 " (signature vec3\n"
11854 " (parameters\n"
11855 " (declare (in) vec3 x)\n"
11856 " (declare (in) float y))\n"
11857 " ())\n"
11858 " (signature vec4\n"
11859 " (parameters\n"
11860 " (declare (in) vec4 x)\n"
11861 " (declare (in) float y))\n"
11862 " ()))\n"
11863 "(function max\n"
11864 " (signature float\n"
11865 " (parameters\n"
11866 " (declare (in) float x)\n"
11867 " (declare (in) float y))\n"
11868 " ())\n"
11869 " (signature vec2\n"
11870 " (parameters\n"
11871 " (declare (in) vec2 x)\n"
11872 " (declare (in) vec2 y))\n"
11873 " ())\n"
11874 " (signature vec3\n"
11875 " (parameters\n"
11876 " (declare (in) vec3 x)\n"
11877 " (declare (in) vec3 y))\n"
11878 " ())\n"
11879 " (signature vec4\n"
11880 " (parameters\n"
11881 " (declare (in) vec4 x)\n"
11882 " (declare (in) vec4 y))\n"
11883 " ())\n"
11884 " (signature vec2\n"
11885 " (parameters\n"
11886 " (declare (in) vec2 x)\n"
11887 " (declare (in) float y))\n"
11888 " ())\n"
11889 " (signature vec3\n"
11890 " (parameters\n"
11891 " (declare (in) vec3 x)\n"
11892 " (declare (in) float y))\n"
11893 " ())\n"
11894 " (signature vec4\n"
11895 " (parameters\n"
11896 " (declare (in) vec4 x)\n"
11897 " (declare (in) float y))\n"
11898 " ()))\n"
11899 "(function clamp\n"
11900 " (signature float\n"
11901 " (parameters\n"
11902 " (declare (in) float x)\n"
11903 " (declare (in) float minVal)\n"
11904 " (declare (in) float maxVal))\n"
11905 " ())\n"
11906 " (signature vec2\n"
11907 " (parameters\n"
11908 " (declare (in) vec2 x)\n"
11909 " (declare (in) vec2 minVal)\n"
11910 " (declare (in) vec2 maxVal))\n"
11911 " ())\n"
11912 " (signature vec3\n"
11913 " (parameters\n"
11914 " (declare (in) vec3 x)\n"
11915 " (declare (in) vec3 minVal)\n"
11916 " (declare (in) vec3 maxVal))\n"
11917 " ())\n"
11918 " (signature vec4\n"
11919 " (parameters\n"
11920 " (declare (in) vec4 x)\n"
11921 " (declare (in) vec4 minVal)\n"
11922 " (declare (in) vec4 maxVal))\n"
11923 " ())\n"
11924 " (signature vec2\n"
11925 " (parameters\n"
11926 " (declare (in) vec2 x)\n"
11927 " (declare (in) float minVal)\n"
11928 " (declare (in) float maxVal))\n"
11929 " ())\n"
11930 " (signature vec3\n"
11931 " (parameters\n"
11932 " (declare (in) vec3 x)\n"
11933 " (declare (in) float minVal)\n"
11934 " (declare (in) float maxVal))\n"
11935 " ())\n"
11936 " (signature vec4\n"
11937 " (parameters\n"
11938 " (declare (in) vec4 x)\n"
11939 " (declare (in) float minVal)\n"
11940 " (declare (in) float maxVal))\n"
11941 " ()))\n"
11942 "(function mix\n"
11943 " (signature float\n"
11944 " (parameters\n"
11945 " (declare (in) float x)\n"
11946 " (declare (in) float y)\n"
11947 " (declare (in) float a))\n"
11948 " ())\n"
11949 " (signature vec2\n"
11950 " (parameters\n"
11951 " (declare (in) vec2 x)\n"
11952 " (declare (in) vec2 y)\n"
11953 " (declare (in) vec2 a))\n"
11954 " ())\n"
11955 " (signature vec3\n"
11956 " (parameters\n"
11957 " (declare (in) vec3 x)\n"
11958 " (declare (in) vec3 y)\n"
11959 " (declare (in) vec3 a))\n"
11960 " ())\n"
11961 " (signature vec4\n"
11962 " (parameters\n"
11963 " (declare (in) vec4 x)\n"
11964 " (declare (in) vec4 y)\n"
11965 " (declare (in) vec4 a))\n"
11966 " ())\n"
11967 " (signature vec2\n"
11968 " (parameters\n"
11969 " (declare (in) vec2 x)\n"
11970 " (declare (in) vec2 y)\n"
11971 " (declare (in) float a))\n"
11972 " ())\n"
11973 " (signature vec3\n"
11974 " (parameters\n"
11975 " (declare (in) vec3 x)\n"
11976 " (declare (in) vec3 y)\n"
11977 " (declare (in) float a))\n"
11978 " ())\n"
11979 " (signature vec4\n"
11980 " (parameters\n"
11981 " (declare (in) vec4 x)\n"
11982 " (declare (in) vec4 y)\n"
11983 " (declare (in) float a))\n"
11984 " ()))\n"
11985 "(function step\n"
11986 " (signature float\n"
11987 " (parameters\n"
11988 " (declare (in) float edge)\n"
11989 " (declare (in) float x))\n"
11990 " ())\n"
11991 " (signature vec2\n"
11992 " (parameters\n"
11993 " (declare (in) vec2 edge)\n"
11994 " (declare (in) vec2 x))\n"
11995 " ())\n"
11996 " (signature vec3\n"
11997 " (parameters\n"
11998 " (declare (in) vec3 edge)\n"
11999 " (declare (in) vec3 x))\n"
12000 " ())\n"
12001 " (signature vec4\n"
12002 " (parameters\n"
12003 " (declare (in) vec4 edge)\n"
12004 " (declare (in) vec4 x))\n"
12005 " ())\n"
12006 " (signature vec2\n"
12007 " (parameters\n"
12008 " (declare (in) float edge)\n"
12009 " (declare (in) vec2 x))\n"
12010 " ())\n"
12011 " (signature vec3\n"
12012 " (parameters\n"
12013 " (declare (in) float edge)\n"
12014 " (declare (in) vec3 x))\n"
12015 " ())\n"
12016 " (signature vec4\n"
12017 " (parameters\n"
12018 " (declare (in) float edge)\n"
12019 " (declare (in) vec4 x))\n"
12020 " ()))\n"
12021 "(function smoothstep\n"
12022 " (signature float\n"
12023 " (parameters\n"
12024 " (declare (in) float edge0)\n"
12025 " (declare (in) float edge1)\n"
12026 " (declare (in) float x))\n"
12027 " ())\n"
12028 " (signature vec2\n"
12029 " (parameters\n"
12030 " (declare (in) vec2 edge0)\n"
12031 " (declare (in) vec2 edge1)\n"
12032 " (declare (in) vec2 x))\n"
12033 " ())\n"
12034 " (signature vec3\n"
12035 " (parameters\n"
12036 " (declare (in) vec3 edge0)\n"
12037 " (declare (in) vec3 edge1)\n"
12038 " (declare (in) vec3 x))\n"
12039 " ())\n"
12040 " (signature vec4\n"
12041 " (parameters\n"
12042 " (declare (in) vec4 edge0)\n"
12043 " (declare (in) vec4 edge1)\n"
12044 " (declare (in) vec4 x))\n"
12045 " ())\n"
12046 " (signature vec2\n"
12047 " (parameters\n"
12048 " (declare (in) float edge0)\n"
12049 " (declare (in) float edge1)\n"
12050 " (declare (in) vec2 x))\n"
12051 " ())\n"
12052 " (signature vec3\n"
12053 " (parameters\n"
12054 " (declare (in) float edge0)\n"
12055 " (declare (in) float edge1)\n"
12056 " (declare (in) vec3 x))\n"
12057 " ())\n"
12058 " (signature vec4\n"
12059 " (parameters\n"
12060 " (declare (in) float edge0)\n"
12061 " (declare (in) float edge1)\n"
12062 " (declare (in) vec4 x))\n"
12063 " ()))\n"
12064 "(function length\n"
12065 " (signature float\n"
12066 " (parameters\n"
12067 " (declare (in) float x))\n"
12068 " ())\n"
12069 " (signature float\n"
12070 " (parameters\n"
12071 " (declare (in) vec2 x))\n"
12072 " ())\n"
12073 " (signature float\n"
12074 " (parameters\n"
12075 " (declare (in) vec3 x))\n"
12076 " ())\n"
12077 " (signature float\n"
12078 " (parameters\n"
12079 " (declare (in) vec4 x))\n"
12080 " ()))\n"
12081 "(function distance\n"
12082 " (signature float\n"
12083 " (parameters\n"
12084 " (declare (in) float p0)\n"
12085 " (declare (in) float p1))\n"
12086 " ())\n"
12087 " (signature float\n"
12088 " (parameters\n"
12089 " (declare (in) vec2 p0)\n"
12090 " (declare (in) vec2 p1))\n"
12091 " ())\n"
12092 " (signature float\n"
12093 " (parameters\n"
12094 " (declare (in) vec3 p0)\n"
12095 " (declare (in) vec3 p1))\n"
12096 " ())\n"
12097 " (signature float\n"
12098 " (parameters\n"
12099 " (declare (in) vec4 p0)\n"
12100 " (declare (in) vec4 p1))\n"
12101 " ()))\n"
12102 "(function dot\n"
12103 " (signature float\n"
12104 " (parameters\n"
12105 " (declare (in) float x)\n"
12106 " (declare (in) float y))\n"
12107 " ())\n"
12108 " (signature float\n"
12109 " (parameters\n"
12110 " (declare (in) vec2 x)\n"
12111 " (declare (in) vec2 y))\n"
12112 " ())\n"
12113 " (signature float\n"
12114 " (parameters\n"
12115 " (declare (in) vec3 x)\n"
12116 " (declare (in) vec3 y))\n"
12117 " ())\n"
12118 " (signature float\n"
12119 " (parameters\n"
12120 " (declare (in) vec4 x)\n"
12121 " (declare (in) vec4 y))\n"
12122 " ()))\n"
12123 "(function cross\n"
12124 " (signature vec3\n"
12125 " (parameters\n"
12126 " (declare (in) vec3 x)\n"
12127 " (declare (in) vec3 y))\n"
12128 " ()))\n"
12129 "(function normalize\n"
12130 " (signature float\n"
12131 " (parameters\n"
12132 " (declare (in) float x))\n"
12133 " ())\n"
12134 " (signature vec2\n"
12135 " (parameters\n"
12136 " (declare (in) vec2 x))\n"
12137 " ())\n"
12138 " (signature vec3\n"
12139 " (parameters\n"
12140 " (declare (in) vec3 x))\n"
12141 " ())\n"
12142 " (signature vec4\n"
12143 " (parameters\n"
12144 " (declare (in) vec4 x))\n"
12145 " ()))\n"
12146 "(function ftransform\n"
12147 " (signature vec4\n"
12148 " (parameters)\n"
12149 " ()))\n"
12150 "(function faceforward\n"
12151 " (signature float\n"
12152 " (parameters\n"
12153 " (declare (in) float N)\n"
12154 " (declare (in) float I)\n"
12155 " (declare (in) float Nref))\n"
12156 " ())\n"
12157 " (signature vec2\n"
12158 " (parameters\n"
12159 " (declare (in) vec2 N)\n"
12160 " (declare (in) vec2 I)\n"
12161 " (declare (in) vec2 Nref))\n"
12162 " ())\n"
12163 " (signature vec3\n"
12164 " (parameters\n"
12165 " (declare (in) vec3 N)\n"
12166 " (declare (in) vec3 I)\n"
12167 " (declare (in) vec3 Nref))\n"
12168 " ())\n"
12169 " (signature vec4\n"
12170 " (parameters\n"
12171 " (declare (in) vec4 N)\n"
12172 " (declare (in) vec4 I)\n"
12173 " (declare (in) vec4 Nref))\n"
12174 " ()))\n"
12175 "(function reflect\n"
12176 " (signature float\n"
12177 " (parameters\n"
12178 " (declare (in) float I)\n"
12179 " (declare (in) float N))\n"
12180 " ())\n"
12181 " (signature vec2\n"
12182 " (parameters\n"
12183 " (declare (in) vec2 I)\n"
12184 " (declare (in) vec2 N))\n"
12185 " ())\n"
12186 " (signature vec3\n"
12187 " (parameters\n"
12188 " (declare (in) vec3 I)\n"
12189 " (declare (in) vec3 N))\n"
12190 " ())\n"
12191 " (signature vec4\n"
12192 " (parameters\n"
12193 " (declare (in) vec4 I)\n"
12194 " (declare (in) vec4 N))\n"
12195 " ()))\n"
12196 "(function refract\n"
12197 " (signature float\n"
12198 " (parameters\n"
12199 " (declare (in) float I)\n"
12200 " (declare (in) float N)\n"
12201 " (declare (in) float eta))\n"
12202 " ())\n"
12203 " (signature vec2\n"
12204 " (parameters\n"
12205 " (declare (in) vec2 I)\n"
12206 " (declare (in) vec2 N)\n"
12207 " (declare (in) float eta))\n"
12208 " ())\n"
12209 " (signature vec3\n"
12210 " (parameters\n"
12211 " (declare (in) vec3 I)\n"
12212 " (declare (in) vec3 N)\n"
12213 " (declare (in) float eta))\n"
12214 " ())\n"
12215 " (signature vec4\n"
12216 " (parameters\n"
12217 " (declare (in) vec4 I)\n"
12218 " (declare (in) vec4 N)\n"
12219 " (declare (in) float eta))\n"
12220 " ()))\n"
12221 "(function matrixCompMult\n"
12222 " (signature mat2\n"
12223 " (parameters\n"
12224 " (declare (in) mat2 x)\n"
12225 " (declare (in) mat2 y))\n"
12226 " ())\n"
12227 " (signature mat3\n"
12228 " (parameters\n"
12229 " (declare (in) mat3 x)\n"
12230 " (declare (in) mat3 y))\n"
12231 " ())\n"
12232 " (signature mat4\n"
12233 " (parameters\n"
12234 " (declare (in) mat4 x)\n"
12235 " (declare (in) mat4 y))\n"
12236 " ())\n"
12237 " (signature mat2x3\n"
12238 " (parameters\n"
12239 " (declare (in) mat2x3 x)\n"
12240 " (declare (in) mat2x3 y))\n"
12241 " ())\n"
12242 " (signature mat2x4\n"
12243 " (parameters\n"
12244 " (declare (in) mat2x4 x)\n"
12245 " (declare (in) mat2x4 y))\n"
12246 " ())\n"
12247 " (signature mat3x2\n"
12248 " (parameters\n"
12249 " (declare (in) mat3x2 x)\n"
12250 " (declare (in) mat3x2 y))\n"
12251 " ())\n"
12252 " (signature mat3x4\n"
12253 " (parameters\n"
12254 " (declare (in) mat3x4 x)\n"
12255 " (declare (in) mat3x4 y))\n"
12256 " ())\n"
12257 " (signature mat4x2\n"
12258 " (parameters\n"
12259 " (declare (in) mat4x2 x)\n"
12260 " (declare (in) mat4x2 y))\n"
12261 " ())\n"
12262 " (signature mat4x3\n"
12263 " (parameters\n"
12264 " (declare (in) mat4x3 x)\n"
12265 " (declare (in) mat4x3 y))\n"
12266 " ()))\n"
12267 "(function outerProduct\n"
12268 " (signature mat2\n"
12269 " (parameters\n"
12270 " (declare (in) vec2 c)\n"
12271 " (declare (in) vec2 r))\n"
12272 " ())\n"
12273 " (signature mat3\n"
12274 " (parameters\n"
12275 " (declare (in) vec3 c)\n"
12276 " (declare (in) vec3 r))\n"
12277 " ())\n"
12278 " (signature mat4\n"
12279 " (parameters\n"
12280 " (declare (in) vec4 c)\n"
12281 " (declare (in) vec4 r))\n"
12282 " ())\n"
12283 " (signature mat2x3\n"
12284 " (parameters\n"
12285 " (declare (in) vec3 c)\n"
12286 " (declare (in) vec2 r))\n"
12287 " ())\n"
12288 " (signature mat3x2\n"
12289 " (parameters\n"
12290 " (declare (in) vec2 c)\n"
12291 " (declare (in) vec3 r))\n"
12292 " ())\n"
12293 " (signature mat2x4\n"
12294 " (parameters\n"
12295 " (declare (in) vec4 c)\n"
12296 " (declare (in) vec2 r))\n"
12297 " ())\n"
12298 " (signature mat4x2\n"
12299 " (parameters\n"
12300 " (declare (in) vec2 c)\n"
12301 " (declare (in) vec4 r))\n"
12302 " ())\n"
12303 " (signature mat3x4\n"
12304 " (parameters\n"
12305 " (declare (in) vec4 c)\n"
12306 " (declare (in) vec3 r))\n"
12307 " ())\n"
12308 " (signature mat4x3\n"
12309 " (parameters\n"
12310 " (declare (in) vec3 c)\n"
12311 " (declare (in) vec4 r))\n"
12312 " ()))\n"
12313 "(function transpose\n"
12314 " (signature mat2\n"
12315 " (parameters\n"
12316 " (declare (in) mat2 m))\n"
12317 " ())\n"
12318 " (signature mat3\n"
12319 " (parameters\n"
12320 " (declare (in) mat3 m))\n"
12321 " ())\n"
12322 " (signature mat4\n"
12323 " (parameters\n"
12324 " (declare (in) mat4 m))\n"
12325 " ())\n"
12326 " (signature mat2x3\n"
12327 " (parameters\n"
12328 " (declare (in) mat3x2 m))\n"
12329 " ())\n"
12330 " (signature mat3x2\n"
12331 " (parameters\n"
12332 " (declare (in) mat2x3 m))\n"
12333 " ())\n"
12334 " (signature mat2x4\n"
12335 " (parameters\n"
12336 " (declare (in) mat4x2 m))\n"
12337 " ())\n"
12338 " (signature mat4x2\n"
12339 " (parameters\n"
12340 " (declare (in) mat2x4 m))\n"
12341 " ())\n"
12342 " (signature mat3x4\n"
12343 " (parameters\n"
12344 " (declare (in) mat4x3 m))\n"
12345 " ())\n"
12346 " (signature mat4x3\n"
12347 " (parameters\n"
12348 " (declare (in) mat3x4 m))\n"
12349 " ()))\n"
12350 "(function lessThan\n"
12351 " (signature bvec2\n"
12352 " (parameters\n"
12353 " (declare (in) vec2 x)\n"
12354 " (declare (in) vec2 y))\n"
12355 " ())\n"
12356 " (signature bvec3\n"
12357 " (parameters\n"
12358 " (declare (in) vec3 x)\n"
12359 " (declare (in) vec3 y))\n"
12360 " ())\n"
12361 " (signature bvec4\n"
12362 " (parameters\n"
12363 " (declare (in) vec4 x)\n"
12364 " (declare (in) vec4 y))\n"
12365 " ())\n"
12366 " (signature bvec2\n"
12367 " (parameters\n"
12368 " (declare (in) ivec2 x)\n"
12369 " (declare (in) ivec2 y))\n"
12370 " ())\n"
12371 " (signature bvec3\n"
12372 " (parameters\n"
12373 " (declare (in) ivec3 x)\n"
12374 " (declare (in) ivec3 y))\n"
12375 " ())\n"
12376 " (signature bvec4\n"
12377 " (parameters\n"
12378 " (declare (in) ivec4 x)\n"
12379 " (declare (in) ivec4 y))\n"
12380 " ()))\n"
12381 "(function lessThanEqual\n"
12382 " (signature bvec2\n"
12383 " (parameters\n"
12384 " (declare (in) vec2 x)\n"
12385 " (declare (in) vec2 y))\n"
12386 " ())\n"
12387 " (signature bvec3\n"
12388 " (parameters\n"
12389 " (declare (in) vec3 x)\n"
12390 " (declare (in) vec3 y))\n"
12391 " ())\n"
12392 " (signature bvec4\n"
12393 " (parameters\n"
12394 " (declare (in) vec4 x)\n"
12395 " (declare (in) vec4 y))\n"
12396 " ())\n"
12397 " (signature bvec2\n"
12398 " (parameters\n"
12399 " (declare (in) ivec2 x)\n"
12400 " (declare (in) ivec2 y))\n"
12401 " ())\n"
12402 " (signature bvec3\n"
12403 " (parameters\n"
12404 " (declare (in) ivec3 x)\n"
12405 " (declare (in) ivec3 y))\n"
12406 " ())\n"
12407 " (signature bvec4\n"
12408 " (parameters\n"
12409 " (declare (in) ivec4 x)\n"
12410 " (declare (in) ivec4 y))\n"
12411 " ()))\n"
12412 "(function greaterThan\n"
12413 " (signature bvec2\n"
12414 " (parameters\n"
12415 " (declare (in) vec2 x)\n"
12416 " (declare (in) vec2 y))\n"
12417 " ())\n"
12418 " (signature bvec3\n"
12419 " (parameters\n"
12420 " (declare (in) vec3 x)\n"
12421 " (declare (in) vec3 y))\n"
12422 " ())\n"
12423 " (signature bvec4\n"
12424 " (parameters\n"
12425 " (declare (in) vec4 x)\n"
12426 " (declare (in) vec4 y))\n"
12427 " ())\n"
12428 " (signature bvec2\n"
12429 " (parameters\n"
12430 " (declare (in) ivec2 x)\n"
12431 " (declare (in) ivec2 y))\n"
12432 " ())\n"
12433 " (signature bvec3\n"
12434 " (parameters\n"
12435 " (declare (in) ivec3 x)\n"
12436 " (declare (in) ivec3 y))\n"
12437 " ())\n"
12438 " (signature bvec4\n"
12439 " (parameters\n"
12440 " (declare (in) ivec4 x)\n"
12441 " (declare (in) ivec4 y))\n"
12442 " ()))\n"
12443 "(function greaterThanEqual\n"
12444 " (signature bvec2\n"
12445 " (parameters\n"
12446 " (declare (in) vec2 x)\n"
12447 " (declare (in) vec2 y))\n"
12448 " ())\n"
12449 " (signature bvec3\n"
12450 " (parameters\n"
12451 " (declare (in) vec3 x)\n"
12452 " (declare (in) vec3 y))\n"
12453 " ())\n"
12454 " (signature bvec4\n"
12455 " (parameters\n"
12456 " (declare (in) vec4 x)\n"
12457 " (declare (in) vec4 y))\n"
12458 " ())\n"
12459 " (signature bvec2\n"
12460 " (parameters\n"
12461 " (declare (in) ivec2 x)\n"
12462 " (declare (in) ivec2 y))\n"
12463 " ())\n"
12464 " (signature bvec3\n"
12465 " (parameters\n"
12466 " (declare (in) ivec3 x)\n"
12467 " (declare (in) ivec3 y))\n"
12468 " ())\n"
12469 " (signature bvec4\n"
12470 " (parameters\n"
12471 " (declare (in) ivec4 x)\n"
12472 " (declare (in) ivec4 y))\n"
12473 " ()))\n"
12474 "(function equal\n"
12475 " (signature bvec2\n"
12476 " (parameters\n"
12477 " (declare (in) vec2 x)\n"
12478 " (declare (in) vec2 y))\n"
12479 " ())\n"
12480 " (signature bvec3\n"
12481 " (parameters\n"
12482 " (declare (in) vec3 x)\n"
12483 " (declare (in) vec3 y))\n"
12484 " ())\n"
12485 " (signature bvec4\n"
12486 " (parameters\n"
12487 " (declare (in) vec4 x)\n"
12488 " (declare (in) vec4 y))\n"
12489 " ())\n"
12490 " (signature bvec2\n"
12491 " (parameters\n"
12492 " (declare (in) ivec2 x)\n"
12493 " (declare (in) ivec2 y))\n"
12494 " ())\n"
12495 " (signature bvec3\n"
12496 " (parameters\n"
12497 " (declare (in) ivec3 x)\n"
12498 " (declare (in) ivec3 y))\n"
12499 " ())\n"
12500 " (signature bvec4\n"
12501 " (parameters\n"
12502 " (declare (in) ivec4 x)\n"
12503 " (declare (in) ivec4 y))\n"
12504 " ())\n"
12505 " (signature bvec2\n"
12506 " (parameters\n"
12507 " (declare (in) bvec2 x)\n"
12508 " (declare (in) bvec2 y))\n"
12509 " ())\n"
12510 " (signature bvec3\n"
12511 " (parameters\n"
12512 " (declare (in) bvec3 x)\n"
12513 " (declare (in) bvec3 y))\n"
12514 " ())\n"
12515 " (signature bvec4\n"
12516 " (parameters\n"
12517 " (declare (in) bvec4 x)\n"
12518 " (declare (in) bvec4 y))\n"
12519 " ()))\n"
12520 "(function notEqual\n"
12521 " (signature bvec2\n"
12522 " (parameters\n"
12523 " (declare (in) vec2 x)\n"
12524 " (declare (in) vec2 y))\n"
12525 " ())\n"
12526 " (signature bvec3\n"
12527 " (parameters\n"
12528 " (declare (in) vec3 x)\n"
12529 " (declare (in) vec3 y))\n"
12530 " ())\n"
12531 " (signature bvec4\n"
12532 " (parameters\n"
12533 " (declare (in) vec4 x)\n"
12534 " (declare (in) vec4 y))\n"
12535 " ())\n"
12536 " (signature bvec2\n"
12537 " (parameters\n"
12538 " (declare (in) ivec2 x)\n"
12539 " (declare (in) ivec2 y))\n"
12540 " ())\n"
12541 " (signature bvec3\n"
12542 " (parameters\n"
12543 " (declare (in) ivec3 x)\n"
12544 " (declare (in) ivec3 y))\n"
12545 " ())\n"
12546 " (signature bvec4\n"
12547 " (parameters\n"
12548 " (declare (in) ivec4 x)\n"
12549 " (declare (in) ivec4 y))\n"
12550 " ())\n"
12551 " (signature bvec2\n"
12552 " (parameters\n"
12553 " (declare (in) bvec2 x)\n"
12554 " (declare (in) bvec2 y))\n"
12555 " ())\n"
12556 " (signature bvec3\n"
12557 " (parameters\n"
12558 " (declare (in) bvec3 x)\n"
12559 " (declare (in) bvec3 y))\n"
12560 " ())\n"
12561 " (signature bvec4\n"
12562 " (parameters\n"
12563 " (declare (in) bvec4 x)\n"
12564 " (declare (in) bvec4 y))\n"
12565 " ()))\n"
12566 "(function any\n"
12567 " (signature bool\n"
12568 " (parameters\n"
12569 " (declare (in) bvec2 x))\n"
12570 " ())\n"
12571 " (signature bool\n"
12572 " (parameters\n"
12573 " (declare (in) bvec3 x))\n"
12574 " ())\n"
12575 " (signature bool\n"
12576 " (parameters\n"
12577 " (declare (in) bvec4 x))\n"
12578 " ()))\n"
12579 "(function all\n"
12580 " (signature bool\n"
12581 " (parameters\n"
12582 " (declare (in) bvec2 x))\n"
12583 " ())\n"
12584 " (signature bool\n"
12585 " (parameters\n"
12586 " (declare (in) bvec3 x))\n"
12587 " ())\n"
12588 " (signature bool\n"
12589 " (parameters\n"
12590 " (declare (in) bvec4 x))\n"
12591 " ()))\n"
12592 "(function not\n"
12593 " (signature bvec2\n"
12594 " (parameters\n"
12595 " (declare (in) bvec2 x))\n"
12596 " ())\n"
12597 " (signature bvec3\n"
12598 " (parameters\n"
12599 " (declare (in) bvec3 x))\n"
12600 " ())\n"
12601 " (signature bvec4\n"
12602 " (parameters\n"
12603 " (declare (in) bvec4 x))\n"
12604 " ()))\n"
12605 "(function texture1D\n"
12606 " (signature vec4\n"
12607 " (parameters\n"
12608 " (declare (in) sampler1D sampler)\n"
12609 " (declare (in) float coord))\n"
12610 " ()))\n"
12611 "(function texture1DProj\n"
12612 " (signature vec4\n"
12613 " (parameters\n"
12614 " (declare (in) sampler1D sampler)\n"
12615 " (declare (in) vec2 coord))\n"
12616 " ())\n"
12617 " (signature vec4\n"
12618 " (parameters\n"
12619 " (declare (in) sampler1D sampler)\n"
12620 " (declare (in) vec4 coord))\n"
12621 " ()))\n"
12622 "(function texture1DLod\n"
12623 " (signature vec4\n"
12624 " (parameters\n"
12625 " (declare (in) sampler1D sampler)\n"
12626 " (declare (in) float coord)\n"
12627 " (declare (in) float lod))\n"
12628 " ()))\n"
12629 "(function texture1DProjLod\n"
12630 " (signature vec4\n"
12631 " (parameters\n"
12632 " (declare (in) sampler1D sampler)\n"
12633 " (declare (in) vec2 coord)\n"
12634 " (declare (in) float lod))\n"
12635 " ())\n"
12636 " (signature vec4\n"
12637 " (parameters\n"
12638 " (declare (in) sampler1D sampler)\n"
12639 " (declare (in) vec4 coord)\n"
12640 " (declare (in) float lod))\n"
12641 " ()))\n"
12642 "(function texture2D\n"
12643 " (signature vec4\n"
12644 " (parameters\n"
12645 " (declare (in) sampler2D sampler)\n"
12646 " (declare (in) vec2 coord))\n"
12647 " ()))\n"
12648 "(function texture2DProj\n"
12649 " (signature vec4\n"
12650 " (parameters\n"
12651 " (declare (in) sampler2D sampler)\n"
12652 " (declare (in) vec3 coord))\n"
12653 " ())\n"
12654 " (signature vec4\n"
12655 " (parameters\n"
12656 " (declare (in) sampler2D sampler)\n"
12657 " (declare (in) vec4 coord))\n"
12658 " ()))\n"
12659 "(function texture2DLod\n"
12660 " (signature vec4\n"
12661 " (parameters\n"
12662 " (declare (in) sampler2D sampler)\n"
12663 " (declare (in) vec2 coord)\n"
12664 " (declare (in) float lod))\n"
12665 " ()))\n"
12666 "(function texture2DProjLod\n"
12667 " (signature vec4\n"
12668 " (parameters\n"
12669 " (declare (in) sampler2D sampler)\n"
12670 " (declare (in) vec3 coord)\n"
12671 " (declare (in) float lod))\n"
12672 " ())\n"
12673 " (signature vec4\n"
12674 " (parameters\n"
12675 " (declare (in) sampler2D sampler)\n"
12676 " (declare (in) vec4 coord)\n"
12677 " (declare (in) float lod))\n"
12678 " ()))\n"
12679 "(function texture3D\n"
12680 " (signature vec4\n"
12681 " (parameters\n"
12682 " (declare (in) sampler3D sampler)\n"
12683 " (declare (in) vec3 coord))\n"
12684 " ()))\n"
12685 "(function texture3DProj\n"
12686 " (signature vec4\n"
12687 " (parameters\n"
12688 " (declare (in) sampler3D sampler)\n"
12689 " (declare (in) vec4 coord))\n"
12690 " ()))\n"
12691 "(function texture3DLod\n"
12692 " (signature vec4\n"
12693 " (parameters\n"
12694 " (declare (in) sampler3D sampler)\n"
12695 " (declare (in) vec3 coord)\n"
12696 " (declare (in) float lod))\n"
12697 " ()))\n"
12698 "(function texture3DProjLod\n"
12699 " (signature vec4\n"
12700 " (parameters\n"
12701 " (declare (in) sampler3D sampler)\n"
12702 " (declare (in) vec4 coord)\n"
12703 " (declare (in) float lod))\n"
12704 " ()))\n"
12705 "(function textureCube\n"
12706 " (signature vec4\n"
12707 " (parameters\n"
12708 " (declare (in) samplerCube sampler)\n"
12709 " (declare (in) vec3 coord))\n"
12710 " ()))\n"
12711 "(function textureCubeLod\n"
12712 " (signature vec4\n"
12713 " (parameters\n"
12714 " (declare (in) samplerCube sampler)\n"
12715 " (declare (in) vec3 coord)\n"
12716 " (declare (in) float lod))\n"
12717 " ()))\n"
12718 "(function shadow1D\n"
12719 " (signature vec4\n"
12720 " (parameters\n"
12721 " (declare (in) sampler1DShadow sampler)\n"
12722 " (declare (in) vec3 coord))\n"
12723 " ()))\n"
12724 "(function shadow2D\n"
12725 " (signature vec4\n"
12726 " (parameters\n"
12727 " (declare (in) sampler2DShadow sampler)\n"
12728 " (declare (in) vec3 coord))\n"
12729 " ()))\n"
12730 "(function shadow1DProj\n"
12731 " (signature vec4\n"
12732 " (parameters\n"
12733 " (declare (in) sampler1DShadow sampler)\n"
12734 " (declare (in) vec4 coord))\n"
12735 " ()))\n"
12736 "(function shadow2DProj\n"
12737 " (signature vec4\n"
12738 " (parameters\n"
12739 " (declare (in) sampler2DShadow sampler)\n"
12740 " (declare (in) vec4 coord))\n"
12741 " ()))\n"
12742 "(function shadow1DLod\n"
12743 " (signature vec4\n"
12744 " (parameters\n"
12745 " (declare (in) sampler1DShadow sampler)\n"
12746 " (declare (in) vec3 coord)\n"
12747 " (declare (in) float lod))\n"
12748 " ()))\n"
12749 "(function shadow2DLod\n"
12750 " (signature vec4\n"
12751 " (parameters\n"
12752 " (declare (in) sampler2DShadow sampler)\n"
12753 " (declare (in) vec3 coord)\n"
12754 " (declare (in) float lod))\n"
12755 " ()))\n"
12756 "(function shadow1DProjLod\n"
12757 " (signature vec4\n"
12758 " (parameters\n"
12759 " (declare (in) sampler1DShadow sampler)\n"
12760 " (declare (in) vec4 coord)\n"
12761 " (declare (in) float lod))\n"
12762 " ()))\n"
12763 "(function shadow2DProjLod\n"
12764 " (signature vec4\n"
12765 " (parameters\n"
12766 " (declare (in) sampler2DShadow sampler)\n"
12767 " (declare (in) vec4 coord)\n"
12768 " (declare (in) float lod))\n"
12769 " ()))\n"
12770 "(function noise1\n"
12771 " (signature float\n"
12772 " (parameters\n"
12773 " (declare (in) float x))\n"
12774 " ())\n"
12775 " (signature float\n"
12776 " (parameters\n"
12777 " (declare (in) vec2 x))\n"
12778 " ())\n"
12779 " (signature float\n"
12780 " (parameters\n"
12781 " (declare (in) vec3 x))\n"
12782 " ())\n"
12783 " (signature float\n"
12784 " (parameters\n"
12785 " (declare (in) vec4 x))\n"
12786 " ()))\n"
12787 "(function noise2\n"
12788 " (signature vec2\n"
12789 " (parameters\n"
12790 " (declare (in) float x))\n"
12791 " ())\n"
12792 " (signature vec2\n"
12793 " (parameters\n"
12794 " (declare (in) vec2 x))\n"
12795 " ())\n"
12796 " (signature vec2\n"
12797 " (parameters\n"
12798 " (declare (in) vec3 x))\n"
12799 " ())\n"
12800 " (signature vec2\n"
12801 " (parameters\n"
12802 " (declare (in) vec4 x))\n"
12803 " ()))\n"
12804 "(function noise3\n"
12805 " (signature vec3\n"
12806 " (parameters\n"
12807 " (declare (in) float x))\n"
12808 " ())\n"
12809 " (signature vec3\n"
12810 " (parameters\n"
12811 " (declare (in) vec2 x))\n"
12812 " ())\n"
12813 " (signature vec3\n"
12814 " (parameters\n"
12815 " (declare (in) vec3 x))\n"
12816 " ())\n"
12817 " (signature vec3\n"
12818 " (parameters\n"
12819 " (declare (in) vec4 x))\n"
12820 " ()))\n"
12821 "(function noise4\n"
12822 " (signature vec4\n"
12823 " (parameters\n"
12824 " (declare (in) float x))\n"
12825 " ())\n"
12826 " (signature vec4\n"
12827 " (parameters\n"
12828 " (declare (in) vec2 x))\n"
12829 " ())\n"
12830 " (signature vec4\n"
12831 " (parameters\n"
12832 " (declare (in) vec3 x))\n"
12833 " ())\n"
12834 " (signature vec4\n"
12835 " (parameters\n"
12836 " (declare (in) vec4 x))\n"
12837 " ())))"
12838 ;
12839 static const char *functions_for_120_vert [] = {
12840 builtin_abs,
12841 builtin_acos,
12842 builtin_all,
12843 builtin_any,
12844 builtin_asin,
12845 builtin_atan,
12846 builtin_ceil,
12847 builtin_clamp,
12848 builtin_cos,
12849 builtin_cross,
12850 builtin_degrees,
12851 builtin_distance,
12852 builtin_dot,
12853 builtin_equal,
12854 builtin_exp,
12855 builtin_exp2,
12856 builtin_faceforward,
12857 builtin_floor,
12858 builtin_fract,
12859 builtin_ftransform,
12860 builtin_greaterThan,
12861 builtin_greaterThanEqual,
12862 builtin_inversesqrt,
12863 builtin_length,
12864 builtin_lessThan,
12865 builtin_lessThanEqual,
12866 builtin_log,
12867 builtin_log2,
12868 builtin_matrixCompMult,
12869 builtin_max,
12870 builtin_min,
12871 builtin_mix,
12872 builtin_mod,
12873 builtin_noise1,
12874 builtin_noise2,
12875 builtin_noise3,
12876 builtin_noise4,
12877 builtin_normalize,
12878 builtin_not,
12879 builtin_notEqual,
12880 builtin_outerProduct,
12881 builtin_pow,
12882 builtin_radians,
12883 builtin_reflect,
12884 builtin_refract,
12885 builtin_shadow1D,
12886 builtin_shadow1DLod,
12887 builtin_shadow1DProj,
12888 builtin_shadow1DProjLod,
12889 builtin_shadow2D,
12890 builtin_shadow2DLod,
12891 builtin_shadow2DProj,
12892 builtin_shadow2DProjLod,
12893 builtin_sign,
12894 builtin_sin,
12895 builtin_smoothstep,
12896 builtin_sqrt,
12897 builtin_step,
12898 builtin_tan,
12899 builtin_texture1D,
12900 builtin_texture1DLod,
12901 builtin_texture1DProj,
12902 builtin_texture1DProjLod,
12903 builtin_texture2D,
12904 builtin_texture2DLod,
12905 builtin_texture2DProj,
12906 builtin_texture2DProjLod,
12907 builtin_texture3D,
12908 builtin_texture3DLod,
12909 builtin_texture3DProj,
12910 builtin_texture3DProjLod,
12911 builtin_textureCube,
12912 builtin_textureCubeLod,
12913 builtin_transpose,
12914 };
12915 static const char prototypes_for_130_frag[] =
12916 {'(',
12917 '(','f','u','n','c','t','i','o','n',' ','r','a','d','i','a','n','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','e','g','r','e','e','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','e','g','r','e','e','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','e','g','r','e','e','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','d','e','g','r','e','e','s',')',')',' ','(',')',')',')',
12918 '(','f','u','n','c','t','i','o','n',' ','d','e','g','r','e','e','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','r','a','d','i','a','n','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','r','a','d','i','a','n','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','r','a','d','i','a','n','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','r','a','d','i','a','n','s',')',')',' ','(',')',')',')',
12919 '(','f','u','n','c','t','i','o','n',' ','s','i','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
12920 '(','f','u','n','c','t','i','o','n',' ','c','o','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
12921 '(','f','u','n','c','t','i','o','n',' ','t','a','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
12922 '(','f','u','n','c','t','i','o','n',' ','a','s','i','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
12923 '(','f','u','n','c','t','i','o','n',' ','a','c','o','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
12924 '(','f','u','n','c','t','i','o','n',' ','a','t','a','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y','_','o','v','e','r','_','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y','_','o','v','e','r','_','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y','_','o','v','e','r','_','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y','_','o','v','e','r','_','x',')',')',' ','(',')',')',')',
12925 '(','f','u','n','c','t','i','o','n',' ','s','i','n','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12926 '(','f','u','n','c','t','i','o','n',' ','c','o','s','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12927 '(','f','u','n','c','t','i','o','n',' ','t','a','n','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12928 '(','f','u','n','c','t','i','o','n',' ','p','o','w',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
12929 '(','f','u','n','c','t','i','o','n',' ','e','x','p',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12930 '(','f','u','n','c','t','i','o','n',' ','l','o','g',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12931 '(','f','u','n','c','t','i','o','n',' ','e','x','p','2',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12932 '(','f','u','n','c','t','i','o','n',' ','l','o','g','2',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12933 '(','f','u','n','c','t','i','o','n',' ','s','q','r','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12934 '(','f','u','n','c','t','i','o','n',' ','i','n','v','e','r','s','e','s','q','r','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12935 '(','f','u','n','c','t','i','o','n',' ','a','b','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12936 '(','f','u','n','c','t','i','o','n',' ','s','i','g','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12937 '(','f','u','n','c','t','i','o','n',' ','f','l','o','o','r',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12938 '(','f','u','n','c','t','i','o','n',' ','t','r','u','n','c',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12939 '(','f','u','n','c','t','i','o','n',' ','r','o','u','n','d',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12940 '(','f','u','n','c','t','i','o','n',' ','r','o','u','n','d','E','v','e','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12941 '(','f','u','n','c','t','i','o','n',' ','c','e','i','l',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12942 '(','f','u','n','c','t','i','o','n',' ','f','r','a','c','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12943 '(','f','u','n','c','t','i','o','n',' ','m','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
12944 '(','f','u','n','c','t','i','o','n',' ','m','o','d','f',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','o','u','t',')',' ','f','l','o','a','t',' ','i',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','o','u','t',')',' ','v','e','c','2',' ','i',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','o','u','t',')',' ','v','e','c','3',' ','i',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','o','u','t',')',' ','v','e','c','4',' ','i',')',')',' ','(',')',')',')',
12945 '(','f','u','n','c','t','i','o','n',' ','m','i','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',')',
12946 '(','f','u','n','c','t','i','o','n',' ','m','a','x',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',')',
12947 '(','f','u','n','c','t','i','o','n',' ','c','l','a','m','p',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',')',
12948 '(','f','u','n','c','t','i','o','n',' ','m','i','x',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a',')',')',' ','(',')',')',')',
12949 '(','f','u','n','c','t','i','o','n',' ','s','t','e','p',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12950 '(','f','u','n','c','t','i','o','n',' ','s','m','o','o','t','h','s','t','e','p',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12951 '(','f','u','n','c','t','i','o','n',' ','l','e','n','g','t','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12952 '(','f','u','n','c','t','i','o','n',' ','d','i','s','t','a','n','c','e',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','p','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','p','1',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','p','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','p','1',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','p','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','p','1',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','p','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','p','1',')',')',' ','(',')',')',')',
12953 '(','f','u','n','c','t','i','o','n',' ','d','o','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
12954 '(','f','u','n','c','t','i','o','n',' ','c','r','o','s','s',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',')',
12955 '(','f','u','n','c','t','i','o','n',' ','n','o','r','m','a','l','i','z','e',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12956 '(','f','u','n','c','t','i','o','n',' ','f','a','c','e','f','o','r','w','a','r','d',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','N','r','e','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','N','r','e','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','N','r','e','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','N','r','e','f',')',')',' ','(',')',')',')',
12957 '(','f','u','n','c','t','i','o','n',' ','r','e','f','l','e','c','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','N',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','N',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','N',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','N',')',')',' ','(',')',')',')',
12958 '(','f','u','n','c','t','i','o','n',' ','r','e','f','r','a','c','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','t','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','t','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','t','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','t','a',')',')',' ','(',')',')',')',
12959 '(','f','u','n','c','t','i','o','n',' ','m','a','t','r','i','x','C','o','m','p','M','u','l','t',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','3',' ','y',')',')',' ','(',')',')',')',
12960 '(','f','u','n','c','t','i','o','n',' ','o','u','t','e','r','P','r','o','d','u','c','t',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','r',')',')',' ','(',')',')',')',
12961 '(','f','u','n','c','t','i','o','n',' ','t','r','a','n','s','p','o','s','e',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','2',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','3',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','2',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','4',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','3',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','4',' ','m',')',')',' ','(',')',')',')',
12962 '(','f','u','n','c','t','i','o','n',' ','l','e','s','s','T','h','a','n',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
12963 '(','f','u','n','c','t','i','o','n',' ','l','e','s','s','T','h','a','n','E','q','u','a','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
12964 '(','f','u','n','c','t','i','o','n',' ','g','r','e','a','t','e','r','T','h','a','n',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
12965 '(','f','u','n','c','t','i','o','n',' ','g','r','e','a','t','e','r','T','h','a','n','E','q','u','a','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
12966 '(','f','u','n','c','t','i','o','n',' ','e','q','u','a','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
12967 '(','f','u','n','c','t','i','o','n',' ','n','o','t','E','q','u','a','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
12968 '(','f','u','n','c','t','i','o','n',' ','a','n','y',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12969 '(','f','u','n','c','t','i','o','n',' ','a','l','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12970 '(','f','u','n','c','t','i','o','n',' ','n','o','t',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12971 '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
12972 '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
12973 '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
12974 '(','f','u','n','c','t','i','o','n',' ','t','e','x','e','l','F','e','t','c','h',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',')',
12975 '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
12976 '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','G','r','a','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',')',
12977 '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','P','r','o','j','G','r','a','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',')',
12978 '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','1','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
12979 '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','1','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
12980 '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','1','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
12981 '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','1','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
12982 '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','2','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
12983 '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','2','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
12984 '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','2','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
12985 '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','2','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
12986 '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','3','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
12987 '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','3','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
12988 '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','3','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
12989 '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','3','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
12990 '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','C','u','b','e',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
12991 '(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','C','u','b','e','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
12992 '(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','1','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
12993 '(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','2','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
12994 '(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','1','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
12995 '(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','2','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
12996 '(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','1','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
12997 '(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','2','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
12998 '(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','1','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
12999 '(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','2','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13000 '(','f','u','n','c','t','i','o','n',' ','d','F','d','x',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','p',')',')',' ','(',')',')',')',
13001 '(','f','u','n','c','t','i','o','n',' ','d','F','d','y',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','p',')',')',' ','(',')',')',')',
13002 '(','f','u','n','c','t','i','o','n',' ','f','w','i','d','t','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','p',')',')',' ','(',')',')',')',
13003 '(','f','u','n','c','t','i','o','n',' ','n','o','i','s','e','1',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13004 '(','f','u','n','c','t','i','o','n',' ','n','o','i','s','e','2',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13005 '(','f','u','n','c','t','i','o','n',' ','n','o','i','s','e','3',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13006 '(','f','u','n','c','t','i','o','n',' ','n','o','i','s','e','4',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',')'} ;
13007 static const char *functions_for_130_frag [] = {
13008 builtin_abs,
13009 builtin_acos,
13010 builtin_all,
13011 builtin_any,
13012 builtin_asin,
13013 builtin_atan,
13014 builtin_ceil,
13015 builtin_clamp,
13016 builtin_cos,
13017 builtin_cosh,
13018 builtin_cross,
13019 builtin_dFdx,
13020 builtin_dFdy,
13021 builtin_degrees,
13022 builtin_distance,
13023 builtin_dot,
13024 builtin_equal,
13025 builtin_exp,
13026 builtin_exp2,
13027 builtin_faceforward,
13028 builtin_floor,
13029 builtin_fract,
13030 builtin_fwidth,
13031 builtin_greaterThan,
13032 builtin_greaterThanEqual,
13033 builtin_inversesqrt,
13034 builtin_length,
13035 builtin_lessThan,
13036 builtin_lessThanEqual,
13037 builtin_log,
13038 builtin_log2,
13039 builtin_matrixCompMult,
13040 builtin_max,
13041 builtin_min,
13042 builtin_mix,
13043 builtin_mod,
13044 builtin_modf,
13045 builtin_noise1,
13046 builtin_noise2,
13047 builtin_noise3,
13048 builtin_noise4,
13049 builtin_normalize,
13050 builtin_not,
13051 builtin_notEqual,
13052 builtin_outerProduct,
13053 builtin_pow,
13054 builtin_radians,
13055 builtin_reflect,
13056 builtin_refract,
13057 builtin_round,
13058 builtin_roundEven,
13059 builtin_shadow1D,
13060 builtin_shadow1DLod,
13061 builtin_shadow1DProj,
13062 builtin_shadow1DProjLod,
13063 builtin_shadow2D,
13064 builtin_shadow2DLod,
13065 builtin_shadow2DProj,
13066 builtin_shadow2DProjLod,
13067 builtin_sign,
13068 builtin_sin,
13069 builtin_sinh,
13070 builtin_smoothstep,
13071 builtin_sqrt,
13072 builtin_step,
13073 builtin_tan,
13074 builtin_tanh,
13075 builtin_texelFetch,
13076 builtin_texture,
13077 builtin_texture1D,
13078 builtin_texture1DLod,
13079 builtin_texture1DProj,
13080 builtin_texture1DProjLod,
13081 builtin_texture2D,
13082 builtin_texture2DLod,
13083 builtin_texture2DProj,
13084 builtin_texture2DProjLod,
13085 builtin_texture3D,
13086 builtin_texture3DLod,
13087 builtin_texture3DProj,
13088 builtin_texture3DProjLod,
13089 builtin_textureCube,
13090 builtin_textureCubeLod,
13091 builtin_textureGrad,
13092 builtin_textureLod,
13093 builtin_textureProj,
13094 builtin_textureProjGrad,
13095 builtin_textureProjLod,
13096 builtin_transpose,
13097 builtin_trunc,
13098 };
13099 static const char prototypes_for_130_vert[] =
13100 "(\n"
13101 "(function radians\n"
13102 " (signature float\n"
13103 " (parameters\n"
13104 " (declare (in) float degrees))\n"
13105 " ())\n"
13106 " (signature vec2\n"
13107 " (parameters\n"
13108 " (declare (in) vec2 degrees))\n"
13109 " ())\n"
13110 " (signature vec3\n"
13111 " (parameters\n"
13112 " (declare (in) vec3 degrees))\n"
13113 " ())\n"
13114 " (signature vec4\n"
13115 " (parameters\n"
13116 " (declare (in) vec4 degrees))\n"
13117 " ()))\n"
13118 "(function degrees\n"
13119 " (signature float\n"
13120 " (parameters\n"
13121 " (declare (in) float radians))\n"
13122 " ())\n"
13123 " (signature vec2\n"
13124 " (parameters\n"
13125 " (declare (in) vec2 radians))\n"
13126 " ())\n"
13127 " (signature vec3\n"
13128 " (parameters\n"
13129 " (declare (in) vec3 radians))\n"
13130 " ())\n"
13131 " (signature vec4\n"
13132 " (parameters\n"
13133 " (declare (in) vec4 radians))\n"
13134 " ()))\n"
13135 "(function sin\n"
13136 " (signature float\n"
13137 " (parameters\n"
13138 " (declare (in) float angle))\n"
13139 " ())\n"
13140 " (signature vec2\n"
13141 " (parameters\n"
13142 " (declare (in) vec2 angle))\n"
13143 " ())\n"
13144 " (signature vec3\n"
13145 " (parameters\n"
13146 " (declare (in) vec3 angle))\n"
13147 " ())\n"
13148 " (signature vec4\n"
13149 " (parameters\n"
13150 " (declare (in) vec4 angle))\n"
13151 " ()))\n"
13152 "(function cos\n"
13153 " (signature float\n"
13154 " (parameters\n"
13155 " (declare (in) float angle))\n"
13156 " ())\n"
13157 " (signature vec2\n"
13158 " (parameters\n"
13159 " (declare (in) vec2 angle))\n"
13160 " ())\n"
13161 " (signature vec3\n"
13162 " (parameters\n"
13163 " (declare (in) vec3 angle))\n"
13164 " ())\n"
13165 " (signature vec4\n"
13166 " (parameters\n"
13167 " (declare (in) vec4 angle))\n"
13168 " ()))\n"
13169 "(function tan\n"
13170 " (signature float\n"
13171 " (parameters\n"
13172 " (declare (in) float angle))\n"
13173 " ())\n"
13174 " (signature vec2\n"
13175 " (parameters\n"
13176 " (declare (in) vec2 angle))\n"
13177 " ())\n"
13178 " (signature vec3\n"
13179 " (parameters\n"
13180 " (declare (in) vec3 angle))\n"
13181 " ())\n"
13182 " (signature vec4\n"
13183 " (parameters\n"
13184 " (declare (in) vec4 angle))\n"
13185 " ()))\n"
13186 "(function asin\n"
13187 " (signature float\n"
13188 " (parameters\n"
13189 " (declare (in) float angle))\n"
13190 " ())\n"
13191 " (signature vec2\n"
13192 " (parameters\n"
13193 " (declare (in) vec2 angle))\n"
13194 " ())\n"
13195 " (signature vec3\n"
13196 " (parameters\n"
13197 " (declare (in) vec3 angle))\n"
13198 " ())\n"
13199 " (signature vec4\n"
13200 " (parameters\n"
13201 " (declare (in) vec4 angle))\n"
13202 " ()))\n"
13203 "(function acos\n"
13204 " (signature float\n"
13205 " (parameters\n"
13206 " (declare (in) float angle))\n"
13207 " ())\n"
13208 " (signature vec2\n"
13209 " (parameters\n"
13210 " (declare (in) vec2 angle))\n"
13211 " ())\n"
13212 " (signature vec3\n"
13213 " (parameters\n"
13214 " (declare (in) vec3 angle))\n"
13215 " ())\n"
13216 " (signature vec4\n"
13217 " (parameters\n"
13218 " (declare (in) vec4 angle))\n"
13219 " ()))\n"
13220 "(function atan\n"
13221 " (signature float\n"
13222 " (parameters\n"
13223 " (declare (in) float y)\n"
13224 " (declare (in) float x))\n"
13225 " ())\n"
13226 " (signature vec2\n"
13227 " (parameters\n"
13228 " (declare (in) vec2 y)\n"
13229 " (declare (in) vec2 x))\n"
13230 " ())\n"
13231 " (signature vec3\n"
13232 " (parameters\n"
13233 " (declare (in) vec3 y)\n"
13234 " (declare (in) vec3 x))\n"
13235 " ())\n"
13236 " (signature vec4\n"
13237 " (parameters\n"
13238 " (declare (in) vec4 y)\n"
13239 " (declare (in) vec4 x))\n"
13240 " ())\n"
13241 " (signature float\n"
13242 " (parameters\n"
13243 " (declare (in) float y_over_x))\n"
13244 " ())\n"
13245 " (signature vec2\n"
13246 " (parameters\n"
13247 " (declare (in) vec2 y_over_x))\n"
13248 " ())\n"
13249 " (signature vec3\n"
13250 " (parameters\n"
13251 " (declare (in) vec3 y_over_x))\n"
13252 " ())\n"
13253 " (signature vec4\n"
13254 " (parameters\n"
13255 " (declare (in) vec4 y_over_x))\n"
13256 " ()))\n"
13257 "(function sinh\n"
13258 " (signature float\n"
13259 " (parameters\n"
13260 " (declare (in) float x))\n"
13261 " ())\n"
13262 " (signature vec2\n"
13263 " (parameters\n"
13264 " (declare (in) vec2 x))\n"
13265 " ())\n"
13266 " (signature vec3\n"
13267 " (parameters\n"
13268 " (declare (in) vec3 x))\n"
13269 " ())\n"
13270 " (signature vec4\n"
13271 " (parameters\n"
13272 " (declare (in) vec4 x))\n"
13273 " ()))\n"
13274 "(function cosh\n"
13275 " (signature float\n"
13276 " (parameters\n"
13277 " (declare (in) float x))\n"
13278 " ())\n"
13279 " (signature vec2\n"
13280 " (parameters\n"
13281 " (declare (in) vec2 x))\n"
13282 " ())\n"
13283 " (signature vec3\n"
13284 " (parameters\n"
13285 " (declare (in) vec3 x))\n"
13286 " ())\n"
13287 " (signature vec4\n"
13288 " (parameters\n"
13289 " (declare (in) vec4 x))\n"
13290 " ()))\n"
13291 "(function tanh\n"
13292 " (signature float\n"
13293 " (parameters\n"
13294 " (declare (in) float x))\n"
13295 " ())\n"
13296 " (signature vec2\n"
13297 " (parameters\n"
13298 " (declare (in) vec2 x))\n"
13299 " ())\n"
13300 " (signature vec3\n"
13301 " (parameters\n"
13302 " (declare (in) vec3 x))\n"
13303 " ())\n"
13304 " (signature vec4\n"
13305 " (parameters\n"
13306 " (declare (in) vec4 x))\n"
13307 " ()))\n"
13308 "(function pow\n"
13309 " (signature float\n"
13310 " (parameters\n"
13311 " (declare (in) float x)\n"
13312 " (declare (in) float y))\n"
13313 " ())\n"
13314 " (signature vec2\n"
13315 " (parameters\n"
13316 " (declare (in) vec2 x)\n"
13317 " (declare (in) vec2 y))\n"
13318 " ())\n"
13319 " (signature vec3\n"
13320 " (parameters\n"
13321 " (declare (in) vec3 x)\n"
13322 " (declare (in) vec3 y))\n"
13323 " ())\n"
13324 " (signature vec4\n"
13325 " (parameters\n"
13326 " (declare (in) vec4 x)\n"
13327 " (declare (in) vec4 y))\n"
13328 " ()))\n"
13329 "(function exp\n"
13330 " (signature float\n"
13331 " (parameters\n"
13332 " (declare (in) float x))\n"
13333 " ())\n"
13334 " (signature vec2\n"
13335 " (parameters\n"
13336 " (declare (in) vec2 x))\n"
13337 " ())\n"
13338 " (signature vec3\n"
13339 " (parameters\n"
13340 " (declare (in) vec3 x))\n"
13341 " ())\n"
13342 " (signature vec4\n"
13343 " (parameters\n"
13344 " (declare (in) vec4 x))\n"
13345 " ()))\n"
13346 "(function log\n"
13347 " (signature float\n"
13348 " (parameters\n"
13349 " (declare (in) float x))\n"
13350 " ())\n"
13351 " (signature vec2\n"
13352 " (parameters\n"
13353 " (declare (in) vec2 x))\n"
13354 " ())\n"
13355 " (signature vec3\n"
13356 " (parameters\n"
13357 " (declare (in) vec3 x))\n"
13358 " ())\n"
13359 " (signature vec4\n"
13360 " (parameters\n"
13361 " (declare (in) vec4 x))\n"
13362 " ()))\n"
13363 "(function exp2\n"
13364 " (signature float\n"
13365 " (parameters\n"
13366 " (declare (in) float x))\n"
13367 " ())\n"
13368 " (signature vec2\n"
13369 " (parameters\n"
13370 " (declare (in) vec2 x))\n"
13371 " ())\n"
13372 " (signature vec3\n"
13373 " (parameters\n"
13374 " (declare (in) vec3 x))\n"
13375 " ())\n"
13376 " (signature vec4\n"
13377 " (parameters\n"
13378 " (declare (in) vec4 x))\n"
13379 " ()))\n"
13380 "(function log2\n"
13381 " (signature float\n"
13382 " (parameters\n"
13383 " (declare (in) float x))\n"
13384 " ())\n"
13385 " (signature vec2\n"
13386 " (parameters\n"
13387 " (declare (in) vec2 x))\n"
13388 " ())\n"
13389 " (signature vec3\n"
13390 " (parameters\n"
13391 " (declare (in) vec3 x))\n"
13392 " ())\n"
13393 " (signature vec4\n"
13394 " (parameters\n"
13395 " (declare (in) vec4 x))\n"
13396 " ()))\n"
13397 "(function sqrt\n"
13398 " (signature float\n"
13399 " (parameters\n"
13400 " (declare (in) float x))\n"
13401 " ())\n"
13402 " (signature vec2\n"
13403 " (parameters\n"
13404 " (declare (in) vec2 x))\n"
13405 " ())\n"
13406 " (signature vec3\n"
13407 " (parameters\n"
13408 " (declare (in) vec3 x))\n"
13409 " ())\n"
13410 " (signature vec4\n"
13411 " (parameters\n"
13412 " (declare (in) vec4 x))\n"
13413 " ()))\n"
13414 "(function inversesqrt\n"
13415 " (signature float\n"
13416 " (parameters\n"
13417 " (declare (in) float x))\n"
13418 " ())\n"
13419 " (signature vec2\n"
13420 " (parameters\n"
13421 " (declare (in) vec2 x))\n"
13422 " ())\n"
13423 " (signature vec3\n"
13424 " (parameters\n"
13425 " (declare (in) vec3 x))\n"
13426 " ())\n"
13427 " (signature vec4\n"
13428 " (parameters\n"
13429 " (declare (in) vec4 x))\n"
13430 " ()))\n"
13431 "(function abs\n"
13432 " (signature float\n"
13433 " (parameters\n"
13434 " (declare (in) float x))\n"
13435 " ())\n"
13436 " (signature vec2\n"
13437 " (parameters\n"
13438 " (declare (in) vec2 x))\n"
13439 " ())\n"
13440 " (signature vec3\n"
13441 " (parameters\n"
13442 " (declare (in) vec3 x))\n"
13443 " ())\n"
13444 " (signature vec4\n"
13445 " (parameters\n"
13446 " (declare (in) vec4 x))\n"
13447 " ())\n"
13448 " (signature int\n"
13449 " (parameters\n"
13450 " (declare (in) int x))\n"
13451 " ())\n"
13452 " (signature ivec2\n"
13453 " (parameters\n"
13454 " (declare (in) ivec2 x))\n"
13455 " ())\n"
13456 " (signature ivec3\n"
13457 " (parameters\n"
13458 " (declare (in) ivec3 x))\n"
13459 " ())\n"
13460 " (signature ivec4\n"
13461 " (parameters\n"
13462 " (declare (in) ivec4 x))\n"
13463 " ()))\n"
13464 "(function sign\n"
13465 " (signature float\n"
13466 " (parameters\n"
13467 " (declare (in) float x))\n"
13468 " ())\n"
13469 " (signature vec2\n"
13470 " (parameters\n"
13471 " (declare (in) vec2 x))\n"
13472 " ())\n"
13473 " (signature vec3\n"
13474 " (parameters\n"
13475 " (declare (in) vec3 x))\n"
13476 " ())\n"
13477 " (signature vec4\n"
13478 " (parameters\n"
13479 " (declare (in) vec4 x))\n"
13480 " ())\n"
13481 " (signature int\n"
13482 " (parameters\n"
13483 " (declare (in) int x))\n"
13484 " ())\n"
13485 " (signature ivec2\n"
13486 " (parameters\n"
13487 " (declare (in) ivec2 x))\n"
13488 " ())\n"
13489 " (signature ivec3\n"
13490 " (parameters\n"
13491 " (declare (in) ivec3 x))\n"
13492 " ())\n"
13493 " (signature ivec4\n"
13494 " (parameters\n"
13495 " (declare (in) ivec4 x))\n"
13496 " ()))\n"
13497 "(function floor\n"
13498 " (signature float\n"
13499 " (parameters\n"
13500 " (declare (in) float x))\n"
13501 " ())\n"
13502 " (signature vec2\n"
13503 " (parameters\n"
13504 " (declare (in) vec2 x))\n"
13505 " ())\n"
13506 " (signature vec3\n"
13507 " (parameters\n"
13508 " (declare (in) vec3 x))\n"
13509 " ())\n"
13510 " (signature vec4\n"
13511 " (parameters\n"
13512 " (declare (in) vec4 x))\n"
13513 " ()))\n"
13514 "(function trunc\n"
13515 " (signature float\n"
13516 " (parameters\n"
13517 " (declare (in) float x))\n"
13518 " ())\n"
13519 " (signature vec2\n"
13520 " (parameters\n"
13521 " (declare (in) vec2 x))\n"
13522 " ())\n"
13523 " (signature vec3\n"
13524 " (parameters\n"
13525 " (declare (in) vec3 x))\n"
13526 " ())\n"
13527 " (signature vec4\n"
13528 " (parameters\n"
13529 " (declare (in) vec4 x))\n"
13530 " ()))\n"
13531 "(function round\n"
13532 " (signature float\n"
13533 " (parameters\n"
13534 " (declare (in) float x))\n"
13535 " ())\n"
13536 " (signature vec2\n"
13537 " (parameters\n"
13538 " (declare (in) vec2 x))\n"
13539 " ())\n"
13540 " (signature vec3\n"
13541 " (parameters\n"
13542 " (declare (in) vec3 x))\n"
13543 " ())\n"
13544 " (signature vec4\n"
13545 " (parameters\n"
13546 " (declare (in) vec4 x))\n"
13547 " ()))\n"
13548 "(function roundEven\n"
13549 " (signature float\n"
13550 " (parameters\n"
13551 " (declare (in) float x))\n"
13552 " ())\n"
13553 " (signature vec2\n"
13554 " (parameters\n"
13555 " (declare (in) vec2 x))\n"
13556 " ())\n"
13557 " (signature vec3\n"
13558 " (parameters\n"
13559 " (declare (in) vec3 x))\n"
13560 " ())\n"
13561 " (signature vec4\n"
13562 " (parameters\n"
13563 " (declare (in) vec4 x))\n"
13564 " ()))\n"
13565 "(function ceil\n"
13566 " (signature float\n"
13567 " (parameters\n"
13568 " (declare (in) float x))\n"
13569 " ())\n"
13570 " (signature vec2\n"
13571 " (parameters\n"
13572 " (declare (in) vec2 x))\n"
13573 " ())\n"
13574 " (signature vec3\n"
13575 " (parameters\n"
13576 " (declare (in) vec3 x))\n"
13577 " ())\n"
13578 " (signature vec4\n"
13579 " (parameters\n"
13580 " (declare (in) vec4 x))\n"
13581 " ()))\n"
13582 "(function fract\n"
13583 " (signature float\n"
13584 " (parameters\n"
13585 " (declare (in) float x))\n"
13586 " ())\n"
13587 " (signature vec2\n"
13588 " (parameters\n"
13589 " (declare (in) vec2 x))\n"
13590 " ())\n"
13591 " (signature vec3\n"
13592 " (parameters\n"
13593 " (declare (in) vec3 x))\n"
13594 " ())\n"
13595 " (signature vec4\n"
13596 " (parameters\n"
13597 " (declare (in) vec4 x))\n"
13598 " ()))\n"
13599 "(function mod\n"
13600 " (signature float\n"
13601 " (parameters\n"
13602 " (declare (in) float x)\n"
13603 " (declare (in) float y))\n"
13604 " ())\n"
13605 " (signature vec2\n"
13606 " (parameters\n"
13607 " (declare (in) vec2 x)\n"
13608 " (declare (in) float y))\n"
13609 " ())\n"
13610 " (signature vec3\n"
13611 " (parameters\n"
13612 " (declare (in) vec3 x)\n"
13613 " (declare (in) float y))\n"
13614 " ())\n"
13615 " (signature vec4\n"
13616 " (parameters\n"
13617 " (declare (in) vec4 x)\n"
13618 " (declare (in) float y))\n"
13619 " ())\n"
13620 " (signature vec2\n"
13621 " (parameters\n"
13622 " (declare (in) vec2 x)\n"
13623 " (declare (in) vec2 y))\n"
13624 " ())\n"
13625 " (signature vec3\n"
13626 " (parameters\n"
13627 " (declare (in) vec3 x)\n"
13628 " (declare (in) vec3 y))\n"
13629 " ())\n"
13630 " (signature vec4\n"
13631 " (parameters\n"
13632 " (declare (in) vec4 x)\n"
13633 " (declare (in) vec4 y))\n"
13634 " ()))\n"
13635 "(function modf\n"
13636 " (signature float\n"
13637 " (parameters\n"
13638 " (declare (in) float x)\n"
13639 " (declare (out) float i))\n"
13640 " ())\n"
13641 " (signature vec2\n"
13642 " (parameters\n"
13643 " (declare (in) vec2 x)\n"
13644 " (declare (out) vec2 i))\n"
13645 " ())\n"
13646 " (signature vec3\n"
13647 " (parameters\n"
13648 " (declare (in) vec3 x)\n"
13649 " (declare (out) vec3 i))\n"
13650 " ())\n"
13651 " (signature vec4\n"
13652 " (parameters\n"
13653 " (declare (in) vec4 x)\n"
13654 " (declare (out) vec4 i))\n"
13655 " ()))\n"
13656 "(function min\n"
13657 " (signature float\n"
13658 " (parameters\n"
13659 " (declare (in) float x)\n"
13660 " (declare (in) float y))\n"
13661 " ())\n"
13662 " (signature vec2\n"
13663 " (parameters\n"
13664 " (declare (in) vec2 x)\n"
13665 " (declare (in) vec2 y))\n"
13666 " ())\n"
13667 " (signature vec3\n"
13668 " (parameters\n"
13669 " (declare (in) vec3 x)\n"
13670 " (declare (in) vec3 y))\n"
13671 " ())\n"
13672 " (signature vec4\n"
13673 " (parameters\n"
13674 " (declare (in) vec4 x)\n"
13675 " (declare (in) vec4 y))\n"
13676 " ())\n"
13677 " (signature vec2\n"
13678 " (parameters\n"
13679 " (declare (in) vec2 x)\n"
13680 " (declare (in) float y))\n"
13681 " ())\n"
13682 " (signature vec3\n"
13683 " (parameters\n"
13684 " (declare (in) vec3 x)\n"
13685 " (declare (in) float y))\n"
13686 " ())\n"
13687 " (signature vec4\n"
13688 " (parameters\n"
13689 " (declare (in) vec4 x)\n"
13690 " (declare (in) float y))\n"
13691 " ())\n"
13692 " (signature int\n"
13693 " (parameters\n"
13694 " (declare (in) int x)\n"
13695 " (declare (in) int y))\n"
13696 " ())\n"
13697 " (signature ivec2\n"
13698 " (parameters\n"
13699 " (declare (in) ivec2 x)\n"
13700 " (declare (in) ivec2 y))\n"
13701 " ())\n"
13702 " (signature ivec3\n"
13703 " (parameters\n"
13704 " (declare (in) ivec3 x)\n"
13705 " (declare (in) ivec3 y))\n"
13706 " ())\n"
13707 " (signature ivec4\n"
13708 " (parameters\n"
13709 " (declare (in) ivec4 x)\n"
13710 " (declare (in) ivec4 y))\n"
13711 " ())\n"
13712 " (signature ivec2\n"
13713 " (parameters\n"
13714 " (declare (in) ivec2 x)\n"
13715 " (declare (in) int y))\n"
13716 " ())\n"
13717 " (signature ivec3\n"
13718 " (parameters\n"
13719 " (declare (in) ivec3 x)\n"
13720 " (declare (in) int y))\n"
13721 " ())\n"
13722 " (signature ivec4\n"
13723 " (parameters\n"
13724 " (declare (in) ivec4 x)\n"
13725 " (declare (in) int y))\n"
13726 " ())\n"
13727 " (signature uint\n"
13728 " (parameters\n"
13729 " (declare (in) uint x)\n"
13730 " (declare (in) uint y))\n"
13731 " ())\n"
13732 " (signature uvec2\n"
13733 " (parameters\n"
13734 " (declare (in) uvec2 x)\n"
13735 " (declare (in) uvec2 y))\n"
13736 " ())\n"
13737 " (signature uvec3\n"
13738 " (parameters\n"
13739 " (declare (in) uvec3 x)\n"
13740 " (declare (in) uvec3 y))\n"
13741 " ())\n"
13742 " (signature uvec4\n"
13743 " (parameters\n"
13744 " (declare (in) uvec4 x)\n"
13745 " (declare (in) uvec4 y))\n"
13746 " ())\n"
13747 " (signature uvec2\n"
13748 " (parameters\n"
13749 " (declare (in) uvec2 x)\n"
13750 " (declare (in) uint y))\n"
13751 " ())\n"
13752 " (signature uvec3\n"
13753 " (parameters\n"
13754 " (declare (in) uvec3 x)\n"
13755 " (declare (in) uint y))\n"
13756 " ())\n"
13757 " (signature uvec4\n"
13758 " (parameters\n"
13759 " (declare (in) uvec4 x)\n"
13760 " (declare (in) uint y))\n"
13761 " ()))\n"
13762 "(function max\n"
13763 " (signature float\n"
13764 " (parameters\n"
13765 " (declare (in) float x)\n"
13766 " (declare (in) float y))\n"
13767 " ())\n"
13768 " (signature vec2\n"
13769 " (parameters\n"
13770 " (declare (in) vec2 x)\n"
13771 " (declare (in) vec2 y))\n"
13772 " ())\n"
13773 " (signature vec3\n"
13774 " (parameters\n"
13775 " (declare (in) vec3 x)\n"
13776 " (declare (in) vec3 y))\n"
13777 " ())\n"
13778 " (signature vec4\n"
13779 " (parameters\n"
13780 " (declare (in) vec4 x)\n"
13781 " (declare (in) vec4 y))\n"
13782 " ())\n"
13783 " (signature vec2\n"
13784 " (parameters\n"
13785 " (declare (in) vec2 x)\n"
13786 " (declare (in) float y))\n"
13787 " ())\n"
13788 " (signature vec3\n"
13789 " (parameters\n"
13790 " (declare (in) vec3 x)\n"
13791 " (declare (in) float y))\n"
13792 " ())\n"
13793 " (signature vec4\n"
13794 " (parameters\n"
13795 " (declare (in) vec4 x)\n"
13796 " (declare (in) float y))\n"
13797 " ())\n"
13798 " (signature int\n"
13799 " (parameters\n"
13800 " (declare (in) int x)\n"
13801 " (declare (in) int y))\n"
13802 " ())\n"
13803 " (signature ivec2\n"
13804 " (parameters\n"
13805 " (declare (in) ivec2 x)\n"
13806 " (declare (in) ivec2 y))\n"
13807 " ())\n"
13808 " (signature ivec3\n"
13809 " (parameters\n"
13810 " (declare (in) ivec3 x)\n"
13811 " (declare (in) ivec3 y))\n"
13812 " ())\n"
13813 " (signature ivec4\n"
13814 " (parameters\n"
13815 " (declare (in) ivec4 x)\n"
13816 " (declare (in) ivec4 y))\n"
13817 " ())\n"
13818 " (signature ivec2\n"
13819 " (parameters\n"
13820 " (declare (in) ivec2 x)\n"
13821 " (declare (in) int y))\n"
13822 " ())\n"
13823 " (signature ivec3\n"
13824 " (parameters\n"
13825 " (declare (in) ivec3 x)\n"
13826 " (declare (in) int y))\n"
13827 " ())\n"
13828 " (signature ivec4\n"
13829 " (parameters\n"
13830 " (declare (in) ivec4 x)\n"
13831 " (declare (in) int y))\n"
13832 " ())\n"
13833 " (signature uint\n"
13834 " (parameters\n"
13835 " (declare (in) uint x)\n"
13836 " (declare (in) uint y))\n"
13837 " ())\n"
13838 " (signature uvec2\n"
13839 " (parameters\n"
13840 " (declare (in) uvec2 x)\n"
13841 " (declare (in) uvec2 y))\n"
13842 " ())\n"
13843 " (signature uvec3\n"
13844 " (parameters\n"
13845 " (declare (in) uvec3 x)\n"
13846 " (declare (in) uvec3 y))\n"
13847 " ())\n"
13848 " (signature uvec4\n"
13849 " (parameters\n"
13850 " (declare (in) uvec4 x)\n"
13851 " (declare (in) uvec4 y))\n"
13852 " ())\n"
13853 " (signature uvec2\n"
13854 " (parameters\n"
13855 " (declare (in) uvec2 x)\n"
13856 " (declare (in) uint y))\n"
13857 " ())\n"
13858 " (signature uvec3\n"
13859 " (parameters\n"
13860 " (declare (in) uvec3 x)\n"
13861 " (declare (in) uint y))\n"
13862 " ())\n"
13863 " (signature uvec4\n"
13864 " (parameters\n"
13865 " (declare (in) uvec4 x)\n"
13866 " (declare (in) uint y))\n"
13867 " ()))\n"
13868 "(function clamp\n"
13869 " (signature float\n"
13870 " (parameters\n"
13871 " (declare (in) float x)\n"
13872 " (declare (in) float minVal)\n"
13873 " (declare (in) float maxVal))\n"
13874 " ())\n"
13875 " (signature vec2\n"
13876 " (parameters\n"
13877 " (declare (in) vec2 x)\n"
13878 " (declare (in) vec2 minVal)\n"
13879 " (declare (in) vec2 maxVal))\n"
13880 " ())\n"
13881 " (signature vec3\n"
13882 " (parameters\n"
13883 " (declare (in) vec3 x)\n"
13884 " (declare (in) vec3 minVal)\n"
13885 " (declare (in) vec3 maxVal))\n"
13886 " ())\n"
13887 " (signature vec4\n"
13888 " (parameters\n"
13889 " (declare (in) vec4 x)\n"
13890 " (declare (in) vec4 minVal)\n"
13891 " (declare (in) vec4 maxVal))\n"
13892 " ())\n"
13893 " (signature vec2\n"
13894 " (parameters\n"
13895 " (declare (in) vec2 x)\n"
13896 " (declare (in) float minVal)\n"
13897 " (declare (in) float maxVal))\n"
13898 " ())\n"
13899 " (signature vec3\n"
13900 " (parameters\n"
13901 " (declare (in) vec3 x)\n"
13902 " (declare (in) float minVal)\n"
13903 " (declare (in) float maxVal))\n"
13904 " ())\n"
13905 " (signature vec4\n"
13906 " (parameters\n"
13907 " (declare (in) vec4 x)\n"
13908 " (declare (in) float minVal)\n"
13909 " (declare (in) float maxVal))\n"
13910 " ())\n"
13911 " (signature int\n"
13912 " (parameters\n"
13913 " (declare (in) int x)\n"
13914 " (declare (in) int minVal)\n"
13915 " (declare (in) int maxVal))\n"
13916 " ())\n"
13917 " (signature ivec2\n"
13918 " (parameters\n"
13919 " (declare (in) ivec2 x)\n"
13920 " (declare (in) ivec2 minVal)\n"
13921 " (declare (in) ivec2 maxVal))\n"
13922 " ())\n"
13923 " (signature ivec3\n"
13924 " (parameters\n"
13925 " (declare (in) ivec3 x)\n"
13926 " (declare (in) ivec3 minVal)\n"
13927 " (declare (in) ivec3 maxVal))\n"
13928 " ())\n"
13929 " (signature ivec4\n"
13930 " (parameters\n"
13931 " (declare (in) ivec4 x)\n"
13932 " (declare (in) ivec4 minVal)\n"
13933 " (declare (in) ivec4 maxVal))\n"
13934 " ())\n"
13935 " (signature ivec2\n"
13936 " (parameters\n"
13937 " (declare (in) ivec2 x)\n"
13938 " (declare (in) int minVal)\n"
13939 " (declare (in) int maxVal))\n"
13940 " ())\n"
13941 " (signature ivec3\n"
13942 " (parameters\n"
13943 " (declare (in) ivec3 x)\n"
13944 " (declare (in) int minVal)\n"
13945 " (declare (in) int maxVal))\n"
13946 " ())\n"
13947 " (signature ivec4\n"
13948 " (parameters\n"
13949 " (declare (in) ivec4 x)\n"
13950 " (declare (in) int minVal)\n"
13951 " (declare (in) int maxVal))\n"
13952 " ())\n"
13953 " (signature uint\n"
13954 " (parameters\n"
13955 " (declare (in) uint x)\n"
13956 " (declare (in) uint minVal)\n"
13957 " (declare (in) uint maxVal))\n"
13958 " ())\n"
13959 " (signature uvec2\n"
13960 " (parameters\n"
13961 " (declare (in) uvec2 x)\n"
13962 " (declare (in) uvec2 minVal)\n"
13963 " (declare (in) uvec2 maxVal))\n"
13964 " ())\n"
13965 " (signature uvec3\n"
13966 " (parameters\n"
13967 " (declare (in) uvec3 x)\n"
13968 " (declare (in) uvec3 minVal)\n"
13969 " (declare (in) uvec3 maxVal))\n"
13970 " ())\n"
13971 " (signature uvec4\n"
13972 " (parameters\n"
13973 " (declare (in) uvec4 x)\n"
13974 " (declare (in) uvec4 minVal)\n"
13975 " (declare (in) uvec4 maxVal))\n"
13976 " ())\n"
13977 " (signature uvec2\n"
13978 " (parameters\n"
13979 " (declare (in) uvec2 x)\n"
13980 " (declare (in) uint minVal)\n"
13981 " (declare (in) uint maxVal))\n"
13982 " ())\n"
13983 " (signature uvec3\n"
13984 " (parameters\n"
13985 " (declare (in) uvec3 x)\n"
13986 " (declare (in) uint minVal)\n"
13987 " (declare (in) uint maxVal))\n"
13988 " ())\n"
13989 " (signature uvec4\n"
13990 " (parameters\n"
13991 " (declare (in) uvec4 x)\n"
13992 " (declare (in) uint minVal)\n"
13993 " (declare (in) uint maxVal))\n"
13994 " ()))\n"
13995 "(function mix\n"
13996 " (signature float\n"
13997 " (parameters\n"
13998 " (declare (in) float x)\n"
13999 " (declare (in) float y)\n"
14000 " (declare (in) float a))\n"
14001 " ())\n"
14002 " (signature vec2\n"
14003 " (parameters\n"
14004 " (declare (in) vec2 x)\n"
14005 " (declare (in) vec2 y)\n"
14006 " (declare (in) vec2 a))\n"
14007 " ())\n"
14008 " (signature vec3\n"
14009 " (parameters\n"
14010 " (declare (in) vec3 x)\n"
14011 " (declare (in) vec3 y)\n"
14012 " (declare (in) vec3 a))\n"
14013 " ())\n"
14014 " (signature vec4\n"
14015 " (parameters\n"
14016 " (declare (in) vec4 x)\n"
14017 " (declare (in) vec4 y)\n"
14018 " (declare (in) vec4 a))\n"
14019 " ())\n"
14020 " (signature vec2\n"
14021 " (parameters\n"
14022 " (declare (in) vec2 x)\n"
14023 " (declare (in) vec2 y)\n"
14024 " (declare (in) float a))\n"
14025 " ())\n"
14026 " (signature vec3\n"
14027 " (parameters\n"
14028 " (declare (in) vec3 x)\n"
14029 " (declare (in) vec3 y)\n"
14030 " (declare (in) float a))\n"
14031 " ())\n"
14032 " (signature vec4\n"
14033 " (parameters\n"
14034 " (declare (in) vec4 x)\n"
14035 " (declare (in) vec4 y)\n"
14036 " (declare (in) float a))\n"
14037 " ()))\n"
14038 "(function step\n"
14039 " (signature float\n"
14040 " (parameters\n"
14041 " (declare (in) float edge)\n"
14042 " (declare (in) float x))\n"
14043 " ())\n"
14044 " (signature vec2\n"
14045 " (parameters\n"
14046 " (declare (in) vec2 edge)\n"
14047 " (declare (in) vec2 x))\n"
14048 " ())\n"
14049 " (signature vec3\n"
14050 " (parameters\n"
14051 " (declare (in) vec3 edge)\n"
14052 " (declare (in) vec3 x))\n"
14053 " ())\n"
14054 " (signature vec4\n"
14055 " (parameters\n"
14056 " (declare (in) vec4 edge)\n"
14057 " (declare (in) vec4 x))\n"
14058 " ())\n"
14059 " (signature vec2\n"
14060 " (parameters\n"
14061 " (declare (in) float edge)\n"
14062 " (declare (in) vec2 x))\n"
14063 " ())\n"
14064 " (signature vec3\n"
14065 " (parameters\n"
14066 " (declare (in) float edge)\n"
14067 " (declare (in) vec3 x))\n"
14068 " ())\n"
14069 " (signature vec4\n"
14070 " (parameters\n"
14071 " (declare (in) float edge)\n"
14072 " (declare (in) vec4 x))\n"
14073 " ()))\n"
14074 "(function smoothstep\n"
14075 " (signature float\n"
14076 " (parameters\n"
14077 " (declare (in) float edge0)\n"
14078 " (declare (in) float edge1)\n"
14079 " (declare (in) float x))\n"
14080 " ())\n"
14081 " (signature vec2\n"
14082 " (parameters\n"
14083 " (declare (in) vec2 edge0)\n"
14084 " (declare (in) vec2 edge1)\n"
14085 " (declare (in) vec2 x))\n"
14086 " ())\n"
14087 " (signature vec3\n"
14088 " (parameters\n"
14089 " (declare (in) vec3 edge0)\n"
14090 " (declare (in) vec3 edge1)\n"
14091 " (declare (in) vec3 x))\n"
14092 " ())\n"
14093 " (signature vec4\n"
14094 " (parameters\n"
14095 " (declare (in) vec4 edge0)\n"
14096 " (declare (in) vec4 edge1)\n"
14097 " (declare (in) vec4 x))\n"
14098 " ())\n"
14099 " (signature vec2\n"
14100 " (parameters\n"
14101 " (declare (in) float edge0)\n"
14102 " (declare (in) float edge1)\n"
14103 " (declare (in) vec2 x))\n"
14104 " ())\n"
14105 " (signature vec3\n"
14106 " (parameters\n"
14107 " (declare (in) float edge0)\n"
14108 " (declare (in) float edge1)\n"
14109 " (declare (in) vec3 x))\n"
14110 " ())\n"
14111 " (signature vec4\n"
14112 " (parameters\n"
14113 " (declare (in) float edge0)\n"
14114 " (declare (in) float edge1)\n"
14115 " (declare (in) vec4 x))\n"
14116 " ()))\n"
14117 "(function length\n"
14118 " (signature float\n"
14119 " (parameters\n"
14120 " (declare (in) float x))\n"
14121 " ())\n"
14122 " (signature float\n"
14123 " (parameters\n"
14124 " (declare (in) vec2 x))\n"
14125 " ())\n"
14126 " (signature float\n"
14127 " (parameters\n"
14128 " (declare (in) vec3 x))\n"
14129 " ())\n"
14130 " (signature float\n"
14131 " (parameters\n"
14132 " (declare (in) vec4 x))\n"
14133 " ()))\n"
14134 "(function distance\n"
14135 " (signature float\n"
14136 " (parameters\n"
14137 " (declare (in) float p0)\n"
14138 " (declare (in) float p1))\n"
14139 " ())\n"
14140 " (signature float\n"
14141 " (parameters\n"
14142 " (declare (in) vec2 p0)\n"
14143 " (declare (in) vec2 p1))\n"
14144 " ())\n"
14145 " (signature float\n"
14146 " (parameters\n"
14147 " (declare (in) vec3 p0)\n"
14148 " (declare (in) vec3 p1))\n"
14149 " ())\n"
14150 " (signature float\n"
14151 " (parameters\n"
14152 " (declare (in) vec4 p0)\n"
14153 " (declare (in) vec4 p1))\n"
14154 " ()))\n"
14155 "(function dot\n"
14156 " (signature float\n"
14157 " (parameters\n"
14158 " (declare (in) float x)\n"
14159 " (declare (in) float y))\n"
14160 " ())\n"
14161 " (signature float\n"
14162 " (parameters\n"
14163 " (declare (in) vec2 x)\n"
14164 " (declare (in) vec2 y))\n"
14165 " ())\n"
14166 " (signature float\n"
14167 " (parameters\n"
14168 " (declare (in) vec3 x)\n"
14169 " (declare (in) vec3 y))\n"
14170 " ())\n"
14171 " (signature float\n"
14172 " (parameters\n"
14173 " (declare (in) vec4 x)\n"
14174 " (declare (in) vec4 y))\n"
14175 " ()))\n"
14176 "(function cross\n"
14177 " (signature vec3\n"
14178 " (parameters\n"
14179 " (declare (in) vec3 x)\n"
14180 " (declare (in) vec3 y))\n"
14181 " ()))\n"
14182 "(function normalize\n"
14183 " (signature float\n"
14184 " (parameters\n"
14185 " (declare (in) float x))\n"
14186 " ())\n"
14187 " (signature vec2\n"
14188 " (parameters\n"
14189 " (declare (in) vec2 x))\n"
14190 " ())\n"
14191 " (signature vec3\n"
14192 " (parameters\n"
14193 " (declare (in) vec3 x))\n"
14194 " ())\n"
14195 " (signature vec4\n"
14196 " (parameters\n"
14197 " (declare (in) vec4 x))\n"
14198 " ()))\n"
14199 "(function ftransform\n"
14200 " (signature vec4\n"
14201 " (parameters)\n"
14202 " ()))\n"
14203 "(function faceforward\n"
14204 " (signature float\n"
14205 " (parameters\n"
14206 " (declare (in) float N)\n"
14207 " (declare (in) float I)\n"
14208 " (declare (in) float Nref))\n"
14209 " ())\n"
14210 " (signature vec2\n"
14211 " (parameters\n"
14212 " (declare (in) vec2 N)\n"
14213 " (declare (in) vec2 I)\n"
14214 " (declare (in) vec2 Nref))\n"
14215 " ())\n"
14216 " (signature vec3\n"
14217 " (parameters\n"
14218 " (declare (in) vec3 N)\n"
14219 " (declare (in) vec3 I)\n"
14220 " (declare (in) vec3 Nref))\n"
14221 " ())\n"
14222 " (signature vec4\n"
14223 " (parameters\n"
14224 " (declare (in) vec4 N)\n"
14225 " (declare (in) vec4 I)\n"
14226 " (declare (in) vec4 Nref))\n"
14227 " ()))\n"
14228 "(function reflect\n"
14229 " (signature float\n"
14230 " (parameters\n"
14231 " (declare (in) float I)\n"
14232 " (declare (in) float N))\n"
14233 " ())\n"
14234 " (signature vec2\n"
14235 " (parameters\n"
14236 " (declare (in) vec2 I)\n"
14237 " (declare (in) vec2 N))\n"
14238 " ())\n"
14239 " (signature vec3\n"
14240 " (parameters\n"
14241 " (declare (in) vec3 I)\n"
14242 " (declare (in) vec3 N))\n"
14243 " ())\n"
14244 " (signature vec4\n"
14245 " (parameters\n"
14246 " (declare (in) vec4 I)\n"
14247 " (declare (in) vec4 N))\n"
14248 " ()))\n"
14249 "(function refract\n"
14250 " (signature float\n"
14251 " (parameters\n"
14252 " (declare (in) float I)\n"
14253 " (declare (in) float N)\n"
14254 " (declare (in) float eta))\n"
14255 " ())\n"
14256 " (signature vec2\n"
14257 " (parameters\n"
14258 " (declare (in) vec2 I)\n"
14259 " (declare (in) vec2 N)\n"
14260 " (declare (in) float eta))\n"
14261 " ())\n"
14262 " (signature vec3\n"
14263 " (parameters\n"
14264 " (declare (in) vec3 I)\n"
14265 " (declare (in) vec3 N)\n"
14266 " (declare (in) float eta))\n"
14267 " ())\n"
14268 " (signature vec4\n"
14269 " (parameters\n"
14270 " (declare (in) vec4 I)\n"
14271 " (declare (in) vec4 N)\n"
14272 " (declare (in) float eta))\n"
14273 " ()))\n"
14274 "(function matrixCompMult\n"
14275 " (signature mat2\n"
14276 " (parameters\n"
14277 " (declare (in) mat2 x)\n"
14278 " (declare (in) mat2 y))\n"
14279 " ())\n"
14280 " (signature mat3\n"
14281 " (parameters\n"
14282 " (declare (in) mat3 x)\n"
14283 " (declare (in) mat3 y))\n"
14284 " ())\n"
14285 " (signature mat4\n"
14286 " (parameters\n"
14287 " (declare (in) mat4 x)\n"
14288 " (declare (in) mat4 y))\n"
14289 " ())\n"
14290 " (signature mat2x3\n"
14291 " (parameters\n"
14292 " (declare (in) mat2x3 x)\n"
14293 " (declare (in) mat2x3 y))\n"
14294 " ())\n"
14295 " (signature mat2x4\n"
14296 " (parameters\n"
14297 " (declare (in) mat2x4 x)\n"
14298 " (declare (in) mat2x4 y))\n"
14299 " ())\n"
14300 " (signature mat3x2\n"
14301 " (parameters\n"
14302 " (declare (in) mat3x2 x)\n"
14303 " (declare (in) mat3x2 y))\n"
14304 " ())\n"
14305 " (signature mat3x4\n"
14306 " (parameters\n"
14307 " (declare (in) mat3x4 x)\n"
14308 " (declare (in) mat3x4 y))\n"
14309 " ())\n"
14310 " (signature mat4x2\n"
14311 " (parameters\n"
14312 " (declare (in) mat4x2 x)\n"
14313 " (declare (in) mat4x2 y))\n"
14314 " ())\n"
14315 " (signature mat4x3\n"
14316 " (parameters\n"
14317 " (declare (in) mat4x3 x)\n"
14318 " (declare (in) mat4x3 y))\n"
14319 " ()))\n"
14320 "(function outerProduct\n"
14321 " (signature mat2\n"
14322 " (parameters\n"
14323 " (declare (in) vec2 c)\n"
14324 " (declare (in) vec2 r))\n"
14325 " ())\n"
14326 " (signature mat3\n"
14327 " (parameters\n"
14328 " (declare (in) vec3 c)\n"
14329 " (declare (in) vec3 r))\n"
14330 " ())\n"
14331 " (signature mat4\n"
14332 " (parameters\n"
14333 " (declare (in) vec4 c)\n"
14334 " (declare (in) vec4 r))\n"
14335 " ())\n"
14336 " (signature mat2x3\n"
14337 " (parameters\n"
14338 " (declare (in) vec3 c)\n"
14339 " (declare (in) vec2 r))\n"
14340 " ())\n"
14341 " (signature mat3x2\n"
14342 " (parameters\n"
14343 " (declare (in) vec2 c)\n"
14344 " (declare (in) vec3 r))\n"
14345 " ())\n"
14346 " (signature mat2x4\n"
14347 " (parameters\n"
14348 " (declare (in) vec4 c)\n"
14349 " (declare (in) vec2 r))\n"
14350 " ())\n"
14351 " (signature mat4x2\n"
14352 " (parameters\n"
14353 " (declare (in) vec2 c)\n"
14354 " (declare (in) vec4 r))\n"
14355 " ())\n"
14356 " (signature mat3x4\n"
14357 " (parameters\n"
14358 " (declare (in) vec4 c)\n"
14359 " (declare (in) vec3 r))\n"
14360 " ())\n"
14361 " (signature mat4x3\n"
14362 " (parameters\n"
14363 " (declare (in) vec3 c)\n"
14364 " (declare (in) vec4 r))\n"
14365 " ()))\n"
14366 "(function transpose\n"
14367 " (signature mat2\n"
14368 " (parameters\n"
14369 " (declare (in) mat2 m))\n"
14370 " ())\n"
14371 " (signature mat3\n"
14372 " (parameters\n"
14373 " (declare (in) mat3 m))\n"
14374 " ())\n"
14375 " (signature mat4\n"
14376 " (parameters\n"
14377 " (declare (in) mat4 m))\n"
14378 " ())\n"
14379 " (signature mat2x3\n"
14380 " (parameters\n"
14381 " (declare (in) mat3x2 m))\n"
14382 " ())\n"
14383 " (signature mat3x2\n"
14384 " (parameters\n"
14385 " (declare (in) mat2x3 m))\n"
14386 " ())\n"
14387 " (signature mat2x4\n"
14388 " (parameters\n"
14389 " (declare (in) mat4x2 m))\n"
14390 " ())\n"
14391 " (signature mat4x2\n"
14392 " (parameters\n"
14393 " (declare (in) mat2x4 m))\n"
14394 " ())\n"
14395 " (signature mat3x4\n"
14396 " (parameters\n"
14397 " (declare (in) mat4x3 m))\n"
14398 " ())\n"
14399 " (signature mat4x3\n"
14400 " (parameters\n"
14401 " (declare (in) mat3x4 m))\n"
14402 " ()))\n"
14403 "(function lessThan\n"
14404 " (signature bvec2\n"
14405 " (parameters\n"
14406 " (declare (in) vec2 x)\n"
14407 " (declare (in) vec2 y))\n"
14408 " ())\n"
14409 " (signature bvec3\n"
14410 " (parameters\n"
14411 " (declare (in) vec3 x)\n"
14412 " (declare (in) vec3 y))\n"
14413 " ())\n"
14414 " (signature bvec4\n"
14415 " (parameters\n"
14416 " (declare (in) vec4 x)\n"
14417 " (declare (in) vec4 y))\n"
14418 " ())\n"
14419 " (signature bvec2\n"
14420 " (parameters\n"
14421 " (declare (in) ivec2 x)\n"
14422 " (declare (in) ivec2 y))\n"
14423 " ())\n"
14424 " (signature bvec3\n"
14425 " (parameters\n"
14426 " (declare (in) ivec3 x)\n"
14427 " (declare (in) ivec3 y))\n"
14428 " ())\n"
14429 " (signature bvec4\n"
14430 " (parameters\n"
14431 " (declare (in) ivec4 x)\n"
14432 " (declare (in) ivec4 y))\n"
14433 " ())\n"
14434 " (signature bvec2\n"
14435 " (parameters\n"
14436 " (declare (in) uvec2 x)\n"
14437 " (declare (in) uvec2 y))\n"
14438 " ())\n"
14439 " (signature bvec3\n"
14440 " (parameters\n"
14441 " (declare (in) uvec3 x)\n"
14442 " (declare (in) uvec3 y))\n"
14443 " ())\n"
14444 " (signature bvec4\n"
14445 " (parameters\n"
14446 " (declare (in) uvec4 x)\n"
14447 " (declare (in) uvec4 y))\n"
14448 " ()))\n"
14449 "(function lessThanEqual\n"
14450 " (signature bvec2\n"
14451 " (parameters\n"
14452 " (declare (in) vec2 x)\n"
14453 " (declare (in) vec2 y))\n"
14454 " ())\n"
14455 " (signature bvec3\n"
14456 " (parameters\n"
14457 " (declare (in) vec3 x)\n"
14458 " (declare (in) vec3 y))\n"
14459 " ())\n"
14460 " (signature bvec4\n"
14461 " (parameters\n"
14462 " (declare (in) vec4 x)\n"
14463 " (declare (in) vec4 y))\n"
14464 " ())\n"
14465 " (signature bvec2\n"
14466 " (parameters\n"
14467 " (declare (in) ivec2 x)\n"
14468 " (declare (in) ivec2 y))\n"
14469 " ())\n"
14470 " (signature bvec3\n"
14471 " (parameters\n"
14472 " (declare (in) ivec3 x)\n"
14473 " (declare (in) ivec3 y))\n"
14474 " ())\n"
14475 " (signature bvec4\n"
14476 " (parameters\n"
14477 " (declare (in) ivec4 x)\n"
14478 " (declare (in) ivec4 y))\n"
14479 " ())\n"
14480 " (signature bvec2\n"
14481 " (parameters\n"
14482 " (declare (in) uvec2 x)\n"
14483 " (declare (in) uvec2 y))\n"
14484 " ())\n"
14485 " (signature bvec3\n"
14486 " (parameters\n"
14487 " (declare (in) uvec3 x)\n"
14488 " (declare (in) uvec3 y))\n"
14489 " ())\n"
14490 " (signature bvec4\n"
14491 " (parameters\n"
14492 " (declare (in) uvec4 x)\n"
14493 " (declare (in) uvec4 y))\n"
14494 " ()))\n"
14495 "(function greaterThan\n"
14496 " (signature bvec2\n"
14497 " (parameters\n"
14498 " (declare (in) vec2 x)\n"
14499 " (declare (in) vec2 y))\n"
14500 " ())\n"
14501 " (signature bvec3\n"
14502 " (parameters\n"
14503 " (declare (in) vec3 x)\n"
14504 " (declare (in) vec3 y))\n"
14505 " ())\n"
14506 " (signature bvec4\n"
14507 " (parameters\n"
14508 " (declare (in) vec4 x)\n"
14509 " (declare (in) vec4 y))\n"
14510 " ())\n"
14511 " (signature bvec2\n"
14512 " (parameters\n"
14513 " (declare (in) ivec2 x)\n"
14514 " (declare (in) ivec2 y))\n"
14515 " ())\n"
14516 " (signature bvec3\n"
14517 " (parameters\n"
14518 " (declare (in) ivec3 x)\n"
14519 " (declare (in) ivec3 y))\n"
14520 " ())\n"
14521 " (signature bvec4\n"
14522 " (parameters\n"
14523 " (declare (in) ivec4 x)\n"
14524 " (declare (in) ivec4 y))\n"
14525 " ())\n"
14526 " (signature bvec2\n"
14527 " (parameters\n"
14528 " (declare (in) uvec2 x)\n"
14529 " (declare (in) uvec2 y))\n"
14530 " ())\n"
14531 " (signature bvec3\n"
14532 " (parameters\n"
14533 " (declare (in) uvec3 x)\n"
14534 " (declare (in) uvec3 y))\n"
14535 " ())\n"
14536 " (signature bvec4\n"
14537 " (parameters\n"
14538 " (declare (in) uvec4 x)\n"
14539 " (declare (in) uvec4 y))\n"
14540 " ()))\n"
14541 "(function greaterThanEqual\n"
14542 " (signature bvec2\n"
14543 " (parameters\n"
14544 " (declare (in) vec2 x)\n"
14545 " (declare (in) vec2 y))\n"
14546 " ())\n"
14547 " (signature bvec3\n"
14548 " (parameters\n"
14549 " (declare (in) vec3 x)\n"
14550 " (declare (in) vec3 y))\n"
14551 " ())\n"
14552 " (signature bvec4\n"
14553 " (parameters\n"
14554 " (declare (in) vec4 x)\n"
14555 " (declare (in) vec4 y))\n"
14556 " ())\n"
14557 " (signature bvec2\n"
14558 " (parameters\n"
14559 " (declare (in) ivec2 x)\n"
14560 " (declare (in) ivec2 y))\n"
14561 " ())\n"
14562 " (signature bvec3\n"
14563 " (parameters\n"
14564 " (declare (in) ivec3 x)\n"
14565 " (declare (in) ivec3 y))\n"
14566 " ())\n"
14567 " (signature bvec4\n"
14568 " (parameters\n"
14569 " (declare (in) ivec4 x)\n"
14570 " (declare (in) ivec4 y))\n"
14571 " ())\n"
14572 " (signature bvec2\n"
14573 " (parameters\n"
14574 " (declare (in) uvec2 x)\n"
14575 " (declare (in) uvec2 y))\n"
14576 " ())\n"
14577 " (signature bvec3\n"
14578 " (parameters\n"
14579 " (declare (in) uvec3 x)\n"
14580 " (declare (in) uvec3 y))\n"
14581 " ())\n"
14582 " (signature bvec4\n"
14583 " (parameters\n"
14584 " (declare (in) uvec4 x)\n"
14585 " (declare (in) uvec4 y))\n"
14586 " ()))\n"
14587 "(function equal\n"
14588 " (signature bvec2\n"
14589 " (parameters\n"
14590 " (declare (in) vec2 x)\n"
14591 " (declare (in) vec2 y))\n"
14592 " ())\n"
14593 " (signature bvec3\n"
14594 " (parameters\n"
14595 " (declare (in) vec3 x)\n"
14596 " (declare (in) vec3 y))\n"
14597 " ())\n"
14598 " (signature bvec4\n"
14599 " (parameters\n"
14600 " (declare (in) vec4 x)\n"
14601 " (declare (in) vec4 y))\n"
14602 " ())\n"
14603 " (signature bvec2\n"
14604 " (parameters\n"
14605 " (declare (in) ivec2 x)\n"
14606 " (declare (in) ivec2 y))\n"
14607 " ())\n"
14608 " (signature bvec3\n"
14609 " (parameters\n"
14610 " (declare (in) ivec3 x)\n"
14611 " (declare (in) ivec3 y))\n"
14612 " ())\n"
14613 " (signature bvec4\n"
14614 " (parameters\n"
14615 " (declare (in) ivec4 x)\n"
14616 " (declare (in) ivec4 y))\n"
14617 " ())\n"
14618 " (signature bvec2\n"
14619 " (parameters\n"
14620 " (declare (in) uvec2 x)\n"
14621 " (declare (in) uvec2 y))\n"
14622 " ())\n"
14623 " (signature bvec3\n"
14624 " (parameters\n"
14625 " (declare (in) uvec3 x)\n"
14626 " (declare (in) uvec3 y))\n"
14627 " ())\n"
14628 " (signature bvec4\n"
14629 " (parameters\n"
14630 " (declare (in) uvec4 x)\n"
14631 " (declare (in) uvec4 y))\n"
14632 " ())\n"
14633 " (signature bvec2\n"
14634 " (parameters\n"
14635 " (declare (in) bvec2 x)\n"
14636 " (declare (in) bvec2 y))\n"
14637 " ())\n"
14638 " (signature bvec3\n"
14639 " (parameters\n"
14640 " (declare (in) bvec3 x)\n"
14641 " (declare (in) bvec3 y))\n"
14642 " ())\n"
14643 " (signature bvec4\n"
14644 " (parameters\n"
14645 " (declare (in) bvec4 x)\n"
14646 " (declare (in) bvec4 y))\n"
14647 " ()))\n"
14648 "(function notEqual\n"
14649 " (signature bvec2\n"
14650 " (parameters\n"
14651 " (declare (in) vec2 x)\n"
14652 " (declare (in) vec2 y))\n"
14653 " ())\n"
14654 " (signature bvec3\n"
14655 " (parameters\n"
14656 " (declare (in) vec3 x)\n"
14657 " (declare (in) vec3 y))\n"
14658 " ())\n"
14659 " (signature bvec4\n"
14660 " (parameters\n"
14661 " (declare (in) vec4 x)\n"
14662 " (declare (in) vec4 y))\n"
14663 " ())\n"
14664 " (signature bvec2\n"
14665 " (parameters\n"
14666 " (declare (in) ivec2 x)\n"
14667 " (declare (in) ivec2 y))\n"
14668 " ())\n"
14669 " (signature bvec3\n"
14670 " (parameters\n"
14671 " (declare (in) ivec3 x)\n"
14672 " (declare (in) ivec3 y))\n"
14673 " ())\n"
14674 " (signature bvec4\n"
14675 " (parameters\n"
14676 " (declare (in) ivec4 x)\n"
14677 " (declare (in) ivec4 y))\n"
14678 " ())\n"
14679 " (signature bvec2\n"
14680 " (parameters\n"
14681 " (declare (in) uvec2 x)\n"
14682 " (declare (in) uvec2 y))\n"
14683 " ())\n"
14684 " (signature bvec3\n"
14685 " (parameters\n"
14686 " (declare (in) uvec3 x)\n"
14687 " (declare (in) uvec3 y))\n"
14688 " ())\n"
14689 " (signature bvec4\n"
14690 " (parameters\n"
14691 " (declare (in) uvec4 x)\n"
14692 " (declare (in) uvec4 y))\n"
14693 " ())\n"
14694 " (signature bvec2\n"
14695 " (parameters\n"
14696 " (declare (in) bvec2 x)\n"
14697 " (declare (in) bvec2 y))\n"
14698 " ())\n"
14699 " (signature bvec3\n"
14700 " (parameters\n"
14701 " (declare (in) bvec3 x)\n"
14702 " (declare (in) bvec3 y))\n"
14703 " ())\n"
14704 " (signature bvec4\n"
14705 " (parameters\n"
14706 " (declare (in) bvec4 x)\n"
14707 " (declare (in) bvec4 y))\n"
14708 " ()))\n"
14709 "(function any\n"
14710 " (signature bool\n"
14711 " (parameters\n"
14712 " (declare (in) bvec2 x))\n"
14713 " ())\n"
14714 " (signature bool\n"
14715 " (parameters\n"
14716 " (declare (in) bvec3 x))\n"
14717 " ())\n"
14718 " (signature bool\n"
14719 " (parameters\n"
14720 " (declare (in) bvec4 x))\n"
14721 " ()))\n"
14722 "(function all\n"
14723 " (signature bool\n"
14724 " (parameters\n"
14725 " (declare (in) bvec2 x))\n"
14726 " ())\n"
14727 " (signature bool\n"
14728 " (parameters\n"
14729 " (declare (in) bvec3 x))\n"
14730 " ())\n"
14731 " (signature bool\n"
14732 " (parameters\n"
14733 " (declare (in) bvec4 x))\n"
14734 " ()))\n"
14735 "(function not\n"
14736 " (signature bvec2\n"
14737 " (parameters\n"
14738 " (declare (in) bvec2 x))\n"
14739 " ())\n"
14740 " (signature bvec3\n"
14741 " (parameters\n"
14742 " (declare (in) bvec3 x))\n"
14743 " ())\n"
14744 " (signature bvec4\n"
14745 " (parameters\n"
14746 " (declare (in) bvec4 x))\n"
14747 " ()))\n"
14748 "(function texture\n"
14749 " (signature vec4\n"
14750 " (parameters\n"
14751 " (declare (in) sampler1D sampler)\n"
14752 " (declare (in) float P))\n"
14753 " ())\n"
14754 " (signature ivec4\n"
14755 " (parameters\n"
14756 " (declare (in) isampler1D sampler)\n"
14757 " (declare (in) float P))\n"
14758 " ())\n"
14759 " (signature uvec4\n"
14760 " (parameters\n"
14761 " (declare (in) usampler1D sampler)\n"
14762 " (declare (in) float P))\n"
14763 " ())\n"
14764 " (signature vec4\n"
14765 " (parameters\n"
14766 " (declare (in) sampler2D sampler)\n"
14767 " (declare (in) vec2 P))\n"
14768 " ())\n"
14769 " (signature ivec4\n"
14770 " (parameters\n"
14771 " (declare (in) isampler2D sampler)\n"
14772 " (declare (in) vec2 P))\n"
14773 " ())\n"
14774 " (signature uvec4\n"
14775 " (parameters\n"
14776 " (declare (in) usampler2D sampler)\n"
14777 " (declare (in) vec2 P))\n"
14778 " ())\n"
14779 " (signature vec4\n"
14780 " (parameters\n"
14781 " (declare (in) sampler3D sampler)\n"
14782 " (declare (in) vec3 P))\n"
14783 " ())\n"
14784 " (signature ivec4\n"
14785 " (parameters\n"
14786 " (declare (in) isampler3D sampler)\n"
14787 " (declare (in) vec3 P))\n"
14788 " ())\n"
14789 " (signature uvec4\n"
14790 " (parameters\n"
14791 " (declare (in) usampler3D sampler)\n"
14792 " (declare (in) vec3 P))\n"
14793 " ())\n"
14794 " (signature vec4\n"
14795 " (parameters\n"
14796 " (declare (in) samplerCube sampler)\n"
14797 " (declare (in) vec3 P))\n"
14798 " ())\n"
14799 " (signature ivec4\n"
14800 " (parameters\n"
14801 " (declare (in) isamplerCube sampler)\n"
14802 " (declare (in) vec3 P))\n"
14803 " ())\n"
14804 " (signature uvec4\n"
14805 " (parameters\n"
14806 " (declare (in) usamplerCube sampler)\n"
14807 " (declare (in) vec3 P))\n"
14808 " ())\n"
14809 " (signature float\n"
14810 " (parameters\n"
14811 " (declare (in) sampler1DShadow sampler)\n"
14812 " (declare (in) vec3 P))\n"
14813 " ())\n"
14814 " (signature float\n"
14815 " (parameters\n"
14816 " (declare (in) sampler2DShadow sampler)\n"
14817 " (declare (in) vec3 P))\n"
14818 " ())\n"
14819 " (signature float\n"
14820 " (parameters\n"
14821 " (declare (in) samplerCubeShadow sampler)\n"
14822 " (declare (in) vec4 P))\n"
14823 " ())\n"
14824 " (signature vec4\n"
14825 " (parameters\n"
14826 " (declare (in) sampler1DArray sampler)\n"
14827 " (declare (in) vec2 P))\n"
14828 " ())\n"
14829 " (signature ivec4\n"
14830 " (parameters\n"
14831 " (declare (in) isampler1DArray sampler)\n"
14832 " (declare (in) vec2 P))\n"
14833 " ())\n"
14834 " (signature uvec4\n"
14835 " (parameters\n"
14836 " (declare (in) usampler1DArray sampler)\n"
14837 " (declare (in) vec2 P))\n"
14838 " ())\n"
14839 " (signature vec4\n"
14840 " (parameters\n"
14841 " (declare (in) sampler2DArray sampler)\n"
14842 " (declare (in) vec3 P))\n"
14843 " ())\n"
14844 " (signature ivec4\n"
14845 " (parameters\n"
14846 " (declare (in) isampler2DArray sampler)\n"
14847 " (declare (in) vec3 P))\n"
14848 " ())\n"
14849 " (signature uvec4\n"
14850 " (parameters\n"
14851 " (declare (in) usampler2DArray sampler)\n"
14852 " (declare (in) vec3 P))\n"
14853 " ())\n"
14854 " (signature float\n"
14855 " (parameters\n"
14856 " (declare (in) sampler1DArrayShadow sampler)\n"
14857 " (declare (in) vec3 P))\n"
14858 " ())\n"
14859 " (signature float\n"
14860 " (parameters\n"
14861 " (declare (in) sampler2DArrayShadow sampler)\n"
14862 " (declare (in) vec4 P))\n"
14863 " ())\n"
14864 " (signature vec4\n"
14865 " (parameters\n"
14866 " (declare (in) sampler1D sampler)\n"
14867 " (declare (in) float P)\n"
14868 " (declare (in) float bias))\n"
14869 " ())\n"
14870 " (signature ivec4\n"
14871 " (parameters\n"
14872 " (declare (in) isampler1D sampler)\n"
14873 " (declare (in) float P)\n"
14874 " (declare (in) float bias))\n"
14875 " ())\n"
14876 " (signature uvec4\n"
14877 " (parameters\n"
14878 " (declare (in) usampler1D sampler)\n"
14879 " (declare (in) float P)\n"
14880 " (declare (in) float bias))\n"
14881 " ())\n"
14882 " (signature vec4\n"
14883 " (parameters\n"
14884 " (declare (in) sampler2D sampler)\n"
14885 " (declare (in) vec2 P)\n"
14886 " (declare (in) float bias))\n"
14887 " ())\n"
14888 " (signature ivec4\n"
14889 " (parameters\n"
14890 " (declare (in) isampler2D sampler)\n"
14891 " (declare (in) vec2 P)\n"
14892 " (declare (in) float bias))\n"
14893 " ())\n"
14894 " (signature uvec4\n"
14895 " (parameters\n"
14896 " (declare (in) usampler2D sampler)\n"
14897 " (declare (in) vec2 P)\n"
14898 " (declare (in) float bias))\n"
14899 " ())\n"
14900 " (signature vec4\n"
14901 " (parameters\n"
14902 " (declare (in) sampler3D sampler)\n"
14903 " (declare (in) vec3 P)\n"
14904 " (declare (in) float bias))\n"
14905 " ())\n"
14906 " (signature ivec4\n"
14907 " (parameters\n"
14908 " (declare (in) isampler3D sampler)\n"
14909 " (declare (in) vec3 P)\n"
14910 " (declare (in) float bias))\n"
14911 " ())\n"
14912 " (signature uvec4\n"
14913 " (parameters\n"
14914 " (declare (in) usampler3D sampler)\n"
14915 " (declare (in) vec3 P)\n"
14916 " (declare (in) float bias))\n"
14917 " ())\n"
14918 " (signature vec4\n"
14919 " (parameters\n"
14920 " (declare (in) samplerCube sampler)\n"
14921 " (declare (in) vec3 P)\n"
14922 " (declare (in) float bias))\n"
14923 " ())\n"
14924 " (signature ivec4\n"
14925 " (parameters\n"
14926 " (declare (in) isamplerCube sampler)\n"
14927 " (declare (in) vec3 P)\n"
14928 " (declare (in) float bias))\n"
14929 " ())\n"
14930 " (signature uvec4\n"
14931 " (parameters\n"
14932 " (declare (in) usamplerCube sampler)\n"
14933 " (declare (in) vec3 P)\n"
14934 " (declare (in) float bias))\n"
14935 " ())\n"
14936 " (signature float\n"
14937 " (parameters\n"
14938 " (declare (in) sampler1DShadow sampler)\n"
14939 " (declare (in) vec3 P)\n"
14940 " (declare (in) float bias))\n"
14941 " ())\n"
14942 " (signature float\n"
14943 " (parameters\n"
14944 " (declare (in) sampler2DShadow sampler)\n"
14945 " (declare (in) vec3 P)\n"
14946 " (declare (in) float bias))\n"
14947 " ())\n"
14948 " (signature float\n"
14949 " (parameters\n"
14950 " (declare (in) samplerCubeShadow sampler)\n"
14951 " (declare (in) vec4 P)\n"
14952 " (declare (in) float bias))\n"
14953 " ())\n"
14954 " (signature vec4\n"
14955 " (parameters\n"
14956 " (declare (in) sampler1DArray sampler)\n"
14957 " (declare (in) vec2 P)\n"
14958 " (declare (in) float bias))\n"
14959 " ())\n"
14960 " (signature ivec4\n"
14961 " (parameters\n"
14962 " (declare (in) isampler1DArray sampler)\n"
14963 " (declare (in) vec2 P)\n"
14964 " (declare (in) float bias))\n"
14965 " ())\n"
14966 " (signature uvec4\n"
14967 " (parameters\n"
14968 " (declare (in) usampler1DArray sampler)\n"
14969 " (declare (in) vec2 P)\n"
14970 " (declare (in) float bias))\n"
14971 " ())\n"
14972 " (signature vec4\n"
14973 " (parameters\n"
14974 " (declare (in) sampler2DArray sampler)\n"
14975 " (declare (in) vec3 P)\n"
14976 " (declare (in) float bias))\n"
14977 " ())\n"
14978 " (signature ivec4\n"
14979 " (parameters\n"
14980 " (declare (in) isampler2DArray sampler)\n"
14981 " (declare (in) vec3 P)\n"
14982 " (declare (in) float bias))\n"
14983 " ())\n"
14984 " (signature uvec4\n"
14985 " (parameters\n"
14986 " (declare (in) usampler2DArray sampler)\n"
14987 " (declare (in) vec3 P)\n"
14988 " (declare (in) float bias))\n"
14989 " ())\n"
14990 " (signature float\n"
14991 " (parameters\n"
14992 " (declare (in) sampler1DArrayShadow sampler)\n"
14993 " (declare (in) vec3 P)\n"
14994 " (declare (in) float bias))\n"
14995 " ()))\n"
14996 "(function textureProj\n"
14997 " (signature vec4\n"
14998 " (parameters\n"
14999 " (declare (in) sampler1D sampler)\n"
15000 " (declare (in) vec2 P))\n"
15001 " ())\n"
15002 " (signature ivec4\n"
15003 " (parameters\n"
15004 " (declare (in) isampler1D sampler)\n"
15005 " (declare (in) vec2 P))\n"
15006 " ())\n"
15007 " (signature uvec4\n"
15008 " (parameters\n"
15009 " (declare (in) usampler1D sampler)\n"
15010 " (declare (in) vec2 P))\n"
15011 " ())\n"
15012 " (signature vec4\n"
15013 " (parameters\n"
15014 " (declare (in) sampler1D sampler)\n"
15015 " (declare (in) vec4 P))\n"
15016 " ())\n"
15017 " (signature ivec4\n"
15018 " (parameters\n"
15019 " (declare (in) isampler1D sampler)\n"
15020 " (declare (in) vec4 P))\n"
15021 " ())\n"
15022 " (signature uvec4\n"
15023 " (parameters\n"
15024 " (declare (in) usampler1D sampler)\n"
15025 " (declare (in) vec4 P))\n"
15026 " ())\n"
15027 " (signature vec4\n"
15028 " (parameters\n"
15029 " (declare (in) sampler2D sampler)\n"
15030 " (declare (in) vec3 P))\n"
15031 " ())\n"
15032 " (signature ivec4\n"
15033 " (parameters\n"
15034 " (declare (in) isampler2D sampler)\n"
15035 " (declare (in) vec3 P))\n"
15036 " ())\n"
15037 " (signature uvec4\n"
15038 " (parameters\n"
15039 " (declare (in) usampler2D sampler)\n"
15040 " (declare (in) vec3 P))\n"
15041 " ())\n"
15042 " (signature vec4\n"
15043 " (parameters\n"
15044 " (declare (in) sampler2D sampler)\n"
15045 " (declare (in) vec4 P))\n"
15046 " ())\n"
15047 " (signature ivec4\n"
15048 " (parameters\n"
15049 " (declare (in) isampler2D sampler)\n"
15050 " (declare (in) vec4 P))\n"
15051 " ())\n"
15052 " (signature uvec4\n"
15053 " (parameters\n"
15054 " (declare (in) usampler2D sampler)\n"
15055 " (declare (in) vec4 P))\n"
15056 " ())\n"
15057 " (signature vec4\n"
15058 " (parameters\n"
15059 " (declare (in) sampler3D sampler)\n"
15060 " (declare (in) vec4 P))\n"
15061 " ())\n"
15062 " (signature ivec4\n"
15063 " (parameters\n"
15064 " (declare (in) isampler3D sampler)\n"
15065 " (declare (in) vec4 P))\n"
15066 " ())\n"
15067 " (signature uvec4\n"
15068 " (parameters\n"
15069 " (declare (in) usampler3D sampler)\n"
15070 " (declare (in) vec4 P))\n"
15071 " ())\n"
15072 " (signature float\n"
15073 " (parameters\n"
15074 " (declare (in) sampler1DShadow sampler)\n"
15075 " (declare (in) vec4 P))\n"
15076 " ())\n"
15077 " (signature float\n"
15078 " (parameters\n"
15079 " (declare (in) sampler2DShadow sampler)\n"
15080 " (declare (in) vec4 P))\n"
15081 " ())\n"
15082 " (signature vec4\n"
15083 " (parameters\n"
15084 " (declare (in) sampler1D sampler)\n"
15085 " (declare (in) vec2 P)\n"
15086 " (declare (in) float bias))\n"
15087 " ())\n"
15088 " (signature ivec4\n"
15089 " (parameters\n"
15090 " (declare (in) isampler1D sampler)\n"
15091 " (declare (in) vec2 P)\n"
15092 " (declare (in) float bias))\n"
15093 " ())\n"
15094 " (signature uvec4\n"
15095 " (parameters\n"
15096 " (declare (in) usampler1D sampler)\n"
15097 " (declare (in) vec2 P)\n"
15098 " (declare (in) float bias))\n"
15099 " ())\n"
15100 " (signature vec4\n"
15101 " (parameters\n"
15102 " (declare (in) sampler1D sampler)\n"
15103 " (declare (in) vec4 P)\n"
15104 " (declare (in) float bias))\n"
15105 " ())\n"
15106 " (signature ivec4\n"
15107 " (parameters\n"
15108 " (declare (in) isampler1D sampler)\n"
15109 " (declare (in) vec4 P)\n"
15110 " (declare (in) float bias))\n"
15111 " ())\n"
15112 " (signature uvec4\n"
15113 " (parameters\n"
15114 " (declare (in) usampler1D sampler)\n"
15115 " (declare (in) vec4 P)\n"
15116 " (declare (in) float bias))\n"
15117 " ())\n"
15118 " (signature vec4\n"
15119 " (parameters\n"
15120 " (declare (in) sampler2D sampler)\n"
15121 " (declare (in) vec3 P)\n"
15122 " (declare (in) float bias))\n"
15123 " ())\n"
15124 " (signature ivec4\n"
15125 " (parameters\n"
15126 " (declare (in) isampler2D sampler)\n"
15127 " (declare (in) vec3 P)\n"
15128 " (declare (in) float bias))\n"
15129 " ())\n"
15130 " (signature uvec4\n"
15131 " (parameters\n"
15132 " (declare (in) usampler2D sampler)\n"
15133 " (declare (in) vec3 P)\n"
15134 " (declare (in) float bias))\n"
15135 " ())\n"
15136 " (signature vec4\n"
15137 " (parameters\n"
15138 " (declare (in) sampler2D sampler)\n"
15139 " (declare (in) vec4 P)\n"
15140 " (declare (in) float bias))\n"
15141 " ())\n"
15142 " (signature ivec4\n"
15143 " (parameters\n"
15144 " (declare (in) isampler2D sampler)\n"
15145 " (declare (in) vec4 P)\n"
15146 " (declare (in) float bias))\n"
15147 " ())\n"
15148 " (signature uvec4\n"
15149 " (parameters\n"
15150 " (declare (in) usampler2D sampler)\n"
15151 " (declare (in) vec4 P)\n"
15152 " (declare (in) float bias))\n"
15153 " ())\n"
15154 " (signature vec4\n"
15155 " (parameters\n"
15156 " (declare (in) sampler3D sampler)\n"
15157 " (declare (in) vec4 P)\n"
15158 " (declare (in) float bias))\n"
15159 " ())\n"
15160 " (signature ivec4\n"
15161 " (parameters\n"
15162 " (declare (in) isampler3D sampler)\n"
15163 " (declare (in) vec4 P)\n"
15164 " (declare (in) float bias))\n"
15165 " ())\n"
15166 " (signature uvec4\n"
15167 " (parameters\n"
15168 " (declare (in) usampler3D sampler)\n"
15169 " (declare (in) vec4 P)\n"
15170 " (declare (in) float bias))\n"
15171 " ())\n"
15172 " (signature float\n"
15173 " (parameters\n"
15174 " (declare (in) sampler1DShadow sampler)\n"
15175 " (declare (in) vec4 P)\n"
15176 " (declare (in) float bias))\n"
15177 " ())\n"
15178 " (signature float\n"
15179 " (parameters\n"
15180 " (declare (in) sampler2DShadow sampler)\n"
15181 " (declare (in) vec4 P)\n"
15182 " (declare (in) float bias))\n"
15183 " ()))\n"
15184 "(function textureLod\n"
15185 " (signature vec4\n"
15186 " (parameters\n"
15187 " (declare (in) sampler1D sampler)\n"
15188 " (declare (in) float P)\n"
15189 " (declare (in) float lod))\n"
15190 " ())\n"
15191 " (signature ivec4\n"
15192 " (parameters\n"
15193 " (declare (in) isampler1D sampler)\n"
15194 " (declare (in) float P)\n"
15195 " (declare (in) float lod))\n"
15196 " ())\n"
15197 " (signature uvec4\n"
15198 " (parameters\n"
15199 " (declare (in) usampler1D sampler)\n"
15200 " (declare (in) float P)\n"
15201 " (declare (in) float lod))\n"
15202 " ())\n"
15203 " (signature vec4\n"
15204 " (parameters\n"
15205 " (declare (in) sampler2D sampler)\n"
15206 " (declare (in) vec2 P)\n"
15207 " (declare (in) float lod))\n"
15208 " ())\n"
15209 " (signature ivec4\n"
15210 " (parameters\n"
15211 " (declare (in) isampler2D sampler)\n"
15212 " (declare (in) vec2 P)\n"
15213 " (declare (in) float lod))\n"
15214 " ())\n"
15215 " (signature uvec4\n"
15216 " (parameters\n"
15217 " (declare (in) usampler2D sampler)\n"
15218 " (declare (in) vec2 P)\n"
15219 " (declare (in) float lod))\n"
15220 " ())\n"
15221 " (signature vec4\n"
15222 " (parameters\n"
15223 " (declare (in) sampler3D sampler)\n"
15224 " (declare (in) vec3 P)\n"
15225 " (declare (in) float lod))\n"
15226 " ())\n"
15227 " (signature ivec4\n"
15228 " (parameters\n"
15229 " (declare (in) isampler3D sampler)\n"
15230 " (declare (in) vec3 P)\n"
15231 " (declare (in) float lod))\n"
15232 " ())\n"
15233 " (signature uvec4\n"
15234 " (parameters\n"
15235 " (declare (in) usampler3D sampler)\n"
15236 " (declare (in) vec3 P)\n"
15237 " (declare (in) float lod))\n"
15238 " ())\n"
15239 " (signature vec4\n"
15240 " (parameters\n"
15241 " (declare (in) samplerCube sampler)\n"
15242 " (declare (in) vec3 P)\n"
15243 " (declare (in) float lod))\n"
15244 " ())\n"
15245 " (signature ivec4\n"
15246 " (parameters\n"
15247 " (declare (in) isamplerCube sampler)\n"
15248 " (declare (in) vec3 P)\n"
15249 " (declare (in) float lod))\n"
15250 " ())\n"
15251 " (signature uvec4\n"
15252 " (parameters\n"
15253 " (declare (in) usamplerCube sampler)\n"
15254 " (declare (in) vec3 P)\n"
15255 " (declare (in) float lod))\n"
15256 " ())\n"
15257 " (signature float\n"
15258 " (parameters\n"
15259 " (declare (in) sampler1DShadow sampler)\n"
15260 " (declare (in) vec3 P)\n"
15261 " (declare (in) float lod))\n"
15262 " ())\n"
15263 " (signature float\n"
15264 " (parameters\n"
15265 " (declare (in) sampler2DShadow sampler)\n"
15266 " (declare (in) vec3 P)\n"
15267 " (declare (in) float lod))\n"
15268 " ())\n"
15269 " (signature vec4\n"
15270 " (parameters\n"
15271 " (declare (in) sampler1DArray sampler)\n"
15272 " (declare (in) vec2 P)\n"
15273 " (declare (in) float lod))\n"
15274 " ())\n"
15275 " (signature ivec4\n"
15276 " (parameters\n"
15277 " (declare (in) isampler1DArray sampler)\n"
15278 " (declare (in) vec2 P)\n"
15279 " (declare (in) float lod))\n"
15280 " ())\n"
15281 " (signature uvec4\n"
15282 " (parameters\n"
15283 " (declare (in) usampler1DArray sampler)\n"
15284 " (declare (in) vec2 P)\n"
15285 " (declare (in) float lod))\n"
15286 " ())\n"
15287 " (signature vec4\n"
15288 " (parameters\n"
15289 " (declare (in) sampler2DArray sampler)\n"
15290 " (declare (in) vec3 P)\n"
15291 " (declare (in) float lod))\n"
15292 " ())\n"
15293 " (signature ivec4\n"
15294 " (parameters\n"
15295 " (declare (in) isampler2DArray sampler)\n"
15296 " (declare (in) vec3 P)\n"
15297 " (declare (in) float lod))\n"
15298 " ())\n"
15299 " (signature uvec4\n"
15300 " (parameters\n"
15301 " (declare (in) usampler2DArray sampler)\n"
15302 " (declare (in) vec3 P)\n"
15303 " (declare (in) float lod))\n"
15304 " ())\n"
15305 " (signature float\n"
15306 " (parameters\n"
15307 " (declare (in) sampler1DArrayShadow sampler)\n"
15308 " (declare (in) vec3 P)\n"
15309 " (declare (in) float lod))\n"
15310 " ()))\n"
15311 "(function texelFetch\n"
15312 " (signature vec4\n"
15313 " (parameters\n"
15314 " (declare (in) sampler1D sampler)\n"
15315 " (declare (in) int P)\n"
15316 " (declare (in) int lod))\n"
15317 " ())\n"
15318 " (signature ivec4\n"
15319 " (parameters\n"
15320 " (declare (in) isampler1D sampler)\n"
15321 " (declare (in) int P)\n"
15322 " (declare (in) int lod))\n"
15323 " ())\n"
15324 " (signature uvec4\n"
15325 " (parameters\n"
15326 " (declare (in) usampler1D sampler)\n"
15327 " (declare (in) int P)\n"
15328 " (declare (in) int lod))\n"
15329 " ())\n"
15330 " (signature vec4\n"
15331 " (parameters\n"
15332 " (declare (in) sampler2D sampler)\n"
15333 " (declare (in) ivec2 P)\n"
15334 " (declare (in) int lod))\n"
15335 " ())\n"
15336 " (signature ivec4\n"
15337 " (parameters\n"
15338 " (declare (in) isampler2D sampler)\n"
15339 " (declare (in) ivec2 P)\n"
15340 " (declare (in) int lod))\n"
15341 " ())\n"
15342 " (signature uvec4\n"
15343 " (parameters\n"
15344 " (declare (in) usampler2D sampler)\n"
15345 " (declare (in) ivec2 P)\n"
15346 " (declare (in) int lod))\n"
15347 " ())\n"
15348 " (signature vec4\n"
15349 " (parameters\n"
15350 " (declare (in) sampler3D sampler)\n"
15351 " (declare (in) ivec3 P)\n"
15352 " (declare (in) int lod))\n"
15353 " ())\n"
15354 " (signature ivec4\n"
15355 " (parameters\n"
15356 " (declare (in) isampler3D sampler)\n"
15357 " (declare (in) ivec3 P)\n"
15358 " (declare (in) int lod))\n"
15359 " ())\n"
15360 " (signature uvec4\n"
15361 " (parameters\n"
15362 " (declare (in) usampler3D sampler)\n"
15363 " (declare (in) ivec3 P)\n"
15364 " (declare (in) int lod))\n"
15365 " ())\n"
15366 " (signature vec4\n"
15367 " (parameters\n"
15368 " (declare (in) sampler1DArray sampler)\n"
15369 " (declare (in) ivec2 P)\n"
15370 " (declare (in) int lod))\n"
15371 " ())\n"
15372 " (signature ivec4\n"
15373 " (parameters\n"
15374 " (declare (in) isampler1DArray sampler)\n"
15375 " (declare (in) ivec2 P)\n"
15376 " (declare (in) int lod))\n"
15377 " ())\n"
15378 " (signature uvec4\n"
15379 " (parameters\n"
15380 " (declare (in) usampler1DArray sampler)\n"
15381 " (declare (in) ivec2 P)\n"
15382 " (declare (in) int lod))\n"
15383 " ())\n"
15384 " (signature vec4\n"
15385 " (parameters\n"
15386 " (declare (in) sampler2DArray sampler)\n"
15387 " (declare (in) ivec3 P)\n"
15388 " (declare (in) int lod))\n"
15389 " ())\n"
15390 " (signature ivec4\n"
15391 " (parameters\n"
15392 " (declare (in) isampler2DArray sampler)\n"
15393 " (declare (in) ivec3 P)\n"
15394 " (declare (in) int lod))\n"
15395 " ())\n"
15396 " (signature uvec4\n"
15397 " (parameters\n"
15398 " (declare (in) usampler2DArray sampler)\n"
15399 " (declare (in) ivec3 P)\n"
15400 " (declare (in) int lod))\n"
15401 " ()))\n"
15402 "(function textureProjLod\n"
15403 " (signature vec4\n"
15404 " (parameters\n"
15405 " (declare (in) sampler1D sampler)\n"
15406 " (declare (in) vec2 P)\n"
15407 " (declare (in) float lod))\n"
15408 " ())\n"
15409 " (signature ivec4\n"
15410 " (parameters\n"
15411 " (declare (in) isampler1D sampler)\n"
15412 " (declare (in) vec2 P)\n"
15413 " (declare (in) float lod))\n"
15414 " ())\n"
15415 " (signature uvec4\n"
15416 " (parameters\n"
15417 " (declare (in) usampler1D sampler)\n"
15418 " (declare (in) vec2 P)\n"
15419 " (declare (in) float lod))\n"
15420 " ())\n"
15421 " (signature vec4\n"
15422 " (parameters\n"
15423 " (declare (in) sampler1D sampler)\n"
15424 " (declare (in) vec4 P)\n"
15425 " (declare (in) float lod))\n"
15426 " ())\n"
15427 " (signature ivec4\n"
15428 " (parameters\n"
15429 " (declare (in) isampler1D sampler)\n"
15430 " (declare (in) vec4 P)\n"
15431 " (declare (in) float lod))\n"
15432 " ())\n"
15433 " (signature uvec4\n"
15434 " (parameters\n"
15435 " (declare (in) usampler1D sampler)\n"
15436 " (declare (in) vec4 P)\n"
15437 " (declare (in) float lod))\n"
15438 " ())\n"
15439 " (signature vec4\n"
15440 " (parameters\n"
15441 " (declare (in) sampler2D sampler)\n"
15442 " (declare (in) vec3 P)\n"
15443 " (declare (in) float lod))\n"
15444 " ())\n"
15445 " (signature ivec4\n"
15446 " (parameters\n"
15447 " (declare (in) isampler2D sampler)\n"
15448 " (declare (in) vec3 P)\n"
15449 " (declare (in) float lod))\n"
15450 " ())\n"
15451 " (signature uvec4\n"
15452 " (parameters\n"
15453 " (declare (in) usampler2D sampler)\n"
15454 " (declare (in) vec3 P)\n"
15455 " (declare (in) float lod))\n"
15456 " ())\n"
15457 " (signature vec4\n"
15458 " (parameters\n"
15459 " (declare (in) sampler2D sampler)\n"
15460 " (declare (in) vec4 P)\n"
15461 " (declare (in) float lod))\n"
15462 " ())\n"
15463 " (signature ivec4\n"
15464 " (parameters\n"
15465 " (declare (in) isampler2D sampler)\n"
15466 " (declare (in) vec4 P)\n"
15467 " (declare (in) float lod))\n"
15468 " ())\n"
15469 " (signature uvec4\n"
15470 " (parameters\n"
15471 " (declare (in) usampler2D sampler)\n"
15472 " (declare (in) vec4 P)\n"
15473 " (declare (in) float lod))\n"
15474 " ())\n"
15475 " (signature vec4\n"
15476 " (parameters\n"
15477 " (declare (in) sampler3D sampler)\n"
15478 " (declare (in) vec4 P)\n"
15479 " (declare (in) float lod))\n"
15480 " ())\n"
15481 " (signature ivec4\n"
15482 " (parameters\n"
15483 " (declare (in) isampler3D sampler)\n"
15484 " (declare (in) vec4 P)\n"
15485 " (declare (in) float lod))\n"
15486 " ())\n"
15487 " (signature uvec4\n"
15488 " (parameters\n"
15489 " (declare (in) usampler3D sampler)\n"
15490 " (declare (in) vec4 P)\n"
15491 " (declare (in) float lod))\n"
15492 " ())\n"
15493 " (signature float\n"
15494 " (parameters\n"
15495 " (declare (in) sampler1DShadow sampler)\n"
15496 " (declare (in) vec4 P)\n"
15497 " (declare (in) float lod))\n"
15498 " ())\n"
15499 " (signature float\n"
15500 " (parameters\n"
15501 " (declare (in) sampler2DShadow sampler)\n"
15502 " (declare (in) vec4 P)\n"
15503 " (declare (in) float lod))\n"
15504 " ()))\n"
15505 "(function textureGrad\n"
15506 " (signature vec4\n"
15507 " (parameters\n"
15508 " (declare (in) sampler1D sampler)\n"
15509 " (declare (in) float P)\n"
15510 " (declare (in) float dPdx)\n"
15511 " (declare (in) float dPdy))\n"
15512 " ())\n"
15513 " (signature ivec4\n"
15514 " (parameters\n"
15515 " (declare (in) isampler1D sampler)\n"
15516 " (declare (in) float P)\n"
15517 " (declare (in) float dPdx)\n"
15518 " (declare (in) float dPdy))\n"
15519 " ())\n"
15520 " (signature uvec4\n"
15521 " (parameters\n"
15522 " (declare (in) usampler1D sampler)\n"
15523 " (declare (in) float P)\n"
15524 " (declare (in) float dPdx)\n"
15525 " (declare (in) float dPdy))\n"
15526 " ())\n"
15527 " (signature vec4\n"
15528 " (parameters\n"
15529 " (declare (in) sampler2D sampler)\n"
15530 " (declare (in) vec2 P)\n"
15531 " (declare (in) vec2 dPdx)\n"
15532 " (declare (in) vec2 dPdy))\n"
15533 " ())\n"
15534 " (signature ivec4\n"
15535 " (parameters\n"
15536 " (declare (in) isampler2D sampler)\n"
15537 " (declare (in) vec2 P)\n"
15538 " (declare (in) vec2 dPdx)\n"
15539 " (declare (in) vec2 dPdy))\n"
15540 " ())\n"
15541 " (signature uvec4\n"
15542 " (parameters\n"
15543 " (declare (in) usampler2D sampler)\n"
15544 " (declare (in) vec2 P)\n"
15545 " (declare (in) vec2 dPdx)\n"
15546 " (declare (in) vec2 dPdy))\n"
15547 " ())\n"
15548 " (signature vec4\n"
15549 " (parameters\n"
15550 " (declare (in) sampler3D sampler)\n"
15551 " (declare (in) vec3 P)\n"
15552 " (declare (in) vec3 dPdx)\n"
15553 " (declare (in) vec3 dPdy))\n"
15554 " ())\n"
15555 " (signature ivec4\n"
15556 " (parameters\n"
15557 " (declare (in) isampler3D sampler)\n"
15558 " (declare (in) vec3 P)\n"
15559 " (declare (in) vec3 dPdx)\n"
15560 " (declare (in) vec3 dPdy))\n"
15561 " ())\n"
15562 " (signature uvec4\n"
15563 " (parameters\n"
15564 " (declare (in) usampler3D sampler)\n"
15565 " (declare (in) vec3 P)\n"
15566 " (declare (in) vec3 dPdx)\n"
15567 " (declare (in) vec3 dPdy))\n"
15568 " ())\n"
15569 " (signature vec4\n"
15570 " (parameters\n"
15571 " (declare (in) samplerCube sampler)\n"
15572 " (declare (in) vec3 P)\n"
15573 " (declare (in) vec3 dPdx)\n"
15574 " (declare (in) vec3 dPdy))\n"
15575 " ())\n"
15576 " (signature ivec4\n"
15577 " (parameters\n"
15578 " (declare (in) isamplerCube sampler)\n"
15579 " (declare (in) vec3 P)\n"
15580 " (declare (in) vec3 dPdx)\n"
15581 " (declare (in) vec3 dPdy))\n"
15582 " ())\n"
15583 " (signature uvec4\n"
15584 " (parameters\n"
15585 " (declare (in) usamplerCube sampler)\n"
15586 " (declare (in) vec3 P)\n"
15587 " (declare (in) vec3 dPdx)\n"
15588 " (declare (in) vec3 dPdy))\n"
15589 " ())\n"
15590 " (signature float\n"
15591 " (parameters\n"
15592 " (declare (in) sampler1DShadow sampler)\n"
15593 " (declare (in) vec3 P)\n"
15594 " (declare (in) float dPdx)\n"
15595 " (declare (in) float dPdy))\n"
15596 " ())\n"
15597 " (signature float\n"
15598 " (parameters\n"
15599 " (declare (in) sampler2DShadow sampler)\n"
15600 " (declare (in) vec3 P)\n"
15601 " (declare (in) vec2 dPdx)\n"
15602 " (declare (in) vec2 dPdy))\n"
15603 " ())\n"
15604 " (signature float\n"
15605 " (parameters\n"
15606 " (declare (in) samplerCubeShadow sampler)\n"
15607 " (declare (in) vec4 P)\n"
15608 " (declare (in) vec3 dPdx)\n"
15609 " (declare (in) vec3 dPdy))\n"
15610 " ())\n"
15611 " (signature vec4\n"
15612 " (parameters\n"
15613 " (declare (in) sampler1DArray sampler)\n"
15614 " (declare (in) vec2 P)\n"
15615 " (declare (in) float dPdx)\n"
15616 " (declare (in) float dPdy))\n"
15617 " ())\n"
15618 " (signature ivec4\n"
15619 " (parameters\n"
15620 " (declare (in) isampler1DArray sampler)\n"
15621 " (declare (in) vec2 P)\n"
15622 " (declare (in) float dPdx)\n"
15623 " (declare (in) float dPdy))\n"
15624 " ())\n"
15625 " (signature uvec4\n"
15626 " (parameters\n"
15627 " (declare (in) usampler1DArray sampler)\n"
15628 " (declare (in) vec2 P)\n"
15629 " (declare (in) float dPdx)\n"
15630 " (declare (in) float dPdy))\n"
15631 " ())\n"
15632 " (signature vec4\n"
15633 " (parameters\n"
15634 " (declare (in) sampler2DArray sampler)\n"
15635 " (declare (in) vec3 P)\n"
15636 " (declare (in) vec2 dPdx)\n"
15637 " (declare (in) vec2 dPdy))\n"
15638 " ())\n"
15639 " (signature ivec4\n"
15640 " (parameters\n"
15641 " (declare (in) isampler2DArray sampler)\n"
15642 " (declare (in) vec3 P)\n"
15643 " (declare (in) vec2 dPdx)\n"
15644 " (declare (in) vec2 dPdy))\n"
15645 " ())\n"
15646 " (signature uvec4\n"
15647 " (parameters\n"
15648 " (declare (in) usampler2DArray sampler)\n"
15649 " (declare (in) vec3 P)\n"
15650 " (declare (in) vec2 dPdx)\n"
15651 " (declare (in) vec2 dPdy))\n"
15652 " ())\n"
15653 " (signature float\n"
15654 " (parameters\n"
15655 " (declare (in) sampler1DArrayShadow sampler)\n"
15656 " (declare (in) vec3 P)\n"
15657 " (declare (in) float dPdx)\n"
15658 " (declare (in) float dPdy))\n"
15659 " ())\n"
15660 " (signature float\n"
15661 " (parameters\n"
15662 " (declare (in) sampler2DArrayShadow sampler)\n"
15663 " (declare (in) vec4 P)\n"
15664 " (declare (in) vec2 dPdx)\n"
15665 " (declare (in) vec2 dPdy))\n"
15666 " ()))\n"
15667 "(function textureProjGrad\n"
15668 " (signature vec4\n"
15669 " (parameters\n"
15670 " (declare (in) sampler1D sampler)\n"
15671 " (declare (in) vec2 P)\n"
15672 " (declare (in) float dPdx)\n"
15673 " (declare (in) float dPdy))\n"
15674 " ())\n"
15675 " (signature ivec4\n"
15676 " (parameters\n"
15677 " (declare (in) isampler1D sampler)\n"
15678 " (declare (in) vec2 P)\n"
15679 " (declare (in) float dPdx)\n"
15680 " (declare (in) float dPdy))\n"
15681 " ())\n"
15682 " (signature uvec4\n"
15683 " (parameters\n"
15684 " (declare (in) usampler1D sampler)\n"
15685 " (declare (in) vec2 P)\n"
15686 " (declare (in) float dPdx)\n"
15687 " (declare (in) float dPdy))\n"
15688 " ())\n"
15689 " (signature vec4\n"
15690 " (parameters\n"
15691 " (declare (in) sampler1D sampler)\n"
15692 " (declare (in) vec4 P)\n"
15693 " (declare (in) float dPdx)\n"
15694 " (declare (in) float dPdy))\n"
15695 " ())\n"
15696 " (signature ivec4\n"
15697 " (parameters\n"
15698 " (declare (in) isampler1D sampler)\n"
15699 " (declare (in) vec4 P)\n"
15700 " (declare (in) float dPdx)\n"
15701 " (declare (in) float dPdy))\n"
15702 " ())\n"
15703 " (signature uvec4\n"
15704 " (parameters\n"
15705 " (declare (in) usampler1D sampler)\n"
15706 " (declare (in) vec4 P)\n"
15707 " (declare (in) float dPdx)\n"
15708 " (declare (in) float dPdy))\n"
15709 " ())\n"
15710 " (signature vec4\n"
15711 " (parameters\n"
15712 " (declare (in) sampler2D sampler)\n"
15713 " (declare (in) vec3 P)\n"
15714 " (declare (in) vec2 dPdx)\n"
15715 " (declare (in) vec2 dPdy))\n"
15716 " ())\n"
15717 " (signature ivec4\n"
15718 " (parameters\n"
15719 " (declare (in) isampler2D sampler)\n"
15720 " (declare (in) vec3 P)\n"
15721 " (declare (in) vec2 dPdx)\n"
15722 " (declare (in) vec2 dPdy))\n"
15723 " ())\n"
15724 " (signature uvec4\n"
15725 " (parameters\n"
15726 " (declare (in) usampler2D sampler)\n"
15727 " (declare (in) vec3 P)\n"
15728 " (declare (in) vec2 dPdx)\n"
15729 " (declare (in) vec2 dPdy))\n"
15730 " ())\n"
15731 " (signature vec4\n"
15732 " (parameters\n"
15733 " (declare (in) sampler2D sampler)\n"
15734 " (declare (in) vec4 P)\n"
15735 " (declare (in) vec2 dPdx)\n"
15736 " (declare (in) vec2 dPdy))\n"
15737 " ())\n"
15738 " (signature ivec4\n"
15739 " (parameters\n"
15740 " (declare (in) isampler2D sampler)\n"
15741 " (declare (in) vec4 P)\n"
15742 " (declare (in) vec2 dPdx)\n"
15743 " (declare (in) vec2 dPdy))\n"
15744 " ())\n"
15745 " (signature uvec4\n"
15746 " (parameters\n"
15747 " (declare (in) usampler2D sampler)\n"
15748 " (declare (in) vec4 P)\n"
15749 " (declare (in) vec2 dPdx)\n"
15750 " (declare (in) vec2 dPdy))\n"
15751 " ())\n"
15752 " (signature vec4\n"
15753 " (parameters\n"
15754 " (declare (in) sampler3D sampler)\n"
15755 " (declare (in) vec4 P)\n"
15756 " (declare (in) vec3 dPdx)\n"
15757 " (declare (in) vec3 dPdy))\n"
15758 " ())\n"
15759 " (signature ivec4\n"
15760 " (parameters\n"
15761 " (declare (in) isampler3D sampler)\n"
15762 " (declare (in) vec4 P)\n"
15763 " (declare (in) vec3 dPdx)\n"
15764 " (declare (in) vec3 dPdy))\n"
15765 " ())\n"
15766 " (signature uvec4\n"
15767 " (parameters\n"
15768 " (declare (in) usampler3D sampler)\n"
15769 " (declare (in) vec4 P)\n"
15770 " (declare (in) vec3 dPdx)\n"
15771 " (declare (in) vec3 dPdy))\n"
15772 " ())\n"
15773 " (signature float\n"
15774 " (parameters\n"
15775 " (declare (in) sampler1DShadow sampler)\n"
15776 " (declare (in) vec4 P)\n"
15777 " (declare (in) float dPdx)\n"
15778 " (declare (in) float dPdy))\n"
15779 " ())\n"
15780 " (signature float\n"
15781 " (parameters\n"
15782 " (declare (in) sampler2DShadow sampler)\n"
15783 " (declare (in) vec4 P)\n"
15784 " (declare (in) vec2 dPdx)\n"
15785 " (declare (in) vec2 dPdy))\n"
15786 " ()))\n"
15787 "(function texture1D\n"
15788 " (signature vec4\n"
15789 " (parameters\n"
15790 " (declare (in) sampler1D sampler)\n"
15791 " (declare (in) float coord))\n"
15792 " ())\n"
15793 " (signature vec4\n"
15794 " (parameters\n"
15795 " (declare (in) sampler1D sampler)\n"
15796 " (declare (in) float coord)\n"
15797 " (declare (in) float bias))\n"
15798 " ()))\n"
15799 "(function texture1DProj\n"
15800 " (signature vec4\n"
15801 " (parameters\n"
15802 " (declare (in) sampler1D sampler)\n"
15803 " (declare (in) vec2 coord))\n"
15804 " ())\n"
15805 " (signature vec4\n"
15806 " (parameters\n"
15807 " (declare (in) sampler1D sampler)\n"
15808 " (declare (in) vec4 coord))\n"
15809 " ())\n"
15810 " (signature vec4\n"
15811 " (parameters\n"
15812 " (declare (in) sampler1D sampler)\n"
15813 " (declare (in) vec2 coord)\n"
15814 " (declare (in) float bias))\n"
15815 " ())\n"
15816 " (signature vec4\n"
15817 " (parameters\n"
15818 " (declare (in) sampler1D sampler)\n"
15819 " (declare (in) vec4 coord)\n"
15820 " (declare (in) float bias))\n"
15821 " ()))\n"
15822 "(function texture1DLod\n"
15823 " (signature vec4\n"
15824 " (parameters\n"
15825 " (declare (in) sampler1D sampler)\n"
15826 " (declare (in) float coord)\n"
15827 " (declare (in) float lod))\n"
15828 " ()))\n"
15829 "(function texture1DProjLod\n"
15830 " (signature vec4\n"
15831 " (parameters\n"
15832 " (declare (in) sampler1D sampler)\n"
15833 " (declare (in) vec2 coord)\n"
15834 " (declare (in) float lod))\n"
15835 " ())\n"
15836 " (signature vec4\n"
15837 " (parameters\n"
15838 " (declare (in) sampler1D sampler)\n"
15839 " (declare (in) vec4 coord)\n"
15840 " (declare (in) float lod))\n"
15841 " ()))\n"
15842 "(function texture2D\n"
15843 " (signature vec4\n"
15844 " (parameters\n"
15845 " (declare (in) sampler2D sampler)\n"
15846 " (declare (in) vec2 coord))\n"
15847 " ())\n"
15848 " (signature vec4\n"
15849 " (parameters\n"
15850 " (declare (in) sampler2D sampler)\n"
15851 " (declare (in) vec2 coord)\n"
15852 " (declare (in) float bias))\n"
15853 " ()))\n"
15854 "(function texture2DProj\n"
15855 " (signature vec4\n"
15856 " (parameters\n"
15857 " (declare (in) sampler2D sampler)\n"
15858 " (declare (in) vec3 coord))\n"
15859 " ())\n"
15860 " (signature vec4\n"
15861 " (parameters\n"
15862 " (declare (in) sampler2D sampler)\n"
15863 " (declare (in) vec4 coord))\n"
15864 " ())\n"
15865 " (signature vec4\n"
15866 " (parameters\n"
15867 " (declare (in) sampler2D sampler)\n"
15868 " (declare (in) vec3 coord)\n"
15869 " (declare (in) float bias))\n"
15870 " ())\n"
15871 " (signature vec4\n"
15872 " (parameters\n"
15873 " (declare (in) sampler2D sampler)\n"
15874 " (declare (in) vec4 coord)\n"
15875 " (declare (in) float bias))\n"
15876 " ()))\n"
15877 "(function texture2DLod\n"
15878 " (signature vec4\n"
15879 " (parameters\n"
15880 " (declare (in) sampler2D sampler)\n"
15881 " (declare (in) vec2 coord)\n"
15882 " (declare (in) float lod))\n"
15883 " ()))\n"
15884 "(function texture2DProjLod\n"
15885 " (signature vec4\n"
15886 " (parameters\n"
15887 " (declare (in) sampler2D sampler)\n"
15888 " (declare (in) vec3 coord)\n"
15889 " (declare (in) float lod))\n"
15890 " ())\n"
15891 " (signature vec4\n"
15892 " (parameters\n"
15893 " (declare (in) sampler2D sampler)\n"
15894 " (declare (in) vec4 coord)\n"
15895 " (declare (in) float lod))\n"
15896 " ()))\n"
15897 "(function texture3D\n"
15898 " (signature vec4\n"
15899 " (parameters\n"
15900 " (declare (in) sampler3D sampler)\n"
15901 " (declare (in) vec3 coord))\n"
15902 " ())\n"
15903 " (signature vec4\n"
15904 " (parameters\n"
15905 " (declare (in) sampler3D sampler)\n"
15906 " (declare (in) vec3 coord)\n"
15907 " (declare (in) float bias))\n"
15908 " ()))\n"
15909 "(function texture3DProj\n"
15910 " (signature vec4\n"
15911 " (parameters\n"
15912 " (declare (in) sampler3D sampler)\n"
15913 " (declare (in) vec4 coord))\n"
15914 " ())\n"
15915 " (signature vec4\n"
15916 " (parameters\n"
15917 " (declare (in) sampler3D sampler)\n"
15918 " (declare (in) vec4 coord)\n"
15919 " (declare (in) float bias))\n"
15920 " ()))\n"
15921 "(function texture3DLod\n"
15922 " (signature vec4\n"
15923 " (parameters\n"
15924 " (declare (in) sampler3D sampler)\n"
15925 " (declare (in) vec3 coord)\n"
15926 " (declare (in) float lod))\n"
15927 " ()))\n"
15928 "(function texture3DProjLod\n"
15929 " (signature vec4\n"
15930 " (parameters\n"
15931 " (declare (in) sampler3D sampler)\n"
15932 " (declare (in) vec4 coord)\n"
15933 " (declare (in) float lod))\n"
15934 " ()))\n"
15935 "(function textureCube\n"
15936 " (signature vec4\n"
15937 " (parameters\n"
15938 " (declare (in) samplerCube sampler)\n"
15939 " (declare (in) vec3 coord))\n"
15940 " ())\n"
15941 " (signature vec4\n"
15942 " (parameters\n"
15943 " (declare (in) samplerCube sampler)\n"
15944 " (declare (in) vec3 coord)\n"
15945 " (declare (in) float bias))\n"
15946 " ()))\n"
15947 "(function textureCubeLod\n"
15948 " (signature vec4\n"
15949 " (parameters\n"
15950 " (declare (in) samplerCube sampler)\n"
15951 " (declare (in) vec3 coord)\n"
15952 " (declare (in) float lod))\n"
15953 " ()))\n"
15954 "(function shadow1D\n"
15955 " (signature vec4\n"
15956 " (parameters\n"
15957 " (declare (in) sampler1DShadow sampler)\n"
15958 " (declare (in) vec3 coord))\n"
15959 " ())\n"
15960 " (signature vec4\n"
15961 " (parameters\n"
15962 " (declare (in) sampler1DShadow sampler)\n"
15963 " (declare (in) vec3 coord)\n"
15964 " (declare (in) float bias))\n"
15965 " ()))\n"
15966 "(function shadow2D\n"
15967 " (signature vec4\n"
15968 " (parameters\n"
15969 " (declare (in) sampler2DShadow sampler)\n"
15970 " (declare (in) vec3 coord))\n"
15971 " ())\n"
15972 " (signature vec4\n"
15973 " (parameters\n"
15974 " (declare (in) sampler2DShadow sampler)\n"
15975 " (declare (in) vec3 coord)\n"
15976 " (declare (in) float bias))\n"
15977 " ()))\n"
15978 "(function shadow1DProj\n"
15979 " (signature vec4\n"
15980 " (parameters\n"
15981 " (declare (in) sampler1DShadow sampler)\n"
15982 " (declare (in) vec4 coord))\n"
15983 " ())\n"
15984 " (signature vec4\n"
15985 " (parameters\n"
15986 " (declare (in) sampler1DShadow sampler)\n"
15987 " (declare (in) vec4 coord)\n"
15988 " (declare (in) float bias))\n"
15989 " ()))\n"
15990 "(function shadow2DProj\n"
15991 " (signature vec4\n"
15992 " (parameters\n"
15993 " (declare (in) sampler2DShadow sampler)\n"
15994 " (declare (in) vec4 coord))\n"
15995 " ())\n"
15996 " (signature vec4\n"
15997 " (parameters\n"
15998 " (declare (in) sampler2DShadow sampler)\n"
15999 " (declare (in) vec4 coord)\n"
16000 " (declare (in) float bias))\n"
16001 " ()))\n"
16002 "(function shadow1DLod\n"
16003 " (signature vec4\n"
16004 " (parameters\n"
16005 " (declare (in) sampler1DShadow sampler)\n"
16006 " (declare (in) vec3 coord)\n"
16007 " (declare (in) float lod))\n"
16008 " ()))\n"
16009 "(function shadow2DLod\n"
16010 " (signature vec4\n"
16011 " (parameters\n"
16012 " (declare (in) sampler2DShadow sampler)\n"
16013 " (declare (in) vec3 coord)\n"
16014 " (declare (in) float lod))\n"
16015 " ()))\n"
16016 "(function shadow1DProjLod\n"
16017 " (signature vec4\n"
16018 " (parameters\n"
16019 " (declare (in) sampler1DShadow sampler)\n"
16020 " (declare (in) vec4 coord)\n"
16021 " (declare (in) float lod))\n"
16022 " ()))\n"
16023 "(function shadow2DProjLod\n"
16024 " (signature vec4\n"
16025 " (parameters\n"
16026 " (declare (in) sampler2DShadow sampler)\n"
16027 " (declare (in) vec4 coord)\n"
16028 " (declare (in) float lod))\n"
16029 " ()))\n"
16030 "(function noise1\n"
16031 " (signature float\n"
16032 " (parameters\n"
16033 " (declare (in) float x))\n"
16034 " ())\n"
16035 " (signature float\n"
16036 " (parameters\n"
16037 " (declare (in) vec2 x))\n"
16038 " ())\n"
16039 " (signature float\n"
16040 " (parameters\n"
16041 " (declare (in) vec3 x))\n"
16042 " ())\n"
16043 " (signature float\n"
16044 " (parameters\n"
16045 " (declare (in) vec4 x))\n"
16046 " ()))\n"
16047 "(function noise2\n"
16048 " (signature vec2\n"
16049 " (parameters\n"
16050 " (declare (in) float x))\n"
16051 " ())\n"
16052 " (signature vec2\n"
16053 " (parameters\n"
16054 " (declare (in) vec2 x))\n"
16055 " ())\n"
16056 " (signature vec2\n"
16057 " (parameters\n"
16058 " (declare (in) vec3 x))\n"
16059 " ())\n"
16060 " (signature vec2\n"
16061 " (parameters\n"
16062 " (declare (in) vec4 x))\n"
16063 " ()))\n"
16064 "(function noise3\n"
16065 " (signature vec3\n"
16066 " (parameters\n"
16067 " (declare (in) float x))\n"
16068 " ())\n"
16069 " (signature vec3\n"
16070 " (parameters\n"
16071 " (declare (in) vec2 x))\n"
16072 " ())\n"
16073 " (signature vec3\n"
16074 " (parameters\n"
16075 " (declare (in) vec3 x))\n"
16076 " ())\n"
16077 " (signature vec3\n"
16078 " (parameters\n"
16079 " (declare (in) vec4 x))\n"
16080 " ()))\n"
16081 "(function noise4\n"
16082 " (signature vec4\n"
16083 " (parameters\n"
16084 " (declare (in) float x))\n"
16085 " ())\n"
16086 " (signature vec4\n"
16087 " (parameters\n"
16088 " (declare (in) vec2 x))\n"
16089 " ())\n"
16090 " (signature vec4\n"
16091 " (parameters\n"
16092 " (declare (in) vec3 x))\n"
16093 " ())\n"
16094 " (signature vec4\n"
16095 " (parameters\n"
16096 " (declare (in) vec4 x))\n"
16097 " ())))"
16098 ;
16099 static const char *functions_for_130_vert [] = {
16100 builtin_abs,
16101 builtin_acos,
16102 builtin_all,
16103 builtin_any,
16104 builtin_asin,
16105 builtin_atan,
16106 builtin_ceil,
16107 builtin_clamp,
16108 builtin_cos,
16109 builtin_cosh,
16110 builtin_cross,
16111 builtin_degrees,
16112 builtin_distance,
16113 builtin_dot,
16114 builtin_equal,
16115 builtin_exp,
16116 builtin_exp2,
16117 builtin_faceforward,
16118 builtin_floor,
16119 builtin_fract,
16120 builtin_ftransform,
16121 builtin_greaterThan,
16122 builtin_greaterThanEqual,
16123 builtin_inversesqrt,
16124 builtin_length,
16125 builtin_lessThan,
16126 builtin_lessThanEqual,
16127 builtin_log,
16128 builtin_log2,
16129 builtin_matrixCompMult,
16130 builtin_max,
16131 builtin_min,
16132 builtin_mix,
16133 builtin_mod,
16134 builtin_modf,
16135 builtin_noise1,
16136 builtin_noise2,
16137 builtin_noise3,
16138 builtin_noise4,
16139 builtin_normalize,
16140 builtin_not,
16141 builtin_notEqual,
16142 builtin_outerProduct,
16143 builtin_pow,
16144 builtin_radians,
16145 builtin_reflect,
16146 builtin_refract,
16147 builtin_round,
16148 builtin_roundEven,
16149 builtin_shadow1D,
16150 builtin_shadow1DLod,
16151 builtin_shadow1DProj,
16152 builtin_shadow1DProjLod,
16153 builtin_shadow2D,
16154 builtin_shadow2DLod,
16155 builtin_shadow2DProj,
16156 builtin_shadow2DProjLod,
16157 builtin_sign,
16158 builtin_sin,
16159 builtin_sinh,
16160 builtin_smoothstep,
16161 builtin_sqrt,
16162 builtin_step,
16163 builtin_tan,
16164 builtin_tanh,
16165 builtin_texelFetch,
16166 builtin_texture,
16167 builtin_texture1D,
16168 builtin_texture1DLod,
16169 builtin_texture1DProj,
16170 builtin_texture1DProjLod,
16171 builtin_texture2D,
16172 builtin_texture2DLod,
16173 builtin_texture2DProj,
16174 builtin_texture2DProjLod,
16175 builtin_texture3D,
16176 builtin_texture3DLod,
16177 builtin_texture3DProj,
16178 builtin_texture3DProjLod,
16179 builtin_textureCube,
16180 builtin_textureCubeLod,
16181 builtin_textureGrad,
16182 builtin_textureLod,
16183 builtin_textureProj,
16184 builtin_textureProjGrad,
16185 builtin_textureProjLod,
16186 builtin_transpose,
16187 builtin_trunc,
16188 };
16189 static const char prototypes_for_ARB_texture_rectangle_frag[] =
16190 "(\n"
16191 "(function texture2DRect\n"
16192 " (signature vec4\n"
16193 " (parameters\n"
16194 " (declare (in) sampler2DRect sampler)\n"
16195 " (declare (in) vec2 coord))\n"
16196 " ()))\n"
16197 "(function texture2DRectProj\n"
16198 " (signature vec4\n"
16199 " (parameters\n"
16200 " (declare (in) sampler2DRect sampler)\n"
16201 " (declare (in) vec3 coord))\n"
16202 " ())\n"
16203 " (signature vec4\n"
16204 " (parameters\n"
16205 " (declare (in) sampler2DRect sampler)\n"
16206 " (declare (in) vec4 coord))\n"
16207 " ()))\n"
16208 "(function shadow2DRect\n"
16209 " (signature vec4\n"
16210 " (parameters\n"
16211 " (declare (in) sampler2DRectShadow sampler)\n"
16212 " (declare (in) vec3 coord))\n"
16213 " ()))\n"
16214 "(function shadow2DRectProj\n"
16215 " (signature vec4\n"
16216 " (parameters\n"
16217 " (declare (in) sampler2DRectShadow sampler)\n"
16218 " (declare (in) vec4 coord))\n"
16219 " ())))"
16220 ;
16221 static const char *functions_for_ARB_texture_rectangle_frag [] = {
16222 builtin_shadow2DRect,
16223 builtin_shadow2DRectProj,
16224 builtin_texture2DRect,
16225 builtin_texture2DRectProj,
16226 };
16227 static const char prototypes_for_ARB_texture_rectangle_vert[] =
16228 "(\n"
16229 "(function texture2DRect\n"
16230 " (signature vec4\n"
16231 " (parameters\n"
16232 " (declare (in) sampler2DRect sampler)\n"
16233 " (declare (in) vec2 coord))\n"
16234 " ()))\n"
16235 "(function texture2DRectProj\n"
16236 " (signature vec4\n"
16237 " (parameters\n"
16238 " (declare (in) sampler2DRect sampler)\n"
16239 " (declare (in) vec3 coord))\n"
16240 " ())\n"
16241 " (signature vec4\n"
16242 " (parameters\n"
16243 " (declare (in) sampler2DRect sampler)\n"
16244 " (declare (in) vec4 coord))\n"
16245 " ()))\n"
16246 "(function shadow2DRect\n"
16247 " (signature vec4\n"
16248 " (parameters\n"
16249 " (declare (in) sampler2DRectShadow sampler)\n"
16250 " (declare (in) vec3 coord))\n"
16251 " ()))\n"
16252 "(function shadow2DRectProj\n"
16253 " (signature vec4\n"
16254 " (parameters\n"
16255 " (declare (in) sampler2DRectShadow sampler)\n"
16256 " (declare (in) vec4 coord))\n"
16257 " ())))"
16258 ;
16259 static const char *functions_for_ARB_texture_rectangle_vert [] = {
16260 builtin_shadow2DRect,
16261 builtin_shadow2DRectProj,
16262 builtin_texture2DRect,
16263 builtin_texture2DRectProj,
16264 };
16265 static const char prototypes_for_EXT_texture_array_frag[] =
16266 "(\n"
16267 "(function texture1DArray\n"
16268 " (signature vec4\n"
16269 " (parameters\n"
16270 " (declare (in) sampler1DArray sampler)\n"
16271 " (declare (in) vec2 coord))\n"
16272 " ())\n"
16273 " (signature vec4\n"
16274 " (parameters\n"
16275 " (declare (in) sampler1DArray sampler)\n"
16276 " (declare (in) vec2 coord)\n"
16277 " (declare (in) float bias))\n"
16278 " ()))\n"
16279 "(function texture2DArray\n"
16280 " (signature vec4\n"
16281 " (parameters\n"
16282 " (declare (in) sampler2DArray sampler)\n"
16283 " (declare (in) vec3 coord))\n"
16284 " ())\n"
16285 " (signature vec4\n"
16286 " (parameters\n"
16287 " (declare (in) sampler2DArray sampler)\n"
16288 " (declare (in) vec3 coord)\n"
16289 " (declare (in) float bias))\n"
16290 " ()))\n"
16291 "(function shadow1DArray\n"
16292 " (signature vec4\n"
16293 " (parameters\n"
16294 " (declare (in) sampler1DArrayShadow sampler)\n"
16295 " (declare (in) vec3 coord))\n"
16296 " ())\n"
16297 " (signature vec4\n"
16298 " (parameters\n"
16299 " (declare (in) sampler1DArrayShadow sampler)\n"
16300 " (declare (in) vec3 coord)\n"
16301 " (declare (in) float bias))\n"
16302 " ()))\n"
16303 "(function shadow2DArray\n"
16304 " (signature vec4\n"
16305 " (parameters\n"
16306 " (declare (in) sampler2DArrayShadow sampler)\n"
16307 " (declare (in) vec4 coord))\n"
16308 " ())))"
16309 ;
16310 static const char *functions_for_EXT_texture_array_frag [] = {
16311 builtin_shadow1DArray,
16312 builtin_shadow2DArray,
16313 builtin_texture1DArray,
16314 builtin_texture2DArray,
16315 };
16316 static const char prototypes_for_EXT_texture_array_vert[] =
16317 "(\n"
16318 "(function texture1DArray\n"
16319 " (signature vec4\n"
16320 " (parameters\n"
16321 " (declare (in) sampler1DArray sampler)\n"
16322 " (declare (in) vec2 coord))\n"
16323 " ()))\n"
16324 "(function texture1DArrayLod\n"
16325 " (signature vec4\n"
16326 " (parameters\n"
16327 " (declare (in) sampler1DArray sampler)\n"
16328 " (declare (in) vec2 coord)\n"
16329 " (declare (in) float lod))\n"
16330 " ()))\n"
16331 "(function texture2DArray\n"
16332 " (signature vec4\n"
16333 " (parameters\n"
16334 " (declare (in) sampler2DArray sampler)\n"
16335 " (declare (in) vec3 coord))\n"
16336 " ()))\n"
16337 "(function texture2DArrayLod\n"
16338 " (signature vec4\n"
16339 " (parameters\n"
16340 " (declare (in) sampler2DArray sampler)\n"
16341 " (declare (in) vec3 coord)\n"
16342 " (declare (in) float lod))\n"
16343 " ()))\n"
16344 "(function shadow1DArray\n"
16345 " (signature vec4\n"
16346 " (parameters\n"
16347 " (declare (in) sampler1DArrayShadow sampler)\n"
16348 " (declare (in) vec3 coord))\n"
16349 " ()))\n"
16350 "(function shadow1DArrayLod\n"
16351 " (signature vec4\n"
16352 " (parameters\n"
16353 " (declare (in) sampler1DArrayShadow sampler)\n"
16354 " (declare (in) vec3 coord)\n"
16355 " (declare (in) float lod))\n"
16356 " ()))\n"
16357 "(function shadow2DArray\n"
16358 " (signature vec4\n"
16359 " (parameters\n"
16360 " (declare (in) sampler2DArrayShadow sampler)\n"
16361 " (declare (in) vec4 coord))\n"
16362 " ())))"
16363 ;
16364 static const char *functions_for_EXT_texture_array_vert [] = {
16365 builtin_shadow1DArray,
16366 builtin_shadow1DArrayLod,
16367 builtin_shadow2DArray,
16368 builtin_texture1DArray,
16369 builtin_texture1DArrayLod,
16370 builtin_texture2DArray,
16371 builtin_texture2DArrayLod,
16372 };
16373 static gl_shader *builtin_profiles[12];
16374
16375 void *builtin_mem_ctx = NULL;
16376
16377 void
16378 _mesa_glsl_release_functions(void)
16379 {
16380 talloc_free(builtin_mem_ctx);
16381 builtin_mem_ctx = NULL;
16382 memset(builtin_profiles, 0, sizeof(builtin_profiles));
16383 }
16384
16385 static void
16386 _mesa_read_profile(struct _mesa_glsl_parse_state *state,
16387 exec_list *instructions,
16388 int profile_index,
16389 const char *prototypes,
16390 const char **functions,
16391 int count)
16392 {
16393 gl_shader *sh = builtin_profiles[profile_index];
16394
16395 if (sh == NULL) {
16396 sh = read_builtins(GL_VERTEX_SHADER, prototypes, functions, count);
16397 talloc_steal(builtin_mem_ctx, sh);
16398 builtin_profiles[profile_index] = sh;
16399 }
16400
16401 import_prototypes(sh->ir, instructions, state->symbols, state);
16402 state->builtins_to_link[state->num_builtins_to_link] = sh;
16403 state->num_builtins_to_link++;
16404 }
16405
16406 void
16407 _mesa_glsl_initialize_functions(exec_list *instructions,
16408 struct _mesa_glsl_parse_state *state)
16409 {
16410 if (builtin_mem_ctx == NULL) {
16411 builtin_mem_ctx = talloc_init("GLSL built-in functions");
16412 memset(&builtin_profiles, 0, sizeof(builtin_profiles));
16413 }
16414
16415 state->num_builtins_to_link = 0;
16416
16417 if (state->target == fragment_shader && state->language_version == 100) {
16418 _mesa_read_profile(state, instructions, 0,
16419 prototypes_for_100_frag,
16420 functions_for_100_frag,
16421 Elements(functions_for_100_frag));
16422 }
16423
16424 if (state->target == vertex_shader && state->language_version == 100) {
16425 _mesa_read_profile(state, instructions, 1,
16426 prototypes_for_100_vert,
16427 functions_for_100_vert,
16428 Elements(functions_for_100_vert));
16429 }
16430
16431 if (state->target == fragment_shader && state->language_version == 110) {
16432 _mesa_read_profile(state, instructions, 2,
16433 prototypes_for_110_frag,
16434 functions_for_110_frag,
16435 Elements(functions_for_110_frag));
16436 }
16437
16438 if (state->target == vertex_shader && state->language_version == 110) {
16439 _mesa_read_profile(state, instructions, 3,
16440 prototypes_for_110_vert,
16441 functions_for_110_vert,
16442 Elements(functions_for_110_vert));
16443 }
16444
16445 if (state->target == fragment_shader && state->language_version == 120) {
16446 _mesa_read_profile(state, instructions, 4,
16447 prototypes_for_120_frag,
16448 functions_for_120_frag,
16449 Elements(functions_for_120_frag));
16450 }
16451
16452 if (state->target == vertex_shader && state->language_version == 120) {
16453 _mesa_read_profile(state, instructions, 5,
16454 prototypes_for_120_vert,
16455 functions_for_120_vert,
16456 Elements(functions_for_120_vert));
16457 }
16458
16459 if (state->target == fragment_shader && state->language_version == 130) {
16460 _mesa_read_profile(state, instructions, 6,
16461 prototypes_for_130_frag,
16462 functions_for_130_frag,
16463 Elements(functions_for_130_frag));
16464 }
16465
16466 if (state->target == vertex_shader && state->language_version == 130) {
16467 _mesa_read_profile(state, instructions, 7,
16468 prototypes_for_130_vert,
16469 functions_for_130_vert,
16470 Elements(functions_for_130_vert));
16471 }
16472
16473 if (state->target == fragment_shader && state->ARB_texture_rectangle_enable) {
16474 _mesa_read_profile(state, instructions, 8,
16475 prototypes_for_ARB_texture_rectangle_frag,
16476 functions_for_ARB_texture_rectangle_frag,
16477 Elements(functions_for_ARB_texture_rectangle_frag));
16478 }
16479
16480 if (state->target == vertex_shader && state->ARB_texture_rectangle_enable) {
16481 _mesa_read_profile(state, instructions, 9,
16482 prototypes_for_ARB_texture_rectangle_vert,
16483 functions_for_ARB_texture_rectangle_vert,
16484 Elements(functions_for_ARB_texture_rectangle_vert));
16485 }
16486
16487 if (state->target == fragment_shader && state->EXT_texture_array_enable) {
16488 _mesa_read_profile(state, instructions, 10,
16489 prototypes_for_EXT_texture_array_frag,
16490 functions_for_EXT_texture_array_frag,
16491 Elements(functions_for_EXT_texture_array_frag));
16492 }
16493
16494 if (state->target == vertex_shader && state->EXT_texture_array_enable) {
16495 _mesa_read_profile(state, instructions, 11,
16496 prototypes_for_EXT_texture_array_vert,
16497 functions_for_EXT_texture_array_vert,
16498 Elements(functions_for_EXT_texture_array_vert));
16499 }
16500
16501 }