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(GLcontext
*ctx
, GLuint name
, GLenum type
);
36 read_builtins(GLenum target
, const char *protos
, const char **functions
, unsigned count
)
38 gl_shader
*sh
= _mesa_new_shader(NULL
, 0, target
);
39 struct _mesa_glsl_parse_state
*st
=
40 new(sh
) _mesa_glsl_parse_state(NULL
, target
, sh
);
42 st
->language_version
= 130;
43 st
->symbols
->language_version
= 130;
44 st
->ARB_texture_rectangle_enable
= true;
45 st
->EXT_texture_array_enable
= true;
46 _mesa_glsl_initialize_types(st
);
48 sh
->ir
= new(sh
) exec_list
;
49 sh
->symbols
= st
->symbols
;
51 /* Read the IR containing the prototypes */
52 _mesa_glsl_read_ir(st
, sh
->ir
, protos
, true);
54 /* Read ALL the function bodies, telling the IR reader not to scan for
55 * prototypes (we've already created them). The IR reader will skip any
56 * signature that does not already exist as a prototype.
58 for (unsigned i
= 0; i
< count
; i
++) {
59 _mesa_glsl_read_ir(st
, sh
->ir
, functions
[i
], false);
62 printf("error reading builtin: %.35s ...\n", functions
[i
]);
68 reparent_ir(sh
->ir
, sh
);
74 static const char *builtin_abs
=
78 " (declare (in) float arg0))\n"
79 " ((return (expression float abs (var_ref arg0)))))\n"
83 " (declare (in) vec2 arg0))\n"
84 " ((return (expression vec2 abs (var_ref arg0)))))\n"
88 " (declare (in) vec3 arg0))\n"
89 " ((return (expression vec3 abs (var_ref arg0)))))\n"
93 " (declare (in) vec4 arg0))\n"
94 " ((return (expression vec4 abs (var_ref arg0)))))\n"
98 static const char *builtin_acos
=
100 " (signature float\n"
102 " (declare (in) float x))\n"
103 " ((return (expression float - (constant float (1.5707963))\n"
104 " (call asin ((var_ref x)))))))\n"
107 " (declare (in) vec2 x))\n"
108 " ((return (expression vec2 - (constant float (1.5707963))\n"
109 " (call asin ((var_ref x)))))))\n"
112 " (declare (in) vec3 x))\n"
113 " ((return (expression vec3 - (constant float (1.5707963))\n"
114 " (call asin ((var_ref x)))))))\n"
117 " (declare (in) vec4 x))\n"
118 " ((return (expression vec4 - (constant float (1.5707963))\n"
119 " (call asin ((var_ref x)))))))\n"
123 static const char *builtin_all
=
127 " (declare (in) bvec2 arg0))\n"
128 " ((return (expression bool && (swiz x (var_ref arg0))(swiz y (var_ref arg0))))))\n"
132 " (declare (in) bvec3 arg0))\n"
133 " ((return (expression bool && (expression bool && (swiz x (var_ref arg0))(swiz y (var_ref arg0))) (swiz z (var_ref arg0))))))\n"
137 " (declare (in) bvec4 arg0))\n"
138 " ((return (expression bool && (expression bool && (expression bool && (swiz x (var_ref arg0))(swiz y (var_ref arg0))) (swiz z (var_ref arg0))) (swiz w (var_ref arg0))))))\n"
142 static const char *builtin_any
=
146 " (declare (in) bvec2 arg0))\n"
147 " ((return (expression bool any (var_ref arg0)))))\n"
151 " (declare (in) bvec3 arg0))\n"
152 " ((return (expression bool any (var_ref arg0)))))\n"
156 " (declare (in) bvec4 arg0))\n"
157 " ((return (expression bool any (var_ref arg0)))))\n"
161 static const char *builtin_asin
=
163 " (signature float\n"
165 " (declare (in) float x))\n"
166 " ((return (expression float *\n"
167 " (expression float sign (var_ref x))\n"
168 " (expression float -\n"
169 " (expression float *\n"
170 " (constant float (3.1415926))\n"
171 " (constant float (0.5)))\n"
172 " (expression float *\n"
173 " (expression float sqrt\n"
174 " (expression float -\n"
175 " (constant float (1.0))\n"
176 " (expression float abs (var_ref x))))\n"
177 " (expression float +\n"
178 " (constant float (1.5707288))\n"
179 " (expression float *\n"
180 " (expression float abs (var_ref x))\n"
181 " (expression float +\n"
182 " (constant float (-0.2121144))\n"
183 " (expression float *\n"
184 " (constant float (0.0742610))\n"
185 " (expression float abs (var_ref x))))))))))))\n"
189 " (declare (in) vec2 x))\n"
190 " ((return (expression vec2 *\n"
191 " (expression vec2 sign (var_ref x))\n"
192 " (expression vec2 -\n"
193 " (expression float *\n"
194 " (constant float (3.1415926))\n"
195 " (constant float (0.5)))\n"
196 " (expression vec2 *\n"
197 " (expression vec2 sqrt\n"
198 " (expression vec2 -\n"
199 " (constant float (1.0))\n"
200 " (expression vec2 abs (var_ref x))))\n"
201 " (expression vec2 +\n"
202 " (constant float (1.5707288))\n"
203 " (expression vec2 *\n"
204 " (expression vec2 abs (var_ref x))\n"
205 " (expression vec2 +\n"
206 " (constant float (-0.2121144))\n"
207 " (expression vec2 *\n"
208 " (constant float (0.0742610))\n"
209 " (expression vec2 abs (var_ref x))))))))))))\n"
213 " (declare (in) vec3 x))\n"
214 " ((return (expression vec3 *\n"
215 " (expression vec3 sign (var_ref x))\n"
216 " (expression vec3 -\n"
217 " (expression float *\n"
218 " (constant float (3.1415926))\n"
219 " (constant float (0.5)))\n"
220 " (expression vec3 *\n"
221 " (expression vec3 sqrt\n"
222 " (expression vec3 -\n"
223 " (constant float (1.0))\n"
224 " (expression vec3 abs (var_ref x))))\n"
225 " (expression vec3 +\n"
226 " (constant float (1.5707288))\n"
227 " (expression vec3 *\n"
228 " (expression vec3 abs (var_ref x))\n"
229 " (expression vec3 +\n"
230 " (constant float (-0.2121144))\n"
231 " (expression vec3 *\n"
232 " (constant float (0.0742610))\n"
233 " (expression vec3 abs (var_ref x))))))))))))\n"
237 " (declare (in) vec4 x))\n"
238 " ((return (expression vec4 *\n"
239 " (expression vec4 sign (var_ref x))\n"
240 " (expression vec4 -\n"
241 " (expression float *\n"
242 " (constant float (3.1415926))\n"
243 " (constant float (0.5)))\n"
244 " (expression vec4 *\n"
245 " (expression vec4 sqrt\n"
246 " (expression vec4 -\n"
247 " (constant float (1.0))\n"
248 " (expression vec4 abs (var_ref x))))\n"
249 " (expression vec4 +\n"
250 " (constant float (1.5707288))\n"
251 " (expression vec4 *\n"
252 " (expression vec4 abs (var_ref x))\n"
253 " (expression vec4 +\n"
254 " (constant float (-0.2121144))\n"
255 " (expression vec4 *\n"
256 " (constant float (0.0742610))\n"
257 " (expression vec4 abs (var_ref x))))))))))))\n"
261 static const char *builtin_atan
=
263 " (signature float\n"
265 " (declare (in) float x))\n"
266 " ((return (call asin ((expression float *\n"
268 " (expression float rsq\n"
269 " (expression float +\n"
270 " (expression float *\n"
273 " (constant float (1.0))))))))))\n"
277 " (declare (in) vec2 y_over_x))\n"
278 " ((return (call asin ((expression vec2 *\n"
279 " (var_ref y_over_x)\n"
280 " (expression vec2 rsq\n"
281 " (expression vec2 +\n"
282 " (expression vec2 *\n"
283 " (var_ref y_over_x)\n"
284 " (var_ref y_over_x))\n"
285 " (constant float (1.0))))))))))\n"
289 " (declare (in) vec3 y_over_x))\n"
290 " ((return (call asin ((expression vec3 *\n"
291 " (var_ref y_over_x)\n"
292 " (expression vec3 rsq\n"
293 " (expression vec3 +\n"
294 " (expression vec3 *\n"
295 " (var_ref y_over_x)\n"
296 " (var_ref y_over_x))\n"
297 " (constant float (1.0))))))))))\n"
301 " (declare (in) vec4 y_over_x))\n"
302 " ((return (call asin ((expression vec4 *\n"
303 " (var_ref y_over_x)\n"
304 " (expression vec4 rsq\n"
305 " (expression vec4 +\n"
306 " (expression vec4 *\n"
307 " (var_ref y_over_x)\n"
308 " (var_ref y_over_x))\n"
309 " (constant float (1.0))))))))))\n"
311 " (signature float\n"
313 " (declare (in ) float y)\n"
314 " (declare (in ) float x)\n"
317 " (declare () float r)\n"
318 " (declare ( ) float abs_retval)\n"
319 " (assign (constant bool (1)) (var_ref abs_retval) (call abs ((var_ref x) ))\n"
321 " (if (expression bool > (var_ref abs_retval) (constant float (0.000100)) ) (\n"
322 " (declare ( ) float atan_retval)\n"
323 " (assign (constant bool (1)) (var_ref atan_retval) (call atan ((expression float / (var_ref y) (var_ref x) ) ))\n"
325 " (assign (constant bool (1)) (var_ref r) (var_ref atan_retval) ) \n"
326 " (if (expression bool < (var_ref x) (constant float (0.000000)) ) (\n"
329 " (if (expression bool >= (var_ref y) (constant float (0.000000)) ) (\n"
330 " (declare ( ) float assignment_tmp)\n"
331 " (assign (constant bool (1)) (var_ref assignment_tmp) (expression float + (var_ref r) (constant float (3.141593)) ) ) \n"
332 " (assign (constant bool (1)) (var_ref r) (var_ref assignment_tmp) ) \n"
335 " (declare ( ) float assignment_tmp)\n"
336 " (assign (constant bool (1)) (var_ref assignment_tmp) (expression float - (var_ref r) (constant float (3.141593)) ) ) \n"
337 " (assign (constant bool (1)) (var_ref r) (var_ref assignment_tmp) ) \n"
347 " (declare () float sgn)\n"
348 " (assign (constant bool (1)) (var_ref sgn) (expression float sign (var_ref y)))\n"
349 " (assign (constant bool (1)) (var_ref r) (expression float * (var_ref sgn) (constant float (1.5707965))))\n"
353 " (return (var_ref r) )\n"
360 " (declare (in) vec2 y)\n"
361 " (declare (in) vec2 x))\n"
362 " ((declare () vec2 r)\n"
363 " (assign (constant bool (1))\n"
364 " (swiz x (var_ref r))\n"
365 " (call atan ((swiz x (var_ref y))\n"
366 " (swiz x (var_ref x)))))\n"
367 " (assign (constant bool (1))\n"
368 " (swiz y (var_ref r))\n"
369 " (call atan ((swiz y (var_ref y))\n"
370 " (swiz y (var_ref x)))))\n"
371 " (return (var_ref r))))\n"
375 " (declare (in) vec3 y)\n"
376 " (declare (in) vec3 x))\n"
377 " ((declare () vec3 r)\n"
378 " (assign (constant bool (1))\n"
379 " (swiz x (var_ref r))\n"
380 " (call atan ((swiz x (var_ref y))\n"
381 " (swiz x (var_ref x)))))\n"
382 " (assign (constant bool (1))\n"
383 " (swiz y (var_ref r))\n"
384 " (call atan ((swiz y (var_ref y))\n"
385 " (swiz y (var_ref x)))))\n"
386 " (assign (constant bool (1))\n"
387 " (swiz z (var_ref r))\n"
388 " (call atan ((swiz z (var_ref y))\n"
389 " (swiz z (var_ref x)))))\n"
390 " (return (var_ref r))))\n"
394 " (declare (in) vec4 y)\n"
395 " (declare (in) vec4 x))\n"
396 " ((declare () vec4 r)\n"
397 " (assign (constant bool (1))\n"
398 " (swiz x (var_ref r))\n"
399 " (call atan ((swiz x (var_ref y))\n"
400 " (swiz x (var_ref x)))))\n"
401 " (assign (constant bool (1))\n"
402 " (swiz y (var_ref r))\n"
403 " (call atan ((swiz y (var_ref y))\n"
404 " (swiz y (var_ref x)))))\n"
405 " (assign (constant bool (1))\n"
406 " (swiz z (var_ref r))\n"
407 " (call atan ((swiz z (var_ref y))\n"
408 " (swiz z (var_ref x)))))\n"
409 " (assign (constant bool (1))\n"
410 " (swiz w (var_ref r))\n"
411 " (call atan ((swiz w (var_ref y))\n"
412 " (swiz w (var_ref x)))))\n"
413 " (return (var_ref r)))))\n"
418 static const char *builtin_ceil
=
420 " (signature float\n"
422 " (declare (in) float arg0))\n"
423 " ((return (expression float ceil (var_ref arg0)))))\n"
427 " (declare (in) vec2 arg0))\n"
428 " ((return (expression vec2 ceil (var_ref arg0)))))\n"
432 " (declare (in) vec3 arg0))\n"
433 " ((return (expression vec3 ceil (var_ref arg0)))))\n"
437 " (declare (in) vec4 arg0))\n"
438 " ((return (expression vec4 ceil (var_ref arg0)))))\n"
442 static const char *builtin_clamp
=
444 " (signature float\n"
446 " (declare (in) float arg0)\n"
447 " (declare (in) float arg1)\n"
448 " (declare (in) float arg2))\n"
449 " ((return (expression float max (expression float min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
453 " (declare (in) vec2 arg0)\n"
454 " (declare (in) vec2 arg1)\n"
455 " (declare (in) vec2 arg2))\n"
456 " ((return (expression vec2 max (expression vec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
460 " (declare (in) vec3 arg0)\n"
461 " (declare (in) vec3 arg1)\n"
462 " (declare (in) vec3 arg2))\n"
463 " ((return (expression vec3 max (expression vec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
467 " (declare (in) vec4 arg0)\n"
468 " (declare (in) vec4 arg1)\n"
469 " (declare (in) vec4 arg2))\n"
470 " ((return (expression vec4 max (expression vec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
474 " (declare (in) vec2 arg0)\n"
475 " (declare (in) float arg1)\n"
476 " (declare (in) float arg2))\n"
477 " ((return (expression vec2 max (expression vec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
481 " (declare (in) vec3 arg0)\n"
482 " (declare (in) float arg1)\n"
483 " (declare (in) float arg2))\n"
484 " ((return (expression vec3 max (expression vec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
488 " (declare (in) vec4 arg0)\n"
489 " (declare (in) float arg1)\n"
490 " (declare (in) float arg2))\n"
491 " ((return (expression vec4 max (expression vec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
495 " (declare (in) int arg0)\n"
496 " (declare (in) int arg1)\n"
497 " (declare (in) int arg2))\n"
498 " ((return (expression int max (expression int min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
500 " (signature ivec2\n"
502 " (declare (in) ivec2 arg0)\n"
503 " (declare (in) ivec2 arg1)\n"
504 " (declare (in) ivec2 arg2))\n"
505 " ((return (expression ivec2 max (expression ivec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
507 " (signature ivec3\n"
509 " (declare (in) ivec3 arg0)\n"
510 " (declare (in) ivec3 arg1)\n"
511 " (declare (in) ivec3 arg2))\n"
512 " ((return (expression ivec3 max (expression ivec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
514 " (signature ivec4\n"
516 " (declare (in) ivec4 arg0)\n"
517 " (declare (in) ivec4 arg1)\n"
518 " (declare (in) ivec4 arg2))\n"
519 " ((return (expression ivec4 max (expression ivec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
521 " (signature ivec2\n"
523 " (declare (in) ivec2 arg0)\n"
524 " (declare (in) int arg1)\n"
525 " (declare (in) int arg2))\n"
526 " ((return (expression ivec2 max (expression ivec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
528 " (signature ivec3\n"
530 " (declare (in) ivec3 arg0)\n"
531 " (declare (in) int arg1)\n"
532 " (declare (in) int arg2))\n"
533 " ((return (expression ivec3 max (expression ivec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
535 " (signature ivec4\n"
537 " (declare (in) ivec4 arg0)\n"
538 " (declare (in) int arg1)\n"
539 " (declare (in) int arg2))\n"
540 " ((return (expression ivec4 max (expression ivec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
544 " (declare (in) uint arg0)\n"
545 " (declare (in) uint arg1)\n"
546 " (declare (in) uint arg2))\n"
547 " ((return (expression uint max (expression uint min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
549 " (signature uvec2\n"
551 " (declare (in) uvec2 arg0)\n"
552 " (declare (in) uvec2 arg1)\n"
553 " (declare (in) uvec2 arg2))\n"
554 " ((return (expression uvec2 max (expression uvec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
556 " (signature uvec3\n"
558 " (declare (in) uvec3 arg0)\n"
559 " (declare (in) uvec3 arg1)\n"
560 " (declare (in) uvec3 arg2))\n"
561 " ((return (expression uvec3 max (expression uvec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
563 " (signature uvec4\n"
565 " (declare (in) uvec4 arg0)\n"
566 " (declare (in) uvec4 arg1)\n"
567 " (declare (in) uvec4 arg2))\n"
568 " ((return (expression uvec4 max (expression uvec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
570 " (signature uvec2\n"
572 " (declare (in) uvec2 arg0)\n"
573 " (declare (in) uint arg1)\n"
574 " (declare (in) uint arg2))\n"
575 " ((return (expression uvec2 max (expression uvec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
577 " (signature uvec3\n"
579 " (declare (in) uvec3 arg0)\n"
580 " (declare (in) uint arg1)\n"
581 " (declare (in) uint arg2))\n"
582 " ((return (expression uvec3 max (expression uvec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
584 " (signature uvec4\n"
586 " (declare (in) uvec4 arg0)\n"
587 " (declare (in) uint arg1)\n"
588 " (declare (in) uint arg2))\n"
589 " ((return (expression uvec4 max (expression uvec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
593 static const char *builtin_cos
=
595 " (signature float\n"
597 " (declare (in) float angle))\n"
598 " ((return (expression float cos (var_ref angle)))))\n"
602 " (declare (in) vec2 angle))\n"
603 " ((return (expression vec2 cos (var_ref angle)))))\n"
607 " (declare (in) vec3 angle))\n"
608 " ((return (expression vec3 cos (var_ref angle)))))\n"
612 " (declare (in) vec4 angle))\n"
613 " ((return (expression vec4 cos (var_ref angle)))))\n"
617 static const char *builtin_cosh
=
619 " (signature float\n"
621 " (declare (in) float x))\n"
622 " ((return (expression float * (constant float (0.5))\n"
623 " (expression float +\n"
624 " (expression float exp (var_ref x))\n"
625 " (expression float exp (expression float neg (var_ref x))))))))\n"
628 " (declare (in) vec2 x))\n"
629 " ((return (expression vec2 * (constant vec2 (0.5))\n"
630 " (expression vec2 +\n"
631 " (expression vec2 exp (var_ref x))\n"
632 " (expression vec2 exp (expression vec2 neg (var_ref x))))))))\n"
635 " (declare (in) vec3 x))\n"
636 " ((return (expression vec3 * (constant vec3 (0.5))\n"
637 " (expression vec3 +\n"
638 " (expression vec3 exp (var_ref x))\n"
639 " (expression vec3 exp (expression vec3 neg (var_ref x))))))))\n"
642 " (declare (in) vec4 x))\n"
643 " ((return (expression vec4 * (constant vec4 (0.5))\n"
644 " (expression vec4 +\n"
645 " (expression vec4 exp (var_ref x))\n"
646 " (expression vec4 exp (expression vec4 neg (var_ref x))))))))\n"
650 static const char *builtin_cross
=
654 " (declare (in) vec3 arg0)\n"
655 " (declare (in) vec3 arg1))\n"
656 " ((return (expression vec3 cross (var_ref arg0) (var_ref arg1)))))\n"
660 static const char *builtin_dFdx
=
662 " (signature float\n"
664 " (declare (in) float p))\n"
665 " ((return (expression float dFdx (var_ref p)))))\n"
669 " (declare (in) vec2 p))\n"
670 " ((return (expression vec2 dFdx (var_ref p)))))\n"
674 " (declare (in) vec3 p))\n"
675 " ((return (expression vec3 dFdx (var_ref p)))))\n"
679 " (declare (in) vec4 p))\n"
680 " ((return (expression vec4 dFdx (var_ref p)))))\n"
684 static const char *builtin_dFdy
=
686 " (signature float\n"
688 " (declare (in) float p))\n"
689 " ((return (expression float dFdy (var_ref p)))))\n"
693 " (declare (in) vec2 p))\n"
694 " ((return (expression vec2 dFdy (var_ref p)))))\n"
698 " (declare (in) vec3 p))\n"
699 " ((return (expression vec3 dFdy (var_ref p)))))\n"
703 " (declare (in) vec4 p))\n"
704 " ((return (expression vec4 dFdy (var_ref p)))))\n"
708 static const char *builtin_degrees
=
709 "((function degrees\n"
710 " (signature float\n"
712 " (declare (in) float arg0))\n"
713 " ((return (expression float * (var_ref arg0) (constant float (57.295780))))))\n"
717 " (declare (in) vec2 arg0))\n"
718 " ((return (expression vec2 * (var_ref arg0) (constant float (57.295780))))))\n"
722 " (declare (in) vec3 arg0))\n"
723 " ((return (expression vec3 * (var_ref arg0) (constant float (57.295780))))))\n"
727 " (declare (in) vec4 arg0))\n"
728 " ((return (expression vec4 * (var_ref arg0) (constant float (57.295780))))))\n"
732 static const char *builtin_distance
=
733 "((function distance\n"
734 " (signature float\n"
736 " (declare (in) float p0)\n"
737 " (declare (in) float p1))\n"
738 " ((declare () float p)\n"
739 " (assign (constant bool (1)) (var_ref p) (expression float - (var_ref p0) (var_ref p1)))\n"
740 " (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))\n"
742 " (signature float\n"
744 " (declare (in) vec2 p0)\n"
745 " (declare (in) vec2 p1))\n"
746 " ((declare () vec2 p)\n"
747 " (assign (constant bool (1)) (var_ref p) (expression vec2 - (var_ref p0) (var_ref p1)))\n"
748 " (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))\n"
750 " (signature float\n"
752 " (declare (in) vec3 p0)\n"
753 " (declare (in) vec3 p1))\n"
754 " ((declare () vec3 p)\n"
755 " (assign (constant bool (1)) (var_ref p) (expression vec3 - (var_ref p0) (var_ref p1)))\n"
756 " (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))\n"
758 " (signature float\n"
760 " (declare (in) vec4 p0)\n"
761 " (declare (in) vec4 p1))\n"
762 " ((declare () vec4 p)\n"
763 " (assign (constant bool (1)) (var_ref p) (expression vec4 - (var_ref p0) (var_ref p1)))\n"
764 " (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))\n"
768 static const char *builtin_dot
=
770 " (signature float\n"
772 " (declare (in) float arg0)\n"
773 " (declare (in) float arg1))\n"
774 " ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
776 " (signature float\n"
778 " (declare (in) vec2 arg0)\n"
779 " (declare (in) vec2 arg1))\n"
780 " ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
782 " (signature float\n"
784 " (declare (in) vec3 arg0)\n"
785 " (declare (in) vec3 arg1))\n"
786 " ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
788 " (signature float\n"
790 " (declare (in) vec4 arg0)\n"
791 " (declare (in) vec4 arg1))\n"
792 " ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
796 static const char *builtin_equal
=
798 " (signature bvec2\n"
800 " (declare (in) vec2 arg0)\n"
801 " (declare (in) vec2 arg1))\n"
802 " ((declare () bvec2 temp)\n"
803 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
804 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
805 " (return (var_ref temp))))\n"
807 " (signature bvec3\n"
809 " (declare (in) vec3 arg0)\n"
810 " (declare (in) vec3 arg1))\n"
811 " ((declare () bvec3 temp)\n"
812 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
813 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
814 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
815 " (return (var_ref temp))))\n"
817 " (signature bvec4\n"
819 " (declare (in) vec4 arg0)\n"
820 " (declare (in) vec4 arg1))\n"
821 " ((declare () bvec4 temp)\n"
822 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
823 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
824 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
825 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool == (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
826 " (return (var_ref temp))))\n"
828 " (signature bvec2\n"
830 " (declare (in) bvec2 arg0)\n"
831 " (declare (in) bvec2 arg1))\n"
832 " ((declare () bvec2 temp)\n"
833 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
834 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
835 " (return (var_ref temp))))\n"
837 " (signature bvec3\n"
839 " (declare (in) bvec3 arg0)\n"
840 " (declare (in) bvec3 arg1))\n"
841 " ((declare () bvec3 temp)\n"
842 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
843 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
844 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
845 " (return (var_ref temp))))\n"
847 " (signature bvec4\n"
849 " (declare (in) bvec4 arg0)\n"
850 " (declare (in) bvec4 arg1))\n"
851 " ((declare () bvec4 temp)\n"
852 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
853 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
854 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
855 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool == (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
856 " (return (var_ref temp))))\n"
858 " (signature bvec2\n"
860 " (declare (in) ivec2 arg0)\n"
861 " (declare (in) ivec2 arg1))\n"
862 " ((declare () bvec2 temp)\n"
863 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
864 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
865 " (return (var_ref temp))))\n"
867 " (signature bvec3\n"
869 " (declare (in) ivec3 arg0)\n"
870 " (declare (in) ivec3 arg1))\n"
871 " ((declare () bvec3 temp)\n"
872 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
873 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
874 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
875 " (return (var_ref temp))))\n"
877 " (signature bvec4\n"
879 " (declare (in) ivec4 arg0)\n"
880 " (declare (in) ivec4 arg1))\n"
881 " ((declare () bvec4 temp)\n"
882 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
883 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
884 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
885 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool == (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
886 " (return (var_ref temp))))\n"
888 " (signature bvec2\n"
890 " (declare (in) uvec2 arg0)\n"
891 " (declare (in) uvec2 arg1))\n"
892 " ((declare () bvec2 temp)\n"
893 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
894 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
895 " (return (var_ref temp))))\n"
897 " (signature bvec3\n"
899 " (declare (in) uvec3 arg0)\n"
900 " (declare (in) uvec3 arg1))\n"
901 " ((declare () bvec3 temp)\n"
902 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
903 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
904 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
905 " (return (var_ref temp))))\n"
907 " (signature bvec4\n"
909 " (declare (in) uvec4 arg0)\n"
910 " (declare (in) uvec4 arg1))\n"
911 " ((declare () bvec4 temp)\n"
912 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
913 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
914 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
915 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool == (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
916 " (return (var_ref temp))))\n"
920 static const char *builtin_exp
=
922 " (signature float\n"
924 " (declare (in) float arg0))\n"
925 " ((return (expression float exp (var_ref arg0)))))\n"
929 " (declare (in) vec2 arg0))\n"
930 " ((return (expression vec2 exp (var_ref arg0)))))\n"
934 " (declare (in) vec3 arg0))\n"
935 " ((return (expression vec3 exp (var_ref arg0)))))\n"
939 " (declare (in) vec4 arg0))\n"
940 " ((return (expression vec4 exp (var_ref arg0)))))\n"
944 static const char *builtin_exp2
=
946 " (signature float\n"
948 " (declare (in) float arg0))\n"
949 " ((return (expression float exp2 (var_ref arg0)))))\n"
953 " (declare (in) vec2 arg0))\n"
954 " ((return (expression vec2 exp2 (var_ref arg0)))))\n"
958 " (declare (in) vec3 arg0))\n"
959 " ((return (expression vec3 exp2 (var_ref arg0)))))\n"
963 " (declare (in) vec4 arg0))\n"
964 " ((return (expression vec4 exp2 (var_ref arg0)))))\n"
968 static const char *builtin_faceforward
=
969 "((function faceforward\n"
970 " (signature float\n"
972 " (declare (in) float N)\n"
973 " (declare (in) float I)\n"
974 " (declare (in) float Nref))\n"
975 " ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n"
976 " ((return (var_ref N)))\n"
977 " ((return (expression float neg (var_ref N)))))))\n"
981 " (declare (in) vec2 N)\n"
982 " (declare (in) vec2 I)\n"
983 " (declare (in) vec2 Nref))\n"
984 " ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n"
985 " ((return (var_ref N)))\n"
986 " ((return (expression vec2 neg (var_ref N)))))))\n"
990 " (declare (in) vec3 N)\n"
991 " (declare (in) vec3 I)\n"
992 " (declare (in) vec3 Nref))\n"
993 " ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n"
994 " ((return (var_ref N)))\n"
995 " ((return (expression vec3 neg (var_ref N)))))))\n"
999 " (declare (in) vec4 N)\n"
1000 " (declare (in) vec4 I)\n"
1001 " (declare (in) vec4 Nref))\n"
1002 " ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n"
1003 " ((return (var_ref N)))\n"
1004 " ((return (expression vec4 neg (var_ref N)))))))\n"
1008 static const char *builtin_floor
=
1009 "((function floor\n"
1010 " (signature float\n"
1012 " (declare (in) float arg0))\n"
1013 " ((return (expression float floor (var_ref arg0)))))\n"
1015 " (signature vec2\n"
1017 " (declare (in) vec2 arg0))\n"
1018 " ((return (expression vec2 floor (var_ref arg0)))))\n"
1020 " (signature vec3\n"
1022 " (declare (in) vec3 arg0))\n"
1023 " ((return (expression vec3 floor (var_ref arg0)))))\n"
1025 " (signature vec4\n"
1027 " (declare (in) vec4 arg0))\n"
1028 " ((return (expression vec4 floor (var_ref arg0)))))\n"
1032 static const char *builtin_fract
=
1033 "((function fract\n"
1034 " (signature float\n"
1036 " (declare (in) float x))\n"
1037 " ((return (expression float fract (var_ref x)))))\n"
1039 " (signature vec2\n"
1041 " (declare (in) vec2 x))\n"
1042 " ((return (expression vec2 fract (var_ref x)))))\n"
1044 " (signature vec3\n"
1046 " (declare (in) vec3 x))\n"
1047 " ((return (expression vec3 fract (var_ref x)))))\n"
1049 " (signature vec4\n"
1051 " (declare (in) vec4 x))\n"
1052 " ((return (expression vec4 fract (var_ref x)))))\n"
1057 static const char *builtin_ftransform
=
1058 "((declare (uniform) mat4 gl_ModelViewProjectionMatrix)\n"
1059 " (declare (in) vec4 gl_Vertex)\n"
1060 " (function ftransform\n"
1061 " (signature vec4\n"
1063 " ((return (expression vec4 *\n"
1064 " (var_ref gl_ModelViewProjectionMatrix)\n"
1065 " (var_ref gl_Vertex)))))\n"
1069 static const char *builtin_fwidth
=
1070 "((function fwidth\n"
1071 " (signature float\n"
1073 " (declare (in) float p))\n"
1074 " ((return (expression float +\n"
1075 " (expression float abs (expression float dFdx (var_ref p)))\n"
1076 " (expression float abs (expression float dFdy (var_ref p)))))))\n"
1078 " (signature vec2\n"
1080 " (declare (in) vec2 p))\n"
1081 " ((return (expression vec2 +\n"
1082 " (expression vec2 abs (expression vec2 dFdx (var_ref p)))\n"
1083 " (expression vec2 abs (expression vec2 dFdy (var_ref p)))))))\n"
1085 " (signature vec3\n"
1087 " (declare (in) vec3 p))\n"
1088 " ((return (expression vec3 +\n"
1089 " (expression vec3 abs (expression vec3 dFdx (var_ref p)))\n"
1090 " (expression vec3 abs (expression vec3 dFdy (var_ref p)))))))\n"
1092 " (signature vec4\n"
1094 " (declare (in) vec4 p))\n"
1095 " ((return (expression vec4 +\n"
1096 " (expression vec4 abs (expression vec4 dFdx (var_ref p)))\n"
1097 " (expression vec4 abs (expression vec4 dFdy (var_ref p)))))))\n"
1101 static const char *builtin_greaterThan
=
1102 "((function greaterThan\n"
1103 " (signature bvec2\n"
1105 " (declare (in) vec2 arg0)\n"
1106 " (declare (in) vec2 arg1))\n"
1107 " ((declare () bvec2 temp)\n"
1108 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1109 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1110 " (return (var_ref temp))))\n"
1112 " (signature bvec3\n"
1114 " (declare (in) vec3 arg0)\n"
1115 " (declare (in) vec3 arg1))\n"
1116 " ((declare () bvec3 temp)\n"
1117 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1118 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1119 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1120 " (return (var_ref temp))))\n"
1122 " (signature bvec4\n"
1124 " (declare (in) vec4 arg0)\n"
1125 " (declare (in) vec4 arg1))\n"
1126 " ((declare () bvec4 temp)\n"
1127 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1128 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1129 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1130 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool > (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1131 " (return (var_ref temp))))\n"
1133 " (signature bvec2\n"
1135 " (declare (in) ivec2 arg0)\n"
1136 " (declare (in) ivec2 arg1))\n"
1137 " ((declare () bvec2 temp)\n"
1138 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1139 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1140 " (return (var_ref temp))))\n"
1142 " (signature bvec3\n"
1144 " (declare (in) ivec3 arg0)\n"
1145 " (declare (in) ivec3 arg1))\n"
1146 " ((declare () bvec3 temp)\n"
1147 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1148 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1149 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1150 " (return (var_ref temp))))\n"
1152 " (signature bvec4\n"
1154 " (declare (in) ivec4 arg0)\n"
1155 " (declare (in) ivec4 arg1))\n"
1156 " ((declare () bvec4 temp)\n"
1157 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1158 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1159 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1160 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool > (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1161 " (return (var_ref temp))))\n"
1163 " (signature bvec2\n"
1165 " (declare (in) uvec2 arg0)\n"
1166 " (declare (in) uvec2 arg1))\n"
1167 " ((declare () bvec2 temp)\n"
1168 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1169 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1170 " (return (var_ref temp))))\n"
1172 " (signature bvec3\n"
1174 " (declare (in) uvec3 arg0)\n"
1175 " (declare (in) uvec3 arg1))\n"
1176 " ((declare () bvec3 temp)\n"
1177 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1178 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1179 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1180 " (return (var_ref temp))))\n"
1182 " (signature bvec4\n"
1184 " (declare (in) uvec4 arg0)\n"
1185 " (declare (in) uvec4 arg1))\n"
1186 " ((declare () bvec4 temp)\n"
1187 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1188 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1189 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1190 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool > (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1191 " (return (var_ref temp))))\n"
1195 static const char *builtin_greaterThanEqual
=
1196 "((function greaterThanEqual\n"
1197 " (signature bvec2\n"
1199 " (declare (in) vec2 arg0)\n"
1200 " (declare (in) vec2 arg1))\n"
1201 " ((declare () bvec2 temp)\n"
1202 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1203 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1204 " (return (var_ref temp))))\n"
1206 " (signature bvec3\n"
1208 " (declare (in) vec3 arg0)\n"
1209 " (declare (in) vec3 arg1))\n"
1210 " ((declare () bvec3 temp)\n"
1211 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1212 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1213 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1214 " (return (var_ref temp))))\n"
1216 " (signature bvec4\n"
1218 " (declare (in) vec4 arg0)\n"
1219 " (declare (in) vec4 arg1))\n"
1220 " ((declare () bvec4 temp)\n"
1221 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1222 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1223 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1224 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool >= (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1225 " (return (var_ref temp))))\n"
1227 " (signature bvec2\n"
1229 " (declare (in) ivec2 arg0)\n"
1230 " (declare (in) ivec2 arg1))\n"
1231 " ((declare () bvec2 temp)\n"
1232 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1233 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1234 " (return (var_ref temp))))\n"
1236 " (signature bvec3\n"
1238 " (declare (in) ivec3 arg0)\n"
1239 " (declare (in) ivec3 arg1))\n"
1240 " ((declare () bvec3 temp)\n"
1241 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1242 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1243 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1244 " (return (var_ref temp))))\n"
1246 " (signature bvec4\n"
1248 " (declare (in) ivec4 arg0)\n"
1249 " (declare (in) ivec4 arg1))\n"
1250 " ((declare () bvec4 temp)\n"
1251 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1252 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1253 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1254 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool >= (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1255 " (return (var_ref temp))))\n"
1257 " (signature bvec2\n"
1259 " (declare (in) uvec2 arg0)\n"
1260 " (declare (in) uvec2 arg1))\n"
1261 " ((declare () bvec2 temp)\n"
1262 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1263 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1264 " (return (var_ref temp))))\n"
1266 " (signature bvec3\n"
1268 " (declare (in) uvec3 arg0)\n"
1269 " (declare (in) uvec3 arg1))\n"
1270 " ((declare () bvec3 temp)\n"
1271 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1272 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1273 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1274 " (return (var_ref temp))))\n"
1276 " (signature bvec4\n"
1278 " (declare (in) uvec4 arg0)\n"
1279 " (declare (in) uvec4 arg1))\n"
1280 " ((declare () bvec4 temp)\n"
1281 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1282 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1283 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1284 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool >= (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1285 " (return (var_ref temp))))\n"
1289 static const char *builtin_inversesqrt
=
1290 "((function inversesqrt\n"
1291 " (signature float\n"
1293 " (declare (in) float arg0))\n"
1294 " ((return (expression float rsq (var_ref arg0)))))\n"
1296 " (signature vec2\n"
1298 " (declare (in) vec2 arg0))\n"
1299 " ((return (expression vec2 rsq (var_ref arg0)))))\n"
1301 " (signature vec3\n"
1303 " (declare (in) vec3 arg0))\n"
1304 " ((return (expression vec3 rsq (var_ref arg0)))))\n"
1306 " (signature vec4\n"
1308 " (declare (in) vec4 arg0))\n"
1309 " ((return (expression vec4 rsq (var_ref arg0)))))\n"
1313 static const char *builtin_length
=
1314 "((function length\n"
1315 " (signature float\n"
1317 " (declare (in) float arg0))\n"
1318 " ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
1320 " (signature float\n"
1322 " (declare (in) vec2 arg0))\n"
1323 " ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
1325 " (signature float\n"
1327 " (declare (in) vec3 arg0))\n"
1328 " ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
1330 " (signature float\n"
1332 " (declare (in) vec4 arg0))\n"
1333 " ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
1337 static const char *builtin_lessThan
=
1338 "((function lessThan\n"
1339 " (signature bvec2\n"
1341 " (declare (in) vec2 arg0)\n"
1342 " (declare (in) vec2 arg1))\n"
1343 " ((declare () bvec2 temp)\n"
1344 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1345 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1346 " (return (var_ref temp))))\n"
1348 " (signature bvec3\n"
1350 " (declare (in) vec3 arg0)\n"
1351 " (declare (in) vec3 arg1))\n"
1352 " ((declare () bvec3 temp)\n"
1353 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1354 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1355 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1356 " (return (var_ref temp))))\n"
1358 " (signature bvec4\n"
1360 " (declare (in) vec4 arg0)\n"
1361 " (declare (in) vec4 arg1))\n"
1362 " ((declare () bvec4 temp)\n"
1363 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1364 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1365 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1366 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool < (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1367 " (return (var_ref temp))))\n"
1369 " (signature bvec2\n"
1371 " (declare (in) ivec2 arg0)\n"
1372 " (declare (in) ivec2 arg1))\n"
1373 " ((declare () bvec2 temp)\n"
1374 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1375 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1376 " (return (var_ref temp))))\n"
1378 " (signature bvec3\n"
1380 " (declare (in) ivec3 arg0)\n"
1381 " (declare (in) ivec3 arg1))\n"
1382 " ((declare () bvec3 temp)\n"
1383 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1384 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1385 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1386 " (return (var_ref temp))))\n"
1388 " (signature bvec4\n"
1390 " (declare (in) ivec4 arg0)\n"
1391 " (declare (in) ivec4 arg1))\n"
1392 " ((declare () bvec4 temp)\n"
1393 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1394 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1395 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1396 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool < (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1397 " (return (var_ref temp))))\n"
1399 " (signature bvec2\n"
1401 " (declare (in) uvec2 arg0)\n"
1402 " (declare (in) uvec2 arg1))\n"
1403 " ((declare () bvec2 temp)\n"
1404 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1405 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1406 " (return (var_ref temp))))\n"
1408 " (signature bvec3\n"
1410 " (declare (in) uvec3 arg0)\n"
1411 " (declare (in) uvec3 arg1))\n"
1412 " ((declare () bvec3 temp)\n"
1413 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1414 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1415 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1416 " (return (var_ref temp))))\n"
1418 " (signature bvec4\n"
1420 " (declare (in) uvec4 arg0)\n"
1421 " (declare (in) uvec4 arg1))\n"
1422 " ((declare () bvec4 temp)\n"
1423 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1424 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1425 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1426 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool < (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1427 " (return (var_ref temp))))\n"
1431 static const char *builtin_lessThanEqual
=
1432 "((function lessThanEqual\n"
1433 " (signature bvec2\n"
1435 " (declare (in) vec2 arg0)\n"
1436 " (declare (in) vec2 arg1))\n"
1437 " ((declare () bvec2 temp)\n"
1438 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1439 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1440 " (return (var_ref temp))))\n"
1442 " (signature bvec3\n"
1444 " (declare (in) vec3 arg0)\n"
1445 " (declare (in) vec3 arg1))\n"
1446 " ((declare () bvec3 temp)\n"
1447 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1448 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1449 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1450 " (return (var_ref temp))))\n"
1452 " (signature bvec4\n"
1454 " (declare (in) vec4 arg0)\n"
1455 " (declare (in) vec4 arg1))\n"
1456 " ((declare () bvec4 temp)\n"
1457 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1458 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1459 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1460 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool <= (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1461 " (return (var_ref temp))))\n"
1463 " (signature bvec2\n"
1465 " (declare (in) ivec2 arg0)\n"
1466 " (declare (in) ivec2 arg1))\n"
1467 " ((declare () bvec2 temp)\n"
1468 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1469 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1470 " (return (var_ref temp))))\n"
1472 " (signature bvec3\n"
1474 " (declare (in) ivec3 arg0)\n"
1475 " (declare (in) ivec3 arg1))\n"
1476 " ((declare () bvec3 temp)\n"
1477 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1478 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1479 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1480 " (return (var_ref temp))))\n"
1482 " (signature bvec4\n"
1484 " (declare (in) ivec4 arg0)\n"
1485 " (declare (in) ivec4 arg1))\n"
1486 " ((declare () bvec4 temp)\n"
1487 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1488 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1489 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1490 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool <= (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1491 " (return (var_ref temp))))\n"
1493 " (signature bvec2\n"
1495 " (declare (in) uvec2 arg0)\n"
1496 " (declare (in) uvec2 arg1))\n"
1497 " ((declare () bvec2 temp)\n"
1498 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1499 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1500 " (return (var_ref temp))))\n"
1502 " (signature bvec3\n"
1504 " (declare (in) uvec3 arg0)\n"
1505 " (declare (in) uvec3 arg1))\n"
1506 " ((declare () bvec3 temp)\n"
1507 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1508 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1509 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1510 " (return (var_ref temp))))\n"
1512 " (signature bvec4\n"
1514 " (declare (in) uvec4 arg0)\n"
1515 " (declare (in) uvec4 arg1))\n"
1516 " ((declare () bvec4 temp)\n"
1517 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1518 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1519 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1520 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool <= (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1521 " (return (var_ref temp))))\n"
1525 static const char *builtin_log
=
1527 " (signature float\n"
1529 " (declare (in) float arg0))\n"
1530 " ((return (expression float log (var_ref arg0)))))\n"
1532 " (signature vec2\n"
1534 " (declare (in) vec2 arg0))\n"
1535 " ((return (expression vec2 log (var_ref arg0)))))\n"
1537 " (signature vec3\n"
1539 " (declare (in) vec3 arg0))\n"
1540 " ((return (expression vec3 log (var_ref arg0)))))\n"
1542 " (signature vec4\n"
1544 " (declare (in) vec4 arg0))\n"
1545 " ((return (expression vec4 log (var_ref arg0)))))\n"
1549 static const char *builtin_log2
=
1551 " (signature float\n"
1553 " (declare (in) float arg0))\n"
1554 " ((return (expression float log2 (var_ref arg0)))))\n"
1556 " (signature vec2\n"
1558 " (declare (in) vec2 arg0))\n"
1559 " ((return (expression vec2 log2 (var_ref arg0)))))\n"
1561 " (signature vec3\n"
1563 " (declare (in) vec3 arg0))\n"
1564 " ((return (expression vec3 log2 (var_ref arg0)))))\n"
1566 " (signature vec4\n"
1568 " (declare (in) vec4 arg0))\n"
1569 " ((return (expression vec4 log2 (var_ref arg0)))))\n"
1573 static const char *builtin_matrixCompMult
=
1574 "((function matrixCompMult\n"
1575 " (signature mat2\n"
1577 " (declare (in) mat2 x)\n"
1578 " (declare (in) mat2 y))\n"
1579 " ((declare () mat2 z)\n"
1580 " (assign (constant bool (1)) (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"
1581 " (assign (constant bool (1)) (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"
1582 "(return (var_ref z))))\n"
1584 " (signature mat3\n"
1586 " (declare (in) mat3 x)\n"
1587 " (declare (in) mat3 y))\n"
1588 " ((declare () mat3 z)\n"
1589 " (assign (constant bool (1)) (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"
1590 " (assign (constant bool (1)) (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"
1591 " (assign (constant bool (1)) (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"
1592 "(return (var_ref z))))\n"
1594 " (signature mat4\n"
1596 " (declare (in) mat4 x)\n"
1597 " (declare (in) mat4 y))\n"
1598 " ((declare () mat4 z)\n"
1599 " (assign (constant bool (1)) (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"
1600 " (assign (constant bool (1)) (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"
1601 " (assign (constant bool (1)) (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"
1602 " (assign (constant bool (1)) (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"
1603 "(return (var_ref z))))\n"
1605 " (signature mat2x3\n"
1607 " (declare (in) mat2x3 x)\n"
1608 " (declare (in) mat2x3 y))\n"
1609 " ((declare () mat2x3 z)\n"
1610 " (assign (constant bool (1)) (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"
1611 " (assign (constant bool (1)) (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"
1612 "(return (var_ref z))))\n"
1614 " (signature mat3x2\n"
1616 " (declare (in) mat3x2 x)\n"
1617 " (declare (in) mat3x2 y))\n"
1618 " ((declare () mat3x2 z)\n"
1619 " (assign (constant bool (1)) (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"
1620 " (assign (constant bool (1)) (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"
1621 " (assign (constant bool (1)) (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"
1622 "(return (var_ref z))))\n"
1624 " (signature mat2x4\n"
1626 " (declare (in) mat2x4 x)\n"
1627 " (declare (in) mat2x4 y))\n"
1628 " ((declare () mat2x4 z)\n"
1629 " (assign (constant bool (1)) (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"
1630 " (assign (constant bool (1)) (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"
1631 "(return (var_ref z))))\n"
1633 " (signature mat4x2\n"
1635 " (declare (in) mat4x2 x)\n"
1636 " (declare (in) mat4x2 y))\n"
1637 " ((declare () mat4x2 z)\n"
1638 " (assign (constant bool (1)) (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"
1639 " (assign (constant bool (1)) (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"
1640 " (assign (constant bool (1)) (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"
1641 " (assign (constant bool (1)) (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"
1642 "(return (var_ref z))))\n"
1644 " (signature mat3x4\n"
1646 " (declare (in) mat3x4 x)\n"
1647 " (declare (in) mat3x4 y))\n"
1648 " ((declare () mat3x4 z)\n"
1649 " (assign (constant bool (1)) (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"
1650 " (assign (constant bool (1)) (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"
1651 " (assign (constant bool (1)) (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"
1652 "(return (var_ref z))))\n"
1654 " (signature mat4x3\n"
1656 " (declare (in) mat4x3 x)\n"
1657 " (declare (in) mat4x3 y))\n"
1658 " ((declare () mat4x3 z)\n"
1659 " (assign (constant bool (1)) (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"
1660 " (assign (constant bool (1)) (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"
1661 " (assign (constant bool (1)) (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"
1662 " (assign (constant bool (1)) (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"
1663 "(return (var_ref z))))\n"
1667 static const char *builtin_max
=
1669 " (signature float\n"
1671 " (declare (in) float arg0)\n"
1672 " (declare (in) float arg1))\n"
1673 " ((return (expression float max (var_ref arg0) (var_ref arg1)))))\n"
1675 " (signature vec2\n"
1677 " (declare (in) vec2 arg0)\n"
1678 " (declare (in) vec2 arg1))\n"
1679 " ((return (expression vec2 max (var_ref arg0) (var_ref arg1)))))\n"
1681 " (signature vec3\n"
1683 " (declare (in) vec3 arg0)\n"
1684 " (declare (in) vec3 arg1))\n"
1685 " ((return (expression vec3 max (var_ref arg0) (var_ref arg1)))))\n"
1687 " (signature vec4\n"
1689 " (declare (in) vec4 arg0)\n"
1690 " (declare (in) vec4 arg1))\n"
1691 " ((return (expression vec4 max (var_ref arg0) (var_ref arg1)))))\n"
1693 " (signature vec2\n"
1695 " (declare (in) vec2 arg0)\n"
1696 " (declare (in) float arg1))\n"
1697 " ((return (expression vec2 max (var_ref arg0) (var_ref arg1)))))\n"
1699 " (signature vec3\n"
1701 " (declare (in) vec3 arg0)\n"
1702 " (declare (in) float arg1))\n"
1703 " ((return (expression vec3 max (var_ref arg0) (var_ref arg1)))))\n"
1705 " (signature vec4\n"
1707 " (declare (in) vec4 arg0)\n"
1708 " (declare (in) float arg1))\n"
1709 " ((return (expression vec4 max (var_ref arg0) (var_ref arg1)))))\n"
1713 " (declare (in) int arg0)\n"
1714 " (declare (in) int arg1))\n"
1715 " ((return (expression int max (var_ref arg0) (var_ref arg1)))))\n"
1717 " (signature ivec2\n"
1719 " (declare (in) ivec2 arg0)\n"
1720 " (declare (in) ivec2 arg1))\n"
1721 " ((return (expression ivec2 max (var_ref arg0) (var_ref arg1)))))\n"
1723 " (signature ivec3\n"
1725 " (declare (in) ivec3 arg0)\n"
1726 " (declare (in) ivec3 arg1))\n"
1727 " ((return (expression ivec3 max (var_ref arg0) (var_ref arg1)))))\n"
1729 " (signature ivec4\n"
1731 " (declare (in) ivec4 arg0)\n"
1732 " (declare (in) ivec4 arg1))\n"
1733 " ((return (expression ivec4 max (var_ref arg0) (var_ref arg1)))))\n"
1735 " (signature ivec2\n"
1737 " (declare (in) ivec2 arg0)\n"
1738 " (declare (in) int arg1))\n"
1739 " ((return (expression ivec2 max (var_ref arg0) (var_ref arg1)))))\n"
1741 " (signature ivec3\n"
1743 " (declare (in) ivec3 arg0)\n"
1744 " (declare (in) int arg1))\n"
1745 " ((return (expression ivec3 max (var_ref arg0) (var_ref arg1)))))\n"
1747 " (signature ivec4\n"
1749 " (declare (in) ivec4 arg0)\n"
1750 " (declare (in) int arg1))\n"
1751 " ((return (expression ivec4 max (var_ref arg0) (var_ref arg1)))))\n"
1753 " (signature uint\n"
1755 " (declare (in) uint arg0)\n"
1756 " (declare (in) uint arg1))\n"
1757 " ((return (expression uint max (var_ref arg0) (var_ref arg1)))))\n"
1759 " (signature uvec2\n"
1761 " (declare (in) uvec2 arg0)\n"
1762 " (declare (in) uvec2 arg1))\n"
1763 " ((return (expression uvec2 max (var_ref arg0) (var_ref arg1)))))\n"
1765 " (signature uvec3\n"
1767 " (declare (in) uvec3 arg0)\n"
1768 " (declare (in) uvec3 arg1))\n"
1769 " ((return (expression uvec3 max (var_ref arg0) (var_ref arg1)))))\n"
1771 " (signature uvec4\n"
1773 " (declare (in) uvec4 arg0)\n"
1774 " (declare (in) uvec4 arg1))\n"
1775 " ((return (expression uvec4 max (var_ref arg0) (var_ref arg1)))))\n"
1777 " (signature uvec2\n"
1779 " (declare (in) uvec2 arg0)\n"
1780 " (declare (in) uint arg1))\n"
1781 " ((return (expression uvec2 max (var_ref arg0) (var_ref arg1)))))\n"
1783 " (signature uvec3\n"
1785 " (declare (in) uvec3 arg0)\n"
1786 " (declare (in) uint arg1))\n"
1787 " ((return (expression uvec3 max (var_ref arg0) (var_ref arg1)))))\n"
1789 " (signature uvec4\n"
1791 " (declare (in) uvec4 arg0)\n"
1792 " (declare (in) uint arg1))\n"
1793 " ((return (expression uvec4 max (var_ref arg0) (var_ref arg1)))))\n"
1797 static const char *builtin_min
=
1799 " (signature float\n"
1801 " (declare (in) float arg0)\n"
1802 " (declare (in) float arg1))\n"
1803 " ((return (expression float min (var_ref arg0) (var_ref arg1)))))\n"
1805 " (signature vec2\n"
1807 " (declare (in) vec2 arg0)\n"
1808 " (declare (in) vec2 arg1))\n"
1809 " ((return (expression vec2 min (var_ref arg0) (var_ref arg1)))))\n"
1811 " (signature vec3\n"
1813 " (declare (in) vec3 arg0)\n"
1814 " (declare (in) vec3 arg1))\n"
1815 " ((return (expression vec3 min (var_ref arg0) (var_ref arg1)))))\n"
1817 " (signature vec4\n"
1819 " (declare (in) vec4 arg0)\n"
1820 " (declare (in) vec4 arg1))\n"
1821 " ((return (expression vec4 min (var_ref arg0) (var_ref arg1)))))\n"
1823 " (signature vec2\n"
1825 " (declare (in) vec2 arg0)\n"
1826 " (declare (in) float arg1))\n"
1827 " ((return (expression vec2 min (var_ref arg0) (var_ref arg1)))))\n"
1829 " (signature vec3\n"
1831 " (declare (in) vec3 arg0)\n"
1832 " (declare (in) float arg1))\n"
1833 " ((return (expression vec3 min (var_ref arg0) (var_ref arg1)))))\n"
1835 " (signature vec4\n"
1837 " (declare (in) vec4 arg0)\n"
1838 " (declare (in) float arg1))\n"
1839 " ((return (expression vec4 min (var_ref arg0) (var_ref arg1)))))\n"
1843 " (declare (in) int arg0)\n"
1844 " (declare (in) int arg1))\n"
1845 " ((return (expression int min (var_ref arg0) (var_ref arg1)))))\n"
1847 " (signature ivec2\n"
1849 " (declare (in) ivec2 arg0)\n"
1850 " (declare (in) ivec2 arg1))\n"
1851 " ((return (expression ivec2 min (var_ref arg0) (var_ref arg1)))))\n"
1853 " (signature ivec3\n"
1855 " (declare (in) ivec3 arg0)\n"
1856 " (declare (in) ivec3 arg1))\n"
1857 " ((return (expression ivec3 min (var_ref arg0) (var_ref arg1)))))\n"
1859 " (signature ivec4\n"
1861 " (declare (in) ivec4 arg0)\n"
1862 " (declare (in) ivec4 arg1))\n"
1863 " ((return (expression ivec4 min (var_ref arg0) (var_ref arg1)))))\n"
1865 " (signature ivec2\n"
1867 " (declare (in) ivec2 arg0)\n"
1868 " (declare (in) int arg1))\n"
1869 " ((return (expression ivec2 min (var_ref arg0) (var_ref arg1)))))\n"
1871 " (signature ivec3\n"
1873 " (declare (in) ivec3 arg0)\n"
1874 " (declare (in) int arg1))\n"
1875 " ((return (expression ivec3 min (var_ref arg0) (var_ref arg1)))))\n"
1877 " (signature ivec4\n"
1879 " (declare (in) ivec4 arg0)\n"
1880 " (declare (in) int arg1))\n"
1881 " ((return (expression ivec4 min (var_ref arg0) (var_ref arg1)))))\n"
1883 " (signature uint\n"
1885 " (declare (in) uint arg0)\n"
1886 " (declare (in) uint arg1))\n"
1887 " ((return (expression uint min (var_ref arg0) (var_ref arg1)))))\n"
1889 " (signature uvec2\n"
1891 " (declare (in) uvec2 arg0)\n"
1892 " (declare (in) uvec2 arg1))\n"
1893 " ((return (expression uvec2 min (var_ref arg0) (var_ref arg1)))))\n"
1895 " (signature uvec3\n"
1897 " (declare (in) uvec3 arg0)\n"
1898 " (declare (in) uvec3 arg1))\n"
1899 " ((return (expression uvec3 min (var_ref arg0) (var_ref arg1)))))\n"
1901 " (signature uvec4\n"
1903 " (declare (in) uvec4 arg0)\n"
1904 " (declare (in) uvec4 arg1))\n"
1905 " ((return (expression uvec4 min (var_ref arg0) (var_ref arg1)))))\n"
1907 " (signature uvec2\n"
1909 " (declare (in) uvec2 arg0)\n"
1910 " (declare (in) uint arg1))\n"
1911 " ((return (expression uvec2 min (var_ref arg0) (var_ref arg1)))))\n"
1913 " (signature uvec3\n"
1915 " (declare (in) uvec3 arg0)\n"
1916 " (declare (in) uint arg1))\n"
1917 " ((return (expression uvec3 min (var_ref arg0) (var_ref arg1)))))\n"
1919 " (signature uvec4\n"
1921 " (declare (in) uvec4 arg0)\n"
1922 " (declare (in) uint arg1))\n"
1923 " ((return (expression uvec4 min (var_ref arg0) (var_ref arg1)))))\n"
1927 static const char *builtin_mix
=
1929 " (signature float\n"
1931 " (declare (in) float arg0)\n"
1932 " (declare (in) float arg1)\n"
1933 " (declare (in) float arg2))\n"
1934 " ((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"
1936 " (signature vec2\n"
1938 " (declare (in) vec2 arg0)\n"
1939 " (declare (in) vec2 arg1)\n"
1940 " (declare (in) vec2 arg2))\n"
1941 " ((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"
1943 " (signature vec3\n"
1945 " (declare (in) vec3 arg0)\n"
1946 " (declare (in) vec3 arg1)\n"
1947 " (declare (in) vec3 arg2))\n"
1948 " ((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"
1950 " (signature vec4\n"
1952 " (declare (in) vec4 arg0)\n"
1953 " (declare (in) vec4 arg1)\n"
1954 " (declare (in) vec4 arg2))\n"
1955 " ((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"
1957 " (signature vec2\n"
1959 " (declare (in) vec2 arg0)\n"
1960 " (declare (in) vec2 arg1)\n"
1961 " (declare (in) float arg2))\n"
1962 " ((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"
1964 " (signature vec3\n"
1966 " (declare (in) vec3 arg0)\n"
1967 " (declare (in) vec3 arg1)\n"
1968 " (declare (in) float arg2))\n"
1969 " ((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"
1971 " (signature vec4\n"
1973 " (declare (in) vec4 arg0)\n"
1974 " (declare (in) vec4 arg1)\n"
1975 " (declare (in) float arg2))\n"
1976 " ((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"
1978 " (signature float\n"
1980 " (declare (in) float v1)\n"
1981 " (declare (in) float v2)\n"
1982 " (declare (in) bool a))\n"
1983 " ((assign (var_ref a) (var_ref v1) (var_ref v2))\n"
1984 " (return (var_ref v1))))\n"
1986 " (signature vec2\n"
1988 " (declare (in) vec2 v1)\n"
1989 " (declare (in) vec2 v2)\n"
1990 " (declare (in) bvec2 a))\n"
1991 " ((assign (swiz x (var_ref a)) (swiz x (var_ref v1)) (swiz x (var_ref v2)))\n"
1992 " (assign (swiz y (var_ref a)) (swiz y (var_ref v1)) (swiz y (var_ref v2)))\n"
1993 " (return (var_ref v1))))\n"
1995 " (signature vec3\n"
1997 " (declare (in) vec3 v1)\n"
1998 " (declare (in) vec3 v2)\n"
1999 " (declare (in) bvec3 a))\n"
2000 " ((assign (swiz x (var_ref a)) (swiz x (var_ref v1)) (swiz x (var_ref v2)))\n"
2001 " (assign (swiz y (var_ref a)) (swiz y (var_ref v1)) (swiz y (var_ref v2)))\n"
2002 " (assign (swiz z (var_ref a)) (swiz z (var_ref v1)) (swiz z (var_ref v2)))\n"
2003 " (return (var_ref v1))))\n"
2005 " (signature vec4\n"
2007 " (declare (in) vec4 v1)\n"
2008 " (declare (in) vec4 v2)\n"
2009 " (declare (in) bvec4 a))\n"
2010 " ((assign (swiz x (var_ref a)) (swiz x (var_ref v1)) (swiz x (var_ref v2)))\n"
2011 " (assign (swiz y (var_ref a)) (swiz y (var_ref v1)) (swiz y (var_ref v2)))\n"
2012 " (assign (swiz z (var_ref a)) (swiz z (var_ref v1)) (swiz z (var_ref v2)))\n"
2013 " (assign (swiz w (var_ref a)) (swiz w (var_ref v1)) (swiz w (var_ref v2)))\n"
2014 " (return (var_ref v1))))\n"
2018 static const char *builtin_mod
=
2020 " (signature float\n"
2022 " (declare (in) float arg0)\n"
2023 " (declare (in) float arg1))\n"
2024 " ((return (expression float % (var_ref arg0) (var_ref arg1)))))\n"
2026 " (signature vec2\n"
2028 " (declare (in) vec2 arg0)\n"
2029 " (declare (in) vec2 arg1))\n"
2030 " ((return (expression vec2 % (var_ref arg0) (var_ref arg1)))))\n"
2032 " (signature vec3\n"
2034 " (declare (in) vec3 arg0)\n"
2035 " (declare (in) vec3 arg1))\n"
2036 " ((return (expression vec3 % (var_ref arg0) (var_ref arg1)))))\n"
2038 " (signature vec4\n"
2040 " (declare (in) vec4 arg0)\n"
2041 " (declare (in) vec4 arg1))\n"
2042 " ((return (expression vec4 % (var_ref arg0) (var_ref arg1)))))\n"
2044 " (signature vec2\n"
2046 " (declare (in) vec2 arg0)\n"
2047 " (declare (in) float arg1))\n"
2048 " ((return (expression vec2 % (var_ref arg0) (var_ref arg1)))))\n"
2050 " (signature vec3\n"
2052 " (declare (in) vec3 arg0)\n"
2053 " (declare (in) float arg1))\n"
2054 " ((return (expression vec3 % (var_ref arg0) (var_ref arg1)))))\n"
2056 " (signature vec4\n"
2058 " (declare (in) vec4 arg0)\n"
2059 " (declare (in) float arg1))\n"
2060 " ((return (expression vec4 % (var_ref arg0) (var_ref arg1)))))\n"
2064 static const char *builtin_noise1
=
2065 "((function noise1\n"
2066 " (signature float\n"
2068 " (declare (in) float x))\n"
2069 " ((return (constant float (0)))))\n"
2070 " (signature float\n"
2072 " (declare (in) vec2 x))\n"
2073 " ((return (constant float (0)))))\n"
2074 " (signature float\n"
2076 " (declare (in) vec3 x))\n"
2077 " ((return (constant float (0)))))\n"
2078 " (signature float\n"
2080 " (declare (in) vec4 x))\n"
2081 " ((return (constant float (0)))))\n"
2085 static const char *builtin_noise2
=
2086 "((function noise2\n"
2087 " (signature vec2\n"
2089 " (declare (in) float x))\n"
2090 " ((return (constant vec2 (0 0)))))\n"
2091 " (signature vec2\n"
2093 " (declare (in) vec2 x))\n"
2094 " ((return (constant vec2 (0 0)))))\n"
2095 " (signature vec2\n"
2097 " (declare (in) vec3 x))\n"
2098 " ((return (constant vec2 (0 0)))))\n"
2099 " (signature vec2\n"
2101 " (declare (in) vec4 x))\n"
2102 " ((return (constant vec2 (0 0)))))\n"
2106 static const char *builtin_noise3
=
2107 "((function noise3\n"
2108 " (signature vec3\n"
2110 " (declare (in) float x))\n"
2111 " ((return (constant vec3 (0 0 0)))))\n"
2112 " (signature vec3\n"
2114 " (declare (in) vec2 x))\n"
2115 " ((return (constant vec3 (0 0 0)))))\n"
2116 " (signature vec3\n"
2118 " (declare (in) vec3 x))\n"
2119 " ((return (constant vec3 (0 0 0)))))\n"
2120 " (signature vec3\n"
2122 " (declare (in) vec4 x))\n"
2123 " ((return (constant vec3 (0 0 0)))))\n"
2127 static const char *builtin_noise4
=
2128 "((function noise4\n"
2129 " (signature vec4\n"
2131 " (declare (in) float x))\n"
2132 " ((return (constant vec4 (0 0 0 0)))))\n"
2133 " (signature vec4\n"
2135 " (declare (in) vec2 x))\n"
2136 " ((return (constant vec4 (0 0 0 0)))))\n"
2137 " (signature vec4\n"
2139 " (declare (in) vec3 x))\n"
2140 " ((return (constant vec4 (0 0 0 0)))))\n"
2141 " (signature vec4\n"
2143 " (declare (in) vec4 x))\n"
2144 " ((return (constant vec4 (0 0 0 0)))))\n"
2148 static const char *builtin_normalize
=
2149 "((function normalize\n"
2150 " (signature float\n"
2152 " (declare (in) float arg0))\n"
2153 " ((return (expression float * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
2155 " (signature vec2\n"
2157 " (declare (in) vec2 arg0))\n"
2158 " ((return (expression vec2 * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
2160 " (signature vec3\n"
2162 " (declare (in) vec3 arg0))\n"
2163 " ((return (expression vec3 * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
2165 " (signature vec4\n"
2167 " (declare (in) vec4 arg0))\n"
2168 " ((return (expression vec4 * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
2172 static const char *builtin_not
=
2174 " (signature bvec2\n"
2176 " (declare (in) bvec2 arg0))\n"
2177 " ((return (expression bvec2 ! (var_ref arg0)))))\n"
2179 " (signature bvec3\n"
2181 " (declare (in) bvec3 arg0))\n"
2182 " ((return (expression bvec3 ! (var_ref arg0)))))\n"
2184 " (signature bvec4\n"
2186 " (declare (in) bvec4 arg0))\n"
2187 " ((return (expression bvec4 ! (var_ref arg0)))))\n"
2191 static const char *builtin_notEqual
=
2192 "((function notEqual\n"
2193 " (signature bvec2\n"
2195 " (declare (in) vec2 arg0)\n"
2196 " (declare (in) vec2 arg1))\n"
2197 " ((declare () bvec2 temp)\n"
2198 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
2199 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
2200 " (return (var_ref temp))))\n"
2202 " (signature bvec3\n"
2204 " (declare (in) vec3 arg0)\n"
2205 " (declare (in) vec3 arg1))\n"
2206 " ((declare () bvec3 temp)\n"
2207 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
2208 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
2209 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
2210 " (return (var_ref temp))))\n"
2212 " (signature bvec4\n"
2214 " (declare (in) vec4 arg0)\n"
2215 " (declare (in) vec4 arg1))\n"
2216 " ((declare () bvec4 temp)\n"
2217 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
2218 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
2219 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
2220 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool != (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
2221 " (return (var_ref temp))))\n"
2223 " (signature bvec2\n"
2225 " (declare (in) bvec2 arg0)\n"
2226 " (declare (in) bvec2 arg1))\n"
2227 " ((declare () bvec2 temp)\n"
2228 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
2229 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
2230 " (return (var_ref temp))))\n"
2232 " (signature bvec3\n"
2234 " (declare (in) bvec3 arg0)\n"
2235 " (declare (in) bvec3 arg1))\n"
2236 " ((declare () bvec3 temp)\n"
2237 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
2238 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
2239 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
2240 " (return (var_ref temp))))\n"
2242 " (signature bvec4\n"
2244 " (declare (in) bvec4 arg0)\n"
2245 " (declare (in) bvec4 arg1))\n"
2246 " ((declare () bvec4 temp)\n"
2247 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
2248 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
2249 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
2250 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool != (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
2251 " (return (var_ref temp))))\n"
2253 " (signature bvec2\n"
2255 " (declare (in) ivec2 arg0)\n"
2256 " (declare (in) ivec2 arg1))\n"
2257 " ((declare () bvec2 temp)\n"
2258 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
2259 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
2260 " (return (var_ref temp))))\n"
2262 " (signature bvec3\n"
2264 " (declare (in) ivec3 arg0)\n"
2265 " (declare (in) ivec3 arg1))\n"
2266 " ((declare () bvec3 temp)\n"
2267 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
2268 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
2269 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
2270 " (return (var_ref temp))))\n"
2272 " (signature bvec4\n"
2274 " (declare (in) ivec4 arg0)\n"
2275 " (declare (in) ivec4 arg1))\n"
2276 " ((declare () bvec4 temp)\n"
2277 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
2278 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
2279 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
2280 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool != (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
2281 " (return (var_ref temp))))\n"
2283 " (signature bvec2\n"
2285 " (declare (in) uvec2 arg0)\n"
2286 " (declare (in) uvec2 arg1))\n"
2287 " ((declare () bvec2 temp)\n"
2288 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
2289 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
2290 " (return (var_ref temp))))\n"
2292 " (signature bvec3\n"
2294 " (declare (in) uvec3 arg0)\n"
2295 " (declare (in) uvec3 arg1))\n"
2296 " ((declare () bvec3 temp)\n"
2297 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
2298 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
2299 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
2300 " (return (var_ref temp))))\n"
2302 " (signature bvec4\n"
2304 " (declare (in) uvec4 arg0)\n"
2305 " (declare (in) uvec4 arg1))\n"
2306 " ((declare () bvec4 temp)\n"
2307 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
2308 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
2309 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
2310 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool != (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
2311 " (return (var_ref temp))))\n"
2315 static const char *builtin_outerProduct
=
2316 "((function outerProduct\n"
2317 " (signature mat2\n"
2319 " (declare (in) vec2 u)\n"
2320 " (declare (in) vec2 v))\n"
2321 " ((declare () mat2 m)\n"
2322 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))\n"
2323 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))\n"
2324 " (return (var_ref m))))\n"
2326 " (signature mat2x3\n"
2328 " (declare (in) vec3 u)\n"
2329 " (declare (in) vec2 v))\n"
2330 " ((declare () mat2x3 m)\n"
2331 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))\n"
2332 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))\n"
2333 " (return (var_ref m))))\n"
2335 " (signature mat2x4\n"
2337 " (declare (in) vec4 u)\n"
2338 " (declare (in) vec2 v))\n"
2339 " ((declare () mat2x4 m)\n"
2340 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))\n"
2341 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))\n"
2342 " (return (var_ref m))))\n"
2344 " (signature mat3x2\n"
2346 " (declare (in) vec2 u)\n"
2347 " (declare (in) vec3 v))\n"
2348 " ((declare () mat3x2 m)\n"
2349 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))\n"
2350 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))\n"
2351 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (2))) (expression vec2 * (var_ref u) (swiz z (var_ref v))))\n"
2352 " (return (var_ref m))\n"
2355 " (signature mat3\n"
2357 " (declare (in) vec3 u)\n"
2358 " (declare (in) vec3 v))\n"
2359 " ((declare () mat3 m)\n"
2360 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))\n"
2361 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))\n"
2362 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (2))) (expression vec3 * (var_ref u) (swiz z (var_ref v))))\n"
2363 " (return (var_ref m))))\n"
2365 " (signature mat3x4\n"
2367 " (declare (in) vec4 u)\n"
2368 " (declare (in) vec3 v))\n"
2369 " ((declare () mat3x4 m)\n"
2370 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))\n"
2371 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))\n"
2372 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (2))) (expression vec4 * (var_ref u) (swiz z (var_ref v))))\n"
2373 " (return (var_ref m))))\n"
2375 " (signature mat4x2\n"
2377 " (declare (in) vec2 u)\n"
2378 " (declare (in) vec4 v))\n"
2379 " ((declare () mat4x2 m)\n"
2380 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))\n"
2381 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))\n"
2382 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (2))) (expression vec2 * (var_ref u) (swiz z (var_ref v))))\n"
2383 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (3))) (expression vec2 * (var_ref u) (swiz w (var_ref v))))\n"
2384 " (return (var_ref m))))\n"
2386 " (signature mat4x3\n"
2388 " (declare (in) vec3 u)\n"
2389 " (declare (in) vec4 v))\n"
2390 " ((declare () mat4x3 m)\n"
2391 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))\n"
2392 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))\n"
2393 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (2))) (expression vec3 * (var_ref u) (swiz z (var_ref v))))\n"
2394 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (3))) (expression vec3 * (var_ref u) (swiz w (var_ref v))))\n"
2395 " (return (var_ref m))))\n"
2397 " (signature mat4\n"
2399 " (declare (in) vec4 u)\n"
2400 " (declare (in) vec4 v))\n"
2401 " ((declare () mat4 m)\n"
2402 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))\n"
2403 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))\n"
2404 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (2))) (expression vec4 * (var_ref u) (swiz z (var_ref v))))\n"
2405 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (3))) (expression vec4 * (var_ref u) (swiz w (var_ref v))))\n"
2406 " (return (var_ref m))))\n"
2410 static const char *builtin_pow
=
2412 " (signature float\n"
2414 " (declare (in) float arg0)\n"
2415 " (declare (in) float arg1))\n"
2416 " ((return (expression float pow (var_ref arg0) (var_ref arg1)))))\n"
2418 " (signature vec2\n"
2420 " (declare (in) vec2 arg0)\n"
2421 " (declare (in) vec2 arg1))\n"
2422 " ((return (expression vec2 pow (var_ref arg0) (var_ref arg1)))))\n"
2424 " (signature vec3\n"
2426 " (declare (in) vec3 arg0)\n"
2427 " (declare (in) vec3 arg1))\n"
2428 " ((return (expression vec3 pow (var_ref arg0) (var_ref arg1)))))\n"
2430 " (signature vec4\n"
2432 " (declare (in) vec4 arg0)\n"
2433 " (declare (in) vec4 arg1))\n"
2434 " ((return (expression vec4 pow (var_ref arg0) (var_ref arg1)))))\n"
2438 static const char *builtin_radians
=
2439 "((function radians\n"
2440 " (signature float\n"
2442 " (declare (in) float arg0))\n"
2443 " ((return (expression float * (var_ref arg0) (constant float (0.017453))))))\n"
2445 " (signature vec2\n"
2447 " (declare (in) vec2 arg0))\n"
2448 " ((return (expression vec2 * (var_ref arg0) (constant float (0.017453))))))\n"
2450 " (signature vec3\n"
2452 " (declare (in) vec3 arg0))\n"
2453 " ((return (expression vec3 * (var_ref arg0) (constant float (0.017453))))))\n"
2455 " (signature vec4\n"
2457 " (declare (in) vec4 arg0))\n"
2458 " ((return (expression vec4 * (var_ref arg0) (constant float (0.017453))))))\n"
2462 static const char *builtin_reflect
=
2463 "((function reflect\n"
2464 " (signature float\n"
2466 " (declare (in) float i)\n"
2467 " (declare (in) float n))\n"
2468 " ((return (expression float -\n"
2470 " (expression float *\n"
2471 " (constant float (2.0))\n"
2472 " (expression float *\n"
2473 " (expression float dot\n"
2476 " (var_ref n)))))))\n"
2478 " (signature vec2\n"
2480 " (declare (in) vec2 i)\n"
2481 " (declare (in) vec2 n))\n"
2482 " ((return (expression vec2 -\n"
2484 " (expression vec2 *\n"
2485 " (constant float (2.0))\n"
2486 " (expression vec2 *\n"
2487 " (expression float dot\n"
2490 " (var_ref n)))))))\n"
2492 " (signature vec3\n"
2494 " (declare (in) vec3 i)\n"
2495 " (declare (in) vec3 n))\n"
2496 " ((return (expression vec3 -\n"
2498 " (expression vec3 *\n"
2499 " (constant float (2.0))\n"
2500 " (expression vec3 *\n"
2501 " (expression float dot\n"
2504 " (var_ref n)))))))\n"
2506 " (signature vec4\n"
2508 " (declare (in) vec4 i)\n"
2509 " (declare (in) vec4 n))\n"
2510 " ((return (expression vec4 -\n"
2512 " (expression vec4 *\n"
2513 " (constant float (2.0))\n"
2514 " (expression vec4 *\n"
2515 " (expression float dot\n"
2518 " (var_ref n)))))))\n"
2523 static const char *builtin_refract
=
2524 "((function refract\n"
2525 " (signature float\n"
2527 " (declare (in) float i)\n"
2528 " (declare (in) float n)\n"
2529 " (declare (in) float eta))\n"
2530 " ((declare () float k)\n"
2531 " (assign (constant bool (1)) (var_ref k)\n"
2532 " (expression float - (constant float (1.0))\n"
2533 " (expression float * (var_ref eta)\n"
2534 " (expression float * (var_ref eta)\n"
2535 " (expression float - (constant float (1.0))\n"
2536 " (expression float * \n"
2537 " (expression float dot (var_ref n) (var_ref i))\n"
2538 " (expression float dot (var_ref n) (var_ref i))))))))\n"
2539 " (if (expression bool < (var_ref k) (constant float (0.0)))\n"
2540 " ((return (constant float (0.0))))\n"
2541 " ((return (expression float -\n"
2542 " (expression float * (var_ref eta) (var_ref i))\n"
2543 " (expression float *\n"
2544 " (expression float +\n"
2545 " (expression float * (var_ref eta)\n"
2546 " (expression float dot (var_ref n) (var_ref i)))\n"
2547 " (expression float sqrt (var_ref k)))\n"
2548 " (var_ref n))))))))\n"
2550 " (signature vec2\n"
2552 " (declare (in) vec2 i)\n"
2553 " (declare (in) vec2 n)\n"
2554 " (declare (in) float eta))\n"
2555 " ((declare () float k)\n"
2556 " (assign (constant bool (1)) (var_ref k)\n"
2557 " (expression float - (constant float (1.0))\n"
2558 " (expression float * (var_ref eta)\n"
2559 " (expression float * (var_ref eta)\n"
2560 " (expression float - (constant float (1.0))\n"
2561 " (expression float * \n"
2562 " (expression float dot (var_ref n) (var_ref i))\n"
2563 " (expression float dot (var_ref n) (var_ref i))))))))\n"
2564 " (if (expression bool < (var_ref k) (constant float (0.0)))\n"
2565 " ((return (constant vec2 (0.0 0.0))))\n"
2566 " ((return (expression vec2 -\n"
2567 " (expression vec2 * (var_ref eta) (var_ref i))\n"
2568 " (expression vec2 *\n"
2569 " (expression float +\n"
2570 " (expression float * (var_ref eta)\n"
2571 " (expression float dot (var_ref n) (var_ref i)))\n"
2572 " (expression float sqrt (var_ref k)))\n"
2573 " (var_ref n))))))))\n"
2575 " (signature vec3\n"
2577 " (declare (in) vec3 i)\n"
2578 " (declare (in) vec3 n)\n"
2579 " (declare (in) float eta))\n"
2580 " ((declare () float k)\n"
2581 " (assign (constant bool (1)) (var_ref k)\n"
2582 " (expression float - (constant float (1.0))\n"
2583 " (expression float * (var_ref eta)\n"
2584 " (expression float * (var_ref eta)\n"
2585 " (expression float - (constant float (1.0))\n"
2586 " (expression float * \n"
2587 " (expression float dot (var_ref n) (var_ref i))\n"
2588 " (expression float dot (var_ref n) (var_ref i))))))))\n"
2589 " (if (expression bool < (var_ref k) (constant float (0.0)))\n"
2590 " ((return (constant vec3 (0.0 0.0 0.0))))\n"
2591 " ((return (expression vec3 -\n"
2592 " (expression vec3 * (var_ref eta) (var_ref i))\n"
2593 " (expression vec3 *\n"
2594 " (expression float +\n"
2595 " (expression float * (var_ref eta)\n"
2596 " (expression float dot (var_ref n) (var_ref i)))\n"
2597 " (expression float sqrt (var_ref k)))\n"
2598 " (var_ref n))))))))\n"
2600 " (signature vec4\n"
2602 " (declare (in) vec4 i)\n"
2603 " (declare (in) vec4 n)\n"
2604 " (declare (in) float eta))\n"
2605 " ((declare () float k)\n"
2606 " (assign (constant bool (1)) (var_ref k)\n"
2607 " (expression float - (constant float (1.0))\n"
2608 " (expression float * (var_ref eta)\n"
2609 " (expression float * (var_ref eta)\n"
2610 " (expression float - (constant float (1.0))\n"
2611 " (expression float * \n"
2612 " (expression float dot (var_ref n) (var_ref i))\n"
2613 " (expression float dot (var_ref n) (var_ref i))))))))\n"
2614 " (if (expression bool < (var_ref k) (constant float (0.0)))\n"
2615 " ((return (constant vec4 (0.0 0.0 0.0 0.0))))\n"
2616 " ((return (expression vec4 -\n"
2617 " (expression vec4 * (var_ref eta) (var_ref i))\n"
2618 " (expression vec4 *\n"
2619 " (expression float +\n"
2620 " (expression float * (var_ref eta)\n"
2621 " (expression float dot (var_ref n) (var_ref i)))\n"
2622 " (expression float sqrt (var_ref k)))\n"
2623 " (var_ref n))))))))\n"
2628 static const char *builtin_shadow1D
=
2629 "((function shadow1D\n"
2630 " (signature vec4\n"
2632 " (declare (in) sampler1DShadow sampler)\n"
2633 " (declare (in) vec3 P) )\n"
2634 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) ))))\n"
2636 " (signature vec4\n"
2638 " (declare (in) sampler1DShadow sampler)\n"
2639 " (declare (in) vec3 P) \n"
2640 " (declare (in) float bias) )\n"
2641 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref bias) ))))\n"
2646 static const char *builtin_shadow1DArray
=
2647 "((function shadow1DArray\n"
2648 " (signature vec4\n"
2650 " (declare (in) sampler1DArrayShadow sampler)\n"
2651 " (declare (in) vec3 P) )\n"
2652 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) ))))\n"
2654 " (signature vec4\n"
2656 " (declare (in) sampler1DArrayShadow sampler)\n"
2657 " (declare (in) vec3 P) \n"
2658 " (declare (in) float bias) )\n"
2659 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref bias) ))))\n"
2664 static const char *builtin_shadow1DArrayLod
=
2665 "((function shadow1DArrayLod\n"
2666 " (signature vec4\n"
2668 " (declare (in) sampler1DArrayShadow sampler)\n"
2669 " (declare (in) vec3 P) \n"
2670 " (declare (in) float lod) )\n"
2671 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref lod) ))))\n"
2676 static const char *builtin_shadow1DLod
=
2677 "((function shadow1DLod\n"
2678 " (signature vec4\n"
2680 " (declare (in) sampler1DShadow sampler)\n"
2681 " (declare (in) vec3 P) \n"
2682 " (declare (in) float lod) )\n"
2683 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref lod) ))))\n"
2688 static const char *builtin_shadow1DProj
=
2689 "((function shadow1DProj\n"
2690 " (signature vec4\n"
2692 " (declare (in) sampler1DShadow sampler)\n"
2693 " (declare (in) vec4 P) )\n"
2694 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) ))))\n"
2696 " (signature vec4\n"
2698 " (declare (in) sampler1DShadow sampler)\n"
2699 " (declare (in) vec4 P) \n"
2700 " (declare (in) float bias) )\n"
2701 " ((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"
2706 static const char *builtin_shadow1DProjLod
=
2707 "((function shadow1DProjLod\n"
2708 " (signature vec4\n"
2710 " (declare (in) sampler1DShadow sampler)\n"
2711 " (declare (in) vec4 P) \n"
2712 " (declare (in) float lod) )\n"
2713 " ((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"
2718 static const char *builtin_shadow2D
=
2719 "((function shadow2D\n"
2720 " (signature vec4\n"
2722 " (declare (in) sampler2DShadow sampler)\n"
2723 " (declare (in) vec3 P) )\n"
2724 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) ))))\n"
2726 " (signature vec4\n"
2728 " (declare (in) sampler2DShadow sampler)\n"
2729 " (declare (in) vec3 P) \n"
2730 " (declare (in) float bias) )\n"
2731 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref bias) ))))\n"
2736 static const char *builtin_shadow2DArray
=
2737 "((function shadow2DArray\n"
2738 " (signature vec4\n"
2740 " (declare (in) sampler2DArrayShadow sampler)\n"
2741 " (declare (in) vec4 P) )\n"
2742 " ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) 1 (swiz w (var_ref P)) ))))\n"
2747 static const char *builtin_shadow2DLod
=
2748 "((function shadow2DLod\n"
2749 " (signature vec4\n"
2751 " (declare (in) sampler2DShadow sampler)\n"
2752 " (declare (in) vec3 P) \n"
2753 " (declare (in) float lod) )\n"
2754 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref lod) ))))\n"
2759 static const char *builtin_shadow2DProj
=
2760 "((function shadow2DProj\n"
2761 " (signature vec4\n"
2763 " (declare (in) sampler2DShadow sampler)\n"
2764 " (declare (in) vec4 P) )\n"
2765 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) ))))\n"
2767 " (signature vec4\n"
2769 " (declare (in) sampler2DShadow sampler)\n"
2770 " (declare (in) vec4 P) \n"
2771 " (declare (in) float bias) )\n"
2772 " ((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"
2777 static const char *builtin_shadow2DProjLod
=
2778 "((function shadow2DProjLod\n"
2779 " (signature vec4\n"
2781 " (declare (in) sampler2DShadow sampler)\n"
2782 " (declare (in) vec4 P) \n"
2783 " (declare (in) float lod) )\n"
2784 " ((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"
2789 static const char *builtin_shadow2DRect
=
2790 "((function shadow2DRect\n"
2791 " (signature vec4\n"
2793 " (declare (in) sampler2DRectShadow sampler)\n"
2794 " (declare (in) vec3 P) )\n"
2795 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) ))))\n"
2800 static const char *builtin_shadow2DRectProj
=
2801 "((function shadow2DRectProj\n"
2802 " (signature vec4\n"
2804 " (declare (in) sampler2DRectShadow sampler)\n"
2805 " (declare (in) vec4 P) )\n"
2806 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) ))))\n"
2811 static const char *builtin_sign
=
2813 " (signature float\n"
2815 " (declare (in) float x))\n"
2816 " ((return (expression float sign (var_ref x)))))\n"
2818 " (signature vec2\n"
2820 " (declare (in) vec2 x))\n"
2821 " ((return (expression vec2 sign (var_ref x)))))\n"
2823 " (signature vec3\n"
2825 " (declare (in) vec3 x))\n"
2826 " ((return (expression vec3 sign (var_ref x)))))\n"
2828 " (signature vec4\n"
2830 " (declare (in) vec4 x))\n"
2831 " ((return (expression vec4 sign (var_ref x)))))\n"
2835 " (declare (in) int x))\n"
2836 " ((return (expression int sign (var_ref x)))))\n"
2838 " (signature ivec2\n"
2840 " (declare (in) ivec2 x))\n"
2841 " ((return (expression ivec2 sign (var_ref x)))))\n"
2843 " (signature ivec3\n"
2845 " (declare (in) ivec3 x))\n"
2846 " ((return (expression ivec3 sign (var_ref x)))))\n"
2848 " (signature ivec4\n"
2850 " (declare (in) ivec4 x))\n"
2851 " ((return (expression ivec4 sign (var_ref x)))))\n"
2856 static const char *builtin_sin
=
2858 " (signature float\n"
2860 " (declare (in) float angle))\n"
2861 " ((return (expression float sin (var_ref angle)))))\n"
2863 " (signature vec2\n"
2865 " (declare (in) vec2 angle))\n"
2866 " ((return (expression vec2 sin (var_ref angle)))))\n"
2868 " (signature vec3\n"
2870 " (declare (in) vec3 angle))\n"
2871 " ((return (expression vec3 sin (var_ref angle)))))\n"
2873 " (signature vec4\n"
2875 " (declare (in) vec4 angle))\n"
2876 " ((return (expression vec4 sin (var_ref angle)))))\n"
2880 static const char *builtin_sinh
=
2882 " (signature float\n"
2884 " (declare (in) float x))\n"
2885 " ((return (expression float * (constant float (0.5))\n"
2886 " (expression float -\n"
2887 " (expression float exp (var_ref x))\n"
2888 " (expression float exp (expression float neg (var_ref x))))))))\n"
2889 " (signature vec2\n"
2891 " (declare (in) vec2 x))\n"
2892 " ((return (expression vec2 * (constant vec2 (0.5))\n"
2893 " (expression vec2 -\n"
2894 " (expression vec2 exp (var_ref x))\n"
2895 " (expression vec2 exp (expression vec2 neg (var_ref x))))))))\n"
2896 " (signature vec3\n"
2898 " (declare (in) vec3 x))\n"
2899 " ((return (expression vec3 * (constant vec3 (0.5))\n"
2900 " (expression vec3 -\n"
2901 " (expression vec3 exp (var_ref x))\n"
2902 " (expression vec3 exp (expression vec3 neg (var_ref x))))))))\n"
2903 " (signature vec4\n"
2905 " (declare (in) vec4 x))\n"
2906 " ((return (expression vec4 * (constant vec4 (0.5))\n"
2907 " (expression vec4 -\n"
2908 " (expression vec4 exp (var_ref x))\n"
2909 " (expression vec4 exp (expression vec4 neg (var_ref x))))))))\n"
2913 static const char *builtin_smoothstep
=
2914 "((function smoothstep\n"
2915 " (signature float\n"
2917 " (declare (in) float edge0)\n"
2918 " (declare (in) float edge1)\n"
2919 " (declare (in) float x))\n"
2920 " ((declare () float t)\n"
2922 " (assign (constant bool (1)) (var_ref t)\n"
2923 " (expression float max\n"
2924 " (expression float min\n"
2925 " (expression float / (expression float - (var_ref x) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
2926 " (constant float (1.0)))\n"
2927 " (constant float (0.0))))\n"
2928 " (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"
2930 " (signature vec2\n"
2932 " (declare (in) float edge0)\n"
2933 " (declare (in) float edge1)\n"
2934 " (declare (in) vec2 x))\n"
2935 " ((declare () vec2 t)\n"
2936 " (declare () vec2 retval)\n"
2938 " (assign (constant bool (1)) (swiz x (var_ref t))\n"
2939 " (expression float max\n"
2940 " (expression float min\n"
2941 " (expression float / (expression float - (swiz x (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
2942 " (constant float (1.0)))\n"
2943 " (constant float (0.0))))\n"
2944 " (assign (constant bool (1)) (swiz 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"
2946 " (assign (constant bool (1)) (swiz y (var_ref t))\n"
2947 " (expression float max\n"
2948 " (expression float min\n"
2949 " (expression float / (expression float - (swiz y (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
2950 " (constant float (1.0)))\n"
2951 " (constant float (0.0))))\n"
2952 " (assign (constant bool (1)) (swiz 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"
2953 " (return (var_ref retval))\n"
2956 " (signature vec3\n"
2958 " (declare (in) float edge0)\n"
2959 " (declare (in) float edge1)\n"
2960 " (declare (in) vec3 x))\n"
2961 " ((declare () vec3 t)\n"
2962 " (declare () vec3 retval)\n"
2964 " (assign (constant bool (1)) (swiz x (var_ref t))\n"
2965 " (expression float max\n"
2966 " (expression float min\n"
2967 " (expression float / (expression float - (swiz x (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
2968 " (constant float (1.0)))\n"
2969 " (constant float (0.0))))\n"
2970 " (assign (constant bool (1)) (swiz 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"
2972 " (assign (constant bool (1)) (swiz y (var_ref t))\n"
2973 " (expression float max\n"
2974 " (expression float min\n"
2975 " (expression float / (expression float - (swiz y (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
2976 " (constant float (1.0)))\n"
2977 " (constant float (0.0))))\n"
2978 " (assign (constant bool (1)) (swiz 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"
2980 " (assign (constant bool (1)) (swiz z (var_ref t))\n"
2981 " (expression float max\n"
2982 " (expression float min\n"
2983 " (expression float / (expression float - (swiz z (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
2984 " (constant float (1.0)))\n"
2985 " (constant float (0.0))))\n"
2986 " (assign (constant bool (1)) (swiz 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"
2987 " (return (var_ref retval))\n"
2991 " (signature vec4\n"
2993 " (declare (in) float edge0)\n"
2994 " (declare (in) float edge1)\n"
2995 " (declare (in) vec4 x))\n"
2996 " ((declare () vec4 t)\n"
2997 " (declare () vec4 retval)\n"
2999 " (assign (constant bool (1)) (swiz x (var_ref t))\n"
3000 " (expression float max\n"
3001 " (expression float min\n"
3002 " (expression float / (expression float - (swiz x (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
3003 " (constant float (1.0)))\n"
3004 " (constant float (0.0))))\n"
3005 " (assign (constant bool (1)) (swiz 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"
3007 " (assign (constant bool (1)) (swiz y (var_ref t))\n"
3008 " (expression float max\n"
3009 " (expression float min\n"
3010 " (expression float / (expression float - (swiz y (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
3011 " (constant float (1.0)))\n"
3012 " (constant float (0.0))))\n"
3013 " (assign (constant bool (1)) (swiz 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"
3015 " (assign (constant bool (1)) (swiz z (var_ref t))\n"
3016 " (expression float max\n"
3017 " (expression float min\n"
3018 " (expression float / (expression float - (swiz z (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
3019 " (constant float (1.0)))\n"
3020 " (constant float (0.0))))\n"
3021 " (assign (constant bool (1)) (swiz 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"
3023 " (assign (constant bool (1)) (swiz w (var_ref t))\n"
3024 " (expression float max\n"
3025 " (expression float min\n"
3026 " (expression float / (expression float - (swiz w (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
3027 " (constant float (1.0)))\n"
3028 " (constant float (0.0))))\n"
3029 " (assign (constant bool (1)) (swiz 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"
3030 " (return (var_ref retval))\n"
3033 " (signature vec2\n"
3035 " (declare (in) vec2 edge0)\n"
3036 " (declare (in) vec2 edge1)\n"
3037 " (declare (in) vec2 x))\n"
3038 " ((return (expression vec2 max\n"
3039 " (expression vec2 min\n"
3040 " (expression vec2 / (expression vec2 - (var_ref x) (var_ref edge0)) (expression vec2 - (var_ref edge1) (var_ref edge0)))\n"
3041 " (constant vec2 (1.0 1.0)))\n"
3042 " (constant vec2 (0.0 0.0))))))\n"
3044 " (signature vec3\n"
3046 " (declare (in) vec3 edge0)\n"
3047 " (declare (in) vec3 edge1)\n"
3048 " (declare (in) vec3 x))\n"
3049 " ((return (expression vec3 max\n"
3050 " (expression vec3 min\n"
3051 " (expression vec3 / (expression vec3 - (var_ref x) (var_ref edge0)) (expression vec3 - (var_ref edge1) (var_ref edge0)))\n"
3052 " (constant vec3 (1.0 1.0 1.0)))\n"
3053 " (constant vec3 (0.0 0.0 0.0))))))\n"
3055 " (signature vec4\n"
3057 " (declare (in) vec4 edge0)\n"
3058 " (declare (in) vec4 edge1)\n"
3059 " (declare (in) vec4 x))\n"
3060 " ((return (expression vec4 max\n"
3061 " (expression vec4 min\n"
3062 " (expression vec4 / (expression vec4 - (var_ref x) (var_ref edge0)) (expression vec4 - (var_ref edge1) (var_ref edge0)))\n"
3063 " (constant vec4 (1.0 1.0 1.0 1.0)))\n"
3064 " (constant vec4 (0.0 0.0 0.0 0.0))))))\n"
3069 static const char *builtin_sqrt
=
3071 " (signature float\n"
3073 " (declare (in) float arg0))\n"
3074 " ((return (expression float sqrt (var_ref arg0)))))\n"
3076 " (signature vec2\n"
3078 " (declare (in) vec2 arg0))\n"
3079 " ((return (expression vec2 sqrt (var_ref arg0)))))\n"
3081 " (signature vec3\n"
3083 " (declare (in) vec3 arg0))\n"
3084 " ((return (expression vec3 sqrt (var_ref arg0)))))\n"
3086 " (signature vec4\n"
3088 " (declare (in) vec4 arg0))\n"
3089 " ((return (expression vec4 sqrt (var_ref arg0)))))\n"
3093 static const char *builtin_step
=
3095 " (signature float\n"
3097 " (declare (in) float edge)\n"
3098 " (declare (in) float x))\n"
3099 " ((return (expression float b2f (expression bool >= (var_ref x) (var_ref edge))))))\n"
3101 " (signature vec2\n"
3103 " (declare (in) float edge)\n"
3104 " (declare (in) vec2 x))\n"
3105 " ((declare () vec2 t)\n"
3106 " (assign (constant bool (1)) (swiz x (var_ref t)) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge))))\n"
3107 " (assign (constant bool (1)) (swiz y (var_ref t)) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge))))\n"
3108 " (return (var_ref t))))\n"
3110 " (signature vec3\n"
3112 " (declare (in) float edge)\n"
3113 " (declare (in) vec3 x))\n"
3114 " ((declare () vec3 t)\n"
3115 " (assign (constant bool (1)) (swiz x (var_ref t)) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge))))\n"
3116 " (assign (constant bool (1)) (swiz y (var_ref t)) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge))))\n"
3117 " (assign (constant bool (1)) (swiz z (var_ref t)) (expression float b2f (expression bool >= (swiz z (var_ref x))(var_ref edge))))\n"
3118 " (return (var_ref t))))\n"
3120 " (signature vec4\n"
3122 " (declare (in) float edge)\n"
3123 " (declare (in) vec4 x))\n"
3124 " ((declare () vec4 t)\n"
3125 " (assign (constant bool (1)) (swiz x (var_ref t)) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge))))\n"
3126 " (assign (constant bool (1)) (swiz y (var_ref t)) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge))))\n"
3127 " (assign (constant bool (1)) (swiz z (var_ref t)) (expression float b2f (expression bool >= (swiz z (var_ref x))(var_ref edge))))\n"
3128 " (assign (constant bool (1)) (swiz w (var_ref t)) (expression float b2f (expression bool >= (swiz w (var_ref x))(var_ref edge))))\n"
3129 " (return (var_ref t))))\n"
3131 " (signature vec2\n"
3133 " (declare (in) vec2 edge)\n"
3134 " (declare (in) vec2 x))\n"
3135 " ((declare () vec2 t)\n"
3136 " (assign (constant bool (1)) (swiz x (var_ref t)) (expression float b2f (expression bool >= (swiz x (var_ref x))(swiz x (var_ref edge)))))\n"
3137 " (assign (constant bool (1)) (swiz y (var_ref t)) (expression float b2f (expression bool >= (swiz y (var_ref x))(swiz y (var_ref edge)))))\n"
3138 " (return (var_ref t))))\n"
3140 " (signature vec3\n"
3142 " (declare (in) vec3 edge)\n"
3143 " (declare (in) vec3 x))\n"
3144 " ((declare () vec3 t)\n"
3145 " (assign (constant bool (1)) (swiz x (var_ref t)) (expression float b2f (expression bool >= (swiz x (var_ref x))(swiz x (var_ref edge)))))\n"
3146 " (assign (constant bool (1)) (swiz y (var_ref t)) (expression float b2f (expression bool >= (swiz y (var_ref x))(swiz y (var_ref edge)))))\n"
3147 " (assign (constant bool (1)) (swiz z (var_ref t)) (expression float b2f (expression bool >= (swiz z (var_ref x))(swiz z (var_ref edge)))))\n"
3148 " (return (var_ref t))))\n"
3150 " (signature vec4\n"
3152 " (declare (in) vec4 edge)\n"
3153 " (declare (in) vec4 x))\n"
3154 " ((declare () vec4 t)\n"
3155 " (assign (constant bool (1)) (swiz x (var_ref t)) (expression float b2f (expression bool >= (swiz x (var_ref x))(swiz x (var_ref edge)))))\n"
3156 " (assign (constant bool (1)) (swiz y (var_ref t)) (expression float b2f (expression bool >= (swiz y (var_ref x))(swiz y (var_ref edge)))))\n"
3157 " (assign (constant bool (1)) (swiz z (var_ref t)) (expression float b2f (expression bool >= (swiz y (var_ref x))(swiz z (var_ref edge)))))\n"
3158 " (assign (constant bool (1)) (swiz w (var_ref t)) (expression float b2f (expression bool >= (swiz w (var_ref x))(swiz w (var_ref edge)))))\n"
3159 " (return (var_ref t))))\n"
3164 static const char *builtin_tan
=
3166 " (signature float\n"
3168 " (declare (in) float angle))\n"
3169 " ((return (expression float / (expression float sin (var_ref angle)) (expression float cos (var_ref angle))))))\n"
3171 " (signature vec2\n"
3173 " (declare (in) vec2 angle))\n"
3174 " ((return (expression vec2 / (expression vec2 sin (var_ref angle)) (expression vec2 cos (var_ref angle))))))\n"
3176 " (signature vec3\n"
3178 " (declare (in) vec3 angle))\n"
3179 " ((return (expression vec3 / (expression vec3 sin (var_ref angle)) (expression vec3 cos (var_ref angle))))))\n"
3181 " (signature vec4\n"
3183 " (declare (in) vec4 angle))\n"
3184 " ((return (expression vec4 / (expression vec4 sin (var_ref angle)) (expression vec4 cos (var_ref angle))))))\n"
3188 static const char *builtin_tanh
=
3190 " (signature float\n"
3192 " (declare (in) float x))\n"
3193 " ((return (expression float /\n"
3194 " (expression float -\n"
3195 " (expression float exp (var_ref x))\n"
3196 " (expression float exp (expression float neg (var_ref x))))\n"
3197 " (expression float +\n"
3198 " (expression float exp (var_ref x))\n"
3199 " (expression float exp (expression float neg (var_ref x))))))))\n"
3200 " (signature vec2\n"
3202 " (declare (in) vec2 x))\n"
3203 " ((return (expression vec2 /\n"
3204 " (expression vec2 -\n"
3205 " (expression vec2 exp (var_ref x))\n"
3206 " (expression vec2 exp (expression vec2 neg (var_ref x))))\n"
3207 " (expression vec2 +\n"
3208 " (expression vec2 exp (var_ref x))\n"
3209 " (expression vec2 exp (expression vec2 neg (var_ref x))))))))\n"
3210 " (signature vec3\n"
3212 " (declare (in) vec3 x))\n"
3213 " ((return (expression vec3 /\n"
3214 " (expression vec3 -\n"
3215 " (expression vec3 exp (var_ref x))\n"
3216 " (expression vec3 exp (expression vec3 neg (var_ref x))))\n"
3217 " (expression vec3 +\n"
3218 " (expression vec3 exp (var_ref x))\n"
3219 " (expression vec3 exp (expression vec3 neg (var_ref x))))))))\n"
3220 " (signature vec4\n"
3222 " (declare (in) vec4 x))\n"
3223 " ((return (expression vec4 /\n"
3224 " (expression vec4 -\n"
3225 " (expression vec4 exp (var_ref x))\n"
3226 " (expression vec4 exp (expression vec4 neg (var_ref x))))\n"
3227 " (expression vec4 +\n"
3228 " (expression vec4 exp (var_ref x))\n"
3229 " (expression vec4 exp (expression vec4 neg (var_ref x))))))))\n"
3233 static const char *builtin_texelFetch
=
3234 "((function texelFetch\n"
3235 " (signature vec4\n"
3237 " (declare (in) sampler1D sampler)\n"
3238 " (declare (in) int P) \n"
3239 " (declare (in) int lod) )\n"
3240 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3242 " (signature ivec4\n"
3244 " (declare (in) isampler1D sampler)\n"
3245 " (declare (in) int P) \n"
3246 " (declare (in) int lod) )\n"
3247 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3249 " (signature uvec4\n"
3251 " (declare (in) usampler1D sampler)\n"
3252 " (declare (in) int P) \n"
3253 " (declare (in) int lod) )\n"
3254 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3256 " (signature vec4\n"
3258 " (declare (in) sampler2D sampler)\n"
3259 " (declare (in) ivec2 P) \n"
3260 " (declare (in) int lod) )\n"
3261 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3263 " (signature ivec4\n"
3265 " (declare (in) isampler2D sampler)\n"
3266 " (declare (in) ivec2 P) \n"
3267 " (declare (in) int lod) )\n"
3268 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3270 " (signature uvec4\n"
3272 " (declare (in) usampler2D sampler)\n"
3273 " (declare (in) ivec2 P) \n"
3274 " (declare (in) int lod) )\n"
3275 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3277 " (signature vec4\n"
3279 " (declare (in) sampler3D sampler)\n"
3280 " (declare (in) ivec3 P) \n"
3281 " (declare (in) int lod) )\n"
3282 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3284 " (signature ivec4\n"
3286 " (declare (in) isampler3D sampler)\n"
3287 " (declare (in) ivec3 P) \n"
3288 " (declare (in) int lod) )\n"
3289 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3291 " (signature uvec4\n"
3293 " (declare (in) usampler3D sampler)\n"
3294 " (declare (in) ivec3 P) \n"
3295 " (declare (in) int lod) )\n"
3296 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3298 " (signature vec4\n"
3300 " (declare (in) sampler1DArray sampler)\n"
3301 " (declare (in) ivec2 P) \n"
3302 " (declare (in) int lod) )\n"
3303 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3305 " (signature ivec4\n"
3307 " (declare (in) isampler1DArray sampler)\n"
3308 " (declare (in) ivec2 P) \n"
3309 " (declare (in) int lod) )\n"
3310 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3312 " (signature uvec4\n"
3314 " (declare (in) usampler1DArray sampler)\n"
3315 " (declare (in) ivec2 P) \n"
3316 " (declare (in) int lod) )\n"
3317 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3319 " (signature vec4\n"
3321 " (declare (in) sampler2DArray sampler)\n"
3322 " (declare (in) ivec3 P) \n"
3323 " (declare (in) int lod) )\n"
3324 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3326 " (signature ivec4\n"
3328 " (declare (in) isampler2DArray sampler)\n"
3329 " (declare (in) ivec3 P) \n"
3330 " (declare (in) int lod) )\n"
3331 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3333 " (signature uvec4\n"
3335 " (declare (in) usampler2DArray sampler)\n"
3336 " (declare (in) ivec3 P) \n"
3337 " (declare (in) int lod) )\n"
3338 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3343 static const char *builtin_texture
=
3344 "((function texture\n"
3345 " (signature vec4\n"
3347 " (declare (in) sampler1D sampler)\n"
3348 " (declare (in) float P) )\n"
3349 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3351 " (signature ivec4\n"
3353 " (declare (in) isampler1D sampler)\n"
3354 " (declare (in) float P) )\n"
3355 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3357 " (signature uvec4\n"
3359 " (declare (in) usampler1D sampler)\n"
3360 " (declare (in) float P) )\n"
3361 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3363 " (signature vec4\n"
3365 " (declare (in) sampler2D sampler)\n"
3366 " (declare (in) vec2 P) )\n"
3367 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3369 " (signature ivec4\n"
3371 " (declare (in) isampler2D sampler)\n"
3372 " (declare (in) vec2 P) )\n"
3373 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3375 " (signature uvec4\n"
3377 " (declare (in) usampler2D sampler)\n"
3378 " (declare (in) vec2 P) )\n"
3379 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3381 " (signature vec4\n"
3383 " (declare (in) sampler3D sampler)\n"
3384 " (declare (in) vec3 P) )\n"
3385 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3387 " (signature ivec4\n"
3389 " (declare (in) isampler3D sampler)\n"
3390 " (declare (in) vec3 P) )\n"
3391 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3393 " (signature uvec4\n"
3395 " (declare (in) usampler3D sampler)\n"
3396 " (declare (in) vec3 P) )\n"
3397 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3399 " (signature vec4\n"
3401 " (declare (in) samplerCube sampler)\n"
3402 " (declare (in) vec3 P) )\n"
3403 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3405 " (signature ivec4\n"
3407 " (declare (in) isamplerCube sampler)\n"
3408 " (declare (in) vec3 P) )\n"
3409 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3411 " (signature uvec4\n"
3413 " (declare (in) usamplerCube sampler)\n"
3414 " (declare (in) vec3 P) )\n"
3415 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3417 " (signature vec4\n"
3419 " (declare (in) sampler1DArray sampler)\n"
3420 " (declare (in) vec2 P) )\n"
3421 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3423 " (signature ivec4\n"
3425 " (declare (in) isampler1DArray sampler)\n"
3426 " (declare (in) vec2 P) )\n"
3427 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3429 " (signature uvec4\n"
3431 " (declare (in) usampler1DArray sampler)\n"
3432 " (declare (in) vec2 P) )\n"
3433 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3435 " (signature vec4\n"
3437 " (declare (in) sampler2DArray sampler)\n"
3438 " (declare (in) vec3 P) )\n"
3439 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3441 " (signature ivec4\n"
3443 " (declare (in) isampler2DArray sampler)\n"
3444 " (declare (in) vec3 P) )\n"
3445 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3447 " (signature uvec4\n"
3449 " (declare (in) usampler2DArray sampler)\n"
3450 " (declare (in) vec3 P) )\n"
3451 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3453 " (signature vec4\n"
3455 " (declare (in) sampler1D sampler)\n"
3456 " (declare (in) float P) \n"
3457 " (declare (in) float bias) )\n"
3458 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3460 " (signature ivec4\n"
3462 " (declare (in) isampler1D sampler)\n"
3463 " (declare (in) float P) \n"
3464 " (declare (in) float bias) )\n"
3465 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3467 " (signature uvec4\n"
3469 " (declare (in) usampler1D sampler)\n"
3470 " (declare (in) float P) \n"
3471 " (declare (in) float bias) )\n"
3472 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3474 " (signature vec4\n"
3476 " (declare (in) sampler2D sampler)\n"
3477 " (declare (in) vec2 P) \n"
3478 " (declare (in) float bias) )\n"
3479 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3481 " (signature ivec4\n"
3483 " (declare (in) isampler2D sampler)\n"
3484 " (declare (in) vec2 P) \n"
3485 " (declare (in) float bias) )\n"
3486 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3488 " (signature uvec4\n"
3490 " (declare (in) usampler2D sampler)\n"
3491 " (declare (in) vec2 P) \n"
3492 " (declare (in) float bias) )\n"
3493 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3495 " (signature vec4\n"
3497 " (declare (in) sampler3D sampler)\n"
3498 " (declare (in) vec3 P) \n"
3499 " (declare (in) float bias) )\n"
3500 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3502 " (signature ivec4\n"
3504 " (declare (in) isampler3D sampler)\n"
3505 " (declare (in) vec3 P) \n"
3506 " (declare (in) float bias) )\n"
3507 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3509 " (signature uvec4\n"
3511 " (declare (in) usampler3D sampler)\n"
3512 " (declare (in) vec3 P) \n"
3513 " (declare (in) float bias) )\n"
3514 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3516 " (signature vec4\n"
3518 " (declare (in) samplerCube sampler)\n"
3519 " (declare (in) vec3 P) \n"
3520 " (declare (in) float bias) )\n"
3521 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3523 " (signature ivec4\n"
3525 " (declare (in) isamplerCube sampler)\n"
3526 " (declare (in) vec3 P) \n"
3527 " (declare (in) float bias) )\n"
3528 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3530 " (signature uvec4\n"
3532 " (declare (in) usamplerCube sampler)\n"
3533 " (declare (in) vec3 P) \n"
3534 " (declare (in) float bias) )\n"
3535 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3537 " (signature vec4\n"
3539 " (declare (in) sampler1DArray sampler)\n"
3540 " (declare (in) vec2 P) \n"
3541 " (declare (in) float bias) )\n"
3542 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3544 " (signature ivec4\n"
3546 " (declare (in) isampler1DArray sampler)\n"
3547 " (declare (in) vec2 P) \n"
3548 " (declare (in) float bias) )\n"
3549 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3551 " (signature uvec4\n"
3553 " (declare (in) usampler1DArray sampler)\n"
3554 " (declare (in) vec2 P) \n"
3555 " (declare (in) float bias) )\n"
3556 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3558 " (signature vec4\n"
3560 " (declare (in) sampler2DArray sampler)\n"
3561 " (declare (in) vec3 P) \n"
3562 " (declare (in) float bias) )\n"
3563 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3565 " (signature ivec4\n"
3567 " (declare (in) isampler2DArray sampler)\n"
3568 " (declare (in) vec3 P) \n"
3569 " (declare (in) float bias) )\n"
3570 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3572 " (signature uvec4\n"
3574 " (declare (in) usampler2DArray sampler)\n"
3575 " (declare (in) vec3 P) \n"
3576 " (declare (in) float bias) )\n"
3577 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3582 static const char *builtin_texture1D
=
3583 "((function texture1D\n"
3584 " (signature vec4\n"
3586 " (declare (in) sampler1D sampler)\n"
3587 " (declare (in) float P) )\n"
3588 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3590 " (signature vec4\n"
3592 " (declare (in) sampler1D sampler)\n"
3593 " (declare (in) float P) \n"
3594 " (declare (in) float bias) )\n"
3595 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3600 static const char *builtin_texture1DArray
=
3601 "((function texture1DArray\n"
3602 " (signature vec4\n"
3604 " (declare (in) sampler1DArray sampler)\n"
3605 " (declare (in) vec2 P) )\n"
3606 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3608 " (signature vec4\n"
3610 " (declare (in) sampler1DArray sampler)\n"
3611 " (declare (in) vec2 P) \n"
3612 " (declare (in) float bias) )\n"
3613 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3618 static const char *builtin_texture1DArrayLod
=
3619 "((function texture1DArrayLod\n"
3620 " (signature vec4\n"
3622 " (declare (in) sampler1DArray sampler)\n"
3623 " (declare (in) vec2 P) \n"
3624 " (declare (in) float lod) )\n"
3625 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3630 static const char *builtin_texture1DLod
=
3631 "((function texture1DLod\n"
3632 " (signature vec4\n"
3634 " (declare (in) sampler1D sampler)\n"
3635 " (declare (in) float P) \n"
3636 " (declare (in) float lod) )\n"
3637 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3642 static const char *builtin_texture1DProj
=
3643 "((function texture1DProj\n"
3644 " (signature vec4\n"
3646 " (declare (in) sampler1D sampler)\n"
3647 " (declare (in) vec2 P) )\n"
3648 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ))))\n"
3650 " (signature vec4\n"
3652 " (declare (in) sampler1D sampler)\n"
3653 " (declare (in) vec4 P) )\n"
3654 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
3656 " (signature vec4\n"
3658 " (declare (in) sampler1D sampler)\n"
3659 " (declare (in) vec2 P) \n"
3660 " (declare (in) float bias) )\n"
3661 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
3663 " (signature vec4\n"
3665 " (declare (in) sampler1D sampler)\n"
3666 " (declare (in) vec4 P) \n"
3667 " (declare (in) float bias) )\n"
3668 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
3673 static const char *builtin_texture1DProjLod
=
3674 "((function texture1DProjLod\n"
3675 " (signature vec4\n"
3677 " (declare (in) sampler1D sampler)\n"
3678 " (declare (in) vec2 P) \n"
3679 " (declare (in) float lod) )\n"
3680 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
3682 " (signature vec4\n"
3684 " (declare (in) sampler1D sampler)\n"
3685 " (declare (in) vec4 P) \n"
3686 " (declare (in) float lod) )\n"
3687 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
3692 static const char *builtin_texture2D
=
3693 "((function texture2D\n"
3694 " (signature vec4\n"
3696 " (declare (in) sampler2D sampler)\n"
3697 " (declare (in) vec2 P) )\n"
3698 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3700 " (signature vec4\n"
3702 " (declare (in) sampler2D sampler)\n"
3703 " (declare (in) vec2 P) \n"
3704 " (declare (in) float bias) )\n"
3705 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3710 static const char *builtin_texture2DArray
=
3711 "((function texture2DArray\n"
3712 " (signature vec4\n"
3714 " (declare (in) sampler2DArray sampler)\n"
3715 " (declare (in) vec3 P) )\n"
3716 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3718 " (signature vec4\n"
3720 " (declare (in) sampler2DArray sampler)\n"
3721 " (declare (in) vec3 P) \n"
3722 " (declare (in) float bias) )\n"
3723 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3728 static const char *builtin_texture2DArrayLod
=
3729 "((function texture2DArrayLod\n"
3730 " (signature vec4\n"
3732 " (declare (in) sampler2DArray sampler)\n"
3733 " (declare (in) vec3 P) \n"
3734 " (declare (in) float lod) )\n"
3735 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3740 static const char *builtin_texture2DLod
=
3741 "((function texture2DLod\n"
3742 " (signature vec4\n"
3744 " (declare (in) sampler2D sampler)\n"
3745 " (declare (in) vec2 P) \n"
3746 " (declare (in) float lod) )\n"
3747 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3752 static const char *builtin_texture2DProj
=
3753 "((function texture2DProj\n"
3754 " (signature vec4\n"
3756 " (declare (in) sampler2D sampler)\n"
3757 " (declare (in) vec3 P) )\n"
3758 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
3760 " (signature vec4\n"
3762 " (declare (in) sampler2D sampler)\n"
3763 " (declare (in) vec4 P) )\n"
3764 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
3766 " (signature vec4\n"
3768 " (declare (in) sampler2D sampler)\n"
3769 " (declare (in) vec3 P) \n"
3770 " (declare (in) float bias) )\n"
3771 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
3773 " (signature vec4\n"
3775 " (declare (in) sampler2D sampler)\n"
3776 " (declare (in) vec4 P) \n"
3777 " (declare (in) float bias) )\n"
3778 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
3783 static const char *builtin_texture2DProjLod
=
3784 "((function texture2DProjLod\n"
3785 " (signature vec4\n"
3787 " (declare (in) sampler2D sampler)\n"
3788 " (declare (in) vec3 P) \n"
3789 " (declare (in) float lod) )\n"
3790 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
3792 " (signature vec4\n"
3794 " (declare (in) sampler2D sampler)\n"
3795 " (declare (in) vec4 P) \n"
3796 " (declare (in) float lod) )\n"
3797 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
3802 static const char *builtin_texture2DRect
=
3803 "((function texture2DRect\n"
3804 " (signature vec4\n"
3806 " (declare (in) sampler2DRect sampler)\n"
3807 " (declare (in) vec2 P) )\n"
3808 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3813 static const char *builtin_texture2DRectProj
=
3814 "((function texture2DRectProj\n"
3815 " (signature vec4\n"
3817 " (declare (in) sampler2DRect sampler)\n"
3818 " (declare (in) vec3 P) )\n"
3819 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
3821 " (signature vec4\n"
3823 " (declare (in) sampler2DRect sampler)\n"
3824 " (declare (in) vec4 P) )\n"
3825 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
3830 static const char *builtin_texture3D
=
3831 "((function texture3D\n"
3832 " (signature vec4\n"
3834 " (declare (in) sampler3D sampler)\n"
3835 " (declare (in) vec3 P) )\n"
3836 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3838 " (signature vec4\n"
3840 " (declare (in) sampler3D sampler)\n"
3841 " (declare (in) vec3 P) \n"
3842 " (declare (in) float bias) )\n"
3843 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3848 static const char *builtin_texture3DLod
=
3849 "((function texture3DLod\n"
3850 " (signature vec4\n"
3852 " (declare (in) sampler3D sampler)\n"
3853 " (declare (in) vec3 P) \n"
3854 " (declare (in) float lod) )\n"
3855 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3860 static const char *builtin_texture3DProj
=
3861 "((function texture3DProj\n"
3862 " (signature vec4\n"
3864 " (declare (in) sampler3D sampler)\n"
3865 " (declare (in) vec4 P) )\n"
3866 " ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
3868 " (signature vec4\n"
3870 " (declare (in) sampler3D sampler)\n"
3871 " (declare (in) vec4 P) \n"
3872 " (declare (in) float bias) )\n"
3873 " ((return (txb (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
3878 static const char *builtin_texture3DProjLod
=
3879 "((function texture3DProjLod\n"
3880 " (signature vec4\n"
3882 " (declare (in) sampler3D sampler)\n"
3883 " (declare (in) vec4 P) \n"
3884 " (declare (in) float lod) )\n"
3885 " ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
3890 static const char *builtin_textureCube
=
3891 "((function textureCube\n"
3892 " (signature vec4\n"
3894 " (declare (in) samplerCube sampler)\n"
3895 " (declare (in) vec3 P) )\n"
3896 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3898 " (signature vec4\n"
3900 " (declare (in) samplerCube sampler)\n"
3901 " (declare (in) vec3 P) \n"
3902 " (declare (in) float bias) )\n"
3903 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3908 static const char *builtin_textureCubeLod
=
3909 "((function textureCubeLod\n"
3910 " (signature vec4\n"
3912 " (declare (in) samplerCube sampler)\n"
3913 " (declare (in) vec3 P) \n"
3914 " (declare (in) float lod) )\n"
3915 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3920 static const char *builtin_textureGrad
=
3921 "((function textureGrad\n"
3922 " (signature vec4\n"
3924 " (declare (in) sampler1D sampler)\n"
3925 " (declare (in) float P) \n"
3926 " (declare (in) float dPdx) \n"
3927 " (declare (in) float dPdy) )\n"
3928 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3930 " (signature ivec4\n"
3932 " (declare (in) isampler1D sampler)\n"
3933 " (declare (in) float P) \n"
3934 " (declare (in) float dPdx) \n"
3935 " (declare (in) float dPdy) )\n"
3936 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3938 " (signature uvec4\n"
3940 " (declare (in) usampler1D sampler)\n"
3941 " (declare (in) float P) \n"
3942 " (declare (in) float dPdx) \n"
3943 " (declare (in) float dPdy) )\n"
3944 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3946 " (signature vec4\n"
3948 " (declare (in) sampler2D sampler)\n"
3949 " (declare (in) vec2 P) \n"
3950 " (declare (in) vec2 dPdx) \n"
3951 " (declare (in) vec2 dPdy) )\n"
3952 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3954 " (signature ivec4\n"
3956 " (declare (in) isampler2D sampler)\n"
3957 " (declare (in) vec2 P) \n"
3958 " (declare (in) vec2 dPdx) \n"
3959 " (declare (in) vec2 dPdy) )\n"
3960 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3962 " (signature uvec4\n"
3964 " (declare (in) usampler2D sampler)\n"
3965 " (declare (in) vec2 P) \n"
3966 " (declare (in) vec2 dPdx) \n"
3967 " (declare (in) vec2 dPdy) )\n"
3968 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3970 " (signature vec4\n"
3972 " (declare (in) sampler3D sampler)\n"
3973 " (declare (in) vec3 P) \n"
3974 " (declare (in) vec3 dPdx) \n"
3975 " (declare (in) vec3 dPdy) )\n"
3976 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3978 " (signature ivec4\n"
3980 " (declare (in) isampler3D sampler)\n"
3981 " (declare (in) vec3 P) \n"
3982 " (declare (in) vec3 dPdx) \n"
3983 " (declare (in) vec3 dPdy) )\n"
3984 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3986 " (signature uvec4\n"
3988 " (declare (in) usampler3D sampler)\n"
3989 " (declare (in) vec3 P) \n"
3990 " (declare (in) vec3 dPdx) \n"
3991 " (declare (in) vec3 dPdy) )\n"
3992 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3994 " (signature vec4\n"
3996 " (declare (in) samplerCube sampler)\n"
3997 " (declare (in) vec3 P) \n"
3998 " (declare (in) vec3 dPdx) \n"
3999 " (declare (in) vec3 dPdy) )\n"
4000 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4002 " (signature ivec4\n"
4004 " (declare (in) isamplerCube sampler)\n"
4005 " (declare (in) vec3 P) \n"
4006 " (declare (in) vec3 dPdx) \n"
4007 " (declare (in) vec3 dPdy) )\n"
4008 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4010 " (signature uvec4\n"
4012 " (declare (in) usamplerCube sampler)\n"
4013 " (declare (in) vec3 P) \n"
4014 " (declare (in) vec3 dPdx) \n"
4015 " (declare (in) vec3 dPdy) )\n"
4016 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4018 " (signature vec4\n"
4020 " (declare (in) sampler1DArray sampler)\n"
4021 " (declare (in) vec2 P) \n"
4022 " (declare (in) vec2 dPdx) \n"
4023 " (declare (in) vec2 dPdy) )\n"
4024 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4026 " (signature ivec4\n"
4028 " (declare (in) isampler1DArray sampler)\n"
4029 " (declare (in) vec2 P) \n"
4030 " (declare (in) vec2 dPdx) \n"
4031 " (declare (in) vec2 dPdy) )\n"
4032 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4034 " (signature uvec4\n"
4036 " (declare (in) usampler1DArray sampler)\n"
4037 " (declare (in) vec2 P) \n"
4038 " (declare (in) vec2 dPdx) \n"
4039 " (declare (in) vec2 dPdy) )\n"
4040 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4042 " (signature vec4\n"
4044 " (declare (in) sampler2DArray sampler)\n"
4045 " (declare (in) vec3 P) \n"
4046 " (declare (in) vec3 dPdx) \n"
4047 " (declare (in) vec3 dPdy) )\n"
4048 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4050 " (signature ivec4\n"
4052 " (declare (in) isampler2DArray sampler)\n"
4053 " (declare (in) vec3 P) \n"
4054 " (declare (in) vec3 dPdx) \n"
4055 " (declare (in) vec3 dPdy) )\n"
4056 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4058 " (signature uvec4\n"
4060 " (declare (in) usampler2DArray sampler)\n"
4061 " (declare (in) vec3 P) \n"
4062 " (declare (in) vec3 dPdx) \n"
4063 " (declare (in) vec3 dPdy) )\n"
4064 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4069 static const char *builtin_textureLod
=
4070 "((function textureLod\n"
4071 " (signature vec4\n"
4073 " (declare (in) sampler1D sampler)\n"
4074 " (declare (in) float P) \n"
4075 " (declare (in) float lod) )\n"
4076 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4078 " (signature ivec4\n"
4080 " (declare (in) isampler1D sampler)\n"
4081 " (declare (in) float P) \n"
4082 " (declare (in) float lod) )\n"
4083 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4085 " (signature uvec4\n"
4087 " (declare (in) usampler1D sampler)\n"
4088 " (declare (in) float P) \n"
4089 " (declare (in) float lod) )\n"
4090 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4092 " (signature vec4\n"
4094 " (declare (in) sampler2D sampler)\n"
4095 " (declare (in) vec2 P) \n"
4096 " (declare (in) float lod) )\n"
4097 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4099 " (signature ivec4\n"
4101 " (declare (in) isampler2D sampler)\n"
4102 " (declare (in) vec2 P) \n"
4103 " (declare (in) float lod) )\n"
4104 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4106 " (signature uvec4\n"
4108 " (declare (in) usampler2D sampler)\n"
4109 " (declare (in) vec2 P) \n"
4110 " (declare (in) float lod) )\n"
4111 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4113 " (signature vec4\n"
4115 " (declare (in) sampler3D sampler)\n"
4116 " (declare (in) vec3 P) \n"
4117 " (declare (in) float lod) )\n"
4118 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4120 " (signature ivec4\n"
4122 " (declare (in) isampler3D sampler)\n"
4123 " (declare (in) vec3 P) \n"
4124 " (declare (in) float lod) )\n"
4125 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4127 " (signature uvec4\n"
4129 " (declare (in) usampler3D sampler)\n"
4130 " (declare (in) vec3 P) \n"
4131 " (declare (in) float lod) )\n"
4132 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4134 " (signature vec4\n"
4136 " (declare (in) samplerCube sampler)\n"
4137 " (declare (in) vec3 P) \n"
4138 " (declare (in) float lod) )\n"
4139 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4141 " (signature ivec4\n"
4143 " (declare (in) isamplerCube sampler)\n"
4144 " (declare (in) vec3 P) \n"
4145 " (declare (in) float lod) )\n"
4146 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4148 " (signature uvec4\n"
4150 " (declare (in) usamplerCube sampler)\n"
4151 " (declare (in) vec3 P) \n"
4152 " (declare (in) float lod) )\n"
4153 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4155 " (signature vec4\n"
4157 " (declare (in) sampler1DArray sampler)\n"
4158 " (declare (in) vec2 P) \n"
4159 " (declare (in) float lod) )\n"
4160 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4162 " (signature ivec4\n"
4164 " (declare (in) isampler1DArray sampler)\n"
4165 " (declare (in) vec2 P) \n"
4166 " (declare (in) float lod) )\n"
4167 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4169 " (signature uvec4\n"
4171 " (declare (in) usampler1DArray sampler)\n"
4172 " (declare (in) vec2 P) \n"
4173 " (declare (in) float lod) )\n"
4174 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4176 " (signature vec4\n"
4178 " (declare (in) sampler2DArray sampler)\n"
4179 " (declare (in) vec3 P) \n"
4180 " (declare (in) float lod) )\n"
4181 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4183 " (signature ivec4\n"
4185 " (declare (in) isampler2DArray sampler)\n"
4186 " (declare (in) vec3 P) \n"
4187 " (declare (in) float lod) )\n"
4188 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4190 " (signature uvec4\n"
4192 " (declare (in) usampler2DArray sampler)\n"
4193 " (declare (in) vec3 P) \n"
4194 " (declare (in) float lod) )\n"
4195 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4200 static const char *builtin_textureProj
=
4201 "((function textureProj\n"
4202 " (signature vec4\n"
4204 " (declare (in) sampler1D sampler)\n"
4205 " (declare (in) vec2 P) )\n"
4206 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ))))\n"
4208 " (signature ivec4\n"
4210 " (declare (in) isampler1D sampler)\n"
4211 " (declare (in) vec2 P) )\n"
4212 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ))))\n"
4214 " (signature uvec4\n"
4216 " (declare (in) usampler1D sampler)\n"
4217 " (declare (in) vec2 P) )\n"
4218 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ))))\n"
4220 " (signature vec4\n"
4222 " (declare (in) sampler1D sampler)\n"
4223 " (declare (in) vec4 P) )\n"
4224 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4226 " (signature ivec4\n"
4228 " (declare (in) isampler1D sampler)\n"
4229 " (declare (in) vec4 P) )\n"
4230 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4232 " (signature uvec4\n"
4234 " (declare (in) usampler1D sampler)\n"
4235 " (declare (in) vec4 P) )\n"
4236 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4238 " (signature vec4\n"
4240 " (declare (in) sampler2D sampler)\n"
4241 " (declare (in) vec3 P) )\n"
4242 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
4244 " (signature ivec4\n"
4246 " (declare (in) isampler2D sampler)\n"
4247 " (declare (in) vec3 P) )\n"
4248 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
4250 " (signature uvec4\n"
4252 " (declare (in) usampler2D sampler)\n"
4253 " (declare (in) vec3 P) )\n"
4254 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
4256 " (signature vec4\n"
4258 " (declare (in) sampler2D sampler)\n"
4259 " (declare (in) vec4 P) )\n"
4260 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4262 " (signature ivec4\n"
4264 " (declare (in) isampler2D sampler)\n"
4265 " (declare (in) vec4 P) )\n"
4266 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4268 " (signature uvec4\n"
4270 " (declare (in) usampler2D sampler)\n"
4271 " (declare (in) vec4 P) )\n"
4272 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4274 " (signature vec4\n"
4276 " (declare (in) sampler3D sampler)\n"
4277 " (declare (in) vec4 P) )\n"
4278 " ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4280 " (signature ivec4\n"
4282 " (declare (in) isampler3D sampler)\n"
4283 " (declare (in) vec4 P) )\n"
4284 " ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4286 " (signature uvec4\n"
4288 " (declare (in) usampler3D sampler)\n"
4289 " (declare (in) vec4 P) )\n"
4290 " ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4292 " (signature vec4\n"
4294 " (declare (in) sampler1D sampler)\n"
4295 " (declare (in) vec2 P) \n"
4296 " (declare (in) float bias) )\n"
4297 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
4299 " (signature ivec4\n"
4301 " (declare (in) isampler1D sampler)\n"
4302 " (declare (in) vec2 P) \n"
4303 " (declare (in) float bias) )\n"
4304 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
4306 " (signature uvec4\n"
4308 " (declare (in) usampler1D sampler)\n"
4309 " (declare (in) vec2 P) \n"
4310 " (declare (in) float bias) )\n"
4311 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
4313 " (signature vec4\n"
4315 " (declare (in) sampler1D sampler)\n"
4316 " (declare (in) vec4 P) \n"
4317 " (declare (in) float bias) )\n"
4318 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4320 " (signature ivec4\n"
4322 " (declare (in) isampler1D sampler)\n"
4323 " (declare (in) vec4 P) \n"
4324 " (declare (in) float bias) )\n"
4325 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4327 " (signature uvec4\n"
4329 " (declare (in) usampler1D sampler)\n"
4330 " (declare (in) vec4 P) \n"
4331 " (declare (in) float bias) )\n"
4332 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4334 " (signature vec4\n"
4336 " (declare (in) sampler2D sampler)\n"
4337 " (declare (in) vec3 P) \n"
4338 " (declare (in) float bias) )\n"
4339 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
4341 " (signature ivec4\n"
4343 " (declare (in) isampler2D sampler)\n"
4344 " (declare (in) vec3 P) \n"
4345 " (declare (in) float bias) )\n"
4346 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
4348 " (signature uvec4\n"
4350 " (declare (in) usampler2D sampler)\n"
4351 " (declare (in) vec3 P) \n"
4352 " (declare (in) float bias) )\n"
4353 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
4355 " (signature vec4\n"
4357 " (declare (in) sampler2D sampler)\n"
4358 " (declare (in) vec4 P) \n"
4359 " (declare (in) float bias) )\n"
4360 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4362 " (signature ivec4\n"
4364 " (declare (in) isampler2D sampler)\n"
4365 " (declare (in) vec4 P) \n"
4366 " (declare (in) float bias) )\n"
4367 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4369 " (signature uvec4\n"
4371 " (declare (in) usampler2D sampler)\n"
4372 " (declare (in) vec4 P) \n"
4373 " (declare (in) float bias) )\n"
4374 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4376 " (signature vec4\n"
4378 " (declare (in) sampler3D sampler)\n"
4379 " (declare (in) vec4 P) \n"
4380 " (declare (in) float bias) )\n"
4381 " ((return (txb (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4383 " (signature ivec4\n"
4385 " (declare (in) isampler3D sampler)\n"
4386 " (declare (in) vec4 P) \n"
4387 " (declare (in) float bias) )\n"
4388 " ((return (txb (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4390 " (signature uvec4\n"
4392 " (declare (in) usampler3D sampler)\n"
4393 " (declare (in) vec4 P) \n"
4394 " (declare (in) float bias) )\n"
4395 " ((return (txb (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4400 static const char *builtin_textureProjGrad
=
4401 "((function textureProjGrad\n"
4402 " (signature vec4\n"
4404 " (declare (in) sampler1D sampler)\n"
4405 " (declare (in) vec2 P) \n"
4406 " (declare (in) float dPdx) \n"
4407 " (declare (in) float dPdy) )\n"
4408 " ((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"
4410 " (signature ivec4\n"
4412 " (declare (in) isampler1D sampler)\n"
4413 " (declare (in) vec2 P) \n"
4414 " (declare (in) float dPdx) \n"
4415 " (declare (in) float dPdy) )\n"
4416 " ((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"
4418 " (signature uvec4\n"
4420 " (declare (in) usampler1D sampler)\n"
4421 " (declare (in) vec2 P) \n"
4422 " (declare (in) float dPdx) \n"
4423 " (declare (in) float dPdy) )\n"
4424 " ((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"
4426 " (signature vec4\n"
4428 " (declare (in) sampler1D sampler)\n"
4429 " (declare (in) vec4 P) \n"
4430 " (declare (in) float dPdx) \n"
4431 " (declare (in) float dPdy) )\n"
4432 " ((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"
4434 " (signature ivec4\n"
4436 " (declare (in) isampler1D sampler)\n"
4437 " (declare (in) vec4 P) \n"
4438 " (declare (in) float dPdx) \n"
4439 " (declare (in) float dPdy) )\n"
4440 " ((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"
4442 " (signature uvec4\n"
4444 " (declare (in) usampler1D sampler)\n"
4445 " (declare (in) vec4 P) \n"
4446 " (declare (in) float dPdx) \n"
4447 " (declare (in) float dPdy) )\n"
4448 " ((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"
4450 " (signature vec4\n"
4452 " (declare (in) sampler2D sampler)\n"
4453 " (declare (in) vec3 P) \n"
4454 " (declare (in) vec2 dPdx) \n"
4455 " (declare (in) vec2 dPdy) )\n"
4456 " ((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"
4458 " (signature ivec4\n"
4460 " (declare (in) isampler2D sampler)\n"
4461 " (declare (in) vec3 P) \n"
4462 " (declare (in) vec2 dPdx) \n"
4463 " (declare (in) vec2 dPdy) )\n"
4464 " ((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"
4466 " (signature uvec4\n"
4468 " (declare (in) usampler2D sampler)\n"
4469 " (declare (in) vec3 P) \n"
4470 " (declare (in) vec2 dPdx) \n"
4471 " (declare (in) vec2 dPdy) )\n"
4472 " ((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"
4474 " (signature vec4\n"
4476 " (declare (in) sampler2D sampler)\n"
4477 " (declare (in) vec4 P) \n"
4478 " (declare (in) vec2 dPdx) \n"
4479 " (declare (in) vec2 dPdy) )\n"
4480 " ((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"
4482 " (signature ivec4\n"
4484 " (declare (in) isampler2D sampler)\n"
4485 " (declare (in) vec4 P) \n"
4486 " (declare (in) vec2 dPdx) \n"
4487 " (declare (in) vec2 dPdy) )\n"
4488 " ((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"
4490 " (signature uvec4\n"
4492 " (declare (in) usampler2D sampler)\n"
4493 " (declare (in) vec4 P) \n"
4494 " (declare (in) vec2 dPdx) \n"
4495 " (declare (in) vec2 dPdy) )\n"
4496 " ((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"
4498 " (signature vec4\n"
4500 " (declare (in) sampler3D sampler)\n"
4501 " (declare (in) vec4 P) \n"
4502 " (declare (in) vec3 dPdx) \n"
4503 " (declare (in) vec3 dPdy) )\n"
4504 " ((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"
4506 " (signature ivec4\n"
4508 " (declare (in) isampler3D sampler)\n"
4509 " (declare (in) vec4 P) \n"
4510 " (declare (in) vec3 dPdx) \n"
4511 " (declare (in) vec3 dPdy) )\n"
4512 " ((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"
4514 " (signature uvec4\n"
4516 " (declare (in) usampler3D sampler)\n"
4517 " (declare (in) vec4 P) \n"
4518 " (declare (in) vec3 dPdx) \n"
4519 " (declare (in) vec3 dPdy) )\n"
4520 " ((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"
4525 static const char *builtin_textureProjLod
=
4526 "((function textureProjLod\n"
4527 " (signature vec4\n"
4529 " (declare (in) sampler1D sampler)\n"
4530 " (declare (in) vec2 P) \n"
4531 " (declare (in) float lod) )\n"
4532 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
4534 " (signature ivec4\n"
4536 " (declare (in) isampler1D sampler)\n"
4537 " (declare (in) vec2 P) \n"
4538 " (declare (in) float lod) )\n"
4539 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
4541 " (signature uvec4\n"
4543 " (declare (in) usampler1D sampler)\n"
4544 " (declare (in) vec2 P) \n"
4545 " (declare (in) float lod) )\n"
4546 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
4548 " (signature vec4\n"
4550 " (declare (in) sampler1D sampler)\n"
4551 " (declare (in) vec4 P) \n"
4552 " (declare (in) float lod) )\n"
4553 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4555 " (signature ivec4\n"
4557 " (declare (in) isampler1D sampler)\n"
4558 " (declare (in) vec4 P) \n"
4559 " (declare (in) float lod) )\n"
4560 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4562 " (signature uvec4\n"
4564 " (declare (in) usampler1D sampler)\n"
4565 " (declare (in) vec4 P) \n"
4566 " (declare (in) float lod) )\n"
4567 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4569 " (signature vec4\n"
4571 " (declare (in) sampler2D sampler)\n"
4572 " (declare (in) vec3 P) \n"
4573 " (declare (in) float lod) )\n"
4574 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
4576 " (signature ivec4\n"
4578 " (declare (in) isampler2D sampler)\n"
4579 " (declare (in) vec3 P) \n"
4580 " (declare (in) float lod) )\n"
4581 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
4583 " (signature uvec4\n"
4585 " (declare (in) usampler2D sampler)\n"
4586 " (declare (in) vec3 P) \n"
4587 " (declare (in) float lod) )\n"
4588 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
4590 " (signature vec4\n"
4592 " (declare (in) sampler2D sampler)\n"
4593 " (declare (in) vec4 P) \n"
4594 " (declare (in) float lod) )\n"
4595 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4597 " (signature ivec4\n"
4599 " (declare (in) isampler2D sampler)\n"
4600 " (declare (in) vec4 P) \n"
4601 " (declare (in) float lod) )\n"
4602 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4604 " (signature uvec4\n"
4606 " (declare (in) usampler2D sampler)\n"
4607 " (declare (in) vec4 P) \n"
4608 " (declare (in) float lod) )\n"
4609 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4611 " (signature vec4\n"
4613 " (declare (in) sampler3D sampler)\n"
4614 " (declare (in) vec4 P) \n"
4615 " (declare (in) float lod) )\n"
4616 " ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4618 " (signature ivec4\n"
4620 " (declare (in) isampler3D sampler)\n"
4621 " (declare (in) vec4 P) \n"
4622 " (declare (in) float lod) )\n"
4623 " ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4625 " (signature uvec4\n"
4627 " (declare (in) usampler3D sampler)\n"
4628 " (declare (in) vec4 P) \n"
4629 " (declare (in) float lod) )\n"
4630 " ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4635 static const char *builtin_transpose
=
4636 "((function transpose\n"
4637 " (signature mat2\n"
4639 " (declare (in) mat2 m))\n"
4640 " ((declare () mat2 t)\n"
4641 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (0))))) \n"
4642 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (0))))) \n"
4643 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (1))))) \n"
4644 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (1))))) \n"
4645 "(return (var_ref t))))\n"
4647 " (signature mat3x2\n"
4649 " (declare (in) mat2x3 m))\n"
4650 " ((declare () mat3x2 t)\n"
4651 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (0))))) \n"
4652 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (0))))) \n"
4653 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (2)))) (swiz z (array_ref (var_ref m) (constant int (0))))) \n"
4654 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (1))))) \n"
4655 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (1))))) \n"
4656 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (2)))) (swiz z (array_ref (var_ref m) (constant int (1))))) \n"
4657 "(return (var_ref t))))\n"
4659 " (signature mat4x2\n"
4661 " (declare (in) mat2x4 m))\n"
4662 " ((declare () mat4x2 t)\n"
4663 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (0))))) \n"
4664 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (0))))) \n"
4665 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (2)))) (swiz z (array_ref (var_ref m) (constant int (0))))) \n"
4666 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (3)))) (swiz w (array_ref (var_ref m) (constant int (0))))) \n"
4667 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (1))))) \n"
4668 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (1))))) \n"
4669 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (2)))) (swiz z (array_ref (var_ref m) (constant int (1))))) \n"
4670 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (3)))) (swiz w (array_ref (var_ref m) (constant int (1))))) \n"
4671 "(return (var_ref t))))\n"
4673 " (signature mat2x3\n"
4675 " (declare (in) mat3x2 m))\n"
4676 " ((declare () mat2x3 t)\n"
4677 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (0))))) \n"
4678 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (0))))) \n"
4679 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (1))))) \n"
4680 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (1))))) \n"
4681 " (assign (constant bool (1)) (swiz z (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (2))))) \n"
4682 " (assign (constant bool (1)) (swiz z (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (2))))) \n"
4683 "(return (var_ref t))))\n"
4685 " (signature mat3\n"
4687 " (declare (in) mat3 m))\n"
4688 " ((declare () mat3 t)\n"
4689 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (0))))) \n"
4690 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (0))))) \n"
4691 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (2)))) (swiz z (array_ref (var_ref m) (constant int (0))))) \n"
4692 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (1))))) \n"
4693 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (1))))) \n"
4694 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (2)))) (swiz z (array_ref (var_ref m) (constant int (1))))) \n"
4695 " (assign (constant bool (1)) (swiz z (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (2))))) \n"
4696 " (assign (constant bool (1)) (swiz z (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (2))))) \n"
4697 " (assign (constant bool (1)) (swiz z (array_ref (var_ref t) (constant int (2)))) (swiz z (array_ref (var_ref m) (constant int (2))))) \n"
4698 "(return (var_ref t))))\n"
4700 " (signature mat4x3\n"
4702 " (declare (in) mat3x4 m))\n"
4703 " ((declare () mat4x3 t)\n"
4704 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (0))))) \n"
4705 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (0))))) \n"
4706 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (2)))) (swiz z (array_ref (var_ref m) (constant int (0))))) \n"
4707 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (3)))) (swiz w (array_ref (var_ref m) (constant int (0))))) \n"
4708 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (1))))) \n"
4709 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (1))))) \n"
4710 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (2)))) (swiz z (array_ref (var_ref m) (constant int (1))))) \n"
4711 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (3)))) (swiz w (array_ref (var_ref m) (constant int (1))))) \n"
4712 " (assign (constant bool (1)) (swiz z (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (2))))) \n"
4713 " (assign (constant bool (1)) (swiz z (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (2))))) \n"
4714 " (assign (constant bool (1)) (swiz z (array_ref (var_ref t) (constant int (2)))) (swiz z (array_ref (var_ref m) (constant int (2))))) \n"
4715 " (assign (constant bool (1)) (swiz z (array_ref (var_ref t) (constant int (3)))) (swiz w (array_ref (var_ref m) (constant int (2))))) \n"
4716 "(return (var_ref t))))\n"
4718 " (signature mat2x4\n"
4720 " (declare (in) mat4x2 m))\n"
4721 " ((declare () mat2x4 t)\n"
4722 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (0))))) \n"
4723 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (0))))) \n"
4724 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (1))))) \n"
4725 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (1))))) \n"
4726 " (assign (constant bool (1)) (swiz z (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (2))))) \n"
4727 " (assign (constant bool (1)) (swiz z (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (2))))) \n"
4728 " (assign (constant bool (1)) (swiz w (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (3))))) \n"
4729 " (assign (constant bool (1)) (swiz w (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (3))))) \n"
4730 "(return (var_ref t))))\n"
4732 " (signature mat3x4\n"
4734 " (declare (in) mat4x3 m))\n"
4735 " ((declare () mat3x4 t)\n"
4736 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (0))))) \n"
4737 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (0))))) \n"
4738 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (2)))) (swiz z (array_ref (var_ref m) (constant int (0))))) \n"
4739 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (1))))) \n"
4740 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (1))))) \n"
4741 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (2)))) (swiz z (array_ref (var_ref m) (constant int (1))))) \n"
4742 " (assign (constant bool (1)) (swiz z (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (2))))) \n"
4743 " (assign (constant bool (1)) (swiz z (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (2))))) \n"
4744 " (assign (constant bool (1)) (swiz z (array_ref (var_ref t) (constant int (2)))) (swiz z (array_ref (var_ref m) (constant int (2))))) \n"
4745 " (assign (constant bool (1)) (swiz w (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (3))))) \n"
4746 " (assign (constant bool (1)) (swiz w (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (3))))) \n"
4747 " (assign (constant bool (1)) (swiz w (array_ref (var_ref t) (constant int (2)))) (swiz z (array_ref (var_ref m) (constant int (3))))) \n"
4748 "(return (var_ref t))))\n"
4750 " (signature mat4\n"
4752 " (declare (in) mat4 m))\n"
4753 " ((declare () mat4 t)\n"
4754 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (0))))) \n"
4755 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (0))))) \n"
4756 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (2)))) (swiz z (array_ref (var_ref m) (constant int (0))))) \n"
4757 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (3)))) (swiz w (array_ref (var_ref m) (constant int (0))))) \n"
4758 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (1))))) \n"
4759 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (1))))) \n"
4760 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (2)))) (swiz z (array_ref (var_ref m) (constant int (1))))) \n"
4761 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (3)))) (swiz w (array_ref (var_ref m) (constant int (1))))) \n"
4762 " (assign (constant bool (1)) (swiz z (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (2))))) \n"
4763 " (assign (constant bool (1)) (swiz z (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (2))))) \n"
4764 " (assign (constant bool (1)) (swiz z (array_ref (var_ref t) (constant int (2)))) (swiz z (array_ref (var_ref m) (constant int (2))))) \n"
4765 " (assign (constant bool (1)) (swiz z (array_ref (var_ref t) (constant int (3)))) (swiz w (array_ref (var_ref m) (constant int (2))))) \n"
4766 " (assign (constant bool (1)) (swiz w (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (3))))) \n"
4767 " (assign (constant bool (1)) (swiz w (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (3))))) \n"
4768 " (assign (constant bool (1)) (swiz w (array_ref (var_ref t) (constant int (2)))) (swiz z (array_ref (var_ref m) (constant int (3))))) \n"
4769 " (assign (constant bool (1)) (swiz w (array_ref (var_ref t) (constant int (3)))) (swiz w (array_ref (var_ref m) (constant int (3))))) \n"
4770 "(return (var_ref t))))\n"
4777 static const char *prototypes_for_110_frag
=
4779 "(function radians\n"
4780 " (signature float\n"
4782 " (declare (in) float degrees))\n"
4784 " (signature vec2\n"
4786 " (declare (in) vec2 degrees))\n"
4788 " (signature vec3\n"
4790 " (declare (in) vec3 degrees))\n"
4792 " (signature vec4\n"
4794 " (declare (in) vec4 degrees))\n"
4796 "(function degrees\n"
4797 " (signature float\n"
4799 " (declare (in) float radians))\n"
4801 " (signature vec2\n"
4803 " (declare (in) vec2 radians))\n"
4805 " (signature vec3\n"
4807 " (declare (in) vec3 radians))\n"
4809 " (signature vec4\n"
4811 " (declare (in) vec4 radians))\n"
4814 " (signature float\n"
4816 " (declare (in) float angle))\n"
4818 " (signature vec2\n"
4820 " (declare (in) vec2 angle))\n"
4822 " (signature vec3\n"
4824 " (declare (in) vec3 angle))\n"
4826 " (signature vec4\n"
4828 " (declare (in) vec4 angle))\n"
4831 " (signature float\n"
4833 " (declare (in) float angle))\n"
4835 " (signature vec2\n"
4837 " (declare (in) vec2 angle))\n"
4839 " (signature vec3\n"
4841 " (declare (in) vec3 angle))\n"
4843 " (signature vec4\n"
4845 " (declare (in) vec4 angle))\n"
4848 " (signature float\n"
4850 " (declare (in) float angle))\n"
4852 " (signature vec2\n"
4854 " (declare (in) vec2 angle))\n"
4856 " (signature vec3\n"
4858 " (declare (in) vec3 angle))\n"
4860 " (signature vec4\n"
4862 " (declare (in) vec4 angle))\n"
4865 " (signature float\n"
4867 " (declare (in) float angle))\n"
4869 " (signature vec2\n"
4871 " (declare (in) vec2 angle))\n"
4873 " (signature vec3\n"
4875 " (declare (in) vec3 angle))\n"
4877 " (signature vec4\n"
4879 " (declare (in) vec4 angle))\n"
4882 " (signature float\n"
4884 " (declare (in) float angle))\n"
4886 " (signature vec2\n"
4888 " (declare (in) vec2 angle))\n"
4890 " (signature vec3\n"
4892 " (declare (in) vec3 angle))\n"
4894 " (signature vec4\n"
4896 " (declare (in) vec4 angle))\n"
4899 " (signature float\n"
4901 " (declare (in) float y)\n"
4902 " (declare (in) float x))\n"
4904 " (signature vec2\n"
4906 " (declare (in) vec2 y)\n"
4907 " (declare (in) vec2 x))\n"
4909 " (signature vec3\n"
4911 " (declare (in) vec3 y)\n"
4912 " (declare (in) vec3 x))\n"
4914 " (signature vec4\n"
4916 " (declare (in) vec4 y)\n"
4917 " (declare (in) vec4 x))\n"
4919 " (signature float\n"
4921 " (declare (in) float y_over_x))\n"
4923 " (signature vec2\n"
4925 " (declare (in) vec2 y_over_x))\n"
4927 " (signature vec3\n"
4929 " (declare (in) vec3 y_over_x))\n"
4931 " (signature vec4\n"
4933 " (declare (in) vec4 y_over_x))\n"
4936 " (signature float\n"
4938 " (declare (in) float x)\n"
4939 " (declare (in) float y))\n"
4941 " (signature vec2\n"
4943 " (declare (in) vec2 x)\n"
4944 " (declare (in) vec2 y))\n"
4946 " (signature vec3\n"
4948 " (declare (in) vec3 x)\n"
4949 " (declare (in) vec3 y))\n"
4951 " (signature vec4\n"
4953 " (declare (in) vec4 x)\n"
4954 " (declare (in) vec4 y))\n"
4957 " (signature float\n"
4959 " (declare (in) float x))\n"
4961 " (signature vec2\n"
4963 " (declare (in) vec2 x))\n"
4965 " (signature vec3\n"
4967 " (declare (in) vec3 x))\n"
4969 " (signature vec4\n"
4971 " (declare (in) vec4 x))\n"
4974 " (signature float\n"
4976 " (declare (in) float x))\n"
4978 " (signature vec2\n"
4980 " (declare (in) vec2 x))\n"
4982 " (signature vec3\n"
4984 " (declare (in) vec3 x))\n"
4986 " (signature vec4\n"
4988 " (declare (in) vec4 x))\n"
4991 " (signature float\n"
4993 " (declare (in) float x))\n"
4995 " (signature vec2\n"
4997 " (declare (in) vec2 x))\n"
4999 " (signature vec3\n"
5001 " (declare (in) vec3 x))\n"
5003 " (signature vec4\n"
5005 " (declare (in) vec4 x))\n"
5008 " (signature float\n"
5010 " (declare (in) float x))\n"
5012 " (signature vec2\n"
5014 " (declare (in) vec2 x))\n"
5016 " (signature vec3\n"
5018 " (declare (in) vec3 x))\n"
5020 " (signature vec4\n"
5022 " (declare (in) vec4 x))\n"
5025 " (signature float\n"
5027 " (declare (in) float x))\n"
5029 " (signature vec2\n"
5031 " (declare (in) vec2 x))\n"
5033 " (signature vec3\n"
5035 " (declare (in) vec3 x))\n"
5037 " (signature vec4\n"
5039 " (declare (in) vec4 x))\n"
5041 "(function inversesqrt\n"
5042 " (signature float\n"
5044 " (declare (in) float x))\n"
5046 " (signature vec2\n"
5048 " (declare (in) vec2 x))\n"
5050 " (signature vec3\n"
5052 " (declare (in) vec3 x))\n"
5054 " (signature vec4\n"
5056 " (declare (in) vec4 x))\n"
5059 " (signature float\n"
5061 " (declare (in) float x))\n"
5063 " (signature vec2\n"
5065 " (declare (in) vec2 x))\n"
5067 " (signature vec3\n"
5069 " (declare (in) vec3 x))\n"
5071 " (signature vec4\n"
5073 " (declare (in) vec4 x))\n"
5076 " (signature float\n"
5078 " (declare (in) float x))\n"
5080 " (signature vec2\n"
5082 " (declare (in) vec2 x))\n"
5084 " (signature vec3\n"
5086 " (declare (in) vec3 x))\n"
5088 " (signature vec4\n"
5090 " (declare (in) vec4 x))\n"
5093 " (signature float\n"
5095 " (declare (in) float x))\n"
5097 " (signature vec2\n"
5099 " (declare (in) vec2 x))\n"
5101 " (signature vec3\n"
5103 " (declare (in) vec3 x))\n"
5105 " (signature vec4\n"
5107 " (declare (in) vec4 x))\n"
5110 " (signature float\n"
5112 " (declare (in) float x))\n"
5114 " (signature vec2\n"
5116 " (declare (in) vec2 x))\n"
5118 " (signature vec3\n"
5120 " (declare (in) vec3 x))\n"
5122 " (signature vec4\n"
5124 " (declare (in) vec4 x))\n"
5127 " (signature float\n"
5129 " (declare (in) float x))\n"
5131 " (signature vec2\n"
5133 " (declare (in) vec2 x))\n"
5135 " (signature vec3\n"
5137 " (declare (in) vec3 x))\n"
5139 " (signature vec4\n"
5141 " (declare (in) vec4 x))\n"
5144 " (signature float\n"
5146 " (declare (in) float x)\n"
5147 " (declare (in) float y))\n"
5149 " (signature vec2\n"
5151 " (declare (in) vec2 x)\n"
5152 " (declare (in) float y))\n"
5154 " (signature vec3\n"
5156 " (declare (in) vec3 x)\n"
5157 " (declare (in) float y))\n"
5159 " (signature vec4\n"
5161 " (declare (in) vec4 x)\n"
5162 " (declare (in) float y))\n"
5164 " (signature vec2\n"
5166 " (declare (in) vec2 x)\n"
5167 " (declare (in) vec2 y))\n"
5169 " (signature vec3\n"
5171 " (declare (in) vec3 x)\n"
5172 " (declare (in) vec3 y))\n"
5174 " (signature vec4\n"
5176 " (declare (in) vec4 x)\n"
5177 " (declare (in) vec4 y))\n"
5180 " (signature float\n"
5182 " (declare (in) float x)\n"
5183 " (declare (in) float y))\n"
5185 " (signature vec2\n"
5187 " (declare (in) vec2 x)\n"
5188 " (declare (in) vec2 y))\n"
5190 " (signature vec3\n"
5192 " (declare (in) vec3 x)\n"
5193 " (declare (in) vec3 y))\n"
5195 " (signature vec4\n"
5197 " (declare (in) vec4 x)\n"
5198 " (declare (in) vec4 y))\n"
5200 " (signature vec2\n"
5202 " (declare (in) vec2 x)\n"
5203 " (declare (in) float y))\n"
5205 " (signature vec3\n"
5207 " (declare (in) vec3 x)\n"
5208 " (declare (in) float y))\n"
5210 " (signature vec4\n"
5212 " (declare (in) vec4 x)\n"
5213 " (declare (in) float y))\n"
5216 " (signature float\n"
5218 " (declare (in) float x)\n"
5219 " (declare (in) float y))\n"
5221 " (signature vec2\n"
5223 " (declare (in) vec2 x)\n"
5224 " (declare (in) vec2 y))\n"
5226 " (signature vec3\n"
5228 " (declare (in) vec3 x)\n"
5229 " (declare (in) vec3 y))\n"
5231 " (signature vec4\n"
5233 " (declare (in) vec4 x)\n"
5234 " (declare (in) vec4 y))\n"
5236 " (signature vec2\n"
5238 " (declare (in) vec2 x)\n"
5239 " (declare (in) float y))\n"
5241 " (signature vec3\n"
5243 " (declare (in) vec3 x)\n"
5244 " (declare (in) float y))\n"
5246 " (signature vec4\n"
5248 " (declare (in) vec4 x)\n"
5249 " (declare (in) float y))\n"
5252 " (signature float\n"
5254 " (declare (in) float x)\n"
5255 " (declare (in) float minVal)\n"
5256 " (declare (in) float maxVal))\n"
5258 " (signature vec2\n"
5260 " (declare (in) vec2 x)\n"
5261 " (declare (in) vec2 minVal)\n"
5262 " (declare (in) vec2 maxVal))\n"
5264 " (signature vec3\n"
5266 " (declare (in) vec3 x)\n"
5267 " (declare (in) vec3 minVal)\n"
5268 " (declare (in) vec3 maxVal))\n"
5270 " (signature vec4\n"
5272 " (declare (in) vec4 x)\n"
5273 " (declare (in) vec4 minVal)\n"
5274 " (declare (in) vec4 maxVal))\n"
5276 " (signature vec2\n"
5278 " (declare (in) vec2 x)\n"
5279 " (declare (in) float minVal)\n"
5280 " (declare (in) float maxVal))\n"
5282 " (signature vec3\n"
5284 " (declare (in) vec3 x)\n"
5285 " (declare (in) float minVal)\n"
5286 " (declare (in) float maxVal))\n"
5288 " (signature vec4\n"
5290 " (declare (in) vec4 x)\n"
5291 " (declare (in) float minVal)\n"
5292 " (declare (in) float maxVal))\n"
5295 " (signature float\n"
5297 " (declare (in) float x)\n"
5298 " (declare (in) float y)\n"
5299 " (declare (in) float a))\n"
5301 " (signature vec2\n"
5303 " (declare (in) vec2 x)\n"
5304 " (declare (in) vec2 y)\n"
5305 " (declare (in) vec2 a))\n"
5307 " (signature vec3\n"
5309 " (declare (in) vec3 x)\n"
5310 " (declare (in) vec3 y)\n"
5311 " (declare (in) vec3 a))\n"
5313 " (signature vec4\n"
5315 " (declare (in) vec4 x)\n"
5316 " (declare (in) vec4 y)\n"
5317 " (declare (in) vec4 a))\n"
5319 " (signature vec2\n"
5321 " (declare (in) vec2 x)\n"
5322 " (declare (in) vec2 y)\n"
5323 " (declare (in) float a))\n"
5325 " (signature vec3\n"
5327 " (declare (in) vec3 x)\n"
5328 " (declare (in) vec3 y)\n"
5329 " (declare (in) float a))\n"
5331 " (signature vec4\n"
5333 " (declare (in) vec4 x)\n"
5334 " (declare (in) vec4 y)\n"
5335 " (declare (in) float a))\n"
5338 " (signature float\n"
5340 " (declare (in) float edge)\n"
5341 " (declare (in) float x))\n"
5343 " (signature vec2\n"
5345 " (declare (in) vec2 edge)\n"
5346 " (declare (in) vec2 x))\n"
5348 " (signature vec3\n"
5350 " (declare (in) vec3 edge)\n"
5351 " (declare (in) vec3 x))\n"
5353 " (signature vec4\n"
5355 " (declare (in) vec4 edge)\n"
5356 " (declare (in) vec4 x))\n"
5358 " (signature vec2\n"
5360 " (declare (in) float edge)\n"
5361 " (declare (in) vec2 x))\n"
5363 " (signature vec3\n"
5365 " (declare (in) float edge)\n"
5366 " (declare (in) vec3 x))\n"
5368 " (signature vec4\n"
5370 " (declare (in) float edge)\n"
5371 " (declare (in) vec4 x))\n"
5373 "(function smoothstep\n"
5374 " (signature float\n"
5376 " (declare (in) float edge0)\n"
5377 " (declare (in) float edge1)\n"
5378 " (declare (in) float x))\n"
5380 " (signature vec2\n"
5382 " (declare (in) vec2 edge0)\n"
5383 " (declare (in) vec2 edge1)\n"
5384 " (declare (in) vec2 x))\n"
5386 " (signature vec3\n"
5388 " (declare (in) vec3 edge0)\n"
5389 " (declare (in) vec3 edge1)\n"
5390 " (declare (in) vec3 x))\n"
5392 " (signature vec4\n"
5394 " (declare (in) vec4 edge0)\n"
5395 " (declare (in) vec4 edge1)\n"
5396 " (declare (in) vec4 x))\n"
5398 " (signature vec2\n"
5400 " (declare (in) float edge0)\n"
5401 " (declare (in) float edge1)\n"
5402 " (declare (in) vec2 x))\n"
5404 " (signature vec3\n"
5406 " (declare (in) float edge0)\n"
5407 " (declare (in) float edge1)\n"
5408 " (declare (in) vec3 x))\n"
5410 " (signature vec4\n"
5412 " (declare (in) float edge0)\n"
5413 " (declare (in) float edge1)\n"
5414 " (declare (in) vec4 x))\n"
5416 "(function length\n"
5417 " (signature float\n"
5419 " (declare (in) float x))\n"
5421 " (signature float\n"
5423 " (declare (in) vec2 x))\n"
5425 " (signature float\n"
5427 " (declare (in) vec3 x))\n"
5429 " (signature float\n"
5431 " (declare (in) vec4 x))\n"
5433 "(function distance\n"
5434 " (signature float\n"
5436 " (declare (in) float p0)\n"
5437 " (declare (in) float p1))\n"
5439 " (signature float\n"
5441 " (declare (in) vec2 p0)\n"
5442 " (declare (in) vec2 p1))\n"
5444 " (signature float\n"
5446 " (declare (in) vec3 p0)\n"
5447 " (declare (in) vec3 p1))\n"
5449 " (signature float\n"
5451 " (declare (in) vec4 p0)\n"
5452 " (declare (in) vec4 p1))\n"
5455 " (signature float\n"
5457 " (declare (in) float x)\n"
5458 " (declare (in) float y))\n"
5460 " (signature float\n"
5462 " (declare (in) vec2 x)\n"
5463 " (declare (in) vec2 y))\n"
5465 " (signature float\n"
5467 " (declare (in) vec3 x)\n"
5468 " (declare (in) vec3 y))\n"
5470 " (signature float\n"
5472 " (declare (in) vec4 x)\n"
5473 " (declare (in) vec4 y))\n"
5476 " (signature vec3\n"
5478 " (declare (in) vec3 x)\n"
5479 " (declare (in) vec3 y))\n"
5481 "(function normalize\n"
5482 " (signature float\n"
5484 " (declare (in) float x))\n"
5486 " (signature vec2\n"
5488 " (declare (in) vec2 x))\n"
5490 " (signature vec3\n"
5492 " (declare (in) vec3 x))\n"
5494 " (signature vec4\n"
5496 " (declare (in) vec4 x))\n"
5498 "(function faceforward\n"
5499 " (signature float\n"
5501 " (declare (in) float N)\n"
5502 " (declare (in) float I)\n"
5503 " (declare (in) float Nref))\n"
5505 " (signature vec2\n"
5507 " (declare (in) vec2 N)\n"
5508 " (declare (in) vec2 I)\n"
5509 " (declare (in) vec2 Nref))\n"
5511 " (signature vec3\n"
5513 " (declare (in) vec3 N)\n"
5514 " (declare (in) vec3 I)\n"
5515 " (declare (in) vec3 Nref))\n"
5517 " (signature vec4\n"
5519 " (declare (in) vec4 N)\n"
5520 " (declare (in) vec4 I)\n"
5521 " (declare (in) vec4 Nref))\n"
5523 "(function reflect\n"
5524 " (signature float\n"
5526 " (declare (in) float I)\n"
5527 " (declare (in) float N))\n"
5529 " (signature vec2\n"
5531 " (declare (in) vec2 I)\n"
5532 " (declare (in) vec2 N))\n"
5534 " (signature vec3\n"
5536 " (declare (in) vec3 I)\n"
5537 " (declare (in) vec3 N))\n"
5539 " (signature vec4\n"
5541 " (declare (in) vec4 I)\n"
5542 " (declare (in) vec4 N))\n"
5544 "(function refract\n"
5545 " (signature float\n"
5547 " (declare (in) float I)\n"
5548 " (declare (in) float N)\n"
5549 " (declare (in) float eta))\n"
5551 " (signature vec2\n"
5553 " (declare (in) vec2 I)\n"
5554 " (declare (in) vec2 N)\n"
5555 " (declare (in) float eta))\n"
5557 " (signature vec3\n"
5559 " (declare (in) vec3 I)\n"
5560 " (declare (in) vec3 N)\n"
5561 " (declare (in) float eta))\n"
5563 " (signature vec4\n"
5565 " (declare (in) vec4 I)\n"
5566 " (declare (in) vec4 N)\n"
5567 " (declare (in) float eta))\n"
5569 "(function matrixCompMult\n"
5570 " (signature mat2\n"
5572 " (declare (in) mat2 x)\n"
5573 " (declare (in) mat2 y))\n"
5575 " (signature mat3\n"
5577 " (declare (in) mat3 x)\n"
5578 " (declare (in) mat3 y))\n"
5580 " (signature mat4\n"
5582 " (declare (in) mat4 x)\n"
5583 " (declare (in) mat4 y))\n"
5585 "(function lessThan\n"
5586 " (signature bvec2\n"
5588 " (declare (in) vec2 x)\n"
5589 " (declare (in) vec2 y))\n"
5591 " (signature bvec3\n"
5593 " (declare (in) vec3 x)\n"
5594 " (declare (in) vec3 y))\n"
5596 " (signature bvec4\n"
5598 " (declare (in) vec4 x)\n"
5599 " (declare (in) vec4 y))\n"
5601 " (signature bvec2\n"
5603 " (declare (in) ivec2 x)\n"
5604 " (declare (in) ivec2 y))\n"
5606 " (signature bvec3\n"
5608 " (declare (in) ivec3 x)\n"
5609 " (declare (in) ivec3 y))\n"
5611 " (signature bvec4\n"
5613 " (declare (in) ivec4 x)\n"
5614 " (declare (in) ivec4 y))\n"
5616 "(function lessThanEqual\n"
5617 " (signature bvec2\n"
5619 " (declare (in) vec2 x)\n"
5620 " (declare (in) vec2 y))\n"
5622 " (signature bvec3\n"
5624 " (declare (in) vec3 x)\n"
5625 " (declare (in) vec3 y))\n"
5627 " (signature bvec4\n"
5629 " (declare (in) vec4 x)\n"
5630 " (declare (in) vec4 y))\n"
5632 " (signature bvec2\n"
5634 " (declare (in) ivec2 x)\n"
5635 " (declare (in) ivec2 y))\n"
5637 " (signature bvec3\n"
5639 " (declare (in) ivec3 x)\n"
5640 " (declare (in) ivec3 y))\n"
5642 " (signature bvec4\n"
5644 " (declare (in) ivec4 x)\n"
5645 " (declare (in) ivec4 y))\n"
5647 "(function greaterThan\n"
5648 " (signature bvec2\n"
5650 " (declare (in) vec2 x)\n"
5651 " (declare (in) vec2 y))\n"
5653 " (signature bvec3\n"
5655 " (declare (in) vec3 x)\n"
5656 " (declare (in) vec3 y))\n"
5658 " (signature bvec4\n"
5660 " (declare (in) vec4 x)\n"
5661 " (declare (in) vec4 y))\n"
5663 " (signature bvec2\n"
5665 " (declare (in) ivec2 x)\n"
5666 " (declare (in) ivec2 y))\n"
5668 " (signature bvec3\n"
5670 " (declare (in) ivec3 x)\n"
5671 " (declare (in) ivec3 y))\n"
5673 " (signature bvec4\n"
5675 " (declare (in) ivec4 x)\n"
5676 " (declare (in) ivec4 y))\n"
5678 "(function greaterThanEqual\n"
5679 " (signature bvec2\n"
5681 " (declare (in) vec2 x)\n"
5682 " (declare (in) vec2 y))\n"
5684 " (signature bvec3\n"
5686 " (declare (in) vec3 x)\n"
5687 " (declare (in) vec3 y))\n"
5689 " (signature bvec4\n"
5691 " (declare (in) vec4 x)\n"
5692 " (declare (in) vec4 y))\n"
5694 " (signature bvec2\n"
5696 " (declare (in) ivec2 x)\n"
5697 " (declare (in) ivec2 y))\n"
5699 " (signature bvec3\n"
5701 " (declare (in) ivec3 x)\n"
5702 " (declare (in) ivec3 y))\n"
5704 " (signature bvec4\n"
5706 " (declare (in) ivec4 x)\n"
5707 " (declare (in) ivec4 y))\n"
5710 " (signature bvec2\n"
5712 " (declare (in) vec2 x)\n"
5713 " (declare (in) vec2 y))\n"
5715 " (signature bvec3\n"
5717 " (declare (in) vec3 x)\n"
5718 " (declare (in) vec3 y))\n"
5720 " (signature bvec4\n"
5722 " (declare (in) vec4 x)\n"
5723 " (declare (in) vec4 y))\n"
5725 " (signature bvec2\n"
5727 " (declare (in) ivec2 x)\n"
5728 " (declare (in) ivec2 y))\n"
5730 " (signature bvec3\n"
5732 " (declare (in) ivec3 x)\n"
5733 " (declare (in) ivec3 y))\n"
5735 " (signature bvec4\n"
5737 " (declare (in) ivec4 x)\n"
5738 " (declare (in) ivec4 y))\n"
5740 " (signature bvec2\n"
5742 " (declare (in) bvec2 x)\n"
5743 " (declare (in) bvec2 y))\n"
5745 " (signature bvec3\n"
5747 " (declare (in) bvec3 x)\n"
5748 " (declare (in) bvec3 y))\n"
5750 " (signature bvec4\n"
5752 " (declare (in) bvec4 x)\n"
5753 " (declare (in) bvec4 y))\n"
5755 "(function notEqual\n"
5756 " (signature bvec2\n"
5758 " (declare (in) vec2 x)\n"
5759 " (declare (in) vec2 y))\n"
5761 " (signature bvec3\n"
5763 " (declare (in) vec3 x)\n"
5764 " (declare (in) vec3 y))\n"
5766 " (signature bvec4\n"
5768 " (declare (in) vec4 x)\n"
5769 " (declare (in) vec4 y))\n"
5771 " (signature bvec2\n"
5773 " (declare (in) ivec2 x)\n"
5774 " (declare (in) ivec2 y))\n"
5776 " (signature bvec3\n"
5778 " (declare (in) ivec3 x)\n"
5779 " (declare (in) ivec3 y))\n"
5781 " (signature bvec4\n"
5783 " (declare (in) ivec4 x)\n"
5784 " (declare (in) ivec4 y))\n"
5786 " (signature bvec2\n"
5788 " (declare (in) bvec2 x)\n"
5789 " (declare (in) bvec2 y))\n"
5791 " (signature bvec3\n"
5793 " (declare (in) bvec3 x)\n"
5794 " (declare (in) bvec3 y))\n"
5796 " (signature bvec4\n"
5798 " (declare (in) bvec4 x)\n"
5799 " (declare (in) bvec4 y))\n"
5802 " (signature bool\n"
5804 " (declare (in) bvec2 x))\n"
5806 " (signature bool\n"
5808 " (declare (in) bvec3 x))\n"
5810 " (signature bool\n"
5812 " (declare (in) bvec4 x))\n"
5815 " (signature bool\n"
5817 " (declare (in) bvec2 x))\n"
5819 " (signature bool\n"
5821 " (declare (in) bvec3 x))\n"
5823 " (signature bool\n"
5825 " (declare (in) bvec4 x))\n"
5828 " (signature bvec2\n"
5830 " (declare (in) bvec2 x))\n"
5832 " (signature bvec3\n"
5834 " (declare (in) bvec3 x))\n"
5836 " (signature bvec4\n"
5838 " (declare (in) bvec4 x))\n"
5840 "(function texture1D\n"
5841 " (signature vec4\n"
5843 " (declare (in) sampler1D sampler)\n"
5844 " (declare (in) float coord))\n"
5846 " (signature vec4\n"
5848 " (declare (in) sampler1D sampler)\n"
5849 " (declare (in) float coord)\n"
5850 " (declare (in) float bias))\n"
5852 "(function texture1DProj\n"
5853 " (signature vec4\n"
5855 " (declare (in) sampler1D sampler)\n"
5856 " (declare (in) vec2 coord))\n"
5858 " (signature vec4\n"
5860 " (declare (in) sampler1D sampler)\n"
5861 " (declare (in) vec4 coord))\n"
5863 " (signature vec4\n"
5865 " (declare (in) sampler1D sampler)\n"
5866 " (declare (in) vec2 coord)\n"
5867 " (declare (in) float bias))\n"
5869 " (signature vec4\n"
5871 " (declare (in) sampler1D sampler)\n"
5872 " (declare (in) vec4 coord)\n"
5873 " (declare (in) float bias))\n"
5875 "(function texture2D\n"
5876 " (signature vec4\n"
5878 " (declare (in) sampler2D sampler)\n"
5879 " (declare (in) vec2 coord))\n"
5881 " (signature vec4\n"
5883 " (declare (in) sampler2D sampler)\n"
5884 " (declare (in) vec2 coord)\n"
5885 " (declare (in) float bias))\n"
5887 "(function texture2DProj\n"
5888 " (signature vec4\n"
5890 " (declare (in) sampler2D sampler)\n"
5891 " (declare (in) vec3 coord))\n"
5893 " (signature vec4\n"
5895 " (declare (in) sampler2D sampler)\n"
5896 " (declare (in) vec4 coord))\n"
5898 " (signature vec4\n"
5900 " (declare (in) sampler2D sampler)\n"
5901 " (declare (in) vec3 coord)\n"
5902 " (declare (in) float bias))\n"
5904 " (signature vec4\n"
5906 " (declare (in) sampler2D sampler)\n"
5907 " (declare (in) vec4 coord)\n"
5908 " (declare (in) float bias))\n"
5910 "(function texture3D\n"
5911 " (signature vec4\n"
5913 " (declare (in) sampler3D sampler)\n"
5914 " (declare (in) vec3 coord))\n"
5916 " (signature vec4\n"
5918 " (declare (in) sampler3D sampler)\n"
5919 " (declare (in) vec3 coord)\n"
5920 " (declare (in) float bias))\n"
5922 "(function texture3DProj\n"
5923 " (signature vec4\n"
5925 " (declare (in) sampler3D sampler)\n"
5926 " (declare (in) vec4 coord))\n"
5928 " (signature vec4\n"
5930 " (declare (in) sampler3D sampler)\n"
5931 " (declare (in) vec4 coord)\n"
5932 " (declare (in) float bias))\n"
5934 "(function textureCube\n"
5935 " (signature vec4\n"
5937 " (declare (in) samplerCube sampler)\n"
5938 " (declare (in) vec3 coord))\n"
5940 " (signature vec4\n"
5942 " (declare (in) samplerCube sampler)\n"
5943 " (declare (in) vec3 coord)\n"
5944 " (declare (in) float bias))\n"
5946 "(function shadow1D\n"
5947 " (signature vec4\n"
5949 " (declare (in) sampler1DShadow sampler)\n"
5950 " (declare (in) vec3 coord))\n"
5952 " (signature vec4\n"
5954 " (declare (in) sampler1DShadow sampler)\n"
5955 " (declare (in) vec3 coord)\n"
5956 " (declare (in) float bias))\n"
5958 "(function shadow2D\n"
5959 " (signature vec4\n"
5961 " (declare (in) sampler2DShadow sampler)\n"
5962 " (declare (in) vec3 coord))\n"
5964 " (signature vec4\n"
5966 " (declare (in) sampler2DShadow sampler)\n"
5967 " (declare (in) vec3 coord)\n"
5968 " (declare (in) float bias))\n"
5970 "(function shadow1DProj\n"
5971 " (signature vec4\n"
5973 " (declare (in) sampler1DShadow sampler)\n"
5974 " (declare (in) vec4 coord))\n"
5976 " (signature vec4\n"
5978 " (declare (in) sampler1DShadow sampler)\n"
5979 " (declare (in) vec4 coord)\n"
5980 " (declare (in) float bias))\n"
5982 "(function shadow2DProj\n"
5983 " (signature vec4\n"
5985 " (declare (in) sampler2DShadow sampler)\n"
5986 " (declare (in) vec4 coord))\n"
5988 " (signature vec4\n"
5990 " (declare (in) sampler2DShadow sampler)\n"
5991 " (declare (in) vec4 coord)\n"
5992 " (declare (in) float bias))\n"
5995 " (signature float\n"
5997 " (declare (in) float p))\n"
5999 " (signature vec2\n"
6001 " (declare (in) vec2 p))\n"
6003 " (signature vec3\n"
6005 " (declare (in) vec3 p))\n"
6007 " (signature vec4\n"
6009 " (declare (in) vec4 p))\n"
6012 " (signature float\n"
6014 " (declare (in) float p))\n"
6016 " (signature vec2\n"
6018 " (declare (in) vec2 p))\n"
6020 " (signature vec3\n"
6022 " (declare (in) vec3 p))\n"
6024 " (signature vec4\n"
6026 " (declare (in) vec4 p))\n"
6028 "(function fwidth\n"
6029 " (signature float\n"
6031 " (declare (in) float p))\n"
6033 " (signature vec2\n"
6035 " (declare (in) vec2 p))\n"
6037 " (signature vec3\n"
6039 " (declare (in) vec3 p))\n"
6041 " (signature vec4\n"
6043 " (declare (in) vec4 p))\n"
6045 "(function noise1\n"
6046 " (signature float\n"
6048 " (declare (in) float x))\n"
6050 " (signature float\n"
6052 " (declare (in) vec2 x))\n"
6054 " (signature float\n"
6056 " (declare (in) vec3 x))\n"
6058 " (signature float\n"
6060 " (declare (in) vec4 x))\n"
6062 "(function noise2\n"
6063 " (signature vec2\n"
6065 " (declare (in) float x))\n"
6067 " (signature vec2\n"
6069 " (declare (in) vec2 x))\n"
6071 " (signature vec2\n"
6073 " (declare (in) vec3 x))\n"
6075 " (signature vec2\n"
6077 " (declare (in) vec4 x))\n"
6079 "(function noise3\n"
6080 " (signature vec3\n"
6082 " (declare (in) float x))\n"
6084 " (signature vec3\n"
6086 " (declare (in) vec2 x))\n"
6088 " (signature vec3\n"
6090 " (declare (in) vec3 x))\n"
6092 " (signature vec3\n"
6094 " (declare (in) vec4 x))\n"
6096 "(function noise4\n"
6097 " (signature vec4\n"
6099 " (declare (in) float x))\n"
6101 " (signature vec4\n"
6103 " (declare (in) vec2 x))\n"
6105 " (signature vec4\n"
6107 " (declare (in) vec3 x))\n"
6109 " (signature vec4\n"
6111 " (declare (in) vec4 x))\n"
6114 static const char *functions_for_110_frag
[] = {
6133 builtin_faceforward
,
6137 builtin_greaterThan
,
6138 builtin_greaterThanEqual
,
6139 builtin_inversesqrt
,
6142 builtin_lessThanEqual
,
6145 builtin_matrixCompMult
,
6162 builtin_shadow1DProj
,
6164 builtin_shadow2DProj
,
6172 builtin_texture1DProj
,
6174 builtin_texture2DProj
,
6176 builtin_texture3DProj
,
6177 builtin_textureCube
,
6179 static const char *prototypes_for_110_vert
=
6181 "(function radians\n"
6182 " (signature float\n"
6184 " (declare (in) float degrees))\n"
6186 " (signature vec2\n"
6188 " (declare (in) vec2 degrees))\n"
6190 " (signature vec3\n"
6192 " (declare (in) vec3 degrees))\n"
6194 " (signature vec4\n"
6196 " (declare (in) vec4 degrees))\n"
6198 "(function degrees\n"
6199 " (signature float\n"
6201 " (declare (in) float radians))\n"
6203 " (signature vec2\n"
6205 " (declare (in) vec2 radians))\n"
6207 " (signature vec3\n"
6209 " (declare (in) vec3 radians))\n"
6211 " (signature vec4\n"
6213 " (declare (in) vec4 radians))\n"
6216 " (signature float\n"
6218 " (declare (in) float angle))\n"
6220 " (signature vec2\n"
6222 " (declare (in) vec2 angle))\n"
6224 " (signature vec3\n"
6226 " (declare (in) vec3 angle))\n"
6228 " (signature vec4\n"
6230 " (declare (in) vec4 angle))\n"
6233 " (signature float\n"
6235 " (declare (in) float angle))\n"
6237 " (signature vec2\n"
6239 " (declare (in) vec2 angle))\n"
6241 " (signature vec3\n"
6243 " (declare (in) vec3 angle))\n"
6245 " (signature vec4\n"
6247 " (declare (in) vec4 angle))\n"
6250 " (signature float\n"
6252 " (declare (in) float angle))\n"
6254 " (signature vec2\n"
6256 " (declare (in) vec2 angle))\n"
6258 " (signature vec3\n"
6260 " (declare (in) vec3 angle))\n"
6262 " (signature vec4\n"
6264 " (declare (in) vec4 angle))\n"
6267 " (signature float\n"
6269 " (declare (in) float angle))\n"
6271 " (signature vec2\n"
6273 " (declare (in) vec2 angle))\n"
6275 " (signature vec3\n"
6277 " (declare (in) vec3 angle))\n"
6279 " (signature vec4\n"
6281 " (declare (in) vec4 angle))\n"
6284 " (signature float\n"
6286 " (declare (in) float angle))\n"
6288 " (signature vec2\n"
6290 " (declare (in) vec2 angle))\n"
6292 " (signature vec3\n"
6294 " (declare (in) vec3 angle))\n"
6296 " (signature vec4\n"
6298 " (declare (in) vec4 angle))\n"
6301 " (signature float\n"
6303 " (declare (in) float y)\n"
6304 " (declare (in) float x))\n"
6306 " (signature vec2\n"
6308 " (declare (in) vec2 y)\n"
6309 " (declare (in) vec2 x))\n"
6311 " (signature vec3\n"
6313 " (declare (in) vec3 y)\n"
6314 " (declare (in) vec3 x))\n"
6316 " (signature vec4\n"
6318 " (declare (in) vec4 y)\n"
6319 " (declare (in) vec4 x))\n"
6321 " (signature float\n"
6323 " (declare (in) float y_over_x))\n"
6325 " (signature vec2\n"
6327 " (declare (in) vec2 y_over_x))\n"
6329 " (signature vec3\n"
6331 " (declare (in) vec3 y_over_x))\n"
6333 " (signature vec4\n"
6335 " (declare (in) vec4 y_over_x))\n"
6338 " (signature float\n"
6340 " (declare (in) float x)\n"
6341 " (declare (in) float y))\n"
6343 " (signature vec2\n"
6345 " (declare (in) vec2 x)\n"
6346 " (declare (in) vec2 y))\n"
6348 " (signature vec3\n"
6350 " (declare (in) vec3 x)\n"
6351 " (declare (in) vec3 y))\n"
6353 " (signature vec4\n"
6355 " (declare (in) vec4 x)\n"
6356 " (declare (in) vec4 y))\n"
6359 " (signature float\n"
6361 " (declare (in) float x))\n"
6363 " (signature vec2\n"
6365 " (declare (in) vec2 x))\n"
6367 " (signature vec3\n"
6369 " (declare (in) vec3 x))\n"
6371 " (signature vec4\n"
6373 " (declare (in) vec4 x))\n"
6376 " (signature float\n"
6378 " (declare (in) float x))\n"
6380 " (signature vec2\n"
6382 " (declare (in) vec2 x))\n"
6384 " (signature vec3\n"
6386 " (declare (in) vec3 x))\n"
6388 " (signature vec4\n"
6390 " (declare (in) vec4 x))\n"
6393 " (signature float\n"
6395 " (declare (in) float x))\n"
6397 " (signature vec2\n"
6399 " (declare (in) vec2 x))\n"
6401 " (signature vec3\n"
6403 " (declare (in) vec3 x))\n"
6405 " (signature vec4\n"
6407 " (declare (in) vec4 x))\n"
6410 " (signature float\n"
6412 " (declare (in) float x))\n"
6414 " (signature vec2\n"
6416 " (declare (in) vec2 x))\n"
6418 " (signature vec3\n"
6420 " (declare (in) vec3 x))\n"
6422 " (signature vec4\n"
6424 " (declare (in) vec4 x))\n"
6427 " (signature float\n"
6429 " (declare (in) float x))\n"
6431 " (signature vec2\n"
6433 " (declare (in) vec2 x))\n"
6435 " (signature vec3\n"
6437 " (declare (in) vec3 x))\n"
6439 " (signature vec4\n"
6441 " (declare (in) vec4 x))\n"
6443 "(function inversesqrt\n"
6444 " (signature float\n"
6446 " (declare (in) float x))\n"
6448 " (signature vec2\n"
6450 " (declare (in) vec2 x))\n"
6452 " (signature vec3\n"
6454 " (declare (in) vec3 x))\n"
6456 " (signature vec4\n"
6458 " (declare (in) vec4 x))\n"
6461 " (signature float\n"
6463 " (declare (in) float x))\n"
6465 " (signature vec2\n"
6467 " (declare (in) vec2 x))\n"
6469 " (signature vec3\n"
6471 " (declare (in) vec3 x))\n"
6473 " (signature vec4\n"
6475 " (declare (in) vec4 x))\n"
6478 " (signature float\n"
6480 " (declare (in) float x))\n"
6482 " (signature vec2\n"
6484 " (declare (in) vec2 x))\n"
6486 " (signature vec3\n"
6488 " (declare (in) vec3 x))\n"
6490 " (signature vec4\n"
6492 " (declare (in) vec4 x))\n"
6495 " (signature float\n"
6497 " (declare (in) float x))\n"
6499 " (signature vec2\n"
6501 " (declare (in) vec2 x))\n"
6503 " (signature vec3\n"
6505 " (declare (in) vec3 x))\n"
6507 " (signature vec4\n"
6509 " (declare (in) vec4 x))\n"
6512 " (signature float\n"
6514 " (declare (in) float x))\n"
6516 " (signature vec2\n"
6518 " (declare (in) vec2 x))\n"
6520 " (signature vec3\n"
6522 " (declare (in) vec3 x))\n"
6524 " (signature vec4\n"
6526 " (declare (in) vec4 x))\n"
6529 " (signature float\n"
6531 " (declare (in) float x))\n"
6533 " (signature vec2\n"
6535 " (declare (in) vec2 x))\n"
6537 " (signature vec3\n"
6539 " (declare (in) vec3 x))\n"
6541 " (signature vec4\n"
6543 " (declare (in) vec4 x))\n"
6546 " (signature float\n"
6548 " (declare (in) float x)\n"
6549 " (declare (in) float y))\n"
6551 " (signature vec2\n"
6553 " (declare (in) vec2 x)\n"
6554 " (declare (in) float y))\n"
6556 " (signature vec3\n"
6558 " (declare (in) vec3 x)\n"
6559 " (declare (in) float y))\n"
6561 " (signature vec4\n"
6563 " (declare (in) vec4 x)\n"
6564 " (declare (in) float y))\n"
6566 " (signature vec2\n"
6568 " (declare (in) vec2 x)\n"
6569 " (declare (in) vec2 y))\n"
6571 " (signature vec3\n"
6573 " (declare (in) vec3 x)\n"
6574 " (declare (in) vec3 y))\n"
6576 " (signature vec4\n"
6578 " (declare (in) vec4 x)\n"
6579 " (declare (in) vec4 y))\n"
6582 " (signature float\n"
6584 " (declare (in) float x)\n"
6585 " (declare (in) float y))\n"
6587 " (signature vec2\n"
6589 " (declare (in) vec2 x)\n"
6590 " (declare (in) vec2 y))\n"
6592 " (signature vec3\n"
6594 " (declare (in) vec3 x)\n"
6595 " (declare (in) vec3 y))\n"
6597 " (signature vec4\n"
6599 " (declare (in) vec4 x)\n"
6600 " (declare (in) vec4 y))\n"
6602 " (signature vec2\n"
6604 " (declare (in) vec2 x)\n"
6605 " (declare (in) float y))\n"
6607 " (signature vec3\n"
6609 " (declare (in) vec3 x)\n"
6610 " (declare (in) float y))\n"
6612 " (signature vec4\n"
6614 " (declare (in) vec4 x)\n"
6615 " (declare (in) float y))\n"
6618 " (signature float\n"
6620 " (declare (in) float x)\n"
6621 " (declare (in) float y))\n"
6623 " (signature vec2\n"
6625 " (declare (in) vec2 x)\n"
6626 " (declare (in) vec2 y))\n"
6628 " (signature vec3\n"
6630 " (declare (in) vec3 x)\n"
6631 " (declare (in) vec3 y))\n"
6633 " (signature vec4\n"
6635 " (declare (in) vec4 x)\n"
6636 " (declare (in) vec4 y))\n"
6638 " (signature vec2\n"
6640 " (declare (in) vec2 x)\n"
6641 " (declare (in) float y))\n"
6643 " (signature vec3\n"
6645 " (declare (in) vec3 x)\n"
6646 " (declare (in) float y))\n"
6648 " (signature vec4\n"
6650 " (declare (in) vec4 x)\n"
6651 " (declare (in) float y))\n"
6654 " (signature float\n"
6656 " (declare (in) float x)\n"
6657 " (declare (in) float minVal)\n"
6658 " (declare (in) float maxVal))\n"
6660 " (signature vec2\n"
6662 " (declare (in) vec2 x)\n"
6663 " (declare (in) vec2 minVal)\n"
6664 " (declare (in) vec2 maxVal))\n"
6666 " (signature vec3\n"
6668 " (declare (in) vec3 x)\n"
6669 " (declare (in) vec3 minVal)\n"
6670 " (declare (in) vec3 maxVal))\n"
6672 " (signature vec4\n"
6674 " (declare (in) vec4 x)\n"
6675 " (declare (in) vec4 minVal)\n"
6676 " (declare (in) vec4 maxVal))\n"
6678 " (signature vec2\n"
6680 " (declare (in) vec2 x)\n"
6681 " (declare (in) float minVal)\n"
6682 " (declare (in) float maxVal))\n"
6684 " (signature vec3\n"
6686 " (declare (in) vec3 x)\n"
6687 " (declare (in) float minVal)\n"
6688 " (declare (in) float maxVal))\n"
6690 " (signature vec4\n"
6692 " (declare (in) vec4 x)\n"
6693 " (declare (in) float minVal)\n"
6694 " (declare (in) float maxVal))\n"
6697 " (signature float\n"
6699 " (declare (in) float x)\n"
6700 " (declare (in) float y)\n"
6701 " (declare (in) float a))\n"
6703 " (signature vec2\n"
6705 " (declare (in) vec2 x)\n"
6706 " (declare (in) vec2 y)\n"
6707 " (declare (in) vec2 a))\n"
6709 " (signature vec3\n"
6711 " (declare (in) vec3 x)\n"
6712 " (declare (in) vec3 y)\n"
6713 " (declare (in) vec3 a))\n"
6715 " (signature vec4\n"
6717 " (declare (in) vec4 x)\n"
6718 " (declare (in) vec4 y)\n"
6719 " (declare (in) vec4 a))\n"
6721 " (signature vec2\n"
6723 " (declare (in) vec2 x)\n"
6724 " (declare (in) vec2 y)\n"
6725 " (declare (in) float a))\n"
6727 " (signature vec3\n"
6729 " (declare (in) vec3 x)\n"
6730 " (declare (in) vec3 y)\n"
6731 " (declare (in) float a))\n"
6733 " (signature vec4\n"
6735 " (declare (in) vec4 x)\n"
6736 " (declare (in) vec4 y)\n"
6737 " (declare (in) float a))\n"
6740 " (signature float\n"
6742 " (declare (in) float edge)\n"
6743 " (declare (in) float x))\n"
6745 " (signature vec2\n"
6747 " (declare (in) vec2 edge)\n"
6748 " (declare (in) vec2 x))\n"
6750 " (signature vec3\n"
6752 " (declare (in) vec3 edge)\n"
6753 " (declare (in) vec3 x))\n"
6755 " (signature vec4\n"
6757 " (declare (in) vec4 edge)\n"
6758 " (declare (in) vec4 x))\n"
6760 " (signature vec2\n"
6762 " (declare (in) float edge)\n"
6763 " (declare (in) vec2 x))\n"
6765 " (signature vec3\n"
6767 " (declare (in) float edge)\n"
6768 " (declare (in) vec3 x))\n"
6770 " (signature vec4\n"
6772 " (declare (in) float edge)\n"
6773 " (declare (in) vec4 x))\n"
6775 "(function smoothstep\n"
6776 " (signature float\n"
6778 " (declare (in) float edge0)\n"
6779 " (declare (in) float edge1)\n"
6780 " (declare (in) float x))\n"
6782 " (signature vec2\n"
6784 " (declare (in) vec2 edge0)\n"
6785 " (declare (in) vec2 edge1)\n"
6786 " (declare (in) vec2 x))\n"
6788 " (signature vec3\n"
6790 " (declare (in) vec3 edge0)\n"
6791 " (declare (in) vec3 edge1)\n"
6792 " (declare (in) vec3 x))\n"
6794 " (signature vec4\n"
6796 " (declare (in) vec4 edge0)\n"
6797 " (declare (in) vec4 edge1)\n"
6798 " (declare (in) vec4 x))\n"
6800 " (signature vec2\n"
6802 " (declare (in) float edge0)\n"
6803 " (declare (in) float edge1)\n"
6804 " (declare (in) vec2 x))\n"
6806 " (signature vec3\n"
6808 " (declare (in) float edge0)\n"
6809 " (declare (in) float edge1)\n"
6810 " (declare (in) vec3 x))\n"
6812 " (signature vec4\n"
6814 " (declare (in) float edge0)\n"
6815 " (declare (in) float edge1)\n"
6816 " (declare (in) vec4 x))\n"
6818 "(function length\n"
6819 " (signature float\n"
6821 " (declare (in) float x))\n"
6823 " (signature float\n"
6825 " (declare (in) vec2 x))\n"
6827 " (signature float\n"
6829 " (declare (in) vec3 x))\n"
6831 " (signature float\n"
6833 " (declare (in) vec4 x))\n"
6835 "(function distance\n"
6836 " (signature float\n"
6838 " (declare (in) float p0)\n"
6839 " (declare (in) float p1))\n"
6841 " (signature float\n"
6843 " (declare (in) vec2 p0)\n"
6844 " (declare (in) vec2 p1))\n"
6846 " (signature float\n"
6848 " (declare (in) vec3 p0)\n"
6849 " (declare (in) vec3 p1))\n"
6851 " (signature float\n"
6853 " (declare (in) vec4 p0)\n"
6854 " (declare (in) vec4 p1))\n"
6857 " (signature float\n"
6859 " (declare (in) float x)\n"
6860 " (declare (in) float y))\n"
6862 " (signature float\n"
6864 " (declare (in) vec2 x)\n"
6865 " (declare (in) vec2 y))\n"
6867 " (signature float\n"
6869 " (declare (in) vec3 x)\n"
6870 " (declare (in) vec3 y))\n"
6872 " (signature float\n"
6874 " (declare (in) vec4 x)\n"
6875 " (declare (in) vec4 y))\n"
6878 " (signature vec3\n"
6880 " (declare (in) vec3 x)\n"
6881 " (declare (in) vec3 y))\n"
6883 "(function normalize\n"
6884 " (signature float\n"
6886 " (declare (in) float x))\n"
6888 " (signature vec2\n"
6890 " (declare (in) vec2 x))\n"
6892 " (signature vec3\n"
6894 " (declare (in) vec3 x))\n"
6896 " (signature vec4\n"
6898 " (declare (in) vec4 x))\n"
6900 "(function ftransform\n"
6901 " (signature vec4\n"
6904 "(function faceforward\n"
6905 " (signature float\n"
6907 " (declare (in) float N)\n"
6908 " (declare (in) float I)\n"
6909 " (declare (in) float Nref))\n"
6911 " (signature vec2\n"
6913 " (declare (in) vec2 N)\n"
6914 " (declare (in) vec2 I)\n"
6915 " (declare (in) vec2 Nref))\n"
6917 " (signature vec3\n"
6919 " (declare (in) vec3 N)\n"
6920 " (declare (in) vec3 I)\n"
6921 " (declare (in) vec3 Nref))\n"
6923 " (signature vec4\n"
6925 " (declare (in) vec4 N)\n"
6926 " (declare (in) vec4 I)\n"
6927 " (declare (in) vec4 Nref))\n"
6929 "(function reflect\n"
6930 " (signature float\n"
6932 " (declare (in) float I)\n"
6933 " (declare (in) float N))\n"
6935 " (signature vec2\n"
6937 " (declare (in) vec2 I)\n"
6938 " (declare (in) vec2 N))\n"
6940 " (signature vec3\n"
6942 " (declare (in) vec3 I)\n"
6943 " (declare (in) vec3 N))\n"
6945 " (signature vec4\n"
6947 " (declare (in) vec4 I)\n"
6948 " (declare (in) vec4 N))\n"
6950 "(function refract\n"
6951 " (signature float\n"
6953 " (declare (in) float I)\n"
6954 " (declare (in) float N)\n"
6955 " (declare (in) float eta))\n"
6957 " (signature vec2\n"
6959 " (declare (in) vec2 I)\n"
6960 " (declare (in) vec2 N)\n"
6961 " (declare (in) float eta))\n"
6963 " (signature vec3\n"
6965 " (declare (in) vec3 I)\n"
6966 " (declare (in) vec3 N)\n"
6967 " (declare (in) float eta))\n"
6969 " (signature vec4\n"
6971 " (declare (in) vec4 I)\n"
6972 " (declare (in) vec4 N)\n"
6973 " (declare (in) float eta))\n"
6975 "(function matrixCompMult\n"
6976 " (signature mat2\n"
6978 " (declare (in) mat2 x)\n"
6979 " (declare (in) mat2 y))\n"
6981 " (signature mat3\n"
6983 " (declare (in) mat3 x)\n"
6984 " (declare (in) mat3 y))\n"
6986 " (signature mat4\n"
6988 " (declare (in) mat4 x)\n"
6989 " (declare (in) mat4 y))\n"
6991 "(function lessThan\n"
6992 " (signature bvec2\n"
6994 " (declare (in) vec2 x)\n"
6995 " (declare (in) vec2 y))\n"
6997 " (signature bvec3\n"
6999 " (declare (in) vec3 x)\n"
7000 " (declare (in) vec3 y))\n"
7002 " (signature bvec4\n"
7004 " (declare (in) vec4 x)\n"
7005 " (declare (in) vec4 y))\n"
7007 " (signature bvec2\n"
7009 " (declare (in) ivec2 x)\n"
7010 " (declare (in) ivec2 y))\n"
7012 " (signature bvec3\n"
7014 " (declare (in) ivec3 x)\n"
7015 " (declare (in) ivec3 y))\n"
7017 " (signature bvec4\n"
7019 " (declare (in) ivec4 x)\n"
7020 " (declare (in) ivec4 y))\n"
7022 "(function lessThanEqual\n"
7023 " (signature bvec2\n"
7025 " (declare (in) vec2 x)\n"
7026 " (declare (in) vec2 y))\n"
7028 " (signature bvec3\n"
7030 " (declare (in) vec3 x)\n"
7031 " (declare (in) vec3 y))\n"
7033 " (signature bvec4\n"
7035 " (declare (in) vec4 x)\n"
7036 " (declare (in) vec4 y))\n"
7038 " (signature bvec2\n"
7040 " (declare (in) ivec2 x)\n"
7041 " (declare (in) ivec2 y))\n"
7043 " (signature bvec3\n"
7045 " (declare (in) ivec3 x)\n"
7046 " (declare (in) ivec3 y))\n"
7048 " (signature bvec4\n"
7050 " (declare (in) ivec4 x)\n"
7051 " (declare (in) ivec4 y))\n"
7053 "(function greaterThan\n"
7054 " (signature bvec2\n"
7056 " (declare (in) vec2 x)\n"
7057 " (declare (in) vec2 y))\n"
7059 " (signature bvec3\n"
7061 " (declare (in) vec3 x)\n"
7062 " (declare (in) vec3 y))\n"
7064 " (signature bvec4\n"
7066 " (declare (in) vec4 x)\n"
7067 " (declare (in) vec4 y))\n"
7069 " (signature bvec2\n"
7071 " (declare (in) ivec2 x)\n"
7072 " (declare (in) ivec2 y))\n"
7074 " (signature bvec3\n"
7076 " (declare (in) ivec3 x)\n"
7077 " (declare (in) ivec3 y))\n"
7079 " (signature bvec4\n"
7081 " (declare (in) ivec4 x)\n"
7082 " (declare (in) ivec4 y))\n"
7084 "(function greaterThanEqual\n"
7085 " (signature bvec2\n"
7087 " (declare (in) vec2 x)\n"
7088 " (declare (in) vec2 y))\n"
7090 " (signature bvec3\n"
7092 " (declare (in) vec3 x)\n"
7093 " (declare (in) vec3 y))\n"
7095 " (signature bvec4\n"
7097 " (declare (in) vec4 x)\n"
7098 " (declare (in) vec4 y))\n"
7100 " (signature bvec2\n"
7102 " (declare (in) ivec2 x)\n"
7103 " (declare (in) ivec2 y))\n"
7105 " (signature bvec3\n"
7107 " (declare (in) ivec3 x)\n"
7108 " (declare (in) ivec3 y))\n"
7110 " (signature bvec4\n"
7112 " (declare (in) ivec4 x)\n"
7113 " (declare (in) ivec4 y))\n"
7116 " (signature bvec2\n"
7118 " (declare (in) vec2 x)\n"
7119 " (declare (in) vec2 y))\n"
7121 " (signature bvec3\n"
7123 " (declare (in) vec3 x)\n"
7124 " (declare (in) vec3 y))\n"
7126 " (signature bvec4\n"
7128 " (declare (in) vec4 x)\n"
7129 " (declare (in) vec4 y))\n"
7131 " (signature bvec2\n"
7133 " (declare (in) ivec2 x)\n"
7134 " (declare (in) ivec2 y))\n"
7136 " (signature bvec3\n"
7138 " (declare (in) ivec3 x)\n"
7139 " (declare (in) ivec3 y))\n"
7141 " (signature bvec4\n"
7143 " (declare (in) ivec4 x)\n"
7144 " (declare (in) ivec4 y))\n"
7146 " (signature bvec2\n"
7148 " (declare (in) bvec2 x)\n"
7149 " (declare (in) bvec2 y))\n"
7151 " (signature bvec3\n"
7153 " (declare (in) bvec3 x)\n"
7154 " (declare (in) bvec3 y))\n"
7156 " (signature bvec4\n"
7158 " (declare (in) bvec4 x)\n"
7159 " (declare (in) bvec4 y))\n"
7161 "(function notEqual\n"
7162 " (signature bvec2\n"
7164 " (declare (in) vec2 x)\n"
7165 " (declare (in) vec2 y))\n"
7167 " (signature bvec3\n"
7169 " (declare (in) vec3 x)\n"
7170 " (declare (in) vec3 y))\n"
7172 " (signature bvec4\n"
7174 " (declare (in) vec4 x)\n"
7175 " (declare (in) vec4 y))\n"
7177 " (signature bvec2\n"
7179 " (declare (in) ivec2 x)\n"
7180 " (declare (in) ivec2 y))\n"
7182 " (signature bvec3\n"
7184 " (declare (in) ivec3 x)\n"
7185 " (declare (in) ivec3 y))\n"
7187 " (signature bvec4\n"
7189 " (declare (in) ivec4 x)\n"
7190 " (declare (in) ivec4 y))\n"
7192 " (signature bvec2\n"
7194 " (declare (in) bvec2 x)\n"
7195 " (declare (in) bvec2 y))\n"
7197 " (signature bvec3\n"
7199 " (declare (in) bvec3 x)\n"
7200 " (declare (in) bvec3 y))\n"
7202 " (signature bvec4\n"
7204 " (declare (in) bvec4 x)\n"
7205 " (declare (in) bvec4 y))\n"
7208 " (signature bool\n"
7210 " (declare (in) bvec2 x))\n"
7212 " (signature bool\n"
7214 " (declare (in) bvec3 x))\n"
7216 " (signature bool\n"
7218 " (declare (in) bvec4 x))\n"
7221 " (signature bool\n"
7223 " (declare (in) bvec2 x))\n"
7225 " (signature bool\n"
7227 " (declare (in) bvec3 x))\n"
7229 " (signature bool\n"
7231 " (declare (in) bvec4 x))\n"
7234 " (signature bvec2\n"
7236 " (declare (in) bvec2 x))\n"
7238 " (signature bvec3\n"
7240 " (declare (in) bvec3 x))\n"
7242 " (signature bvec4\n"
7244 " (declare (in) bvec4 x))\n"
7246 "(function texture1D\n"
7247 " (signature vec4\n"
7249 " (declare (in) sampler1D sampler)\n"
7250 " (declare (in) float coord))\n"
7252 "(function texture1DProj\n"
7253 " (signature vec4\n"
7255 " (declare (in) sampler1D sampler)\n"
7256 " (declare (in) vec2 coord))\n"
7258 " (signature vec4\n"
7260 " (declare (in) sampler1D sampler)\n"
7261 " (declare (in) vec4 coord))\n"
7263 "(function texture1DLod\n"
7264 " (signature vec4\n"
7266 " (declare (in) sampler1D sampler)\n"
7267 " (declare (in) float coord)\n"
7268 " (declare (in) float lod))\n"
7270 "(function texture1DProjLod\n"
7271 " (signature vec4\n"
7273 " (declare (in) sampler1D sampler)\n"
7274 " (declare (in) vec2 coord)\n"
7275 " (declare (in) float lod))\n"
7277 " (signature vec4\n"
7279 " (declare (in) sampler1D sampler)\n"
7280 " (declare (in) vec4 coord)\n"
7281 " (declare (in) float lod))\n"
7283 "(function texture2D\n"
7284 " (signature vec4\n"
7286 " (declare (in) sampler2D sampler)\n"
7287 " (declare (in) vec2 coord))\n"
7289 "(function texture2DProj\n"
7290 " (signature vec4\n"
7292 " (declare (in) sampler2D sampler)\n"
7293 " (declare (in) vec3 coord))\n"
7295 " (signature vec4\n"
7297 " (declare (in) sampler2D sampler)\n"
7298 " (declare (in) vec4 coord))\n"
7300 "(function texture2DLod\n"
7301 " (signature vec4\n"
7303 " (declare (in) sampler2D sampler)\n"
7304 " (declare (in) vec2 coord)\n"
7305 " (declare (in) float lod))\n"
7307 "(function texture2DProjLod\n"
7308 " (signature vec4\n"
7310 " (declare (in) sampler2D sampler)\n"
7311 " (declare (in) vec3 coord)\n"
7312 " (declare (in) float lod))\n"
7314 " (signature vec4\n"
7316 " (declare (in) sampler2D sampler)\n"
7317 " (declare (in) vec4 coord)\n"
7318 " (declare (in) float lod))\n"
7320 "(function texture3D\n"
7321 " (signature vec4\n"
7323 " (declare (in) sampler3D sampler)\n"
7324 " (declare (in) vec3 coord))\n"
7326 "(function texture3DProj\n"
7327 " (signature vec4\n"
7329 " (declare (in) sampler3D sampler)\n"
7330 " (declare (in) vec4 coord))\n"
7332 "(function texture3DLod\n"
7333 " (signature vec4\n"
7335 " (declare (in) sampler3D sampler)\n"
7336 " (declare (in) vec3 coord)\n"
7337 " (declare (in) float lod))\n"
7339 "(function texture3DProjLod\n"
7340 " (signature vec4\n"
7342 " (declare (in) sampler3D sampler)\n"
7343 " (declare (in) vec4 coord)\n"
7344 " (declare (in) float lod))\n"
7346 "(function textureCube\n"
7347 " (signature vec4\n"
7349 " (declare (in) samplerCube sampler)\n"
7350 " (declare (in) vec3 coord))\n"
7352 "(function textureCubeLod\n"
7353 " (signature vec4\n"
7355 " (declare (in) samplerCube sampler)\n"
7356 " (declare (in) vec3 coord)\n"
7357 " (declare (in) float lod))\n"
7359 "(function shadow1D\n"
7360 " (signature vec4\n"
7362 " (declare (in) sampler1DShadow sampler)\n"
7363 " (declare (in) vec3 coord))\n"
7365 "(function shadow2D\n"
7366 " (signature vec4\n"
7368 " (declare (in) sampler2DShadow sampler)\n"
7369 " (declare (in) vec3 coord))\n"
7371 "(function shadow1DProj\n"
7372 " (signature vec4\n"
7374 " (declare (in) sampler1DShadow sampler)\n"
7375 " (declare (in) vec4 coord))\n"
7377 "(function shadow2DProj\n"
7378 " (signature vec4\n"
7380 " (declare (in) sampler2DShadow sampler)\n"
7381 " (declare (in) vec4 coord))\n"
7383 "(function shadow1DLod\n"
7384 " (signature vec4\n"
7386 " (declare (in) sampler1DShadow sampler)\n"
7387 " (declare (in) vec3 coord)\n"
7388 " (declare (in) float lod))\n"
7390 "(function shadow2DLod\n"
7391 " (signature vec4\n"
7393 " (declare (in) sampler2DShadow sampler)\n"
7394 " (declare (in) vec3 coord)\n"
7395 " (declare (in) float lod))\n"
7397 "(function shadow1DProjLod\n"
7398 " (signature vec4\n"
7400 " (declare (in) sampler1DShadow sampler)\n"
7401 " (declare (in) vec4 coord)\n"
7402 " (declare (in) float lod))\n"
7404 "(function shadow2DProjLod\n"
7405 " (signature vec4\n"
7407 " (declare (in) sampler2DShadow sampler)\n"
7408 " (declare (in) vec4 coord)\n"
7409 " (declare (in) float lod))\n"
7411 "(function noise1\n"
7412 " (signature float\n"
7414 " (declare (in) float x))\n"
7416 " (signature float\n"
7418 " (declare (in) vec2 x))\n"
7420 " (signature float\n"
7422 " (declare (in) vec3 x))\n"
7424 " (signature float\n"
7426 " (declare (in) vec4 x))\n"
7428 "(function noise2\n"
7429 " (signature vec2\n"
7431 " (declare (in) float x))\n"
7433 " (signature vec2\n"
7435 " (declare (in) vec2 x))\n"
7437 " (signature vec2\n"
7439 " (declare (in) vec3 x))\n"
7441 " (signature vec2\n"
7443 " (declare (in) vec4 x))\n"
7445 "(function noise3\n"
7446 " (signature vec3\n"
7448 " (declare (in) float x))\n"
7450 " (signature vec3\n"
7452 " (declare (in) vec2 x))\n"
7454 " (signature vec3\n"
7456 " (declare (in) vec3 x))\n"
7458 " (signature vec3\n"
7460 " (declare (in) vec4 x))\n"
7462 "(function noise4\n"
7463 " (signature vec4\n"
7465 " (declare (in) float x))\n"
7467 " (signature vec4\n"
7469 " (declare (in) vec2 x))\n"
7471 " (signature vec4\n"
7473 " (declare (in) vec3 x))\n"
7475 " (signature vec4\n"
7477 " (declare (in) vec4 x))\n"
7480 static const char *functions_for_110_vert
[] = {
7497 builtin_faceforward
,
7501 builtin_greaterThan
,
7502 builtin_greaterThanEqual
,
7503 builtin_inversesqrt
,
7506 builtin_lessThanEqual
,
7509 builtin_matrixCompMult
,
7526 builtin_shadow1DLod
,
7527 builtin_shadow1DProj
,
7528 builtin_shadow1DProjLod
,
7530 builtin_shadow2DLod
,
7531 builtin_shadow2DProj
,
7532 builtin_shadow2DProjLod
,
7540 builtin_texture1DLod
,
7541 builtin_texture1DProj
,
7542 builtin_texture1DProjLod
,
7544 builtin_texture2DLod
,
7545 builtin_texture2DProj
,
7546 builtin_texture2DProjLod
,
7548 builtin_texture3DLod
,
7549 builtin_texture3DProj
,
7550 builtin_texture3DProjLod
,
7551 builtin_textureCube
,
7552 builtin_textureCubeLod
,
7554 static const char *prototypes_for_120_frag
=
7556 "(function radians\n"
7557 " (signature float\n"
7559 " (declare (in) float degrees))\n"
7561 " (signature vec2\n"
7563 " (declare (in) vec2 degrees))\n"
7565 " (signature vec3\n"
7567 " (declare (in) vec3 degrees))\n"
7569 " (signature vec4\n"
7571 " (declare (in) vec4 degrees))\n"
7573 "(function degrees\n"
7574 " (signature float\n"
7576 " (declare (in) float radians))\n"
7578 " (signature vec2\n"
7580 " (declare (in) vec2 radians))\n"
7582 " (signature vec3\n"
7584 " (declare (in) vec3 radians))\n"
7586 " (signature vec4\n"
7588 " (declare (in) vec4 radians))\n"
7591 " (signature float\n"
7593 " (declare (in) float angle))\n"
7595 " (signature vec2\n"
7597 " (declare (in) vec2 angle))\n"
7599 " (signature vec3\n"
7601 " (declare (in) vec3 angle))\n"
7603 " (signature vec4\n"
7605 " (declare (in) vec4 angle))\n"
7608 " (signature float\n"
7610 " (declare (in) float angle))\n"
7612 " (signature vec2\n"
7614 " (declare (in) vec2 angle))\n"
7616 " (signature vec3\n"
7618 " (declare (in) vec3 angle))\n"
7620 " (signature vec4\n"
7622 " (declare (in) vec4 angle))\n"
7625 " (signature float\n"
7627 " (declare (in) float angle))\n"
7629 " (signature vec2\n"
7631 " (declare (in) vec2 angle))\n"
7633 " (signature vec3\n"
7635 " (declare (in) vec3 angle))\n"
7637 " (signature vec4\n"
7639 " (declare (in) vec4 angle))\n"
7642 " (signature float\n"
7644 " (declare (in) float angle))\n"
7646 " (signature vec2\n"
7648 " (declare (in) vec2 angle))\n"
7650 " (signature vec3\n"
7652 " (declare (in) vec3 angle))\n"
7654 " (signature vec4\n"
7656 " (declare (in) vec4 angle))\n"
7659 " (signature float\n"
7661 " (declare (in) float angle))\n"
7663 " (signature vec2\n"
7665 " (declare (in) vec2 angle))\n"
7667 " (signature vec3\n"
7669 " (declare (in) vec3 angle))\n"
7671 " (signature vec4\n"
7673 " (declare (in) vec4 angle))\n"
7676 " (signature float\n"
7678 " (declare (in) float y)\n"
7679 " (declare (in) float x))\n"
7681 " (signature vec2\n"
7683 " (declare (in) vec2 y)\n"
7684 " (declare (in) vec2 x))\n"
7686 " (signature vec3\n"
7688 " (declare (in) vec3 y)\n"
7689 " (declare (in) vec3 x))\n"
7691 " (signature vec4\n"
7693 " (declare (in) vec4 y)\n"
7694 " (declare (in) vec4 x))\n"
7696 " (signature float\n"
7698 " (declare (in) float y_over_x))\n"
7700 " (signature vec2\n"
7702 " (declare (in) vec2 y_over_x))\n"
7704 " (signature vec3\n"
7706 " (declare (in) vec3 y_over_x))\n"
7708 " (signature vec4\n"
7710 " (declare (in) vec4 y_over_x))\n"
7713 " (signature float\n"
7715 " (declare (in) float x)\n"
7716 " (declare (in) float y))\n"
7718 " (signature vec2\n"
7720 " (declare (in) vec2 x)\n"
7721 " (declare (in) vec2 y))\n"
7723 " (signature vec3\n"
7725 " (declare (in) vec3 x)\n"
7726 " (declare (in) vec3 y))\n"
7728 " (signature vec4\n"
7730 " (declare (in) vec4 x)\n"
7731 " (declare (in) vec4 y))\n"
7734 " (signature float\n"
7736 " (declare (in) float x))\n"
7738 " (signature vec2\n"
7740 " (declare (in) vec2 x))\n"
7742 " (signature vec3\n"
7744 " (declare (in) vec3 x))\n"
7746 " (signature vec4\n"
7748 " (declare (in) vec4 x))\n"
7751 " (signature float\n"
7753 " (declare (in) float x))\n"
7755 " (signature vec2\n"
7757 " (declare (in) vec2 x))\n"
7759 " (signature vec3\n"
7761 " (declare (in) vec3 x))\n"
7763 " (signature vec4\n"
7765 " (declare (in) vec4 x))\n"
7768 " (signature float\n"
7770 " (declare (in) float x))\n"
7772 " (signature vec2\n"
7774 " (declare (in) vec2 x))\n"
7776 " (signature vec3\n"
7778 " (declare (in) vec3 x))\n"
7780 " (signature vec4\n"
7782 " (declare (in) vec4 x))\n"
7785 " (signature float\n"
7787 " (declare (in) float x))\n"
7789 " (signature vec2\n"
7791 " (declare (in) vec2 x))\n"
7793 " (signature vec3\n"
7795 " (declare (in) vec3 x))\n"
7797 " (signature vec4\n"
7799 " (declare (in) vec4 x))\n"
7802 " (signature float\n"
7804 " (declare (in) float x))\n"
7806 " (signature vec2\n"
7808 " (declare (in) vec2 x))\n"
7810 " (signature vec3\n"
7812 " (declare (in) vec3 x))\n"
7814 " (signature vec4\n"
7816 " (declare (in) vec4 x))\n"
7818 "(function inversesqrt\n"
7819 " (signature float\n"
7821 " (declare (in) float x))\n"
7823 " (signature vec2\n"
7825 " (declare (in) vec2 x))\n"
7827 " (signature vec3\n"
7829 " (declare (in) vec3 x))\n"
7831 " (signature vec4\n"
7833 " (declare (in) vec4 x))\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"
7853 " (signature float\n"
7855 " (declare (in) float x))\n"
7857 " (signature vec2\n"
7859 " (declare (in) vec2 x))\n"
7861 " (signature vec3\n"
7863 " (declare (in) vec3 x))\n"
7865 " (signature vec4\n"
7867 " (declare (in) vec4 x))\n"
7870 " (signature float\n"
7872 " (declare (in) float x))\n"
7874 " (signature vec2\n"
7876 " (declare (in) vec2 x))\n"
7878 " (signature vec3\n"
7880 " (declare (in) vec3 x))\n"
7882 " (signature vec4\n"
7884 " (declare (in) vec4 x))\n"
7887 " (signature float\n"
7889 " (declare (in) float x))\n"
7891 " (signature vec2\n"
7893 " (declare (in) vec2 x))\n"
7895 " (signature vec3\n"
7897 " (declare (in) vec3 x))\n"
7899 " (signature vec4\n"
7901 " (declare (in) vec4 x))\n"
7904 " (signature float\n"
7906 " (declare (in) float x))\n"
7908 " (signature vec2\n"
7910 " (declare (in) vec2 x))\n"
7912 " (signature vec3\n"
7914 " (declare (in) vec3 x))\n"
7916 " (signature vec4\n"
7918 " (declare (in) vec4 x))\n"
7921 " (signature float\n"
7923 " (declare (in) float x)\n"
7924 " (declare (in) float y))\n"
7926 " (signature vec2\n"
7928 " (declare (in) vec2 x)\n"
7929 " (declare (in) float y))\n"
7931 " (signature vec3\n"
7933 " (declare (in) vec3 x)\n"
7934 " (declare (in) float y))\n"
7936 " (signature vec4\n"
7938 " (declare (in) vec4 x)\n"
7939 " (declare (in) float y))\n"
7941 " (signature vec2\n"
7943 " (declare (in) vec2 x)\n"
7944 " (declare (in) vec2 y))\n"
7946 " (signature vec3\n"
7948 " (declare (in) vec3 x)\n"
7949 " (declare (in) vec3 y))\n"
7951 " (signature vec4\n"
7953 " (declare (in) vec4 x)\n"
7954 " (declare (in) vec4 y))\n"
7957 " (signature float\n"
7959 " (declare (in) float x)\n"
7960 " (declare (in) float y))\n"
7962 " (signature vec2\n"
7964 " (declare (in) vec2 x)\n"
7965 " (declare (in) vec2 y))\n"
7967 " (signature vec3\n"
7969 " (declare (in) vec3 x)\n"
7970 " (declare (in) vec3 y))\n"
7972 " (signature vec4\n"
7974 " (declare (in) vec4 x)\n"
7975 " (declare (in) vec4 y))\n"
7977 " (signature vec2\n"
7979 " (declare (in) vec2 x)\n"
7980 " (declare (in) float y))\n"
7982 " (signature vec3\n"
7984 " (declare (in) vec3 x)\n"
7985 " (declare (in) float y))\n"
7987 " (signature vec4\n"
7989 " (declare (in) vec4 x)\n"
7990 " (declare (in) float y))\n"
7993 " (signature float\n"
7995 " (declare (in) float x)\n"
7996 " (declare (in) float y))\n"
7998 " (signature vec2\n"
8000 " (declare (in) vec2 x)\n"
8001 " (declare (in) vec2 y))\n"
8003 " (signature vec3\n"
8005 " (declare (in) vec3 x)\n"
8006 " (declare (in) vec3 y))\n"
8008 " (signature vec4\n"
8010 " (declare (in) vec4 x)\n"
8011 " (declare (in) vec4 y))\n"
8013 " (signature vec2\n"
8015 " (declare (in) vec2 x)\n"
8016 " (declare (in) float y))\n"
8018 " (signature vec3\n"
8020 " (declare (in) vec3 x)\n"
8021 " (declare (in) float y))\n"
8023 " (signature vec4\n"
8025 " (declare (in) vec4 x)\n"
8026 " (declare (in) float y))\n"
8029 " (signature float\n"
8031 " (declare (in) float x)\n"
8032 " (declare (in) float minVal)\n"
8033 " (declare (in) float maxVal))\n"
8035 " (signature vec2\n"
8037 " (declare (in) vec2 x)\n"
8038 " (declare (in) vec2 minVal)\n"
8039 " (declare (in) vec2 maxVal))\n"
8041 " (signature vec3\n"
8043 " (declare (in) vec3 x)\n"
8044 " (declare (in) vec3 minVal)\n"
8045 " (declare (in) vec3 maxVal))\n"
8047 " (signature vec4\n"
8049 " (declare (in) vec4 x)\n"
8050 " (declare (in) vec4 minVal)\n"
8051 " (declare (in) vec4 maxVal))\n"
8053 " (signature vec2\n"
8055 " (declare (in) vec2 x)\n"
8056 " (declare (in) float minVal)\n"
8057 " (declare (in) float maxVal))\n"
8059 " (signature vec3\n"
8061 " (declare (in) vec3 x)\n"
8062 " (declare (in) float minVal)\n"
8063 " (declare (in) float maxVal))\n"
8065 " (signature vec4\n"
8067 " (declare (in) vec4 x)\n"
8068 " (declare (in) float minVal)\n"
8069 " (declare (in) float maxVal))\n"
8072 " (signature float\n"
8074 " (declare (in) float x)\n"
8075 " (declare (in) float y)\n"
8076 " (declare (in) float a))\n"
8078 " (signature vec2\n"
8080 " (declare (in) vec2 x)\n"
8081 " (declare (in) vec2 y)\n"
8082 " (declare (in) vec2 a))\n"
8084 " (signature vec3\n"
8086 " (declare (in) vec3 x)\n"
8087 " (declare (in) vec3 y)\n"
8088 " (declare (in) vec3 a))\n"
8090 " (signature vec4\n"
8092 " (declare (in) vec4 x)\n"
8093 " (declare (in) vec4 y)\n"
8094 " (declare (in) vec4 a))\n"
8096 " (signature vec2\n"
8098 " (declare (in) vec2 x)\n"
8099 " (declare (in) vec2 y)\n"
8100 " (declare (in) float a))\n"
8102 " (signature vec3\n"
8104 " (declare (in) vec3 x)\n"
8105 " (declare (in) vec3 y)\n"
8106 " (declare (in) float a))\n"
8108 " (signature vec4\n"
8110 " (declare (in) vec4 x)\n"
8111 " (declare (in) vec4 y)\n"
8112 " (declare (in) float a))\n"
8115 " (signature float\n"
8117 " (declare (in) float edge)\n"
8118 " (declare (in) float x))\n"
8120 " (signature vec2\n"
8122 " (declare (in) vec2 edge)\n"
8123 " (declare (in) vec2 x))\n"
8125 " (signature vec3\n"
8127 " (declare (in) vec3 edge)\n"
8128 " (declare (in) vec3 x))\n"
8130 " (signature vec4\n"
8132 " (declare (in) vec4 edge)\n"
8133 " (declare (in) vec4 x))\n"
8135 " (signature vec2\n"
8137 " (declare (in) float edge)\n"
8138 " (declare (in) vec2 x))\n"
8140 " (signature vec3\n"
8142 " (declare (in) float edge)\n"
8143 " (declare (in) vec3 x))\n"
8145 " (signature vec4\n"
8147 " (declare (in) float edge)\n"
8148 " (declare (in) vec4 x))\n"
8150 "(function smoothstep\n"
8151 " (signature float\n"
8153 " (declare (in) float edge0)\n"
8154 " (declare (in) float edge1)\n"
8155 " (declare (in) float x))\n"
8157 " (signature vec2\n"
8159 " (declare (in) vec2 edge0)\n"
8160 " (declare (in) vec2 edge1)\n"
8161 " (declare (in) vec2 x))\n"
8163 " (signature vec3\n"
8165 " (declare (in) vec3 edge0)\n"
8166 " (declare (in) vec3 edge1)\n"
8167 " (declare (in) vec3 x))\n"
8169 " (signature vec4\n"
8171 " (declare (in) vec4 edge0)\n"
8172 " (declare (in) vec4 edge1)\n"
8173 " (declare (in) vec4 x))\n"
8175 " (signature vec2\n"
8177 " (declare (in) float edge0)\n"
8178 " (declare (in) float edge1)\n"
8179 " (declare (in) vec2 x))\n"
8181 " (signature vec3\n"
8183 " (declare (in) float edge0)\n"
8184 " (declare (in) float edge1)\n"
8185 " (declare (in) vec3 x))\n"
8187 " (signature vec4\n"
8189 " (declare (in) float edge0)\n"
8190 " (declare (in) float edge1)\n"
8191 " (declare (in) vec4 x))\n"
8193 "(function length\n"
8194 " (signature float\n"
8196 " (declare (in) float x))\n"
8198 " (signature float\n"
8200 " (declare (in) vec2 x))\n"
8202 " (signature float\n"
8204 " (declare (in) vec3 x))\n"
8206 " (signature float\n"
8208 " (declare (in) vec4 x))\n"
8210 "(function distance\n"
8211 " (signature float\n"
8213 " (declare (in) float p0)\n"
8214 " (declare (in) float p1))\n"
8216 " (signature float\n"
8218 " (declare (in) vec2 p0)\n"
8219 " (declare (in) vec2 p1))\n"
8221 " (signature float\n"
8223 " (declare (in) vec3 p0)\n"
8224 " (declare (in) vec3 p1))\n"
8226 " (signature float\n"
8228 " (declare (in) vec4 p0)\n"
8229 " (declare (in) vec4 p1))\n"
8232 " (signature float\n"
8234 " (declare (in) float x)\n"
8235 " (declare (in) float y))\n"
8237 " (signature float\n"
8239 " (declare (in) vec2 x)\n"
8240 " (declare (in) vec2 y))\n"
8242 " (signature float\n"
8244 " (declare (in) vec3 x)\n"
8245 " (declare (in) vec3 y))\n"
8247 " (signature float\n"
8249 " (declare (in) vec4 x)\n"
8250 " (declare (in) vec4 y))\n"
8253 " (signature vec3\n"
8255 " (declare (in) vec3 x)\n"
8256 " (declare (in) vec3 y))\n"
8258 "(function normalize\n"
8259 " (signature float\n"
8261 " (declare (in) float x))\n"
8263 " (signature vec2\n"
8265 " (declare (in) vec2 x))\n"
8267 " (signature vec3\n"
8269 " (declare (in) vec3 x))\n"
8271 " (signature vec4\n"
8273 " (declare (in) vec4 x))\n"
8275 "(function faceforward\n"
8276 " (signature float\n"
8278 " (declare (in) float N)\n"
8279 " (declare (in) float I)\n"
8280 " (declare (in) float Nref))\n"
8282 " (signature vec2\n"
8284 " (declare (in) vec2 N)\n"
8285 " (declare (in) vec2 I)\n"
8286 " (declare (in) vec2 Nref))\n"
8288 " (signature vec3\n"
8290 " (declare (in) vec3 N)\n"
8291 " (declare (in) vec3 I)\n"
8292 " (declare (in) vec3 Nref))\n"
8294 " (signature vec4\n"
8296 " (declare (in) vec4 N)\n"
8297 " (declare (in) vec4 I)\n"
8298 " (declare (in) vec4 Nref))\n"
8300 "(function reflect\n"
8301 " (signature float\n"
8303 " (declare (in) float I)\n"
8304 " (declare (in) float N))\n"
8306 " (signature vec2\n"
8308 " (declare (in) vec2 I)\n"
8309 " (declare (in) vec2 N))\n"
8311 " (signature vec3\n"
8313 " (declare (in) vec3 I)\n"
8314 " (declare (in) vec3 N))\n"
8316 " (signature vec4\n"
8318 " (declare (in) vec4 I)\n"
8319 " (declare (in) vec4 N))\n"
8321 "(function refract\n"
8322 " (signature float\n"
8324 " (declare (in) float I)\n"
8325 " (declare (in) float N)\n"
8326 " (declare (in) float eta))\n"
8328 " (signature vec2\n"
8330 " (declare (in) vec2 I)\n"
8331 " (declare (in) vec2 N)\n"
8332 " (declare (in) float eta))\n"
8334 " (signature vec3\n"
8336 " (declare (in) vec3 I)\n"
8337 " (declare (in) vec3 N)\n"
8338 " (declare (in) float eta))\n"
8340 " (signature vec4\n"
8342 " (declare (in) vec4 I)\n"
8343 " (declare (in) vec4 N)\n"
8344 " (declare (in) float eta))\n"
8346 "(function matrixCompMult\n"
8347 " (signature mat2\n"
8349 " (declare (in) mat2 x)\n"
8350 " (declare (in) mat2 y))\n"
8352 " (signature mat3\n"
8354 " (declare (in) mat3 x)\n"
8355 " (declare (in) mat3 y))\n"
8357 " (signature mat4\n"
8359 " (declare (in) mat4 x)\n"
8360 " (declare (in) mat4 y))\n"
8362 " (signature mat2x3\n"
8364 " (declare (in) mat2x3 x)\n"
8365 " (declare (in) mat2x3 y))\n"
8367 " (signature mat2x4\n"
8369 " (declare (in) mat2x4 x)\n"
8370 " (declare (in) mat2x4 y))\n"
8372 " (signature mat3x2\n"
8374 " (declare (in) mat3x2 x)\n"
8375 " (declare (in) mat3x2 y))\n"
8377 " (signature mat3x4\n"
8379 " (declare (in) mat3x4 x)\n"
8380 " (declare (in) mat3x4 y))\n"
8382 " (signature mat4x2\n"
8384 " (declare (in) mat4x2 x)\n"
8385 " (declare (in) mat4x2 y))\n"
8387 " (signature mat4x3\n"
8389 " (declare (in) mat4x3 x)\n"
8390 " (declare (in) mat4x3 y))\n"
8392 "(function outerProduct\n"
8393 " (signature mat2\n"
8395 " (declare (in) vec2 c)\n"
8396 " (declare (in) vec2 r))\n"
8398 " (signature mat3\n"
8400 " (declare (in) vec3 c)\n"
8401 " (declare (in) vec3 r))\n"
8403 " (signature mat4\n"
8405 " (declare (in) vec4 c)\n"
8406 " (declare (in) vec4 r))\n"
8408 " (signature mat2x3\n"
8410 " (declare (in) vec3 c)\n"
8411 " (declare (in) vec2 r))\n"
8413 " (signature mat3x2\n"
8415 " (declare (in) vec2 c)\n"
8416 " (declare (in) vec3 r))\n"
8418 " (signature mat2x4\n"
8420 " (declare (in) vec4 c)\n"
8421 " (declare (in) vec2 r))\n"
8423 " (signature mat4x2\n"
8425 " (declare (in) vec2 c)\n"
8426 " (declare (in) vec4 r))\n"
8428 " (signature mat3x4\n"
8430 " (declare (in) vec4 c)\n"
8431 " (declare (in) vec3 r))\n"
8433 " (signature mat4x3\n"
8435 " (declare (in) vec3 c)\n"
8436 " (declare (in) vec4 r))\n"
8438 "(function transpose\n"
8439 " (signature mat2\n"
8441 " (declare (in) mat2 m))\n"
8443 " (signature mat3\n"
8445 " (declare (in) mat3 m))\n"
8447 " (signature mat4\n"
8449 " (declare (in) mat4 m))\n"
8451 " (signature mat2x3\n"
8453 " (declare (in) mat3x2 m))\n"
8455 " (signature mat3x2\n"
8457 " (declare (in) mat2x3 m))\n"
8459 " (signature mat2x4\n"
8461 " (declare (in) mat4x2 m))\n"
8463 " (signature mat4x2\n"
8465 " (declare (in) mat2x4 m))\n"
8467 " (signature mat3x4\n"
8469 " (declare (in) mat4x3 m))\n"
8471 " (signature mat4x3\n"
8473 " (declare (in) mat3x4 m))\n"
8475 "(function lessThan\n"
8476 " (signature bvec2\n"
8478 " (declare (in) vec2 x)\n"
8479 " (declare (in) vec2 y))\n"
8481 " (signature bvec3\n"
8483 " (declare (in) vec3 x)\n"
8484 " (declare (in) vec3 y))\n"
8486 " (signature bvec4\n"
8488 " (declare (in) vec4 x)\n"
8489 " (declare (in) vec4 y))\n"
8491 " (signature bvec2\n"
8493 " (declare (in) ivec2 x)\n"
8494 " (declare (in) ivec2 y))\n"
8496 " (signature bvec3\n"
8498 " (declare (in) ivec3 x)\n"
8499 " (declare (in) ivec3 y))\n"
8501 " (signature bvec4\n"
8503 " (declare (in) ivec4 x)\n"
8504 " (declare (in) ivec4 y))\n"
8506 "(function lessThanEqual\n"
8507 " (signature bvec2\n"
8509 " (declare (in) vec2 x)\n"
8510 " (declare (in) vec2 y))\n"
8512 " (signature bvec3\n"
8514 " (declare (in) vec3 x)\n"
8515 " (declare (in) vec3 y))\n"
8517 " (signature bvec4\n"
8519 " (declare (in) vec4 x)\n"
8520 " (declare (in) vec4 y))\n"
8522 " (signature bvec2\n"
8524 " (declare (in) ivec2 x)\n"
8525 " (declare (in) ivec2 y))\n"
8527 " (signature bvec3\n"
8529 " (declare (in) ivec3 x)\n"
8530 " (declare (in) ivec3 y))\n"
8532 " (signature bvec4\n"
8534 " (declare (in) ivec4 x)\n"
8535 " (declare (in) ivec4 y))\n"
8537 "(function greaterThan\n"
8538 " (signature bvec2\n"
8540 " (declare (in) vec2 x)\n"
8541 " (declare (in) vec2 y))\n"
8543 " (signature bvec3\n"
8545 " (declare (in) vec3 x)\n"
8546 " (declare (in) vec3 y))\n"
8548 " (signature bvec4\n"
8550 " (declare (in) vec4 x)\n"
8551 " (declare (in) vec4 y))\n"
8553 " (signature bvec2\n"
8555 " (declare (in) ivec2 x)\n"
8556 " (declare (in) ivec2 y))\n"
8558 " (signature bvec3\n"
8560 " (declare (in) ivec3 x)\n"
8561 " (declare (in) ivec3 y))\n"
8563 " (signature bvec4\n"
8565 " (declare (in) ivec4 x)\n"
8566 " (declare (in) ivec4 y))\n"
8568 "(function greaterThanEqual\n"
8569 " (signature bvec2\n"
8571 " (declare (in) vec2 x)\n"
8572 " (declare (in) vec2 y))\n"
8574 " (signature bvec3\n"
8576 " (declare (in) vec3 x)\n"
8577 " (declare (in) vec3 y))\n"
8579 " (signature bvec4\n"
8581 " (declare (in) vec4 x)\n"
8582 " (declare (in) vec4 y))\n"
8584 " (signature bvec2\n"
8586 " (declare (in) ivec2 x)\n"
8587 " (declare (in) ivec2 y))\n"
8589 " (signature bvec3\n"
8591 " (declare (in) ivec3 x)\n"
8592 " (declare (in) ivec3 y))\n"
8594 " (signature bvec4\n"
8596 " (declare (in) ivec4 x)\n"
8597 " (declare (in) ivec4 y))\n"
8600 " (signature bvec2\n"
8602 " (declare (in) vec2 x)\n"
8603 " (declare (in) vec2 y))\n"
8605 " (signature bvec3\n"
8607 " (declare (in) vec3 x)\n"
8608 " (declare (in) vec3 y))\n"
8610 " (signature bvec4\n"
8612 " (declare (in) vec4 x)\n"
8613 " (declare (in) vec4 y))\n"
8615 " (signature bvec2\n"
8617 " (declare (in) ivec2 x)\n"
8618 " (declare (in) ivec2 y))\n"
8620 " (signature bvec3\n"
8622 " (declare (in) ivec3 x)\n"
8623 " (declare (in) ivec3 y))\n"
8625 " (signature bvec4\n"
8627 " (declare (in) ivec4 x)\n"
8628 " (declare (in) ivec4 y))\n"
8630 " (signature bvec2\n"
8632 " (declare (in) bvec2 x)\n"
8633 " (declare (in) bvec2 y))\n"
8635 " (signature bvec3\n"
8637 " (declare (in) bvec3 x)\n"
8638 " (declare (in) bvec3 y))\n"
8640 " (signature bvec4\n"
8642 " (declare (in) bvec4 x)\n"
8643 " (declare (in) bvec4 y))\n"
8645 "(function notEqual\n"
8646 " (signature bvec2\n"
8648 " (declare (in) vec2 x)\n"
8649 " (declare (in) vec2 y))\n"
8651 " (signature bvec3\n"
8653 " (declare (in) vec3 x)\n"
8654 " (declare (in) vec3 y))\n"
8656 " (signature bvec4\n"
8658 " (declare (in) vec4 x)\n"
8659 " (declare (in) vec4 y))\n"
8661 " (signature bvec2\n"
8663 " (declare (in) ivec2 x)\n"
8664 " (declare (in) ivec2 y))\n"
8666 " (signature bvec3\n"
8668 " (declare (in) ivec3 x)\n"
8669 " (declare (in) ivec3 y))\n"
8671 " (signature bvec4\n"
8673 " (declare (in) ivec4 x)\n"
8674 " (declare (in) ivec4 y))\n"
8676 " (signature bvec2\n"
8678 " (declare (in) bvec2 x)\n"
8679 " (declare (in) bvec2 y))\n"
8681 " (signature bvec3\n"
8683 " (declare (in) bvec3 x)\n"
8684 " (declare (in) bvec3 y))\n"
8686 " (signature bvec4\n"
8688 " (declare (in) bvec4 x)\n"
8689 " (declare (in) bvec4 y))\n"
8692 " (signature bool\n"
8694 " (declare (in) bvec2 x))\n"
8696 " (signature bool\n"
8698 " (declare (in) bvec3 x))\n"
8700 " (signature bool\n"
8702 " (declare (in) bvec4 x))\n"
8705 " (signature bool\n"
8707 " (declare (in) bvec2 x))\n"
8709 " (signature bool\n"
8711 " (declare (in) bvec3 x))\n"
8713 " (signature bool\n"
8715 " (declare (in) bvec4 x))\n"
8718 " (signature bvec2\n"
8720 " (declare (in) bvec2 x))\n"
8722 " (signature bvec3\n"
8724 " (declare (in) bvec3 x))\n"
8726 " (signature bvec4\n"
8728 " (declare (in) bvec4 x))\n"
8730 "(function texture1D\n"
8731 " (signature vec4\n"
8733 " (declare (in) sampler1D sampler)\n"
8734 " (declare (in) float coord))\n"
8736 " (signature vec4\n"
8738 " (declare (in) sampler1D sampler)\n"
8739 " (declare (in) float coord)\n"
8740 " (declare (in) float bias))\n"
8742 "(function texture1DProj\n"
8743 " (signature vec4\n"
8745 " (declare (in) sampler1D sampler)\n"
8746 " (declare (in) vec2 coord))\n"
8748 " (signature vec4\n"
8750 " (declare (in) sampler1D sampler)\n"
8751 " (declare (in) vec4 coord))\n"
8753 " (signature vec4\n"
8755 " (declare (in) sampler1D sampler)\n"
8756 " (declare (in) vec2 coord)\n"
8757 " (declare (in) float bias))\n"
8759 " (signature vec4\n"
8761 " (declare (in) sampler1D sampler)\n"
8762 " (declare (in) vec4 coord)\n"
8763 " (declare (in) float bias))\n"
8765 "(function texture2D\n"
8766 " (signature vec4\n"
8768 " (declare (in) sampler2D sampler)\n"
8769 " (declare (in) vec2 coord))\n"
8771 " (signature vec4\n"
8773 " (declare (in) sampler2D sampler)\n"
8774 " (declare (in) vec2 coord)\n"
8775 " (declare (in) float bias))\n"
8777 "(function texture2DProj\n"
8778 " (signature vec4\n"
8780 " (declare (in) sampler2D sampler)\n"
8781 " (declare (in) vec3 coord))\n"
8783 " (signature vec4\n"
8785 " (declare (in) sampler2D sampler)\n"
8786 " (declare (in) vec4 coord))\n"
8788 " (signature vec4\n"
8790 " (declare (in) sampler2D sampler)\n"
8791 " (declare (in) vec3 coord)\n"
8792 " (declare (in) float bias))\n"
8794 " (signature vec4\n"
8796 " (declare (in) sampler2D sampler)\n"
8797 " (declare (in) vec4 coord)\n"
8798 " (declare (in) float bias))\n"
8800 "(function texture3D\n"
8801 " (signature vec4\n"
8803 " (declare (in) sampler3D sampler)\n"
8804 " (declare (in) vec3 coord))\n"
8806 " (signature vec4\n"
8808 " (declare (in) sampler3D sampler)\n"
8809 " (declare (in) vec3 coord)\n"
8810 " (declare (in) float bias))\n"
8812 "(function texture3DProj\n"
8813 " (signature vec4\n"
8815 " (declare (in) sampler3D sampler)\n"
8816 " (declare (in) vec4 coord))\n"
8818 " (signature vec4\n"
8820 " (declare (in) sampler3D sampler)\n"
8821 " (declare (in) vec4 coord)\n"
8822 " (declare (in) float bias))\n"
8824 "(function textureCube\n"
8825 " (signature vec4\n"
8827 " (declare (in) samplerCube sampler)\n"
8828 " (declare (in) vec3 coord))\n"
8830 " (signature vec4\n"
8832 " (declare (in) samplerCube sampler)\n"
8833 " (declare (in) vec3 coord)\n"
8834 " (declare (in) float bias))\n"
8836 "(function shadow1D\n"
8837 " (signature vec4\n"
8839 " (declare (in) sampler1DShadow sampler)\n"
8840 " (declare (in) vec3 coord))\n"
8842 " (signature vec4\n"
8844 " (declare (in) sampler1DShadow sampler)\n"
8845 " (declare (in) vec3 coord)\n"
8846 " (declare (in) float bias))\n"
8848 "(function shadow2D\n"
8849 " (signature vec4\n"
8851 " (declare (in) sampler2DShadow sampler)\n"
8852 " (declare (in) vec3 coord))\n"
8854 " (signature vec4\n"
8856 " (declare (in) sampler2DShadow sampler)\n"
8857 " (declare (in) vec3 coord)\n"
8858 " (declare (in) float bias))\n"
8860 "(function shadow1DProj\n"
8861 " (signature vec4\n"
8863 " (declare (in) sampler1DShadow sampler)\n"
8864 " (declare (in) vec4 coord))\n"
8866 " (signature vec4\n"
8868 " (declare (in) sampler1DShadow sampler)\n"
8869 " (declare (in) vec4 coord)\n"
8870 " (declare (in) float bias))\n"
8872 "(function shadow2DProj\n"
8873 " (signature vec4\n"
8875 " (declare (in) sampler2DShadow sampler)\n"
8876 " (declare (in) vec4 coord))\n"
8878 " (signature vec4\n"
8880 " (declare (in) sampler2DShadow sampler)\n"
8881 " (declare (in) vec4 coord)\n"
8882 " (declare (in) float bias))\n"
8885 " (signature float\n"
8887 " (declare (in) float p))\n"
8889 " (signature vec2\n"
8891 " (declare (in) vec2 p))\n"
8893 " (signature vec3\n"
8895 " (declare (in) vec3 p))\n"
8897 " (signature vec4\n"
8899 " (declare (in) vec4 p))\n"
8902 " (signature float\n"
8904 " (declare (in) float p))\n"
8906 " (signature vec2\n"
8908 " (declare (in) vec2 p))\n"
8910 " (signature vec3\n"
8912 " (declare (in) vec3 p))\n"
8914 " (signature vec4\n"
8916 " (declare (in) vec4 p))\n"
8918 "(function fwidth\n"
8919 " (signature float\n"
8921 " (declare (in) float p))\n"
8923 " (signature vec2\n"
8925 " (declare (in) vec2 p))\n"
8927 " (signature vec3\n"
8929 " (declare (in) vec3 p))\n"
8931 " (signature vec4\n"
8933 " (declare (in) vec4 p))\n"
8935 "(function noise1\n"
8936 " (signature float\n"
8938 " (declare (in) float x))\n"
8940 " (signature float\n"
8942 " (declare (in) vec2 x))\n"
8944 " (signature float\n"
8946 " (declare (in) vec3 x))\n"
8948 " (signature float\n"
8950 " (declare (in) vec4 x))\n"
8952 "(function noise2\n"
8953 " (signature vec2\n"
8955 " (declare (in) float x))\n"
8957 " (signature vec2\n"
8959 " (declare (in) vec2 x))\n"
8961 " (signature vec2\n"
8963 " (declare (in) vec3 x))\n"
8965 " (signature vec2\n"
8967 " (declare (in) vec4 x))\n"
8969 "(function noise3\n"
8970 " (signature vec3\n"
8972 " (declare (in) float x))\n"
8974 " (signature vec3\n"
8976 " (declare (in) vec2 x))\n"
8978 " (signature vec3\n"
8980 " (declare (in) vec3 x))\n"
8982 " (signature vec3\n"
8984 " (declare (in) vec4 x))\n"
8986 "(function noise4\n"
8987 " (signature vec4\n"
8989 " (declare (in) float x))\n"
8991 " (signature vec4\n"
8993 " (declare (in) vec2 x))\n"
8995 " (signature vec4\n"
8997 " (declare (in) vec3 x))\n"
8999 " (signature vec4\n"
9001 " (declare (in) vec4 x))\n"
9004 static const char *functions_for_120_frag
[] = {
9023 builtin_faceforward
,
9027 builtin_greaterThan
,
9028 builtin_greaterThanEqual
,
9029 builtin_inversesqrt
,
9032 builtin_lessThanEqual
,
9035 builtin_matrixCompMult
,
9047 builtin_outerProduct
,
9053 builtin_shadow1DProj
,
9055 builtin_shadow2DProj
,
9063 builtin_texture1DProj
,
9065 builtin_texture2DProj
,
9067 builtin_texture3DProj
,
9068 builtin_textureCube
,
9071 static const char *prototypes_for_120_vert
=
9073 "(function radians\n"
9074 " (signature float\n"
9076 " (declare (in) float degrees))\n"
9078 " (signature vec2\n"
9080 " (declare (in) vec2 degrees))\n"
9082 " (signature vec3\n"
9084 " (declare (in) vec3 degrees))\n"
9086 " (signature vec4\n"
9088 " (declare (in) vec4 degrees))\n"
9090 "(function degrees\n"
9091 " (signature float\n"
9093 " (declare (in) float radians))\n"
9095 " (signature vec2\n"
9097 " (declare (in) vec2 radians))\n"
9099 " (signature vec3\n"
9101 " (declare (in) vec3 radians))\n"
9103 " (signature vec4\n"
9105 " (declare (in) vec4 radians))\n"
9108 " (signature float\n"
9110 " (declare (in) float angle))\n"
9112 " (signature vec2\n"
9114 " (declare (in) vec2 angle))\n"
9116 " (signature vec3\n"
9118 " (declare (in) vec3 angle))\n"
9120 " (signature vec4\n"
9122 " (declare (in) vec4 angle))\n"
9125 " (signature float\n"
9127 " (declare (in) float angle))\n"
9129 " (signature vec2\n"
9131 " (declare (in) vec2 angle))\n"
9133 " (signature vec3\n"
9135 " (declare (in) vec3 angle))\n"
9137 " (signature vec4\n"
9139 " (declare (in) vec4 angle))\n"
9142 " (signature float\n"
9144 " (declare (in) float angle))\n"
9146 " (signature vec2\n"
9148 " (declare (in) vec2 angle))\n"
9150 " (signature vec3\n"
9152 " (declare (in) vec3 angle))\n"
9154 " (signature vec4\n"
9156 " (declare (in) vec4 angle))\n"
9159 " (signature float\n"
9161 " (declare (in) float angle))\n"
9163 " (signature vec2\n"
9165 " (declare (in) vec2 angle))\n"
9167 " (signature vec3\n"
9169 " (declare (in) vec3 angle))\n"
9171 " (signature vec4\n"
9173 " (declare (in) vec4 angle))\n"
9176 " (signature float\n"
9178 " (declare (in) float angle))\n"
9180 " (signature vec2\n"
9182 " (declare (in) vec2 angle))\n"
9184 " (signature vec3\n"
9186 " (declare (in) vec3 angle))\n"
9188 " (signature vec4\n"
9190 " (declare (in) vec4 angle))\n"
9193 " (signature float\n"
9195 " (declare (in) float y)\n"
9196 " (declare (in) float x))\n"
9198 " (signature vec2\n"
9200 " (declare (in) vec2 y)\n"
9201 " (declare (in) vec2 x))\n"
9203 " (signature vec3\n"
9205 " (declare (in) vec3 y)\n"
9206 " (declare (in) vec3 x))\n"
9208 " (signature vec4\n"
9210 " (declare (in) vec4 y)\n"
9211 " (declare (in) vec4 x))\n"
9213 " (signature float\n"
9215 " (declare (in) float y_over_x))\n"
9217 " (signature vec2\n"
9219 " (declare (in) vec2 y_over_x))\n"
9221 " (signature vec3\n"
9223 " (declare (in) vec3 y_over_x))\n"
9225 " (signature vec4\n"
9227 " (declare (in) vec4 y_over_x))\n"
9230 " (signature float\n"
9232 " (declare (in) float x)\n"
9233 " (declare (in) float y))\n"
9235 " (signature vec2\n"
9237 " (declare (in) vec2 x)\n"
9238 " (declare (in) vec2 y))\n"
9240 " (signature vec3\n"
9242 " (declare (in) vec3 x)\n"
9243 " (declare (in) vec3 y))\n"
9245 " (signature vec4\n"
9247 " (declare (in) vec4 x)\n"
9248 " (declare (in) vec4 y))\n"
9251 " (signature float\n"
9253 " (declare (in) float x))\n"
9255 " (signature vec2\n"
9257 " (declare (in) vec2 x))\n"
9259 " (signature vec3\n"
9261 " (declare (in) vec3 x))\n"
9263 " (signature vec4\n"
9265 " (declare (in) vec4 x))\n"
9268 " (signature float\n"
9270 " (declare (in) float x))\n"
9272 " (signature vec2\n"
9274 " (declare (in) vec2 x))\n"
9276 " (signature vec3\n"
9278 " (declare (in) vec3 x))\n"
9280 " (signature vec4\n"
9282 " (declare (in) vec4 x))\n"
9285 " (signature float\n"
9287 " (declare (in) float x))\n"
9289 " (signature vec2\n"
9291 " (declare (in) vec2 x))\n"
9293 " (signature vec3\n"
9295 " (declare (in) vec3 x))\n"
9297 " (signature vec4\n"
9299 " (declare (in) vec4 x))\n"
9302 " (signature float\n"
9304 " (declare (in) float x))\n"
9306 " (signature vec2\n"
9308 " (declare (in) vec2 x))\n"
9310 " (signature vec3\n"
9312 " (declare (in) vec3 x))\n"
9314 " (signature vec4\n"
9316 " (declare (in) vec4 x))\n"
9319 " (signature float\n"
9321 " (declare (in) float x))\n"
9323 " (signature vec2\n"
9325 " (declare (in) vec2 x))\n"
9327 " (signature vec3\n"
9329 " (declare (in) vec3 x))\n"
9331 " (signature vec4\n"
9333 " (declare (in) vec4 x))\n"
9335 "(function inversesqrt\n"
9336 " (signature float\n"
9338 " (declare (in) float x))\n"
9340 " (signature vec2\n"
9342 " (declare (in) vec2 x))\n"
9344 " (signature vec3\n"
9346 " (declare (in) vec3 x))\n"
9348 " (signature vec4\n"
9350 " (declare (in) vec4 x))\n"
9353 " (signature float\n"
9355 " (declare (in) float x))\n"
9357 " (signature vec2\n"
9359 " (declare (in) vec2 x))\n"
9361 " (signature vec3\n"
9363 " (declare (in) vec3 x))\n"
9365 " (signature vec4\n"
9367 " (declare (in) vec4 x))\n"
9370 " (signature float\n"
9372 " (declare (in) float x))\n"
9374 " (signature vec2\n"
9376 " (declare (in) vec2 x))\n"
9378 " (signature vec3\n"
9380 " (declare (in) vec3 x))\n"
9382 " (signature vec4\n"
9384 " (declare (in) vec4 x))\n"
9387 " (signature float\n"
9389 " (declare (in) float x))\n"
9391 " (signature vec2\n"
9393 " (declare (in) vec2 x))\n"
9395 " (signature vec3\n"
9397 " (declare (in) vec3 x))\n"
9399 " (signature vec4\n"
9401 " (declare (in) vec4 x))\n"
9404 " (signature float\n"
9406 " (declare (in) float x))\n"
9408 " (signature vec2\n"
9410 " (declare (in) vec2 x))\n"
9412 " (signature vec3\n"
9414 " (declare (in) vec3 x))\n"
9416 " (signature vec4\n"
9418 " (declare (in) vec4 x))\n"
9421 " (signature float\n"
9423 " (declare (in) float x))\n"
9425 " (signature vec2\n"
9427 " (declare (in) vec2 x))\n"
9429 " (signature vec3\n"
9431 " (declare (in) vec3 x))\n"
9433 " (signature vec4\n"
9435 " (declare (in) vec4 x))\n"
9438 " (signature float\n"
9440 " (declare (in) float x)\n"
9441 " (declare (in) float y))\n"
9443 " (signature vec2\n"
9445 " (declare (in) vec2 x)\n"
9446 " (declare (in) float y))\n"
9448 " (signature vec3\n"
9450 " (declare (in) vec3 x)\n"
9451 " (declare (in) float y))\n"
9453 " (signature vec4\n"
9455 " (declare (in) vec4 x)\n"
9456 " (declare (in) float y))\n"
9458 " (signature vec2\n"
9460 " (declare (in) vec2 x)\n"
9461 " (declare (in) vec2 y))\n"
9463 " (signature vec3\n"
9465 " (declare (in) vec3 x)\n"
9466 " (declare (in) vec3 y))\n"
9468 " (signature vec4\n"
9470 " (declare (in) vec4 x)\n"
9471 " (declare (in) vec4 y))\n"
9474 " (signature float\n"
9476 " (declare (in) float x)\n"
9477 " (declare (in) float y))\n"
9479 " (signature vec2\n"
9481 " (declare (in) vec2 x)\n"
9482 " (declare (in) vec2 y))\n"
9484 " (signature vec3\n"
9486 " (declare (in) vec3 x)\n"
9487 " (declare (in) vec3 y))\n"
9489 " (signature vec4\n"
9491 " (declare (in) vec4 x)\n"
9492 " (declare (in) vec4 y))\n"
9494 " (signature vec2\n"
9496 " (declare (in) vec2 x)\n"
9497 " (declare (in) float y))\n"
9499 " (signature vec3\n"
9501 " (declare (in) vec3 x)\n"
9502 " (declare (in) float y))\n"
9504 " (signature vec4\n"
9506 " (declare (in) vec4 x)\n"
9507 " (declare (in) float y))\n"
9510 " (signature float\n"
9512 " (declare (in) float x)\n"
9513 " (declare (in) float y))\n"
9515 " (signature vec2\n"
9517 " (declare (in) vec2 x)\n"
9518 " (declare (in) vec2 y))\n"
9520 " (signature vec3\n"
9522 " (declare (in) vec3 x)\n"
9523 " (declare (in) vec3 y))\n"
9525 " (signature vec4\n"
9527 " (declare (in) vec4 x)\n"
9528 " (declare (in) vec4 y))\n"
9530 " (signature vec2\n"
9532 " (declare (in) vec2 x)\n"
9533 " (declare (in) float y))\n"
9535 " (signature vec3\n"
9537 " (declare (in) vec3 x)\n"
9538 " (declare (in) float y))\n"
9540 " (signature vec4\n"
9542 " (declare (in) vec4 x)\n"
9543 " (declare (in) float y))\n"
9546 " (signature float\n"
9548 " (declare (in) float x)\n"
9549 " (declare (in) float minVal)\n"
9550 " (declare (in) float maxVal))\n"
9552 " (signature vec2\n"
9554 " (declare (in) vec2 x)\n"
9555 " (declare (in) vec2 minVal)\n"
9556 " (declare (in) vec2 maxVal))\n"
9558 " (signature vec3\n"
9560 " (declare (in) vec3 x)\n"
9561 " (declare (in) vec3 minVal)\n"
9562 " (declare (in) vec3 maxVal))\n"
9564 " (signature vec4\n"
9566 " (declare (in) vec4 x)\n"
9567 " (declare (in) vec4 minVal)\n"
9568 " (declare (in) vec4 maxVal))\n"
9570 " (signature vec2\n"
9572 " (declare (in) vec2 x)\n"
9573 " (declare (in) float minVal)\n"
9574 " (declare (in) float maxVal))\n"
9576 " (signature vec3\n"
9578 " (declare (in) vec3 x)\n"
9579 " (declare (in) float minVal)\n"
9580 " (declare (in) float maxVal))\n"
9582 " (signature vec4\n"
9584 " (declare (in) vec4 x)\n"
9585 " (declare (in) float minVal)\n"
9586 " (declare (in) float maxVal))\n"
9589 " (signature float\n"
9591 " (declare (in) float x)\n"
9592 " (declare (in) float y)\n"
9593 " (declare (in) float a))\n"
9595 " (signature vec2\n"
9597 " (declare (in) vec2 x)\n"
9598 " (declare (in) vec2 y)\n"
9599 " (declare (in) vec2 a))\n"
9601 " (signature vec3\n"
9603 " (declare (in) vec3 x)\n"
9604 " (declare (in) vec3 y)\n"
9605 " (declare (in) vec3 a))\n"
9607 " (signature vec4\n"
9609 " (declare (in) vec4 x)\n"
9610 " (declare (in) vec4 y)\n"
9611 " (declare (in) vec4 a))\n"
9613 " (signature vec2\n"
9615 " (declare (in) vec2 x)\n"
9616 " (declare (in) vec2 y)\n"
9617 " (declare (in) float a))\n"
9619 " (signature vec3\n"
9621 " (declare (in) vec3 x)\n"
9622 " (declare (in) vec3 y)\n"
9623 " (declare (in) float a))\n"
9625 " (signature vec4\n"
9627 " (declare (in) vec4 x)\n"
9628 " (declare (in) vec4 y)\n"
9629 " (declare (in) float a))\n"
9632 " (signature float\n"
9634 " (declare (in) float edge)\n"
9635 " (declare (in) float x))\n"
9637 " (signature vec2\n"
9639 " (declare (in) vec2 edge)\n"
9640 " (declare (in) vec2 x))\n"
9642 " (signature vec3\n"
9644 " (declare (in) vec3 edge)\n"
9645 " (declare (in) vec3 x))\n"
9647 " (signature vec4\n"
9649 " (declare (in) vec4 edge)\n"
9650 " (declare (in) vec4 x))\n"
9652 " (signature vec2\n"
9654 " (declare (in) float edge)\n"
9655 " (declare (in) vec2 x))\n"
9657 " (signature vec3\n"
9659 " (declare (in) float edge)\n"
9660 " (declare (in) vec3 x))\n"
9662 " (signature vec4\n"
9664 " (declare (in) float edge)\n"
9665 " (declare (in) vec4 x))\n"
9667 "(function smoothstep\n"
9668 " (signature float\n"
9670 " (declare (in) float edge0)\n"
9671 " (declare (in) float edge1)\n"
9672 " (declare (in) float x))\n"
9674 " (signature vec2\n"
9676 " (declare (in) vec2 edge0)\n"
9677 " (declare (in) vec2 edge1)\n"
9678 " (declare (in) vec2 x))\n"
9680 " (signature vec3\n"
9682 " (declare (in) vec3 edge0)\n"
9683 " (declare (in) vec3 edge1)\n"
9684 " (declare (in) vec3 x))\n"
9686 " (signature vec4\n"
9688 " (declare (in) vec4 edge0)\n"
9689 " (declare (in) vec4 edge1)\n"
9690 " (declare (in) vec4 x))\n"
9692 " (signature vec2\n"
9694 " (declare (in) float edge0)\n"
9695 " (declare (in) float edge1)\n"
9696 " (declare (in) vec2 x))\n"
9698 " (signature vec3\n"
9700 " (declare (in) float edge0)\n"
9701 " (declare (in) float edge1)\n"
9702 " (declare (in) vec3 x))\n"
9704 " (signature vec4\n"
9706 " (declare (in) float edge0)\n"
9707 " (declare (in) float edge1)\n"
9708 " (declare (in) vec4 x))\n"
9710 "(function length\n"
9711 " (signature float\n"
9713 " (declare (in) float x))\n"
9715 " (signature float\n"
9717 " (declare (in) vec2 x))\n"
9719 " (signature float\n"
9721 " (declare (in) vec3 x))\n"
9723 " (signature float\n"
9725 " (declare (in) vec4 x))\n"
9727 "(function distance\n"
9728 " (signature float\n"
9730 " (declare (in) float p0)\n"
9731 " (declare (in) float p1))\n"
9733 " (signature float\n"
9735 " (declare (in) vec2 p0)\n"
9736 " (declare (in) vec2 p1))\n"
9738 " (signature float\n"
9740 " (declare (in) vec3 p0)\n"
9741 " (declare (in) vec3 p1))\n"
9743 " (signature float\n"
9745 " (declare (in) vec4 p0)\n"
9746 " (declare (in) vec4 p1))\n"
9749 " (signature float\n"
9751 " (declare (in) float x)\n"
9752 " (declare (in) float y))\n"
9754 " (signature float\n"
9756 " (declare (in) vec2 x)\n"
9757 " (declare (in) vec2 y))\n"
9759 " (signature float\n"
9761 " (declare (in) vec3 x)\n"
9762 " (declare (in) vec3 y))\n"
9764 " (signature float\n"
9766 " (declare (in) vec4 x)\n"
9767 " (declare (in) vec4 y))\n"
9770 " (signature vec3\n"
9772 " (declare (in) vec3 x)\n"
9773 " (declare (in) vec3 y))\n"
9775 "(function normalize\n"
9776 " (signature float\n"
9778 " (declare (in) float x))\n"
9780 " (signature vec2\n"
9782 " (declare (in) vec2 x))\n"
9784 " (signature vec3\n"
9786 " (declare (in) vec3 x))\n"
9788 " (signature vec4\n"
9790 " (declare (in) vec4 x))\n"
9792 "(function ftransform\n"
9793 " (signature vec4\n"
9796 "(function faceforward\n"
9797 " (signature float\n"
9799 " (declare (in) float N)\n"
9800 " (declare (in) float I)\n"
9801 " (declare (in) float Nref))\n"
9803 " (signature vec2\n"
9805 " (declare (in) vec2 N)\n"
9806 " (declare (in) vec2 I)\n"
9807 " (declare (in) vec2 Nref))\n"
9809 " (signature vec3\n"
9811 " (declare (in) vec3 N)\n"
9812 " (declare (in) vec3 I)\n"
9813 " (declare (in) vec3 Nref))\n"
9815 " (signature vec4\n"
9817 " (declare (in) vec4 N)\n"
9818 " (declare (in) vec4 I)\n"
9819 " (declare (in) vec4 Nref))\n"
9821 "(function reflect\n"
9822 " (signature float\n"
9824 " (declare (in) float I)\n"
9825 " (declare (in) float N))\n"
9827 " (signature vec2\n"
9829 " (declare (in) vec2 I)\n"
9830 " (declare (in) vec2 N))\n"
9832 " (signature vec3\n"
9834 " (declare (in) vec3 I)\n"
9835 " (declare (in) vec3 N))\n"
9837 " (signature vec4\n"
9839 " (declare (in) vec4 I)\n"
9840 " (declare (in) vec4 N))\n"
9842 "(function refract\n"
9843 " (signature float\n"
9845 " (declare (in) float I)\n"
9846 " (declare (in) float N)\n"
9847 " (declare (in) float eta))\n"
9849 " (signature vec2\n"
9851 " (declare (in) vec2 I)\n"
9852 " (declare (in) vec2 N)\n"
9853 " (declare (in) float eta))\n"
9855 " (signature vec3\n"
9857 " (declare (in) vec3 I)\n"
9858 " (declare (in) vec3 N)\n"
9859 " (declare (in) float eta))\n"
9861 " (signature vec4\n"
9863 " (declare (in) vec4 I)\n"
9864 " (declare (in) vec4 N)\n"
9865 " (declare (in) float eta))\n"
9867 "(function matrixCompMult\n"
9868 " (signature mat2\n"
9870 " (declare (in) mat2 x)\n"
9871 " (declare (in) mat2 y))\n"
9873 " (signature mat3\n"
9875 " (declare (in) mat3 x)\n"
9876 " (declare (in) mat3 y))\n"
9878 " (signature mat4\n"
9880 " (declare (in) mat4 x)\n"
9881 " (declare (in) mat4 y))\n"
9883 " (signature mat2x3\n"
9885 " (declare (in) mat2x3 x)\n"
9886 " (declare (in) mat2x3 y))\n"
9888 " (signature mat2x4\n"
9890 " (declare (in) mat2x4 x)\n"
9891 " (declare (in) mat2x4 y))\n"
9893 " (signature mat3x2\n"
9895 " (declare (in) mat3x2 x)\n"
9896 " (declare (in) mat3x2 y))\n"
9898 " (signature mat3x4\n"
9900 " (declare (in) mat3x4 x)\n"
9901 " (declare (in) mat3x4 y))\n"
9903 " (signature mat4x2\n"
9905 " (declare (in) mat4x2 x)\n"
9906 " (declare (in) mat4x2 y))\n"
9908 " (signature mat4x3\n"
9910 " (declare (in) mat4x3 x)\n"
9911 " (declare (in) mat4x3 y))\n"
9913 "(function outerProduct\n"
9914 " (signature mat2\n"
9916 " (declare (in) vec2 c)\n"
9917 " (declare (in) vec2 r))\n"
9919 " (signature mat3\n"
9921 " (declare (in) vec3 c)\n"
9922 " (declare (in) vec3 r))\n"
9924 " (signature mat4\n"
9926 " (declare (in) vec4 c)\n"
9927 " (declare (in) vec4 r))\n"
9929 " (signature mat2x3\n"
9931 " (declare (in) vec3 c)\n"
9932 " (declare (in) vec2 r))\n"
9934 " (signature mat3x2\n"
9936 " (declare (in) vec2 c)\n"
9937 " (declare (in) vec3 r))\n"
9939 " (signature mat2x4\n"
9941 " (declare (in) vec4 c)\n"
9942 " (declare (in) vec2 r))\n"
9944 " (signature mat4x2\n"
9946 " (declare (in) vec2 c)\n"
9947 " (declare (in) vec4 r))\n"
9949 " (signature mat3x4\n"
9951 " (declare (in) vec4 c)\n"
9952 " (declare (in) vec3 r))\n"
9954 " (signature mat4x3\n"
9956 " (declare (in) vec3 c)\n"
9957 " (declare (in) vec4 r))\n"
9959 "(function transpose\n"
9960 " (signature mat2\n"
9962 " (declare (in) mat2 m))\n"
9964 " (signature mat3\n"
9966 " (declare (in) mat3 m))\n"
9968 " (signature mat4\n"
9970 " (declare (in) mat4 m))\n"
9972 " (signature mat2x3\n"
9974 " (declare (in) mat3x2 m))\n"
9976 " (signature mat3x2\n"
9978 " (declare (in) mat2x3 m))\n"
9980 " (signature mat2x4\n"
9982 " (declare (in) mat4x2 m))\n"
9984 " (signature mat4x2\n"
9986 " (declare (in) mat2x4 m))\n"
9988 " (signature mat3x4\n"
9990 " (declare (in) mat4x3 m))\n"
9992 " (signature mat4x3\n"
9994 " (declare (in) mat3x4 m))\n"
9996 "(function lessThan\n"
9997 " (signature bvec2\n"
9999 " (declare (in) vec2 x)\n"
10000 " (declare (in) vec2 y))\n"
10002 " (signature bvec3\n"
10004 " (declare (in) vec3 x)\n"
10005 " (declare (in) vec3 y))\n"
10007 " (signature bvec4\n"
10009 " (declare (in) vec4 x)\n"
10010 " (declare (in) vec4 y))\n"
10012 " (signature bvec2\n"
10014 " (declare (in) ivec2 x)\n"
10015 " (declare (in) ivec2 y))\n"
10017 " (signature bvec3\n"
10019 " (declare (in) ivec3 x)\n"
10020 " (declare (in) ivec3 y))\n"
10022 " (signature bvec4\n"
10024 " (declare (in) ivec4 x)\n"
10025 " (declare (in) ivec4 y))\n"
10027 "(function lessThanEqual\n"
10028 " (signature bvec2\n"
10030 " (declare (in) vec2 x)\n"
10031 " (declare (in) vec2 y))\n"
10033 " (signature bvec3\n"
10035 " (declare (in) vec3 x)\n"
10036 " (declare (in) vec3 y))\n"
10038 " (signature bvec4\n"
10040 " (declare (in) vec4 x)\n"
10041 " (declare (in) vec4 y))\n"
10043 " (signature bvec2\n"
10045 " (declare (in) ivec2 x)\n"
10046 " (declare (in) ivec2 y))\n"
10048 " (signature bvec3\n"
10050 " (declare (in) ivec3 x)\n"
10051 " (declare (in) ivec3 y))\n"
10053 " (signature bvec4\n"
10055 " (declare (in) ivec4 x)\n"
10056 " (declare (in) ivec4 y))\n"
10058 "(function greaterThan\n"
10059 " (signature bvec2\n"
10061 " (declare (in) vec2 x)\n"
10062 " (declare (in) vec2 y))\n"
10064 " (signature bvec3\n"
10066 " (declare (in) vec3 x)\n"
10067 " (declare (in) vec3 y))\n"
10069 " (signature bvec4\n"
10071 " (declare (in) vec4 x)\n"
10072 " (declare (in) vec4 y))\n"
10074 " (signature bvec2\n"
10076 " (declare (in) ivec2 x)\n"
10077 " (declare (in) ivec2 y))\n"
10079 " (signature bvec3\n"
10081 " (declare (in) ivec3 x)\n"
10082 " (declare (in) ivec3 y))\n"
10084 " (signature bvec4\n"
10086 " (declare (in) ivec4 x)\n"
10087 " (declare (in) ivec4 y))\n"
10089 "(function greaterThanEqual\n"
10090 " (signature bvec2\n"
10092 " (declare (in) vec2 x)\n"
10093 " (declare (in) vec2 y))\n"
10095 " (signature bvec3\n"
10097 " (declare (in) vec3 x)\n"
10098 " (declare (in) vec3 y))\n"
10100 " (signature bvec4\n"
10102 " (declare (in) vec4 x)\n"
10103 " (declare (in) vec4 y))\n"
10105 " (signature bvec2\n"
10107 " (declare (in) ivec2 x)\n"
10108 " (declare (in) ivec2 y))\n"
10110 " (signature bvec3\n"
10112 " (declare (in) ivec3 x)\n"
10113 " (declare (in) ivec3 y))\n"
10115 " (signature bvec4\n"
10117 " (declare (in) ivec4 x)\n"
10118 " (declare (in) ivec4 y))\n"
10120 "(function equal\n"
10121 " (signature bvec2\n"
10123 " (declare (in) vec2 x)\n"
10124 " (declare (in) vec2 y))\n"
10126 " (signature bvec3\n"
10128 " (declare (in) vec3 x)\n"
10129 " (declare (in) vec3 y))\n"
10131 " (signature bvec4\n"
10133 " (declare (in) vec4 x)\n"
10134 " (declare (in) vec4 y))\n"
10136 " (signature bvec2\n"
10138 " (declare (in) ivec2 x)\n"
10139 " (declare (in) ivec2 y))\n"
10141 " (signature bvec3\n"
10143 " (declare (in) ivec3 x)\n"
10144 " (declare (in) ivec3 y))\n"
10146 " (signature bvec4\n"
10148 " (declare (in) ivec4 x)\n"
10149 " (declare (in) ivec4 y))\n"
10151 " (signature bvec2\n"
10153 " (declare (in) bvec2 x)\n"
10154 " (declare (in) bvec2 y))\n"
10156 " (signature bvec3\n"
10158 " (declare (in) bvec3 x)\n"
10159 " (declare (in) bvec3 y))\n"
10161 " (signature bvec4\n"
10163 " (declare (in) bvec4 x)\n"
10164 " (declare (in) bvec4 y))\n"
10166 "(function notEqual\n"
10167 " (signature bvec2\n"
10169 " (declare (in) vec2 x)\n"
10170 " (declare (in) vec2 y))\n"
10172 " (signature bvec3\n"
10174 " (declare (in) vec3 x)\n"
10175 " (declare (in) vec3 y))\n"
10177 " (signature bvec4\n"
10179 " (declare (in) vec4 x)\n"
10180 " (declare (in) vec4 y))\n"
10182 " (signature bvec2\n"
10184 " (declare (in) ivec2 x)\n"
10185 " (declare (in) ivec2 y))\n"
10187 " (signature bvec3\n"
10189 " (declare (in) ivec3 x)\n"
10190 " (declare (in) ivec3 y))\n"
10192 " (signature bvec4\n"
10194 " (declare (in) ivec4 x)\n"
10195 " (declare (in) ivec4 y))\n"
10197 " (signature bvec2\n"
10199 " (declare (in) bvec2 x)\n"
10200 " (declare (in) bvec2 y))\n"
10202 " (signature bvec3\n"
10204 " (declare (in) bvec3 x)\n"
10205 " (declare (in) bvec3 y))\n"
10207 " (signature bvec4\n"
10209 " (declare (in) bvec4 x)\n"
10210 " (declare (in) bvec4 y))\n"
10213 " (signature bool\n"
10215 " (declare (in) bvec2 x))\n"
10217 " (signature bool\n"
10219 " (declare (in) bvec3 x))\n"
10221 " (signature bool\n"
10223 " (declare (in) bvec4 x))\n"
10226 " (signature bool\n"
10228 " (declare (in) bvec2 x))\n"
10230 " (signature bool\n"
10232 " (declare (in) bvec3 x))\n"
10234 " (signature bool\n"
10236 " (declare (in) bvec4 x))\n"
10239 " (signature bvec2\n"
10241 " (declare (in) bvec2 x))\n"
10243 " (signature bvec3\n"
10245 " (declare (in) bvec3 x))\n"
10247 " (signature bvec4\n"
10249 " (declare (in) bvec4 x))\n"
10251 "(function texture1D\n"
10252 " (signature vec4\n"
10254 " (declare (in) sampler1D sampler)\n"
10255 " (declare (in) float coord))\n"
10257 "(function texture1DProj\n"
10258 " (signature vec4\n"
10260 " (declare (in) sampler1D sampler)\n"
10261 " (declare (in) vec2 coord))\n"
10263 " (signature vec4\n"
10265 " (declare (in) sampler1D sampler)\n"
10266 " (declare (in) vec4 coord))\n"
10268 "(function texture1DLod\n"
10269 " (signature vec4\n"
10271 " (declare (in) sampler1D sampler)\n"
10272 " (declare (in) float coord)\n"
10273 " (declare (in) float lod))\n"
10275 "(function texture1DProjLod\n"
10276 " (signature vec4\n"
10278 " (declare (in) sampler1D sampler)\n"
10279 " (declare (in) vec2 coord)\n"
10280 " (declare (in) float lod))\n"
10282 " (signature vec4\n"
10284 " (declare (in) sampler1D sampler)\n"
10285 " (declare (in) vec4 coord)\n"
10286 " (declare (in) float lod))\n"
10288 "(function texture2D\n"
10289 " (signature vec4\n"
10291 " (declare (in) sampler2D sampler)\n"
10292 " (declare (in) vec2 coord))\n"
10294 "(function texture2DProj\n"
10295 " (signature vec4\n"
10297 " (declare (in) sampler2D sampler)\n"
10298 " (declare (in) vec3 coord))\n"
10300 " (signature vec4\n"
10302 " (declare (in) sampler2D sampler)\n"
10303 " (declare (in) vec4 coord))\n"
10305 "(function texture2DLod\n"
10306 " (signature vec4\n"
10308 " (declare (in) sampler2D sampler)\n"
10309 " (declare (in) vec2 coord)\n"
10310 " (declare (in) float lod))\n"
10312 "(function texture2DProjLod\n"
10313 " (signature vec4\n"
10315 " (declare (in) sampler2D sampler)\n"
10316 " (declare (in) vec3 coord)\n"
10317 " (declare (in) float lod))\n"
10319 " (signature vec4\n"
10321 " (declare (in) sampler2D sampler)\n"
10322 " (declare (in) vec4 coord)\n"
10323 " (declare (in) float lod))\n"
10325 "(function texture3D\n"
10326 " (signature vec4\n"
10328 " (declare (in) sampler3D sampler)\n"
10329 " (declare (in) vec3 coord))\n"
10331 "(function texture3DProj\n"
10332 " (signature vec4\n"
10334 " (declare (in) sampler3D sampler)\n"
10335 " (declare (in) vec4 coord))\n"
10337 "(function texture3DLod\n"
10338 " (signature vec4\n"
10340 " (declare (in) sampler3D sampler)\n"
10341 " (declare (in) vec3 coord)\n"
10342 " (declare (in) float lod))\n"
10344 "(function texture3DProjLod\n"
10345 " (signature vec4\n"
10347 " (declare (in) sampler3D sampler)\n"
10348 " (declare (in) vec4 coord)\n"
10349 " (declare (in) float lod))\n"
10351 "(function textureCube\n"
10352 " (signature vec4\n"
10354 " (declare (in) samplerCube sampler)\n"
10355 " (declare (in) vec3 coord))\n"
10357 "(function textureCubeLod\n"
10358 " (signature vec4\n"
10360 " (declare (in) samplerCube sampler)\n"
10361 " (declare (in) vec3 coord)\n"
10362 " (declare (in) float lod))\n"
10364 "(function shadow1D\n"
10365 " (signature vec4\n"
10367 " (declare (in) sampler1DShadow sampler)\n"
10368 " (declare (in) vec3 coord))\n"
10370 "(function shadow2D\n"
10371 " (signature vec4\n"
10373 " (declare (in) sampler2DShadow sampler)\n"
10374 " (declare (in) vec3 coord))\n"
10376 "(function shadow1DProj\n"
10377 " (signature vec4\n"
10379 " (declare (in) sampler1DShadow sampler)\n"
10380 " (declare (in) vec4 coord))\n"
10382 "(function shadow2DProj\n"
10383 " (signature vec4\n"
10385 " (declare (in) sampler2DShadow sampler)\n"
10386 " (declare (in) vec4 coord))\n"
10388 "(function shadow1DLod\n"
10389 " (signature vec4\n"
10391 " (declare (in) sampler1DShadow sampler)\n"
10392 " (declare (in) vec3 coord)\n"
10393 " (declare (in) float lod))\n"
10395 "(function shadow2DLod\n"
10396 " (signature vec4\n"
10398 " (declare (in) sampler2DShadow sampler)\n"
10399 " (declare (in) vec3 coord)\n"
10400 " (declare (in) float lod))\n"
10402 "(function shadow1DProjLod\n"
10403 " (signature vec4\n"
10405 " (declare (in) sampler1DShadow sampler)\n"
10406 " (declare (in) vec4 coord)\n"
10407 " (declare (in) float lod))\n"
10409 "(function shadow2DProjLod\n"
10410 " (signature vec4\n"
10412 " (declare (in) sampler2DShadow sampler)\n"
10413 " (declare (in) vec4 coord)\n"
10414 " (declare (in) float lod))\n"
10416 "(function noise1\n"
10417 " (signature float\n"
10419 " (declare (in) float x))\n"
10421 " (signature float\n"
10423 " (declare (in) vec2 x))\n"
10425 " (signature float\n"
10427 " (declare (in) vec3 x))\n"
10429 " (signature float\n"
10431 " (declare (in) vec4 x))\n"
10433 "(function noise2\n"
10434 " (signature vec2\n"
10436 " (declare (in) float x))\n"
10438 " (signature vec2\n"
10440 " (declare (in) vec2 x))\n"
10442 " (signature vec2\n"
10444 " (declare (in) vec3 x))\n"
10446 " (signature vec2\n"
10448 " (declare (in) vec4 x))\n"
10450 "(function noise3\n"
10451 " (signature vec3\n"
10453 " (declare (in) float x))\n"
10455 " (signature vec3\n"
10457 " (declare (in) vec2 x))\n"
10459 " (signature vec3\n"
10461 " (declare (in) vec3 x))\n"
10463 " (signature vec3\n"
10465 " (declare (in) vec4 x))\n"
10467 "(function noise4\n"
10468 " (signature vec4\n"
10470 " (declare (in) float x))\n"
10472 " (signature vec4\n"
10474 " (declare (in) vec2 x))\n"
10476 " (signature vec4\n"
10478 " (declare (in) vec3 x))\n"
10480 " (signature vec4\n"
10482 " (declare (in) vec4 x))\n"
10485 static const char *functions_for_120_vert
[] = {
10502 builtin_faceforward
,
10505 builtin_ftransform
,
10506 builtin_greaterThan
,
10507 builtin_greaterThanEqual
,
10508 builtin_inversesqrt
,
10511 builtin_lessThanEqual
,
10514 builtin_matrixCompMult
,
10526 builtin_outerProduct
,
10532 builtin_shadow1DLod
,
10533 builtin_shadow1DProj
,
10534 builtin_shadow1DProjLod
,
10536 builtin_shadow2DLod
,
10537 builtin_shadow2DProj
,
10538 builtin_shadow2DProjLod
,
10541 builtin_smoothstep
,
10546 builtin_texture1DLod
,
10547 builtin_texture1DProj
,
10548 builtin_texture1DProjLod
,
10550 builtin_texture2DLod
,
10551 builtin_texture2DProj
,
10552 builtin_texture2DProjLod
,
10554 builtin_texture3DLod
,
10555 builtin_texture3DProj
,
10556 builtin_texture3DProjLod
,
10557 builtin_textureCube
,
10558 builtin_textureCubeLod
,
10561 static const char *prototypes_for_130_frag
=
10563 "(function radians\n"
10564 " (signature float\n"
10566 " (declare (in) float degrees))\n"
10568 " (signature vec2\n"
10570 " (declare (in) vec2 degrees))\n"
10572 " (signature vec3\n"
10574 " (declare (in) vec3 degrees))\n"
10576 " (signature vec4\n"
10578 " (declare (in) vec4 degrees))\n"
10580 "(function degrees\n"
10581 " (signature float\n"
10583 " (declare (in) float radians))\n"
10585 " (signature vec2\n"
10587 " (declare (in) vec2 radians))\n"
10589 " (signature vec3\n"
10591 " (declare (in) vec3 radians))\n"
10593 " (signature vec4\n"
10595 " (declare (in) vec4 radians))\n"
10598 " (signature float\n"
10600 " (declare (in) float angle))\n"
10602 " (signature vec2\n"
10604 " (declare (in) vec2 angle))\n"
10606 " (signature vec3\n"
10608 " (declare (in) vec3 angle))\n"
10610 " (signature vec4\n"
10612 " (declare (in) vec4 angle))\n"
10615 " (signature float\n"
10617 " (declare (in) float angle))\n"
10619 " (signature vec2\n"
10621 " (declare (in) vec2 angle))\n"
10623 " (signature vec3\n"
10625 " (declare (in) vec3 angle))\n"
10627 " (signature vec4\n"
10629 " (declare (in) vec4 angle))\n"
10632 " (signature float\n"
10634 " (declare (in) float angle))\n"
10636 " (signature vec2\n"
10638 " (declare (in) vec2 angle))\n"
10640 " (signature vec3\n"
10642 " (declare (in) vec3 angle))\n"
10644 " (signature vec4\n"
10646 " (declare (in) vec4 angle))\n"
10649 " (signature float\n"
10651 " (declare (in) float angle))\n"
10653 " (signature vec2\n"
10655 " (declare (in) vec2 angle))\n"
10657 " (signature vec3\n"
10659 " (declare (in) vec3 angle))\n"
10661 " (signature vec4\n"
10663 " (declare (in) vec4 angle))\n"
10666 " (signature float\n"
10668 " (declare (in) float angle))\n"
10670 " (signature vec2\n"
10672 " (declare (in) vec2 angle))\n"
10674 " (signature vec3\n"
10676 " (declare (in) vec3 angle))\n"
10678 " (signature vec4\n"
10680 " (declare (in) vec4 angle))\n"
10683 " (signature float\n"
10685 " (declare (in) float y)\n"
10686 " (declare (in) float x))\n"
10688 " (signature vec2\n"
10690 " (declare (in) vec2 y)\n"
10691 " (declare (in) vec2 x))\n"
10693 " (signature vec3\n"
10695 " (declare (in) vec3 y)\n"
10696 " (declare (in) vec3 x))\n"
10698 " (signature vec4\n"
10700 " (declare (in) vec4 y)\n"
10701 " (declare (in) vec4 x))\n"
10703 " (signature float\n"
10705 " (declare (in) float y_over_x))\n"
10707 " (signature vec2\n"
10709 " (declare (in) vec2 y_over_x))\n"
10711 " (signature vec3\n"
10713 " (declare (in) vec3 y_over_x))\n"
10715 " (signature vec4\n"
10717 " (declare (in) vec4 y_over_x))\n"
10720 " (signature float\n"
10722 " (declare (in) float x))\n"
10724 " (signature vec2\n"
10726 " (declare (in) vec2 x))\n"
10728 " (signature vec3\n"
10730 " (declare (in) vec3 x))\n"
10732 " (signature vec4\n"
10734 " (declare (in) vec4 x))\n"
10737 " (signature float\n"
10739 " (declare (in) float x))\n"
10741 " (signature vec2\n"
10743 " (declare (in) vec2 x))\n"
10745 " (signature vec3\n"
10747 " (declare (in) vec3 x))\n"
10749 " (signature vec4\n"
10751 " (declare (in) vec4 x))\n"
10754 " (signature float\n"
10756 " (declare (in) float x))\n"
10758 " (signature vec2\n"
10760 " (declare (in) vec2 x))\n"
10762 " (signature vec3\n"
10764 " (declare (in) vec3 x))\n"
10766 " (signature vec4\n"
10768 " (declare (in) vec4 x))\n"
10771 " (signature float\n"
10773 " (declare (in) float x)\n"
10774 " (declare (in) float y))\n"
10776 " (signature vec2\n"
10778 " (declare (in) vec2 x)\n"
10779 " (declare (in) vec2 y))\n"
10781 " (signature vec3\n"
10783 " (declare (in) vec3 x)\n"
10784 " (declare (in) vec3 y))\n"
10786 " (signature vec4\n"
10788 " (declare (in) vec4 x)\n"
10789 " (declare (in) vec4 y))\n"
10792 " (signature float\n"
10794 " (declare (in) float x))\n"
10796 " (signature vec2\n"
10798 " (declare (in) vec2 x))\n"
10800 " (signature vec3\n"
10802 " (declare (in) vec3 x))\n"
10804 " (signature vec4\n"
10806 " (declare (in) vec4 x))\n"
10809 " (signature float\n"
10811 " (declare (in) float x))\n"
10813 " (signature vec2\n"
10815 " (declare (in) vec2 x))\n"
10817 " (signature vec3\n"
10819 " (declare (in) vec3 x))\n"
10821 " (signature vec4\n"
10823 " (declare (in) vec4 x))\n"
10826 " (signature float\n"
10828 " (declare (in) float x))\n"
10830 " (signature vec2\n"
10832 " (declare (in) vec2 x))\n"
10834 " (signature vec3\n"
10836 " (declare (in) vec3 x))\n"
10838 " (signature vec4\n"
10840 " (declare (in) vec4 x))\n"
10843 " (signature float\n"
10845 " (declare (in) float x))\n"
10847 " (signature vec2\n"
10849 " (declare (in) vec2 x))\n"
10851 " (signature vec3\n"
10853 " (declare (in) vec3 x))\n"
10855 " (signature vec4\n"
10857 " (declare (in) vec4 x))\n"
10860 " (signature float\n"
10862 " (declare (in) float x))\n"
10864 " (signature vec2\n"
10866 " (declare (in) vec2 x))\n"
10868 " (signature vec3\n"
10870 " (declare (in) vec3 x))\n"
10872 " (signature vec4\n"
10874 " (declare (in) vec4 x))\n"
10876 "(function inversesqrt\n"
10877 " (signature float\n"
10879 " (declare (in) float x))\n"
10881 " (signature vec2\n"
10883 " (declare (in) vec2 x))\n"
10885 " (signature vec3\n"
10887 " (declare (in) vec3 x))\n"
10889 " (signature vec4\n"
10891 " (declare (in) vec4 x))\n"
10894 " (signature float\n"
10896 " (declare (in) float x))\n"
10898 " (signature vec2\n"
10900 " (declare (in) vec2 x))\n"
10902 " (signature vec3\n"
10904 " (declare (in) vec3 x))\n"
10906 " (signature vec4\n"
10908 " (declare (in) vec4 x))\n"
10910 " (signature int\n"
10912 " (declare (in) int x))\n"
10914 " (signature ivec2\n"
10916 " (declare (in) ivec2 x))\n"
10918 " (signature ivec3\n"
10920 " (declare (in) ivec3 x))\n"
10922 " (signature ivec4\n"
10924 " (declare (in) ivec4 x))\n"
10927 " (signature float\n"
10929 " (declare (in) float x))\n"
10931 " (signature vec2\n"
10933 " (declare (in) vec2 x))\n"
10935 " (signature vec3\n"
10937 " (declare (in) vec3 x))\n"
10939 " (signature vec4\n"
10941 " (declare (in) vec4 x))\n"
10943 " (signature int\n"
10945 " (declare (in) int x))\n"
10947 " (signature ivec2\n"
10949 " (declare (in) ivec2 x))\n"
10951 " (signature ivec3\n"
10953 " (declare (in) ivec3 x))\n"
10955 " (signature ivec4\n"
10957 " (declare (in) ivec4 x))\n"
10959 "(function floor\n"
10960 " (signature float\n"
10962 " (declare (in) float x))\n"
10964 " (signature vec2\n"
10966 " (declare (in) vec2 x))\n"
10968 " (signature vec3\n"
10970 " (declare (in) vec3 x))\n"
10972 " (signature vec4\n"
10974 " (declare (in) vec4 x))\n"
10977 " (signature float\n"
10979 " (declare (in) float x))\n"
10981 " (signature vec2\n"
10983 " (declare (in) vec2 x))\n"
10985 " (signature vec3\n"
10987 " (declare (in) vec3 x))\n"
10989 " (signature vec4\n"
10991 " (declare (in) vec4 x))\n"
10993 "(function fract\n"
10994 " (signature float\n"
10996 " (declare (in) float x))\n"
10998 " (signature vec2\n"
11000 " (declare (in) vec2 x))\n"
11002 " (signature vec3\n"
11004 " (declare (in) vec3 x))\n"
11006 " (signature vec4\n"
11008 " (declare (in) vec4 x))\n"
11011 " (signature float\n"
11013 " (declare (in) float x)\n"
11014 " (declare (in) float y))\n"
11016 " (signature vec2\n"
11018 " (declare (in) vec2 x)\n"
11019 " (declare (in) float y))\n"
11021 " (signature vec3\n"
11023 " (declare (in) vec3 x)\n"
11024 " (declare (in) float y))\n"
11026 " (signature vec4\n"
11028 " (declare (in) vec4 x)\n"
11029 " (declare (in) float y))\n"
11031 " (signature vec2\n"
11033 " (declare (in) vec2 x)\n"
11034 " (declare (in) vec2 y))\n"
11036 " (signature vec3\n"
11038 " (declare (in) vec3 x)\n"
11039 " (declare (in) vec3 y))\n"
11041 " (signature vec4\n"
11043 " (declare (in) vec4 x)\n"
11044 " (declare (in) vec4 y))\n"
11047 " (signature float\n"
11049 " (declare (in) float x)\n"
11050 " (declare (in) float y))\n"
11052 " (signature vec2\n"
11054 " (declare (in) vec2 x)\n"
11055 " (declare (in) vec2 y))\n"
11057 " (signature vec3\n"
11059 " (declare (in) vec3 x)\n"
11060 " (declare (in) vec3 y))\n"
11062 " (signature vec4\n"
11064 " (declare (in) vec4 x)\n"
11065 " (declare (in) vec4 y))\n"
11067 " (signature vec2\n"
11069 " (declare (in) vec2 x)\n"
11070 " (declare (in) float y))\n"
11072 " (signature vec3\n"
11074 " (declare (in) vec3 x)\n"
11075 " (declare (in) float y))\n"
11077 " (signature vec4\n"
11079 " (declare (in) vec4 x)\n"
11080 " (declare (in) float y))\n"
11082 " (signature int\n"
11084 " (declare (in) int x)\n"
11085 " (declare (in) int y))\n"
11087 " (signature ivec2\n"
11089 " (declare (in) ivec2 x)\n"
11090 " (declare (in) ivec2 y))\n"
11092 " (signature ivec3\n"
11094 " (declare (in) ivec3 x)\n"
11095 " (declare (in) ivec3 y))\n"
11097 " (signature ivec4\n"
11099 " (declare (in) ivec4 x)\n"
11100 " (declare (in) ivec4 y))\n"
11102 " (signature ivec2\n"
11104 " (declare (in) ivec2 x)\n"
11105 " (declare (in) int y))\n"
11107 " (signature ivec3\n"
11109 " (declare (in) ivec3 x)\n"
11110 " (declare (in) int y))\n"
11112 " (signature ivec4\n"
11114 " (declare (in) ivec4 x)\n"
11115 " (declare (in) int y))\n"
11117 " (signature uint\n"
11119 " (declare (in) uint x)\n"
11120 " (declare (in) uint y))\n"
11122 " (signature uvec2\n"
11124 " (declare (in) uvec2 x)\n"
11125 " (declare (in) uvec2 y))\n"
11127 " (signature uvec3\n"
11129 " (declare (in) uvec3 x)\n"
11130 " (declare (in) uvec3 y))\n"
11132 " (signature uvec4\n"
11134 " (declare (in) uvec4 x)\n"
11135 " (declare (in) uvec4 y))\n"
11137 " (signature uvec2\n"
11139 " (declare (in) uvec2 x)\n"
11140 " (declare (in) uint y))\n"
11142 " (signature uvec3\n"
11144 " (declare (in) uvec3 x)\n"
11145 " (declare (in) uint y))\n"
11147 " (signature uvec4\n"
11149 " (declare (in) uvec4 x)\n"
11150 " (declare (in) uint y))\n"
11153 " (signature float\n"
11155 " (declare (in) float x)\n"
11156 " (declare (in) float y))\n"
11158 " (signature vec2\n"
11160 " (declare (in) vec2 x)\n"
11161 " (declare (in) vec2 y))\n"
11163 " (signature vec3\n"
11165 " (declare (in) vec3 x)\n"
11166 " (declare (in) vec3 y))\n"
11168 " (signature vec4\n"
11170 " (declare (in) vec4 x)\n"
11171 " (declare (in) vec4 y))\n"
11173 " (signature vec2\n"
11175 " (declare (in) vec2 x)\n"
11176 " (declare (in) float y))\n"
11178 " (signature vec3\n"
11180 " (declare (in) vec3 x)\n"
11181 " (declare (in) float y))\n"
11183 " (signature vec4\n"
11185 " (declare (in) vec4 x)\n"
11186 " (declare (in) float y))\n"
11188 " (signature int\n"
11190 " (declare (in) int x)\n"
11191 " (declare (in) int y))\n"
11193 " (signature ivec2\n"
11195 " (declare (in) ivec2 x)\n"
11196 " (declare (in) ivec2 y))\n"
11198 " (signature ivec3\n"
11200 " (declare (in) ivec3 x)\n"
11201 " (declare (in) ivec3 y))\n"
11203 " (signature ivec4\n"
11205 " (declare (in) ivec4 x)\n"
11206 " (declare (in) ivec4 y))\n"
11208 " (signature ivec2\n"
11210 " (declare (in) ivec2 x)\n"
11211 " (declare (in) int y))\n"
11213 " (signature ivec3\n"
11215 " (declare (in) ivec3 x)\n"
11216 " (declare (in) int y))\n"
11218 " (signature ivec4\n"
11220 " (declare (in) ivec4 x)\n"
11221 " (declare (in) int y))\n"
11223 " (signature uint\n"
11225 " (declare (in) uint x)\n"
11226 " (declare (in) uint y))\n"
11228 " (signature uvec2\n"
11230 " (declare (in) uvec2 x)\n"
11231 " (declare (in) uvec2 y))\n"
11233 " (signature uvec3\n"
11235 " (declare (in) uvec3 x)\n"
11236 " (declare (in) uvec3 y))\n"
11238 " (signature uvec4\n"
11240 " (declare (in) uvec4 x)\n"
11241 " (declare (in) uvec4 y))\n"
11243 " (signature uvec2\n"
11245 " (declare (in) uvec2 x)\n"
11246 " (declare (in) uint y))\n"
11248 " (signature uvec3\n"
11250 " (declare (in) uvec3 x)\n"
11251 " (declare (in) uint y))\n"
11253 " (signature uvec4\n"
11255 " (declare (in) uvec4 x)\n"
11256 " (declare (in) uint y))\n"
11258 "(function clamp\n"
11259 " (signature float\n"
11261 " (declare (in) float x)\n"
11262 " (declare (in) float minVal)\n"
11263 " (declare (in) float maxVal))\n"
11265 " (signature vec2\n"
11267 " (declare (in) vec2 x)\n"
11268 " (declare (in) vec2 minVal)\n"
11269 " (declare (in) vec2 maxVal))\n"
11271 " (signature vec3\n"
11273 " (declare (in) vec3 x)\n"
11274 " (declare (in) vec3 minVal)\n"
11275 " (declare (in) vec3 maxVal))\n"
11277 " (signature vec4\n"
11279 " (declare (in) vec4 x)\n"
11280 " (declare (in) vec4 minVal)\n"
11281 " (declare (in) vec4 maxVal))\n"
11283 " (signature vec2\n"
11285 " (declare (in) vec2 x)\n"
11286 " (declare (in) float minVal)\n"
11287 " (declare (in) float maxVal))\n"
11289 " (signature vec3\n"
11291 " (declare (in) vec3 x)\n"
11292 " (declare (in) float minVal)\n"
11293 " (declare (in) float maxVal))\n"
11295 " (signature vec4\n"
11297 " (declare (in) vec4 x)\n"
11298 " (declare (in) float minVal)\n"
11299 " (declare (in) float maxVal))\n"
11301 " (signature int\n"
11303 " (declare (in) int x)\n"
11304 " (declare (in) int minVal)\n"
11305 " (declare (in) int maxVal))\n"
11307 " (signature ivec2\n"
11309 " (declare (in) ivec2 x)\n"
11310 " (declare (in) ivec2 minVal)\n"
11311 " (declare (in) ivec2 maxVal))\n"
11313 " (signature ivec3\n"
11315 " (declare (in) ivec3 x)\n"
11316 " (declare (in) ivec3 minVal)\n"
11317 " (declare (in) ivec3 maxVal))\n"
11319 " (signature ivec4\n"
11321 " (declare (in) ivec4 x)\n"
11322 " (declare (in) ivec4 minVal)\n"
11323 " (declare (in) ivec4 maxVal))\n"
11325 " (signature ivec2\n"
11327 " (declare (in) ivec2 x)\n"
11328 " (declare (in) int minVal)\n"
11329 " (declare (in) int maxVal))\n"
11331 " (signature ivec3\n"
11333 " (declare (in) ivec3 x)\n"
11334 " (declare (in) int minVal)\n"
11335 " (declare (in) int maxVal))\n"
11337 " (signature ivec4\n"
11339 " (declare (in) ivec4 x)\n"
11340 " (declare (in) int minVal)\n"
11341 " (declare (in) int maxVal))\n"
11343 " (signature uint\n"
11345 " (declare (in) uint x)\n"
11346 " (declare (in) uint minVal)\n"
11347 " (declare (in) uint maxVal))\n"
11349 " (signature uvec2\n"
11351 " (declare (in) uvec2 x)\n"
11352 " (declare (in) uvec2 minVal)\n"
11353 " (declare (in) uvec2 maxVal))\n"
11355 " (signature uvec3\n"
11357 " (declare (in) uvec3 x)\n"
11358 " (declare (in) uvec3 minVal)\n"
11359 " (declare (in) uvec3 maxVal))\n"
11361 " (signature uvec4\n"
11363 " (declare (in) uvec4 x)\n"
11364 " (declare (in) uvec4 minVal)\n"
11365 " (declare (in) uvec4 maxVal))\n"
11367 " (signature uvec2\n"
11369 " (declare (in) uvec2 x)\n"
11370 " (declare (in) uint minVal)\n"
11371 " (declare (in) uint maxVal))\n"
11373 " (signature uvec3\n"
11375 " (declare (in) uvec3 x)\n"
11376 " (declare (in) uint minVal)\n"
11377 " (declare (in) uint maxVal))\n"
11379 " (signature uvec4\n"
11381 " (declare (in) uvec4 x)\n"
11382 " (declare (in) uint minVal)\n"
11383 " (declare (in) uint maxVal))\n"
11386 " (signature float\n"
11388 " (declare (in) float x)\n"
11389 " (declare (in) float y)\n"
11390 " (declare (in) float a))\n"
11392 " (signature vec2\n"
11394 " (declare (in) vec2 x)\n"
11395 " (declare (in) vec2 y)\n"
11396 " (declare (in) vec2 a))\n"
11398 " (signature vec3\n"
11400 " (declare (in) vec3 x)\n"
11401 " (declare (in) vec3 y)\n"
11402 " (declare (in) vec3 a))\n"
11404 " (signature vec4\n"
11406 " (declare (in) vec4 x)\n"
11407 " (declare (in) vec4 y)\n"
11408 " (declare (in) vec4 a))\n"
11410 " (signature vec2\n"
11412 " (declare (in) vec2 x)\n"
11413 " (declare (in) vec2 y)\n"
11414 " (declare (in) float a))\n"
11416 " (signature vec3\n"
11418 " (declare (in) vec3 x)\n"
11419 " (declare (in) vec3 y)\n"
11420 " (declare (in) float a))\n"
11422 " (signature vec4\n"
11424 " (declare (in) vec4 x)\n"
11425 " (declare (in) vec4 y)\n"
11426 " (declare (in) float a))\n"
11429 " (signature float\n"
11431 " (declare (in) float edge)\n"
11432 " (declare (in) float x))\n"
11434 " (signature vec2\n"
11436 " (declare (in) vec2 edge)\n"
11437 " (declare (in) vec2 x))\n"
11439 " (signature vec3\n"
11441 " (declare (in) vec3 edge)\n"
11442 " (declare (in) vec3 x))\n"
11444 " (signature vec4\n"
11446 " (declare (in) vec4 edge)\n"
11447 " (declare (in) vec4 x))\n"
11449 " (signature vec2\n"
11451 " (declare (in) float edge)\n"
11452 " (declare (in) vec2 x))\n"
11454 " (signature vec3\n"
11456 " (declare (in) float edge)\n"
11457 " (declare (in) vec3 x))\n"
11459 " (signature vec4\n"
11461 " (declare (in) float edge)\n"
11462 " (declare (in) vec4 x))\n"
11464 "(function smoothstep\n"
11465 " (signature float\n"
11467 " (declare (in) float edge0)\n"
11468 " (declare (in) float edge1)\n"
11469 " (declare (in) float x))\n"
11471 " (signature vec2\n"
11473 " (declare (in) vec2 edge0)\n"
11474 " (declare (in) vec2 edge1)\n"
11475 " (declare (in) vec2 x))\n"
11477 " (signature vec3\n"
11479 " (declare (in) vec3 edge0)\n"
11480 " (declare (in) vec3 edge1)\n"
11481 " (declare (in) vec3 x))\n"
11483 " (signature vec4\n"
11485 " (declare (in) vec4 edge0)\n"
11486 " (declare (in) vec4 edge1)\n"
11487 " (declare (in) vec4 x))\n"
11489 " (signature vec2\n"
11491 " (declare (in) float edge0)\n"
11492 " (declare (in) float edge1)\n"
11493 " (declare (in) vec2 x))\n"
11495 " (signature vec3\n"
11497 " (declare (in) float edge0)\n"
11498 " (declare (in) float edge1)\n"
11499 " (declare (in) vec3 x))\n"
11501 " (signature vec4\n"
11503 " (declare (in) float edge0)\n"
11504 " (declare (in) float edge1)\n"
11505 " (declare (in) vec4 x))\n"
11507 "(function length\n"
11508 " (signature float\n"
11510 " (declare (in) float x))\n"
11512 " (signature float\n"
11514 " (declare (in) vec2 x))\n"
11516 " (signature float\n"
11518 " (declare (in) vec3 x))\n"
11520 " (signature float\n"
11522 " (declare (in) vec4 x))\n"
11524 "(function distance\n"
11525 " (signature float\n"
11527 " (declare (in) float p0)\n"
11528 " (declare (in) float p1))\n"
11530 " (signature float\n"
11532 " (declare (in) vec2 p0)\n"
11533 " (declare (in) vec2 p1))\n"
11535 " (signature float\n"
11537 " (declare (in) vec3 p0)\n"
11538 " (declare (in) vec3 p1))\n"
11540 " (signature float\n"
11542 " (declare (in) vec4 p0)\n"
11543 " (declare (in) vec4 p1))\n"
11546 " (signature float\n"
11548 " (declare (in) float x)\n"
11549 " (declare (in) float y))\n"
11551 " (signature float\n"
11553 " (declare (in) vec2 x)\n"
11554 " (declare (in) vec2 y))\n"
11556 " (signature float\n"
11558 " (declare (in) vec3 x)\n"
11559 " (declare (in) vec3 y))\n"
11561 " (signature float\n"
11563 " (declare (in) vec4 x)\n"
11564 " (declare (in) vec4 y))\n"
11566 "(function cross\n"
11567 " (signature vec3\n"
11569 " (declare (in) vec3 x)\n"
11570 " (declare (in) vec3 y))\n"
11572 "(function normalize\n"
11573 " (signature float\n"
11575 " (declare (in) float x))\n"
11577 " (signature vec2\n"
11579 " (declare (in) vec2 x))\n"
11581 " (signature vec3\n"
11583 " (declare (in) vec3 x))\n"
11585 " (signature vec4\n"
11587 " (declare (in) vec4 x))\n"
11589 "(function faceforward\n"
11590 " (signature float\n"
11592 " (declare (in) float N)\n"
11593 " (declare (in) float I)\n"
11594 " (declare (in) float Nref))\n"
11596 " (signature vec2\n"
11598 " (declare (in) vec2 N)\n"
11599 " (declare (in) vec2 I)\n"
11600 " (declare (in) vec2 Nref))\n"
11602 " (signature vec3\n"
11604 " (declare (in) vec3 N)\n"
11605 " (declare (in) vec3 I)\n"
11606 " (declare (in) vec3 Nref))\n"
11608 " (signature vec4\n"
11610 " (declare (in) vec4 N)\n"
11611 " (declare (in) vec4 I)\n"
11612 " (declare (in) vec4 Nref))\n"
11614 "(function reflect\n"
11615 " (signature float\n"
11617 " (declare (in) float I)\n"
11618 " (declare (in) float N))\n"
11620 " (signature vec2\n"
11622 " (declare (in) vec2 I)\n"
11623 " (declare (in) vec2 N))\n"
11625 " (signature vec3\n"
11627 " (declare (in) vec3 I)\n"
11628 " (declare (in) vec3 N))\n"
11630 " (signature vec4\n"
11632 " (declare (in) vec4 I)\n"
11633 " (declare (in) vec4 N))\n"
11635 "(function refract\n"
11636 " (signature float\n"
11638 " (declare (in) float I)\n"
11639 " (declare (in) float N)\n"
11640 " (declare (in) float eta))\n"
11642 " (signature vec2\n"
11644 " (declare (in) vec2 I)\n"
11645 " (declare (in) vec2 N)\n"
11646 " (declare (in) float eta))\n"
11648 " (signature vec3\n"
11650 " (declare (in) vec3 I)\n"
11651 " (declare (in) vec3 N)\n"
11652 " (declare (in) float eta))\n"
11654 " (signature vec4\n"
11656 " (declare (in) vec4 I)\n"
11657 " (declare (in) vec4 N)\n"
11658 " (declare (in) float eta))\n"
11660 "(function matrixCompMult\n"
11661 " (signature mat2\n"
11663 " (declare (in) mat2 x)\n"
11664 " (declare (in) mat2 y))\n"
11666 " (signature mat3\n"
11668 " (declare (in) mat3 x)\n"
11669 " (declare (in) mat3 y))\n"
11671 " (signature mat4\n"
11673 " (declare (in) mat4 x)\n"
11674 " (declare (in) mat4 y))\n"
11676 " (signature mat2x3\n"
11678 " (declare (in) mat2x3 x)\n"
11679 " (declare (in) mat2x3 y))\n"
11681 " (signature mat2x4\n"
11683 " (declare (in) mat2x4 x)\n"
11684 " (declare (in) mat2x4 y))\n"
11686 " (signature mat3x2\n"
11688 " (declare (in) mat3x2 x)\n"
11689 " (declare (in) mat3x2 y))\n"
11691 " (signature mat3x4\n"
11693 " (declare (in) mat3x4 x)\n"
11694 " (declare (in) mat3x4 y))\n"
11696 " (signature mat4x2\n"
11698 " (declare (in) mat4x2 x)\n"
11699 " (declare (in) mat4x2 y))\n"
11701 " (signature mat4x3\n"
11703 " (declare (in) mat4x3 x)\n"
11704 " (declare (in) mat4x3 y))\n"
11706 "(function outerProduct\n"
11707 " (signature mat2\n"
11709 " (declare (in) vec2 c)\n"
11710 " (declare (in) vec2 r))\n"
11712 " (signature mat3\n"
11714 " (declare (in) vec3 c)\n"
11715 " (declare (in) vec3 r))\n"
11717 " (signature mat4\n"
11719 " (declare (in) vec4 c)\n"
11720 " (declare (in) vec4 r))\n"
11722 " (signature mat2x3\n"
11724 " (declare (in) vec3 c)\n"
11725 " (declare (in) vec2 r))\n"
11727 " (signature mat3x2\n"
11729 " (declare (in) vec2 c)\n"
11730 " (declare (in) vec3 r))\n"
11732 " (signature mat2x4\n"
11734 " (declare (in) vec4 c)\n"
11735 " (declare (in) vec2 r))\n"
11737 " (signature mat4x2\n"
11739 " (declare (in) vec2 c)\n"
11740 " (declare (in) vec4 r))\n"
11742 " (signature mat3x4\n"
11744 " (declare (in) vec4 c)\n"
11745 " (declare (in) vec3 r))\n"
11747 " (signature mat4x3\n"
11749 " (declare (in) vec3 c)\n"
11750 " (declare (in) vec4 r))\n"
11752 "(function transpose\n"
11753 " (signature mat2\n"
11755 " (declare (in) mat2 m))\n"
11757 " (signature mat3\n"
11759 " (declare (in) mat3 m))\n"
11761 " (signature mat4\n"
11763 " (declare (in) mat4 m))\n"
11765 " (signature mat2x3\n"
11767 " (declare (in) mat3x2 m))\n"
11769 " (signature mat3x2\n"
11771 " (declare (in) mat2x3 m))\n"
11773 " (signature mat2x4\n"
11775 " (declare (in) mat4x2 m))\n"
11777 " (signature mat4x2\n"
11779 " (declare (in) mat2x4 m))\n"
11781 " (signature mat3x4\n"
11783 " (declare (in) mat4x3 m))\n"
11785 " (signature mat4x3\n"
11787 " (declare (in) mat3x4 m))\n"
11789 "(function lessThan\n"
11790 " (signature bvec2\n"
11792 " (declare (in) vec2 x)\n"
11793 " (declare (in) vec2 y))\n"
11795 " (signature bvec3\n"
11797 " (declare (in) vec3 x)\n"
11798 " (declare (in) vec3 y))\n"
11800 " (signature bvec4\n"
11802 " (declare (in) vec4 x)\n"
11803 " (declare (in) vec4 y))\n"
11805 " (signature bvec2\n"
11807 " (declare (in) ivec2 x)\n"
11808 " (declare (in) ivec2 y))\n"
11810 " (signature bvec3\n"
11812 " (declare (in) ivec3 x)\n"
11813 " (declare (in) ivec3 y))\n"
11815 " (signature bvec4\n"
11817 " (declare (in) ivec4 x)\n"
11818 " (declare (in) ivec4 y))\n"
11820 " (signature bvec2\n"
11822 " (declare (in) uvec2 x)\n"
11823 " (declare (in) uvec2 y))\n"
11825 " (signature bvec3\n"
11827 " (declare (in) uvec3 x)\n"
11828 " (declare (in) uvec3 y))\n"
11830 " (signature bvec4\n"
11832 " (declare (in) uvec4 x)\n"
11833 " (declare (in) uvec4 y))\n"
11835 "(function lessThanEqual\n"
11836 " (signature bvec2\n"
11838 " (declare (in) vec2 x)\n"
11839 " (declare (in) vec2 y))\n"
11841 " (signature bvec3\n"
11843 " (declare (in) vec3 x)\n"
11844 " (declare (in) vec3 y))\n"
11846 " (signature bvec4\n"
11848 " (declare (in) vec4 x)\n"
11849 " (declare (in) vec4 y))\n"
11851 " (signature bvec2\n"
11853 " (declare (in) ivec2 x)\n"
11854 " (declare (in) ivec2 y))\n"
11856 " (signature bvec3\n"
11858 " (declare (in) ivec3 x)\n"
11859 " (declare (in) ivec3 y))\n"
11861 " (signature bvec4\n"
11863 " (declare (in) ivec4 x)\n"
11864 " (declare (in) ivec4 y))\n"
11866 " (signature bvec2\n"
11868 " (declare (in) uvec2 x)\n"
11869 " (declare (in) uvec2 y))\n"
11871 " (signature bvec3\n"
11873 " (declare (in) uvec3 x)\n"
11874 " (declare (in) uvec3 y))\n"
11876 " (signature bvec4\n"
11878 " (declare (in) uvec4 x)\n"
11879 " (declare (in) uvec4 y))\n"
11881 "(function greaterThan\n"
11882 " (signature bvec2\n"
11884 " (declare (in) vec2 x)\n"
11885 " (declare (in) vec2 y))\n"
11887 " (signature bvec3\n"
11889 " (declare (in) vec3 x)\n"
11890 " (declare (in) vec3 y))\n"
11892 " (signature bvec4\n"
11894 " (declare (in) vec4 x)\n"
11895 " (declare (in) vec4 y))\n"
11897 " (signature bvec2\n"
11899 " (declare (in) ivec2 x)\n"
11900 " (declare (in) ivec2 y))\n"
11902 " (signature bvec3\n"
11904 " (declare (in) ivec3 x)\n"
11905 " (declare (in) ivec3 y))\n"
11907 " (signature bvec4\n"
11909 " (declare (in) ivec4 x)\n"
11910 " (declare (in) ivec4 y))\n"
11912 " (signature bvec2\n"
11914 " (declare (in) uvec2 x)\n"
11915 " (declare (in) uvec2 y))\n"
11917 " (signature bvec3\n"
11919 " (declare (in) uvec3 x)\n"
11920 " (declare (in) uvec3 y))\n"
11922 " (signature bvec4\n"
11924 " (declare (in) uvec4 x)\n"
11925 " (declare (in) uvec4 y))\n"
11927 "(function greaterThanEqual\n"
11928 " (signature bvec2\n"
11930 " (declare (in) vec2 x)\n"
11931 " (declare (in) vec2 y))\n"
11933 " (signature bvec3\n"
11935 " (declare (in) vec3 x)\n"
11936 " (declare (in) vec3 y))\n"
11938 " (signature bvec4\n"
11940 " (declare (in) vec4 x)\n"
11941 " (declare (in) vec4 y))\n"
11943 " (signature bvec2\n"
11945 " (declare (in) ivec2 x)\n"
11946 " (declare (in) ivec2 y))\n"
11948 " (signature bvec3\n"
11950 " (declare (in) ivec3 x)\n"
11951 " (declare (in) ivec3 y))\n"
11953 " (signature bvec4\n"
11955 " (declare (in) ivec4 x)\n"
11956 " (declare (in) ivec4 y))\n"
11958 " (signature bvec2\n"
11960 " (declare (in) uvec2 x)\n"
11961 " (declare (in) uvec2 y))\n"
11963 " (signature bvec3\n"
11965 " (declare (in) uvec3 x)\n"
11966 " (declare (in) uvec3 y))\n"
11968 " (signature bvec4\n"
11970 " (declare (in) uvec4 x)\n"
11971 " (declare (in) uvec4 y))\n"
11973 "(function equal\n"
11974 " (signature bvec2\n"
11976 " (declare (in) vec2 x)\n"
11977 " (declare (in) vec2 y))\n"
11979 " (signature bvec3\n"
11981 " (declare (in) vec3 x)\n"
11982 " (declare (in) vec3 y))\n"
11984 " (signature bvec4\n"
11986 " (declare (in) vec4 x)\n"
11987 " (declare (in) vec4 y))\n"
11989 " (signature bvec2\n"
11991 " (declare (in) ivec2 x)\n"
11992 " (declare (in) ivec2 y))\n"
11994 " (signature bvec3\n"
11996 " (declare (in) ivec3 x)\n"
11997 " (declare (in) ivec3 y))\n"
11999 " (signature bvec4\n"
12001 " (declare (in) ivec4 x)\n"
12002 " (declare (in) ivec4 y))\n"
12004 " (signature bvec2\n"
12006 " (declare (in) uvec2 x)\n"
12007 " (declare (in) uvec2 y))\n"
12009 " (signature bvec3\n"
12011 " (declare (in) uvec3 x)\n"
12012 " (declare (in) uvec3 y))\n"
12014 " (signature bvec4\n"
12016 " (declare (in) uvec4 x)\n"
12017 " (declare (in) uvec4 y))\n"
12019 " (signature bvec2\n"
12021 " (declare (in) bvec2 x)\n"
12022 " (declare (in) bvec2 y))\n"
12024 " (signature bvec3\n"
12026 " (declare (in) bvec3 x)\n"
12027 " (declare (in) bvec3 y))\n"
12029 " (signature bvec4\n"
12031 " (declare (in) bvec4 x)\n"
12032 " (declare (in) bvec4 y))\n"
12034 "(function notEqual\n"
12035 " (signature bvec2\n"
12037 " (declare (in) vec2 x)\n"
12038 " (declare (in) vec2 y))\n"
12040 " (signature bvec3\n"
12042 " (declare (in) vec3 x)\n"
12043 " (declare (in) vec3 y))\n"
12045 " (signature bvec4\n"
12047 " (declare (in) vec4 x)\n"
12048 " (declare (in) vec4 y))\n"
12050 " (signature bvec2\n"
12052 " (declare (in) ivec2 x)\n"
12053 " (declare (in) ivec2 y))\n"
12055 " (signature bvec3\n"
12057 " (declare (in) ivec3 x)\n"
12058 " (declare (in) ivec3 y))\n"
12060 " (signature bvec4\n"
12062 " (declare (in) ivec4 x)\n"
12063 " (declare (in) ivec4 y))\n"
12065 " (signature bvec2\n"
12067 " (declare (in) uvec2 x)\n"
12068 " (declare (in) uvec2 y))\n"
12070 " (signature bvec3\n"
12072 " (declare (in) uvec3 x)\n"
12073 " (declare (in) uvec3 y))\n"
12075 " (signature bvec4\n"
12077 " (declare (in) uvec4 x)\n"
12078 " (declare (in) uvec4 y))\n"
12080 " (signature bvec2\n"
12082 " (declare (in) bvec2 x)\n"
12083 " (declare (in) bvec2 y))\n"
12085 " (signature bvec3\n"
12087 " (declare (in) bvec3 x)\n"
12088 " (declare (in) bvec3 y))\n"
12090 " (signature bvec4\n"
12092 " (declare (in) bvec4 x)\n"
12093 " (declare (in) bvec4 y))\n"
12096 " (signature bool\n"
12098 " (declare (in) bvec2 x))\n"
12100 " (signature bool\n"
12102 " (declare (in) bvec3 x))\n"
12104 " (signature bool\n"
12106 " (declare (in) bvec4 x))\n"
12109 " (signature bool\n"
12111 " (declare (in) bvec2 x))\n"
12113 " (signature bool\n"
12115 " (declare (in) bvec3 x))\n"
12117 " (signature bool\n"
12119 " (declare (in) bvec4 x))\n"
12122 " (signature bvec2\n"
12124 " (declare (in) bvec2 x))\n"
12126 " (signature bvec3\n"
12128 " (declare (in) bvec3 x))\n"
12130 " (signature bvec4\n"
12132 " (declare (in) bvec4 x))\n"
12134 "(function texture\n"
12135 " (signature vec4\n"
12137 " (declare (in) sampler1D sampler)\n"
12138 " (declare (in) float P))\n"
12140 " (signature ivec4\n"
12142 " (declare (in) isampler1D sampler)\n"
12143 " (declare (in) float P))\n"
12145 " (signature uvec4\n"
12147 " (declare (in) usampler1D sampler)\n"
12148 " (declare (in) float P))\n"
12150 " (signature vec4\n"
12152 " (declare (in) sampler2D sampler)\n"
12153 " (declare (in) vec2 P))\n"
12155 " (signature ivec4\n"
12157 " (declare (in) isampler2D sampler)\n"
12158 " (declare (in) vec2 P))\n"
12160 " (signature uvec4\n"
12162 " (declare (in) usampler2D sampler)\n"
12163 " (declare (in) vec2 P))\n"
12165 " (signature vec4\n"
12167 " (declare (in) sampler3D sampler)\n"
12168 " (declare (in) vec3 P))\n"
12170 " (signature ivec4\n"
12172 " (declare (in) isampler3D sampler)\n"
12173 " (declare (in) vec3 P))\n"
12175 " (signature uvec4\n"
12177 " (declare (in) usampler3D sampler)\n"
12178 " (declare (in) vec3 P))\n"
12180 " (signature vec4\n"
12182 " (declare (in) samplerCube sampler)\n"
12183 " (declare (in) vec3 P))\n"
12185 " (signature ivec4\n"
12187 " (declare (in) isamplerCube sampler)\n"
12188 " (declare (in) vec3 P))\n"
12190 " (signature uvec4\n"
12192 " (declare (in) usamplerCube sampler)\n"
12193 " (declare (in) vec3 P))\n"
12195 " (signature float\n"
12197 " (declare (in) sampler1DShadow sampler)\n"
12198 " (declare (in) vec3 P))\n"
12200 " (signature float\n"
12202 " (declare (in) sampler2DShadow sampler)\n"
12203 " (declare (in) vec3 P))\n"
12205 " (signature float\n"
12207 " (declare (in) samplerCubeShadow sampler)\n"
12208 " (declare (in) vec4 P))\n"
12210 " (signature vec4\n"
12212 " (declare (in) sampler1DArray sampler)\n"
12213 " (declare (in) vec2 P))\n"
12215 " (signature ivec4\n"
12217 " (declare (in) isampler1DArray sampler)\n"
12218 " (declare (in) vec2 P))\n"
12220 " (signature uvec4\n"
12222 " (declare (in) usampler1DArray sampler)\n"
12223 " (declare (in) vec2 P))\n"
12225 " (signature vec4\n"
12227 " (declare (in) sampler2DArray sampler)\n"
12228 " (declare (in) vec3 P))\n"
12230 " (signature ivec4\n"
12232 " (declare (in) isampler2DArray sampler)\n"
12233 " (declare (in) vec3 P))\n"
12235 " (signature uvec4\n"
12237 " (declare (in) usampler2DArray sampler)\n"
12238 " (declare (in) vec3 P))\n"
12240 " (signature float\n"
12242 " (declare (in) sampler1DArrayShadow sampler)\n"
12243 " (declare (in) vec3 P))\n"
12245 " (signature float\n"
12247 " (declare (in) sampler2DArrayShadow sampler)\n"
12248 " (declare (in) vec4 P))\n"
12250 " (signature vec4\n"
12252 " (declare (in) sampler1D sampler)\n"
12253 " (declare (in) float P)\n"
12254 " (declare (in) float bias))\n"
12256 " (signature ivec4\n"
12258 " (declare (in) isampler1D sampler)\n"
12259 " (declare (in) float P)\n"
12260 " (declare (in) float bias))\n"
12262 " (signature uvec4\n"
12264 " (declare (in) usampler1D sampler)\n"
12265 " (declare (in) float P)\n"
12266 " (declare (in) float bias))\n"
12268 " (signature vec4\n"
12270 " (declare (in) sampler2D sampler)\n"
12271 " (declare (in) vec2 P)\n"
12272 " (declare (in) float bias))\n"
12274 " (signature ivec4\n"
12276 " (declare (in) isampler2D sampler)\n"
12277 " (declare (in) vec2 P)\n"
12278 " (declare (in) float bias))\n"
12280 " (signature uvec4\n"
12282 " (declare (in) usampler2D sampler)\n"
12283 " (declare (in) vec2 P)\n"
12284 " (declare (in) float bias))\n"
12286 " (signature vec4\n"
12288 " (declare (in) sampler3D sampler)\n"
12289 " (declare (in) vec3 P)\n"
12290 " (declare (in) float bias))\n"
12292 " (signature ivec4\n"
12294 " (declare (in) isampler3D sampler)\n"
12295 " (declare (in) vec3 P)\n"
12296 " (declare (in) float bias))\n"
12298 " (signature uvec4\n"
12300 " (declare (in) usampler3D sampler)\n"
12301 " (declare (in) vec3 P)\n"
12302 " (declare (in) float bias))\n"
12304 " (signature vec4\n"
12306 " (declare (in) samplerCube sampler)\n"
12307 " (declare (in) vec3 P)\n"
12308 " (declare (in) float bias))\n"
12310 " (signature ivec4\n"
12312 " (declare (in) isamplerCube sampler)\n"
12313 " (declare (in) vec3 P)\n"
12314 " (declare (in) float bias))\n"
12316 " (signature uvec4\n"
12318 " (declare (in) usamplerCube sampler)\n"
12319 " (declare (in) vec3 P)\n"
12320 " (declare (in) float bias))\n"
12322 " (signature float\n"
12324 " (declare (in) sampler1DShadow sampler)\n"
12325 " (declare (in) vec3 P)\n"
12326 " (declare (in) float bias))\n"
12328 " (signature float\n"
12330 " (declare (in) sampler2DShadow sampler)\n"
12331 " (declare (in) vec3 P)\n"
12332 " (declare (in) float bias))\n"
12334 " (signature float\n"
12336 " (declare (in) samplerCubeShadow sampler)\n"
12337 " (declare (in) vec4 P)\n"
12338 " (declare (in) float bias))\n"
12340 " (signature vec4\n"
12342 " (declare (in) sampler1DArray sampler)\n"
12343 " (declare (in) vec2 P)\n"
12344 " (declare (in) float bias))\n"
12346 " (signature ivec4\n"
12348 " (declare (in) isampler1DArray sampler)\n"
12349 " (declare (in) vec2 P)\n"
12350 " (declare (in) float bias))\n"
12352 " (signature uvec4\n"
12354 " (declare (in) usampler1DArray sampler)\n"
12355 " (declare (in) vec2 P)\n"
12356 " (declare (in) float bias))\n"
12358 " (signature vec4\n"
12360 " (declare (in) sampler2DArray sampler)\n"
12361 " (declare (in) vec3 P)\n"
12362 " (declare (in) float bias))\n"
12364 " (signature ivec4\n"
12366 " (declare (in) isampler2DArray sampler)\n"
12367 " (declare (in) vec3 P)\n"
12368 " (declare (in) float bias))\n"
12370 " (signature uvec4\n"
12372 " (declare (in) usampler2DArray sampler)\n"
12373 " (declare (in) vec3 P)\n"
12374 " (declare (in) float bias))\n"
12376 " (signature float\n"
12378 " (declare (in) sampler1DArrayShadow sampler)\n"
12379 " (declare (in) vec3 P)\n"
12380 " (declare (in) float bias))\n"
12382 "(function textureProj\n"
12383 " (signature vec4\n"
12385 " (declare (in) sampler1D sampler)\n"
12386 " (declare (in) vec2 P))\n"
12388 " (signature ivec4\n"
12390 " (declare (in) isampler1D sampler)\n"
12391 " (declare (in) vec2 P))\n"
12393 " (signature uvec4\n"
12395 " (declare (in) usampler1D sampler)\n"
12396 " (declare (in) vec2 P))\n"
12398 " (signature vec4\n"
12400 " (declare (in) sampler1D sampler)\n"
12401 " (declare (in) vec4 P))\n"
12403 " (signature ivec4\n"
12405 " (declare (in) isampler1D sampler)\n"
12406 " (declare (in) vec4 P))\n"
12408 " (signature uvec4\n"
12410 " (declare (in) usampler1D sampler)\n"
12411 " (declare (in) vec4 P))\n"
12413 " (signature vec4\n"
12415 " (declare (in) sampler2D sampler)\n"
12416 " (declare (in) vec3 P))\n"
12418 " (signature ivec4\n"
12420 " (declare (in) isampler2D sampler)\n"
12421 " (declare (in) vec3 P))\n"
12423 " (signature uvec4\n"
12425 " (declare (in) usampler2D sampler)\n"
12426 " (declare (in) vec3 P))\n"
12428 " (signature vec4\n"
12430 " (declare (in) sampler2D sampler)\n"
12431 " (declare (in) vec4 P))\n"
12433 " (signature ivec4\n"
12435 " (declare (in) isampler2D sampler)\n"
12436 " (declare (in) vec4 P))\n"
12438 " (signature uvec4\n"
12440 " (declare (in) usampler2D sampler)\n"
12441 " (declare (in) vec4 P))\n"
12443 " (signature vec4\n"
12445 " (declare (in) sampler3D sampler)\n"
12446 " (declare (in) vec4 P))\n"
12448 " (signature ivec4\n"
12450 " (declare (in) isampler3D sampler)\n"
12451 " (declare (in) vec4 P))\n"
12453 " (signature uvec4\n"
12455 " (declare (in) usampler3D sampler)\n"
12456 " (declare (in) vec4 P))\n"
12458 " (signature float\n"
12460 " (declare (in) sampler1DShadow sampler)\n"
12461 " (declare (in) vec4 P))\n"
12463 " (signature float\n"
12465 " (declare (in) sampler2DShadow sampler)\n"
12466 " (declare (in) vec4 P))\n"
12468 " (signature vec4\n"
12470 " (declare (in) sampler1D sampler)\n"
12471 " (declare (in) vec2 P)\n"
12472 " (declare (in) float bias))\n"
12474 " (signature ivec4\n"
12476 " (declare (in) isampler1D sampler)\n"
12477 " (declare (in) vec2 P)\n"
12478 " (declare (in) float bias))\n"
12480 " (signature uvec4\n"
12482 " (declare (in) usampler1D sampler)\n"
12483 " (declare (in) vec2 P)\n"
12484 " (declare (in) float bias))\n"
12486 " (signature vec4\n"
12488 " (declare (in) sampler1D sampler)\n"
12489 " (declare (in) vec4 P)\n"
12490 " (declare (in) float bias))\n"
12492 " (signature ivec4\n"
12494 " (declare (in) isampler1D sampler)\n"
12495 " (declare (in) vec4 P)\n"
12496 " (declare (in) float bias))\n"
12498 " (signature uvec4\n"
12500 " (declare (in) usampler1D sampler)\n"
12501 " (declare (in) vec4 P)\n"
12502 " (declare (in) float bias))\n"
12504 " (signature vec4\n"
12506 " (declare (in) sampler2D sampler)\n"
12507 " (declare (in) vec3 P)\n"
12508 " (declare (in) float bias))\n"
12510 " (signature ivec4\n"
12512 " (declare (in) isampler2D sampler)\n"
12513 " (declare (in) vec3 P)\n"
12514 " (declare (in) float bias))\n"
12516 " (signature uvec4\n"
12518 " (declare (in) usampler2D sampler)\n"
12519 " (declare (in) vec3 P)\n"
12520 " (declare (in) float bias))\n"
12522 " (signature vec4\n"
12524 " (declare (in) sampler2D sampler)\n"
12525 " (declare (in) vec4 P)\n"
12526 " (declare (in) float bias))\n"
12528 " (signature ivec4\n"
12530 " (declare (in) isampler2D sampler)\n"
12531 " (declare (in) vec4 P)\n"
12532 " (declare (in) float bias))\n"
12534 " (signature uvec4\n"
12536 " (declare (in) usampler2D sampler)\n"
12537 " (declare (in) vec4 P)\n"
12538 " (declare (in) float bias))\n"
12540 " (signature vec4\n"
12542 " (declare (in) sampler3D sampler)\n"
12543 " (declare (in) vec4 P)\n"
12544 " (declare (in) float bias))\n"
12546 " (signature ivec4\n"
12548 " (declare (in) isampler3D sampler)\n"
12549 " (declare (in) vec4 P)\n"
12550 " (declare (in) float bias))\n"
12552 " (signature uvec4\n"
12554 " (declare (in) usampler3D sampler)\n"
12555 " (declare (in) vec4 P)\n"
12556 " (declare (in) float bias))\n"
12558 " (signature float\n"
12560 " (declare (in) sampler1DShadow sampler)\n"
12561 " (declare (in) vec4 P)\n"
12562 " (declare (in) float bias))\n"
12564 " (signature float\n"
12566 " (declare (in) sampler2DShadow sampler)\n"
12567 " (declare (in) vec4 P)\n"
12568 " (declare (in) float bias))\n"
12570 "(function textureLod\n"
12571 " (signature vec4\n"
12573 " (declare (in) sampler1D sampler)\n"
12574 " (declare (in) float P)\n"
12575 " (declare (in) float lod))\n"
12577 " (signature ivec4\n"
12579 " (declare (in) isampler1D sampler)\n"
12580 " (declare (in) float P)\n"
12581 " (declare (in) float lod))\n"
12583 " (signature uvec4\n"
12585 " (declare (in) usampler1D sampler)\n"
12586 " (declare (in) float P)\n"
12587 " (declare (in) float lod))\n"
12589 " (signature vec4\n"
12591 " (declare (in) sampler2D sampler)\n"
12592 " (declare (in) vec2 P)\n"
12593 " (declare (in) float lod))\n"
12595 " (signature ivec4\n"
12597 " (declare (in) isampler2D sampler)\n"
12598 " (declare (in) vec2 P)\n"
12599 " (declare (in) float lod))\n"
12601 " (signature uvec4\n"
12603 " (declare (in) usampler2D sampler)\n"
12604 " (declare (in) vec2 P)\n"
12605 " (declare (in) float lod))\n"
12607 " (signature vec4\n"
12609 " (declare (in) sampler3D sampler)\n"
12610 " (declare (in) vec3 P)\n"
12611 " (declare (in) float lod))\n"
12613 " (signature ivec4\n"
12615 " (declare (in) isampler3D sampler)\n"
12616 " (declare (in) vec3 P)\n"
12617 " (declare (in) float lod))\n"
12619 " (signature uvec4\n"
12621 " (declare (in) usampler3D sampler)\n"
12622 " (declare (in) vec3 P)\n"
12623 " (declare (in) float lod))\n"
12625 " (signature vec4\n"
12627 " (declare (in) samplerCube sampler)\n"
12628 " (declare (in) vec3 P)\n"
12629 " (declare (in) float lod))\n"
12631 " (signature ivec4\n"
12633 " (declare (in) isamplerCube sampler)\n"
12634 " (declare (in) vec3 P)\n"
12635 " (declare (in) float lod))\n"
12637 " (signature uvec4\n"
12639 " (declare (in) usamplerCube sampler)\n"
12640 " (declare (in) vec3 P)\n"
12641 " (declare (in) float lod))\n"
12643 " (signature float\n"
12645 " (declare (in) sampler1DShadow sampler)\n"
12646 " (declare (in) vec3 P)\n"
12647 " (declare (in) float lod))\n"
12649 " (signature float\n"
12651 " (declare (in) sampler2DShadow sampler)\n"
12652 " (declare (in) vec3 P)\n"
12653 " (declare (in) float lod))\n"
12655 " (signature vec4\n"
12657 " (declare (in) sampler1DArray sampler)\n"
12658 " (declare (in) vec2 P)\n"
12659 " (declare (in) float lod))\n"
12661 " (signature ivec4\n"
12663 " (declare (in) isampler1DArray sampler)\n"
12664 " (declare (in) vec2 P)\n"
12665 " (declare (in) float lod))\n"
12667 " (signature uvec4\n"
12669 " (declare (in) usampler1DArray sampler)\n"
12670 " (declare (in) vec2 P)\n"
12671 " (declare (in) float lod))\n"
12673 " (signature vec4\n"
12675 " (declare (in) sampler2DArray sampler)\n"
12676 " (declare (in) vec3 P)\n"
12677 " (declare (in) float lod))\n"
12679 " (signature ivec4\n"
12681 " (declare (in) isampler2DArray sampler)\n"
12682 " (declare (in) vec3 P)\n"
12683 " (declare (in) float lod))\n"
12685 " (signature uvec4\n"
12687 " (declare (in) usampler2DArray sampler)\n"
12688 " (declare (in) vec3 P)\n"
12689 " (declare (in) float lod))\n"
12691 " (signature float\n"
12693 " (declare (in) sampler1DArrayShadow sampler)\n"
12694 " (declare (in) vec3 P)\n"
12695 " (declare (in) float lod))\n"
12697 "(function texelFetch\n"
12698 " (signature vec4\n"
12700 " (declare (in) sampler1D sampler)\n"
12701 " (declare (in) int P)\n"
12702 " (declare (in) int lod))\n"
12704 " (signature ivec4\n"
12706 " (declare (in) isampler1D sampler)\n"
12707 " (declare (in) int P)\n"
12708 " (declare (in) int lod))\n"
12710 " (signature uvec4\n"
12712 " (declare (in) usampler1D sampler)\n"
12713 " (declare (in) int P)\n"
12714 " (declare (in) int lod))\n"
12716 " (signature vec4\n"
12718 " (declare (in) sampler2D sampler)\n"
12719 " (declare (in) ivec2 P)\n"
12720 " (declare (in) int lod))\n"
12722 " (signature ivec4\n"
12724 " (declare (in) isampler2D sampler)\n"
12725 " (declare (in) ivec2 P)\n"
12726 " (declare (in) int lod))\n"
12728 " (signature uvec4\n"
12730 " (declare (in) usampler2D sampler)\n"
12731 " (declare (in) ivec2 P)\n"
12732 " (declare (in) int lod))\n"
12734 " (signature vec4\n"
12736 " (declare (in) sampler3D sampler)\n"
12737 " (declare (in) ivec3 P)\n"
12738 " (declare (in) int lod))\n"
12740 " (signature ivec4\n"
12742 " (declare (in) isampler3D sampler)\n"
12743 " (declare (in) ivec3 P)\n"
12744 " (declare (in) int lod))\n"
12746 " (signature uvec4\n"
12748 " (declare (in) usampler3D sampler)\n"
12749 " (declare (in) ivec3 P)\n"
12750 " (declare (in) int lod))\n"
12752 " (signature vec4\n"
12754 " (declare (in) sampler1DArray sampler)\n"
12755 " (declare (in) ivec2 P)\n"
12756 " (declare (in) int lod))\n"
12758 " (signature ivec4\n"
12760 " (declare (in) isampler1DArray sampler)\n"
12761 " (declare (in) ivec2 P)\n"
12762 " (declare (in) int lod))\n"
12764 " (signature uvec4\n"
12766 " (declare (in) usampler1DArray sampler)\n"
12767 " (declare (in) ivec2 P)\n"
12768 " (declare (in) int lod))\n"
12770 " (signature vec4\n"
12772 " (declare (in) sampler2DArray sampler)\n"
12773 " (declare (in) ivec3 P)\n"
12774 " (declare (in) int lod))\n"
12776 " (signature ivec4\n"
12778 " (declare (in) isampler2DArray sampler)\n"
12779 " (declare (in) ivec3 P)\n"
12780 " (declare (in) int lod))\n"
12782 " (signature uvec4\n"
12784 " (declare (in) usampler2DArray sampler)\n"
12785 " (declare (in) ivec3 P)\n"
12786 " (declare (in) int lod))\n"
12788 "(function textureProjLod\n"
12789 " (signature vec4\n"
12791 " (declare (in) sampler1D sampler)\n"
12792 " (declare (in) vec2 P)\n"
12793 " (declare (in) float lod))\n"
12795 " (signature ivec4\n"
12797 " (declare (in) isampler1D sampler)\n"
12798 " (declare (in) vec2 P)\n"
12799 " (declare (in) float lod))\n"
12801 " (signature uvec4\n"
12803 " (declare (in) usampler1D sampler)\n"
12804 " (declare (in) vec2 P)\n"
12805 " (declare (in) float lod))\n"
12807 " (signature vec4\n"
12809 " (declare (in) sampler1D sampler)\n"
12810 " (declare (in) vec4 P)\n"
12811 " (declare (in) float lod))\n"
12813 " (signature ivec4\n"
12815 " (declare (in) isampler1D sampler)\n"
12816 " (declare (in) vec4 P)\n"
12817 " (declare (in) float lod))\n"
12819 " (signature uvec4\n"
12821 " (declare (in) usampler1D sampler)\n"
12822 " (declare (in) vec4 P)\n"
12823 " (declare (in) float lod))\n"
12825 " (signature vec4\n"
12827 " (declare (in) sampler2D sampler)\n"
12828 " (declare (in) vec3 P)\n"
12829 " (declare (in) float lod))\n"
12831 " (signature ivec4\n"
12833 " (declare (in) isampler2D sampler)\n"
12834 " (declare (in) vec3 P)\n"
12835 " (declare (in) float lod))\n"
12837 " (signature uvec4\n"
12839 " (declare (in) usampler2D sampler)\n"
12840 " (declare (in) vec3 P)\n"
12841 " (declare (in) float lod))\n"
12843 " (signature vec4\n"
12845 " (declare (in) sampler2D sampler)\n"
12846 " (declare (in) vec4 P)\n"
12847 " (declare (in) float lod))\n"
12849 " (signature ivec4\n"
12851 " (declare (in) isampler2D sampler)\n"
12852 " (declare (in) vec4 P)\n"
12853 " (declare (in) float lod))\n"
12855 " (signature uvec4\n"
12857 " (declare (in) usampler2D sampler)\n"
12858 " (declare (in) vec4 P)\n"
12859 " (declare (in) float lod))\n"
12861 " (signature vec4\n"
12863 " (declare (in) sampler3D sampler)\n"
12864 " (declare (in) vec4 P)\n"
12865 " (declare (in) float lod))\n"
12867 " (signature ivec4\n"
12869 " (declare (in) isampler3D sampler)\n"
12870 " (declare (in) vec4 P)\n"
12871 " (declare (in) float lod))\n"
12873 " (signature uvec4\n"
12875 " (declare (in) usampler3D sampler)\n"
12876 " (declare (in) vec4 P)\n"
12877 " (declare (in) float lod))\n"
12879 " (signature float\n"
12881 " (declare (in) sampler1DShadow sampler)\n"
12882 " (declare (in) vec4 P)\n"
12883 " (declare (in) float lod))\n"
12885 " (signature float\n"
12887 " (declare (in) sampler2DShadow sampler)\n"
12888 " (declare (in) vec4 P)\n"
12889 " (declare (in) float lod))\n"
12891 "(function textureGrad\n"
12892 " (signature vec4\n"
12894 " (declare (in) sampler1D sampler)\n"
12895 " (declare (in) float P)\n"
12896 " (declare (in) float dPdx)\n"
12897 " (declare (in) float dPdy))\n"
12899 " (signature ivec4\n"
12901 " (declare (in) isampler1D sampler)\n"
12902 " (declare (in) float P)\n"
12903 " (declare (in) float dPdx)\n"
12904 " (declare (in) float dPdy))\n"
12906 " (signature uvec4\n"
12908 " (declare (in) usampler1D sampler)\n"
12909 " (declare (in) float P)\n"
12910 " (declare (in) float dPdx)\n"
12911 " (declare (in) float dPdy))\n"
12913 " (signature vec4\n"
12915 " (declare (in) sampler2D sampler)\n"
12916 " (declare (in) vec2 P)\n"
12917 " (declare (in) vec2 dPdx)\n"
12918 " (declare (in) vec2 dPdy))\n"
12920 " (signature ivec4\n"
12922 " (declare (in) isampler2D sampler)\n"
12923 " (declare (in) vec2 P)\n"
12924 " (declare (in) vec2 dPdx)\n"
12925 " (declare (in) vec2 dPdy))\n"
12927 " (signature uvec4\n"
12929 " (declare (in) usampler2D sampler)\n"
12930 " (declare (in) vec2 P)\n"
12931 " (declare (in) vec2 dPdx)\n"
12932 " (declare (in) vec2 dPdy))\n"
12934 " (signature vec4\n"
12936 " (declare (in) sampler3D sampler)\n"
12937 " (declare (in) vec3 P)\n"
12938 " (declare (in) vec3 dPdx)\n"
12939 " (declare (in) vec3 dPdy))\n"
12941 " (signature ivec4\n"
12943 " (declare (in) isampler3D sampler)\n"
12944 " (declare (in) vec3 P)\n"
12945 " (declare (in) vec3 dPdx)\n"
12946 " (declare (in) vec3 dPdy))\n"
12948 " (signature uvec4\n"
12950 " (declare (in) usampler3D sampler)\n"
12951 " (declare (in) vec3 P)\n"
12952 " (declare (in) vec3 dPdx)\n"
12953 " (declare (in) vec3 dPdy))\n"
12955 " (signature vec4\n"
12957 " (declare (in) samplerCube sampler)\n"
12958 " (declare (in) vec3 P)\n"
12959 " (declare (in) vec3 dPdx)\n"
12960 " (declare (in) vec3 dPdy))\n"
12962 " (signature ivec4\n"
12964 " (declare (in) isamplerCube sampler)\n"
12965 " (declare (in) vec3 P)\n"
12966 " (declare (in) vec3 dPdx)\n"
12967 " (declare (in) vec3 dPdy))\n"
12969 " (signature uvec4\n"
12971 " (declare (in) usamplerCube sampler)\n"
12972 " (declare (in) vec3 P)\n"
12973 " (declare (in) vec3 dPdx)\n"
12974 " (declare (in) vec3 dPdy))\n"
12976 " (signature float\n"
12978 " (declare (in) sampler1DShadow sampler)\n"
12979 " (declare (in) vec3 P)\n"
12980 " (declare (in) float dPdx)\n"
12981 " (declare (in) float dPdy))\n"
12983 " (signature float\n"
12985 " (declare (in) sampler2DShadow sampler)\n"
12986 " (declare (in) vec3 P)\n"
12987 " (declare (in) vec2 dPdx)\n"
12988 " (declare (in) vec2 dPdy))\n"
12990 " (signature float\n"
12992 " (declare (in) samplerCubeShadow sampler)\n"
12993 " (declare (in) vec4 P)\n"
12994 " (declare (in) vec3 dPdx)\n"
12995 " (declare (in) vec3 dPdy))\n"
12997 " (signature vec4\n"
12999 " (declare (in) sampler1DArray sampler)\n"
13000 " (declare (in) vec2 P)\n"
13001 " (declare (in) float dPdx)\n"
13002 " (declare (in) float dPdy))\n"
13004 " (signature ivec4\n"
13006 " (declare (in) isampler1DArray sampler)\n"
13007 " (declare (in) vec2 P)\n"
13008 " (declare (in) float dPdx)\n"
13009 " (declare (in) float dPdy))\n"
13011 " (signature uvec4\n"
13013 " (declare (in) usampler1DArray sampler)\n"
13014 " (declare (in) vec2 P)\n"
13015 " (declare (in) float dPdx)\n"
13016 " (declare (in) float dPdy))\n"
13018 " (signature vec4\n"
13020 " (declare (in) sampler2DArray sampler)\n"
13021 " (declare (in) vec3 P)\n"
13022 " (declare (in) vec2 dPdx)\n"
13023 " (declare (in) vec2 dPdy))\n"
13025 " (signature ivec4\n"
13027 " (declare (in) isampler2DArray sampler)\n"
13028 " (declare (in) vec3 P)\n"
13029 " (declare (in) vec2 dPdx)\n"
13030 " (declare (in) vec2 dPdy))\n"
13032 " (signature uvec4\n"
13034 " (declare (in) usampler2DArray sampler)\n"
13035 " (declare (in) vec3 P)\n"
13036 " (declare (in) vec2 dPdx)\n"
13037 " (declare (in) vec2 dPdy))\n"
13039 " (signature float\n"
13041 " (declare (in) sampler1DArrayShadow sampler)\n"
13042 " (declare (in) vec3 P)\n"
13043 " (declare (in) float dPdx)\n"
13044 " (declare (in) float dPdy))\n"
13046 " (signature float\n"
13048 " (declare (in) sampler2DArrayShadow sampler)\n"
13049 " (declare (in) vec4 P)\n"
13050 " (declare (in) vec2 dPdx)\n"
13051 " (declare (in) vec2 dPdy))\n"
13053 "(function textureProjGrad\n"
13054 " (signature vec4\n"
13056 " (declare (in) sampler1D sampler)\n"
13057 " (declare (in) vec2 P)\n"
13058 " (declare (in) float dPdx)\n"
13059 " (declare (in) float dPdy))\n"
13061 " (signature ivec4\n"
13063 " (declare (in) isampler1D sampler)\n"
13064 " (declare (in) vec2 P)\n"
13065 " (declare (in) float dPdx)\n"
13066 " (declare (in) float dPdy))\n"
13068 " (signature uvec4\n"
13070 " (declare (in) usampler1D sampler)\n"
13071 " (declare (in) vec2 P)\n"
13072 " (declare (in) float dPdx)\n"
13073 " (declare (in) float dPdy))\n"
13075 " (signature vec4\n"
13077 " (declare (in) sampler1D sampler)\n"
13078 " (declare (in) vec4 P)\n"
13079 " (declare (in) float dPdx)\n"
13080 " (declare (in) float dPdy))\n"
13082 " (signature ivec4\n"
13084 " (declare (in) isampler1D sampler)\n"
13085 " (declare (in) vec4 P)\n"
13086 " (declare (in) float dPdx)\n"
13087 " (declare (in) float dPdy))\n"
13089 " (signature uvec4\n"
13091 " (declare (in) usampler1D sampler)\n"
13092 " (declare (in) vec4 P)\n"
13093 " (declare (in) float dPdx)\n"
13094 " (declare (in) float dPdy))\n"
13096 " (signature vec4\n"
13098 " (declare (in) sampler2D sampler)\n"
13099 " (declare (in) vec3 P)\n"
13100 " (declare (in) vec2 dPdx)\n"
13101 " (declare (in) vec2 dPdy))\n"
13103 " (signature ivec4\n"
13105 " (declare (in) isampler2D sampler)\n"
13106 " (declare (in) vec3 P)\n"
13107 " (declare (in) vec2 dPdx)\n"
13108 " (declare (in) vec2 dPdy))\n"
13110 " (signature uvec4\n"
13112 " (declare (in) usampler2D sampler)\n"
13113 " (declare (in) vec3 P)\n"
13114 " (declare (in) vec2 dPdx)\n"
13115 " (declare (in) vec2 dPdy))\n"
13117 " (signature vec4\n"
13119 " (declare (in) sampler2D sampler)\n"
13120 " (declare (in) vec4 P)\n"
13121 " (declare (in) vec2 dPdx)\n"
13122 " (declare (in) vec2 dPdy))\n"
13124 " (signature ivec4\n"
13126 " (declare (in) isampler2D sampler)\n"
13127 " (declare (in) vec4 P)\n"
13128 " (declare (in) vec2 dPdx)\n"
13129 " (declare (in) vec2 dPdy))\n"
13131 " (signature uvec4\n"
13133 " (declare (in) usampler2D sampler)\n"
13134 " (declare (in) vec4 P)\n"
13135 " (declare (in) vec2 dPdx)\n"
13136 " (declare (in) vec2 dPdy))\n"
13138 " (signature vec4\n"
13140 " (declare (in) sampler3D sampler)\n"
13141 " (declare (in) vec4 P)\n"
13142 " (declare (in) vec3 dPdx)\n"
13143 " (declare (in) vec3 dPdy))\n"
13145 " (signature ivec4\n"
13147 " (declare (in) isampler3D sampler)\n"
13148 " (declare (in) vec4 P)\n"
13149 " (declare (in) vec3 dPdx)\n"
13150 " (declare (in) vec3 dPdy))\n"
13152 " (signature uvec4\n"
13154 " (declare (in) usampler3D sampler)\n"
13155 " (declare (in) vec4 P)\n"
13156 " (declare (in) vec3 dPdx)\n"
13157 " (declare (in) vec3 dPdy))\n"
13159 " (signature float\n"
13161 " (declare (in) sampler1DShadow sampler)\n"
13162 " (declare (in) vec4 P)\n"
13163 " (declare (in) float dPdx)\n"
13164 " (declare (in) float dPdy))\n"
13166 " (signature float\n"
13168 " (declare (in) sampler2DShadow sampler)\n"
13169 " (declare (in) vec4 P)\n"
13170 " (declare (in) vec2 dPdx)\n"
13171 " (declare (in) vec2 dPdy))\n"
13173 "(function texture1D\n"
13174 " (signature vec4\n"
13176 " (declare (in) sampler1D sampler)\n"
13177 " (declare (in) float coord))\n"
13179 " (signature vec4\n"
13181 " (declare (in) sampler1D sampler)\n"
13182 " (declare (in) float coord)\n"
13183 " (declare (in) float bias))\n"
13185 "(function texture1DProj\n"
13186 " (signature vec4\n"
13188 " (declare (in) sampler1D sampler)\n"
13189 " (declare (in) vec2 coord))\n"
13191 " (signature vec4\n"
13193 " (declare (in) sampler1D sampler)\n"
13194 " (declare (in) vec4 coord))\n"
13196 " (signature vec4\n"
13198 " (declare (in) sampler1D sampler)\n"
13199 " (declare (in) vec2 coord)\n"
13200 " (declare (in) float bias))\n"
13202 " (signature vec4\n"
13204 " (declare (in) sampler1D sampler)\n"
13205 " (declare (in) vec4 coord)\n"
13206 " (declare (in) float bias))\n"
13208 "(function texture1DLod\n"
13209 " (signature vec4\n"
13211 " (declare (in) sampler1D sampler)\n"
13212 " (declare (in) float coord)\n"
13213 " (declare (in) float lod))\n"
13215 "(function texture1DProjLod\n"
13216 " (signature vec4\n"
13218 " (declare (in) sampler1D sampler)\n"
13219 " (declare (in) vec2 coord)\n"
13220 " (declare (in) float lod))\n"
13222 " (signature vec4\n"
13224 " (declare (in) sampler1D sampler)\n"
13225 " (declare (in) vec4 coord)\n"
13226 " (declare (in) float lod))\n"
13228 "(function texture2D\n"
13229 " (signature vec4\n"
13231 " (declare (in) sampler2D sampler)\n"
13232 " (declare (in) vec2 coord))\n"
13234 " (signature vec4\n"
13236 " (declare (in) sampler2D sampler)\n"
13237 " (declare (in) vec2 coord)\n"
13238 " (declare (in) float bias))\n"
13240 "(function texture2DProj\n"
13241 " (signature vec4\n"
13243 " (declare (in) sampler2D sampler)\n"
13244 " (declare (in) vec3 coord))\n"
13246 " (signature vec4\n"
13248 " (declare (in) sampler2D sampler)\n"
13249 " (declare (in) vec4 coord))\n"
13251 " (signature vec4\n"
13253 " (declare (in) sampler2D sampler)\n"
13254 " (declare (in) vec3 coord)\n"
13255 " (declare (in) float bias))\n"
13257 " (signature vec4\n"
13259 " (declare (in) sampler2D sampler)\n"
13260 " (declare (in) vec4 coord)\n"
13261 " (declare (in) float bias))\n"
13263 "(function texture2DLod\n"
13264 " (signature vec4\n"
13266 " (declare (in) sampler2D sampler)\n"
13267 " (declare (in) vec2 coord)\n"
13268 " (declare (in) float lod))\n"
13270 "(function texture2DProjLod\n"
13271 " (signature vec4\n"
13273 " (declare (in) sampler2D sampler)\n"
13274 " (declare (in) vec3 coord)\n"
13275 " (declare (in) float lod))\n"
13277 " (signature vec4\n"
13279 " (declare (in) sampler2D sampler)\n"
13280 " (declare (in) vec4 coord)\n"
13281 " (declare (in) float lod))\n"
13283 "(function texture3D\n"
13284 " (signature vec4\n"
13286 " (declare (in) sampler3D sampler)\n"
13287 " (declare (in) vec3 coord))\n"
13289 " (signature vec4\n"
13291 " (declare (in) sampler3D sampler)\n"
13292 " (declare (in) vec3 coord)\n"
13293 " (declare (in) float bias))\n"
13295 "(function texture3DProj\n"
13296 " (signature vec4\n"
13298 " (declare (in) sampler3D sampler)\n"
13299 " (declare (in) vec4 coord))\n"
13301 " (signature vec4\n"
13303 " (declare (in) sampler3D sampler)\n"
13304 " (declare (in) vec4 coord)\n"
13305 " (declare (in) float bias))\n"
13307 "(function texture3DLod\n"
13308 " (signature vec4\n"
13310 " (declare (in) sampler3D sampler)\n"
13311 " (declare (in) vec3 coord)\n"
13312 " (declare (in) float lod))\n"
13314 "(function texture3DProjLod\n"
13315 " (signature vec4\n"
13317 " (declare (in) sampler3D sampler)\n"
13318 " (declare (in) vec4 coord)\n"
13319 " (declare (in) float lod))\n"
13321 "(function textureCube\n"
13322 " (signature vec4\n"
13324 " (declare (in) samplerCube sampler)\n"
13325 " (declare (in) vec3 coord))\n"
13327 " (signature vec4\n"
13329 " (declare (in) samplerCube sampler)\n"
13330 " (declare (in) vec3 coord)\n"
13331 " (declare (in) float bias))\n"
13333 "(function textureCubeLod\n"
13334 " (signature vec4\n"
13336 " (declare (in) samplerCube sampler)\n"
13337 " (declare (in) vec3 coord)\n"
13338 " (declare (in) float lod))\n"
13340 "(function shadow1D\n"
13341 " (signature vec4\n"
13343 " (declare (in) sampler1DShadow sampler)\n"
13344 " (declare (in) vec3 coord))\n"
13346 " (signature vec4\n"
13348 " (declare (in) sampler1DShadow sampler)\n"
13349 " (declare (in) vec3 coord)\n"
13350 " (declare (in) float bias))\n"
13352 "(function shadow2D\n"
13353 " (signature vec4\n"
13355 " (declare (in) sampler2DShadow sampler)\n"
13356 " (declare (in) vec3 coord))\n"
13358 " (signature vec4\n"
13360 " (declare (in) sampler2DShadow sampler)\n"
13361 " (declare (in) vec3 coord)\n"
13362 " (declare (in) float bias))\n"
13364 "(function shadow1DProj\n"
13365 " (signature vec4\n"
13367 " (declare (in) sampler1DShadow sampler)\n"
13368 " (declare (in) vec4 coord))\n"
13370 " (signature vec4\n"
13372 " (declare (in) sampler1DShadow sampler)\n"
13373 " (declare (in) vec4 coord)\n"
13374 " (declare (in) float bias))\n"
13376 "(function shadow2DProj\n"
13377 " (signature vec4\n"
13379 " (declare (in) sampler2DShadow sampler)\n"
13380 " (declare (in) vec4 coord))\n"
13382 " (signature vec4\n"
13384 " (declare (in) sampler2DShadow sampler)\n"
13385 " (declare (in) vec4 coord)\n"
13386 " (declare (in) float bias))\n"
13388 "(function shadow1DLod\n"
13389 " (signature vec4\n"
13391 " (declare (in) sampler1DShadow sampler)\n"
13392 " (declare (in) vec3 coord)\n"
13393 " (declare (in) float lod))\n"
13395 "(function shadow2DLod\n"
13396 " (signature vec4\n"
13398 " (declare (in) sampler2DShadow sampler)\n"
13399 " (declare (in) vec3 coord)\n"
13400 " (declare (in) float lod))\n"
13402 "(function shadow1DProjLod\n"
13403 " (signature vec4\n"
13405 " (declare (in) sampler1DShadow sampler)\n"
13406 " (declare (in) vec4 coord)\n"
13407 " (declare (in) float lod))\n"
13409 "(function shadow2DProjLod\n"
13410 " (signature vec4\n"
13412 " (declare (in) sampler2DShadow sampler)\n"
13413 " (declare (in) vec4 coord)\n"
13414 " (declare (in) float lod))\n"
13417 " (signature float\n"
13419 " (declare (in) float p))\n"
13421 " (signature vec2\n"
13423 " (declare (in) vec2 p))\n"
13425 " (signature vec3\n"
13427 " (declare (in) vec3 p))\n"
13429 " (signature vec4\n"
13431 " (declare (in) vec4 p))\n"
13434 " (signature float\n"
13436 " (declare (in) float p))\n"
13438 " (signature vec2\n"
13440 " (declare (in) vec2 p))\n"
13442 " (signature vec3\n"
13444 " (declare (in) vec3 p))\n"
13446 " (signature vec4\n"
13448 " (declare (in) vec4 p))\n"
13450 "(function fwidth\n"
13451 " (signature float\n"
13453 " (declare (in) float p))\n"
13455 " (signature vec2\n"
13457 " (declare (in) vec2 p))\n"
13459 " (signature vec3\n"
13461 " (declare (in) vec3 p))\n"
13463 " (signature vec4\n"
13465 " (declare (in) vec4 p))\n"
13467 "(function noise1\n"
13468 " (signature float\n"
13470 " (declare (in) float x))\n"
13472 " (signature float\n"
13474 " (declare (in) vec2 x))\n"
13476 " (signature float\n"
13478 " (declare (in) vec3 x))\n"
13480 " (signature float\n"
13482 " (declare (in) vec4 x))\n"
13484 "(function noise2\n"
13485 " (signature vec2\n"
13487 " (declare (in) float x))\n"
13489 " (signature vec2\n"
13491 " (declare (in) vec2 x))\n"
13493 " (signature vec2\n"
13495 " (declare (in) vec3 x))\n"
13497 " (signature vec2\n"
13499 " (declare (in) vec4 x))\n"
13501 "(function noise3\n"
13502 " (signature vec3\n"
13504 " (declare (in) float x))\n"
13506 " (signature vec3\n"
13508 " (declare (in) vec2 x))\n"
13510 " (signature vec3\n"
13512 " (declare (in) vec3 x))\n"
13514 " (signature vec3\n"
13516 " (declare (in) vec4 x))\n"
13518 "(function noise4\n"
13519 " (signature vec4\n"
13521 " (declare (in) float x))\n"
13523 " (signature vec4\n"
13525 " (declare (in) vec2 x))\n"
13527 " (signature vec4\n"
13529 " (declare (in) vec3 x))\n"
13531 " (signature vec4\n"
13533 " (declare (in) vec4 x))\n"
13536 static const char *functions_for_130_frag
[] = {
13556 builtin_faceforward
,
13560 builtin_greaterThan
,
13561 builtin_greaterThanEqual
,
13562 builtin_inversesqrt
,
13565 builtin_lessThanEqual
,
13568 builtin_matrixCompMult
,
13580 builtin_outerProduct
,
13586 builtin_shadow1DLod
,
13587 builtin_shadow1DProj
,
13588 builtin_shadow1DProjLod
,
13590 builtin_shadow2DLod
,
13591 builtin_shadow2DProj
,
13592 builtin_shadow2DProjLod
,
13596 builtin_smoothstep
,
13601 builtin_texelFetch
,
13604 builtin_texture1DLod
,
13605 builtin_texture1DProj
,
13606 builtin_texture1DProjLod
,
13608 builtin_texture2DLod
,
13609 builtin_texture2DProj
,
13610 builtin_texture2DProjLod
,
13612 builtin_texture3DLod
,
13613 builtin_texture3DProj
,
13614 builtin_texture3DProjLod
,
13615 builtin_textureCube
,
13616 builtin_textureCubeLod
,
13617 builtin_textureGrad
,
13618 builtin_textureLod
,
13619 builtin_textureProj
,
13620 builtin_textureProjGrad
,
13621 builtin_textureProjLod
,
13624 static const char *prototypes_for_130_vert
=
13626 "(function radians\n"
13627 " (signature float\n"
13629 " (declare (in) float degrees))\n"
13631 " (signature vec2\n"
13633 " (declare (in) vec2 degrees))\n"
13635 " (signature vec3\n"
13637 " (declare (in) vec3 degrees))\n"
13639 " (signature vec4\n"
13641 " (declare (in) vec4 degrees))\n"
13643 "(function degrees\n"
13644 " (signature float\n"
13646 " (declare (in) float radians))\n"
13648 " (signature vec2\n"
13650 " (declare (in) vec2 radians))\n"
13652 " (signature vec3\n"
13654 " (declare (in) vec3 radians))\n"
13656 " (signature vec4\n"
13658 " (declare (in) vec4 radians))\n"
13661 " (signature float\n"
13663 " (declare (in) float angle))\n"
13665 " (signature vec2\n"
13667 " (declare (in) vec2 angle))\n"
13669 " (signature vec3\n"
13671 " (declare (in) vec3 angle))\n"
13673 " (signature vec4\n"
13675 " (declare (in) vec4 angle))\n"
13678 " (signature float\n"
13680 " (declare (in) float angle))\n"
13682 " (signature vec2\n"
13684 " (declare (in) vec2 angle))\n"
13686 " (signature vec3\n"
13688 " (declare (in) vec3 angle))\n"
13690 " (signature vec4\n"
13692 " (declare (in) vec4 angle))\n"
13695 " (signature float\n"
13697 " (declare (in) float angle))\n"
13699 " (signature vec2\n"
13701 " (declare (in) vec2 angle))\n"
13703 " (signature vec3\n"
13705 " (declare (in) vec3 angle))\n"
13707 " (signature vec4\n"
13709 " (declare (in) vec4 angle))\n"
13712 " (signature float\n"
13714 " (declare (in) float angle))\n"
13716 " (signature vec2\n"
13718 " (declare (in) vec2 angle))\n"
13720 " (signature vec3\n"
13722 " (declare (in) vec3 angle))\n"
13724 " (signature vec4\n"
13726 " (declare (in) vec4 angle))\n"
13729 " (signature float\n"
13731 " (declare (in) float angle))\n"
13733 " (signature vec2\n"
13735 " (declare (in) vec2 angle))\n"
13737 " (signature vec3\n"
13739 " (declare (in) vec3 angle))\n"
13741 " (signature vec4\n"
13743 " (declare (in) vec4 angle))\n"
13746 " (signature float\n"
13748 " (declare (in) float y)\n"
13749 " (declare (in) float x))\n"
13751 " (signature vec2\n"
13753 " (declare (in) vec2 y)\n"
13754 " (declare (in) vec2 x))\n"
13756 " (signature vec3\n"
13758 " (declare (in) vec3 y)\n"
13759 " (declare (in) vec3 x))\n"
13761 " (signature vec4\n"
13763 " (declare (in) vec4 y)\n"
13764 " (declare (in) vec4 x))\n"
13766 " (signature float\n"
13768 " (declare (in) float y_over_x))\n"
13770 " (signature vec2\n"
13772 " (declare (in) vec2 y_over_x))\n"
13774 " (signature vec3\n"
13776 " (declare (in) vec3 y_over_x))\n"
13778 " (signature vec4\n"
13780 " (declare (in) vec4 y_over_x))\n"
13783 " (signature float\n"
13785 " (declare (in) float x))\n"
13787 " (signature vec2\n"
13789 " (declare (in) vec2 x))\n"
13791 " (signature vec3\n"
13793 " (declare (in) vec3 x))\n"
13795 " (signature vec4\n"
13797 " (declare (in) vec4 x))\n"
13800 " (signature float\n"
13802 " (declare (in) float x))\n"
13804 " (signature vec2\n"
13806 " (declare (in) vec2 x))\n"
13808 " (signature vec3\n"
13810 " (declare (in) vec3 x))\n"
13812 " (signature vec4\n"
13814 " (declare (in) vec4 x))\n"
13817 " (signature float\n"
13819 " (declare (in) float x))\n"
13821 " (signature vec2\n"
13823 " (declare (in) vec2 x))\n"
13825 " (signature vec3\n"
13827 " (declare (in) vec3 x))\n"
13829 " (signature vec4\n"
13831 " (declare (in) vec4 x))\n"
13834 " (signature float\n"
13836 " (declare (in) float x)\n"
13837 " (declare (in) float y))\n"
13839 " (signature vec2\n"
13841 " (declare (in) vec2 x)\n"
13842 " (declare (in) vec2 y))\n"
13844 " (signature vec3\n"
13846 " (declare (in) vec3 x)\n"
13847 " (declare (in) vec3 y))\n"
13849 " (signature vec4\n"
13851 " (declare (in) vec4 x)\n"
13852 " (declare (in) vec4 y))\n"
13855 " (signature float\n"
13857 " (declare (in) float x))\n"
13859 " (signature vec2\n"
13861 " (declare (in) vec2 x))\n"
13863 " (signature vec3\n"
13865 " (declare (in) vec3 x))\n"
13867 " (signature vec4\n"
13869 " (declare (in) vec4 x))\n"
13872 " (signature float\n"
13874 " (declare (in) float x))\n"
13876 " (signature vec2\n"
13878 " (declare (in) vec2 x))\n"
13880 " (signature vec3\n"
13882 " (declare (in) vec3 x))\n"
13884 " (signature vec4\n"
13886 " (declare (in) vec4 x))\n"
13889 " (signature float\n"
13891 " (declare (in) float x))\n"
13893 " (signature vec2\n"
13895 " (declare (in) vec2 x))\n"
13897 " (signature vec3\n"
13899 " (declare (in) vec3 x))\n"
13901 " (signature vec4\n"
13903 " (declare (in) vec4 x))\n"
13906 " (signature float\n"
13908 " (declare (in) float x))\n"
13910 " (signature vec2\n"
13912 " (declare (in) vec2 x))\n"
13914 " (signature vec3\n"
13916 " (declare (in) vec3 x))\n"
13918 " (signature vec4\n"
13920 " (declare (in) vec4 x))\n"
13923 " (signature float\n"
13925 " (declare (in) float x))\n"
13927 " (signature vec2\n"
13929 " (declare (in) vec2 x))\n"
13931 " (signature vec3\n"
13933 " (declare (in) vec3 x))\n"
13935 " (signature vec4\n"
13937 " (declare (in) vec4 x))\n"
13939 "(function inversesqrt\n"
13940 " (signature float\n"
13942 " (declare (in) float x))\n"
13944 " (signature vec2\n"
13946 " (declare (in) vec2 x))\n"
13948 " (signature vec3\n"
13950 " (declare (in) vec3 x))\n"
13952 " (signature vec4\n"
13954 " (declare (in) vec4 x))\n"
13957 " (signature float\n"
13959 " (declare (in) float x))\n"
13961 " (signature vec2\n"
13963 " (declare (in) vec2 x))\n"
13965 " (signature vec3\n"
13967 " (declare (in) vec3 x))\n"
13969 " (signature vec4\n"
13971 " (declare (in) vec4 x))\n"
13973 " (signature int\n"
13975 " (declare (in) int x))\n"
13977 " (signature ivec2\n"
13979 " (declare (in) ivec2 x))\n"
13981 " (signature ivec3\n"
13983 " (declare (in) ivec3 x))\n"
13985 " (signature ivec4\n"
13987 " (declare (in) ivec4 x))\n"
13990 " (signature float\n"
13992 " (declare (in) float x))\n"
13994 " (signature vec2\n"
13996 " (declare (in) vec2 x))\n"
13998 " (signature vec3\n"
14000 " (declare (in) vec3 x))\n"
14002 " (signature vec4\n"
14004 " (declare (in) vec4 x))\n"
14006 " (signature int\n"
14008 " (declare (in) int x))\n"
14010 " (signature ivec2\n"
14012 " (declare (in) ivec2 x))\n"
14014 " (signature ivec3\n"
14016 " (declare (in) ivec3 x))\n"
14018 " (signature ivec4\n"
14020 " (declare (in) ivec4 x))\n"
14022 "(function floor\n"
14023 " (signature float\n"
14025 " (declare (in) float x))\n"
14027 " (signature vec2\n"
14029 " (declare (in) vec2 x))\n"
14031 " (signature vec3\n"
14033 " (declare (in) vec3 x))\n"
14035 " (signature vec4\n"
14037 " (declare (in) vec4 x))\n"
14040 " (signature float\n"
14042 " (declare (in) float x))\n"
14044 " (signature vec2\n"
14046 " (declare (in) vec2 x))\n"
14048 " (signature vec3\n"
14050 " (declare (in) vec3 x))\n"
14052 " (signature vec4\n"
14054 " (declare (in) vec4 x))\n"
14056 "(function fract\n"
14057 " (signature float\n"
14059 " (declare (in) float x))\n"
14061 " (signature vec2\n"
14063 " (declare (in) vec2 x))\n"
14065 " (signature vec3\n"
14067 " (declare (in) vec3 x))\n"
14069 " (signature vec4\n"
14071 " (declare (in) vec4 x))\n"
14074 " (signature float\n"
14076 " (declare (in) float x)\n"
14077 " (declare (in) float y))\n"
14079 " (signature vec2\n"
14081 " (declare (in) vec2 x)\n"
14082 " (declare (in) float y))\n"
14084 " (signature vec3\n"
14086 " (declare (in) vec3 x)\n"
14087 " (declare (in) float y))\n"
14089 " (signature vec4\n"
14091 " (declare (in) vec4 x)\n"
14092 " (declare (in) float y))\n"
14094 " (signature vec2\n"
14096 " (declare (in) vec2 x)\n"
14097 " (declare (in) vec2 y))\n"
14099 " (signature vec3\n"
14101 " (declare (in) vec3 x)\n"
14102 " (declare (in) vec3 y))\n"
14104 " (signature vec4\n"
14106 " (declare (in) vec4 x)\n"
14107 " (declare (in) vec4 y))\n"
14110 " (signature float\n"
14112 " (declare (in) float x)\n"
14113 " (declare (in) float y))\n"
14115 " (signature vec2\n"
14117 " (declare (in) vec2 x)\n"
14118 " (declare (in) vec2 y))\n"
14120 " (signature vec3\n"
14122 " (declare (in) vec3 x)\n"
14123 " (declare (in) vec3 y))\n"
14125 " (signature vec4\n"
14127 " (declare (in) vec4 x)\n"
14128 " (declare (in) vec4 y))\n"
14130 " (signature vec2\n"
14132 " (declare (in) vec2 x)\n"
14133 " (declare (in) float y))\n"
14135 " (signature vec3\n"
14137 " (declare (in) vec3 x)\n"
14138 " (declare (in) float y))\n"
14140 " (signature vec4\n"
14142 " (declare (in) vec4 x)\n"
14143 " (declare (in) float y))\n"
14145 " (signature int\n"
14147 " (declare (in) int x)\n"
14148 " (declare (in) int y))\n"
14150 " (signature ivec2\n"
14152 " (declare (in) ivec2 x)\n"
14153 " (declare (in) ivec2 y))\n"
14155 " (signature ivec3\n"
14157 " (declare (in) ivec3 x)\n"
14158 " (declare (in) ivec3 y))\n"
14160 " (signature ivec4\n"
14162 " (declare (in) ivec4 x)\n"
14163 " (declare (in) ivec4 y))\n"
14165 " (signature ivec2\n"
14167 " (declare (in) ivec2 x)\n"
14168 " (declare (in) int y))\n"
14170 " (signature ivec3\n"
14172 " (declare (in) ivec3 x)\n"
14173 " (declare (in) int y))\n"
14175 " (signature ivec4\n"
14177 " (declare (in) ivec4 x)\n"
14178 " (declare (in) int y))\n"
14180 " (signature uint\n"
14182 " (declare (in) uint x)\n"
14183 " (declare (in) uint y))\n"
14185 " (signature uvec2\n"
14187 " (declare (in) uvec2 x)\n"
14188 " (declare (in) uvec2 y))\n"
14190 " (signature uvec3\n"
14192 " (declare (in) uvec3 x)\n"
14193 " (declare (in) uvec3 y))\n"
14195 " (signature uvec4\n"
14197 " (declare (in) uvec4 x)\n"
14198 " (declare (in) uvec4 y))\n"
14200 " (signature uvec2\n"
14202 " (declare (in) uvec2 x)\n"
14203 " (declare (in) uint y))\n"
14205 " (signature uvec3\n"
14207 " (declare (in) uvec3 x)\n"
14208 " (declare (in) uint y))\n"
14210 " (signature uvec4\n"
14212 " (declare (in) uvec4 x)\n"
14213 " (declare (in) uint y))\n"
14216 " (signature float\n"
14218 " (declare (in) float x)\n"
14219 " (declare (in) float y))\n"
14221 " (signature vec2\n"
14223 " (declare (in) vec2 x)\n"
14224 " (declare (in) vec2 y))\n"
14226 " (signature vec3\n"
14228 " (declare (in) vec3 x)\n"
14229 " (declare (in) vec3 y))\n"
14231 " (signature vec4\n"
14233 " (declare (in) vec4 x)\n"
14234 " (declare (in) vec4 y))\n"
14236 " (signature vec2\n"
14238 " (declare (in) vec2 x)\n"
14239 " (declare (in) float y))\n"
14241 " (signature vec3\n"
14243 " (declare (in) vec3 x)\n"
14244 " (declare (in) float y))\n"
14246 " (signature vec4\n"
14248 " (declare (in) vec4 x)\n"
14249 " (declare (in) float y))\n"
14251 " (signature int\n"
14253 " (declare (in) int x)\n"
14254 " (declare (in) int y))\n"
14256 " (signature ivec2\n"
14258 " (declare (in) ivec2 x)\n"
14259 " (declare (in) ivec2 y))\n"
14261 " (signature ivec3\n"
14263 " (declare (in) ivec3 x)\n"
14264 " (declare (in) ivec3 y))\n"
14266 " (signature ivec4\n"
14268 " (declare (in) ivec4 x)\n"
14269 " (declare (in) ivec4 y))\n"
14271 " (signature ivec2\n"
14273 " (declare (in) ivec2 x)\n"
14274 " (declare (in) int y))\n"
14276 " (signature ivec3\n"
14278 " (declare (in) ivec3 x)\n"
14279 " (declare (in) int y))\n"
14281 " (signature ivec4\n"
14283 " (declare (in) ivec4 x)\n"
14284 " (declare (in) int y))\n"
14286 " (signature uint\n"
14288 " (declare (in) uint x)\n"
14289 " (declare (in) uint y))\n"
14291 " (signature uvec2\n"
14293 " (declare (in) uvec2 x)\n"
14294 " (declare (in) uvec2 y))\n"
14296 " (signature uvec3\n"
14298 " (declare (in) uvec3 x)\n"
14299 " (declare (in) uvec3 y))\n"
14301 " (signature uvec4\n"
14303 " (declare (in) uvec4 x)\n"
14304 " (declare (in) uvec4 y))\n"
14306 " (signature uvec2\n"
14308 " (declare (in) uvec2 x)\n"
14309 " (declare (in) uint y))\n"
14311 " (signature uvec3\n"
14313 " (declare (in) uvec3 x)\n"
14314 " (declare (in) uint y))\n"
14316 " (signature uvec4\n"
14318 " (declare (in) uvec4 x)\n"
14319 " (declare (in) uint y))\n"
14321 "(function clamp\n"
14322 " (signature float\n"
14324 " (declare (in) float x)\n"
14325 " (declare (in) float minVal)\n"
14326 " (declare (in) float maxVal))\n"
14328 " (signature vec2\n"
14330 " (declare (in) vec2 x)\n"
14331 " (declare (in) vec2 minVal)\n"
14332 " (declare (in) vec2 maxVal))\n"
14334 " (signature vec3\n"
14336 " (declare (in) vec3 x)\n"
14337 " (declare (in) vec3 minVal)\n"
14338 " (declare (in) vec3 maxVal))\n"
14340 " (signature vec4\n"
14342 " (declare (in) vec4 x)\n"
14343 " (declare (in) vec4 minVal)\n"
14344 " (declare (in) vec4 maxVal))\n"
14346 " (signature vec2\n"
14348 " (declare (in) vec2 x)\n"
14349 " (declare (in) float minVal)\n"
14350 " (declare (in) float maxVal))\n"
14352 " (signature vec3\n"
14354 " (declare (in) vec3 x)\n"
14355 " (declare (in) float minVal)\n"
14356 " (declare (in) float maxVal))\n"
14358 " (signature vec4\n"
14360 " (declare (in) vec4 x)\n"
14361 " (declare (in) float minVal)\n"
14362 " (declare (in) float maxVal))\n"
14364 " (signature int\n"
14366 " (declare (in) int x)\n"
14367 " (declare (in) int minVal)\n"
14368 " (declare (in) int maxVal))\n"
14370 " (signature ivec2\n"
14372 " (declare (in) ivec2 x)\n"
14373 " (declare (in) ivec2 minVal)\n"
14374 " (declare (in) ivec2 maxVal))\n"
14376 " (signature ivec3\n"
14378 " (declare (in) ivec3 x)\n"
14379 " (declare (in) ivec3 minVal)\n"
14380 " (declare (in) ivec3 maxVal))\n"
14382 " (signature ivec4\n"
14384 " (declare (in) ivec4 x)\n"
14385 " (declare (in) ivec4 minVal)\n"
14386 " (declare (in) ivec4 maxVal))\n"
14388 " (signature ivec2\n"
14390 " (declare (in) ivec2 x)\n"
14391 " (declare (in) int minVal)\n"
14392 " (declare (in) int maxVal))\n"
14394 " (signature ivec3\n"
14396 " (declare (in) ivec3 x)\n"
14397 " (declare (in) int minVal)\n"
14398 " (declare (in) int maxVal))\n"
14400 " (signature ivec4\n"
14402 " (declare (in) ivec4 x)\n"
14403 " (declare (in) int minVal)\n"
14404 " (declare (in) int maxVal))\n"
14406 " (signature uint\n"
14408 " (declare (in) uint x)\n"
14409 " (declare (in) uint minVal)\n"
14410 " (declare (in) uint maxVal))\n"
14412 " (signature uvec2\n"
14414 " (declare (in) uvec2 x)\n"
14415 " (declare (in) uvec2 minVal)\n"
14416 " (declare (in) uvec2 maxVal))\n"
14418 " (signature uvec3\n"
14420 " (declare (in) uvec3 x)\n"
14421 " (declare (in) uvec3 minVal)\n"
14422 " (declare (in) uvec3 maxVal))\n"
14424 " (signature uvec4\n"
14426 " (declare (in) uvec4 x)\n"
14427 " (declare (in) uvec4 minVal)\n"
14428 " (declare (in) uvec4 maxVal))\n"
14430 " (signature uvec2\n"
14432 " (declare (in) uvec2 x)\n"
14433 " (declare (in) uint minVal)\n"
14434 " (declare (in) uint maxVal))\n"
14436 " (signature uvec3\n"
14438 " (declare (in) uvec3 x)\n"
14439 " (declare (in) uint minVal)\n"
14440 " (declare (in) uint maxVal))\n"
14442 " (signature uvec4\n"
14444 " (declare (in) uvec4 x)\n"
14445 " (declare (in) uint minVal)\n"
14446 " (declare (in) uint maxVal))\n"
14449 " (signature float\n"
14451 " (declare (in) float x)\n"
14452 " (declare (in) float y)\n"
14453 " (declare (in) float a))\n"
14455 " (signature vec2\n"
14457 " (declare (in) vec2 x)\n"
14458 " (declare (in) vec2 y)\n"
14459 " (declare (in) vec2 a))\n"
14461 " (signature vec3\n"
14463 " (declare (in) vec3 x)\n"
14464 " (declare (in) vec3 y)\n"
14465 " (declare (in) vec3 a))\n"
14467 " (signature vec4\n"
14469 " (declare (in) vec4 x)\n"
14470 " (declare (in) vec4 y)\n"
14471 " (declare (in) vec4 a))\n"
14473 " (signature vec2\n"
14475 " (declare (in) vec2 x)\n"
14476 " (declare (in) vec2 y)\n"
14477 " (declare (in) float a))\n"
14479 " (signature vec3\n"
14481 " (declare (in) vec3 x)\n"
14482 " (declare (in) vec3 y)\n"
14483 " (declare (in) float a))\n"
14485 " (signature vec4\n"
14487 " (declare (in) vec4 x)\n"
14488 " (declare (in) vec4 y)\n"
14489 " (declare (in) float a))\n"
14492 " (signature float\n"
14494 " (declare (in) float edge)\n"
14495 " (declare (in) float x))\n"
14497 " (signature vec2\n"
14499 " (declare (in) vec2 edge)\n"
14500 " (declare (in) vec2 x))\n"
14502 " (signature vec3\n"
14504 " (declare (in) vec3 edge)\n"
14505 " (declare (in) vec3 x))\n"
14507 " (signature vec4\n"
14509 " (declare (in) vec4 edge)\n"
14510 " (declare (in) vec4 x))\n"
14512 " (signature vec2\n"
14514 " (declare (in) float edge)\n"
14515 " (declare (in) vec2 x))\n"
14517 " (signature vec3\n"
14519 " (declare (in) float edge)\n"
14520 " (declare (in) vec3 x))\n"
14522 " (signature vec4\n"
14524 " (declare (in) float edge)\n"
14525 " (declare (in) vec4 x))\n"
14527 "(function smoothstep\n"
14528 " (signature float\n"
14530 " (declare (in) float edge0)\n"
14531 " (declare (in) float edge1)\n"
14532 " (declare (in) float x))\n"
14534 " (signature vec2\n"
14536 " (declare (in) vec2 edge0)\n"
14537 " (declare (in) vec2 edge1)\n"
14538 " (declare (in) vec2 x))\n"
14540 " (signature vec3\n"
14542 " (declare (in) vec3 edge0)\n"
14543 " (declare (in) vec3 edge1)\n"
14544 " (declare (in) vec3 x))\n"
14546 " (signature vec4\n"
14548 " (declare (in) vec4 edge0)\n"
14549 " (declare (in) vec4 edge1)\n"
14550 " (declare (in) vec4 x))\n"
14552 " (signature vec2\n"
14554 " (declare (in) float edge0)\n"
14555 " (declare (in) float edge1)\n"
14556 " (declare (in) vec2 x))\n"
14558 " (signature vec3\n"
14560 " (declare (in) float edge0)\n"
14561 " (declare (in) float edge1)\n"
14562 " (declare (in) vec3 x))\n"
14564 " (signature vec4\n"
14566 " (declare (in) float edge0)\n"
14567 " (declare (in) float edge1)\n"
14568 " (declare (in) vec4 x))\n"
14570 "(function length\n"
14571 " (signature float\n"
14573 " (declare (in) float x))\n"
14575 " (signature float\n"
14577 " (declare (in) vec2 x))\n"
14579 " (signature float\n"
14581 " (declare (in) vec3 x))\n"
14583 " (signature float\n"
14585 " (declare (in) vec4 x))\n"
14587 "(function distance\n"
14588 " (signature float\n"
14590 " (declare (in) float p0)\n"
14591 " (declare (in) float p1))\n"
14593 " (signature float\n"
14595 " (declare (in) vec2 p0)\n"
14596 " (declare (in) vec2 p1))\n"
14598 " (signature float\n"
14600 " (declare (in) vec3 p0)\n"
14601 " (declare (in) vec3 p1))\n"
14603 " (signature float\n"
14605 " (declare (in) vec4 p0)\n"
14606 " (declare (in) vec4 p1))\n"
14609 " (signature float\n"
14611 " (declare (in) float x)\n"
14612 " (declare (in) float y))\n"
14614 " (signature float\n"
14616 " (declare (in) vec2 x)\n"
14617 " (declare (in) vec2 y))\n"
14619 " (signature float\n"
14621 " (declare (in) vec3 x)\n"
14622 " (declare (in) vec3 y))\n"
14624 " (signature float\n"
14626 " (declare (in) vec4 x)\n"
14627 " (declare (in) vec4 y))\n"
14629 "(function cross\n"
14630 " (signature vec3\n"
14632 " (declare (in) vec3 x)\n"
14633 " (declare (in) vec3 y))\n"
14635 "(function normalize\n"
14636 " (signature float\n"
14638 " (declare (in) float x))\n"
14640 " (signature vec2\n"
14642 " (declare (in) vec2 x))\n"
14644 " (signature vec3\n"
14646 " (declare (in) vec3 x))\n"
14648 " (signature vec4\n"
14650 " (declare (in) vec4 x))\n"
14652 "(function ftransform\n"
14653 " (signature vec4\n"
14656 "(function faceforward\n"
14657 " (signature float\n"
14659 " (declare (in) float N)\n"
14660 " (declare (in) float I)\n"
14661 " (declare (in) float Nref))\n"
14663 " (signature vec2\n"
14665 " (declare (in) vec2 N)\n"
14666 " (declare (in) vec2 I)\n"
14667 " (declare (in) vec2 Nref))\n"
14669 " (signature vec3\n"
14671 " (declare (in) vec3 N)\n"
14672 " (declare (in) vec3 I)\n"
14673 " (declare (in) vec3 Nref))\n"
14675 " (signature vec4\n"
14677 " (declare (in) vec4 N)\n"
14678 " (declare (in) vec4 I)\n"
14679 " (declare (in) vec4 Nref))\n"
14681 "(function reflect\n"
14682 " (signature float\n"
14684 " (declare (in) float I)\n"
14685 " (declare (in) float N))\n"
14687 " (signature vec2\n"
14689 " (declare (in) vec2 I)\n"
14690 " (declare (in) vec2 N))\n"
14692 " (signature vec3\n"
14694 " (declare (in) vec3 I)\n"
14695 " (declare (in) vec3 N))\n"
14697 " (signature vec4\n"
14699 " (declare (in) vec4 I)\n"
14700 " (declare (in) vec4 N))\n"
14702 "(function refract\n"
14703 " (signature float\n"
14705 " (declare (in) float I)\n"
14706 " (declare (in) float N)\n"
14707 " (declare (in) float eta))\n"
14709 " (signature vec2\n"
14711 " (declare (in) vec2 I)\n"
14712 " (declare (in) vec2 N)\n"
14713 " (declare (in) float eta))\n"
14715 " (signature vec3\n"
14717 " (declare (in) vec3 I)\n"
14718 " (declare (in) vec3 N)\n"
14719 " (declare (in) float eta))\n"
14721 " (signature vec4\n"
14723 " (declare (in) vec4 I)\n"
14724 " (declare (in) vec4 N)\n"
14725 " (declare (in) float eta))\n"
14727 "(function matrixCompMult\n"
14728 " (signature mat2\n"
14730 " (declare (in) mat2 x)\n"
14731 " (declare (in) mat2 y))\n"
14733 " (signature mat3\n"
14735 " (declare (in) mat3 x)\n"
14736 " (declare (in) mat3 y))\n"
14738 " (signature mat4\n"
14740 " (declare (in) mat4 x)\n"
14741 " (declare (in) mat4 y))\n"
14743 " (signature mat2x3\n"
14745 " (declare (in) mat2x3 x)\n"
14746 " (declare (in) mat2x3 y))\n"
14748 " (signature mat2x4\n"
14750 " (declare (in) mat2x4 x)\n"
14751 " (declare (in) mat2x4 y))\n"
14753 " (signature mat3x2\n"
14755 " (declare (in) mat3x2 x)\n"
14756 " (declare (in) mat3x2 y))\n"
14758 " (signature mat3x4\n"
14760 " (declare (in) mat3x4 x)\n"
14761 " (declare (in) mat3x4 y))\n"
14763 " (signature mat4x2\n"
14765 " (declare (in) mat4x2 x)\n"
14766 " (declare (in) mat4x2 y))\n"
14768 " (signature mat4x3\n"
14770 " (declare (in) mat4x3 x)\n"
14771 " (declare (in) mat4x3 y))\n"
14773 "(function outerProduct\n"
14774 " (signature mat2\n"
14776 " (declare (in) vec2 c)\n"
14777 " (declare (in) vec2 r))\n"
14779 " (signature mat3\n"
14781 " (declare (in) vec3 c)\n"
14782 " (declare (in) vec3 r))\n"
14784 " (signature mat4\n"
14786 " (declare (in) vec4 c)\n"
14787 " (declare (in) vec4 r))\n"
14789 " (signature mat2x3\n"
14791 " (declare (in) vec3 c)\n"
14792 " (declare (in) vec2 r))\n"
14794 " (signature mat3x2\n"
14796 " (declare (in) vec2 c)\n"
14797 " (declare (in) vec3 r))\n"
14799 " (signature mat2x4\n"
14801 " (declare (in) vec4 c)\n"
14802 " (declare (in) vec2 r))\n"
14804 " (signature mat4x2\n"
14806 " (declare (in) vec2 c)\n"
14807 " (declare (in) vec4 r))\n"
14809 " (signature mat3x4\n"
14811 " (declare (in) vec4 c)\n"
14812 " (declare (in) vec3 r))\n"
14814 " (signature mat4x3\n"
14816 " (declare (in) vec3 c)\n"
14817 " (declare (in) vec4 r))\n"
14819 "(function transpose\n"
14820 " (signature mat2\n"
14822 " (declare (in) mat2 m))\n"
14824 " (signature mat3\n"
14826 " (declare (in) mat3 m))\n"
14828 " (signature mat4\n"
14830 " (declare (in) mat4 m))\n"
14832 " (signature mat2x3\n"
14834 " (declare (in) mat3x2 m))\n"
14836 " (signature mat3x2\n"
14838 " (declare (in) mat2x3 m))\n"
14840 " (signature mat2x4\n"
14842 " (declare (in) mat4x2 m))\n"
14844 " (signature mat4x2\n"
14846 " (declare (in) mat2x4 m))\n"
14848 " (signature mat3x4\n"
14850 " (declare (in) mat4x3 m))\n"
14852 " (signature mat4x3\n"
14854 " (declare (in) mat3x4 m))\n"
14856 "(function lessThan\n"
14857 " (signature bvec2\n"
14859 " (declare (in) vec2 x)\n"
14860 " (declare (in) vec2 y))\n"
14862 " (signature bvec3\n"
14864 " (declare (in) vec3 x)\n"
14865 " (declare (in) vec3 y))\n"
14867 " (signature bvec4\n"
14869 " (declare (in) vec4 x)\n"
14870 " (declare (in) vec4 y))\n"
14872 " (signature bvec2\n"
14874 " (declare (in) ivec2 x)\n"
14875 " (declare (in) ivec2 y))\n"
14877 " (signature bvec3\n"
14879 " (declare (in) ivec3 x)\n"
14880 " (declare (in) ivec3 y))\n"
14882 " (signature bvec4\n"
14884 " (declare (in) ivec4 x)\n"
14885 " (declare (in) ivec4 y))\n"
14887 " (signature bvec2\n"
14889 " (declare (in) uvec2 x)\n"
14890 " (declare (in) uvec2 y))\n"
14892 " (signature bvec3\n"
14894 " (declare (in) uvec3 x)\n"
14895 " (declare (in) uvec3 y))\n"
14897 " (signature bvec4\n"
14899 " (declare (in) uvec4 x)\n"
14900 " (declare (in) uvec4 y))\n"
14902 "(function lessThanEqual\n"
14903 " (signature bvec2\n"
14905 " (declare (in) vec2 x)\n"
14906 " (declare (in) vec2 y))\n"
14908 " (signature bvec3\n"
14910 " (declare (in) vec3 x)\n"
14911 " (declare (in) vec3 y))\n"
14913 " (signature bvec4\n"
14915 " (declare (in) vec4 x)\n"
14916 " (declare (in) vec4 y))\n"
14918 " (signature bvec2\n"
14920 " (declare (in) ivec2 x)\n"
14921 " (declare (in) ivec2 y))\n"
14923 " (signature bvec3\n"
14925 " (declare (in) ivec3 x)\n"
14926 " (declare (in) ivec3 y))\n"
14928 " (signature bvec4\n"
14930 " (declare (in) ivec4 x)\n"
14931 " (declare (in) ivec4 y))\n"
14933 " (signature bvec2\n"
14935 " (declare (in) uvec2 x)\n"
14936 " (declare (in) uvec2 y))\n"
14938 " (signature bvec3\n"
14940 " (declare (in) uvec3 x)\n"
14941 " (declare (in) uvec3 y))\n"
14943 " (signature bvec4\n"
14945 " (declare (in) uvec4 x)\n"
14946 " (declare (in) uvec4 y))\n"
14948 "(function greaterThan\n"
14949 " (signature bvec2\n"
14951 " (declare (in) vec2 x)\n"
14952 " (declare (in) vec2 y))\n"
14954 " (signature bvec3\n"
14956 " (declare (in) vec3 x)\n"
14957 " (declare (in) vec3 y))\n"
14959 " (signature bvec4\n"
14961 " (declare (in) vec4 x)\n"
14962 " (declare (in) vec4 y))\n"
14964 " (signature bvec2\n"
14966 " (declare (in) ivec2 x)\n"
14967 " (declare (in) ivec2 y))\n"
14969 " (signature bvec3\n"
14971 " (declare (in) ivec3 x)\n"
14972 " (declare (in) ivec3 y))\n"
14974 " (signature bvec4\n"
14976 " (declare (in) ivec4 x)\n"
14977 " (declare (in) ivec4 y))\n"
14979 " (signature bvec2\n"
14981 " (declare (in) uvec2 x)\n"
14982 " (declare (in) uvec2 y))\n"
14984 " (signature bvec3\n"
14986 " (declare (in) uvec3 x)\n"
14987 " (declare (in) uvec3 y))\n"
14989 " (signature bvec4\n"
14991 " (declare (in) uvec4 x)\n"
14992 " (declare (in) uvec4 y))\n"
14994 "(function greaterThanEqual\n"
14995 " (signature bvec2\n"
14997 " (declare (in) vec2 x)\n"
14998 " (declare (in) vec2 y))\n"
15000 " (signature bvec3\n"
15002 " (declare (in) vec3 x)\n"
15003 " (declare (in) vec3 y))\n"
15005 " (signature bvec4\n"
15007 " (declare (in) vec4 x)\n"
15008 " (declare (in) vec4 y))\n"
15010 " (signature bvec2\n"
15012 " (declare (in) ivec2 x)\n"
15013 " (declare (in) ivec2 y))\n"
15015 " (signature bvec3\n"
15017 " (declare (in) ivec3 x)\n"
15018 " (declare (in) ivec3 y))\n"
15020 " (signature bvec4\n"
15022 " (declare (in) ivec4 x)\n"
15023 " (declare (in) ivec4 y))\n"
15025 " (signature bvec2\n"
15027 " (declare (in) uvec2 x)\n"
15028 " (declare (in) uvec2 y))\n"
15030 " (signature bvec3\n"
15032 " (declare (in) uvec3 x)\n"
15033 " (declare (in) uvec3 y))\n"
15035 " (signature bvec4\n"
15037 " (declare (in) uvec4 x)\n"
15038 " (declare (in) uvec4 y))\n"
15040 "(function equal\n"
15041 " (signature bvec2\n"
15043 " (declare (in) vec2 x)\n"
15044 " (declare (in) vec2 y))\n"
15046 " (signature bvec3\n"
15048 " (declare (in) vec3 x)\n"
15049 " (declare (in) vec3 y))\n"
15051 " (signature bvec4\n"
15053 " (declare (in) vec4 x)\n"
15054 " (declare (in) vec4 y))\n"
15056 " (signature bvec2\n"
15058 " (declare (in) ivec2 x)\n"
15059 " (declare (in) ivec2 y))\n"
15061 " (signature bvec3\n"
15063 " (declare (in) ivec3 x)\n"
15064 " (declare (in) ivec3 y))\n"
15066 " (signature bvec4\n"
15068 " (declare (in) ivec4 x)\n"
15069 " (declare (in) ivec4 y))\n"
15071 " (signature bvec2\n"
15073 " (declare (in) uvec2 x)\n"
15074 " (declare (in) uvec2 y))\n"
15076 " (signature bvec3\n"
15078 " (declare (in) uvec3 x)\n"
15079 " (declare (in) uvec3 y))\n"
15081 " (signature bvec4\n"
15083 " (declare (in) uvec4 x)\n"
15084 " (declare (in) uvec4 y))\n"
15086 " (signature bvec2\n"
15088 " (declare (in) bvec2 x)\n"
15089 " (declare (in) bvec2 y))\n"
15091 " (signature bvec3\n"
15093 " (declare (in) bvec3 x)\n"
15094 " (declare (in) bvec3 y))\n"
15096 " (signature bvec4\n"
15098 " (declare (in) bvec4 x)\n"
15099 " (declare (in) bvec4 y))\n"
15101 "(function notEqual\n"
15102 " (signature bvec2\n"
15104 " (declare (in) vec2 x)\n"
15105 " (declare (in) vec2 y))\n"
15107 " (signature bvec3\n"
15109 " (declare (in) vec3 x)\n"
15110 " (declare (in) vec3 y))\n"
15112 " (signature bvec4\n"
15114 " (declare (in) vec4 x)\n"
15115 " (declare (in) vec4 y))\n"
15117 " (signature bvec2\n"
15119 " (declare (in) ivec2 x)\n"
15120 " (declare (in) ivec2 y))\n"
15122 " (signature bvec3\n"
15124 " (declare (in) ivec3 x)\n"
15125 " (declare (in) ivec3 y))\n"
15127 " (signature bvec4\n"
15129 " (declare (in) ivec4 x)\n"
15130 " (declare (in) ivec4 y))\n"
15132 " (signature bvec2\n"
15134 " (declare (in) uvec2 x)\n"
15135 " (declare (in) uvec2 y))\n"
15137 " (signature bvec3\n"
15139 " (declare (in) uvec3 x)\n"
15140 " (declare (in) uvec3 y))\n"
15142 " (signature bvec4\n"
15144 " (declare (in) uvec4 x)\n"
15145 " (declare (in) uvec4 y))\n"
15147 " (signature bvec2\n"
15149 " (declare (in) bvec2 x)\n"
15150 " (declare (in) bvec2 y))\n"
15152 " (signature bvec3\n"
15154 " (declare (in) bvec3 x)\n"
15155 " (declare (in) bvec3 y))\n"
15157 " (signature bvec4\n"
15159 " (declare (in) bvec4 x)\n"
15160 " (declare (in) bvec4 y))\n"
15163 " (signature bool\n"
15165 " (declare (in) bvec2 x))\n"
15167 " (signature bool\n"
15169 " (declare (in) bvec3 x))\n"
15171 " (signature bool\n"
15173 " (declare (in) bvec4 x))\n"
15176 " (signature bool\n"
15178 " (declare (in) bvec2 x))\n"
15180 " (signature bool\n"
15182 " (declare (in) bvec3 x))\n"
15184 " (signature bool\n"
15186 " (declare (in) bvec4 x))\n"
15189 " (signature bvec2\n"
15191 " (declare (in) bvec2 x))\n"
15193 " (signature bvec3\n"
15195 " (declare (in) bvec3 x))\n"
15197 " (signature bvec4\n"
15199 " (declare (in) bvec4 x))\n"
15201 "(function texture\n"
15202 " (signature vec4\n"
15204 " (declare (in) sampler1D sampler)\n"
15205 " (declare (in) float P))\n"
15207 " (signature ivec4\n"
15209 " (declare (in) isampler1D sampler)\n"
15210 " (declare (in) float P))\n"
15212 " (signature uvec4\n"
15214 " (declare (in) usampler1D sampler)\n"
15215 " (declare (in) float P))\n"
15217 " (signature vec4\n"
15219 " (declare (in) sampler2D sampler)\n"
15220 " (declare (in) vec2 P))\n"
15222 " (signature ivec4\n"
15224 " (declare (in) isampler2D sampler)\n"
15225 " (declare (in) vec2 P))\n"
15227 " (signature uvec4\n"
15229 " (declare (in) usampler2D sampler)\n"
15230 " (declare (in) vec2 P))\n"
15232 " (signature vec4\n"
15234 " (declare (in) sampler3D sampler)\n"
15235 " (declare (in) vec3 P))\n"
15237 " (signature ivec4\n"
15239 " (declare (in) isampler3D sampler)\n"
15240 " (declare (in) vec3 P))\n"
15242 " (signature uvec4\n"
15244 " (declare (in) usampler3D sampler)\n"
15245 " (declare (in) vec3 P))\n"
15247 " (signature vec4\n"
15249 " (declare (in) samplerCube sampler)\n"
15250 " (declare (in) vec3 P))\n"
15252 " (signature ivec4\n"
15254 " (declare (in) isamplerCube sampler)\n"
15255 " (declare (in) vec3 P))\n"
15257 " (signature uvec4\n"
15259 " (declare (in) usamplerCube sampler)\n"
15260 " (declare (in) vec3 P))\n"
15262 " (signature float\n"
15264 " (declare (in) sampler1DShadow sampler)\n"
15265 " (declare (in) vec3 P))\n"
15267 " (signature float\n"
15269 " (declare (in) sampler2DShadow sampler)\n"
15270 " (declare (in) vec3 P))\n"
15272 " (signature float\n"
15274 " (declare (in) samplerCubeShadow sampler)\n"
15275 " (declare (in) vec4 P))\n"
15277 " (signature vec4\n"
15279 " (declare (in) sampler1DArray sampler)\n"
15280 " (declare (in) vec2 P))\n"
15282 " (signature ivec4\n"
15284 " (declare (in) isampler1DArray sampler)\n"
15285 " (declare (in) vec2 P))\n"
15287 " (signature uvec4\n"
15289 " (declare (in) usampler1DArray sampler)\n"
15290 " (declare (in) vec2 P))\n"
15292 " (signature vec4\n"
15294 " (declare (in) sampler2DArray sampler)\n"
15295 " (declare (in) vec3 P))\n"
15297 " (signature ivec4\n"
15299 " (declare (in) isampler2DArray sampler)\n"
15300 " (declare (in) vec3 P))\n"
15302 " (signature uvec4\n"
15304 " (declare (in) usampler2DArray sampler)\n"
15305 " (declare (in) vec3 P))\n"
15307 " (signature float\n"
15309 " (declare (in) sampler1DArrayShadow sampler)\n"
15310 " (declare (in) vec3 P))\n"
15312 " (signature float\n"
15314 " (declare (in) sampler2DArrayShadow sampler)\n"
15315 " (declare (in) vec4 P))\n"
15317 " (signature vec4\n"
15319 " (declare (in) sampler1D sampler)\n"
15320 " (declare (in) float P)\n"
15321 " (declare (in) float bias))\n"
15323 " (signature ivec4\n"
15325 " (declare (in) isampler1D sampler)\n"
15326 " (declare (in) float P)\n"
15327 " (declare (in) float bias))\n"
15329 " (signature uvec4\n"
15331 " (declare (in) usampler1D sampler)\n"
15332 " (declare (in) float P)\n"
15333 " (declare (in) float bias))\n"
15335 " (signature vec4\n"
15337 " (declare (in) sampler2D sampler)\n"
15338 " (declare (in) vec2 P)\n"
15339 " (declare (in) float bias))\n"
15341 " (signature ivec4\n"
15343 " (declare (in) isampler2D sampler)\n"
15344 " (declare (in) vec2 P)\n"
15345 " (declare (in) float bias))\n"
15347 " (signature uvec4\n"
15349 " (declare (in) usampler2D sampler)\n"
15350 " (declare (in) vec2 P)\n"
15351 " (declare (in) float bias))\n"
15353 " (signature vec4\n"
15355 " (declare (in) sampler3D sampler)\n"
15356 " (declare (in) vec3 P)\n"
15357 " (declare (in) float bias))\n"
15359 " (signature ivec4\n"
15361 " (declare (in) isampler3D sampler)\n"
15362 " (declare (in) vec3 P)\n"
15363 " (declare (in) float bias))\n"
15365 " (signature uvec4\n"
15367 " (declare (in) usampler3D sampler)\n"
15368 " (declare (in) vec3 P)\n"
15369 " (declare (in) float bias))\n"
15371 " (signature vec4\n"
15373 " (declare (in) samplerCube sampler)\n"
15374 " (declare (in) vec3 P)\n"
15375 " (declare (in) float bias))\n"
15377 " (signature ivec4\n"
15379 " (declare (in) isamplerCube sampler)\n"
15380 " (declare (in) vec3 P)\n"
15381 " (declare (in) float bias))\n"
15383 " (signature uvec4\n"
15385 " (declare (in) usamplerCube sampler)\n"
15386 " (declare (in) vec3 P)\n"
15387 " (declare (in) float bias))\n"
15389 " (signature float\n"
15391 " (declare (in) sampler1DShadow sampler)\n"
15392 " (declare (in) vec3 P)\n"
15393 " (declare (in) float bias))\n"
15395 " (signature float\n"
15397 " (declare (in) sampler2DShadow sampler)\n"
15398 " (declare (in) vec3 P)\n"
15399 " (declare (in) float bias))\n"
15401 " (signature float\n"
15403 " (declare (in) samplerCubeShadow sampler)\n"
15404 " (declare (in) vec4 P)\n"
15405 " (declare (in) float bias))\n"
15407 " (signature vec4\n"
15409 " (declare (in) sampler1DArray sampler)\n"
15410 " (declare (in) vec2 P)\n"
15411 " (declare (in) float bias))\n"
15413 " (signature ivec4\n"
15415 " (declare (in) isampler1DArray sampler)\n"
15416 " (declare (in) vec2 P)\n"
15417 " (declare (in) float bias))\n"
15419 " (signature uvec4\n"
15421 " (declare (in) usampler1DArray sampler)\n"
15422 " (declare (in) vec2 P)\n"
15423 " (declare (in) float bias))\n"
15425 " (signature vec4\n"
15427 " (declare (in) sampler2DArray sampler)\n"
15428 " (declare (in) vec3 P)\n"
15429 " (declare (in) float bias))\n"
15431 " (signature ivec4\n"
15433 " (declare (in) isampler2DArray sampler)\n"
15434 " (declare (in) vec3 P)\n"
15435 " (declare (in) float bias))\n"
15437 " (signature uvec4\n"
15439 " (declare (in) usampler2DArray sampler)\n"
15440 " (declare (in) vec3 P)\n"
15441 " (declare (in) float bias))\n"
15443 " (signature float\n"
15445 " (declare (in) sampler1DArrayShadow sampler)\n"
15446 " (declare (in) vec3 P)\n"
15447 " (declare (in) float bias))\n"
15449 "(function textureProj\n"
15450 " (signature vec4\n"
15452 " (declare (in) sampler1D sampler)\n"
15453 " (declare (in) vec2 P))\n"
15455 " (signature ivec4\n"
15457 " (declare (in) isampler1D sampler)\n"
15458 " (declare (in) vec2 P))\n"
15460 " (signature uvec4\n"
15462 " (declare (in) usampler1D sampler)\n"
15463 " (declare (in) vec2 P))\n"
15465 " (signature vec4\n"
15467 " (declare (in) sampler1D sampler)\n"
15468 " (declare (in) vec4 P))\n"
15470 " (signature ivec4\n"
15472 " (declare (in) isampler1D sampler)\n"
15473 " (declare (in) vec4 P))\n"
15475 " (signature uvec4\n"
15477 " (declare (in) usampler1D sampler)\n"
15478 " (declare (in) vec4 P))\n"
15480 " (signature vec4\n"
15482 " (declare (in) sampler2D sampler)\n"
15483 " (declare (in) vec3 P))\n"
15485 " (signature ivec4\n"
15487 " (declare (in) isampler2D sampler)\n"
15488 " (declare (in) vec3 P))\n"
15490 " (signature uvec4\n"
15492 " (declare (in) usampler2D sampler)\n"
15493 " (declare (in) vec3 P))\n"
15495 " (signature vec4\n"
15497 " (declare (in) sampler2D sampler)\n"
15498 " (declare (in) vec4 P))\n"
15500 " (signature ivec4\n"
15502 " (declare (in) isampler2D sampler)\n"
15503 " (declare (in) vec4 P))\n"
15505 " (signature uvec4\n"
15507 " (declare (in) usampler2D sampler)\n"
15508 " (declare (in) vec4 P))\n"
15510 " (signature vec4\n"
15512 " (declare (in) sampler3D sampler)\n"
15513 " (declare (in) vec4 P))\n"
15515 " (signature ivec4\n"
15517 " (declare (in) isampler3D sampler)\n"
15518 " (declare (in) vec4 P))\n"
15520 " (signature uvec4\n"
15522 " (declare (in) usampler3D sampler)\n"
15523 " (declare (in) vec4 P))\n"
15525 " (signature float\n"
15527 " (declare (in) sampler1DShadow sampler)\n"
15528 " (declare (in) vec4 P))\n"
15530 " (signature float\n"
15532 " (declare (in) sampler2DShadow sampler)\n"
15533 " (declare (in) vec4 P))\n"
15535 " (signature vec4\n"
15537 " (declare (in) sampler1D sampler)\n"
15538 " (declare (in) vec2 P)\n"
15539 " (declare (in) float bias))\n"
15541 " (signature ivec4\n"
15543 " (declare (in) isampler1D sampler)\n"
15544 " (declare (in) vec2 P)\n"
15545 " (declare (in) float bias))\n"
15547 " (signature uvec4\n"
15549 " (declare (in) usampler1D sampler)\n"
15550 " (declare (in) vec2 P)\n"
15551 " (declare (in) float bias))\n"
15553 " (signature vec4\n"
15555 " (declare (in) sampler1D sampler)\n"
15556 " (declare (in) vec4 P)\n"
15557 " (declare (in) float bias))\n"
15559 " (signature ivec4\n"
15561 " (declare (in) isampler1D sampler)\n"
15562 " (declare (in) vec4 P)\n"
15563 " (declare (in) float bias))\n"
15565 " (signature uvec4\n"
15567 " (declare (in) usampler1D sampler)\n"
15568 " (declare (in) vec4 P)\n"
15569 " (declare (in) float bias))\n"
15571 " (signature vec4\n"
15573 " (declare (in) sampler2D sampler)\n"
15574 " (declare (in) vec3 P)\n"
15575 " (declare (in) float bias))\n"
15577 " (signature ivec4\n"
15579 " (declare (in) isampler2D sampler)\n"
15580 " (declare (in) vec3 P)\n"
15581 " (declare (in) float bias))\n"
15583 " (signature uvec4\n"
15585 " (declare (in) usampler2D sampler)\n"
15586 " (declare (in) vec3 P)\n"
15587 " (declare (in) float bias))\n"
15589 " (signature vec4\n"
15591 " (declare (in) sampler2D sampler)\n"
15592 " (declare (in) vec4 P)\n"
15593 " (declare (in) float bias))\n"
15595 " (signature ivec4\n"
15597 " (declare (in) isampler2D sampler)\n"
15598 " (declare (in) vec4 P)\n"
15599 " (declare (in) float bias))\n"
15601 " (signature uvec4\n"
15603 " (declare (in) usampler2D sampler)\n"
15604 " (declare (in) vec4 P)\n"
15605 " (declare (in) float bias))\n"
15607 " (signature vec4\n"
15609 " (declare (in) sampler3D sampler)\n"
15610 " (declare (in) vec4 P)\n"
15611 " (declare (in) float bias))\n"
15613 " (signature ivec4\n"
15615 " (declare (in) isampler3D sampler)\n"
15616 " (declare (in) vec4 P)\n"
15617 " (declare (in) float bias))\n"
15619 " (signature uvec4\n"
15621 " (declare (in) usampler3D sampler)\n"
15622 " (declare (in) vec4 P)\n"
15623 " (declare (in) float bias))\n"
15625 " (signature float\n"
15627 " (declare (in) sampler1DShadow sampler)\n"
15628 " (declare (in) vec4 P)\n"
15629 " (declare (in) float bias))\n"
15631 " (signature float\n"
15633 " (declare (in) sampler2DShadow sampler)\n"
15634 " (declare (in) vec4 P)\n"
15635 " (declare (in) float bias))\n"
15637 "(function textureLod\n"
15638 " (signature vec4\n"
15640 " (declare (in) sampler1D sampler)\n"
15641 " (declare (in) float P)\n"
15642 " (declare (in) float lod))\n"
15644 " (signature ivec4\n"
15646 " (declare (in) isampler1D sampler)\n"
15647 " (declare (in) float P)\n"
15648 " (declare (in) float lod))\n"
15650 " (signature uvec4\n"
15652 " (declare (in) usampler1D sampler)\n"
15653 " (declare (in) float P)\n"
15654 " (declare (in) float lod))\n"
15656 " (signature vec4\n"
15658 " (declare (in) sampler2D sampler)\n"
15659 " (declare (in) vec2 P)\n"
15660 " (declare (in) float lod))\n"
15662 " (signature ivec4\n"
15664 " (declare (in) isampler2D sampler)\n"
15665 " (declare (in) vec2 P)\n"
15666 " (declare (in) float lod))\n"
15668 " (signature uvec4\n"
15670 " (declare (in) usampler2D sampler)\n"
15671 " (declare (in) vec2 P)\n"
15672 " (declare (in) float lod))\n"
15674 " (signature vec4\n"
15676 " (declare (in) sampler3D sampler)\n"
15677 " (declare (in) vec3 P)\n"
15678 " (declare (in) float lod))\n"
15680 " (signature ivec4\n"
15682 " (declare (in) isampler3D sampler)\n"
15683 " (declare (in) vec3 P)\n"
15684 " (declare (in) float lod))\n"
15686 " (signature uvec4\n"
15688 " (declare (in) usampler3D sampler)\n"
15689 " (declare (in) vec3 P)\n"
15690 " (declare (in) float lod))\n"
15692 " (signature vec4\n"
15694 " (declare (in) samplerCube sampler)\n"
15695 " (declare (in) vec3 P)\n"
15696 " (declare (in) float lod))\n"
15698 " (signature ivec4\n"
15700 " (declare (in) isamplerCube sampler)\n"
15701 " (declare (in) vec3 P)\n"
15702 " (declare (in) float lod))\n"
15704 " (signature uvec4\n"
15706 " (declare (in) usamplerCube sampler)\n"
15707 " (declare (in) vec3 P)\n"
15708 " (declare (in) float lod))\n"
15710 " (signature float\n"
15712 " (declare (in) sampler1DShadow sampler)\n"
15713 " (declare (in) vec3 P)\n"
15714 " (declare (in) float lod))\n"
15716 " (signature float\n"
15718 " (declare (in) sampler2DShadow sampler)\n"
15719 " (declare (in) vec3 P)\n"
15720 " (declare (in) float lod))\n"
15722 " (signature vec4\n"
15724 " (declare (in) sampler1DArray sampler)\n"
15725 " (declare (in) vec2 P)\n"
15726 " (declare (in) float lod))\n"
15728 " (signature ivec4\n"
15730 " (declare (in) isampler1DArray sampler)\n"
15731 " (declare (in) vec2 P)\n"
15732 " (declare (in) float lod))\n"
15734 " (signature uvec4\n"
15736 " (declare (in) usampler1DArray sampler)\n"
15737 " (declare (in) vec2 P)\n"
15738 " (declare (in) float lod))\n"
15740 " (signature vec4\n"
15742 " (declare (in) sampler2DArray sampler)\n"
15743 " (declare (in) vec3 P)\n"
15744 " (declare (in) float lod))\n"
15746 " (signature ivec4\n"
15748 " (declare (in) isampler2DArray sampler)\n"
15749 " (declare (in) vec3 P)\n"
15750 " (declare (in) float lod))\n"
15752 " (signature uvec4\n"
15754 " (declare (in) usampler2DArray sampler)\n"
15755 " (declare (in) vec3 P)\n"
15756 " (declare (in) float lod))\n"
15758 " (signature float\n"
15760 " (declare (in) sampler1DArrayShadow sampler)\n"
15761 " (declare (in) vec3 P)\n"
15762 " (declare (in) float lod))\n"
15764 "(function texelFetch\n"
15765 " (signature vec4\n"
15767 " (declare (in) sampler1D sampler)\n"
15768 " (declare (in) int P)\n"
15769 " (declare (in) int lod))\n"
15771 " (signature ivec4\n"
15773 " (declare (in) isampler1D sampler)\n"
15774 " (declare (in) int P)\n"
15775 " (declare (in) int lod))\n"
15777 " (signature uvec4\n"
15779 " (declare (in) usampler1D sampler)\n"
15780 " (declare (in) int P)\n"
15781 " (declare (in) int lod))\n"
15783 " (signature vec4\n"
15785 " (declare (in) sampler2D sampler)\n"
15786 " (declare (in) ivec2 P)\n"
15787 " (declare (in) int lod))\n"
15789 " (signature ivec4\n"
15791 " (declare (in) isampler2D sampler)\n"
15792 " (declare (in) ivec2 P)\n"
15793 " (declare (in) int lod))\n"
15795 " (signature uvec4\n"
15797 " (declare (in) usampler2D sampler)\n"
15798 " (declare (in) ivec2 P)\n"
15799 " (declare (in) int lod))\n"
15801 " (signature vec4\n"
15803 " (declare (in) sampler3D sampler)\n"
15804 " (declare (in) ivec3 P)\n"
15805 " (declare (in) int lod))\n"
15807 " (signature ivec4\n"
15809 " (declare (in) isampler3D sampler)\n"
15810 " (declare (in) ivec3 P)\n"
15811 " (declare (in) int lod))\n"
15813 " (signature uvec4\n"
15815 " (declare (in) usampler3D sampler)\n"
15816 " (declare (in) ivec3 P)\n"
15817 " (declare (in) int lod))\n"
15819 " (signature vec4\n"
15821 " (declare (in) sampler1DArray sampler)\n"
15822 " (declare (in) ivec2 P)\n"
15823 " (declare (in) int lod))\n"
15825 " (signature ivec4\n"
15827 " (declare (in) isampler1DArray sampler)\n"
15828 " (declare (in) ivec2 P)\n"
15829 " (declare (in) int lod))\n"
15831 " (signature uvec4\n"
15833 " (declare (in) usampler1DArray sampler)\n"
15834 " (declare (in) ivec2 P)\n"
15835 " (declare (in) int lod))\n"
15837 " (signature vec4\n"
15839 " (declare (in) sampler2DArray sampler)\n"
15840 " (declare (in) ivec3 P)\n"
15841 " (declare (in) int lod))\n"
15843 " (signature ivec4\n"
15845 " (declare (in) isampler2DArray sampler)\n"
15846 " (declare (in) ivec3 P)\n"
15847 " (declare (in) int lod))\n"
15849 " (signature uvec4\n"
15851 " (declare (in) usampler2DArray sampler)\n"
15852 " (declare (in) ivec3 P)\n"
15853 " (declare (in) int lod))\n"
15855 "(function textureProjLod\n"
15856 " (signature vec4\n"
15858 " (declare (in) sampler1D sampler)\n"
15859 " (declare (in) vec2 P)\n"
15860 " (declare (in) float lod))\n"
15862 " (signature ivec4\n"
15864 " (declare (in) isampler1D sampler)\n"
15865 " (declare (in) vec2 P)\n"
15866 " (declare (in) float lod))\n"
15868 " (signature uvec4\n"
15870 " (declare (in) usampler1D sampler)\n"
15871 " (declare (in) vec2 P)\n"
15872 " (declare (in) float lod))\n"
15874 " (signature vec4\n"
15876 " (declare (in) sampler1D sampler)\n"
15877 " (declare (in) vec4 P)\n"
15878 " (declare (in) float lod))\n"
15880 " (signature ivec4\n"
15882 " (declare (in) isampler1D sampler)\n"
15883 " (declare (in) vec4 P)\n"
15884 " (declare (in) float lod))\n"
15886 " (signature uvec4\n"
15888 " (declare (in) usampler1D sampler)\n"
15889 " (declare (in) vec4 P)\n"
15890 " (declare (in) float lod))\n"
15892 " (signature vec4\n"
15894 " (declare (in) sampler2D sampler)\n"
15895 " (declare (in) vec3 P)\n"
15896 " (declare (in) float lod))\n"
15898 " (signature ivec4\n"
15900 " (declare (in) isampler2D sampler)\n"
15901 " (declare (in) vec3 P)\n"
15902 " (declare (in) float lod))\n"
15904 " (signature uvec4\n"
15906 " (declare (in) usampler2D sampler)\n"
15907 " (declare (in) vec3 P)\n"
15908 " (declare (in) float lod))\n"
15910 " (signature vec4\n"
15912 " (declare (in) sampler2D sampler)\n"
15913 " (declare (in) vec4 P)\n"
15914 " (declare (in) float lod))\n"
15916 " (signature ivec4\n"
15918 " (declare (in) isampler2D sampler)\n"
15919 " (declare (in) vec4 P)\n"
15920 " (declare (in) float lod))\n"
15922 " (signature uvec4\n"
15924 " (declare (in) usampler2D sampler)\n"
15925 " (declare (in) vec4 P)\n"
15926 " (declare (in) float lod))\n"
15928 " (signature vec4\n"
15930 " (declare (in) sampler3D sampler)\n"
15931 " (declare (in) vec4 P)\n"
15932 " (declare (in) float lod))\n"
15934 " (signature ivec4\n"
15936 " (declare (in) isampler3D sampler)\n"
15937 " (declare (in) vec4 P)\n"
15938 " (declare (in) float lod))\n"
15940 " (signature uvec4\n"
15942 " (declare (in) usampler3D sampler)\n"
15943 " (declare (in) vec4 P)\n"
15944 " (declare (in) float lod))\n"
15946 " (signature float\n"
15948 " (declare (in) sampler1DShadow sampler)\n"
15949 " (declare (in) vec4 P)\n"
15950 " (declare (in) float lod))\n"
15952 " (signature float\n"
15954 " (declare (in) sampler2DShadow sampler)\n"
15955 " (declare (in) vec4 P)\n"
15956 " (declare (in) float lod))\n"
15958 "(function textureGrad\n"
15959 " (signature vec4\n"
15961 " (declare (in) sampler1D sampler)\n"
15962 " (declare (in) float P)\n"
15963 " (declare (in) float dPdx)\n"
15964 " (declare (in) float dPdy))\n"
15966 " (signature ivec4\n"
15968 " (declare (in) isampler1D sampler)\n"
15969 " (declare (in) float P)\n"
15970 " (declare (in) float dPdx)\n"
15971 " (declare (in) float dPdy))\n"
15973 " (signature uvec4\n"
15975 " (declare (in) usampler1D sampler)\n"
15976 " (declare (in) float P)\n"
15977 " (declare (in) float dPdx)\n"
15978 " (declare (in) float dPdy))\n"
15980 " (signature vec4\n"
15982 " (declare (in) sampler2D sampler)\n"
15983 " (declare (in) vec2 P)\n"
15984 " (declare (in) vec2 dPdx)\n"
15985 " (declare (in) vec2 dPdy))\n"
15987 " (signature ivec4\n"
15989 " (declare (in) isampler2D sampler)\n"
15990 " (declare (in) vec2 P)\n"
15991 " (declare (in) vec2 dPdx)\n"
15992 " (declare (in) vec2 dPdy))\n"
15994 " (signature uvec4\n"
15996 " (declare (in) usampler2D sampler)\n"
15997 " (declare (in) vec2 P)\n"
15998 " (declare (in) vec2 dPdx)\n"
15999 " (declare (in) vec2 dPdy))\n"
16001 " (signature vec4\n"
16003 " (declare (in) sampler3D sampler)\n"
16004 " (declare (in) vec3 P)\n"
16005 " (declare (in) vec3 dPdx)\n"
16006 " (declare (in) vec3 dPdy))\n"
16008 " (signature ivec4\n"
16010 " (declare (in) isampler3D sampler)\n"
16011 " (declare (in) vec3 P)\n"
16012 " (declare (in) vec3 dPdx)\n"
16013 " (declare (in) vec3 dPdy))\n"
16015 " (signature uvec4\n"
16017 " (declare (in) usampler3D sampler)\n"
16018 " (declare (in) vec3 P)\n"
16019 " (declare (in) vec3 dPdx)\n"
16020 " (declare (in) vec3 dPdy))\n"
16022 " (signature vec4\n"
16024 " (declare (in) samplerCube sampler)\n"
16025 " (declare (in) vec3 P)\n"
16026 " (declare (in) vec3 dPdx)\n"
16027 " (declare (in) vec3 dPdy))\n"
16029 " (signature ivec4\n"
16031 " (declare (in) isamplerCube sampler)\n"
16032 " (declare (in) vec3 P)\n"
16033 " (declare (in) vec3 dPdx)\n"
16034 " (declare (in) vec3 dPdy))\n"
16036 " (signature uvec4\n"
16038 " (declare (in) usamplerCube sampler)\n"
16039 " (declare (in) vec3 P)\n"
16040 " (declare (in) vec3 dPdx)\n"
16041 " (declare (in) vec3 dPdy))\n"
16043 " (signature float\n"
16045 " (declare (in) sampler1DShadow sampler)\n"
16046 " (declare (in) vec3 P)\n"
16047 " (declare (in) float dPdx)\n"
16048 " (declare (in) float dPdy))\n"
16050 " (signature float\n"
16052 " (declare (in) sampler2DShadow sampler)\n"
16053 " (declare (in) vec3 P)\n"
16054 " (declare (in) vec2 dPdx)\n"
16055 " (declare (in) vec2 dPdy))\n"
16057 " (signature float\n"
16059 " (declare (in) samplerCubeShadow sampler)\n"
16060 " (declare (in) vec4 P)\n"
16061 " (declare (in) vec3 dPdx)\n"
16062 " (declare (in) vec3 dPdy))\n"
16064 " (signature vec4\n"
16066 " (declare (in) sampler1DArray sampler)\n"
16067 " (declare (in) vec2 P)\n"
16068 " (declare (in) float dPdx)\n"
16069 " (declare (in) float dPdy))\n"
16071 " (signature ivec4\n"
16073 " (declare (in) isampler1DArray sampler)\n"
16074 " (declare (in) vec2 P)\n"
16075 " (declare (in) float dPdx)\n"
16076 " (declare (in) float dPdy))\n"
16078 " (signature uvec4\n"
16080 " (declare (in) usampler1DArray sampler)\n"
16081 " (declare (in) vec2 P)\n"
16082 " (declare (in) float dPdx)\n"
16083 " (declare (in) float dPdy))\n"
16085 " (signature vec4\n"
16087 " (declare (in) sampler2DArray sampler)\n"
16088 " (declare (in) vec3 P)\n"
16089 " (declare (in) vec2 dPdx)\n"
16090 " (declare (in) vec2 dPdy))\n"
16092 " (signature ivec4\n"
16094 " (declare (in) isampler2DArray sampler)\n"
16095 " (declare (in) vec3 P)\n"
16096 " (declare (in) vec2 dPdx)\n"
16097 " (declare (in) vec2 dPdy))\n"
16099 " (signature uvec4\n"
16101 " (declare (in) usampler2DArray sampler)\n"
16102 " (declare (in) vec3 P)\n"
16103 " (declare (in) vec2 dPdx)\n"
16104 " (declare (in) vec2 dPdy))\n"
16106 " (signature float\n"
16108 " (declare (in) sampler1DArrayShadow sampler)\n"
16109 " (declare (in) vec3 P)\n"
16110 " (declare (in) float dPdx)\n"
16111 " (declare (in) float dPdy))\n"
16113 " (signature float\n"
16115 " (declare (in) sampler2DArrayShadow sampler)\n"
16116 " (declare (in) vec4 P)\n"
16117 " (declare (in) vec2 dPdx)\n"
16118 " (declare (in) vec2 dPdy))\n"
16120 "(function textureProjGrad\n"
16121 " (signature vec4\n"
16123 " (declare (in) sampler1D sampler)\n"
16124 " (declare (in) vec2 P)\n"
16125 " (declare (in) float dPdx)\n"
16126 " (declare (in) float dPdy))\n"
16128 " (signature ivec4\n"
16130 " (declare (in) isampler1D sampler)\n"
16131 " (declare (in) vec2 P)\n"
16132 " (declare (in) float dPdx)\n"
16133 " (declare (in) float dPdy))\n"
16135 " (signature uvec4\n"
16137 " (declare (in) usampler1D sampler)\n"
16138 " (declare (in) vec2 P)\n"
16139 " (declare (in) float dPdx)\n"
16140 " (declare (in) float dPdy))\n"
16142 " (signature vec4\n"
16144 " (declare (in) sampler1D sampler)\n"
16145 " (declare (in) vec4 P)\n"
16146 " (declare (in) float dPdx)\n"
16147 " (declare (in) float dPdy))\n"
16149 " (signature ivec4\n"
16151 " (declare (in) isampler1D sampler)\n"
16152 " (declare (in) vec4 P)\n"
16153 " (declare (in) float dPdx)\n"
16154 " (declare (in) float dPdy))\n"
16156 " (signature uvec4\n"
16158 " (declare (in) usampler1D sampler)\n"
16159 " (declare (in) vec4 P)\n"
16160 " (declare (in) float dPdx)\n"
16161 " (declare (in) float dPdy))\n"
16163 " (signature vec4\n"
16165 " (declare (in) sampler2D sampler)\n"
16166 " (declare (in) vec3 P)\n"
16167 " (declare (in) vec2 dPdx)\n"
16168 " (declare (in) vec2 dPdy))\n"
16170 " (signature ivec4\n"
16172 " (declare (in) isampler2D sampler)\n"
16173 " (declare (in) vec3 P)\n"
16174 " (declare (in) vec2 dPdx)\n"
16175 " (declare (in) vec2 dPdy))\n"
16177 " (signature uvec4\n"
16179 " (declare (in) usampler2D sampler)\n"
16180 " (declare (in) vec3 P)\n"
16181 " (declare (in) vec2 dPdx)\n"
16182 " (declare (in) vec2 dPdy))\n"
16184 " (signature vec4\n"
16186 " (declare (in) sampler2D sampler)\n"
16187 " (declare (in) vec4 P)\n"
16188 " (declare (in) vec2 dPdx)\n"
16189 " (declare (in) vec2 dPdy))\n"
16191 " (signature ivec4\n"
16193 " (declare (in) isampler2D sampler)\n"
16194 " (declare (in) vec4 P)\n"
16195 " (declare (in) vec2 dPdx)\n"
16196 " (declare (in) vec2 dPdy))\n"
16198 " (signature uvec4\n"
16200 " (declare (in) usampler2D sampler)\n"
16201 " (declare (in) vec4 P)\n"
16202 " (declare (in) vec2 dPdx)\n"
16203 " (declare (in) vec2 dPdy))\n"
16205 " (signature vec4\n"
16207 " (declare (in) sampler3D sampler)\n"
16208 " (declare (in) vec4 P)\n"
16209 " (declare (in) vec3 dPdx)\n"
16210 " (declare (in) vec3 dPdy))\n"
16212 " (signature ivec4\n"
16214 " (declare (in) isampler3D sampler)\n"
16215 " (declare (in) vec4 P)\n"
16216 " (declare (in) vec3 dPdx)\n"
16217 " (declare (in) vec3 dPdy))\n"
16219 " (signature uvec4\n"
16221 " (declare (in) usampler3D sampler)\n"
16222 " (declare (in) vec4 P)\n"
16223 " (declare (in) vec3 dPdx)\n"
16224 " (declare (in) vec3 dPdy))\n"
16226 " (signature float\n"
16228 " (declare (in) sampler1DShadow sampler)\n"
16229 " (declare (in) vec4 P)\n"
16230 " (declare (in) float dPdx)\n"
16231 " (declare (in) float dPdy))\n"
16233 " (signature float\n"
16235 " (declare (in) sampler2DShadow sampler)\n"
16236 " (declare (in) vec4 P)\n"
16237 " (declare (in) vec2 dPdx)\n"
16238 " (declare (in) vec2 dPdy))\n"
16240 "(function texture1D\n"
16241 " (signature vec4\n"
16243 " (declare (in) sampler1D sampler)\n"
16244 " (declare (in) float coord))\n"
16246 " (signature vec4\n"
16248 " (declare (in) sampler1D sampler)\n"
16249 " (declare (in) float coord)\n"
16250 " (declare (in) float bias))\n"
16252 "(function texture1DProj\n"
16253 " (signature vec4\n"
16255 " (declare (in) sampler1D sampler)\n"
16256 " (declare (in) vec2 coord))\n"
16258 " (signature vec4\n"
16260 " (declare (in) sampler1D sampler)\n"
16261 " (declare (in) vec4 coord))\n"
16263 " (signature vec4\n"
16265 " (declare (in) sampler1D sampler)\n"
16266 " (declare (in) vec2 coord)\n"
16267 " (declare (in) float bias))\n"
16269 " (signature vec4\n"
16271 " (declare (in) sampler1D sampler)\n"
16272 " (declare (in) vec4 coord)\n"
16273 " (declare (in) float bias))\n"
16275 "(function texture1DLod\n"
16276 " (signature vec4\n"
16278 " (declare (in) sampler1D sampler)\n"
16279 " (declare (in) float coord)\n"
16280 " (declare (in) float lod))\n"
16282 "(function texture1DProjLod\n"
16283 " (signature vec4\n"
16285 " (declare (in) sampler1D sampler)\n"
16286 " (declare (in) vec2 coord)\n"
16287 " (declare (in) float lod))\n"
16289 " (signature vec4\n"
16291 " (declare (in) sampler1D sampler)\n"
16292 " (declare (in) vec4 coord)\n"
16293 " (declare (in) float lod))\n"
16295 "(function texture2D\n"
16296 " (signature vec4\n"
16298 " (declare (in) sampler2D sampler)\n"
16299 " (declare (in) vec2 coord))\n"
16301 " (signature vec4\n"
16303 " (declare (in) sampler2D sampler)\n"
16304 " (declare (in) vec2 coord)\n"
16305 " (declare (in) float bias))\n"
16307 "(function texture2DProj\n"
16308 " (signature vec4\n"
16310 " (declare (in) sampler2D sampler)\n"
16311 " (declare (in) vec3 coord))\n"
16313 " (signature vec4\n"
16315 " (declare (in) sampler2D sampler)\n"
16316 " (declare (in) vec4 coord))\n"
16318 " (signature vec4\n"
16320 " (declare (in) sampler2D sampler)\n"
16321 " (declare (in) vec3 coord)\n"
16322 " (declare (in) float bias))\n"
16324 " (signature vec4\n"
16326 " (declare (in) sampler2D sampler)\n"
16327 " (declare (in) vec4 coord)\n"
16328 " (declare (in) float bias))\n"
16330 "(function texture2DLod\n"
16331 " (signature vec4\n"
16333 " (declare (in) sampler2D sampler)\n"
16334 " (declare (in) vec2 coord)\n"
16335 " (declare (in) float lod))\n"
16337 "(function texture2DProjLod\n"
16338 " (signature vec4\n"
16340 " (declare (in) sampler2D sampler)\n"
16341 " (declare (in) vec3 coord)\n"
16342 " (declare (in) float lod))\n"
16344 " (signature vec4\n"
16346 " (declare (in) sampler2D sampler)\n"
16347 " (declare (in) vec4 coord)\n"
16348 " (declare (in) float lod))\n"
16350 "(function texture3D\n"
16351 " (signature vec4\n"
16353 " (declare (in) sampler3D sampler)\n"
16354 " (declare (in) vec3 coord))\n"
16356 " (signature vec4\n"
16358 " (declare (in) sampler3D sampler)\n"
16359 " (declare (in) vec3 coord)\n"
16360 " (declare (in) float bias))\n"
16362 "(function texture3DProj\n"
16363 " (signature vec4\n"
16365 " (declare (in) sampler3D sampler)\n"
16366 " (declare (in) vec4 coord))\n"
16368 " (signature vec4\n"
16370 " (declare (in) sampler3D sampler)\n"
16371 " (declare (in) vec4 coord)\n"
16372 " (declare (in) float bias))\n"
16374 "(function texture3DLod\n"
16375 " (signature vec4\n"
16377 " (declare (in) sampler3D sampler)\n"
16378 " (declare (in) vec3 coord)\n"
16379 " (declare (in) float lod))\n"
16381 "(function texture3DProjLod\n"
16382 " (signature vec4\n"
16384 " (declare (in) sampler3D sampler)\n"
16385 " (declare (in) vec4 coord)\n"
16386 " (declare (in) float lod))\n"
16388 "(function textureCube\n"
16389 " (signature vec4\n"
16391 " (declare (in) samplerCube sampler)\n"
16392 " (declare (in) vec3 coord))\n"
16394 " (signature vec4\n"
16396 " (declare (in) samplerCube sampler)\n"
16397 " (declare (in) vec3 coord)\n"
16398 " (declare (in) float bias))\n"
16400 "(function textureCubeLod\n"
16401 " (signature vec4\n"
16403 " (declare (in) samplerCube sampler)\n"
16404 " (declare (in) vec3 coord)\n"
16405 " (declare (in) float lod))\n"
16407 "(function shadow1D\n"
16408 " (signature vec4\n"
16410 " (declare (in) sampler1DShadow sampler)\n"
16411 " (declare (in) vec3 coord))\n"
16413 " (signature vec4\n"
16415 " (declare (in) sampler1DShadow sampler)\n"
16416 " (declare (in) vec3 coord)\n"
16417 " (declare (in) float bias))\n"
16419 "(function shadow2D\n"
16420 " (signature vec4\n"
16422 " (declare (in) sampler2DShadow sampler)\n"
16423 " (declare (in) vec3 coord))\n"
16425 " (signature vec4\n"
16427 " (declare (in) sampler2DShadow sampler)\n"
16428 " (declare (in) vec3 coord)\n"
16429 " (declare (in) float bias))\n"
16431 "(function shadow1DProj\n"
16432 " (signature vec4\n"
16434 " (declare (in) sampler1DShadow sampler)\n"
16435 " (declare (in) vec4 coord))\n"
16437 " (signature vec4\n"
16439 " (declare (in) sampler1DShadow sampler)\n"
16440 " (declare (in) vec4 coord)\n"
16441 " (declare (in) float bias))\n"
16443 "(function shadow2DProj\n"
16444 " (signature vec4\n"
16446 " (declare (in) sampler2DShadow sampler)\n"
16447 " (declare (in) vec4 coord))\n"
16449 " (signature vec4\n"
16451 " (declare (in) sampler2DShadow sampler)\n"
16452 " (declare (in) vec4 coord)\n"
16453 " (declare (in) float bias))\n"
16455 "(function shadow1DLod\n"
16456 " (signature vec4\n"
16458 " (declare (in) sampler1DShadow sampler)\n"
16459 " (declare (in) vec3 coord)\n"
16460 " (declare (in) float lod))\n"
16462 "(function shadow2DLod\n"
16463 " (signature vec4\n"
16465 " (declare (in) sampler2DShadow sampler)\n"
16466 " (declare (in) vec3 coord)\n"
16467 " (declare (in) float lod))\n"
16469 "(function shadow1DProjLod\n"
16470 " (signature vec4\n"
16472 " (declare (in) sampler1DShadow sampler)\n"
16473 " (declare (in) vec4 coord)\n"
16474 " (declare (in) float lod))\n"
16476 "(function shadow2DProjLod\n"
16477 " (signature vec4\n"
16479 " (declare (in) sampler2DShadow sampler)\n"
16480 " (declare (in) vec4 coord)\n"
16481 " (declare (in) float lod))\n"
16483 "(function noise1\n"
16484 " (signature float\n"
16486 " (declare (in) float x))\n"
16488 " (signature float\n"
16490 " (declare (in) vec2 x))\n"
16492 " (signature float\n"
16494 " (declare (in) vec3 x))\n"
16496 " (signature float\n"
16498 " (declare (in) vec4 x))\n"
16500 "(function noise2\n"
16501 " (signature vec2\n"
16503 " (declare (in) float x))\n"
16505 " (signature vec2\n"
16507 " (declare (in) vec2 x))\n"
16509 " (signature vec2\n"
16511 " (declare (in) vec3 x))\n"
16513 " (signature vec2\n"
16515 " (declare (in) vec4 x))\n"
16517 "(function noise3\n"
16518 " (signature vec3\n"
16520 " (declare (in) float x))\n"
16522 " (signature vec3\n"
16524 " (declare (in) vec2 x))\n"
16526 " (signature vec3\n"
16528 " (declare (in) vec3 x))\n"
16530 " (signature vec3\n"
16532 " (declare (in) vec4 x))\n"
16534 "(function noise4\n"
16535 " (signature vec4\n"
16537 " (declare (in) float x))\n"
16539 " (signature vec4\n"
16541 " (declare (in) vec2 x))\n"
16543 " (signature vec4\n"
16545 " (declare (in) vec3 x))\n"
16547 " (signature vec4\n"
16549 " (declare (in) vec4 x))\n"
16552 static const char *functions_for_130_vert
[] = {
16570 builtin_faceforward
,
16573 builtin_ftransform
,
16574 builtin_greaterThan
,
16575 builtin_greaterThanEqual
,
16576 builtin_inversesqrt
,
16579 builtin_lessThanEqual
,
16582 builtin_matrixCompMult
,
16594 builtin_outerProduct
,
16600 builtin_shadow1DLod
,
16601 builtin_shadow1DProj
,
16602 builtin_shadow1DProjLod
,
16604 builtin_shadow2DLod
,
16605 builtin_shadow2DProj
,
16606 builtin_shadow2DProjLod
,
16610 builtin_smoothstep
,
16615 builtin_texelFetch
,
16618 builtin_texture1DLod
,
16619 builtin_texture1DProj
,
16620 builtin_texture1DProjLod
,
16622 builtin_texture2DLod
,
16623 builtin_texture2DProj
,
16624 builtin_texture2DProjLod
,
16626 builtin_texture3DLod
,
16627 builtin_texture3DProj
,
16628 builtin_texture3DProjLod
,
16629 builtin_textureCube
,
16630 builtin_textureCubeLod
,
16631 builtin_textureGrad
,
16632 builtin_textureLod
,
16633 builtin_textureProj
,
16634 builtin_textureProjGrad
,
16635 builtin_textureProjLod
,
16638 static const char *prototypes_for_ARB_texture_rectangle_frag
=
16640 "(function texture2DRect\n"
16641 " (signature vec4\n"
16643 " (declare (in) sampler2DRect sampler)\n"
16644 " (declare (in) vec2 coord))\n"
16646 "(function texture2DRectProj\n"
16647 " (signature vec4\n"
16649 " (declare (in) sampler2DRect sampler)\n"
16650 " (declare (in) vec3 coord))\n"
16652 " (signature vec4\n"
16654 " (declare (in) sampler2DRect sampler)\n"
16655 " (declare (in) vec4 coord))\n"
16657 "(function shadow2DRect\n"
16658 " (signature vec4\n"
16660 " (declare (in) sampler2DRectShadow sampler)\n"
16661 " (declare (in) vec3 coord))\n"
16663 "(function shadow2DRectProj\n"
16664 " (signature vec4\n"
16666 " (declare (in) sampler2DRectShadow sampler)\n"
16667 " (declare (in) vec4 coord))\n"
16670 static const char *functions_for_ARB_texture_rectangle_frag
[] = {
16671 builtin_shadow2DRect
,
16672 builtin_shadow2DRectProj
,
16673 builtin_texture2DRect
,
16674 builtin_texture2DRectProj
,
16676 static const char *prototypes_for_ARB_texture_rectangle_vert
=
16678 "(function texture2DRect\n"
16679 " (signature vec4\n"
16681 " (declare (in) sampler2DRect sampler)\n"
16682 " (declare (in) vec2 coord))\n"
16684 "(function texture2DRectProj\n"
16685 " (signature vec4\n"
16687 " (declare (in) sampler2DRect sampler)\n"
16688 " (declare (in) vec3 coord))\n"
16690 " (signature vec4\n"
16692 " (declare (in) sampler2DRect sampler)\n"
16693 " (declare (in) vec4 coord))\n"
16695 "(function shadow2DRect\n"
16696 " (signature vec4\n"
16698 " (declare (in) sampler2DRectShadow sampler)\n"
16699 " (declare (in) vec3 coord))\n"
16701 "(function shadow2DRectProj\n"
16702 " (signature vec4\n"
16704 " (declare (in) sampler2DRectShadow sampler)\n"
16705 " (declare (in) vec4 coord))\n"
16708 static const char *functions_for_ARB_texture_rectangle_vert
[] = {
16709 builtin_shadow2DRect
,
16710 builtin_shadow2DRectProj
,
16711 builtin_texture2DRect
,
16712 builtin_texture2DRectProj
,
16714 static const char *prototypes_for_EXT_texture_array_frag
=
16716 "(function texture1DArray\n"
16717 " (signature vec4\n"
16719 " (declare (in) sampler1DArray sampler)\n"
16720 " (declare (in) vec2 coord))\n"
16722 " (signature vec4\n"
16724 " (declare (in) sampler1DArray sampler)\n"
16725 " (declare (in) vec2 coord)\n"
16726 " (declare (in) float bias))\n"
16728 "(function texture2DArray\n"
16729 " (signature vec4\n"
16731 " (declare (in) sampler2DArray sampler)\n"
16732 " (declare (in) vec3 coord))\n"
16734 " (signature vec4\n"
16736 " (declare (in) sampler2DArray sampler)\n"
16737 " (declare (in) vec3 coord)\n"
16738 " (declare (in) float bias))\n"
16740 "(function shadow1DArray\n"
16741 " (signature vec4\n"
16743 " (declare (in) sampler1DArrayShadow sampler)\n"
16744 " (declare (in) vec3 coord))\n"
16746 " (signature vec4\n"
16748 " (declare (in) sampler1DArrayShadow sampler)\n"
16749 " (declare (in) vec3 coord)\n"
16750 " (declare (in) float bias))\n"
16752 "(function shadow2DArray\n"
16753 " (signature vec4\n"
16755 " (declare (in) sampler2DArrayShadow sampler)\n"
16756 " (declare (in) vec4 coord))\n"
16759 static const char *functions_for_EXT_texture_array_frag
[] = {
16760 builtin_shadow1DArray
,
16761 builtin_shadow2DArray
,
16762 builtin_texture1DArray
,
16763 builtin_texture2DArray
,
16765 static const char *prototypes_for_EXT_texture_array_vert
=
16767 "(function texture1DArray\n"
16768 " (signature vec4\n"
16770 " (declare (in) sampler1DArray sampler)\n"
16771 " (declare (in) vec2 coord))\n"
16773 "(function texture1DArrayLod\n"
16774 " (signature vec4\n"
16776 " (declare (in) sampler1DArray sampler)\n"
16777 " (declare (in) vec2 coord)\n"
16778 " (declare (in) float lod))\n"
16780 "(function texture2DArray\n"
16781 " (signature vec4\n"
16783 " (declare (in) sampler2DArray sampler)\n"
16784 " (declare (in) vec3 coord))\n"
16786 "(function texture2DArrayLod\n"
16787 " (signature vec4\n"
16789 " (declare (in) sampler2DArray sampler)\n"
16790 " (declare (in) vec3 coord)\n"
16791 " (declare (in) float lod))\n"
16793 "(function shadow1DArray\n"
16794 " (signature vec4\n"
16796 " (declare (in) sampler1DArrayShadow sampler)\n"
16797 " (declare (in) vec3 coord))\n"
16799 "(function shadow1DArrayLod\n"
16800 " (signature vec4\n"
16802 " (declare (in) sampler1DArrayShadow sampler)\n"
16803 " (declare (in) vec3 coord)\n"
16804 " (declare (in) float lod))\n"
16806 "(function shadow2DArray\n"
16807 " (signature vec4\n"
16809 " (declare (in) sampler2DArrayShadow sampler)\n"
16810 " (declare (in) vec4 coord))\n"
16813 static const char *functions_for_EXT_texture_array_vert
[] = {
16814 builtin_shadow1DArray
,
16815 builtin_shadow1DArrayLod
,
16816 builtin_shadow2DArray
,
16817 builtin_texture1DArray
,
16818 builtin_texture1DArrayLod
,
16819 builtin_texture2DArray
,
16820 builtin_texture2DArrayLod
,
16822 static gl_shader
*builtin_profiles
[10];
16824 void *builtin_mem_ctx
= NULL
;
16827 _mesa_glsl_release_functions(void)
16829 talloc_free(builtin_mem_ctx
);
16830 builtin_mem_ctx
= NULL
;
16834 _mesa_read_profile(struct _mesa_glsl_parse_state
*state
,
16835 exec_list
*instructions
,
16837 const char *prototypes
,
16838 const char **functions
,
16841 gl_shader
*sh
= builtin_profiles
[profile_index
];
16844 sh
= read_builtins(GL_VERTEX_SHADER
, prototypes
, functions
, count
);
16845 talloc_steal(builtin_mem_ctx
, sh
);
16846 builtin_profiles
[profile_index
] = sh
;
16849 import_prototypes(sh
->ir
, instructions
, state
->symbols
, state
);
16850 state
->builtins_to_link
[state
->num_builtins_to_link
] = sh
;
16851 state
->num_builtins_to_link
++;
16855 _mesa_glsl_initialize_functions(exec_list
*instructions
,
16856 struct _mesa_glsl_parse_state
*state
)
16858 if (builtin_mem_ctx
== NULL
) {
16859 builtin_mem_ctx
= talloc_init("GLSL built-in functions");
16860 memset(&builtin_profiles
, 0, sizeof(builtin_profiles
));
16863 state
->num_builtins_to_link
= 0;
16865 if (state
->target
== fragment_shader
&& state
->language_version
== 110) {
16866 _mesa_read_profile(state
, instructions
, 0,
16867 prototypes_for_110_frag
,
16868 functions_for_110_frag
,
16869 Elements(functions_for_110_frag
));
16872 if (state
->target
== vertex_shader
&& state
->language_version
== 110) {
16873 _mesa_read_profile(state
, instructions
, 1,
16874 prototypes_for_110_vert
,
16875 functions_for_110_vert
,
16876 Elements(functions_for_110_vert
));
16879 if (state
->target
== fragment_shader
&& state
->language_version
== 120) {
16880 _mesa_read_profile(state
, instructions
, 2,
16881 prototypes_for_120_frag
,
16882 functions_for_120_frag
,
16883 Elements(functions_for_120_frag
));
16886 if (state
->target
== vertex_shader
&& state
->language_version
== 120) {
16887 _mesa_read_profile(state
, instructions
, 3,
16888 prototypes_for_120_vert
,
16889 functions_for_120_vert
,
16890 Elements(functions_for_120_vert
));
16893 if (state
->target
== fragment_shader
&& state
->language_version
== 130) {
16894 _mesa_read_profile(state
, instructions
, 4,
16895 prototypes_for_130_frag
,
16896 functions_for_130_frag
,
16897 Elements(functions_for_130_frag
));
16900 if (state
->target
== vertex_shader
&& state
->language_version
== 130) {
16901 _mesa_read_profile(state
, instructions
, 5,
16902 prototypes_for_130_vert
,
16903 functions_for_130_vert
,
16904 Elements(functions_for_130_vert
));
16907 if (state
->target
== fragment_shader
&& state
->ARB_texture_rectangle_enable
) {
16908 _mesa_read_profile(state
, instructions
, 6,
16909 prototypes_for_ARB_texture_rectangle_frag
,
16910 functions_for_ARB_texture_rectangle_frag
,
16911 Elements(functions_for_ARB_texture_rectangle_frag
));
16914 if (state
->target
== vertex_shader
&& state
->ARB_texture_rectangle_enable
) {
16915 _mesa_read_profile(state
, instructions
, 7,
16916 prototypes_for_ARB_texture_rectangle_vert
,
16917 functions_for_ARB_texture_rectangle_vert
,
16918 Elements(functions_for_ARB_texture_rectangle_vert
));
16921 if (state
->target
== fragment_shader
&& state
->EXT_texture_array_enable
) {
16922 _mesa_read_profile(state
, instructions
, 8,
16923 prototypes_for_EXT_texture_array_frag
,
16924 functions_for_EXT_texture_array_frag
,
16925 Elements(functions_for_EXT_texture_array_frag
));
16928 if (state
->target
== vertex_shader
&& state
->EXT_texture_array_enable
) {
16929 _mesa_read_profile(state
, instructions
, 9,
16930 prototypes_for_EXT_texture_array_vert
,
16931 functions_for_EXT_texture_array_vert
,
16932 Elements(functions_for_EXT_texture_array_vert
));