1 /* DO NOT MODIFY - automatically generated by generate_builtins.py */
3 * Copyright © 2010 Intel Corporation
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:
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
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.
26 #include "main/core.h" /* for struct gl_shader */
27 #include "glsl_parser_extras.h"
28 #include "ir_reader.h"
32 extern "C" struct gl_shader
*
33 _mesa_new_shader(struct gl_context
*ctx
, GLuint name
, GLenum type
);
36 read_builtins(GLenum target
, const char *protos
, const char **functions
, unsigned count
)
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
);
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
);
50 sh
->ir
= new(sh
) exec_list
;
51 sh
->symbols
= st
->symbols
;
53 /* Read the IR containing the prototypes */
54 _mesa_glsl_read_ir(st
, sh
->ir
, protos
, true);
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.
60 for (unsigned i
= 0; i
< count
; i
++) {
61 _mesa_glsl_read_ir(st
, sh
->ir
, functions
[i
], false);
64 printf("error reading builtin: %.35s ...\n", functions
[i
]);
65 printf("Info log:\n%s\n", st
->info_log
);
71 reparent_ir(sh
->ir
, sh
);
77 static const char builtin_abs
[] =
81 " (declare (in) float arg0))\n"
82 " ((return (expression float abs (var_ref arg0)))))\n"
86 " (declare (in) vec2 arg0))\n"
87 " ((return (expression vec2 abs (var_ref arg0)))))\n"
91 " (declare (in) vec3 arg0))\n"
92 " ((return (expression vec3 abs (var_ref arg0)))))\n"
96 " (declare (in) vec4 arg0))\n"
97 " ((return (expression vec4 abs (var_ref arg0)))))\n"
101 static const char builtin_acos
[] =
103 " (signature float\n"
105 " (declare (in) float x))\n"
106 " ((return (expression float - (constant float (1.5707963))\n"
107 " (call asin ((var_ref x)))))))\n"
110 " (declare (in) vec2 x))\n"
111 " ((return (expression vec2 - (constant float (1.5707963))\n"
112 " (call asin ((var_ref x)))))))\n"
115 " (declare (in) vec3 x))\n"
116 " ((return (expression vec3 - (constant float (1.5707963))\n"
117 " (call asin ((var_ref x)))))))\n"
120 " (declare (in) vec4 x))\n"
121 " ((return (expression vec4 - (constant float (1.5707963))\n"
122 " (call asin ((var_ref x)))))))\n"
126 static const char builtin_all
[] =
130 " (declare (in) bvec2 arg0))\n"
131 " ((return (expression bool && (swiz x (var_ref arg0))(swiz y (var_ref arg0))))))\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"
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"
145 static const char builtin_any
[] =
149 " (declare (in) bvec2 arg0))\n"
150 " ((return (expression bool any (var_ref arg0)))))\n"
154 " (declare (in) bvec3 arg0))\n"
155 " ((return (expression bool any (var_ref arg0)))))\n"
159 " (declare (in) bvec4 arg0))\n"
160 " ((return (expression bool any (var_ref arg0)))))\n"
164 static const char builtin_asin
[] =
166 " (signature float\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"
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"
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"
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"
264 static const char builtin_atan
[] =
266 " (signature float\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"
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"
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"
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"
314 " (signature float\n"
316 " (declare (in ) float y)\n"
317 " (declare (in ) float x)\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"
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"
337 " (return (var_ref r) )\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"
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"
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"
393 static const char builtin_ceil
[] =
395 " (signature float\n"
397 " (declare (in) float arg0))\n"
398 " ((return (expression float ceil (var_ref arg0)))))\n"
402 " (declare (in) vec2 arg0))\n"
403 " ((return (expression vec2 ceil (var_ref arg0)))))\n"
407 " (declare (in) vec3 arg0))\n"
408 " ((return (expression vec3 ceil (var_ref arg0)))))\n"
412 " (declare (in) vec4 arg0))\n"
413 " ((return (expression vec4 ceil (var_ref arg0)))))\n"
417 static const char builtin_clamp
[] =
419 " (signature float\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"
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"
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"
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"
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"
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"
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"
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"
475 " (signature ivec2\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"
482 " (signature ivec3\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"
489 " (signature ivec4\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"
496 " (signature ivec2\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"
503 " (signature ivec3\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"
510 " (signature ivec4\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"
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"
524 " (signature uvec2\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"
531 " (signature uvec3\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"
538 " (signature uvec4\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"
545 " (signature uvec2\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"
552 " (signature uvec3\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"
559 " (signature uvec4\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"
568 static const char builtin_cos
[] =
570 " (signature float\n"
572 " (declare (in) float angle))\n"
573 " ((return (expression float cos (var_ref angle)))))\n"
577 " (declare (in) vec2 angle))\n"
578 " ((return (expression vec2 cos (var_ref angle)))))\n"
582 " (declare (in) vec3 angle))\n"
583 " ((return (expression vec3 cos (var_ref angle)))))\n"
587 " (declare (in) vec4 angle))\n"
588 " ((return (expression vec4 cos (var_ref angle)))))\n"
592 static const char builtin_cosh
[] =
594 " (signature float\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"
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"
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"
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"
625 static const char builtin_cross
[] =
629 " (declare (in) vec3 arg0)\n"
630 " (declare (in) vec3 arg1))\n"
631 " ((return (expression vec3 cross (var_ref arg0) (var_ref arg1)))))\n"
635 static const char builtin_dFdx
[] =
637 " (signature float\n"
639 " (declare (in) float p))\n"
640 " ((return (expression float dFdx (var_ref p)))))\n"
644 " (declare (in) vec2 p))\n"
645 " ((return (expression vec2 dFdx (var_ref p)))))\n"
649 " (declare (in) vec3 p))\n"
650 " ((return (expression vec3 dFdx (var_ref p)))))\n"
654 " (declare (in) vec4 p))\n"
655 " ((return (expression vec4 dFdx (var_ref p)))))\n"
659 static const char builtin_dFdy
[] =
661 " (signature float\n"
663 " (declare (in) float p))\n"
664 " ((return (expression float dFdy (var_ref p)))))\n"
668 " (declare (in) vec2 p))\n"
669 " ((return (expression vec2 dFdy (var_ref p)))))\n"
673 " (declare (in) vec3 p))\n"
674 " ((return (expression vec3 dFdy (var_ref p)))))\n"
678 " (declare (in) vec4 p))\n"
679 " ((return (expression vec4 dFdy (var_ref p)))))\n"
683 static const char builtin_degrees
[] =
684 "((function degrees\n"
685 " (signature float\n"
687 " (declare (in) float arg0))\n"
688 " ((return (expression float * (var_ref arg0) (constant float (57.295780))))))\n"
692 " (declare (in) vec2 arg0))\n"
693 " ((return (expression vec2 * (var_ref arg0) (constant float (57.295780))))))\n"
697 " (declare (in) vec3 arg0))\n"
698 " ((return (expression vec3 * (var_ref arg0) (constant float (57.295780))))))\n"
702 " (declare (in) vec4 arg0))\n"
703 " ((return (expression vec4 * (var_ref arg0) (constant float (57.295780))))))\n"
707 static const char builtin_distance
[] =
708 "((function distance\n"
709 " (signature float\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"
715 " (signature float\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"
723 " (signature float\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"
731 " (signature float\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"
741 static const char builtin_dot
[] =
743 " (signature float\n"
745 " (declare (in) float arg0)\n"
746 " (declare (in) float arg1))\n"
747 " ((return (expression float * (var_ref arg0) (var_ref arg1)))))\n"
749 " (signature float\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"
755 " (signature float\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"
761 " (signature float\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"
769 static const char builtin_equal
[] =
771 " (signature bvec2\n"
773 " (declare (in) vec2 arg0)\n"
774 " (declare (in) vec2 arg1))\n"
775 " ((return (expression bvec2 == (var_ref arg0) (var_ref arg1)))))\n"
777 " (signature bvec3\n"
779 " (declare (in) vec3 arg0)\n"
780 " (declare (in) vec3 arg1))\n"
781 " ((return (expression bvec3 == (var_ref arg0) (var_ref arg1)))))\n"
783 " (signature bvec4\n"
785 " (declare (in) vec4 arg0)\n"
786 " (declare (in) vec4 arg1))\n"
787 " ((return (expression bvec4 == (var_ref arg0) (var_ref arg1)))))\n"
789 " (signature bvec2\n"
791 " (declare (in) bvec2 arg0)\n"
792 " (declare (in) bvec2 arg1))\n"
793 " ((return (expression bvec2 == (var_ref arg0) (var_ref arg1)))))\n"
795 " (signature bvec3\n"
797 " (declare (in) bvec3 arg0)\n"
798 " (declare (in) bvec3 arg1))\n"
799 " ((return (expression bvec3 == (var_ref arg0) (var_ref arg1)))))\n"
801 " (signature bvec4\n"
803 " (declare (in) bvec4 arg0)\n"
804 " (declare (in) bvec4 arg1))\n"
805 " ((return (expression bvec4 == (var_ref arg0) (var_ref arg1)))))\n"
807 " (signature bvec2\n"
809 " (declare (in) ivec2 arg0)\n"
810 " (declare (in) ivec2 arg1))\n"
811 " ((return (expression bvec2 == (var_ref arg0) (var_ref arg1)))))\n"
813 " (signature bvec3\n"
815 " (declare (in) ivec3 arg0)\n"
816 " (declare (in) ivec3 arg1))\n"
817 " ((return (expression bvec3 == (var_ref arg0) (var_ref arg1)))))\n"
819 " (signature bvec4\n"
821 " (declare (in) ivec4 arg0)\n"
822 " (declare (in) ivec4 arg1))\n"
823 " ((return (expression bvec4 == (var_ref arg0) (var_ref arg1)))))\n"
825 " (signature bvec2\n"
827 " (declare (in) uvec2 arg0)\n"
828 " (declare (in) uvec2 arg1))\n"
829 " ((return (expression bvec2 == (var_ref arg0) (var_ref arg1)))))\n"
831 " (signature bvec3\n"
833 " (declare (in) uvec3 arg0)\n"
834 " (declare (in) uvec3 arg1))\n"
835 " ((return (expression bvec3 == (var_ref arg0) (var_ref arg1)))))\n"
837 " (signature bvec4\n"
839 " (declare (in) uvec4 arg0)\n"
840 " (declare (in) uvec4 arg1))\n"
841 " ((return (expression bvec4 == (var_ref arg0) (var_ref arg1)))))\n"
845 static const char builtin_exp
[] =
847 " (signature float\n"
849 " (declare (in) float arg0))\n"
850 " ((return (expression float exp (var_ref arg0)))))\n"
854 " (declare (in) vec2 arg0))\n"
855 " ((return (expression vec2 exp (var_ref arg0)))))\n"
859 " (declare (in) vec3 arg0))\n"
860 " ((return (expression vec3 exp (var_ref arg0)))))\n"
864 " (declare (in) vec4 arg0))\n"
865 " ((return (expression vec4 exp (var_ref arg0)))))\n"
869 static const char builtin_exp2
[] =
871 " (signature float\n"
873 " (declare (in) float arg0))\n"
874 " ((return (expression float exp2 (var_ref arg0)))))\n"
878 " (declare (in) vec2 arg0))\n"
879 " ((return (expression vec2 exp2 (var_ref arg0)))))\n"
883 " (declare (in) vec3 arg0))\n"
884 " ((return (expression vec3 exp2 (var_ref arg0)))))\n"
888 " (declare (in) vec4 arg0))\n"
889 " ((return (expression vec4 exp2 (var_ref arg0)))))\n"
893 static const char builtin_faceforward
[] =
894 "((function faceforward\n"
895 " (signature float\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"
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"
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"
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"
933 static const char builtin_floor
[] =
935 " (signature float\n"
937 " (declare (in) float arg0))\n"
938 " ((return (expression float floor (var_ref arg0)))))\n"
942 " (declare (in) vec2 arg0))\n"
943 " ((return (expression vec2 floor (var_ref arg0)))))\n"
947 " (declare (in) vec3 arg0))\n"
948 " ((return (expression vec3 floor (var_ref arg0)))))\n"
952 " (declare (in) vec4 arg0))\n"
953 " ((return (expression vec4 floor (var_ref arg0)))))\n"
957 static const char builtin_fract
[] =
959 " (signature float\n"
961 " (declare (in) float x))\n"
962 " ((return (expression float fract (var_ref x)))))\n"
966 " (declare (in) vec2 x))\n"
967 " ((return (expression vec2 fract (var_ref x)))))\n"
971 " (declare (in) vec3 x))\n"
972 " ((return (expression vec3 fract (var_ref x)))))\n"
976 " (declare (in) vec4 x))\n"
977 " ((return (expression vec4 fract (var_ref x)))))\n"
982 static const char builtin_ftransform
[] =
983 "((declare (uniform) mat4 gl_ModelViewProjectionMatrix)\n"
984 " (declare (in) vec4 gl_Vertex)\n"
985 " (function ftransform\n"
988 " ((return (expression vec4 *\n"
989 " (var_ref gl_ModelViewProjectionMatrix)\n"
990 " (var_ref gl_Vertex)))))\n"
994 static const char builtin_fwidth
[] =
995 "((function fwidth\n"
996 " (signature float\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"
1003 " (signature vec2\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"
1010 " (signature vec3\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"
1017 " (signature vec4\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"
1026 static const char builtin_greaterThan
[] =
1027 "((function greaterThan\n"
1028 " (signature bvec2\n"
1030 " (declare (in) vec2 arg0)\n"
1031 " (declare (in) vec2 arg1))\n"
1032 " ((return (expression bvec2 > (var_ref arg0) (var_ref arg1)))))\n"
1034 " (signature bvec3\n"
1036 " (declare (in) vec3 arg0)\n"
1037 " (declare (in) vec3 arg1))\n"
1038 " ((return (expression bvec3 > (var_ref arg0) (var_ref arg1)))))\n"
1040 " (signature bvec4\n"
1042 " (declare (in) vec4 arg0)\n"
1043 " (declare (in) vec4 arg1))\n"
1044 " ((return (expression bvec4 > (var_ref arg0) (var_ref arg1)))))\n"
1046 " (signature bvec2\n"
1048 " (declare (in) ivec2 arg0)\n"
1049 " (declare (in) ivec2 arg1))\n"
1050 " ((return (expression bvec2 > (var_ref arg0) (var_ref arg1)))))\n"
1052 " (signature bvec3\n"
1054 " (declare (in) ivec3 arg0)\n"
1055 " (declare (in) ivec3 arg1))\n"
1056 " ((return (expression bvec3 > (var_ref arg0) (var_ref arg1)))))\n"
1058 " (signature bvec4\n"
1060 " (declare (in) ivec4 arg0)\n"
1061 " (declare (in) ivec4 arg1))\n"
1062 " ((return (expression bvec4 > (var_ref arg0) (var_ref arg1)))))\n"
1064 " (signature bvec2\n"
1066 " (declare (in) uvec2 arg0)\n"
1067 " (declare (in) uvec2 arg1))\n"
1068 " ((return (expression bvec2 > (var_ref arg0) (var_ref arg1)))))\n"
1070 " (signature bvec3\n"
1072 " (declare (in) uvec3 arg0)\n"
1073 " (declare (in) uvec3 arg1))\n"
1074 " ((return (expression bvec3 > (var_ref arg0) (var_ref arg1)))))\n"
1076 " (signature bvec4\n"
1078 " (declare (in) uvec4 arg0)\n"
1079 " (declare (in) uvec4 arg1))\n"
1080 " ((return (expression bvec4 > (var_ref arg0) (var_ref arg1)))))\n"
1084 static const char builtin_greaterThanEqual
[] =
1085 "((function greaterThanEqual\n"
1086 " (signature bvec2\n"
1088 " (declare (in) vec2 arg0)\n"
1089 " (declare (in) vec2 arg1))\n"
1090 " ((return (expression bvec2 >= (var_ref arg0) (var_ref arg1)))))\n"
1092 " (signature bvec3\n"
1094 " (declare (in) vec3 arg0)\n"
1095 " (declare (in) vec3 arg1))\n"
1096 " ((return (expression bvec3 >= (var_ref arg0) (var_ref arg1)))))\n"
1098 " (signature bvec4\n"
1100 " (declare (in) vec4 arg0)\n"
1101 " (declare (in) vec4 arg1))\n"
1102 " ((return (expression bvec4 >= (var_ref arg0) (var_ref arg1)))))\n"
1104 " (signature bvec2\n"
1106 " (declare (in) ivec2 arg0)\n"
1107 " (declare (in) ivec2 arg1))\n"
1108 " ((return (expression bvec2 >= (var_ref arg0) (var_ref arg1)))))\n"
1110 " (signature bvec3\n"
1112 " (declare (in) ivec3 arg0)\n"
1113 " (declare (in) ivec3 arg1))\n"
1114 " ((return (expression bvec3 >= (var_ref arg0) (var_ref arg1)))))\n"
1116 " (signature bvec4\n"
1118 " (declare (in) ivec4 arg0)\n"
1119 " (declare (in) ivec4 arg1))\n"
1120 " ((return (expression bvec4 >= (var_ref arg0) (var_ref arg1)))))\n"
1122 " (signature bvec2\n"
1124 " (declare (in) uvec2 arg0)\n"
1125 " (declare (in) uvec2 arg1))\n"
1126 " ((return (expression bvec2 >= (var_ref arg0) (var_ref arg1)))))\n"
1128 " (signature bvec3\n"
1130 " (declare (in) uvec3 arg0)\n"
1131 " (declare (in) uvec3 arg1))\n"
1132 " ((return (expression bvec3 >= (var_ref arg0) (var_ref arg1)))))\n"
1134 " (signature bvec4\n"
1136 " (declare (in) uvec4 arg0)\n"
1137 " (declare (in) uvec4 arg1))\n"
1138 " ((return (expression bvec4 >= (var_ref arg0) (var_ref arg1)))))\n"
1142 static const char builtin_inversesqrt
[] =
1143 "((function inversesqrt\n"
1144 " (signature float\n"
1146 " (declare (in) float arg0))\n"
1147 " ((return (expression float rsq (var_ref arg0)))))\n"
1149 " (signature vec2\n"
1151 " (declare (in) vec2 arg0))\n"
1152 " ((return (expression vec2 rsq (var_ref arg0)))))\n"
1154 " (signature vec3\n"
1156 " (declare (in) vec3 arg0))\n"
1157 " ((return (expression vec3 rsq (var_ref arg0)))))\n"
1159 " (signature vec4\n"
1161 " (declare (in) vec4 arg0))\n"
1162 " ((return (expression vec4 rsq (var_ref arg0)))))\n"
1166 static const char builtin_length
[] =
1167 "((function length\n"
1168 " (signature float\n"
1170 " (declare (in) float arg0))\n"
1171 " ((return (expression float abs (var_ref arg0)))))\n"
1173 " (signature float\n"
1175 " (declare (in) vec2 arg0))\n"
1176 " ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
1178 " (signature float\n"
1180 " (declare (in) vec3 arg0))\n"
1181 " ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
1183 " (signature float\n"
1185 " (declare (in) vec4 arg0))\n"
1186 " ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
1190 static const char builtin_lessThan
[] =
1191 "((function lessThan\n"
1192 " (signature bvec2\n"
1194 " (declare (in) vec2 arg0)\n"
1195 " (declare (in) vec2 arg1))\n"
1196 " ((return (expression bvec2 < (var_ref arg0) (var_ref arg1)))))\n"
1198 " (signature bvec3\n"
1200 " (declare (in) vec3 arg0)\n"
1201 " (declare (in) vec3 arg1))\n"
1202 " ((return (expression bvec3 < (var_ref arg0) (var_ref arg1)))))\n"
1204 " (signature bvec4\n"
1206 " (declare (in) vec4 arg0)\n"
1207 " (declare (in) vec4 arg1))\n"
1208 " ((return (expression bvec4 < (var_ref arg0) (var_ref arg1)))))\n"
1210 " (signature bvec2\n"
1212 " (declare (in) ivec2 arg0)\n"
1213 " (declare (in) ivec2 arg1))\n"
1214 " ((return (expression bvec2 < (var_ref arg0) (var_ref arg1)))))\n"
1216 " (signature bvec3\n"
1218 " (declare (in) ivec3 arg0)\n"
1219 " (declare (in) ivec3 arg1))\n"
1220 " ((return (expression bvec3 < (var_ref arg0) (var_ref arg1)))))\n"
1222 " (signature bvec4\n"
1224 " (declare (in) ivec4 arg0)\n"
1225 " (declare (in) ivec4 arg1))\n"
1226 " ((return (expression bvec4 < (var_ref arg0) (var_ref arg1)))))\n"
1228 " (signature bvec2\n"
1230 " (declare (in) uvec2 arg0)\n"
1231 " (declare (in) uvec2 arg1))\n"
1232 " ((return (expression bvec2 < (var_ref arg0) (var_ref arg1)))))\n"
1234 " (signature bvec3\n"
1236 " (declare (in) uvec3 arg0)\n"
1237 " (declare (in) uvec3 arg1))\n"
1238 " ((return (expression bvec3 < (var_ref arg0) (var_ref arg1)))))\n"
1240 " (signature bvec4\n"
1242 " (declare (in) uvec4 arg0)\n"
1243 " (declare (in) uvec4 arg1))\n"
1244 " ((return (expression bvec4 < (var_ref arg0) (var_ref arg1)))))\n"
1248 static const char builtin_lessThanEqual
[] =
1249 "((function lessThanEqual\n"
1250 " (signature bvec2\n"
1252 " (declare (in) vec2 arg0)\n"
1253 " (declare (in) vec2 arg1))\n"
1254 " ((return (expression bvec2 <= (var_ref arg0) (var_ref arg1)))))\n"
1256 " (signature bvec3\n"
1258 " (declare (in) vec3 arg0)\n"
1259 " (declare (in) vec3 arg1))\n"
1260 " ((return (expression bvec3 <= (var_ref arg0) (var_ref arg1)))))\n"
1262 " (signature bvec4\n"
1264 " (declare (in) vec4 arg0)\n"
1265 " (declare (in) vec4 arg1))\n"
1266 " ((return (expression bvec4 <= (var_ref arg0) (var_ref arg1)))))\n"
1268 " (signature bvec2\n"
1270 " (declare (in) ivec2 arg0)\n"
1271 " (declare (in) ivec2 arg1))\n"
1272 " ((return (expression bvec2 <= (var_ref arg0) (var_ref arg1)))))\n"
1274 " (signature bvec3\n"
1276 " (declare (in) ivec3 arg0)\n"
1277 " (declare (in) ivec3 arg1))\n"
1278 " ((return (expression bvec3 <= (var_ref arg0) (var_ref arg1)))))\n"
1280 " (signature bvec4\n"
1282 " (declare (in) ivec4 arg0)\n"
1283 " (declare (in) ivec4 arg1))\n"
1284 " ((return (expression bvec4 <= (var_ref arg0) (var_ref arg1)))))\n"
1286 " (signature bvec2\n"
1288 " (declare (in) uvec2 arg0)\n"
1289 " (declare (in) uvec2 arg1))\n"
1290 " ((return (expression bvec2 <= (var_ref arg0) (var_ref arg1)))))\n"
1292 " (signature bvec3\n"
1294 " (declare (in) uvec3 arg0)\n"
1295 " (declare (in) uvec3 arg1))\n"
1296 " ((return (expression bvec3 <= (var_ref arg0) (var_ref arg1)))))\n"
1298 " (signature bvec4\n"
1300 " (declare (in) uvec4 arg0)\n"
1301 " (declare (in) uvec4 arg1))\n"
1302 " ((return (expression bvec4 <= (var_ref arg0) (var_ref arg1)))))\n"
1306 static const char builtin_log
[] =
1308 " (signature float\n"
1310 " (declare (in) float arg0))\n"
1311 " ((return (expression float log (var_ref arg0)))))\n"
1313 " (signature vec2\n"
1315 " (declare (in) vec2 arg0))\n"
1316 " ((return (expression vec2 log (var_ref arg0)))))\n"
1318 " (signature vec3\n"
1320 " (declare (in) vec3 arg0))\n"
1321 " ((return (expression vec3 log (var_ref arg0)))))\n"
1323 " (signature vec4\n"
1325 " (declare (in) vec4 arg0))\n"
1326 " ((return (expression vec4 log (var_ref arg0)))))\n"
1330 static const char builtin_log2
[] =
1332 " (signature float\n"
1334 " (declare (in) float arg0))\n"
1335 " ((return (expression float log2 (var_ref arg0)))))\n"
1337 " (signature vec2\n"
1339 " (declare (in) vec2 arg0))\n"
1340 " ((return (expression vec2 log2 (var_ref arg0)))))\n"
1342 " (signature vec3\n"
1344 " (declare (in) vec3 arg0))\n"
1345 " ((return (expression vec3 log2 (var_ref arg0)))))\n"
1347 " (signature vec4\n"
1349 " (declare (in) vec4 arg0))\n"
1350 " ((return (expression vec4 log2 (var_ref arg0)))))\n"
1354 static const char builtin_matrixCompMult
[] =
1355 "((function matrixCompMult\n"
1356 " (signature mat2\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"
1365 " (signature mat3\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"
1375 " (signature mat4\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"
1386 " (signature mat2x3\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"
1395 " (signature mat3x2\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"
1405 " (signature mat2x4\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"
1414 " (signature mat4x2\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"
1425 " (signature mat3x4\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"
1435 " (signature mat4x3\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"
1448 static const char builtin_max
[] =
1450 " (signature float\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"
1456 " (signature vec2\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"
1462 " (signature vec3\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"
1468 " (signature vec4\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"
1474 " (signature vec2\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"
1480 " (signature vec3\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"
1486 " (signature vec4\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"
1494 " (declare (in) int arg0)\n"
1495 " (declare (in) int arg1))\n"
1496 " ((return (expression int max (var_ref arg0) (var_ref arg1)))))\n"
1498 " (signature ivec2\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"
1504 " (signature ivec3\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"
1510 " (signature ivec4\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"
1516 " (signature ivec2\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"
1522 " (signature ivec3\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"
1528 " (signature ivec4\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"
1534 " (signature uint\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"
1540 " (signature uvec2\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"
1546 " (signature uvec3\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"
1552 " (signature uvec4\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"
1558 " (signature uvec2\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"
1564 " (signature uvec3\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"
1570 " (signature uvec4\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"
1578 static const char builtin_min
[] =
1580 " (signature float\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"
1586 " (signature vec2\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"
1592 " (signature vec3\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"
1598 " (signature vec4\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"
1604 " (signature vec2\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"
1610 " (signature vec3\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"
1616 " (signature vec4\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"
1624 " (declare (in) int arg0)\n"
1625 " (declare (in) int arg1))\n"
1626 " ((return (expression int min (var_ref arg0) (var_ref arg1)))))\n"
1628 " (signature ivec2\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"
1634 " (signature ivec3\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"
1640 " (signature ivec4\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"
1646 " (signature ivec2\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"
1652 " (signature ivec3\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"
1658 " (signature ivec4\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"
1664 " (signature uint\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"
1670 " (signature uvec2\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"
1676 " (signature uvec3\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"
1682 " (signature uvec4\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"
1688 " (signature uvec2\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"
1694 " (signature uvec3\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"
1700 " (signature uvec4\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"
1708 static const char builtin_mix
[] =
1710 " (signature float\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"
1717 " (signature vec2\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"
1724 " (signature vec3\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"
1731 " (signature vec4\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"
1738 " (signature vec2\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"
1745 " (signature vec3\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"
1752 " (signature vec4\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"
1759 " (signature float\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"
1767 " (signature vec2\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"
1776 " (signature vec3\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"
1786 " (signature vec4\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"
1799 static const char builtin_mod
[] =
1801 " (signature float\n"
1803 " (declare (in) float arg0)\n"
1804 " (declare (in) float arg1))\n"
1805 " ((return (expression float % (var_ref arg0) (var_ref arg1)))))\n"
1807 " (signature vec2\n"
1809 " (declare (in) vec2 arg0)\n"
1810 " (declare (in) vec2 arg1))\n"
1811 " ((return (expression vec2 % (var_ref arg0) (var_ref arg1)))))\n"
1813 " (signature vec3\n"
1815 " (declare (in) vec3 arg0)\n"
1816 " (declare (in) vec3 arg1))\n"
1817 " ((return (expression vec3 % (var_ref arg0) (var_ref arg1)))))\n"
1819 " (signature vec4\n"
1821 " (declare (in) vec4 arg0)\n"
1822 " (declare (in) vec4 arg1))\n"
1823 " ((return (expression vec4 % (var_ref arg0) (var_ref arg1)))))\n"
1825 " (signature vec2\n"
1827 " (declare (in) vec2 arg0)\n"
1828 " (declare (in) float arg1))\n"
1829 " ((return (expression vec2 % (var_ref arg0) (var_ref arg1)))))\n"
1831 " (signature vec3\n"
1833 " (declare (in) vec3 arg0)\n"
1834 " (declare (in) float arg1))\n"
1835 " ((return (expression vec3 % (var_ref arg0) (var_ref arg1)))))\n"
1837 " (signature vec4\n"
1839 " (declare (in) vec4 arg0)\n"
1840 " (declare (in) float arg1))\n"
1841 " ((return (expression vec4 % (var_ref arg0) (var_ref arg1)))))\n"
1845 static const char builtin_modf
[] =
1847 " (signature float\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"
1857 " (signature vec2\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"
1867 " (signature vec3\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"
1877 " (signature vec4\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"
1889 static const char builtin_noise1
[] =
1890 "((function noise1\n"
1891 " (signature float\n"
1893 " (declare (in) float x))\n"
1894 " ((return (expression float noise (var_ref x)))))\n"
1895 " (signature float\n"
1897 " (declare (in) vec2 x))\n"
1898 " ((return (expression float noise (var_ref x)))))\n"
1899 " (signature float\n"
1901 " (declare (in) vec3 x))\n"
1902 " ((return (expression float noise (var_ref x)))))\n"
1903 " (signature float\n"
1905 " (declare (in) vec4 x))\n"
1906 " ((return (expression float noise (var_ref x)))))\n"
1910 static const char builtin_noise2
[] =
1911 "((function noise2\n"
1912 " (signature vec2\n"
1913 " (parameters (declare (in) vec4 p))\n"
1915 " (declare () float a)\n"
1916 " (declare () float b)\n"
1917 " (declare () vec2 t)\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"
1926 " (signature vec2\n"
1927 " (parameters (declare (in) vec3 p))\n"
1929 " (declare () float a)\n"
1930 " (declare () float b)\n"
1931 " (declare () vec2 t)\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"
1940 " (signature vec2\n"
1942 " (declare (in ) vec2 p)\n"
1945 " (declare () float a)\n"
1946 " (declare () float b)\n"
1947 " (declare () vec2 t)\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"
1956 " (signature vec2\n"
1958 " (declare (in ) float p)\n"
1961 " (declare () float a)\n"
1962 " (declare () float b)\n"
1963 " (declare () vec2 t)\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"
1974 static const char builtin_noise3
[] =
1975 "((function noise3\n"
1976 " (signature vec3\n"
1977 " (parameters (declare (in) vec4 p))\n"
1979 " (declare () float a)\n"
1980 " (declare () float b)\n"
1981 " (declare () float c)\n"
1982 " (declare () vec3 t)\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"
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"
1994 " (signature vec3\n"
1995 " (parameters (declare (in) vec3 p))\n"
1997 " (declare () float a)\n"
1998 " (declare () float b)\n"
1999 " (declare () float c)\n"
2000 " (declare () vec3 t)\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"
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"
2012 " (signature vec3\n"
2013 " (parameters (declare (in) vec2 p))\n"
2015 " (declare () float a)\n"
2016 " (declare () float b)\n"
2017 " (declare () float c)\n"
2018 " (declare () vec3 t)\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"
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"
2030 " (signature vec3\n"
2031 " (parameters (declare (in) float p))\n"
2033 " (declare () float a)\n"
2034 " (declare () float b)\n"
2035 " (declare () float c)\n"
2036 " (declare () vec3 t)\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"
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"
2050 static const char builtin_noise4
[] =
2051 "((function noise4\n"
2052 " (signature vec4\n"
2053 " (parameters (declare (in) vec4 p))\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"
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"
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"
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"
2076 " (signature vec4\n"
2077 " (parameters (declare (in) vec3 p))\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"
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"
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"
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"
2100 " (signature vec4\n"
2101 " (parameters (declare (in) vec2 p))\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"
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"
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"
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"
2124 " (signature vec4\n"
2125 " (parameters (declare (in) float p))\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"
2133 " (declare () float _p)\n"
2134 " (assign (constant bool (1)) (x) (var_ref _p) (expression float + (var_ref p) (constant float (1559.0))) )\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"
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"
2150 static const char builtin_normalize
[] =
2151 "((function normalize\n"
2152 " (signature float\n"
2154 " (declare (in) float arg0))\n"
2155 " ((return (expression float sign (var_ref arg0)))))\n"
2157 " (signature vec2\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"
2162 " (signature vec3\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"
2167 " (signature vec4\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"
2174 static const char builtin_not
[] =
2176 " (signature bvec2\n"
2178 " (declare (in) bvec2 arg0))\n"
2179 " ((return (expression bvec2 ! (var_ref arg0)))))\n"
2181 " (signature bvec3\n"
2183 " (declare (in) bvec3 arg0))\n"
2184 " ((return (expression bvec3 ! (var_ref arg0)))))\n"
2186 " (signature bvec4\n"
2188 " (declare (in) bvec4 arg0))\n"
2189 " ((return (expression bvec4 ! (var_ref arg0)))))\n"
2193 static const char builtin_notEqual
[] =
2194 "((function notEqual\n"
2195 " (signature bvec2\n"
2197 " (declare (in) vec2 arg0)\n"
2198 " (declare (in) vec2 arg1))\n"
2199 " ((return (expression bvec2 != (var_ref arg0) (var_ref arg1)))))\n"
2201 " (signature bvec3\n"
2203 " (declare (in) vec3 arg0)\n"
2204 " (declare (in) vec3 arg1))\n"
2205 " ((return (expression bvec3 != (var_ref arg0) (var_ref arg1)))))\n"
2207 " (signature bvec4\n"
2209 " (declare (in) vec4 arg0)\n"
2210 " (declare (in) vec4 arg1))\n"
2211 " ((return (expression bvec4 != (var_ref arg0) (var_ref arg1)))))\n"
2213 " (signature bvec2\n"
2215 " (declare (in) bvec2 arg0)\n"
2216 " (declare (in) bvec2 arg1))\n"
2217 " ((return (expression bvec2 != (var_ref arg0) (var_ref arg1)))))\n"
2219 " (signature bvec3\n"
2221 " (declare (in) bvec3 arg0)\n"
2222 " (declare (in) bvec3 arg1))\n"
2223 " ((return (expression bvec3 != (var_ref arg0) (var_ref arg1)))))\n"
2225 " (signature bvec4\n"
2227 " (declare (in) bvec4 arg0)\n"
2228 " (declare (in) bvec4 arg1))\n"
2229 " ((return (expression bvec4 != (var_ref arg0) (var_ref arg1)))))\n"
2231 " (signature bvec2\n"
2233 " (declare (in) ivec2 arg0)\n"
2234 " (declare (in) ivec2 arg1))\n"
2235 " ((return (expression bvec2 != (var_ref arg0) (var_ref arg1)))))\n"
2237 " (signature bvec3\n"
2239 " (declare (in) ivec3 arg0)\n"
2240 " (declare (in) ivec3 arg1))\n"
2241 " ((return (expression bvec3 != (var_ref arg0) (var_ref arg1)))))\n"
2243 " (signature bvec4\n"
2245 " (declare (in) ivec4 arg0)\n"
2246 " (declare (in) ivec4 arg1))\n"
2247 " ((return (expression bvec4 != (var_ref arg0) (var_ref arg1)))))\n"
2249 " (signature bvec2\n"
2251 " (declare (in) uvec2 arg0)\n"
2252 " (declare (in) uvec2 arg1))\n"
2253 " ((return (expression bvec2 != (var_ref arg0) (var_ref arg1)))))\n"
2255 " (signature bvec3\n"
2257 " (declare (in) uvec3 arg0)\n"
2258 " (declare (in) uvec3 arg1))\n"
2259 " ((return (expression bvec3 != (var_ref arg0) (var_ref arg1)))))\n"
2261 " (signature bvec4\n"
2263 " (declare (in) uvec4 arg0)\n"
2264 " (declare (in) uvec4 arg1))\n"
2265 " ((return (expression bvec4 != (var_ref arg0) (var_ref arg1)))))\n"
2269 static const char builtin_outerProduct
[] =
2270 "((function outerProduct\n"
2271 " (signature mat2\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"
2280 " (signature mat2x3\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"
2289 " (signature mat2x4\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"
2298 " (signature mat3x2\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"
2309 " (signature mat3\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"
2319 " (signature mat3x4\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"
2329 " (signature mat4x2\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"
2340 " (signature mat4x3\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"
2351 " (signature mat4\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"
2364 static const char builtin_pow
[] =
2366 " (signature float\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"
2372 " (signature vec2\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"
2378 " (signature vec3\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"
2384 " (signature vec4\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"
2392 static const char builtin_radians
[] =
2393 "((function radians\n"
2394 " (signature float\n"
2396 " (declare (in) float arg0))\n"
2397 " ((return (expression float * (var_ref arg0) (constant float (0.017453))))))\n"
2399 " (signature vec2\n"
2401 " (declare (in) vec2 arg0))\n"
2402 " ((return (expression vec2 * (var_ref arg0) (constant float (0.017453))))))\n"
2404 " (signature vec3\n"
2406 " (declare (in) vec3 arg0))\n"
2407 " ((return (expression vec3 * (var_ref arg0) (constant float (0.017453))))))\n"
2409 " (signature vec4\n"
2411 " (declare (in) vec4 arg0))\n"
2412 " ((return (expression vec4 * (var_ref arg0) (constant float (0.017453))))))\n"
2416 static const char builtin_reflect
[] =
2417 "((function reflect\n"
2418 " (signature float\n"
2420 " (declare (in) float i)\n"
2421 " (declare (in) float n))\n"
2422 " ((return (expression float -\n"
2424 " (expression float *\n"
2425 " (constant float (2.0))\n"
2426 " (expression float *\n"
2427 " (expression float *\n"
2430 " (var_ref n)))))))\n"
2432 " (signature vec2\n"
2434 " (declare (in) vec2 i)\n"
2435 " (declare (in) vec2 n))\n"
2436 " ((return (expression vec2 -\n"
2438 " (expression vec2 *\n"
2439 " (constant float (2.0))\n"
2440 " (expression vec2 *\n"
2441 " (expression float dot\n"
2444 " (var_ref n)))))))\n"
2446 " (signature vec3\n"
2448 " (declare (in) vec3 i)\n"
2449 " (declare (in) vec3 n))\n"
2450 " ((return (expression vec3 -\n"
2452 " (expression vec3 *\n"
2453 " (constant float (2.0))\n"
2454 " (expression vec3 *\n"
2455 " (expression float dot\n"
2458 " (var_ref n)))))))\n"
2460 " (signature vec4\n"
2462 " (declare (in) vec4 i)\n"
2463 " (declare (in) vec4 n))\n"
2464 " ((return (expression vec4 -\n"
2466 " (expression vec4 *\n"
2467 " (constant float (2.0))\n"
2468 " (expression vec4 *\n"
2469 " (expression float dot\n"
2472 " (var_ref n)))))))\n"
2477 static const char builtin_refract
[] =
2478 "((function refract\n"
2479 " (signature float\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"
2504 " (signature vec2\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"
2529 " (signature vec3\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"
2554 " (signature vec4\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"
2582 static const char builtin_round
[] =
2583 "((function round\n"
2584 " (signature float\n"
2586 " (declare (in) float arg0))\n"
2587 " ((return (expression float round_even (var_ref arg0)))))\n"
2589 " (signature vec2\n"
2591 " (declare (in) vec2 arg0))\n"
2592 " ((return (expression vec2 round_even (var_ref arg0)))))\n"
2594 " (signature vec3\n"
2596 " (declare (in) vec3 arg0))\n"
2597 " ((return (expression vec3 round_even (var_ref arg0)))))\n"
2599 " (signature vec4\n"
2601 " (declare (in) vec4 arg0))\n"
2602 " ((return (expression vec4 round_even (var_ref arg0)))))\n"
2606 static const char builtin_roundEven
[] =
2607 "((function roundEven\n"
2608 " (signature float\n"
2610 " (declare (in) float arg0))\n"
2611 " ((return (expression float round_even (var_ref arg0)))))\n"
2613 " (signature vec2\n"
2615 " (declare (in) vec2 arg0))\n"
2616 " ((return (expression vec2 round_even (var_ref arg0)))))\n"
2618 " (signature vec3\n"
2620 " (declare (in) vec3 arg0))\n"
2621 " ((return (expression vec3 round_even (var_ref arg0)))))\n"
2623 " (signature vec4\n"
2625 " (declare (in) vec4 arg0))\n"
2626 " ((return (expression vec4 round_even (var_ref arg0)))))\n"
2630 static const char builtin_shadow1D
[] =
2631 "((function shadow1D\n"
2632 " (signature vec4\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"
2638 " (signature vec4\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"
2648 static const char builtin_shadow1DArray
[] =
2649 "((function shadow1DArray\n"
2650 " (signature vec4\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"
2656 " (signature vec4\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"
2666 static const char builtin_shadow1DArrayLod
[] =
2667 "((function shadow1DArrayLod\n"
2668 " (signature vec4\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"
2678 static const char builtin_shadow1DLod
[] =
2679 "((function shadow1DLod\n"
2680 " (signature vec4\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"
2690 static const char builtin_shadow1DProj
[] =
2691 "((function shadow1DProj\n"
2692 " (signature vec4\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"
2698 " (signature vec4\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"
2708 static const char builtin_shadow1DProjLod
[] =
2709 "((function shadow1DProjLod\n"
2710 " (signature vec4\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"
2720 static const char builtin_shadow2D
[] =
2721 "((function shadow2D\n"
2722 " (signature vec4\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"
2728 " (signature vec4\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"
2738 static const char builtin_shadow2DArray
[] =
2739 "((function shadow2DArray\n"
2740 " (signature vec4\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"
2749 static const char builtin_shadow2DLod
[] =
2750 "((function shadow2DLod\n"
2751 " (signature vec4\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"
2761 static const char builtin_shadow2DProj
[] =
2762 "((function shadow2DProj\n"
2763 " (signature vec4\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"
2769 " (signature vec4\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"
2779 static const char builtin_shadow2DProjLod
[] =
2780 "((function shadow2DProjLod\n"
2781 " (signature vec4\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"
2791 static const char builtin_shadow2DRect
[] =
2792 "((function shadow2DRect\n"
2793 " (signature vec4\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"
2802 static const char builtin_shadow2DRectProj
[] =
2803 "((function shadow2DRectProj\n"
2804 " (signature vec4\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"
2813 static const char builtin_sign
[] =
2815 " (signature float\n"
2817 " (declare (in) float x))\n"
2818 " ((return (expression float sign (var_ref x)))))\n"
2820 " (signature vec2\n"
2822 " (declare (in) vec2 x))\n"
2823 " ((return (expression vec2 sign (var_ref x)))))\n"
2825 " (signature vec3\n"
2827 " (declare (in) vec3 x))\n"
2828 " ((return (expression vec3 sign (var_ref x)))))\n"
2830 " (signature vec4\n"
2832 " (declare (in) vec4 x))\n"
2833 " ((return (expression vec4 sign (var_ref x)))))\n"
2837 " (declare (in) int x))\n"
2838 " ((return (expression int sign (var_ref x)))))\n"
2840 " (signature ivec2\n"
2842 " (declare (in) ivec2 x))\n"
2843 " ((return (expression ivec2 sign (var_ref x)))))\n"
2845 " (signature ivec3\n"
2847 " (declare (in) ivec3 x))\n"
2848 " ((return (expression ivec3 sign (var_ref x)))))\n"
2850 " (signature ivec4\n"
2852 " (declare (in) ivec4 x))\n"
2853 " ((return (expression ivec4 sign (var_ref x)))))\n"
2858 static const char builtin_sin
[] =
2860 " (signature float\n"
2862 " (declare (in) float angle))\n"
2863 " ((return (expression float sin (var_ref angle)))))\n"
2865 " (signature vec2\n"
2867 " (declare (in) vec2 angle))\n"
2868 " ((return (expression vec2 sin (var_ref angle)))))\n"
2870 " (signature vec3\n"
2872 " (declare (in) vec3 angle))\n"
2873 " ((return (expression vec3 sin (var_ref angle)))))\n"
2875 " (signature vec4\n"
2877 " (declare (in) vec4 angle))\n"
2878 " ((return (expression vec4 sin (var_ref angle)))))\n"
2882 static const char builtin_sinh
[] =
2884 " (signature float\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"
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"
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"
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"
2915 static const char builtin_smoothstep
[] =
2916 "((function smoothstep\n"
2917 " (signature float\n"
2919 " (declare (in) float edge0)\n"
2920 " (declare (in) float edge1)\n"
2921 " (declare (in) float x))\n"
2922 " ((declare () float t)\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"
2932 " (signature vec2\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"
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"
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"
2958 " (signature vec3\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"
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"
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"
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"
2993 " (signature vec4\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"
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"
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"
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"
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"
3035 " (signature vec2\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"
3046 " (signature vec3\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"
3057 " (signature vec4\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"
3071 static const char builtin_sqrt
[] =
3073 " (signature float\n"
3075 " (declare (in) float arg0))\n"
3076 " ((return (expression float sqrt (var_ref arg0)))))\n"
3078 " (signature vec2\n"
3080 " (declare (in) vec2 arg0))\n"
3081 " ((return (expression vec2 sqrt (var_ref arg0)))))\n"
3083 " (signature vec3\n"
3085 " (declare (in) vec3 arg0))\n"
3086 " ((return (expression vec3 sqrt (var_ref arg0)))))\n"
3088 " (signature vec4\n"
3090 " (declare (in) vec4 arg0))\n"
3091 " ((return (expression vec4 sqrt (var_ref arg0)))))\n"
3095 static const char builtin_step
[] =
3097 " (signature float\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"
3103 " (signature vec2\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"
3112 " (signature vec3\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"
3122 " (signature vec4\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"
3133 " (signature vec2\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"
3142 " (signature vec3\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"
3152 " (signature vec4\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"
3166 static const char builtin_tan
[] =
3168 " (signature float\n"
3170 " (declare (in) float angle))\n"
3171 " ((return (expression float / (expression float sin (var_ref angle)) (expression float cos (var_ref angle))))))\n"
3173 " (signature vec2\n"
3175 " (declare (in) vec2 angle))\n"
3176 " ((return (expression vec2 / (expression vec2 sin (var_ref angle)) (expression vec2 cos (var_ref angle))))))\n"
3178 " (signature vec3\n"
3180 " (declare (in) vec3 angle))\n"
3181 " ((return (expression vec3 / (expression vec3 sin (var_ref angle)) (expression vec3 cos (var_ref angle))))))\n"
3183 " (signature vec4\n"
3185 " (declare (in) vec4 angle))\n"
3186 " ((return (expression vec4 / (expression vec4 sin (var_ref angle)) (expression vec4 cos (var_ref angle))))))\n"
3190 static const char builtin_tanh
[] =
3192 " (signature float\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"
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"
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"
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"
3235 static const char builtin_texelFetch
[] =
3236 "((function texelFetch\n"
3237 " (signature vec4\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"
3244 " (signature ivec4\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"
3251 " (signature uvec4\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"
3258 " (signature vec4\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"
3265 " (signature ivec4\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"
3272 " (signature uvec4\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"
3279 " (signature vec4\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"
3286 " (signature ivec4\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"
3293 " (signature uvec4\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"
3300 " (signature vec4\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"
3307 " (signature ivec4\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"
3314 " (signature uvec4\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"
3321 " (signature vec4\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"
3328 " (signature ivec4\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"
3335 " (signature uvec4\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"
3345 static const char builtin_texture
[] =
3346 "((function texture\n"
3347 " (signature vec4\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"
3353 " (signature ivec4\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"
3359 " (signature uvec4\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"
3365 " (signature vec4\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"
3371 " (signature ivec4\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"
3377 " (signature uvec4\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"
3383 " (signature vec4\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"
3389 " (signature ivec4\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"
3395 " (signature uvec4\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"
3401 " (signature vec4\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"
3407 " (signature ivec4\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"
3413 " (signature uvec4\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"
3419 " (signature vec4\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"
3425 " (signature ivec4\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"
3431 " (signature uvec4\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"
3437 " (signature vec4\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"
3443 " (signature ivec4\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"
3449 " (signature uvec4\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"
3455 " (signature vec4\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"
3462 " (signature ivec4\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"
3469 " (signature uvec4\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"
3476 " (signature vec4\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"
3483 " (signature ivec4\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"
3490 " (signature uvec4\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"
3497 " (signature vec4\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"
3504 " (signature ivec4\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"
3511 " (signature uvec4\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"
3518 " (signature vec4\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"
3525 " (signature ivec4\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"
3532 " (signature uvec4\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"
3539 " (signature vec4\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"
3546 " (signature ivec4\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"
3553 " (signature uvec4\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"
3560 " (signature vec4\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"
3567 " (signature ivec4\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"
3574 " (signature uvec4\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"
3584 static const char builtin_texture1D
[] =
3585 "((function texture1D\n"
3586 " (signature vec4\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"
3592 " (signature vec4\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"
3602 static const char builtin_texture1DArray
[] =
3603 "((function texture1DArray\n"
3604 " (signature vec4\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"
3610 " (signature vec4\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"
3620 static const char builtin_texture1DArrayLod
[] =
3621 "((function texture1DArrayLod\n"
3622 " (signature vec4\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"
3632 static const char builtin_texture1DLod
[] =
3633 "((function texture1DLod\n"
3634 " (signature vec4\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"
3644 static const char builtin_texture1DProj
[] =
3645 "((function texture1DProj\n"
3646 " (signature vec4\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"
3652 " (signature vec4\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"
3658 " (signature vec4\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"
3665 " (signature vec4\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"
3675 static const char builtin_texture1DProjLod
[] =
3676 "((function texture1DProjLod\n"
3677 " (signature vec4\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"
3684 " (signature vec4\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"
3694 static const char builtin_texture2D
[] =
3695 "((function texture2D\n"
3696 " (signature vec4\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"
3702 " (signature vec4\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"
3712 static const char builtin_texture2DArray
[] =
3713 "((function texture2DArray\n"
3714 " (signature vec4\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"
3720 " (signature vec4\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"
3730 static const char builtin_texture2DArrayLod
[] =
3731 "((function texture2DArrayLod\n"
3732 " (signature vec4\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"
3742 static const char builtin_texture2DLod
[] =
3743 "((function texture2DLod\n"
3744 " (signature vec4\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"
3754 static const char builtin_texture2DProj
[] =
3755 "((function texture2DProj\n"
3756 " (signature vec4\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"
3762 " (signature vec4\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"
3768 " (signature vec4\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"
3775 " (signature vec4\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"
3785 static const char builtin_texture2DProjLod
[] =
3786 "((function texture2DProjLod\n"
3787 " (signature vec4\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"
3794 " (signature vec4\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"
3804 static const char builtin_texture2DRect
[] =
3805 "((function texture2DRect\n"
3806 " (signature vec4\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"
3815 static const char builtin_texture2DRectProj
[] =
3816 "((function texture2DRectProj\n"
3817 " (signature vec4\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"
3823 " (signature vec4\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"
3832 static const char builtin_texture3D
[] =
3833 "((function texture3D\n"
3834 " (signature vec4\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"
3840 " (signature vec4\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"
3850 static const char builtin_texture3DLod
[] =
3851 "((function texture3DLod\n"
3852 " (signature vec4\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"
3862 static const char builtin_texture3DProj
[] =
3863 "((function texture3DProj\n"
3864 " (signature vec4\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"
3870 " (signature vec4\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"
3880 static const char builtin_texture3DProjLod
[] =
3881 "((function texture3DProjLod\n"
3882 " (signature vec4\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"
3892 static const char builtin_textureCube
[] =
3893 "((function textureCube\n"
3894 " (signature vec4\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"
3900 " (signature vec4\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"
3910 static const char builtin_textureCubeLod
[] =
3911 "((function textureCubeLod\n"
3912 " (signature vec4\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"
3922 static const char builtin_textureGrad
[] =
3923 "((function textureGrad\n"
3924 " (signature vec4\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"
3932 " (signature ivec4\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"
3940 " (signature uvec4\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"
3948 " (signature vec4\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"
3956 " (signature ivec4\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"
3964 " (signature uvec4\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"
3972 " (signature vec4\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"
3980 " (signature ivec4\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"
3988 " (signature uvec4\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"
3996 " (signature vec4\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"
4004 " (signature ivec4\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"
4012 " (signature uvec4\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"
4020 " (signature vec4\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"
4028 " (signature ivec4\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"
4036 " (signature uvec4\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"
4044 " (signature vec4\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"
4052 " (signature ivec4\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"
4060 " (signature uvec4\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"
4071 static const char builtin_textureLod
[] =
4072 "((function textureLod\n"
4073 " (signature vec4\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"
4080 " (signature ivec4\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"
4087 " (signature uvec4\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"
4094 " (signature vec4\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"
4101 " (signature ivec4\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"
4108 " (signature uvec4\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"
4115 " (signature vec4\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"
4122 " (signature ivec4\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"
4129 " (signature uvec4\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"
4136 " (signature vec4\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"
4143 " (signature ivec4\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"
4150 " (signature uvec4\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"
4157 " (signature vec4\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"
4164 " (signature ivec4\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"
4171 " (signature uvec4\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"
4178 " (signature vec4\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"
4185 " (signature ivec4\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"
4192 " (signature uvec4\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"
4202 static const char builtin_textureProj
[] =
4203 "((function textureProj\n"
4204 " (signature vec4\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"
4210 " (signature ivec4\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"
4216 " (signature uvec4\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"
4222 " (signature vec4\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"
4228 " (signature ivec4\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"
4234 " (signature uvec4\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"
4240 " (signature vec4\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"
4246 " (signature ivec4\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"
4252 " (signature uvec4\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"
4258 " (signature vec4\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"
4264 " (signature ivec4\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"
4270 " (signature uvec4\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"
4276 " (signature vec4\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"
4282 " (signature ivec4\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"
4288 " (signature uvec4\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"
4294 " (signature vec4\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"
4301 " (signature ivec4\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"
4308 " (signature uvec4\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"
4315 " (signature vec4\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"
4322 " (signature ivec4\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"
4329 " (signature uvec4\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"
4336 " (signature vec4\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"
4343 " (signature ivec4\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"
4350 " (signature uvec4\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"
4357 " (signature vec4\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"
4364 " (signature ivec4\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"
4371 " (signature uvec4\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"
4378 " (signature vec4\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"
4385 " (signature ivec4\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"
4392 " (signature uvec4\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"
4402 static const char builtin_textureProjGrad
[] =
4403 "((function textureProjGrad\n"
4404 " (signature vec4\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"
4412 " (signature ivec4\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"
4420 " (signature uvec4\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"
4428 " (signature vec4\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"
4436 " (signature ivec4\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"
4444 " (signature uvec4\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"
4452 " (signature vec4\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"
4460 " (signature ivec4\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"
4468 " (signature uvec4\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"
4476 " (signature vec4\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"
4484 " (signature ivec4\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"
4492 " (signature uvec4\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"
4500 " (signature vec4\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"
4508 " (signature ivec4\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"
4516 " (signature uvec4\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"
4527 static const char builtin_textureProjLod
[] =
4528 "((function textureProjLod\n"
4529 " (signature vec4\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"
4536 " (signature ivec4\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"
4543 " (signature uvec4\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"
4550 " (signature vec4\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"
4557 " (signature ivec4\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"
4564 " (signature uvec4\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"
4571 " (signature vec4\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"
4578 " (signature ivec4\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"
4585 " (signature uvec4\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"
4592 " (signature vec4\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"
4599 " (signature ivec4\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"
4606 " (signature uvec4\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"
4613 " (signature vec4\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"
4620 " (signature ivec4\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"
4627 " (signature uvec4\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"
4637 static const char builtin_transpose
[] =
4638 "((function transpose\n"
4639 " (signature mat2\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"
4649 " (signature mat3x2\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"
4661 " (signature mat4x2\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"
4675 " (signature mat2x3\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"
4687 " (signature mat3\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"
4702 " (signature mat4x3\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"
4720 " (signature mat2x4\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"
4734 " (signature mat3x4\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"
4752 " (signature mat4\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"
4779 static const char builtin_trunc
[] =
4780 "((function trunc\n"
4781 " (signature float\n"
4783 " (declare (in) float arg0))\n"
4784 " ((return (expression float trunc (var_ref arg0)))))\n"
4786 " (signature vec2\n"
4788 " (declare (in) vec2 arg0))\n"
4789 " ((return (expression vec2 trunc (var_ref arg0)))))\n"
4791 " (signature vec3\n"
4793 " (declare (in) vec3 arg0))\n"
4794 " ((return (expression vec3 trunc (var_ref arg0)))))\n"
4796 " (signature vec4\n"
4798 " (declare (in) vec4 arg0))\n"
4799 " ((return (expression vec4 trunc (var_ref arg0)))))\n"
4803 static const char prototypes_for_100_frag
[] =
4805 "(function radians\n"
4806 " (signature float\n"
4808 " (declare (in) float degrees))\n"
4810 " (signature vec2\n"
4812 " (declare (in) vec2 degrees))\n"
4814 " (signature vec3\n"
4816 " (declare (in) vec3 degrees))\n"
4818 " (signature vec4\n"
4820 " (declare (in) vec4 degrees))\n"
4822 "(function degrees\n"
4823 " (signature float\n"
4825 " (declare (in) float radians))\n"
4827 " (signature vec2\n"
4829 " (declare (in) vec2 radians))\n"
4831 " (signature vec3\n"
4833 " (declare (in) vec3 radians))\n"
4835 " (signature vec4\n"
4837 " (declare (in) vec4 radians))\n"
4840 " (signature float\n"
4842 " (declare (in) float angle))\n"
4844 " (signature vec2\n"
4846 " (declare (in) vec2 angle))\n"
4848 " (signature vec3\n"
4850 " (declare (in) vec3 angle))\n"
4852 " (signature vec4\n"
4854 " (declare (in) vec4 angle))\n"
4857 " (signature float\n"
4859 " (declare (in) float angle))\n"
4861 " (signature vec2\n"
4863 " (declare (in) vec2 angle))\n"
4865 " (signature vec3\n"
4867 " (declare (in) vec3 angle))\n"
4869 " (signature vec4\n"
4871 " (declare (in) vec4 angle))\n"
4874 " (signature float\n"
4876 " (declare (in) float angle))\n"
4878 " (signature vec2\n"
4880 " (declare (in) vec2 angle))\n"
4882 " (signature vec3\n"
4884 " (declare (in) vec3 angle))\n"
4886 " (signature vec4\n"
4888 " (declare (in) vec4 angle))\n"
4891 " (signature float\n"
4893 " (declare (in) float angle))\n"
4895 " (signature vec2\n"
4897 " (declare (in) vec2 angle))\n"
4899 " (signature vec3\n"
4901 " (declare (in) vec3 angle))\n"
4903 " (signature vec4\n"
4905 " (declare (in) vec4 angle))\n"
4908 " (signature float\n"
4910 " (declare (in) float angle))\n"
4912 " (signature vec2\n"
4914 " (declare (in) vec2 angle))\n"
4916 " (signature vec3\n"
4918 " (declare (in) vec3 angle))\n"
4920 " (signature vec4\n"
4922 " (declare (in) vec4 angle))\n"
4925 " (signature float\n"
4927 " (declare (in) float y)\n"
4928 " (declare (in) float x))\n"
4930 " (signature vec2\n"
4932 " (declare (in) vec2 y)\n"
4933 " (declare (in) vec2 x))\n"
4935 " (signature vec3\n"
4937 " (declare (in) vec3 y)\n"
4938 " (declare (in) vec3 x))\n"
4940 " (signature vec4\n"
4942 " (declare (in) vec4 y)\n"
4943 " (declare (in) vec4 x))\n"
4945 " (signature float\n"
4947 " (declare (in) float y_over_x))\n"
4949 " (signature vec2\n"
4951 " (declare (in) vec2 y_over_x))\n"
4953 " (signature vec3\n"
4955 " (declare (in) vec3 y_over_x))\n"
4957 " (signature vec4\n"
4959 " (declare (in) vec4 y_over_x))\n"
4962 " (signature float\n"
4964 " (declare (in) float x)\n"
4965 " (declare (in) float y))\n"
4967 " (signature vec2\n"
4969 " (declare (in) vec2 x)\n"
4970 " (declare (in) vec2 y))\n"
4972 " (signature vec3\n"
4974 " (declare (in) vec3 x)\n"
4975 " (declare (in) vec3 y))\n"
4977 " (signature vec4\n"
4979 " (declare (in) vec4 x)\n"
4980 " (declare (in) vec4 y))\n"
4983 " (signature float\n"
4985 " (declare (in) float x))\n"
4987 " (signature vec2\n"
4989 " (declare (in) vec2 x))\n"
4991 " (signature vec3\n"
4993 " (declare (in) vec3 x))\n"
4995 " (signature vec4\n"
4997 " (declare (in) vec4 x))\n"
5000 " (signature float\n"
5002 " (declare (in) float x))\n"
5004 " (signature vec2\n"
5006 " (declare (in) vec2 x))\n"
5008 " (signature vec3\n"
5010 " (declare (in) vec3 x))\n"
5012 " (signature vec4\n"
5014 " (declare (in) vec4 x))\n"
5017 " (signature float\n"
5019 " (declare (in) float x))\n"
5021 " (signature vec2\n"
5023 " (declare (in) vec2 x))\n"
5025 " (signature vec3\n"
5027 " (declare (in) vec3 x))\n"
5029 " (signature vec4\n"
5031 " (declare (in) vec4 x))\n"
5034 " (signature float\n"
5036 " (declare (in) float x))\n"
5038 " (signature vec2\n"
5040 " (declare (in) vec2 x))\n"
5042 " (signature vec3\n"
5044 " (declare (in) vec3 x))\n"
5046 " (signature vec4\n"
5048 " (declare (in) vec4 x))\n"
5051 " (signature float\n"
5053 " (declare (in) float x))\n"
5055 " (signature vec2\n"
5057 " (declare (in) vec2 x))\n"
5059 " (signature vec3\n"
5061 " (declare (in) vec3 x))\n"
5063 " (signature vec4\n"
5065 " (declare (in) vec4 x))\n"
5067 "(function inversesqrt\n"
5068 " (signature float\n"
5070 " (declare (in) float x))\n"
5072 " (signature vec2\n"
5074 " (declare (in) vec2 x))\n"
5076 " (signature vec3\n"
5078 " (declare (in) vec3 x))\n"
5080 " (signature vec4\n"
5082 " (declare (in) vec4 x))\n"
5085 " (signature float\n"
5087 " (declare (in) float x))\n"
5089 " (signature vec2\n"
5091 " (declare (in) vec2 x))\n"
5093 " (signature vec3\n"
5095 " (declare (in) vec3 x))\n"
5097 " (signature vec4\n"
5099 " (declare (in) vec4 x))\n"
5102 " (signature float\n"
5104 " (declare (in) float x))\n"
5106 " (signature vec2\n"
5108 " (declare (in) vec2 x))\n"
5110 " (signature vec3\n"
5112 " (declare (in) vec3 x))\n"
5114 " (signature vec4\n"
5116 " (declare (in) vec4 x))\n"
5119 " (signature float\n"
5121 " (declare (in) float x))\n"
5123 " (signature vec2\n"
5125 " (declare (in) vec2 x))\n"
5127 " (signature vec3\n"
5129 " (declare (in) vec3 x))\n"
5131 " (signature vec4\n"
5133 " (declare (in) vec4 x))\n"
5136 " (signature float\n"
5138 " (declare (in) float x))\n"
5140 " (signature vec2\n"
5142 " (declare (in) vec2 x))\n"
5144 " (signature vec3\n"
5146 " (declare (in) vec3 x))\n"
5148 " (signature vec4\n"
5150 " (declare (in) vec4 x))\n"
5153 " (signature float\n"
5155 " (declare (in) float x))\n"
5157 " (signature vec2\n"
5159 " (declare (in) vec2 x))\n"
5161 " (signature vec3\n"
5163 " (declare (in) vec3 x))\n"
5165 " (signature vec4\n"
5167 " (declare (in) vec4 x))\n"
5170 " (signature float\n"
5172 " (declare (in) float x)\n"
5173 " (declare (in) float y))\n"
5175 " (signature vec2\n"
5177 " (declare (in) vec2 x)\n"
5178 " (declare (in) float y))\n"
5180 " (signature vec3\n"
5182 " (declare (in) vec3 x)\n"
5183 " (declare (in) float y))\n"
5185 " (signature vec4\n"
5187 " (declare (in) vec4 x)\n"
5188 " (declare (in) float y))\n"
5190 " (signature vec2\n"
5192 " (declare (in) vec2 x)\n"
5193 " (declare (in) vec2 y))\n"
5195 " (signature vec3\n"
5197 " (declare (in) vec3 x)\n"
5198 " (declare (in) vec3 y))\n"
5200 " (signature vec4\n"
5202 " (declare (in) vec4 x)\n"
5203 " (declare (in) vec4 y))\n"
5206 " (signature float\n"
5208 " (declare (in) float x)\n"
5209 " (declare (in) float y))\n"
5211 " (signature vec2\n"
5213 " (declare (in) vec2 x)\n"
5214 " (declare (in) vec2 y))\n"
5216 " (signature vec3\n"
5218 " (declare (in) vec3 x)\n"
5219 " (declare (in) vec3 y))\n"
5221 " (signature vec4\n"
5223 " (declare (in) vec4 x)\n"
5224 " (declare (in) vec4 y))\n"
5226 " (signature vec2\n"
5228 " (declare (in) vec2 x)\n"
5229 " (declare (in) float y))\n"
5231 " (signature vec3\n"
5233 " (declare (in) vec3 x)\n"
5234 " (declare (in) float y))\n"
5236 " (signature vec4\n"
5238 " (declare (in) vec4 x)\n"
5239 " (declare (in) float y))\n"
5242 " (signature float\n"
5244 " (declare (in) float x)\n"
5245 " (declare (in) float y))\n"
5247 " (signature vec2\n"
5249 " (declare (in) vec2 x)\n"
5250 " (declare (in) vec2 y))\n"
5252 " (signature vec3\n"
5254 " (declare (in) vec3 x)\n"
5255 " (declare (in) vec3 y))\n"
5257 " (signature vec4\n"
5259 " (declare (in) vec4 x)\n"
5260 " (declare (in) vec4 y))\n"
5262 " (signature vec2\n"
5264 " (declare (in) vec2 x)\n"
5265 " (declare (in) float y))\n"
5267 " (signature vec3\n"
5269 " (declare (in) vec3 x)\n"
5270 " (declare (in) float y))\n"
5272 " (signature vec4\n"
5274 " (declare (in) vec4 x)\n"
5275 " (declare (in) float y))\n"
5278 " (signature float\n"
5280 " (declare (in) float x)\n"
5281 " (declare (in) float minVal)\n"
5282 " (declare (in) float maxVal))\n"
5284 " (signature vec2\n"
5286 " (declare (in) vec2 x)\n"
5287 " (declare (in) vec2 minVal)\n"
5288 " (declare (in) vec2 maxVal))\n"
5290 " (signature vec3\n"
5292 " (declare (in) vec3 x)\n"
5293 " (declare (in) vec3 minVal)\n"
5294 " (declare (in) vec3 maxVal))\n"
5296 " (signature vec4\n"
5298 " (declare (in) vec4 x)\n"
5299 " (declare (in) vec4 minVal)\n"
5300 " (declare (in) vec4 maxVal))\n"
5302 " (signature vec2\n"
5304 " (declare (in) vec2 x)\n"
5305 " (declare (in) float minVal)\n"
5306 " (declare (in) float maxVal))\n"
5308 " (signature vec3\n"
5310 " (declare (in) vec3 x)\n"
5311 " (declare (in) float minVal)\n"
5312 " (declare (in) float maxVal))\n"
5314 " (signature vec4\n"
5316 " (declare (in) vec4 x)\n"
5317 " (declare (in) float minVal)\n"
5318 " (declare (in) float maxVal))\n"
5321 " (signature float\n"
5323 " (declare (in) float x)\n"
5324 " (declare (in) float y)\n"
5325 " (declare (in) float a))\n"
5327 " (signature vec2\n"
5329 " (declare (in) vec2 x)\n"
5330 " (declare (in) vec2 y)\n"
5331 " (declare (in) vec2 a))\n"
5333 " (signature vec3\n"
5335 " (declare (in) vec3 x)\n"
5336 " (declare (in) vec3 y)\n"
5337 " (declare (in) vec3 a))\n"
5339 " (signature vec4\n"
5341 " (declare (in) vec4 x)\n"
5342 " (declare (in) vec4 y)\n"
5343 " (declare (in) vec4 a))\n"
5345 " (signature vec2\n"
5347 " (declare (in) vec2 x)\n"
5348 " (declare (in) vec2 y)\n"
5349 " (declare (in) float a))\n"
5351 " (signature vec3\n"
5353 " (declare (in) vec3 x)\n"
5354 " (declare (in) vec3 y)\n"
5355 " (declare (in) float a))\n"
5357 " (signature vec4\n"
5359 " (declare (in) vec4 x)\n"
5360 " (declare (in) vec4 y)\n"
5361 " (declare (in) float a))\n"
5364 " (signature float\n"
5366 " (declare (in) float edge)\n"
5367 " (declare (in) float x))\n"
5369 " (signature vec2\n"
5371 " (declare (in) vec2 edge)\n"
5372 " (declare (in) vec2 x))\n"
5374 " (signature vec3\n"
5376 " (declare (in) vec3 edge)\n"
5377 " (declare (in) vec3 x))\n"
5379 " (signature vec4\n"
5381 " (declare (in) vec4 edge)\n"
5382 " (declare (in) vec4 x))\n"
5384 " (signature vec2\n"
5386 " (declare (in) float edge)\n"
5387 " (declare (in) vec2 x))\n"
5389 " (signature vec3\n"
5391 " (declare (in) float edge)\n"
5392 " (declare (in) vec3 x))\n"
5394 " (signature vec4\n"
5396 " (declare (in) float edge)\n"
5397 " (declare (in) vec4 x))\n"
5399 "(function smoothstep\n"
5400 " (signature float\n"
5402 " (declare (in) float edge0)\n"
5403 " (declare (in) float edge1)\n"
5404 " (declare (in) float x))\n"
5406 " (signature vec2\n"
5408 " (declare (in) vec2 edge0)\n"
5409 " (declare (in) vec2 edge1)\n"
5410 " (declare (in) vec2 x))\n"
5412 " (signature vec3\n"
5414 " (declare (in) vec3 edge0)\n"
5415 " (declare (in) vec3 edge1)\n"
5416 " (declare (in) vec3 x))\n"
5418 " (signature vec4\n"
5420 " (declare (in) vec4 edge0)\n"
5421 " (declare (in) vec4 edge1)\n"
5422 " (declare (in) vec4 x))\n"
5424 " (signature vec2\n"
5426 " (declare (in) float edge0)\n"
5427 " (declare (in) float edge1)\n"
5428 " (declare (in) vec2 x))\n"
5430 " (signature vec3\n"
5432 " (declare (in) float edge0)\n"
5433 " (declare (in) float edge1)\n"
5434 " (declare (in) vec3 x))\n"
5436 " (signature vec4\n"
5438 " (declare (in) float edge0)\n"
5439 " (declare (in) float edge1)\n"
5440 " (declare (in) vec4 x))\n"
5442 "(function length\n"
5443 " (signature float\n"
5445 " (declare (in) float x))\n"
5447 " (signature float\n"
5449 " (declare (in) vec2 x))\n"
5451 " (signature float\n"
5453 " (declare (in) vec3 x))\n"
5455 " (signature float\n"
5457 " (declare (in) vec4 x))\n"
5459 "(function distance\n"
5460 " (signature float\n"
5462 " (declare (in) float p0)\n"
5463 " (declare (in) float p1))\n"
5465 " (signature float\n"
5467 " (declare (in) vec2 p0)\n"
5468 " (declare (in) vec2 p1))\n"
5470 " (signature float\n"
5472 " (declare (in) vec3 p0)\n"
5473 " (declare (in) vec3 p1))\n"
5475 " (signature float\n"
5477 " (declare (in) vec4 p0)\n"
5478 " (declare (in) vec4 p1))\n"
5481 " (signature float\n"
5483 " (declare (in) float x)\n"
5484 " (declare (in) float y))\n"
5486 " (signature float\n"
5488 " (declare (in) vec2 x)\n"
5489 " (declare (in) vec2 y))\n"
5491 " (signature float\n"
5493 " (declare (in) vec3 x)\n"
5494 " (declare (in) vec3 y))\n"
5496 " (signature float\n"
5498 " (declare (in) vec4 x)\n"
5499 " (declare (in) vec4 y))\n"
5502 " (signature vec3\n"
5504 " (declare (in) vec3 x)\n"
5505 " (declare (in) vec3 y))\n"
5507 "(function normalize\n"
5508 " (signature float\n"
5510 " (declare (in) float x))\n"
5512 " (signature vec2\n"
5514 " (declare (in) vec2 x))\n"
5516 " (signature vec3\n"
5518 " (declare (in) vec3 x))\n"
5520 " (signature vec4\n"
5522 " (declare (in) vec4 x))\n"
5524 "(function faceforward\n"
5525 " (signature float\n"
5527 " (declare (in) float N)\n"
5528 " (declare (in) float I)\n"
5529 " (declare (in) float Nref))\n"
5531 " (signature vec2\n"
5533 " (declare (in) vec2 N)\n"
5534 " (declare (in) vec2 I)\n"
5535 " (declare (in) vec2 Nref))\n"
5537 " (signature vec3\n"
5539 " (declare (in) vec3 N)\n"
5540 " (declare (in) vec3 I)\n"
5541 " (declare (in) vec3 Nref))\n"
5543 " (signature vec4\n"
5545 " (declare (in) vec4 N)\n"
5546 " (declare (in) vec4 I)\n"
5547 " (declare (in) vec4 Nref))\n"
5549 "(function reflect\n"
5550 " (signature float\n"
5552 " (declare (in) float I)\n"
5553 " (declare (in) float N))\n"
5555 " (signature vec2\n"
5557 " (declare (in) vec2 I)\n"
5558 " (declare (in) vec2 N))\n"
5560 " (signature vec3\n"
5562 " (declare (in) vec3 I)\n"
5563 " (declare (in) vec3 N))\n"
5565 " (signature vec4\n"
5567 " (declare (in) vec4 I)\n"
5568 " (declare (in) vec4 N))\n"
5570 "(function refract\n"
5571 " (signature float\n"
5573 " (declare (in) float I)\n"
5574 " (declare (in) float N)\n"
5575 " (declare (in) float eta))\n"
5577 " (signature vec2\n"
5579 " (declare (in) vec2 I)\n"
5580 " (declare (in) vec2 N)\n"
5581 " (declare (in) float eta))\n"
5583 " (signature vec3\n"
5585 " (declare (in) vec3 I)\n"
5586 " (declare (in) vec3 N)\n"
5587 " (declare (in) float eta))\n"
5589 " (signature vec4\n"
5591 " (declare (in) vec4 I)\n"
5592 " (declare (in) vec4 N)\n"
5593 " (declare (in) float eta))\n"
5595 "(function matrixCompMult\n"
5596 " (signature mat2\n"
5598 " (declare (in) mat2 x)\n"
5599 " (declare (in) mat2 y))\n"
5601 " (signature mat3\n"
5603 " (declare (in) mat3 x)\n"
5604 " (declare (in) mat3 y))\n"
5606 " (signature mat4\n"
5608 " (declare (in) mat4 x)\n"
5609 " (declare (in) mat4 y))\n"
5611 "(function lessThan\n"
5612 " (signature bvec2\n"
5614 " (declare (in) vec2 x)\n"
5615 " (declare (in) vec2 y))\n"
5617 " (signature bvec3\n"
5619 " (declare (in) vec3 x)\n"
5620 " (declare (in) vec3 y))\n"
5622 " (signature bvec4\n"
5624 " (declare (in) vec4 x)\n"
5625 " (declare (in) vec4 y))\n"
5627 " (signature bvec2\n"
5629 " (declare (in) ivec2 x)\n"
5630 " (declare (in) ivec2 y))\n"
5632 " (signature bvec3\n"
5634 " (declare (in) ivec3 x)\n"
5635 " (declare (in) ivec3 y))\n"
5637 " (signature bvec4\n"
5639 " (declare (in) ivec4 x)\n"
5640 " (declare (in) ivec4 y))\n"
5642 "(function lessThanEqual\n"
5643 " (signature bvec2\n"
5645 " (declare (in) vec2 x)\n"
5646 " (declare (in) vec2 y))\n"
5648 " (signature bvec3\n"
5650 " (declare (in) vec3 x)\n"
5651 " (declare (in) vec3 y))\n"
5653 " (signature bvec4\n"
5655 " (declare (in) vec4 x)\n"
5656 " (declare (in) vec4 y))\n"
5658 " (signature bvec2\n"
5660 " (declare (in) ivec2 x)\n"
5661 " (declare (in) ivec2 y))\n"
5663 " (signature bvec3\n"
5665 " (declare (in) ivec3 x)\n"
5666 " (declare (in) ivec3 y))\n"
5668 " (signature bvec4\n"
5670 " (declare (in) ivec4 x)\n"
5671 " (declare (in) ivec4 y))\n"
5673 "(function greaterThan\n"
5674 " (signature bvec2\n"
5676 " (declare (in) vec2 x)\n"
5677 " (declare (in) vec2 y))\n"
5679 " (signature bvec3\n"
5681 " (declare (in) vec3 x)\n"
5682 " (declare (in) vec3 y))\n"
5684 " (signature bvec4\n"
5686 " (declare (in) vec4 x)\n"
5687 " (declare (in) vec4 y))\n"
5689 " (signature bvec2\n"
5691 " (declare (in) ivec2 x)\n"
5692 " (declare (in) ivec2 y))\n"
5694 " (signature bvec3\n"
5696 " (declare (in) ivec3 x)\n"
5697 " (declare (in) ivec3 y))\n"
5699 " (signature bvec4\n"
5701 " (declare (in) ivec4 x)\n"
5702 " (declare (in) ivec4 y))\n"
5704 "(function greaterThanEqual\n"
5705 " (signature bvec2\n"
5707 " (declare (in) vec2 x)\n"
5708 " (declare (in) vec2 y))\n"
5710 " (signature bvec3\n"
5712 " (declare (in) vec3 x)\n"
5713 " (declare (in) vec3 y))\n"
5715 " (signature bvec4\n"
5717 " (declare (in) vec4 x)\n"
5718 " (declare (in) vec4 y))\n"
5720 " (signature bvec2\n"
5722 " (declare (in) ivec2 x)\n"
5723 " (declare (in) ivec2 y))\n"
5725 " (signature bvec3\n"
5727 " (declare (in) ivec3 x)\n"
5728 " (declare (in) ivec3 y))\n"
5730 " (signature bvec4\n"
5732 " (declare (in) ivec4 x)\n"
5733 " (declare (in) ivec4 y))\n"
5736 " (signature bvec2\n"
5738 " (declare (in) vec2 x)\n"
5739 " (declare (in) vec2 y))\n"
5741 " (signature bvec3\n"
5743 " (declare (in) vec3 x)\n"
5744 " (declare (in) vec3 y))\n"
5746 " (signature bvec4\n"
5748 " (declare (in) vec4 x)\n"
5749 " (declare (in) vec4 y))\n"
5751 " (signature bvec2\n"
5753 " (declare (in) ivec2 x)\n"
5754 " (declare (in) ivec2 y))\n"
5756 " (signature bvec3\n"
5758 " (declare (in) ivec3 x)\n"
5759 " (declare (in) ivec3 y))\n"
5761 " (signature bvec4\n"
5763 " (declare (in) ivec4 x)\n"
5764 " (declare (in) ivec4 y))\n"
5766 " (signature bvec2\n"
5768 " (declare (in) bvec2 x)\n"
5769 " (declare (in) bvec2 y))\n"
5771 " (signature bvec3\n"
5773 " (declare (in) bvec3 x)\n"
5774 " (declare (in) bvec3 y))\n"
5776 " (signature bvec4\n"
5778 " (declare (in) bvec4 x)\n"
5779 " (declare (in) bvec4 y))\n"
5781 "(function notEqual\n"
5782 " (signature bvec2\n"
5784 " (declare (in) vec2 x)\n"
5785 " (declare (in) vec2 y))\n"
5787 " (signature bvec3\n"
5789 " (declare (in) vec3 x)\n"
5790 " (declare (in) vec3 y))\n"
5792 " (signature bvec4\n"
5794 " (declare (in) vec4 x)\n"
5795 " (declare (in) vec4 y))\n"
5797 " (signature bvec2\n"
5799 " (declare (in) ivec2 x)\n"
5800 " (declare (in) ivec2 y))\n"
5802 " (signature bvec3\n"
5804 " (declare (in) ivec3 x)\n"
5805 " (declare (in) ivec3 y))\n"
5807 " (signature bvec4\n"
5809 " (declare (in) ivec4 x)\n"
5810 " (declare (in) ivec4 y))\n"
5812 " (signature bvec2\n"
5814 " (declare (in) bvec2 x)\n"
5815 " (declare (in) bvec2 y))\n"
5817 " (signature bvec3\n"
5819 " (declare (in) bvec3 x)\n"
5820 " (declare (in) bvec3 y))\n"
5822 " (signature bvec4\n"
5824 " (declare (in) bvec4 x)\n"
5825 " (declare (in) bvec4 y))\n"
5828 " (signature bool\n"
5830 " (declare (in) bvec2 x))\n"
5832 " (signature bool\n"
5834 " (declare (in) bvec3 x))\n"
5836 " (signature bool\n"
5838 " (declare (in) bvec4 x))\n"
5841 " (signature bool\n"
5843 " (declare (in) bvec2 x))\n"
5845 " (signature bool\n"
5847 " (declare (in) bvec3 x))\n"
5849 " (signature bool\n"
5851 " (declare (in) bvec4 x))\n"
5854 " (signature bvec2\n"
5856 " (declare (in) bvec2 x))\n"
5858 " (signature bvec3\n"
5860 " (declare (in) bvec3 x))\n"
5862 " (signature bvec4\n"
5864 " (declare (in) bvec4 x))\n"
5866 "(function texture2D\n"
5867 " (signature vec4\n"
5869 " (declare (in) sampler2D sampler)\n"
5870 " (declare (in) vec2 coord))\n"
5872 " (signature vec4\n"
5874 " (declare (in) sampler2D sampler)\n"
5875 " (declare (in) vec2 coord)\n"
5876 " (declare (in) float bias))\n"
5878 "(function texture2DProj\n"
5879 " (signature vec4\n"
5881 " (declare (in) sampler2D sampler)\n"
5882 " (declare (in) vec3 coord))\n"
5884 " (signature vec4\n"
5886 " (declare (in) sampler2D sampler)\n"
5887 " (declare (in) vec4 coord))\n"
5889 " (signature vec4\n"
5891 " (declare (in) sampler2D sampler)\n"
5892 " (declare (in) vec3 coord)\n"
5893 " (declare (in) float bias))\n"
5895 " (signature vec4\n"
5897 " (declare (in) sampler2D sampler)\n"
5898 " (declare (in) vec4 coord)\n"
5899 " (declare (in) float bias))\n"
5901 "(function textureCube\n"
5902 " (signature vec4\n"
5904 " (declare (in) samplerCube sampler)\n"
5905 " (declare (in) vec3 coord))\n"
5907 " (signature vec4\n"
5909 " (declare (in) samplerCube sampler)\n"
5910 " (declare (in) vec3 coord)\n"
5911 " (declare (in) float bias))\n"
5914 static const char *functions_for_100_frag
[] = {
5931 builtin_faceforward
,
5934 builtin_greaterThan
,
5935 builtin_greaterThanEqual
,
5936 builtin_inversesqrt
,
5939 builtin_lessThanEqual
,
5942 builtin_matrixCompMult
,
5961 builtin_texture2DProj
,
5962 builtin_textureCube
,
5964 static const char prototypes_for_100_vert
[] =
5966 "(function radians\n"
5967 " (signature float\n"
5969 " (declare (in) float degrees))\n"
5971 " (signature vec2\n"
5973 " (declare (in) vec2 degrees))\n"
5975 " (signature vec3\n"
5977 " (declare (in) vec3 degrees))\n"
5979 " (signature vec4\n"
5981 " (declare (in) vec4 degrees))\n"
5983 "(function degrees\n"
5984 " (signature float\n"
5986 " (declare (in) float radians))\n"
5988 " (signature vec2\n"
5990 " (declare (in) vec2 radians))\n"
5992 " (signature vec3\n"
5994 " (declare (in) vec3 radians))\n"
5996 " (signature vec4\n"
5998 " (declare (in) vec4 radians))\n"
6001 " (signature float\n"
6003 " (declare (in) float angle))\n"
6005 " (signature vec2\n"
6007 " (declare (in) vec2 angle))\n"
6009 " (signature vec3\n"
6011 " (declare (in) vec3 angle))\n"
6013 " (signature vec4\n"
6015 " (declare (in) vec4 angle))\n"
6018 " (signature float\n"
6020 " (declare (in) float angle))\n"
6022 " (signature vec2\n"
6024 " (declare (in) vec2 angle))\n"
6026 " (signature vec3\n"
6028 " (declare (in) vec3 angle))\n"
6030 " (signature vec4\n"
6032 " (declare (in) vec4 angle))\n"
6035 " (signature float\n"
6037 " (declare (in) float angle))\n"
6039 " (signature vec2\n"
6041 " (declare (in) vec2 angle))\n"
6043 " (signature vec3\n"
6045 " (declare (in) vec3 angle))\n"
6047 " (signature vec4\n"
6049 " (declare (in) vec4 angle))\n"
6052 " (signature float\n"
6054 " (declare (in) float angle))\n"
6056 " (signature vec2\n"
6058 " (declare (in) vec2 angle))\n"
6060 " (signature vec3\n"
6062 " (declare (in) vec3 angle))\n"
6064 " (signature vec4\n"
6066 " (declare (in) vec4 angle))\n"
6069 " (signature float\n"
6071 " (declare (in) float angle))\n"
6073 " (signature vec2\n"
6075 " (declare (in) vec2 angle))\n"
6077 " (signature vec3\n"
6079 " (declare (in) vec3 angle))\n"
6081 " (signature vec4\n"
6083 " (declare (in) vec4 angle))\n"
6086 " (signature float\n"
6088 " (declare (in) float y)\n"
6089 " (declare (in) float x))\n"
6091 " (signature vec2\n"
6093 " (declare (in) vec2 y)\n"
6094 " (declare (in) vec2 x))\n"
6096 " (signature vec3\n"
6098 " (declare (in) vec3 y)\n"
6099 " (declare (in) vec3 x))\n"
6101 " (signature vec4\n"
6103 " (declare (in) vec4 y)\n"
6104 " (declare (in) vec4 x))\n"
6106 " (signature float\n"
6108 " (declare (in) float y_over_x))\n"
6110 " (signature vec2\n"
6112 " (declare (in) vec2 y_over_x))\n"
6114 " (signature vec3\n"
6116 " (declare (in) vec3 y_over_x))\n"
6118 " (signature vec4\n"
6120 " (declare (in) vec4 y_over_x))\n"
6123 " (signature float\n"
6125 " (declare (in) float x)\n"
6126 " (declare (in) float y))\n"
6128 " (signature vec2\n"
6130 " (declare (in) vec2 x)\n"
6131 " (declare (in) vec2 y))\n"
6133 " (signature vec3\n"
6135 " (declare (in) vec3 x)\n"
6136 " (declare (in) vec3 y))\n"
6138 " (signature vec4\n"
6140 " (declare (in) vec4 x)\n"
6141 " (declare (in) vec4 y))\n"
6144 " (signature float\n"
6146 " (declare (in) float x))\n"
6148 " (signature vec2\n"
6150 " (declare (in) vec2 x))\n"
6152 " (signature vec3\n"
6154 " (declare (in) vec3 x))\n"
6156 " (signature vec4\n"
6158 " (declare (in) vec4 x))\n"
6161 " (signature float\n"
6163 " (declare (in) float x))\n"
6165 " (signature vec2\n"
6167 " (declare (in) vec2 x))\n"
6169 " (signature vec3\n"
6171 " (declare (in) vec3 x))\n"
6173 " (signature vec4\n"
6175 " (declare (in) vec4 x))\n"
6178 " (signature float\n"
6180 " (declare (in) float x))\n"
6182 " (signature vec2\n"
6184 " (declare (in) vec2 x))\n"
6186 " (signature vec3\n"
6188 " (declare (in) vec3 x))\n"
6190 " (signature vec4\n"
6192 " (declare (in) vec4 x))\n"
6195 " (signature float\n"
6197 " (declare (in) float x))\n"
6199 " (signature vec2\n"
6201 " (declare (in) vec2 x))\n"
6203 " (signature vec3\n"
6205 " (declare (in) vec3 x))\n"
6207 " (signature vec4\n"
6209 " (declare (in) vec4 x))\n"
6212 " (signature float\n"
6214 " (declare (in) float x))\n"
6216 " (signature vec2\n"
6218 " (declare (in) vec2 x))\n"
6220 " (signature vec3\n"
6222 " (declare (in) vec3 x))\n"
6224 " (signature vec4\n"
6226 " (declare (in) vec4 x))\n"
6228 "(function inversesqrt\n"
6229 " (signature float\n"
6231 " (declare (in) float x))\n"
6233 " (signature vec2\n"
6235 " (declare (in) vec2 x))\n"
6237 " (signature vec3\n"
6239 " (declare (in) vec3 x))\n"
6241 " (signature vec4\n"
6243 " (declare (in) vec4 x))\n"
6246 " (signature float\n"
6248 " (declare (in) float x))\n"
6250 " (signature vec2\n"
6252 " (declare (in) vec2 x))\n"
6254 " (signature vec3\n"
6256 " (declare (in) vec3 x))\n"
6258 " (signature vec4\n"
6260 " (declare (in) vec4 x))\n"
6263 " (signature float\n"
6265 " (declare (in) float x))\n"
6267 " (signature vec2\n"
6269 " (declare (in) vec2 x))\n"
6271 " (signature vec3\n"
6273 " (declare (in) vec3 x))\n"
6275 " (signature vec4\n"
6277 " (declare (in) vec4 x))\n"
6280 " (signature float\n"
6282 " (declare (in) float x))\n"
6284 " (signature vec2\n"
6286 " (declare (in) vec2 x))\n"
6288 " (signature vec3\n"
6290 " (declare (in) vec3 x))\n"
6292 " (signature vec4\n"
6294 " (declare (in) vec4 x))\n"
6297 " (signature float\n"
6299 " (declare (in) float x))\n"
6301 " (signature vec2\n"
6303 " (declare (in) vec2 x))\n"
6305 " (signature vec3\n"
6307 " (declare (in) vec3 x))\n"
6309 " (signature vec4\n"
6311 " (declare (in) vec4 x))\n"
6314 " (signature float\n"
6316 " (declare (in) float x))\n"
6318 " (signature vec2\n"
6320 " (declare (in) vec2 x))\n"
6322 " (signature vec3\n"
6324 " (declare (in) vec3 x))\n"
6326 " (signature vec4\n"
6328 " (declare (in) vec4 x))\n"
6331 " (signature float\n"
6333 " (declare (in) float x)\n"
6334 " (declare (in) float y))\n"
6336 " (signature vec2\n"
6338 " (declare (in) vec2 x)\n"
6339 " (declare (in) float y))\n"
6341 " (signature vec3\n"
6343 " (declare (in) vec3 x)\n"
6344 " (declare (in) float y))\n"
6346 " (signature vec4\n"
6348 " (declare (in) vec4 x)\n"
6349 " (declare (in) float y))\n"
6351 " (signature vec2\n"
6353 " (declare (in) vec2 x)\n"
6354 " (declare (in) vec2 y))\n"
6356 " (signature vec3\n"
6358 " (declare (in) vec3 x)\n"
6359 " (declare (in) vec3 y))\n"
6361 " (signature vec4\n"
6363 " (declare (in) vec4 x)\n"
6364 " (declare (in) vec4 y))\n"
6367 " (signature float\n"
6369 " (declare (in) float x)\n"
6370 " (declare (in) float y))\n"
6372 " (signature vec2\n"
6374 " (declare (in) vec2 x)\n"
6375 " (declare (in) vec2 y))\n"
6377 " (signature vec3\n"
6379 " (declare (in) vec3 x)\n"
6380 " (declare (in) vec3 y))\n"
6382 " (signature vec4\n"
6384 " (declare (in) vec4 x)\n"
6385 " (declare (in) vec4 y))\n"
6387 " (signature vec2\n"
6389 " (declare (in) vec2 x)\n"
6390 " (declare (in) float y))\n"
6392 " (signature vec3\n"
6394 " (declare (in) vec3 x)\n"
6395 " (declare (in) float y))\n"
6397 " (signature vec4\n"
6399 " (declare (in) vec4 x)\n"
6400 " (declare (in) float y))\n"
6403 " (signature float\n"
6405 " (declare (in) float x)\n"
6406 " (declare (in) float y))\n"
6408 " (signature vec2\n"
6410 " (declare (in) vec2 x)\n"
6411 " (declare (in) vec2 y))\n"
6413 " (signature vec3\n"
6415 " (declare (in) vec3 x)\n"
6416 " (declare (in) vec3 y))\n"
6418 " (signature vec4\n"
6420 " (declare (in) vec4 x)\n"
6421 " (declare (in) vec4 y))\n"
6423 " (signature vec2\n"
6425 " (declare (in) vec2 x)\n"
6426 " (declare (in) float y))\n"
6428 " (signature vec3\n"
6430 " (declare (in) vec3 x)\n"
6431 " (declare (in) float y))\n"
6433 " (signature vec4\n"
6435 " (declare (in) vec4 x)\n"
6436 " (declare (in) float y))\n"
6439 " (signature float\n"
6441 " (declare (in) float x)\n"
6442 " (declare (in) float minVal)\n"
6443 " (declare (in) float maxVal))\n"
6445 " (signature vec2\n"
6447 " (declare (in) vec2 x)\n"
6448 " (declare (in) vec2 minVal)\n"
6449 " (declare (in) vec2 maxVal))\n"
6451 " (signature vec3\n"
6453 " (declare (in) vec3 x)\n"
6454 " (declare (in) vec3 minVal)\n"
6455 " (declare (in) vec3 maxVal))\n"
6457 " (signature vec4\n"
6459 " (declare (in) vec4 x)\n"
6460 " (declare (in) vec4 minVal)\n"
6461 " (declare (in) vec4 maxVal))\n"
6463 " (signature vec2\n"
6465 " (declare (in) vec2 x)\n"
6466 " (declare (in) float minVal)\n"
6467 " (declare (in) float maxVal))\n"
6469 " (signature vec3\n"
6471 " (declare (in) vec3 x)\n"
6472 " (declare (in) float minVal)\n"
6473 " (declare (in) float maxVal))\n"
6475 " (signature vec4\n"
6477 " (declare (in) vec4 x)\n"
6478 " (declare (in) float minVal)\n"
6479 " (declare (in) float maxVal))\n"
6482 " (signature float\n"
6484 " (declare (in) float x)\n"
6485 " (declare (in) float y)\n"
6486 " (declare (in) float a))\n"
6488 " (signature vec2\n"
6490 " (declare (in) vec2 x)\n"
6491 " (declare (in) vec2 y)\n"
6492 " (declare (in) vec2 a))\n"
6494 " (signature vec3\n"
6496 " (declare (in) vec3 x)\n"
6497 " (declare (in) vec3 y)\n"
6498 " (declare (in) vec3 a))\n"
6500 " (signature vec4\n"
6502 " (declare (in) vec4 x)\n"
6503 " (declare (in) vec4 y)\n"
6504 " (declare (in) vec4 a))\n"
6506 " (signature vec2\n"
6508 " (declare (in) vec2 x)\n"
6509 " (declare (in) vec2 y)\n"
6510 " (declare (in) float a))\n"
6512 " (signature vec3\n"
6514 " (declare (in) vec3 x)\n"
6515 " (declare (in) vec3 y)\n"
6516 " (declare (in) float a))\n"
6518 " (signature vec4\n"
6520 " (declare (in) vec4 x)\n"
6521 " (declare (in) vec4 y)\n"
6522 " (declare (in) float a))\n"
6525 " (signature float\n"
6527 " (declare (in) float edge)\n"
6528 " (declare (in) float x))\n"
6530 " (signature vec2\n"
6532 " (declare (in) vec2 edge)\n"
6533 " (declare (in) vec2 x))\n"
6535 " (signature vec3\n"
6537 " (declare (in) vec3 edge)\n"
6538 " (declare (in) vec3 x))\n"
6540 " (signature vec4\n"
6542 " (declare (in) vec4 edge)\n"
6543 " (declare (in) vec4 x))\n"
6545 " (signature vec2\n"
6547 " (declare (in) float edge)\n"
6548 " (declare (in) vec2 x))\n"
6550 " (signature vec3\n"
6552 " (declare (in) float edge)\n"
6553 " (declare (in) vec3 x))\n"
6555 " (signature vec4\n"
6557 " (declare (in) float edge)\n"
6558 " (declare (in) vec4 x))\n"
6560 "(function smoothstep\n"
6561 " (signature float\n"
6563 " (declare (in) float edge0)\n"
6564 " (declare (in) float edge1)\n"
6565 " (declare (in) float x))\n"
6567 " (signature vec2\n"
6569 " (declare (in) vec2 edge0)\n"
6570 " (declare (in) vec2 edge1)\n"
6571 " (declare (in) vec2 x))\n"
6573 " (signature vec3\n"
6575 " (declare (in) vec3 edge0)\n"
6576 " (declare (in) vec3 edge1)\n"
6577 " (declare (in) vec3 x))\n"
6579 " (signature vec4\n"
6581 " (declare (in) vec4 edge0)\n"
6582 " (declare (in) vec4 edge1)\n"
6583 " (declare (in) vec4 x))\n"
6585 " (signature vec2\n"
6587 " (declare (in) float edge0)\n"
6588 " (declare (in) float edge1)\n"
6589 " (declare (in) vec2 x))\n"
6591 " (signature vec3\n"
6593 " (declare (in) float edge0)\n"
6594 " (declare (in) float edge1)\n"
6595 " (declare (in) vec3 x))\n"
6597 " (signature vec4\n"
6599 " (declare (in) float edge0)\n"
6600 " (declare (in) float edge1)\n"
6601 " (declare (in) vec4 x))\n"
6603 "(function length\n"
6604 " (signature float\n"
6606 " (declare (in) float x))\n"
6608 " (signature float\n"
6610 " (declare (in) vec2 x))\n"
6612 " (signature float\n"
6614 " (declare (in) vec3 x))\n"
6616 " (signature float\n"
6618 " (declare (in) vec4 x))\n"
6620 "(function distance\n"
6621 " (signature float\n"
6623 " (declare (in) float p0)\n"
6624 " (declare (in) float p1))\n"
6626 " (signature float\n"
6628 " (declare (in) vec2 p0)\n"
6629 " (declare (in) vec2 p1))\n"
6631 " (signature float\n"
6633 " (declare (in) vec3 p0)\n"
6634 " (declare (in) vec3 p1))\n"
6636 " (signature float\n"
6638 " (declare (in) vec4 p0)\n"
6639 " (declare (in) vec4 p1))\n"
6642 " (signature float\n"
6644 " (declare (in) float x)\n"
6645 " (declare (in) float y))\n"
6647 " (signature float\n"
6649 " (declare (in) vec2 x)\n"
6650 " (declare (in) vec2 y))\n"
6652 " (signature float\n"
6654 " (declare (in) vec3 x)\n"
6655 " (declare (in) vec3 y))\n"
6657 " (signature float\n"
6659 " (declare (in) vec4 x)\n"
6660 " (declare (in) vec4 y))\n"
6663 " (signature vec3\n"
6665 " (declare (in) vec3 x)\n"
6666 " (declare (in) vec3 y))\n"
6668 "(function normalize\n"
6669 " (signature float\n"
6671 " (declare (in) float x))\n"
6673 " (signature vec2\n"
6675 " (declare (in) vec2 x))\n"
6677 " (signature vec3\n"
6679 " (declare (in) vec3 x))\n"
6681 " (signature vec4\n"
6683 " (declare (in) vec4 x))\n"
6685 "(function faceforward\n"
6686 " (signature float\n"
6688 " (declare (in) float N)\n"
6689 " (declare (in) float I)\n"
6690 " (declare (in) float Nref))\n"
6692 " (signature vec2\n"
6694 " (declare (in) vec2 N)\n"
6695 " (declare (in) vec2 I)\n"
6696 " (declare (in) vec2 Nref))\n"
6698 " (signature vec3\n"
6700 " (declare (in) vec3 N)\n"
6701 " (declare (in) vec3 I)\n"
6702 " (declare (in) vec3 Nref))\n"
6704 " (signature vec4\n"
6706 " (declare (in) vec4 N)\n"
6707 " (declare (in) vec4 I)\n"
6708 " (declare (in) vec4 Nref))\n"
6710 "(function reflect\n"
6711 " (signature float\n"
6713 " (declare (in) float I)\n"
6714 " (declare (in) float N))\n"
6716 " (signature vec2\n"
6718 " (declare (in) vec2 I)\n"
6719 " (declare (in) vec2 N))\n"
6721 " (signature vec3\n"
6723 " (declare (in) vec3 I)\n"
6724 " (declare (in) vec3 N))\n"
6726 " (signature vec4\n"
6728 " (declare (in) vec4 I)\n"
6729 " (declare (in) vec4 N))\n"
6731 "(function refract\n"
6732 " (signature float\n"
6734 " (declare (in) float I)\n"
6735 " (declare (in) float N)\n"
6736 " (declare (in) float eta))\n"
6738 " (signature vec2\n"
6740 " (declare (in) vec2 I)\n"
6741 " (declare (in) vec2 N)\n"
6742 " (declare (in) float eta))\n"
6744 " (signature vec3\n"
6746 " (declare (in) vec3 I)\n"
6747 " (declare (in) vec3 N)\n"
6748 " (declare (in) float eta))\n"
6750 " (signature vec4\n"
6752 " (declare (in) vec4 I)\n"
6753 " (declare (in) vec4 N)\n"
6754 " (declare (in) float eta))\n"
6756 "(function matrixCompMult\n"
6757 " (signature mat2\n"
6759 " (declare (in) mat2 x)\n"
6760 " (declare (in) mat2 y))\n"
6762 " (signature mat3\n"
6764 " (declare (in) mat3 x)\n"
6765 " (declare (in) mat3 y))\n"
6767 " (signature mat4\n"
6769 " (declare (in) mat4 x)\n"
6770 " (declare (in) mat4 y))\n"
6772 "(function lessThan\n"
6773 " (signature bvec2\n"
6775 " (declare (in) vec2 x)\n"
6776 " (declare (in) vec2 y))\n"
6778 " (signature bvec3\n"
6780 " (declare (in) vec3 x)\n"
6781 " (declare (in) vec3 y))\n"
6783 " (signature bvec4\n"
6785 " (declare (in) vec4 x)\n"
6786 " (declare (in) vec4 y))\n"
6788 " (signature bvec2\n"
6790 " (declare (in) ivec2 x)\n"
6791 " (declare (in) ivec2 y))\n"
6793 " (signature bvec3\n"
6795 " (declare (in) ivec3 x)\n"
6796 " (declare (in) ivec3 y))\n"
6798 " (signature bvec4\n"
6800 " (declare (in) ivec4 x)\n"
6801 " (declare (in) ivec4 y))\n"
6803 "(function lessThanEqual\n"
6804 " (signature bvec2\n"
6806 " (declare (in) vec2 x)\n"
6807 " (declare (in) vec2 y))\n"
6809 " (signature bvec3\n"
6811 " (declare (in) vec3 x)\n"
6812 " (declare (in) vec3 y))\n"
6814 " (signature bvec4\n"
6816 " (declare (in) vec4 x)\n"
6817 " (declare (in) vec4 y))\n"
6819 " (signature bvec2\n"
6821 " (declare (in) ivec2 x)\n"
6822 " (declare (in) ivec2 y))\n"
6824 " (signature bvec3\n"
6826 " (declare (in) ivec3 x)\n"
6827 " (declare (in) ivec3 y))\n"
6829 " (signature bvec4\n"
6831 " (declare (in) ivec4 x)\n"
6832 " (declare (in) ivec4 y))\n"
6834 "(function greaterThan\n"
6835 " (signature bvec2\n"
6837 " (declare (in) vec2 x)\n"
6838 " (declare (in) vec2 y))\n"
6840 " (signature bvec3\n"
6842 " (declare (in) vec3 x)\n"
6843 " (declare (in) vec3 y))\n"
6845 " (signature bvec4\n"
6847 " (declare (in) vec4 x)\n"
6848 " (declare (in) vec4 y))\n"
6850 " (signature bvec2\n"
6852 " (declare (in) ivec2 x)\n"
6853 " (declare (in) ivec2 y))\n"
6855 " (signature bvec3\n"
6857 " (declare (in) ivec3 x)\n"
6858 " (declare (in) ivec3 y))\n"
6860 " (signature bvec4\n"
6862 " (declare (in) ivec4 x)\n"
6863 " (declare (in) ivec4 y))\n"
6865 "(function greaterThanEqual\n"
6866 " (signature bvec2\n"
6868 " (declare (in) vec2 x)\n"
6869 " (declare (in) vec2 y))\n"
6871 " (signature bvec3\n"
6873 " (declare (in) vec3 x)\n"
6874 " (declare (in) vec3 y))\n"
6876 " (signature bvec4\n"
6878 " (declare (in) vec4 x)\n"
6879 " (declare (in) vec4 y))\n"
6881 " (signature bvec2\n"
6883 " (declare (in) ivec2 x)\n"
6884 " (declare (in) ivec2 y))\n"
6886 " (signature bvec3\n"
6888 " (declare (in) ivec3 x)\n"
6889 " (declare (in) ivec3 y))\n"
6891 " (signature bvec4\n"
6893 " (declare (in) ivec4 x)\n"
6894 " (declare (in) ivec4 y))\n"
6897 " (signature bvec2\n"
6899 " (declare (in) vec2 x)\n"
6900 " (declare (in) vec2 y))\n"
6902 " (signature bvec3\n"
6904 " (declare (in) vec3 x)\n"
6905 " (declare (in) vec3 y))\n"
6907 " (signature bvec4\n"
6909 " (declare (in) vec4 x)\n"
6910 " (declare (in) vec4 y))\n"
6912 " (signature bvec2\n"
6914 " (declare (in) ivec2 x)\n"
6915 " (declare (in) ivec2 y))\n"
6917 " (signature bvec3\n"
6919 " (declare (in) ivec3 x)\n"
6920 " (declare (in) ivec3 y))\n"
6922 " (signature bvec4\n"
6924 " (declare (in) ivec4 x)\n"
6925 " (declare (in) ivec4 y))\n"
6927 " (signature bvec2\n"
6929 " (declare (in) bvec2 x)\n"
6930 " (declare (in) bvec2 y))\n"
6932 " (signature bvec3\n"
6934 " (declare (in) bvec3 x)\n"
6935 " (declare (in) bvec3 y))\n"
6937 " (signature bvec4\n"
6939 " (declare (in) bvec4 x)\n"
6940 " (declare (in) bvec4 y))\n"
6942 "(function notEqual\n"
6943 " (signature bvec2\n"
6945 " (declare (in) vec2 x)\n"
6946 " (declare (in) vec2 y))\n"
6948 " (signature bvec3\n"
6950 " (declare (in) vec3 x)\n"
6951 " (declare (in) vec3 y))\n"
6953 " (signature bvec4\n"
6955 " (declare (in) vec4 x)\n"
6956 " (declare (in) vec4 y))\n"
6958 " (signature bvec2\n"
6960 " (declare (in) ivec2 x)\n"
6961 " (declare (in) ivec2 y))\n"
6963 " (signature bvec3\n"
6965 " (declare (in) ivec3 x)\n"
6966 " (declare (in) ivec3 y))\n"
6968 " (signature bvec4\n"
6970 " (declare (in) ivec4 x)\n"
6971 " (declare (in) ivec4 y))\n"
6973 " (signature bvec2\n"
6975 " (declare (in) bvec2 x)\n"
6976 " (declare (in) bvec2 y))\n"
6978 " (signature bvec3\n"
6980 " (declare (in) bvec3 x)\n"
6981 " (declare (in) bvec3 y))\n"
6983 " (signature bvec4\n"
6985 " (declare (in) bvec4 x)\n"
6986 " (declare (in) bvec4 y))\n"
6989 " (signature bool\n"
6991 " (declare (in) bvec2 x))\n"
6993 " (signature bool\n"
6995 " (declare (in) bvec3 x))\n"
6997 " (signature bool\n"
6999 " (declare (in) bvec4 x))\n"
7002 " (signature bool\n"
7004 " (declare (in) bvec2 x))\n"
7006 " (signature bool\n"
7008 " (declare (in) bvec3 x))\n"
7010 " (signature bool\n"
7012 " (declare (in) bvec4 x))\n"
7015 " (signature bvec2\n"
7017 " (declare (in) bvec2 x))\n"
7019 " (signature bvec3\n"
7021 " (declare (in) bvec3 x))\n"
7023 " (signature bvec4\n"
7025 " (declare (in) bvec4 x))\n"
7027 "(function texture2D\n"
7028 " (signature vec4\n"
7030 " (declare (in) sampler2D sampler)\n"
7031 " (declare (in) vec2 coord))\n"
7033 "(function texture2DProj\n"
7034 " (signature vec4\n"
7036 " (declare (in) sampler2D sampler)\n"
7037 " (declare (in) vec3 coord))\n"
7039 " (signature vec4\n"
7041 " (declare (in) sampler2D sampler)\n"
7042 " (declare (in) vec4 coord))\n"
7044 "(function texture2DLod\n"
7045 " (signature vec4\n"
7047 " (declare (in) sampler2D sampler)\n"
7048 " (declare (in) vec2 coord)\n"
7049 " (declare (in) float lod))\n"
7051 "(function texture2DProjLod\n"
7052 " (signature vec4\n"
7054 " (declare (in) sampler2D sampler)\n"
7055 " (declare (in) vec3 coord)\n"
7056 " (declare (in) float lod))\n"
7058 " (signature vec4\n"
7060 " (declare (in) sampler2D sampler)\n"
7061 " (declare (in) vec4 coord)\n"
7062 " (declare (in) float lod))\n"
7064 "(function textureCube\n"
7065 " (signature vec4\n"
7067 " (declare (in) samplerCube sampler)\n"
7068 " (declare (in) vec3 coord))\n"
7070 "(function textureCubeLod\n"
7071 " (signature vec4\n"
7073 " (declare (in) samplerCube sampler)\n"
7074 " (declare (in) vec3 coord)\n"
7075 " (declare (in) float lod))\n"
7078 static const char *functions_for_100_vert
[] = {
7095 builtin_faceforward
,
7098 builtin_greaterThan
,
7099 builtin_greaterThanEqual
,
7100 builtin_inversesqrt
,
7103 builtin_lessThanEqual
,
7106 builtin_matrixCompMult
,
7125 builtin_texture2DLod
,
7126 builtin_texture2DProj
,
7127 builtin_texture2DProjLod
,
7128 builtin_textureCube
,
7129 builtin_textureCubeLod
,
7131 static const char prototypes_for_110_frag
[] =
7133 "(function radians\n"
7134 " (signature float\n"
7136 " (declare (in) float degrees))\n"
7138 " (signature vec2\n"
7140 " (declare (in) vec2 degrees))\n"
7142 " (signature vec3\n"
7144 " (declare (in) vec3 degrees))\n"
7146 " (signature vec4\n"
7148 " (declare (in) vec4 degrees))\n"
7150 "(function degrees\n"
7151 " (signature float\n"
7153 " (declare (in) float radians))\n"
7155 " (signature vec2\n"
7157 " (declare (in) vec2 radians))\n"
7159 " (signature vec3\n"
7161 " (declare (in) vec3 radians))\n"
7163 " (signature vec4\n"
7165 " (declare (in) vec4 radians))\n"
7168 " (signature float\n"
7170 " (declare (in) float angle))\n"
7172 " (signature vec2\n"
7174 " (declare (in) vec2 angle))\n"
7176 " (signature vec3\n"
7178 " (declare (in) vec3 angle))\n"
7180 " (signature vec4\n"
7182 " (declare (in) vec4 angle))\n"
7185 " (signature float\n"
7187 " (declare (in) float angle))\n"
7189 " (signature vec2\n"
7191 " (declare (in) vec2 angle))\n"
7193 " (signature vec3\n"
7195 " (declare (in) vec3 angle))\n"
7197 " (signature vec4\n"
7199 " (declare (in) vec4 angle))\n"
7202 " (signature float\n"
7204 " (declare (in) float angle))\n"
7206 " (signature vec2\n"
7208 " (declare (in) vec2 angle))\n"
7210 " (signature vec3\n"
7212 " (declare (in) vec3 angle))\n"
7214 " (signature vec4\n"
7216 " (declare (in) vec4 angle))\n"
7219 " (signature float\n"
7221 " (declare (in) float angle))\n"
7223 " (signature vec2\n"
7225 " (declare (in) vec2 angle))\n"
7227 " (signature vec3\n"
7229 " (declare (in) vec3 angle))\n"
7231 " (signature vec4\n"
7233 " (declare (in) vec4 angle))\n"
7236 " (signature float\n"
7238 " (declare (in) float angle))\n"
7240 " (signature vec2\n"
7242 " (declare (in) vec2 angle))\n"
7244 " (signature vec3\n"
7246 " (declare (in) vec3 angle))\n"
7248 " (signature vec4\n"
7250 " (declare (in) vec4 angle))\n"
7253 " (signature float\n"
7255 " (declare (in) float y)\n"
7256 " (declare (in) float x))\n"
7258 " (signature vec2\n"
7260 " (declare (in) vec2 y)\n"
7261 " (declare (in) vec2 x))\n"
7263 " (signature vec3\n"
7265 " (declare (in) vec3 y)\n"
7266 " (declare (in) vec3 x))\n"
7268 " (signature vec4\n"
7270 " (declare (in) vec4 y)\n"
7271 " (declare (in) vec4 x))\n"
7273 " (signature float\n"
7275 " (declare (in) float y_over_x))\n"
7277 " (signature vec2\n"
7279 " (declare (in) vec2 y_over_x))\n"
7281 " (signature vec3\n"
7283 " (declare (in) vec3 y_over_x))\n"
7285 " (signature vec4\n"
7287 " (declare (in) vec4 y_over_x))\n"
7290 " (signature float\n"
7292 " (declare (in) float x)\n"
7293 " (declare (in) float y))\n"
7295 " (signature vec2\n"
7297 " (declare (in) vec2 x)\n"
7298 " (declare (in) vec2 y))\n"
7300 " (signature vec3\n"
7302 " (declare (in) vec3 x)\n"
7303 " (declare (in) vec3 y))\n"
7305 " (signature vec4\n"
7307 " (declare (in) vec4 x)\n"
7308 " (declare (in) vec4 y))\n"
7311 " (signature float\n"
7313 " (declare (in) float x))\n"
7315 " (signature vec2\n"
7317 " (declare (in) vec2 x))\n"
7319 " (signature vec3\n"
7321 " (declare (in) vec3 x))\n"
7323 " (signature vec4\n"
7325 " (declare (in) vec4 x))\n"
7328 " (signature float\n"
7330 " (declare (in) float x))\n"
7332 " (signature vec2\n"
7334 " (declare (in) vec2 x))\n"
7336 " (signature vec3\n"
7338 " (declare (in) vec3 x))\n"
7340 " (signature vec4\n"
7342 " (declare (in) vec4 x))\n"
7345 " (signature float\n"
7347 " (declare (in) float x))\n"
7349 " (signature vec2\n"
7351 " (declare (in) vec2 x))\n"
7353 " (signature vec3\n"
7355 " (declare (in) vec3 x))\n"
7357 " (signature vec4\n"
7359 " (declare (in) vec4 x))\n"
7362 " (signature float\n"
7364 " (declare (in) float x))\n"
7366 " (signature vec2\n"
7368 " (declare (in) vec2 x))\n"
7370 " (signature vec3\n"
7372 " (declare (in) vec3 x))\n"
7374 " (signature vec4\n"
7376 " (declare (in) vec4 x))\n"
7379 " (signature float\n"
7381 " (declare (in) float x))\n"
7383 " (signature vec2\n"
7385 " (declare (in) vec2 x))\n"
7387 " (signature vec3\n"
7389 " (declare (in) vec3 x))\n"
7391 " (signature vec4\n"
7393 " (declare (in) vec4 x))\n"
7395 "(function inversesqrt\n"
7396 " (signature float\n"
7398 " (declare (in) float x))\n"
7400 " (signature vec2\n"
7402 " (declare (in) vec2 x))\n"
7404 " (signature vec3\n"
7406 " (declare (in) vec3 x))\n"
7408 " (signature vec4\n"
7410 " (declare (in) vec4 x))\n"
7413 " (signature float\n"
7415 " (declare (in) float x))\n"
7417 " (signature vec2\n"
7419 " (declare (in) vec2 x))\n"
7421 " (signature vec3\n"
7423 " (declare (in) vec3 x))\n"
7425 " (signature vec4\n"
7427 " (declare (in) vec4 x))\n"
7430 " (signature float\n"
7432 " (declare (in) float x))\n"
7434 " (signature vec2\n"
7436 " (declare (in) vec2 x))\n"
7438 " (signature vec3\n"
7440 " (declare (in) vec3 x))\n"
7442 " (signature vec4\n"
7444 " (declare (in) vec4 x))\n"
7447 " (signature float\n"
7449 " (declare (in) float x))\n"
7451 " (signature vec2\n"
7453 " (declare (in) vec2 x))\n"
7455 " (signature vec3\n"
7457 " (declare (in) vec3 x))\n"
7459 " (signature vec4\n"
7461 " (declare (in) vec4 x))\n"
7464 " (signature float\n"
7466 " (declare (in) float x))\n"
7468 " (signature vec2\n"
7470 " (declare (in) vec2 x))\n"
7472 " (signature vec3\n"
7474 " (declare (in) vec3 x))\n"
7476 " (signature vec4\n"
7478 " (declare (in) vec4 x))\n"
7481 " (signature float\n"
7483 " (declare (in) float x))\n"
7485 " (signature vec2\n"
7487 " (declare (in) vec2 x))\n"
7489 " (signature vec3\n"
7491 " (declare (in) vec3 x))\n"
7493 " (signature vec4\n"
7495 " (declare (in) vec4 x))\n"
7498 " (signature float\n"
7500 " (declare (in) float x)\n"
7501 " (declare (in) float y))\n"
7503 " (signature vec2\n"
7505 " (declare (in) vec2 x)\n"
7506 " (declare (in) float y))\n"
7508 " (signature vec3\n"
7510 " (declare (in) vec3 x)\n"
7511 " (declare (in) float y))\n"
7513 " (signature vec4\n"
7515 " (declare (in) vec4 x)\n"
7516 " (declare (in) float y))\n"
7518 " (signature vec2\n"
7520 " (declare (in) vec2 x)\n"
7521 " (declare (in) vec2 y))\n"
7523 " (signature vec3\n"
7525 " (declare (in) vec3 x)\n"
7526 " (declare (in) vec3 y))\n"
7528 " (signature vec4\n"
7530 " (declare (in) vec4 x)\n"
7531 " (declare (in) vec4 y))\n"
7534 " (signature float\n"
7536 " (declare (in) float x)\n"
7537 " (declare (in) float y))\n"
7539 " (signature vec2\n"
7541 " (declare (in) vec2 x)\n"
7542 " (declare (in) vec2 y))\n"
7544 " (signature vec3\n"
7546 " (declare (in) vec3 x)\n"
7547 " (declare (in) vec3 y))\n"
7549 " (signature vec4\n"
7551 " (declare (in) vec4 x)\n"
7552 " (declare (in) vec4 y))\n"
7554 " (signature vec2\n"
7556 " (declare (in) vec2 x)\n"
7557 " (declare (in) float y))\n"
7559 " (signature vec3\n"
7561 " (declare (in) vec3 x)\n"
7562 " (declare (in) float y))\n"
7564 " (signature vec4\n"
7566 " (declare (in) vec4 x)\n"
7567 " (declare (in) float y))\n"
7570 " (signature float\n"
7572 " (declare (in) float x)\n"
7573 " (declare (in) float y))\n"
7575 " (signature vec2\n"
7577 " (declare (in) vec2 x)\n"
7578 " (declare (in) vec2 y))\n"
7580 " (signature vec3\n"
7582 " (declare (in) vec3 x)\n"
7583 " (declare (in) vec3 y))\n"
7585 " (signature vec4\n"
7587 " (declare (in) vec4 x)\n"
7588 " (declare (in) vec4 y))\n"
7590 " (signature vec2\n"
7592 " (declare (in) vec2 x)\n"
7593 " (declare (in) float y))\n"
7595 " (signature vec3\n"
7597 " (declare (in) vec3 x)\n"
7598 " (declare (in) float y))\n"
7600 " (signature vec4\n"
7602 " (declare (in) vec4 x)\n"
7603 " (declare (in) float y))\n"
7606 " (signature float\n"
7608 " (declare (in) float x)\n"
7609 " (declare (in) float minVal)\n"
7610 " (declare (in) float maxVal))\n"
7612 " (signature vec2\n"
7614 " (declare (in) vec2 x)\n"
7615 " (declare (in) vec2 minVal)\n"
7616 " (declare (in) vec2 maxVal))\n"
7618 " (signature vec3\n"
7620 " (declare (in) vec3 x)\n"
7621 " (declare (in) vec3 minVal)\n"
7622 " (declare (in) vec3 maxVal))\n"
7624 " (signature vec4\n"
7626 " (declare (in) vec4 x)\n"
7627 " (declare (in) vec4 minVal)\n"
7628 " (declare (in) vec4 maxVal))\n"
7630 " (signature vec2\n"
7632 " (declare (in) vec2 x)\n"
7633 " (declare (in) float minVal)\n"
7634 " (declare (in) float maxVal))\n"
7636 " (signature vec3\n"
7638 " (declare (in) vec3 x)\n"
7639 " (declare (in) float minVal)\n"
7640 " (declare (in) float maxVal))\n"
7642 " (signature vec4\n"
7644 " (declare (in) vec4 x)\n"
7645 " (declare (in) float minVal)\n"
7646 " (declare (in) float maxVal))\n"
7649 " (signature float\n"
7651 " (declare (in) float x)\n"
7652 " (declare (in) float y)\n"
7653 " (declare (in) float a))\n"
7655 " (signature vec2\n"
7657 " (declare (in) vec2 x)\n"
7658 " (declare (in) vec2 y)\n"
7659 " (declare (in) vec2 a))\n"
7661 " (signature vec3\n"
7663 " (declare (in) vec3 x)\n"
7664 " (declare (in) vec3 y)\n"
7665 " (declare (in) vec3 a))\n"
7667 " (signature vec4\n"
7669 " (declare (in) vec4 x)\n"
7670 " (declare (in) vec4 y)\n"
7671 " (declare (in) vec4 a))\n"
7673 " (signature vec2\n"
7675 " (declare (in) vec2 x)\n"
7676 " (declare (in) vec2 y)\n"
7677 " (declare (in) float a))\n"
7679 " (signature vec3\n"
7681 " (declare (in) vec3 x)\n"
7682 " (declare (in) vec3 y)\n"
7683 " (declare (in) float a))\n"
7685 " (signature vec4\n"
7687 " (declare (in) vec4 x)\n"
7688 " (declare (in) vec4 y)\n"
7689 " (declare (in) float a))\n"
7692 " (signature float\n"
7694 " (declare (in) float edge)\n"
7695 " (declare (in) float x))\n"
7697 " (signature vec2\n"
7699 " (declare (in) vec2 edge)\n"
7700 " (declare (in) vec2 x))\n"
7702 " (signature vec3\n"
7704 " (declare (in) vec3 edge)\n"
7705 " (declare (in) vec3 x))\n"
7707 " (signature vec4\n"
7709 " (declare (in) vec4 edge)\n"
7710 " (declare (in) vec4 x))\n"
7712 " (signature vec2\n"
7714 " (declare (in) float edge)\n"
7715 " (declare (in) vec2 x))\n"
7717 " (signature vec3\n"
7719 " (declare (in) float edge)\n"
7720 " (declare (in) vec3 x))\n"
7722 " (signature vec4\n"
7724 " (declare (in) float edge)\n"
7725 " (declare (in) vec4 x))\n"
7727 "(function smoothstep\n"
7728 " (signature float\n"
7730 " (declare (in) float edge0)\n"
7731 " (declare (in) float edge1)\n"
7732 " (declare (in) float x))\n"
7734 " (signature vec2\n"
7736 " (declare (in) vec2 edge0)\n"
7737 " (declare (in) vec2 edge1)\n"
7738 " (declare (in) vec2 x))\n"
7740 " (signature vec3\n"
7742 " (declare (in) vec3 edge0)\n"
7743 " (declare (in) vec3 edge1)\n"
7744 " (declare (in) vec3 x))\n"
7746 " (signature vec4\n"
7748 " (declare (in) vec4 edge0)\n"
7749 " (declare (in) vec4 edge1)\n"
7750 " (declare (in) vec4 x))\n"
7752 " (signature vec2\n"
7754 " (declare (in) float edge0)\n"
7755 " (declare (in) float edge1)\n"
7756 " (declare (in) vec2 x))\n"
7758 " (signature vec3\n"
7760 " (declare (in) float edge0)\n"
7761 " (declare (in) float edge1)\n"
7762 " (declare (in) vec3 x))\n"
7764 " (signature vec4\n"
7766 " (declare (in) float edge0)\n"
7767 " (declare (in) float edge1)\n"
7768 " (declare (in) vec4 x))\n"
7770 "(function length\n"
7771 " (signature float\n"
7773 " (declare (in) float x))\n"
7775 " (signature float\n"
7777 " (declare (in) vec2 x))\n"
7779 " (signature float\n"
7781 " (declare (in) vec3 x))\n"
7783 " (signature float\n"
7785 " (declare (in) vec4 x))\n"
7787 "(function distance\n"
7788 " (signature float\n"
7790 " (declare (in) float p0)\n"
7791 " (declare (in) float p1))\n"
7793 " (signature float\n"
7795 " (declare (in) vec2 p0)\n"
7796 " (declare (in) vec2 p1))\n"
7798 " (signature float\n"
7800 " (declare (in) vec3 p0)\n"
7801 " (declare (in) vec3 p1))\n"
7803 " (signature float\n"
7805 " (declare (in) vec4 p0)\n"
7806 " (declare (in) vec4 p1))\n"
7809 " (signature float\n"
7811 " (declare (in) float x)\n"
7812 " (declare (in) float y))\n"
7814 " (signature float\n"
7816 " (declare (in) vec2 x)\n"
7817 " (declare (in) vec2 y))\n"
7819 " (signature float\n"
7821 " (declare (in) vec3 x)\n"
7822 " (declare (in) vec3 y))\n"
7824 " (signature float\n"
7826 " (declare (in) vec4 x)\n"
7827 " (declare (in) vec4 y))\n"
7830 " (signature vec3\n"
7832 " (declare (in) vec3 x)\n"
7833 " (declare (in) vec3 y))\n"
7835 "(function normalize\n"
7836 " (signature float\n"
7838 " (declare (in) float x))\n"
7840 " (signature vec2\n"
7842 " (declare (in) vec2 x))\n"
7844 " (signature vec3\n"
7846 " (declare (in) vec3 x))\n"
7848 " (signature vec4\n"
7850 " (declare (in) vec4 x))\n"
7852 "(function faceforward\n"
7853 " (signature float\n"
7855 " (declare (in) float N)\n"
7856 " (declare (in) float I)\n"
7857 " (declare (in) float Nref))\n"
7859 " (signature vec2\n"
7861 " (declare (in) vec2 N)\n"
7862 " (declare (in) vec2 I)\n"
7863 " (declare (in) vec2 Nref))\n"
7865 " (signature vec3\n"
7867 " (declare (in) vec3 N)\n"
7868 " (declare (in) vec3 I)\n"
7869 " (declare (in) vec3 Nref))\n"
7871 " (signature vec4\n"
7873 " (declare (in) vec4 N)\n"
7874 " (declare (in) vec4 I)\n"
7875 " (declare (in) vec4 Nref))\n"
7877 "(function reflect\n"
7878 " (signature float\n"
7880 " (declare (in) float I)\n"
7881 " (declare (in) float N))\n"
7883 " (signature vec2\n"
7885 " (declare (in) vec2 I)\n"
7886 " (declare (in) vec2 N))\n"
7888 " (signature vec3\n"
7890 " (declare (in) vec3 I)\n"
7891 " (declare (in) vec3 N))\n"
7893 " (signature vec4\n"
7895 " (declare (in) vec4 I)\n"
7896 " (declare (in) vec4 N))\n"
7898 "(function refract\n"
7899 " (signature float\n"
7901 " (declare (in) float I)\n"
7902 " (declare (in) float N)\n"
7903 " (declare (in) float eta))\n"
7905 " (signature vec2\n"
7907 " (declare (in) vec2 I)\n"
7908 " (declare (in) vec2 N)\n"
7909 " (declare (in) float eta))\n"
7911 " (signature vec3\n"
7913 " (declare (in) vec3 I)\n"
7914 " (declare (in) vec3 N)\n"
7915 " (declare (in) float eta))\n"
7917 " (signature vec4\n"
7919 " (declare (in) vec4 I)\n"
7920 " (declare (in) vec4 N)\n"
7921 " (declare (in) float eta))\n"
7923 "(function matrixCompMult\n"
7924 " (signature mat2\n"
7926 " (declare (in) mat2 x)\n"
7927 " (declare (in) mat2 y))\n"
7929 " (signature mat3\n"
7931 " (declare (in) mat3 x)\n"
7932 " (declare (in) mat3 y))\n"
7934 " (signature mat4\n"
7936 " (declare (in) mat4 x)\n"
7937 " (declare (in) mat4 y))\n"
7939 "(function lessThan\n"
7940 " (signature bvec2\n"
7942 " (declare (in) vec2 x)\n"
7943 " (declare (in) vec2 y))\n"
7945 " (signature bvec3\n"
7947 " (declare (in) vec3 x)\n"
7948 " (declare (in) vec3 y))\n"
7950 " (signature bvec4\n"
7952 " (declare (in) vec4 x)\n"
7953 " (declare (in) vec4 y))\n"
7955 " (signature bvec2\n"
7957 " (declare (in) ivec2 x)\n"
7958 " (declare (in) ivec2 y))\n"
7960 " (signature bvec3\n"
7962 " (declare (in) ivec3 x)\n"
7963 " (declare (in) ivec3 y))\n"
7965 " (signature bvec4\n"
7967 " (declare (in) ivec4 x)\n"
7968 " (declare (in) ivec4 y))\n"
7970 "(function lessThanEqual\n"
7971 " (signature bvec2\n"
7973 " (declare (in) vec2 x)\n"
7974 " (declare (in) vec2 y))\n"
7976 " (signature bvec3\n"
7978 " (declare (in) vec3 x)\n"
7979 " (declare (in) vec3 y))\n"
7981 " (signature bvec4\n"
7983 " (declare (in) vec4 x)\n"
7984 " (declare (in) vec4 y))\n"
7986 " (signature bvec2\n"
7988 " (declare (in) ivec2 x)\n"
7989 " (declare (in) ivec2 y))\n"
7991 " (signature bvec3\n"
7993 " (declare (in) ivec3 x)\n"
7994 " (declare (in) ivec3 y))\n"
7996 " (signature bvec4\n"
7998 " (declare (in) ivec4 x)\n"
7999 " (declare (in) ivec4 y))\n"
8001 "(function greaterThan\n"
8002 " (signature bvec2\n"
8004 " (declare (in) vec2 x)\n"
8005 " (declare (in) vec2 y))\n"
8007 " (signature bvec3\n"
8009 " (declare (in) vec3 x)\n"
8010 " (declare (in) vec3 y))\n"
8012 " (signature bvec4\n"
8014 " (declare (in) vec4 x)\n"
8015 " (declare (in) vec4 y))\n"
8017 " (signature bvec2\n"
8019 " (declare (in) ivec2 x)\n"
8020 " (declare (in) ivec2 y))\n"
8022 " (signature bvec3\n"
8024 " (declare (in) ivec3 x)\n"
8025 " (declare (in) ivec3 y))\n"
8027 " (signature bvec4\n"
8029 " (declare (in) ivec4 x)\n"
8030 " (declare (in) ivec4 y))\n"
8032 "(function greaterThanEqual\n"
8033 " (signature bvec2\n"
8035 " (declare (in) vec2 x)\n"
8036 " (declare (in) vec2 y))\n"
8038 " (signature bvec3\n"
8040 " (declare (in) vec3 x)\n"
8041 " (declare (in) vec3 y))\n"
8043 " (signature bvec4\n"
8045 " (declare (in) vec4 x)\n"
8046 " (declare (in) vec4 y))\n"
8048 " (signature bvec2\n"
8050 " (declare (in) ivec2 x)\n"
8051 " (declare (in) ivec2 y))\n"
8053 " (signature bvec3\n"
8055 " (declare (in) ivec3 x)\n"
8056 " (declare (in) ivec3 y))\n"
8058 " (signature bvec4\n"
8060 " (declare (in) ivec4 x)\n"
8061 " (declare (in) ivec4 y))\n"
8064 " (signature bvec2\n"
8066 " (declare (in) vec2 x)\n"
8067 " (declare (in) vec2 y))\n"
8069 " (signature bvec3\n"
8071 " (declare (in) vec3 x)\n"
8072 " (declare (in) vec3 y))\n"
8074 " (signature bvec4\n"
8076 " (declare (in) vec4 x)\n"
8077 " (declare (in) vec4 y))\n"
8079 " (signature bvec2\n"
8081 " (declare (in) ivec2 x)\n"
8082 " (declare (in) ivec2 y))\n"
8084 " (signature bvec3\n"
8086 " (declare (in) ivec3 x)\n"
8087 " (declare (in) ivec3 y))\n"
8089 " (signature bvec4\n"
8091 " (declare (in) ivec4 x)\n"
8092 " (declare (in) ivec4 y))\n"
8094 " (signature bvec2\n"
8096 " (declare (in) bvec2 x)\n"
8097 " (declare (in) bvec2 y))\n"
8099 " (signature bvec3\n"
8101 " (declare (in) bvec3 x)\n"
8102 " (declare (in) bvec3 y))\n"
8104 " (signature bvec4\n"
8106 " (declare (in) bvec4 x)\n"
8107 " (declare (in) bvec4 y))\n"
8109 "(function notEqual\n"
8110 " (signature bvec2\n"
8112 " (declare (in) vec2 x)\n"
8113 " (declare (in) vec2 y))\n"
8115 " (signature bvec3\n"
8117 " (declare (in) vec3 x)\n"
8118 " (declare (in) vec3 y))\n"
8120 " (signature bvec4\n"
8122 " (declare (in) vec4 x)\n"
8123 " (declare (in) vec4 y))\n"
8125 " (signature bvec2\n"
8127 " (declare (in) ivec2 x)\n"
8128 " (declare (in) ivec2 y))\n"
8130 " (signature bvec3\n"
8132 " (declare (in) ivec3 x)\n"
8133 " (declare (in) ivec3 y))\n"
8135 " (signature bvec4\n"
8137 " (declare (in) ivec4 x)\n"
8138 " (declare (in) ivec4 y))\n"
8140 " (signature bvec2\n"
8142 " (declare (in) bvec2 x)\n"
8143 " (declare (in) bvec2 y))\n"
8145 " (signature bvec3\n"
8147 " (declare (in) bvec3 x)\n"
8148 " (declare (in) bvec3 y))\n"
8150 " (signature bvec4\n"
8152 " (declare (in) bvec4 x)\n"
8153 " (declare (in) bvec4 y))\n"
8156 " (signature bool\n"
8158 " (declare (in) bvec2 x))\n"
8160 " (signature bool\n"
8162 " (declare (in) bvec3 x))\n"
8164 " (signature bool\n"
8166 " (declare (in) bvec4 x))\n"
8169 " (signature bool\n"
8171 " (declare (in) bvec2 x))\n"
8173 " (signature bool\n"
8175 " (declare (in) bvec3 x))\n"
8177 " (signature bool\n"
8179 " (declare (in) bvec4 x))\n"
8182 " (signature bvec2\n"
8184 " (declare (in) bvec2 x))\n"
8186 " (signature bvec3\n"
8188 " (declare (in) bvec3 x))\n"
8190 " (signature bvec4\n"
8192 " (declare (in) bvec4 x))\n"
8194 "(function texture1D\n"
8195 " (signature vec4\n"
8197 " (declare (in) sampler1D sampler)\n"
8198 " (declare (in) float coord))\n"
8200 " (signature vec4\n"
8202 " (declare (in) sampler1D sampler)\n"
8203 " (declare (in) float coord)\n"
8204 " (declare (in) float bias))\n"
8206 "(function texture1DProj\n"
8207 " (signature vec4\n"
8209 " (declare (in) sampler1D sampler)\n"
8210 " (declare (in) vec2 coord))\n"
8212 " (signature vec4\n"
8214 " (declare (in) sampler1D sampler)\n"
8215 " (declare (in) vec4 coord))\n"
8217 " (signature vec4\n"
8219 " (declare (in) sampler1D sampler)\n"
8220 " (declare (in) vec2 coord)\n"
8221 " (declare (in) float bias))\n"
8223 " (signature vec4\n"
8225 " (declare (in) sampler1D sampler)\n"
8226 " (declare (in) vec4 coord)\n"
8227 " (declare (in) float bias))\n"
8229 "(function texture2D\n"
8230 " (signature vec4\n"
8232 " (declare (in) sampler2D sampler)\n"
8233 " (declare (in) vec2 coord))\n"
8235 " (signature vec4\n"
8237 " (declare (in) sampler2D sampler)\n"
8238 " (declare (in) vec2 coord)\n"
8239 " (declare (in) float bias))\n"
8241 "(function texture2DProj\n"
8242 " (signature vec4\n"
8244 " (declare (in) sampler2D sampler)\n"
8245 " (declare (in) vec3 coord))\n"
8247 " (signature vec4\n"
8249 " (declare (in) sampler2D sampler)\n"
8250 " (declare (in) vec4 coord))\n"
8252 " (signature vec4\n"
8254 " (declare (in) sampler2D sampler)\n"
8255 " (declare (in) vec3 coord)\n"
8256 " (declare (in) float bias))\n"
8258 " (signature vec4\n"
8260 " (declare (in) sampler2D sampler)\n"
8261 " (declare (in) vec4 coord)\n"
8262 " (declare (in) float bias))\n"
8264 "(function texture3D\n"
8265 " (signature vec4\n"
8267 " (declare (in) sampler3D sampler)\n"
8268 " (declare (in) vec3 coord))\n"
8270 " (signature vec4\n"
8272 " (declare (in) sampler3D sampler)\n"
8273 " (declare (in) vec3 coord)\n"
8274 " (declare (in) float bias))\n"
8276 "(function texture3DProj\n"
8277 " (signature vec4\n"
8279 " (declare (in) sampler3D sampler)\n"
8280 " (declare (in) vec4 coord))\n"
8282 " (signature vec4\n"
8284 " (declare (in) sampler3D sampler)\n"
8285 " (declare (in) vec4 coord)\n"
8286 " (declare (in) float bias))\n"
8288 "(function textureCube\n"
8289 " (signature vec4\n"
8291 " (declare (in) samplerCube sampler)\n"
8292 " (declare (in) vec3 coord))\n"
8294 " (signature vec4\n"
8296 " (declare (in) samplerCube sampler)\n"
8297 " (declare (in) vec3 coord)\n"
8298 " (declare (in) float bias))\n"
8300 "(function shadow1D\n"
8301 " (signature vec4\n"
8303 " (declare (in) sampler1DShadow sampler)\n"
8304 " (declare (in) vec3 coord))\n"
8306 " (signature vec4\n"
8308 " (declare (in) sampler1DShadow sampler)\n"
8309 " (declare (in) vec3 coord)\n"
8310 " (declare (in) float bias))\n"
8312 "(function shadow2D\n"
8313 " (signature vec4\n"
8315 " (declare (in) sampler2DShadow sampler)\n"
8316 " (declare (in) vec3 coord))\n"
8318 " (signature vec4\n"
8320 " (declare (in) sampler2DShadow sampler)\n"
8321 " (declare (in) vec3 coord)\n"
8322 " (declare (in) float bias))\n"
8324 "(function shadow1DProj\n"
8325 " (signature vec4\n"
8327 " (declare (in) sampler1DShadow sampler)\n"
8328 " (declare (in) vec4 coord))\n"
8330 " (signature vec4\n"
8332 " (declare (in) sampler1DShadow sampler)\n"
8333 " (declare (in) vec4 coord)\n"
8334 " (declare (in) float bias))\n"
8336 "(function shadow2DProj\n"
8337 " (signature vec4\n"
8339 " (declare (in) sampler2DShadow sampler)\n"
8340 " (declare (in) vec4 coord))\n"
8342 " (signature vec4\n"
8344 " (declare (in) sampler2DShadow sampler)\n"
8345 " (declare (in) vec4 coord)\n"
8346 " (declare (in) float bias))\n"
8349 " (signature float\n"
8351 " (declare (in) float p))\n"
8353 " (signature vec2\n"
8355 " (declare (in) vec2 p))\n"
8357 " (signature vec3\n"
8359 " (declare (in) vec3 p))\n"
8361 " (signature vec4\n"
8363 " (declare (in) vec4 p))\n"
8366 " (signature float\n"
8368 " (declare (in) float p))\n"
8370 " (signature vec2\n"
8372 " (declare (in) vec2 p))\n"
8374 " (signature vec3\n"
8376 " (declare (in) vec3 p))\n"
8378 " (signature vec4\n"
8380 " (declare (in) vec4 p))\n"
8382 "(function fwidth\n"
8383 " (signature float\n"
8385 " (declare (in) float p))\n"
8387 " (signature vec2\n"
8389 " (declare (in) vec2 p))\n"
8391 " (signature vec3\n"
8393 " (declare (in) vec3 p))\n"
8395 " (signature vec4\n"
8397 " (declare (in) vec4 p))\n"
8399 "(function noise1\n"
8400 " (signature float\n"
8402 " (declare (in) float x))\n"
8404 " (signature float\n"
8406 " (declare (in) vec2 x))\n"
8408 " (signature float\n"
8410 " (declare (in) vec3 x))\n"
8412 " (signature float\n"
8414 " (declare (in) vec4 x))\n"
8416 "(function noise2\n"
8417 " (signature vec2\n"
8419 " (declare (in) float x))\n"
8421 " (signature vec2\n"
8423 " (declare (in) vec2 x))\n"
8425 " (signature vec2\n"
8427 " (declare (in) vec3 x))\n"
8429 " (signature vec2\n"
8431 " (declare (in) vec4 x))\n"
8433 "(function noise3\n"
8434 " (signature vec3\n"
8436 " (declare (in) float x))\n"
8438 " (signature vec3\n"
8440 " (declare (in) vec2 x))\n"
8442 " (signature vec3\n"
8444 " (declare (in) vec3 x))\n"
8446 " (signature vec3\n"
8448 " (declare (in) vec4 x))\n"
8450 "(function noise4\n"
8451 " (signature vec4\n"
8453 " (declare (in) float x))\n"
8455 " (signature vec4\n"
8457 " (declare (in) vec2 x))\n"
8459 " (signature vec4\n"
8461 " (declare (in) vec3 x))\n"
8463 " (signature vec4\n"
8465 " (declare (in) vec4 x))\n"
8468 static const char *functions_for_110_frag
[] = {
8487 builtin_faceforward
,
8491 builtin_greaterThan
,
8492 builtin_greaterThanEqual
,
8493 builtin_inversesqrt
,
8496 builtin_lessThanEqual
,
8499 builtin_matrixCompMult
,
8516 builtin_shadow1DProj
,
8518 builtin_shadow2DProj
,
8526 builtin_texture1DProj
,
8528 builtin_texture2DProj
,
8530 builtin_texture3DProj
,
8531 builtin_textureCube
,
8533 static const char prototypes_for_110_vert
[] =
8535 "(function radians\n"
8536 " (signature float\n"
8538 " (declare (in) float degrees))\n"
8540 " (signature vec2\n"
8542 " (declare (in) vec2 degrees))\n"
8544 " (signature vec3\n"
8546 " (declare (in) vec3 degrees))\n"
8548 " (signature vec4\n"
8550 " (declare (in) vec4 degrees))\n"
8552 "(function degrees\n"
8553 " (signature float\n"
8555 " (declare (in) float radians))\n"
8557 " (signature vec2\n"
8559 " (declare (in) vec2 radians))\n"
8561 " (signature vec3\n"
8563 " (declare (in) vec3 radians))\n"
8565 " (signature vec4\n"
8567 " (declare (in) vec4 radians))\n"
8570 " (signature float\n"
8572 " (declare (in) float angle))\n"
8574 " (signature vec2\n"
8576 " (declare (in) vec2 angle))\n"
8578 " (signature vec3\n"
8580 " (declare (in) vec3 angle))\n"
8582 " (signature vec4\n"
8584 " (declare (in) vec4 angle))\n"
8587 " (signature float\n"
8589 " (declare (in) float angle))\n"
8591 " (signature vec2\n"
8593 " (declare (in) vec2 angle))\n"
8595 " (signature vec3\n"
8597 " (declare (in) vec3 angle))\n"
8599 " (signature vec4\n"
8601 " (declare (in) vec4 angle))\n"
8604 " (signature float\n"
8606 " (declare (in) float angle))\n"
8608 " (signature vec2\n"
8610 " (declare (in) vec2 angle))\n"
8612 " (signature vec3\n"
8614 " (declare (in) vec3 angle))\n"
8616 " (signature vec4\n"
8618 " (declare (in) vec4 angle))\n"
8621 " (signature float\n"
8623 " (declare (in) float angle))\n"
8625 " (signature vec2\n"
8627 " (declare (in) vec2 angle))\n"
8629 " (signature vec3\n"
8631 " (declare (in) vec3 angle))\n"
8633 " (signature vec4\n"
8635 " (declare (in) vec4 angle))\n"
8638 " (signature float\n"
8640 " (declare (in) float angle))\n"
8642 " (signature vec2\n"
8644 " (declare (in) vec2 angle))\n"
8646 " (signature vec3\n"
8648 " (declare (in) vec3 angle))\n"
8650 " (signature vec4\n"
8652 " (declare (in) vec4 angle))\n"
8655 " (signature float\n"
8657 " (declare (in) float y)\n"
8658 " (declare (in) float x))\n"
8660 " (signature vec2\n"
8662 " (declare (in) vec2 y)\n"
8663 " (declare (in) vec2 x))\n"
8665 " (signature vec3\n"
8667 " (declare (in) vec3 y)\n"
8668 " (declare (in) vec3 x))\n"
8670 " (signature vec4\n"
8672 " (declare (in) vec4 y)\n"
8673 " (declare (in) vec4 x))\n"
8675 " (signature float\n"
8677 " (declare (in) float y_over_x))\n"
8679 " (signature vec2\n"
8681 " (declare (in) vec2 y_over_x))\n"
8683 " (signature vec3\n"
8685 " (declare (in) vec3 y_over_x))\n"
8687 " (signature vec4\n"
8689 " (declare (in) vec4 y_over_x))\n"
8692 " (signature float\n"
8694 " (declare (in) float x)\n"
8695 " (declare (in) float y))\n"
8697 " (signature vec2\n"
8699 " (declare (in) vec2 x)\n"
8700 " (declare (in) vec2 y))\n"
8702 " (signature vec3\n"
8704 " (declare (in) vec3 x)\n"
8705 " (declare (in) vec3 y))\n"
8707 " (signature vec4\n"
8709 " (declare (in) vec4 x)\n"
8710 " (declare (in) vec4 y))\n"
8713 " (signature float\n"
8715 " (declare (in) float x))\n"
8717 " (signature vec2\n"
8719 " (declare (in) vec2 x))\n"
8721 " (signature vec3\n"
8723 " (declare (in) vec3 x))\n"
8725 " (signature vec4\n"
8727 " (declare (in) vec4 x))\n"
8730 " (signature float\n"
8732 " (declare (in) float x))\n"
8734 " (signature vec2\n"
8736 " (declare (in) vec2 x))\n"
8738 " (signature vec3\n"
8740 " (declare (in) vec3 x))\n"
8742 " (signature vec4\n"
8744 " (declare (in) vec4 x))\n"
8747 " (signature float\n"
8749 " (declare (in) float x))\n"
8751 " (signature vec2\n"
8753 " (declare (in) vec2 x))\n"
8755 " (signature vec3\n"
8757 " (declare (in) vec3 x))\n"
8759 " (signature vec4\n"
8761 " (declare (in) vec4 x))\n"
8764 " (signature float\n"
8766 " (declare (in) float x))\n"
8768 " (signature vec2\n"
8770 " (declare (in) vec2 x))\n"
8772 " (signature vec3\n"
8774 " (declare (in) vec3 x))\n"
8776 " (signature vec4\n"
8778 " (declare (in) vec4 x))\n"
8781 " (signature float\n"
8783 " (declare (in) float x))\n"
8785 " (signature vec2\n"
8787 " (declare (in) vec2 x))\n"
8789 " (signature vec3\n"
8791 " (declare (in) vec3 x))\n"
8793 " (signature vec4\n"
8795 " (declare (in) vec4 x))\n"
8797 "(function inversesqrt\n"
8798 " (signature float\n"
8800 " (declare (in) float x))\n"
8802 " (signature vec2\n"
8804 " (declare (in) vec2 x))\n"
8806 " (signature vec3\n"
8808 " (declare (in) vec3 x))\n"
8810 " (signature vec4\n"
8812 " (declare (in) vec4 x))\n"
8815 " (signature float\n"
8817 " (declare (in) float x))\n"
8819 " (signature vec2\n"
8821 " (declare (in) vec2 x))\n"
8823 " (signature vec3\n"
8825 " (declare (in) vec3 x))\n"
8827 " (signature vec4\n"
8829 " (declare (in) vec4 x))\n"
8832 " (signature float\n"
8834 " (declare (in) float x))\n"
8836 " (signature vec2\n"
8838 " (declare (in) vec2 x))\n"
8840 " (signature vec3\n"
8842 " (declare (in) vec3 x))\n"
8844 " (signature vec4\n"
8846 " (declare (in) vec4 x))\n"
8849 " (signature float\n"
8851 " (declare (in) float x))\n"
8853 " (signature vec2\n"
8855 " (declare (in) vec2 x))\n"
8857 " (signature vec3\n"
8859 " (declare (in) vec3 x))\n"
8861 " (signature vec4\n"
8863 " (declare (in) vec4 x))\n"
8866 " (signature float\n"
8868 " (declare (in) float x))\n"
8870 " (signature vec2\n"
8872 " (declare (in) vec2 x))\n"
8874 " (signature vec3\n"
8876 " (declare (in) vec3 x))\n"
8878 " (signature vec4\n"
8880 " (declare (in) vec4 x))\n"
8883 " (signature float\n"
8885 " (declare (in) float x))\n"
8887 " (signature vec2\n"
8889 " (declare (in) vec2 x))\n"
8891 " (signature vec3\n"
8893 " (declare (in) vec3 x))\n"
8895 " (signature vec4\n"
8897 " (declare (in) vec4 x))\n"
8900 " (signature float\n"
8902 " (declare (in) float x)\n"
8903 " (declare (in) float y))\n"
8905 " (signature vec2\n"
8907 " (declare (in) vec2 x)\n"
8908 " (declare (in) float y))\n"
8910 " (signature vec3\n"
8912 " (declare (in) vec3 x)\n"
8913 " (declare (in) float y))\n"
8915 " (signature vec4\n"
8917 " (declare (in) vec4 x)\n"
8918 " (declare (in) float y))\n"
8920 " (signature vec2\n"
8922 " (declare (in) vec2 x)\n"
8923 " (declare (in) vec2 y))\n"
8925 " (signature vec3\n"
8927 " (declare (in) vec3 x)\n"
8928 " (declare (in) vec3 y))\n"
8930 " (signature vec4\n"
8932 " (declare (in) vec4 x)\n"
8933 " (declare (in) vec4 y))\n"
8936 " (signature float\n"
8938 " (declare (in) float x)\n"
8939 " (declare (in) float y))\n"
8941 " (signature vec2\n"
8943 " (declare (in) vec2 x)\n"
8944 " (declare (in) vec2 y))\n"
8946 " (signature vec3\n"
8948 " (declare (in) vec3 x)\n"
8949 " (declare (in) vec3 y))\n"
8951 " (signature vec4\n"
8953 " (declare (in) vec4 x)\n"
8954 " (declare (in) vec4 y))\n"
8956 " (signature vec2\n"
8958 " (declare (in) vec2 x)\n"
8959 " (declare (in) float y))\n"
8961 " (signature vec3\n"
8963 " (declare (in) vec3 x)\n"
8964 " (declare (in) float y))\n"
8966 " (signature vec4\n"
8968 " (declare (in) vec4 x)\n"
8969 " (declare (in) float y))\n"
8972 " (signature float\n"
8974 " (declare (in) float x)\n"
8975 " (declare (in) float y))\n"
8977 " (signature vec2\n"
8979 " (declare (in) vec2 x)\n"
8980 " (declare (in) vec2 y))\n"
8982 " (signature vec3\n"
8984 " (declare (in) vec3 x)\n"
8985 " (declare (in) vec3 y))\n"
8987 " (signature vec4\n"
8989 " (declare (in) vec4 x)\n"
8990 " (declare (in) vec4 y))\n"
8992 " (signature vec2\n"
8994 " (declare (in) vec2 x)\n"
8995 " (declare (in) float y))\n"
8997 " (signature vec3\n"
8999 " (declare (in) vec3 x)\n"
9000 " (declare (in) float y))\n"
9002 " (signature vec4\n"
9004 " (declare (in) vec4 x)\n"
9005 " (declare (in) float y))\n"
9008 " (signature float\n"
9010 " (declare (in) float x)\n"
9011 " (declare (in) float minVal)\n"
9012 " (declare (in) float maxVal))\n"
9014 " (signature vec2\n"
9016 " (declare (in) vec2 x)\n"
9017 " (declare (in) vec2 minVal)\n"
9018 " (declare (in) vec2 maxVal))\n"
9020 " (signature vec3\n"
9022 " (declare (in) vec3 x)\n"
9023 " (declare (in) vec3 minVal)\n"
9024 " (declare (in) vec3 maxVal))\n"
9026 " (signature vec4\n"
9028 " (declare (in) vec4 x)\n"
9029 " (declare (in) vec4 minVal)\n"
9030 " (declare (in) vec4 maxVal))\n"
9032 " (signature vec2\n"
9034 " (declare (in) vec2 x)\n"
9035 " (declare (in) float minVal)\n"
9036 " (declare (in) float maxVal))\n"
9038 " (signature vec3\n"
9040 " (declare (in) vec3 x)\n"
9041 " (declare (in) float minVal)\n"
9042 " (declare (in) float maxVal))\n"
9044 " (signature vec4\n"
9046 " (declare (in) vec4 x)\n"
9047 " (declare (in) float minVal)\n"
9048 " (declare (in) float maxVal))\n"
9051 " (signature float\n"
9053 " (declare (in) float x)\n"
9054 " (declare (in) float y)\n"
9055 " (declare (in) float a))\n"
9057 " (signature vec2\n"
9059 " (declare (in) vec2 x)\n"
9060 " (declare (in) vec2 y)\n"
9061 " (declare (in) vec2 a))\n"
9063 " (signature vec3\n"
9065 " (declare (in) vec3 x)\n"
9066 " (declare (in) vec3 y)\n"
9067 " (declare (in) vec3 a))\n"
9069 " (signature vec4\n"
9071 " (declare (in) vec4 x)\n"
9072 " (declare (in) vec4 y)\n"
9073 " (declare (in) vec4 a))\n"
9075 " (signature vec2\n"
9077 " (declare (in) vec2 x)\n"
9078 " (declare (in) vec2 y)\n"
9079 " (declare (in) float a))\n"
9081 " (signature vec3\n"
9083 " (declare (in) vec3 x)\n"
9084 " (declare (in) vec3 y)\n"
9085 " (declare (in) float a))\n"
9087 " (signature vec4\n"
9089 " (declare (in) vec4 x)\n"
9090 " (declare (in) vec4 y)\n"
9091 " (declare (in) float a))\n"
9094 " (signature float\n"
9096 " (declare (in) float edge)\n"
9097 " (declare (in) float x))\n"
9099 " (signature vec2\n"
9101 " (declare (in) vec2 edge)\n"
9102 " (declare (in) vec2 x))\n"
9104 " (signature vec3\n"
9106 " (declare (in) vec3 edge)\n"
9107 " (declare (in) vec3 x))\n"
9109 " (signature vec4\n"
9111 " (declare (in) vec4 edge)\n"
9112 " (declare (in) vec4 x))\n"
9114 " (signature vec2\n"
9116 " (declare (in) float edge)\n"
9117 " (declare (in) vec2 x))\n"
9119 " (signature vec3\n"
9121 " (declare (in) float edge)\n"
9122 " (declare (in) vec3 x))\n"
9124 " (signature vec4\n"
9126 " (declare (in) float edge)\n"
9127 " (declare (in) vec4 x))\n"
9129 "(function smoothstep\n"
9130 " (signature float\n"
9132 " (declare (in) float edge0)\n"
9133 " (declare (in) float edge1)\n"
9134 " (declare (in) float x))\n"
9136 " (signature vec2\n"
9138 " (declare (in) vec2 edge0)\n"
9139 " (declare (in) vec2 edge1)\n"
9140 " (declare (in) vec2 x))\n"
9142 " (signature vec3\n"
9144 " (declare (in) vec3 edge0)\n"
9145 " (declare (in) vec3 edge1)\n"
9146 " (declare (in) vec3 x))\n"
9148 " (signature vec4\n"
9150 " (declare (in) vec4 edge0)\n"
9151 " (declare (in) vec4 edge1)\n"
9152 " (declare (in) vec4 x))\n"
9154 " (signature vec2\n"
9156 " (declare (in) float edge0)\n"
9157 " (declare (in) float edge1)\n"
9158 " (declare (in) vec2 x))\n"
9160 " (signature vec3\n"
9162 " (declare (in) float edge0)\n"
9163 " (declare (in) float edge1)\n"
9164 " (declare (in) vec3 x))\n"
9166 " (signature vec4\n"
9168 " (declare (in) float edge0)\n"
9169 " (declare (in) float edge1)\n"
9170 " (declare (in) vec4 x))\n"
9172 "(function length\n"
9173 " (signature float\n"
9175 " (declare (in) float x))\n"
9177 " (signature float\n"
9179 " (declare (in) vec2 x))\n"
9181 " (signature float\n"
9183 " (declare (in) vec3 x))\n"
9185 " (signature float\n"
9187 " (declare (in) vec4 x))\n"
9189 "(function distance\n"
9190 " (signature float\n"
9192 " (declare (in) float p0)\n"
9193 " (declare (in) float p1))\n"
9195 " (signature float\n"
9197 " (declare (in) vec2 p0)\n"
9198 " (declare (in) vec2 p1))\n"
9200 " (signature float\n"
9202 " (declare (in) vec3 p0)\n"
9203 " (declare (in) vec3 p1))\n"
9205 " (signature float\n"
9207 " (declare (in) vec4 p0)\n"
9208 " (declare (in) vec4 p1))\n"
9211 " (signature float\n"
9213 " (declare (in) float x)\n"
9214 " (declare (in) float y))\n"
9216 " (signature float\n"
9218 " (declare (in) vec2 x)\n"
9219 " (declare (in) vec2 y))\n"
9221 " (signature float\n"
9223 " (declare (in) vec3 x)\n"
9224 " (declare (in) vec3 y))\n"
9226 " (signature float\n"
9228 " (declare (in) vec4 x)\n"
9229 " (declare (in) vec4 y))\n"
9232 " (signature vec3\n"
9234 " (declare (in) vec3 x)\n"
9235 " (declare (in) vec3 y))\n"
9237 "(function normalize\n"
9238 " (signature float\n"
9240 " (declare (in) float x))\n"
9242 " (signature vec2\n"
9244 " (declare (in) vec2 x))\n"
9246 " (signature vec3\n"
9248 " (declare (in) vec3 x))\n"
9250 " (signature vec4\n"
9252 " (declare (in) vec4 x))\n"
9254 "(function ftransform\n"
9255 " (signature vec4\n"
9258 "(function faceforward\n"
9259 " (signature float\n"
9261 " (declare (in) float N)\n"
9262 " (declare (in) float I)\n"
9263 " (declare (in) float Nref))\n"
9265 " (signature vec2\n"
9267 " (declare (in) vec2 N)\n"
9268 " (declare (in) vec2 I)\n"
9269 " (declare (in) vec2 Nref))\n"
9271 " (signature vec3\n"
9273 " (declare (in) vec3 N)\n"
9274 " (declare (in) vec3 I)\n"
9275 " (declare (in) vec3 Nref))\n"
9277 " (signature vec4\n"
9279 " (declare (in) vec4 N)\n"
9280 " (declare (in) vec4 I)\n"
9281 " (declare (in) vec4 Nref))\n"
9283 "(function reflect\n"
9284 " (signature float\n"
9286 " (declare (in) float I)\n"
9287 " (declare (in) float N))\n"
9289 " (signature vec2\n"
9291 " (declare (in) vec2 I)\n"
9292 " (declare (in) vec2 N))\n"
9294 " (signature vec3\n"
9296 " (declare (in) vec3 I)\n"
9297 " (declare (in) vec3 N))\n"
9299 " (signature vec4\n"
9301 " (declare (in) vec4 I)\n"
9302 " (declare (in) vec4 N))\n"
9304 "(function refract\n"
9305 " (signature float\n"
9307 " (declare (in) float I)\n"
9308 " (declare (in) float N)\n"
9309 " (declare (in) float eta))\n"
9311 " (signature vec2\n"
9313 " (declare (in) vec2 I)\n"
9314 " (declare (in) vec2 N)\n"
9315 " (declare (in) float eta))\n"
9317 " (signature vec3\n"
9319 " (declare (in) vec3 I)\n"
9320 " (declare (in) vec3 N)\n"
9321 " (declare (in) float eta))\n"
9323 " (signature vec4\n"
9325 " (declare (in) vec4 I)\n"
9326 " (declare (in) vec4 N)\n"
9327 " (declare (in) float eta))\n"
9329 "(function matrixCompMult\n"
9330 " (signature mat2\n"
9332 " (declare (in) mat2 x)\n"
9333 " (declare (in) mat2 y))\n"
9335 " (signature mat3\n"
9337 " (declare (in) mat3 x)\n"
9338 " (declare (in) mat3 y))\n"
9340 " (signature mat4\n"
9342 " (declare (in) mat4 x)\n"
9343 " (declare (in) mat4 y))\n"
9345 "(function lessThan\n"
9346 " (signature bvec2\n"
9348 " (declare (in) vec2 x)\n"
9349 " (declare (in) vec2 y))\n"
9351 " (signature bvec3\n"
9353 " (declare (in) vec3 x)\n"
9354 " (declare (in) vec3 y))\n"
9356 " (signature bvec4\n"
9358 " (declare (in) vec4 x)\n"
9359 " (declare (in) vec4 y))\n"
9361 " (signature bvec2\n"
9363 " (declare (in) ivec2 x)\n"
9364 " (declare (in) ivec2 y))\n"
9366 " (signature bvec3\n"
9368 " (declare (in) ivec3 x)\n"
9369 " (declare (in) ivec3 y))\n"
9371 " (signature bvec4\n"
9373 " (declare (in) ivec4 x)\n"
9374 " (declare (in) ivec4 y))\n"
9376 "(function lessThanEqual\n"
9377 " (signature bvec2\n"
9379 " (declare (in) vec2 x)\n"
9380 " (declare (in) vec2 y))\n"
9382 " (signature bvec3\n"
9384 " (declare (in) vec3 x)\n"
9385 " (declare (in) vec3 y))\n"
9387 " (signature bvec4\n"
9389 " (declare (in) vec4 x)\n"
9390 " (declare (in) vec4 y))\n"
9392 " (signature bvec2\n"
9394 " (declare (in) ivec2 x)\n"
9395 " (declare (in) ivec2 y))\n"
9397 " (signature bvec3\n"
9399 " (declare (in) ivec3 x)\n"
9400 " (declare (in) ivec3 y))\n"
9402 " (signature bvec4\n"
9404 " (declare (in) ivec4 x)\n"
9405 " (declare (in) ivec4 y))\n"
9407 "(function greaterThan\n"
9408 " (signature bvec2\n"
9410 " (declare (in) vec2 x)\n"
9411 " (declare (in) vec2 y))\n"
9413 " (signature bvec3\n"
9415 " (declare (in) vec3 x)\n"
9416 " (declare (in) vec3 y))\n"
9418 " (signature bvec4\n"
9420 " (declare (in) vec4 x)\n"
9421 " (declare (in) vec4 y))\n"
9423 " (signature bvec2\n"
9425 " (declare (in) ivec2 x)\n"
9426 " (declare (in) ivec2 y))\n"
9428 " (signature bvec3\n"
9430 " (declare (in) ivec3 x)\n"
9431 " (declare (in) ivec3 y))\n"
9433 " (signature bvec4\n"
9435 " (declare (in) ivec4 x)\n"
9436 " (declare (in) ivec4 y))\n"
9438 "(function greaterThanEqual\n"
9439 " (signature bvec2\n"
9441 " (declare (in) vec2 x)\n"
9442 " (declare (in) vec2 y))\n"
9444 " (signature bvec3\n"
9446 " (declare (in) vec3 x)\n"
9447 " (declare (in) vec3 y))\n"
9449 " (signature bvec4\n"
9451 " (declare (in) vec4 x)\n"
9452 " (declare (in) vec4 y))\n"
9454 " (signature bvec2\n"
9456 " (declare (in) ivec2 x)\n"
9457 " (declare (in) ivec2 y))\n"
9459 " (signature bvec3\n"
9461 " (declare (in) ivec3 x)\n"
9462 " (declare (in) ivec3 y))\n"
9464 " (signature bvec4\n"
9466 " (declare (in) ivec4 x)\n"
9467 " (declare (in) ivec4 y))\n"
9470 " (signature bvec2\n"
9472 " (declare (in) vec2 x)\n"
9473 " (declare (in) vec2 y))\n"
9475 " (signature bvec3\n"
9477 " (declare (in) vec3 x)\n"
9478 " (declare (in) vec3 y))\n"
9480 " (signature bvec4\n"
9482 " (declare (in) vec4 x)\n"
9483 " (declare (in) vec4 y))\n"
9485 " (signature bvec2\n"
9487 " (declare (in) ivec2 x)\n"
9488 " (declare (in) ivec2 y))\n"
9490 " (signature bvec3\n"
9492 " (declare (in) ivec3 x)\n"
9493 " (declare (in) ivec3 y))\n"
9495 " (signature bvec4\n"
9497 " (declare (in) ivec4 x)\n"
9498 " (declare (in) ivec4 y))\n"
9500 " (signature bvec2\n"
9502 " (declare (in) bvec2 x)\n"
9503 " (declare (in) bvec2 y))\n"
9505 " (signature bvec3\n"
9507 " (declare (in) bvec3 x)\n"
9508 " (declare (in) bvec3 y))\n"
9510 " (signature bvec4\n"
9512 " (declare (in) bvec4 x)\n"
9513 " (declare (in) bvec4 y))\n"
9515 "(function notEqual\n"
9516 " (signature bvec2\n"
9518 " (declare (in) vec2 x)\n"
9519 " (declare (in) vec2 y))\n"
9521 " (signature bvec3\n"
9523 " (declare (in) vec3 x)\n"
9524 " (declare (in) vec3 y))\n"
9526 " (signature bvec4\n"
9528 " (declare (in) vec4 x)\n"
9529 " (declare (in) vec4 y))\n"
9531 " (signature bvec2\n"
9533 " (declare (in) ivec2 x)\n"
9534 " (declare (in) ivec2 y))\n"
9536 " (signature bvec3\n"
9538 " (declare (in) ivec3 x)\n"
9539 " (declare (in) ivec3 y))\n"
9541 " (signature bvec4\n"
9543 " (declare (in) ivec4 x)\n"
9544 " (declare (in) ivec4 y))\n"
9546 " (signature bvec2\n"
9548 " (declare (in) bvec2 x)\n"
9549 " (declare (in) bvec2 y))\n"
9551 " (signature bvec3\n"
9553 " (declare (in) bvec3 x)\n"
9554 " (declare (in) bvec3 y))\n"
9556 " (signature bvec4\n"
9558 " (declare (in) bvec4 x)\n"
9559 " (declare (in) bvec4 y))\n"
9562 " (signature bool\n"
9564 " (declare (in) bvec2 x))\n"
9566 " (signature bool\n"
9568 " (declare (in) bvec3 x))\n"
9570 " (signature bool\n"
9572 " (declare (in) bvec4 x))\n"
9575 " (signature bool\n"
9577 " (declare (in) bvec2 x))\n"
9579 " (signature bool\n"
9581 " (declare (in) bvec3 x))\n"
9583 " (signature bool\n"
9585 " (declare (in) bvec4 x))\n"
9588 " (signature bvec2\n"
9590 " (declare (in) bvec2 x))\n"
9592 " (signature bvec3\n"
9594 " (declare (in) bvec3 x))\n"
9596 " (signature bvec4\n"
9598 " (declare (in) bvec4 x))\n"
9600 "(function texture1D\n"
9601 " (signature vec4\n"
9603 " (declare (in) sampler1D sampler)\n"
9604 " (declare (in) float coord))\n"
9606 "(function texture1DProj\n"
9607 " (signature vec4\n"
9609 " (declare (in) sampler1D sampler)\n"
9610 " (declare (in) vec2 coord))\n"
9612 " (signature vec4\n"
9614 " (declare (in) sampler1D sampler)\n"
9615 " (declare (in) vec4 coord))\n"
9617 "(function texture1DLod\n"
9618 " (signature vec4\n"
9620 " (declare (in) sampler1D sampler)\n"
9621 " (declare (in) float coord)\n"
9622 " (declare (in) float lod))\n"
9624 "(function texture1DProjLod\n"
9625 " (signature vec4\n"
9627 " (declare (in) sampler1D sampler)\n"
9628 " (declare (in) vec2 coord)\n"
9629 " (declare (in) float lod))\n"
9631 " (signature vec4\n"
9633 " (declare (in) sampler1D sampler)\n"
9634 " (declare (in) vec4 coord)\n"
9635 " (declare (in) float lod))\n"
9637 "(function texture2D\n"
9638 " (signature vec4\n"
9640 " (declare (in) sampler2D sampler)\n"
9641 " (declare (in) vec2 coord))\n"
9643 "(function texture2DProj\n"
9644 " (signature vec4\n"
9646 " (declare (in) sampler2D sampler)\n"
9647 " (declare (in) vec3 coord))\n"
9649 " (signature vec4\n"
9651 " (declare (in) sampler2D sampler)\n"
9652 " (declare (in) vec4 coord))\n"
9654 "(function texture2DLod\n"
9655 " (signature vec4\n"
9657 " (declare (in) sampler2D sampler)\n"
9658 " (declare (in) vec2 coord)\n"
9659 " (declare (in) float lod))\n"
9661 "(function texture2DProjLod\n"
9662 " (signature vec4\n"
9664 " (declare (in) sampler2D sampler)\n"
9665 " (declare (in) vec3 coord)\n"
9666 " (declare (in) float lod))\n"
9668 " (signature vec4\n"
9670 " (declare (in) sampler2D sampler)\n"
9671 " (declare (in) vec4 coord)\n"
9672 " (declare (in) float lod))\n"
9674 "(function texture3D\n"
9675 " (signature vec4\n"
9677 " (declare (in) sampler3D sampler)\n"
9678 " (declare (in) vec3 coord))\n"
9680 "(function texture3DProj\n"
9681 " (signature vec4\n"
9683 " (declare (in) sampler3D sampler)\n"
9684 " (declare (in) vec4 coord))\n"
9686 "(function texture3DLod\n"
9687 " (signature vec4\n"
9689 " (declare (in) sampler3D sampler)\n"
9690 " (declare (in) vec3 coord)\n"
9691 " (declare (in) float lod))\n"
9693 "(function texture3DProjLod\n"
9694 " (signature vec4\n"
9696 " (declare (in) sampler3D sampler)\n"
9697 " (declare (in) vec4 coord)\n"
9698 " (declare (in) float lod))\n"
9700 "(function textureCube\n"
9701 " (signature vec4\n"
9703 " (declare (in) samplerCube sampler)\n"
9704 " (declare (in) vec3 coord))\n"
9706 "(function textureCubeLod\n"
9707 " (signature vec4\n"
9709 " (declare (in) samplerCube sampler)\n"
9710 " (declare (in) vec3 coord)\n"
9711 " (declare (in) float lod))\n"
9713 "(function shadow1D\n"
9714 " (signature vec4\n"
9716 " (declare (in) sampler1DShadow sampler)\n"
9717 " (declare (in) vec3 coord))\n"
9719 "(function shadow2D\n"
9720 " (signature vec4\n"
9722 " (declare (in) sampler2DShadow sampler)\n"
9723 " (declare (in) vec3 coord))\n"
9725 "(function shadow1DProj\n"
9726 " (signature vec4\n"
9728 " (declare (in) sampler1DShadow sampler)\n"
9729 " (declare (in) vec4 coord))\n"
9731 "(function shadow2DProj\n"
9732 " (signature vec4\n"
9734 " (declare (in) sampler2DShadow sampler)\n"
9735 " (declare (in) vec4 coord))\n"
9737 "(function shadow1DLod\n"
9738 " (signature vec4\n"
9740 " (declare (in) sampler1DShadow sampler)\n"
9741 " (declare (in) vec3 coord)\n"
9742 " (declare (in) float lod))\n"
9744 "(function shadow2DLod\n"
9745 " (signature vec4\n"
9747 " (declare (in) sampler2DShadow sampler)\n"
9748 " (declare (in) vec3 coord)\n"
9749 " (declare (in) float lod))\n"
9751 "(function shadow1DProjLod\n"
9752 " (signature vec4\n"
9754 " (declare (in) sampler1DShadow sampler)\n"
9755 " (declare (in) vec4 coord)\n"
9756 " (declare (in) float lod))\n"
9758 "(function shadow2DProjLod\n"
9759 " (signature vec4\n"
9761 " (declare (in) sampler2DShadow sampler)\n"
9762 " (declare (in) vec4 coord)\n"
9763 " (declare (in) float lod))\n"
9765 "(function noise1\n"
9766 " (signature float\n"
9768 " (declare (in) float x))\n"
9770 " (signature float\n"
9772 " (declare (in) vec2 x))\n"
9774 " (signature float\n"
9776 " (declare (in) vec3 x))\n"
9778 " (signature float\n"
9780 " (declare (in) vec4 x))\n"
9782 "(function noise2\n"
9783 " (signature vec2\n"
9785 " (declare (in) float x))\n"
9787 " (signature vec2\n"
9789 " (declare (in) vec2 x))\n"
9791 " (signature vec2\n"
9793 " (declare (in) vec3 x))\n"
9795 " (signature vec2\n"
9797 " (declare (in) vec4 x))\n"
9799 "(function noise3\n"
9800 " (signature vec3\n"
9802 " (declare (in) float x))\n"
9804 " (signature vec3\n"
9806 " (declare (in) vec2 x))\n"
9808 " (signature vec3\n"
9810 " (declare (in) vec3 x))\n"
9812 " (signature vec3\n"
9814 " (declare (in) vec4 x))\n"
9816 "(function noise4\n"
9817 " (signature vec4\n"
9819 " (declare (in) float x))\n"
9821 " (signature vec4\n"
9823 " (declare (in) vec2 x))\n"
9825 " (signature vec4\n"
9827 " (declare (in) vec3 x))\n"
9829 " (signature vec4\n"
9831 " (declare (in) vec4 x))\n"
9834 static const char *functions_for_110_vert
[] = {
9851 builtin_faceforward
,
9855 builtin_greaterThan
,
9856 builtin_greaterThanEqual
,
9857 builtin_inversesqrt
,
9860 builtin_lessThanEqual
,
9863 builtin_matrixCompMult
,
9880 builtin_shadow1DLod
,
9881 builtin_shadow1DProj
,
9882 builtin_shadow1DProjLod
,
9884 builtin_shadow2DLod
,
9885 builtin_shadow2DProj
,
9886 builtin_shadow2DProjLod
,
9894 builtin_texture1DLod
,
9895 builtin_texture1DProj
,
9896 builtin_texture1DProjLod
,
9898 builtin_texture2DLod
,
9899 builtin_texture2DProj
,
9900 builtin_texture2DProjLod
,
9902 builtin_texture3DLod
,
9903 builtin_texture3DProj
,
9904 builtin_texture3DProjLod
,
9905 builtin_textureCube
,
9906 builtin_textureCubeLod
,
9908 static const char prototypes_for_120_frag
[] =
9910 "(function radians\n"
9911 " (signature float\n"
9913 " (declare (in) float degrees))\n"
9915 " (signature vec2\n"
9917 " (declare (in) vec2 degrees))\n"
9919 " (signature vec3\n"
9921 " (declare (in) vec3 degrees))\n"
9923 " (signature vec4\n"
9925 " (declare (in) vec4 degrees))\n"
9927 "(function degrees\n"
9928 " (signature float\n"
9930 " (declare (in) float radians))\n"
9932 " (signature vec2\n"
9934 " (declare (in) vec2 radians))\n"
9936 " (signature vec3\n"
9938 " (declare (in) vec3 radians))\n"
9940 " (signature vec4\n"
9942 " (declare (in) vec4 radians))\n"
9945 " (signature float\n"
9947 " (declare (in) float angle))\n"
9949 " (signature vec2\n"
9951 " (declare (in) vec2 angle))\n"
9953 " (signature vec3\n"
9955 " (declare (in) vec3 angle))\n"
9957 " (signature vec4\n"
9959 " (declare (in) vec4 angle))\n"
9962 " (signature float\n"
9964 " (declare (in) float angle))\n"
9966 " (signature vec2\n"
9968 " (declare (in) vec2 angle))\n"
9970 " (signature vec3\n"
9972 " (declare (in) vec3 angle))\n"
9974 " (signature vec4\n"
9976 " (declare (in) vec4 angle))\n"
9979 " (signature float\n"
9981 " (declare (in) float angle))\n"
9983 " (signature vec2\n"
9985 " (declare (in) vec2 angle))\n"
9987 " (signature vec3\n"
9989 " (declare (in) vec3 angle))\n"
9991 " (signature vec4\n"
9993 " (declare (in) vec4 angle))\n"
9996 " (signature float\n"
9998 " (declare (in) float angle))\n"
10000 " (signature vec2\n"
10002 " (declare (in) vec2 angle))\n"
10004 " (signature vec3\n"
10006 " (declare (in) vec3 angle))\n"
10008 " (signature vec4\n"
10010 " (declare (in) vec4 angle))\n"
10013 " (signature float\n"
10015 " (declare (in) float angle))\n"
10017 " (signature vec2\n"
10019 " (declare (in) vec2 angle))\n"
10021 " (signature vec3\n"
10023 " (declare (in) vec3 angle))\n"
10025 " (signature vec4\n"
10027 " (declare (in) vec4 angle))\n"
10030 " (signature float\n"
10032 " (declare (in) float y)\n"
10033 " (declare (in) float x))\n"
10035 " (signature vec2\n"
10037 " (declare (in) vec2 y)\n"
10038 " (declare (in) vec2 x))\n"
10040 " (signature vec3\n"
10042 " (declare (in) vec3 y)\n"
10043 " (declare (in) vec3 x))\n"
10045 " (signature vec4\n"
10047 " (declare (in) vec4 y)\n"
10048 " (declare (in) vec4 x))\n"
10050 " (signature float\n"
10052 " (declare (in) float y_over_x))\n"
10054 " (signature vec2\n"
10056 " (declare (in) vec2 y_over_x))\n"
10058 " (signature vec3\n"
10060 " (declare (in) vec3 y_over_x))\n"
10062 " (signature vec4\n"
10064 " (declare (in) vec4 y_over_x))\n"
10067 " (signature float\n"
10069 " (declare (in) float x)\n"
10070 " (declare (in) float y))\n"
10072 " (signature vec2\n"
10074 " (declare (in) vec2 x)\n"
10075 " (declare (in) vec2 y))\n"
10077 " (signature vec3\n"
10079 " (declare (in) vec3 x)\n"
10080 " (declare (in) vec3 y))\n"
10082 " (signature vec4\n"
10084 " (declare (in) vec4 x)\n"
10085 " (declare (in) vec4 y))\n"
10088 " (signature float\n"
10090 " (declare (in) float x))\n"
10092 " (signature vec2\n"
10094 " (declare (in) vec2 x))\n"
10096 " (signature vec3\n"
10098 " (declare (in) vec3 x))\n"
10100 " (signature vec4\n"
10102 " (declare (in) vec4 x))\n"
10105 " (signature float\n"
10107 " (declare (in) float x))\n"
10109 " (signature vec2\n"
10111 " (declare (in) vec2 x))\n"
10113 " (signature vec3\n"
10115 " (declare (in) vec3 x))\n"
10117 " (signature vec4\n"
10119 " (declare (in) vec4 x))\n"
10122 " (signature float\n"
10124 " (declare (in) float x))\n"
10126 " (signature vec2\n"
10128 " (declare (in) vec2 x))\n"
10130 " (signature vec3\n"
10132 " (declare (in) vec3 x))\n"
10134 " (signature vec4\n"
10136 " (declare (in) vec4 x))\n"
10139 " (signature float\n"
10141 " (declare (in) float x))\n"
10143 " (signature vec2\n"
10145 " (declare (in) vec2 x))\n"
10147 " (signature vec3\n"
10149 " (declare (in) vec3 x))\n"
10151 " (signature vec4\n"
10153 " (declare (in) vec4 x))\n"
10156 " (signature float\n"
10158 " (declare (in) float x))\n"
10160 " (signature vec2\n"
10162 " (declare (in) vec2 x))\n"
10164 " (signature vec3\n"
10166 " (declare (in) vec3 x))\n"
10168 " (signature vec4\n"
10170 " (declare (in) vec4 x))\n"
10172 "(function inversesqrt\n"
10173 " (signature float\n"
10175 " (declare (in) float x))\n"
10177 " (signature vec2\n"
10179 " (declare (in) vec2 x))\n"
10181 " (signature vec3\n"
10183 " (declare (in) vec3 x))\n"
10185 " (signature vec4\n"
10187 " (declare (in) vec4 x))\n"
10190 " (signature float\n"
10192 " (declare (in) float x))\n"
10194 " (signature vec2\n"
10196 " (declare (in) vec2 x))\n"
10198 " (signature vec3\n"
10200 " (declare (in) vec3 x))\n"
10202 " (signature vec4\n"
10204 " (declare (in) vec4 x))\n"
10207 " (signature float\n"
10209 " (declare (in) float x))\n"
10211 " (signature vec2\n"
10213 " (declare (in) vec2 x))\n"
10215 " (signature vec3\n"
10217 " (declare (in) vec3 x))\n"
10219 " (signature vec4\n"
10221 " (declare (in) vec4 x))\n"
10223 "(function floor\n"
10224 " (signature float\n"
10226 " (declare (in) float x))\n"
10228 " (signature vec2\n"
10230 " (declare (in) vec2 x))\n"
10232 " (signature vec3\n"
10234 " (declare (in) vec3 x))\n"
10236 " (signature vec4\n"
10238 " (declare (in) vec4 x))\n"
10241 " (signature float\n"
10243 " (declare (in) float x))\n"
10245 " (signature vec2\n"
10247 " (declare (in) vec2 x))\n"
10249 " (signature vec3\n"
10251 " (declare (in) vec3 x))\n"
10253 " (signature vec4\n"
10255 " (declare (in) vec4 x))\n"
10257 "(function fract\n"
10258 " (signature float\n"
10260 " (declare (in) float x))\n"
10262 " (signature vec2\n"
10264 " (declare (in) vec2 x))\n"
10266 " (signature vec3\n"
10268 " (declare (in) vec3 x))\n"
10270 " (signature vec4\n"
10272 " (declare (in) vec4 x))\n"
10275 " (signature float\n"
10277 " (declare (in) float x)\n"
10278 " (declare (in) float y))\n"
10280 " (signature vec2\n"
10282 " (declare (in) vec2 x)\n"
10283 " (declare (in) float y))\n"
10285 " (signature vec3\n"
10287 " (declare (in) vec3 x)\n"
10288 " (declare (in) float y))\n"
10290 " (signature vec4\n"
10292 " (declare (in) vec4 x)\n"
10293 " (declare (in) float y))\n"
10295 " (signature vec2\n"
10297 " (declare (in) vec2 x)\n"
10298 " (declare (in) vec2 y))\n"
10300 " (signature vec3\n"
10302 " (declare (in) vec3 x)\n"
10303 " (declare (in) vec3 y))\n"
10305 " (signature vec4\n"
10307 " (declare (in) vec4 x)\n"
10308 " (declare (in) vec4 y))\n"
10311 " (signature float\n"
10313 " (declare (in) float x)\n"
10314 " (declare (in) float y))\n"
10316 " (signature vec2\n"
10318 " (declare (in) vec2 x)\n"
10319 " (declare (in) vec2 y))\n"
10321 " (signature vec3\n"
10323 " (declare (in) vec3 x)\n"
10324 " (declare (in) vec3 y))\n"
10326 " (signature vec4\n"
10328 " (declare (in) vec4 x)\n"
10329 " (declare (in) vec4 y))\n"
10331 " (signature vec2\n"
10333 " (declare (in) vec2 x)\n"
10334 " (declare (in) float y))\n"
10336 " (signature vec3\n"
10338 " (declare (in) vec3 x)\n"
10339 " (declare (in) float y))\n"
10341 " (signature vec4\n"
10343 " (declare (in) vec4 x)\n"
10344 " (declare (in) float y))\n"
10347 " (signature float\n"
10349 " (declare (in) float x)\n"
10350 " (declare (in) float y))\n"
10352 " (signature vec2\n"
10354 " (declare (in) vec2 x)\n"
10355 " (declare (in) vec2 y))\n"
10357 " (signature vec3\n"
10359 " (declare (in) vec3 x)\n"
10360 " (declare (in) vec3 y))\n"
10362 " (signature vec4\n"
10364 " (declare (in) vec4 x)\n"
10365 " (declare (in) vec4 y))\n"
10367 " (signature vec2\n"
10369 " (declare (in) vec2 x)\n"
10370 " (declare (in) float y))\n"
10372 " (signature vec3\n"
10374 " (declare (in) vec3 x)\n"
10375 " (declare (in) float y))\n"
10377 " (signature vec4\n"
10379 " (declare (in) vec4 x)\n"
10380 " (declare (in) float y))\n"
10382 "(function clamp\n"
10383 " (signature float\n"
10385 " (declare (in) float x)\n"
10386 " (declare (in) float minVal)\n"
10387 " (declare (in) float maxVal))\n"
10389 " (signature vec2\n"
10391 " (declare (in) vec2 x)\n"
10392 " (declare (in) vec2 minVal)\n"
10393 " (declare (in) vec2 maxVal))\n"
10395 " (signature vec3\n"
10397 " (declare (in) vec3 x)\n"
10398 " (declare (in) vec3 minVal)\n"
10399 " (declare (in) vec3 maxVal))\n"
10401 " (signature vec4\n"
10403 " (declare (in) vec4 x)\n"
10404 " (declare (in) vec4 minVal)\n"
10405 " (declare (in) vec4 maxVal))\n"
10407 " (signature vec2\n"
10409 " (declare (in) vec2 x)\n"
10410 " (declare (in) float minVal)\n"
10411 " (declare (in) float maxVal))\n"
10413 " (signature vec3\n"
10415 " (declare (in) vec3 x)\n"
10416 " (declare (in) float minVal)\n"
10417 " (declare (in) float maxVal))\n"
10419 " (signature vec4\n"
10421 " (declare (in) vec4 x)\n"
10422 " (declare (in) float minVal)\n"
10423 " (declare (in) float maxVal))\n"
10426 " (signature float\n"
10428 " (declare (in) float x)\n"
10429 " (declare (in) float y)\n"
10430 " (declare (in) float a))\n"
10432 " (signature vec2\n"
10434 " (declare (in) vec2 x)\n"
10435 " (declare (in) vec2 y)\n"
10436 " (declare (in) vec2 a))\n"
10438 " (signature vec3\n"
10440 " (declare (in) vec3 x)\n"
10441 " (declare (in) vec3 y)\n"
10442 " (declare (in) vec3 a))\n"
10444 " (signature vec4\n"
10446 " (declare (in) vec4 x)\n"
10447 " (declare (in) vec4 y)\n"
10448 " (declare (in) vec4 a))\n"
10450 " (signature vec2\n"
10452 " (declare (in) vec2 x)\n"
10453 " (declare (in) vec2 y)\n"
10454 " (declare (in) float a))\n"
10456 " (signature vec3\n"
10458 " (declare (in) vec3 x)\n"
10459 " (declare (in) vec3 y)\n"
10460 " (declare (in) float a))\n"
10462 " (signature vec4\n"
10464 " (declare (in) vec4 x)\n"
10465 " (declare (in) vec4 y)\n"
10466 " (declare (in) float a))\n"
10469 " (signature float\n"
10471 " (declare (in) float edge)\n"
10472 " (declare (in) float x))\n"
10474 " (signature vec2\n"
10476 " (declare (in) vec2 edge)\n"
10477 " (declare (in) vec2 x))\n"
10479 " (signature vec3\n"
10481 " (declare (in) vec3 edge)\n"
10482 " (declare (in) vec3 x))\n"
10484 " (signature vec4\n"
10486 " (declare (in) vec4 edge)\n"
10487 " (declare (in) vec4 x))\n"
10489 " (signature vec2\n"
10491 " (declare (in) float edge)\n"
10492 " (declare (in) vec2 x))\n"
10494 " (signature vec3\n"
10496 " (declare (in) float edge)\n"
10497 " (declare (in) vec3 x))\n"
10499 " (signature vec4\n"
10501 " (declare (in) float edge)\n"
10502 " (declare (in) vec4 x))\n"
10504 "(function smoothstep\n"
10505 " (signature float\n"
10507 " (declare (in) float edge0)\n"
10508 " (declare (in) float edge1)\n"
10509 " (declare (in) float x))\n"
10511 " (signature vec2\n"
10513 " (declare (in) vec2 edge0)\n"
10514 " (declare (in) vec2 edge1)\n"
10515 " (declare (in) vec2 x))\n"
10517 " (signature vec3\n"
10519 " (declare (in) vec3 edge0)\n"
10520 " (declare (in) vec3 edge1)\n"
10521 " (declare (in) vec3 x))\n"
10523 " (signature vec4\n"
10525 " (declare (in) vec4 edge0)\n"
10526 " (declare (in) vec4 edge1)\n"
10527 " (declare (in) vec4 x))\n"
10529 " (signature vec2\n"
10531 " (declare (in) float edge0)\n"
10532 " (declare (in) float edge1)\n"
10533 " (declare (in) vec2 x))\n"
10535 " (signature vec3\n"
10537 " (declare (in) float edge0)\n"
10538 " (declare (in) float edge1)\n"
10539 " (declare (in) vec3 x))\n"
10541 " (signature vec4\n"
10543 " (declare (in) float edge0)\n"
10544 " (declare (in) float edge1)\n"
10545 " (declare (in) vec4 x))\n"
10547 "(function length\n"
10548 " (signature float\n"
10550 " (declare (in) float x))\n"
10552 " (signature float\n"
10554 " (declare (in) vec2 x))\n"
10556 " (signature float\n"
10558 " (declare (in) vec3 x))\n"
10560 " (signature float\n"
10562 " (declare (in) vec4 x))\n"
10564 "(function distance\n"
10565 " (signature float\n"
10567 " (declare (in) float p0)\n"
10568 " (declare (in) float p1))\n"
10570 " (signature float\n"
10572 " (declare (in) vec2 p0)\n"
10573 " (declare (in) vec2 p1))\n"
10575 " (signature float\n"
10577 " (declare (in) vec3 p0)\n"
10578 " (declare (in) vec3 p1))\n"
10580 " (signature float\n"
10582 " (declare (in) vec4 p0)\n"
10583 " (declare (in) vec4 p1))\n"
10586 " (signature float\n"
10588 " (declare (in) float x)\n"
10589 " (declare (in) float y))\n"
10591 " (signature float\n"
10593 " (declare (in) vec2 x)\n"
10594 " (declare (in) vec2 y))\n"
10596 " (signature float\n"
10598 " (declare (in) vec3 x)\n"
10599 " (declare (in) vec3 y))\n"
10601 " (signature float\n"
10603 " (declare (in) vec4 x)\n"
10604 " (declare (in) vec4 y))\n"
10606 "(function cross\n"
10607 " (signature vec3\n"
10609 " (declare (in) vec3 x)\n"
10610 " (declare (in) vec3 y))\n"
10612 "(function normalize\n"
10613 " (signature float\n"
10615 " (declare (in) float x))\n"
10617 " (signature vec2\n"
10619 " (declare (in) vec2 x))\n"
10621 " (signature vec3\n"
10623 " (declare (in) vec3 x))\n"
10625 " (signature vec4\n"
10627 " (declare (in) vec4 x))\n"
10629 "(function faceforward\n"
10630 " (signature float\n"
10632 " (declare (in) float N)\n"
10633 " (declare (in) float I)\n"
10634 " (declare (in) float Nref))\n"
10636 " (signature vec2\n"
10638 " (declare (in) vec2 N)\n"
10639 " (declare (in) vec2 I)\n"
10640 " (declare (in) vec2 Nref))\n"
10642 " (signature vec3\n"
10644 " (declare (in) vec3 N)\n"
10645 " (declare (in) vec3 I)\n"
10646 " (declare (in) vec3 Nref))\n"
10648 " (signature vec4\n"
10650 " (declare (in) vec4 N)\n"
10651 " (declare (in) vec4 I)\n"
10652 " (declare (in) vec4 Nref))\n"
10654 "(function reflect\n"
10655 " (signature float\n"
10657 " (declare (in) float I)\n"
10658 " (declare (in) float N))\n"
10660 " (signature vec2\n"
10662 " (declare (in) vec2 I)\n"
10663 " (declare (in) vec2 N))\n"
10665 " (signature vec3\n"
10667 " (declare (in) vec3 I)\n"
10668 " (declare (in) vec3 N))\n"
10670 " (signature vec4\n"
10672 " (declare (in) vec4 I)\n"
10673 " (declare (in) vec4 N))\n"
10675 "(function refract\n"
10676 " (signature float\n"
10678 " (declare (in) float I)\n"
10679 " (declare (in) float N)\n"
10680 " (declare (in) float eta))\n"
10682 " (signature vec2\n"
10684 " (declare (in) vec2 I)\n"
10685 " (declare (in) vec2 N)\n"
10686 " (declare (in) float eta))\n"
10688 " (signature vec3\n"
10690 " (declare (in) vec3 I)\n"
10691 " (declare (in) vec3 N)\n"
10692 " (declare (in) float eta))\n"
10694 " (signature vec4\n"
10696 " (declare (in) vec4 I)\n"
10697 " (declare (in) vec4 N)\n"
10698 " (declare (in) float eta))\n"
10700 "(function matrixCompMult\n"
10701 " (signature mat2\n"
10703 " (declare (in) mat2 x)\n"
10704 " (declare (in) mat2 y))\n"
10706 " (signature mat3\n"
10708 " (declare (in) mat3 x)\n"
10709 " (declare (in) mat3 y))\n"
10711 " (signature mat4\n"
10713 " (declare (in) mat4 x)\n"
10714 " (declare (in) mat4 y))\n"
10716 " (signature mat2x3\n"
10718 " (declare (in) mat2x3 x)\n"
10719 " (declare (in) mat2x3 y))\n"
10721 " (signature mat2x4\n"
10723 " (declare (in) mat2x4 x)\n"
10724 " (declare (in) mat2x4 y))\n"
10726 " (signature mat3x2\n"
10728 " (declare (in) mat3x2 x)\n"
10729 " (declare (in) mat3x2 y))\n"
10731 " (signature mat3x4\n"
10733 " (declare (in) mat3x4 x)\n"
10734 " (declare (in) mat3x4 y))\n"
10736 " (signature mat4x2\n"
10738 " (declare (in) mat4x2 x)\n"
10739 " (declare (in) mat4x2 y))\n"
10741 " (signature mat4x3\n"
10743 " (declare (in) mat4x3 x)\n"
10744 " (declare (in) mat4x3 y))\n"
10746 "(function outerProduct\n"
10747 " (signature mat2\n"
10749 " (declare (in) vec2 c)\n"
10750 " (declare (in) vec2 r))\n"
10752 " (signature mat3\n"
10754 " (declare (in) vec3 c)\n"
10755 " (declare (in) vec3 r))\n"
10757 " (signature mat4\n"
10759 " (declare (in) vec4 c)\n"
10760 " (declare (in) vec4 r))\n"
10762 " (signature mat2x3\n"
10764 " (declare (in) vec3 c)\n"
10765 " (declare (in) vec2 r))\n"
10767 " (signature mat3x2\n"
10769 " (declare (in) vec2 c)\n"
10770 " (declare (in) vec3 r))\n"
10772 " (signature mat2x4\n"
10774 " (declare (in) vec4 c)\n"
10775 " (declare (in) vec2 r))\n"
10777 " (signature mat4x2\n"
10779 " (declare (in) vec2 c)\n"
10780 " (declare (in) vec4 r))\n"
10782 " (signature mat3x4\n"
10784 " (declare (in) vec4 c)\n"
10785 " (declare (in) vec3 r))\n"
10787 " (signature mat4x3\n"
10789 " (declare (in) vec3 c)\n"
10790 " (declare (in) vec4 r))\n"
10792 "(function transpose\n"
10793 " (signature mat2\n"
10795 " (declare (in) mat2 m))\n"
10797 " (signature mat3\n"
10799 " (declare (in) mat3 m))\n"
10801 " (signature mat4\n"
10803 " (declare (in) mat4 m))\n"
10805 " (signature mat2x3\n"
10807 " (declare (in) mat3x2 m))\n"
10809 " (signature mat3x2\n"
10811 " (declare (in) mat2x3 m))\n"
10813 " (signature mat2x4\n"
10815 " (declare (in) mat4x2 m))\n"
10817 " (signature mat4x2\n"
10819 " (declare (in) mat2x4 m))\n"
10821 " (signature mat3x4\n"
10823 " (declare (in) mat4x3 m))\n"
10825 " (signature mat4x3\n"
10827 " (declare (in) mat3x4 m))\n"
10829 "(function lessThan\n"
10830 " (signature bvec2\n"
10832 " (declare (in) vec2 x)\n"
10833 " (declare (in) vec2 y))\n"
10835 " (signature bvec3\n"
10837 " (declare (in) vec3 x)\n"
10838 " (declare (in) vec3 y))\n"
10840 " (signature bvec4\n"
10842 " (declare (in) vec4 x)\n"
10843 " (declare (in) vec4 y))\n"
10845 " (signature bvec2\n"
10847 " (declare (in) ivec2 x)\n"
10848 " (declare (in) ivec2 y))\n"
10850 " (signature bvec3\n"
10852 " (declare (in) ivec3 x)\n"
10853 " (declare (in) ivec3 y))\n"
10855 " (signature bvec4\n"
10857 " (declare (in) ivec4 x)\n"
10858 " (declare (in) ivec4 y))\n"
10860 "(function lessThanEqual\n"
10861 " (signature bvec2\n"
10863 " (declare (in) vec2 x)\n"
10864 " (declare (in) vec2 y))\n"
10866 " (signature bvec3\n"
10868 " (declare (in) vec3 x)\n"
10869 " (declare (in) vec3 y))\n"
10871 " (signature bvec4\n"
10873 " (declare (in) vec4 x)\n"
10874 " (declare (in) vec4 y))\n"
10876 " (signature bvec2\n"
10878 " (declare (in) ivec2 x)\n"
10879 " (declare (in) ivec2 y))\n"
10881 " (signature bvec3\n"
10883 " (declare (in) ivec3 x)\n"
10884 " (declare (in) ivec3 y))\n"
10886 " (signature bvec4\n"
10888 " (declare (in) ivec4 x)\n"
10889 " (declare (in) ivec4 y))\n"
10891 "(function greaterThan\n"
10892 " (signature bvec2\n"
10894 " (declare (in) vec2 x)\n"
10895 " (declare (in) vec2 y))\n"
10897 " (signature bvec3\n"
10899 " (declare (in) vec3 x)\n"
10900 " (declare (in) vec3 y))\n"
10902 " (signature bvec4\n"
10904 " (declare (in) vec4 x)\n"
10905 " (declare (in) vec4 y))\n"
10907 " (signature bvec2\n"
10909 " (declare (in) ivec2 x)\n"
10910 " (declare (in) ivec2 y))\n"
10912 " (signature bvec3\n"
10914 " (declare (in) ivec3 x)\n"
10915 " (declare (in) ivec3 y))\n"
10917 " (signature bvec4\n"
10919 " (declare (in) ivec4 x)\n"
10920 " (declare (in) ivec4 y))\n"
10922 "(function greaterThanEqual\n"
10923 " (signature bvec2\n"
10925 " (declare (in) vec2 x)\n"
10926 " (declare (in) vec2 y))\n"
10928 " (signature bvec3\n"
10930 " (declare (in) vec3 x)\n"
10931 " (declare (in) vec3 y))\n"
10933 " (signature bvec4\n"
10935 " (declare (in) vec4 x)\n"
10936 " (declare (in) vec4 y))\n"
10938 " (signature bvec2\n"
10940 " (declare (in) ivec2 x)\n"
10941 " (declare (in) ivec2 y))\n"
10943 " (signature bvec3\n"
10945 " (declare (in) ivec3 x)\n"
10946 " (declare (in) ivec3 y))\n"
10948 " (signature bvec4\n"
10950 " (declare (in) ivec4 x)\n"
10951 " (declare (in) ivec4 y))\n"
10953 "(function equal\n"
10954 " (signature bvec2\n"
10956 " (declare (in) vec2 x)\n"
10957 " (declare (in) vec2 y))\n"
10959 " (signature bvec3\n"
10961 " (declare (in) vec3 x)\n"
10962 " (declare (in) vec3 y))\n"
10964 " (signature bvec4\n"
10966 " (declare (in) vec4 x)\n"
10967 " (declare (in) vec4 y))\n"
10969 " (signature bvec2\n"
10971 " (declare (in) ivec2 x)\n"
10972 " (declare (in) ivec2 y))\n"
10974 " (signature bvec3\n"
10976 " (declare (in) ivec3 x)\n"
10977 " (declare (in) ivec3 y))\n"
10979 " (signature bvec4\n"
10981 " (declare (in) ivec4 x)\n"
10982 " (declare (in) ivec4 y))\n"
10984 " (signature bvec2\n"
10986 " (declare (in) bvec2 x)\n"
10987 " (declare (in) bvec2 y))\n"
10989 " (signature bvec3\n"
10991 " (declare (in) bvec3 x)\n"
10992 " (declare (in) bvec3 y))\n"
10994 " (signature bvec4\n"
10996 " (declare (in) bvec4 x)\n"
10997 " (declare (in) bvec4 y))\n"
10999 "(function notEqual\n"
11000 " (signature bvec2\n"
11002 " (declare (in) vec2 x)\n"
11003 " (declare (in) vec2 y))\n"
11005 " (signature bvec3\n"
11007 " (declare (in) vec3 x)\n"
11008 " (declare (in) vec3 y))\n"
11010 " (signature bvec4\n"
11012 " (declare (in) vec4 x)\n"
11013 " (declare (in) vec4 y))\n"
11015 " (signature bvec2\n"
11017 " (declare (in) ivec2 x)\n"
11018 " (declare (in) ivec2 y))\n"
11020 " (signature bvec3\n"
11022 " (declare (in) ivec3 x)\n"
11023 " (declare (in) ivec3 y))\n"
11025 " (signature bvec4\n"
11027 " (declare (in) ivec4 x)\n"
11028 " (declare (in) ivec4 y))\n"
11030 " (signature bvec2\n"
11032 " (declare (in) bvec2 x)\n"
11033 " (declare (in) bvec2 y))\n"
11035 " (signature bvec3\n"
11037 " (declare (in) bvec3 x)\n"
11038 " (declare (in) bvec3 y))\n"
11040 " (signature bvec4\n"
11042 " (declare (in) bvec4 x)\n"
11043 " (declare (in) bvec4 y))\n"
11046 " (signature bool\n"
11048 " (declare (in) bvec2 x))\n"
11050 " (signature bool\n"
11052 " (declare (in) bvec3 x))\n"
11054 " (signature bool\n"
11056 " (declare (in) bvec4 x))\n"
11059 " (signature bool\n"
11061 " (declare (in) bvec2 x))\n"
11063 " (signature bool\n"
11065 " (declare (in) bvec3 x))\n"
11067 " (signature bool\n"
11069 " (declare (in) bvec4 x))\n"
11072 " (signature bvec2\n"
11074 " (declare (in) bvec2 x))\n"
11076 " (signature bvec3\n"
11078 " (declare (in) bvec3 x))\n"
11080 " (signature bvec4\n"
11082 " (declare (in) bvec4 x))\n"
11084 "(function texture1D\n"
11085 " (signature vec4\n"
11087 " (declare (in) sampler1D sampler)\n"
11088 " (declare (in) float coord))\n"
11090 " (signature vec4\n"
11092 " (declare (in) sampler1D sampler)\n"
11093 " (declare (in) float coord)\n"
11094 " (declare (in) float bias))\n"
11096 "(function texture1DProj\n"
11097 " (signature vec4\n"
11099 " (declare (in) sampler1D sampler)\n"
11100 " (declare (in) vec2 coord))\n"
11102 " (signature vec4\n"
11104 " (declare (in) sampler1D sampler)\n"
11105 " (declare (in) vec4 coord))\n"
11107 " (signature vec4\n"
11109 " (declare (in) sampler1D sampler)\n"
11110 " (declare (in) vec2 coord)\n"
11111 " (declare (in) float bias))\n"
11113 " (signature vec4\n"
11115 " (declare (in) sampler1D sampler)\n"
11116 " (declare (in) vec4 coord)\n"
11117 " (declare (in) float bias))\n"
11119 "(function texture2D\n"
11120 " (signature vec4\n"
11122 " (declare (in) sampler2D sampler)\n"
11123 " (declare (in) vec2 coord))\n"
11125 " (signature vec4\n"
11127 " (declare (in) sampler2D sampler)\n"
11128 " (declare (in) vec2 coord)\n"
11129 " (declare (in) float bias))\n"
11131 "(function texture2DProj\n"
11132 " (signature vec4\n"
11134 " (declare (in) sampler2D sampler)\n"
11135 " (declare (in) vec3 coord))\n"
11137 " (signature vec4\n"
11139 " (declare (in) sampler2D sampler)\n"
11140 " (declare (in) vec4 coord))\n"
11142 " (signature vec4\n"
11144 " (declare (in) sampler2D sampler)\n"
11145 " (declare (in) vec3 coord)\n"
11146 " (declare (in) float bias))\n"
11148 " (signature vec4\n"
11150 " (declare (in) sampler2D sampler)\n"
11151 " (declare (in) vec4 coord)\n"
11152 " (declare (in) float bias))\n"
11154 "(function texture3D\n"
11155 " (signature vec4\n"
11157 " (declare (in) sampler3D sampler)\n"
11158 " (declare (in) vec3 coord))\n"
11160 " (signature vec4\n"
11162 " (declare (in) sampler3D sampler)\n"
11163 " (declare (in) vec3 coord)\n"
11164 " (declare (in) float bias))\n"
11166 "(function texture3DProj\n"
11167 " (signature vec4\n"
11169 " (declare (in) sampler3D sampler)\n"
11170 " (declare (in) vec4 coord))\n"
11172 " (signature vec4\n"
11174 " (declare (in) sampler3D sampler)\n"
11175 " (declare (in) vec4 coord)\n"
11176 " (declare (in) float bias))\n"
11178 "(function textureCube\n"
11179 " (signature vec4\n"
11181 " (declare (in) samplerCube sampler)\n"
11182 " (declare (in) vec3 coord))\n"
11184 " (signature vec4\n"
11186 " (declare (in) samplerCube sampler)\n"
11187 " (declare (in) vec3 coord)\n"
11188 " (declare (in) float bias))\n"
11190 "(function shadow1D\n"
11191 " (signature vec4\n"
11193 " (declare (in) sampler1DShadow sampler)\n"
11194 " (declare (in) vec3 coord))\n"
11196 " (signature vec4\n"
11198 " (declare (in) sampler1DShadow sampler)\n"
11199 " (declare (in) vec3 coord)\n"
11200 " (declare (in) float bias))\n"
11202 "(function shadow2D\n"
11203 " (signature vec4\n"
11205 " (declare (in) sampler2DShadow sampler)\n"
11206 " (declare (in) vec3 coord))\n"
11208 " (signature vec4\n"
11210 " (declare (in) sampler2DShadow sampler)\n"
11211 " (declare (in) vec3 coord)\n"
11212 " (declare (in) float bias))\n"
11214 "(function shadow1DProj\n"
11215 " (signature vec4\n"
11217 " (declare (in) sampler1DShadow sampler)\n"
11218 " (declare (in) vec4 coord))\n"
11220 " (signature vec4\n"
11222 " (declare (in) sampler1DShadow sampler)\n"
11223 " (declare (in) vec4 coord)\n"
11224 " (declare (in) float bias))\n"
11226 "(function shadow2DProj\n"
11227 " (signature vec4\n"
11229 " (declare (in) sampler2DShadow sampler)\n"
11230 " (declare (in) vec4 coord))\n"
11232 " (signature vec4\n"
11234 " (declare (in) sampler2DShadow sampler)\n"
11235 " (declare (in) vec4 coord)\n"
11236 " (declare (in) float bias))\n"
11239 " (signature float\n"
11241 " (declare (in) float p))\n"
11243 " (signature vec2\n"
11245 " (declare (in) vec2 p))\n"
11247 " (signature vec3\n"
11249 " (declare (in) vec3 p))\n"
11251 " (signature vec4\n"
11253 " (declare (in) vec4 p))\n"
11256 " (signature float\n"
11258 " (declare (in) float p))\n"
11260 " (signature vec2\n"
11262 " (declare (in) vec2 p))\n"
11264 " (signature vec3\n"
11266 " (declare (in) vec3 p))\n"
11268 " (signature vec4\n"
11270 " (declare (in) vec4 p))\n"
11272 "(function fwidth\n"
11273 " (signature float\n"
11275 " (declare (in) float p))\n"
11277 " (signature vec2\n"
11279 " (declare (in) vec2 p))\n"
11281 " (signature vec3\n"
11283 " (declare (in) vec3 p))\n"
11285 " (signature vec4\n"
11287 " (declare (in) vec4 p))\n"
11289 "(function noise1\n"
11290 " (signature float\n"
11292 " (declare (in) float x))\n"
11294 " (signature float\n"
11296 " (declare (in) vec2 x))\n"
11298 " (signature float\n"
11300 " (declare (in) vec3 x))\n"
11302 " (signature float\n"
11304 " (declare (in) vec4 x))\n"
11306 "(function noise2\n"
11307 " (signature vec2\n"
11309 " (declare (in) float x))\n"
11311 " (signature vec2\n"
11313 " (declare (in) vec2 x))\n"
11315 " (signature vec2\n"
11317 " (declare (in) vec3 x))\n"
11319 " (signature vec2\n"
11321 " (declare (in) vec4 x))\n"
11323 "(function noise3\n"
11324 " (signature vec3\n"
11326 " (declare (in) float x))\n"
11328 " (signature vec3\n"
11330 " (declare (in) vec2 x))\n"
11332 " (signature vec3\n"
11334 " (declare (in) vec3 x))\n"
11336 " (signature vec3\n"
11338 " (declare (in) vec4 x))\n"
11340 "(function noise4\n"
11341 " (signature vec4\n"
11343 " (declare (in) float x))\n"
11345 " (signature vec4\n"
11347 " (declare (in) vec2 x))\n"
11349 " (signature vec4\n"
11351 " (declare (in) vec3 x))\n"
11353 " (signature vec4\n"
11355 " (declare (in) vec4 x))\n"
11358 static const char *functions_for_120_frag
[] = {
11377 builtin_faceforward
,
11381 builtin_greaterThan
,
11382 builtin_greaterThanEqual
,
11383 builtin_inversesqrt
,
11386 builtin_lessThanEqual
,
11389 builtin_matrixCompMult
,
11401 builtin_outerProduct
,
11407 builtin_shadow1DProj
,
11409 builtin_shadow2DProj
,
11412 builtin_smoothstep
,
11417 builtin_texture1DProj
,
11419 builtin_texture2DProj
,
11421 builtin_texture3DProj
,
11422 builtin_textureCube
,
11425 static const char prototypes_for_120_vert
[] =
11427 "(function radians\n"
11428 " (signature float\n"
11430 " (declare (in) float degrees))\n"
11432 " (signature vec2\n"
11434 " (declare (in) vec2 degrees))\n"
11436 " (signature vec3\n"
11438 " (declare (in) vec3 degrees))\n"
11440 " (signature vec4\n"
11442 " (declare (in) vec4 degrees))\n"
11444 "(function degrees\n"
11445 " (signature float\n"
11447 " (declare (in) float radians))\n"
11449 " (signature vec2\n"
11451 " (declare (in) vec2 radians))\n"
11453 " (signature vec3\n"
11455 " (declare (in) vec3 radians))\n"
11457 " (signature vec4\n"
11459 " (declare (in) vec4 radians))\n"
11462 " (signature float\n"
11464 " (declare (in) float angle))\n"
11466 " (signature vec2\n"
11468 " (declare (in) vec2 angle))\n"
11470 " (signature vec3\n"
11472 " (declare (in) vec3 angle))\n"
11474 " (signature vec4\n"
11476 " (declare (in) vec4 angle))\n"
11479 " (signature float\n"
11481 " (declare (in) float angle))\n"
11483 " (signature vec2\n"
11485 " (declare (in) vec2 angle))\n"
11487 " (signature vec3\n"
11489 " (declare (in) vec3 angle))\n"
11491 " (signature vec4\n"
11493 " (declare (in) vec4 angle))\n"
11496 " (signature float\n"
11498 " (declare (in) float angle))\n"
11500 " (signature vec2\n"
11502 " (declare (in) vec2 angle))\n"
11504 " (signature vec3\n"
11506 " (declare (in) vec3 angle))\n"
11508 " (signature vec4\n"
11510 " (declare (in) vec4 angle))\n"
11513 " (signature float\n"
11515 " (declare (in) float angle))\n"
11517 " (signature vec2\n"
11519 " (declare (in) vec2 angle))\n"
11521 " (signature vec3\n"
11523 " (declare (in) vec3 angle))\n"
11525 " (signature vec4\n"
11527 " (declare (in) vec4 angle))\n"
11530 " (signature float\n"
11532 " (declare (in) float angle))\n"
11534 " (signature vec2\n"
11536 " (declare (in) vec2 angle))\n"
11538 " (signature vec3\n"
11540 " (declare (in) vec3 angle))\n"
11542 " (signature vec4\n"
11544 " (declare (in) vec4 angle))\n"
11547 " (signature float\n"
11549 " (declare (in) float y)\n"
11550 " (declare (in) float x))\n"
11552 " (signature vec2\n"
11554 " (declare (in) vec2 y)\n"
11555 " (declare (in) vec2 x))\n"
11557 " (signature vec3\n"
11559 " (declare (in) vec3 y)\n"
11560 " (declare (in) vec3 x))\n"
11562 " (signature vec4\n"
11564 " (declare (in) vec4 y)\n"
11565 " (declare (in) vec4 x))\n"
11567 " (signature float\n"
11569 " (declare (in) float y_over_x))\n"
11571 " (signature vec2\n"
11573 " (declare (in) vec2 y_over_x))\n"
11575 " (signature vec3\n"
11577 " (declare (in) vec3 y_over_x))\n"
11579 " (signature vec4\n"
11581 " (declare (in) vec4 y_over_x))\n"
11584 " (signature float\n"
11586 " (declare (in) float x)\n"
11587 " (declare (in) float y))\n"
11589 " (signature vec2\n"
11591 " (declare (in) vec2 x)\n"
11592 " (declare (in) vec2 y))\n"
11594 " (signature vec3\n"
11596 " (declare (in) vec3 x)\n"
11597 " (declare (in) vec3 y))\n"
11599 " (signature vec4\n"
11601 " (declare (in) vec4 x)\n"
11602 " (declare (in) vec4 y))\n"
11605 " (signature float\n"
11607 " (declare (in) float x))\n"
11609 " (signature vec2\n"
11611 " (declare (in) vec2 x))\n"
11613 " (signature vec3\n"
11615 " (declare (in) vec3 x))\n"
11617 " (signature vec4\n"
11619 " (declare (in) vec4 x))\n"
11622 " (signature float\n"
11624 " (declare (in) float x))\n"
11626 " (signature vec2\n"
11628 " (declare (in) vec2 x))\n"
11630 " (signature vec3\n"
11632 " (declare (in) vec3 x))\n"
11634 " (signature vec4\n"
11636 " (declare (in) vec4 x))\n"
11639 " (signature float\n"
11641 " (declare (in) float x))\n"
11643 " (signature vec2\n"
11645 " (declare (in) vec2 x))\n"
11647 " (signature vec3\n"
11649 " (declare (in) vec3 x))\n"
11651 " (signature vec4\n"
11653 " (declare (in) vec4 x))\n"
11656 " (signature float\n"
11658 " (declare (in) float x))\n"
11660 " (signature vec2\n"
11662 " (declare (in) vec2 x))\n"
11664 " (signature vec3\n"
11666 " (declare (in) vec3 x))\n"
11668 " (signature vec4\n"
11670 " (declare (in) vec4 x))\n"
11673 " (signature float\n"
11675 " (declare (in) float x))\n"
11677 " (signature vec2\n"
11679 " (declare (in) vec2 x))\n"
11681 " (signature vec3\n"
11683 " (declare (in) vec3 x))\n"
11685 " (signature vec4\n"
11687 " (declare (in) vec4 x))\n"
11689 "(function inversesqrt\n"
11690 " (signature float\n"
11692 " (declare (in) float x))\n"
11694 " (signature vec2\n"
11696 " (declare (in) vec2 x))\n"
11698 " (signature vec3\n"
11700 " (declare (in) vec3 x))\n"
11702 " (signature vec4\n"
11704 " (declare (in) vec4 x))\n"
11707 " (signature float\n"
11709 " (declare (in) float x))\n"
11711 " (signature vec2\n"
11713 " (declare (in) vec2 x))\n"
11715 " (signature vec3\n"
11717 " (declare (in) vec3 x))\n"
11719 " (signature vec4\n"
11721 " (declare (in) vec4 x))\n"
11724 " (signature float\n"
11726 " (declare (in) float x))\n"
11728 " (signature vec2\n"
11730 " (declare (in) vec2 x))\n"
11732 " (signature vec3\n"
11734 " (declare (in) vec3 x))\n"
11736 " (signature vec4\n"
11738 " (declare (in) vec4 x))\n"
11740 "(function floor\n"
11741 " (signature float\n"
11743 " (declare (in) float x))\n"
11745 " (signature vec2\n"
11747 " (declare (in) vec2 x))\n"
11749 " (signature vec3\n"
11751 " (declare (in) vec3 x))\n"
11753 " (signature vec4\n"
11755 " (declare (in) vec4 x))\n"
11758 " (signature float\n"
11760 " (declare (in) float x))\n"
11762 " (signature vec2\n"
11764 " (declare (in) vec2 x))\n"
11766 " (signature vec3\n"
11768 " (declare (in) vec3 x))\n"
11770 " (signature vec4\n"
11772 " (declare (in) vec4 x))\n"
11774 "(function fract\n"
11775 " (signature float\n"
11777 " (declare (in) float x))\n"
11779 " (signature vec2\n"
11781 " (declare (in) vec2 x))\n"
11783 " (signature vec3\n"
11785 " (declare (in) vec3 x))\n"
11787 " (signature vec4\n"
11789 " (declare (in) vec4 x))\n"
11792 " (signature float\n"
11794 " (declare (in) float x)\n"
11795 " (declare (in) float y))\n"
11797 " (signature vec2\n"
11799 " (declare (in) vec2 x)\n"
11800 " (declare (in) float y))\n"
11802 " (signature vec3\n"
11804 " (declare (in) vec3 x)\n"
11805 " (declare (in) float y))\n"
11807 " (signature vec4\n"
11809 " (declare (in) vec4 x)\n"
11810 " (declare (in) float y))\n"
11812 " (signature vec2\n"
11814 " (declare (in) vec2 x)\n"
11815 " (declare (in) vec2 y))\n"
11817 " (signature vec3\n"
11819 " (declare (in) vec3 x)\n"
11820 " (declare (in) vec3 y))\n"
11822 " (signature vec4\n"
11824 " (declare (in) vec4 x)\n"
11825 " (declare (in) vec4 y))\n"
11828 " (signature float\n"
11830 " (declare (in) float x)\n"
11831 " (declare (in) float y))\n"
11833 " (signature vec2\n"
11835 " (declare (in) vec2 x)\n"
11836 " (declare (in) vec2 y))\n"
11838 " (signature vec3\n"
11840 " (declare (in) vec3 x)\n"
11841 " (declare (in) vec3 y))\n"
11843 " (signature vec4\n"
11845 " (declare (in) vec4 x)\n"
11846 " (declare (in) vec4 y))\n"
11848 " (signature vec2\n"
11850 " (declare (in) vec2 x)\n"
11851 " (declare (in) float y))\n"
11853 " (signature vec3\n"
11855 " (declare (in) vec3 x)\n"
11856 " (declare (in) float y))\n"
11858 " (signature vec4\n"
11860 " (declare (in) vec4 x)\n"
11861 " (declare (in) float y))\n"
11864 " (signature float\n"
11866 " (declare (in) float x)\n"
11867 " (declare (in) float y))\n"
11869 " (signature vec2\n"
11871 " (declare (in) vec2 x)\n"
11872 " (declare (in) vec2 y))\n"
11874 " (signature vec3\n"
11876 " (declare (in) vec3 x)\n"
11877 " (declare (in) vec3 y))\n"
11879 " (signature vec4\n"
11881 " (declare (in) vec4 x)\n"
11882 " (declare (in) vec4 y))\n"
11884 " (signature vec2\n"
11886 " (declare (in) vec2 x)\n"
11887 " (declare (in) float y))\n"
11889 " (signature vec3\n"
11891 " (declare (in) vec3 x)\n"
11892 " (declare (in) float y))\n"
11894 " (signature vec4\n"
11896 " (declare (in) vec4 x)\n"
11897 " (declare (in) float y))\n"
11899 "(function clamp\n"
11900 " (signature float\n"
11902 " (declare (in) float x)\n"
11903 " (declare (in) float minVal)\n"
11904 " (declare (in) float maxVal))\n"
11906 " (signature vec2\n"
11908 " (declare (in) vec2 x)\n"
11909 " (declare (in) vec2 minVal)\n"
11910 " (declare (in) vec2 maxVal))\n"
11912 " (signature vec3\n"
11914 " (declare (in) vec3 x)\n"
11915 " (declare (in) vec3 minVal)\n"
11916 " (declare (in) vec3 maxVal))\n"
11918 " (signature vec4\n"
11920 " (declare (in) vec4 x)\n"
11921 " (declare (in) vec4 minVal)\n"
11922 " (declare (in) vec4 maxVal))\n"
11924 " (signature vec2\n"
11926 " (declare (in) vec2 x)\n"
11927 " (declare (in) float minVal)\n"
11928 " (declare (in) float maxVal))\n"
11930 " (signature vec3\n"
11932 " (declare (in) vec3 x)\n"
11933 " (declare (in) float minVal)\n"
11934 " (declare (in) float maxVal))\n"
11936 " (signature vec4\n"
11938 " (declare (in) vec4 x)\n"
11939 " (declare (in) float minVal)\n"
11940 " (declare (in) float maxVal))\n"
11943 " (signature float\n"
11945 " (declare (in) float x)\n"
11946 " (declare (in) float y)\n"
11947 " (declare (in) float a))\n"
11949 " (signature vec2\n"
11951 " (declare (in) vec2 x)\n"
11952 " (declare (in) vec2 y)\n"
11953 " (declare (in) vec2 a))\n"
11955 " (signature vec3\n"
11957 " (declare (in) vec3 x)\n"
11958 " (declare (in) vec3 y)\n"
11959 " (declare (in) vec3 a))\n"
11961 " (signature vec4\n"
11963 " (declare (in) vec4 x)\n"
11964 " (declare (in) vec4 y)\n"
11965 " (declare (in) vec4 a))\n"
11967 " (signature vec2\n"
11969 " (declare (in) vec2 x)\n"
11970 " (declare (in) vec2 y)\n"
11971 " (declare (in) float a))\n"
11973 " (signature vec3\n"
11975 " (declare (in) vec3 x)\n"
11976 " (declare (in) vec3 y)\n"
11977 " (declare (in) float a))\n"
11979 " (signature vec4\n"
11981 " (declare (in) vec4 x)\n"
11982 " (declare (in) vec4 y)\n"
11983 " (declare (in) float a))\n"
11986 " (signature float\n"
11988 " (declare (in) float edge)\n"
11989 " (declare (in) float x))\n"
11991 " (signature vec2\n"
11993 " (declare (in) vec2 edge)\n"
11994 " (declare (in) vec2 x))\n"
11996 " (signature vec3\n"
11998 " (declare (in) vec3 edge)\n"
11999 " (declare (in) vec3 x))\n"
12001 " (signature vec4\n"
12003 " (declare (in) vec4 edge)\n"
12004 " (declare (in) vec4 x))\n"
12006 " (signature vec2\n"
12008 " (declare (in) float edge)\n"
12009 " (declare (in) vec2 x))\n"
12011 " (signature vec3\n"
12013 " (declare (in) float edge)\n"
12014 " (declare (in) vec3 x))\n"
12016 " (signature vec4\n"
12018 " (declare (in) float edge)\n"
12019 " (declare (in) vec4 x))\n"
12021 "(function smoothstep\n"
12022 " (signature float\n"
12024 " (declare (in) float edge0)\n"
12025 " (declare (in) float edge1)\n"
12026 " (declare (in) float x))\n"
12028 " (signature vec2\n"
12030 " (declare (in) vec2 edge0)\n"
12031 " (declare (in) vec2 edge1)\n"
12032 " (declare (in) vec2 x))\n"
12034 " (signature vec3\n"
12036 " (declare (in) vec3 edge0)\n"
12037 " (declare (in) vec3 edge1)\n"
12038 " (declare (in) vec3 x))\n"
12040 " (signature vec4\n"
12042 " (declare (in) vec4 edge0)\n"
12043 " (declare (in) vec4 edge1)\n"
12044 " (declare (in) vec4 x))\n"
12046 " (signature vec2\n"
12048 " (declare (in) float edge0)\n"
12049 " (declare (in) float edge1)\n"
12050 " (declare (in) vec2 x))\n"
12052 " (signature vec3\n"
12054 " (declare (in) float edge0)\n"
12055 " (declare (in) float edge1)\n"
12056 " (declare (in) vec3 x))\n"
12058 " (signature vec4\n"
12060 " (declare (in) float edge0)\n"
12061 " (declare (in) float edge1)\n"
12062 " (declare (in) vec4 x))\n"
12064 "(function length\n"
12065 " (signature float\n"
12067 " (declare (in) float x))\n"
12069 " (signature float\n"
12071 " (declare (in) vec2 x))\n"
12073 " (signature float\n"
12075 " (declare (in) vec3 x))\n"
12077 " (signature float\n"
12079 " (declare (in) vec4 x))\n"
12081 "(function distance\n"
12082 " (signature float\n"
12084 " (declare (in) float p0)\n"
12085 " (declare (in) float p1))\n"
12087 " (signature float\n"
12089 " (declare (in) vec2 p0)\n"
12090 " (declare (in) vec2 p1))\n"
12092 " (signature float\n"
12094 " (declare (in) vec3 p0)\n"
12095 " (declare (in) vec3 p1))\n"
12097 " (signature float\n"
12099 " (declare (in) vec4 p0)\n"
12100 " (declare (in) vec4 p1))\n"
12103 " (signature float\n"
12105 " (declare (in) float x)\n"
12106 " (declare (in) float y))\n"
12108 " (signature float\n"
12110 " (declare (in) vec2 x)\n"
12111 " (declare (in) vec2 y))\n"
12113 " (signature float\n"
12115 " (declare (in) vec3 x)\n"
12116 " (declare (in) vec3 y))\n"
12118 " (signature float\n"
12120 " (declare (in) vec4 x)\n"
12121 " (declare (in) vec4 y))\n"
12123 "(function cross\n"
12124 " (signature vec3\n"
12126 " (declare (in) vec3 x)\n"
12127 " (declare (in) vec3 y))\n"
12129 "(function normalize\n"
12130 " (signature float\n"
12132 " (declare (in) float x))\n"
12134 " (signature vec2\n"
12136 " (declare (in) vec2 x))\n"
12138 " (signature vec3\n"
12140 " (declare (in) vec3 x))\n"
12142 " (signature vec4\n"
12144 " (declare (in) vec4 x))\n"
12146 "(function ftransform\n"
12147 " (signature vec4\n"
12150 "(function faceforward\n"
12151 " (signature float\n"
12153 " (declare (in) float N)\n"
12154 " (declare (in) float I)\n"
12155 " (declare (in) float Nref))\n"
12157 " (signature vec2\n"
12159 " (declare (in) vec2 N)\n"
12160 " (declare (in) vec2 I)\n"
12161 " (declare (in) vec2 Nref))\n"
12163 " (signature vec3\n"
12165 " (declare (in) vec3 N)\n"
12166 " (declare (in) vec3 I)\n"
12167 " (declare (in) vec3 Nref))\n"
12169 " (signature vec4\n"
12171 " (declare (in) vec4 N)\n"
12172 " (declare (in) vec4 I)\n"
12173 " (declare (in) vec4 Nref))\n"
12175 "(function reflect\n"
12176 " (signature float\n"
12178 " (declare (in) float I)\n"
12179 " (declare (in) float N))\n"
12181 " (signature vec2\n"
12183 " (declare (in) vec2 I)\n"
12184 " (declare (in) vec2 N))\n"
12186 " (signature vec3\n"
12188 " (declare (in) vec3 I)\n"
12189 " (declare (in) vec3 N))\n"
12191 " (signature vec4\n"
12193 " (declare (in) vec4 I)\n"
12194 " (declare (in) vec4 N))\n"
12196 "(function refract\n"
12197 " (signature float\n"
12199 " (declare (in) float I)\n"
12200 " (declare (in) float N)\n"
12201 " (declare (in) float eta))\n"
12203 " (signature vec2\n"
12205 " (declare (in) vec2 I)\n"
12206 " (declare (in) vec2 N)\n"
12207 " (declare (in) float eta))\n"
12209 " (signature vec3\n"
12211 " (declare (in) vec3 I)\n"
12212 " (declare (in) vec3 N)\n"
12213 " (declare (in) float eta))\n"
12215 " (signature vec4\n"
12217 " (declare (in) vec4 I)\n"
12218 " (declare (in) vec4 N)\n"
12219 " (declare (in) float eta))\n"
12221 "(function matrixCompMult\n"
12222 " (signature mat2\n"
12224 " (declare (in) mat2 x)\n"
12225 " (declare (in) mat2 y))\n"
12227 " (signature mat3\n"
12229 " (declare (in) mat3 x)\n"
12230 " (declare (in) mat3 y))\n"
12232 " (signature mat4\n"
12234 " (declare (in) mat4 x)\n"
12235 " (declare (in) mat4 y))\n"
12237 " (signature mat2x3\n"
12239 " (declare (in) mat2x3 x)\n"
12240 " (declare (in) mat2x3 y))\n"
12242 " (signature mat2x4\n"
12244 " (declare (in) mat2x4 x)\n"
12245 " (declare (in) mat2x4 y))\n"
12247 " (signature mat3x2\n"
12249 " (declare (in) mat3x2 x)\n"
12250 " (declare (in) mat3x2 y))\n"
12252 " (signature mat3x4\n"
12254 " (declare (in) mat3x4 x)\n"
12255 " (declare (in) mat3x4 y))\n"
12257 " (signature mat4x2\n"
12259 " (declare (in) mat4x2 x)\n"
12260 " (declare (in) mat4x2 y))\n"
12262 " (signature mat4x3\n"
12264 " (declare (in) mat4x3 x)\n"
12265 " (declare (in) mat4x3 y))\n"
12267 "(function outerProduct\n"
12268 " (signature mat2\n"
12270 " (declare (in) vec2 c)\n"
12271 " (declare (in) vec2 r))\n"
12273 " (signature mat3\n"
12275 " (declare (in) vec3 c)\n"
12276 " (declare (in) vec3 r))\n"
12278 " (signature mat4\n"
12280 " (declare (in) vec4 c)\n"
12281 " (declare (in) vec4 r))\n"
12283 " (signature mat2x3\n"
12285 " (declare (in) vec3 c)\n"
12286 " (declare (in) vec2 r))\n"
12288 " (signature mat3x2\n"
12290 " (declare (in) vec2 c)\n"
12291 " (declare (in) vec3 r))\n"
12293 " (signature mat2x4\n"
12295 " (declare (in) vec4 c)\n"
12296 " (declare (in) vec2 r))\n"
12298 " (signature mat4x2\n"
12300 " (declare (in) vec2 c)\n"
12301 " (declare (in) vec4 r))\n"
12303 " (signature mat3x4\n"
12305 " (declare (in) vec4 c)\n"
12306 " (declare (in) vec3 r))\n"
12308 " (signature mat4x3\n"
12310 " (declare (in) vec3 c)\n"
12311 " (declare (in) vec4 r))\n"
12313 "(function transpose\n"
12314 " (signature mat2\n"
12316 " (declare (in) mat2 m))\n"
12318 " (signature mat3\n"
12320 " (declare (in) mat3 m))\n"
12322 " (signature mat4\n"
12324 " (declare (in) mat4 m))\n"
12326 " (signature mat2x3\n"
12328 " (declare (in) mat3x2 m))\n"
12330 " (signature mat3x2\n"
12332 " (declare (in) mat2x3 m))\n"
12334 " (signature mat2x4\n"
12336 " (declare (in) mat4x2 m))\n"
12338 " (signature mat4x2\n"
12340 " (declare (in) mat2x4 m))\n"
12342 " (signature mat3x4\n"
12344 " (declare (in) mat4x3 m))\n"
12346 " (signature mat4x3\n"
12348 " (declare (in) mat3x4 m))\n"
12350 "(function lessThan\n"
12351 " (signature bvec2\n"
12353 " (declare (in) vec2 x)\n"
12354 " (declare (in) vec2 y))\n"
12356 " (signature bvec3\n"
12358 " (declare (in) vec3 x)\n"
12359 " (declare (in) vec3 y))\n"
12361 " (signature bvec4\n"
12363 " (declare (in) vec4 x)\n"
12364 " (declare (in) vec4 y))\n"
12366 " (signature bvec2\n"
12368 " (declare (in) ivec2 x)\n"
12369 " (declare (in) ivec2 y))\n"
12371 " (signature bvec3\n"
12373 " (declare (in) ivec3 x)\n"
12374 " (declare (in) ivec3 y))\n"
12376 " (signature bvec4\n"
12378 " (declare (in) ivec4 x)\n"
12379 " (declare (in) ivec4 y))\n"
12381 "(function lessThanEqual\n"
12382 " (signature bvec2\n"
12384 " (declare (in) vec2 x)\n"
12385 " (declare (in) vec2 y))\n"
12387 " (signature bvec3\n"
12389 " (declare (in) vec3 x)\n"
12390 " (declare (in) vec3 y))\n"
12392 " (signature bvec4\n"
12394 " (declare (in) vec4 x)\n"
12395 " (declare (in) vec4 y))\n"
12397 " (signature bvec2\n"
12399 " (declare (in) ivec2 x)\n"
12400 " (declare (in) ivec2 y))\n"
12402 " (signature bvec3\n"
12404 " (declare (in) ivec3 x)\n"
12405 " (declare (in) ivec3 y))\n"
12407 " (signature bvec4\n"
12409 " (declare (in) ivec4 x)\n"
12410 " (declare (in) ivec4 y))\n"
12412 "(function greaterThan\n"
12413 " (signature bvec2\n"
12415 " (declare (in) vec2 x)\n"
12416 " (declare (in) vec2 y))\n"
12418 " (signature bvec3\n"
12420 " (declare (in) vec3 x)\n"
12421 " (declare (in) vec3 y))\n"
12423 " (signature bvec4\n"
12425 " (declare (in) vec4 x)\n"
12426 " (declare (in) vec4 y))\n"
12428 " (signature bvec2\n"
12430 " (declare (in) ivec2 x)\n"
12431 " (declare (in) ivec2 y))\n"
12433 " (signature bvec3\n"
12435 " (declare (in) ivec3 x)\n"
12436 " (declare (in) ivec3 y))\n"
12438 " (signature bvec4\n"
12440 " (declare (in) ivec4 x)\n"
12441 " (declare (in) ivec4 y))\n"
12443 "(function greaterThanEqual\n"
12444 " (signature bvec2\n"
12446 " (declare (in) vec2 x)\n"
12447 " (declare (in) vec2 y))\n"
12449 " (signature bvec3\n"
12451 " (declare (in) vec3 x)\n"
12452 " (declare (in) vec3 y))\n"
12454 " (signature bvec4\n"
12456 " (declare (in) vec4 x)\n"
12457 " (declare (in) vec4 y))\n"
12459 " (signature bvec2\n"
12461 " (declare (in) ivec2 x)\n"
12462 " (declare (in) ivec2 y))\n"
12464 " (signature bvec3\n"
12466 " (declare (in) ivec3 x)\n"
12467 " (declare (in) ivec3 y))\n"
12469 " (signature bvec4\n"
12471 " (declare (in) ivec4 x)\n"
12472 " (declare (in) ivec4 y))\n"
12474 "(function equal\n"
12475 " (signature bvec2\n"
12477 " (declare (in) vec2 x)\n"
12478 " (declare (in) vec2 y))\n"
12480 " (signature bvec3\n"
12482 " (declare (in) vec3 x)\n"
12483 " (declare (in) vec3 y))\n"
12485 " (signature bvec4\n"
12487 " (declare (in) vec4 x)\n"
12488 " (declare (in) vec4 y))\n"
12490 " (signature bvec2\n"
12492 " (declare (in) ivec2 x)\n"
12493 " (declare (in) ivec2 y))\n"
12495 " (signature bvec3\n"
12497 " (declare (in) ivec3 x)\n"
12498 " (declare (in) ivec3 y))\n"
12500 " (signature bvec4\n"
12502 " (declare (in) ivec4 x)\n"
12503 " (declare (in) ivec4 y))\n"
12505 " (signature bvec2\n"
12507 " (declare (in) bvec2 x)\n"
12508 " (declare (in) bvec2 y))\n"
12510 " (signature bvec3\n"
12512 " (declare (in) bvec3 x)\n"
12513 " (declare (in) bvec3 y))\n"
12515 " (signature bvec4\n"
12517 " (declare (in) bvec4 x)\n"
12518 " (declare (in) bvec4 y))\n"
12520 "(function notEqual\n"
12521 " (signature bvec2\n"
12523 " (declare (in) vec2 x)\n"
12524 " (declare (in) vec2 y))\n"
12526 " (signature bvec3\n"
12528 " (declare (in) vec3 x)\n"
12529 " (declare (in) vec3 y))\n"
12531 " (signature bvec4\n"
12533 " (declare (in) vec4 x)\n"
12534 " (declare (in) vec4 y))\n"
12536 " (signature bvec2\n"
12538 " (declare (in) ivec2 x)\n"
12539 " (declare (in) ivec2 y))\n"
12541 " (signature bvec3\n"
12543 " (declare (in) ivec3 x)\n"
12544 " (declare (in) ivec3 y))\n"
12546 " (signature bvec4\n"
12548 " (declare (in) ivec4 x)\n"
12549 " (declare (in) ivec4 y))\n"
12551 " (signature bvec2\n"
12553 " (declare (in) bvec2 x)\n"
12554 " (declare (in) bvec2 y))\n"
12556 " (signature bvec3\n"
12558 " (declare (in) bvec3 x)\n"
12559 " (declare (in) bvec3 y))\n"
12561 " (signature bvec4\n"
12563 " (declare (in) bvec4 x)\n"
12564 " (declare (in) bvec4 y))\n"
12567 " (signature bool\n"
12569 " (declare (in) bvec2 x))\n"
12571 " (signature bool\n"
12573 " (declare (in) bvec3 x))\n"
12575 " (signature bool\n"
12577 " (declare (in) bvec4 x))\n"
12580 " (signature bool\n"
12582 " (declare (in) bvec2 x))\n"
12584 " (signature bool\n"
12586 " (declare (in) bvec3 x))\n"
12588 " (signature bool\n"
12590 " (declare (in) bvec4 x))\n"
12593 " (signature bvec2\n"
12595 " (declare (in) bvec2 x))\n"
12597 " (signature bvec3\n"
12599 " (declare (in) bvec3 x))\n"
12601 " (signature bvec4\n"
12603 " (declare (in) bvec4 x))\n"
12605 "(function texture1D\n"
12606 " (signature vec4\n"
12608 " (declare (in) sampler1D sampler)\n"
12609 " (declare (in) float coord))\n"
12611 "(function texture1DProj\n"
12612 " (signature vec4\n"
12614 " (declare (in) sampler1D sampler)\n"
12615 " (declare (in) vec2 coord))\n"
12617 " (signature vec4\n"
12619 " (declare (in) sampler1D sampler)\n"
12620 " (declare (in) vec4 coord))\n"
12622 "(function texture1DLod\n"
12623 " (signature vec4\n"
12625 " (declare (in) sampler1D sampler)\n"
12626 " (declare (in) float coord)\n"
12627 " (declare (in) float lod))\n"
12629 "(function texture1DProjLod\n"
12630 " (signature vec4\n"
12632 " (declare (in) sampler1D sampler)\n"
12633 " (declare (in) vec2 coord)\n"
12634 " (declare (in) float lod))\n"
12636 " (signature vec4\n"
12638 " (declare (in) sampler1D sampler)\n"
12639 " (declare (in) vec4 coord)\n"
12640 " (declare (in) float lod))\n"
12642 "(function texture2D\n"
12643 " (signature vec4\n"
12645 " (declare (in) sampler2D sampler)\n"
12646 " (declare (in) vec2 coord))\n"
12648 "(function texture2DProj\n"
12649 " (signature vec4\n"
12651 " (declare (in) sampler2D sampler)\n"
12652 " (declare (in) vec3 coord))\n"
12654 " (signature vec4\n"
12656 " (declare (in) sampler2D sampler)\n"
12657 " (declare (in) vec4 coord))\n"
12659 "(function texture2DLod\n"
12660 " (signature vec4\n"
12662 " (declare (in) sampler2D sampler)\n"
12663 " (declare (in) vec2 coord)\n"
12664 " (declare (in) float lod))\n"
12666 "(function texture2DProjLod\n"
12667 " (signature vec4\n"
12669 " (declare (in) sampler2D sampler)\n"
12670 " (declare (in) vec3 coord)\n"
12671 " (declare (in) float lod))\n"
12673 " (signature vec4\n"
12675 " (declare (in) sampler2D sampler)\n"
12676 " (declare (in) vec4 coord)\n"
12677 " (declare (in) float lod))\n"
12679 "(function texture3D\n"
12680 " (signature vec4\n"
12682 " (declare (in) sampler3D sampler)\n"
12683 " (declare (in) vec3 coord))\n"
12685 "(function texture3DProj\n"
12686 " (signature vec4\n"
12688 " (declare (in) sampler3D sampler)\n"
12689 " (declare (in) vec4 coord))\n"
12691 "(function texture3DLod\n"
12692 " (signature vec4\n"
12694 " (declare (in) sampler3D sampler)\n"
12695 " (declare (in) vec3 coord)\n"
12696 " (declare (in) float lod))\n"
12698 "(function texture3DProjLod\n"
12699 " (signature vec4\n"
12701 " (declare (in) sampler3D sampler)\n"
12702 " (declare (in) vec4 coord)\n"
12703 " (declare (in) float lod))\n"
12705 "(function textureCube\n"
12706 " (signature vec4\n"
12708 " (declare (in) samplerCube sampler)\n"
12709 " (declare (in) vec3 coord))\n"
12711 "(function textureCubeLod\n"
12712 " (signature vec4\n"
12714 " (declare (in) samplerCube sampler)\n"
12715 " (declare (in) vec3 coord)\n"
12716 " (declare (in) float lod))\n"
12718 "(function shadow1D\n"
12719 " (signature vec4\n"
12721 " (declare (in) sampler1DShadow sampler)\n"
12722 " (declare (in) vec3 coord))\n"
12724 "(function shadow2D\n"
12725 " (signature vec4\n"
12727 " (declare (in) sampler2DShadow sampler)\n"
12728 " (declare (in) vec3 coord))\n"
12730 "(function shadow1DProj\n"
12731 " (signature vec4\n"
12733 " (declare (in) sampler1DShadow sampler)\n"
12734 " (declare (in) vec4 coord))\n"
12736 "(function shadow2DProj\n"
12737 " (signature vec4\n"
12739 " (declare (in) sampler2DShadow sampler)\n"
12740 " (declare (in) vec4 coord))\n"
12742 "(function shadow1DLod\n"
12743 " (signature vec4\n"
12745 " (declare (in) sampler1DShadow sampler)\n"
12746 " (declare (in) vec3 coord)\n"
12747 " (declare (in) float lod))\n"
12749 "(function shadow2DLod\n"
12750 " (signature vec4\n"
12752 " (declare (in) sampler2DShadow sampler)\n"
12753 " (declare (in) vec3 coord)\n"
12754 " (declare (in) float lod))\n"
12756 "(function shadow1DProjLod\n"
12757 " (signature vec4\n"
12759 " (declare (in) sampler1DShadow sampler)\n"
12760 " (declare (in) vec4 coord)\n"
12761 " (declare (in) float lod))\n"
12763 "(function shadow2DProjLod\n"
12764 " (signature vec4\n"
12766 " (declare (in) sampler2DShadow sampler)\n"
12767 " (declare (in) vec4 coord)\n"
12768 " (declare (in) float lod))\n"
12770 "(function noise1\n"
12771 " (signature float\n"
12773 " (declare (in) float x))\n"
12775 " (signature float\n"
12777 " (declare (in) vec2 x))\n"
12779 " (signature float\n"
12781 " (declare (in) vec3 x))\n"
12783 " (signature float\n"
12785 " (declare (in) vec4 x))\n"
12787 "(function noise2\n"
12788 " (signature vec2\n"
12790 " (declare (in) float x))\n"
12792 " (signature vec2\n"
12794 " (declare (in) vec2 x))\n"
12796 " (signature vec2\n"
12798 " (declare (in) vec3 x))\n"
12800 " (signature vec2\n"
12802 " (declare (in) vec4 x))\n"
12804 "(function noise3\n"
12805 " (signature vec3\n"
12807 " (declare (in) float x))\n"
12809 " (signature vec3\n"
12811 " (declare (in) vec2 x))\n"
12813 " (signature vec3\n"
12815 " (declare (in) vec3 x))\n"
12817 " (signature vec3\n"
12819 " (declare (in) vec4 x))\n"
12821 "(function noise4\n"
12822 " (signature vec4\n"
12824 " (declare (in) float x))\n"
12826 " (signature vec4\n"
12828 " (declare (in) vec2 x))\n"
12830 " (signature vec4\n"
12832 " (declare (in) vec3 x))\n"
12834 " (signature vec4\n"
12836 " (declare (in) vec4 x))\n"
12839 static const char *functions_for_120_vert
[] = {
12856 builtin_faceforward
,
12859 builtin_ftransform
,
12860 builtin_greaterThan
,
12861 builtin_greaterThanEqual
,
12862 builtin_inversesqrt
,
12865 builtin_lessThanEqual
,
12868 builtin_matrixCompMult
,
12880 builtin_outerProduct
,
12886 builtin_shadow1DLod
,
12887 builtin_shadow1DProj
,
12888 builtin_shadow1DProjLod
,
12890 builtin_shadow2DLod
,
12891 builtin_shadow2DProj
,
12892 builtin_shadow2DProjLod
,
12895 builtin_smoothstep
,
12900 builtin_texture1DLod
,
12901 builtin_texture1DProj
,
12902 builtin_texture1DProjLod
,
12904 builtin_texture2DLod
,
12905 builtin_texture2DProj
,
12906 builtin_texture2DProjLod
,
12908 builtin_texture3DLod
,
12909 builtin_texture3DProj
,
12910 builtin_texture3DProjLod
,
12911 builtin_textureCube
,
12912 builtin_textureCubeLod
,
12915 static const char prototypes_for_130_frag
[] =
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
[] = {
13027 builtin_faceforward
,
13031 builtin_greaterThan
,
13032 builtin_greaterThanEqual
,
13033 builtin_inversesqrt
,
13036 builtin_lessThanEqual
,
13039 builtin_matrixCompMult
,
13052 builtin_outerProduct
,
13060 builtin_shadow1DLod
,
13061 builtin_shadow1DProj
,
13062 builtin_shadow1DProjLod
,
13064 builtin_shadow2DLod
,
13065 builtin_shadow2DProj
,
13066 builtin_shadow2DProjLod
,
13070 builtin_smoothstep
,
13075 builtin_texelFetch
,
13078 builtin_texture1DLod
,
13079 builtin_texture1DProj
,
13080 builtin_texture1DProjLod
,
13082 builtin_texture2DLod
,
13083 builtin_texture2DProj
,
13084 builtin_texture2DProjLod
,
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
,
13099 static const char prototypes_for_130_vert
[] =
13101 "(function radians\n"
13102 " (signature float\n"
13104 " (declare (in) float degrees))\n"
13106 " (signature vec2\n"
13108 " (declare (in) vec2 degrees))\n"
13110 " (signature vec3\n"
13112 " (declare (in) vec3 degrees))\n"
13114 " (signature vec4\n"
13116 " (declare (in) vec4 degrees))\n"
13118 "(function degrees\n"
13119 " (signature float\n"
13121 " (declare (in) float radians))\n"
13123 " (signature vec2\n"
13125 " (declare (in) vec2 radians))\n"
13127 " (signature vec3\n"
13129 " (declare (in) vec3 radians))\n"
13131 " (signature vec4\n"
13133 " (declare (in) vec4 radians))\n"
13136 " (signature float\n"
13138 " (declare (in) float angle))\n"
13140 " (signature vec2\n"
13142 " (declare (in) vec2 angle))\n"
13144 " (signature vec3\n"
13146 " (declare (in) vec3 angle))\n"
13148 " (signature vec4\n"
13150 " (declare (in) vec4 angle))\n"
13153 " (signature float\n"
13155 " (declare (in) float angle))\n"
13157 " (signature vec2\n"
13159 " (declare (in) vec2 angle))\n"
13161 " (signature vec3\n"
13163 " (declare (in) vec3 angle))\n"
13165 " (signature vec4\n"
13167 " (declare (in) vec4 angle))\n"
13170 " (signature float\n"
13172 " (declare (in) float angle))\n"
13174 " (signature vec2\n"
13176 " (declare (in) vec2 angle))\n"
13178 " (signature vec3\n"
13180 " (declare (in) vec3 angle))\n"
13182 " (signature vec4\n"
13184 " (declare (in) vec4 angle))\n"
13187 " (signature float\n"
13189 " (declare (in) float angle))\n"
13191 " (signature vec2\n"
13193 " (declare (in) vec2 angle))\n"
13195 " (signature vec3\n"
13197 " (declare (in) vec3 angle))\n"
13199 " (signature vec4\n"
13201 " (declare (in) vec4 angle))\n"
13204 " (signature float\n"
13206 " (declare (in) float angle))\n"
13208 " (signature vec2\n"
13210 " (declare (in) vec2 angle))\n"
13212 " (signature vec3\n"
13214 " (declare (in) vec3 angle))\n"
13216 " (signature vec4\n"
13218 " (declare (in) vec4 angle))\n"
13221 " (signature float\n"
13223 " (declare (in) float y)\n"
13224 " (declare (in) float x))\n"
13226 " (signature vec2\n"
13228 " (declare (in) vec2 y)\n"
13229 " (declare (in) vec2 x))\n"
13231 " (signature vec3\n"
13233 " (declare (in) vec3 y)\n"
13234 " (declare (in) vec3 x))\n"
13236 " (signature vec4\n"
13238 " (declare (in) vec4 y)\n"
13239 " (declare (in) vec4 x))\n"
13241 " (signature float\n"
13243 " (declare (in) float y_over_x))\n"
13245 " (signature vec2\n"
13247 " (declare (in) vec2 y_over_x))\n"
13249 " (signature vec3\n"
13251 " (declare (in) vec3 y_over_x))\n"
13253 " (signature vec4\n"
13255 " (declare (in) vec4 y_over_x))\n"
13258 " (signature float\n"
13260 " (declare (in) float x))\n"
13262 " (signature vec2\n"
13264 " (declare (in) vec2 x))\n"
13266 " (signature vec3\n"
13268 " (declare (in) vec3 x))\n"
13270 " (signature vec4\n"
13272 " (declare (in) vec4 x))\n"
13275 " (signature float\n"
13277 " (declare (in) float x))\n"
13279 " (signature vec2\n"
13281 " (declare (in) vec2 x))\n"
13283 " (signature vec3\n"
13285 " (declare (in) vec3 x))\n"
13287 " (signature vec4\n"
13289 " (declare (in) vec4 x))\n"
13292 " (signature float\n"
13294 " (declare (in) float x))\n"
13296 " (signature vec2\n"
13298 " (declare (in) vec2 x))\n"
13300 " (signature vec3\n"
13302 " (declare (in) vec3 x))\n"
13304 " (signature vec4\n"
13306 " (declare (in) vec4 x))\n"
13309 " (signature float\n"
13311 " (declare (in) float x)\n"
13312 " (declare (in) float y))\n"
13314 " (signature vec2\n"
13316 " (declare (in) vec2 x)\n"
13317 " (declare (in) vec2 y))\n"
13319 " (signature vec3\n"
13321 " (declare (in) vec3 x)\n"
13322 " (declare (in) vec3 y))\n"
13324 " (signature vec4\n"
13326 " (declare (in) vec4 x)\n"
13327 " (declare (in) vec4 y))\n"
13330 " (signature float\n"
13332 " (declare (in) float x))\n"
13334 " (signature vec2\n"
13336 " (declare (in) vec2 x))\n"
13338 " (signature vec3\n"
13340 " (declare (in) vec3 x))\n"
13342 " (signature vec4\n"
13344 " (declare (in) vec4 x))\n"
13347 " (signature float\n"
13349 " (declare (in) float x))\n"
13351 " (signature vec2\n"
13353 " (declare (in) vec2 x))\n"
13355 " (signature vec3\n"
13357 " (declare (in) vec3 x))\n"
13359 " (signature vec4\n"
13361 " (declare (in) vec4 x))\n"
13364 " (signature float\n"
13366 " (declare (in) float x))\n"
13368 " (signature vec2\n"
13370 " (declare (in) vec2 x))\n"
13372 " (signature vec3\n"
13374 " (declare (in) vec3 x))\n"
13376 " (signature vec4\n"
13378 " (declare (in) vec4 x))\n"
13381 " (signature float\n"
13383 " (declare (in) float x))\n"
13385 " (signature vec2\n"
13387 " (declare (in) vec2 x))\n"
13389 " (signature vec3\n"
13391 " (declare (in) vec3 x))\n"
13393 " (signature vec4\n"
13395 " (declare (in) vec4 x))\n"
13398 " (signature float\n"
13400 " (declare (in) float x))\n"
13402 " (signature vec2\n"
13404 " (declare (in) vec2 x))\n"
13406 " (signature vec3\n"
13408 " (declare (in) vec3 x))\n"
13410 " (signature vec4\n"
13412 " (declare (in) vec4 x))\n"
13414 "(function inversesqrt\n"
13415 " (signature float\n"
13417 " (declare (in) float x))\n"
13419 " (signature vec2\n"
13421 " (declare (in) vec2 x))\n"
13423 " (signature vec3\n"
13425 " (declare (in) vec3 x))\n"
13427 " (signature vec4\n"
13429 " (declare (in) vec4 x))\n"
13432 " (signature float\n"
13434 " (declare (in) float x))\n"
13436 " (signature vec2\n"
13438 " (declare (in) vec2 x))\n"
13440 " (signature vec3\n"
13442 " (declare (in) vec3 x))\n"
13444 " (signature vec4\n"
13446 " (declare (in) vec4 x))\n"
13448 " (signature int\n"
13450 " (declare (in) int x))\n"
13452 " (signature ivec2\n"
13454 " (declare (in) ivec2 x))\n"
13456 " (signature ivec3\n"
13458 " (declare (in) ivec3 x))\n"
13460 " (signature ivec4\n"
13462 " (declare (in) ivec4 x))\n"
13465 " (signature float\n"
13467 " (declare (in) float x))\n"
13469 " (signature vec2\n"
13471 " (declare (in) vec2 x))\n"
13473 " (signature vec3\n"
13475 " (declare (in) vec3 x))\n"
13477 " (signature vec4\n"
13479 " (declare (in) vec4 x))\n"
13481 " (signature int\n"
13483 " (declare (in) int x))\n"
13485 " (signature ivec2\n"
13487 " (declare (in) ivec2 x))\n"
13489 " (signature ivec3\n"
13491 " (declare (in) ivec3 x))\n"
13493 " (signature ivec4\n"
13495 " (declare (in) ivec4 x))\n"
13497 "(function floor\n"
13498 " (signature float\n"
13500 " (declare (in) float x))\n"
13502 " (signature vec2\n"
13504 " (declare (in) vec2 x))\n"
13506 " (signature vec3\n"
13508 " (declare (in) vec3 x))\n"
13510 " (signature vec4\n"
13512 " (declare (in) vec4 x))\n"
13514 "(function trunc\n"
13515 " (signature float\n"
13517 " (declare (in) float x))\n"
13519 " (signature vec2\n"
13521 " (declare (in) vec2 x))\n"
13523 " (signature vec3\n"
13525 " (declare (in) vec3 x))\n"
13527 " (signature vec4\n"
13529 " (declare (in) vec4 x))\n"
13531 "(function round\n"
13532 " (signature float\n"
13534 " (declare (in) float x))\n"
13536 " (signature vec2\n"
13538 " (declare (in) vec2 x))\n"
13540 " (signature vec3\n"
13542 " (declare (in) vec3 x))\n"
13544 " (signature vec4\n"
13546 " (declare (in) vec4 x))\n"
13548 "(function roundEven\n"
13549 " (signature float\n"
13551 " (declare (in) float x))\n"
13553 " (signature vec2\n"
13555 " (declare (in) vec2 x))\n"
13557 " (signature vec3\n"
13559 " (declare (in) vec3 x))\n"
13561 " (signature vec4\n"
13563 " (declare (in) vec4 x))\n"
13566 " (signature float\n"
13568 " (declare (in) float x))\n"
13570 " (signature vec2\n"
13572 " (declare (in) vec2 x))\n"
13574 " (signature vec3\n"
13576 " (declare (in) vec3 x))\n"
13578 " (signature vec4\n"
13580 " (declare (in) vec4 x))\n"
13582 "(function fract\n"
13583 " (signature float\n"
13585 " (declare (in) float x))\n"
13587 " (signature vec2\n"
13589 " (declare (in) vec2 x))\n"
13591 " (signature vec3\n"
13593 " (declare (in) vec3 x))\n"
13595 " (signature vec4\n"
13597 " (declare (in) vec4 x))\n"
13600 " (signature float\n"
13602 " (declare (in) float x)\n"
13603 " (declare (in) float y))\n"
13605 " (signature vec2\n"
13607 " (declare (in) vec2 x)\n"
13608 " (declare (in) float y))\n"
13610 " (signature vec3\n"
13612 " (declare (in) vec3 x)\n"
13613 " (declare (in) float y))\n"
13615 " (signature vec4\n"
13617 " (declare (in) vec4 x)\n"
13618 " (declare (in) float y))\n"
13620 " (signature vec2\n"
13622 " (declare (in) vec2 x)\n"
13623 " (declare (in) vec2 y))\n"
13625 " (signature vec3\n"
13627 " (declare (in) vec3 x)\n"
13628 " (declare (in) vec3 y))\n"
13630 " (signature vec4\n"
13632 " (declare (in) vec4 x)\n"
13633 " (declare (in) vec4 y))\n"
13636 " (signature float\n"
13638 " (declare (in) float x)\n"
13639 " (declare (out) float i))\n"
13641 " (signature vec2\n"
13643 " (declare (in) vec2 x)\n"
13644 " (declare (out) vec2 i))\n"
13646 " (signature vec3\n"
13648 " (declare (in) vec3 x)\n"
13649 " (declare (out) vec3 i))\n"
13651 " (signature vec4\n"
13653 " (declare (in) vec4 x)\n"
13654 " (declare (out) vec4 i))\n"
13657 " (signature float\n"
13659 " (declare (in) float x)\n"
13660 " (declare (in) float y))\n"
13662 " (signature vec2\n"
13664 " (declare (in) vec2 x)\n"
13665 " (declare (in) vec2 y))\n"
13667 " (signature vec3\n"
13669 " (declare (in) vec3 x)\n"
13670 " (declare (in) vec3 y))\n"
13672 " (signature vec4\n"
13674 " (declare (in) vec4 x)\n"
13675 " (declare (in) vec4 y))\n"
13677 " (signature vec2\n"
13679 " (declare (in) vec2 x)\n"
13680 " (declare (in) float y))\n"
13682 " (signature vec3\n"
13684 " (declare (in) vec3 x)\n"
13685 " (declare (in) float y))\n"
13687 " (signature vec4\n"
13689 " (declare (in) vec4 x)\n"
13690 " (declare (in) float y))\n"
13692 " (signature int\n"
13694 " (declare (in) int x)\n"
13695 " (declare (in) int y))\n"
13697 " (signature ivec2\n"
13699 " (declare (in) ivec2 x)\n"
13700 " (declare (in) ivec2 y))\n"
13702 " (signature ivec3\n"
13704 " (declare (in) ivec3 x)\n"
13705 " (declare (in) ivec3 y))\n"
13707 " (signature ivec4\n"
13709 " (declare (in) ivec4 x)\n"
13710 " (declare (in) ivec4 y))\n"
13712 " (signature ivec2\n"
13714 " (declare (in) ivec2 x)\n"
13715 " (declare (in) int y))\n"
13717 " (signature ivec3\n"
13719 " (declare (in) ivec3 x)\n"
13720 " (declare (in) int y))\n"
13722 " (signature ivec4\n"
13724 " (declare (in) ivec4 x)\n"
13725 " (declare (in) int y))\n"
13727 " (signature uint\n"
13729 " (declare (in) uint x)\n"
13730 " (declare (in) uint y))\n"
13732 " (signature uvec2\n"
13734 " (declare (in) uvec2 x)\n"
13735 " (declare (in) uvec2 y))\n"
13737 " (signature uvec3\n"
13739 " (declare (in) uvec3 x)\n"
13740 " (declare (in) uvec3 y))\n"
13742 " (signature uvec4\n"
13744 " (declare (in) uvec4 x)\n"
13745 " (declare (in) uvec4 y))\n"
13747 " (signature uvec2\n"
13749 " (declare (in) uvec2 x)\n"
13750 " (declare (in) uint y))\n"
13752 " (signature uvec3\n"
13754 " (declare (in) uvec3 x)\n"
13755 " (declare (in) uint y))\n"
13757 " (signature uvec4\n"
13759 " (declare (in) uvec4 x)\n"
13760 " (declare (in) uint y))\n"
13763 " (signature float\n"
13765 " (declare (in) float x)\n"
13766 " (declare (in) float y))\n"
13768 " (signature vec2\n"
13770 " (declare (in) vec2 x)\n"
13771 " (declare (in) vec2 y))\n"
13773 " (signature vec3\n"
13775 " (declare (in) vec3 x)\n"
13776 " (declare (in) vec3 y))\n"
13778 " (signature vec4\n"
13780 " (declare (in) vec4 x)\n"
13781 " (declare (in) vec4 y))\n"
13783 " (signature vec2\n"
13785 " (declare (in) vec2 x)\n"
13786 " (declare (in) float y))\n"
13788 " (signature vec3\n"
13790 " (declare (in) vec3 x)\n"
13791 " (declare (in) float y))\n"
13793 " (signature vec4\n"
13795 " (declare (in) vec4 x)\n"
13796 " (declare (in) float y))\n"
13798 " (signature int\n"
13800 " (declare (in) int x)\n"
13801 " (declare (in) int y))\n"
13803 " (signature ivec2\n"
13805 " (declare (in) ivec2 x)\n"
13806 " (declare (in) ivec2 y))\n"
13808 " (signature ivec3\n"
13810 " (declare (in) ivec3 x)\n"
13811 " (declare (in) ivec3 y))\n"
13813 " (signature ivec4\n"
13815 " (declare (in) ivec4 x)\n"
13816 " (declare (in) ivec4 y))\n"
13818 " (signature ivec2\n"
13820 " (declare (in) ivec2 x)\n"
13821 " (declare (in) int y))\n"
13823 " (signature ivec3\n"
13825 " (declare (in) ivec3 x)\n"
13826 " (declare (in) int y))\n"
13828 " (signature ivec4\n"
13830 " (declare (in) ivec4 x)\n"
13831 " (declare (in) int y))\n"
13833 " (signature uint\n"
13835 " (declare (in) uint x)\n"
13836 " (declare (in) uint y))\n"
13838 " (signature uvec2\n"
13840 " (declare (in) uvec2 x)\n"
13841 " (declare (in) uvec2 y))\n"
13843 " (signature uvec3\n"
13845 " (declare (in) uvec3 x)\n"
13846 " (declare (in) uvec3 y))\n"
13848 " (signature uvec4\n"
13850 " (declare (in) uvec4 x)\n"
13851 " (declare (in) uvec4 y))\n"
13853 " (signature uvec2\n"
13855 " (declare (in) uvec2 x)\n"
13856 " (declare (in) uint y))\n"
13858 " (signature uvec3\n"
13860 " (declare (in) uvec3 x)\n"
13861 " (declare (in) uint y))\n"
13863 " (signature uvec4\n"
13865 " (declare (in) uvec4 x)\n"
13866 " (declare (in) uint y))\n"
13868 "(function clamp\n"
13869 " (signature float\n"
13871 " (declare (in) float x)\n"
13872 " (declare (in) float minVal)\n"
13873 " (declare (in) float maxVal))\n"
13875 " (signature vec2\n"
13877 " (declare (in) vec2 x)\n"
13878 " (declare (in) vec2 minVal)\n"
13879 " (declare (in) vec2 maxVal))\n"
13881 " (signature vec3\n"
13883 " (declare (in) vec3 x)\n"
13884 " (declare (in) vec3 minVal)\n"
13885 " (declare (in) vec3 maxVal))\n"
13887 " (signature vec4\n"
13889 " (declare (in) vec4 x)\n"
13890 " (declare (in) vec4 minVal)\n"
13891 " (declare (in) vec4 maxVal))\n"
13893 " (signature vec2\n"
13895 " (declare (in) vec2 x)\n"
13896 " (declare (in) float minVal)\n"
13897 " (declare (in) float maxVal))\n"
13899 " (signature vec3\n"
13901 " (declare (in) vec3 x)\n"
13902 " (declare (in) float minVal)\n"
13903 " (declare (in) float maxVal))\n"
13905 " (signature vec4\n"
13907 " (declare (in) vec4 x)\n"
13908 " (declare (in) float minVal)\n"
13909 " (declare (in) float maxVal))\n"
13911 " (signature int\n"
13913 " (declare (in) int x)\n"
13914 " (declare (in) int minVal)\n"
13915 " (declare (in) int maxVal))\n"
13917 " (signature ivec2\n"
13919 " (declare (in) ivec2 x)\n"
13920 " (declare (in) ivec2 minVal)\n"
13921 " (declare (in) ivec2 maxVal))\n"
13923 " (signature ivec3\n"
13925 " (declare (in) ivec3 x)\n"
13926 " (declare (in) ivec3 minVal)\n"
13927 " (declare (in) ivec3 maxVal))\n"
13929 " (signature ivec4\n"
13931 " (declare (in) ivec4 x)\n"
13932 " (declare (in) ivec4 minVal)\n"
13933 " (declare (in) ivec4 maxVal))\n"
13935 " (signature ivec2\n"
13937 " (declare (in) ivec2 x)\n"
13938 " (declare (in) int minVal)\n"
13939 " (declare (in) int maxVal))\n"
13941 " (signature ivec3\n"
13943 " (declare (in) ivec3 x)\n"
13944 " (declare (in) int minVal)\n"
13945 " (declare (in) int maxVal))\n"
13947 " (signature ivec4\n"
13949 " (declare (in) ivec4 x)\n"
13950 " (declare (in) int minVal)\n"
13951 " (declare (in) int maxVal))\n"
13953 " (signature uint\n"
13955 " (declare (in) uint x)\n"
13956 " (declare (in) uint minVal)\n"
13957 " (declare (in) uint maxVal))\n"
13959 " (signature uvec2\n"
13961 " (declare (in) uvec2 x)\n"
13962 " (declare (in) uvec2 minVal)\n"
13963 " (declare (in) uvec2 maxVal))\n"
13965 " (signature uvec3\n"
13967 " (declare (in) uvec3 x)\n"
13968 " (declare (in) uvec3 minVal)\n"
13969 " (declare (in) uvec3 maxVal))\n"
13971 " (signature uvec4\n"
13973 " (declare (in) uvec4 x)\n"
13974 " (declare (in) uvec4 minVal)\n"
13975 " (declare (in) uvec4 maxVal))\n"
13977 " (signature uvec2\n"
13979 " (declare (in) uvec2 x)\n"
13980 " (declare (in) uint minVal)\n"
13981 " (declare (in) uint maxVal))\n"
13983 " (signature uvec3\n"
13985 " (declare (in) uvec3 x)\n"
13986 " (declare (in) uint minVal)\n"
13987 " (declare (in) uint maxVal))\n"
13989 " (signature uvec4\n"
13991 " (declare (in) uvec4 x)\n"
13992 " (declare (in) uint minVal)\n"
13993 " (declare (in) uint maxVal))\n"
13996 " (signature float\n"
13998 " (declare (in) float x)\n"
13999 " (declare (in) float y)\n"
14000 " (declare (in) float a))\n"
14002 " (signature vec2\n"
14004 " (declare (in) vec2 x)\n"
14005 " (declare (in) vec2 y)\n"
14006 " (declare (in) vec2 a))\n"
14008 " (signature vec3\n"
14010 " (declare (in) vec3 x)\n"
14011 " (declare (in) vec3 y)\n"
14012 " (declare (in) vec3 a))\n"
14014 " (signature vec4\n"
14016 " (declare (in) vec4 x)\n"
14017 " (declare (in) vec4 y)\n"
14018 " (declare (in) vec4 a))\n"
14020 " (signature vec2\n"
14022 " (declare (in) vec2 x)\n"
14023 " (declare (in) vec2 y)\n"
14024 " (declare (in) float a))\n"
14026 " (signature vec3\n"
14028 " (declare (in) vec3 x)\n"
14029 " (declare (in) vec3 y)\n"
14030 " (declare (in) float a))\n"
14032 " (signature vec4\n"
14034 " (declare (in) vec4 x)\n"
14035 " (declare (in) vec4 y)\n"
14036 " (declare (in) float a))\n"
14039 " (signature float\n"
14041 " (declare (in) float edge)\n"
14042 " (declare (in) float x))\n"
14044 " (signature vec2\n"
14046 " (declare (in) vec2 edge)\n"
14047 " (declare (in) vec2 x))\n"
14049 " (signature vec3\n"
14051 " (declare (in) vec3 edge)\n"
14052 " (declare (in) vec3 x))\n"
14054 " (signature vec4\n"
14056 " (declare (in) vec4 edge)\n"
14057 " (declare (in) vec4 x))\n"
14059 " (signature vec2\n"
14061 " (declare (in) float edge)\n"
14062 " (declare (in) vec2 x))\n"
14064 " (signature vec3\n"
14066 " (declare (in) float edge)\n"
14067 " (declare (in) vec3 x))\n"
14069 " (signature vec4\n"
14071 " (declare (in) float edge)\n"
14072 " (declare (in) vec4 x))\n"
14074 "(function smoothstep\n"
14075 " (signature float\n"
14077 " (declare (in) float edge0)\n"
14078 " (declare (in) float edge1)\n"
14079 " (declare (in) float x))\n"
14081 " (signature vec2\n"
14083 " (declare (in) vec2 edge0)\n"
14084 " (declare (in) vec2 edge1)\n"
14085 " (declare (in) vec2 x))\n"
14087 " (signature vec3\n"
14089 " (declare (in) vec3 edge0)\n"
14090 " (declare (in) vec3 edge1)\n"
14091 " (declare (in) vec3 x))\n"
14093 " (signature vec4\n"
14095 " (declare (in) vec4 edge0)\n"
14096 " (declare (in) vec4 edge1)\n"
14097 " (declare (in) vec4 x))\n"
14099 " (signature vec2\n"
14101 " (declare (in) float edge0)\n"
14102 " (declare (in) float edge1)\n"
14103 " (declare (in) vec2 x))\n"
14105 " (signature vec3\n"
14107 " (declare (in) float edge0)\n"
14108 " (declare (in) float edge1)\n"
14109 " (declare (in) vec3 x))\n"
14111 " (signature vec4\n"
14113 " (declare (in) float edge0)\n"
14114 " (declare (in) float edge1)\n"
14115 " (declare (in) vec4 x))\n"
14117 "(function length\n"
14118 " (signature float\n"
14120 " (declare (in) float x))\n"
14122 " (signature float\n"
14124 " (declare (in) vec2 x))\n"
14126 " (signature float\n"
14128 " (declare (in) vec3 x))\n"
14130 " (signature float\n"
14132 " (declare (in) vec4 x))\n"
14134 "(function distance\n"
14135 " (signature float\n"
14137 " (declare (in) float p0)\n"
14138 " (declare (in) float p1))\n"
14140 " (signature float\n"
14142 " (declare (in) vec2 p0)\n"
14143 " (declare (in) vec2 p1))\n"
14145 " (signature float\n"
14147 " (declare (in) vec3 p0)\n"
14148 " (declare (in) vec3 p1))\n"
14150 " (signature float\n"
14152 " (declare (in) vec4 p0)\n"
14153 " (declare (in) vec4 p1))\n"
14156 " (signature float\n"
14158 " (declare (in) float x)\n"
14159 " (declare (in) float y))\n"
14161 " (signature float\n"
14163 " (declare (in) vec2 x)\n"
14164 " (declare (in) vec2 y))\n"
14166 " (signature float\n"
14168 " (declare (in) vec3 x)\n"
14169 " (declare (in) vec3 y))\n"
14171 " (signature float\n"
14173 " (declare (in) vec4 x)\n"
14174 " (declare (in) vec4 y))\n"
14176 "(function cross\n"
14177 " (signature vec3\n"
14179 " (declare (in) vec3 x)\n"
14180 " (declare (in) vec3 y))\n"
14182 "(function normalize\n"
14183 " (signature float\n"
14185 " (declare (in) float x))\n"
14187 " (signature vec2\n"
14189 " (declare (in) vec2 x))\n"
14191 " (signature vec3\n"
14193 " (declare (in) vec3 x))\n"
14195 " (signature vec4\n"
14197 " (declare (in) vec4 x))\n"
14199 "(function ftransform\n"
14200 " (signature vec4\n"
14203 "(function faceforward\n"
14204 " (signature float\n"
14206 " (declare (in) float N)\n"
14207 " (declare (in) float I)\n"
14208 " (declare (in) float Nref))\n"
14210 " (signature vec2\n"
14212 " (declare (in) vec2 N)\n"
14213 " (declare (in) vec2 I)\n"
14214 " (declare (in) vec2 Nref))\n"
14216 " (signature vec3\n"
14218 " (declare (in) vec3 N)\n"
14219 " (declare (in) vec3 I)\n"
14220 " (declare (in) vec3 Nref))\n"
14222 " (signature vec4\n"
14224 " (declare (in) vec4 N)\n"
14225 " (declare (in) vec4 I)\n"
14226 " (declare (in) vec4 Nref))\n"
14228 "(function reflect\n"
14229 " (signature float\n"
14231 " (declare (in) float I)\n"
14232 " (declare (in) float N))\n"
14234 " (signature vec2\n"
14236 " (declare (in) vec2 I)\n"
14237 " (declare (in) vec2 N))\n"
14239 " (signature vec3\n"
14241 " (declare (in) vec3 I)\n"
14242 " (declare (in) vec3 N))\n"
14244 " (signature vec4\n"
14246 " (declare (in) vec4 I)\n"
14247 " (declare (in) vec4 N))\n"
14249 "(function refract\n"
14250 " (signature float\n"
14252 " (declare (in) float I)\n"
14253 " (declare (in) float N)\n"
14254 " (declare (in) float eta))\n"
14256 " (signature vec2\n"
14258 " (declare (in) vec2 I)\n"
14259 " (declare (in) vec2 N)\n"
14260 " (declare (in) float eta))\n"
14262 " (signature vec3\n"
14264 " (declare (in) vec3 I)\n"
14265 " (declare (in) vec3 N)\n"
14266 " (declare (in) float eta))\n"
14268 " (signature vec4\n"
14270 " (declare (in) vec4 I)\n"
14271 " (declare (in) vec4 N)\n"
14272 " (declare (in) float eta))\n"
14274 "(function matrixCompMult\n"
14275 " (signature mat2\n"
14277 " (declare (in) mat2 x)\n"
14278 " (declare (in) mat2 y))\n"
14280 " (signature mat3\n"
14282 " (declare (in) mat3 x)\n"
14283 " (declare (in) mat3 y))\n"
14285 " (signature mat4\n"
14287 " (declare (in) mat4 x)\n"
14288 " (declare (in) mat4 y))\n"
14290 " (signature mat2x3\n"
14292 " (declare (in) mat2x3 x)\n"
14293 " (declare (in) mat2x3 y))\n"
14295 " (signature mat2x4\n"
14297 " (declare (in) mat2x4 x)\n"
14298 " (declare (in) mat2x4 y))\n"
14300 " (signature mat3x2\n"
14302 " (declare (in) mat3x2 x)\n"
14303 " (declare (in) mat3x2 y))\n"
14305 " (signature mat3x4\n"
14307 " (declare (in) mat3x4 x)\n"
14308 " (declare (in) mat3x4 y))\n"
14310 " (signature mat4x2\n"
14312 " (declare (in) mat4x2 x)\n"
14313 " (declare (in) mat4x2 y))\n"
14315 " (signature mat4x3\n"
14317 " (declare (in) mat4x3 x)\n"
14318 " (declare (in) mat4x3 y))\n"
14320 "(function outerProduct\n"
14321 " (signature mat2\n"
14323 " (declare (in) vec2 c)\n"
14324 " (declare (in) vec2 r))\n"
14326 " (signature mat3\n"
14328 " (declare (in) vec3 c)\n"
14329 " (declare (in) vec3 r))\n"
14331 " (signature mat4\n"
14333 " (declare (in) vec4 c)\n"
14334 " (declare (in) vec4 r))\n"
14336 " (signature mat2x3\n"
14338 " (declare (in) vec3 c)\n"
14339 " (declare (in) vec2 r))\n"
14341 " (signature mat3x2\n"
14343 " (declare (in) vec2 c)\n"
14344 " (declare (in) vec3 r))\n"
14346 " (signature mat2x4\n"
14348 " (declare (in) vec4 c)\n"
14349 " (declare (in) vec2 r))\n"
14351 " (signature mat4x2\n"
14353 " (declare (in) vec2 c)\n"
14354 " (declare (in) vec4 r))\n"
14356 " (signature mat3x4\n"
14358 " (declare (in) vec4 c)\n"
14359 " (declare (in) vec3 r))\n"
14361 " (signature mat4x3\n"
14363 " (declare (in) vec3 c)\n"
14364 " (declare (in) vec4 r))\n"
14366 "(function transpose\n"
14367 " (signature mat2\n"
14369 " (declare (in) mat2 m))\n"
14371 " (signature mat3\n"
14373 " (declare (in) mat3 m))\n"
14375 " (signature mat4\n"
14377 " (declare (in) mat4 m))\n"
14379 " (signature mat2x3\n"
14381 " (declare (in) mat3x2 m))\n"
14383 " (signature mat3x2\n"
14385 " (declare (in) mat2x3 m))\n"
14387 " (signature mat2x4\n"
14389 " (declare (in) mat4x2 m))\n"
14391 " (signature mat4x2\n"
14393 " (declare (in) mat2x4 m))\n"
14395 " (signature mat3x4\n"
14397 " (declare (in) mat4x3 m))\n"
14399 " (signature mat4x3\n"
14401 " (declare (in) mat3x4 m))\n"
14403 "(function lessThan\n"
14404 " (signature bvec2\n"
14406 " (declare (in) vec2 x)\n"
14407 " (declare (in) vec2 y))\n"
14409 " (signature bvec3\n"
14411 " (declare (in) vec3 x)\n"
14412 " (declare (in) vec3 y))\n"
14414 " (signature bvec4\n"
14416 " (declare (in) vec4 x)\n"
14417 " (declare (in) vec4 y))\n"
14419 " (signature bvec2\n"
14421 " (declare (in) ivec2 x)\n"
14422 " (declare (in) ivec2 y))\n"
14424 " (signature bvec3\n"
14426 " (declare (in) ivec3 x)\n"
14427 " (declare (in) ivec3 y))\n"
14429 " (signature bvec4\n"
14431 " (declare (in) ivec4 x)\n"
14432 " (declare (in) ivec4 y))\n"
14434 " (signature bvec2\n"
14436 " (declare (in) uvec2 x)\n"
14437 " (declare (in) uvec2 y))\n"
14439 " (signature bvec3\n"
14441 " (declare (in) uvec3 x)\n"
14442 " (declare (in) uvec3 y))\n"
14444 " (signature bvec4\n"
14446 " (declare (in) uvec4 x)\n"
14447 " (declare (in) uvec4 y))\n"
14449 "(function lessThanEqual\n"
14450 " (signature bvec2\n"
14452 " (declare (in) vec2 x)\n"
14453 " (declare (in) vec2 y))\n"
14455 " (signature bvec3\n"
14457 " (declare (in) vec3 x)\n"
14458 " (declare (in) vec3 y))\n"
14460 " (signature bvec4\n"
14462 " (declare (in) vec4 x)\n"
14463 " (declare (in) vec4 y))\n"
14465 " (signature bvec2\n"
14467 " (declare (in) ivec2 x)\n"
14468 " (declare (in) ivec2 y))\n"
14470 " (signature bvec3\n"
14472 " (declare (in) ivec3 x)\n"
14473 " (declare (in) ivec3 y))\n"
14475 " (signature bvec4\n"
14477 " (declare (in) ivec4 x)\n"
14478 " (declare (in) ivec4 y))\n"
14480 " (signature bvec2\n"
14482 " (declare (in) uvec2 x)\n"
14483 " (declare (in) uvec2 y))\n"
14485 " (signature bvec3\n"
14487 " (declare (in) uvec3 x)\n"
14488 " (declare (in) uvec3 y))\n"
14490 " (signature bvec4\n"
14492 " (declare (in) uvec4 x)\n"
14493 " (declare (in) uvec4 y))\n"
14495 "(function greaterThan\n"
14496 " (signature bvec2\n"
14498 " (declare (in) vec2 x)\n"
14499 " (declare (in) vec2 y))\n"
14501 " (signature bvec3\n"
14503 " (declare (in) vec3 x)\n"
14504 " (declare (in) vec3 y))\n"
14506 " (signature bvec4\n"
14508 " (declare (in) vec4 x)\n"
14509 " (declare (in) vec4 y))\n"
14511 " (signature bvec2\n"
14513 " (declare (in) ivec2 x)\n"
14514 " (declare (in) ivec2 y))\n"
14516 " (signature bvec3\n"
14518 " (declare (in) ivec3 x)\n"
14519 " (declare (in) ivec3 y))\n"
14521 " (signature bvec4\n"
14523 " (declare (in) ivec4 x)\n"
14524 " (declare (in) ivec4 y))\n"
14526 " (signature bvec2\n"
14528 " (declare (in) uvec2 x)\n"
14529 " (declare (in) uvec2 y))\n"
14531 " (signature bvec3\n"
14533 " (declare (in) uvec3 x)\n"
14534 " (declare (in) uvec3 y))\n"
14536 " (signature bvec4\n"
14538 " (declare (in) uvec4 x)\n"
14539 " (declare (in) uvec4 y))\n"
14541 "(function greaterThanEqual\n"
14542 " (signature bvec2\n"
14544 " (declare (in) vec2 x)\n"
14545 " (declare (in) vec2 y))\n"
14547 " (signature bvec3\n"
14549 " (declare (in) vec3 x)\n"
14550 " (declare (in) vec3 y))\n"
14552 " (signature bvec4\n"
14554 " (declare (in) vec4 x)\n"
14555 " (declare (in) vec4 y))\n"
14557 " (signature bvec2\n"
14559 " (declare (in) ivec2 x)\n"
14560 " (declare (in) ivec2 y))\n"
14562 " (signature bvec3\n"
14564 " (declare (in) ivec3 x)\n"
14565 " (declare (in) ivec3 y))\n"
14567 " (signature bvec4\n"
14569 " (declare (in) ivec4 x)\n"
14570 " (declare (in) ivec4 y))\n"
14572 " (signature bvec2\n"
14574 " (declare (in) uvec2 x)\n"
14575 " (declare (in) uvec2 y))\n"
14577 " (signature bvec3\n"
14579 " (declare (in) uvec3 x)\n"
14580 " (declare (in) uvec3 y))\n"
14582 " (signature bvec4\n"
14584 " (declare (in) uvec4 x)\n"
14585 " (declare (in) uvec4 y))\n"
14587 "(function equal\n"
14588 " (signature bvec2\n"
14590 " (declare (in) vec2 x)\n"
14591 " (declare (in) vec2 y))\n"
14593 " (signature bvec3\n"
14595 " (declare (in) vec3 x)\n"
14596 " (declare (in) vec3 y))\n"
14598 " (signature bvec4\n"
14600 " (declare (in) vec4 x)\n"
14601 " (declare (in) vec4 y))\n"
14603 " (signature bvec2\n"
14605 " (declare (in) ivec2 x)\n"
14606 " (declare (in) ivec2 y))\n"
14608 " (signature bvec3\n"
14610 " (declare (in) ivec3 x)\n"
14611 " (declare (in) ivec3 y))\n"
14613 " (signature bvec4\n"
14615 " (declare (in) ivec4 x)\n"
14616 " (declare (in) ivec4 y))\n"
14618 " (signature bvec2\n"
14620 " (declare (in) uvec2 x)\n"
14621 " (declare (in) uvec2 y))\n"
14623 " (signature bvec3\n"
14625 " (declare (in) uvec3 x)\n"
14626 " (declare (in) uvec3 y))\n"
14628 " (signature bvec4\n"
14630 " (declare (in) uvec4 x)\n"
14631 " (declare (in) uvec4 y))\n"
14633 " (signature bvec2\n"
14635 " (declare (in) bvec2 x)\n"
14636 " (declare (in) bvec2 y))\n"
14638 " (signature bvec3\n"
14640 " (declare (in) bvec3 x)\n"
14641 " (declare (in) bvec3 y))\n"
14643 " (signature bvec4\n"
14645 " (declare (in) bvec4 x)\n"
14646 " (declare (in) bvec4 y))\n"
14648 "(function notEqual\n"
14649 " (signature bvec2\n"
14651 " (declare (in) vec2 x)\n"
14652 " (declare (in) vec2 y))\n"
14654 " (signature bvec3\n"
14656 " (declare (in) vec3 x)\n"
14657 " (declare (in) vec3 y))\n"
14659 " (signature bvec4\n"
14661 " (declare (in) vec4 x)\n"
14662 " (declare (in) vec4 y))\n"
14664 " (signature bvec2\n"
14666 " (declare (in) ivec2 x)\n"
14667 " (declare (in) ivec2 y))\n"
14669 " (signature bvec3\n"
14671 " (declare (in) ivec3 x)\n"
14672 " (declare (in) ivec3 y))\n"
14674 " (signature bvec4\n"
14676 " (declare (in) ivec4 x)\n"
14677 " (declare (in) ivec4 y))\n"
14679 " (signature bvec2\n"
14681 " (declare (in) uvec2 x)\n"
14682 " (declare (in) uvec2 y))\n"
14684 " (signature bvec3\n"
14686 " (declare (in) uvec3 x)\n"
14687 " (declare (in) uvec3 y))\n"
14689 " (signature bvec4\n"
14691 " (declare (in) uvec4 x)\n"
14692 " (declare (in) uvec4 y))\n"
14694 " (signature bvec2\n"
14696 " (declare (in) bvec2 x)\n"
14697 " (declare (in) bvec2 y))\n"
14699 " (signature bvec3\n"
14701 " (declare (in) bvec3 x)\n"
14702 " (declare (in) bvec3 y))\n"
14704 " (signature bvec4\n"
14706 " (declare (in) bvec4 x)\n"
14707 " (declare (in) bvec4 y))\n"
14710 " (signature bool\n"
14712 " (declare (in) bvec2 x))\n"
14714 " (signature bool\n"
14716 " (declare (in) bvec3 x))\n"
14718 " (signature bool\n"
14720 " (declare (in) bvec4 x))\n"
14723 " (signature bool\n"
14725 " (declare (in) bvec2 x))\n"
14727 " (signature bool\n"
14729 " (declare (in) bvec3 x))\n"
14731 " (signature bool\n"
14733 " (declare (in) bvec4 x))\n"
14736 " (signature bvec2\n"
14738 " (declare (in) bvec2 x))\n"
14740 " (signature bvec3\n"
14742 " (declare (in) bvec3 x))\n"
14744 " (signature bvec4\n"
14746 " (declare (in) bvec4 x))\n"
14748 "(function texture\n"
14749 " (signature vec4\n"
14751 " (declare (in) sampler1D sampler)\n"
14752 " (declare (in) float P))\n"
14754 " (signature ivec4\n"
14756 " (declare (in) isampler1D sampler)\n"
14757 " (declare (in) float P))\n"
14759 " (signature uvec4\n"
14761 " (declare (in) usampler1D sampler)\n"
14762 " (declare (in) float P))\n"
14764 " (signature vec4\n"
14766 " (declare (in) sampler2D sampler)\n"
14767 " (declare (in) vec2 P))\n"
14769 " (signature ivec4\n"
14771 " (declare (in) isampler2D sampler)\n"
14772 " (declare (in) vec2 P))\n"
14774 " (signature uvec4\n"
14776 " (declare (in) usampler2D sampler)\n"
14777 " (declare (in) vec2 P))\n"
14779 " (signature vec4\n"
14781 " (declare (in) sampler3D sampler)\n"
14782 " (declare (in) vec3 P))\n"
14784 " (signature ivec4\n"
14786 " (declare (in) isampler3D sampler)\n"
14787 " (declare (in) vec3 P))\n"
14789 " (signature uvec4\n"
14791 " (declare (in) usampler3D sampler)\n"
14792 " (declare (in) vec3 P))\n"
14794 " (signature vec4\n"
14796 " (declare (in) samplerCube sampler)\n"
14797 " (declare (in) vec3 P))\n"
14799 " (signature ivec4\n"
14801 " (declare (in) isamplerCube sampler)\n"
14802 " (declare (in) vec3 P))\n"
14804 " (signature uvec4\n"
14806 " (declare (in) usamplerCube sampler)\n"
14807 " (declare (in) vec3 P))\n"
14809 " (signature float\n"
14811 " (declare (in) sampler1DShadow sampler)\n"
14812 " (declare (in) vec3 P))\n"
14814 " (signature float\n"
14816 " (declare (in) sampler2DShadow sampler)\n"
14817 " (declare (in) vec3 P))\n"
14819 " (signature float\n"
14821 " (declare (in) samplerCubeShadow sampler)\n"
14822 " (declare (in) vec4 P))\n"
14824 " (signature vec4\n"
14826 " (declare (in) sampler1DArray sampler)\n"
14827 " (declare (in) vec2 P))\n"
14829 " (signature ivec4\n"
14831 " (declare (in) isampler1DArray sampler)\n"
14832 " (declare (in) vec2 P))\n"
14834 " (signature uvec4\n"
14836 " (declare (in) usampler1DArray sampler)\n"
14837 " (declare (in) vec2 P))\n"
14839 " (signature vec4\n"
14841 " (declare (in) sampler2DArray sampler)\n"
14842 " (declare (in) vec3 P))\n"
14844 " (signature ivec4\n"
14846 " (declare (in) isampler2DArray sampler)\n"
14847 " (declare (in) vec3 P))\n"
14849 " (signature uvec4\n"
14851 " (declare (in) usampler2DArray sampler)\n"
14852 " (declare (in) vec3 P))\n"
14854 " (signature float\n"
14856 " (declare (in) sampler1DArrayShadow sampler)\n"
14857 " (declare (in) vec3 P))\n"
14859 " (signature float\n"
14861 " (declare (in) sampler2DArrayShadow sampler)\n"
14862 " (declare (in) vec4 P))\n"
14864 " (signature vec4\n"
14866 " (declare (in) sampler1D sampler)\n"
14867 " (declare (in) float P)\n"
14868 " (declare (in) float bias))\n"
14870 " (signature ivec4\n"
14872 " (declare (in) isampler1D sampler)\n"
14873 " (declare (in) float P)\n"
14874 " (declare (in) float bias))\n"
14876 " (signature uvec4\n"
14878 " (declare (in) usampler1D sampler)\n"
14879 " (declare (in) float P)\n"
14880 " (declare (in) float bias))\n"
14882 " (signature vec4\n"
14884 " (declare (in) sampler2D sampler)\n"
14885 " (declare (in) vec2 P)\n"
14886 " (declare (in) float bias))\n"
14888 " (signature ivec4\n"
14890 " (declare (in) isampler2D sampler)\n"
14891 " (declare (in) vec2 P)\n"
14892 " (declare (in) float bias))\n"
14894 " (signature uvec4\n"
14896 " (declare (in) usampler2D sampler)\n"
14897 " (declare (in) vec2 P)\n"
14898 " (declare (in) float bias))\n"
14900 " (signature vec4\n"
14902 " (declare (in) sampler3D sampler)\n"
14903 " (declare (in) vec3 P)\n"
14904 " (declare (in) float bias))\n"
14906 " (signature ivec4\n"
14908 " (declare (in) isampler3D sampler)\n"
14909 " (declare (in) vec3 P)\n"
14910 " (declare (in) float bias))\n"
14912 " (signature uvec4\n"
14914 " (declare (in) usampler3D sampler)\n"
14915 " (declare (in) vec3 P)\n"
14916 " (declare (in) float bias))\n"
14918 " (signature vec4\n"
14920 " (declare (in) samplerCube sampler)\n"
14921 " (declare (in) vec3 P)\n"
14922 " (declare (in) float bias))\n"
14924 " (signature ivec4\n"
14926 " (declare (in) isamplerCube sampler)\n"
14927 " (declare (in) vec3 P)\n"
14928 " (declare (in) float bias))\n"
14930 " (signature uvec4\n"
14932 " (declare (in) usamplerCube sampler)\n"
14933 " (declare (in) vec3 P)\n"
14934 " (declare (in) float bias))\n"
14936 " (signature float\n"
14938 " (declare (in) sampler1DShadow sampler)\n"
14939 " (declare (in) vec3 P)\n"
14940 " (declare (in) float bias))\n"
14942 " (signature float\n"
14944 " (declare (in) sampler2DShadow sampler)\n"
14945 " (declare (in) vec3 P)\n"
14946 " (declare (in) float bias))\n"
14948 " (signature float\n"
14950 " (declare (in) samplerCubeShadow sampler)\n"
14951 " (declare (in) vec4 P)\n"
14952 " (declare (in) float bias))\n"
14954 " (signature vec4\n"
14956 " (declare (in) sampler1DArray sampler)\n"
14957 " (declare (in) vec2 P)\n"
14958 " (declare (in) float bias))\n"
14960 " (signature ivec4\n"
14962 " (declare (in) isampler1DArray sampler)\n"
14963 " (declare (in) vec2 P)\n"
14964 " (declare (in) float bias))\n"
14966 " (signature uvec4\n"
14968 " (declare (in) usampler1DArray sampler)\n"
14969 " (declare (in) vec2 P)\n"
14970 " (declare (in) float bias))\n"
14972 " (signature vec4\n"
14974 " (declare (in) sampler2DArray sampler)\n"
14975 " (declare (in) vec3 P)\n"
14976 " (declare (in) float bias))\n"
14978 " (signature ivec4\n"
14980 " (declare (in) isampler2DArray sampler)\n"
14981 " (declare (in) vec3 P)\n"
14982 " (declare (in) float bias))\n"
14984 " (signature uvec4\n"
14986 " (declare (in) usampler2DArray sampler)\n"
14987 " (declare (in) vec3 P)\n"
14988 " (declare (in) float bias))\n"
14990 " (signature float\n"
14992 " (declare (in) sampler1DArrayShadow sampler)\n"
14993 " (declare (in) vec3 P)\n"
14994 " (declare (in) float bias))\n"
14996 "(function textureProj\n"
14997 " (signature vec4\n"
14999 " (declare (in) sampler1D sampler)\n"
15000 " (declare (in) vec2 P))\n"
15002 " (signature ivec4\n"
15004 " (declare (in) isampler1D sampler)\n"
15005 " (declare (in) vec2 P))\n"
15007 " (signature uvec4\n"
15009 " (declare (in) usampler1D sampler)\n"
15010 " (declare (in) vec2 P))\n"
15012 " (signature vec4\n"
15014 " (declare (in) sampler1D sampler)\n"
15015 " (declare (in) vec4 P))\n"
15017 " (signature ivec4\n"
15019 " (declare (in) isampler1D sampler)\n"
15020 " (declare (in) vec4 P))\n"
15022 " (signature uvec4\n"
15024 " (declare (in) usampler1D sampler)\n"
15025 " (declare (in) vec4 P))\n"
15027 " (signature vec4\n"
15029 " (declare (in) sampler2D sampler)\n"
15030 " (declare (in) vec3 P))\n"
15032 " (signature ivec4\n"
15034 " (declare (in) isampler2D sampler)\n"
15035 " (declare (in) vec3 P))\n"
15037 " (signature uvec4\n"
15039 " (declare (in) usampler2D sampler)\n"
15040 " (declare (in) vec3 P))\n"
15042 " (signature vec4\n"
15044 " (declare (in) sampler2D sampler)\n"
15045 " (declare (in) vec4 P))\n"
15047 " (signature ivec4\n"
15049 " (declare (in) isampler2D sampler)\n"
15050 " (declare (in) vec4 P))\n"
15052 " (signature uvec4\n"
15054 " (declare (in) usampler2D sampler)\n"
15055 " (declare (in) vec4 P))\n"
15057 " (signature vec4\n"
15059 " (declare (in) sampler3D sampler)\n"
15060 " (declare (in) vec4 P))\n"
15062 " (signature ivec4\n"
15064 " (declare (in) isampler3D sampler)\n"
15065 " (declare (in) vec4 P))\n"
15067 " (signature uvec4\n"
15069 " (declare (in) usampler3D sampler)\n"
15070 " (declare (in) vec4 P))\n"
15072 " (signature float\n"
15074 " (declare (in) sampler1DShadow sampler)\n"
15075 " (declare (in) vec4 P))\n"
15077 " (signature float\n"
15079 " (declare (in) sampler2DShadow sampler)\n"
15080 " (declare (in) vec4 P))\n"
15082 " (signature vec4\n"
15084 " (declare (in) sampler1D sampler)\n"
15085 " (declare (in) vec2 P)\n"
15086 " (declare (in) float bias))\n"
15088 " (signature ivec4\n"
15090 " (declare (in) isampler1D sampler)\n"
15091 " (declare (in) vec2 P)\n"
15092 " (declare (in) float bias))\n"
15094 " (signature uvec4\n"
15096 " (declare (in) usampler1D sampler)\n"
15097 " (declare (in) vec2 P)\n"
15098 " (declare (in) float bias))\n"
15100 " (signature vec4\n"
15102 " (declare (in) sampler1D sampler)\n"
15103 " (declare (in) vec4 P)\n"
15104 " (declare (in) float bias))\n"
15106 " (signature ivec4\n"
15108 " (declare (in) isampler1D sampler)\n"
15109 " (declare (in) vec4 P)\n"
15110 " (declare (in) float bias))\n"
15112 " (signature uvec4\n"
15114 " (declare (in) usampler1D sampler)\n"
15115 " (declare (in) vec4 P)\n"
15116 " (declare (in) float bias))\n"
15118 " (signature vec4\n"
15120 " (declare (in) sampler2D sampler)\n"
15121 " (declare (in) vec3 P)\n"
15122 " (declare (in) float bias))\n"
15124 " (signature ivec4\n"
15126 " (declare (in) isampler2D sampler)\n"
15127 " (declare (in) vec3 P)\n"
15128 " (declare (in) float bias))\n"
15130 " (signature uvec4\n"
15132 " (declare (in) usampler2D sampler)\n"
15133 " (declare (in) vec3 P)\n"
15134 " (declare (in) float bias))\n"
15136 " (signature vec4\n"
15138 " (declare (in) sampler2D sampler)\n"
15139 " (declare (in) vec4 P)\n"
15140 " (declare (in) float bias))\n"
15142 " (signature ivec4\n"
15144 " (declare (in) isampler2D sampler)\n"
15145 " (declare (in) vec4 P)\n"
15146 " (declare (in) float bias))\n"
15148 " (signature uvec4\n"
15150 " (declare (in) usampler2D sampler)\n"
15151 " (declare (in) vec4 P)\n"
15152 " (declare (in) float bias))\n"
15154 " (signature vec4\n"
15156 " (declare (in) sampler3D sampler)\n"
15157 " (declare (in) vec4 P)\n"
15158 " (declare (in) float bias))\n"
15160 " (signature ivec4\n"
15162 " (declare (in) isampler3D sampler)\n"
15163 " (declare (in) vec4 P)\n"
15164 " (declare (in) float bias))\n"
15166 " (signature uvec4\n"
15168 " (declare (in) usampler3D sampler)\n"
15169 " (declare (in) vec4 P)\n"
15170 " (declare (in) float bias))\n"
15172 " (signature float\n"
15174 " (declare (in) sampler1DShadow sampler)\n"
15175 " (declare (in) vec4 P)\n"
15176 " (declare (in) float bias))\n"
15178 " (signature float\n"
15180 " (declare (in) sampler2DShadow sampler)\n"
15181 " (declare (in) vec4 P)\n"
15182 " (declare (in) float bias))\n"
15184 "(function textureLod\n"
15185 " (signature vec4\n"
15187 " (declare (in) sampler1D sampler)\n"
15188 " (declare (in) float P)\n"
15189 " (declare (in) float lod))\n"
15191 " (signature ivec4\n"
15193 " (declare (in) isampler1D sampler)\n"
15194 " (declare (in) float P)\n"
15195 " (declare (in) float lod))\n"
15197 " (signature uvec4\n"
15199 " (declare (in) usampler1D sampler)\n"
15200 " (declare (in) float P)\n"
15201 " (declare (in) float lod))\n"
15203 " (signature vec4\n"
15205 " (declare (in) sampler2D sampler)\n"
15206 " (declare (in) vec2 P)\n"
15207 " (declare (in) float lod))\n"
15209 " (signature ivec4\n"
15211 " (declare (in) isampler2D sampler)\n"
15212 " (declare (in) vec2 P)\n"
15213 " (declare (in) float lod))\n"
15215 " (signature uvec4\n"
15217 " (declare (in) usampler2D sampler)\n"
15218 " (declare (in) vec2 P)\n"
15219 " (declare (in) float lod))\n"
15221 " (signature vec4\n"
15223 " (declare (in) sampler3D sampler)\n"
15224 " (declare (in) vec3 P)\n"
15225 " (declare (in) float lod))\n"
15227 " (signature ivec4\n"
15229 " (declare (in) isampler3D sampler)\n"
15230 " (declare (in) vec3 P)\n"
15231 " (declare (in) float lod))\n"
15233 " (signature uvec4\n"
15235 " (declare (in) usampler3D sampler)\n"
15236 " (declare (in) vec3 P)\n"
15237 " (declare (in) float lod))\n"
15239 " (signature vec4\n"
15241 " (declare (in) samplerCube sampler)\n"
15242 " (declare (in) vec3 P)\n"
15243 " (declare (in) float lod))\n"
15245 " (signature ivec4\n"
15247 " (declare (in) isamplerCube sampler)\n"
15248 " (declare (in) vec3 P)\n"
15249 " (declare (in) float lod))\n"
15251 " (signature uvec4\n"
15253 " (declare (in) usamplerCube sampler)\n"
15254 " (declare (in) vec3 P)\n"
15255 " (declare (in) float lod))\n"
15257 " (signature float\n"
15259 " (declare (in) sampler1DShadow sampler)\n"
15260 " (declare (in) vec3 P)\n"
15261 " (declare (in) float lod))\n"
15263 " (signature float\n"
15265 " (declare (in) sampler2DShadow sampler)\n"
15266 " (declare (in) vec3 P)\n"
15267 " (declare (in) float lod))\n"
15269 " (signature vec4\n"
15271 " (declare (in) sampler1DArray sampler)\n"
15272 " (declare (in) vec2 P)\n"
15273 " (declare (in) float lod))\n"
15275 " (signature ivec4\n"
15277 " (declare (in) isampler1DArray sampler)\n"
15278 " (declare (in) vec2 P)\n"
15279 " (declare (in) float lod))\n"
15281 " (signature uvec4\n"
15283 " (declare (in) usampler1DArray sampler)\n"
15284 " (declare (in) vec2 P)\n"
15285 " (declare (in) float lod))\n"
15287 " (signature vec4\n"
15289 " (declare (in) sampler2DArray sampler)\n"
15290 " (declare (in) vec3 P)\n"
15291 " (declare (in) float lod))\n"
15293 " (signature ivec4\n"
15295 " (declare (in) isampler2DArray sampler)\n"
15296 " (declare (in) vec3 P)\n"
15297 " (declare (in) float lod))\n"
15299 " (signature uvec4\n"
15301 " (declare (in) usampler2DArray sampler)\n"
15302 " (declare (in) vec3 P)\n"
15303 " (declare (in) float lod))\n"
15305 " (signature float\n"
15307 " (declare (in) sampler1DArrayShadow sampler)\n"
15308 " (declare (in) vec3 P)\n"
15309 " (declare (in) float lod))\n"
15311 "(function texelFetch\n"
15312 " (signature vec4\n"
15314 " (declare (in) sampler1D sampler)\n"
15315 " (declare (in) int P)\n"
15316 " (declare (in) int lod))\n"
15318 " (signature ivec4\n"
15320 " (declare (in) isampler1D sampler)\n"
15321 " (declare (in) int P)\n"
15322 " (declare (in) int lod))\n"
15324 " (signature uvec4\n"
15326 " (declare (in) usampler1D sampler)\n"
15327 " (declare (in) int P)\n"
15328 " (declare (in) int lod))\n"
15330 " (signature vec4\n"
15332 " (declare (in) sampler2D sampler)\n"
15333 " (declare (in) ivec2 P)\n"
15334 " (declare (in) int lod))\n"
15336 " (signature ivec4\n"
15338 " (declare (in) isampler2D sampler)\n"
15339 " (declare (in) ivec2 P)\n"
15340 " (declare (in) int lod))\n"
15342 " (signature uvec4\n"
15344 " (declare (in) usampler2D sampler)\n"
15345 " (declare (in) ivec2 P)\n"
15346 " (declare (in) int lod))\n"
15348 " (signature vec4\n"
15350 " (declare (in) sampler3D sampler)\n"
15351 " (declare (in) ivec3 P)\n"
15352 " (declare (in) int lod))\n"
15354 " (signature ivec4\n"
15356 " (declare (in) isampler3D sampler)\n"
15357 " (declare (in) ivec3 P)\n"
15358 " (declare (in) int lod))\n"
15360 " (signature uvec4\n"
15362 " (declare (in) usampler3D sampler)\n"
15363 " (declare (in) ivec3 P)\n"
15364 " (declare (in) int lod))\n"
15366 " (signature vec4\n"
15368 " (declare (in) sampler1DArray sampler)\n"
15369 " (declare (in) ivec2 P)\n"
15370 " (declare (in) int lod))\n"
15372 " (signature ivec4\n"
15374 " (declare (in) isampler1DArray sampler)\n"
15375 " (declare (in) ivec2 P)\n"
15376 " (declare (in) int lod))\n"
15378 " (signature uvec4\n"
15380 " (declare (in) usampler1DArray sampler)\n"
15381 " (declare (in) ivec2 P)\n"
15382 " (declare (in) int lod))\n"
15384 " (signature vec4\n"
15386 " (declare (in) sampler2DArray sampler)\n"
15387 " (declare (in) ivec3 P)\n"
15388 " (declare (in) int lod))\n"
15390 " (signature ivec4\n"
15392 " (declare (in) isampler2DArray sampler)\n"
15393 " (declare (in) ivec3 P)\n"
15394 " (declare (in) int lod))\n"
15396 " (signature uvec4\n"
15398 " (declare (in) usampler2DArray sampler)\n"
15399 " (declare (in) ivec3 P)\n"
15400 " (declare (in) int lod))\n"
15402 "(function textureProjLod\n"
15403 " (signature vec4\n"
15405 " (declare (in) sampler1D sampler)\n"
15406 " (declare (in) vec2 P)\n"
15407 " (declare (in) float lod))\n"
15409 " (signature ivec4\n"
15411 " (declare (in) isampler1D sampler)\n"
15412 " (declare (in) vec2 P)\n"
15413 " (declare (in) float lod))\n"
15415 " (signature uvec4\n"
15417 " (declare (in) usampler1D sampler)\n"
15418 " (declare (in) vec2 P)\n"
15419 " (declare (in) float lod))\n"
15421 " (signature vec4\n"
15423 " (declare (in) sampler1D sampler)\n"
15424 " (declare (in) vec4 P)\n"
15425 " (declare (in) float lod))\n"
15427 " (signature ivec4\n"
15429 " (declare (in) isampler1D sampler)\n"
15430 " (declare (in) vec4 P)\n"
15431 " (declare (in) float lod))\n"
15433 " (signature uvec4\n"
15435 " (declare (in) usampler1D sampler)\n"
15436 " (declare (in) vec4 P)\n"
15437 " (declare (in) float lod))\n"
15439 " (signature vec4\n"
15441 " (declare (in) sampler2D sampler)\n"
15442 " (declare (in) vec3 P)\n"
15443 " (declare (in) float lod))\n"
15445 " (signature ivec4\n"
15447 " (declare (in) isampler2D sampler)\n"
15448 " (declare (in) vec3 P)\n"
15449 " (declare (in) float lod))\n"
15451 " (signature uvec4\n"
15453 " (declare (in) usampler2D sampler)\n"
15454 " (declare (in) vec3 P)\n"
15455 " (declare (in) float lod))\n"
15457 " (signature vec4\n"
15459 " (declare (in) sampler2D sampler)\n"
15460 " (declare (in) vec4 P)\n"
15461 " (declare (in) float lod))\n"
15463 " (signature ivec4\n"
15465 " (declare (in) isampler2D sampler)\n"
15466 " (declare (in) vec4 P)\n"
15467 " (declare (in) float lod))\n"
15469 " (signature uvec4\n"
15471 " (declare (in) usampler2D sampler)\n"
15472 " (declare (in) vec4 P)\n"
15473 " (declare (in) float lod))\n"
15475 " (signature vec4\n"
15477 " (declare (in) sampler3D sampler)\n"
15478 " (declare (in) vec4 P)\n"
15479 " (declare (in) float lod))\n"
15481 " (signature ivec4\n"
15483 " (declare (in) isampler3D sampler)\n"
15484 " (declare (in) vec4 P)\n"
15485 " (declare (in) float lod))\n"
15487 " (signature uvec4\n"
15489 " (declare (in) usampler3D sampler)\n"
15490 " (declare (in) vec4 P)\n"
15491 " (declare (in) float lod))\n"
15493 " (signature float\n"
15495 " (declare (in) sampler1DShadow sampler)\n"
15496 " (declare (in) vec4 P)\n"
15497 " (declare (in) float lod))\n"
15499 " (signature float\n"
15501 " (declare (in) sampler2DShadow sampler)\n"
15502 " (declare (in) vec4 P)\n"
15503 " (declare (in) float lod))\n"
15505 "(function textureGrad\n"
15506 " (signature vec4\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"
15513 " (signature ivec4\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"
15520 " (signature uvec4\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"
15527 " (signature vec4\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"
15534 " (signature ivec4\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"
15541 " (signature uvec4\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"
15548 " (signature vec4\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"
15555 " (signature ivec4\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"
15562 " (signature uvec4\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"
15569 " (signature vec4\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"
15576 " (signature ivec4\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"
15583 " (signature uvec4\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"
15590 " (signature float\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"
15597 " (signature float\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"
15604 " (signature float\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"
15611 " (signature vec4\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"
15618 " (signature ivec4\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"
15625 " (signature uvec4\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"
15632 " (signature vec4\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"
15639 " (signature ivec4\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"
15646 " (signature uvec4\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"
15653 " (signature float\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"
15660 " (signature float\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"
15667 "(function textureProjGrad\n"
15668 " (signature vec4\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"
15675 " (signature ivec4\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"
15682 " (signature uvec4\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"
15689 " (signature vec4\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"
15696 " (signature ivec4\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"
15703 " (signature uvec4\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"
15710 " (signature vec4\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"
15717 " (signature ivec4\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"
15724 " (signature uvec4\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"
15731 " (signature vec4\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"
15738 " (signature ivec4\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"
15745 " (signature uvec4\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"
15752 " (signature vec4\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"
15759 " (signature ivec4\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"
15766 " (signature uvec4\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"
15773 " (signature float\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"
15780 " (signature float\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"
15787 "(function texture1D\n"
15788 " (signature vec4\n"
15790 " (declare (in) sampler1D sampler)\n"
15791 " (declare (in) float coord))\n"
15793 " (signature vec4\n"
15795 " (declare (in) sampler1D sampler)\n"
15796 " (declare (in) float coord)\n"
15797 " (declare (in) float bias))\n"
15799 "(function texture1DProj\n"
15800 " (signature vec4\n"
15802 " (declare (in) sampler1D sampler)\n"
15803 " (declare (in) vec2 coord))\n"
15805 " (signature vec4\n"
15807 " (declare (in) sampler1D sampler)\n"
15808 " (declare (in) vec4 coord))\n"
15810 " (signature vec4\n"
15812 " (declare (in) sampler1D sampler)\n"
15813 " (declare (in) vec2 coord)\n"
15814 " (declare (in) float bias))\n"
15816 " (signature vec4\n"
15818 " (declare (in) sampler1D sampler)\n"
15819 " (declare (in) vec4 coord)\n"
15820 " (declare (in) float bias))\n"
15822 "(function texture1DLod\n"
15823 " (signature vec4\n"
15825 " (declare (in) sampler1D sampler)\n"
15826 " (declare (in) float coord)\n"
15827 " (declare (in) float lod))\n"
15829 "(function texture1DProjLod\n"
15830 " (signature vec4\n"
15832 " (declare (in) sampler1D sampler)\n"
15833 " (declare (in) vec2 coord)\n"
15834 " (declare (in) float lod))\n"
15836 " (signature vec4\n"
15838 " (declare (in) sampler1D sampler)\n"
15839 " (declare (in) vec4 coord)\n"
15840 " (declare (in) float lod))\n"
15842 "(function texture2D\n"
15843 " (signature vec4\n"
15845 " (declare (in) sampler2D sampler)\n"
15846 " (declare (in) vec2 coord))\n"
15848 " (signature vec4\n"
15850 " (declare (in) sampler2D sampler)\n"
15851 " (declare (in) vec2 coord)\n"
15852 " (declare (in) float bias))\n"
15854 "(function texture2DProj\n"
15855 " (signature vec4\n"
15857 " (declare (in) sampler2D sampler)\n"
15858 " (declare (in) vec3 coord))\n"
15860 " (signature vec4\n"
15862 " (declare (in) sampler2D sampler)\n"
15863 " (declare (in) vec4 coord))\n"
15865 " (signature vec4\n"
15867 " (declare (in) sampler2D sampler)\n"
15868 " (declare (in) vec3 coord)\n"
15869 " (declare (in) float bias))\n"
15871 " (signature vec4\n"
15873 " (declare (in) sampler2D sampler)\n"
15874 " (declare (in) vec4 coord)\n"
15875 " (declare (in) float bias))\n"
15877 "(function texture2DLod\n"
15878 " (signature vec4\n"
15880 " (declare (in) sampler2D sampler)\n"
15881 " (declare (in) vec2 coord)\n"
15882 " (declare (in) float lod))\n"
15884 "(function texture2DProjLod\n"
15885 " (signature vec4\n"
15887 " (declare (in) sampler2D sampler)\n"
15888 " (declare (in) vec3 coord)\n"
15889 " (declare (in) float lod))\n"
15891 " (signature vec4\n"
15893 " (declare (in) sampler2D sampler)\n"
15894 " (declare (in) vec4 coord)\n"
15895 " (declare (in) float lod))\n"
15897 "(function texture3D\n"
15898 " (signature vec4\n"
15900 " (declare (in) sampler3D sampler)\n"
15901 " (declare (in) vec3 coord))\n"
15903 " (signature vec4\n"
15905 " (declare (in) sampler3D sampler)\n"
15906 " (declare (in) vec3 coord)\n"
15907 " (declare (in) float bias))\n"
15909 "(function texture3DProj\n"
15910 " (signature vec4\n"
15912 " (declare (in) sampler3D sampler)\n"
15913 " (declare (in) vec4 coord))\n"
15915 " (signature vec4\n"
15917 " (declare (in) sampler3D sampler)\n"
15918 " (declare (in) vec4 coord)\n"
15919 " (declare (in) float bias))\n"
15921 "(function texture3DLod\n"
15922 " (signature vec4\n"
15924 " (declare (in) sampler3D sampler)\n"
15925 " (declare (in) vec3 coord)\n"
15926 " (declare (in) float lod))\n"
15928 "(function texture3DProjLod\n"
15929 " (signature vec4\n"
15931 " (declare (in) sampler3D sampler)\n"
15932 " (declare (in) vec4 coord)\n"
15933 " (declare (in) float lod))\n"
15935 "(function textureCube\n"
15936 " (signature vec4\n"
15938 " (declare (in) samplerCube sampler)\n"
15939 " (declare (in) vec3 coord))\n"
15941 " (signature vec4\n"
15943 " (declare (in) samplerCube sampler)\n"
15944 " (declare (in) vec3 coord)\n"
15945 " (declare (in) float bias))\n"
15947 "(function textureCubeLod\n"
15948 " (signature vec4\n"
15950 " (declare (in) samplerCube sampler)\n"
15951 " (declare (in) vec3 coord)\n"
15952 " (declare (in) float lod))\n"
15954 "(function shadow1D\n"
15955 " (signature vec4\n"
15957 " (declare (in) sampler1DShadow sampler)\n"
15958 " (declare (in) vec3 coord))\n"
15960 " (signature vec4\n"
15962 " (declare (in) sampler1DShadow sampler)\n"
15963 " (declare (in) vec3 coord)\n"
15964 " (declare (in) float bias))\n"
15966 "(function shadow2D\n"
15967 " (signature vec4\n"
15969 " (declare (in) sampler2DShadow sampler)\n"
15970 " (declare (in) vec3 coord))\n"
15972 " (signature vec4\n"
15974 " (declare (in) sampler2DShadow sampler)\n"
15975 " (declare (in) vec3 coord)\n"
15976 " (declare (in) float bias))\n"
15978 "(function shadow1DProj\n"
15979 " (signature vec4\n"
15981 " (declare (in) sampler1DShadow sampler)\n"
15982 " (declare (in) vec4 coord))\n"
15984 " (signature vec4\n"
15986 " (declare (in) sampler1DShadow sampler)\n"
15987 " (declare (in) vec4 coord)\n"
15988 " (declare (in) float bias))\n"
15990 "(function shadow2DProj\n"
15991 " (signature vec4\n"
15993 " (declare (in) sampler2DShadow sampler)\n"
15994 " (declare (in) vec4 coord))\n"
15996 " (signature vec4\n"
15998 " (declare (in) sampler2DShadow sampler)\n"
15999 " (declare (in) vec4 coord)\n"
16000 " (declare (in) float bias))\n"
16002 "(function shadow1DLod\n"
16003 " (signature vec4\n"
16005 " (declare (in) sampler1DShadow sampler)\n"
16006 " (declare (in) vec3 coord)\n"
16007 " (declare (in) float lod))\n"
16009 "(function shadow2DLod\n"
16010 " (signature vec4\n"
16012 " (declare (in) sampler2DShadow sampler)\n"
16013 " (declare (in) vec3 coord)\n"
16014 " (declare (in) float lod))\n"
16016 "(function shadow1DProjLod\n"
16017 " (signature vec4\n"
16019 " (declare (in) sampler1DShadow sampler)\n"
16020 " (declare (in) vec4 coord)\n"
16021 " (declare (in) float lod))\n"
16023 "(function shadow2DProjLod\n"
16024 " (signature vec4\n"
16026 " (declare (in) sampler2DShadow sampler)\n"
16027 " (declare (in) vec4 coord)\n"
16028 " (declare (in) float lod))\n"
16030 "(function noise1\n"
16031 " (signature float\n"
16033 " (declare (in) float x))\n"
16035 " (signature float\n"
16037 " (declare (in) vec2 x))\n"
16039 " (signature float\n"
16041 " (declare (in) vec3 x))\n"
16043 " (signature float\n"
16045 " (declare (in) vec4 x))\n"
16047 "(function noise2\n"
16048 " (signature vec2\n"
16050 " (declare (in) float x))\n"
16052 " (signature vec2\n"
16054 " (declare (in) vec2 x))\n"
16056 " (signature vec2\n"
16058 " (declare (in) vec3 x))\n"
16060 " (signature vec2\n"
16062 " (declare (in) vec4 x))\n"
16064 "(function noise3\n"
16065 " (signature vec3\n"
16067 " (declare (in) float x))\n"
16069 " (signature vec3\n"
16071 " (declare (in) vec2 x))\n"
16073 " (signature vec3\n"
16075 " (declare (in) vec3 x))\n"
16077 " (signature vec3\n"
16079 " (declare (in) vec4 x))\n"
16081 "(function noise4\n"
16082 " (signature vec4\n"
16084 " (declare (in) float x))\n"
16086 " (signature vec4\n"
16088 " (declare (in) vec2 x))\n"
16090 " (signature vec4\n"
16092 " (declare (in) vec3 x))\n"
16094 " (signature vec4\n"
16096 " (declare (in) vec4 x))\n"
16099 static const char *functions_for_130_vert
[] = {
16117 builtin_faceforward
,
16120 builtin_ftransform
,
16121 builtin_greaterThan
,
16122 builtin_greaterThanEqual
,
16123 builtin_inversesqrt
,
16126 builtin_lessThanEqual
,
16129 builtin_matrixCompMult
,
16142 builtin_outerProduct
,
16150 builtin_shadow1DLod
,
16151 builtin_shadow1DProj
,
16152 builtin_shadow1DProjLod
,
16154 builtin_shadow2DLod
,
16155 builtin_shadow2DProj
,
16156 builtin_shadow2DProjLod
,
16160 builtin_smoothstep
,
16165 builtin_texelFetch
,
16168 builtin_texture1DLod
,
16169 builtin_texture1DProj
,
16170 builtin_texture1DProjLod
,
16172 builtin_texture2DLod
,
16173 builtin_texture2DProj
,
16174 builtin_texture2DProjLod
,
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
,
16189 static const char prototypes_for_ARB_texture_rectangle_frag
[] =
16191 "(function texture2DRect\n"
16192 " (signature vec4\n"
16194 " (declare (in) sampler2DRect sampler)\n"
16195 " (declare (in) vec2 coord))\n"
16197 "(function texture2DRectProj\n"
16198 " (signature vec4\n"
16200 " (declare (in) sampler2DRect sampler)\n"
16201 " (declare (in) vec3 coord))\n"
16203 " (signature vec4\n"
16205 " (declare (in) sampler2DRect sampler)\n"
16206 " (declare (in) vec4 coord))\n"
16208 "(function shadow2DRect\n"
16209 " (signature vec4\n"
16211 " (declare (in) sampler2DRectShadow sampler)\n"
16212 " (declare (in) vec3 coord))\n"
16214 "(function shadow2DRectProj\n"
16215 " (signature vec4\n"
16217 " (declare (in) sampler2DRectShadow sampler)\n"
16218 " (declare (in) vec4 coord))\n"
16221 static const char *functions_for_ARB_texture_rectangle_frag
[] = {
16222 builtin_shadow2DRect
,
16223 builtin_shadow2DRectProj
,
16224 builtin_texture2DRect
,
16225 builtin_texture2DRectProj
,
16227 static const char prototypes_for_ARB_texture_rectangle_vert
[] =
16229 "(function texture2DRect\n"
16230 " (signature vec4\n"
16232 " (declare (in) sampler2DRect sampler)\n"
16233 " (declare (in) vec2 coord))\n"
16235 "(function texture2DRectProj\n"
16236 " (signature vec4\n"
16238 " (declare (in) sampler2DRect sampler)\n"
16239 " (declare (in) vec3 coord))\n"
16241 " (signature vec4\n"
16243 " (declare (in) sampler2DRect sampler)\n"
16244 " (declare (in) vec4 coord))\n"
16246 "(function shadow2DRect\n"
16247 " (signature vec4\n"
16249 " (declare (in) sampler2DRectShadow sampler)\n"
16250 " (declare (in) vec3 coord))\n"
16252 "(function shadow2DRectProj\n"
16253 " (signature vec4\n"
16255 " (declare (in) sampler2DRectShadow sampler)\n"
16256 " (declare (in) vec4 coord))\n"
16259 static const char *functions_for_ARB_texture_rectangle_vert
[] = {
16260 builtin_shadow2DRect
,
16261 builtin_shadow2DRectProj
,
16262 builtin_texture2DRect
,
16263 builtin_texture2DRectProj
,
16265 static const char prototypes_for_EXT_texture_array_frag
[] =
16267 "(function texture1DArray\n"
16268 " (signature vec4\n"
16270 " (declare (in) sampler1DArray sampler)\n"
16271 " (declare (in) vec2 coord))\n"
16273 " (signature vec4\n"
16275 " (declare (in) sampler1DArray sampler)\n"
16276 " (declare (in) vec2 coord)\n"
16277 " (declare (in) float bias))\n"
16279 "(function texture2DArray\n"
16280 " (signature vec4\n"
16282 " (declare (in) sampler2DArray sampler)\n"
16283 " (declare (in) vec3 coord))\n"
16285 " (signature vec4\n"
16287 " (declare (in) sampler2DArray sampler)\n"
16288 " (declare (in) vec3 coord)\n"
16289 " (declare (in) float bias))\n"
16291 "(function shadow1DArray\n"
16292 " (signature vec4\n"
16294 " (declare (in) sampler1DArrayShadow sampler)\n"
16295 " (declare (in) vec3 coord))\n"
16297 " (signature vec4\n"
16299 " (declare (in) sampler1DArrayShadow sampler)\n"
16300 " (declare (in) vec3 coord)\n"
16301 " (declare (in) float bias))\n"
16303 "(function shadow2DArray\n"
16304 " (signature vec4\n"
16306 " (declare (in) sampler2DArrayShadow sampler)\n"
16307 " (declare (in) vec4 coord))\n"
16310 static const char *functions_for_EXT_texture_array_frag
[] = {
16311 builtin_shadow1DArray
,
16312 builtin_shadow2DArray
,
16313 builtin_texture1DArray
,
16314 builtin_texture2DArray
,
16316 static const char prototypes_for_EXT_texture_array_vert
[] =
16318 "(function texture1DArray\n"
16319 " (signature vec4\n"
16321 " (declare (in) sampler1DArray sampler)\n"
16322 " (declare (in) vec2 coord))\n"
16324 "(function texture1DArrayLod\n"
16325 " (signature vec4\n"
16327 " (declare (in) sampler1DArray sampler)\n"
16328 " (declare (in) vec2 coord)\n"
16329 " (declare (in) float lod))\n"
16331 "(function texture2DArray\n"
16332 " (signature vec4\n"
16334 " (declare (in) sampler2DArray sampler)\n"
16335 " (declare (in) vec3 coord))\n"
16337 "(function texture2DArrayLod\n"
16338 " (signature vec4\n"
16340 " (declare (in) sampler2DArray sampler)\n"
16341 " (declare (in) vec3 coord)\n"
16342 " (declare (in) float lod))\n"
16344 "(function shadow1DArray\n"
16345 " (signature vec4\n"
16347 " (declare (in) sampler1DArrayShadow sampler)\n"
16348 " (declare (in) vec3 coord))\n"
16350 "(function shadow1DArrayLod\n"
16351 " (signature vec4\n"
16353 " (declare (in) sampler1DArrayShadow sampler)\n"
16354 " (declare (in) vec3 coord)\n"
16355 " (declare (in) float lod))\n"
16357 "(function shadow2DArray\n"
16358 " (signature vec4\n"
16360 " (declare (in) sampler2DArrayShadow sampler)\n"
16361 " (declare (in) vec4 coord))\n"
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
,
16373 static gl_shader
*builtin_profiles
[12];
16375 void *builtin_mem_ctx
= NULL
;
16378 _mesa_glsl_release_functions(void)
16380 talloc_free(builtin_mem_ctx
);
16381 builtin_mem_ctx
= NULL
;
16382 memset(builtin_profiles
, 0, sizeof(builtin_profiles
));
16386 _mesa_read_profile(struct _mesa_glsl_parse_state
*state
,
16387 exec_list
*instructions
,
16389 const char *prototypes
,
16390 const char **functions
,
16393 gl_shader
*sh
= builtin_profiles
[profile_index
];
16396 sh
= read_builtins(GL_VERTEX_SHADER
, prototypes
, functions
, count
);
16397 talloc_steal(builtin_mem_ctx
, sh
);
16398 builtin_profiles
[profile_index
] = sh
;
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
++;
16407 _mesa_glsl_initialize_functions(exec_list
*instructions
,
16408 struct _mesa_glsl_parse_state
*state
)
16410 if (builtin_mem_ctx
== NULL
) {
16411 builtin_mem_ctx
= talloc_init("GLSL built-in functions");
16412 memset(&builtin_profiles
, 0, sizeof(builtin_profiles
));
16415 state
->num_builtins_to_link
= 0;
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
));
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
));
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
));
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
));
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
));
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
));
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
));
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
));
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
));
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
));
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
));
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
));