blob: 5471ba6020f0a743ab38e3de73e1e872b48f2130 [file] [log] [blame]
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07001/* DO NOT MODIFY - automatically generated by generate_builtins.py */
Eric Anholtc22c4002010-03-26 18:20:30 -07002/*
3 * Copyright © 2010 Intel Corporation
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining a
6 * copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
11 *
12 * The above copyright notice and this permission notice (including the next
13 * paragraph) shall be included in all copies or substantial portions of the
14 * Software.
15 *
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22 * DEALINGS IN THE SOFTWARE.
23 */
24
Kenneth Graunkeb3262122010-04-28 23:01:33 -070025#include <stdio.h>
Ian Romanick261bbc02010-08-12 15:05:39 -070026#include "main/compiler.h"
Eric Anholtc22c4002010-03-26 18:20:30 -070027#include "glsl_parser_extras.h"
Kenneth Graunkeb3262122010-04-28 23:01:33 -070028#include "ir_reader.h"
Ian Romanickd5be2ac2010-07-20 11:29:46 -070029#include "program.h"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070030#include "ast.h"
Eric Anholtddd2e832010-03-27 12:59:42 -070031
Ian Romanickd5be2ac2010-07-20 11:29:46 -070032extern "C" struct gl_shader *
33_mesa_new_shader(GLcontext *ctx, GLuint name, GLenum type);
34
35gl_shader *
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070036read_builtins(GLenum target, const char *protos, const char **functions, unsigned count)
Eric Anholtc22c4002010-03-26 18:20:30 -070037{
Ian Romanickd5be2ac2010-07-20 11:29:46 -070038 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);
41
42 st->language_version = 130;
43 st->ARB_texture_rectangle_enable = true;
44 st->EXT_texture_array_enable = true;
45 _mesa_glsl_initialize_types(st);
46
47 sh->ir = new(sh) exec_list;
48 sh->symbols = st->symbols;
Eric Anholtc22c4002010-03-26 18:20:30 -070049
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070050 /* Read the IR containing the prototypes */
51 _mesa_glsl_read_ir(st, sh->ir, protos, true);
52
53 /* Read ALL the function bodies, telling the IR reader not to scan for
54 * prototypes (we've already created them). The IR reader will skip any
55 * signature that does not already exist as a prototype.
56 */
Kenneth Graunkeb3262122010-04-28 23:01:33 -070057 for (unsigned i = 0; i < count; i++) {
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070058 _mesa_glsl_read_ir(st, sh->ir, functions[i], false);
Eric Anholtc22c4002010-03-26 18:20:30 -070059
Kenneth Graunkeb3262122010-04-28 23:01:33 -070060 if (st->error) {
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070061 printf("error reading builtin: %.35s ...\n", functions[i]);
62 talloc_free(sh);
Ian Romanickd5be2ac2010-07-20 11:29:46 -070063 return NULL;
Kenneth Graunkeb3262122010-04-28 23:01:33 -070064 }
Eric Anholtcc4ef152010-04-08 15:35:34 -070065 }
Ian Romanickd5be2ac2010-07-20 11:29:46 -070066
67 reparent_ir(sh->ir, sh);
68 delete st;
69
70 return sh;
Eric Anholtcc4ef152010-04-08 15:35:34 -070071}
72
Eric Anholt47003a82010-08-23 12:39:35 -070073static const char *builtin_abs =
74 "((function abs\n"
75 " (signature float\n"
76 " (parameters\n"
77 " (declare (in) float arg0))\n"
78 " ((return (expression float abs (var_ref arg0)))))\n"
79 "\n"
80 " (signature vec2\n"
81 " (parameters\n"
82 " (declare (in) vec2 arg0))\n"
83 " ((return (expression vec2 abs (var_ref arg0)))))\n"
84 "\n"
85 " (signature vec3\n"
86 " (parameters\n"
87 " (declare (in) vec3 arg0))\n"
88 " ((return (expression vec3 abs (var_ref arg0)))))\n"
89 "\n"
90 " (signature vec4\n"
91 " (parameters\n"
92 " (declare (in) vec4 arg0))\n"
93 " ((return (expression vec4 abs (var_ref arg0)))))\n"
94 "))\n"
95 ""
96;
97static const char *builtin_acos =
98 "((function acos\n"
99 " (signature float\n"
100 " (parameters\n"
101 " (declare (in) float x))\n"
102 " ((return (expression float - (constant float (1.5707963))\n"
103 " (call asin ((var_ref x)))))))\n"
104 " (signature vec2\n"
105 " (parameters\n"
106 " (declare (in) vec2 x))\n"
107 " ((return (expression vec2 - (constant float (1.5707963))\n"
108 " (call asin ((var_ref x)))))))\n"
109 " (signature vec3\n"
110 " (parameters\n"
111 " (declare (in) vec3 x))\n"
112 " ((return (expression vec3 - (constant float (1.5707963))\n"
113 " (call asin ((var_ref x)))))))\n"
114 " (signature vec4\n"
115 " (parameters\n"
116 " (declare (in) vec4 x))\n"
117 " ((return (expression vec4 - (constant float (1.5707963))\n"
118 " (call asin ((var_ref x)))))))\n"
119 "))\n"
120 ""
121;
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700122static const char *builtin_all =
Kenneth Graunkeb3262122010-04-28 23:01:33 -0700123 "((function all\n"
124 " (signature bool\n"
125 " (parameters\n"
126 " (declare (in) bvec2 arg0))\n"
127 " ((return (expression bool && (swiz x (var_ref arg0))(swiz y (var_ref arg0))))))\n"
128 "\n"
129 " (signature bool\n"
130 " (parameters\n"
131 " (declare (in) bvec3 arg0))\n"
132 " ((return (expression bool && (expression bool && (swiz x (var_ref arg0))(swiz y (var_ref arg0))) (swiz z (var_ref arg0))))))\n"
133 "\n"
134 " (signature bool\n"
135 " (parameters\n"
136 " (declare (in) bvec4 arg0))\n"
137 " ((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"
138 "))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700139 ""
140;
Eric Anholt47003a82010-08-23 12:39:35 -0700141static const char *builtin_any =
142 "((function any\n"
143 " (signature bool\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700144 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700145 " (declare (in) bvec2 arg0))\n"
Eric Anholtb75645d2010-08-23 12:54:55 -0700146 " ((return (expression bool any (var_ref arg0)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700147 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700148 " (signature bool\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700149 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700150 " (declare (in) bvec3 arg0))\n"
Eric Anholtb75645d2010-08-23 12:54:55 -0700151 " ((return (expression bool any (var_ref arg0)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700152 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700153 " (signature bool\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700154 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700155 " (declare (in) bvec4 arg0))\n"
Eric Anholtb75645d2010-08-23 12:54:55 -0700156 " ((return (expression bool any (var_ref arg0)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700157 "))\n"
158 ""
159;
160static const char *builtin_asin =
161 "((function asin\n"
162 " (signature float\n"
163 " (parameters\n"
164 " (declare (in) float x))\n"
165 " ((return (expression float *\n"
166 " (expression float sign (var_ref x))\n"
167 " (expression float -\n"
168 " (expression float *\n"
169 " (constant float (3.1415926))\n"
170 " (constant float (0.5)))\n"
171 " (expression float *\n"
172 " (expression float sqrt\n"
173 " (expression float -\n"
174 " (constant float (1.0))\n"
175 " (expression float abs (var_ref x))))\n"
176 " (expression float +\n"
177 " (constant float (1.5707288))\n"
178 " (expression float *\n"
179 " (expression float abs (var_ref x))\n"
180 " (expression float +\n"
181 " (constant float (-0.2121144))\n"
182 " (expression float *\n"
183 " (constant float (0.0742610))\n"
184 " (expression float abs (var_ref x))))))))))))\n"
185 "\n"
186 " (signature vec2\n"
187 " (parameters\n"
188 " (declare (in) vec2 x))\n"
189 " ((return (expression vec2 *\n"
190 " (expression vec2 sign (var_ref x))\n"
191 " (expression vec2 -\n"
192 " (expression float *\n"
193 " (constant float (3.1415926))\n"
194 " (constant float (0.5)))\n"
195 " (expression vec2 *\n"
196 " (expression vec2 sqrt\n"
197 " (expression vec2 -\n"
198 " (constant float (1.0))\n"
199 " (expression vec2 abs (var_ref x))))\n"
200 " (expression vec2 +\n"
201 " (constant float (1.5707288))\n"
202 " (expression vec2 *\n"
203 " (expression vec2 abs (var_ref x))\n"
204 " (expression vec2 +\n"
205 " (constant float (-0.2121144))\n"
206 " (expression vec2 *\n"
207 " (constant float (0.0742610))\n"
208 " (expression vec2 abs (var_ref x))))))))))))\n"
209 "\n"
210 " (signature vec3\n"
211 " (parameters\n"
212 " (declare (in) vec3 x))\n"
213 " ((return (expression vec3 *\n"
214 " (expression vec3 sign (var_ref x))\n"
215 " (expression vec3 -\n"
216 " (expression float *\n"
217 " (constant float (3.1415926))\n"
218 " (constant float (0.5)))\n"
219 " (expression vec3 *\n"
220 " (expression vec3 sqrt\n"
221 " (expression vec3 -\n"
222 " (constant float (1.0))\n"
223 " (expression vec3 abs (var_ref x))))\n"
224 " (expression vec3 +\n"
225 " (constant float (1.5707288))\n"
226 " (expression vec3 *\n"
227 " (expression vec3 abs (var_ref x))\n"
228 " (expression vec3 +\n"
229 " (constant float (-0.2121144))\n"
230 " (expression vec3 *\n"
231 " (constant float (0.0742610))\n"
232 " (expression vec3 abs (var_ref x))))))))))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700233 "\n"
234 " (signature vec4\n"
235 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700236 " (declare (in) vec4 x))\n"
237 " ((return (expression vec4 *\n"
238 " (expression vec4 sign (var_ref x))\n"
239 " (expression vec4 -\n"
240 " (expression float *\n"
241 " (constant float (3.1415926))\n"
242 " (constant float (0.5)))\n"
243 " (expression vec4 *\n"
244 " (expression vec4 sqrt\n"
245 " (expression vec4 -\n"
246 " (constant float (1.0))\n"
247 " (expression vec4 abs (var_ref x))))\n"
248 " (expression vec4 +\n"
249 " (constant float (1.5707288))\n"
250 " (expression vec4 *\n"
251 " (expression vec4 abs (var_ref x))\n"
252 " (expression vec4 +\n"
253 " (constant float (-0.2121144))\n"
254 " (expression vec4 *\n"
255 " (constant float (0.0742610))\n"
256 " (expression vec4 abs (var_ref x))))))))))))\n"
257 "))\n"
258 ""
259;
260static const char *builtin_atan =
261 "((function atan\n"
262 " (signature float\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700263 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700264 " (declare (in) float x))\n"
265 " ((return (call asin ((expression float *\n"
266 " (var_ref x)\n"
267 " (expression float rsq\n"
268 " (expression float +\n"
269 " (expression float *\n"
270 " (var_ref x)\n"
271 " (var_ref x))\n"
272 " (constant float (1.0))))))))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700273 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700274 " (signature vec2\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700275 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700276 " (declare (in) vec2 y_over_x))\n"
277 " ((return (call asin ((expression vec2 *\n"
278 " (var_ref y_over_x)\n"
279 " (expression vec2 rsq\n"
280 " (expression vec2 +\n"
281 " (expression vec2 *\n"
282 " (var_ref y_over_x)\n"
283 " (var_ref y_over_x))\n"
284 " (constant float (1.0))))))))))\n"
285 "\n"
286 " (signature vec3\n"
287 " (parameters\n"
288 " (declare (in) vec3 y_over_x))\n"
289 " ((return (call asin ((expression vec3 *\n"
290 " (var_ref y_over_x)\n"
291 " (expression vec3 rsq\n"
292 " (expression vec3 +\n"
293 " (expression vec3 *\n"
294 " (var_ref y_over_x)\n"
295 " (var_ref y_over_x))\n"
296 " (constant float (1.0))))))))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700297 "\n"
298 " (signature vec4\n"
299 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700300 " (declare (in) vec4 y_over_x))\n"
301 " ((return (call asin ((expression vec4 *\n"
302 " (var_ref y_over_x)\n"
303 " (expression vec4 rsq\n"
304 " (expression vec4 +\n"
305 " (expression vec4 *\n"
306 " (var_ref y_over_x)\n"
307 " (var_ref y_over_x))\n"
308 " (constant float (1.0))))))))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700309 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700310 " (signature float\n"
311 " (parameters\n"
312 " (declare (in ) float y)\n"
313 " (declare (in ) float x)\n"
314 " )\n"
315 " (\n"
316 " (declare () float r)\n"
317 " (declare ( ) float abs_retval)\n"
318 " (assign (constant bool (1)) (var_ref abs_retval) (call abs ((var_ref x) ))\n"
319 ") \n"
320 " (if (expression bool > (var_ref abs_retval) (constant float (0.000100)) ) (\n"
321 " (declare ( ) float atan_retval)\n"
322 " (assign (constant bool (1)) (var_ref atan_retval) (call atan ((expression float / (var_ref y) (var_ref x) ) ))\n"
323 ") \n"
324 " (assign (constant bool (1)) (var_ref r) (var_ref atan_retval) ) \n"
325 " (if (expression bool < (var_ref x) (constant float (0.000000)) ) (\n"
326 " (if (expression bool >= (var_ref y) (constant float (0.000000)) ) (\n"
327 " (declare ( ) float assignment_tmp)\n"
328 " (assign (constant bool (1)) (var_ref assignment_tmp) (expression float + (var_ref r) (constant float (3.141593)) ) ) \n"
329 " (assign (constant bool (1)) (var_ref r) (var_ref assignment_tmp) ) \n"
330 " )\n"
331 " (\n"
332 " (declare ( ) float assignment_tmp)\n"
333 " (assign (constant bool (1)) (var_ref assignment_tmp) (expression float - (var_ref r) (constant float (3.141593)) ) ) \n"
334 " (assign (constant bool (1)) (var_ref r) (var_ref assignment_tmp) ) \n"
335 " ))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700336 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700337 " )\n"
338 " (\n"
339 " ))\n"
340 "\n"
341 " )\n"
342 " (\n"
343 " (if (expression bool >= (var_ref y) (constant float (0.000000)) ) (\n"
344 " (assign (constant bool (1)) (var_ref r) (constant float (1.570796)) ) \n"
345 " )\n"
346 " (\n"
347 " (assign (constant bool (1)) (var_ref r) (constant float (-1.570796)) ) \n"
348 " ))\n"
349 "\n"
350 " ))\n"
351 "\n"
352 " (return (var_ref r) )\n"
353 " ))\n"
354 "\n"
355 "\n"
356 "\n"
357 " (signature vec2\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700358 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700359 " (declare (in) vec2 y)\n"
360 " (declare (in) vec2 x))\n"
361 " ((declare () vec2 r)\n"
362 " (assign (constant bool (1))\n"
363 " (swiz x (var_ref r))\n"
364 " (call atan ((swiz x (var_ref y))\n"
365 " (swiz x (var_ref x)))))\n"
366 " (assign (constant bool (1))\n"
367 " (swiz y (var_ref r))\n"
368 " (call atan ((swiz y (var_ref y))\n"
369 " (swiz y (var_ref x)))))\n"
370 " (return (var_ref r))))\n"
371 "\n"
372 " (signature vec3\n"
373 " (parameters\n"
374 " (declare (in) vec3 y)\n"
375 " (declare (in) vec3 x))\n"
376 " ((declare () vec3 r)\n"
377 " (assign (constant bool (1))\n"
378 " (swiz x (var_ref r))\n"
379 " (call atan ((swiz x (var_ref y))\n"
380 " (swiz x (var_ref x)))))\n"
381 " (assign (constant bool (1))\n"
382 " (swiz y (var_ref r))\n"
383 " (call atan ((swiz y (var_ref y))\n"
384 " (swiz y (var_ref x)))))\n"
385 " (assign (constant bool (1))\n"
386 " (swiz z (var_ref r))\n"
387 " (call atan ((swiz z (var_ref y))\n"
388 " (swiz z (var_ref x)))))\n"
389 " (return (var_ref r))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700390 "\n"
391 " (signature vec4\n"
392 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700393 " (declare (in) vec4 y)\n"
394 " (declare (in) vec4 x))\n"
395 " ((declare () vec4 r)\n"
396 " (assign (constant bool (1))\n"
397 " (swiz x (var_ref r))\n"
398 " (call atan ((swiz x (var_ref y))\n"
399 " (swiz x (var_ref x)))))\n"
400 " (assign (constant bool (1))\n"
401 " (swiz y (var_ref r))\n"
402 " (call atan ((swiz y (var_ref y))\n"
403 " (swiz y (var_ref x)))))\n"
404 " (assign (constant bool (1))\n"
405 " (swiz z (var_ref r))\n"
406 " (call atan ((swiz z (var_ref y))\n"
407 " (swiz z (var_ref x)))))\n"
408 " (assign (constant bool (1))\n"
409 " (swiz w (var_ref r))\n"
410 " (call atan ((swiz w (var_ref y))\n"
411 " (swiz w (var_ref x)))))\n"
412 " (return (var_ref r)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700413 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700414 "))\n"
415 ""
416;
417static const char *builtin_ceil =
418 "((function ceil\n"
419 " (signature float\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700420 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700421 " (declare (in) float arg0))\n"
422 " ((return (expression float ceil (var_ref arg0)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700423 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700424 " (signature vec2\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700425 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700426 " (declare (in) vec2 arg0))\n"
427 " ((return (expression vec2 ceil (var_ref arg0)))))\n"
428 "\n"
429 " (signature vec3\n"
430 " (parameters\n"
431 " (declare (in) vec3 arg0))\n"
432 " ((return (expression vec3 ceil (var_ref arg0)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700433 "\n"
434 " (signature vec4\n"
435 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700436 " (declare (in) vec4 arg0))\n"
437 " ((return (expression vec4 ceil (var_ref arg0)))))\n"
438 "))\n"
439 ""
440;
441static const char *builtin_clamp =
442 "((function clamp\n"
443 " (signature float\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700444 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700445 " (declare (in) float arg0)\n"
446 " (declare (in) float arg1)\n"
447 " (declare (in) float arg2))\n"
448 " ((return (expression float max (expression float min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700449 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700450 " (signature vec2\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700451 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700452 " (declare (in) vec2 arg0)\n"
453 " (declare (in) vec2 arg1)\n"
454 " (declare (in) vec2 arg2))\n"
455 " ((return (expression vec2 max (expression vec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
456 "\n"
457 " (signature vec3\n"
458 " (parameters\n"
459 " (declare (in) vec3 arg0)\n"
460 " (declare (in) vec3 arg1)\n"
461 " (declare (in) vec3 arg2))\n"
462 " ((return (expression vec3 max (expression vec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700463 "\n"
464 " (signature vec4\n"
465 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700466 " (declare (in) vec4 arg0)\n"
467 " (declare (in) vec4 arg1)\n"
468 " (declare (in) vec4 arg2))\n"
469 " ((return (expression vec4 max (expression vec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700470 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700471 " (signature vec2\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700472 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700473 " (declare (in) vec2 arg0)\n"
474 " (declare (in) float arg1)\n"
475 " (declare (in) float arg2))\n"
476 " ((return (expression vec2 max (expression vec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700477 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700478 " (signature vec3\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700479 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700480 " (declare (in) vec3 arg0)\n"
481 " (declare (in) float arg1)\n"
482 " (declare (in) float arg2))\n"
483 " ((return (expression vec3 max (expression vec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700484 "\n"
485 " (signature vec4\n"
486 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700487 " (declare (in) vec4 arg0)\n"
488 " (declare (in) float arg1)\n"
489 " (declare (in) float arg2))\n"
490 " ((return (expression vec4 max (expression vec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
491 "\n"
492 " (signature int\n"
493 " (parameters\n"
494 " (declare (in) int arg0)\n"
495 " (declare (in) int arg1)\n"
496 " (declare (in) int arg2))\n"
497 " ((return (expression int max (expression int min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
498 "\n"
499 " (signature ivec2\n"
500 " (parameters\n"
501 " (declare (in) ivec2 arg0)\n"
502 " (declare (in) ivec2 arg1)\n"
503 " (declare (in) ivec2 arg2))\n"
504 " ((return (expression ivec2 max (expression ivec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
505 "\n"
506 " (signature ivec3\n"
507 " (parameters\n"
508 " (declare (in) ivec3 arg0)\n"
509 " (declare (in) ivec3 arg1)\n"
510 " (declare (in) ivec3 arg2))\n"
511 " ((return (expression ivec3 max (expression ivec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700512 "\n"
513 " (signature ivec4\n"
514 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700515 " (declare (in) ivec4 arg0)\n"
516 " (declare (in) ivec4 arg1)\n"
517 " (declare (in) ivec4 arg2))\n"
518 " ((return (expression ivec4 max (expression ivec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
519 "\n"
520 " (signature ivec2\n"
521 " (parameters\n"
522 " (declare (in) ivec2 arg0)\n"
523 " (declare (in) int arg1)\n"
524 " (declare (in) int arg2))\n"
525 " ((return (expression ivec2 max (expression ivec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
526 "\n"
527 " (signature ivec3\n"
528 " (parameters\n"
529 " (declare (in) ivec3 arg0)\n"
530 " (declare (in) int arg1)\n"
531 " (declare (in) int arg2))\n"
532 " ((return (expression ivec3 max (expression ivec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
533 "\n"
534 " (signature ivec4\n"
535 " (parameters\n"
536 " (declare (in) ivec4 arg0)\n"
537 " (declare (in) int arg1)\n"
538 " (declare (in) int arg2))\n"
539 " ((return (expression ivec4 max (expression ivec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
540 "\n"
541 " (signature uint\n"
542 " (parameters\n"
543 " (declare (in) uint arg0)\n"
544 " (declare (in) uint arg1)\n"
545 " (declare (in) uint arg2))\n"
546 " ((return (expression uint max (expression uint min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
547 "\n"
548 " (signature uvec2\n"
549 " (parameters\n"
550 " (declare (in) uvec2 arg0)\n"
551 " (declare (in) uvec2 arg1)\n"
552 " (declare (in) uvec2 arg2))\n"
553 " ((return (expression uvec2 max (expression uvec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
554 "\n"
555 " (signature uvec3\n"
556 " (parameters\n"
557 " (declare (in) uvec3 arg0)\n"
558 " (declare (in) uvec3 arg1)\n"
559 " (declare (in) uvec3 arg2))\n"
560 " ((return (expression uvec3 max (expression uvec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700561 "\n"
562 " (signature uvec4\n"
563 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700564 " (declare (in) uvec4 arg0)\n"
565 " (declare (in) uvec4 arg1)\n"
566 " (declare (in) uvec4 arg2))\n"
567 " ((return (expression uvec4 max (expression uvec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
568 "\n"
569 " (signature uvec2\n"
570 " (parameters\n"
571 " (declare (in) uvec2 arg0)\n"
572 " (declare (in) uint arg1)\n"
573 " (declare (in) uint arg2))\n"
574 " ((return (expression uvec2 max (expression uvec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
575 "\n"
576 " (signature uvec3\n"
577 " (parameters\n"
578 " (declare (in) uvec3 arg0)\n"
579 " (declare (in) uint arg1)\n"
580 " (declare (in) uint arg2))\n"
581 " ((return (expression uvec3 max (expression uvec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
582 "\n"
583 " (signature uvec4\n"
584 " (parameters\n"
585 " (declare (in) uvec4 arg0)\n"
586 " (declare (in) uint arg1)\n"
587 " (declare (in) uint arg2))\n"
588 " ((return (expression uvec4 max (expression uvec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
589 "))\n"
590 ""
591;
592static const char *builtin_cos =
593 "((function cos\n"
594 " (signature float\n"
595 " (parameters\n"
596 " (declare (in) float angle))\n"
597 " ((return (expression float cos (var_ref angle)))))\n"
598 "\n"
599 " (signature vec2\n"
600 " (parameters\n"
601 " (declare (in) vec2 angle))\n"
602 " ((return (expression vec2 cos (var_ref angle)))))\n"
603 "\n"
604 " (signature vec3\n"
605 " (parameters\n"
606 " (declare (in) vec3 angle))\n"
607 " ((return (expression vec3 cos (var_ref angle)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700608 "\n"
609 " (signature vec4\n"
610 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700611 " (declare (in) vec4 angle))\n"
612 " ((return (expression vec4 cos (var_ref angle)))))\n"
613 "))\n"
614 ""
615;
616static const char *builtin_cosh =
617 "((function cosh\n"
618 " (signature float\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700619 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700620 " (declare (in) float x))\n"
621 " ((return (expression float * (constant float (0.5))\n"
622 " (expression float +\n"
623 " (expression float exp (var_ref x))\n"
624 " (expression float exp (expression float neg (var_ref x))))))))\n"
625 " (signature vec2\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700626 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700627 " (declare (in) vec2 x))\n"
628 " ((return (expression vec2 * (constant vec2 (0.5))\n"
629 " (expression vec2 +\n"
630 " (expression vec2 exp (var_ref x))\n"
631 " (expression vec2 exp (expression vec2 neg (var_ref x))))))))\n"
632 " (signature vec3\n"
633 " (parameters\n"
634 " (declare (in) vec3 x))\n"
635 " ((return (expression vec3 * (constant vec3 (0.5))\n"
636 " (expression vec3 +\n"
637 " (expression vec3 exp (var_ref x))\n"
638 " (expression vec3 exp (expression vec3 neg (var_ref x))))))))\n"
639 " (signature vec4\n"
640 " (parameters\n"
641 " (declare (in) vec4 x))\n"
642 " ((return (expression vec4 * (constant vec4 (0.5))\n"
643 " (expression vec4 +\n"
644 " (expression vec4 exp (var_ref x))\n"
645 " (expression vec4 exp (expression vec4 neg (var_ref x))))))))\n"
646 "))\n"
647 ""
648;
649static const char *builtin_cross =
650 "((function cross\n"
651 " (signature vec3\n"
652 " (parameters\n"
653 " (declare (in) vec3 arg0)\n"
654 " (declare (in) vec3 arg1))\n"
655 " ((return (expression vec3 cross (var_ref arg0) (var_ref arg1)))))\n"
656 "))\n"
657 ""
658;
659static const char *builtin_dFdx =
660 "((function dFdx\n"
661 " (signature float\n"
662 " (parameters\n"
663 " (declare (in) float p))\n"
664 " ((return (expression float dFdx (var_ref p)))))\n"
665 "\n"
666 " (signature vec2\n"
667 " (parameters\n"
668 " (declare (in) vec2 p))\n"
669 " ((return (expression vec2 dFdx (var_ref p)))))\n"
670 "\n"
671 " (signature vec3\n"
672 " (parameters\n"
673 " (declare (in) vec3 p))\n"
674 " ((return (expression vec3 dFdx (var_ref p)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700675 "\n"
676 " (signature vec4\n"
677 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700678 " (declare (in) vec4 p))\n"
679 " ((return (expression vec4 dFdx (var_ref p)))))\n"
680 "))\n"
681 ""
682;
683static const char *builtin_dFdy =
684 "((function dFdy\n"
685 " (signature float\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700686 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700687 " (declare (in) float p))\n"
688 " ((return (expression float dFdy (var_ref p)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700689 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700690 " (signature vec2\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700691 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700692 " (declare (in) vec2 p))\n"
693 " ((return (expression vec2 dFdy (var_ref p)))))\n"
694 "\n"
695 " (signature vec3\n"
696 " (parameters\n"
697 " (declare (in) vec3 p))\n"
698 " ((return (expression vec3 dFdy (var_ref p)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700699 "\n"
700 " (signature vec4\n"
701 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700702 " (declare (in) vec4 p))\n"
703 " ((return (expression vec4 dFdy (var_ref p)))))\n"
704 "))\n"
705 ""
706;
707static const char *builtin_degrees =
708 "((function degrees\n"
709 " (signature float\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700710 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700711 " (declare (in) float arg0))\n"
712 " ((return (expression float * (var_ref arg0) (constant float (57.295780))))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700713 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700714 " (signature vec2\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700715 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700716 " (declare (in) vec2 arg0))\n"
717 " ((return (expression vec2 * (var_ref arg0) (constant float (57.295780))))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700718 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700719 " (signature vec3\n"
720 " (parameters\n"
721 " (declare (in) vec3 arg0))\n"
722 " ((return (expression vec3 * (var_ref arg0) (constant float (57.295780))))))\n"
723 "\n"
724 " (signature vec4\n"
725 " (parameters\n"
726 " (declare (in) vec4 arg0))\n"
727 " ((return (expression vec4 * (var_ref arg0) (constant float (57.295780))))))\n"
728 "))\n"
729 ""
730;
731static const char *builtin_distance =
732 "((function distance\n"
733 " (signature float\n"
734 " (parameters\n"
735 " (declare (in) float p0)\n"
736 " (declare (in) float p1))\n"
737 " ((declare () float p)\n"
738 " (assign (constant bool (1)) (var_ref p) (expression float - (var_ref p0) (var_ref p1)))\n"
739 " (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))\n"
740 "\n"
741 " (signature float\n"
742 " (parameters\n"
743 " (declare (in) vec2 p0)\n"
744 " (declare (in) vec2 p1))\n"
745 " ((declare () vec2 p)\n"
746 " (assign (constant bool (1)) (var_ref p) (expression vec2 - (var_ref p0) (var_ref p1)))\n"
747 " (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))\n"
748 "\n"
749 " (signature float\n"
750 " (parameters\n"
751 " (declare (in) vec3 p0)\n"
752 " (declare (in) vec3 p1))\n"
753 " ((declare () vec3 p)\n"
754 " (assign (constant bool (1)) (var_ref p) (expression vec3 - (var_ref p0) (var_ref p1)))\n"
755 " (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))\n"
756 "\n"
757 " (signature float\n"
758 " (parameters\n"
759 " (declare (in) vec4 p0)\n"
760 " (declare (in) vec4 p1))\n"
761 " ((declare () vec4 p)\n"
762 " (assign (constant bool (1)) (var_ref p) (expression vec4 - (var_ref p0) (var_ref p1)))\n"
763 " (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))\n"
764 "))\n"
765 ""
766;
767static const char *builtin_dot =
768 "((function dot\n"
769 " (signature float\n"
770 " (parameters\n"
771 " (declare (in) float arg0)\n"
772 " (declare (in) float arg1))\n"
773 " ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
774 "\n"
775 " (signature float\n"
776 " (parameters\n"
777 " (declare (in) vec2 arg0)\n"
778 " (declare (in) vec2 arg1))\n"
779 " ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
780 "\n"
781 " (signature float\n"
782 " (parameters\n"
783 " (declare (in) vec3 arg0)\n"
784 " (declare (in) vec3 arg1))\n"
785 " ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
786 "\n"
787 " (signature float\n"
788 " (parameters\n"
789 " (declare (in) vec4 arg0)\n"
790 " (declare (in) vec4 arg1))\n"
791 " ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
792 "))\n"
793 ""
794;
795static const char *builtin_equal =
796 "((function equal\n"
797 " (signature bvec2\n"
798 " (parameters\n"
799 " (declare (in) vec2 arg0)\n"
800 " (declare (in) vec2 arg1))\n"
801 " ((declare () bvec2 temp)\n"
802 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
803 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
804 " (return (var_ref temp))))\n"
805 "\n"
806 " (signature bvec3\n"
807 " (parameters\n"
808 " (declare (in) vec3 arg0)\n"
809 " (declare (in) vec3 arg1))\n"
810 " ((declare () bvec3 temp)\n"
811 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
812 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
813 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
814 " (return (var_ref temp))))\n"
815 "\n"
816 " (signature bvec4\n"
817 " (parameters\n"
818 " (declare (in) vec4 arg0)\n"
819 " (declare (in) vec4 arg1))\n"
820 " ((declare () bvec4 temp)\n"
821 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
822 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
823 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
824 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool == (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
825 " (return (var_ref temp))))\n"
826 "\n"
827 " (signature bvec2\n"
828 " (parameters\n"
829 " (declare (in) ivec2 arg0)\n"
830 " (declare (in) ivec2 arg1))\n"
831 " ((declare () bvec2 temp)\n"
832 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
833 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
834 " (return (var_ref temp))))\n"
835 "\n"
836 " (signature bvec3\n"
837 " (parameters\n"
838 " (declare (in) ivec3 arg0)\n"
839 " (declare (in) ivec3 arg1))\n"
840 " ((declare () bvec3 temp)\n"
841 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
842 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
843 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
844 " (return (var_ref temp))))\n"
845 "\n"
846 " (signature bvec4\n"
847 " (parameters\n"
848 " (declare (in) ivec4 arg0)\n"
849 " (declare (in) ivec4 arg1))\n"
850 " ((declare () bvec4 temp)\n"
851 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
852 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
853 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
854 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool == (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
855 " (return (var_ref temp))))\n"
856 "\n"
857 " (signature bvec2\n"
858 " (parameters\n"
859 " (declare (in) uvec2 arg0)\n"
860 " (declare (in) uvec2 arg1))\n"
861 " ((declare () bvec2 temp)\n"
862 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
863 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
864 " (return (var_ref temp))))\n"
865 "\n"
866 " (signature bvec3\n"
867 " (parameters\n"
868 " (declare (in) uvec3 arg0)\n"
869 " (declare (in) uvec3 arg1))\n"
870 " ((declare () bvec3 temp)\n"
871 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
872 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
873 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
874 " (return (var_ref temp))))\n"
875 "\n"
876 " (signature bvec4\n"
877 " (parameters\n"
878 " (declare (in) uvec4 arg0)\n"
879 " (declare (in) uvec4 arg1))\n"
880 " ((declare () bvec4 temp)\n"
881 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
882 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
883 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
884 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool == (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
885 " (return (var_ref temp))))\n"
886 "))\n"
887 ""
888;
889static const char *builtin_exp =
890 "((function exp\n"
891 " (signature float\n"
892 " (parameters\n"
893 " (declare (in) float arg0))\n"
894 " ((return (expression float exp (var_ref arg0)))))\n"
895 "\n"
896 " (signature vec2\n"
897 " (parameters\n"
898 " (declare (in) vec2 arg0))\n"
899 " ((return (expression vec2 exp (var_ref arg0)))))\n"
900 "\n"
901 " (signature vec3\n"
902 " (parameters\n"
903 " (declare (in) vec3 arg0))\n"
904 " ((return (expression vec3 exp (var_ref arg0)))))\n"
905 "\n"
906 " (signature vec4\n"
907 " (parameters\n"
908 " (declare (in) vec4 arg0))\n"
909 " ((return (expression vec4 exp (var_ref arg0)))))\n"
910 "))\n"
911 ""
912;
913static const char *builtin_exp2 =
914 "((function exp2\n"
915 " (signature float\n"
916 " (parameters\n"
917 " (declare (in) float arg0))\n"
918 " ((return (expression float exp2 (var_ref arg0)))))\n"
919 "\n"
920 " (signature vec2\n"
921 " (parameters\n"
922 " (declare (in) vec2 arg0))\n"
923 " ((return (expression vec2 exp2 (var_ref arg0)))))\n"
924 "\n"
925 " (signature vec3\n"
926 " (parameters\n"
927 " (declare (in) vec3 arg0))\n"
928 " ((return (expression vec3 exp2 (var_ref arg0)))))\n"
929 "\n"
930 " (signature vec4\n"
931 " (parameters\n"
932 " (declare (in) vec4 arg0))\n"
933 " ((return (expression vec4 exp2 (var_ref arg0)))))\n"
934 "))\n"
935 ""
936;
937static const char *builtin_faceforward =
938 "((function faceforward\n"
939 " (signature float\n"
940 " (parameters\n"
941 " (declare (in) float N)\n"
942 " (declare (in) float I)\n"
943 " (declare (in) float Nref))\n"
944 " ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n"
945 " ((return (var_ref N)))\n"
946 " ((return (expression float neg (var_ref N)))))))\n"
947 "\n"
948 " (signature vec2\n"
949 " (parameters\n"
950 " (declare (in) vec2 N)\n"
951 " (declare (in) vec2 I)\n"
952 " (declare (in) vec2 Nref))\n"
953 " ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n"
954 " ((return (var_ref N)))\n"
955 " ((return (expression vec2 neg (var_ref N)))))))\n"
956 "\n"
957 " (signature vec3\n"
958 " (parameters\n"
959 " (declare (in) vec3 N)\n"
960 " (declare (in) vec3 I)\n"
961 " (declare (in) vec3 Nref))\n"
962 " ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n"
963 " ((return (var_ref N)))\n"
964 " ((return (expression vec3 neg (var_ref N)))))))\n"
965 "\n"
966 " (signature vec4\n"
967 " (parameters\n"
968 " (declare (in) vec4 N)\n"
969 " (declare (in) vec4 I)\n"
970 " (declare (in) vec4 Nref))\n"
971 " ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n"
972 " ((return (var_ref N)))\n"
973 " ((return (expression vec4 neg (var_ref N)))))))\n"
974 "))\n"
975 ""
976;
977static const char *builtin_floor =
978 "((function floor\n"
979 " (signature float\n"
980 " (parameters\n"
981 " (declare (in) float arg0))\n"
982 " ((return (expression float floor (var_ref arg0)))))\n"
983 "\n"
984 " (signature vec2\n"
985 " (parameters\n"
986 " (declare (in) vec2 arg0))\n"
987 " ((return (expression vec2 floor (var_ref arg0)))))\n"
988 "\n"
989 " (signature vec3\n"
990 " (parameters\n"
991 " (declare (in) vec3 arg0))\n"
992 " ((return (expression vec3 floor (var_ref arg0)))))\n"
993 "\n"
994 " (signature vec4\n"
995 " (parameters\n"
996 " (declare (in) vec4 arg0))\n"
997 " ((return (expression vec4 floor (var_ref arg0)))))\n"
998 "))\n"
999 ""
1000;
1001static const char *builtin_fract =
1002 "((function fract\n"
1003 " (signature float\n"
1004 " (parameters\n"
1005 " (declare (in) float x))\n"
1006 " ((return (expression float fract (var_ref x)))))\n"
1007 "\n"
1008 " (signature vec2\n"
1009 " (parameters\n"
1010 " (declare (in) vec2 x))\n"
1011 " ((return (expression vec2 fract (var_ref x)))))\n"
1012 "\n"
1013 " (signature vec3\n"
1014 " (parameters\n"
1015 " (declare (in) vec3 x))\n"
1016 " ((return (expression vec3 fract (var_ref x)))))\n"
1017 "\n"
1018 " (signature vec4\n"
1019 " (parameters\n"
1020 " (declare (in) vec4 x))\n"
1021 " ((return (expression vec4 fract (var_ref x)))))\n"
1022 "))\n"
1023 "\n"
1024 ""
1025;
1026static const char *builtin_ftransform =
1027 "((declare (uniform) mat4 gl_ModelViewProjectionMatrix)\n"
1028 " (declare (in) vec4 gl_Vertex)\n"
1029 " (function ftransform\n"
1030 " (signature vec4\n"
1031 " (parameters)\n"
1032 " ((return (expression vec4 *\n"
1033 " (var_ref gl_ModelViewProjectionMatrix)\n"
1034 " (var_ref gl_Vertex)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07001035 "))\n"
1036 ""
1037;
1038static const char *builtin_fwidth =
1039 "((function fwidth\n"
1040 " (signature float\n"
1041 " (parameters\n"
1042 " (declare (in) float p))\n"
1043 " ((return (expression float +\n"
1044 " (expression float abs (expression float dFdx (var_ref p)))\n"
1045 " (expression float abs (expression float dFdy (var_ref p)))))))\n"
1046 "\n"
1047 " (signature vec2\n"
1048 " (parameters\n"
1049 " (declare (in) vec2 p))\n"
1050 " ((return (expression vec2 +\n"
1051 " (expression vec2 abs (expression vec2 dFdx (var_ref p)))\n"
1052 " (expression vec2 abs (expression vec2 dFdy (var_ref p)))))))\n"
1053 "\n"
1054 " (signature vec3\n"
1055 " (parameters\n"
1056 " (declare (in) vec3 p))\n"
1057 " ((return (expression vec3 +\n"
1058 " (expression vec3 abs (expression vec3 dFdx (var_ref p)))\n"
1059 " (expression vec3 abs (expression vec3 dFdy (var_ref p)))))))\n"
1060 "\n"
1061 " (signature vec4\n"
1062 " (parameters\n"
1063 " (declare (in) vec4 p))\n"
1064 " ((return (expression vec4 +\n"
1065 " (expression vec4 abs (expression vec4 dFdx (var_ref p)))\n"
1066 " (expression vec4 abs (expression vec4 dFdy (var_ref p)))))))\n"
1067 "))\n"
1068 ""
1069;
Eric Anholt47003a82010-08-23 12:39:35 -07001070static const char *builtin_greaterThan =
1071 "((function greaterThan\n"
1072 " (signature bvec2\n"
1073 " (parameters\n"
1074 " (declare (in) vec2 arg0)\n"
1075 " (declare (in) vec2 arg1))\n"
1076 " ((declare () bvec2 temp)\n"
1077 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1078 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1079 " (return (var_ref temp))))\n"
1080 "\n"
1081 " (signature bvec3\n"
1082 " (parameters\n"
1083 " (declare (in) vec3 arg0)\n"
1084 " (declare (in) vec3 arg1))\n"
1085 " ((declare () bvec3 temp)\n"
1086 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1087 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1088 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1089 " (return (var_ref temp))))\n"
1090 "\n"
1091 " (signature bvec4\n"
1092 " (parameters\n"
1093 " (declare (in) vec4 arg0)\n"
1094 " (declare (in) vec4 arg1))\n"
1095 " ((declare () bvec4 temp)\n"
1096 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1097 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1098 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1099 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool > (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1100 " (return (var_ref temp))))\n"
1101 "\n"
1102 " (signature bvec2\n"
1103 " (parameters\n"
1104 " (declare (in) ivec2 arg0)\n"
1105 " (declare (in) ivec2 arg1))\n"
1106 " ((declare () bvec2 temp)\n"
1107 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1108 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1109 " (return (var_ref temp))))\n"
1110 "\n"
1111 " (signature bvec3\n"
1112 " (parameters\n"
1113 " (declare (in) ivec3 arg0)\n"
1114 " (declare (in) ivec3 arg1))\n"
1115 " ((declare () bvec3 temp)\n"
1116 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1117 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1118 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1119 " (return (var_ref temp))))\n"
1120 "\n"
1121 " (signature bvec4\n"
1122 " (parameters\n"
1123 " (declare (in) ivec4 arg0)\n"
1124 " (declare (in) ivec4 arg1))\n"
1125 " ((declare () bvec4 temp)\n"
1126 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1127 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1128 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1129 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool > (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1130 " (return (var_ref temp))))\n"
1131 "\n"
1132 " (signature bvec2\n"
1133 " (parameters\n"
1134 " (declare (in) uvec2 arg0)\n"
1135 " (declare (in) uvec2 arg1))\n"
1136 " ((declare () bvec2 temp)\n"
1137 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1138 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1139 " (return (var_ref temp))))\n"
1140 "\n"
1141 " (signature bvec3\n"
1142 " (parameters\n"
1143 " (declare (in) uvec3 arg0)\n"
1144 " (declare (in) uvec3 arg1))\n"
1145 " ((declare () bvec3 temp)\n"
1146 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1147 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1148 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1149 " (return (var_ref temp))))\n"
1150 "\n"
1151 " (signature bvec4\n"
1152 " (parameters\n"
1153 " (declare (in) uvec4 arg0)\n"
1154 " (declare (in) uvec4 arg1))\n"
1155 " ((declare () bvec4 temp)\n"
1156 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1157 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1158 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1159 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool > (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1160 " (return (var_ref temp))))\n"
1161 "))\n"
1162 ""
1163;
1164static const char *builtin_greaterThanEqual =
1165 "((function greaterThanEqual\n"
1166 " (signature bvec2\n"
1167 " (parameters\n"
1168 " (declare (in) vec2 arg0)\n"
1169 " (declare (in) vec2 arg1))\n"
1170 " ((declare () bvec2 temp)\n"
1171 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1172 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1173 " (return (var_ref temp))))\n"
1174 "\n"
1175 " (signature bvec3\n"
1176 " (parameters\n"
1177 " (declare (in) vec3 arg0)\n"
1178 " (declare (in) vec3 arg1))\n"
1179 " ((declare () bvec3 temp)\n"
1180 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1181 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1182 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1183 " (return (var_ref temp))))\n"
1184 "\n"
1185 " (signature bvec4\n"
1186 " (parameters\n"
1187 " (declare (in) vec4 arg0)\n"
1188 " (declare (in) vec4 arg1))\n"
1189 " ((declare () bvec4 temp)\n"
1190 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1191 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1192 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1193 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool >= (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1194 " (return (var_ref temp))))\n"
1195 "\n"
1196 " (signature bvec2\n"
1197 " (parameters\n"
1198 " (declare (in) ivec2 arg0)\n"
1199 " (declare (in) ivec2 arg1))\n"
1200 " ((declare () bvec2 temp)\n"
1201 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1202 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1203 " (return (var_ref temp))))\n"
1204 "\n"
1205 " (signature bvec3\n"
1206 " (parameters\n"
1207 " (declare (in) ivec3 arg0)\n"
1208 " (declare (in) ivec3 arg1))\n"
1209 " ((declare () bvec3 temp)\n"
1210 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1211 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1212 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1213 " (return (var_ref temp))))\n"
1214 "\n"
1215 " (signature bvec4\n"
1216 " (parameters\n"
1217 " (declare (in) ivec4 arg0)\n"
1218 " (declare (in) ivec4 arg1))\n"
1219 " ((declare () bvec4 temp)\n"
1220 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1221 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1222 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1223 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool >= (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1224 " (return (var_ref temp))))\n"
1225 "\n"
1226 " (signature bvec2\n"
1227 " (parameters\n"
1228 " (declare (in) uvec2 arg0)\n"
1229 " (declare (in) uvec2 arg1))\n"
1230 " ((declare () bvec2 temp)\n"
1231 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1232 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1233 " (return (var_ref temp))))\n"
1234 "\n"
1235 " (signature bvec3\n"
1236 " (parameters\n"
1237 " (declare (in) uvec3 arg0)\n"
1238 " (declare (in) uvec3 arg1))\n"
1239 " ((declare () bvec3 temp)\n"
1240 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1241 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1242 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1243 " (return (var_ref temp))))\n"
1244 "\n"
1245 " (signature bvec4\n"
1246 " (parameters\n"
1247 " (declare (in) uvec4 arg0)\n"
1248 " (declare (in) uvec4 arg1))\n"
1249 " ((declare () bvec4 temp)\n"
1250 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1251 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1252 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1253 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool >= (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1254 " (return (var_ref temp))))\n"
1255 "))\n"
1256 ""
1257;
1258static const char *builtin_inversesqrt =
1259 "((function inversesqrt\n"
1260 " (signature float\n"
1261 " (parameters\n"
1262 " (declare (in) float arg0))\n"
1263 " ((return (expression float rsq (var_ref arg0)))))\n"
1264 "\n"
1265 " (signature vec2\n"
1266 " (parameters\n"
1267 " (declare (in) vec2 arg0))\n"
1268 " ((return (expression vec2 rsq (var_ref arg0)))))\n"
1269 "\n"
1270 " (signature vec3\n"
1271 " (parameters\n"
1272 " (declare (in) vec3 arg0))\n"
1273 " ((return (expression vec3 rsq (var_ref arg0)))))\n"
1274 "\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07001275 " (signature vec4\n"
1276 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001277 " (declare (in) vec4 arg0))\n"
1278 " ((return (expression vec4 rsq (var_ref arg0)))))\n"
1279 "))\n"
1280 ""
1281;
1282static const char *builtin_length =
1283 "((function length\n"
1284 " (signature float\n"
1285 " (parameters\n"
1286 " (declare (in) float arg0))\n"
1287 " ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
1288 "\n"
1289 " (signature float\n"
1290 " (parameters\n"
1291 " (declare (in) vec2 arg0))\n"
1292 " ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
1293 "\n"
1294 " (signature float\n"
1295 " (parameters\n"
1296 " (declare (in) vec3 arg0))\n"
1297 " ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
1298 "\n"
1299 " (signature float\n"
1300 " (parameters\n"
1301 " (declare (in) vec4 arg0))\n"
1302 " ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
1303 "))\n"
1304 ""
1305;
1306static const char *builtin_lessThan =
1307 "((function lessThan\n"
1308 " (signature bvec2\n"
1309 " (parameters\n"
1310 " (declare (in) vec2 arg0)\n"
1311 " (declare (in) vec2 arg1))\n"
1312 " ((declare () bvec2 temp)\n"
1313 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1314 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1315 " (return (var_ref temp))))\n"
1316 "\n"
1317 " (signature bvec3\n"
1318 " (parameters\n"
1319 " (declare (in) vec3 arg0)\n"
1320 " (declare (in) vec3 arg1))\n"
1321 " ((declare () bvec3 temp)\n"
1322 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1323 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1324 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1325 " (return (var_ref temp))))\n"
1326 "\n"
1327 " (signature bvec4\n"
1328 " (parameters\n"
1329 " (declare (in) vec4 arg0)\n"
1330 " (declare (in) vec4 arg1))\n"
1331 " ((declare () bvec4 temp)\n"
1332 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1333 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1334 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1335 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool < (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1336 " (return (var_ref temp))))\n"
1337 "\n"
1338 " (signature bvec2\n"
1339 " (parameters\n"
1340 " (declare (in) ivec2 arg0)\n"
1341 " (declare (in) ivec2 arg1))\n"
1342 " ((declare () bvec2 temp)\n"
1343 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1344 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1345 " (return (var_ref temp))))\n"
1346 "\n"
1347 " (signature bvec3\n"
1348 " (parameters\n"
1349 " (declare (in) ivec3 arg0)\n"
1350 " (declare (in) ivec3 arg1))\n"
1351 " ((declare () bvec3 temp)\n"
1352 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1353 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1354 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1355 " (return (var_ref temp))))\n"
1356 "\n"
1357 " (signature bvec4\n"
1358 " (parameters\n"
1359 " (declare (in) ivec4 arg0)\n"
1360 " (declare (in) ivec4 arg1))\n"
1361 " ((declare () bvec4 temp)\n"
1362 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1363 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1364 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1365 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool < (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1366 " (return (var_ref temp))))\n"
1367 "\n"
1368 " (signature bvec2\n"
1369 " (parameters\n"
1370 " (declare (in) uvec2 arg0)\n"
1371 " (declare (in) uvec2 arg1))\n"
1372 " ((declare () bvec2 temp)\n"
1373 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1374 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1375 " (return (var_ref temp))))\n"
1376 "\n"
1377 " (signature bvec3\n"
1378 " (parameters\n"
1379 " (declare (in) uvec3 arg0)\n"
1380 " (declare (in) uvec3 arg1))\n"
1381 " ((declare () bvec3 temp)\n"
1382 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1383 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1384 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1385 " (return (var_ref temp))))\n"
1386 "\n"
1387 " (signature bvec4\n"
1388 " (parameters\n"
1389 " (declare (in) uvec4 arg0)\n"
1390 " (declare (in) uvec4 arg1))\n"
1391 " ((declare () bvec4 temp)\n"
1392 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1393 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1394 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1395 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool < (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1396 " (return (var_ref temp))))\n"
1397 "))\n"
1398 ""
1399;
1400static const char *builtin_lessThanEqual =
1401 "((function lessThanEqual\n"
1402 " (signature bvec2\n"
1403 " (parameters\n"
1404 " (declare (in) vec2 arg0)\n"
1405 " (declare (in) vec2 arg1))\n"
1406 " ((declare () bvec2 temp)\n"
1407 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1408 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1409 " (return (var_ref temp))))\n"
1410 "\n"
1411 " (signature bvec3\n"
1412 " (parameters\n"
1413 " (declare (in) vec3 arg0)\n"
1414 " (declare (in) vec3 arg1))\n"
1415 " ((declare () bvec3 temp)\n"
1416 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1417 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1418 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1419 " (return (var_ref temp))))\n"
1420 "\n"
1421 " (signature bvec4\n"
1422 " (parameters\n"
1423 " (declare (in) vec4 arg0)\n"
1424 " (declare (in) vec4 arg1))\n"
1425 " ((declare () bvec4 temp)\n"
1426 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1427 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1428 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1429 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool <= (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1430 " (return (var_ref temp))))\n"
1431 "\n"
1432 " (signature bvec2\n"
1433 " (parameters\n"
1434 " (declare (in) ivec2 arg0)\n"
1435 " (declare (in) ivec2 arg1))\n"
1436 " ((declare () bvec2 temp)\n"
1437 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1438 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1439 " (return (var_ref temp))))\n"
1440 "\n"
1441 " (signature bvec3\n"
1442 " (parameters\n"
1443 " (declare (in) ivec3 arg0)\n"
1444 " (declare (in) ivec3 arg1))\n"
1445 " ((declare () bvec3 temp)\n"
1446 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1447 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1448 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1449 " (return (var_ref temp))))\n"
1450 "\n"
1451 " (signature bvec4\n"
1452 " (parameters\n"
1453 " (declare (in) ivec4 arg0)\n"
1454 " (declare (in) ivec4 arg1))\n"
1455 " ((declare () bvec4 temp)\n"
1456 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1457 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1458 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1459 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool <= (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1460 " (return (var_ref temp))))\n"
1461 "\n"
1462 " (signature bvec2\n"
1463 " (parameters\n"
1464 " (declare (in) uvec2 arg0)\n"
1465 " (declare (in) uvec2 arg1))\n"
1466 " ((declare () bvec2 temp)\n"
1467 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1468 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1469 " (return (var_ref temp))))\n"
1470 "\n"
1471 " (signature bvec3\n"
1472 " (parameters\n"
1473 " (declare (in) uvec3 arg0)\n"
1474 " (declare (in) uvec3 arg1))\n"
1475 " ((declare () bvec3 temp)\n"
1476 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1477 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1478 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1479 " (return (var_ref temp))))\n"
1480 "\n"
1481 " (signature bvec4\n"
1482 " (parameters\n"
1483 " (declare (in) uvec4 arg0)\n"
1484 " (declare (in) uvec4 arg1))\n"
1485 " ((declare () bvec4 temp)\n"
1486 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1487 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1488 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1489 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool <= (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1490 " (return (var_ref temp))))\n"
1491 "))\n"
1492 ""
1493;
1494static const char *builtin_log =
1495 "((function log\n"
1496 " (signature float\n"
1497 " (parameters\n"
1498 " (declare (in) float arg0))\n"
1499 " ((return (expression float log (var_ref arg0)))))\n"
1500 "\n"
1501 " (signature vec2\n"
1502 " (parameters\n"
1503 " (declare (in) vec2 arg0))\n"
1504 " ((return (expression vec2 log (var_ref arg0)))))\n"
1505 "\n"
1506 " (signature vec3\n"
1507 " (parameters\n"
1508 " (declare (in) vec3 arg0))\n"
1509 " ((return (expression vec3 log (var_ref arg0)))))\n"
1510 "\n"
1511 " (signature vec4\n"
1512 " (parameters\n"
1513 " (declare (in) vec4 arg0))\n"
1514 " ((return (expression vec4 log (var_ref arg0)))))\n"
1515 "))\n"
1516 ""
1517;
1518static const char *builtin_log2 =
1519 "((function log2\n"
1520 " (signature float\n"
1521 " (parameters\n"
1522 " (declare (in) float arg0))\n"
1523 " ((return (expression float log2 (var_ref arg0)))))\n"
1524 "\n"
1525 " (signature vec2\n"
1526 " (parameters\n"
1527 " (declare (in) vec2 arg0))\n"
1528 " ((return (expression vec2 log2 (var_ref arg0)))))\n"
1529 "\n"
1530 " (signature vec3\n"
1531 " (parameters\n"
1532 " (declare (in) vec3 arg0))\n"
1533 " ((return (expression vec3 log2 (var_ref arg0)))))\n"
1534 "\n"
1535 " (signature vec4\n"
1536 " (parameters\n"
1537 " (declare (in) vec4 arg0))\n"
1538 " ((return (expression vec4 log2 (var_ref arg0)))))\n"
1539 "))\n"
1540 ""
1541;
1542static const char *builtin_matrixCompMult =
1543 "((function matrixCompMult\n"
1544 " (signature mat2\n"
1545 " (parameters\n"
1546 " (declare (in) mat2 x)\n"
1547 " (declare (in) mat2 y))\n"
1548 " ((declare () mat2 z)\n"
1549 " (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"
1550 " (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"
1551 "(return (var_ref z))))\n"
1552 "\n"
1553 " (signature mat3\n"
1554 " (parameters\n"
1555 " (declare (in) mat3 x)\n"
1556 " (declare (in) mat3 y))\n"
1557 " ((declare () mat3 z)\n"
1558 " (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"
1559 " (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"
1560 " (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"
1561 "(return (var_ref z))))\n"
1562 "\n"
1563 " (signature mat4\n"
1564 " (parameters\n"
1565 " (declare (in) mat4 x)\n"
1566 " (declare (in) mat4 y))\n"
1567 " ((declare () mat4 z)\n"
1568 " (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"
1569 " (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"
1570 " (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"
1571 " (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"
1572 "(return (var_ref z))))\n"
1573 "\n"
1574 " (signature mat2x3\n"
1575 " (parameters\n"
1576 " (declare (in) mat2x3 x)\n"
1577 " (declare (in) mat2x3 y))\n"
1578 " ((declare () mat2x3 z)\n"
1579 " (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"
1580 " (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"
1581 "(return (var_ref z))))\n"
1582 "\n"
1583 " (signature mat3x2\n"
1584 " (parameters\n"
1585 " (declare (in) mat3x2 x)\n"
1586 " (declare (in) mat3x2 y))\n"
1587 " ((declare () mat3x2 z)\n"
1588 " (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"
1589 " (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"
1590 " (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"
1591 "(return (var_ref z))))\n"
1592 "\n"
1593 " (signature mat2x4\n"
1594 " (parameters\n"
1595 " (declare (in) mat2x4 x)\n"
1596 " (declare (in) mat2x4 y))\n"
1597 " ((declare () mat2x4 z)\n"
1598 " (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"
1599 " (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"
1600 "(return (var_ref z))))\n"
1601 "\n"
1602 " (signature mat4x2\n"
1603 " (parameters\n"
1604 " (declare (in) mat4x2 x)\n"
1605 " (declare (in) mat4x2 y))\n"
1606 " ((declare () mat4x2 z)\n"
1607 " (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"
1608 " (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"
1609 " (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"
1610 " (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"
1611 "(return (var_ref z))))\n"
1612 "\n"
1613 " (signature mat3x4\n"
1614 " (parameters\n"
1615 " (declare (in) mat3x4 x)\n"
1616 " (declare (in) mat3x4 y))\n"
1617 " ((declare () mat3x4 z)\n"
1618 " (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"
1619 " (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"
1620 " (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"
1621 "(return (var_ref z))))\n"
1622 "\n"
1623 " (signature mat4x3\n"
1624 " (parameters\n"
1625 " (declare (in) mat4x3 x)\n"
1626 " (declare (in) mat4x3 y))\n"
1627 " ((declare () mat4x3 z)\n"
1628 " (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"
1629 " (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"
1630 " (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"
1631 " (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"
1632 "(return (var_ref z))))\n"
1633 "))\n"
1634 ""
1635;
1636static const char *builtin_max =
1637 "((function max\n"
1638 " (signature float\n"
1639 " (parameters\n"
1640 " (declare (in) float arg0)\n"
1641 " (declare (in) float arg1))\n"
1642 " ((return (expression float max (var_ref arg0) (var_ref arg1)))))\n"
1643 "\n"
1644 " (signature vec2\n"
1645 " (parameters\n"
1646 " (declare (in) vec2 arg0)\n"
1647 " (declare (in) vec2 arg1))\n"
1648 " ((return (expression vec2 max (var_ref arg0) (var_ref arg1)))))\n"
1649 "\n"
1650 " (signature vec3\n"
1651 " (parameters\n"
1652 " (declare (in) vec3 arg0)\n"
1653 " (declare (in) vec3 arg1))\n"
1654 " ((return (expression vec3 max (var_ref arg0) (var_ref arg1)))))\n"
1655 "\n"
1656 " (signature vec4\n"
1657 " (parameters\n"
1658 " (declare (in) vec4 arg0)\n"
1659 " (declare (in) vec4 arg1))\n"
1660 " ((return (expression vec4 max (var_ref arg0) (var_ref arg1)))))\n"
1661 "\n"
1662 " (signature vec2\n"
1663 " (parameters\n"
1664 " (declare (in) vec2 arg0)\n"
1665 " (declare (in) float arg1))\n"
1666 " ((return (expression vec2 max (var_ref arg0) (var_ref arg1)))))\n"
1667 "\n"
1668 " (signature vec3\n"
1669 " (parameters\n"
1670 " (declare (in) vec3 arg0)\n"
1671 " (declare (in) float arg1))\n"
1672 " ((return (expression vec3 max (var_ref arg0) (var_ref arg1)))))\n"
1673 "\n"
1674 " (signature vec4\n"
1675 " (parameters\n"
1676 " (declare (in) vec4 arg0)\n"
1677 " (declare (in) float arg1))\n"
1678 " ((return (expression vec4 max (var_ref arg0) (var_ref arg1)))))\n"
1679 "\n"
1680 " (signature int\n"
1681 " (parameters\n"
1682 " (declare (in) int arg0)\n"
1683 " (declare (in) int arg1))\n"
1684 " ((return (expression int max (var_ref arg0) (var_ref arg1)))))\n"
1685 "\n"
1686 " (signature ivec2\n"
1687 " (parameters\n"
1688 " (declare (in) ivec2 arg0)\n"
1689 " (declare (in) ivec2 arg1))\n"
1690 " ((return (expression ivec2 max (var_ref arg0) (var_ref arg1)))))\n"
1691 "\n"
1692 " (signature ivec3\n"
1693 " (parameters\n"
1694 " (declare (in) ivec3 arg0)\n"
1695 " (declare (in) ivec3 arg1))\n"
1696 " ((return (expression ivec3 max (var_ref arg0) (var_ref arg1)))))\n"
1697 "\n"
1698 " (signature ivec4\n"
1699 " (parameters\n"
1700 " (declare (in) ivec4 arg0)\n"
1701 " (declare (in) ivec4 arg1))\n"
1702 " ((return (expression ivec4 max (var_ref arg0) (var_ref arg1)))))\n"
1703 "\n"
1704 " (signature ivec2\n"
1705 " (parameters\n"
1706 " (declare (in) ivec2 arg0)\n"
1707 " (declare (in) int arg1))\n"
1708 " ((return (expression ivec2 max (var_ref arg0) (var_ref arg1)))))\n"
1709 "\n"
1710 " (signature ivec3\n"
1711 " (parameters\n"
1712 " (declare (in) ivec3 arg0)\n"
1713 " (declare (in) int arg1))\n"
1714 " ((return (expression ivec3 max (var_ref arg0) (var_ref arg1)))))\n"
1715 "\n"
1716 " (signature ivec4\n"
1717 " (parameters\n"
1718 " (declare (in) ivec4 arg0)\n"
1719 " (declare (in) int arg1))\n"
1720 " ((return (expression ivec4 max (var_ref arg0) (var_ref arg1)))))\n"
1721 "\n"
1722 " (signature uint\n"
1723 " (parameters\n"
1724 " (declare (in) uint arg0)\n"
1725 " (declare (in) uint arg1))\n"
1726 " ((return (expression uint max (var_ref arg0) (var_ref arg1)))))\n"
1727 "\n"
1728 " (signature uvec2\n"
1729 " (parameters\n"
1730 " (declare (in) uvec2 arg0)\n"
1731 " (declare (in) uvec2 arg1))\n"
1732 " ((return (expression uvec2 max (var_ref arg0) (var_ref arg1)))))\n"
1733 "\n"
1734 " (signature uvec3\n"
1735 " (parameters\n"
1736 " (declare (in) uvec3 arg0)\n"
1737 " (declare (in) uvec3 arg1))\n"
1738 " ((return (expression uvec3 max (var_ref arg0) (var_ref arg1)))))\n"
1739 "\n"
1740 " (signature uvec4\n"
1741 " (parameters\n"
1742 " (declare (in) uvec4 arg0)\n"
1743 " (declare (in) uvec4 arg1))\n"
1744 " ((return (expression uvec4 max (var_ref arg0) (var_ref arg1)))))\n"
1745 "\n"
1746 " (signature uvec2\n"
1747 " (parameters\n"
1748 " (declare (in) uvec2 arg0)\n"
1749 " (declare (in) uint arg1))\n"
1750 " ((return (expression uvec2 max (var_ref arg0) (var_ref arg1)))))\n"
1751 "\n"
1752 " (signature uvec3\n"
1753 " (parameters\n"
1754 " (declare (in) uvec3 arg0)\n"
1755 " (declare (in) uint arg1))\n"
1756 " ((return (expression uvec3 max (var_ref arg0) (var_ref arg1)))))\n"
1757 "\n"
1758 " (signature uvec4\n"
1759 " (parameters\n"
1760 " (declare (in) uvec4 arg0)\n"
1761 " (declare (in) uint arg1))\n"
1762 " ((return (expression uvec4 max (var_ref arg0) (var_ref arg1)))))\n"
1763 "))\n"
1764 ""
1765;
1766static const char *builtin_min =
1767 "((function min\n"
1768 " (signature float\n"
1769 " (parameters\n"
1770 " (declare (in) float arg0)\n"
1771 " (declare (in) float arg1))\n"
1772 " ((return (expression float min (var_ref arg0) (var_ref arg1)))))\n"
1773 "\n"
1774 " (signature vec2\n"
1775 " (parameters\n"
1776 " (declare (in) vec2 arg0)\n"
1777 " (declare (in) vec2 arg1))\n"
1778 " ((return (expression vec2 min (var_ref arg0) (var_ref arg1)))))\n"
1779 "\n"
1780 " (signature vec3\n"
1781 " (parameters\n"
1782 " (declare (in) vec3 arg0)\n"
1783 " (declare (in) vec3 arg1))\n"
1784 " ((return (expression vec3 min (var_ref arg0) (var_ref arg1)))))\n"
1785 "\n"
1786 " (signature vec4\n"
1787 " (parameters\n"
1788 " (declare (in) vec4 arg0)\n"
1789 " (declare (in) vec4 arg1))\n"
1790 " ((return (expression vec4 min (var_ref arg0) (var_ref arg1)))))\n"
1791 "\n"
1792 " (signature vec2\n"
1793 " (parameters\n"
1794 " (declare (in) vec2 arg0)\n"
1795 " (declare (in) float arg1))\n"
1796 " ((return (expression vec2 min (var_ref arg0) (var_ref arg1)))))\n"
1797 "\n"
1798 " (signature vec3\n"
1799 " (parameters\n"
1800 " (declare (in) vec3 arg0)\n"
1801 " (declare (in) float arg1))\n"
1802 " ((return (expression vec3 min (var_ref arg0) (var_ref arg1)))))\n"
1803 "\n"
1804 " (signature vec4\n"
1805 " (parameters\n"
1806 " (declare (in) vec4 arg0)\n"
1807 " (declare (in) float arg1))\n"
1808 " ((return (expression vec4 min (var_ref arg0) (var_ref arg1)))))\n"
1809 "\n"
1810 " (signature int\n"
1811 " (parameters\n"
1812 " (declare (in) int arg0)\n"
1813 " (declare (in) int arg1))\n"
1814 " ((return (expression int min (var_ref arg0) (var_ref arg1)))))\n"
1815 "\n"
1816 " (signature ivec2\n"
1817 " (parameters\n"
1818 " (declare (in) ivec2 arg0)\n"
1819 " (declare (in) ivec2 arg1))\n"
1820 " ((return (expression ivec2 min (var_ref arg0) (var_ref arg1)))))\n"
1821 "\n"
1822 " (signature ivec3\n"
1823 " (parameters\n"
1824 " (declare (in) ivec3 arg0)\n"
1825 " (declare (in) ivec3 arg1))\n"
1826 " ((return (expression ivec3 min (var_ref arg0) (var_ref arg1)))))\n"
1827 "\n"
1828 " (signature ivec4\n"
1829 " (parameters\n"
1830 " (declare (in) ivec4 arg0)\n"
1831 " (declare (in) ivec4 arg1))\n"
1832 " ((return (expression ivec4 min (var_ref arg0) (var_ref arg1)))))\n"
1833 "\n"
1834 " (signature ivec2\n"
1835 " (parameters\n"
1836 " (declare (in) ivec2 arg0)\n"
1837 " (declare (in) int arg1))\n"
1838 " ((return (expression ivec2 min (var_ref arg0) (var_ref arg1)))))\n"
1839 "\n"
1840 " (signature ivec3\n"
1841 " (parameters\n"
1842 " (declare (in) ivec3 arg0)\n"
1843 " (declare (in) int arg1))\n"
1844 " ((return (expression ivec3 min (var_ref arg0) (var_ref arg1)))))\n"
1845 "\n"
1846 " (signature ivec4\n"
1847 " (parameters\n"
1848 " (declare (in) ivec4 arg0)\n"
1849 " (declare (in) int arg1))\n"
1850 " ((return (expression ivec4 min (var_ref arg0) (var_ref arg1)))))\n"
1851 "\n"
1852 " (signature uint\n"
1853 " (parameters\n"
1854 " (declare (in) uint arg0)\n"
1855 " (declare (in) uint arg1))\n"
1856 " ((return (expression uint min (var_ref arg0) (var_ref arg1)))))\n"
1857 "\n"
1858 " (signature uvec2\n"
1859 " (parameters\n"
1860 " (declare (in) uvec2 arg0)\n"
1861 " (declare (in) uvec2 arg1))\n"
1862 " ((return (expression uvec2 min (var_ref arg0) (var_ref arg1)))))\n"
1863 "\n"
1864 " (signature uvec3\n"
1865 " (parameters\n"
1866 " (declare (in) uvec3 arg0)\n"
1867 " (declare (in) uvec3 arg1))\n"
1868 " ((return (expression uvec3 min (var_ref arg0) (var_ref arg1)))))\n"
1869 "\n"
1870 " (signature uvec4\n"
1871 " (parameters\n"
1872 " (declare (in) uvec4 arg0)\n"
1873 " (declare (in) uvec4 arg1))\n"
1874 " ((return (expression uvec4 min (var_ref arg0) (var_ref arg1)))))\n"
1875 "\n"
1876 " (signature uvec2\n"
1877 " (parameters\n"
1878 " (declare (in) uvec2 arg0)\n"
1879 " (declare (in) uint arg1))\n"
1880 " ((return (expression uvec2 min (var_ref arg0) (var_ref arg1)))))\n"
1881 "\n"
1882 " (signature uvec3\n"
1883 " (parameters\n"
1884 " (declare (in) uvec3 arg0)\n"
1885 " (declare (in) uint arg1))\n"
1886 " ((return (expression uvec3 min (var_ref arg0) (var_ref arg1)))))\n"
1887 "\n"
1888 " (signature uvec4\n"
1889 " (parameters\n"
1890 " (declare (in) uvec4 arg0)\n"
1891 " (declare (in) uint arg1))\n"
1892 " ((return (expression uvec4 min (var_ref arg0) (var_ref arg1)))))\n"
1893 "))\n"
1894 ""
1895;
1896static const char *builtin_mix =
1897 "((function mix\n"
1898 " (signature float\n"
1899 " (parameters\n"
1900 " (declare (in) float arg0)\n"
1901 " (declare (in) float arg1)\n"
1902 " (declare (in) float arg2))\n"
1903 " ((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"
1904 "\n"
1905 " (signature vec2\n"
1906 " (parameters\n"
1907 " (declare (in) vec2 arg0)\n"
1908 " (declare (in) vec2 arg1)\n"
1909 " (declare (in) vec2 arg2))\n"
1910 " ((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"
1911 "\n"
1912 " (signature vec3\n"
1913 " (parameters\n"
1914 " (declare (in) vec3 arg0)\n"
1915 " (declare (in) vec3 arg1)\n"
1916 " (declare (in) vec3 arg2))\n"
1917 " ((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"
1918 "\n"
1919 " (signature vec4\n"
1920 " (parameters\n"
1921 " (declare (in) vec4 arg0)\n"
1922 " (declare (in) vec4 arg1)\n"
1923 " (declare (in) vec4 arg2))\n"
1924 " ((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"
1925 "\n"
1926 " (signature vec2\n"
1927 " (parameters\n"
1928 " (declare (in) vec2 arg0)\n"
1929 " (declare (in) vec2 arg1)\n"
1930 " (declare (in) float arg2))\n"
1931 " ((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"
1932 "\n"
1933 " (signature vec3\n"
1934 " (parameters\n"
1935 " (declare (in) vec3 arg0)\n"
1936 " (declare (in) vec3 arg1)\n"
1937 " (declare (in) float arg2))\n"
1938 " ((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"
1939 "\n"
1940 " (signature vec4\n"
1941 " (parameters\n"
1942 " (declare (in) vec4 arg0)\n"
1943 " (declare (in) vec4 arg1)\n"
1944 " (declare (in) float arg2))\n"
1945 " ((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"
1946 "\n"
1947 " (signature float\n"
1948 " (parameters\n"
1949 " (declare (in) float v1)\n"
1950 " (declare (in) float v2)\n"
1951 " (declare (in) bool a))\n"
1952 " ((assign (var_ref a) (var_ref v1) (var_ref v2))\n"
1953 " (return (var_ref v1))))\n"
1954 "\n"
1955 " (signature vec2\n"
1956 " (parameters\n"
1957 " (declare (in) vec2 v1)\n"
1958 " (declare (in) vec2 v2)\n"
1959 " (declare (in) bvec2 a))\n"
1960 " ((assign (swiz x (var_ref a)) (swiz x (var_ref v1)) (swiz x (var_ref v2)))\n"
1961 " (assign (swiz y (var_ref a)) (swiz y (var_ref v1)) (swiz y (var_ref v2)))\n"
1962 " (return (var_ref v1))))\n"
1963 "\n"
1964 " (signature vec3\n"
1965 " (parameters\n"
1966 " (declare (in) vec3 v1)\n"
1967 " (declare (in) vec3 v2)\n"
1968 " (declare (in) bvec3 a))\n"
1969 " ((assign (swiz x (var_ref a)) (swiz x (var_ref v1)) (swiz x (var_ref v2)))\n"
1970 " (assign (swiz y (var_ref a)) (swiz y (var_ref v1)) (swiz y (var_ref v2)))\n"
1971 " (assign (swiz z (var_ref a)) (swiz z (var_ref v1)) (swiz z (var_ref v2)))\n"
1972 " (return (var_ref v1))))\n"
1973 "\n"
1974 " (signature vec4\n"
1975 " (parameters\n"
1976 " (declare (in) vec4 v1)\n"
1977 " (declare (in) vec4 v2)\n"
1978 " (declare (in) bvec4 a))\n"
1979 " ((assign (swiz x (var_ref a)) (swiz x (var_ref v1)) (swiz x (var_ref v2)))\n"
1980 " (assign (swiz y (var_ref a)) (swiz y (var_ref v1)) (swiz y (var_ref v2)))\n"
1981 " (assign (swiz z (var_ref a)) (swiz z (var_ref v1)) (swiz z (var_ref v2)))\n"
1982 " (assign (swiz w (var_ref a)) (swiz w (var_ref v1)) (swiz w (var_ref v2)))\n"
1983 " (return (var_ref v1))))\n"
1984 "))\n"
1985 ""
1986;
1987static const char *builtin_mod =
1988 "((function mod\n"
1989 " (signature float\n"
1990 " (parameters\n"
1991 " (declare (in) float arg0)\n"
1992 " (declare (in) float arg1))\n"
1993 " ((return (expression float % (var_ref arg0) (var_ref arg1)))))\n"
1994 "\n"
1995 " (signature vec2\n"
1996 " (parameters\n"
1997 " (declare (in) vec2 arg0)\n"
1998 " (declare (in) vec2 arg1))\n"
1999 " ((return (expression vec2 % (var_ref arg0) (var_ref arg1)))))\n"
2000 "\n"
2001 " (signature vec3\n"
2002 " (parameters\n"
2003 " (declare (in) vec3 arg0)\n"
2004 " (declare (in) vec3 arg1))\n"
2005 " ((return (expression vec3 % (var_ref arg0) (var_ref arg1)))))\n"
2006 "\n"
2007 " (signature vec4\n"
2008 " (parameters\n"
2009 " (declare (in) vec4 arg0)\n"
2010 " (declare (in) vec4 arg1))\n"
2011 " ((return (expression vec4 % (var_ref arg0) (var_ref arg1)))))\n"
2012 "\n"
2013 " (signature vec2\n"
2014 " (parameters\n"
2015 " (declare (in) vec2 arg0)\n"
2016 " (declare (in) float arg1))\n"
2017 " ((return (expression vec2 % (var_ref arg0) (var_ref arg1)))))\n"
2018 "\n"
2019 " (signature vec3\n"
2020 " (parameters\n"
2021 " (declare (in) vec3 arg0)\n"
2022 " (declare (in) float arg1))\n"
2023 " ((return (expression vec3 % (var_ref arg0) (var_ref arg1)))))\n"
2024 "\n"
2025 " (signature vec4\n"
2026 " (parameters\n"
2027 " (declare (in) vec4 arg0)\n"
2028 " (declare (in) float arg1))\n"
2029 " ((return (expression vec4 % (var_ref arg0) (var_ref arg1)))))\n"
2030 "))\n"
2031 ""
2032;
2033static const char *builtin_noise1 =
2034 "((function noise1\n"
2035 " (signature float\n"
2036 " (parameters\n"
2037 " (declare (in) float x))\n"
2038 " ((return (constant float (0)))))\n"
2039 " (signature float\n"
2040 " (parameters\n"
2041 " (declare (in) vec2 x))\n"
2042 " ((return (constant float (0)))))\n"
2043 " (signature float\n"
2044 " (parameters\n"
2045 " (declare (in) vec3 x))\n"
2046 " ((return (constant float (0)))))\n"
2047 " (signature float\n"
2048 " (parameters\n"
2049 " (declare (in) vec4 x))\n"
2050 " ((return (constant float (0)))))\n"
2051 "))\n"
2052 ""
2053;
2054static const char *builtin_noise2 =
2055 "((function noise2\n"
2056 " (signature vec2\n"
2057 " (parameters\n"
2058 " (declare (in) float x))\n"
2059 " ((return (constant vec2 (0 0)))))\n"
2060 " (signature vec2\n"
2061 " (parameters\n"
2062 " (declare (in) vec2 x))\n"
2063 " ((return (constant vec2 (0 0)))))\n"
2064 " (signature vec2\n"
2065 " (parameters\n"
2066 " (declare (in) vec3 x))\n"
2067 " ((return (constant vec2 (0 0)))))\n"
2068 " (signature vec2\n"
2069 " (parameters\n"
2070 " (declare (in) vec4 x))\n"
2071 " ((return (constant vec2 (0 0)))))\n"
2072 "))\n"
2073 ""
2074;
2075static const char *builtin_noise3 =
2076 "((function noise3\n"
2077 " (signature vec3\n"
2078 " (parameters\n"
2079 " (declare (in) float x))\n"
2080 " ((return (constant vec3 (0 0 0)))))\n"
2081 " (signature vec3\n"
2082 " (parameters\n"
2083 " (declare (in) vec2 x))\n"
2084 " ((return (constant vec3 (0 0 0)))))\n"
2085 " (signature vec3\n"
2086 " (parameters\n"
2087 " (declare (in) vec3 x))\n"
2088 " ((return (constant vec3 (0 0 0)))))\n"
2089 " (signature vec3\n"
2090 " (parameters\n"
2091 " (declare (in) vec4 x))\n"
2092 " ((return (constant vec3 (0 0 0)))))\n"
2093 "))\n"
2094 ""
2095;
2096static const char *builtin_noise4 =
2097 "((function noise4\n"
2098 " (signature vec4\n"
2099 " (parameters\n"
2100 " (declare (in) float x))\n"
2101 " ((return (constant vec4 (0 0 0 0)))))\n"
2102 " (signature vec4\n"
2103 " (parameters\n"
2104 " (declare (in) vec2 x))\n"
2105 " ((return (constant vec4 (0 0 0 0)))))\n"
2106 " (signature vec4\n"
2107 " (parameters\n"
2108 " (declare (in) vec3 x))\n"
2109 " ((return (constant vec4 (0 0 0 0)))))\n"
2110 " (signature vec4\n"
2111 " (parameters\n"
2112 " (declare (in) vec4 x))\n"
2113 " ((return (constant vec4 (0 0 0 0)))))\n"
2114 "))\n"
2115 ""
2116;
2117static const char *builtin_normalize =
2118 "((function normalize\n"
2119 " (signature float\n"
2120 " (parameters\n"
2121 " (declare (in) float arg0))\n"
2122 " ((return (expression float * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
2123 "\n"
2124 " (signature vec2\n"
2125 " (parameters\n"
2126 " (declare (in) vec2 arg0))\n"
2127 " ((return (expression vec2 * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
2128 "\n"
2129 " (signature vec3\n"
2130 " (parameters\n"
2131 " (declare (in) vec3 arg0))\n"
2132 " ((return (expression vec3 * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
2133 "\n"
2134 " (signature vec4\n"
2135 " (parameters\n"
2136 " (declare (in) vec4 arg0))\n"
2137 " ((return (expression vec4 * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
2138 "))\n"
2139 ""
2140;
2141static const char *builtin_not =
2142 "((function not\n"
2143 " (signature bvec2\n"
2144 " (parameters\n"
2145 " (declare (in) bvec2 arg0))\n"
2146 " ((return (expression bvec2 ! (var_ref arg0)))))\n"
2147 "\n"
2148 " (signature bvec3\n"
2149 " (parameters\n"
2150 " (declare (in) bvec3 arg0))\n"
2151 " ((return (expression bvec3 ! (var_ref arg0)))))\n"
2152 "\n"
2153 " (signature bvec4\n"
2154 " (parameters\n"
2155 " (declare (in) bvec4 arg0))\n"
2156 " ((return (expression bvec4 ! (var_ref arg0)))))\n"
2157 "))\n"
2158 ""
2159;
2160static const char *builtin_notEqual =
2161 "((function notEqual\n"
2162 " (signature bvec2\n"
2163 " (parameters\n"
2164 " (declare (in) vec2 arg0)\n"
2165 " (declare (in) vec2 arg1))\n"
2166 " ((declare () bvec2 temp)\n"
2167 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
2168 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
2169 " (return (var_ref temp))))\n"
2170 "\n"
2171 " (signature bvec3\n"
2172 " (parameters\n"
2173 " (declare (in) vec3 arg0)\n"
2174 " (declare (in) vec3 arg1))\n"
2175 " ((declare () bvec3 temp)\n"
2176 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
2177 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
2178 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
2179 " (return (var_ref temp))))\n"
2180 "\n"
2181 " (signature bvec4\n"
2182 " (parameters\n"
2183 " (declare (in) vec4 arg0)\n"
2184 " (declare (in) vec4 arg1))\n"
2185 " ((declare () bvec4 temp)\n"
2186 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
2187 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
2188 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
2189 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool != (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
2190 " (return (var_ref temp))))\n"
2191 "\n"
2192 " (signature bvec2\n"
2193 " (parameters\n"
2194 " (declare (in) ivec2 arg0)\n"
2195 " (declare (in) ivec2 arg1))\n"
2196 " ((declare () bvec2 temp)\n"
2197 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
2198 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
2199 " (return (var_ref temp))))\n"
2200 "\n"
2201 " (signature bvec3\n"
2202 " (parameters\n"
2203 " (declare (in) ivec3 arg0)\n"
2204 " (declare (in) ivec3 arg1))\n"
2205 " ((declare () bvec3 temp)\n"
2206 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
2207 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
2208 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
2209 " (return (var_ref temp))))\n"
2210 "\n"
2211 " (signature bvec4\n"
2212 " (parameters\n"
2213 " (declare (in) ivec4 arg0)\n"
2214 " (declare (in) ivec4 arg1))\n"
2215 " ((declare () bvec4 temp)\n"
2216 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
2217 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
2218 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
2219 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool != (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
2220 " (return (var_ref temp))))\n"
2221 "\n"
2222 " (signature bvec2\n"
2223 " (parameters\n"
2224 " (declare (in) uvec2 arg0)\n"
2225 " (declare (in) uvec2 arg1))\n"
2226 " ((declare () bvec2 temp)\n"
2227 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
2228 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
2229 " (return (var_ref temp))))\n"
2230 "\n"
2231 " (signature bvec3\n"
2232 " (parameters\n"
2233 " (declare (in) uvec3 arg0)\n"
2234 " (declare (in) uvec3 arg1))\n"
2235 " ((declare () bvec3 temp)\n"
2236 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
2237 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
2238 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
2239 " (return (var_ref temp))))\n"
2240 "\n"
2241 " (signature bvec4\n"
2242 " (parameters\n"
2243 " (declare (in) uvec4 arg0)\n"
2244 " (declare (in) uvec4 arg1))\n"
2245 " ((declare () bvec4 temp)\n"
2246 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
2247 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
2248 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
2249 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool != (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
2250 " (return (var_ref temp))))\n"
2251 "))\n"
2252 ""
2253;
2254static const char *builtin_outerProduct =
2255 "((function outerProduct\n"
2256 " (signature mat2\n"
2257 " (parameters\n"
2258 " (declare (in) vec2 u)\n"
2259 " (declare (in) vec2 v))\n"
2260 " ((declare () mat2 m)\n"
2261 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))\n"
2262 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))\n"
2263 " (return (var_ref m))))\n"
2264 "\n"
2265 " (signature mat2x3\n"
2266 " (parameters\n"
2267 " (declare (in) vec3 u)\n"
2268 " (declare (in) vec2 v))\n"
2269 " ((declare () mat2x3 m)\n"
2270 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))\n"
2271 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))\n"
2272 " (return (var_ref m))))\n"
2273 "\n"
2274 " (signature mat2x4\n"
2275 " (parameters\n"
2276 " (declare (in) vec4 u)\n"
2277 " (declare (in) vec2 v))\n"
2278 " ((declare () mat2x4 m)\n"
2279 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))\n"
2280 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))\n"
2281 " (return (var_ref m))))\n"
2282 "\n"
2283 " (signature mat3x2\n"
2284 " (parameters\n"
2285 " (declare (in) vec2 u)\n"
2286 " (declare (in) vec3 v))\n"
2287 " ((declare () mat3x2 m)\n"
2288 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))\n"
2289 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))\n"
2290 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (2))) (expression vec2 * (var_ref u) (swiz z (var_ref v))))\n"
2291 " (return (var_ref m))\n"
2292 " ))\n"
2293 "\n"
2294 " (signature mat3\n"
2295 " (parameters\n"
2296 " (declare (in) vec3 u)\n"
2297 " (declare (in) vec3 v))\n"
2298 " ((declare () mat3 m)\n"
2299 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))\n"
2300 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))\n"
2301 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (2))) (expression vec3 * (var_ref u) (swiz z (var_ref v))))\n"
2302 " (return (var_ref m))))\n"
2303 "\n"
2304 " (signature mat3x4\n"
2305 " (parameters\n"
2306 " (declare (in) vec4 u)\n"
2307 " (declare (in) vec3 v))\n"
2308 " ((declare () mat3x4 m)\n"
2309 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))\n"
2310 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))\n"
2311 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (2))) (expression vec4 * (var_ref u) (swiz z (var_ref v))))\n"
2312 " (return (var_ref m))))\n"
2313 "\n"
2314 " (signature mat4x2\n"
2315 " (parameters\n"
2316 " (declare (in) vec2 u)\n"
2317 " (declare (in) vec4 v))\n"
2318 " ((declare () mat4x2 m)\n"
2319 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))\n"
2320 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))\n"
2321 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (2))) (expression vec2 * (var_ref u) (swiz z (var_ref v))))\n"
2322 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (3))) (expression vec2 * (var_ref u) (swiz w (var_ref v))))\n"
2323 " (return (var_ref m))))\n"
2324 "\n"
2325 " (signature mat4x3\n"
2326 " (parameters\n"
2327 " (declare (in) vec3 u)\n"
2328 " (declare (in) vec4 v))\n"
2329 " ((declare () mat4x3 m)\n"
2330 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))\n"
2331 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))\n"
2332 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (2))) (expression vec3 * (var_ref u) (swiz z (var_ref v))))\n"
2333 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (3))) (expression vec3 * (var_ref u) (swiz w (var_ref v))))\n"
2334 " (return (var_ref m))))\n"
2335 "\n"
2336 " (signature mat4\n"
2337 " (parameters\n"
2338 " (declare (in) vec4 u)\n"
2339 " (declare (in) vec4 v))\n"
2340 " ((declare () mat4 m)\n"
2341 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))\n"
2342 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))\n"
2343 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (2))) (expression vec4 * (var_ref u) (swiz z (var_ref v))))\n"
2344 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (3))) (expression vec4 * (var_ref u) (swiz w (var_ref v))))\n"
2345 " (return (var_ref m))))\n"
2346 "))\n"
2347 ""
2348;
2349static const char *builtin_pow =
2350 "((function pow\n"
2351 " (signature float\n"
2352 " (parameters\n"
2353 " (declare (in) float arg0)\n"
2354 " (declare (in) float arg1))\n"
2355 " ((return (expression float pow (var_ref arg0) (var_ref arg1)))))\n"
2356 "\n"
2357 " (signature vec2\n"
2358 " (parameters\n"
2359 " (declare (in) vec2 arg0)\n"
2360 " (declare (in) vec2 arg1))\n"
2361 " ((return (expression vec2 pow (var_ref arg0) (var_ref arg1)))))\n"
2362 "\n"
2363 " (signature vec3\n"
2364 " (parameters\n"
2365 " (declare (in) vec3 arg0)\n"
2366 " (declare (in) vec3 arg1))\n"
2367 " ((return (expression vec3 pow (var_ref arg0) (var_ref arg1)))))\n"
2368 "\n"
2369 " (signature vec4\n"
2370 " (parameters\n"
2371 " (declare (in) vec4 arg0)\n"
2372 " (declare (in) vec4 arg1))\n"
2373 " ((return (expression vec4 pow (var_ref arg0) (var_ref arg1)))))\n"
2374 "))\n"
2375 ""
2376;
2377static const char *builtin_radians =
2378 "((function radians\n"
2379 " (signature float\n"
2380 " (parameters\n"
2381 " (declare (in) float arg0))\n"
2382 " ((return (expression float * (var_ref arg0) (constant float (0.017453))))))\n"
2383 "\n"
2384 " (signature vec2\n"
2385 " (parameters\n"
2386 " (declare (in) vec2 arg0))\n"
2387 " ((return (expression vec2 * (var_ref arg0) (constant float (0.017453))))))\n"
2388 "\n"
2389 " (signature vec3\n"
2390 " (parameters\n"
2391 " (declare (in) vec3 arg0))\n"
2392 " ((return (expression vec3 * (var_ref arg0) (constant float (0.017453))))))\n"
2393 "\n"
2394 " (signature vec4\n"
2395 " (parameters\n"
2396 " (declare (in) vec4 arg0))\n"
2397 " ((return (expression vec4 * (var_ref arg0) (constant float (0.017453))))))\n"
2398 "))\n"
2399 ""
2400;
2401static const char *builtin_reflect =
2402 "((function reflect\n"
2403 " (signature float\n"
2404 " (parameters\n"
2405 " (declare (in) float i)\n"
2406 " (declare (in) float n))\n"
2407 " ((return (expression float -\n"
2408 " (var_ref i)\n"
2409 " (expression float *\n"
2410 " (constant float (2.0))\n"
2411 " (expression float *\n"
2412 " (expression float dot\n"
2413 " (var_ref n)\n"
2414 " (var_ref i))\n"
2415 " (var_ref n)))))))\n"
2416 "\n"
2417 " (signature vec2\n"
2418 " (parameters\n"
2419 " (declare (in) vec2 i)\n"
2420 " (declare (in) vec2 n))\n"
2421 " ((return (expression vec2 -\n"
2422 " (var_ref i)\n"
2423 " (expression vec2 *\n"
2424 " (constant float (2.0))\n"
2425 " (expression vec2 *\n"
2426 " (expression float dot\n"
2427 " (var_ref n)\n"
2428 " (var_ref i))\n"
2429 " (var_ref n)))))))\n"
2430 "\n"
2431 " (signature vec3\n"
2432 " (parameters\n"
2433 " (declare (in) vec3 i)\n"
2434 " (declare (in) vec3 n))\n"
2435 " ((return (expression vec3 -\n"
2436 " (var_ref i)\n"
2437 " (expression vec3 *\n"
2438 " (constant float (2.0))\n"
2439 " (expression vec3 *\n"
2440 " (expression float dot\n"
2441 " (var_ref n)\n"
2442 " (var_ref i))\n"
2443 " (var_ref n)))))))\n"
2444 "\n"
2445 " (signature vec4\n"
2446 " (parameters\n"
2447 " (declare (in) vec4 i)\n"
2448 " (declare (in) vec4 n))\n"
2449 " ((return (expression vec4 -\n"
2450 " (var_ref i)\n"
2451 " (expression vec4 *\n"
2452 " (constant float (2.0))\n"
2453 " (expression vec4 *\n"
2454 " (expression float dot\n"
2455 " (var_ref n)\n"
2456 " (var_ref i))\n"
2457 " (var_ref n)))))))\n"
2458 "\n"
2459 "))\n"
2460 ""
2461;
2462static const char *builtin_refract =
2463 "((function refract\n"
2464 " (signature float\n"
2465 " (parameters\n"
2466 " (declare (in) float i)\n"
2467 " (declare (in) float n)\n"
2468 " (declare (in) float eta))\n"
2469 " ((declare () float k)\n"
2470 " (assign (constant bool (1)) (var_ref k)\n"
2471 " (expression float - (constant float (1.0))\n"
2472 " (expression float * (var_ref eta)\n"
2473 " (expression float * (var_ref eta)\n"
2474 " (expression float - (constant float (1.0))\n"
2475 " (expression float * \n"
2476 " (expression float dot (var_ref n) (var_ref i))\n"
2477 " (expression float dot (var_ref n) (var_ref i))))))))\n"
2478 " (if (expression bool < (var_ref k) (constant float (0.0)))\n"
2479 " ((return (constant float (0.0))))\n"
2480 " ((return (expression float -\n"
2481 " (expression float * (var_ref eta) (var_ref i))\n"
2482 " (expression float *\n"
2483 " (expression float +\n"
2484 " (expression float * (var_ref eta)\n"
2485 " (expression float dot (var_ref n) (var_ref i)))\n"
2486 " (expression float sqrt (var_ref k)))\n"
2487 " (var_ref n))))))))\n"
2488 "\n"
2489 " (signature vec2\n"
2490 " (parameters\n"
2491 " (declare (in) vec2 i)\n"
2492 " (declare (in) vec2 n)\n"
2493 " (declare (in) float eta))\n"
2494 " ((declare () float k)\n"
2495 " (assign (constant bool (1)) (var_ref k)\n"
2496 " (expression float - (constant float (1.0))\n"
2497 " (expression float * (var_ref eta)\n"
2498 " (expression float * (var_ref eta)\n"
2499 " (expression float - (constant float (1.0))\n"
2500 " (expression float * \n"
2501 " (expression float dot (var_ref n) (var_ref i))\n"
2502 " (expression float dot (var_ref n) (var_ref i))))))))\n"
2503 " (if (expression bool < (var_ref k) (constant float (0.0)))\n"
2504 " ((return (constant vec2 (0.0 0.0))))\n"
2505 " ((return (expression vec2 -\n"
2506 " (expression vec2 * (var_ref eta) (var_ref i))\n"
2507 " (expression vec2 *\n"
2508 " (expression float +\n"
2509 " (expression float * (var_ref eta)\n"
2510 " (expression float dot (var_ref n) (var_ref i)))\n"
2511 " (expression float sqrt (var_ref k)))\n"
2512 " (var_ref n))))))))\n"
2513 "\n"
2514 " (signature vec3\n"
2515 " (parameters\n"
2516 " (declare (in) vec3 i)\n"
2517 " (declare (in) vec3 n)\n"
2518 " (declare (in) float eta))\n"
2519 " ((declare () float k)\n"
2520 " (assign (constant bool (1)) (var_ref k)\n"
2521 " (expression float - (constant float (1.0))\n"
2522 " (expression float * (var_ref eta)\n"
2523 " (expression float * (var_ref eta)\n"
2524 " (expression float - (constant float (1.0))\n"
2525 " (expression float * \n"
2526 " (expression float dot (var_ref n) (var_ref i))\n"
2527 " (expression float dot (var_ref n) (var_ref i))))))))\n"
2528 " (if (expression bool < (var_ref k) (constant float (0.0)))\n"
2529 " ((return (constant vec3 (0.0 0.0 0.0))))\n"
2530 " ((return (expression vec3 -\n"
2531 " (expression vec3 * (var_ref eta) (var_ref i))\n"
2532 " (expression vec3 *\n"
2533 " (expression float +\n"
2534 " (expression float * (var_ref eta)\n"
2535 " (expression float dot (var_ref n) (var_ref i)))\n"
2536 " (expression float sqrt (var_ref k)))\n"
2537 " (var_ref n))))))))\n"
2538 "\n"
2539 " (signature vec4\n"
2540 " (parameters\n"
2541 " (declare (in) vec4 i)\n"
2542 " (declare (in) vec4 n)\n"
2543 " (declare (in) float eta))\n"
2544 " ((declare () float k)\n"
2545 " (assign (constant bool (1)) (var_ref k)\n"
2546 " (expression float - (constant float (1.0))\n"
2547 " (expression float * (var_ref eta)\n"
2548 " (expression float * (var_ref eta)\n"
2549 " (expression float - (constant float (1.0))\n"
2550 " (expression float * \n"
2551 " (expression float dot (var_ref n) (var_ref i))\n"
2552 " (expression float dot (var_ref n) (var_ref i))))))))\n"
2553 " (if (expression bool < (var_ref k) (constant float (0.0)))\n"
2554 " ((return (constant vec4 (0.0 0.0 0.0 0.0))))\n"
2555 " ((return (expression vec4 -\n"
2556 " (expression vec4 * (var_ref eta) (var_ref i))\n"
2557 " (expression vec4 *\n"
2558 " (expression float +\n"
2559 " (expression float * (var_ref eta)\n"
2560 " (expression float dot (var_ref n) (var_ref i)))\n"
2561 " (expression float sqrt (var_ref k)))\n"
2562 " (var_ref n))))))))\n"
2563 "\n"
2564 "))\n"
2565 ""
2566;
2567static const char *builtin_shadow1D =
2568 "((function shadow1D\n"
2569 " (signature vec4\n"
2570 " (parameters\n"
2571 " (declare (in) sampler1DShadow sampler)\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07002572 " (declare (in) vec3 P) )\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002573 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07002574 "\n"
2575 " (signature vec4\n"
2576 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002577 " (declare (in) sampler1DShadow sampler)\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07002578 " (declare (in) vec3 P) \n"
2579 " (declare (in) float bias) )\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002580 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref bias) ))))\n"
2581 "\n"
2582 "))\n"
2583 ""
2584;
2585static const char *builtin_shadow1DArray =
2586 "((function shadow1DArray\n"
2587 " (signature vec4\n"
2588 " (parameters\n"
2589 " (declare (in) sampler1DArrayShadow sampler)\n"
2590 " (declare (in) vec3 P) )\n"
2591 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07002592 "\n"
2593 " (signature vec4\n"
2594 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002595 " (declare (in) sampler1DArrayShadow sampler)\n"
2596 " (declare (in) vec3 P) \n"
2597 " (declare (in) float bias) )\n"
2598 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref bias) ))))\n"
2599 "\n"
2600 "))\n"
2601 ""
2602;
2603static const char *builtin_shadow1DArrayLod =
2604 "((function shadow1DArrayLod\n"
2605 " (signature vec4\n"
2606 " (parameters\n"
2607 " (declare (in) sampler1DArrayShadow sampler)\n"
2608 " (declare (in) vec3 P) \n"
2609 " (declare (in) float lod) )\n"
2610 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref lod) ))))\n"
2611 "\n"
2612 "))\n"
2613 ""
2614;
2615static const char *builtin_shadow1DLod =
2616 "((function shadow1DLod\n"
2617 " (signature vec4\n"
2618 " (parameters\n"
2619 " (declare (in) sampler1DShadow sampler)\n"
2620 " (declare (in) vec3 P) \n"
2621 " (declare (in) float lod) )\n"
2622 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref lod) ))))\n"
2623 "\n"
2624 "))\n"
2625 ""
2626;
2627static const char *builtin_shadow1DProj =
2628 "((function shadow1DProj\n"
2629 " (signature vec4\n"
2630 " (parameters\n"
2631 " (declare (in) sampler1DShadow sampler)\n"
2632 " (declare (in) vec4 P) )\n"
2633 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) ))))\n"
2634 "\n"
2635 " (signature vec4\n"
2636 " (parameters\n"
2637 " (declare (in) sampler1DShadow sampler)\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07002638 " (declare (in) vec4 P) \n"
2639 " (declare (in) float bias) )\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002640 " ((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"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07002641 "\n"
2642 "))\n"
2643 ""
2644;
2645static const char *builtin_shadow1DProjLod =
2646 "((function shadow1DProjLod\n"
2647 " (signature vec4\n"
2648 " (parameters\n"
2649 " (declare (in) sampler1DShadow sampler)\n"
2650 " (declare (in) vec4 P) \n"
2651 " (declare (in) float lod) )\n"
2652 " ((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"
2653 "\n"
2654 "))\n"
2655 ""
2656;
Eric Anholt47003a82010-08-23 12:39:35 -07002657static const char *builtin_shadow2D =
2658 "((function shadow2D\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07002659 " (signature vec4\n"
2660 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002661 " (declare (in) sampler2DShadow sampler)\n"
2662 " (declare (in) vec3 P) )\n"
2663 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) ))))\n"
2664 "\n"
2665 " (signature vec4\n"
2666 " (parameters\n"
2667 " (declare (in) sampler2DShadow sampler)\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07002668 " (declare (in) vec3 P) \n"
Eric Anholt47003a82010-08-23 12:39:35 -07002669 " (declare (in) float bias) )\n"
2670 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref bias) ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07002671 "\n"
2672 "))\n"
2673 ""
2674;
Eric Anholt47003a82010-08-23 12:39:35 -07002675static const char *builtin_shadow2DArray =
2676 "((function shadow2DArray\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07002677 " (signature vec4\n"
2678 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002679 " (declare (in) sampler2DArrayShadow sampler)\n"
2680 " (declare (in) vec4 P) )\n"
2681 " ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) 1 (swiz w (var_ref P)) ))))\n"
2682 "\n"
2683 "))\n"
2684 ""
2685;
2686static const char *builtin_shadow2DLod =
2687 "((function shadow2DLod\n"
2688 " (signature vec4\n"
2689 " (parameters\n"
2690 " (declare (in) sampler2DShadow sampler)\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07002691 " (declare (in) vec3 P) \n"
2692 " (declare (in) float lod) )\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002693 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref lod) ))))\n"
2694 "\n"
2695 "))\n"
2696 ""
2697;
2698static const char *builtin_shadow2DProj =
2699 "((function shadow2DProj\n"
2700 " (signature vec4\n"
2701 " (parameters\n"
2702 " (declare (in) sampler2DShadow sampler)\n"
2703 " (declare (in) vec4 P) )\n"
2704 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) ))))\n"
2705 "\n"
2706 " (signature vec4\n"
2707 " (parameters\n"
2708 " (declare (in) sampler2DShadow sampler)\n"
2709 " (declare (in) vec4 P) \n"
2710 " (declare (in) float bias) )\n"
2711 " ((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"
2712 "\n"
2713 "))\n"
2714 ""
2715;
2716static const char *builtin_shadow2DProjLod =
2717 "((function shadow2DProjLod\n"
2718 " (signature vec4\n"
2719 " (parameters\n"
2720 " (declare (in) sampler2DShadow sampler)\n"
2721 " (declare (in) vec4 P) \n"
2722 " (declare (in) float lod) )\n"
2723 " ((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"
2724 "\n"
2725 "))\n"
2726 ""
2727;
2728static const char *builtin_shadow2DRect =
2729 "((function shadow2DRect\n"
2730 " (signature vec4\n"
2731 " (parameters\n"
2732 " (declare (in) sampler2DRectShadow sampler)\n"
2733 " (declare (in) vec3 P) )\n"
2734 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) ))))\n"
2735 "\n"
2736 "))\n"
2737 ""
2738;
2739static const char *builtin_shadow2DRectProj =
2740 "((function shadow2DRectProj\n"
2741 " (signature vec4\n"
2742 " (parameters\n"
2743 " (declare (in) sampler2DRectShadow sampler)\n"
2744 " (declare (in) vec4 P) )\n"
2745 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) ))))\n"
2746 "\n"
2747 "))\n"
2748 ""
2749;
2750static const char *builtin_sign =
2751 "((function sign\n"
2752 " (signature float\n"
2753 " (parameters\n"
2754 " (declare (in) float x))\n"
2755 " ((return (expression float sign (var_ref x)))))\n"
2756 "\n"
2757 " (signature vec2\n"
2758 " (parameters\n"
2759 " (declare (in) vec2 x))\n"
2760 " ((return (expression vec2 sign (var_ref x)))))\n"
2761 "\n"
2762 " (signature vec3\n"
2763 " (parameters\n"
2764 " (declare (in) vec3 x))\n"
2765 " ((return (expression vec3 sign (var_ref x)))))\n"
2766 "\n"
2767 " (signature vec4\n"
2768 " (parameters\n"
2769 " (declare (in) vec4 x))\n"
2770 " ((return (expression vec4 sign (var_ref x)))))\n"
2771 "\n"
2772 " (signature int\n"
2773 " (parameters\n"
2774 " (declare (in) int x))\n"
2775 " ((return (expression int sign (var_ref x)))))\n"
2776 "\n"
2777 " (signature ivec2\n"
2778 " (parameters\n"
2779 " (declare (in) ivec2 x))\n"
2780 " ((return (expression ivec2 sign (var_ref x)))))\n"
2781 "\n"
2782 " (signature ivec3\n"
2783 " (parameters\n"
2784 " (declare (in) ivec3 x))\n"
2785 " ((return (expression ivec3 sign (var_ref x)))))\n"
2786 "\n"
2787 " (signature ivec4\n"
2788 " (parameters\n"
2789 " (declare (in) ivec4 x))\n"
2790 " ((return (expression ivec4 sign (var_ref x)))))\n"
2791 "))\n"
2792 "\n"
2793 ""
2794;
2795static const char *builtin_sin =
2796 "((function sin\n"
2797 " (signature float\n"
2798 " (parameters\n"
2799 " (declare (in) float angle))\n"
2800 " ((return (expression float sin (var_ref angle)))))\n"
2801 "\n"
2802 " (signature vec2\n"
2803 " (parameters\n"
2804 " (declare (in) vec2 angle))\n"
2805 " ((return (expression vec2 sin (var_ref angle)))))\n"
2806 "\n"
2807 " (signature vec3\n"
2808 " (parameters\n"
2809 " (declare (in) vec3 angle))\n"
2810 " ((return (expression vec3 sin (var_ref angle)))))\n"
2811 "\n"
2812 " (signature vec4\n"
2813 " (parameters\n"
2814 " (declare (in) vec4 angle))\n"
2815 " ((return (expression vec4 sin (var_ref angle)))))\n"
2816 "))\n"
2817 ""
2818;
2819static const char *builtin_sinh =
2820 "((function sinh\n"
2821 " (signature float\n"
2822 " (parameters\n"
2823 " (declare (in) float x))\n"
2824 " ((return (expression float * (constant float (0.5))\n"
2825 " (expression float -\n"
2826 " (expression float exp (var_ref x))\n"
2827 " (expression float exp (expression float neg (var_ref x))))))))\n"
2828 " (signature vec2\n"
2829 " (parameters\n"
2830 " (declare (in) vec2 x))\n"
2831 " ((return (expression vec2 * (constant vec2 (0.5))\n"
2832 " (expression vec2 -\n"
2833 " (expression vec2 exp (var_ref x))\n"
2834 " (expression vec2 exp (expression vec2 neg (var_ref x))))))))\n"
2835 " (signature vec3\n"
2836 " (parameters\n"
2837 " (declare (in) vec3 x))\n"
2838 " ((return (expression vec3 * (constant vec3 (0.5))\n"
2839 " (expression vec3 -\n"
2840 " (expression vec3 exp (var_ref x))\n"
2841 " (expression vec3 exp (expression vec3 neg (var_ref x))))))))\n"
2842 " (signature vec4\n"
2843 " (parameters\n"
2844 " (declare (in) vec4 x))\n"
2845 " ((return (expression vec4 * (constant vec4 (0.5))\n"
2846 " (expression vec4 -\n"
2847 " (expression vec4 exp (var_ref x))\n"
2848 " (expression vec4 exp (expression vec4 neg (var_ref x))))))))\n"
2849 "))\n"
2850 ""
2851;
2852static const char *builtin_smoothstep =
2853 "((function smoothstep\n"
2854 " (signature float\n"
2855 " (parameters\n"
2856 " (declare (in) float edge0)\n"
2857 " (declare (in) float edge1)\n"
2858 " (declare (in) float x))\n"
2859 " ((declare () float t)\n"
2860 "\n"
2861 " (assign (constant bool (1)) (var_ref t)\n"
2862 " (expression float max\n"
2863 " (expression float min\n"
2864 " (expression float / (expression float - (var_ref x) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
2865 " (constant float (1.0)))\n"
2866 " (constant float (0.0))))\n"
2867 " (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"
2868 "\n"
2869 " (signature vec2\n"
2870 " (parameters\n"
2871 " (declare (in) float edge0)\n"
2872 " (declare (in) float edge1)\n"
2873 " (declare (in) vec2 x))\n"
2874 " ((declare () vec2 t)\n"
2875 " (declare () vec2 retval)\n"
2876 "\n"
2877 " (assign (constant bool (1)) (swiz x (var_ref t))\n"
2878 " (expression float max\n"
2879 " (expression float min\n"
2880 " (expression float / (expression float - (swiz x (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
2881 " (constant float (1.0)))\n"
2882 " (constant float (0.0))))\n"
2883 " (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"
2884 "\n"
2885 " (assign (constant bool (1)) (swiz y (var_ref t))\n"
2886 " (expression float max\n"
2887 " (expression float min\n"
2888 " (expression float / (expression float - (swiz y (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
2889 " (constant float (1.0)))\n"
2890 " (constant float (0.0))))\n"
2891 " (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"
2892 " (return (var_ref retval))\n"
2893 " ))\n"
2894 "\n"
2895 " (signature vec3\n"
2896 " (parameters\n"
2897 " (declare (in) float edge0)\n"
2898 " (declare (in) float edge1)\n"
2899 " (declare (in) vec3 x))\n"
2900 " ((declare () vec3 t)\n"
2901 " (declare () vec3 retval)\n"
2902 "\n"
2903 " (assign (constant bool (1)) (swiz x (var_ref t))\n"
2904 " (expression float max\n"
2905 " (expression float min\n"
2906 " (expression float / (expression float - (swiz x (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
2907 " (constant float (1.0)))\n"
2908 " (constant float (0.0))))\n"
2909 " (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"
2910 "\n"
2911 " (assign (constant bool (1)) (swiz y (var_ref t))\n"
2912 " (expression float max\n"
2913 " (expression float min\n"
2914 " (expression float / (expression float - (swiz y (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
2915 " (constant float (1.0)))\n"
2916 " (constant float (0.0))))\n"
2917 " (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"
2918 "\n"
2919 " (assign (constant bool (1)) (swiz z (var_ref t))\n"
2920 " (expression float max\n"
2921 " (expression float min\n"
2922 " (expression float / (expression float - (swiz z (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
2923 " (constant float (1.0)))\n"
2924 " (constant float (0.0))))\n"
2925 " (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"
2926 " (return (var_ref retval))\n"
2927 " ))\n"
2928 "\n"
2929 "\n"
2930 " (signature vec4\n"
2931 " (parameters\n"
2932 " (declare (in) float edge0)\n"
2933 " (declare (in) float edge1)\n"
2934 " (declare (in) vec4 x))\n"
2935 " ((declare () vec4 t)\n"
2936 " (declare () vec4 retval)\n"
2937 "\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"
2945 "\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 "\n"
2954 " (assign (constant bool (1)) (swiz z (var_ref t))\n"
2955 " (expression float max\n"
2956 " (expression float min\n"
2957 " (expression float / (expression float - (swiz z (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
2958 " (constant float (1.0)))\n"
2959 " (constant float (0.0))))\n"
2960 " (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"
2961 "\n"
2962 " (assign (constant bool (1)) (swiz w (var_ref t))\n"
2963 " (expression float max\n"
2964 " (expression float min\n"
2965 " (expression float / (expression float - (swiz w (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
2966 " (constant float (1.0)))\n"
2967 " (constant float (0.0))))\n"
2968 " (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"
2969 " (return (var_ref retval))\n"
2970 " ))\n"
2971 "\n"
2972 " (signature vec2\n"
2973 " (parameters\n"
2974 " (declare (in) vec2 edge0)\n"
2975 " (declare (in) vec2 edge1)\n"
2976 " (declare (in) vec2 x))\n"
2977 " ((return (expression vec2 max\n"
2978 " (expression vec2 min\n"
2979 " (expression vec2 / (expression vec2 - (var_ref x) (var_ref edge0)) (expression vec2 - (var_ref edge1) (var_ref edge0)))\n"
2980 " (constant vec2 (1.0 1.0)))\n"
2981 " (constant vec2 (0.0 0.0))))))\n"
2982 "\n"
2983 " (signature vec3\n"
2984 " (parameters\n"
2985 " (declare (in) vec3 edge0)\n"
2986 " (declare (in) vec3 edge1)\n"
2987 " (declare (in) vec3 x))\n"
2988 " ((return (expression vec3 max\n"
2989 " (expression vec3 min\n"
2990 " (expression vec3 / (expression vec3 - (var_ref x) (var_ref edge0)) (expression vec3 - (var_ref edge1) (var_ref edge0)))\n"
2991 " (constant vec3 (1.0 1.0 1.0)))\n"
2992 " (constant vec3 (0.0 0.0 0.0))))))\n"
2993 "\n"
2994 " (signature vec4\n"
2995 " (parameters\n"
2996 " (declare (in) vec4 edge0)\n"
2997 " (declare (in) vec4 edge1)\n"
2998 " (declare (in) vec4 x))\n"
2999 " ((return (expression vec4 max\n"
3000 " (expression vec4 min\n"
3001 " (expression vec4 / (expression vec4 - (var_ref x) (var_ref edge0)) (expression vec4 - (var_ref edge1) (var_ref edge0)))\n"
3002 " (constant vec4 (1.0 1.0 1.0 1.0)))\n"
3003 " (constant vec4 (0.0 0.0 0.0 0.0))))))\n"
3004 "))\n"
3005 "\n"
3006 ""
3007;
3008static const char *builtin_sqrt =
3009 "((function sqrt\n"
3010 " (signature float\n"
3011 " (parameters\n"
3012 " (declare (in) float arg0))\n"
3013 " ((return (expression float sqrt (var_ref arg0)))))\n"
3014 "\n"
3015 " (signature vec2\n"
3016 " (parameters\n"
3017 " (declare (in) vec2 arg0))\n"
3018 " ((return (expression vec2 sqrt (var_ref arg0)))))\n"
3019 "\n"
3020 " (signature vec3\n"
3021 " (parameters\n"
3022 " (declare (in) vec3 arg0))\n"
3023 " ((return (expression vec3 sqrt (var_ref arg0)))))\n"
3024 "\n"
3025 " (signature vec4\n"
3026 " (parameters\n"
3027 " (declare (in) vec4 arg0))\n"
3028 " ((return (expression vec4 sqrt (var_ref arg0)))))\n"
3029 "))\n"
3030 ""
3031;
3032static const char *builtin_step =
3033 "((function step\n"
3034 " (signature float\n"
3035 " (parameters\n"
3036 " (declare (in) float edge)\n"
3037 " (declare (in) float x))\n"
3038 " ((return (expression float b2f (expression bool >= (var_ref x) (var_ref edge))))))\n"
3039 "\n"
3040 " (signature vec2\n"
3041 " (parameters\n"
3042 " (declare (in) float edge)\n"
3043 " (declare (in) vec2 x))\n"
3044 " ((declare () vec2 t)\n"
3045 " (assign (constant bool (1)) (swiz x (var_ref t)) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge))))\n"
3046 " (assign (constant bool (1)) (swiz y (var_ref t)) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge))))\n"
3047 " (return (var_ref t))))\n"
3048 "\n"
3049 " (signature vec3\n"
3050 " (parameters\n"
3051 " (declare (in) float edge)\n"
3052 " (declare (in) vec3 x))\n"
3053 " ((declare () vec3 t)\n"
3054 " (assign (constant bool (1)) (swiz x (var_ref t)) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge))))\n"
3055 " (assign (constant bool (1)) (swiz y (var_ref t)) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge))))\n"
3056 " (assign (constant bool (1)) (swiz z (var_ref t)) (expression float b2f (expression bool >= (swiz z (var_ref x))(var_ref edge))))\n"
3057 " (return (var_ref t))))\n"
3058 "\n"
3059 " (signature vec4\n"
3060 " (parameters\n"
3061 " (declare (in) float edge)\n"
3062 " (declare (in) vec4 x))\n"
3063 " ((declare () vec4 t)\n"
3064 " (assign (constant bool (1)) (swiz x (var_ref t)) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge))))\n"
3065 " (assign (constant bool (1)) (swiz y (var_ref t)) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge))))\n"
3066 " (assign (constant bool (1)) (swiz z (var_ref t)) (expression float b2f (expression bool >= (swiz z (var_ref x))(var_ref edge))))\n"
3067 " (assign (constant bool (1)) (swiz w (var_ref t)) (expression float b2f (expression bool >= (swiz w (var_ref x))(var_ref edge))))\n"
3068 " (return (var_ref t))))\n"
3069 "\n"
3070 " (signature vec2\n"
3071 " (parameters\n"
3072 " (declare (in) vec2 edge)\n"
3073 " (declare (in) vec2 x))\n"
3074 " ((declare () vec2 t)\n"
3075 " (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"
3076 " (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"
3077 " (return (var_ref t))))\n"
3078 "\n"
3079 " (signature vec3\n"
3080 " (parameters\n"
3081 " (declare (in) vec3 edge)\n"
3082 " (declare (in) vec3 x))\n"
3083 " ((declare () vec3 t)\n"
3084 " (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"
3085 " (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"
3086 " (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"
3087 " (return (var_ref t))))\n"
3088 "\n"
3089 " (signature vec4\n"
3090 " (parameters\n"
3091 " (declare (in) vec4 edge)\n"
3092 " (declare (in) vec4 x))\n"
3093 " ((declare () vec4 t)\n"
3094 " (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"
3095 " (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"
3096 " (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"
3097 " (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"
3098 " (return (var_ref t))))\n"
3099 "))\n"
3100 "\n"
3101 ""
3102;
3103static const char *builtin_tan =
3104 "((function tan\n"
3105 " (signature float\n"
3106 " (parameters\n"
3107 " (declare (in) float angle))\n"
3108 " ((return (expression float / (expression float sin (var_ref angle)) (expression float cos (var_ref angle))))))\n"
3109 "\n"
3110 " (signature vec2\n"
3111 " (parameters\n"
3112 " (declare (in) vec2 angle))\n"
3113 " ((return (expression vec2 / (expression vec2 sin (var_ref angle)) (expression vec2 cos (var_ref angle))))))\n"
3114 "\n"
3115 " (signature vec3\n"
3116 " (parameters\n"
3117 " (declare (in) vec3 angle))\n"
3118 " ((return (expression vec3 / (expression vec3 sin (var_ref angle)) (expression vec3 cos (var_ref angle))))))\n"
3119 "\n"
3120 " (signature vec4\n"
3121 " (parameters\n"
3122 " (declare (in) vec4 angle))\n"
3123 " ((return (expression vec4 / (expression vec4 sin (var_ref angle)) (expression vec4 cos (var_ref angle))))))\n"
3124 "))\n"
3125 ""
3126;
3127static const char *builtin_tanh =
3128 "((function tanh\n"
3129 " (signature float\n"
3130 " (parameters\n"
3131 " (declare (in) float x))\n"
3132 " ((return (expression float /\n"
3133 " (expression float -\n"
3134 " (expression float exp (var_ref x))\n"
3135 " (expression float exp (expression float neg (var_ref x))))\n"
3136 " (expression float +\n"
3137 " (expression float exp (var_ref x))\n"
3138 " (expression float exp (expression float neg (var_ref x))))))))\n"
3139 " (signature vec2\n"
3140 " (parameters\n"
3141 " (declare (in) vec2 x))\n"
3142 " ((return (expression vec2 /\n"
3143 " (expression vec2 -\n"
3144 " (expression vec2 exp (var_ref x))\n"
3145 " (expression vec2 exp (expression vec2 neg (var_ref x))))\n"
3146 " (expression vec2 +\n"
3147 " (expression vec2 exp (var_ref x))\n"
3148 " (expression vec2 exp (expression vec2 neg (var_ref x))))))))\n"
3149 " (signature vec3\n"
3150 " (parameters\n"
3151 " (declare (in) vec3 x))\n"
3152 " ((return (expression vec3 /\n"
3153 " (expression vec3 -\n"
3154 " (expression vec3 exp (var_ref x))\n"
3155 " (expression vec3 exp (expression vec3 neg (var_ref x))))\n"
3156 " (expression vec3 +\n"
3157 " (expression vec3 exp (var_ref x))\n"
3158 " (expression vec3 exp (expression vec3 neg (var_ref x))))))))\n"
3159 " (signature vec4\n"
3160 " (parameters\n"
3161 " (declare (in) vec4 x))\n"
3162 " ((return (expression vec4 /\n"
3163 " (expression vec4 -\n"
3164 " (expression vec4 exp (var_ref x))\n"
3165 " (expression vec4 exp (expression vec4 neg (var_ref x))))\n"
3166 " (expression vec4 +\n"
3167 " (expression vec4 exp (var_ref x))\n"
3168 " (expression vec4 exp (expression vec4 neg (var_ref x))))))))\n"
3169 "))\n"
3170 ""
3171;
3172static const char *builtin_texelFetch =
3173 "((function texelFetch\n"
3174 " (signature vec4\n"
3175 " (parameters\n"
3176 " (declare (in) sampler1D sampler)\n"
3177 " (declare (in) int P) \n"
3178 " (declare (in) int lod) )\n"
3179 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3180 "\n"
3181 " (signature ivec4\n"
3182 " (parameters\n"
3183 " (declare (in) isampler1D sampler)\n"
3184 " (declare (in) int P) \n"
3185 " (declare (in) int lod) )\n"
3186 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3187 "\n"
3188 " (signature uvec4\n"
3189 " (parameters\n"
3190 " (declare (in) usampler1D sampler)\n"
3191 " (declare (in) int P) \n"
3192 " (declare (in) int lod) )\n"
3193 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3194 "\n"
3195 " (signature vec4\n"
3196 " (parameters\n"
3197 " (declare (in) sampler2D sampler)\n"
3198 " (declare (in) ivec2 P) \n"
3199 " (declare (in) int lod) )\n"
3200 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3201 "\n"
3202 " (signature ivec4\n"
3203 " (parameters\n"
3204 " (declare (in) isampler2D sampler)\n"
3205 " (declare (in) ivec2 P) \n"
3206 " (declare (in) int lod) )\n"
3207 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3208 "\n"
3209 " (signature uvec4\n"
3210 " (parameters\n"
3211 " (declare (in) usampler2D sampler)\n"
3212 " (declare (in) ivec2 P) \n"
3213 " (declare (in) int lod) )\n"
3214 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3215 "\n"
3216 " (signature vec4\n"
3217 " (parameters\n"
3218 " (declare (in) sampler3D sampler)\n"
3219 " (declare (in) ivec3 P) \n"
3220 " (declare (in) int lod) )\n"
3221 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3222 "\n"
3223 " (signature ivec4\n"
3224 " (parameters\n"
3225 " (declare (in) isampler3D sampler)\n"
3226 " (declare (in) ivec3 P) \n"
3227 " (declare (in) int lod) )\n"
3228 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3229 "\n"
3230 " (signature uvec4\n"
3231 " (parameters\n"
3232 " (declare (in) usampler3D sampler)\n"
3233 " (declare (in) ivec3 P) \n"
3234 " (declare (in) int lod) )\n"
3235 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3236 "\n"
3237 " (signature vec4\n"
3238 " (parameters\n"
3239 " (declare (in) sampler1DArray sampler)\n"
3240 " (declare (in) ivec2 P) \n"
3241 " (declare (in) int lod) )\n"
3242 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3243 "\n"
3244 " (signature ivec4\n"
3245 " (parameters\n"
3246 " (declare (in) isampler1DArray sampler)\n"
3247 " (declare (in) ivec2 P) \n"
3248 " (declare (in) int lod) )\n"
3249 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3250 "\n"
3251 " (signature uvec4\n"
3252 " (parameters\n"
3253 " (declare (in) usampler1DArray sampler)\n"
3254 " (declare (in) ivec2 P) \n"
3255 " (declare (in) int lod) )\n"
3256 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3257 "\n"
3258 " (signature vec4\n"
3259 " (parameters\n"
3260 " (declare (in) sampler2DArray sampler)\n"
3261 " (declare (in) ivec3 P) \n"
3262 " (declare (in) int lod) )\n"
3263 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3264 "\n"
3265 " (signature ivec4\n"
3266 " (parameters\n"
3267 " (declare (in) isampler2DArray sampler)\n"
3268 " (declare (in) ivec3 P) \n"
3269 " (declare (in) int lod) )\n"
3270 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3271 "\n"
3272 " (signature uvec4\n"
3273 " (parameters\n"
3274 " (declare (in) usampler2DArray sampler)\n"
3275 " (declare (in) ivec3 P) \n"
3276 " (declare (in) int lod) )\n"
3277 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003278 "\n"
3279 "))\n"
3280 ""
3281;
3282static const char *builtin_texture =
3283 "((function texture\n"
3284 " (signature vec4\n"
3285 " (parameters\n"
3286 " (declare (in) sampler1D sampler)\n"
3287 " (declare (in) float P) )\n"
3288 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3289 "\n"
3290 " (signature ivec4\n"
3291 " (parameters\n"
3292 " (declare (in) isampler1D sampler)\n"
3293 " (declare (in) float P) )\n"
3294 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3295 "\n"
3296 " (signature uvec4\n"
3297 " (parameters\n"
3298 " (declare (in) usampler1D sampler)\n"
3299 " (declare (in) float P) )\n"
3300 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3301 "\n"
3302 " (signature vec4\n"
3303 " (parameters\n"
3304 " (declare (in) sampler2D sampler)\n"
3305 " (declare (in) vec2 P) )\n"
3306 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3307 "\n"
3308 " (signature ivec4\n"
3309 " (parameters\n"
3310 " (declare (in) isampler2D sampler)\n"
3311 " (declare (in) vec2 P) )\n"
3312 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3313 "\n"
3314 " (signature uvec4\n"
3315 " (parameters\n"
3316 " (declare (in) usampler2D sampler)\n"
3317 " (declare (in) vec2 P) )\n"
3318 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3319 "\n"
3320 " (signature vec4\n"
3321 " (parameters\n"
3322 " (declare (in) sampler3D sampler)\n"
3323 " (declare (in) vec3 P) )\n"
3324 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3325 "\n"
3326 " (signature ivec4\n"
3327 " (parameters\n"
3328 " (declare (in) isampler3D sampler)\n"
3329 " (declare (in) vec3 P) )\n"
3330 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3331 "\n"
3332 " (signature uvec4\n"
3333 " (parameters\n"
3334 " (declare (in) usampler3D sampler)\n"
3335 " (declare (in) vec3 P) )\n"
3336 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3337 "\n"
3338 " (signature vec4\n"
3339 " (parameters\n"
3340 " (declare (in) samplerCube sampler)\n"
3341 " (declare (in) vec3 P) )\n"
3342 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3343 "\n"
3344 " (signature ivec4\n"
3345 " (parameters\n"
3346 " (declare (in) isamplerCube sampler)\n"
3347 " (declare (in) vec3 P) )\n"
3348 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3349 "\n"
3350 " (signature uvec4\n"
3351 " (parameters\n"
3352 " (declare (in) usamplerCube sampler)\n"
3353 " (declare (in) vec3 P) )\n"
3354 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3355 "\n"
3356 " (signature vec4\n"
3357 " (parameters\n"
3358 " (declare (in) sampler1DArray sampler)\n"
3359 " (declare (in) vec2 P) )\n"
3360 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3361 "\n"
3362 " (signature ivec4\n"
3363 " (parameters\n"
3364 " (declare (in) isampler1DArray sampler)\n"
3365 " (declare (in) vec2 P) )\n"
3366 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3367 "\n"
3368 " (signature uvec4\n"
3369 " (parameters\n"
3370 " (declare (in) usampler1DArray sampler)\n"
3371 " (declare (in) vec2 P) )\n"
3372 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3373 "\n"
3374 " (signature vec4\n"
3375 " (parameters\n"
3376 " (declare (in) sampler2DArray sampler)\n"
3377 " (declare (in) vec3 P) )\n"
3378 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3379 "\n"
3380 " (signature ivec4\n"
3381 " (parameters\n"
3382 " (declare (in) isampler2DArray sampler)\n"
3383 " (declare (in) vec3 P) )\n"
3384 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3385 "\n"
3386 " (signature uvec4\n"
3387 " (parameters\n"
3388 " (declare (in) usampler2DArray sampler)\n"
3389 " (declare (in) vec3 P) )\n"
3390 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3391 "\n"
3392 " (signature vec4\n"
3393 " (parameters\n"
3394 " (declare (in) sampler1D sampler)\n"
3395 " (declare (in) float P) \n"
3396 " (declare (in) float bias) )\n"
3397 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3398 "\n"
3399 " (signature ivec4\n"
3400 " (parameters\n"
3401 " (declare (in) isampler1D sampler)\n"
3402 " (declare (in) float P) \n"
3403 " (declare (in) float bias) )\n"
3404 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3405 "\n"
3406 " (signature uvec4\n"
3407 " (parameters\n"
3408 " (declare (in) usampler1D sampler)\n"
3409 " (declare (in) float P) \n"
3410 " (declare (in) float bias) )\n"
3411 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3412 "\n"
3413 " (signature vec4\n"
3414 " (parameters\n"
3415 " (declare (in) sampler2D sampler)\n"
3416 " (declare (in) vec2 P) \n"
3417 " (declare (in) float bias) )\n"
3418 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3419 "\n"
3420 " (signature ivec4\n"
3421 " (parameters\n"
3422 " (declare (in) isampler2D sampler)\n"
3423 " (declare (in) vec2 P) \n"
3424 " (declare (in) float bias) )\n"
3425 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3426 "\n"
3427 " (signature uvec4\n"
3428 " (parameters\n"
3429 " (declare (in) usampler2D sampler)\n"
3430 " (declare (in) vec2 P) \n"
3431 " (declare (in) float bias) )\n"
3432 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3433 "\n"
3434 " (signature vec4\n"
3435 " (parameters\n"
3436 " (declare (in) sampler3D sampler)\n"
3437 " (declare (in) vec3 P) \n"
3438 " (declare (in) float bias) )\n"
3439 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3440 "\n"
3441 " (signature ivec4\n"
3442 " (parameters\n"
3443 " (declare (in) isampler3D sampler)\n"
3444 " (declare (in) vec3 P) \n"
3445 " (declare (in) float bias) )\n"
3446 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3447 "\n"
3448 " (signature uvec4\n"
3449 " (parameters\n"
3450 " (declare (in) usampler3D sampler)\n"
3451 " (declare (in) vec3 P) \n"
3452 " (declare (in) float bias) )\n"
3453 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3454 "\n"
3455 " (signature vec4\n"
3456 " (parameters\n"
3457 " (declare (in) samplerCube sampler)\n"
3458 " (declare (in) vec3 P) \n"
3459 " (declare (in) float bias) )\n"
3460 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3461 "\n"
3462 " (signature ivec4\n"
3463 " (parameters\n"
3464 " (declare (in) isamplerCube sampler)\n"
3465 " (declare (in) vec3 P) \n"
3466 " (declare (in) float bias) )\n"
3467 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3468 "\n"
3469 " (signature uvec4\n"
3470 " (parameters\n"
3471 " (declare (in) usamplerCube sampler)\n"
3472 " (declare (in) vec3 P) \n"
3473 " (declare (in) float bias) )\n"
3474 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3475 "\n"
3476 " (signature vec4\n"
3477 " (parameters\n"
3478 " (declare (in) sampler1DArray sampler)\n"
3479 " (declare (in) vec2 P) \n"
3480 " (declare (in) float bias) )\n"
3481 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3482 "\n"
3483 " (signature ivec4\n"
3484 " (parameters\n"
3485 " (declare (in) isampler1DArray sampler)\n"
3486 " (declare (in) vec2 P) \n"
3487 " (declare (in) float bias) )\n"
3488 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3489 "\n"
3490 " (signature uvec4\n"
3491 " (parameters\n"
3492 " (declare (in) usampler1DArray sampler)\n"
3493 " (declare (in) vec2 P) \n"
3494 " (declare (in) float bias) )\n"
3495 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3496 "\n"
3497 " (signature vec4\n"
3498 " (parameters\n"
3499 " (declare (in) sampler2DArray sampler)\n"
3500 " (declare (in) vec3 P) \n"
3501 " (declare (in) float bias) )\n"
3502 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3503 "\n"
3504 " (signature ivec4\n"
3505 " (parameters\n"
3506 " (declare (in) isampler2DArray sampler)\n"
3507 " (declare (in) vec3 P) \n"
3508 " (declare (in) float bias) )\n"
3509 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3510 "\n"
3511 " (signature uvec4\n"
3512 " (parameters\n"
3513 " (declare (in) usampler2DArray sampler)\n"
3514 " (declare (in) vec3 P) \n"
3515 " (declare (in) float bias) )\n"
3516 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3517 "\n"
3518 "))\n"
3519 ""
3520;
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003521static const char *builtin_texture1D =
3522 "((function texture1D\n"
3523 " (signature vec4\n"
3524 " (parameters\n"
3525 " (declare (in) sampler1D sampler)\n"
3526 " (declare (in) float P) )\n"
3527 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3528 "\n"
3529 " (signature vec4\n"
3530 " (parameters\n"
3531 " (declare (in) sampler1D sampler)\n"
3532 " (declare (in) float P) \n"
3533 " (declare (in) float bias) )\n"
3534 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3535 "\n"
3536 "))\n"
3537 ""
3538;
Eric Anholt47003a82010-08-23 12:39:35 -07003539static const char *builtin_texture1DArray =
3540 "((function texture1DArray\n"
3541 " (signature vec4\n"
Kenneth Graunkeb3262122010-04-28 23:01:33 -07003542 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003543 " (declare (in) sampler1DArray sampler)\n"
3544 " (declare (in) vec2 P) )\n"
3545 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
Kenneth Graunkeb3262122010-04-28 23:01:33 -07003546 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003547 " (signature vec4\n"
Kenneth Graunkeb3262122010-04-28 23:01:33 -07003548 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003549 " (declare (in) sampler1DArray sampler)\n"
3550 " (declare (in) vec2 P) \n"
3551 " (declare (in) float bias) )\n"
3552 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
Kenneth Graunkeb3262122010-04-28 23:01:33 -07003553 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003554 "))\n"
3555 ""
3556;
3557static const char *builtin_texture1DArrayLod =
3558 "((function texture1DArrayLod\n"
3559 " (signature vec4\n"
Kenneth Graunkeb3262122010-04-28 23:01:33 -07003560 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003561 " (declare (in) sampler1DArray sampler)\n"
3562 " (declare (in) vec2 P) \n"
3563 " (declare (in) float lod) )\n"
3564 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3565 "\n"
3566 "))\n"
3567 ""
3568;
3569static const char *builtin_texture1DLod =
3570 "((function texture1DLod\n"
3571 " (signature vec4\n"
3572 " (parameters\n"
3573 " (declare (in) sampler1D sampler)\n"
3574 " (declare (in) float P) \n"
3575 " (declare (in) float lod) )\n"
3576 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3577 "\n"
3578 "))\n"
3579 ""
3580;
3581static const char *builtin_texture1DProj =
3582 "((function texture1DProj\n"
3583 " (signature vec4\n"
3584 " (parameters\n"
3585 " (declare (in) sampler1D sampler)\n"
3586 " (declare (in) vec2 P) )\n"
3587 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ))))\n"
3588 "\n"
3589 " (signature vec4\n"
3590 " (parameters\n"
3591 " (declare (in) sampler1D sampler)\n"
3592 " (declare (in) vec4 P) )\n"
3593 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
3594 "\n"
3595 " (signature vec4\n"
3596 " (parameters\n"
3597 " (declare (in) sampler1D sampler)\n"
3598 " (declare (in) vec2 P) \n"
3599 " (declare (in) float bias) )\n"
3600 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
3601 "\n"
3602 " (signature vec4\n"
3603 " (parameters\n"
3604 " (declare (in) sampler1D sampler)\n"
3605 " (declare (in) vec4 P) \n"
3606 " (declare (in) float bias) )\n"
3607 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
3608 "\n"
3609 "))\n"
3610 ""
3611;
3612static const char *builtin_texture1DProjLod =
3613 "((function texture1DProjLod\n"
3614 " (signature vec4\n"
3615 " (parameters\n"
3616 " (declare (in) sampler1D sampler)\n"
3617 " (declare (in) vec2 P) \n"
3618 " (declare (in) float lod) )\n"
3619 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
3620 "\n"
3621 " (signature vec4\n"
3622 " (parameters\n"
3623 " (declare (in) sampler1D sampler)\n"
3624 " (declare (in) vec4 P) \n"
3625 " (declare (in) float lod) )\n"
3626 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
3627 "\n"
3628 "))\n"
3629 ""
3630;
3631static const char *builtin_texture2D =
3632 "((function texture2D\n"
3633 " (signature vec4\n"
3634 " (parameters\n"
3635 " (declare (in) sampler2D sampler)\n"
3636 " (declare (in) vec2 P) )\n"
3637 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3638 "\n"
3639 " (signature vec4\n"
3640 " (parameters\n"
3641 " (declare (in) sampler2D sampler)\n"
3642 " (declare (in) vec2 P) \n"
3643 " (declare (in) float bias) )\n"
3644 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3645 "\n"
3646 "))\n"
3647 ""
3648;
3649static const char *builtin_texture2DArray =
3650 "((function texture2DArray\n"
3651 " (signature vec4\n"
3652 " (parameters\n"
3653 " (declare (in) sampler2DArray sampler)\n"
3654 " (declare (in) vec3 P) )\n"
3655 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3656 "\n"
3657 " (signature vec4\n"
3658 " (parameters\n"
3659 " (declare (in) sampler2DArray sampler)\n"
3660 " (declare (in) vec3 P) \n"
3661 " (declare (in) float bias) )\n"
3662 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3663 "\n"
3664 "))\n"
3665 ""
3666;
3667static const char *builtin_texture2DArrayLod =
3668 "((function texture2DArrayLod\n"
3669 " (signature vec4\n"
3670 " (parameters\n"
3671 " (declare (in) sampler2DArray sampler)\n"
3672 " (declare (in) vec3 P) \n"
3673 " (declare (in) float lod) )\n"
3674 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3675 "\n"
3676 "))\n"
3677 ""
3678;
3679static const char *builtin_texture2DLod =
3680 "((function texture2DLod\n"
3681 " (signature vec4\n"
3682 " (parameters\n"
3683 " (declare (in) sampler2D sampler)\n"
3684 " (declare (in) vec2 P) \n"
3685 " (declare (in) float lod) )\n"
3686 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3687 "\n"
3688 "))\n"
3689 ""
3690;
3691static const char *builtin_texture2DProj =
3692 "((function texture2DProj\n"
3693 " (signature vec4\n"
3694 " (parameters\n"
3695 " (declare (in) sampler2D sampler)\n"
3696 " (declare (in) vec3 P) )\n"
3697 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
3698 "\n"
3699 " (signature vec4\n"
3700 " (parameters\n"
3701 " (declare (in) sampler2D sampler)\n"
3702 " (declare (in) vec4 P) )\n"
3703 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
3704 "\n"
3705 " (signature vec4\n"
3706 " (parameters\n"
3707 " (declare (in) sampler2D sampler)\n"
3708 " (declare (in) vec3 P) \n"
3709 " (declare (in) float bias) )\n"
3710 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
3711 "\n"
3712 " (signature vec4\n"
3713 " (parameters\n"
3714 " (declare (in) sampler2D sampler)\n"
3715 " (declare (in) vec4 P) \n"
3716 " (declare (in) float bias) )\n"
3717 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
3718 "\n"
3719 "))\n"
3720 ""
3721;
3722static const char *builtin_texture2DProjLod =
3723 "((function texture2DProjLod\n"
3724 " (signature vec4\n"
3725 " (parameters\n"
3726 " (declare (in) sampler2D sampler)\n"
3727 " (declare (in) vec3 P) \n"
3728 " (declare (in) float lod) )\n"
3729 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
3730 "\n"
3731 " (signature vec4\n"
3732 " (parameters\n"
3733 " (declare (in) sampler2D sampler)\n"
3734 " (declare (in) vec4 P) \n"
3735 " (declare (in) float lod) )\n"
3736 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
3737 "\n"
3738 "))\n"
3739 ""
3740;
3741static const char *builtin_texture2DRect =
3742 "((function texture2DRect\n"
3743 " (signature vec4\n"
3744 " (parameters\n"
3745 " (declare (in) sampler2DRect sampler)\n"
3746 " (declare (in) vec2 P) )\n"
3747 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3748 "\n"
Kenneth Graunkeb3262122010-04-28 23:01:33 -07003749 "))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003750 ""
3751;
3752static const char *builtin_texture2DRectProj =
3753 "((function texture2DRectProj\n"
3754 " (signature vec4\n"
3755 " (parameters\n"
3756 " (declare (in) sampler2DRect 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"
3759 "\n"
3760 " (signature vec4\n"
3761 " (parameters\n"
3762 " (declare (in) sampler2DRect 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"
3765 "\n"
3766 "))\n"
3767 ""
3768;
Eric Anholt47003a82010-08-23 12:39:35 -07003769static const char *builtin_texture3D =
3770 "((function texture3D\n"
3771 " (signature vec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003772 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003773 " (declare (in) sampler3D sampler)\n"
3774 " (declare (in) vec3 P) )\n"
3775 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003776 "\n"
3777 " (signature vec4\n"
3778 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003779 " (declare (in) sampler3D sampler)\n"
3780 " (declare (in) vec3 P) \n"
3781 " (declare (in) float bias) )\n"
3782 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003783 "\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003784 "))\n"
3785 ""
3786;
Eric Anholt47003a82010-08-23 12:39:35 -07003787static const char *builtin_texture3DLod =
3788 "((function texture3DLod\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003789 " (signature vec4\n"
3790 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003791 " (declare (in) sampler3D sampler)\n"
3792 " (declare (in) vec3 P) \n"
3793 " (declare (in) float lod) )\n"
3794 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3795 "\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003796 "))\n"
3797 ""
3798;
Eric Anholt47003a82010-08-23 12:39:35 -07003799static const char *builtin_texture3DProj =
3800 "((function texture3DProj\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003801 " (signature vec4\n"
3802 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003803 " (declare (in) sampler3D sampler)\n"
3804 " (declare (in) vec4 P) )\n"
3805 " ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003806 "\n"
3807 " (signature vec4\n"
3808 " (parameters\n"
3809 " (declare (in) sampler3D sampler)\n"
3810 " (declare (in) vec4 P) \n"
Eric Anholt47003a82010-08-23 12:39:35 -07003811 " (declare (in) float bias) )\n"
3812 " ((return (txb (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003813 "\n"
3814 "))\n"
3815 ""
3816;
Eric Anholt47003a82010-08-23 12:39:35 -07003817static const char *builtin_texture3DProjLod =
3818 "((function texture3DProjLod\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003819 " (signature vec4\n"
3820 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003821 " (declare (in) sampler3D sampler)\n"
3822 " (declare (in) vec4 P) \n"
3823 " (declare (in) float lod) )\n"
3824 " ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
3825 "\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003826 "))\n"
3827 ""
3828;
Eric Anholt47003a82010-08-23 12:39:35 -07003829static const char *builtin_textureCube =
3830 "((function textureCube\n"
3831 " (signature vec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003832 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003833 " (declare (in) samplerCube sampler)\n"
3834 " (declare (in) vec3 P) )\n"
3835 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003836 "\n"
3837 " (signature vec4\n"
3838 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003839 " (declare (in) samplerCube sampler)\n"
3840 " (declare (in) vec3 P) \n"
3841 " (declare (in) float bias) )\n"
3842 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3843 "\n"
3844 "))\n"
3845 ""
3846;
3847static const char *builtin_textureCubeLod =
3848 "((function textureCubeLod\n"
3849 " (signature vec4\n"
3850 " (parameters\n"
3851 " (declare (in) samplerCube sampler)\n"
3852 " (declare (in) vec3 P) \n"
3853 " (declare (in) float lod) )\n"
3854 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3855 "\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003856 "))\n"
3857 ""
3858;
3859static const char *builtin_textureGrad =
3860 "((function textureGrad\n"
3861 " (signature vec4\n"
3862 " (parameters\n"
3863 " (declare (in) sampler1D sampler)\n"
3864 " (declare (in) float P) \n"
3865 " (declare (in) float dPdx) \n"
3866 " (declare (in) float dPdy) )\n"
3867 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3868 "\n"
3869 " (signature ivec4\n"
3870 " (parameters\n"
3871 " (declare (in) isampler1D sampler)\n"
3872 " (declare (in) float P) \n"
3873 " (declare (in) float dPdx) \n"
3874 " (declare (in) float dPdy) )\n"
3875 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3876 "\n"
3877 " (signature uvec4\n"
3878 " (parameters\n"
3879 " (declare (in) usampler1D sampler)\n"
3880 " (declare (in) float P) \n"
3881 " (declare (in) float dPdx) \n"
3882 " (declare (in) float dPdy) )\n"
3883 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3884 "\n"
3885 " (signature vec4\n"
3886 " (parameters\n"
3887 " (declare (in) sampler2D sampler)\n"
3888 " (declare (in) vec2 P) \n"
3889 " (declare (in) vec2 dPdx) \n"
3890 " (declare (in) vec2 dPdy) )\n"
3891 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3892 "\n"
3893 " (signature ivec4\n"
3894 " (parameters\n"
3895 " (declare (in) isampler2D sampler)\n"
3896 " (declare (in) vec2 P) \n"
3897 " (declare (in) vec2 dPdx) \n"
3898 " (declare (in) vec2 dPdy) )\n"
3899 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3900 "\n"
3901 " (signature uvec4\n"
3902 " (parameters\n"
3903 " (declare (in) usampler2D sampler)\n"
3904 " (declare (in) vec2 P) \n"
3905 " (declare (in) vec2 dPdx) \n"
3906 " (declare (in) vec2 dPdy) )\n"
3907 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3908 "\n"
3909 " (signature vec4\n"
3910 " (parameters\n"
3911 " (declare (in) sampler3D sampler)\n"
3912 " (declare (in) vec3 P) \n"
3913 " (declare (in) vec3 dPdx) \n"
3914 " (declare (in) vec3 dPdy) )\n"
3915 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3916 "\n"
3917 " (signature ivec4\n"
3918 " (parameters\n"
3919 " (declare (in) isampler3D sampler)\n"
3920 " (declare (in) vec3 P) \n"
3921 " (declare (in) vec3 dPdx) \n"
3922 " (declare (in) vec3 dPdy) )\n"
3923 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3924 "\n"
3925 " (signature uvec4\n"
3926 " (parameters\n"
3927 " (declare (in) usampler3D sampler)\n"
3928 " (declare (in) vec3 P) \n"
3929 " (declare (in) vec3 dPdx) \n"
3930 " (declare (in) vec3 dPdy) )\n"
3931 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3932 "\n"
3933 " (signature vec4\n"
3934 " (parameters\n"
3935 " (declare (in) samplerCube sampler)\n"
3936 " (declare (in) vec3 P) \n"
3937 " (declare (in) vec3 dPdx) \n"
3938 " (declare (in) vec3 dPdy) )\n"
3939 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3940 "\n"
3941 " (signature ivec4\n"
3942 " (parameters\n"
3943 " (declare (in) isamplerCube sampler)\n"
3944 " (declare (in) vec3 P) \n"
3945 " (declare (in) vec3 dPdx) \n"
3946 " (declare (in) vec3 dPdy) )\n"
3947 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3948 "\n"
3949 " (signature uvec4\n"
3950 " (parameters\n"
3951 " (declare (in) usamplerCube sampler)\n"
3952 " (declare (in) vec3 P) \n"
3953 " (declare (in) vec3 dPdx) \n"
3954 " (declare (in) vec3 dPdy) )\n"
3955 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3956 "\n"
3957 " (signature vec4\n"
3958 " (parameters\n"
3959 " (declare (in) sampler1DArray sampler)\n"
3960 " (declare (in) vec2 P) \n"
3961 " (declare (in) vec2 dPdx) \n"
3962 " (declare (in) vec2 dPdy) )\n"
3963 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3964 "\n"
3965 " (signature ivec4\n"
3966 " (parameters\n"
3967 " (declare (in) isampler1DArray sampler)\n"
3968 " (declare (in) vec2 P) \n"
3969 " (declare (in) vec2 dPdx) \n"
3970 " (declare (in) vec2 dPdy) )\n"
3971 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3972 "\n"
3973 " (signature uvec4\n"
3974 " (parameters\n"
3975 " (declare (in) usampler1DArray sampler)\n"
3976 " (declare (in) vec2 P) \n"
3977 " (declare (in) vec2 dPdx) \n"
3978 " (declare (in) vec2 dPdy) )\n"
3979 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3980 "\n"
3981 " (signature vec4\n"
3982 " (parameters\n"
3983 " (declare (in) sampler2DArray sampler)\n"
3984 " (declare (in) vec3 P) \n"
3985 " (declare (in) vec3 dPdx) \n"
3986 " (declare (in) vec3 dPdy) )\n"
3987 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3988 "\n"
3989 " (signature ivec4\n"
3990 " (parameters\n"
3991 " (declare (in) isampler2DArray sampler)\n"
3992 " (declare (in) vec3 P) \n"
3993 " (declare (in) vec3 dPdx) \n"
3994 " (declare (in) vec3 dPdy) )\n"
3995 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3996 "\n"
3997 " (signature uvec4\n"
3998 " (parameters\n"
3999 " (declare (in) usampler2DArray sampler)\n"
4000 " (declare (in) vec3 P) \n"
4001 " (declare (in) vec3 dPdx) \n"
4002 " (declare (in) vec3 dPdy) )\n"
4003 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4004 "\n"
4005 "))\n"
4006 ""
4007;
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004008static const char *builtin_textureLod =
4009 "((function textureLod\n"
4010 " (signature vec4\n"
4011 " (parameters\n"
4012 " (declare (in) sampler1D sampler)\n"
4013 " (declare (in) float P) \n"
4014 " (declare (in) float lod) )\n"
4015 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4016 "\n"
4017 " (signature ivec4\n"
4018 " (parameters\n"
4019 " (declare (in) isampler1D sampler)\n"
4020 " (declare (in) float P) \n"
4021 " (declare (in) float lod) )\n"
4022 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4023 "\n"
4024 " (signature uvec4\n"
4025 " (parameters\n"
4026 " (declare (in) usampler1D sampler)\n"
4027 " (declare (in) float P) \n"
4028 " (declare (in) float lod) )\n"
4029 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4030 "\n"
4031 " (signature vec4\n"
4032 " (parameters\n"
4033 " (declare (in) sampler2D sampler)\n"
4034 " (declare (in) vec2 P) \n"
4035 " (declare (in) float lod) )\n"
4036 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4037 "\n"
4038 " (signature ivec4\n"
4039 " (parameters\n"
4040 " (declare (in) isampler2D sampler)\n"
4041 " (declare (in) vec2 P) \n"
4042 " (declare (in) float lod) )\n"
4043 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4044 "\n"
4045 " (signature uvec4\n"
4046 " (parameters\n"
4047 " (declare (in) usampler2D sampler)\n"
4048 " (declare (in) vec2 P) \n"
4049 " (declare (in) float lod) )\n"
4050 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4051 "\n"
4052 " (signature vec4\n"
4053 " (parameters\n"
4054 " (declare (in) sampler3D sampler)\n"
4055 " (declare (in) vec3 P) \n"
4056 " (declare (in) float lod) )\n"
4057 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4058 "\n"
4059 " (signature ivec4\n"
4060 " (parameters\n"
4061 " (declare (in) isampler3D sampler)\n"
4062 " (declare (in) vec3 P) \n"
4063 " (declare (in) float lod) )\n"
4064 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4065 "\n"
4066 " (signature uvec4\n"
4067 " (parameters\n"
4068 " (declare (in) usampler3D sampler)\n"
4069 " (declare (in) vec3 P) \n"
4070 " (declare (in) float lod) )\n"
4071 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4072 "\n"
4073 " (signature vec4\n"
4074 " (parameters\n"
4075 " (declare (in) samplerCube sampler)\n"
4076 " (declare (in) vec3 P) \n"
4077 " (declare (in) float lod) )\n"
4078 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4079 "\n"
4080 " (signature ivec4\n"
4081 " (parameters\n"
4082 " (declare (in) isamplerCube sampler)\n"
4083 " (declare (in) vec3 P) \n"
4084 " (declare (in) float lod) )\n"
4085 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4086 "\n"
4087 " (signature uvec4\n"
4088 " (parameters\n"
4089 " (declare (in) usamplerCube sampler)\n"
4090 " (declare (in) vec3 P) \n"
4091 " (declare (in) float lod) )\n"
4092 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4093 "\n"
4094 " (signature vec4\n"
4095 " (parameters\n"
4096 " (declare (in) sampler1DArray sampler)\n"
4097 " (declare (in) vec2 P) \n"
4098 " (declare (in) float lod) )\n"
4099 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4100 "\n"
4101 " (signature ivec4\n"
4102 " (parameters\n"
4103 " (declare (in) isampler1DArray sampler)\n"
4104 " (declare (in) vec2 P) \n"
4105 " (declare (in) float lod) )\n"
4106 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4107 "\n"
4108 " (signature uvec4\n"
4109 " (parameters\n"
4110 " (declare (in) usampler1DArray sampler)\n"
4111 " (declare (in) vec2 P) \n"
4112 " (declare (in) float lod) )\n"
4113 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4114 "\n"
4115 " (signature vec4\n"
4116 " (parameters\n"
4117 " (declare (in) sampler2DArray sampler)\n"
4118 " (declare (in) vec3 P) \n"
4119 " (declare (in) float lod) )\n"
4120 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4121 "\n"
4122 " (signature ivec4\n"
4123 " (parameters\n"
4124 " (declare (in) isampler2DArray sampler)\n"
4125 " (declare (in) vec3 P) \n"
4126 " (declare (in) float lod) )\n"
4127 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4128 "\n"
4129 " (signature uvec4\n"
4130 " (parameters\n"
4131 " (declare (in) usampler2DArray sampler)\n"
4132 " (declare (in) vec3 P) \n"
4133 " (declare (in) float lod) )\n"
4134 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4135 "\n"
4136 "))\n"
4137 ""
4138;
Eric Anholt47003a82010-08-23 12:39:35 -07004139static const char *builtin_textureProj =
4140 "((function textureProj\n"
4141 " (signature vec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004142 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004143 " (declare (in) sampler1D sampler)\n"
4144 " (declare (in) vec2 P) )\n"
4145 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004146 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004147 " (signature ivec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004148 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004149 " (declare (in) isampler1D sampler)\n"
4150 " (declare (in) vec2 P) )\n"
4151 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004152 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004153 " (signature uvec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004154 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004155 " (declare (in) usampler1D sampler)\n"
4156 " (declare (in) vec2 P) )\n"
4157 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004158 "\n"
4159 " (signature vec4\n"
4160 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004161 " (declare (in) sampler1D sampler)\n"
4162 " (declare (in) vec4 P) )\n"
4163 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004164 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004165 " (signature ivec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004166 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004167 " (declare (in) isampler1D sampler)\n"
4168 " (declare (in) vec4 P) )\n"
4169 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004170 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004171 " (signature uvec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004172 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004173 " (declare (in) usampler1D sampler)\n"
4174 " (declare (in) vec4 P) )\n"
4175 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004176 "\n"
4177 " (signature vec4\n"
4178 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004179 " (declare (in) sampler2D sampler)\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004180 " (declare (in) vec3 P) )\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004181 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
4182 "\n"
4183 " (signature ivec4\n"
4184 " (parameters\n"
4185 " (declare (in) isampler2D sampler)\n"
4186 " (declare (in) vec3 P) )\n"
4187 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
4188 "\n"
4189 " (signature uvec4\n"
4190 " (parameters\n"
4191 " (declare (in) usampler2D sampler)\n"
4192 " (declare (in) vec3 P) )\n"
4193 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
4194 "\n"
4195 " (signature vec4\n"
4196 " (parameters\n"
4197 " (declare (in) sampler2D sampler)\n"
4198 " (declare (in) vec4 P) )\n"
4199 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4200 "\n"
4201 " (signature ivec4\n"
4202 " (parameters\n"
4203 " (declare (in) isampler2D sampler)\n"
4204 " (declare (in) vec4 P) )\n"
4205 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4206 "\n"
4207 " (signature uvec4\n"
4208 " (parameters\n"
4209 " (declare (in) usampler2D sampler)\n"
4210 " (declare (in) vec4 P) )\n"
4211 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4212 "\n"
4213 " (signature vec4\n"
4214 " (parameters\n"
4215 " (declare (in) sampler3D sampler)\n"
4216 " (declare (in) vec4 P) )\n"
4217 " ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4218 "\n"
4219 " (signature ivec4\n"
4220 " (parameters\n"
4221 " (declare (in) isampler3D sampler)\n"
4222 " (declare (in) vec4 P) )\n"
4223 " ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4224 "\n"
4225 " (signature uvec4\n"
4226 " (parameters\n"
4227 " (declare (in) usampler3D sampler)\n"
4228 " (declare (in) vec4 P) )\n"
4229 " ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4230 "\n"
4231 " (signature vec4\n"
4232 " (parameters\n"
4233 " (declare (in) sampler1D sampler)\n"
4234 " (declare (in) vec2 P) \n"
4235 " (declare (in) float bias) )\n"
4236 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
4237 "\n"
4238 " (signature ivec4\n"
4239 " (parameters\n"
4240 " (declare (in) isampler1D sampler)\n"
4241 " (declare (in) vec2 P) \n"
4242 " (declare (in) float bias) )\n"
4243 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
4244 "\n"
4245 " (signature uvec4\n"
4246 " (parameters\n"
4247 " (declare (in) usampler1D sampler)\n"
4248 " (declare (in) vec2 P) \n"
4249 " (declare (in) float bias) )\n"
4250 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
4251 "\n"
4252 " (signature vec4\n"
4253 " (parameters\n"
4254 " (declare (in) sampler1D sampler)\n"
4255 " (declare (in) vec4 P) \n"
4256 " (declare (in) float bias) )\n"
4257 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4258 "\n"
4259 " (signature ivec4\n"
4260 " (parameters\n"
4261 " (declare (in) isampler1D sampler)\n"
4262 " (declare (in) vec4 P) \n"
4263 " (declare (in) float bias) )\n"
4264 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4265 "\n"
4266 " (signature uvec4\n"
4267 " (parameters\n"
4268 " (declare (in) usampler1D sampler)\n"
4269 " (declare (in) vec4 P) \n"
4270 " (declare (in) float bias) )\n"
4271 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4272 "\n"
4273 " (signature vec4\n"
4274 " (parameters\n"
4275 " (declare (in) sampler2D sampler)\n"
4276 " (declare (in) vec3 P) \n"
4277 " (declare (in) float bias) )\n"
4278 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
4279 "\n"
4280 " (signature ivec4\n"
4281 " (parameters\n"
4282 " (declare (in) isampler2D sampler)\n"
4283 " (declare (in) vec3 P) \n"
4284 " (declare (in) float bias) )\n"
4285 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
4286 "\n"
4287 " (signature uvec4\n"
4288 " (parameters\n"
4289 " (declare (in) usampler2D sampler)\n"
4290 " (declare (in) vec3 P) \n"
4291 " (declare (in) float bias) )\n"
4292 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
4293 "\n"
4294 " (signature vec4\n"
4295 " (parameters\n"
4296 " (declare (in) sampler2D sampler)\n"
4297 " (declare (in) vec4 P) \n"
4298 " (declare (in) float bias) )\n"
4299 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4300 "\n"
4301 " (signature ivec4\n"
4302 " (parameters\n"
4303 " (declare (in) isampler2D sampler)\n"
4304 " (declare (in) vec4 P) \n"
4305 " (declare (in) float bias) )\n"
4306 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4307 "\n"
4308 " (signature uvec4\n"
4309 " (parameters\n"
4310 " (declare (in) usampler2D sampler)\n"
4311 " (declare (in) vec4 P) \n"
4312 " (declare (in) float bias) )\n"
4313 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4314 "\n"
4315 " (signature vec4\n"
4316 " (parameters\n"
4317 " (declare (in) sampler3D sampler)\n"
4318 " (declare (in) vec4 P) \n"
4319 " (declare (in) float bias) )\n"
4320 " ((return (txb (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4321 "\n"
4322 " (signature ivec4\n"
4323 " (parameters\n"
4324 " (declare (in) isampler3D sampler)\n"
4325 " (declare (in) vec4 P) \n"
4326 " (declare (in) float bias) )\n"
4327 " ((return (txb (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4328 "\n"
4329 " (signature uvec4\n"
4330 " (parameters\n"
4331 " (declare (in) usampler3D sampler)\n"
4332 " (declare (in) vec4 P) \n"
4333 " (declare (in) float bias) )\n"
4334 " ((return (txb (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004335 "\n"
4336 "))\n"
4337 ""
4338;
Eric Anholt47003a82010-08-23 12:39:35 -07004339static const char *builtin_textureProjGrad =
4340 "((function textureProjGrad\n"
4341 " (signature vec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004342 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004343 " (declare (in) sampler1D sampler)\n"
4344 " (declare (in) vec2 P) \n"
4345 " (declare (in) float dPdx) \n"
4346 " (declare (in) float dPdy) )\n"
4347 " ((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"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004348 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004349 " (signature ivec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004350 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004351 " (declare (in) isampler1D sampler)\n"
4352 " (declare (in) vec2 P) \n"
4353 " (declare (in) float dPdx) \n"
4354 " (declare (in) float dPdy) )\n"
4355 " ((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"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004356 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004357 " (signature uvec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004358 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004359 " (declare (in) usampler1D sampler)\n"
4360 " (declare (in) vec2 P) \n"
4361 " (declare (in) float dPdx) \n"
4362 " (declare (in) float dPdy) )\n"
4363 " ((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"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004364 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004365 " (signature vec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004366 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004367 " (declare (in) sampler1D sampler)\n"
4368 " (declare (in) vec4 P) \n"
4369 " (declare (in) float dPdx) \n"
4370 " (declare (in) float dPdy) )\n"
4371 " ((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"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004372 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004373 " (signature ivec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004374 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004375 " (declare (in) isampler1D sampler)\n"
4376 " (declare (in) vec4 P) \n"
4377 " (declare (in) float dPdx) \n"
4378 " (declare (in) float dPdy) )\n"
4379 " ((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"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004380 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004381 " (signature uvec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004382 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004383 " (declare (in) usampler1D sampler)\n"
4384 " (declare (in) vec4 P) \n"
4385 " (declare (in) float dPdx) \n"
4386 " (declare (in) float dPdy) )\n"
4387 " ((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"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004388 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004389 " (signature vec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004390 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004391 " (declare (in) sampler2D sampler)\n"
4392 " (declare (in) vec3 P) \n"
4393 " (declare (in) vec2 dPdx) \n"
4394 " (declare (in) vec2 dPdy) )\n"
4395 " ((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"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004396 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004397 " (signature ivec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004398 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004399 " (declare (in) isampler2D sampler)\n"
4400 " (declare (in) vec3 P) \n"
4401 " (declare (in) vec2 dPdx) \n"
4402 " (declare (in) vec2 dPdy) )\n"
4403 " ((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"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004404 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004405 " (signature uvec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004406 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004407 " (declare (in) usampler2D sampler)\n"
4408 " (declare (in) vec3 P) \n"
4409 " (declare (in) vec2 dPdx) \n"
4410 " (declare (in) vec2 dPdy) )\n"
4411 " ((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"
4412 "\n"
4413 " (signature vec4\n"
4414 " (parameters\n"
4415 " (declare (in) sampler2D sampler)\n"
4416 " (declare (in) vec4 P) \n"
4417 " (declare (in) vec2 dPdx) \n"
4418 " (declare (in) vec2 dPdy) )\n"
4419 " ((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"
4420 "\n"
4421 " (signature ivec4\n"
4422 " (parameters\n"
4423 " (declare (in) isampler2D sampler)\n"
4424 " (declare (in) vec4 P) \n"
4425 " (declare (in) vec2 dPdx) \n"
4426 " (declare (in) vec2 dPdy) )\n"
4427 " ((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"
4428 "\n"
4429 " (signature uvec4\n"
4430 " (parameters\n"
4431 " (declare (in) usampler2D sampler)\n"
4432 " (declare (in) vec4 P) \n"
4433 " (declare (in) vec2 dPdx) \n"
4434 " (declare (in) vec2 dPdy) )\n"
4435 " ((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"
4436 "\n"
4437 " (signature vec4\n"
4438 " (parameters\n"
4439 " (declare (in) sampler3D sampler)\n"
4440 " (declare (in) vec4 P) \n"
4441 " (declare (in) vec3 dPdx) \n"
4442 " (declare (in) vec3 dPdy) )\n"
4443 " ((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"
4444 "\n"
4445 " (signature ivec4\n"
4446 " (parameters\n"
4447 " (declare (in) isampler3D sampler)\n"
4448 " (declare (in) vec4 P) \n"
4449 " (declare (in) vec3 dPdx) \n"
4450 " (declare (in) vec3 dPdy) )\n"
4451 " ((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"
4452 "\n"
4453 " (signature uvec4\n"
4454 " (parameters\n"
4455 " (declare (in) usampler3D sampler)\n"
4456 " (declare (in) vec4 P) \n"
4457 " (declare (in) vec3 dPdx) \n"
4458 " (declare (in) vec3 dPdy) )\n"
4459 " ((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"
4460 "\n"
4461 "))\n"
4462 ""
4463;
4464static const char *builtin_textureProjLod =
4465 "((function textureProjLod\n"
4466 " (signature vec4\n"
4467 " (parameters\n"
4468 " (declare (in) sampler1D sampler)\n"
4469 " (declare (in) vec2 P) \n"
4470 " (declare (in) float lod) )\n"
4471 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
4472 "\n"
4473 " (signature ivec4\n"
4474 " (parameters\n"
4475 " (declare (in) isampler1D sampler)\n"
4476 " (declare (in) vec2 P) \n"
4477 " (declare (in) float lod) )\n"
4478 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
4479 "\n"
4480 " (signature uvec4\n"
4481 " (parameters\n"
4482 " (declare (in) usampler1D sampler)\n"
4483 " (declare (in) vec2 P) \n"
4484 " (declare (in) float lod) )\n"
4485 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
4486 "\n"
4487 " (signature vec4\n"
4488 " (parameters\n"
4489 " (declare (in) sampler1D sampler)\n"
4490 " (declare (in) vec4 P) \n"
4491 " (declare (in) float lod) )\n"
4492 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4493 "\n"
4494 " (signature ivec4\n"
4495 " (parameters\n"
4496 " (declare (in) isampler1D sampler)\n"
4497 " (declare (in) vec4 P) \n"
4498 " (declare (in) float lod) )\n"
4499 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4500 "\n"
4501 " (signature uvec4\n"
4502 " (parameters\n"
4503 " (declare (in) usampler1D sampler)\n"
4504 " (declare (in) vec4 P) \n"
4505 " (declare (in) float lod) )\n"
4506 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4507 "\n"
4508 " (signature vec4\n"
4509 " (parameters\n"
4510 " (declare (in) sampler2D sampler)\n"
4511 " (declare (in) vec3 P) \n"
4512 " (declare (in) float lod) )\n"
4513 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
4514 "\n"
4515 " (signature ivec4\n"
4516 " (parameters\n"
4517 " (declare (in) isampler2D sampler)\n"
4518 " (declare (in) vec3 P) \n"
4519 " (declare (in) float lod) )\n"
4520 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
4521 "\n"
4522 " (signature uvec4\n"
4523 " (parameters\n"
4524 " (declare (in) usampler2D sampler)\n"
4525 " (declare (in) vec3 P) \n"
4526 " (declare (in) float lod) )\n"
4527 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
4528 "\n"
4529 " (signature vec4\n"
4530 " (parameters\n"
4531 " (declare (in) sampler2D sampler)\n"
4532 " (declare (in) vec4 P) \n"
4533 " (declare (in) float lod) )\n"
4534 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4535 "\n"
4536 " (signature ivec4\n"
4537 " (parameters\n"
4538 " (declare (in) isampler2D sampler)\n"
4539 " (declare (in) vec4 P) \n"
4540 " (declare (in) float lod) )\n"
4541 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4542 "\n"
4543 " (signature uvec4\n"
4544 " (parameters\n"
4545 " (declare (in) usampler2D sampler)\n"
4546 " (declare (in) vec4 P) \n"
4547 " (declare (in) float lod) )\n"
4548 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4549 "\n"
4550 " (signature vec4\n"
4551 " (parameters\n"
4552 " (declare (in) sampler3D sampler)\n"
4553 " (declare (in) vec4 P) \n"
4554 " (declare (in) float lod) )\n"
4555 " ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4556 "\n"
4557 " (signature ivec4\n"
4558 " (parameters\n"
4559 " (declare (in) isampler3D sampler)\n"
4560 " (declare (in) vec4 P) \n"
4561 " (declare (in) float lod) )\n"
4562 " ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4563 "\n"
4564 " (signature uvec4\n"
4565 " (parameters\n"
4566 " (declare (in) usampler3D sampler)\n"
4567 " (declare (in) vec4 P) \n"
4568 " (declare (in) float lod) )\n"
4569 " ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4570 "\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004571 "))\n"
4572 ""
4573;
4574static const char *builtin_transpose =
4575 "((function transpose\n"
4576 " (signature mat2\n"
4577 " (parameters\n"
4578 " (declare (in) mat2 m))\n"
4579 " ((declare () mat2 t)\n"
4580 " (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"
4581 " (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"
4582 " (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"
4583 " (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"
4584 "(return (var_ref t))))\n"
4585 "\n"
4586 " (signature mat3x2\n"
4587 " (parameters\n"
4588 " (declare (in) mat2x3 m))\n"
4589 " ((declare () mat3x2 t)\n"
4590 " (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"
4591 " (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"
4592 " (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"
4593 " (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"
4594 " (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"
4595 " (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"
4596 "(return (var_ref t))))\n"
4597 "\n"
4598 " (signature mat4x2\n"
4599 " (parameters\n"
4600 " (declare (in) mat2x4 m))\n"
4601 " ((declare () mat4x2 t)\n"
4602 " (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"
4603 " (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"
4604 " (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"
4605 " (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"
4606 " (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"
4607 " (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"
4608 " (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"
4609 " (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"
4610 "(return (var_ref t))))\n"
4611 "\n"
4612 " (signature mat2x3\n"
4613 " (parameters\n"
4614 " (declare (in) mat3x2 m))\n"
4615 " ((declare () mat2x3 t)\n"
4616 " (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"
4617 " (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"
4618 " (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"
4619 " (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"
4620 " (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"
4621 " (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"
4622 "(return (var_ref t))))\n"
4623 "\n"
4624 " (signature mat3\n"
4625 " (parameters\n"
4626 " (declare (in) mat3 m))\n"
4627 " ((declare () mat3 t)\n"
4628 " (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"
4629 " (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"
4630 " (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"
4631 " (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"
4632 " (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"
4633 " (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"
4634 " (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"
4635 " (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"
4636 " (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"
4637 "(return (var_ref t))))\n"
4638 "\n"
4639 " (signature mat4x3\n"
4640 " (parameters\n"
4641 " (declare (in) mat3x4 m))\n"
4642 " ((declare () mat4x3 t)\n"
4643 " (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"
4644 " (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"
4645 " (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"
4646 " (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"
4647 " (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"
4648 " (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"
4649 " (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"
4650 " (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"
4651 " (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"
4652 " (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"
4653 " (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"
4654 " (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"
4655 "(return (var_ref t))))\n"
4656 "\n"
4657 " (signature mat2x4\n"
4658 " (parameters\n"
4659 " (declare (in) mat4x2 m))\n"
4660 " ((declare () mat2x4 t)\n"
4661 " (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"
4662 " (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"
4663 " (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"
4664 " (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"
4665 " (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"
4666 " (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"
4667 " (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"
4668 " (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"
4669 "(return (var_ref t))))\n"
4670 "\n"
4671 " (signature mat3x4\n"
4672 " (parameters\n"
4673 " (declare (in) mat4x3 m))\n"
4674 " ((declare () mat3x4 t)\n"
4675 " (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"
4676 " (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"
4677 " (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"
4678 " (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"
4679 " (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"
4680 " (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"
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 " (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"
4684 " (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"
4685 " (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"
4686 " (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"
4687 "(return (var_ref t))))\n"
4688 "\n"
4689 " (signature mat4\n"
4690 " (parameters\n"
4691 " (declare (in) mat4 m))\n"
4692 " ((declare () mat4 t)\n"
4693 " (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"
4694 " (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"
4695 " (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"
4696 " (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"
4697 " (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"
4698 " (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"
4699 " (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"
4700 " (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"
4701 " (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"
4702 " (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"
4703 " (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"
4704 " (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"
4705 " (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"
4706 " (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"
4707 " (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"
4708 " (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"
4709 "(return (var_ref t))))\n"
4710 ")\n"
4711 "\n"
4712 ")\n"
4713 "\n"
4714 ""
4715;
Eric Anholt47003a82010-08-23 12:39:35 -07004716static const char *prototypes_for_110_frag =
4717 "(\n"
4718 "(function radians\n"
Eric Anholt3fa1b852010-07-30 10:20:34 -07004719 " (signature float\n"
4720 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004721 " (declare (in) float degrees))\n"
4722 " ())\n"
4723 " (signature vec2\n"
4724 " (parameters\n"
4725 " (declare (in) vec2 degrees))\n"
4726 " ())\n"
4727 " (signature vec3\n"
4728 " (parameters\n"
4729 " (declare (in) vec3 degrees))\n"
4730 " ())\n"
4731 " (signature vec4\n"
4732 " (parameters\n"
4733 " (declare (in) vec4 degrees))\n"
4734 " ()))\n"
4735 "(function degrees\n"
4736 " (signature float\n"
4737 " (parameters\n"
4738 " (declare (in) float radians))\n"
4739 " ())\n"
4740 " (signature vec2\n"
4741 " (parameters\n"
4742 " (declare (in) vec2 radians))\n"
4743 " ())\n"
4744 " (signature vec3\n"
4745 " (parameters\n"
4746 " (declare (in) vec3 radians))\n"
4747 " ())\n"
4748 " (signature vec4\n"
4749 " (parameters\n"
4750 " (declare (in) vec4 radians))\n"
4751 " ()))\n"
4752 "(function sin\n"
4753 " (signature float\n"
4754 " (parameters\n"
4755 " (declare (in) float angle))\n"
4756 " ())\n"
4757 " (signature vec2\n"
4758 " (parameters\n"
4759 " (declare (in) vec2 angle))\n"
4760 " ())\n"
4761 " (signature vec3\n"
4762 " (parameters\n"
4763 " (declare (in) vec3 angle))\n"
4764 " ())\n"
4765 " (signature vec4\n"
4766 " (parameters\n"
4767 " (declare (in) vec4 angle))\n"
4768 " ()))\n"
4769 "(function cos\n"
4770 " (signature float\n"
4771 " (parameters\n"
4772 " (declare (in) float angle))\n"
4773 " ())\n"
4774 " (signature vec2\n"
4775 " (parameters\n"
4776 " (declare (in) vec2 angle))\n"
4777 " ())\n"
4778 " (signature vec3\n"
4779 " (parameters\n"
4780 " (declare (in) vec3 angle))\n"
4781 " ())\n"
4782 " (signature vec4\n"
4783 " (parameters\n"
4784 " (declare (in) vec4 angle))\n"
4785 " ()))\n"
4786 "(function tan\n"
4787 " (signature float\n"
4788 " (parameters\n"
4789 " (declare (in) float angle))\n"
4790 " ())\n"
4791 " (signature vec2\n"
4792 " (parameters\n"
4793 " (declare (in) vec2 angle))\n"
4794 " ())\n"
4795 " (signature vec3\n"
4796 " (parameters\n"
4797 " (declare (in) vec3 angle))\n"
4798 " ())\n"
4799 " (signature vec4\n"
4800 " (parameters\n"
4801 " (declare (in) vec4 angle))\n"
4802 " ()))\n"
4803 "(function asin\n"
4804 " (signature float\n"
4805 " (parameters\n"
4806 " (declare (in) float angle))\n"
4807 " ())\n"
4808 " (signature vec2\n"
4809 " (parameters\n"
4810 " (declare (in) vec2 angle))\n"
4811 " ())\n"
4812 " (signature vec3\n"
4813 " (parameters\n"
4814 " (declare (in) vec3 angle))\n"
4815 " ())\n"
4816 " (signature vec4\n"
4817 " (parameters\n"
4818 " (declare (in) vec4 angle))\n"
4819 " ()))\n"
4820 "(function acos\n"
4821 " (signature float\n"
4822 " (parameters\n"
4823 " (declare (in) float angle))\n"
4824 " ())\n"
4825 " (signature vec2\n"
4826 " (parameters\n"
4827 " (declare (in) vec2 angle))\n"
4828 " ())\n"
4829 " (signature vec3\n"
4830 " (parameters\n"
4831 " (declare (in) vec3 angle))\n"
4832 " ())\n"
4833 " (signature vec4\n"
4834 " (parameters\n"
4835 " (declare (in) vec4 angle))\n"
4836 " ()))\n"
4837 "(function atan\n"
4838 " (signature float\n"
4839 " (parameters\n"
4840 " (declare (in) float y)\n"
4841 " (declare (in) float x))\n"
4842 " ())\n"
4843 " (signature vec2\n"
4844 " (parameters\n"
4845 " (declare (in) vec2 y)\n"
4846 " (declare (in) vec2 x))\n"
4847 " ())\n"
4848 " (signature vec3\n"
4849 " (parameters\n"
4850 " (declare (in) vec3 y)\n"
4851 " (declare (in) vec3 x))\n"
4852 " ())\n"
4853 " (signature vec4\n"
4854 " (parameters\n"
4855 " (declare (in) vec4 y)\n"
4856 " (declare (in) vec4 x))\n"
4857 " ())\n"
4858 " (signature float\n"
4859 " (parameters\n"
4860 " (declare (in) float y_over_x))\n"
4861 " ())\n"
4862 " (signature vec2\n"
4863 " (parameters\n"
4864 " (declare (in) vec2 y_over_x))\n"
4865 " ())\n"
4866 " (signature vec3\n"
4867 " (parameters\n"
4868 " (declare (in) vec3 y_over_x))\n"
4869 " ())\n"
4870 " (signature vec4\n"
4871 " (parameters\n"
4872 " (declare (in) vec4 y_over_x))\n"
4873 " ()))\n"
4874 "(function pow\n"
4875 " (signature float\n"
4876 " (parameters\n"
4877 " (declare (in) float x)\n"
4878 " (declare (in) float y))\n"
4879 " ())\n"
4880 " (signature vec2\n"
4881 " (parameters\n"
4882 " (declare (in) vec2 x)\n"
4883 " (declare (in) vec2 y))\n"
4884 " ())\n"
4885 " (signature vec3\n"
4886 " (parameters\n"
4887 " (declare (in) vec3 x)\n"
4888 " (declare (in) vec3 y))\n"
4889 " ())\n"
4890 " (signature vec4\n"
4891 " (parameters\n"
4892 " (declare (in) vec4 x)\n"
4893 " (declare (in) vec4 y))\n"
4894 " ()))\n"
4895 "(function exp\n"
4896 " (signature float\n"
4897 " (parameters\n"
4898 " (declare (in) float x))\n"
4899 " ())\n"
4900 " (signature vec2\n"
4901 " (parameters\n"
4902 " (declare (in) vec2 x))\n"
4903 " ())\n"
4904 " (signature vec3\n"
4905 " (parameters\n"
4906 " (declare (in) vec3 x))\n"
4907 " ())\n"
4908 " (signature vec4\n"
4909 " (parameters\n"
4910 " (declare (in) vec4 x))\n"
4911 " ()))\n"
4912 "(function log\n"
4913 " (signature float\n"
4914 " (parameters\n"
4915 " (declare (in) float x))\n"
4916 " ())\n"
4917 " (signature vec2\n"
4918 " (parameters\n"
4919 " (declare (in) vec2 x))\n"
4920 " ())\n"
4921 " (signature vec3\n"
4922 " (parameters\n"
4923 " (declare (in) vec3 x))\n"
4924 " ())\n"
4925 " (signature vec4\n"
4926 " (parameters\n"
4927 " (declare (in) vec4 x))\n"
4928 " ()))\n"
4929 "(function exp2\n"
4930 " (signature float\n"
4931 " (parameters\n"
4932 " (declare (in) float x))\n"
4933 " ())\n"
4934 " (signature vec2\n"
4935 " (parameters\n"
4936 " (declare (in) vec2 x))\n"
4937 " ())\n"
4938 " (signature vec3\n"
4939 " (parameters\n"
4940 " (declare (in) vec3 x))\n"
4941 " ())\n"
4942 " (signature vec4\n"
4943 " (parameters\n"
4944 " (declare (in) vec4 x))\n"
4945 " ()))\n"
4946 "(function log2\n"
4947 " (signature float\n"
4948 " (parameters\n"
4949 " (declare (in) float x))\n"
4950 " ())\n"
4951 " (signature vec2\n"
4952 " (parameters\n"
4953 " (declare (in) vec2 x))\n"
4954 " ())\n"
4955 " (signature vec3\n"
4956 " (parameters\n"
4957 " (declare (in) vec3 x))\n"
4958 " ())\n"
4959 " (signature vec4\n"
4960 " (parameters\n"
4961 " (declare (in) vec4 x))\n"
4962 " ()))\n"
4963 "(function sqrt\n"
4964 " (signature float\n"
4965 " (parameters\n"
4966 " (declare (in) float x))\n"
4967 " ())\n"
4968 " (signature vec2\n"
4969 " (parameters\n"
4970 " (declare (in) vec2 x))\n"
4971 " ())\n"
4972 " (signature vec3\n"
4973 " (parameters\n"
4974 " (declare (in) vec3 x))\n"
4975 " ())\n"
4976 " (signature vec4\n"
4977 " (parameters\n"
4978 " (declare (in) vec4 x))\n"
4979 " ()))\n"
4980 "(function inversesqrt\n"
4981 " (signature float\n"
4982 " (parameters\n"
4983 " (declare (in) float x))\n"
4984 " ())\n"
4985 " (signature vec2\n"
4986 " (parameters\n"
4987 " (declare (in) vec2 x))\n"
4988 " ())\n"
4989 " (signature vec3\n"
4990 " (parameters\n"
4991 " (declare (in) vec3 x))\n"
4992 " ())\n"
4993 " (signature vec4\n"
4994 " (parameters\n"
4995 " (declare (in) vec4 x))\n"
4996 " ()))\n"
4997 "(function abs\n"
4998 " (signature float\n"
4999 " (parameters\n"
5000 " (declare (in) float x))\n"
5001 " ())\n"
5002 " (signature vec2\n"
5003 " (parameters\n"
5004 " (declare (in) vec2 x))\n"
5005 " ())\n"
5006 " (signature vec3\n"
5007 " (parameters\n"
5008 " (declare (in) vec3 x))\n"
5009 " ())\n"
5010 " (signature vec4\n"
5011 " (parameters\n"
5012 " (declare (in) vec4 x))\n"
5013 " ()))\n"
5014 "(function sign\n"
5015 " (signature float\n"
5016 " (parameters\n"
5017 " (declare (in) float x))\n"
5018 " ())\n"
5019 " (signature vec2\n"
5020 " (parameters\n"
5021 " (declare (in) vec2 x))\n"
5022 " ())\n"
5023 " (signature vec3\n"
5024 " (parameters\n"
5025 " (declare (in) vec3 x))\n"
5026 " ())\n"
5027 " (signature vec4\n"
5028 " (parameters\n"
5029 " (declare (in) vec4 x))\n"
5030 " ()))\n"
5031 "(function floor\n"
5032 " (signature float\n"
5033 " (parameters\n"
5034 " (declare (in) float x))\n"
5035 " ())\n"
5036 " (signature vec2\n"
5037 " (parameters\n"
5038 " (declare (in) vec2 x))\n"
5039 " ())\n"
5040 " (signature vec3\n"
5041 " (parameters\n"
5042 " (declare (in) vec3 x))\n"
5043 " ())\n"
5044 " (signature vec4\n"
5045 " (parameters\n"
5046 " (declare (in) vec4 x))\n"
5047 " ()))\n"
5048 "(function ceil\n"
5049 " (signature float\n"
5050 " (parameters\n"
5051 " (declare (in) float x))\n"
5052 " ())\n"
5053 " (signature vec2\n"
5054 " (parameters\n"
5055 " (declare (in) vec2 x))\n"
5056 " ())\n"
5057 " (signature vec3\n"
5058 " (parameters\n"
5059 " (declare (in) vec3 x))\n"
5060 " ())\n"
5061 " (signature vec4\n"
5062 " (parameters\n"
5063 " (declare (in) vec4 x))\n"
5064 " ()))\n"
5065 "(function fract\n"
5066 " (signature float\n"
5067 " (parameters\n"
5068 " (declare (in) float x))\n"
5069 " ())\n"
5070 " (signature vec2\n"
5071 " (parameters\n"
5072 " (declare (in) vec2 x))\n"
5073 " ())\n"
5074 " (signature vec3\n"
5075 " (parameters\n"
5076 " (declare (in) vec3 x))\n"
5077 " ())\n"
5078 " (signature vec4\n"
5079 " (parameters\n"
5080 " (declare (in) vec4 x))\n"
5081 " ()))\n"
5082 "(function mod\n"
5083 " (signature float\n"
5084 " (parameters\n"
5085 " (declare (in) float x)\n"
5086 " (declare (in) float y))\n"
5087 " ())\n"
5088 " (signature vec2\n"
5089 " (parameters\n"
5090 " (declare (in) vec2 x)\n"
5091 " (declare (in) float y))\n"
5092 " ())\n"
5093 " (signature vec3\n"
5094 " (parameters\n"
5095 " (declare (in) vec3 x)\n"
5096 " (declare (in) float y))\n"
5097 " ())\n"
5098 " (signature vec4\n"
5099 " (parameters\n"
5100 " (declare (in) vec4 x)\n"
5101 " (declare (in) float y))\n"
5102 " ())\n"
5103 " (signature vec2\n"
5104 " (parameters\n"
5105 " (declare (in) vec2 x)\n"
5106 " (declare (in) vec2 y))\n"
5107 " ())\n"
5108 " (signature vec3\n"
5109 " (parameters\n"
5110 " (declare (in) vec3 x)\n"
5111 " (declare (in) vec3 y))\n"
5112 " ())\n"
5113 " (signature vec4\n"
5114 " (parameters\n"
5115 " (declare (in) vec4 x)\n"
5116 " (declare (in) vec4 y))\n"
5117 " ()))\n"
5118 "(function min\n"
5119 " (signature float\n"
5120 " (parameters\n"
5121 " (declare (in) float x)\n"
5122 " (declare (in) float y))\n"
5123 " ())\n"
5124 " (signature vec2\n"
5125 " (parameters\n"
5126 " (declare (in) vec2 x)\n"
5127 " (declare (in) vec2 y))\n"
5128 " ())\n"
5129 " (signature vec3\n"
5130 " (parameters\n"
5131 " (declare (in) vec3 x)\n"
5132 " (declare (in) vec3 y))\n"
5133 " ())\n"
5134 " (signature vec4\n"
5135 " (parameters\n"
5136 " (declare (in) vec4 x)\n"
5137 " (declare (in) vec4 y))\n"
5138 " ())\n"
5139 " (signature vec2\n"
5140 " (parameters\n"
5141 " (declare (in) vec2 x)\n"
5142 " (declare (in) float y))\n"
5143 " ())\n"
5144 " (signature vec3\n"
5145 " (parameters\n"
5146 " (declare (in) vec3 x)\n"
5147 " (declare (in) float y))\n"
5148 " ())\n"
5149 " (signature vec4\n"
5150 " (parameters\n"
5151 " (declare (in) vec4 x)\n"
5152 " (declare (in) float y))\n"
5153 " ()))\n"
5154 "(function max\n"
5155 " (signature float\n"
5156 " (parameters\n"
5157 " (declare (in) float x)\n"
5158 " (declare (in) float y))\n"
5159 " ())\n"
5160 " (signature vec2\n"
5161 " (parameters\n"
5162 " (declare (in) vec2 x)\n"
5163 " (declare (in) vec2 y))\n"
5164 " ())\n"
5165 " (signature vec3\n"
5166 " (parameters\n"
5167 " (declare (in) vec3 x)\n"
5168 " (declare (in) vec3 y))\n"
5169 " ())\n"
5170 " (signature vec4\n"
5171 " (parameters\n"
5172 " (declare (in) vec4 x)\n"
5173 " (declare (in) vec4 y))\n"
5174 " ())\n"
5175 " (signature vec2\n"
5176 " (parameters\n"
5177 " (declare (in) vec2 x)\n"
5178 " (declare (in) float y))\n"
5179 " ())\n"
5180 " (signature vec3\n"
5181 " (parameters\n"
5182 " (declare (in) vec3 x)\n"
5183 " (declare (in) float y))\n"
5184 " ())\n"
5185 " (signature vec4\n"
5186 " (parameters\n"
5187 " (declare (in) vec4 x)\n"
5188 " (declare (in) float y))\n"
5189 " ()))\n"
5190 "(function clamp\n"
5191 " (signature float\n"
5192 " (parameters\n"
5193 " (declare (in) float x)\n"
5194 " (declare (in) float minVal)\n"
5195 " (declare (in) float maxVal))\n"
5196 " ())\n"
5197 " (signature vec2\n"
5198 " (parameters\n"
5199 " (declare (in) vec2 x)\n"
5200 " (declare (in) vec2 minVal)\n"
5201 " (declare (in) vec2 maxVal))\n"
5202 " ())\n"
5203 " (signature vec3\n"
5204 " (parameters\n"
5205 " (declare (in) vec3 x)\n"
5206 " (declare (in) vec3 minVal)\n"
5207 " (declare (in) vec3 maxVal))\n"
5208 " ())\n"
5209 " (signature vec4\n"
5210 " (parameters\n"
5211 " (declare (in) vec4 x)\n"
5212 " (declare (in) vec4 minVal)\n"
5213 " (declare (in) vec4 maxVal))\n"
5214 " ())\n"
5215 " (signature vec2\n"
5216 " (parameters\n"
5217 " (declare (in) vec2 x)\n"
5218 " (declare (in) float minVal)\n"
5219 " (declare (in) float maxVal))\n"
5220 " ())\n"
5221 " (signature vec3\n"
5222 " (parameters\n"
5223 " (declare (in) vec3 x)\n"
5224 " (declare (in) float minVal)\n"
5225 " (declare (in) float maxVal))\n"
5226 " ())\n"
5227 " (signature vec4\n"
5228 " (parameters\n"
5229 " (declare (in) vec4 x)\n"
5230 " (declare (in) float minVal)\n"
5231 " (declare (in) float maxVal))\n"
5232 " ()))\n"
5233 "(function mix\n"
5234 " (signature float\n"
5235 " (parameters\n"
5236 " (declare (in) float x)\n"
5237 " (declare (in) float y)\n"
5238 " (declare (in) float a))\n"
5239 " ())\n"
5240 " (signature vec2\n"
5241 " (parameters\n"
5242 " (declare (in) vec2 x)\n"
5243 " (declare (in) vec2 y)\n"
5244 " (declare (in) vec2 a))\n"
5245 " ())\n"
5246 " (signature vec3\n"
5247 " (parameters\n"
5248 " (declare (in) vec3 x)\n"
5249 " (declare (in) vec3 y)\n"
5250 " (declare (in) vec3 a))\n"
5251 " ())\n"
5252 " (signature vec4\n"
5253 " (parameters\n"
5254 " (declare (in) vec4 x)\n"
5255 " (declare (in) vec4 y)\n"
5256 " (declare (in) vec4 a))\n"
5257 " ())\n"
5258 " (signature vec2\n"
5259 " (parameters\n"
5260 " (declare (in) vec2 x)\n"
5261 " (declare (in) vec2 y)\n"
5262 " (declare (in) float a))\n"
5263 " ())\n"
5264 " (signature vec3\n"
5265 " (parameters\n"
5266 " (declare (in) vec3 x)\n"
5267 " (declare (in) vec3 y)\n"
5268 " (declare (in) float a))\n"
5269 " ())\n"
5270 " (signature vec4\n"
5271 " (parameters\n"
5272 " (declare (in) vec4 x)\n"
5273 " (declare (in) vec4 y)\n"
5274 " (declare (in) float a))\n"
5275 " ()))\n"
5276 "(function step\n"
5277 " (signature float\n"
5278 " (parameters\n"
5279 " (declare (in) float edge)\n"
5280 " (declare (in) float x))\n"
5281 " ())\n"
5282 " (signature vec2\n"
5283 " (parameters\n"
5284 " (declare (in) vec2 edge)\n"
5285 " (declare (in) vec2 x))\n"
5286 " ())\n"
5287 " (signature vec3\n"
5288 " (parameters\n"
5289 " (declare (in) vec3 edge)\n"
5290 " (declare (in) vec3 x))\n"
5291 " ())\n"
5292 " (signature vec4\n"
5293 " (parameters\n"
5294 " (declare (in) vec4 edge)\n"
5295 " (declare (in) vec4 x))\n"
5296 " ())\n"
5297 " (signature vec2\n"
5298 " (parameters\n"
5299 " (declare (in) float edge)\n"
5300 " (declare (in) vec2 x))\n"
5301 " ())\n"
5302 " (signature vec3\n"
5303 " (parameters\n"
5304 " (declare (in) float edge)\n"
5305 " (declare (in) vec3 x))\n"
5306 " ())\n"
5307 " (signature vec4\n"
5308 " (parameters\n"
5309 " (declare (in) float edge)\n"
5310 " (declare (in) vec4 x))\n"
5311 " ()))\n"
5312 "(function smoothstep\n"
5313 " (signature float\n"
5314 " (parameters\n"
5315 " (declare (in) float edge0)\n"
5316 " (declare (in) float edge1)\n"
5317 " (declare (in) float x))\n"
5318 " ())\n"
5319 " (signature vec2\n"
5320 " (parameters\n"
5321 " (declare (in) vec2 edge0)\n"
5322 " (declare (in) vec2 edge1)\n"
5323 " (declare (in) vec2 x))\n"
5324 " ())\n"
5325 " (signature vec3\n"
5326 " (parameters\n"
5327 " (declare (in) vec3 edge0)\n"
5328 " (declare (in) vec3 edge1)\n"
5329 " (declare (in) vec3 x))\n"
5330 " ())\n"
5331 " (signature vec4\n"
5332 " (parameters\n"
5333 " (declare (in) vec4 edge0)\n"
5334 " (declare (in) vec4 edge1)\n"
5335 " (declare (in) vec4 x))\n"
5336 " ())\n"
5337 " (signature vec2\n"
5338 " (parameters\n"
5339 " (declare (in) float edge0)\n"
5340 " (declare (in) float edge1)\n"
5341 " (declare (in) vec2 x))\n"
5342 " ())\n"
5343 " (signature vec3\n"
5344 " (parameters\n"
5345 " (declare (in) float edge0)\n"
5346 " (declare (in) float edge1)\n"
5347 " (declare (in) vec3 x))\n"
5348 " ())\n"
5349 " (signature vec4\n"
5350 " (parameters\n"
5351 " (declare (in) float edge0)\n"
5352 " (declare (in) float edge1)\n"
5353 " (declare (in) vec4 x))\n"
5354 " ()))\n"
5355 "(function length\n"
5356 " (signature float\n"
5357 " (parameters\n"
5358 " (declare (in) float x))\n"
5359 " ())\n"
5360 " (signature float\n"
5361 " (parameters\n"
5362 " (declare (in) vec2 x))\n"
5363 " ())\n"
5364 " (signature float\n"
5365 " (parameters\n"
5366 " (declare (in) vec3 x))\n"
5367 " ())\n"
5368 " (signature float\n"
5369 " (parameters\n"
5370 " (declare (in) vec4 x))\n"
5371 " ()))\n"
5372 "(function distance\n"
5373 " (signature float\n"
5374 " (parameters\n"
5375 " (declare (in) float p0)\n"
5376 " (declare (in) float p1))\n"
5377 " ())\n"
5378 " (signature float\n"
5379 " (parameters\n"
5380 " (declare (in) vec2 p0)\n"
5381 " (declare (in) vec2 p1))\n"
5382 " ())\n"
5383 " (signature float\n"
5384 " (parameters\n"
5385 " (declare (in) vec3 p0)\n"
5386 " (declare (in) vec3 p1))\n"
5387 " ())\n"
5388 " (signature float\n"
5389 " (parameters\n"
5390 " (declare (in) vec4 p0)\n"
5391 " (declare (in) vec4 p1))\n"
5392 " ()))\n"
5393 "(function dot\n"
5394 " (signature float\n"
5395 " (parameters\n"
5396 " (declare (in) float x)\n"
5397 " (declare (in) float y))\n"
5398 " ())\n"
5399 " (signature float\n"
5400 " (parameters\n"
5401 " (declare (in) vec2 x)\n"
5402 " (declare (in) vec2 y))\n"
5403 " ())\n"
5404 " (signature float\n"
5405 " (parameters\n"
5406 " (declare (in) vec3 x)\n"
5407 " (declare (in) vec3 y))\n"
5408 " ())\n"
5409 " (signature float\n"
5410 " (parameters\n"
5411 " (declare (in) vec4 x)\n"
5412 " (declare (in) vec4 y))\n"
5413 " ()))\n"
5414 "(function cross\n"
5415 " (signature vec3\n"
5416 " (parameters\n"
5417 " (declare (in) vec3 x)\n"
5418 " (declare (in) vec3 y))\n"
5419 " ()))\n"
5420 "(function normalize\n"
5421 " (signature float\n"
5422 " (parameters\n"
5423 " (declare (in) float x))\n"
5424 " ())\n"
5425 " (signature vec2\n"
5426 " (parameters\n"
5427 " (declare (in) vec2 x))\n"
5428 " ())\n"
5429 " (signature vec3\n"
5430 " (parameters\n"
5431 " (declare (in) vec3 x))\n"
5432 " ())\n"
5433 " (signature vec4\n"
5434 " (parameters\n"
5435 " (declare (in) vec4 x))\n"
5436 " ()))\n"
5437 "(function faceforward\n"
5438 " (signature float\n"
5439 " (parameters\n"
5440 " (declare (in) float N)\n"
5441 " (declare (in) float I)\n"
5442 " (declare (in) float Nref))\n"
5443 " ())\n"
5444 " (signature vec2\n"
5445 " (parameters\n"
5446 " (declare (in) vec2 N)\n"
5447 " (declare (in) vec2 I)\n"
5448 " (declare (in) vec2 Nref))\n"
5449 " ())\n"
5450 " (signature vec3\n"
5451 " (parameters\n"
5452 " (declare (in) vec3 N)\n"
5453 " (declare (in) vec3 I)\n"
5454 " (declare (in) vec3 Nref))\n"
5455 " ())\n"
5456 " (signature vec4\n"
5457 " (parameters\n"
5458 " (declare (in) vec4 N)\n"
5459 " (declare (in) vec4 I)\n"
5460 " (declare (in) vec4 Nref))\n"
5461 " ()))\n"
5462 "(function reflect\n"
5463 " (signature float\n"
5464 " (parameters\n"
5465 " (declare (in) float I)\n"
5466 " (declare (in) float N))\n"
5467 " ())\n"
5468 " (signature vec2\n"
5469 " (parameters\n"
5470 " (declare (in) vec2 I)\n"
5471 " (declare (in) vec2 N))\n"
5472 " ())\n"
5473 " (signature vec3\n"
5474 " (parameters\n"
5475 " (declare (in) vec3 I)\n"
5476 " (declare (in) vec3 N))\n"
5477 " ())\n"
5478 " (signature vec4\n"
5479 " (parameters\n"
5480 " (declare (in) vec4 I)\n"
5481 " (declare (in) vec4 N))\n"
5482 " ()))\n"
5483 "(function refract\n"
5484 " (signature float\n"
5485 " (parameters\n"
5486 " (declare (in) float I)\n"
5487 " (declare (in) float N)\n"
5488 " (declare (in) float eta))\n"
5489 " ())\n"
5490 " (signature vec2\n"
5491 " (parameters\n"
5492 " (declare (in) vec2 I)\n"
5493 " (declare (in) vec2 N)\n"
5494 " (declare (in) float eta))\n"
5495 " ())\n"
5496 " (signature vec3\n"
5497 " (parameters\n"
5498 " (declare (in) vec3 I)\n"
5499 " (declare (in) vec3 N)\n"
5500 " (declare (in) float eta))\n"
5501 " ())\n"
5502 " (signature vec4\n"
5503 " (parameters\n"
5504 " (declare (in) vec4 I)\n"
5505 " (declare (in) vec4 N)\n"
5506 " (declare (in) float eta))\n"
5507 " ()))\n"
5508 "(function matrixCompMult\n"
5509 " (signature mat2\n"
5510 " (parameters\n"
5511 " (declare (in) mat2 x)\n"
5512 " (declare (in) mat2 y))\n"
5513 " ())\n"
5514 " (signature mat3\n"
5515 " (parameters\n"
5516 " (declare (in) mat3 x)\n"
5517 " (declare (in) mat3 y))\n"
5518 " ())\n"
5519 " (signature mat4\n"
5520 " (parameters\n"
5521 " (declare (in) mat4 x)\n"
5522 " (declare (in) mat4 y))\n"
5523 " ()))\n"
5524 "(function lessThan\n"
5525 " (signature bvec2\n"
5526 " (parameters\n"
5527 " (declare (in) vec2 x)\n"
5528 " (declare (in) vec2 y))\n"
5529 " ())\n"
5530 " (signature bvec3\n"
5531 " (parameters\n"
5532 " (declare (in) vec3 x)\n"
5533 " (declare (in) vec3 y))\n"
5534 " ())\n"
5535 " (signature bvec4\n"
5536 " (parameters\n"
5537 " (declare (in) vec4 x)\n"
5538 " (declare (in) vec4 y))\n"
5539 " ())\n"
5540 " (signature bvec2\n"
5541 " (parameters\n"
5542 " (declare (in) ivec2 x)\n"
5543 " (declare (in) ivec2 y))\n"
5544 " ())\n"
5545 " (signature bvec3\n"
5546 " (parameters\n"
5547 " (declare (in) ivec3 x)\n"
5548 " (declare (in) ivec3 y))\n"
5549 " ())\n"
5550 " (signature bvec4\n"
5551 " (parameters\n"
5552 " (declare (in) ivec4 x)\n"
5553 " (declare (in) ivec4 y))\n"
5554 " ()))\n"
5555 "(function lessThanEqual\n"
5556 " (signature bvec2\n"
5557 " (parameters\n"
5558 " (declare (in) vec2 x)\n"
5559 " (declare (in) vec2 y))\n"
5560 " ())\n"
5561 " (signature bvec3\n"
5562 " (parameters\n"
5563 " (declare (in) vec3 x)\n"
5564 " (declare (in) vec3 y))\n"
5565 " ())\n"
5566 " (signature bvec4\n"
5567 " (parameters\n"
5568 " (declare (in) vec4 x)\n"
5569 " (declare (in) vec4 y))\n"
5570 " ())\n"
5571 " (signature bvec2\n"
5572 " (parameters\n"
5573 " (declare (in) ivec2 x)\n"
5574 " (declare (in) ivec2 y))\n"
5575 " ())\n"
5576 " (signature bvec3\n"
5577 " (parameters\n"
5578 " (declare (in) ivec3 x)\n"
5579 " (declare (in) ivec3 y))\n"
5580 " ())\n"
5581 " (signature bvec4\n"
5582 " (parameters\n"
5583 " (declare (in) ivec4 x)\n"
5584 " (declare (in) ivec4 y))\n"
5585 " ()))\n"
5586 "(function greaterThan\n"
5587 " (signature bvec2\n"
5588 " (parameters\n"
5589 " (declare (in) vec2 x)\n"
5590 " (declare (in) vec2 y))\n"
5591 " ())\n"
5592 " (signature bvec3\n"
5593 " (parameters\n"
5594 " (declare (in) vec3 x)\n"
5595 " (declare (in) vec3 y))\n"
5596 " ())\n"
5597 " (signature bvec4\n"
5598 " (parameters\n"
5599 " (declare (in) vec4 x)\n"
5600 " (declare (in) vec4 y))\n"
5601 " ())\n"
5602 " (signature bvec2\n"
5603 " (parameters\n"
5604 " (declare (in) ivec2 x)\n"
5605 " (declare (in) ivec2 y))\n"
5606 " ())\n"
5607 " (signature bvec3\n"
5608 " (parameters\n"
5609 " (declare (in) ivec3 x)\n"
5610 " (declare (in) ivec3 y))\n"
5611 " ())\n"
5612 " (signature bvec4\n"
5613 " (parameters\n"
5614 " (declare (in) ivec4 x)\n"
5615 " (declare (in) ivec4 y))\n"
5616 " ()))\n"
5617 "(function greaterThanEqual\n"
5618 " (signature bvec2\n"
5619 " (parameters\n"
5620 " (declare (in) vec2 x)\n"
5621 " (declare (in) vec2 y))\n"
5622 " ())\n"
5623 " (signature bvec3\n"
5624 " (parameters\n"
5625 " (declare (in) vec3 x)\n"
5626 " (declare (in) vec3 y))\n"
5627 " ())\n"
5628 " (signature bvec4\n"
5629 " (parameters\n"
5630 " (declare (in) vec4 x)\n"
5631 " (declare (in) vec4 y))\n"
5632 " ())\n"
5633 " (signature bvec2\n"
5634 " (parameters\n"
5635 " (declare (in) ivec2 x)\n"
5636 " (declare (in) ivec2 y))\n"
5637 " ())\n"
5638 " (signature bvec3\n"
5639 " (parameters\n"
5640 " (declare (in) ivec3 x)\n"
5641 " (declare (in) ivec3 y))\n"
5642 " ())\n"
5643 " (signature bvec4\n"
5644 " (parameters\n"
5645 " (declare (in) ivec4 x)\n"
5646 " (declare (in) ivec4 y))\n"
5647 " ()))\n"
5648 "(function equal\n"
5649 " (signature bvec2\n"
5650 " (parameters\n"
5651 " (declare (in) vec2 x)\n"
5652 " (declare (in) vec2 y))\n"
5653 " ())\n"
5654 " (signature bvec3\n"
5655 " (parameters\n"
5656 " (declare (in) vec3 x)\n"
5657 " (declare (in) vec3 y))\n"
5658 " ())\n"
5659 " (signature bvec4\n"
5660 " (parameters\n"
5661 " (declare (in) vec4 x)\n"
5662 " (declare (in) vec4 y))\n"
5663 " ())\n"
5664 " (signature bvec2\n"
5665 " (parameters\n"
5666 " (declare (in) ivec2 x)\n"
5667 " (declare (in) ivec2 y))\n"
5668 " ())\n"
5669 " (signature bvec3\n"
5670 " (parameters\n"
5671 " (declare (in) ivec3 x)\n"
5672 " (declare (in) ivec3 y))\n"
5673 " ())\n"
5674 " (signature bvec4\n"
5675 " (parameters\n"
5676 " (declare (in) ivec4 x)\n"
5677 " (declare (in) ivec4 y))\n"
5678 " ())\n"
5679 " (signature bvec2\n"
5680 " (parameters\n"
5681 " (declare (in) bvec2 x)\n"
5682 " (declare (in) bvec2 y))\n"
5683 " ())\n"
5684 " (signature bvec3\n"
5685 " (parameters\n"
5686 " (declare (in) bvec3 x)\n"
5687 " (declare (in) bvec3 y))\n"
5688 " ())\n"
5689 " (signature bvec4\n"
5690 " (parameters\n"
5691 " (declare (in) bvec4 x)\n"
5692 " (declare (in) bvec4 y))\n"
5693 " ()))\n"
5694 "(function notEqual\n"
5695 " (signature bvec2\n"
5696 " (parameters\n"
5697 " (declare (in) vec2 x)\n"
5698 " (declare (in) vec2 y))\n"
5699 " ())\n"
5700 " (signature bvec3\n"
5701 " (parameters\n"
5702 " (declare (in) vec3 x)\n"
5703 " (declare (in) vec3 y))\n"
5704 " ())\n"
5705 " (signature bvec4\n"
5706 " (parameters\n"
5707 " (declare (in) vec4 x)\n"
5708 " (declare (in) vec4 y))\n"
5709 " ())\n"
5710 " (signature bvec2\n"
5711 " (parameters\n"
5712 " (declare (in) ivec2 x)\n"
5713 " (declare (in) ivec2 y))\n"
5714 " ())\n"
5715 " (signature bvec3\n"
5716 " (parameters\n"
5717 " (declare (in) ivec3 x)\n"
5718 " (declare (in) ivec3 y))\n"
5719 " ())\n"
5720 " (signature bvec4\n"
5721 " (parameters\n"
5722 " (declare (in) ivec4 x)\n"
5723 " (declare (in) ivec4 y))\n"
5724 " ())\n"
5725 " (signature bvec2\n"
5726 " (parameters\n"
5727 " (declare (in) bvec2 x)\n"
5728 " (declare (in) bvec2 y))\n"
5729 " ())\n"
5730 " (signature bvec3\n"
5731 " (parameters\n"
5732 " (declare (in) bvec3 x)\n"
5733 " (declare (in) bvec3 y))\n"
5734 " ())\n"
5735 " (signature bvec4\n"
5736 " (parameters\n"
5737 " (declare (in) bvec4 x)\n"
5738 " (declare (in) bvec4 y))\n"
5739 " ()))\n"
5740 "(function any\n"
5741 " (signature bool\n"
5742 " (parameters\n"
5743 " (declare (in) bvec2 x))\n"
5744 " ())\n"
5745 " (signature bool\n"
5746 " (parameters\n"
5747 " (declare (in) bvec3 x))\n"
5748 " ())\n"
5749 " (signature bool\n"
5750 " (parameters\n"
5751 " (declare (in) bvec4 x))\n"
5752 " ()))\n"
5753 "(function all\n"
5754 " (signature bool\n"
5755 " (parameters\n"
5756 " (declare (in) bvec2 x))\n"
5757 " ())\n"
5758 " (signature bool\n"
5759 " (parameters\n"
5760 " (declare (in) bvec3 x))\n"
5761 " ())\n"
5762 " (signature bool\n"
5763 " (parameters\n"
5764 " (declare (in) bvec4 x))\n"
5765 " ()))\n"
5766 "(function not\n"
5767 " (signature bvec2\n"
5768 " (parameters\n"
5769 " (declare (in) bvec2 x))\n"
5770 " ())\n"
5771 " (signature bvec3\n"
5772 " (parameters\n"
5773 " (declare (in) bvec3 x))\n"
5774 " ())\n"
5775 " (signature bvec4\n"
5776 " (parameters\n"
5777 " (declare (in) bvec4 x))\n"
5778 " ()))\n"
5779 "(function texture1D\n"
5780 " (signature vec4\n"
5781 " (parameters\n"
5782 " (declare (in) sampler1D sampler)\n"
5783 " (declare (in) float coord))\n"
5784 " ())\n"
5785 " (signature vec4\n"
5786 " (parameters\n"
5787 " (declare (in) sampler1D sampler)\n"
5788 " (declare (in) float coord)\n"
5789 " (declare (in) float bias))\n"
5790 " ()))\n"
5791 "(function texture1DProj\n"
5792 " (signature vec4\n"
5793 " (parameters\n"
5794 " (declare (in) sampler1D sampler)\n"
5795 " (declare (in) vec2 coord))\n"
5796 " ())\n"
5797 " (signature vec4\n"
5798 " (parameters\n"
5799 " (declare (in) sampler1D sampler)\n"
5800 " (declare (in) vec4 coord))\n"
5801 " ())\n"
5802 " (signature vec4\n"
5803 " (parameters\n"
5804 " (declare (in) sampler1D sampler)\n"
5805 " (declare (in) vec2 coord)\n"
5806 " (declare (in) float bias))\n"
5807 " ())\n"
5808 " (signature vec4\n"
5809 " (parameters\n"
5810 " (declare (in) sampler1D sampler)\n"
5811 " (declare (in) vec4 coord)\n"
5812 " (declare (in) float bias))\n"
5813 " ()))\n"
5814 "(function texture2D\n"
5815 " (signature vec4\n"
5816 " (parameters\n"
5817 " (declare (in) sampler2D sampler)\n"
5818 " (declare (in) vec2 coord))\n"
5819 " ())\n"
5820 " (signature vec4\n"
5821 " (parameters\n"
5822 " (declare (in) sampler2D sampler)\n"
5823 " (declare (in) vec2 coord)\n"
5824 " (declare (in) float bias))\n"
5825 " ()))\n"
5826 "(function texture2DProj\n"
5827 " (signature vec4\n"
5828 " (parameters\n"
5829 " (declare (in) sampler2D sampler)\n"
5830 " (declare (in) vec3 coord))\n"
5831 " ())\n"
5832 " (signature vec4\n"
5833 " (parameters\n"
5834 " (declare (in) sampler2D sampler)\n"
5835 " (declare (in) vec4 coord))\n"
5836 " ())\n"
5837 " (signature vec4\n"
5838 " (parameters\n"
5839 " (declare (in) sampler2D sampler)\n"
5840 " (declare (in) vec3 coord)\n"
5841 " (declare (in) float bias))\n"
5842 " ())\n"
5843 " (signature vec4\n"
5844 " (parameters\n"
5845 " (declare (in) sampler2D sampler)\n"
5846 " (declare (in) vec4 coord)\n"
5847 " (declare (in) float bias))\n"
5848 " ()))\n"
5849 "(function texture3D\n"
5850 " (signature vec4\n"
5851 " (parameters\n"
5852 " (declare (in) sampler3D sampler)\n"
5853 " (declare (in) vec3 coord))\n"
5854 " ())\n"
5855 " (signature vec4\n"
5856 " (parameters\n"
5857 " (declare (in) sampler3D sampler)\n"
5858 " (declare (in) vec3 coord)\n"
5859 " (declare (in) float bias))\n"
5860 " ()))\n"
5861 "(function texture3DProj\n"
5862 " (signature vec4\n"
5863 " (parameters\n"
5864 " (declare (in) sampler3D sampler)\n"
5865 " (declare (in) vec4 coord))\n"
5866 " ())\n"
5867 " (signature vec4\n"
5868 " (parameters\n"
5869 " (declare (in) sampler3D sampler)\n"
5870 " (declare (in) vec4 coord)\n"
5871 " (declare (in) float bias))\n"
5872 " ()))\n"
5873 "(function textureCube\n"
5874 " (signature vec4\n"
5875 " (parameters\n"
5876 " (declare (in) samplerCube sampler)\n"
5877 " (declare (in) vec3 coord))\n"
5878 " ())\n"
5879 " (signature vec4\n"
5880 " (parameters\n"
5881 " (declare (in) samplerCube sampler)\n"
5882 " (declare (in) vec3 coord)\n"
5883 " (declare (in) float bias))\n"
5884 " ()))\n"
5885 "(function shadow1D\n"
5886 " (signature vec4\n"
5887 " (parameters\n"
5888 " (declare (in) sampler1DShadow sampler)\n"
5889 " (declare (in) vec3 coord))\n"
5890 " ())\n"
5891 " (signature vec4\n"
5892 " (parameters\n"
5893 " (declare (in) sampler1DShadow sampler)\n"
5894 " (declare (in) vec3 coord)\n"
5895 " (declare (in) float bias))\n"
5896 " ()))\n"
5897 "(function shadow2D\n"
5898 " (signature vec4\n"
5899 " (parameters\n"
5900 " (declare (in) sampler2DShadow sampler)\n"
5901 " (declare (in) vec3 coord))\n"
5902 " ())\n"
5903 " (signature vec4\n"
5904 " (parameters\n"
5905 " (declare (in) sampler2DShadow sampler)\n"
5906 " (declare (in) vec3 coord)\n"
5907 " (declare (in) float bias))\n"
5908 " ()))\n"
5909 "(function shadow1DProj\n"
5910 " (signature vec4\n"
5911 " (parameters\n"
5912 " (declare (in) sampler1DShadow sampler)\n"
5913 " (declare (in) vec4 coord))\n"
5914 " ())\n"
5915 " (signature vec4\n"
5916 " (parameters\n"
5917 " (declare (in) sampler1DShadow sampler)\n"
5918 " (declare (in) vec4 coord)\n"
5919 " (declare (in) float bias))\n"
5920 " ()))\n"
5921 "(function shadow2DProj\n"
5922 " (signature vec4\n"
5923 " (parameters\n"
5924 " (declare (in) sampler2DShadow sampler)\n"
5925 " (declare (in) vec4 coord))\n"
5926 " ())\n"
5927 " (signature vec4\n"
5928 " (parameters\n"
5929 " (declare (in) sampler2DShadow sampler)\n"
5930 " (declare (in) vec4 coord)\n"
5931 " (declare (in) float bias))\n"
5932 " ()))\n"
5933 "(function dFdx\n"
5934 " (signature float\n"
5935 " (parameters\n"
5936 " (declare (in) float p))\n"
5937 " ())\n"
5938 " (signature vec2\n"
5939 " (parameters\n"
5940 " (declare (in) vec2 p))\n"
5941 " ())\n"
5942 " (signature vec3\n"
5943 " (parameters\n"
5944 " (declare (in) vec3 p))\n"
5945 " ())\n"
5946 " (signature vec4\n"
5947 " (parameters\n"
5948 " (declare (in) vec4 p))\n"
5949 " ()))\n"
5950 "(function dFdy\n"
5951 " (signature float\n"
5952 " (parameters\n"
5953 " (declare (in) float p))\n"
5954 " ())\n"
5955 " (signature vec2\n"
5956 " (parameters\n"
5957 " (declare (in) vec2 p))\n"
5958 " ())\n"
5959 " (signature vec3\n"
5960 " (parameters\n"
5961 " (declare (in) vec3 p))\n"
5962 " ())\n"
5963 " (signature vec4\n"
5964 " (parameters\n"
5965 " (declare (in) vec4 p))\n"
5966 " ()))\n"
5967 "(function fwidth\n"
5968 " (signature float\n"
5969 " (parameters\n"
5970 " (declare (in) float p))\n"
5971 " ())\n"
5972 " (signature vec2\n"
5973 " (parameters\n"
5974 " (declare (in) vec2 p))\n"
5975 " ())\n"
5976 " (signature vec3\n"
5977 " (parameters\n"
5978 " (declare (in) vec3 p))\n"
5979 " ())\n"
5980 " (signature vec4\n"
5981 " (parameters\n"
5982 " (declare (in) vec4 p))\n"
5983 " ()))\n"
5984 "(function noise1\n"
5985 " (signature float\n"
5986 " (parameters\n"
5987 " (declare (in) float x))\n"
5988 " ())\n"
5989 " (signature float\n"
5990 " (parameters\n"
5991 " (declare (in) vec2 x))\n"
5992 " ())\n"
5993 " (signature float\n"
5994 " (parameters\n"
5995 " (declare (in) vec3 x))\n"
5996 " ())\n"
5997 " (signature float\n"
5998 " (parameters\n"
5999 " (declare (in) vec4 x))\n"
6000 " ()))\n"
6001 "(function noise2\n"
6002 " (signature vec2\n"
6003 " (parameters\n"
6004 " (declare (in) float x))\n"
6005 " ())\n"
6006 " (signature vec2\n"
6007 " (parameters\n"
6008 " (declare (in) vec2 x))\n"
6009 " ())\n"
6010 " (signature vec2\n"
6011 " (parameters\n"
6012 " (declare (in) vec3 x))\n"
6013 " ())\n"
6014 " (signature vec2\n"
6015 " (parameters\n"
6016 " (declare (in) vec4 x))\n"
6017 " ()))\n"
6018 "(function noise3\n"
6019 " (signature vec3\n"
6020 " (parameters\n"
6021 " (declare (in) float x))\n"
6022 " ())\n"
6023 " (signature vec3\n"
6024 " (parameters\n"
6025 " (declare (in) vec2 x))\n"
6026 " ())\n"
6027 " (signature vec3\n"
6028 " (parameters\n"
6029 " (declare (in) vec3 x))\n"
6030 " ())\n"
6031 " (signature vec3\n"
6032 " (parameters\n"
6033 " (declare (in) vec4 x))\n"
6034 " ()))\n"
6035 "(function noise4\n"
6036 " (signature vec4\n"
6037 " (parameters\n"
6038 " (declare (in) float x))\n"
6039 " ())\n"
6040 " (signature vec4\n"
6041 " (parameters\n"
6042 " (declare (in) vec2 x))\n"
6043 " ())\n"
6044 " (signature vec4\n"
6045 " (parameters\n"
6046 " (declare (in) vec3 x))\n"
6047 " ())\n"
6048 " (signature vec4\n"
6049 " (parameters\n"
6050 " (declare (in) vec4 x))\n"
6051 " ())))"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006052;
Eric Anholt47003a82010-08-23 12:39:35 -07006053static const char *functions_for_110_frag [] = {
6054 builtin_abs,
6055 builtin_acos,
6056 builtin_all,
6057 builtin_any,
6058 builtin_asin,
6059 builtin_atan,
6060 builtin_ceil,
6061 builtin_clamp,
6062 builtin_cos,
6063 builtin_cross,
6064 builtin_dFdx,
6065 builtin_dFdy,
6066 builtin_degrees,
6067 builtin_distance,
6068 builtin_dot,
6069 builtin_equal,
6070 builtin_exp,
6071 builtin_exp2,
6072 builtin_faceforward,
6073 builtin_floor,
6074 builtin_fract,
6075 builtin_fwidth,
6076 builtin_greaterThan,
6077 builtin_greaterThanEqual,
6078 builtin_inversesqrt,
6079 builtin_length,
6080 builtin_lessThan,
6081 builtin_lessThanEqual,
6082 builtin_log,
6083 builtin_log2,
6084 builtin_matrixCompMult,
6085 builtin_max,
6086 builtin_min,
6087 builtin_mix,
6088 builtin_mod,
6089 builtin_noise1,
6090 builtin_noise2,
6091 builtin_noise3,
6092 builtin_noise4,
6093 builtin_normalize,
6094 builtin_not,
6095 builtin_notEqual,
6096 builtin_pow,
6097 builtin_radians,
6098 builtin_reflect,
6099 builtin_refract,
6100 builtin_shadow1D,
6101 builtin_shadow1DProj,
6102 builtin_shadow2D,
6103 builtin_shadow2DProj,
6104 builtin_sign,
6105 builtin_sin,
6106 builtin_smoothstep,
6107 builtin_sqrt,
6108 builtin_step,
6109 builtin_tan,
6110 builtin_texture1D,
6111 builtin_texture1DProj,
6112 builtin_texture2D,
6113 builtin_texture2DProj,
6114 builtin_texture3D,
6115 builtin_texture3DProj,
6116 builtin_textureCube,
6117};
6118static const char *prototypes_for_110_vert =
6119 "(\n"
6120 "(function radians\n"
6121 " (signature float\n"
6122 " (parameters\n"
6123 " (declare (in) float degrees))\n"
6124 " ())\n"
6125 " (signature vec2\n"
6126 " (parameters\n"
6127 " (declare (in) vec2 degrees))\n"
6128 " ())\n"
6129 " (signature vec3\n"
6130 " (parameters\n"
6131 " (declare (in) vec3 degrees))\n"
6132 " ())\n"
6133 " (signature vec4\n"
6134 " (parameters\n"
6135 " (declare (in) vec4 degrees))\n"
6136 " ()))\n"
6137 "(function degrees\n"
6138 " (signature float\n"
6139 " (parameters\n"
6140 " (declare (in) float radians))\n"
6141 " ())\n"
6142 " (signature vec2\n"
6143 " (parameters\n"
6144 " (declare (in) vec2 radians))\n"
6145 " ())\n"
6146 " (signature vec3\n"
6147 " (parameters\n"
6148 " (declare (in) vec3 radians))\n"
6149 " ())\n"
6150 " (signature vec4\n"
6151 " (parameters\n"
6152 " (declare (in) vec4 radians))\n"
6153 " ()))\n"
6154 "(function sin\n"
6155 " (signature float\n"
6156 " (parameters\n"
6157 " (declare (in) float angle))\n"
6158 " ())\n"
6159 " (signature vec2\n"
6160 " (parameters\n"
6161 " (declare (in) vec2 angle))\n"
6162 " ())\n"
6163 " (signature vec3\n"
6164 " (parameters\n"
6165 " (declare (in) vec3 angle))\n"
6166 " ())\n"
6167 " (signature vec4\n"
6168 " (parameters\n"
6169 " (declare (in) vec4 angle))\n"
6170 " ()))\n"
6171 "(function cos\n"
6172 " (signature float\n"
6173 " (parameters\n"
6174 " (declare (in) float angle))\n"
6175 " ())\n"
6176 " (signature vec2\n"
6177 " (parameters\n"
6178 " (declare (in) vec2 angle))\n"
6179 " ())\n"
6180 " (signature vec3\n"
6181 " (parameters\n"
6182 " (declare (in) vec3 angle))\n"
6183 " ())\n"
6184 " (signature vec4\n"
6185 " (parameters\n"
6186 " (declare (in) vec4 angle))\n"
6187 " ()))\n"
6188 "(function tan\n"
6189 " (signature float\n"
6190 " (parameters\n"
6191 " (declare (in) float angle))\n"
6192 " ())\n"
6193 " (signature vec2\n"
6194 " (parameters\n"
6195 " (declare (in) vec2 angle))\n"
6196 " ())\n"
6197 " (signature vec3\n"
6198 " (parameters\n"
6199 " (declare (in) vec3 angle))\n"
6200 " ())\n"
6201 " (signature vec4\n"
6202 " (parameters\n"
6203 " (declare (in) vec4 angle))\n"
6204 " ()))\n"
6205 "(function asin\n"
6206 " (signature float\n"
6207 " (parameters\n"
6208 " (declare (in) float angle))\n"
6209 " ())\n"
6210 " (signature vec2\n"
6211 " (parameters\n"
6212 " (declare (in) vec2 angle))\n"
6213 " ())\n"
6214 " (signature vec3\n"
6215 " (parameters\n"
6216 " (declare (in) vec3 angle))\n"
6217 " ())\n"
6218 " (signature vec4\n"
6219 " (parameters\n"
6220 " (declare (in) vec4 angle))\n"
6221 " ()))\n"
6222 "(function acos\n"
6223 " (signature float\n"
6224 " (parameters\n"
6225 " (declare (in) float angle))\n"
6226 " ())\n"
6227 " (signature vec2\n"
6228 " (parameters\n"
6229 " (declare (in) vec2 angle))\n"
6230 " ())\n"
6231 " (signature vec3\n"
6232 " (parameters\n"
6233 " (declare (in) vec3 angle))\n"
6234 " ())\n"
6235 " (signature vec4\n"
6236 " (parameters\n"
6237 " (declare (in) vec4 angle))\n"
6238 " ()))\n"
6239 "(function atan\n"
6240 " (signature float\n"
6241 " (parameters\n"
6242 " (declare (in) float y)\n"
6243 " (declare (in) float x))\n"
6244 " ())\n"
6245 " (signature vec2\n"
6246 " (parameters\n"
6247 " (declare (in) vec2 y)\n"
6248 " (declare (in) vec2 x))\n"
6249 " ())\n"
6250 " (signature vec3\n"
6251 " (parameters\n"
6252 " (declare (in) vec3 y)\n"
6253 " (declare (in) vec3 x))\n"
6254 " ())\n"
6255 " (signature vec4\n"
6256 " (parameters\n"
6257 " (declare (in) vec4 y)\n"
6258 " (declare (in) vec4 x))\n"
6259 " ())\n"
6260 " (signature float\n"
6261 " (parameters\n"
6262 " (declare (in) float y_over_x))\n"
6263 " ())\n"
6264 " (signature vec2\n"
6265 " (parameters\n"
6266 " (declare (in) vec2 y_over_x))\n"
6267 " ())\n"
6268 " (signature vec3\n"
6269 " (parameters\n"
6270 " (declare (in) vec3 y_over_x))\n"
6271 " ())\n"
6272 " (signature vec4\n"
6273 " (parameters\n"
6274 " (declare (in) vec4 y_over_x))\n"
6275 " ()))\n"
6276 "(function pow\n"
6277 " (signature float\n"
6278 " (parameters\n"
6279 " (declare (in) float x)\n"
6280 " (declare (in) float y))\n"
6281 " ())\n"
6282 " (signature vec2\n"
6283 " (parameters\n"
6284 " (declare (in) vec2 x)\n"
6285 " (declare (in) vec2 y))\n"
6286 " ())\n"
6287 " (signature vec3\n"
6288 " (parameters\n"
6289 " (declare (in) vec3 x)\n"
6290 " (declare (in) vec3 y))\n"
6291 " ())\n"
6292 " (signature vec4\n"
6293 " (parameters\n"
6294 " (declare (in) vec4 x)\n"
6295 " (declare (in) vec4 y))\n"
6296 " ()))\n"
6297 "(function exp\n"
6298 " (signature float\n"
6299 " (parameters\n"
6300 " (declare (in) float x))\n"
6301 " ())\n"
6302 " (signature vec2\n"
6303 " (parameters\n"
6304 " (declare (in) vec2 x))\n"
6305 " ())\n"
6306 " (signature vec3\n"
6307 " (parameters\n"
6308 " (declare (in) vec3 x))\n"
6309 " ())\n"
6310 " (signature vec4\n"
6311 " (parameters\n"
6312 " (declare (in) vec4 x))\n"
6313 " ()))\n"
6314 "(function log\n"
6315 " (signature float\n"
6316 " (parameters\n"
6317 " (declare (in) float x))\n"
6318 " ())\n"
6319 " (signature vec2\n"
6320 " (parameters\n"
6321 " (declare (in) vec2 x))\n"
6322 " ())\n"
6323 " (signature vec3\n"
6324 " (parameters\n"
6325 " (declare (in) vec3 x))\n"
6326 " ())\n"
6327 " (signature vec4\n"
6328 " (parameters\n"
6329 " (declare (in) vec4 x))\n"
6330 " ()))\n"
6331 "(function exp2\n"
6332 " (signature float\n"
6333 " (parameters\n"
6334 " (declare (in) float x))\n"
6335 " ())\n"
6336 " (signature vec2\n"
6337 " (parameters\n"
6338 " (declare (in) vec2 x))\n"
6339 " ())\n"
6340 " (signature vec3\n"
6341 " (parameters\n"
6342 " (declare (in) vec3 x))\n"
6343 " ())\n"
6344 " (signature vec4\n"
6345 " (parameters\n"
6346 " (declare (in) vec4 x))\n"
6347 " ()))\n"
6348 "(function log2\n"
6349 " (signature float\n"
6350 " (parameters\n"
6351 " (declare (in) float x))\n"
6352 " ())\n"
6353 " (signature vec2\n"
6354 " (parameters\n"
6355 " (declare (in) vec2 x))\n"
6356 " ())\n"
6357 " (signature vec3\n"
6358 " (parameters\n"
6359 " (declare (in) vec3 x))\n"
6360 " ())\n"
6361 " (signature vec4\n"
6362 " (parameters\n"
6363 " (declare (in) vec4 x))\n"
6364 " ()))\n"
6365 "(function sqrt\n"
6366 " (signature float\n"
6367 " (parameters\n"
6368 " (declare (in) float x))\n"
6369 " ())\n"
6370 " (signature vec2\n"
6371 " (parameters\n"
6372 " (declare (in) vec2 x))\n"
6373 " ())\n"
6374 " (signature vec3\n"
6375 " (parameters\n"
6376 " (declare (in) vec3 x))\n"
6377 " ())\n"
6378 " (signature vec4\n"
6379 " (parameters\n"
6380 " (declare (in) vec4 x))\n"
6381 " ()))\n"
6382 "(function inversesqrt\n"
6383 " (signature float\n"
6384 " (parameters\n"
6385 " (declare (in) float x))\n"
6386 " ())\n"
6387 " (signature vec2\n"
6388 " (parameters\n"
6389 " (declare (in) vec2 x))\n"
6390 " ())\n"
6391 " (signature vec3\n"
6392 " (parameters\n"
6393 " (declare (in) vec3 x))\n"
6394 " ())\n"
6395 " (signature vec4\n"
6396 " (parameters\n"
6397 " (declare (in) vec4 x))\n"
6398 " ()))\n"
6399 "(function abs\n"
6400 " (signature float\n"
6401 " (parameters\n"
6402 " (declare (in) float x))\n"
6403 " ())\n"
6404 " (signature vec2\n"
6405 " (parameters\n"
6406 " (declare (in) vec2 x))\n"
6407 " ())\n"
6408 " (signature vec3\n"
6409 " (parameters\n"
6410 " (declare (in) vec3 x))\n"
6411 " ())\n"
6412 " (signature vec4\n"
6413 " (parameters\n"
6414 " (declare (in) vec4 x))\n"
6415 " ()))\n"
6416 "(function sign\n"
6417 " (signature float\n"
6418 " (parameters\n"
6419 " (declare (in) float x))\n"
6420 " ())\n"
6421 " (signature vec2\n"
6422 " (parameters\n"
6423 " (declare (in) vec2 x))\n"
6424 " ())\n"
6425 " (signature vec3\n"
6426 " (parameters\n"
6427 " (declare (in) vec3 x))\n"
6428 " ())\n"
6429 " (signature vec4\n"
6430 " (parameters\n"
6431 " (declare (in) vec4 x))\n"
6432 " ()))\n"
6433 "(function floor\n"
6434 " (signature float\n"
6435 " (parameters\n"
6436 " (declare (in) float x))\n"
6437 " ())\n"
6438 " (signature vec2\n"
6439 " (parameters\n"
6440 " (declare (in) vec2 x))\n"
6441 " ())\n"
6442 " (signature vec3\n"
6443 " (parameters\n"
6444 " (declare (in) vec3 x))\n"
6445 " ())\n"
6446 " (signature vec4\n"
6447 " (parameters\n"
6448 " (declare (in) vec4 x))\n"
6449 " ()))\n"
6450 "(function ceil\n"
6451 " (signature float\n"
6452 " (parameters\n"
6453 " (declare (in) float x))\n"
6454 " ())\n"
6455 " (signature vec2\n"
6456 " (parameters\n"
6457 " (declare (in) vec2 x))\n"
6458 " ())\n"
6459 " (signature vec3\n"
6460 " (parameters\n"
6461 " (declare (in) vec3 x))\n"
6462 " ())\n"
6463 " (signature vec4\n"
6464 " (parameters\n"
6465 " (declare (in) vec4 x))\n"
6466 " ()))\n"
6467 "(function fract\n"
6468 " (signature float\n"
6469 " (parameters\n"
6470 " (declare (in) float x))\n"
6471 " ())\n"
6472 " (signature vec2\n"
6473 " (parameters\n"
6474 " (declare (in) vec2 x))\n"
6475 " ())\n"
6476 " (signature vec3\n"
6477 " (parameters\n"
6478 " (declare (in) vec3 x))\n"
6479 " ())\n"
6480 " (signature vec4\n"
6481 " (parameters\n"
6482 " (declare (in) vec4 x))\n"
6483 " ()))\n"
6484 "(function mod\n"
6485 " (signature float\n"
6486 " (parameters\n"
6487 " (declare (in) float x)\n"
6488 " (declare (in) float y))\n"
6489 " ())\n"
6490 " (signature vec2\n"
6491 " (parameters\n"
6492 " (declare (in) vec2 x)\n"
6493 " (declare (in) float y))\n"
6494 " ())\n"
6495 " (signature vec3\n"
6496 " (parameters\n"
6497 " (declare (in) vec3 x)\n"
6498 " (declare (in) float y))\n"
6499 " ())\n"
6500 " (signature vec4\n"
6501 " (parameters\n"
6502 " (declare (in) vec4 x)\n"
6503 " (declare (in) float y))\n"
6504 " ())\n"
6505 " (signature vec2\n"
6506 " (parameters\n"
6507 " (declare (in) vec2 x)\n"
6508 " (declare (in) vec2 y))\n"
6509 " ())\n"
6510 " (signature vec3\n"
6511 " (parameters\n"
6512 " (declare (in) vec3 x)\n"
6513 " (declare (in) vec3 y))\n"
6514 " ())\n"
6515 " (signature vec4\n"
6516 " (parameters\n"
6517 " (declare (in) vec4 x)\n"
6518 " (declare (in) vec4 y))\n"
6519 " ()))\n"
6520 "(function min\n"
6521 " (signature float\n"
6522 " (parameters\n"
6523 " (declare (in) float x)\n"
6524 " (declare (in) float y))\n"
6525 " ())\n"
6526 " (signature vec2\n"
6527 " (parameters\n"
6528 " (declare (in) vec2 x)\n"
6529 " (declare (in) vec2 y))\n"
6530 " ())\n"
6531 " (signature vec3\n"
6532 " (parameters\n"
6533 " (declare (in) vec3 x)\n"
6534 " (declare (in) vec3 y))\n"
6535 " ())\n"
6536 " (signature vec4\n"
6537 " (parameters\n"
6538 " (declare (in) vec4 x)\n"
6539 " (declare (in) vec4 y))\n"
6540 " ())\n"
6541 " (signature vec2\n"
6542 " (parameters\n"
6543 " (declare (in) vec2 x)\n"
6544 " (declare (in) float y))\n"
6545 " ())\n"
6546 " (signature vec3\n"
6547 " (parameters\n"
6548 " (declare (in) vec3 x)\n"
6549 " (declare (in) float y))\n"
6550 " ())\n"
6551 " (signature vec4\n"
6552 " (parameters\n"
6553 " (declare (in) vec4 x)\n"
6554 " (declare (in) float y))\n"
6555 " ()))\n"
6556 "(function max\n"
6557 " (signature float\n"
6558 " (parameters\n"
6559 " (declare (in) float x)\n"
6560 " (declare (in) float y))\n"
6561 " ())\n"
6562 " (signature vec2\n"
6563 " (parameters\n"
6564 " (declare (in) vec2 x)\n"
6565 " (declare (in) vec2 y))\n"
6566 " ())\n"
6567 " (signature vec3\n"
6568 " (parameters\n"
6569 " (declare (in) vec3 x)\n"
6570 " (declare (in) vec3 y))\n"
6571 " ())\n"
6572 " (signature vec4\n"
6573 " (parameters\n"
6574 " (declare (in) vec4 x)\n"
6575 " (declare (in) vec4 y))\n"
6576 " ())\n"
6577 " (signature vec2\n"
6578 " (parameters\n"
6579 " (declare (in) vec2 x)\n"
6580 " (declare (in) float y))\n"
6581 " ())\n"
6582 " (signature vec3\n"
6583 " (parameters\n"
6584 " (declare (in) vec3 x)\n"
6585 " (declare (in) float y))\n"
6586 " ())\n"
6587 " (signature vec4\n"
6588 " (parameters\n"
6589 " (declare (in) vec4 x)\n"
6590 " (declare (in) float y))\n"
6591 " ()))\n"
6592 "(function clamp\n"
6593 " (signature float\n"
6594 " (parameters\n"
6595 " (declare (in) float x)\n"
6596 " (declare (in) float minVal)\n"
6597 " (declare (in) float maxVal))\n"
6598 " ())\n"
6599 " (signature vec2\n"
6600 " (parameters\n"
6601 " (declare (in) vec2 x)\n"
6602 " (declare (in) vec2 minVal)\n"
6603 " (declare (in) vec2 maxVal))\n"
6604 " ())\n"
6605 " (signature vec3\n"
6606 " (parameters\n"
6607 " (declare (in) vec3 x)\n"
6608 " (declare (in) vec3 minVal)\n"
6609 " (declare (in) vec3 maxVal))\n"
6610 " ())\n"
6611 " (signature vec4\n"
6612 " (parameters\n"
6613 " (declare (in) vec4 x)\n"
6614 " (declare (in) vec4 minVal)\n"
6615 " (declare (in) vec4 maxVal))\n"
6616 " ())\n"
6617 " (signature vec2\n"
6618 " (parameters\n"
6619 " (declare (in) vec2 x)\n"
6620 " (declare (in) float minVal)\n"
6621 " (declare (in) float maxVal))\n"
6622 " ())\n"
6623 " (signature vec3\n"
6624 " (parameters\n"
6625 " (declare (in) vec3 x)\n"
6626 " (declare (in) float minVal)\n"
6627 " (declare (in) float maxVal))\n"
6628 " ())\n"
6629 " (signature vec4\n"
6630 " (parameters\n"
6631 " (declare (in) vec4 x)\n"
6632 " (declare (in) float minVal)\n"
6633 " (declare (in) float maxVal))\n"
6634 " ()))\n"
6635 "(function mix\n"
6636 " (signature float\n"
6637 " (parameters\n"
6638 " (declare (in) float x)\n"
6639 " (declare (in) float y)\n"
6640 " (declare (in) float a))\n"
6641 " ())\n"
6642 " (signature vec2\n"
6643 " (parameters\n"
6644 " (declare (in) vec2 x)\n"
6645 " (declare (in) vec2 y)\n"
6646 " (declare (in) vec2 a))\n"
6647 " ())\n"
6648 " (signature vec3\n"
6649 " (parameters\n"
6650 " (declare (in) vec3 x)\n"
6651 " (declare (in) vec3 y)\n"
6652 " (declare (in) vec3 a))\n"
6653 " ())\n"
6654 " (signature vec4\n"
6655 " (parameters\n"
6656 " (declare (in) vec4 x)\n"
6657 " (declare (in) vec4 y)\n"
6658 " (declare (in) vec4 a))\n"
6659 " ())\n"
6660 " (signature vec2\n"
6661 " (parameters\n"
6662 " (declare (in) vec2 x)\n"
6663 " (declare (in) vec2 y)\n"
6664 " (declare (in) float a))\n"
6665 " ())\n"
6666 " (signature vec3\n"
6667 " (parameters\n"
6668 " (declare (in) vec3 x)\n"
6669 " (declare (in) vec3 y)\n"
6670 " (declare (in) float a))\n"
6671 " ())\n"
6672 " (signature vec4\n"
6673 " (parameters\n"
6674 " (declare (in) vec4 x)\n"
6675 " (declare (in) vec4 y)\n"
6676 " (declare (in) float a))\n"
6677 " ()))\n"
6678 "(function step\n"
6679 " (signature float\n"
6680 " (parameters\n"
6681 " (declare (in) float edge)\n"
6682 " (declare (in) float x))\n"
6683 " ())\n"
6684 " (signature vec2\n"
6685 " (parameters\n"
6686 " (declare (in) vec2 edge)\n"
6687 " (declare (in) vec2 x))\n"
6688 " ())\n"
6689 " (signature vec3\n"
6690 " (parameters\n"
6691 " (declare (in) vec3 edge)\n"
6692 " (declare (in) vec3 x))\n"
6693 " ())\n"
6694 " (signature vec4\n"
6695 " (parameters\n"
6696 " (declare (in) vec4 edge)\n"
6697 " (declare (in) vec4 x))\n"
6698 " ())\n"
6699 " (signature vec2\n"
6700 " (parameters\n"
6701 " (declare (in) float edge)\n"
6702 " (declare (in) vec2 x))\n"
6703 " ())\n"
6704 " (signature vec3\n"
6705 " (parameters\n"
6706 " (declare (in) float edge)\n"
6707 " (declare (in) vec3 x))\n"
6708 " ())\n"
6709 " (signature vec4\n"
6710 " (parameters\n"
6711 " (declare (in) float edge)\n"
6712 " (declare (in) vec4 x))\n"
6713 " ()))\n"
6714 "(function smoothstep\n"
6715 " (signature float\n"
6716 " (parameters\n"
6717 " (declare (in) float edge0)\n"
6718 " (declare (in) float edge1)\n"
6719 " (declare (in) float x))\n"
6720 " ())\n"
6721 " (signature vec2\n"
6722 " (parameters\n"
6723 " (declare (in) vec2 edge0)\n"
6724 " (declare (in) vec2 edge1)\n"
6725 " (declare (in) vec2 x))\n"
6726 " ())\n"
6727 " (signature vec3\n"
6728 " (parameters\n"
6729 " (declare (in) vec3 edge0)\n"
6730 " (declare (in) vec3 edge1)\n"
6731 " (declare (in) vec3 x))\n"
6732 " ())\n"
6733 " (signature vec4\n"
6734 " (parameters\n"
6735 " (declare (in) vec4 edge0)\n"
6736 " (declare (in) vec4 edge1)\n"
6737 " (declare (in) vec4 x))\n"
6738 " ())\n"
6739 " (signature vec2\n"
6740 " (parameters\n"
6741 " (declare (in) float edge0)\n"
6742 " (declare (in) float edge1)\n"
6743 " (declare (in) vec2 x))\n"
6744 " ())\n"
6745 " (signature vec3\n"
6746 " (parameters\n"
6747 " (declare (in) float edge0)\n"
6748 " (declare (in) float edge1)\n"
6749 " (declare (in) vec3 x))\n"
6750 " ())\n"
6751 " (signature vec4\n"
6752 " (parameters\n"
6753 " (declare (in) float edge0)\n"
6754 " (declare (in) float edge1)\n"
6755 " (declare (in) vec4 x))\n"
6756 " ()))\n"
6757 "(function length\n"
6758 " (signature float\n"
6759 " (parameters\n"
6760 " (declare (in) float x))\n"
6761 " ())\n"
6762 " (signature float\n"
6763 " (parameters\n"
6764 " (declare (in) vec2 x))\n"
6765 " ())\n"
6766 " (signature float\n"
6767 " (parameters\n"
6768 " (declare (in) vec3 x))\n"
6769 " ())\n"
6770 " (signature float\n"
6771 " (parameters\n"
6772 " (declare (in) vec4 x))\n"
6773 " ()))\n"
6774 "(function distance\n"
6775 " (signature float\n"
6776 " (parameters\n"
6777 " (declare (in) float p0)\n"
6778 " (declare (in) float p1))\n"
6779 " ())\n"
6780 " (signature float\n"
6781 " (parameters\n"
6782 " (declare (in) vec2 p0)\n"
6783 " (declare (in) vec2 p1))\n"
6784 " ())\n"
6785 " (signature float\n"
6786 " (parameters\n"
6787 " (declare (in) vec3 p0)\n"
6788 " (declare (in) vec3 p1))\n"
6789 " ())\n"
6790 " (signature float\n"
6791 " (parameters\n"
6792 " (declare (in) vec4 p0)\n"
6793 " (declare (in) vec4 p1))\n"
6794 " ()))\n"
6795 "(function dot\n"
6796 " (signature float\n"
6797 " (parameters\n"
6798 " (declare (in) float x)\n"
6799 " (declare (in) float y))\n"
6800 " ())\n"
6801 " (signature float\n"
6802 " (parameters\n"
6803 " (declare (in) vec2 x)\n"
6804 " (declare (in) vec2 y))\n"
6805 " ())\n"
6806 " (signature float\n"
6807 " (parameters\n"
6808 " (declare (in) vec3 x)\n"
6809 " (declare (in) vec3 y))\n"
6810 " ())\n"
6811 " (signature float\n"
6812 " (parameters\n"
6813 " (declare (in) vec4 x)\n"
6814 " (declare (in) vec4 y))\n"
6815 " ()))\n"
6816 "(function cross\n"
6817 " (signature vec3\n"
6818 " (parameters\n"
6819 " (declare (in) vec3 x)\n"
6820 " (declare (in) vec3 y))\n"
6821 " ()))\n"
6822 "(function normalize\n"
6823 " (signature float\n"
6824 " (parameters\n"
6825 " (declare (in) float x))\n"
6826 " ())\n"
6827 " (signature vec2\n"
6828 " (parameters\n"
6829 " (declare (in) vec2 x))\n"
6830 " ())\n"
6831 " (signature vec3\n"
6832 " (parameters\n"
6833 " (declare (in) vec3 x))\n"
6834 " ())\n"
6835 " (signature vec4\n"
6836 " (parameters\n"
6837 " (declare (in) vec4 x))\n"
6838 " ()))\n"
6839 "(function ftransform\n"
6840 " (signature vec4\n"
6841 " (parameters)\n"
6842 " ()))\n"
6843 "(function faceforward\n"
6844 " (signature float\n"
6845 " (parameters\n"
6846 " (declare (in) float N)\n"
6847 " (declare (in) float I)\n"
6848 " (declare (in) float Nref))\n"
6849 " ())\n"
6850 " (signature vec2\n"
6851 " (parameters\n"
6852 " (declare (in) vec2 N)\n"
6853 " (declare (in) vec2 I)\n"
6854 " (declare (in) vec2 Nref))\n"
6855 " ())\n"
6856 " (signature vec3\n"
6857 " (parameters\n"
6858 " (declare (in) vec3 N)\n"
6859 " (declare (in) vec3 I)\n"
6860 " (declare (in) vec3 Nref))\n"
6861 " ())\n"
6862 " (signature vec4\n"
6863 " (parameters\n"
6864 " (declare (in) vec4 N)\n"
6865 " (declare (in) vec4 I)\n"
6866 " (declare (in) vec4 Nref))\n"
6867 " ()))\n"
6868 "(function reflect\n"
6869 " (signature float\n"
6870 " (parameters\n"
6871 " (declare (in) float I)\n"
6872 " (declare (in) float N))\n"
6873 " ())\n"
6874 " (signature vec2\n"
6875 " (parameters\n"
6876 " (declare (in) vec2 I)\n"
6877 " (declare (in) vec2 N))\n"
6878 " ())\n"
6879 " (signature vec3\n"
6880 " (parameters\n"
6881 " (declare (in) vec3 I)\n"
6882 " (declare (in) vec3 N))\n"
6883 " ())\n"
6884 " (signature vec4\n"
6885 " (parameters\n"
6886 " (declare (in) vec4 I)\n"
6887 " (declare (in) vec4 N))\n"
6888 " ()))\n"
6889 "(function refract\n"
6890 " (signature float\n"
6891 " (parameters\n"
6892 " (declare (in) float I)\n"
6893 " (declare (in) float N)\n"
6894 " (declare (in) float eta))\n"
6895 " ())\n"
6896 " (signature vec2\n"
6897 " (parameters\n"
6898 " (declare (in) vec2 I)\n"
6899 " (declare (in) vec2 N)\n"
6900 " (declare (in) float eta))\n"
6901 " ())\n"
6902 " (signature vec3\n"
6903 " (parameters\n"
6904 " (declare (in) vec3 I)\n"
6905 " (declare (in) vec3 N)\n"
6906 " (declare (in) float eta))\n"
6907 " ())\n"
6908 " (signature vec4\n"
6909 " (parameters\n"
6910 " (declare (in) vec4 I)\n"
6911 " (declare (in) vec4 N)\n"
6912 " (declare (in) float eta))\n"
6913 " ()))\n"
6914 "(function matrixCompMult\n"
6915 " (signature mat2\n"
6916 " (parameters\n"
6917 " (declare (in) mat2 x)\n"
6918 " (declare (in) mat2 y))\n"
6919 " ())\n"
6920 " (signature mat3\n"
6921 " (parameters\n"
6922 " (declare (in) mat3 x)\n"
6923 " (declare (in) mat3 y))\n"
6924 " ())\n"
6925 " (signature mat4\n"
6926 " (parameters\n"
6927 " (declare (in) mat4 x)\n"
6928 " (declare (in) mat4 y))\n"
6929 " ()))\n"
6930 "(function lessThan\n"
6931 " (signature bvec2\n"
6932 " (parameters\n"
6933 " (declare (in) vec2 x)\n"
6934 " (declare (in) vec2 y))\n"
6935 " ())\n"
6936 " (signature bvec3\n"
6937 " (parameters\n"
6938 " (declare (in) vec3 x)\n"
6939 " (declare (in) vec3 y))\n"
6940 " ())\n"
6941 " (signature bvec4\n"
6942 " (parameters\n"
6943 " (declare (in) vec4 x)\n"
6944 " (declare (in) vec4 y))\n"
6945 " ())\n"
6946 " (signature bvec2\n"
6947 " (parameters\n"
6948 " (declare (in) ivec2 x)\n"
6949 " (declare (in) ivec2 y))\n"
6950 " ())\n"
6951 " (signature bvec3\n"
6952 " (parameters\n"
6953 " (declare (in) ivec3 x)\n"
6954 " (declare (in) ivec3 y))\n"
6955 " ())\n"
6956 " (signature bvec4\n"
6957 " (parameters\n"
6958 " (declare (in) ivec4 x)\n"
6959 " (declare (in) ivec4 y))\n"
6960 " ()))\n"
6961 "(function lessThanEqual\n"
6962 " (signature bvec2\n"
6963 " (parameters\n"
6964 " (declare (in) vec2 x)\n"
6965 " (declare (in) vec2 y))\n"
6966 " ())\n"
6967 " (signature bvec3\n"
6968 " (parameters\n"
6969 " (declare (in) vec3 x)\n"
6970 " (declare (in) vec3 y))\n"
6971 " ())\n"
6972 " (signature bvec4\n"
6973 " (parameters\n"
6974 " (declare (in) vec4 x)\n"
6975 " (declare (in) vec4 y))\n"
6976 " ())\n"
6977 " (signature bvec2\n"
6978 " (parameters\n"
6979 " (declare (in) ivec2 x)\n"
6980 " (declare (in) ivec2 y))\n"
6981 " ())\n"
6982 " (signature bvec3\n"
6983 " (parameters\n"
6984 " (declare (in) ivec3 x)\n"
6985 " (declare (in) ivec3 y))\n"
6986 " ())\n"
6987 " (signature bvec4\n"
6988 " (parameters\n"
6989 " (declare (in) ivec4 x)\n"
6990 " (declare (in) ivec4 y))\n"
6991 " ()))\n"
6992 "(function greaterThan\n"
6993 " (signature bvec2\n"
6994 " (parameters\n"
6995 " (declare (in) vec2 x)\n"
6996 " (declare (in) vec2 y))\n"
6997 " ())\n"
6998 " (signature bvec3\n"
6999 " (parameters\n"
7000 " (declare (in) vec3 x)\n"
7001 " (declare (in) vec3 y))\n"
7002 " ())\n"
7003 " (signature bvec4\n"
7004 " (parameters\n"
7005 " (declare (in) vec4 x)\n"
7006 " (declare (in) vec4 y))\n"
7007 " ())\n"
7008 " (signature bvec2\n"
7009 " (parameters\n"
7010 " (declare (in) ivec2 x)\n"
7011 " (declare (in) ivec2 y))\n"
7012 " ())\n"
7013 " (signature bvec3\n"
7014 " (parameters\n"
7015 " (declare (in) ivec3 x)\n"
7016 " (declare (in) ivec3 y))\n"
7017 " ())\n"
7018 " (signature bvec4\n"
7019 " (parameters\n"
7020 " (declare (in) ivec4 x)\n"
7021 " (declare (in) ivec4 y))\n"
7022 " ()))\n"
7023 "(function greaterThanEqual\n"
7024 " (signature bvec2\n"
7025 " (parameters\n"
7026 " (declare (in) vec2 x)\n"
7027 " (declare (in) vec2 y))\n"
7028 " ())\n"
7029 " (signature bvec3\n"
7030 " (parameters\n"
7031 " (declare (in) vec3 x)\n"
7032 " (declare (in) vec3 y))\n"
7033 " ())\n"
7034 " (signature bvec4\n"
7035 " (parameters\n"
7036 " (declare (in) vec4 x)\n"
7037 " (declare (in) vec4 y))\n"
7038 " ())\n"
7039 " (signature bvec2\n"
7040 " (parameters\n"
7041 " (declare (in) ivec2 x)\n"
7042 " (declare (in) ivec2 y))\n"
7043 " ())\n"
7044 " (signature bvec3\n"
7045 " (parameters\n"
7046 " (declare (in) ivec3 x)\n"
7047 " (declare (in) ivec3 y))\n"
7048 " ())\n"
7049 " (signature bvec4\n"
7050 " (parameters\n"
7051 " (declare (in) ivec4 x)\n"
7052 " (declare (in) ivec4 y))\n"
7053 " ()))\n"
7054 "(function equal\n"
7055 " (signature bvec2\n"
7056 " (parameters\n"
7057 " (declare (in) vec2 x)\n"
7058 " (declare (in) vec2 y))\n"
7059 " ())\n"
7060 " (signature bvec3\n"
7061 " (parameters\n"
7062 " (declare (in) vec3 x)\n"
7063 " (declare (in) vec3 y))\n"
7064 " ())\n"
7065 " (signature bvec4\n"
7066 " (parameters\n"
7067 " (declare (in) vec4 x)\n"
7068 " (declare (in) vec4 y))\n"
7069 " ())\n"
7070 " (signature bvec2\n"
7071 " (parameters\n"
7072 " (declare (in) ivec2 x)\n"
7073 " (declare (in) ivec2 y))\n"
7074 " ())\n"
7075 " (signature bvec3\n"
7076 " (parameters\n"
7077 " (declare (in) ivec3 x)\n"
7078 " (declare (in) ivec3 y))\n"
7079 " ())\n"
7080 " (signature bvec4\n"
7081 " (parameters\n"
7082 " (declare (in) ivec4 x)\n"
7083 " (declare (in) ivec4 y))\n"
7084 " ())\n"
7085 " (signature bvec2\n"
7086 " (parameters\n"
7087 " (declare (in) bvec2 x)\n"
7088 " (declare (in) bvec2 y))\n"
7089 " ())\n"
7090 " (signature bvec3\n"
7091 " (parameters\n"
7092 " (declare (in) bvec3 x)\n"
7093 " (declare (in) bvec3 y))\n"
7094 " ())\n"
7095 " (signature bvec4\n"
7096 " (parameters\n"
7097 " (declare (in) bvec4 x)\n"
7098 " (declare (in) bvec4 y))\n"
7099 " ()))\n"
7100 "(function notEqual\n"
7101 " (signature bvec2\n"
7102 " (parameters\n"
7103 " (declare (in) vec2 x)\n"
7104 " (declare (in) vec2 y))\n"
7105 " ())\n"
7106 " (signature bvec3\n"
7107 " (parameters\n"
7108 " (declare (in) vec3 x)\n"
7109 " (declare (in) vec3 y))\n"
7110 " ())\n"
7111 " (signature bvec4\n"
7112 " (parameters\n"
7113 " (declare (in) vec4 x)\n"
7114 " (declare (in) vec4 y))\n"
7115 " ())\n"
7116 " (signature bvec2\n"
7117 " (parameters\n"
7118 " (declare (in) ivec2 x)\n"
7119 " (declare (in) ivec2 y))\n"
7120 " ())\n"
7121 " (signature bvec3\n"
7122 " (parameters\n"
7123 " (declare (in) ivec3 x)\n"
7124 " (declare (in) ivec3 y))\n"
7125 " ())\n"
7126 " (signature bvec4\n"
7127 " (parameters\n"
7128 " (declare (in) ivec4 x)\n"
7129 " (declare (in) ivec4 y))\n"
7130 " ())\n"
7131 " (signature bvec2\n"
7132 " (parameters\n"
7133 " (declare (in) bvec2 x)\n"
7134 " (declare (in) bvec2 y))\n"
7135 " ())\n"
7136 " (signature bvec3\n"
7137 " (parameters\n"
7138 " (declare (in) bvec3 x)\n"
7139 " (declare (in) bvec3 y))\n"
7140 " ())\n"
7141 " (signature bvec4\n"
7142 " (parameters\n"
7143 " (declare (in) bvec4 x)\n"
7144 " (declare (in) bvec4 y))\n"
7145 " ()))\n"
7146 "(function any\n"
7147 " (signature bool\n"
7148 " (parameters\n"
7149 " (declare (in) bvec2 x))\n"
7150 " ())\n"
7151 " (signature bool\n"
7152 " (parameters\n"
7153 " (declare (in) bvec3 x))\n"
7154 " ())\n"
7155 " (signature bool\n"
7156 " (parameters\n"
7157 " (declare (in) bvec4 x))\n"
7158 " ()))\n"
7159 "(function all\n"
7160 " (signature bool\n"
7161 " (parameters\n"
7162 " (declare (in) bvec2 x))\n"
7163 " ())\n"
7164 " (signature bool\n"
7165 " (parameters\n"
7166 " (declare (in) bvec3 x))\n"
7167 " ())\n"
7168 " (signature bool\n"
7169 " (parameters\n"
7170 " (declare (in) bvec4 x))\n"
7171 " ()))\n"
7172 "(function not\n"
7173 " (signature bvec2\n"
7174 " (parameters\n"
7175 " (declare (in) bvec2 x))\n"
7176 " ())\n"
7177 " (signature bvec3\n"
7178 " (parameters\n"
7179 " (declare (in) bvec3 x))\n"
7180 " ())\n"
7181 " (signature bvec4\n"
7182 " (parameters\n"
7183 " (declare (in) bvec4 x))\n"
7184 " ()))\n"
7185 "(function texture1D\n"
7186 " (signature vec4\n"
7187 " (parameters\n"
7188 " (declare (in) sampler1D sampler)\n"
7189 " (declare (in) float coord))\n"
7190 " ()))\n"
7191 "(function texture1DProj\n"
7192 " (signature vec4\n"
7193 " (parameters\n"
7194 " (declare (in) sampler1D sampler)\n"
7195 " (declare (in) vec2 coord))\n"
7196 " ())\n"
7197 " (signature vec4\n"
7198 " (parameters\n"
7199 " (declare (in) sampler1D sampler)\n"
7200 " (declare (in) vec4 coord))\n"
7201 " ()))\n"
7202 "(function texture1DLod\n"
7203 " (signature vec4\n"
7204 " (parameters\n"
7205 " (declare (in) sampler1D sampler)\n"
7206 " (declare (in) float coord)\n"
7207 " (declare (in) float lod))\n"
7208 " ()))\n"
7209 "(function texture1DProjLod\n"
7210 " (signature vec4\n"
7211 " (parameters\n"
7212 " (declare (in) sampler1D sampler)\n"
7213 " (declare (in) vec2 coord)\n"
7214 " (declare (in) float lod))\n"
7215 " ())\n"
7216 " (signature vec4\n"
7217 " (parameters\n"
7218 " (declare (in) sampler1D sampler)\n"
7219 " (declare (in) vec4 coord)\n"
7220 " (declare (in) float lod))\n"
7221 " ()))\n"
7222 "(function texture2D\n"
7223 " (signature vec4\n"
7224 " (parameters\n"
7225 " (declare (in) sampler2D sampler)\n"
7226 " (declare (in) vec2 coord))\n"
7227 " ()))\n"
7228 "(function texture2DProj\n"
7229 " (signature vec4\n"
7230 " (parameters\n"
7231 " (declare (in) sampler2D sampler)\n"
7232 " (declare (in) vec3 coord))\n"
7233 " ())\n"
7234 " (signature vec4\n"
7235 " (parameters\n"
7236 " (declare (in) sampler2D sampler)\n"
7237 " (declare (in) vec4 coord))\n"
7238 " ()))\n"
7239 "(function texture2DLod\n"
7240 " (signature vec4\n"
7241 " (parameters\n"
7242 " (declare (in) sampler2D sampler)\n"
7243 " (declare (in) vec2 coord)\n"
7244 " (declare (in) float lod))\n"
7245 " ()))\n"
7246 "(function texture2DProjLod\n"
7247 " (signature vec4\n"
7248 " (parameters\n"
7249 " (declare (in) sampler2D sampler)\n"
7250 " (declare (in) vec3 coord)\n"
7251 " (declare (in) float lod))\n"
7252 " ())\n"
7253 " (signature vec4\n"
7254 " (parameters\n"
7255 " (declare (in) sampler2D sampler)\n"
7256 " (declare (in) vec4 coord)\n"
7257 " (declare (in) float lod))\n"
7258 " ()))\n"
7259 "(function texture3D\n"
7260 " (signature vec4\n"
7261 " (parameters\n"
7262 " (declare (in) sampler3D sampler)\n"
7263 " (declare (in) vec3 coord))\n"
7264 " ()))\n"
7265 "(function texture3DProj\n"
7266 " (signature vec4\n"
7267 " (parameters\n"
7268 " (declare (in) sampler3D sampler)\n"
7269 " (declare (in) vec4 coord))\n"
7270 " ()))\n"
7271 "(function texture3DLod\n"
7272 " (signature vec4\n"
7273 " (parameters\n"
7274 " (declare (in) sampler3D sampler)\n"
7275 " (declare (in) vec3 coord)\n"
7276 " (declare (in) float lod))\n"
7277 " ()))\n"
7278 "(function texture3DProjLod\n"
7279 " (signature vec4\n"
7280 " (parameters\n"
7281 " (declare (in) sampler3D sampler)\n"
7282 " (declare (in) vec4 coord)\n"
7283 " (declare (in) float lod))\n"
7284 " ()))\n"
7285 "(function textureCube\n"
7286 " (signature vec4\n"
7287 " (parameters\n"
7288 " (declare (in) samplerCube sampler)\n"
7289 " (declare (in) vec3 coord))\n"
7290 " ()))\n"
7291 "(function textureCubeLod\n"
7292 " (signature vec4\n"
7293 " (parameters\n"
7294 " (declare (in) samplerCube sampler)\n"
7295 " (declare (in) vec3 coord)\n"
7296 " (declare (in) float lod))\n"
7297 " ()))\n"
7298 "(function shadow1D\n"
7299 " (signature vec4\n"
7300 " (parameters\n"
7301 " (declare (in) sampler1DShadow sampler)\n"
7302 " (declare (in) vec3 coord))\n"
7303 " ()))\n"
7304 "(function shadow2D\n"
7305 " (signature vec4\n"
7306 " (parameters\n"
7307 " (declare (in) sampler2DShadow sampler)\n"
7308 " (declare (in) vec3 coord))\n"
7309 " ()))\n"
7310 "(function shadow1DProj\n"
7311 " (signature vec4\n"
7312 " (parameters\n"
7313 " (declare (in) sampler1DShadow sampler)\n"
7314 " (declare (in) vec4 coord))\n"
7315 " ()))\n"
7316 "(function shadow2DProj\n"
7317 " (signature vec4\n"
7318 " (parameters\n"
7319 " (declare (in) sampler2DShadow sampler)\n"
7320 " (declare (in) vec4 coord))\n"
7321 " ()))\n"
7322 "(function shadow1DLod\n"
7323 " (signature vec4\n"
7324 " (parameters\n"
7325 " (declare (in) sampler1DShadow sampler)\n"
7326 " (declare (in) vec3 coord)\n"
7327 " (declare (in) float lod))\n"
7328 " ()))\n"
7329 "(function shadow2DLod\n"
7330 " (signature vec4\n"
7331 " (parameters\n"
7332 " (declare (in) sampler2DShadow sampler)\n"
7333 " (declare (in) vec3 coord)\n"
7334 " (declare (in) float lod))\n"
7335 " ()))\n"
7336 "(function shadow1DProjLod\n"
7337 " (signature vec4\n"
7338 " (parameters\n"
7339 " (declare (in) sampler1DShadow sampler)\n"
7340 " (declare (in) vec4 coord)\n"
7341 " (declare (in) float lod))\n"
7342 " ()))\n"
7343 "(function shadow2DProjLod\n"
7344 " (signature vec4\n"
7345 " (parameters\n"
7346 " (declare (in) sampler2DShadow sampler)\n"
7347 " (declare (in) vec4 coord)\n"
7348 " (declare (in) float lod))\n"
7349 " ()))\n"
7350 "(function noise1\n"
7351 " (signature float\n"
7352 " (parameters\n"
7353 " (declare (in) float x))\n"
7354 " ())\n"
7355 " (signature float\n"
7356 " (parameters\n"
7357 " (declare (in) vec2 x))\n"
7358 " ())\n"
7359 " (signature float\n"
7360 " (parameters\n"
7361 " (declare (in) vec3 x))\n"
7362 " ())\n"
7363 " (signature float\n"
7364 " (parameters\n"
7365 " (declare (in) vec4 x))\n"
7366 " ()))\n"
7367 "(function noise2\n"
7368 " (signature vec2\n"
7369 " (parameters\n"
7370 " (declare (in) float x))\n"
7371 " ())\n"
7372 " (signature vec2\n"
7373 " (parameters\n"
7374 " (declare (in) vec2 x))\n"
7375 " ())\n"
7376 " (signature vec2\n"
7377 " (parameters\n"
7378 " (declare (in) vec3 x))\n"
7379 " ())\n"
7380 " (signature vec2\n"
7381 " (parameters\n"
7382 " (declare (in) vec4 x))\n"
7383 " ()))\n"
7384 "(function noise3\n"
7385 " (signature vec3\n"
7386 " (parameters\n"
7387 " (declare (in) float x))\n"
7388 " ())\n"
7389 " (signature vec3\n"
7390 " (parameters\n"
7391 " (declare (in) vec2 x))\n"
7392 " ())\n"
7393 " (signature vec3\n"
7394 " (parameters\n"
7395 " (declare (in) vec3 x))\n"
7396 " ())\n"
7397 " (signature vec3\n"
7398 " (parameters\n"
7399 " (declare (in) vec4 x))\n"
7400 " ()))\n"
7401 "(function noise4\n"
7402 " (signature vec4\n"
7403 " (parameters\n"
7404 " (declare (in) float x))\n"
7405 " ())\n"
7406 " (signature vec4\n"
7407 " (parameters\n"
7408 " (declare (in) vec2 x))\n"
7409 " ())\n"
7410 " (signature vec4\n"
7411 " (parameters\n"
7412 " (declare (in) vec3 x))\n"
7413 " ())\n"
7414 " (signature vec4\n"
7415 " (parameters\n"
7416 " (declare (in) vec4 x))\n"
7417 " ())))"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007418;
Eric Anholt47003a82010-08-23 12:39:35 -07007419static const char *functions_for_110_vert [] = {
7420 builtin_abs,
7421 builtin_acos,
7422 builtin_all,
7423 builtin_any,
7424 builtin_asin,
7425 builtin_atan,
7426 builtin_ceil,
7427 builtin_clamp,
7428 builtin_cos,
7429 builtin_cross,
7430 builtin_degrees,
7431 builtin_distance,
7432 builtin_dot,
7433 builtin_equal,
7434 builtin_exp,
7435 builtin_exp2,
7436 builtin_faceforward,
7437 builtin_floor,
7438 builtin_fract,
7439 builtin_ftransform,
7440 builtin_greaterThan,
7441 builtin_greaterThanEqual,
7442 builtin_inversesqrt,
7443 builtin_length,
7444 builtin_lessThan,
7445 builtin_lessThanEqual,
7446 builtin_log,
7447 builtin_log2,
7448 builtin_matrixCompMult,
7449 builtin_max,
7450 builtin_min,
7451 builtin_mix,
7452 builtin_mod,
7453 builtin_noise1,
7454 builtin_noise2,
7455 builtin_noise3,
7456 builtin_noise4,
7457 builtin_normalize,
7458 builtin_not,
7459 builtin_notEqual,
7460 builtin_pow,
7461 builtin_radians,
7462 builtin_reflect,
7463 builtin_refract,
7464 builtin_shadow1D,
7465 builtin_shadow1DLod,
7466 builtin_shadow1DProj,
7467 builtin_shadow1DProjLod,
7468 builtin_shadow2D,
7469 builtin_shadow2DLod,
7470 builtin_shadow2DProj,
7471 builtin_shadow2DProjLod,
7472 builtin_sign,
7473 builtin_sin,
7474 builtin_smoothstep,
7475 builtin_sqrt,
7476 builtin_step,
7477 builtin_tan,
7478 builtin_texture1D,
7479 builtin_texture1DLod,
7480 builtin_texture1DProj,
7481 builtin_texture1DProjLod,
7482 builtin_texture2D,
7483 builtin_texture2DLod,
7484 builtin_texture2DProj,
7485 builtin_texture2DProjLod,
7486 builtin_texture3D,
7487 builtin_texture3DLod,
7488 builtin_texture3DProj,
7489 builtin_texture3DProjLod,
7490 builtin_textureCube,
7491 builtin_textureCubeLod,
7492};
7493static const char *prototypes_for_120_frag =
7494 "(\n"
7495 "(function radians\n"
7496 " (signature float\n"
7497 " (parameters\n"
7498 " (declare (in) float degrees))\n"
7499 " ())\n"
7500 " (signature vec2\n"
7501 " (parameters\n"
7502 " (declare (in) vec2 degrees))\n"
7503 " ())\n"
7504 " (signature vec3\n"
7505 " (parameters\n"
7506 " (declare (in) vec3 degrees))\n"
7507 " ())\n"
7508 " (signature vec4\n"
7509 " (parameters\n"
7510 " (declare (in) vec4 degrees))\n"
7511 " ()))\n"
7512 "(function degrees\n"
7513 " (signature float\n"
7514 " (parameters\n"
7515 " (declare (in) float radians))\n"
7516 " ())\n"
7517 " (signature vec2\n"
7518 " (parameters\n"
7519 " (declare (in) vec2 radians))\n"
7520 " ())\n"
7521 " (signature vec3\n"
7522 " (parameters\n"
7523 " (declare (in) vec3 radians))\n"
7524 " ())\n"
7525 " (signature vec4\n"
7526 " (parameters\n"
7527 " (declare (in) vec4 radians))\n"
7528 " ()))\n"
7529 "(function sin\n"
7530 " (signature float\n"
7531 " (parameters\n"
7532 " (declare (in) float angle))\n"
7533 " ())\n"
7534 " (signature vec2\n"
7535 " (parameters\n"
7536 " (declare (in) vec2 angle))\n"
7537 " ())\n"
7538 " (signature vec3\n"
7539 " (parameters\n"
7540 " (declare (in) vec3 angle))\n"
7541 " ())\n"
7542 " (signature vec4\n"
7543 " (parameters\n"
7544 " (declare (in) vec4 angle))\n"
7545 " ()))\n"
7546 "(function cos\n"
7547 " (signature float\n"
7548 " (parameters\n"
7549 " (declare (in) float angle))\n"
7550 " ())\n"
7551 " (signature vec2\n"
7552 " (parameters\n"
7553 " (declare (in) vec2 angle))\n"
7554 " ())\n"
7555 " (signature vec3\n"
7556 " (parameters\n"
7557 " (declare (in) vec3 angle))\n"
7558 " ())\n"
7559 " (signature vec4\n"
7560 " (parameters\n"
7561 " (declare (in) vec4 angle))\n"
7562 " ()))\n"
7563 "(function tan\n"
7564 " (signature float\n"
7565 " (parameters\n"
7566 " (declare (in) float angle))\n"
7567 " ())\n"
7568 " (signature vec2\n"
7569 " (parameters\n"
7570 " (declare (in) vec2 angle))\n"
7571 " ())\n"
7572 " (signature vec3\n"
7573 " (parameters\n"
7574 " (declare (in) vec3 angle))\n"
7575 " ())\n"
7576 " (signature vec4\n"
7577 " (parameters\n"
7578 " (declare (in) vec4 angle))\n"
7579 " ()))\n"
7580 "(function asin\n"
7581 " (signature float\n"
7582 " (parameters\n"
7583 " (declare (in) float angle))\n"
7584 " ())\n"
7585 " (signature vec2\n"
7586 " (parameters\n"
7587 " (declare (in) vec2 angle))\n"
7588 " ())\n"
7589 " (signature vec3\n"
7590 " (parameters\n"
7591 " (declare (in) vec3 angle))\n"
7592 " ())\n"
7593 " (signature vec4\n"
7594 " (parameters\n"
7595 " (declare (in) vec4 angle))\n"
7596 " ()))\n"
7597 "(function acos\n"
7598 " (signature float\n"
7599 " (parameters\n"
7600 " (declare (in) float angle))\n"
7601 " ())\n"
7602 " (signature vec2\n"
7603 " (parameters\n"
7604 " (declare (in) vec2 angle))\n"
7605 " ())\n"
7606 " (signature vec3\n"
7607 " (parameters\n"
7608 " (declare (in) vec3 angle))\n"
7609 " ())\n"
7610 " (signature vec4\n"
7611 " (parameters\n"
7612 " (declare (in) vec4 angle))\n"
7613 " ()))\n"
7614 "(function atan\n"
7615 " (signature float\n"
7616 " (parameters\n"
7617 " (declare (in) float y)\n"
7618 " (declare (in) float x))\n"
7619 " ())\n"
7620 " (signature vec2\n"
7621 " (parameters\n"
7622 " (declare (in) vec2 y)\n"
7623 " (declare (in) vec2 x))\n"
7624 " ())\n"
7625 " (signature vec3\n"
7626 " (parameters\n"
7627 " (declare (in) vec3 y)\n"
7628 " (declare (in) vec3 x))\n"
7629 " ())\n"
7630 " (signature vec4\n"
7631 " (parameters\n"
7632 " (declare (in) vec4 y)\n"
7633 " (declare (in) vec4 x))\n"
7634 " ())\n"
7635 " (signature float\n"
7636 " (parameters\n"
7637 " (declare (in) float y_over_x))\n"
7638 " ())\n"
7639 " (signature vec2\n"
7640 " (parameters\n"
7641 " (declare (in) vec2 y_over_x))\n"
7642 " ())\n"
7643 " (signature vec3\n"
7644 " (parameters\n"
7645 " (declare (in) vec3 y_over_x))\n"
7646 " ())\n"
7647 " (signature vec4\n"
7648 " (parameters\n"
7649 " (declare (in) vec4 y_over_x))\n"
7650 " ()))\n"
7651 "(function pow\n"
7652 " (signature float\n"
7653 " (parameters\n"
7654 " (declare (in) float x)\n"
7655 " (declare (in) float y))\n"
7656 " ())\n"
7657 " (signature vec2\n"
7658 " (parameters\n"
7659 " (declare (in) vec2 x)\n"
7660 " (declare (in) vec2 y))\n"
7661 " ())\n"
7662 " (signature vec3\n"
7663 " (parameters\n"
7664 " (declare (in) vec3 x)\n"
7665 " (declare (in) vec3 y))\n"
7666 " ())\n"
7667 " (signature vec4\n"
7668 " (parameters\n"
7669 " (declare (in) vec4 x)\n"
7670 " (declare (in) vec4 y))\n"
7671 " ()))\n"
7672 "(function exp\n"
7673 " (signature float\n"
7674 " (parameters\n"
7675 " (declare (in) float x))\n"
7676 " ())\n"
7677 " (signature vec2\n"
7678 " (parameters\n"
7679 " (declare (in) vec2 x))\n"
7680 " ())\n"
7681 " (signature vec3\n"
7682 " (parameters\n"
7683 " (declare (in) vec3 x))\n"
7684 " ())\n"
7685 " (signature vec4\n"
7686 " (parameters\n"
7687 " (declare (in) vec4 x))\n"
7688 " ()))\n"
7689 "(function log\n"
7690 " (signature float\n"
7691 " (parameters\n"
7692 " (declare (in) float x))\n"
7693 " ())\n"
7694 " (signature vec2\n"
7695 " (parameters\n"
7696 " (declare (in) vec2 x))\n"
7697 " ())\n"
7698 " (signature vec3\n"
7699 " (parameters\n"
7700 " (declare (in) vec3 x))\n"
7701 " ())\n"
7702 " (signature vec4\n"
7703 " (parameters\n"
7704 " (declare (in) vec4 x))\n"
7705 " ()))\n"
7706 "(function exp2\n"
7707 " (signature float\n"
7708 " (parameters\n"
7709 " (declare (in) float x))\n"
7710 " ())\n"
7711 " (signature vec2\n"
7712 " (parameters\n"
7713 " (declare (in) vec2 x))\n"
7714 " ())\n"
7715 " (signature vec3\n"
7716 " (parameters\n"
7717 " (declare (in) vec3 x))\n"
7718 " ())\n"
7719 " (signature vec4\n"
7720 " (parameters\n"
7721 " (declare (in) vec4 x))\n"
7722 " ()))\n"
7723 "(function log2\n"
7724 " (signature float\n"
7725 " (parameters\n"
7726 " (declare (in) float x))\n"
7727 " ())\n"
7728 " (signature vec2\n"
7729 " (parameters\n"
7730 " (declare (in) vec2 x))\n"
7731 " ())\n"
7732 " (signature vec3\n"
7733 " (parameters\n"
7734 " (declare (in) vec3 x))\n"
7735 " ())\n"
7736 " (signature vec4\n"
7737 " (parameters\n"
7738 " (declare (in) vec4 x))\n"
7739 " ()))\n"
7740 "(function sqrt\n"
7741 " (signature float\n"
7742 " (parameters\n"
7743 " (declare (in) float x))\n"
7744 " ())\n"
7745 " (signature vec2\n"
7746 " (parameters\n"
7747 " (declare (in) vec2 x))\n"
7748 " ())\n"
7749 " (signature vec3\n"
7750 " (parameters\n"
7751 " (declare (in) vec3 x))\n"
7752 " ())\n"
7753 " (signature vec4\n"
7754 " (parameters\n"
7755 " (declare (in) vec4 x))\n"
7756 " ()))\n"
7757 "(function inversesqrt\n"
7758 " (signature float\n"
7759 " (parameters\n"
7760 " (declare (in) float x))\n"
7761 " ())\n"
7762 " (signature vec2\n"
7763 " (parameters\n"
7764 " (declare (in) vec2 x))\n"
7765 " ())\n"
7766 " (signature vec3\n"
7767 " (parameters\n"
7768 " (declare (in) vec3 x))\n"
7769 " ())\n"
7770 " (signature vec4\n"
7771 " (parameters\n"
7772 " (declare (in) vec4 x))\n"
7773 " ()))\n"
7774 "(function abs\n"
7775 " (signature float\n"
7776 " (parameters\n"
7777 " (declare (in) float x))\n"
7778 " ())\n"
7779 " (signature vec2\n"
7780 " (parameters\n"
7781 " (declare (in) vec2 x))\n"
7782 " ())\n"
7783 " (signature vec3\n"
7784 " (parameters\n"
7785 " (declare (in) vec3 x))\n"
7786 " ())\n"
7787 " (signature vec4\n"
7788 " (parameters\n"
7789 " (declare (in) vec4 x))\n"
7790 " ()))\n"
7791 "(function sign\n"
7792 " (signature float\n"
7793 " (parameters\n"
7794 " (declare (in) float x))\n"
7795 " ())\n"
7796 " (signature vec2\n"
7797 " (parameters\n"
7798 " (declare (in) vec2 x))\n"
7799 " ())\n"
7800 " (signature vec3\n"
7801 " (parameters\n"
7802 " (declare (in) vec3 x))\n"
7803 " ())\n"
7804 " (signature vec4\n"
7805 " (parameters\n"
7806 " (declare (in) vec4 x))\n"
7807 " ()))\n"
7808 "(function floor\n"
7809 " (signature float\n"
7810 " (parameters\n"
7811 " (declare (in) float x))\n"
7812 " ())\n"
7813 " (signature vec2\n"
7814 " (parameters\n"
7815 " (declare (in) vec2 x))\n"
7816 " ())\n"
7817 " (signature vec3\n"
7818 " (parameters\n"
7819 " (declare (in) vec3 x))\n"
7820 " ())\n"
7821 " (signature vec4\n"
7822 " (parameters\n"
7823 " (declare (in) vec4 x))\n"
7824 " ()))\n"
7825 "(function ceil\n"
7826 " (signature float\n"
7827 " (parameters\n"
7828 " (declare (in) float x))\n"
7829 " ())\n"
7830 " (signature vec2\n"
7831 " (parameters\n"
7832 " (declare (in) vec2 x))\n"
7833 " ())\n"
7834 " (signature vec3\n"
7835 " (parameters\n"
7836 " (declare (in) vec3 x))\n"
7837 " ())\n"
7838 " (signature vec4\n"
7839 " (parameters\n"
7840 " (declare (in) vec4 x))\n"
7841 " ()))\n"
7842 "(function fract\n"
7843 " (signature float\n"
7844 " (parameters\n"
7845 " (declare (in) float x))\n"
7846 " ())\n"
7847 " (signature vec2\n"
7848 " (parameters\n"
7849 " (declare (in) vec2 x))\n"
7850 " ())\n"
7851 " (signature vec3\n"
7852 " (parameters\n"
7853 " (declare (in) vec3 x))\n"
7854 " ())\n"
7855 " (signature vec4\n"
7856 " (parameters\n"
7857 " (declare (in) vec4 x))\n"
7858 " ()))\n"
7859 "(function mod\n"
7860 " (signature float\n"
7861 " (parameters\n"
7862 " (declare (in) float x)\n"
7863 " (declare (in) float y))\n"
7864 " ())\n"
7865 " (signature vec2\n"
7866 " (parameters\n"
7867 " (declare (in) vec2 x)\n"
7868 " (declare (in) float y))\n"
7869 " ())\n"
7870 " (signature vec3\n"
7871 " (parameters\n"
7872 " (declare (in) vec3 x)\n"
7873 " (declare (in) float y))\n"
7874 " ())\n"
7875 " (signature vec4\n"
7876 " (parameters\n"
7877 " (declare (in) vec4 x)\n"
7878 " (declare (in) float y))\n"
7879 " ())\n"
7880 " (signature vec2\n"
7881 " (parameters\n"
7882 " (declare (in) vec2 x)\n"
7883 " (declare (in) vec2 y))\n"
7884 " ())\n"
7885 " (signature vec3\n"
7886 " (parameters\n"
7887 " (declare (in) vec3 x)\n"
7888 " (declare (in) vec3 y))\n"
7889 " ())\n"
7890 " (signature vec4\n"
7891 " (parameters\n"
7892 " (declare (in) vec4 x)\n"
7893 " (declare (in) vec4 y))\n"
7894 " ()))\n"
7895 "(function min\n"
7896 " (signature float\n"
7897 " (parameters\n"
7898 " (declare (in) float x)\n"
7899 " (declare (in) float y))\n"
7900 " ())\n"
7901 " (signature vec2\n"
7902 " (parameters\n"
7903 " (declare (in) vec2 x)\n"
7904 " (declare (in) vec2 y))\n"
7905 " ())\n"
7906 " (signature vec3\n"
7907 " (parameters\n"
7908 " (declare (in) vec3 x)\n"
7909 " (declare (in) vec3 y))\n"
7910 " ())\n"
7911 " (signature vec4\n"
7912 " (parameters\n"
7913 " (declare (in) vec4 x)\n"
7914 " (declare (in) vec4 y))\n"
7915 " ())\n"
7916 " (signature vec2\n"
7917 " (parameters\n"
7918 " (declare (in) vec2 x)\n"
7919 " (declare (in) float y))\n"
7920 " ())\n"
7921 " (signature vec3\n"
7922 " (parameters\n"
7923 " (declare (in) vec3 x)\n"
7924 " (declare (in) float y))\n"
7925 " ())\n"
7926 " (signature vec4\n"
7927 " (parameters\n"
7928 " (declare (in) vec4 x)\n"
7929 " (declare (in) float y))\n"
7930 " ()))\n"
7931 "(function max\n"
7932 " (signature float\n"
7933 " (parameters\n"
7934 " (declare (in) float x)\n"
7935 " (declare (in) float y))\n"
7936 " ())\n"
7937 " (signature vec2\n"
7938 " (parameters\n"
7939 " (declare (in) vec2 x)\n"
7940 " (declare (in) vec2 y))\n"
7941 " ())\n"
7942 " (signature vec3\n"
7943 " (parameters\n"
7944 " (declare (in) vec3 x)\n"
7945 " (declare (in) vec3 y))\n"
7946 " ())\n"
7947 " (signature vec4\n"
7948 " (parameters\n"
7949 " (declare (in) vec4 x)\n"
7950 " (declare (in) vec4 y))\n"
7951 " ())\n"
7952 " (signature vec2\n"
7953 " (parameters\n"
7954 " (declare (in) vec2 x)\n"
7955 " (declare (in) float y))\n"
7956 " ())\n"
7957 " (signature vec3\n"
7958 " (parameters\n"
7959 " (declare (in) vec3 x)\n"
7960 " (declare (in) float y))\n"
7961 " ())\n"
7962 " (signature vec4\n"
7963 " (parameters\n"
7964 " (declare (in) vec4 x)\n"
7965 " (declare (in) float y))\n"
7966 " ()))\n"
7967 "(function clamp\n"
7968 " (signature float\n"
7969 " (parameters\n"
7970 " (declare (in) float x)\n"
7971 " (declare (in) float minVal)\n"
7972 " (declare (in) float maxVal))\n"
7973 " ())\n"
7974 " (signature vec2\n"
7975 " (parameters\n"
7976 " (declare (in) vec2 x)\n"
7977 " (declare (in) vec2 minVal)\n"
7978 " (declare (in) vec2 maxVal))\n"
7979 " ())\n"
7980 " (signature vec3\n"
7981 " (parameters\n"
7982 " (declare (in) vec3 x)\n"
7983 " (declare (in) vec3 minVal)\n"
7984 " (declare (in) vec3 maxVal))\n"
7985 " ())\n"
7986 " (signature vec4\n"
7987 " (parameters\n"
7988 " (declare (in) vec4 x)\n"
7989 " (declare (in) vec4 minVal)\n"
7990 " (declare (in) vec4 maxVal))\n"
7991 " ())\n"
7992 " (signature vec2\n"
7993 " (parameters\n"
7994 " (declare (in) vec2 x)\n"
7995 " (declare (in) float minVal)\n"
7996 " (declare (in) float maxVal))\n"
7997 " ())\n"
7998 " (signature vec3\n"
7999 " (parameters\n"
8000 " (declare (in) vec3 x)\n"
8001 " (declare (in) float minVal)\n"
8002 " (declare (in) float maxVal))\n"
8003 " ())\n"
8004 " (signature vec4\n"
8005 " (parameters\n"
8006 " (declare (in) vec4 x)\n"
8007 " (declare (in) float minVal)\n"
8008 " (declare (in) float maxVal))\n"
8009 " ()))\n"
8010 "(function mix\n"
8011 " (signature float\n"
8012 " (parameters\n"
8013 " (declare (in) float x)\n"
8014 " (declare (in) float y)\n"
8015 " (declare (in) float a))\n"
8016 " ())\n"
8017 " (signature vec2\n"
8018 " (parameters\n"
8019 " (declare (in) vec2 x)\n"
8020 " (declare (in) vec2 y)\n"
8021 " (declare (in) vec2 a))\n"
8022 " ())\n"
8023 " (signature vec3\n"
8024 " (parameters\n"
8025 " (declare (in) vec3 x)\n"
8026 " (declare (in) vec3 y)\n"
8027 " (declare (in) vec3 a))\n"
8028 " ())\n"
8029 " (signature vec4\n"
8030 " (parameters\n"
8031 " (declare (in) vec4 x)\n"
8032 " (declare (in) vec4 y)\n"
8033 " (declare (in) vec4 a))\n"
8034 " ())\n"
8035 " (signature vec2\n"
8036 " (parameters\n"
8037 " (declare (in) vec2 x)\n"
8038 " (declare (in) vec2 y)\n"
8039 " (declare (in) float a))\n"
8040 " ())\n"
8041 " (signature vec3\n"
8042 " (parameters\n"
8043 " (declare (in) vec3 x)\n"
8044 " (declare (in) vec3 y)\n"
8045 " (declare (in) float a))\n"
8046 " ())\n"
8047 " (signature vec4\n"
8048 " (parameters\n"
8049 " (declare (in) vec4 x)\n"
8050 " (declare (in) vec4 y)\n"
8051 " (declare (in) float a))\n"
8052 " ()))\n"
8053 "(function step\n"
8054 " (signature float\n"
8055 " (parameters\n"
8056 " (declare (in) float edge)\n"
8057 " (declare (in) float x))\n"
8058 " ())\n"
8059 " (signature vec2\n"
8060 " (parameters\n"
8061 " (declare (in) vec2 edge)\n"
8062 " (declare (in) vec2 x))\n"
8063 " ())\n"
8064 " (signature vec3\n"
8065 " (parameters\n"
8066 " (declare (in) vec3 edge)\n"
8067 " (declare (in) vec3 x))\n"
8068 " ())\n"
8069 " (signature vec4\n"
8070 " (parameters\n"
8071 " (declare (in) vec4 edge)\n"
8072 " (declare (in) vec4 x))\n"
8073 " ())\n"
8074 " (signature vec2\n"
8075 " (parameters\n"
8076 " (declare (in) float edge)\n"
8077 " (declare (in) vec2 x))\n"
8078 " ())\n"
8079 " (signature vec3\n"
8080 " (parameters\n"
8081 " (declare (in) float edge)\n"
8082 " (declare (in) vec3 x))\n"
8083 " ())\n"
8084 " (signature vec4\n"
8085 " (parameters\n"
8086 " (declare (in) float edge)\n"
8087 " (declare (in) vec4 x))\n"
8088 " ()))\n"
8089 "(function smoothstep\n"
8090 " (signature float\n"
8091 " (parameters\n"
8092 " (declare (in) float edge0)\n"
8093 " (declare (in) float edge1)\n"
8094 " (declare (in) float x))\n"
8095 " ())\n"
8096 " (signature vec2\n"
8097 " (parameters\n"
8098 " (declare (in) vec2 edge0)\n"
8099 " (declare (in) vec2 edge1)\n"
8100 " (declare (in) vec2 x))\n"
8101 " ())\n"
8102 " (signature vec3\n"
8103 " (parameters\n"
8104 " (declare (in) vec3 edge0)\n"
8105 " (declare (in) vec3 edge1)\n"
8106 " (declare (in) vec3 x))\n"
8107 " ())\n"
8108 " (signature vec4\n"
8109 " (parameters\n"
8110 " (declare (in) vec4 edge0)\n"
8111 " (declare (in) vec4 edge1)\n"
8112 " (declare (in) vec4 x))\n"
8113 " ())\n"
8114 " (signature vec2\n"
8115 " (parameters\n"
8116 " (declare (in) float edge0)\n"
8117 " (declare (in) float edge1)\n"
8118 " (declare (in) vec2 x))\n"
8119 " ())\n"
8120 " (signature vec3\n"
8121 " (parameters\n"
8122 " (declare (in) float edge0)\n"
8123 " (declare (in) float edge1)\n"
8124 " (declare (in) vec3 x))\n"
8125 " ())\n"
8126 " (signature vec4\n"
8127 " (parameters\n"
8128 " (declare (in) float edge0)\n"
8129 " (declare (in) float edge1)\n"
8130 " (declare (in) vec4 x))\n"
8131 " ()))\n"
8132 "(function length\n"
8133 " (signature float\n"
8134 " (parameters\n"
8135 " (declare (in) float x))\n"
8136 " ())\n"
8137 " (signature float\n"
8138 " (parameters\n"
8139 " (declare (in) vec2 x))\n"
8140 " ())\n"
8141 " (signature float\n"
8142 " (parameters\n"
8143 " (declare (in) vec3 x))\n"
8144 " ())\n"
8145 " (signature float\n"
8146 " (parameters\n"
8147 " (declare (in) vec4 x))\n"
8148 " ()))\n"
8149 "(function distance\n"
8150 " (signature float\n"
8151 " (parameters\n"
8152 " (declare (in) float p0)\n"
8153 " (declare (in) float p1))\n"
8154 " ())\n"
8155 " (signature float\n"
8156 " (parameters\n"
8157 " (declare (in) vec2 p0)\n"
8158 " (declare (in) vec2 p1))\n"
8159 " ())\n"
8160 " (signature float\n"
8161 " (parameters\n"
8162 " (declare (in) vec3 p0)\n"
8163 " (declare (in) vec3 p1))\n"
8164 " ())\n"
8165 " (signature float\n"
8166 " (parameters\n"
8167 " (declare (in) vec4 p0)\n"
8168 " (declare (in) vec4 p1))\n"
8169 " ()))\n"
8170 "(function dot\n"
8171 " (signature float\n"
8172 " (parameters\n"
8173 " (declare (in) float x)\n"
8174 " (declare (in) float y))\n"
8175 " ())\n"
8176 " (signature float\n"
8177 " (parameters\n"
8178 " (declare (in) vec2 x)\n"
8179 " (declare (in) vec2 y))\n"
8180 " ())\n"
8181 " (signature float\n"
8182 " (parameters\n"
8183 " (declare (in) vec3 x)\n"
8184 " (declare (in) vec3 y))\n"
8185 " ())\n"
8186 " (signature float\n"
8187 " (parameters\n"
8188 " (declare (in) vec4 x)\n"
8189 " (declare (in) vec4 y))\n"
8190 " ()))\n"
8191 "(function cross\n"
8192 " (signature vec3\n"
8193 " (parameters\n"
8194 " (declare (in) vec3 x)\n"
8195 " (declare (in) vec3 y))\n"
8196 " ()))\n"
8197 "(function normalize\n"
8198 " (signature float\n"
8199 " (parameters\n"
8200 " (declare (in) float x))\n"
8201 " ())\n"
8202 " (signature vec2\n"
8203 " (parameters\n"
8204 " (declare (in) vec2 x))\n"
8205 " ())\n"
8206 " (signature vec3\n"
8207 " (parameters\n"
8208 " (declare (in) vec3 x))\n"
8209 " ())\n"
8210 " (signature vec4\n"
8211 " (parameters\n"
8212 " (declare (in) vec4 x))\n"
8213 " ()))\n"
8214 "(function faceforward\n"
8215 " (signature float\n"
8216 " (parameters\n"
8217 " (declare (in) float N)\n"
8218 " (declare (in) float I)\n"
8219 " (declare (in) float Nref))\n"
8220 " ())\n"
8221 " (signature vec2\n"
8222 " (parameters\n"
8223 " (declare (in) vec2 N)\n"
8224 " (declare (in) vec2 I)\n"
8225 " (declare (in) vec2 Nref))\n"
8226 " ())\n"
8227 " (signature vec3\n"
8228 " (parameters\n"
8229 " (declare (in) vec3 N)\n"
8230 " (declare (in) vec3 I)\n"
8231 " (declare (in) vec3 Nref))\n"
8232 " ())\n"
8233 " (signature vec4\n"
8234 " (parameters\n"
8235 " (declare (in) vec4 N)\n"
8236 " (declare (in) vec4 I)\n"
8237 " (declare (in) vec4 Nref))\n"
8238 " ()))\n"
8239 "(function reflect\n"
8240 " (signature float\n"
8241 " (parameters\n"
8242 " (declare (in) float I)\n"
8243 " (declare (in) float N))\n"
8244 " ())\n"
8245 " (signature vec2\n"
8246 " (parameters\n"
8247 " (declare (in) vec2 I)\n"
8248 " (declare (in) vec2 N))\n"
8249 " ())\n"
8250 " (signature vec3\n"
8251 " (parameters\n"
8252 " (declare (in) vec3 I)\n"
8253 " (declare (in) vec3 N))\n"
8254 " ())\n"
8255 " (signature vec4\n"
8256 " (parameters\n"
8257 " (declare (in) vec4 I)\n"
8258 " (declare (in) vec4 N))\n"
8259 " ()))\n"
8260 "(function refract\n"
8261 " (signature float\n"
8262 " (parameters\n"
8263 " (declare (in) float I)\n"
8264 " (declare (in) float N)\n"
8265 " (declare (in) float eta))\n"
8266 " ())\n"
8267 " (signature vec2\n"
8268 " (parameters\n"
8269 " (declare (in) vec2 I)\n"
8270 " (declare (in) vec2 N)\n"
8271 " (declare (in) float eta))\n"
8272 " ())\n"
8273 " (signature vec3\n"
8274 " (parameters\n"
8275 " (declare (in) vec3 I)\n"
8276 " (declare (in) vec3 N)\n"
8277 " (declare (in) float eta))\n"
8278 " ())\n"
8279 " (signature vec4\n"
8280 " (parameters\n"
8281 " (declare (in) vec4 I)\n"
8282 " (declare (in) vec4 N)\n"
8283 " (declare (in) float eta))\n"
8284 " ()))\n"
8285 "(function matrixCompMult\n"
8286 " (signature mat2\n"
8287 " (parameters\n"
8288 " (declare (in) mat2 x)\n"
8289 " (declare (in) mat2 y))\n"
8290 " ())\n"
8291 " (signature mat3\n"
8292 " (parameters\n"
8293 " (declare (in) mat3 x)\n"
8294 " (declare (in) mat3 y))\n"
8295 " ())\n"
8296 " (signature mat4\n"
8297 " (parameters\n"
8298 " (declare (in) mat4 x)\n"
8299 " (declare (in) mat4 y))\n"
8300 " ())\n"
8301 " (signature mat2x3\n"
8302 " (parameters\n"
8303 " (declare (in) mat2x3 x)\n"
8304 " (declare (in) mat2x3 y))\n"
8305 " ())\n"
8306 " (signature mat2x4\n"
8307 " (parameters\n"
8308 " (declare (in) mat2x4 x)\n"
8309 " (declare (in) mat2x4 y))\n"
8310 " ())\n"
8311 " (signature mat3x2\n"
8312 " (parameters\n"
8313 " (declare (in) mat3x2 x)\n"
8314 " (declare (in) mat3x2 y))\n"
8315 " ())\n"
8316 " (signature mat3x4\n"
8317 " (parameters\n"
8318 " (declare (in) mat3x4 x)\n"
8319 " (declare (in) mat3x4 y))\n"
8320 " ())\n"
8321 " (signature mat4x2\n"
8322 " (parameters\n"
8323 " (declare (in) mat4x2 x)\n"
8324 " (declare (in) mat4x2 y))\n"
8325 " ())\n"
8326 " (signature mat4x3\n"
8327 " (parameters\n"
8328 " (declare (in) mat4x3 x)\n"
8329 " (declare (in) mat4x3 y))\n"
8330 " ()))\n"
8331 "(function outerProduct\n"
8332 " (signature mat2\n"
8333 " (parameters\n"
8334 " (declare (in) vec2 c)\n"
8335 " (declare (in) vec2 r))\n"
8336 " ())\n"
8337 " (signature mat3\n"
8338 " (parameters\n"
8339 " (declare (in) vec3 c)\n"
8340 " (declare (in) vec3 r))\n"
8341 " ())\n"
8342 " (signature mat4\n"
8343 " (parameters\n"
8344 " (declare (in) vec4 c)\n"
8345 " (declare (in) vec4 r))\n"
8346 " ())\n"
8347 " (signature mat2x3\n"
8348 " (parameters\n"
8349 " (declare (in) vec3 c)\n"
8350 " (declare (in) vec2 r))\n"
8351 " ())\n"
8352 " (signature mat3x2\n"
8353 " (parameters\n"
8354 " (declare (in) vec2 c)\n"
8355 " (declare (in) vec3 r))\n"
8356 " ())\n"
8357 " (signature mat2x4\n"
8358 " (parameters\n"
8359 " (declare (in) vec4 c)\n"
8360 " (declare (in) vec2 r))\n"
8361 " ())\n"
8362 " (signature mat4x2\n"
8363 " (parameters\n"
8364 " (declare (in) vec2 c)\n"
8365 " (declare (in) vec4 r))\n"
8366 " ())\n"
8367 " (signature mat3x4\n"
8368 " (parameters\n"
8369 " (declare (in) vec4 c)\n"
8370 " (declare (in) vec3 r))\n"
8371 " ())\n"
8372 " (signature mat4x3\n"
8373 " (parameters\n"
8374 " (declare (in) vec3 c)\n"
8375 " (declare (in) vec4 r))\n"
8376 " ()))\n"
8377 "(function transpose\n"
8378 " (signature mat2\n"
8379 " (parameters\n"
8380 " (declare (in) mat2 m))\n"
8381 " ())\n"
8382 " (signature mat3\n"
8383 " (parameters\n"
8384 " (declare (in) mat3 m))\n"
8385 " ())\n"
8386 " (signature mat4\n"
8387 " (parameters\n"
8388 " (declare (in) mat4 m))\n"
8389 " ())\n"
8390 " (signature mat2x3\n"
8391 " (parameters\n"
8392 " (declare (in) mat3x2 m))\n"
8393 " ())\n"
8394 " (signature mat3x2\n"
8395 " (parameters\n"
8396 " (declare (in) mat2x3 m))\n"
8397 " ())\n"
8398 " (signature mat2x4\n"
8399 " (parameters\n"
8400 " (declare (in) mat4x2 m))\n"
8401 " ())\n"
8402 " (signature mat4x2\n"
8403 " (parameters\n"
8404 " (declare (in) mat2x4 m))\n"
8405 " ())\n"
8406 " (signature mat3x4\n"
8407 " (parameters\n"
8408 " (declare (in) mat4x3 m))\n"
8409 " ())\n"
8410 " (signature mat4x3\n"
8411 " (parameters\n"
8412 " (declare (in) mat3x4 m))\n"
8413 " ()))\n"
8414 "(function lessThan\n"
8415 " (signature bvec2\n"
8416 " (parameters\n"
8417 " (declare (in) vec2 x)\n"
8418 " (declare (in) vec2 y))\n"
8419 " ())\n"
8420 " (signature bvec3\n"
8421 " (parameters\n"
8422 " (declare (in) vec3 x)\n"
8423 " (declare (in) vec3 y))\n"
8424 " ())\n"
8425 " (signature bvec4\n"
8426 " (parameters\n"
8427 " (declare (in) vec4 x)\n"
8428 " (declare (in) vec4 y))\n"
8429 " ())\n"
8430 " (signature bvec2\n"
8431 " (parameters\n"
8432 " (declare (in) ivec2 x)\n"
8433 " (declare (in) ivec2 y))\n"
8434 " ())\n"
8435 " (signature bvec3\n"
8436 " (parameters\n"
8437 " (declare (in) ivec3 x)\n"
8438 " (declare (in) ivec3 y))\n"
8439 " ())\n"
8440 " (signature bvec4\n"
8441 " (parameters\n"
8442 " (declare (in) ivec4 x)\n"
8443 " (declare (in) ivec4 y))\n"
8444 " ()))\n"
8445 "(function lessThanEqual\n"
8446 " (signature bvec2\n"
8447 " (parameters\n"
8448 " (declare (in) vec2 x)\n"
8449 " (declare (in) vec2 y))\n"
8450 " ())\n"
8451 " (signature bvec3\n"
8452 " (parameters\n"
8453 " (declare (in) vec3 x)\n"
8454 " (declare (in) vec3 y))\n"
8455 " ())\n"
8456 " (signature bvec4\n"
8457 " (parameters\n"
8458 " (declare (in) vec4 x)\n"
8459 " (declare (in) vec4 y))\n"
8460 " ())\n"
8461 " (signature bvec2\n"
8462 " (parameters\n"
8463 " (declare (in) ivec2 x)\n"
8464 " (declare (in) ivec2 y))\n"
8465 " ())\n"
8466 " (signature bvec3\n"
8467 " (parameters\n"
8468 " (declare (in) ivec3 x)\n"
8469 " (declare (in) ivec3 y))\n"
8470 " ())\n"
8471 " (signature bvec4\n"
8472 " (parameters\n"
8473 " (declare (in) ivec4 x)\n"
8474 " (declare (in) ivec4 y))\n"
8475 " ()))\n"
8476 "(function greaterThan\n"
8477 " (signature bvec2\n"
8478 " (parameters\n"
8479 " (declare (in) vec2 x)\n"
8480 " (declare (in) vec2 y))\n"
8481 " ())\n"
8482 " (signature bvec3\n"
8483 " (parameters\n"
8484 " (declare (in) vec3 x)\n"
8485 " (declare (in) vec3 y))\n"
8486 " ())\n"
8487 " (signature bvec4\n"
8488 " (parameters\n"
8489 " (declare (in) vec4 x)\n"
8490 " (declare (in) vec4 y))\n"
8491 " ())\n"
8492 " (signature bvec2\n"
8493 " (parameters\n"
8494 " (declare (in) ivec2 x)\n"
8495 " (declare (in) ivec2 y))\n"
8496 " ())\n"
8497 " (signature bvec3\n"
8498 " (parameters\n"
8499 " (declare (in) ivec3 x)\n"
8500 " (declare (in) ivec3 y))\n"
8501 " ())\n"
8502 " (signature bvec4\n"
8503 " (parameters\n"
8504 " (declare (in) ivec4 x)\n"
8505 " (declare (in) ivec4 y))\n"
8506 " ()))\n"
8507 "(function greaterThanEqual\n"
8508 " (signature bvec2\n"
8509 " (parameters\n"
8510 " (declare (in) vec2 x)\n"
8511 " (declare (in) vec2 y))\n"
8512 " ())\n"
8513 " (signature bvec3\n"
8514 " (parameters\n"
8515 " (declare (in) vec3 x)\n"
8516 " (declare (in) vec3 y))\n"
8517 " ())\n"
8518 " (signature bvec4\n"
8519 " (parameters\n"
8520 " (declare (in) vec4 x)\n"
8521 " (declare (in) vec4 y))\n"
8522 " ())\n"
8523 " (signature bvec2\n"
8524 " (parameters\n"
8525 " (declare (in) ivec2 x)\n"
8526 " (declare (in) ivec2 y))\n"
8527 " ())\n"
8528 " (signature bvec3\n"
8529 " (parameters\n"
8530 " (declare (in) ivec3 x)\n"
8531 " (declare (in) ivec3 y))\n"
8532 " ())\n"
8533 " (signature bvec4\n"
8534 " (parameters\n"
8535 " (declare (in) ivec4 x)\n"
8536 " (declare (in) ivec4 y))\n"
8537 " ()))\n"
8538 "(function equal\n"
8539 " (signature bvec2\n"
8540 " (parameters\n"
8541 " (declare (in) vec2 x)\n"
8542 " (declare (in) vec2 y))\n"
8543 " ())\n"
8544 " (signature bvec3\n"
8545 " (parameters\n"
8546 " (declare (in) vec3 x)\n"
8547 " (declare (in) vec3 y))\n"
8548 " ())\n"
8549 " (signature bvec4\n"
8550 " (parameters\n"
8551 " (declare (in) vec4 x)\n"
8552 " (declare (in) vec4 y))\n"
8553 " ())\n"
8554 " (signature bvec2\n"
8555 " (parameters\n"
8556 " (declare (in) ivec2 x)\n"
8557 " (declare (in) ivec2 y))\n"
8558 " ())\n"
8559 " (signature bvec3\n"
8560 " (parameters\n"
8561 " (declare (in) ivec3 x)\n"
8562 " (declare (in) ivec3 y))\n"
8563 " ())\n"
8564 " (signature bvec4\n"
8565 " (parameters\n"
8566 " (declare (in) ivec4 x)\n"
8567 " (declare (in) ivec4 y))\n"
8568 " ())\n"
8569 " (signature bvec2\n"
8570 " (parameters\n"
8571 " (declare (in) bvec2 x)\n"
8572 " (declare (in) bvec2 y))\n"
8573 " ())\n"
8574 " (signature bvec3\n"
8575 " (parameters\n"
8576 " (declare (in) bvec3 x)\n"
8577 " (declare (in) bvec3 y))\n"
8578 " ())\n"
8579 " (signature bvec4\n"
8580 " (parameters\n"
8581 " (declare (in) bvec4 x)\n"
8582 " (declare (in) bvec4 y))\n"
8583 " ()))\n"
8584 "(function notEqual\n"
8585 " (signature bvec2\n"
8586 " (parameters\n"
8587 " (declare (in) vec2 x)\n"
8588 " (declare (in) vec2 y))\n"
8589 " ())\n"
8590 " (signature bvec3\n"
8591 " (parameters\n"
8592 " (declare (in) vec3 x)\n"
8593 " (declare (in) vec3 y))\n"
8594 " ())\n"
8595 " (signature bvec4\n"
8596 " (parameters\n"
8597 " (declare (in) vec4 x)\n"
8598 " (declare (in) vec4 y))\n"
8599 " ())\n"
8600 " (signature bvec2\n"
8601 " (parameters\n"
8602 " (declare (in) ivec2 x)\n"
8603 " (declare (in) ivec2 y))\n"
8604 " ())\n"
8605 " (signature bvec3\n"
8606 " (parameters\n"
8607 " (declare (in) ivec3 x)\n"
8608 " (declare (in) ivec3 y))\n"
8609 " ())\n"
8610 " (signature bvec4\n"
8611 " (parameters\n"
8612 " (declare (in) ivec4 x)\n"
8613 " (declare (in) ivec4 y))\n"
8614 " ())\n"
8615 " (signature bvec2\n"
8616 " (parameters\n"
8617 " (declare (in) bvec2 x)\n"
8618 " (declare (in) bvec2 y))\n"
8619 " ())\n"
8620 " (signature bvec3\n"
8621 " (parameters\n"
8622 " (declare (in) bvec3 x)\n"
8623 " (declare (in) bvec3 y))\n"
8624 " ())\n"
8625 " (signature bvec4\n"
8626 " (parameters\n"
8627 " (declare (in) bvec4 x)\n"
8628 " (declare (in) bvec4 y))\n"
8629 " ()))\n"
8630 "(function any\n"
8631 " (signature bool\n"
8632 " (parameters\n"
8633 " (declare (in) bvec2 x))\n"
8634 " ())\n"
8635 " (signature bool\n"
8636 " (parameters\n"
8637 " (declare (in) bvec3 x))\n"
8638 " ())\n"
8639 " (signature bool\n"
8640 " (parameters\n"
8641 " (declare (in) bvec4 x))\n"
8642 " ()))\n"
8643 "(function all\n"
8644 " (signature bool\n"
8645 " (parameters\n"
8646 " (declare (in) bvec2 x))\n"
8647 " ())\n"
8648 " (signature bool\n"
8649 " (parameters\n"
8650 " (declare (in) bvec3 x))\n"
8651 " ())\n"
8652 " (signature bool\n"
8653 " (parameters\n"
8654 " (declare (in) bvec4 x))\n"
8655 " ()))\n"
8656 "(function not\n"
8657 " (signature bvec2\n"
8658 " (parameters\n"
8659 " (declare (in) bvec2 x))\n"
8660 " ())\n"
8661 " (signature bvec3\n"
8662 " (parameters\n"
8663 " (declare (in) bvec3 x))\n"
8664 " ())\n"
8665 " (signature bvec4\n"
8666 " (parameters\n"
8667 " (declare (in) bvec4 x))\n"
8668 " ()))\n"
8669 "(function texture1D\n"
8670 " (signature vec4\n"
8671 " (parameters\n"
8672 " (declare (in) sampler1D sampler)\n"
8673 " (declare (in) float coord))\n"
8674 " ())\n"
8675 " (signature vec4\n"
8676 " (parameters\n"
8677 " (declare (in) sampler1D sampler)\n"
8678 " (declare (in) float coord)\n"
8679 " (declare (in) float bias))\n"
8680 " ()))\n"
8681 "(function texture1DProj\n"
8682 " (signature vec4\n"
8683 " (parameters\n"
8684 " (declare (in) sampler1D sampler)\n"
8685 " (declare (in) vec2 coord))\n"
8686 " ())\n"
8687 " (signature vec4\n"
8688 " (parameters\n"
8689 " (declare (in) sampler1D sampler)\n"
8690 " (declare (in) vec4 coord))\n"
8691 " ())\n"
8692 " (signature vec4\n"
8693 " (parameters\n"
8694 " (declare (in) sampler1D sampler)\n"
8695 " (declare (in) vec2 coord)\n"
8696 " (declare (in) float bias))\n"
8697 " ())\n"
8698 " (signature vec4\n"
8699 " (parameters\n"
8700 " (declare (in) sampler1D sampler)\n"
8701 " (declare (in) vec4 coord)\n"
8702 " (declare (in) float bias))\n"
8703 " ()))\n"
8704 "(function texture2D\n"
8705 " (signature vec4\n"
8706 " (parameters\n"
8707 " (declare (in) sampler2D sampler)\n"
8708 " (declare (in) vec2 coord))\n"
8709 " ())\n"
8710 " (signature vec4\n"
8711 " (parameters\n"
8712 " (declare (in) sampler2D sampler)\n"
8713 " (declare (in) vec2 coord)\n"
8714 " (declare (in) float bias))\n"
8715 " ()))\n"
8716 "(function texture2DProj\n"
8717 " (signature vec4\n"
8718 " (parameters\n"
8719 " (declare (in) sampler2D sampler)\n"
8720 " (declare (in) vec3 coord))\n"
8721 " ())\n"
8722 " (signature vec4\n"
8723 " (parameters\n"
8724 " (declare (in) sampler2D sampler)\n"
8725 " (declare (in) vec4 coord))\n"
8726 " ())\n"
8727 " (signature vec4\n"
8728 " (parameters\n"
8729 " (declare (in) sampler2D sampler)\n"
8730 " (declare (in) vec3 coord)\n"
8731 " (declare (in) float bias))\n"
8732 " ())\n"
8733 " (signature vec4\n"
8734 " (parameters\n"
8735 " (declare (in) sampler2D sampler)\n"
8736 " (declare (in) vec4 coord)\n"
8737 " (declare (in) float bias))\n"
8738 " ()))\n"
8739 "(function texture3D\n"
8740 " (signature vec4\n"
8741 " (parameters\n"
8742 " (declare (in) sampler3D sampler)\n"
8743 " (declare (in) vec3 coord))\n"
8744 " ())\n"
8745 " (signature vec4\n"
8746 " (parameters\n"
8747 " (declare (in) sampler3D sampler)\n"
8748 " (declare (in) vec3 coord)\n"
8749 " (declare (in) float bias))\n"
8750 " ()))\n"
8751 "(function texture3DProj\n"
8752 " (signature vec4\n"
8753 " (parameters\n"
8754 " (declare (in) sampler3D sampler)\n"
8755 " (declare (in) vec4 coord))\n"
8756 " ())\n"
8757 " (signature vec4\n"
8758 " (parameters\n"
8759 " (declare (in) sampler3D sampler)\n"
8760 " (declare (in) vec4 coord)\n"
8761 " (declare (in) float bias))\n"
8762 " ()))\n"
8763 "(function textureCube\n"
8764 " (signature vec4\n"
8765 " (parameters\n"
8766 " (declare (in) samplerCube sampler)\n"
8767 " (declare (in) vec3 coord))\n"
8768 " ())\n"
8769 " (signature vec4\n"
8770 " (parameters\n"
8771 " (declare (in) samplerCube sampler)\n"
8772 " (declare (in) vec3 coord)\n"
8773 " (declare (in) float bias))\n"
8774 " ()))\n"
8775 "(function shadow1D\n"
8776 " (signature vec4\n"
8777 " (parameters\n"
8778 " (declare (in) sampler1DShadow sampler)\n"
8779 " (declare (in) vec3 coord))\n"
8780 " ())\n"
8781 " (signature vec4\n"
8782 " (parameters\n"
8783 " (declare (in) sampler1DShadow sampler)\n"
8784 " (declare (in) vec3 coord)\n"
8785 " (declare (in) float bias))\n"
8786 " ()))\n"
8787 "(function shadow2D\n"
8788 " (signature vec4\n"
8789 " (parameters\n"
8790 " (declare (in) sampler2DShadow sampler)\n"
8791 " (declare (in) vec3 coord))\n"
8792 " ())\n"
8793 " (signature vec4\n"
8794 " (parameters\n"
8795 " (declare (in) sampler2DShadow sampler)\n"
8796 " (declare (in) vec3 coord)\n"
8797 " (declare (in) float bias))\n"
8798 " ()))\n"
8799 "(function shadow1DProj\n"
8800 " (signature vec4\n"
8801 " (parameters\n"
8802 " (declare (in) sampler1DShadow sampler)\n"
8803 " (declare (in) vec4 coord))\n"
8804 " ())\n"
8805 " (signature vec4\n"
8806 " (parameters\n"
8807 " (declare (in) sampler1DShadow sampler)\n"
8808 " (declare (in) vec4 coord)\n"
8809 " (declare (in) float bias))\n"
8810 " ()))\n"
8811 "(function shadow2DProj\n"
8812 " (signature vec4\n"
8813 " (parameters\n"
8814 " (declare (in) sampler2DShadow sampler)\n"
8815 " (declare (in) vec4 coord))\n"
8816 " ())\n"
8817 " (signature vec4\n"
8818 " (parameters\n"
8819 " (declare (in) sampler2DShadow sampler)\n"
8820 " (declare (in) vec4 coord)\n"
8821 " (declare (in) float bias))\n"
8822 " ()))\n"
8823 "(function dFdx\n"
8824 " (signature float\n"
8825 " (parameters\n"
8826 " (declare (in) float p))\n"
8827 " ())\n"
8828 " (signature vec2\n"
8829 " (parameters\n"
8830 " (declare (in) vec2 p))\n"
8831 " ())\n"
8832 " (signature vec3\n"
8833 " (parameters\n"
8834 " (declare (in) vec3 p))\n"
8835 " ())\n"
8836 " (signature vec4\n"
8837 " (parameters\n"
8838 " (declare (in) vec4 p))\n"
8839 " ()))\n"
8840 "(function dFdy\n"
8841 " (signature float\n"
8842 " (parameters\n"
8843 " (declare (in) float p))\n"
8844 " ())\n"
8845 " (signature vec2\n"
8846 " (parameters\n"
8847 " (declare (in) vec2 p))\n"
8848 " ())\n"
8849 " (signature vec3\n"
8850 " (parameters\n"
8851 " (declare (in) vec3 p))\n"
8852 " ())\n"
8853 " (signature vec4\n"
8854 " (parameters\n"
8855 " (declare (in) vec4 p))\n"
8856 " ()))\n"
8857 "(function fwidth\n"
8858 " (signature float\n"
8859 " (parameters\n"
8860 " (declare (in) float p))\n"
8861 " ())\n"
8862 " (signature vec2\n"
8863 " (parameters\n"
8864 " (declare (in) vec2 p))\n"
8865 " ())\n"
8866 " (signature vec3\n"
8867 " (parameters\n"
8868 " (declare (in) vec3 p))\n"
8869 " ())\n"
8870 " (signature vec4\n"
8871 " (parameters\n"
8872 " (declare (in) vec4 p))\n"
8873 " ()))\n"
8874 "(function noise1\n"
8875 " (signature float\n"
8876 " (parameters\n"
8877 " (declare (in) float x))\n"
8878 " ())\n"
8879 " (signature float\n"
8880 " (parameters\n"
8881 " (declare (in) vec2 x))\n"
8882 " ())\n"
8883 " (signature float\n"
8884 " (parameters\n"
8885 " (declare (in) vec3 x))\n"
8886 " ())\n"
8887 " (signature float\n"
8888 " (parameters\n"
8889 " (declare (in) vec4 x))\n"
8890 " ()))\n"
8891 "(function noise2\n"
8892 " (signature vec2\n"
8893 " (parameters\n"
8894 " (declare (in) float x))\n"
8895 " ())\n"
8896 " (signature vec2\n"
8897 " (parameters\n"
8898 " (declare (in) vec2 x))\n"
8899 " ())\n"
8900 " (signature vec2\n"
8901 " (parameters\n"
8902 " (declare (in) vec3 x))\n"
8903 " ())\n"
8904 " (signature vec2\n"
8905 " (parameters\n"
8906 " (declare (in) vec4 x))\n"
8907 " ()))\n"
8908 "(function noise3\n"
8909 " (signature vec3\n"
8910 " (parameters\n"
8911 " (declare (in) float x))\n"
8912 " ())\n"
8913 " (signature vec3\n"
8914 " (parameters\n"
8915 " (declare (in) vec2 x))\n"
8916 " ())\n"
8917 " (signature vec3\n"
8918 " (parameters\n"
8919 " (declare (in) vec3 x))\n"
8920 " ())\n"
8921 " (signature vec3\n"
8922 " (parameters\n"
8923 " (declare (in) vec4 x))\n"
8924 " ()))\n"
8925 "(function noise4\n"
8926 " (signature vec4\n"
8927 " (parameters\n"
8928 " (declare (in) float x))\n"
8929 " ())\n"
8930 " (signature vec4\n"
8931 " (parameters\n"
8932 " (declare (in) vec2 x))\n"
8933 " ())\n"
8934 " (signature vec4\n"
8935 " (parameters\n"
8936 " (declare (in) vec3 x))\n"
8937 " ())\n"
8938 " (signature vec4\n"
8939 " (parameters\n"
8940 " (declare (in) vec4 x))\n"
8941 " ())))"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008942;
Eric Anholt47003a82010-08-23 12:39:35 -07008943static const char *functions_for_120_frag [] = {
8944 builtin_abs,
8945 builtin_acos,
8946 builtin_all,
8947 builtin_any,
8948 builtin_asin,
8949 builtin_atan,
8950 builtin_ceil,
8951 builtin_clamp,
8952 builtin_cos,
8953 builtin_cross,
8954 builtin_dFdx,
8955 builtin_dFdy,
8956 builtin_degrees,
8957 builtin_distance,
8958 builtin_dot,
8959 builtin_equal,
8960 builtin_exp,
8961 builtin_exp2,
8962 builtin_faceforward,
8963 builtin_floor,
8964 builtin_fract,
8965 builtin_fwidth,
8966 builtin_greaterThan,
8967 builtin_greaterThanEqual,
8968 builtin_inversesqrt,
8969 builtin_length,
8970 builtin_lessThan,
8971 builtin_lessThanEqual,
8972 builtin_log,
8973 builtin_log2,
8974 builtin_matrixCompMult,
8975 builtin_max,
8976 builtin_min,
8977 builtin_mix,
8978 builtin_mod,
8979 builtin_noise1,
8980 builtin_noise2,
8981 builtin_noise3,
8982 builtin_noise4,
8983 builtin_normalize,
8984 builtin_not,
8985 builtin_notEqual,
8986 builtin_outerProduct,
8987 builtin_pow,
8988 builtin_radians,
8989 builtin_reflect,
8990 builtin_refract,
8991 builtin_shadow1D,
8992 builtin_shadow1DProj,
8993 builtin_shadow2D,
8994 builtin_shadow2DProj,
8995 builtin_sign,
8996 builtin_sin,
8997 builtin_smoothstep,
8998 builtin_sqrt,
8999 builtin_step,
9000 builtin_tan,
9001 builtin_texture1D,
9002 builtin_texture1DProj,
9003 builtin_texture2D,
9004 builtin_texture2DProj,
9005 builtin_texture3D,
9006 builtin_texture3DProj,
9007 builtin_textureCube,
9008 builtin_transpose,
9009};
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009010static const char *prototypes_for_120_vert =
9011 "(\n"
9012 "(function radians\n"
9013 " (signature float\n"
9014 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009015 " (declare (in) float degrees))\n"
9016 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009017 " (signature vec2\n"
9018 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009019 " (declare (in) vec2 degrees))\n"
9020 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009021 " (signature vec3\n"
9022 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009023 " (declare (in) vec3 degrees))\n"
9024 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009025 " (signature vec4\n"
9026 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009027 " (declare (in) vec4 degrees))\n"
9028 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009029 "(function degrees\n"
9030 " (signature float\n"
9031 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009032 " (declare (in) float radians))\n"
9033 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009034 " (signature vec2\n"
9035 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009036 " (declare (in) vec2 radians))\n"
9037 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009038 " (signature vec3\n"
9039 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009040 " (declare (in) vec3 radians))\n"
9041 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009042 " (signature vec4\n"
9043 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009044 " (declare (in) vec4 radians))\n"
9045 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009046 "(function sin\n"
9047 " (signature float\n"
9048 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009049 " (declare (in) float angle))\n"
9050 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009051 " (signature vec2\n"
9052 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009053 " (declare (in) vec2 angle))\n"
9054 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009055 " (signature vec3\n"
9056 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009057 " (declare (in) vec3 angle))\n"
9058 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009059 " (signature vec4\n"
9060 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009061 " (declare (in) vec4 angle))\n"
9062 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009063 "(function cos\n"
9064 " (signature float\n"
9065 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009066 " (declare (in) float angle))\n"
9067 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009068 " (signature vec2\n"
9069 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009070 " (declare (in) vec2 angle))\n"
9071 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009072 " (signature vec3\n"
9073 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009074 " (declare (in) vec3 angle))\n"
9075 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009076 " (signature vec4\n"
9077 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009078 " (declare (in) vec4 angle))\n"
9079 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009080 "(function tan\n"
9081 " (signature float\n"
9082 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009083 " (declare (in) float angle))\n"
9084 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009085 " (signature vec2\n"
9086 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009087 " (declare (in) vec2 angle))\n"
9088 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009089 " (signature vec3\n"
9090 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009091 " (declare (in) vec3 angle))\n"
9092 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009093 " (signature vec4\n"
9094 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009095 " (declare (in) vec4 angle))\n"
9096 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009097 "(function asin\n"
9098 " (signature float\n"
9099 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009100 " (declare (in) float angle))\n"
9101 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009102 " (signature vec2\n"
9103 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009104 " (declare (in) vec2 angle))\n"
9105 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009106 " (signature vec3\n"
9107 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009108 " (declare (in) vec3 angle))\n"
9109 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009110 " (signature vec4\n"
9111 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009112 " (declare (in) vec4 angle))\n"
9113 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009114 "(function acos\n"
9115 " (signature float\n"
9116 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009117 " (declare (in) float angle))\n"
9118 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009119 " (signature vec2\n"
9120 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009121 " (declare (in) vec2 angle))\n"
9122 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009123 " (signature vec3\n"
9124 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009125 " (declare (in) vec3 angle))\n"
9126 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009127 " (signature vec4\n"
9128 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009129 " (declare (in) vec4 angle))\n"
9130 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009131 "(function atan\n"
9132 " (signature float\n"
9133 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009134 " (declare (in) float y)\n"
9135 " (declare (in) float x))\n"
9136 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009137 " (signature vec2\n"
9138 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009139 " (declare (in) vec2 y)\n"
9140 " (declare (in) vec2 x))\n"
9141 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009142 " (signature vec3\n"
9143 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009144 " (declare (in) vec3 y)\n"
9145 " (declare (in) vec3 x))\n"
9146 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009147 " (signature vec4\n"
9148 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009149 " (declare (in) vec4 y)\n"
9150 " (declare (in) vec4 x))\n"
9151 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009152 " (signature float\n"
9153 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009154 " (declare (in) float y_over_x))\n"
9155 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009156 " (signature vec2\n"
9157 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009158 " (declare (in) vec2 y_over_x))\n"
9159 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009160 " (signature vec3\n"
9161 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009162 " (declare (in) vec3 y_over_x))\n"
9163 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009164 " (signature vec4\n"
9165 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009166 " (declare (in) vec4 y_over_x))\n"
9167 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009168 "(function pow\n"
9169 " (signature float\n"
9170 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009171 " (declare (in) float x)\n"
9172 " (declare (in) float y))\n"
9173 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009174 " (signature vec2\n"
9175 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009176 " (declare (in) vec2 x)\n"
9177 " (declare (in) vec2 y))\n"
9178 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009179 " (signature vec3\n"
9180 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009181 " (declare (in) vec3 x)\n"
9182 " (declare (in) vec3 y))\n"
9183 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009184 " (signature vec4\n"
9185 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009186 " (declare (in) vec4 x)\n"
9187 " (declare (in) vec4 y))\n"
9188 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009189 "(function exp\n"
9190 " (signature float\n"
9191 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009192 " (declare (in) float x))\n"
9193 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009194 " (signature vec2\n"
9195 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009196 " (declare (in) vec2 x))\n"
9197 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009198 " (signature vec3\n"
9199 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009200 " (declare (in) vec3 x))\n"
9201 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009202 " (signature vec4\n"
9203 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009204 " (declare (in) vec4 x))\n"
9205 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009206 "(function log\n"
9207 " (signature float\n"
9208 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009209 " (declare (in) float x))\n"
9210 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009211 " (signature vec2\n"
9212 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009213 " (declare (in) vec2 x))\n"
9214 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009215 " (signature vec3\n"
9216 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009217 " (declare (in) vec3 x))\n"
9218 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009219 " (signature vec4\n"
9220 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009221 " (declare (in) vec4 x))\n"
9222 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009223 "(function exp2\n"
9224 " (signature float\n"
9225 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009226 " (declare (in) float x))\n"
9227 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009228 " (signature vec2\n"
9229 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009230 " (declare (in) vec2 x))\n"
9231 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009232 " (signature vec3\n"
9233 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009234 " (declare (in) vec3 x))\n"
9235 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009236 " (signature vec4\n"
9237 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009238 " (declare (in) vec4 x))\n"
9239 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009240 "(function log2\n"
9241 " (signature float\n"
9242 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009243 " (declare (in) float x))\n"
9244 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009245 " (signature vec2\n"
9246 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009247 " (declare (in) vec2 x))\n"
9248 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009249 " (signature vec3\n"
9250 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009251 " (declare (in) vec3 x))\n"
9252 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009253 " (signature vec4\n"
9254 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009255 " (declare (in) vec4 x))\n"
9256 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009257 "(function sqrt\n"
9258 " (signature float\n"
9259 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009260 " (declare (in) float x))\n"
9261 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009262 " (signature vec2\n"
9263 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009264 " (declare (in) vec2 x))\n"
9265 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009266 " (signature vec3\n"
9267 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009268 " (declare (in) vec3 x))\n"
9269 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009270 " (signature vec4\n"
9271 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009272 " (declare (in) vec4 x))\n"
9273 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009274 "(function inversesqrt\n"
9275 " (signature float\n"
9276 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009277 " (declare (in) float x))\n"
9278 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009279 " (signature vec2\n"
9280 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009281 " (declare (in) vec2 x))\n"
9282 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009283 " (signature vec3\n"
9284 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009285 " (declare (in) vec3 x))\n"
9286 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009287 " (signature vec4\n"
9288 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009289 " (declare (in) vec4 x))\n"
9290 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009291 "(function abs\n"
9292 " (signature float\n"
9293 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009294 " (declare (in) float x))\n"
9295 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009296 " (signature vec2\n"
9297 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009298 " (declare (in) vec2 x))\n"
9299 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009300 " (signature vec3\n"
9301 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009302 " (declare (in) vec3 x))\n"
9303 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009304 " (signature vec4\n"
9305 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009306 " (declare (in) vec4 x))\n"
9307 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009308 "(function sign\n"
9309 " (signature float\n"
9310 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009311 " (declare (in) float x))\n"
9312 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009313 " (signature vec2\n"
9314 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009315 " (declare (in) vec2 x))\n"
9316 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009317 " (signature vec3\n"
9318 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009319 " (declare (in) vec3 x))\n"
9320 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009321 " (signature vec4\n"
9322 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009323 " (declare (in) vec4 x))\n"
9324 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009325 "(function floor\n"
9326 " (signature float\n"
9327 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009328 " (declare (in) float x))\n"
9329 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009330 " (signature vec2\n"
9331 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009332 " (declare (in) vec2 x))\n"
9333 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009334 " (signature vec3\n"
9335 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009336 " (declare (in) vec3 x))\n"
9337 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009338 " (signature vec4\n"
9339 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009340 " (declare (in) vec4 x))\n"
9341 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009342 "(function ceil\n"
9343 " (signature float\n"
9344 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009345 " (declare (in) float x))\n"
9346 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009347 " (signature vec2\n"
9348 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009349 " (declare (in) vec2 x))\n"
9350 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009351 " (signature vec3\n"
9352 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009353 " (declare (in) vec3 x))\n"
9354 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009355 " (signature vec4\n"
9356 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009357 " (declare (in) vec4 x))\n"
9358 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009359 "(function fract\n"
9360 " (signature float\n"
9361 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009362 " (declare (in) float x))\n"
9363 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009364 " (signature vec2\n"
9365 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009366 " (declare (in) vec2 x))\n"
9367 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009368 " (signature vec3\n"
9369 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009370 " (declare (in) vec3 x))\n"
9371 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009372 " (signature vec4\n"
9373 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009374 " (declare (in) vec4 x))\n"
9375 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009376 "(function mod\n"
9377 " (signature float\n"
9378 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009379 " (declare (in) float x)\n"
9380 " (declare (in) float y))\n"
9381 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009382 " (signature vec2\n"
9383 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009384 " (declare (in) vec2 x)\n"
9385 " (declare (in) float y))\n"
9386 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009387 " (signature vec3\n"
9388 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009389 " (declare (in) vec3 x)\n"
9390 " (declare (in) float y))\n"
9391 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009392 " (signature vec4\n"
9393 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009394 " (declare (in) vec4 x)\n"
9395 " (declare (in) float y))\n"
9396 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009397 " (signature vec2\n"
9398 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009399 " (declare (in) vec2 x)\n"
9400 " (declare (in) vec2 y))\n"
9401 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009402 " (signature vec3\n"
9403 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009404 " (declare (in) vec3 x)\n"
9405 " (declare (in) vec3 y))\n"
9406 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009407 " (signature vec4\n"
9408 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009409 " (declare (in) vec4 x)\n"
9410 " (declare (in) vec4 y))\n"
9411 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009412 "(function min\n"
9413 " (signature float\n"
9414 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009415 " (declare (in) float x)\n"
9416 " (declare (in) float y))\n"
9417 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009418 " (signature vec2\n"
9419 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009420 " (declare (in) vec2 x)\n"
9421 " (declare (in) vec2 y))\n"
9422 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009423 " (signature vec3\n"
9424 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009425 " (declare (in) vec3 x)\n"
9426 " (declare (in) vec3 y))\n"
9427 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009428 " (signature vec4\n"
9429 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009430 " (declare (in) vec4 x)\n"
9431 " (declare (in) vec4 y))\n"
9432 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009433 " (signature vec2\n"
9434 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009435 " (declare (in) vec2 x)\n"
9436 " (declare (in) float y))\n"
9437 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009438 " (signature vec3\n"
9439 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009440 " (declare (in) vec3 x)\n"
9441 " (declare (in) float y))\n"
9442 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009443 " (signature vec4\n"
9444 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009445 " (declare (in) vec4 x)\n"
9446 " (declare (in) float y))\n"
9447 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009448 "(function max\n"
9449 " (signature float\n"
9450 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009451 " (declare (in) float x)\n"
9452 " (declare (in) float y))\n"
9453 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009454 " (signature vec2\n"
9455 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009456 " (declare (in) vec2 x)\n"
9457 " (declare (in) vec2 y))\n"
9458 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009459 " (signature vec3\n"
9460 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009461 " (declare (in) vec3 x)\n"
9462 " (declare (in) vec3 y))\n"
9463 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009464 " (signature vec4\n"
9465 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009466 " (declare (in) vec4 x)\n"
9467 " (declare (in) vec4 y))\n"
9468 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009469 " (signature vec2\n"
9470 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009471 " (declare (in) vec2 x)\n"
9472 " (declare (in) float y))\n"
9473 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009474 " (signature vec3\n"
9475 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009476 " (declare (in) vec3 x)\n"
9477 " (declare (in) float y))\n"
9478 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009479 " (signature vec4\n"
9480 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009481 " (declare (in) vec4 x)\n"
9482 " (declare (in) float y))\n"
9483 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009484 "(function clamp\n"
9485 " (signature float\n"
9486 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009487 " (declare (in) float x)\n"
9488 " (declare (in) float minVal)\n"
9489 " (declare (in) float maxVal))\n"
9490 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009491 " (signature vec2\n"
9492 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009493 " (declare (in) vec2 x)\n"
9494 " (declare (in) vec2 minVal)\n"
9495 " (declare (in) vec2 maxVal))\n"
9496 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009497 " (signature vec3\n"
9498 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009499 " (declare (in) vec3 x)\n"
9500 " (declare (in) vec3 minVal)\n"
9501 " (declare (in) vec3 maxVal))\n"
9502 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009503 " (signature vec4\n"
9504 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009505 " (declare (in) vec4 x)\n"
9506 " (declare (in) vec4 minVal)\n"
9507 " (declare (in) vec4 maxVal))\n"
9508 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009509 " (signature vec2\n"
9510 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009511 " (declare (in) vec2 x)\n"
9512 " (declare (in) float minVal)\n"
9513 " (declare (in) float maxVal))\n"
9514 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009515 " (signature vec3\n"
9516 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009517 " (declare (in) vec3 x)\n"
9518 " (declare (in) float minVal)\n"
9519 " (declare (in) float maxVal))\n"
9520 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009521 " (signature vec4\n"
9522 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009523 " (declare (in) vec4 x)\n"
9524 " (declare (in) float minVal)\n"
9525 " (declare (in) float maxVal))\n"
9526 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009527 "(function mix\n"
9528 " (signature float\n"
9529 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009530 " (declare (in) float x)\n"
9531 " (declare (in) float y)\n"
9532 " (declare (in) float a))\n"
9533 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009534 " (signature vec2\n"
9535 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009536 " (declare (in) vec2 x)\n"
9537 " (declare (in) vec2 y)\n"
9538 " (declare (in) vec2 a))\n"
9539 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009540 " (signature vec3\n"
9541 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009542 " (declare (in) vec3 x)\n"
9543 " (declare (in) vec3 y)\n"
9544 " (declare (in) vec3 a))\n"
9545 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009546 " (signature vec4\n"
9547 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009548 " (declare (in) vec4 x)\n"
9549 " (declare (in) vec4 y)\n"
9550 " (declare (in) vec4 a))\n"
9551 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009552 " (signature vec2\n"
9553 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009554 " (declare (in) vec2 x)\n"
9555 " (declare (in) vec2 y)\n"
9556 " (declare (in) float a))\n"
9557 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009558 " (signature vec3\n"
9559 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009560 " (declare (in) vec3 x)\n"
9561 " (declare (in) vec3 y)\n"
9562 " (declare (in) float a))\n"
9563 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009564 " (signature vec4\n"
9565 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009566 " (declare (in) vec4 x)\n"
9567 " (declare (in) vec4 y)\n"
9568 " (declare (in) float a))\n"
9569 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009570 "(function step\n"
9571 " (signature float\n"
9572 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009573 " (declare (in) float edge)\n"
9574 " (declare (in) float x))\n"
9575 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009576 " (signature vec2\n"
9577 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009578 " (declare (in) vec2 edge)\n"
9579 " (declare (in) vec2 x))\n"
9580 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009581 " (signature vec3\n"
9582 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009583 " (declare (in) vec3 edge)\n"
9584 " (declare (in) vec3 x))\n"
9585 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009586 " (signature vec4\n"
9587 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009588 " (declare (in) vec4 edge)\n"
9589 " (declare (in) vec4 x))\n"
9590 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009591 " (signature vec2\n"
9592 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009593 " (declare (in) float edge)\n"
9594 " (declare (in) vec2 x))\n"
9595 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009596 " (signature vec3\n"
9597 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009598 " (declare (in) float edge)\n"
9599 " (declare (in) vec3 x))\n"
9600 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009601 " (signature vec4\n"
9602 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009603 " (declare (in) float edge)\n"
9604 " (declare (in) vec4 x))\n"
9605 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009606 "(function smoothstep\n"
9607 " (signature float\n"
9608 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009609 " (declare (in) float edge0)\n"
9610 " (declare (in) float edge1)\n"
9611 " (declare (in) float x))\n"
9612 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009613 " (signature vec2\n"
9614 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009615 " (declare (in) vec2 edge0)\n"
9616 " (declare (in) vec2 edge1)\n"
9617 " (declare (in) vec2 x))\n"
9618 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009619 " (signature vec3\n"
9620 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009621 " (declare (in) vec3 edge0)\n"
9622 " (declare (in) vec3 edge1)\n"
9623 " (declare (in) vec3 x))\n"
9624 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009625 " (signature vec4\n"
9626 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009627 " (declare (in) vec4 edge0)\n"
9628 " (declare (in) vec4 edge1)\n"
9629 " (declare (in) vec4 x))\n"
9630 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009631 " (signature vec2\n"
9632 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009633 " (declare (in) float edge0)\n"
9634 " (declare (in) float edge1)\n"
9635 " (declare (in) vec2 x))\n"
9636 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009637 " (signature vec3\n"
9638 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009639 " (declare (in) float edge0)\n"
9640 " (declare (in) float edge1)\n"
9641 " (declare (in) vec3 x))\n"
9642 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009643 " (signature vec4\n"
9644 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009645 " (declare (in) float edge0)\n"
9646 " (declare (in) float edge1)\n"
9647 " (declare (in) vec4 x))\n"
9648 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009649 "(function length\n"
9650 " (signature float\n"
9651 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009652 " (declare (in) float x))\n"
9653 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009654 " (signature float\n"
9655 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009656 " (declare (in) vec2 x))\n"
9657 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009658 " (signature float\n"
9659 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009660 " (declare (in) vec3 x))\n"
9661 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009662 " (signature float\n"
9663 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009664 " (declare (in) vec4 x))\n"
9665 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009666 "(function distance\n"
9667 " (signature float\n"
9668 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009669 " (declare (in) float p0)\n"
9670 " (declare (in) float p1))\n"
9671 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009672 " (signature float\n"
9673 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009674 " (declare (in) vec2 p0)\n"
9675 " (declare (in) vec2 p1))\n"
9676 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009677 " (signature float\n"
9678 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009679 " (declare (in) vec3 p0)\n"
9680 " (declare (in) vec3 p1))\n"
9681 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009682 " (signature float\n"
9683 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009684 " (declare (in) vec4 p0)\n"
9685 " (declare (in) vec4 p1))\n"
9686 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009687 "(function dot\n"
9688 " (signature float\n"
9689 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009690 " (declare (in) float x)\n"
9691 " (declare (in) float y))\n"
9692 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009693 " (signature float\n"
9694 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009695 " (declare (in) vec2 x)\n"
9696 " (declare (in) vec2 y))\n"
9697 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009698 " (signature float\n"
9699 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009700 " (declare (in) vec3 x)\n"
9701 " (declare (in) vec3 y))\n"
9702 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009703 " (signature float\n"
9704 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009705 " (declare (in) vec4 x)\n"
9706 " (declare (in) vec4 y))\n"
9707 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009708 "(function cross\n"
9709 " (signature vec3\n"
9710 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009711 " (declare (in) vec3 x)\n"
9712 " (declare (in) vec3 y))\n"
9713 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009714 "(function normalize\n"
9715 " (signature float\n"
9716 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009717 " (declare (in) float x))\n"
9718 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009719 " (signature vec2\n"
9720 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009721 " (declare (in) vec2 x))\n"
9722 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009723 " (signature vec3\n"
9724 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009725 " (declare (in) vec3 x))\n"
9726 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009727 " (signature vec4\n"
9728 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009729 " (declare (in) vec4 x))\n"
9730 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009731 "(function ftransform\n"
9732 " (signature vec4\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009733 " (parameters)\n"
9734 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009735 "(function faceforward\n"
9736 " (signature float\n"
9737 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009738 " (declare (in) float N)\n"
9739 " (declare (in) float I)\n"
9740 " (declare (in) float Nref))\n"
9741 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009742 " (signature vec2\n"
9743 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009744 " (declare (in) vec2 N)\n"
9745 " (declare (in) vec2 I)\n"
9746 " (declare (in) vec2 Nref))\n"
9747 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009748 " (signature vec3\n"
9749 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009750 " (declare (in) vec3 N)\n"
9751 " (declare (in) vec3 I)\n"
9752 " (declare (in) vec3 Nref))\n"
9753 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009754 " (signature vec4\n"
9755 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009756 " (declare (in) vec4 N)\n"
9757 " (declare (in) vec4 I)\n"
9758 " (declare (in) vec4 Nref))\n"
9759 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009760 "(function reflect\n"
9761 " (signature float\n"
9762 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009763 " (declare (in) float I)\n"
9764 " (declare (in) float N))\n"
9765 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009766 " (signature vec2\n"
9767 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009768 " (declare (in) vec2 I)\n"
9769 " (declare (in) vec2 N))\n"
9770 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009771 " (signature vec3\n"
9772 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009773 " (declare (in) vec3 I)\n"
9774 " (declare (in) vec3 N))\n"
9775 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009776 " (signature vec4\n"
9777 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009778 " (declare (in) vec4 I)\n"
9779 " (declare (in) vec4 N))\n"
9780 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009781 "(function refract\n"
9782 " (signature float\n"
9783 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009784 " (declare (in) float I)\n"
9785 " (declare (in) float N)\n"
9786 " (declare (in) float eta))\n"
9787 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009788 " (signature vec2\n"
9789 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009790 " (declare (in) vec2 I)\n"
9791 " (declare (in) vec2 N)\n"
9792 " (declare (in) float eta))\n"
9793 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009794 " (signature vec3\n"
9795 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009796 " (declare (in) vec3 I)\n"
9797 " (declare (in) vec3 N)\n"
9798 " (declare (in) float eta))\n"
9799 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009800 " (signature vec4\n"
9801 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009802 " (declare (in) vec4 I)\n"
9803 " (declare (in) vec4 N)\n"
9804 " (declare (in) float eta))\n"
9805 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009806 "(function matrixCompMult\n"
9807 " (signature mat2\n"
9808 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009809 " (declare (in) mat2 x)\n"
9810 " (declare (in) mat2 y))\n"
9811 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009812 " (signature mat3\n"
9813 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009814 " (declare (in) mat3 x)\n"
9815 " (declare (in) mat3 y))\n"
9816 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009817 " (signature mat4\n"
9818 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009819 " (declare (in) mat4 x)\n"
9820 " (declare (in) mat4 y))\n"
9821 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009822 " (signature mat2x3\n"
9823 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009824 " (declare (in) mat2x3 x)\n"
9825 " (declare (in) mat2x3 y))\n"
9826 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009827 " (signature mat2x4\n"
9828 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009829 " (declare (in) mat2x4 x)\n"
9830 " (declare (in) mat2x4 y))\n"
9831 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009832 " (signature mat3x2\n"
9833 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009834 " (declare (in) mat3x2 x)\n"
9835 " (declare (in) mat3x2 y))\n"
9836 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009837 " (signature mat3x4\n"
9838 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009839 " (declare (in) mat3x4 x)\n"
9840 " (declare (in) mat3x4 y))\n"
9841 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009842 " (signature mat4x2\n"
9843 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009844 " (declare (in) mat4x2 x)\n"
9845 " (declare (in) mat4x2 y))\n"
9846 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009847 " (signature mat4x3\n"
9848 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009849 " (declare (in) mat4x3 x)\n"
9850 " (declare (in) mat4x3 y))\n"
9851 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009852 "(function outerProduct\n"
9853 " (signature mat2\n"
9854 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009855 " (declare (in) vec2 c)\n"
9856 " (declare (in) vec2 r))\n"
9857 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009858 " (signature mat3\n"
9859 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009860 " (declare (in) vec3 c)\n"
9861 " (declare (in) vec3 r))\n"
9862 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009863 " (signature mat4\n"
9864 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009865 " (declare (in) vec4 c)\n"
9866 " (declare (in) vec4 r))\n"
9867 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009868 " (signature mat2x3\n"
9869 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009870 " (declare (in) vec3 c)\n"
9871 " (declare (in) vec2 r))\n"
9872 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009873 " (signature mat3x2\n"
9874 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009875 " (declare (in) vec2 c)\n"
9876 " (declare (in) vec3 r))\n"
9877 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009878 " (signature mat2x4\n"
9879 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009880 " (declare (in) vec4 c)\n"
9881 " (declare (in) vec2 r))\n"
9882 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009883 " (signature mat4x2\n"
9884 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009885 " (declare (in) vec2 c)\n"
9886 " (declare (in) vec4 r))\n"
9887 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009888 " (signature mat3x4\n"
9889 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009890 " (declare (in) vec4 c)\n"
9891 " (declare (in) vec3 r))\n"
9892 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009893 " (signature mat4x3\n"
9894 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009895 " (declare (in) vec3 c)\n"
9896 " (declare (in) vec4 r))\n"
9897 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009898 "(function transpose\n"
9899 " (signature mat2\n"
9900 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009901 " (declare (in) mat2 m))\n"
9902 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009903 " (signature mat3\n"
9904 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009905 " (declare (in) mat3 m))\n"
9906 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009907 " (signature mat4\n"
9908 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009909 " (declare (in) mat4 m))\n"
9910 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009911 " (signature mat2x3\n"
9912 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009913 " (declare (in) mat3x2 m))\n"
9914 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009915 " (signature mat3x2\n"
9916 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009917 " (declare (in) mat2x3 m))\n"
9918 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009919 " (signature mat2x4\n"
9920 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009921 " (declare (in) mat4x2 m))\n"
9922 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009923 " (signature mat4x2\n"
9924 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009925 " (declare (in) mat2x4 m))\n"
9926 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009927 " (signature mat3x4\n"
9928 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009929 " (declare (in) mat4x3 m))\n"
9930 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009931 " (signature mat4x3\n"
9932 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009933 " (declare (in) mat3x4 m))\n"
9934 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009935 "(function lessThan\n"
9936 " (signature bvec2\n"
9937 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009938 " (declare (in) vec2 x)\n"
9939 " (declare (in) vec2 y))\n"
9940 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009941 " (signature bvec3\n"
9942 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009943 " (declare (in) vec3 x)\n"
9944 " (declare (in) vec3 y))\n"
9945 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009946 " (signature bvec4\n"
9947 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009948 " (declare (in) vec4 x)\n"
9949 " (declare (in) vec4 y))\n"
9950 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009951 " (signature bvec2\n"
9952 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009953 " (declare (in) ivec2 x)\n"
9954 " (declare (in) ivec2 y))\n"
9955 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009956 " (signature bvec3\n"
9957 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009958 " (declare (in) ivec3 x)\n"
9959 " (declare (in) ivec3 y))\n"
9960 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009961 " (signature bvec4\n"
9962 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009963 " (declare (in) ivec4 x)\n"
9964 " (declare (in) ivec4 y))\n"
9965 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009966 "(function lessThanEqual\n"
9967 " (signature bvec2\n"
9968 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009969 " (declare (in) vec2 x)\n"
9970 " (declare (in) vec2 y))\n"
9971 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009972 " (signature bvec3\n"
9973 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009974 " (declare (in) vec3 x)\n"
9975 " (declare (in) vec3 y))\n"
9976 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009977 " (signature bvec4\n"
9978 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009979 " (declare (in) vec4 x)\n"
9980 " (declare (in) vec4 y))\n"
9981 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009982 " (signature bvec2\n"
9983 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009984 " (declare (in) ivec2 x)\n"
9985 " (declare (in) ivec2 y))\n"
9986 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009987 " (signature bvec3\n"
9988 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009989 " (declare (in) ivec3 x)\n"
9990 " (declare (in) ivec3 y))\n"
9991 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009992 " (signature bvec4\n"
9993 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009994 " (declare (in) ivec4 x)\n"
9995 " (declare (in) ivec4 y))\n"
9996 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009997 "(function greaterThan\n"
9998 " (signature bvec2\n"
9999 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010000 " (declare (in) vec2 x)\n"
10001 " (declare (in) vec2 y))\n"
10002 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010003 " (signature bvec3\n"
10004 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010005 " (declare (in) vec3 x)\n"
10006 " (declare (in) vec3 y))\n"
10007 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010008 " (signature bvec4\n"
10009 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010010 " (declare (in) vec4 x)\n"
10011 " (declare (in) vec4 y))\n"
10012 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010013 " (signature bvec2\n"
10014 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010015 " (declare (in) ivec2 x)\n"
10016 " (declare (in) ivec2 y))\n"
10017 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010018 " (signature bvec3\n"
10019 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010020 " (declare (in) ivec3 x)\n"
10021 " (declare (in) ivec3 y))\n"
10022 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010023 " (signature bvec4\n"
10024 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010025 " (declare (in) ivec4 x)\n"
10026 " (declare (in) ivec4 y))\n"
10027 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010028 "(function greaterThanEqual\n"
10029 " (signature bvec2\n"
10030 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010031 " (declare (in) vec2 x)\n"
10032 " (declare (in) vec2 y))\n"
10033 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010034 " (signature bvec3\n"
10035 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010036 " (declare (in) vec3 x)\n"
10037 " (declare (in) vec3 y))\n"
10038 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010039 " (signature bvec4\n"
10040 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010041 " (declare (in) vec4 x)\n"
10042 " (declare (in) vec4 y))\n"
10043 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010044 " (signature bvec2\n"
10045 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010046 " (declare (in) ivec2 x)\n"
10047 " (declare (in) ivec2 y))\n"
10048 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010049 " (signature bvec3\n"
10050 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010051 " (declare (in) ivec3 x)\n"
10052 " (declare (in) ivec3 y))\n"
10053 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010054 " (signature bvec4\n"
10055 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010056 " (declare (in) ivec4 x)\n"
10057 " (declare (in) ivec4 y))\n"
10058 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010059 "(function equal\n"
10060 " (signature bvec2\n"
10061 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010062 " (declare (in) vec2 x)\n"
10063 " (declare (in) vec2 y))\n"
10064 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010065 " (signature bvec3\n"
10066 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010067 " (declare (in) vec3 x)\n"
10068 " (declare (in) vec3 y))\n"
10069 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010070 " (signature bvec4\n"
10071 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010072 " (declare (in) vec4 x)\n"
10073 " (declare (in) vec4 y))\n"
10074 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010075 " (signature bvec2\n"
10076 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010077 " (declare (in) ivec2 x)\n"
10078 " (declare (in) ivec2 y))\n"
10079 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010080 " (signature bvec3\n"
10081 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010082 " (declare (in) ivec3 x)\n"
10083 " (declare (in) ivec3 y))\n"
10084 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010085 " (signature bvec4\n"
10086 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010087 " (declare (in) ivec4 x)\n"
10088 " (declare (in) ivec4 y))\n"
10089 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010090 " (signature bvec2\n"
10091 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010092 " (declare (in) bvec2 x)\n"
10093 " (declare (in) bvec2 y))\n"
10094 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010095 " (signature bvec3\n"
10096 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010097 " (declare (in) bvec3 x)\n"
10098 " (declare (in) bvec3 y))\n"
10099 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010100 " (signature bvec4\n"
10101 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010102 " (declare (in) bvec4 x)\n"
10103 " (declare (in) bvec4 y))\n"
10104 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010105 "(function notEqual\n"
10106 " (signature bvec2\n"
10107 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010108 " (declare (in) vec2 x)\n"
10109 " (declare (in) vec2 y))\n"
10110 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010111 " (signature bvec3\n"
10112 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010113 " (declare (in) vec3 x)\n"
10114 " (declare (in) vec3 y))\n"
10115 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010116 " (signature bvec4\n"
10117 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010118 " (declare (in) vec4 x)\n"
10119 " (declare (in) vec4 y))\n"
10120 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010121 " (signature bvec2\n"
10122 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010123 " (declare (in) ivec2 x)\n"
10124 " (declare (in) ivec2 y))\n"
10125 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010126 " (signature bvec3\n"
10127 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010128 " (declare (in) ivec3 x)\n"
10129 " (declare (in) ivec3 y))\n"
10130 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010131 " (signature bvec4\n"
10132 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010133 " (declare (in) ivec4 x)\n"
10134 " (declare (in) ivec4 y))\n"
10135 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010136 " (signature bvec2\n"
10137 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010138 " (declare (in) bvec2 x)\n"
10139 " (declare (in) bvec2 y))\n"
10140 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010141 " (signature bvec3\n"
10142 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010143 " (declare (in) bvec3 x)\n"
10144 " (declare (in) bvec3 y))\n"
10145 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010146 " (signature bvec4\n"
10147 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010148 " (declare (in) bvec4 x)\n"
10149 " (declare (in) bvec4 y))\n"
10150 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010151 "(function any\n"
10152 " (signature bool\n"
10153 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010154 " (declare (in) bvec2 x))\n"
10155 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010156 " (signature bool\n"
10157 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010158 " (declare (in) bvec3 x))\n"
10159 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010160 " (signature bool\n"
10161 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010162 " (declare (in) bvec4 x))\n"
10163 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010164 "(function all\n"
10165 " (signature bool\n"
10166 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010167 " (declare (in) bvec2 x))\n"
10168 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010169 " (signature bool\n"
10170 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010171 " (declare (in) bvec3 x))\n"
10172 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010173 " (signature bool\n"
10174 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010175 " (declare (in) bvec4 x))\n"
10176 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010177 "(function not\n"
10178 " (signature bvec2\n"
10179 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010180 " (declare (in) bvec2 x))\n"
10181 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010182 " (signature bvec3\n"
10183 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010184 " (declare (in) bvec3 x))\n"
10185 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010186 " (signature bvec4\n"
10187 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010188 " (declare (in) bvec4 x))\n"
10189 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010190 "(function texture1D\n"
10191 " (signature vec4\n"
10192 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010193 " (declare (in) sampler1D sampler)\n"
10194 " (declare (in) float coord))\n"
10195 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010196 "(function texture1DProj\n"
10197 " (signature vec4\n"
10198 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010199 " (declare (in) sampler1D sampler)\n"
10200 " (declare (in) vec2 coord))\n"
10201 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010202 " (signature vec4\n"
10203 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010204 " (declare (in) sampler1D sampler)\n"
10205 " (declare (in) vec4 coord))\n"
10206 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010207 "(function texture1DLod\n"
10208 " (signature vec4\n"
10209 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010210 " (declare (in) sampler1D sampler)\n"
10211 " (declare (in) float coord)\n"
10212 " (declare (in) float lod))\n"
10213 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010214 "(function texture1DProjLod\n"
10215 " (signature vec4\n"
10216 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010217 " (declare (in) sampler1D sampler)\n"
10218 " (declare (in) vec2 coord)\n"
10219 " (declare (in) float lod))\n"
10220 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010221 " (signature vec4\n"
10222 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010223 " (declare (in) sampler1D sampler)\n"
10224 " (declare (in) vec4 coord)\n"
10225 " (declare (in) float lod))\n"
10226 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010227 "(function texture2D\n"
10228 " (signature vec4\n"
10229 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010230 " (declare (in) sampler2D sampler)\n"
10231 " (declare (in) vec2 coord))\n"
10232 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010233 "(function texture2DProj\n"
10234 " (signature vec4\n"
10235 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010236 " (declare (in) sampler2D sampler)\n"
10237 " (declare (in) vec3 coord))\n"
10238 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010239 " (signature vec4\n"
10240 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010241 " (declare (in) sampler2D sampler)\n"
10242 " (declare (in) vec4 coord))\n"
10243 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010244 "(function texture2DLod\n"
10245 " (signature vec4\n"
10246 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010247 " (declare (in) sampler2D sampler)\n"
10248 " (declare (in) vec2 coord)\n"
10249 " (declare (in) float lod))\n"
10250 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010251 "(function texture2DProjLod\n"
10252 " (signature vec4\n"
10253 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010254 " (declare (in) sampler2D sampler)\n"
10255 " (declare (in) vec3 coord)\n"
10256 " (declare (in) float lod))\n"
10257 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010258 " (signature vec4\n"
10259 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010260 " (declare (in) sampler2D sampler)\n"
10261 " (declare (in) vec4 coord)\n"
10262 " (declare (in) float lod))\n"
10263 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010264 "(function texture3D\n"
10265 " (signature vec4\n"
10266 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010267 " (declare (in) sampler3D sampler)\n"
10268 " (declare (in) vec3 coord))\n"
10269 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010270 "(function texture3DProj\n"
10271 " (signature vec4\n"
10272 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010273 " (declare (in) sampler3D sampler)\n"
10274 " (declare (in) vec4 coord))\n"
10275 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010276 "(function texture3DLod\n"
10277 " (signature vec4\n"
10278 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010279 " (declare (in) sampler3D sampler)\n"
10280 " (declare (in) vec3 coord)\n"
10281 " (declare (in) float lod))\n"
10282 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010283 "(function texture3DProjLod\n"
10284 " (signature vec4\n"
10285 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010286 " (declare (in) sampler3D sampler)\n"
10287 " (declare (in) vec4 coord)\n"
10288 " (declare (in) float lod))\n"
10289 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010290 "(function textureCube\n"
10291 " (signature vec4\n"
10292 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010293 " (declare (in) samplerCube sampler)\n"
10294 " (declare (in) vec3 coord))\n"
10295 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010296 "(function textureCubeLod\n"
10297 " (signature vec4\n"
10298 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010299 " (declare (in) samplerCube sampler)\n"
10300 " (declare (in) vec3 coord)\n"
10301 " (declare (in) float lod))\n"
10302 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010303 "(function shadow1D\n"
10304 " (signature vec4\n"
10305 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010306 " (declare (in) sampler1DShadow sampler)\n"
10307 " (declare (in) vec3 coord))\n"
10308 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010309 "(function shadow2D\n"
10310 " (signature vec4\n"
10311 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010312 " (declare (in) sampler2DShadow sampler)\n"
10313 " (declare (in) vec3 coord))\n"
10314 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010315 "(function shadow1DProj\n"
10316 " (signature vec4\n"
10317 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010318 " (declare (in) sampler1DShadow sampler)\n"
10319 " (declare (in) vec4 coord))\n"
10320 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010321 "(function shadow2DProj\n"
10322 " (signature vec4\n"
10323 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010324 " (declare (in) sampler2DShadow sampler)\n"
10325 " (declare (in) vec4 coord))\n"
10326 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010327 "(function shadow1DLod\n"
10328 " (signature vec4\n"
10329 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010330 " (declare (in) sampler1DShadow sampler)\n"
10331 " (declare (in) vec3 coord)\n"
10332 " (declare (in) float lod))\n"
10333 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010334 "(function shadow2DLod\n"
10335 " (signature vec4\n"
10336 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010337 " (declare (in) sampler2DShadow sampler)\n"
10338 " (declare (in) vec3 coord)\n"
10339 " (declare (in) float lod))\n"
10340 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010341 "(function shadow1DProjLod\n"
10342 " (signature vec4\n"
10343 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010344 " (declare (in) sampler1DShadow sampler)\n"
10345 " (declare (in) vec4 coord)\n"
10346 " (declare (in) float lod))\n"
10347 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010348 "(function shadow2DProjLod\n"
10349 " (signature vec4\n"
10350 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010351 " (declare (in) sampler2DShadow sampler)\n"
10352 " (declare (in) vec4 coord)\n"
10353 " (declare (in) float lod))\n"
10354 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010355 "(function noise1\n"
10356 " (signature float\n"
10357 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010358 " (declare (in) float x))\n"
10359 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010360 " (signature float\n"
10361 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010362 " (declare (in) vec2 x))\n"
10363 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010364 " (signature float\n"
10365 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010366 " (declare (in) vec3 x))\n"
10367 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010368 " (signature float\n"
10369 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010370 " (declare (in) vec4 x))\n"
10371 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010372 "(function noise2\n"
10373 " (signature vec2\n"
10374 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010375 " (declare (in) float x))\n"
10376 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010377 " (signature vec2\n"
10378 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010379 " (declare (in) vec2 x))\n"
10380 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010381 " (signature vec2\n"
10382 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010383 " (declare (in) vec3 x))\n"
10384 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010385 " (signature vec2\n"
10386 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010387 " (declare (in) vec4 x))\n"
10388 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010389 "(function noise3\n"
10390 " (signature vec3\n"
10391 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010392 " (declare (in) float x))\n"
10393 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010394 " (signature vec3\n"
10395 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010396 " (declare (in) vec2 x))\n"
10397 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010398 " (signature vec3\n"
10399 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010400 " (declare (in) vec3 x))\n"
10401 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010402 " (signature vec3\n"
10403 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010404 " (declare (in) vec4 x))\n"
10405 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010406 "(function noise4\n"
10407 " (signature vec4\n"
10408 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010409 " (declare (in) float x))\n"
10410 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010411 " (signature vec4\n"
10412 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010413 " (declare (in) vec2 x))\n"
10414 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010415 " (signature vec4\n"
10416 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010417 " (declare (in) vec3 x))\n"
10418 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010419 " (signature vec4\n"
10420 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010421 " (declare (in) vec4 x))\n"
10422 " ())))"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010423;
10424static const char *functions_for_120_vert [] = {
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010425 builtin_abs,
Eric Anholt47003a82010-08-23 12:39:35 -070010426 builtin_acos,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010427 builtin_all,
Eric Anholt47003a82010-08-23 12:39:35 -070010428 builtin_any,
10429 builtin_asin,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010430 builtin_atan,
Eric Anholt47003a82010-08-23 12:39:35 -070010431 builtin_ceil,
10432 builtin_clamp,
10433 builtin_cos,
10434 builtin_cross,
10435 builtin_degrees,
10436 builtin_distance,
10437 builtin_dot,
10438 builtin_equal,
10439 builtin_exp,
10440 builtin_exp2,
10441 builtin_faceforward,
10442 builtin_floor,
10443 builtin_fract,
10444 builtin_ftransform,
10445 builtin_greaterThan,
10446 builtin_greaterThanEqual,
10447 builtin_inversesqrt,
10448 builtin_length,
10449 builtin_lessThan,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010450 builtin_lessThanEqual,
Eric Anholt47003a82010-08-23 12:39:35 -070010451 builtin_log,
10452 builtin_log2,
10453 builtin_matrixCompMult,
10454 builtin_max,
10455 builtin_min,
10456 builtin_mix,
10457 builtin_mod,
10458 builtin_noise1,
10459 builtin_noise2,
10460 builtin_noise3,
10461 builtin_noise4,
10462 builtin_normalize,
10463 builtin_not,
10464 builtin_notEqual,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010465 builtin_outerProduct,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010466 builtin_pow,
Eric Anholt47003a82010-08-23 12:39:35 -070010467 builtin_radians,
10468 builtin_reflect,
10469 builtin_refract,
10470 builtin_shadow1D,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010471 builtin_shadow1DLod,
Eric Anholt47003a82010-08-23 12:39:35 -070010472 builtin_shadow1DProj,
10473 builtin_shadow1DProjLod,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010474 builtin_shadow2D,
10475 builtin_shadow2DLod,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010476 builtin_shadow2DProj,
Eric Anholt47003a82010-08-23 12:39:35 -070010477 builtin_shadow2DProjLod,
10478 builtin_sign,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010479 builtin_sin,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010480 builtin_smoothstep,
Eric Anholt47003a82010-08-23 12:39:35 -070010481 builtin_sqrt,
10482 builtin_step,
10483 builtin_tan,
10484 builtin_texture1D,
10485 builtin_texture1DLod,
10486 builtin_texture1DProj,
10487 builtin_texture1DProjLod,
10488 builtin_texture2D,
10489 builtin_texture2DLod,
10490 builtin_texture2DProj,
10491 builtin_texture2DProjLod,
10492 builtin_texture3D,
10493 builtin_texture3DLod,
10494 builtin_texture3DProj,
10495 builtin_texture3DProjLod,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010496 builtin_textureCube,
Eric Anholt47003a82010-08-23 12:39:35 -070010497 builtin_textureCubeLod,
10498 builtin_transpose,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010499};
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010500static const char *prototypes_for_130_frag =
10501 "(\n"
10502 "(function radians\n"
10503 " (signature float\n"
10504 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010505 " (declare (in) float degrees))\n"
10506 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010507 " (signature vec2\n"
10508 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010509 " (declare (in) vec2 degrees))\n"
10510 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010511 " (signature vec3\n"
10512 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010513 " (declare (in) vec3 degrees))\n"
10514 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010515 " (signature vec4\n"
10516 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010517 " (declare (in) vec4 degrees))\n"
10518 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010519 "(function degrees\n"
10520 " (signature float\n"
10521 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010522 " (declare (in) float radians))\n"
10523 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010524 " (signature vec2\n"
10525 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010526 " (declare (in) vec2 radians))\n"
10527 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010528 " (signature vec3\n"
10529 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010530 " (declare (in) vec3 radians))\n"
10531 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010532 " (signature vec4\n"
10533 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010534 " (declare (in) vec4 radians))\n"
10535 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010536 "(function sin\n"
10537 " (signature float\n"
10538 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010539 " (declare (in) float angle))\n"
10540 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010541 " (signature vec2\n"
10542 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010543 " (declare (in) vec2 angle))\n"
10544 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010545 " (signature vec3\n"
10546 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010547 " (declare (in) vec3 angle))\n"
10548 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010549 " (signature vec4\n"
10550 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010551 " (declare (in) vec4 angle))\n"
10552 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010553 "(function cos\n"
10554 " (signature float\n"
10555 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010556 " (declare (in) float angle))\n"
10557 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010558 " (signature vec2\n"
10559 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010560 " (declare (in) vec2 angle))\n"
10561 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010562 " (signature vec3\n"
10563 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010564 " (declare (in) vec3 angle))\n"
10565 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010566 " (signature vec4\n"
10567 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010568 " (declare (in) vec4 angle))\n"
10569 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010570 "(function tan\n"
10571 " (signature float\n"
10572 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010573 " (declare (in) float angle))\n"
10574 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010575 " (signature vec2\n"
10576 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010577 " (declare (in) vec2 angle))\n"
10578 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010579 " (signature vec3\n"
10580 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010581 " (declare (in) vec3 angle))\n"
10582 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010583 " (signature vec4\n"
10584 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010585 " (declare (in) vec4 angle))\n"
10586 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010587 "(function asin\n"
10588 " (signature float\n"
10589 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010590 " (declare (in) float angle))\n"
10591 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010592 " (signature vec2\n"
10593 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010594 " (declare (in) vec2 angle))\n"
10595 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010596 " (signature vec3\n"
10597 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010598 " (declare (in) vec3 angle))\n"
10599 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010600 " (signature vec4\n"
10601 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010602 " (declare (in) vec4 angle))\n"
10603 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010604 "(function acos\n"
10605 " (signature float\n"
10606 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010607 " (declare (in) float angle))\n"
10608 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010609 " (signature vec2\n"
10610 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010611 " (declare (in) vec2 angle))\n"
10612 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010613 " (signature vec3\n"
10614 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010615 " (declare (in) vec3 angle))\n"
10616 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010617 " (signature vec4\n"
10618 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010619 " (declare (in) vec4 angle))\n"
10620 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010621 "(function atan\n"
10622 " (signature float\n"
10623 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010624 " (declare (in) float y)\n"
10625 " (declare (in) float x))\n"
10626 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010627 " (signature vec2\n"
10628 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010629 " (declare (in) vec2 y)\n"
10630 " (declare (in) vec2 x))\n"
10631 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010632 " (signature vec3\n"
10633 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010634 " (declare (in) vec3 y)\n"
10635 " (declare (in) vec3 x))\n"
10636 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010637 " (signature vec4\n"
10638 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010639 " (declare (in) vec4 y)\n"
10640 " (declare (in) vec4 x))\n"
10641 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010642 " (signature float\n"
10643 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010644 " (declare (in) float y_over_x))\n"
10645 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010646 " (signature vec2\n"
10647 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010648 " (declare (in) vec2 y_over_x))\n"
10649 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010650 " (signature vec3\n"
10651 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010652 " (declare (in) vec3 y_over_x))\n"
10653 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010654 " (signature vec4\n"
10655 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010656 " (declare (in) vec4 y_over_x))\n"
10657 " ()))\n"
10658 "(function sinh\n"
10659 " (signature float\n"
10660 " (parameters\n"
10661 " (declare (in) float x))\n"
10662 " ())\n"
10663 " (signature vec2\n"
10664 " (parameters\n"
10665 " (declare (in) vec2 x))\n"
10666 " ())\n"
10667 " (signature vec3\n"
10668 " (parameters\n"
10669 " (declare (in) vec3 x))\n"
10670 " ())\n"
10671 " (signature vec4\n"
10672 " (parameters\n"
10673 " (declare (in) vec4 x))\n"
10674 " ()))\n"
10675 "(function cosh\n"
10676 " (signature float\n"
10677 " (parameters\n"
10678 " (declare (in) float x))\n"
10679 " ())\n"
10680 " (signature vec2\n"
10681 " (parameters\n"
10682 " (declare (in) vec2 x))\n"
10683 " ())\n"
10684 " (signature vec3\n"
10685 " (parameters\n"
10686 " (declare (in) vec3 x))\n"
10687 " ())\n"
10688 " (signature vec4\n"
10689 " (parameters\n"
10690 " (declare (in) vec4 x))\n"
10691 " ()))\n"
10692 "(function tanh\n"
10693 " (signature float\n"
10694 " (parameters\n"
10695 " (declare (in) float x))\n"
10696 " ())\n"
10697 " (signature vec2\n"
10698 " (parameters\n"
10699 " (declare (in) vec2 x))\n"
10700 " ())\n"
10701 " (signature vec3\n"
10702 " (parameters\n"
10703 " (declare (in) vec3 x))\n"
10704 " ())\n"
10705 " (signature vec4\n"
10706 " (parameters\n"
10707 " (declare (in) vec4 x))\n"
10708 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010709 "(function pow\n"
10710 " (signature float\n"
10711 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010712 " (declare (in) float x)\n"
10713 " (declare (in) float y))\n"
10714 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010715 " (signature vec2\n"
10716 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010717 " (declare (in) vec2 x)\n"
10718 " (declare (in) vec2 y))\n"
10719 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010720 " (signature vec3\n"
10721 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010722 " (declare (in) vec3 x)\n"
10723 " (declare (in) vec3 y))\n"
10724 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010725 " (signature vec4\n"
10726 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010727 " (declare (in) vec4 x)\n"
10728 " (declare (in) vec4 y))\n"
10729 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010730 "(function exp\n"
10731 " (signature float\n"
10732 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010733 " (declare (in) float x))\n"
10734 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010735 " (signature vec2\n"
10736 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010737 " (declare (in) vec2 x))\n"
10738 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010739 " (signature vec3\n"
10740 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010741 " (declare (in) vec3 x))\n"
10742 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010743 " (signature vec4\n"
10744 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010745 " (declare (in) vec4 x))\n"
10746 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010747 "(function log\n"
10748 " (signature float\n"
10749 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010750 " (declare (in) float x))\n"
10751 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010752 " (signature vec2\n"
10753 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010754 " (declare (in) vec2 x))\n"
10755 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010756 " (signature vec3\n"
10757 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010758 " (declare (in) vec3 x))\n"
10759 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010760 " (signature vec4\n"
10761 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010762 " (declare (in) vec4 x))\n"
10763 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010764 "(function exp2\n"
10765 " (signature float\n"
10766 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010767 " (declare (in) float x))\n"
10768 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010769 " (signature vec2\n"
10770 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010771 " (declare (in) vec2 x))\n"
10772 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010773 " (signature vec3\n"
10774 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010775 " (declare (in) vec3 x))\n"
10776 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010777 " (signature vec4\n"
10778 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010779 " (declare (in) vec4 x))\n"
10780 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010781 "(function log2\n"
10782 " (signature float\n"
10783 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010784 " (declare (in) float x))\n"
10785 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010786 " (signature vec2\n"
10787 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010788 " (declare (in) vec2 x))\n"
10789 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010790 " (signature vec3\n"
10791 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010792 " (declare (in) vec3 x))\n"
10793 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010794 " (signature vec4\n"
10795 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010796 " (declare (in) vec4 x))\n"
10797 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010798 "(function sqrt\n"
10799 " (signature float\n"
10800 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010801 " (declare (in) float x))\n"
10802 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010803 " (signature vec2\n"
10804 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010805 " (declare (in) vec2 x))\n"
10806 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010807 " (signature vec3\n"
10808 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010809 " (declare (in) vec3 x))\n"
10810 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010811 " (signature vec4\n"
10812 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010813 " (declare (in) vec4 x))\n"
10814 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010815 "(function inversesqrt\n"
10816 " (signature float\n"
10817 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010818 " (declare (in) float x))\n"
10819 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010820 " (signature vec2\n"
10821 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010822 " (declare (in) vec2 x))\n"
10823 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010824 " (signature vec3\n"
10825 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010826 " (declare (in) vec3 x))\n"
10827 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010828 " (signature vec4\n"
10829 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010830 " (declare (in) vec4 x))\n"
10831 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010832 "(function abs\n"
10833 " (signature float\n"
10834 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010835 " (declare (in) float x))\n"
10836 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010837 " (signature vec2\n"
10838 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010839 " (declare (in) vec2 x))\n"
10840 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010841 " (signature vec3\n"
10842 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010843 " (declare (in) vec3 x))\n"
10844 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010845 " (signature vec4\n"
10846 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010847 " (declare (in) vec4 x))\n"
10848 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010849 " (signature int\n"
10850 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010851 " (declare (in) int x))\n"
10852 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010853 " (signature ivec2\n"
10854 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010855 " (declare (in) ivec2 x))\n"
10856 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010857 " (signature ivec3\n"
10858 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010859 " (declare (in) ivec3 x))\n"
10860 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010861 " (signature ivec4\n"
10862 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010863 " (declare (in) ivec4 x))\n"
10864 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010865 "(function sign\n"
10866 " (signature float\n"
10867 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010868 " (declare (in) float x))\n"
10869 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010870 " (signature vec2\n"
10871 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010872 " (declare (in) vec2 x))\n"
10873 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010874 " (signature vec3\n"
10875 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010876 " (declare (in) vec3 x))\n"
10877 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010878 " (signature vec4\n"
10879 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010880 " (declare (in) vec4 x))\n"
10881 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010882 " (signature int\n"
10883 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010884 " (declare (in) int x))\n"
10885 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010886 " (signature ivec2\n"
10887 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010888 " (declare (in) ivec2 x))\n"
10889 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010890 " (signature ivec3\n"
10891 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010892 " (declare (in) ivec3 x))\n"
10893 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010894 " (signature ivec4\n"
10895 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010896 " (declare (in) ivec4 x))\n"
10897 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010898 "(function floor\n"
10899 " (signature float\n"
10900 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010901 " (declare (in) float x))\n"
10902 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010903 " (signature vec2\n"
10904 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010905 " (declare (in) vec2 x))\n"
10906 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010907 " (signature vec3\n"
10908 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010909 " (declare (in) vec3 x))\n"
10910 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010911 " (signature vec4\n"
10912 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010913 " (declare (in) vec4 x))\n"
10914 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010915 "(function ceil\n"
10916 " (signature float\n"
10917 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010918 " (declare (in) float x))\n"
10919 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010920 " (signature vec2\n"
10921 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010922 " (declare (in) vec2 x))\n"
10923 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010924 " (signature vec3\n"
10925 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010926 " (declare (in) vec3 x))\n"
10927 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010928 " (signature vec4\n"
10929 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010930 " (declare (in) vec4 x))\n"
10931 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010932 "(function fract\n"
10933 " (signature float\n"
10934 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010935 " (declare (in) float x))\n"
10936 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010937 " (signature vec2\n"
10938 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010939 " (declare (in) vec2 x))\n"
10940 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010941 " (signature vec3\n"
10942 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010943 " (declare (in) vec3 x))\n"
10944 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010945 " (signature vec4\n"
10946 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010947 " (declare (in) vec4 x))\n"
10948 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010949 "(function mod\n"
10950 " (signature float\n"
10951 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010952 " (declare (in) float x)\n"
10953 " (declare (in) float y))\n"
10954 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010955 " (signature vec2\n"
10956 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010957 " (declare (in) vec2 x)\n"
10958 " (declare (in) float y))\n"
10959 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010960 " (signature vec3\n"
10961 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010962 " (declare (in) vec3 x)\n"
10963 " (declare (in) float y))\n"
10964 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010965 " (signature vec4\n"
10966 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010967 " (declare (in) vec4 x)\n"
10968 " (declare (in) float y))\n"
10969 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010970 " (signature vec2\n"
10971 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010972 " (declare (in) vec2 x)\n"
10973 " (declare (in) vec2 y))\n"
10974 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010975 " (signature vec3\n"
10976 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010977 " (declare (in) vec3 x)\n"
10978 " (declare (in) vec3 y))\n"
10979 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010980 " (signature vec4\n"
10981 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010982 " (declare (in) vec4 x)\n"
10983 " (declare (in) vec4 y))\n"
10984 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010985 "(function min\n"
10986 " (signature float\n"
10987 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010988 " (declare (in) float x)\n"
10989 " (declare (in) float y))\n"
10990 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010991 " (signature vec2\n"
10992 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010993 " (declare (in) vec2 x)\n"
10994 " (declare (in) vec2 y))\n"
10995 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010996 " (signature vec3\n"
10997 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010998 " (declare (in) vec3 x)\n"
10999 " (declare (in) vec3 y))\n"
11000 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011001 " (signature vec4\n"
11002 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011003 " (declare (in) vec4 x)\n"
11004 " (declare (in) vec4 y))\n"
11005 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011006 " (signature vec2\n"
11007 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011008 " (declare (in) vec2 x)\n"
11009 " (declare (in) float y))\n"
11010 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011011 " (signature vec3\n"
11012 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011013 " (declare (in) vec3 x)\n"
11014 " (declare (in) float y))\n"
11015 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011016 " (signature vec4\n"
11017 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011018 " (declare (in) vec4 x)\n"
11019 " (declare (in) float y))\n"
11020 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011021 " (signature int\n"
11022 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011023 " (declare (in) int x)\n"
11024 " (declare (in) int y))\n"
11025 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011026 " (signature ivec2\n"
11027 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011028 " (declare (in) ivec2 x)\n"
11029 " (declare (in) ivec2 y))\n"
11030 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011031 " (signature ivec3\n"
11032 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011033 " (declare (in) ivec3 x)\n"
11034 " (declare (in) ivec3 y))\n"
11035 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011036 " (signature ivec4\n"
11037 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011038 " (declare (in) ivec4 x)\n"
11039 " (declare (in) ivec4 y))\n"
11040 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011041 " (signature ivec2\n"
11042 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011043 " (declare (in) ivec2 x)\n"
11044 " (declare (in) int y))\n"
11045 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011046 " (signature ivec3\n"
11047 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011048 " (declare (in) ivec3 x)\n"
11049 " (declare (in) int y))\n"
11050 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011051 " (signature ivec4\n"
11052 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011053 " (declare (in) ivec4 x)\n"
11054 " (declare (in) int y))\n"
11055 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011056 " (signature uint\n"
11057 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011058 " (declare (in) uint x)\n"
11059 " (declare (in) uint y))\n"
11060 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011061 " (signature uvec2\n"
11062 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011063 " (declare (in) uvec2 x)\n"
11064 " (declare (in) uvec2 y))\n"
11065 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011066 " (signature uvec3\n"
11067 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011068 " (declare (in) uvec3 x)\n"
11069 " (declare (in) uvec3 y))\n"
11070 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011071 " (signature uvec4\n"
11072 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011073 " (declare (in) uvec4 x)\n"
11074 " (declare (in) uvec4 y))\n"
11075 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011076 " (signature uvec2\n"
11077 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011078 " (declare (in) uvec2 x)\n"
11079 " (declare (in) uint y))\n"
11080 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011081 " (signature uvec3\n"
11082 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011083 " (declare (in) uvec3 x)\n"
11084 " (declare (in) uint y))\n"
11085 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011086 " (signature uvec4\n"
11087 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011088 " (declare (in) uvec4 x)\n"
11089 " (declare (in) uint y))\n"
11090 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011091 "(function max\n"
11092 " (signature float\n"
11093 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011094 " (declare (in) float x)\n"
11095 " (declare (in) float y))\n"
11096 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011097 " (signature vec2\n"
11098 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011099 " (declare (in) vec2 x)\n"
11100 " (declare (in) vec2 y))\n"
11101 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011102 " (signature vec3\n"
11103 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011104 " (declare (in) vec3 x)\n"
11105 " (declare (in) vec3 y))\n"
11106 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011107 " (signature vec4\n"
11108 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011109 " (declare (in) vec4 x)\n"
11110 " (declare (in) vec4 y))\n"
11111 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011112 " (signature vec2\n"
11113 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011114 " (declare (in) vec2 x)\n"
11115 " (declare (in) float y))\n"
11116 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011117 " (signature vec3\n"
11118 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011119 " (declare (in) vec3 x)\n"
11120 " (declare (in) float y))\n"
11121 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011122 " (signature vec4\n"
11123 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011124 " (declare (in) vec4 x)\n"
11125 " (declare (in) float y))\n"
11126 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011127 " (signature int\n"
11128 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011129 " (declare (in) int x)\n"
11130 " (declare (in) int y))\n"
11131 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011132 " (signature ivec2\n"
11133 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011134 " (declare (in) ivec2 x)\n"
11135 " (declare (in) ivec2 y))\n"
11136 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011137 " (signature ivec3\n"
11138 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011139 " (declare (in) ivec3 x)\n"
11140 " (declare (in) ivec3 y))\n"
11141 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011142 " (signature ivec4\n"
11143 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011144 " (declare (in) ivec4 x)\n"
11145 " (declare (in) ivec4 y))\n"
11146 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011147 " (signature ivec2\n"
11148 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011149 " (declare (in) ivec2 x)\n"
11150 " (declare (in) int y))\n"
11151 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011152 " (signature ivec3\n"
11153 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011154 " (declare (in) ivec3 x)\n"
11155 " (declare (in) int y))\n"
11156 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011157 " (signature ivec4\n"
11158 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011159 " (declare (in) ivec4 x)\n"
11160 " (declare (in) int y))\n"
11161 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011162 " (signature uint\n"
11163 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011164 " (declare (in) uint x)\n"
11165 " (declare (in) uint y))\n"
11166 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011167 " (signature uvec2\n"
11168 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011169 " (declare (in) uvec2 x)\n"
11170 " (declare (in) uvec2 y))\n"
11171 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011172 " (signature uvec3\n"
11173 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011174 " (declare (in) uvec3 x)\n"
11175 " (declare (in) uvec3 y))\n"
11176 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011177 " (signature uvec4\n"
11178 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011179 " (declare (in) uvec4 x)\n"
11180 " (declare (in) uvec4 y))\n"
11181 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011182 " (signature uvec2\n"
11183 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011184 " (declare (in) uvec2 x)\n"
11185 " (declare (in) uint y))\n"
11186 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011187 " (signature uvec3\n"
11188 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011189 " (declare (in) uvec3 x)\n"
11190 " (declare (in) uint y))\n"
11191 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011192 " (signature uvec4\n"
11193 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011194 " (declare (in) uvec4 x)\n"
11195 " (declare (in) uint y))\n"
11196 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011197 "(function clamp\n"
11198 " (signature float\n"
11199 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011200 " (declare (in) float x)\n"
11201 " (declare (in) float minVal)\n"
11202 " (declare (in) float maxVal))\n"
11203 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011204 " (signature vec2\n"
11205 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011206 " (declare (in) vec2 x)\n"
11207 " (declare (in) vec2 minVal)\n"
11208 " (declare (in) vec2 maxVal))\n"
11209 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011210 " (signature vec3\n"
11211 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011212 " (declare (in) vec3 x)\n"
11213 " (declare (in) vec3 minVal)\n"
11214 " (declare (in) vec3 maxVal))\n"
11215 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011216 " (signature vec4\n"
11217 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011218 " (declare (in) vec4 x)\n"
11219 " (declare (in) vec4 minVal)\n"
11220 " (declare (in) vec4 maxVal))\n"
11221 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011222 " (signature vec2\n"
11223 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011224 " (declare (in) vec2 x)\n"
11225 " (declare (in) float minVal)\n"
11226 " (declare (in) float maxVal))\n"
11227 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011228 " (signature vec3\n"
11229 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011230 " (declare (in) vec3 x)\n"
11231 " (declare (in) float minVal)\n"
11232 " (declare (in) float maxVal))\n"
11233 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011234 " (signature vec4\n"
11235 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011236 " (declare (in) vec4 x)\n"
11237 " (declare (in) float minVal)\n"
11238 " (declare (in) float maxVal))\n"
11239 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011240 " (signature int\n"
11241 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011242 " (declare (in) int x)\n"
11243 " (declare (in) int minVal)\n"
11244 " (declare (in) int maxVal))\n"
11245 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011246 " (signature ivec2\n"
11247 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011248 " (declare (in) ivec2 x)\n"
11249 " (declare (in) ivec2 minVal)\n"
11250 " (declare (in) ivec2 maxVal))\n"
11251 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011252 " (signature ivec3\n"
11253 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011254 " (declare (in) ivec3 x)\n"
11255 " (declare (in) ivec3 minVal)\n"
11256 " (declare (in) ivec3 maxVal))\n"
11257 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011258 " (signature ivec4\n"
11259 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011260 " (declare (in) ivec4 x)\n"
11261 " (declare (in) ivec4 minVal)\n"
11262 " (declare (in) ivec4 maxVal))\n"
11263 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011264 " (signature ivec2\n"
11265 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011266 " (declare (in) ivec2 x)\n"
11267 " (declare (in) int minVal)\n"
11268 " (declare (in) int maxVal))\n"
11269 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011270 " (signature ivec3\n"
11271 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011272 " (declare (in) ivec3 x)\n"
11273 " (declare (in) int minVal)\n"
11274 " (declare (in) int maxVal))\n"
11275 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011276 " (signature ivec4\n"
11277 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011278 " (declare (in) ivec4 x)\n"
11279 " (declare (in) int minVal)\n"
11280 " (declare (in) int maxVal))\n"
11281 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011282 " (signature uint\n"
11283 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011284 " (declare (in) uint x)\n"
11285 " (declare (in) uint minVal)\n"
11286 " (declare (in) uint maxVal))\n"
11287 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011288 " (signature uvec2\n"
11289 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011290 " (declare (in) uvec2 x)\n"
11291 " (declare (in) uvec2 minVal)\n"
11292 " (declare (in) uvec2 maxVal))\n"
11293 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011294 " (signature uvec3\n"
11295 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011296 " (declare (in) uvec3 x)\n"
11297 " (declare (in) uvec3 minVal)\n"
11298 " (declare (in) uvec3 maxVal))\n"
11299 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011300 " (signature uvec4\n"
11301 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011302 " (declare (in) uvec4 x)\n"
11303 " (declare (in) uvec4 minVal)\n"
11304 " (declare (in) uvec4 maxVal))\n"
11305 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011306 " (signature uvec2\n"
11307 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011308 " (declare (in) uvec2 x)\n"
11309 " (declare (in) uint minVal)\n"
11310 " (declare (in) uint maxVal))\n"
11311 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011312 " (signature uvec3\n"
11313 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011314 " (declare (in) uvec3 x)\n"
11315 " (declare (in) uint minVal)\n"
11316 " (declare (in) uint maxVal))\n"
11317 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011318 " (signature uvec4\n"
11319 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011320 " (declare (in) uvec4 x)\n"
11321 " (declare (in) uint minVal)\n"
11322 " (declare (in) uint maxVal))\n"
11323 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011324 "(function mix\n"
11325 " (signature float\n"
11326 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011327 " (declare (in) float x)\n"
11328 " (declare (in) float y)\n"
11329 " (declare (in) float a))\n"
11330 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011331 " (signature vec2\n"
11332 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011333 " (declare (in) vec2 x)\n"
11334 " (declare (in) vec2 y)\n"
11335 " (declare (in) vec2 a))\n"
11336 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011337 " (signature vec3\n"
11338 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011339 " (declare (in) vec3 x)\n"
11340 " (declare (in) vec3 y)\n"
11341 " (declare (in) vec3 a))\n"
11342 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011343 " (signature vec4\n"
11344 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011345 " (declare (in) vec4 x)\n"
11346 " (declare (in) vec4 y)\n"
11347 " (declare (in) vec4 a))\n"
11348 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011349 " (signature vec2\n"
11350 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011351 " (declare (in) vec2 x)\n"
11352 " (declare (in) vec2 y)\n"
11353 " (declare (in) float a))\n"
11354 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011355 " (signature vec3\n"
11356 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011357 " (declare (in) vec3 x)\n"
11358 " (declare (in) vec3 y)\n"
11359 " (declare (in) float a))\n"
11360 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011361 " (signature vec4\n"
11362 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011363 " (declare (in) vec4 x)\n"
11364 " (declare (in) vec4 y)\n"
11365 " (declare (in) float a))\n"
11366 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011367 "(function step\n"
11368 " (signature float\n"
11369 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011370 " (declare (in) float edge)\n"
11371 " (declare (in) float x))\n"
11372 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011373 " (signature vec2\n"
11374 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011375 " (declare (in) vec2 edge)\n"
11376 " (declare (in) vec2 x))\n"
11377 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011378 " (signature vec3\n"
11379 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011380 " (declare (in) vec3 edge)\n"
11381 " (declare (in) vec3 x))\n"
11382 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011383 " (signature vec4\n"
11384 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011385 " (declare (in) vec4 edge)\n"
11386 " (declare (in) vec4 x))\n"
11387 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011388 " (signature vec2\n"
11389 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011390 " (declare (in) float edge)\n"
11391 " (declare (in) vec2 x))\n"
11392 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011393 " (signature vec3\n"
11394 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011395 " (declare (in) float edge)\n"
11396 " (declare (in) vec3 x))\n"
11397 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011398 " (signature vec4\n"
11399 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011400 " (declare (in) float edge)\n"
11401 " (declare (in) vec4 x))\n"
11402 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011403 "(function smoothstep\n"
11404 " (signature float\n"
11405 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011406 " (declare (in) float edge0)\n"
11407 " (declare (in) float edge1)\n"
11408 " (declare (in) float x))\n"
11409 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011410 " (signature vec2\n"
11411 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011412 " (declare (in) vec2 edge0)\n"
11413 " (declare (in) vec2 edge1)\n"
11414 " (declare (in) vec2 x))\n"
11415 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011416 " (signature vec3\n"
11417 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011418 " (declare (in) vec3 edge0)\n"
11419 " (declare (in) vec3 edge1)\n"
11420 " (declare (in) vec3 x))\n"
11421 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011422 " (signature vec4\n"
11423 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011424 " (declare (in) vec4 edge0)\n"
11425 " (declare (in) vec4 edge1)\n"
11426 " (declare (in) vec4 x))\n"
11427 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011428 " (signature vec2\n"
11429 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011430 " (declare (in) float edge0)\n"
11431 " (declare (in) float edge1)\n"
11432 " (declare (in) vec2 x))\n"
11433 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011434 " (signature vec3\n"
11435 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011436 " (declare (in) float edge0)\n"
11437 " (declare (in) float edge1)\n"
11438 " (declare (in) vec3 x))\n"
11439 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011440 " (signature vec4\n"
11441 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011442 " (declare (in) float edge0)\n"
11443 " (declare (in) float edge1)\n"
11444 " (declare (in) vec4 x))\n"
11445 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011446 "(function length\n"
11447 " (signature float\n"
11448 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011449 " (declare (in) float x))\n"
11450 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011451 " (signature float\n"
11452 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011453 " (declare (in) vec2 x))\n"
11454 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011455 " (signature float\n"
11456 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011457 " (declare (in) vec3 x))\n"
11458 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011459 " (signature float\n"
11460 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011461 " (declare (in) vec4 x))\n"
11462 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011463 "(function distance\n"
11464 " (signature float\n"
11465 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011466 " (declare (in) float p0)\n"
11467 " (declare (in) float p1))\n"
11468 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011469 " (signature float\n"
11470 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011471 " (declare (in) vec2 p0)\n"
11472 " (declare (in) vec2 p1))\n"
11473 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011474 " (signature float\n"
11475 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011476 " (declare (in) vec3 p0)\n"
11477 " (declare (in) vec3 p1))\n"
11478 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011479 " (signature float\n"
11480 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011481 " (declare (in) vec4 p0)\n"
11482 " (declare (in) vec4 p1))\n"
11483 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011484 "(function dot\n"
11485 " (signature float\n"
11486 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011487 " (declare (in) float x)\n"
11488 " (declare (in) float y))\n"
11489 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011490 " (signature float\n"
11491 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011492 " (declare (in) vec2 x)\n"
11493 " (declare (in) vec2 y))\n"
11494 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011495 " (signature float\n"
11496 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011497 " (declare (in) vec3 x)\n"
11498 " (declare (in) vec3 y))\n"
11499 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011500 " (signature float\n"
11501 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011502 " (declare (in) vec4 x)\n"
11503 " (declare (in) vec4 y))\n"
11504 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011505 "(function cross\n"
11506 " (signature vec3\n"
11507 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011508 " (declare (in) vec3 x)\n"
11509 " (declare (in) vec3 y))\n"
11510 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011511 "(function normalize\n"
11512 " (signature float\n"
11513 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011514 " (declare (in) float x))\n"
11515 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011516 " (signature vec2\n"
11517 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011518 " (declare (in) vec2 x))\n"
11519 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011520 " (signature vec3\n"
11521 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011522 " (declare (in) vec3 x))\n"
11523 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011524 " (signature vec4\n"
11525 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011526 " (declare (in) vec4 x))\n"
11527 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011528 "(function faceforward\n"
11529 " (signature float\n"
11530 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011531 " (declare (in) float N)\n"
11532 " (declare (in) float I)\n"
11533 " (declare (in) float Nref))\n"
11534 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011535 " (signature vec2\n"
11536 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011537 " (declare (in) vec2 N)\n"
11538 " (declare (in) vec2 I)\n"
11539 " (declare (in) vec2 Nref))\n"
11540 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011541 " (signature vec3\n"
11542 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011543 " (declare (in) vec3 N)\n"
11544 " (declare (in) vec3 I)\n"
11545 " (declare (in) vec3 Nref))\n"
11546 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011547 " (signature vec4\n"
11548 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011549 " (declare (in) vec4 N)\n"
11550 " (declare (in) vec4 I)\n"
11551 " (declare (in) vec4 Nref))\n"
11552 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011553 "(function reflect\n"
11554 " (signature float\n"
11555 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011556 " (declare (in) float I)\n"
11557 " (declare (in) float N))\n"
11558 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011559 " (signature vec2\n"
11560 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011561 " (declare (in) vec2 I)\n"
11562 " (declare (in) vec2 N))\n"
11563 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011564 " (signature vec3\n"
11565 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011566 " (declare (in) vec3 I)\n"
11567 " (declare (in) vec3 N))\n"
11568 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011569 " (signature vec4\n"
11570 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011571 " (declare (in) vec4 I)\n"
11572 " (declare (in) vec4 N))\n"
11573 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011574 "(function refract\n"
11575 " (signature float\n"
11576 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011577 " (declare (in) float I)\n"
11578 " (declare (in) float N)\n"
11579 " (declare (in) float eta))\n"
11580 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011581 " (signature vec2\n"
11582 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011583 " (declare (in) vec2 I)\n"
11584 " (declare (in) vec2 N)\n"
11585 " (declare (in) float eta))\n"
11586 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011587 " (signature vec3\n"
11588 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011589 " (declare (in) vec3 I)\n"
11590 " (declare (in) vec3 N)\n"
11591 " (declare (in) float eta))\n"
11592 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011593 " (signature vec4\n"
11594 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011595 " (declare (in) vec4 I)\n"
11596 " (declare (in) vec4 N)\n"
11597 " (declare (in) float eta))\n"
11598 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011599 "(function matrixCompMult\n"
11600 " (signature mat2\n"
11601 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011602 " (declare (in) mat2 x)\n"
11603 " (declare (in) mat2 y))\n"
11604 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011605 " (signature mat3\n"
11606 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011607 " (declare (in) mat3 x)\n"
11608 " (declare (in) mat3 y))\n"
11609 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011610 " (signature mat4\n"
11611 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011612 " (declare (in) mat4 x)\n"
11613 " (declare (in) mat4 y))\n"
11614 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011615 " (signature mat2x3\n"
11616 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011617 " (declare (in) mat2x3 x)\n"
11618 " (declare (in) mat2x3 y))\n"
11619 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011620 " (signature mat2x4\n"
11621 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011622 " (declare (in) mat2x4 x)\n"
11623 " (declare (in) mat2x4 y))\n"
11624 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011625 " (signature mat3x2\n"
11626 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011627 " (declare (in) mat3x2 x)\n"
11628 " (declare (in) mat3x2 y))\n"
11629 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011630 " (signature mat3x4\n"
11631 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011632 " (declare (in) mat3x4 x)\n"
11633 " (declare (in) mat3x4 y))\n"
11634 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011635 " (signature mat4x2\n"
11636 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011637 " (declare (in) mat4x2 x)\n"
11638 " (declare (in) mat4x2 y))\n"
11639 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011640 " (signature mat4x3\n"
11641 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011642 " (declare (in) mat4x3 x)\n"
11643 " (declare (in) mat4x3 y))\n"
11644 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011645 "(function outerProduct\n"
11646 " (signature mat2\n"
11647 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011648 " (declare (in) vec2 c)\n"
11649 " (declare (in) vec2 r))\n"
11650 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011651 " (signature mat3\n"
11652 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011653 " (declare (in) vec3 c)\n"
11654 " (declare (in) vec3 r))\n"
11655 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011656 " (signature mat4\n"
11657 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011658 " (declare (in) vec4 c)\n"
11659 " (declare (in) vec4 r))\n"
11660 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011661 " (signature mat2x3\n"
11662 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011663 " (declare (in) vec3 c)\n"
11664 " (declare (in) vec2 r))\n"
11665 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011666 " (signature mat3x2\n"
11667 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011668 " (declare (in) vec2 c)\n"
11669 " (declare (in) vec3 r))\n"
11670 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011671 " (signature mat2x4\n"
11672 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011673 " (declare (in) vec4 c)\n"
11674 " (declare (in) vec2 r))\n"
11675 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011676 " (signature mat4x2\n"
11677 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011678 " (declare (in) vec2 c)\n"
11679 " (declare (in) vec4 r))\n"
11680 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011681 " (signature mat3x4\n"
11682 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011683 " (declare (in) vec4 c)\n"
11684 " (declare (in) vec3 r))\n"
11685 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011686 " (signature mat4x3\n"
11687 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011688 " (declare (in) vec3 c)\n"
11689 " (declare (in) vec4 r))\n"
11690 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011691 "(function transpose\n"
11692 " (signature mat2\n"
11693 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011694 " (declare (in) mat2 m))\n"
11695 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011696 " (signature mat3\n"
11697 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011698 " (declare (in) mat3 m))\n"
11699 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011700 " (signature mat4\n"
11701 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011702 " (declare (in) mat4 m))\n"
11703 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011704 " (signature mat2x3\n"
11705 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011706 " (declare (in) mat3x2 m))\n"
11707 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011708 " (signature mat3x2\n"
11709 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011710 " (declare (in) mat2x3 m))\n"
11711 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011712 " (signature mat2x4\n"
11713 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011714 " (declare (in) mat4x2 m))\n"
11715 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011716 " (signature mat4x2\n"
11717 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011718 " (declare (in) mat2x4 m))\n"
11719 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011720 " (signature mat3x4\n"
11721 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011722 " (declare (in) mat4x3 m))\n"
11723 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011724 " (signature mat4x3\n"
11725 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011726 " (declare (in) mat3x4 m))\n"
11727 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011728 "(function lessThan\n"
11729 " (signature bvec2\n"
11730 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011731 " (declare (in) vec2 x)\n"
11732 " (declare (in) vec2 y))\n"
11733 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011734 " (signature bvec3\n"
11735 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011736 " (declare (in) vec3 x)\n"
11737 " (declare (in) vec3 y))\n"
11738 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011739 " (signature bvec4\n"
11740 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011741 " (declare (in) vec4 x)\n"
11742 " (declare (in) vec4 y))\n"
11743 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011744 " (signature bvec2\n"
11745 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011746 " (declare (in) ivec2 x)\n"
11747 " (declare (in) ivec2 y))\n"
11748 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011749 " (signature bvec3\n"
11750 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011751 " (declare (in) ivec3 x)\n"
11752 " (declare (in) ivec3 y))\n"
11753 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011754 " (signature bvec4\n"
11755 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011756 " (declare (in) ivec4 x)\n"
11757 " (declare (in) ivec4 y))\n"
11758 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011759 " (signature bvec2\n"
11760 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011761 " (declare (in) uvec2 x)\n"
11762 " (declare (in) uvec2 y))\n"
11763 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011764 " (signature bvec3\n"
11765 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011766 " (declare (in) uvec3 x)\n"
11767 " (declare (in) uvec3 y))\n"
11768 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011769 " (signature bvec4\n"
11770 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011771 " (declare (in) uvec4 x)\n"
11772 " (declare (in) uvec4 y))\n"
11773 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011774 "(function lessThanEqual\n"
11775 " (signature bvec2\n"
11776 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011777 " (declare (in) vec2 x)\n"
11778 " (declare (in) vec2 y))\n"
11779 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011780 " (signature bvec3\n"
11781 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011782 " (declare (in) vec3 x)\n"
11783 " (declare (in) vec3 y))\n"
11784 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011785 " (signature bvec4\n"
11786 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011787 " (declare (in) vec4 x)\n"
11788 " (declare (in) vec4 y))\n"
11789 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011790 " (signature bvec2\n"
11791 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011792 " (declare (in) ivec2 x)\n"
11793 " (declare (in) ivec2 y))\n"
11794 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011795 " (signature bvec3\n"
11796 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011797 " (declare (in) ivec3 x)\n"
11798 " (declare (in) ivec3 y))\n"
11799 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011800 " (signature bvec4\n"
11801 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011802 " (declare (in) ivec4 x)\n"
11803 " (declare (in) ivec4 y))\n"
11804 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011805 " (signature bvec2\n"
11806 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011807 " (declare (in) uvec2 x)\n"
11808 " (declare (in) uvec2 y))\n"
11809 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011810 " (signature bvec3\n"
11811 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011812 " (declare (in) uvec3 x)\n"
11813 " (declare (in) uvec3 y))\n"
11814 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011815 " (signature bvec4\n"
11816 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011817 " (declare (in) uvec4 x)\n"
11818 " (declare (in) uvec4 y))\n"
11819 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011820 "(function greaterThan\n"
11821 " (signature bvec2\n"
11822 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011823 " (declare (in) vec2 x)\n"
11824 " (declare (in) vec2 y))\n"
11825 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011826 " (signature bvec3\n"
11827 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011828 " (declare (in) vec3 x)\n"
11829 " (declare (in) vec3 y))\n"
11830 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011831 " (signature bvec4\n"
11832 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011833 " (declare (in) vec4 x)\n"
11834 " (declare (in) vec4 y))\n"
11835 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011836 " (signature bvec2\n"
11837 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011838 " (declare (in) ivec2 x)\n"
11839 " (declare (in) ivec2 y))\n"
11840 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011841 " (signature bvec3\n"
11842 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011843 " (declare (in) ivec3 x)\n"
11844 " (declare (in) ivec3 y))\n"
11845 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011846 " (signature bvec4\n"
11847 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011848 " (declare (in) ivec4 x)\n"
11849 " (declare (in) ivec4 y))\n"
11850 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011851 " (signature bvec2\n"
11852 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011853 " (declare (in) uvec2 x)\n"
11854 " (declare (in) uvec2 y))\n"
11855 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011856 " (signature bvec3\n"
11857 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011858 " (declare (in) uvec3 x)\n"
11859 " (declare (in) uvec3 y))\n"
11860 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011861 " (signature bvec4\n"
11862 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011863 " (declare (in) uvec4 x)\n"
11864 " (declare (in) uvec4 y))\n"
11865 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011866 "(function greaterThanEqual\n"
11867 " (signature bvec2\n"
11868 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011869 " (declare (in) vec2 x)\n"
11870 " (declare (in) vec2 y))\n"
11871 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011872 " (signature bvec3\n"
11873 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011874 " (declare (in) vec3 x)\n"
11875 " (declare (in) vec3 y))\n"
11876 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011877 " (signature bvec4\n"
11878 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011879 " (declare (in) vec4 x)\n"
11880 " (declare (in) vec4 y))\n"
11881 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011882 " (signature bvec2\n"
11883 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011884 " (declare (in) ivec2 x)\n"
11885 " (declare (in) ivec2 y))\n"
11886 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011887 " (signature bvec3\n"
11888 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011889 " (declare (in) ivec3 x)\n"
11890 " (declare (in) ivec3 y))\n"
11891 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011892 " (signature bvec4\n"
11893 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011894 " (declare (in) ivec4 x)\n"
11895 " (declare (in) ivec4 y))\n"
11896 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011897 " (signature bvec2\n"
11898 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011899 " (declare (in) uvec2 x)\n"
11900 " (declare (in) uvec2 y))\n"
11901 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011902 " (signature bvec3\n"
11903 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011904 " (declare (in) uvec3 x)\n"
11905 " (declare (in) uvec3 y))\n"
11906 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011907 " (signature bvec4\n"
11908 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011909 " (declare (in) uvec4 x)\n"
11910 " (declare (in) uvec4 y))\n"
11911 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011912 "(function equal\n"
11913 " (signature bvec2\n"
11914 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011915 " (declare (in) vec2 x)\n"
11916 " (declare (in) vec2 y))\n"
11917 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011918 " (signature bvec3\n"
11919 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011920 " (declare (in) vec3 x)\n"
11921 " (declare (in) vec3 y))\n"
11922 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011923 " (signature bvec4\n"
11924 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011925 " (declare (in) vec4 x)\n"
11926 " (declare (in) vec4 y))\n"
11927 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011928 " (signature bvec2\n"
11929 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011930 " (declare (in) ivec2 x)\n"
11931 " (declare (in) ivec2 y))\n"
11932 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011933 " (signature bvec3\n"
11934 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011935 " (declare (in) ivec3 x)\n"
11936 " (declare (in) ivec3 y))\n"
11937 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011938 " (signature bvec4\n"
11939 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011940 " (declare (in) ivec4 x)\n"
11941 " (declare (in) ivec4 y))\n"
11942 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011943 " (signature bvec2\n"
11944 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011945 " (declare (in) uvec2 x)\n"
11946 " (declare (in) uvec2 y))\n"
11947 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011948 " (signature bvec3\n"
11949 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011950 " (declare (in) uvec3 x)\n"
11951 " (declare (in) uvec3 y))\n"
11952 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011953 " (signature bvec4\n"
11954 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011955 " (declare (in) uvec4 x)\n"
11956 " (declare (in) uvec4 y))\n"
11957 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011958 " (signature bvec2\n"
11959 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011960 " (declare (in) bvec2 x)\n"
11961 " (declare (in) bvec2 y))\n"
11962 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011963 " (signature bvec3\n"
11964 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011965 " (declare (in) bvec3 x)\n"
11966 " (declare (in) bvec3 y))\n"
11967 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011968 " (signature bvec4\n"
11969 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011970 " (declare (in) bvec4 x)\n"
11971 " (declare (in) bvec4 y))\n"
11972 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011973 "(function notEqual\n"
11974 " (signature bvec2\n"
11975 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011976 " (declare (in) vec2 x)\n"
11977 " (declare (in) vec2 y))\n"
11978 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011979 " (signature bvec3\n"
11980 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011981 " (declare (in) vec3 x)\n"
11982 " (declare (in) vec3 y))\n"
11983 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011984 " (signature bvec4\n"
11985 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011986 " (declare (in) vec4 x)\n"
11987 " (declare (in) vec4 y))\n"
11988 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011989 " (signature bvec2\n"
11990 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011991 " (declare (in) ivec2 x)\n"
11992 " (declare (in) ivec2 y))\n"
11993 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011994 " (signature bvec3\n"
11995 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011996 " (declare (in) ivec3 x)\n"
11997 " (declare (in) ivec3 y))\n"
11998 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011999 " (signature bvec4\n"
12000 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012001 " (declare (in) ivec4 x)\n"
12002 " (declare (in) ivec4 y))\n"
12003 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012004 " (signature bvec2\n"
12005 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012006 " (declare (in) uvec2 x)\n"
12007 " (declare (in) uvec2 y))\n"
12008 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012009 " (signature bvec3\n"
12010 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012011 " (declare (in) uvec3 x)\n"
12012 " (declare (in) uvec3 y))\n"
12013 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012014 " (signature bvec4\n"
12015 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012016 " (declare (in) uvec4 x)\n"
12017 " (declare (in) uvec4 y))\n"
12018 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012019 " (signature bvec2\n"
12020 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012021 " (declare (in) bvec2 x)\n"
12022 " (declare (in) bvec2 y))\n"
12023 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012024 " (signature bvec3\n"
12025 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012026 " (declare (in) bvec3 x)\n"
12027 " (declare (in) bvec3 y))\n"
12028 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012029 " (signature bvec4\n"
12030 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012031 " (declare (in) bvec4 x)\n"
12032 " (declare (in) bvec4 y))\n"
12033 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012034 "(function any\n"
12035 " (signature bool\n"
12036 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012037 " (declare (in) bvec2 x))\n"
12038 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012039 " (signature bool\n"
12040 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012041 " (declare (in) bvec3 x))\n"
12042 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012043 " (signature bool\n"
12044 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012045 " (declare (in) bvec4 x))\n"
12046 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012047 "(function all\n"
12048 " (signature bool\n"
12049 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012050 " (declare (in) bvec2 x))\n"
12051 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012052 " (signature bool\n"
12053 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012054 " (declare (in) bvec3 x))\n"
12055 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012056 " (signature bool\n"
12057 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012058 " (declare (in) bvec4 x))\n"
12059 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012060 "(function not\n"
12061 " (signature bvec2\n"
12062 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012063 " (declare (in) bvec2 x))\n"
12064 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012065 " (signature bvec3\n"
12066 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012067 " (declare (in) bvec3 x))\n"
12068 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012069 " (signature bvec4\n"
12070 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012071 " (declare (in) bvec4 x))\n"
12072 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012073 "(function texture\n"
12074 " (signature vec4\n"
12075 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012076 " (declare (in) sampler1D sampler)\n"
12077 " (declare (in) float P))\n"
12078 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012079 " (signature ivec4\n"
12080 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012081 " (declare (in) isampler1D sampler)\n"
12082 " (declare (in) float P))\n"
12083 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012084 " (signature uvec4\n"
12085 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012086 " (declare (in) usampler1D sampler)\n"
12087 " (declare (in) float P))\n"
12088 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012089 " (signature vec4\n"
12090 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012091 " (declare (in) sampler2D sampler)\n"
12092 " (declare (in) vec2 P))\n"
12093 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012094 " (signature ivec4\n"
12095 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012096 " (declare (in) isampler2D sampler)\n"
12097 " (declare (in) vec2 P))\n"
12098 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012099 " (signature uvec4\n"
12100 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012101 " (declare (in) usampler2D sampler)\n"
12102 " (declare (in) vec2 P))\n"
12103 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012104 " (signature vec4\n"
12105 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012106 " (declare (in) sampler3D sampler)\n"
12107 " (declare (in) vec3 P))\n"
12108 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012109 " (signature ivec4\n"
12110 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012111 " (declare (in) isampler3D sampler)\n"
12112 " (declare (in) vec3 P))\n"
12113 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012114 " (signature uvec4\n"
12115 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012116 " (declare (in) usampler3D sampler)\n"
12117 " (declare (in) vec3 P))\n"
12118 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012119 " (signature vec4\n"
12120 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012121 " (declare (in) samplerCube sampler)\n"
12122 " (declare (in) vec3 P))\n"
12123 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012124 " (signature ivec4\n"
12125 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012126 " (declare (in) isamplerCube sampler)\n"
12127 " (declare (in) vec3 P))\n"
12128 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012129 " (signature uvec4\n"
12130 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012131 " (declare (in) usamplerCube sampler)\n"
12132 " (declare (in) vec3 P))\n"
12133 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012134 " (signature float\n"
12135 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012136 " (declare (in) sampler1DShadow sampler)\n"
12137 " (declare (in) vec3 P))\n"
12138 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012139 " (signature float\n"
12140 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012141 " (declare (in) sampler2DShadow sampler)\n"
12142 " (declare (in) vec3 P))\n"
12143 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012144 " (signature float\n"
12145 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012146 " (declare (in) samplerCubeShadow sampler)\n"
12147 " (declare (in) vec4 P))\n"
12148 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012149 " (signature vec4\n"
12150 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012151 " (declare (in) sampler1DArray sampler)\n"
12152 " (declare (in) vec2 P))\n"
12153 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012154 " (signature ivec4\n"
12155 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012156 " (declare (in) isampler1DArray sampler)\n"
12157 " (declare (in) vec2 P))\n"
12158 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012159 " (signature uvec4\n"
12160 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012161 " (declare (in) usampler1DArray sampler)\n"
12162 " (declare (in) vec2 P))\n"
12163 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012164 " (signature vec4\n"
12165 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012166 " (declare (in) sampler2DArray sampler)\n"
12167 " (declare (in) vec3 P))\n"
12168 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012169 " (signature ivec4\n"
12170 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012171 " (declare (in) isampler2DArray sampler)\n"
12172 " (declare (in) vec3 P))\n"
12173 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012174 " (signature uvec4\n"
12175 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012176 " (declare (in) usampler2DArray sampler)\n"
12177 " (declare (in) vec3 P))\n"
12178 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012179 " (signature float\n"
12180 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012181 " (declare (in) sampler1DArrayShadow sampler)\n"
12182 " (declare (in) vec3 P))\n"
12183 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012184 " (signature float\n"
12185 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012186 " (declare (in) sampler2DArrayShadow sampler)\n"
12187 " (declare (in) vec4 P))\n"
12188 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012189 " (signature vec4\n"
12190 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012191 " (declare (in) sampler1D sampler)\n"
12192 " (declare (in) float P)\n"
12193 " (declare (in) float bias))\n"
12194 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012195 " (signature ivec4\n"
12196 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012197 " (declare (in) isampler1D sampler)\n"
12198 " (declare (in) float P)\n"
12199 " (declare (in) float bias))\n"
12200 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012201 " (signature uvec4\n"
12202 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012203 " (declare (in) usampler1D sampler)\n"
12204 " (declare (in) float P)\n"
12205 " (declare (in) float bias))\n"
12206 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012207 " (signature vec4\n"
12208 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012209 " (declare (in) sampler2D sampler)\n"
12210 " (declare (in) vec2 P)\n"
12211 " (declare (in) float bias))\n"
12212 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012213 " (signature ivec4\n"
12214 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012215 " (declare (in) isampler2D sampler)\n"
12216 " (declare (in) vec2 P)\n"
12217 " (declare (in) float bias))\n"
12218 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012219 " (signature uvec4\n"
12220 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012221 " (declare (in) usampler2D sampler)\n"
12222 " (declare (in) vec2 P)\n"
12223 " (declare (in) float bias))\n"
12224 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012225 " (signature vec4\n"
12226 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012227 " (declare (in) sampler3D sampler)\n"
12228 " (declare (in) vec3 P)\n"
12229 " (declare (in) float bias))\n"
12230 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012231 " (signature ivec4\n"
12232 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012233 " (declare (in) isampler3D sampler)\n"
12234 " (declare (in) vec3 P)\n"
12235 " (declare (in) float bias))\n"
12236 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012237 " (signature uvec4\n"
12238 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012239 " (declare (in) usampler3D sampler)\n"
12240 " (declare (in) vec3 P)\n"
12241 " (declare (in) float bias))\n"
12242 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012243 " (signature vec4\n"
12244 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012245 " (declare (in) samplerCube sampler)\n"
12246 " (declare (in) vec3 P)\n"
12247 " (declare (in) float bias))\n"
12248 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012249 " (signature ivec4\n"
12250 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012251 " (declare (in) isamplerCube sampler)\n"
12252 " (declare (in) vec3 P)\n"
12253 " (declare (in) float bias))\n"
12254 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012255 " (signature uvec4\n"
12256 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012257 " (declare (in) usamplerCube sampler)\n"
12258 " (declare (in) vec3 P)\n"
12259 " (declare (in) float bias))\n"
12260 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012261 " (signature float\n"
12262 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012263 " (declare (in) sampler1DShadow sampler)\n"
12264 " (declare (in) vec3 P)\n"
12265 " (declare (in) float bias))\n"
12266 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012267 " (signature float\n"
12268 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012269 " (declare (in) sampler2DShadow sampler)\n"
12270 " (declare (in) vec3 P)\n"
12271 " (declare (in) float bias))\n"
12272 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012273 " (signature float\n"
12274 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012275 " (declare (in) samplerCubeShadow sampler)\n"
12276 " (declare (in) vec4 P)\n"
12277 " (declare (in) float bias))\n"
12278 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012279 " (signature vec4\n"
12280 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012281 " (declare (in) sampler1DArray sampler)\n"
12282 " (declare (in) vec2 P)\n"
12283 " (declare (in) float bias))\n"
12284 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012285 " (signature ivec4\n"
12286 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012287 " (declare (in) isampler1DArray sampler)\n"
12288 " (declare (in) vec2 P)\n"
12289 " (declare (in) float bias))\n"
12290 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012291 " (signature uvec4\n"
12292 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012293 " (declare (in) usampler1DArray sampler)\n"
12294 " (declare (in) vec2 P)\n"
12295 " (declare (in) float bias))\n"
12296 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012297 " (signature vec4\n"
12298 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012299 " (declare (in) sampler2DArray sampler)\n"
12300 " (declare (in) vec3 P)\n"
12301 " (declare (in) float bias))\n"
12302 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012303 " (signature ivec4\n"
12304 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012305 " (declare (in) isampler2DArray sampler)\n"
12306 " (declare (in) vec3 P)\n"
12307 " (declare (in) float bias))\n"
12308 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012309 " (signature uvec4\n"
12310 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012311 " (declare (in) usampler2DArray sampler)\n"
12312 " (declare (in) vec3 P)\n"
12313 " (declare (in) float bias))\n"
12314 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012315 " (signature float\n"
12316 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012317 " (declare (in) sampler1DArrayShadow sampler)\n"
12318 " (declare (in) vec3 P)\n"
12319 " (declare (in) float bias))\n"
12320 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012321 "(function textureProj\n"
12322 " (signature vec4\n"
12323 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012324 " (declare (in) sampler1D sampler)\n"
12325 " (declare (in) vec2 P))\n"
12326 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012327 " (signature ivec4\n"
12328 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012329 " (declare (in) isampler1D sampler)\n"
12330 " (declare (in) vec2 P))\n"
12331 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012332 " (signature uvec4\n"
12333 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012334 " (declare (in) usampler1D sampler)\n"
12335 " (declare (in) vec2 P))\n"
12336 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012337 " (signature vec4\n"
12338 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012339 " (declare (in) sampler1D sampler)\n"
12340 " (declare (in) vec4 P))\n"
12341 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012342 " (signature ivec4\n"
12343 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012344 " (declare (in) isampler1D sampler)\n"
12345 " (declare (in) vec4 P))\n"
12346 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012347 " (signature uvec4\n"
12348 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012349 " (declare (in) usampler1D sampler)\n"
12350 " (declare (in) vec4 P))\n"
12351 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012352 " (signature vec4\n"
12353 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012354 " (declare (in) sampler2D sampler)\n"
12355 " (declare (in) vec3 P))\n"
12356 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012357 " (signature ivec4\n"
12358 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012359 " (declare (in) isampler2D sampler)\n"
12360 " (declare (in) vec3 P))\n"
12361 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012362 " (signature uvec4\n"
12363 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012364 " (declare (in) usampler2D sampler)\n"
12365 " (declare (in) vec3 P))\n"
12366 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012367 " (signature vec4\n"
12368 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012369 " (declare (in) sampler2D sampler)\n"
12370 " (declare (in) vec4 P))\n"
12371 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012372 " (signature ivec4\n"
12373 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012374 " (declare (in) isampler2D sampler)\n"
12375 " (declare (in) vec4 P))\n"
12376 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012377 " (signature uvec4\n"
12378 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012379 " (declare (in) usampler2D sampler)\n"
12380 " (declare (in) vec4 P))\n"
12381 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012382 " (signature vec4\n"
12383 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012384 " (declare (in) sampler3D sampler)\n"
12385 " (declare (in) vec4 P))\n"
12386 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012387 " (signature ivec4\n"
12388 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012389 " (declare (in) isampler3D sampler)\n"
12390 " (declare (in) vec4 P))\n"
12391 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012392 " (signature uvec4\n"
12393 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012394 " (declare (in) usampler3D sampler)\n"
12395 " (declare (in) vec4 P))\n"
12396 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012397 " (signature float\n"
12398 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012399 " (declare (in) sampler1DShadow sampler)\n"
12400 " (declare (in) vec4 P))\n"
12401 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012402 " (signature float\n"
12403 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012404 " (declare (in) sampler2DShadow sampler)\n"
12405 " (declare (in) vec4 P))\n"
12406 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012407 " (signature vec4\n"
12408 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012409 " (declare (in) sampler1D sampler)\n"
12410 " (declare (in) vec2 P)\n"
12411 " (declare (in) float bias))\n"
12412 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012413 " (signature ivec4\n"
12414 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012415 " (declare (in) isampler1D sampler)\n"
12416 " (declare (in) vec2 P)\n"
12417 " (declare (in) float bias))\n"
12418 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012419 " (signature uvec4\n"
12420 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012421 " (declare (in) usampler1D sampler)\n"
12422 " (declare (in) vec2 P)\n"
12423 " (declare (in) float bias))\n"
12424 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012425 " (signature vec4\n"
12426 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012427 " (declare (in) sampler1D sampler)\n"
12428 " (declare (in) vec4 P)\n"
12429 " (declare (in) float bias))\n"
12430 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012431 " (signature ivec4\n"
12432 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012433 " (declare (in) isampler1D sampler)\n"
12434 " (declare (in) vec4 P)\n"
12435 " (declare (in) float bias))\n"
12436 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012437 " (signature uvec4\n"
12438 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012439 " (declare (in) usampler1D sampler)\n"
12440 " (declare (in) vec4 P)\n"
12441 " (declare (in) float bias))\n"
12442 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012443 " (signature vec4\n"
12444 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012445 " (declare (in) sampler2D sampler)\n"
12446 " (declare (in) vec3 P)\n"
12447 " (declare (in) float bias))\n"
12448 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012449 " (signature ivec4\n"
12450 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012451 " (declare (in) isampler2D sampler)\n"
12452 " (declare (in) vec3 P)\n"
12453 " (declare (in) float bias))\n"
12454 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012455 " (signature uvec4\n"
12456 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012457 " (declare (in) usampler2D sampler)\n"
12458 " (declare (in) vec3 P)\n"
12459 " (declare (in) float bias))\n"
12460 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012461 " (signature vec4\n"
12462 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012463 " (declare (in) sampler2D sampler)\n"
12464 " (declare (in) vec4 P)\n"
12465 " (declare (in) float bias))\n"
12466 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012467 " (signature ivec4\n"
12468 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012469 " (declare (in) isampler2D sampler)\n"
12470 " (declare (in) vec4 P)\n"
12471 " (declare (in) float bias))\n"
12472 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012473 " (signature uvec4\n"
12474 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012475 " (declare (in) usampler2D sampler)\n"
12476 " (declare (in) vec4 P)\n"
12477 " (declare (in) float bias))\n"
12478 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012479 " (signature vec4\n"
12480 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012481 " (declare (in) sampler3D sampler)\n"
12482 " (declare (in) vec4 P)\n"
12483 " (declare (in) float bias))\n"
12484 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012485 " (signature ivec4\n"
12486 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012487 " (declare (in) isampler3D sampler)\n"
12488 " (declare (in) vec4 P)\n"
12489 " (declare (in) float bias))\n"
12490 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012491 " (signature uvec4\n"
12492 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012493 " (declare (in) usampler3D sampler)\n"
12494 " (declare (in) vec4 P)\n"
12495 " (declare (in) float bias))\n"
12496 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012497 " (signature float\n"
12498 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012499 " (declare (in) sampler1DShadow sampler)\n"
12500 " (declare (in) vec4 P)\n"
12501 " (declare (in) float bias))\n"
12502 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012503 " (signature float\n"
12504 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012505 " (declare (in) sampler2DShadow sampler)\n"
12506 " (declare (in) vec4 P)\n"
12507 " (declare (in) float bias))\n"
12508 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012509 "(function textureLod\n"
12510 " (signature vec4\n"
12511 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012512 " (declare (in) sampler1D sampler)\n"
12513 " (declare (in) float P)\n"
12514 " (declare (in) float lod))\n"
12515 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012516 " (signature ivec4\n"
12517 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012518 " (declare (in) isampler1D sampler)\n"
12519 " (declare (in) float P)\n"
12520 " (declare (in) float lod))\n"
12521 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012522 " (signature uvec4\n"
12523 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012524 " (declare (in) usampler1D sampler)\n"
12525 " (declare (in) float P)\n"
12526 " (declare (in) float lod))\n"
12527 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012528 " (signature vec4\n"
12529 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012530 " (declare (in) sampler2D sampler)\n"
12531 " (declare (in) vec2 P)\n"
12532 " (declare (in) float lod))\n"
12533 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012534 " (signature ivec4\n"
12535 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012536 " (declare (in) isampler2D sampler)\n"
12537 " (declare (in) vec2 P)\n"
12538 " (declare (in) float lod))\n"
12539 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012540 " (signature uvec4\n"
12541 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012542 " (declare (in) usampler2D sampler)\n"
12543 " (declare (in) vec2 P)\n"
12544 " (declare (in) float lod))\n"
12545 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012546 " (signature vec4\n"
12547 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012548 " (declare (in) sampler3D sampler)\n"
12549 " (declare (in) vec3 P)\n"
12550 " (declare (in) float lod))\n"
12551 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012552 " (signature ivec4\n"
12553 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012554 " (declare (in) isampler3D sampler)\n"
12555 " (declare (in) vec3 P)\n"
12556 " (declare (in) float lod))\n"
12557 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012558 " (signature uvec4\n"
12559 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012560 " (declare (in) usampler3D sampler)\n"
12561 " (declare (in) vec3 P)\n"
12562 " (declare (in) float lod))\n"
12563 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012564 " (signature vec4\n"
12565 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012566 " (declare (in) samplerCube sampler)\n"
12567 " (declare (in) vec3 P)\n"
12568 " (declare (in) float lod))\n"
12569 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012570 " (signature ivec4\n"
12571 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012572 " (declare (in) isamplerCube sampler)\n"
12573 " (declare (in) vec3 P)\n"
12574 " (declare (in) float lod))\n"
12575 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012576 " (signature uvec4\n"
12577 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012578 " (declare (in) usamplerCube sampler)\n"
12579 " (declare (in) vec3 P)\n"
12580 " (declare (in) float lod))\n"
12581 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012582 " (signature float\n"
12583 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012584 " (declare (in) sampler1DShadow sampler)\n"
12585 " (declare (in) vec3 P)\n"
12586 " (declare (in) float lod))\n"
12587 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012588 " (signature float\n"
12589 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012590 " (declare (in) sampler2DShadow sampler)\n"
12591 " (declare (in) vec3 P)\n"
12592 " (declare (in) float lod))\n"
12593 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012594 " (signature vec4\n"
12595 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012596 " (declare (in) sampler1DArray sampler)\n"
12597 " (declare (in) vec2 P)\n"
12598 " (declare (in) float lod))\n"
12599 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012600 " (signature ivec4\n"
12601 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012602 " (declare (in) isampler1DArray sampler)\n"
12603 " (declare (in) vec2 P)\n"
12604 " (declare (in) float lod))\n"
12605 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012606 " (signature uvec4\n"
12607 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012608 " (declare (in) usampler1DArray sampler)\n"
12609 " (declare (in) vec2 P)\n"
12610 " (declare (in) float lod))\n"
12611 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012612 " (signature vec4\n"
12613 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012614 " (declare (in) sampler2DArray sampler)\n"
12615 " (declare (in) vec3 P)\n"
12616 " (declare (in) float lod))\n"
12617 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012618 " (signature ivec4\n"
12619 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012620 " (declare (in) isampler2DArray sampler)\n"
12621 " (declare (in) vec3 P)\n"
12622 " (declare (in) float lod))\n"
12623 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012624 " (signature uvec4\n"
12625 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012626 " (declare (in) usampler2DArray sampler)\n"
12627 " (declare (in) vec3 P)\n"
12628 " (declare (in) float lod))\n"
12629 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012630 " (signature float\n"
12631 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012632 " (declare (in) sampler1DArrayShadow sampler)\n"
12633 " (declare (in) vec3 P)\n"
12634 " (declare (in) float lod))\n"
12635 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012636 "(function texelFetch\n"
12637 " (signature vec4\n"
12638 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012639 " (declare (in) sampler1D sampler)\n"
12640 " (declare (in) int P)\n"
12641 " (declare (in) int lod))\n"
12642 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012643 " (signature ivec4\n"
12644 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012645 " (declare (in) isampler1D sampler)\n"
12646 " (declare (in) int P)\n"
12647 " (declare (in) int lod))\n"
12648 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012649 " (signature uvec4\n"
12650 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012651 " (declare (in) usampler1D sampler)\n"
12652 " (declare (in) int P)\n"
12653 " (declare (in) int lod))\n"
12654 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012655 " (signature vec4\n"
12656 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012657 " (declare (in) sampler2D sampler)\n"
12658 " (declare (in) ivec2 P)\n"
12659 " (declare (in) int lod))\n"
12660 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012661 " (signature ivec4\n"
12662 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012663 " (declare (in) isampler2D sampler)\n"
12664 " (declare (in) ivec2 P)\n"
12665 " (declare (in) int lod))\n"
12666 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012667 " (signature uvec4\n"
12668 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012669 " (declare (in) usampler2D sampler)\n"
12670 " (declare (in) ivec2 P)\n"
12671 " (declare (in) int lod))\n"
12672 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012673 " (signature vec4\n"
12674 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012675 " (declare (in) sampler3D sampler)\n"
12676 " (declare (in) ivec3 P)\n"
12677 " (declare (in) int lod))\n"
12678 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012679 " (signature ivec4\n"
12680 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012681 " (declare (in) isampler3D sampler)\n"
12682 " (declare (in) ivec3 P)\n"
12683 " (declare (in) int lod))\n"
12684 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012685 " (signature uvec4\n"
12686 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012687 " (declare (in) usampler3D sampler)\n"
12688 " (declare (in) ivec3 P)\n"
12689 " (declare (in) int lod))\n"
12690 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012691 " (signature vec4\n"
12692 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012693 " (declare (in) sampler1DArray sampler)\n"
12694 " (declare (in) ivec2 P)\n"
12695 " (declare (in) int lod))\n"
12696 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012697 " (signature ivec4\n"
12698 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012699 " (declare (in) isampler1DArray sampler)\n"
12700 " (declare (in) ivec2 P)\n"
12701 " (declare (in) int lod))\n"
12702 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012703 " (signature uvec4\n"
12704 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012705 " (declare (in) usampler1DArray sampler)\n"
12706 " (declare (in) ivec2 P)\n"
12707 " (declare (in) int lod))\n"
12708 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012709 " (signature vec4\n"
12710 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012711 " (declare (in) sampler2DArray sampler)\n"
12712 " (declare (in) ivec3 P)\n"
12713 " (declare (in) int lod))\n"
12714 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012715 " (signature ivec4\n"
12716 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012717 " (declare (in) isampler2DArray sampler)\n"
12718 " (declare (in) ivec3 P)\n"
12719 " (declare (in) int lod))\n"
12720 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012721 " (signature uvec4\n"
12722 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012723 " (declare (in) usampler2DArray sampler)\n"
12724 " (declare (in) ivec3 P)\n"
12725 " (declare (in) int lod))\n"
12726 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012727 "(function textureProjLod\n"
12728 " (signature vec4\n"
12729 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012730 " (declare (in) sampler1D sampler)\n"
12731 " (declare (in) vec2 P)\n"
12732 " (declare (in) float lod))\n"
12733 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012734 " (signature ivec4\n"
12735 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012736 " (declare (in) isampler1D sampler)\n"
12737 " (declare (in) vec2 P)\n"
12738 " (declare (in) float lod))\n"
12739 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012740 " (signature uvec4\n"
12741 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012742 " (declare (in) usampler1D sampler)\n"
12743 " (declare (in) vec2 P)\n"
12744 " (declare (in) float lod))\n"
12745 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012746 " (signature vec4\n"
12747 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012748 " (declare (in) sampler1D sampler)\n"
12749 " (declare (in) vec4 P)\n"
12750 " (declare (in) float lod))\n"
12751 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012752 " (signature ivec4\n"
12753 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012754 " (declare (in) isampler1D sampler)\n"
12755 " (declare (in) vec4 P)\n"
12756 " (declare (in) float lod))\n"
12757 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012758 " (signature uvec4\n"
12759 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012760 " (declare (in) usampler1D sampler)\n"
12761 " (declare (in) vec4 P)\n"
12762 " (declare (in) float lod))\n"
12763 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012764 " (signature vec4\n"
12765 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012766 " (declare (in) sampler2D sampler)\n"
12767 " (declare (in) vec3 P)\n"
12768 " (declare (in) float lod))\n"
12769 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012770 " (signature ivec4\n"
12771 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012772 " (declare (in) isampler2D sampler)\n"
12773 " (declare (in) vec3 P)\n"
12774 " (declare (in) float lod))\n"
12775 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012776 " (signature uvec4\n"
12777 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012778 " (declare (in) usampler2D sampler)\n"
12779 " (declare (in) vec3 P)\n"
12780 " (declare (in) float lod))\n"
12781 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012782 " (signature vec4\n"
12783 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012784 " (declare (in) sampler2D sampler)\n"
12785 " (declare (in) vec4 P)\n"
12786 " (declare (in) float lod))\n"
12787 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012788 " (signature ivec4\n"
12789 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012790 " (declare (in) isampler2D sampler)\n"
12791 " (declare (in) vec4 P)\n"
12792 " (declare (in) float lod))\n"
12793 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012794 " (signature uvec4\n"
12795 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012796 " (declare (in) usampler2D sampler)\n"
12797 " (declare (in) vec4 P)\n"
12798 " (declare (in) float lod))\n"
12799 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012800 " (signature vec4\n"
12801 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012802 " (declare (in) sampler3D sampler)\n"
12803 " (declare (in) vec4 P)\n"
12804 " (declare (in) float lod))\n"
12805 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012806 " (signature ivec4\n"
12807 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012808 " (declare (in) isampler3D sampler)\n"
12809 " (declare (in) vec4 P)\n"
12810 " (declare (in) float lod))\n"
12811 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012812 " (signature uvec4\n"
12813 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012814 " (declare (in) usampler3D sampler)\n"
12815 " (declare (in) vec4 P)\n"
12816 " (declare (in) float lod))\n"
12817 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012818 " (signature float\n"
12819 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012820 " (declare (in) sampler1DShadow sampler)\n"
12821 " (declare (in) vec4 P)\n"
12822 " (declare (in) float lod))\n"
12823 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012824 " (signature float\n"
12825 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012826 " (declare (in) sampler2DShadow sampler)\n"
12827 " (declare (in) vec4 P)\n"
12828 " (declare (in) float lod))\n"
12829 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012830 "(function textureGrad\n"
12831 " (signature vec4\n"
12832 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012833 " (declare (in) sampler1D sampler)\n"
12834 " (declare (in) float P)\n"
12835 " (declare (in) float dPdx)\n"
12836 " (declare (in) float dPdy))\n"
12837 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012838 " (signature ivec4\n"
12839 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012840 " (declare (in) isampler1D sampler)\n"
12841 " (declare (in) float P)\n"
12842 " (declare (in) float dPdx)\n"
12843 " (declare (in) float dPdy))\n"
12844 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012845 " (signature uvec4\n"
12846 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012847 " (declare (in) usampler1D sampler)\n"
12848 " (declare (in) float P)\n"
12849 " (declare (in) float dPdx)\n"
12850 " (declare (in) float dPdy))\n"
12851 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012852 " (signature vec4\n"
12853 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012854 " (declare (in) sampler2D sampler)\n"
12855 " (declare (in) vec2 P)\n"
12856 " (declare (in) vec2 dPdx)\n"
12857 " (declare (in) vec2 dPdy))\n"
12858 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012859 " (signature ivec4\n"
12860 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012861 " (declare (in) isampler2D sampler)\n"
12862 " (declare (in) vec2 P)\n"
12863 " (declare (in) vec2 dPdx)\n"
12864 " (declare (in) vec2 dPdy))\n"
12865 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012866 " (signature uvec4\n"
12867 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012868 " (declare (in) usampler2D sampler)\n"
12869 " (declare (in) vec2 P)\n"
12870 " (declare (in) vec2 dPdx)\n"
12871 " (declare (in) vec2 dPdy))\n"
12872 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012873 " (signature vec4\n"
12874 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012875 " (declare (in) sampler3D sampler)\n"
12876 " (declare (in) vec3 P)\n"
12877 " (declare (in) vec3 dPdx)\n"
12878 " (declare (in) vec3 dPdy))\n"
12879 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012880 " (signature ivec4\n"
12881 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012882 " (declare (in) isampler3D sampler)\n"
12883 " (declare (in) vec3 P)\n"
12884 " (declare (in) vec3 dPdx)\n"
12885 " (declare (in) vec3 dPdy))\n"
12886 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012887 " (signature uvec4\n"
12888 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012889 " (declare (in) usampler3D sampler)\n"
12890 " (declare (in) vec3 P)\n"
12891 " (declare (in) vec3 dPdx)\n"
12892 " (declare (in) vec3 dPdy))\n"
12893 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012894 " (signature vec4\n"
12895 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012896 " (declare (in) samplerCube sampler)\n"
12897 " (declare (in) vec3 P)\n"
12898 " (declare (in) vec3 dPdx)\n"
12899 " (declare (in) vec3 dPdy))\n"
12900 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012901 " (signature ivec4\n"
12902 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012903 " (declare (in) isamplerCube sampler)\n"
12904 " (declare (in) vec3 P)\n"
12905 " (declare (in) vec3 dPdx)\n"
12906 " (declare (in) vec3 dPdy))\n"
12907 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012908 " (signature uvec4\n"
12909 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012910 " (declare (in) usamplerCube sampler)\n"
12911 " (declare (in) vec3 P)\n"
12912 " (declare (in) vec3 dPdx)\n"
12913 " (declare (in) vec3 dPdy))\n"
12914 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012915 " (signature float\n"
12916 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012917 " (declare (in) sampler1DShadow sampler)\n"
12918 " (declare (in) vec3 P)\n"
12919 " (declare (in) float dPdx)\n"
12920 " (declare (in) float dPdy))\n"
12921 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012922 " (signature float\n"
12923 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012924 " (declare (in) sampler2DShadow sampler)\n"
12925 " (declare (in) vec3 P)\n"
12926 " (declare (in) vec2 dPdx)\n"
12927 " (declare (in) vec2 dPdy))\n"
12928 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012929 " (signature float\n"
12930 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012931 " (declare (in) samplerCubeShadow sampler)\n"
12932 " (declare (in) vec4 P)\n"
12933 " (declare (in) vec3 dPdx)\n"
12934 " (declare (in) vec3 dPdy))\n"
12935 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012936 " (signature vec4\n"
12937 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012938 " (declare (in) sampler1DArray sampler)\n"
12939 " (declare (in) vec2 P)\n"
12940 " (declare (in) float dPdx)\n"
12941 " (declare (in) float dPdy))\n"
12942 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012943 " (signature ivec4\n"
12944 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012945 " (declare (in) isampler1DArray sampler)\n"
12946 " (declare (in) vec2 P)\n"
12947 " (declare (in) float dPdx)\n"
12948 " (declare (in) float dPdy))\n"
12949 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012950 " (signature uvec4\n"
12951 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012952 " (declare (in) usampler1DArray sampler)\n"
12953 " (declare (in) vec2 P)\n"
12954 " (declare (in) float dPdx)\n"
12955 " (declare (in) float dPdy))\n"
12956 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012957 " (signature vec4\n"
12958 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012959 " (declare (in) sampler2DArray sampler)\n"
12960 " (declare (in) vec3 P)\n"
12961 " (declare (in) vec2 dPdx)\n"
12962 " (declare (in) vec2 dPdy))\n"
12963 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012964 " (signature ivec4\n"
12965 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012966 " (declare (in) isampler2DArray sampler)\n"
12967 " (declare (in) vec3 P)\n"
12968 " (declare (in) vec2 dPdx)\n"
12969 " (declare (in) vec2 dPdy))\n"
12970 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012971 " (signature uvec4\n"
12972 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012973 " (declare (in) usampler2DArray sampler)\n"
12974 " (declare (in) vec3 P)\n"
12975 " (declare (in) vec2 dPdx)\n"
12976 " (declare (in) vec2 dPdy))\n"
12977 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012978 " (signature float\n"
12979 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012980 " (declare (in) sampler1DArrayShadow sampler)\n"
12981 " (declare (in) vec3 P)\n"
12982 " (declare (in) float dPdx)\n"
12983 " (declare (in) float dPdy))\n"
12984 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012985 " (signature float\n"
12986 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012987 " (declare (in) sampler2DArrayShadow sampler)\n"
12988 " (declare (in) vec4 P)\n"
12989 " (declare (in) vec2 dPdx)\n"
12990 " (declare (in) vec2 dPdy))\n"
12991 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012992 "(function textureProjGrad\n"
12993 " (signature vec4\n"
12994 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012995 " (declare (in) sampler1D sampler)\n"
12996 " (declare (in) vec2 P)\n"
12997 " (declare (in) float dPdx)\n"
12998 " (declare (in) float dPdy))\n"
12999 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013000 " (signature ivec4\n"
13001 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013002 " (declare (in) isampler1D sampler)\n"
13003 " (declare (in) vec2 P)\n"
13004 " (declare (in) float dPdx)\n"
13005 " (declare (in) float dPdy))\n"
13006 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013007 " (signature uvec4\n"
13008 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013009 " (declare (in) usampler1D sampler)\n"
13010 " (declare (in) vec2 P)\n"
13011 " (declare (in) float dPdx)\n"
13012 " (declare (in) float dPdy))\n"
13013 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013014 " (signature vec4\n"
13015 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013016 " (declare (in) sampler1D sampler)\n"
13017 " (declare (in) vec4 P)\n"
13018 " (declare (in) float dPdx)\n"
13019 " (declare (in) float dPdy))\n"
13020 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013021 " (signature ivec4\n"
13022 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013023 " (declare (in) isampler1D sampler)\n"
13024 " (declare (in) vec4 P)\n"
13025 " (declare (in) float dPdx)\n"
13026 " (declare (in) float dPdy))\n"
13027 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013028 " (signature uvec4\n"
13029 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013030 " (declare (in) usampler1D sampler)\n"
13031 " (declare (in) vec4 P)\n"
13032 " (declare (in) float dPdx)\n"
13033 " (declare (in) float dPdy))\n"
13034 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013035 " (signature vec4\n"
13036 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013037 " (declare (in) sampler2D sampler)\n"
13038 " (declare (in) vec3 P)\n"
13039 " (declare (in) vec2 dPdx)\n"
13040 " (declare (in) vec2 dPdy))\n"
13041 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013042 " (signature ivec4\n"
13043 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013044 " (declare (in) isampler2D sampler)\n"
13045 " (declare (in) vec3 P)\n"
13046 " (declare (in) vec2 dPdx)\n"
13047 " (declare (in) vec2 dPdy))\n"
13048 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013049 " (signature uvec4\n"
13050 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013051 " (declare (in) usampler2D sampler)\n"
13052 " (declare (in) vec3 P)\n"
13053 " (declare (in) vec2 dPdx)\n"
13054 " (declare (in) vec2 dPdy))\n"
13055 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013056 " (signature vec4\n"
13057 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013058 " (declare (in) sampler2D sampler)\n"
13059 " (declare (in) vec4 P)\n"
13060 " (declare (in) vec2 dPdx)\n"
13061 " (declare (in) vec2 dPdy))\n"
13062 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013063 " (signature ivec4\n"
13064 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013065 " (declare (in) isampler2D sampler)\n"
13066 " (declare (in) vec4 P)\n"
13067 " (declare (in) vec2 dPdx)\n"
13068 " (declare (in) vec2 dPdy))\n"
13069 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013070 " (signature uvec4\n"
13071 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013072 " (declare (in) usampler2D sampler)\n"
13073 " (declare (in) vec4 P)\n"
13074 " (declare (in) vec2 dPdx)\n"
13075 " (declare (in) vec2 dPdy))\n"
13076 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013077 " (signature vec4\n"
13078 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013079 " (declare (in) sampler3D sampler)\n"
13080 " (declare (in) vec4 P)\n"
13081 " (declare (in) vec3 dPdx)\n"
13082 " (declare (in) vec3 dPdy))\n"
13083 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013084 " (signature ivec4\n"
13085 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013086 " (declare (in) isampler3D sampler)\n"
13087 " (declare (in) vec4 P)\n"
13088 " (declare (in) vec3 dPdx)\n"
13089 " (declare (in) vec3 dPdy))\n"
13090 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013091 " (signature uvec4\n"
13092 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013093 " (declare (in) usampler3D sampler)\n"
13094 " (declare (in) vec4 P)\n"
13095 " (declare (in) vec3 dPdx)\n"
13096 " (declare (in) vec3 dPdy))\n"
13097 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013098 " (signature float\n"
13099 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013100 " (declare (in) sampler1DShadow sampler)\n"
13101 " (declare (in) vec4 P)\n"
13102 " (declare (in) float dPdx)\n"
13103 " (declare (in) float dPdy))\n"
13104 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013105 " (signature float\n"
13106 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013107 " (declare (in) sampler2DShadow sampler)\n"
13108 " (declare (in) vec4 P)\n"
13109 " (declare (in) vec2 dPdx)\n"
13110 " (declare (in) vec2 dPdy))\n"
13111 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013112 "(function texture1D\n"
13113 " (signature vec4\n"
13114 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013115 " (declare (in) sampler1D sampler)\n"
13116 " (declare (in) float coord))\n"
13117 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013118 " (signature vec4\n"
13119 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013120 " (declare (in) sampler1D sampler)\n"
13121 " (declare (in) float coord)\n"
13122 " (declare (in) float bias))\n"
13123 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013124 "(function texture1DProj\n"
13125 " (signature vec4\n"
13126 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013127 " (declare (in) sampler1D sampler)\n"
13128 " (declare (in) vec2 coord))\n"
13129 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013130 " (signature vec4\n"
13131 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013132 " (declare (in) sampler1D sampler)\n"
13133 " (declare (in) vec4 coord))\n"
13134 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013135 " (signature vec4\n"
13136 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013137 " (declare (in) sampler1D sampler)\n"
13138 " (declare (in) vec2 coord)\n"
13139 " (declare (in) float bias))\n"
13140 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013141 " (signature vec4\n"
13142 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013143 " (declare (in) sampler1D sampler)\n"
13144 " (declare (in) vec4 coord)\n"
13145 " (declare (in) float bias))\n"
13146 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013147 "(function texture1DLod\n"
13148 " (signature vec4\n"
13149 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013150 " (declare (in) sampler1D sampler)\n"
13151 " (declare (in) float coord)\n"
13152 " (declare (in) float lod))\n"
13153 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013154 "(function texture1DProjLod\n"
13155 " (signature vec4\n"
13156 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013157 " (declare (in) sampler1D sampler)\n"
13158 " (declare (in) vec2 coord)\n"
13159 " (declare (in) float lod))\n"
13160 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013161 " (signature vec4\n"
13162 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013163 " (declare (in) sampler1D sampler)\n"
13164 " (declare (in) vec4 coord)\n"
13165 " (declare (in) float lod))\n"
13166 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013167 "(function texture2D\n"
13168 " (signature vec4\n"
13169 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013170 " (declare (in) sampler2D sampler)\n"
13171 " (declare (in) vec2 coord))\n"
13172 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013173 " (signature vec4\n"
13174 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013175 " (declare (in) sampler2D sampler)\n"
13176 " (declare (in) vec2 coord)\n"
13177 " (declare (in) float bias))\n"
13178 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013179 "(function texture2DProj\n"
13180 " (signature vec4\n"
13181 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013182 " (declare (in) sampler2D sampler)\n"
13183 " (declare (in) vec3 coord))\n"
13184 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013185 " (signature vec4\n"
13186 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013187 " (declare (in) sampler2D sampler)\n"
13188 " (declare (in) vec4 coord))\n"
13189 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013190 " (signature vec4\n"
13191 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013192 " (declare (in) sampler2D sampler)\n"
13193 " (declare (in) vec3 coord)\n"
13194 " (declare (in) float bias))\n"
13195 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013196 " (signature vec4\n"
13197 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013198 " (declare (in) sampler2D sampler)\n"
13199 " (declare (in) vec4 coord)\n"
13200 " (declare (in) float bias))\n"
13201 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013202 "(function texture2DLod\n"
13203 " (signature vec4\n"
13204 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013205 " (declare (in) sampler2D sampler)\n"
13206 " (declare (in) vec2 coord)\n"
13207 " (declare (in) float lod))\n"
13208 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013209 "(function texture2DProjLod\n"
13210 " (signature vec4\n"
13211 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013212 " (declare (in) sampler2D sampler)\n"
13213 " (declare (in) vec3 coord)\n"
13214 " (declare (in) float lod))\n"
13215 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013216 " (signature vec4\n"
13217 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013218 " (declare (in) sampler2D sampler)\n"
13219 " (declare (in) vec4 coord)\n"
13220 " (declare (in) float lod))\n"
13221 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013222 "(function texture3D\n"
13223 " (signature vec4\n"
13224 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013225 " (declare (in) sampler3D sampler)\n"
13226 " (declare (in) vec3 coord))\n"
13227 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013228 " (signature vec4\n"
13229 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013230 " (declare (in) sampler3D sampler)\n"
13231 " (declare (in) vec3 coord)\n"
13232 " (declare (in) float bias))\n"
13233 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013234 "(function texture3DProj\n"
13235 " (signature vec4\n"
13236 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013237 " (declare (in) sampler3D sampler)\n"
13238 " (declare (in) vec4 coord))\n"
13239 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013240 " (signature vec4\n"
13241 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013242 " (declare (in) sampler3D sampler)\n"
13243 " (declare (in) vec4 coord)\n"
13244 " (declare (in) float bias))\n"
13245 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013246 "(function texture3DLod\n"
13247 " (signature vec4\n"
13248 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013249 " (declare (in) sampler3D sampler)\n"
13250 " (declare (in) vec3 coord)\n"
13251 " (declare (in) float lod))\n"
13252 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013253 "(function texture3DProjLod\n"
13254 " (signature vec4\n"
13255 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013256 " (declare (in) sampler3D sampler)\n"
13257 " (declare (in) vec4 coord)\n"
13258 " (declare (in) float lod))\n"
13259 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013260 "(function textureCube\n"
13261 " (signature vec4\n"
13262 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013263 " (declare (in) samplerCube sampler)\n"
13264 " (declare (in) vec3 coord))\n"
13265 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013266 " (signature vec4\n"
13267 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013268 " (declare (in) samplerCube sampler)\n"
13269 " (declare (in) vec3 coord)\n"
13270 " (declare (in) float bias))\n"
13271 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013272 "(function textureCubeLod\n"
13273 " (signature vec4\n"
13274 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013275 " (declare (in) samplerCube sampler)\n"
13276 " (declare (in) vec3 coord)\n"
13277 " (declare (in) float lod))\n"
13278 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013279 "(function shadow1D\n"
13280 " (signature vec4\n"
13281 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013282 " (declare (in) sampler1DShadow sampler)\n"
13283 " (declare (in) vec3 coord))\n"
13284 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013285 " (signature vec4\n"
13286 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013287 " (declare (in) sampler1DShadow sampler)\n"
13288 " (declare (in) vec3 coord)\n"
13289 " (declare (in) float bias))\n"
13290 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013291 "(function shadow2D\n"
13292 " (signature vec4\n"
13293 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013294 " (declare (in) sampler2DShadow sampler)\n"
13295 " (declare (in) vec3 coord))\n"
13296 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013297 " (signature vec4\n"
13298 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013299 " (declare (in) sampler2DShadow sampler)\n"
13300 " (declare (in) vec3 coord)\n"
13301 " (declare (in) float bias))\n"
13302 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013303 "(function shadow1DProj\n"
13304 " (signature vec4\n"
13305 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013306 " (declare (in) sampler1DShadow sampler)\n"
13307 " (declare (in) vec4 coord))\n"
13308 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013309 " (signature vec4\n"
13310 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013311 " (declare (in) sampler1DShadow sampler)\n"
13312 " (declare (in) vec4 coord)\n"
13313 " (declare (in) float bias))\n"
13314 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013315 "(function shadow2DProj\n"
13316 " (signature vec4\n"
13317 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013318 " (declare (in) sampler2DShadow sampler)\n"
13319 " (declare (in) vec4 coord))\n"
13320 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013321 " (signature vec4\n"
13322 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013323 " (declare (in) sampler2DShadow sampler)\n"
13324 " (declare (in) vec4 coord)\n"
13325 " (declare (in) float bias))\n"
13326 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013327 "(function shadow1DLod\n"
13328 " (signature vec4\n"
13329 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013330 " (declare (in) sampler1DShadow sampler)\n"
13331 " (declare (in) vec3 coord)\n"
13332 " (declare (in) float lod))\n"
13333 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013334 "(function shadow2DLod\n"
13335 " (signature vec4\n"
13336 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013337 " (declare (in) sampler2DShadow sampler)\n"
13338 " (declare (in) vec3 coord)\n"
13339 " (declare (in) float lod))\n"
13340 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013341 "(function shadow1DProjLod\n"
13342 " (signature vec4\n"
13343 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013344 " (declare (in) sampler1DShadow sampler)\n"
13345 " (declare (in) vec4 coord)\n"
13346 " (declare (in) float lod))\n"
13347 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013348 "(function shadow2DProjLod\n"
13349 " (signature vec4\n"
13350 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013351 " (declare (in) sampler2DShadow sampler)\n"
13352 " (declare (in) vec4 coord)\n"
13353 " (declare (in) float lod))\n"
13354 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013355 "(function dFdx\n"
13356 " (signature float\n"
13357 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013358 " (declare (in) float p))\n"
13359 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013360 " (signature vec2\n"
13361 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013362 " (declare (in) vec2 p))\n"
13363 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013364 " (signature vec3\n"
13365 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013366 " (declare (in) vec3 p))\n"
13367 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013368 " (signature vec4\n"
13369 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013370 " (declare (in) vec4 p))\n"
13371 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013372 "(function dFdy\n"
13373 " (signature float\n"
13374 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013375 " (declare (in) float p))\n"
13376 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013377 " (signature vec2\n"
13378 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013379 " (declare (in) vec2 p))\n"
13380 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013381 " (signature vec3\n"
13382 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013383 " (declare (in) vec3 p))\n"
13384 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013385 " (signature vec4\n"
13386 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013387 " (declare (in) vec4 p))\n"
13388 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013389 "(function fwidth\n"
13390 " (signature float\n"
13391 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013392 " (declare (in) float p))\n"
13393 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013394 " (signature vec2\n"
13395 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013396 " (declare (in) vec2 p))\n"
13397 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013398 " (signature vec3\n"
13399 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013400 " (declare (in) vec3 p))\n"
13401 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013402 " (signature vec4\n"
13403 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013404 " (declare (in) vec4 p))\n"
13405 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013406 "(function noise1\n"
13407 " (signature float\n"
13408 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013409 " (declare (in) float x))\n"
13410 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013411 " (signature float\n"
13412 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013413 " (declare (in) vec2 x))\n"
13414 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013415 " (signature float\n"
13416 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013417 " (declare (in) vec3 x))\n"
13418 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013419 " (signature float\n"
13420 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013421 " (declare (in) vec4 x))\n"
13422 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013423 "(function noise2\n"
13424 " (signature vec2\n"
13425 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013426 " (declare (in) float x))\n"
13427 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013428 " (signature vec2\n"
13429 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013430 " (declare (in) vec2 x))\n"
13431 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013432 " (signature vec2\n"
13433 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013434 " (declare (in) vec3 x))\n"
13435 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013436 " (signature vec2\n"
13437 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013438 " (declare (in) vec4 x))\n"
13439 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013440 "(function noise3\n"
13441 " (signature vec3\n"
13442 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013443 " (declare (in) float x))\n"
13444 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013445 " (signature vec3\n"
13446 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013447 " (declare (in) vec2 x))\n"
13448 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013449 " (signature vec3\n"
13450 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013451 " (declare (in) vec3 x))\n"
13452 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013453 " (signature vec3\n"
13454 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013455 " (declare (in) vec4 x))\n"
13456 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013457 "(function noise4\n"
13458 " (signature vec4\n"
13459 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013460 " (declare (in) float x))\n"
13461 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013462 " (signature vec4\n"
13463 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013464 " (declare (in) vec2 x))\n"
13465 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013466 " (signature vec4\n"
13467 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013468 " (declare (in) vec3 x))\n"
13469 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013470 " (signature vec4\n"
13471 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013472 " (declare (in) vec4 x))\n"
13473 " ())))"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013474;
13475static const char *functions_for_130_frag [] = {
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013476 builtin_abs,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013477 builtin_acos,
Eric Anholt47003a82010-08-23 12:39:35 -070013478 builtin_all,
13479 builtin_any,
13480 builtin_asin,
13481 builtin_atan,
13482 builtin_ceil,
13483 builtin_clamp,
13484 builtin_cos,
13485 builtin_cosh,
13486 builtin_cross,
13487 builtin_dFdx,
13488 builtin_dFdy,
13489 builtin_degrees,
13490 builtin_distance,
13491 builtin_dot,
13492 builtin_equal,
13493 builtin_exp,
13494 builtin_exp2,
13495 builtin_faceforward,
13496 builtin_floor,
13497 builtin_fract,
13498 builtin_fwidth,
13499 builtin_greaterThan,
13500 builtin_greaterThanEqual,
13501 builtin_inversesqrt,
13502 builtin_length,
13503 builtin_lessThan,
13504 builtin_lessThanEqual,
13505 builtin_log,
13506 builtin_log2,
13507 builtin_matrixCompMult,
13508 builtin_max,
13509 builtin_min,
13510 builtin_mix,
13511 builtin_mod,
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013512 builtin_noise1,
13513 builtin_noise2,
13514 builtin_noise3,
Eric Anholt47003a82010-08-23 12:39:35 -070013515 builtin_noise4,
13516 builtin_normalize,
13517 builtin_not,
13518 builtin_notEqual,
13519 builtin_outerProduct,
13520 builtin_pow,
13521 builtin_radians,
13522 builtin_reflect,
13523 builtin_refract,
13524 builtin_shadow1D,
13525 builtin_shadow1DLod,
13526 builtin_shadow1DProj,
13527 builtin_shadow1DProjLod,
13528 builtin_shadow2D,
13529 builtin_shadow2DLod,
13530 builtin_shadow2DProj,
13531 builtin_shadow2DProjLod,
13532 builtin_sign,
13533 builtin_sin,
13534 builtin_sinh,
13535 builtin_smoothstep,
13536 builtin_sqrt,
13537 builtin_step,
13538 builtin_tan,
13539 builtin_tanh,
13540 builtin_texelFetch,
13541 builtin_texture,
13542 builtin_texture1D,
13543 builtin_texture1DLod,
13544 builtin_texture1DProj,
13545 builtin_texture1DProjLod,
13546 builtin_texture2D,
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013547 builtin_texture2DLod,
Eric Anholt47003a82010-08-23 12:39:35 -070013548 builtin_texture2DProj,
13549 builtin_texture2DProjLod,
13550 builtin_texture3D,
13551 builtin_texture3DLod,
13552 builtin_texture3DProj,
13553 builtin_texture3DProjLod,
13554 builtin_textureCube,
13555 builtin_textureCubeLod,
13556 builtin_textureGrad,
13557 builtin_textureLod,
13558 builtin_textureProj,
13559 builtin_textureProjGrad,
13560 builtin_textureProjLod,
13561 builtin_transpose,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070013562};
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013563static const char *prototypes_for_130_vert =
13564 "(\n"
13565 "(function radians\n"
13566 " (signature float\n"
13567 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013568 " (declare (in) float degrees))\n"
13569 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013570 " (signature vec2\n"
13571 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013572 " (declare (in) vec2 degrees))\n"
13573 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013574 " (signature vec3\n"
13575 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013576 " (declare (in) vec3 degrees))\n"
13577 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013578 " (signature vec4\n"
13579 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013580 " (declare (in) vec4 degrees))\n"
13581 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013582 "(function degrees\n"
13583 " (signature float\n"
13584 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013585 " (declare (in) float radians))\n"
13586 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013587 " (signature vec2\n"
13588 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013589 " (declare (in) vec2 radians))\n"
13590 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013591 " (signature vec3\n"
13592 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013593 " (declare (in) vec3 radians))\n"
13594 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013595 " (signature vec4\n"
13596 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013597 " (declare (in) vec4 radians))\n"
13598 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013599 "(function sin\n"
13600 " (signature float\n"
13601 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013602 " (declare (in) float angle))\n"
13603 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013604 " (signature vec2\n"
13605 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013606 " (declare (in) vec2 angle))\n"
13607 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013608 " (signature vec3\n"
13609 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013610 " (declare (in) vec3 angle))\n"
13611 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013612 " (signature vec4\n"
13613 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013614 " (declare (in) vec4 angle))\n"
13615 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013616 "(function cos\n"
13617 " (signature float\n"
13618 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013619 " (declare (in) float angle))\n"
13620 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013621 " (signature vec2\n"
13622 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013623 " (declare (in) vec2 angle))\n"
13624 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013625 " (signature vec3\n"
13626 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013627 " (declare (in) vec3 angle))\n"
13628 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013629 " (signature vec4\n"
13630 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013631 " (declare (in) vec4 angle))\n"
13632 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013633 "(function tan\n"
13634 " (signature float\n"
13635 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013636 " (declare (in) float angle))\n"
13637 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013638 " (signature vec2\n"
13639 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013640 " (declare (in) vec2 angle))\n"
13641 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013642 " (signature vec3\n"
13643 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013644 " (declare (in) vec3 angle))\n"
13645 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013646 " (signature vec4\n"
13647 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013648 " (declare (in) vec4 angle))\n"
13649 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013650 "(function asin\n"
13651 " (signature float\n"
13652 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013653 " (declare (in) float angle))\n"
13654 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013655 " (signature vec2\n"
13656 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013657 " (declare (in) vec2 angle))\n"
13658 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013659 " (signature vec3\n"
13660 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013661 " (declare (in) vec3 angle))\n"
13662 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013663 " (signature vec4\n"
13664 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013665 " (declare (in) vec4 angle))\n"
13666 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013667 "(function acos\n"
13668 " (signature float\n"
13669 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013670 " (declare (in) float angle))\n"
13671 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013672 " (signature vec2\n"
13673 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013674 " (declare (in) vec2 angle))\n"
13675 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013676 " (signature vec3\n"
13677 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013678 " (declare (in) vec3 angle))\n"
13679 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013680 " (signature vec4\n"
13681 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013682 " (declare (in) vec4 angle))\n"
13683 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013684 "(function atan\n"
13685 " (signature float\n"
13686 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013687 " (declare (in) float y)\n"
13688 " (declare (in) float x))\n"
13689 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013690 " (signature vec2\n"
13691 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013692 " (declare (in) vec2 y)\n"
13693 " (declare (in) vec2 x))\n"
13694 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013695 " (signature vec3\n"
13696 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013697 " (declare (in) vec3 y)\n"
13698 " (declare (in) vec3 x))\n"
13699 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013700 " (signature vec4\n"
13701 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013702 " (declare (in) vec4 y)\n"
13703 " (declare (in) vec4 x))\n"
13704 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013705 " (signature float\n"
13706 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013707 " (declare (in) float y_over_x))\n"
13708 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013709 " (signature vec2\n"
13710 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013711 " (declare (in) vec2 y_over_x))\n"
13712 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013713 " (signature vec3\n"
13714 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013715 " (declare (in) vec3 y_over_x))\n"
13716 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013717 " (signature vec4\n"
13718 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013719 " (declare (in) vec4 y_over_x))\n"
13720 " ()))\n"
13721 "(function sinh\n"
13722 " (signature float\n"
13723 " (parameters\n"
13724 " (declare (in) float x))\n"
13725 " ())\n"
13726 " (signature vec2\n"
13727 " (parameters\n"
13728 " (declare (in) vec2 x))\n"
13729 " ())\n"
13730 " (signature vec3\n"
13731 " (parameters\n"
13732 " (declare (in) vec3 x))\n"
13733 " ())\n"
13734 " (signature vec4\n"
13735 " (parameters\n"
13736 " (declare (in) vec4 x))\n"
13737 " ()))\n"
13738 "(function cosh\n"
13739 " (signature float\n"
13740 " (parameters\n"
13741 " (declare (in) float x))\n"
13742 " ())\n"
13743 " (signature vec2\n"
13744 " (parameters\n"
13745 " (declare (in) vec2 x))\n"
13746 " ())\n"
13747 " (signature vec3\n"
13748 " (parameters\n"
13749 " (declare (in) vec3 x))\n"
13750 " ())\n"
13751 " (signature vec4\n"
13752 " (parameters\n"
13753 " (declare (in) vec4 x))\n"
13754 " ()))\n"
13755 "(function tanh\n"
13756 " (signature float\n"
13757 " (parameters\n"
13758 " (declare (in) float x))\n"
13759 " ())\n"
13760 " (signature vec2\n"
13761 " (parameters\n"
13762 " (declare (in) vec2 x))\n"
13763 " ())\n"
13764 " (signature vec3\n"
13765 " (parameters\n"
13766 " (declare (in) vec3 x))\n"
13767 " ())\n"
13768 " (signature vec4\n"
13769 " (parameters\n"
13770 " (declare (in) vec4 x))\n"
13771 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013772 "(function pow\n"
13773 " (signature float\n"
13774 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013775 " (declare (in) float x)\n"
13776 " (declare (in) float y))\n"
13777 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013778 " (signature vec2\n"
13779 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013780 " (declare (in) vec2 x)\n"
13781 " (declare (in) vec2 y))\n"
13782 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013783 " (signature vec3\n"
13784 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013785 " (declare (in) vec3 x)\n"
13786 " (declare (in) vec3 y))\n"
13787 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013788 " (signature vec4\n"
13789 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013790 " (declare (in) vec4 x)\n"
13791 " (declare (in) vec4 y))\n"
13792 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013793 "(function exp\n"
13794 " (signature float\n"
13795 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013796 " (declare (in) float x))\n"
13797 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013798 " (signature vec2\n"
13799 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013800 " (declare (in) vec2 x))\n"
13801 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013802 " (signature vec3\n"
13803 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013804 " (declare (in) vec3 x))\n"
13805 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013806 " (signature vec4\n"
13807 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013808 " (declare (in) vec4 x))\n"
13809 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013810 "(function log\n"
13811 " (signature float\n"
13812 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013813 " (declare (in) float x))\n"
13814 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013815 " (signature vec2\n"
13816 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013817 " (declare (in) vec2 x))\n"
13818 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013819 " (signature vec3\n"
13820 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013821 " (declare (in) vec3 x))\n"
13822 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013823 " (signature vec4\n"
13824 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013825 " (declare (in) vec4 x))\n"
13826 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013827 "(function exp2\n"
13828 " (signature float\n"
13829 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013830 " (declare (in) float x))\n"
13831 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013832 " (signature vec2\n"
13833 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013834 " (declare (in) vec2 x))\n"
13835 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013836 " (signature vec3\n"
13837 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013838 " (declare (in) vec3 x))\n"
13839 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013840 " (signature vec4\n"
13841 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013842 " (declare (in) vec4 x))\n"
13843 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013844 "(function log2\n"
13845 " (signature float\n"
13846 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013847 " (declare (in) float x))\n"
13848 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013849 " (signature vec2\n"
13850 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013851 " (declare (in) vec2 x))\n"
13852 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013853 " (signature vec3\n"
13854 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013855 " (declare (in) vec3 x))\n"
13856 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013857 " (signature vec4\n"
13858 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013859 " (declare (in) vec4 x))\n"
13860 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013861 "(function sqrt\n"
13862 " (signature float\n"
13863 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013864 " (declare (in) float x))\n"
13865 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013866 " (signature vec2\n"
13867 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013868 " (declare (in) vec2 x))\n"
13869 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013870 " (signature vec3\n"
13871 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013872 " (declare (in) vec3 x))\n"
13873 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013874 " (signature vec4\n"
13875 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013876 " (declare (in) vec4 x))\n"
13877 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013878 "(function inversesqrt\n"
13879 " (signature float\n"
13880 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013881 " (declare (in) float x))\n"
13882 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013883 " (signature vec2\n"
13884 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013885 " (declare (in) vec2 x))\n"
13886 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013887 " (signature vec3\n"
13888 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013889 " (declare (in) vec3 x))\n"
13890 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013891 " (signature vec4\n"
13892 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013893 " (declare (in) vec4 x))\n"
13894 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013895 "(function abs\n"
13896 " (signature float\n"
13897 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013898 " (declare (in) float x))\n"
13899 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013900 " (signature vec2\n"
13901 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013902 " (declare (in) vec2 x))\n"
13903 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013904 " (signature vec3\n"
13905 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013906 " (declare (in) vec3 x))\n"
13907 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013908 " (signature vec4\n"
13909 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013910 " (declare (in) vec4 x))\n"
13911 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013912 " (signature int\n"
13913 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013914 " (declare (in) int x))\n"
13915 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013916 " (signature ivec2\n"
13917 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013918 " (declare (in) ivec2 x))\n"
13919 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013920 " (signature ivec3\n"
13921 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013922 " (declare (in) ivec3 x))\n"
13923 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013924 " (signature ivec4\n"
13925 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013926 " (declare (in) ivec4 x))\n"
13927 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013928 "(function sign\n"
13929 " (signature float\n"
13930 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013931 " (declare (in) float x))\n"
13932 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013933 " (signature vec2\n"
13934 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013935 " (declare (in) vec2 x))\n"
13936 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013937 " (signature vec3\n"
13938 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013939 " (declare (in) vec3 x))\n"
13940 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013941 " (signature vec4\n"
13942 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013943 " (declare (in) vec4 x))\n"
13944 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013945 " (signature int\n"
13946 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013947 " (declare (in) int x))\n"
13948 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013949 " (signature ivec2\n"
13950 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013951 " (declare (in) ivec2 x))\n"
13952 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013953 " (signature ivec3\n"
13954 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013955 " (declare (in) ivec3 x))\n"
13956 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013957 " (signature ivec4\n"
13958 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013959 " (declare (in) ivec4 x))\n"
13960 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013961 "(function floor\n"
13962 " (signature float\n"
13963 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013964 " (declare (in) float x))\n"
13965 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013966 " (signature vec2\n"
13967 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013968 " (declare (in) vec2 x))\n"
13969 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013970 " (signature vec3\n"
13971 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013972 " (declare (in) vec3 x))\n"
13973 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013974 " (signature vec4\n"
13975 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013976 " (declare (in) vec4 x))\n"
13977 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013978 "(function ceil\n"
13979 " (signature float\n"
13980 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013981 " (declare (in) float x))\n"
13982 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013983 " (signature vec2\n"
13984 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013985 " (declare (in) vec2 x))\n"
13986 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013987 " (signature vec3\n"
13988 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013989 " (declare (in) vec3 x))\n"
13990 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013991 " (signature vec4\n"
13992 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013993 " (declare (in) vec4 x))\n"
13994 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013995 "(function fract\n"
13996 " (signature float\n"
13997 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013998 " (declare (in) float x))\n"
13999 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014000 " (signature vec2\n"
14001 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014002 " (declare (in) vec2 x))\n"
14003 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014004 " (signature vec3\n"
14005 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014006 " (declare (in) vec3 x))\n"
14007 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014008 " (signature vec4\n"
14009 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014010 " (declare (in) vec4 x))\n"
14011 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014012 "(function mod\n"
14013 " (signature float\n"
14014 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014015 " (declare (in) float x)\n"
14016 " (declare (in) float y))\n"
14017 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014018 " (signature vec2\n"
14019 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014020 " (declare (in) vec2 x)\n"
14021 " (declare (in) float y))\n"
14022 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014023 " (signature vec3\n"
14024 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014025 " (declare (in) vec3 x)\n"
14026 " (declare (in) float y))\n"
14027 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014028 " (signature vec4\n"
14029 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014030 " (declare (in) vec4 x)\n"
14031 " (declare (in) float y))\n"
14032 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014033 " (signature vec2\n"
14034 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014035 " (declare (in) vec2 x)\n"
14036 " (declare (in) vec2 y))\n"
14037 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014038 " (signature vec3\n"
14039 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014040 " (declare (in) vec3 x)\n"
14041 " (declare (in) vec3 y))\n"
14042 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014043 " (signature vec4\n"
14044 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014045 " (declare (in) vec4 x)\n"
14046 " (declare (in) vec4 y))\n"
14047 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014048 "(function min\n"
14049 " (signature float\n"
14050 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014051 " (declare (in) float x)\n"
14052 " (declare (in) float y))\n"
14053 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014054 " (signature vec2\n"
14055 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014056 " (declare (in) vec2 x)\n"
14057 " (declare (in) vec2 y))\n"
14058 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014059 " (signature vec3\n"
14060 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014061 " (declare (in) vec3 x)\n"
14062 " (declare (in) vec3 y))\n"
14063 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014064 " (signature vec4\n"
14065 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014066 " (declare (in) vec4 x)\n"
14067 " (declare (in) vec4 y))\n"
14068 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014069 " (signature vec2\n"
14070 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014071 " (declare (in) vec2 x)\n"
14072 " (declare (in) float y))\n"
14073 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014074 " (signature vec3\n"
14075 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014076 " (declare (in) vec3 x)\n"
14077 " (declare (in) float y))\n"
14078 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014079 " (signature vec4\n"
14080 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014081 " (declare (in) vec4 x)\n"
14082 " (declare (in) float y))\n"
14083 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014084 " (signature int\n"
14085 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014086 " (declare (in) int x)\n"
14087 " (declare (in) int y))\n"
14088 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014089 " (signature ivec2\n"
14090 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014091 " (declare (in) ivec2 x)\n"
14092 " (declare (in) ivec2 y))\n"
14093 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014094 " (signature ivec3\n"
14095 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014096 " (declare (in) ivec3 x)\n"
14097 " (declare (in) ivec3 y))\n"
14098 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014099 " (signature ivec4\n"
14100 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014101 " (declare (in) ivec4 x)\n"
14102 " (declare (in) ivec4 y))\n"
14103 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014104 " (signature ivec2\n"
14105 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014106 " (declare (in) ivec2 x)\n"
14107 " (declare (in) int y))\n"
14108 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014109 " (signature ivec3\n"
14110 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014111 " (declare (in) ivec3 x)\n"
14112 " (declare (in) int y))\n"
14113 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014114 " (signature ivec4\n"
14115 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014116 " (declare (in) ivec4 x)\n"
14117 " (declare (in) int y))\n"
14118 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014119 " (signature uint\n"
14120 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014121 " (declare (in) uint x)\n"
14122 " (declare (in) uint y))\n"
14123 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014124 " (signature uvec2\n"
14125 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014126 " (declare (in) uvec2 x)\n"
14127 " (declare (in) uvec2 y))\n"
14128 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014129 " (signature uvec3\n"
14130 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014131 " (declare (in) uvec3 x)\n"
14132 " (declare (in) uvec3 y))\n"
14133 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014134 " (signature uvec4\n"
14135 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014136 " (declare (in) uvec4 x)\n"
14137 " (declare (in) uvec4 y))\n"
14138 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014139 " (signature uvec2\n"
14140 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014141 " (declare (in) uvec2 x)\n"
14142 " (declare (in) uint y))\n"
14143 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014144 " (signature uvec3\n"
14145 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014146 " (declare (in) uvec3 x)\n"
14147 " (declare (in) uint y))\n"
14148 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014149 " (signature uvec4\n"
14150 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014151 " (declare (in) uvec4 x)\n"
14152 " (declare (in) uint y))\n"
14153 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014154 "(function max\n"
14155 " (signature float\n"
14156 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014157 " (declare (in) float x)\n"
14158 " (declare (in) float y))\n"
14159 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014160 " (signature vec2\n"
14161 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014162 " (declare (in) vec2 x)\n"
14163 " (declare (in) vec2 y))\n"
14164 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014165 " (signature vec3\n"
14166 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014167 " (declare (in) vec3 x)\n"
14168 " (declare (in) vec3 y))\n"
14169 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014170 " (signature vec4\n"
14171 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014172 " (declare (in) vec4 x)\n"
14173 " (declare (in) vec4 y))\n"
14174 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014175 " (signature vec2\n"
14176 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014177 " (declare (in) vec2 x)\n"
14178 " (declare (in) float y))\n"
14179 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014180 " (signature vec3\n"
14181 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014182 " (declare (in) vec3 x)\n"
14183 " (declare (in) float y))\n"
14184 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014185 " (signature vec4\n"
14186 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014187 " (declare (in) vec4 x)\n"
14188 " (declare (in) float y))\n"
14189 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014190 " (signature int\n"
14191 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014192 " (declare (in) int x)\n"
14193 " (declare (in) int y))\n"
14194 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014195 " (signature ivec2\n"
14196 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014197 " (declare (in) ivec2 x)\n"
14198 " (declare (in) ivec2 y))\n"
14199 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014200 " (signature ivec3\n"
14201 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014202 " (declare (in) ivec3 x)\n"
14203 " (declare (in) ivec3 y))\n"
14204 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014205 " (signature ivec4\n"
14206 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014207 " (declare (in) ivec4 x)\n"
14208 " (declare (in) ivec4 y))\n"
14209 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014210 " (signature ivec2\n"
14211 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014212 " (declare (in) ivec2 x)\n"
14213 " (declare (in) int y))\n"
14214 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014215 " (signature ivec3\n"
14216 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014217 " (declare (in) ivec3 x)\n"
14218 " (declare (in) int y))\n"
14219 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014220 " (signature ivec4\n"
14221 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014222 " (declare (in) ivec4 x)\n"
14223 " (declare (in) int y))\n"
14224 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014225 " (signature uint\n"
14226 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014227 " (declare (in) uint x)\n"
14228 " (declare (in) uint y))\n"
14229 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014230 " (signature uvec2\n"
14231 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014232 " (declare (in) uvec2 x)\n"
14233 " (declare (in) uvec2 y))\n"
14234 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014235 " (signature uvec3\n"
14236 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014237 " (declare (in) uvec3 x)\n"
14238 " (declare (in) uvec3 y))\n"
14239 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014240 " (signature uvec4\n"
14241 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014242 " (declare (in) uvec4 x)\n"
14243 " (declare (in) uvec4 y))\n"
14244 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014245 " (signature uvec2\n"
14246 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014247 " (declare (in) uvec2 x)\n"
14248 " (declare (in) uint y))\n"
14249 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014250 " (signature uvec3\n"
14251 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014252 " (declare (in) uvec3 x)\n"
14253 " (declare (in) uint y))\n"
14254 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014255 " (signature uvec4\n"
14256 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014257 " (declare (in) uvec4 x)\n"
14258 " (declare (in) uint y))\n"
14259 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014260 "(function clamp\n"
14261 " (signature float\n"
14262 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014263 " (declare (in) float x)\n"
14264 " (declare (in) float minVal)\n"
14265 " (declare (in) float maxVal))\n"
14266 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014267 " (signature vec2\n"
14268 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014269 " (declare (in) vec2 x)\n"
14270 " (declare (in) vec2 minVal)\n"
14271 " (declare (in) vec2 maxVal))\n"
14272 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014273 " (signature vec3\n"
14274 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014275 " (declare (in) vec3 x)\n"
14276 " (declare (in) vec3 minVal)\n"
14277 " (declare (in) vec3 maxVal))\n"
14278 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014279 " (signature vec4\n"
14280 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014281 " (declare (in) vec4 x)\n"
14282 " (declare (in) vec4 minVal)\n"
14283 " (declare (in) vec4 maxVal))\n"
14284 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014285 " (signature vec2\n"
14286 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014287 " (declare (in) vec2 x)\n"
14288 " (declare (in) float minVal)\n"
14289 " (declare (in) float maxVal))\n"
14290 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014291 " (signature vec3\n"
14292 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014293 " (declare (in) vec3 x)\n"
14294 " (declare (in) float minVal)\n"
14295 " (declare (in) float maxVal))\n"
14296 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014297 " (signature vec4\n"
14298 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014299 " (declare (in) vec4 x)\n"
14300 " (declare (in) float minVal)\n"
14301 " (declare (in) float maxVal))\n"
14302 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014303 " (signature int\n"
14304 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014305 " (declare (in) int x)\n"
14306 " (declare (in) int minVal)\n"
14307 " (declare (in) int maxVal))\n"
14308 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014309 " (signature ivec2\n"
14310 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014311 " (declare (in) ivec2 x)\n"
14312 " (declare (in) ivec2 minVal)\n"
14313 " (declare (in) ivec2 maxVal))\n"
14314 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014315 " (signature ivec3\n"
14316 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014317 " (declare (in) ivec3 x)\n"
14318 " (declare (in) ivec3 minVal)\n"
14319 " (declare (in) ivec3 maxVal))\n"
14320 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014321 " (signature ivec4\n"
14322 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014323 " (declare (in) ivec4 x)\n"
14324 " (declare (in) ivec4 minVal)\n"
14325 " (declare (in) ivec4 maxVal))\n"
14326 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014327 " (signature ivec2\n"
14328 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014329 " (declare (in) ivec2 x)\n"
14330 " (declare (in) int minVal)\n"
14331 " (declare (in) int maxVal))\n"
14332 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014333 " (signature ivec3\n"
14334 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014335 " (declare (in) ivec3 x)\n"
14336 " (declare (in) int minVal)\n"
14337 " (declare (in) int maxVal))\n"
14338 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014339 " (signature ivec4\n"
14340 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014341 " (declare (in) ivec4 x)\n"
14342 " (declare (in) int minVal)\n"
14343 " (declare (in) int maxVal))\n"
14344 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014345 " (signature uint\n"
14346 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014347 " (declare (in) uint x)\n"
14348 " (declare (in) uint minVal)\n"
14349 " (declare (in) uint maxVal))\n"
14350 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014351 " (signature uvec2\n"
14352 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014353 " (declare (in) uvec2 x)\n"
14354 " (declare (in) uvec2 minVal)\n"
14355 " (declare (in) uvec2 maxVal))\n"
14356 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014357 " (signature uvec3\n"
14358 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014359 " (declare (in) uvec3 x)\n"
14360 " (declare (in) uvec3 minVal)\n"
14361 " (declare (in) uvec3 maxVal))\n"
14362 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014363 " (signature uvec4\n"
14364 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014365 " (declare (in) uvec4 x)\n"
14366 " (declare (in) uvec4 minVal)\n"
14367 " (declare (in) uvec4 maxVal))\n"
14368 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014369 " (signature uvec2\n"
14370 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014371 " (declare (in) uvec2 x)\n"
14372 " (declare (in) uint minVal)\n"
14373 " (declare (in) uint maxVal))\n"
14374 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014375 " (signature uvec3\n"
14376 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014377 " (declare (in) uvec3 x)\n"
14378 " (declare (in) uint minVal)\n"
14379 " (declare (in) uint maxVal))\n"
14380 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014381 " (signature uvec4\n"
14382 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014383 " (declare (in) uvec4 x)\n"
14384 " (declare (in) uint minVal)\n"
14385 " (declare (in) uint maxVal))\n"
14386 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014387 "(function mix\n"
14388 " (signature float\n"
14389 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014390 " (declare (in) float x)\n"
14391 " (declare (in) float y)\n"
14392 " (declare (in) float a))\n"
14393 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014394 " (signature vec2\n"
14395 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014396 " (declare (in) vec2 x)\n"
14397 " (declare (in) vec2 y)\n"
14398 " (declare (in) vec2 a))\n"
14399 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014400 " (signature vec3\n"
14401 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014402 " (declare (in) vec3 x)\n"
14403 " (declare (in) vec3 y)\n"
14404 " (declare (in) vec3 a))\n"
14405 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014406 " (signature vec4\n"
14407 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014408 " (declare (in) vec4 x)\n"
14409 " (declare (in) vec4 y)\n"
14410 " (declare (in) vec4 a))\n"
14411 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014412 " (signature vec2\n"
14413 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014414 " (declare (in) vec2 x)\n"
14415 " (declare (in) vec2 y)\n"
14416 " (declare (in) float a))\n"
14417 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014418 " (signature vec3\n"
14419 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014420 " (declare (in) vec3 x)\n"
14421 " (declare (in) vec3 y)\n"
14422 " (declare (in) float a))\n"
14423 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014424 " (signature vec4\n"
14425 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014426 " (declare (in) vec4 x)\n"
14427 " (declare (in) vec4 y)\n"
14428 " (declare (in) float a))\n"
14429 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014430 "(function step\n"
14431 " (signature float\n"
14432 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014433 " (declare (in) float edge)\n"
14434 " (declare (in) float x))\n"
14435 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014436 " (signature vec2\n"
14437 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014438 " (declare (in) vec2 edge)\n"
14439 " (declare (in) vec2 x))\n"
14440 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014441 " (signature vec3\n"
14442 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014443 " (declare (in) vec3 edge)\n"
14444 " (declare (in) vec3 x))\n"
14445 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014446 " (signature vec4\n"
14447 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014448 " (declare (in) vec4 edge)\n"
14449 " (declare (in) vec4 x))\n"
14450 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014451 " (signature vec2\n"
14452 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014453 " (declare (in) float edge)\n"
14454 " (declare (in) vec2 x))\n"
14455 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014456 " (signature vec3\n"
14457 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014458 " (declare (in) float edge)\n"
14459 " (declare (in) vec3 x))\n"
14460 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014461 " (signature vec4\n"
14462 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014463 " (declare (in) float edge)\n"
14464 " (declare (in) vec4 x))\n"
14465 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014466 "(function smoothstep\n"
14467 " (signature float\n"
14468 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014469 " (declare (in) float edge0)\n"
14470 " (declare (in) float edge1)\n"
14471 " (declare (in) float x))\n"
14472 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014473 " (signature vec2\n"
14474 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014475 " (declare (in) vec2 edge0)\n"
14476 " (declare (in) vec2 edge1)\n"
14477 " (declare (in) vec2 x))\n"
14478 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014479 " (signature vec3\n"
14480 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014481 " (declare (in) vec3 edge0)\n"
14482 " (declare (in) vec3 edge1)\n"
14483 " (declare (in) vec3 x))\n"
14484 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014485 " (signature vec4\n"
14486 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014487 " (declare (in) vec4 edge0)\n"
14488 " (declare (in) vec4 edge1)\n"
14489 " (declare (in) vec4 x))\n"
14490 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014491 " (signature vec2\n"
14492 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014493 " (declare (in) float edge0)\n"
14494 " (declare (in) float edge1)\n"
14495 " (declare (in) vec2 x))\n"
14496 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014497 " (signature vec3\n"
14498 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014499 " (declare (in) float edge0)\n"
14500 " (declare (in) float edge1)\n"
14501 " (declare (in) vec3 x))\n"
14502 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014503 " (signature vec4\n"
14504 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014505 " (declare (in) float edge0)\n"
14506 " (declare (in) float edge1)\n"
14507 " (declare (in) vec4 x))\n"
14508 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014509 "(function length\n"
14510 " (signature float\n"
14511 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014512 " (declare (in) float x))\n"
14513 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014514 " (signature float\n"
14515 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014516 " (declare (in) vec2 x))\n"
14517 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014518 " (signature float\n"
14519 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014520 " (declare (in) vec3 x))\n"
14521 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014522 " (signature float\n"
14523 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014524 " (declare (in) vec4 x))\n"
14525 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014526 "(function distance\n"
14527 " (signature float\n"
14528 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014529 " (declare (in) float p0)\n"
14530 " (declare (in) float p1))\n"
14531 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014532 " (signature float\n"
14533 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014534 " (declare (in) vec2 p0)\n"
14535 " (declare (in) vec2 p1))\n"
14536 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014537 " (signature float\n"
14538 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014539 " (declare (in) vec3 p0)\n"
14540 " (declare (in) vec3 p1))\n"
14541 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014542 " (signature float\n"
14543 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014544 " (declare (in) vec4 p0)\n"
14545 " (declare (in) vec4 p1))\n"
14546 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014547 "(function dot\n"
14548 " (signature float\n"
14549 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014550 " (declare (in) float x)\n"
14551 " (declare (in) float y))\n"
14552 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014553 " (signature float\n"
14554 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014555 " (declare (in) vec2 x)\n"
14556 " (declare (in) vec2 y))\n"
14557 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014558 " (signature float\n"
14559 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014560 " (declare (in) vec3 x)\n"
14561 " (declare (in) vec3 y))\n"
14562 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014563 " (signature float\n"
14564 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014565 " (declare (in) vec4 x)\n"
14566 " (declare (in) vec4 y))\n"
14567 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014568 "(function cross\n"
14569 " (signature vec3\n"
14570 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014571 " (declare (in) vec3 x)\n"
14572 " (declare (in) vec3 y))\n"
14573 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014574 "(function normalize\n"
14575 " (signature float\n"
14576 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014577 " (declare (in) float x))\n"
14578 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014579 " (signature vec2\n"
14580 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014581 " (declare (in) vec2 x))\n"
14582 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014583 " (signature vec3\n"
14584 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014585 " (declare (in) vec3 x))\n"
14586 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014587 " (signature vec4\n"
14588 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014589 " (declare (in) vec4 x))\n"
14590 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014591 "(function ftransform\n"
14592 " (signature vec4\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014593 " (parameters)\n"
14594 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014595 "(function faceforward\n"
14596 " (signature float\n"
14597 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014598 " (declare (in) float N)\n"
14599 " (declare (in) float I)\n"
14600 " (declare (in) float Nref))\n"
14601 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014602 " (signature vec2\n"
14603 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014604 " (declare (in) vec2 N)\n"
14605 " (declare (in) vec2 I)\n"
14606 " (declare (in) vec2 Nref))\n"
14607 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014608 " (signature vec3\n"
14609 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014610 " (declare (in) vec3 N)\n"
14611 " (declare (in) vec3 I)\n"
14612 " (declare (in) vec3 Nref))\n"
14613 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014614 " (signature vec4\n"
14615 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014616 " (declare (in) vec4 N)\n"
14617 " (declare (in) vec4 I)\n"
14618 " (declare (in) vec4 Nref))\n"
14619 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014620 "(function reflect\n"
14621 " (signature float\n"
14622 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014623 " (declare (in) float I)\n"
14624 " (declare (in) float N))\n"
14625 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014626 " (signature vec2\n"
14627 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014628 " (declare (in) vec2 I)\n"
14629 " (declare (in) vec2 N))\n"
14630 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014631 " (signature vec3\n"
14632 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014633 " (declare (in) vec3 I)\n"
14634 " (declare (in) vec3 N))\n"
14635 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014636 " (signature vec4\n"
14637 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014638 " (declare (in) vec4 I)\n"
14639 " (declare (in) vec4 N))\n"
14640 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014641 "(function refract\n"
14642 " (signature float\n"
14643 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014644 " (declare (in) float I)\n"
14645 " (declare (in) float N)\n"
14646 " (declare (in) float eta))\n"
14647 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014648 " (signature vec2\n"
14649 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014650 " (declare (in) vec2 I)\n"
14651 " (declare (in) vec2 N)\n"
14652 " (declare (in) float eta))\n"
14653 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014654 " (signature vec3\n"
14655 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014656 " (declare (in) vec3 I)\n"
14657 " (declare (in) vec3 N)\n"
14658 " (declare (in) float eta))\n"
14659 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014660 " (signature vec4\n"
14661 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014662 " (declare (in) vec4 I)\n"
14663 " (declare (in) vec4 N)\n"
14664 " (declare (in) float eta))\n"
14665 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014666 "(function matrixCompMult\n"
14667 " (signature mat2\n"
14668 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014669 " (declare (in) mat2 x)\n"
14670 " (declare (in) mat2 y))\n"
14671 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014672 " (signature mat3\n"
14673 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014674 " (declare (in) mat3 x)\n"
14675 " (declare (in) mat3 y))\n"
14676 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014677 " (signature mat4\n"
14678 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014679 " (declare (in) mat4 x)\n"
14680 " (declare (in) mat4 y))\n"
14681 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014682 " (signature mat2x3\n"
14683 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014684 " (declare (in) mat2x3 x)\n"
14685 " (declare (in) mat2x3 y))\n"
14686 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014687 " (signature mat2x4\n"
14688 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014689 " (declare (in) mat2x4 x)\n"
14690 " (declare (in) mat2x4 y))\n"
14691 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014692 " (signature mat3x2\n"
14693 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014694 " (declare (in) mat3x2 x)\n"
14695 " (declare (in) mat3x2 y))\n"
14696 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014697 " (signature mat3x4\n"
14698 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014699 " (declare (in) mat3x4 x)\n"
14700 " (declare (in) mat3x4 y))\n"
14701 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014702 " (signature mat4x2\n"
14703 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014704 " (declare (in) mat4x2 x)\n"
14705 " (declare (in) mat4x2 y))\n"
14706 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014707 " (signature mat4x3\n"
14708 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014709 " (declare (in) mat4x3 x)\n"
14710 " (declare (in) mat4x3 y))\n"
14711 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014712 "(function outerProduct\n"
14713 " (signature mat2\n"
14714 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014715 " (declare (in) vec2 c)\n"
14716 " (declare (in) vec2 r))\n"
14717 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014718 " (signature mat3\n"
14719 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014720 " (declare (in) vec3 c)\n"
14721 " (declare (in) vec3 r))\n"
14722 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014723 " (signature mat4\n"
14724 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014725 " (declare (in) vec4 c)\n"
14726 " (declare (in) vec4 r))\n"
14727 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014728 " (signature mat2x3\n"
14729 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014730 " (declare (in) vec3 c)\n"
14731 " (declare (in) vec2 r))\n"
14732 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014733 " (signature mat3x2\n"
14734 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014735 " (declare (in) vec2 c)\n"
14736 " (declare (in) vec3 r))\n"
14737 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014738 " (signature mat2x4\n"
14739 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014740 " (declare (in) vec4 c)\n"
14741 " (declare (in) vec2 r))\n"
14742 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014743 " (signature mat4x2\n"
14744 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014745 " (declare (in) vec2 c)\n"
14746 " (declare (in) vec4 r))\n"
14747 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014748 " (signature mat3x4\n"
14749 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014750 " (declare (in) vec4 c)\n"
14751 " (declare (in) vec3 r))\n"
14752 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014753 " (signature mat4x3\n"
14754 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014755 " (declare (in) vec3 c)\n"
14756 " (declare (in) vec4 r))\n"
14757 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014758 "(function transpose\n"
14759 " (signature mat2\n"
14760 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014761 " (declare (in) mat2 m))\n"
14762 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014763 " (signature mat3\n"
14764 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014765 " (declare (in) mat3 m))\n"
14766 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014767 " (signature mat4\n"
14768 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014769 " (declare (in) mat4 m))\n"
14770 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014771 " (signature mat2x3\n"
14772 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014773 " (declare (in) mat3x2 m))\n"
14774 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014775 " (signature mat3x2\n"
14776 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014777 " (declare (in) mat2x3 m))\n"
14778 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014779 " (signature mat2x4\n"
14780 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014781 " (declare (in) mat4x2 m))\n"
14782 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014783 " (signature mat4x2\n"
14784 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014785 " (declare (in) mat2x4 m))\n"
14786 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014787 " (signature mat3x4\n"
14788 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014789 " (declare (in) mat4x3 m))\n"
14790 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014791 " (signature mat4x3\n"
14792 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014793 " (declare (in) mat3x4 m))\n"
14794 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014795 "(function lessThan\n"
14796 " (signature bvec2\n"
14797 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014798 " (declare (in) vec2 x)\n"
14799 " (declare (in) vec2 y))\n"
14800 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014801 " (signature bvec3\n"
14802 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014803 " (declare (in) vec3 x)\n"
14804 " (declare (in) vec3 y))\n"
14805 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014806 " (signature bvec4\n"
14807 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014808 " (declare (in) vec4 x)\n"
14809 " (declare (in) vec4 y))\n"
14810 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014811 " (signature bvec2\n"
14812 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014813 " (declare (in) ivec2 x)\n"
14814 " (declare (in) ivec2 y))\n"
14815 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014816 " (signature bvec3\n"
14817 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014818 " (declare (in) ivec3 x)\n"
14819 " (declare (in) ivec3 y))\n"
14820 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014821 " (signature bvec4\n"
14822 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014823 " (declare (in) ivec4 x)\n"
14824 " (declare (in) ivec4 y))\n"
14825 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014826 " (signature bvec2\n"
14827 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014828 " (declare (in) uvec2 x)\n"
14829 " (declare (in) uvec2 y))\n"
14830 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014831 " (signature bvec3\n"
14832 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014833 " (declare (in) uvec3 x)\n"
14834 " (declare (in) uvec3 y))\n"
14835 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014836 " (signature bvec4\n"
14837 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014838 " (declare (in) uvec4 x)\n"
14839 " (declare (in) uvec4 y))\n"
14840 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014841 "(function lessThanEqual\n"
14842 " (signature bvec2\n"
14843 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014844 " (declare (in) vec2 x)\n"
14845 " (declare (in) vec2 y))\n"
14846 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014847 " (signature bvec3\n"
14848 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014849 " (declare (in) vec3 x)\n"
14850 " (declare (in) vec3 y))\n"
14851 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014852 " (signature bvec4\n"
14853 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014854 " (declare (in) vec4 x)\n"
14855 " (declare (in) vec4 y))\n"
14856 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014857 " (signature bvec2\n"
14858 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014859 " (declare (in) ivec2 x)\n"
14860 " (declare (in) ivec2 y))\n"
14861 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014862 " (signature bvec3\n"
14863 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014864 " (declare (in) ivec3 x)\n"
14865 " (declare (in) ivec3 y))\n"
14866 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014867 " (signature bvec4\n"
14868 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014869 " (declare (in) ivec4 x)\n"
14870 " (declare (in) ivec4 y))\n"
14871 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014872 " (signature bvec2\n"
14873 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014874 " (declare (in) uvec2 x)\n"
14875 " (declare (in) uvec2 y))\n"
14876 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014877 " (signature bvec3\n"
14878 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014879 " (declare (in) uvec3 x)\n"
14880 " (declare (in) uvec3 y))\n"
14881 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014882 " (signature bvec4\n"
14883 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014884 " (declare (in) uvec4 x)\n"
14885 " (declare (in) uvec4 y))\n"
14886 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014887 "(function greaterThan\n"
14888 " (signature bvec2\n"
14889 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014890 " (declare (in) vec2 x)\n"
14891 " (declare (in) vec2 y))\n"
14892 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014893 " (signature bvec3\n"
14894 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014895 " (declare (in) vec3 x)\n"
14896 " (declare (in) vec3 y))\n"
14897 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014898 " (signature bvec4\n"
14899 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014900 " (declare (in) vec4 x)\n"
14901 " (declare (in) vec4 y))\n"
14902 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014903 " (signature bvec2\n"
14904 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014905 " (declare (in) ivec2 x)\n"
14906 " (declare (in) ivec2 y))\n"
14907 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014908 " (signature bvec3\n"
14909 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014910 " (declare (in) ivec3 x)\n"
14911 " (declare (in) ivec3 y))\n"
14912 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014913 " (signature bvec4\n"
14914 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014915 " (declare (in) ivec4 x)\n"
14916 " (declare (in) ivec4 y))\n"
14917 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014918 " (signature bvec2\n"
14919 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014920 " (declare (in) uvec2 x)\n"
14921 " (declare (in) uvec2 y))\n"
14922 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014923 " (signature bvec3\n"
14924 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014925 " (declare (in) uvec3 x)\n"
14926 " (declare (in) uvec3 y))\n"
14927 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014928 " (signature bvec4\n"
14929 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014930 " (declare (in) uvec4 x)\n"
14931 " (declare (in) uvec4 y))\n"
14932 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014933 "(function greaterThanEqual\n"
14934 " (signature bvec2\n"
14935 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014936 " (declare (in) vec2 x)\n"
14937 " (declare (in) vec2 y))\n"
14938 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014939 " (signature bvec3\n"
14940 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014941 " (declare (in) vec3 x)\n"
14942 " (declare (in) vec3 y))\n"
14943 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014944 " (signature bvec4\n"
14945 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014946 " (declare (in) vec4 x)\n"
14947 " (declare (in) vec4 y))\n"
14948 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014949 " (signature bvec2\n"
14950 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014951 " (declare (in) ivec2 x)\n"
14952 " (declare (in) ivec2 y))\n"
14953 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014954 " (signature bvec3\n"
14955 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014956 " (declare (in) ivec3 x)\n"
14957 " (declare (in) ivec3 y))\n"
14958 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014959 " (signature bvec4\n"
14960 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014961 " (declare (in) ivec4 x)\n"
14962 " (declare (in) ivec4 y))\n"
14963 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014964 " (signature bvec2\n"
14965 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014966 " (declare (in) uvec2 x)\n"
14967 " (declare (in) uvec2 y))\n"
14968 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014969 " (signature bvec3\n"
14970 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014971 " (declare (in) uvec3 x)\n"
14972 " (declare (in) uvec3 y))\n"
14973 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014974 " (signature bvec4\n"
14975 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014976 " (declare (in) uvec4 x)\n"
14977 " (declare (in) uvec4 y))\n"
14978 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014979 "(function equal\n"
14980 " (signature bvec2\n"
14981 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014982 " (declare (in) vec2 x)\n"
14983 " (declare (in) vec2 y))\n"
14984 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014985 " (signature bvec3\n"
14986 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014987 " (declare (in) vec3 x)\n"
14988 " (declare (in) vec3 y))\n"
14989 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014990 " (signature bvec4\n"
14991 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014992 " (declare (in) vec4 x)\n"
14993 " (declare (in) vec4 y))\n"
14994 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014995 " (signature bvec2\n"
14996 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014997 " (declare (in) ivec2 x)\n"
14998 " (declare (in) ivec2 y))\n"
14999 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015000 " (signature bvec3\n"
15001 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015002 " (declare (in) ivec3 x)\n"
15003 " (declare (in) ivec3 y))\n"
15004 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015005 " (signature bvec4\n"
15006 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015007 " (declare (in) ivec4 x)\n"
15008 " (declare (in) ivec4 y))\n"
15009 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015010 " (signature bvec2\n"
15011 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015012 " (declare (in) uvec2 x)\n"
15013 " (declare (in) uvec2 y))\n"
15014 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015015 " (signature bvec3\n"
15016 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015017 " (declare (in) uvec3 x)\n"
15018 " (declare (in) uvec3 y))\n"
15019 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015020 " (signature bvec4\n"
15021 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015022 " (declare (in) uvec4 x)\n"
15023 " (declare (in) uvec4 y))\n"
15024 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015025 " (signature bvec2\n"
15026 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015027 " (declare (in) bvec2 x)\n"
15028 " (declare (in) bvec2 y))\n"
15029 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015030 " (signature bvec3\n"
15031 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015032 " (declare (in) bvec3 x)\n"
15033 " (declare (in) bvec3 y))\n"
15034 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015035 " (signature bvec4\n"
15036 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015037 " (declare (in) bvec4 x)\n"
15038 " (declare (in) bvec4 y))\n"
15039 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015040 "(function notEqual\n"
15041 " (signature bvec2\n"
15042 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015043 " (declare (in) vec2 x)\n"
15044 " (declare (in) vec2 y))\n"
15045 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015046 " (signature bvec3\n"
15047 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015048 " (declare (in) vec3 x)\n"
15049 " (declare (in) vec3 y))\n"
15050 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015051 " (signature bvec4\n"
15052 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015053 " (declare (in) vec4 x)\n"
15054 " (declare (in) vec4 y))\n"
15055 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015056 " (signature bvec2\n"
15057 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015058 " (declare (in) ivec2 x)\n"
15059 " (declare (in) ivec2 y))\n"
15060 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015061 " (signature bvec3\n"
15062 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015063 " (declare (in) ivec3 x)\n"
15064 " (declare (in) ivec3 y))\n"
15065 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015066 " (signature bvec4\n"
15067 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015068 " (declare (in) ivec4 x)\n"
15069 " (declare (in) ivec4 y))\n"
15070 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015071 " (signature bvec2\n"
15072 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015073 " (declare (in) uvec2 x)\n"
15074 " (declare (in) uvec2 y))\n"
15075 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015076 " (signature bvec3\n"
15077 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015078 " (declare (in) uvec3 x)\n"
15079 " (declare (in) uvec3 y))\n"
15080 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015081 " (signature bvec4\n"
15082 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015083 " (declare (in) uvec4 x)\n"
15084 " (declare (in) uvec4 y))\n"
15085 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015086 " (signature bvec2\n"
15087 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015088 " (declare (in) bvec2 x)\n"
15089 " (declare (in) bvec2 y))\n"
15090 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015091 " (signature bvec3\n"
15092 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015093 " (declare (in) bvec3 x)\n"
15094 " (declare (in) bvec3 y))\n"
15095 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015096 " (signature bvec4\n"
15097 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015098 " (declare (in) bvec4 x)\n"
15099 " (declare (in) bvec4 y))\n"
15100 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015101 "(function any\n"
15102 " (signature bool\n"
15103 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015104 " (declare (in) bvec2 x))\n"
15105 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015106 " (signature bool\n"
15107 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015108 " (declare (in) bvec3 x))\n"
15109 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015110 " (signature bool\n"
15111 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015112 " (declare (in) bvec4 x))\n"
15113 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015114 "(function all\n"
15115 " (signature bool\n"
15116 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015117 " (declare (in) bvec2 x))\n"
15118 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015119 " (signature bool\n"
15120 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015121 " (declare (in) bvec3 x))\n"
15122 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015123 " (signature bool\n"
15124 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015125 " (declare (in) bvec4 x))\n"
15126 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015127 "(function not\n"
15128 " (signature bvec2\n"
15129 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015130 " (declare (in) bvec2 x))\n"
15131 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015132 " (signature bvec3\n"
15133 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015134 " (declare (in) bvec3 x))\n"
15135 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015136 " (signature bvec4\n"
15137 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015138 " (declare (in) bvec4 x))\n"
15139 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015140 "(function texture\n"
15141 " (signature vec4\n"
15142 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015143 " (declare (in) sampler1D sampler)\n"
15144 " (declare (in) float P))\n"
15145 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015146 " (signature ivec4\n"
15147 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015148 " (declare (in) isampler1D sampler)\n"
15149 " (declare (in) float P))\n"
15150 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015151 " (signature uvec4\n"
15152 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015153 " (declare (in) usampler1D sampler)\n"
15154 " (declare (in) float P))\n"
15155 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015156 " (signature vec4\n"
15157 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015158 " (declare (in) sampler2D sampler)\n"
15159 " (declare (in) vec2 P))\n"
15160 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015161 " (signature ivec4\n"
15162 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015163 " (declare (in) isampler2D sampler)\n"
15164 " (declare (in) vec2 P))\n"
15165 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015166 " (signature uvec4\n"
15167 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015168 " (declare (in) usampler2D sampler)\n"
15169 " (declare (in) vec2 P))\n"
15170 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015171 " (signature vec4\n"
15172 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015173 " (declare (in) sampler3D sampler)\n"
15174 " (declare (in) vec3 P))\n"
15175 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015176 " (signature ivec4\n"
15177 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015178 " (declare (in) isampler3D sampler)\n"
15179 " (declare (in) vec3 P))\n"
15180 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015181 " (signature uvec4\n"
15182 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015183 " (declare (in) usampler3D sampler)\n"
15184 " (declare (in) vec3 P))\n"
15185 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015186 " (signature vec4\n"
15187 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015188 " (declare (in) samplerCube sampler)\n"
15189 " (declare (in) vec3 P))\n"
15190 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015191 " (signature ivec4\n"
15192 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015193 " (declare (in) isamplerCube sampler)\n"
15194 " (declare (in) vec3 P))\n"
15195 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015196 " (signature uvec4\n"
15197 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015198 " (declare (in) usamplerCube sampler)\n"
15199 " (declare (in) vec3 P))\n"
15200 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015201 " (signature float\n"
15202 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015203 " (declare (in) sampler1DShadow sampler)\n"
15204 " (declare (in) vec3 P))\n"
15205 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015206 " (signature float\n"
15207 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015208 " (declare (in) sampler2DShadow sampler)\n"
15209 " (declare (in) vec3 P))\n"
15210 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015211 " (signature float\n"
15212 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015213 " (declare (in) samplerCubeShadow sampler)\n"
15214 " (declare (in) vec4 P))\n"
15215 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015216 " (signature vec4\n"
15217 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015218 " (declare (in) sampler1DArray sampler)\n"
15219 " (declare (in) vec2 P))\n"
15220 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015221 " (signature ivec4\n"
15222 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015223 " (declare (in) isampler1DArray sampler)\n"
15224 " (declare (in) vec2 P))\n"
15225 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015226 " (signature uvec4\n"
15227 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015228 " (declare (in) usampler1DArray sampler)\n"
15229 " (declare (in) vec2 P))\n"
15230 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015231 " (signature vec4\n"
15232 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015233 " (declare (in) sampler2DArray sampler)\n"
15234 " (declare (in) vec3 P))\n"
15235 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015236 " (signature ivec4\n"
15237 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015238 " (declare (in) isampler2DArray sampler)\n"
15239 " (declare (in) vec3 P))\n"
15240 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015241 " (signature uvec4\n"
15242 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015243 " (declare (in) usampler2DArray sampler)\n"
15244 " (declare (in) vec3 P))\n"
15245 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015246 " (signature float\n"
15247 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015248 " (declare (in) sampler1DArrayShadow sampler)\n"
15249 " (declare (in) vec3 P))\n"
15250 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015251 " (signature float\n"
15252 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015253 " (declare (in) sampler2DArrayShadow sampler)\n"
15254 " (declare (in) vec4 P))\n"
15255 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015256 " (signature vec4\n"
15257 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015258 " (declare (in) sampler1D sampler)\n"
15259 " (declare (in) float P)\n"
15260 " (declare (in) float bias))\n"
15261 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015262 " (signature ivec4\n"
15263 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015264 " (declare (in) isampler1D sampler)\n"
15265 " (declare (in) float P)\n"
15266 " (declare (in) float bias))\n"
15267 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015268 " (signature uvec4\n"
15269 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015270 " (declare (in) usampler1D sampler)\n"
15271 " (declare (in) float P)\n"
15272 " (declare (in) float bias))\n"
15273 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015274 " (signature vec4\n"
15275 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015276 " (declare (in) sampler2D sampler)\n"
15277 " (declare (in) vec2 P)\n"
15278 " (declare (in) float bias))\n"
15279 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015280 " (signature ivec4\n"
15281 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015282 " (declare (in) isampler2D sampler)\n"
15283 " (declare (in) vec2 P)\n"
15284 " (declare (in) float bias))\n"
15285 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015286 " (signature uvec4\n"
15287 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015288 " (declare (in) usampler2D sampler)\n"
15289 " (declare (in) vec2 P)\n"
15290 " (declare (in) float bias))\n"
15291 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015292 " (signature vec4\n"
15293 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015294 " (declare (in) sampler3D sampler)\n"
15295 " (declare (in) vec3 P)\n"
15296 " (declare (in) float bias))\n"
15297 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015298 " (signature ivec4\n"
15299 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015300 " (declare (in) isampler3D sampler)\n"
15301 " (declare (in) vec3 P)\n"
15302 " (declare (in) float bias))\n"
15303 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015304 " (signature uvec4\n"
15305 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015306 " (declare (in) usampler3D sampler)\n"
15307 " (declare (in) vec3 P)\n"
15308 " (declare (in) float bias))\n"
15309 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015310 " (signature vec4\n"
15311 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015312 " (declare (in) samplerCube sampler)\n"
15313 " (declare (in) vec3 P)\n"
15314 " (declare (in) float bias))\n"
15315 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015316 " (signature ivec4\n"
15317 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015318 " (declare (in) isamplerCube sampler)\n"
15319 " (declare (in) vec3 P)\n"
15320 " (declare (in) float bias))\n"
15321 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015322 " (signature uvec4\n"
15323 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015324 " (declare (in) usamplerCube sampler)\n"
15325 " (declare (in) vec3 P)\n"
15326 " (declare (in) float bias))\n"
15327 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015328 " (signature float\n"
15329 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015330 " (declare (in) sampler1DShadow sampler)\n"
15331 " (declare (in) vec3 P)\n"
15332 " (declare (in) float bias))\n"
15333 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015334 " (signature float\n"
15335 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015336 " (declare (in) sampler2DShadow sampler)\n"
15337 " (declare (in) vec3 P)\n"
15338 " (declare (in) float bias))\n"
15339 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015340 " (signature float\n"
15341 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015342 " (declare (in) samplerCubeShadow sampler)\n"
15343 " (declare (in) vec4 P)\n"
15344 " (declare (in) float bias))\n"
15345 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015346 " (signature vec4\n"
15347 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015348 " (declare (in) sampler1DArray sampler)\n"
15349 " (declare (in) vec2 P)\n"
15350 " (declare (in) float bias))\n"
15351 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015352 " (signature ivec4\n"
15353 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015354 " (declare (in) isampler1DArray sampler)\n"
15355 " (declare (in) vec2 P)\n"
15356 " (declare (in) float bias))\n"
15357 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015358 " (signature uvec4\n"
15359 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015360 " (declare (in) usampler1DArray sampler)\n"
15361 " (declare (in) vec2 P)\n"
15362 " (declare (in) float bias))\n"
15363 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015364 " (signature vec4\n"
15365 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015366 " (declare (in) sampler2DArray sampler)\n"
15367 " (declare (in) vec3 P)\n"
15368 " (declare (in) float bias))\n"
15369 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015370 " (signature ivec4\n"
15371 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015372 " (declare (in) isampler2DArray sampler)\n"
15373 " (declare (in) vec3 P)\n"
15374 " (declare (in) float bias))\n"
15375 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015376 " (signature uvec4\n"
15377 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015378 " (declare (in) usampler2DArray sampler)\n"
15379 " (declare (in) vec3 P)\n"
15380 " (declare (in) float bias))\n"
15381 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015382 " (signature float\n"
15383 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015384 " (declare (in) sampler1DArrayShadow sampler)\n"
15385 " (declare (in) vec3 P)\n"
15386 " (declare (in) float bias))\n"
15387 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015388 "(function textureProj\n"
15389 " (signature vec4\n"
15390 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015391 " (declare (in) sampler1D sampler)\n"
15392 " (declare (in) vec2 P))\n"
15393 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015394 " (signature ivec4\n"
15395 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015396 " (declare (in) isampler1D sampler)\n"
15397 " (declare (in) vec2 P))\n"
15398 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015399 " (signature uvec4\n"
15400 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015401 " (declare (in) usampler1D sampler)\n"
15402 " (declare (in) vec2 P))\n"
15403 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015404 " (signature vec4\n"
15405 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015406 " (declare (in) sampler1D sampler)\n"
15407 " (declare (in) vec4 P))\n"
15408 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015409 " (signature ivec4\n"
15410 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015411 " (declare (in) isampler1D sampler)\n"
15412 " (declare (in) vec4 P))\n"
15413 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015414 " (signature uvec4\n"
15415 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015416 " (declare (in) usampler1D sampler)\n"
15417 " (declare (in) vec4 P))\n"
15418 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015419 " (signature vec4\n"
15420 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015421 " (declare (in) sampler2D sampler)\n"
15422 " (declare (in) vec3 P))\n"
15423 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015424 " (signature ivec4\n"
15425 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015426 " (declare (in) isampler2D sampler)\n"
15427 " (declare (in) vec3 P))\n"
15428 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015429 " (signature uvec4\n"
15430 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015431 " (declare (in) usampler2D sampler)\n"
15432 " (declare (in) vec3 P))\n"
15433 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015434 " (signature vec4\n"
15435 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015436 " (declare (in) sampler2D sampler)\n"
15437 " (declare (in) vec4 P))\n"
15438 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015439 " (signature ivec4\n"
15440 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015441 " (declare (in) isampler2D sampler)\n"
15442 " (declare (in) vec4 P))\n"
15443 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015444 " (signature uvec4\n"
15445 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015446 " (declare (in) usampler2D sampler)\n"
15447 " (declare (in) vec4 P))\n"
15448 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015449 " (signature vec4\n"
15450 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015451 " (declare (in) sampler3D sampler)\n"
15452 " (declare (in) vec4 P))\n"
15453 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015454 " (signature ivec4\n"
15455 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015456 " (declare (in) isampler3D sampler)\n"
15457 " (declare (in) vec4 P))\n"
15458 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015459 " (signature uvec4\n"
15460 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015461 " (declare (in) usampler3D sampler)\n"
15462 " (declare (in) vec4 P))\n"
15463 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015464 " (signature float\n"
15465 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015466 " (declare (in) sampler1DShadow sampler)\n"
15467 " (declare (in) vec4 P))\n"
15468 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015469 " (signature float\n"
15470 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015471 " (declare (in) sampler2DShadow sampler)\n"
15472 " (declare (in) vec4 P))\n"
15473 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015474 " (signature vec4\n"
15475 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015476 " (declare (in) sampler1D sampler)\n"
15477 " (declare (in) vec2 P)\n"
15478 " (declare (in) float bias))\n"
15479 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015480 " (signature ivec4\n"
15481 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015482 " (declare (in) isampler1D sampler)\n"
15483 " (declare (in) vec2 P)\n"
15484 " (declare (in) float bias))\n"
15485 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015486 " (signature uvec4\n"
15487 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015488 " (declare (in) usampler1D sampler)\n"
15489 " (declare (in) vec2 P)\n"
15490 " (declare (in) float bias))\n"
15491 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015492 " (signature vec4\n"
15493 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015494 " (declare (in) sampler1D sampler)\n"
15495 " (declare (in) vec4 P)\n"
15496 " (declare (in) float bias))\n"
15497 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015498 " (signature ivec4\n"
15499 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015500 " (declare (in) isampler1D sampler)\n"
15501 " (declare (in) vec4 P)\n"
15502 " (declare (in) float bias))\n"
15503 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015504 " (signature uvec4\n"
15505 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015506 " (declare (in) usampler1D sampler)\n"
15507 " (declare (in) vec4 P)\n"
15508 " (declare (in) float bias))\n"
15509 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015510 " (signature vec4\n"
15511 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015512 " (declare (in) sampler2D sampler)\n"
15513 " (declare (in) vec3 P)\n"
15514 " (declare (in) float bias))\n"
15515 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015516 " (signature ivec4\n"
15517 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015518 " (declare (in) isampler2D sampler)\n"
15519 " (declare (in) vec3 P)\n"
15520 " (declare (in) float bias))\n"
15521 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015522 " (signature uvec4\n"
15523 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015524 " (declare (in) usampler2D sampler)\n"
15525 " (declare (in) vec3 P)\n"
15526 " (declare (in) float bias))\n"
15527 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015528 " (signature vec4\n"
15529 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015530 " (declare (in) sampler2D sampler)\n"
15531 " (declare (in) vec4 P)\n"
15532 " (declare (in) float bias))\n"
15533 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015534 " (signature ivec4\n"
15535 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015536 " (declare (in) isampler2D sampler)\n"
15537 " (declare (in) vec4 P)\n"
15538 " (declare (in) float bias))\n"
15539 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015540 " (signature uvec4\n"
15541 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015542 " (declare (in) usampler2D sampler)\n"
15543 " (declare (in) vec4 P)\n"
15544 " (declare (in) float bias))\n"
15545 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015546 " (signature vec4\n"
15547 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015548 " (declare (in) sampler3D sampler)\n"
15549 " (declare (in) vec4 P)\n"
15550 " (declare (in) float bias))\n"
15551 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015552 " (signature ivec4\n"
15553 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015554 " (declare (in) isampler3D sampler)\n"
15555 " (declare (in) vec4 P)\n"
15556 " (declare (in) float bias))\n"
15557 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015558 " (signature uvec4\n"
15559 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015560 " (declare (in) usampler3D sampler)\n"
15561 " (declare (in) vec4 P)\n"
15562 " (declare (in) float bias))\n"
15563 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015564 " (signature float\n"
15565 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015566 " (declare (in) sampler1DShadow sampler)\n"
15567 " (declare (in) vec4 P)\n"
15568 " (declare (in) float bias))\n"
15569 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015570 " (signature float\n"
15571 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015572 " (declare (in) sampler2DShadow sampler)\n"
15573 " (declare (in) vec4 P)\n"
15574 " (declare (in) float bias))\n"
15575 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015576 "(function textureLod\n"
15577 " (signature vec4\n"
15578 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015579 " (declare (in) sampler1D sampler)\n"
15580 " (declare (in) float P)\n"
15581 " (declare (in) float lod))\n"
15582 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015583 " (signature ivec4\n"
15584 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015585 " (declare (in) isampler1D sampler)\n"
15586 " (declare (in) float P)\n"
15587 " (declare (in) float lod))\n"
15588 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015589 " (signature uvec4\n"
15590 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015591 " (declare (in) usampler1D sampler)\n"
15592 " (declare (in) float P)\n"
15593 " (declare (in) float lod))\n"
15594 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015595 " (signature vec4\n"
15596 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015597 " (declare (in) sampler2D sampler)\n"
15598 " (declare (in) vec2 P)\n"
15599 " (declare (in) float lod))\n"
15600 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015601 " (signature ivec4\n"
15602 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015603 " (declare (in) isampler2D sampler)\n"
15604 " (declare (in) vec2 P)\n"
15605 " (declare (in) float lod))\n"
15606 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015607 " (signature uvec4\n"
15608 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015609 " (declare (in) usampler2D sampler)\n"
15610 " (declare (in) vec2 P)\n"
15611 " (declare (in) float lod))\n"
15612 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015613 " (signature vec4\n"
15614 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015615 " (declare (in) sampler3D sampler)\n"
15616 " (declare (in) vec3 P)\n"
15617 " (declare (in) float lod))\n"
15618 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015619 " (signature ivec4\n"
15620 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015621 " (declare (in) isampler3D sampler)\n"
15622 " (declare (in) vec3 P)\n"
15623 " (declare (in) float lod))\n"
15624 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015625 " (signature uvec4\n"
15626 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015627 " (declare (in) usampler3D sampler)\n"
15628 " (declare (in) vec3 P)\n"
15629 " (declare (in) float lod))\n"
15630 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015631 " (signature vec4\n"
15632 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015633 " (declare (in) samplerCube sampler)\n"
15634 " (declare (in) vec3 P)\n"
15635 " (declare (in) float lod))\n"
15636 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015637 " (signature ivec4\n"
15638 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015639 " (declare (in) isamplerCube sampler)\n"
15640 " (declare (in) vec3 P)\n"
15641 " (declare (in) float lod))\n"
15642 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015643 " (signature uvec4\n"
15644 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015645 " (declare (in) usamplerCube sampler)\n"
15646 " (declare (in) vec3 P)\n"
15647 " (declare (in) float lod))\n"
15648 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015649 " (signature float\n"
15650 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015651 " (declare (in) sampler1DShadow sampler)\n"
15652 " (declare (in) vec3 P)\n"
15653 " (declare (in) float lod))\n"
15654 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015655 " (signature float\n"
15656 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015657 " (declare (in) sampler2DShadow sampler)\n"
15658 " (declare (in) vec3 P)\n"
15659 " (declare (in) float lod))\n"
15660 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015661 " (signature vec4\n"
15662 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015663 " (declare (in) sampler1DArray sampler)\n"
15664 " (declare (in) vec2 P)\n"
15665 " (declare (in) float lod))\n"
15666 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015667 " (signature ivec4\n"
15668 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015669 " (declare (in) isampler1DArray sampler)\n"
15670 " (declare (in) vec2 P)\n"
15671 " (declare (in) float lod))\n"
15672 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015673 " (signature uvec4\n"
15674 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015675 " (declare (in) usampler1DArray sampler)\n"
15676 " (declare (in) vec2 P)\n"
15677 " (declare (in) float lod))\n"
15678 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015679 " (signature vec4\n"
15680 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015681 " (declare (in) sampler2DArray sampler)\n"
15682 " (declare (in) vec3 P)\n"
15683 " (declare (in) float lod))\n"
15684 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015685 " (signature ivec4\n"
15686 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015687 " (declare (in) isampler2DArray sampler)\n"
15688 " (declare (in) vec3 P)\n"
15689 " (declare (in) float lod))\n"
15690 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015691 " (signature uvec4\n"
15692 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015693 " (declare (in) usampler2DArray sampler)\n"
15694 " (declare (in) vec3 P)\n"
15695 " (declare (in) float lod))\n"
15696 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015697 " (signature float\n"
15698 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015699 " (declare (in) sampler1DArrayShadow sampler)\n"
15700 " (declare (in) vec3 P)\n"
15701 " (declare (in) float lod))\n"
15702 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015703 "(function texelFetch\n"
15704 " (signature vec4\n"
15705 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015706 " (declare (in) sampler1D sampler)\n"
15707 " (declare (in) int P)\n"
15708 " (declare (in) int lod))\n"
15709 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015710 " (signature ivec4\n"
15711 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015712 " (declare (in) isampler1D sampler)\n"
15713 " (declare (in) int P)\n"
15714 " (declare (in) int lod))\n"
15715 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015716 " (signature uvec4\n"
15717 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015718 " (declare (in) usampler1D sampler)\n"
15719 " (declare (in) int P)\n"
15720 " (declare (in) int lod))\n"
15721 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015722 " (signature vec4\n"
15723 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015724 " (declare (in) sampler2D sampler)\n"
15725 " (declare (in) ivec2 P)\n"
15726 " (declare (in) int lod))\n"
15727 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015728 " (signature ivec4\n"
15729 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015730 " (declare (in) isampler2D sampler)\n"
15731 " (declare (in) ivec2 P)\n"
15732 " (declare (in) int lod))\n"
15733 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015734 " (signature uvec4\n"
15735 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015736 " (declare (in) usampler2D sampler)\n"
15737 " (declare (in) ivec2 P)\n"
15738 " (declare (in) int lod))\n"
15739 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015740 " (signature vec4\n"
15741 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015742 " (declare (in) sampler3D sampler)\n"
15743 " (declare (in) ivec3 P)\n"
15744 " (declare (in) int lod))\n"
15745 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015746 " (signature ivec4\n"
15747 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015748 " (declare (in) isampler3D sampler)\n"
15749 " (declare (in) ivec3 P)\n"
15750 " (declare (in) int lod))\n"
15751 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015752 " (signature uvec4\n"
15753 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015754 " (declare (in) usampler3D sampler)\n"
15755 " (declare (in) ivec3 P)\n"
15756 " (declare (in) int lod))\n"
15757 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015758 " (signature vec4\n"
15759 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015760 " (declare (in) sampler1DArray sampler)\n"
15761 " (declare (in) ivec2 P)\n"
15762 " (declare (in) int lod))\n"
15763 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015764 " (signature ivec4\n"
15765 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015766 " (declare (in) isampler1DArray sampler)\n"
15767 " (declare (in) ivec2 P)\n"
15768 " (declare (in) int lod))\n"
15769 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015770 " (signature uvec4\n"
15771 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015772 " (declare (in) usampler1DArray sampler)\n"
15773 " (declare (in) ivec2 P)\n"
15774 " (declare (in) int lod))\n"
15775 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015776 " (signature vec4\n"
15777 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015778 " (declare (in) sampler2DArray sampler)\n"
15779 " (declare (in) ivec3 P)\n"
15780 " (declare (in) int lod))\n"
15781 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015782 " (signature ivec4\n"
15783 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015784 " (declare (in) isampler2DArray sampler)\n"
15785 " (declare (in) ivec3 P)\n"
15786 " (declare (in) int lod))\n"
15787 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015788 " (signature uvec4\n"
15789 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015790 " (declare (in) usampler2DArray sampler)\n"
15791 " (declare (in) ivec3 P)\n"
15792 " (declare (in) int lod))\n"
15793 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015794 "(function textureProjLod\n"
15795 " (signature vec4\n"
15796 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015797 " (declare (in) sampler1D sampler)\n"
15798 " (declare (in) vec2 P)\n"
15799 " (declare (in) float lod))\n"
15800 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015801 " (signature ivec4\n"
15802 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015803 " (declare (in) isampler1D sampler)\n"
15804 " (declare (in) vec2 P)\n"
15805 " (declare (in) float lod))\n"
15806 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015807 " (signature uvec4\n"
15808 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015809 " (declare (in) usampler1D sampler)\n"
15810 " (declare (in) vec2 P)\n"
15811 " (declare (in) float lod))\n"
15812 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015813 " (signature vec4\n"
15814 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015815 " (declare (in) sampler1D sampler)\n"
15816 " (declare (in) vec4 P)\n"
15817 " (declare (in) float lod))\n"
15818 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015819 " (signature ivec4\n"
15820 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015821 " (declare (in) isampler1D sampler)\n"
15822 " (declare (in) vec4 P)\n"
15823 " (declare (in) float lod))\n"
15824 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015825 " (signature uvec4\n"
15826 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015827 " (declare (in) usampler1D sampler)\n"
15828 " (declare (in) vec4 P)\n"
15829 " (declare (in) float lod))\n"
15830 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015831 " (signature vec4\n"
15832 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015833 " (declare (in) sampler2D sampler)\n"
15834 " (declare (in) vec3 P)\n"
15835 " (declare (in) float lod))\n"
15836 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015837 " (signature ivec4\n"
15838 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015839 " (declare (in) isampler2D sampler)\n"
15840 " (declare (in) vec3 P)\n"
15841 " (declare (in) float lod))\n"
15842 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015843 " (signature uvec4\n"
15844 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015845 " (declare (in) usampler2D sampler)\n"
15846 " (declare (in) vec3 P)\n"
15847 " (declare (in) float lod))\n"
15848 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015849 " (signature vec4\n"
15850 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015851 " (declare (in) sampler2D sampler)\n"
15852 " (declare (in) vec4 P)\n"
15853 " (declare (in) float lod))\n"
15854 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015855 " (signature ivec4\n"
15856 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015857 " (declare (in) isampler2D sampler)\n"
15858 " (declare (in) vec4 P)\n"
15859 " (declare (in) float lod))\n"
15860 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015861 " (signature uvec4\n"
15862 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015863 " (declare (in) usampler2D sampler)\n"
15864 " (declare (in) vec4 P)\n"
15865 " (declare (in) float lod))\n"
15866 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015867 " (signature vec4\n"
15868 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015869 " (declare (in) sampler3D sampler)\n"
15870 " (declare (in) vec4 P)\n"
15871 " (declare (in) float lod))\n"
15872 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015873 " (signature ivec4\n"
15874 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015875 " (declare (in) isampler3D sampler)\n"
15876 " (declare (in) vec4 P)\n"
15877 " (declare (in) float lod))\n"
15878 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015879 " (signature uvec4\n"
15880 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015881 " (declare (in) usampler3D sampler)\n"
15882 " (declare (in) vec4 P)\n"
15883 " (declare (in) float lod))\n"
15884 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015885 " (signature float\n"
15886 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015887 " (declare (in) sampler1DShadow sampler)\n"
15888 " (declare (in) vec4 P)\n"
15889 " (declare (in) float lod))\n"
15890 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015891 " (signature float\n"
15892 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015893 " (declare (in) sampler2DShadow sampler)\n"
15894 " (declare (in) vec4 P)\n"
15895 " (declare (in) float lod))\n"
15896 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015897 "(function textureGrad\n"
15898 " (signature vec4\n"
15899 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015900 " (declare (in) sampler1D sampler)\n"
15901 " (declare (in) float P)\n"
15902 " (declare (in) float dPdx)\n"
15903 " (declare (in) float dPdy))\n"
15904 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015905 " (signature ivec4\n"
15906 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015907 " (declare (in) isampler1D sampler)\n"
15908 " (declare (in) float P)\n"
15909 " (declare (in) float dPdx)\n"
15910 " (declare (in) float dPdy))\n"
15911 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015912 " (signature uvec4\n"
15913 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015914 " (declare (in) usampler1D sampler)\n"
15915 " (declare (in) float P)\n"
15916 " (declare (in) float dPdx)\n"
15917 " (declare (in) float dPdy))\n"
15918 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015919 " (signature vec4\n"
15920 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015921 " (declare (in) sampler2D sampler)\n"
15922 " (declare (in) vec2 P)\n"
15923 " (declare (in) vec2 dPdx)\n"
15924 " (declare (in) vec2 dPdy))\n"
15925 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015926 " (signature ivec4\n"
15927 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015928 " (declare (in) isampler2D sampler)\n"
15929 " (declare (in) vec2 P)\n"
15930 " (declare (in) vec2 dPdx)\n"
15931 " (declare (in) vec2 dPdy))\n"
15932 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015933 " (signature uvec4\n"
15934 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015935 " (declare (in) usampler2D sampler)\n"
15936 " (declare (in) vec2 P)\n"
15937 " (declare (in) vec2 dPdx)\n"
15938 " (declare (in) vec2 dPdy))\n"
15939 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015940 " (signature vec4\n"
15941 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015942 " (declare (in) sampler3D sampler)\n"
15943 " (declare (in) vec3 P)\n"
15944 " (declare (in) vec3 dPdx)\n"
15945 " (declare (in) vec3 dPdy))\n"
15946 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015947 " (signature ivec4\n"
15948 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015949 " (declare (in) isampler3D sampler)\n"
15950 " (declare (in) vec3 P)\n"
15951 " (declare (in) vec3 dPdx)\n"
15952 " (declare (in) vec3 dPdy))\n"
15953 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015954 " (signature uvec4\n"
15955 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015956 " (declare (in) usampler3D sampler)\n"
15957 " (declare (in) vec3 P)\n"
15958 " (declare (in) vec3 dPdx)\n"
15959 " (declare (in) vec3 dPdy))\n"
15960 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015961 " (signature vec4\n"
15962 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015963 " (declare (in) samplerCube sampler)\n"
15964 " (declare (in) vec3 P)\n"
15965 " (declare (in) vec3 dPdx)\n"
15966 " (declare (in) vec3 dPdy))\n"
15967 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015968 " (signature ivec4\n"
15969 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015970 " (declare (in) isamplerCube sampler)\n"
15971 " (declare (in) vec3 P)\n"
15972 " (declare (in) vec3 dPdx)\n"
15973 " (declare (in) vec3 dPdy))\n"
15974 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015975 " (signature uvec4\n"
15976 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015977 " (declare (in) usamplerCube sampler)\n"
15978 " (declare (in) vec3 P)\n"
15979 " (declare (in) vec3 dPdx)\n"
15980 " (declare (in) vec3 dPdy))\n"
15981 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015982 " (signature float\n"
15983 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015984 " (declare (in) sampler1DShadow sampler)\n"
15985 " (declare (in) vec3 P)\n"
15986 " (declare (in) float dPdx)\n"
15987 " (declare (in) float dPdy))\n"
15988 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015989 " (signature float\n"
15990 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015991 " (declare (in) sampler2DShadow sampler)\n"
15992 " (declare (in) vec3 P)\n"
15993 " (declare (in) vec2 dPdx)\n"
15994 " (declare (in) vec2 dPdy))\n"
15995 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015996 " (signature float\n"
15997 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015998 " (declare (in) samplerCubeShadow sampler)\n"
15999 " (declare (in) vec4 P)\n"
16000 " (declare (in) vec3 dPdx)\n"
16001 " (declare (in) vec3 dPdy))\n"
16002 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016003 " (signature vec4\n"
16004 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016005 " (declare (in) sampler1DArray sampler)\n"
16006 " (declare (in) vec2 P)\n"
16007 " (declare (in) float dPdx)\n"
16008 " (declare (in) float dPdy))\n"
16009 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016010 " (signature ivec4\n"
16011 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016012 " (declare (in) isampler1DArray sampler)\n"
16013 " (declare (in) vec2 P)\n"
16014 " (declare (in) float dPdx)\n"
16015 " (declare (in) float dPdy))\n"
16016 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016017 " (signature uvec4\n"
16018 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016019 " (declare (in) usampler1DArray sampler)\n"
16020 " (declare (in) vec2 P)\n"
16021 " (declare (in) float dPdx)\n"
16022 " (declare (in) float dPdy))\n"
16023 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016024 " (signature vec4\n"
16025 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016026 " (declare (in) sampler2DArray sampler)\n"
16027 " (declare (in) vec3 P)\n"
16028 " (declare (in) vec2 dPdx)\n"
16029 " (declare (in) vec2 dPdy))\n"
16030 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016031 " (signature ivec4\n"
16032 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016033 " (declare (in) isampler2DArray sampler)\n"
16034 " (declare (in) vec3 P)\n"
16035 " (declare (in) vec2 dPdx)\n"
16036 " (declare (in) vec2 dPdy))\n"
16037 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016038 " (signature uvec4\n"
16039 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016040 " (declare (in) usampler2DArray sampler)\n"
16041 " (declare (in) vec3 P)\n"
16042 " (declare (in) vec2 dPdx)\n"
16043 " (declare (in) vec2 dPdy))\n"
16044 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016045 " (signature float\n"
16046 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016047 " (declare (in) sampler1DArrayShadow sampler)\n"
16048 " (declare (in) vec3 P)\n"
16049 " (declare (in) float dPdx)\n"
16050 " (declare (in) float dPdy))\n"
16051 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016052 " (signature float\n"
16053 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016054 " (declare (in) sampler2DArrayShadow sampler)\n"
16055 " (declare (in) vec4 P)\n"
16056 " (declare (in) vec2 dPdx)\n"
16057 " (declare (in) vec2 dPdy))\n"
16058 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016059 "(function textureProjGrad\n"
16060 " (signature vec4\n"
16061 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016062 " (declare (in) sampler1D sampler)\n"
16063 " (declare (in) vec2 P)\n"
16064 " (declare (in) float dPdx)\n"
16065 " (declare (in) float dPdy))\n"
16066 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016067 " (signature ivec4\n"
16068 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016069 " (declare (in) isampler1D sampler)\n"
16070 " (declare (in) vec2 P)\n"
16071 " (declare (in) float dPdx)\n"
16072 " (declare (in) float dPdy))\n"
16073 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016074 " (signature uvec4\n"
16075 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016076 " (declare (in) usampler1D sampler)\n"
16077 " (declare (in) vec2 P)\n"
16078 " (declare (in) float dPdx)\n"
16079 " (declare (in) float dPdy))\n"
16080 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016081 " (signature vec4\n"
16082 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016083 " (declare (in) sampler1D sampler)\n"
16084 " (declare (in) vec4 P)\n"
16085 " (declare (in) float dPdx)\n"
16086 " (declare (in) float dPdy))\n"
16087 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016088 " (signature ivec4\n"
16089 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016090 " (declare (in) isampler1D sampler)\n"
16091 " (declare (in) vec4 P)\n"
16092 " (declare (in) float dPdx)\n"
16093 " (declare (in) float dPdy))\n"
16094 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016095 " (signature uvec4\n"
16096 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016097 " (declare (in) usampler1D sampler)\n"
16098 " (declare (in) vec4 P)\n"
16099 " (declare (in) float dPdx)\n"
16100 " (declare (in) float dPdy))\n"
16101 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016102 " (signature vec4\n"
16103 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016104 " (declare (in) sampler2D sampler)\n"
16105 " (declare (in) vec3 P)\n"
16106 " (declare (in) vec2 dPdx)\n"
16107 " (declare (in) vec2 dPdy))\n"
16108 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016109 " (signature ivec4\n"
16110 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016111 " (declare (in) isampler2D sampler)\n"
16112 " (declare (in) vec3 P)\n"
16113 " (declare (in) vec2 dPdx)\n"
16114 " (declare (in) vec2 dPdy))\n"
16115 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016116 " (signature uvec4\n"
16117 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016118 " (declare (in) usampler2D sampler)\n"
16119 " (declare (in) vec3 P)\n"
16120 " (declare (in) vec2 dPdx)\n"
16121 " (declare (in) vec2 dPdy))\n"
16122 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016123 " (signature vec4\n"
16124 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016125 " (declare (in) sampler2D sampler)\n"
16126 " (declare (in) vec4 P)\n"
16127 " (declare (in) vec2 dPdx)\n"
16128 " (declare (in) vec2 dPdy))\n"
16129 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016130 " (signature ivec4\n"
16131 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016132 " (declare (in) isampler2D sampler)\n"
16133 " (declare (in) vec4 P)\n"
16134 " (declare (in) vec2 dPdx)\n"
16135 " (declare (in) vec2 dPdy))\n"
16136 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016137 " (signature uvec4\n"
16138 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016139 " (declare (in) usampler2D sampler)\n"
16140 " (declare (in) vec4 P)\n"
16141 " (declare (in) vec2 dPdx)\n"
16142 " (declare (in) vec2 dPdy))\n"
16143 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016144 " (signature vec4\n"
16145 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016146 " (declare (in) sampler3D sampler)\n"
16147 " (declare (in) vec4 P)\n"
16148 " (declare (in) vec3 dPdx)\n"
16149 " (declare (in) vec3 dPdy))\n"
16150 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016151 " (signature ivec4\n"
16152 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016153 " (declare (in) isampler3D sampler)\n"
16154 " (declare (in) vec4 P)\n"
16155 " (declare (in) vec3 dPdx)\n"
16156 " (declare (in) vec3 dPdy))\n"
16157 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016158 " (signature uvec4\n"
16159 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016160 " (declare (in) usampler3D sampler)\n"
16161 " (declare (in) vec4 P)\n"
16162 " (declare (in) vec3 dPdx)\n"
16163 " (declare (in) vec3 dPdy))\n"
16164 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016165 " (signature float\n"
16166 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016167 " (declare (in) sampler1DShadow sampler)\n"
16168 " (declare (in) vec4 P)\n"
16169 " (declare (in) float dPdx)\n"
16170 " (declare (in) float dPdy))\n"
16171 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016172 " (signature float\n"
16173 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016174 " (declare (in) sampler2DShadow sampler)\n"
16175 " (declare (in) vec4 P)\n"
16176 " (declare (in) vec2 dPdx)\n"
16177 " (declare (in) vec2 dPdy))\n"
16178 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016179 "(function texture1D\n"
16180 " (signature vec4\n"
16181 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016182 " (declare (in) sampler1D sampler)\n"
16183 " (declare (in) float coord))\n"
16184 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016185 " (signature vec4\n"
16186 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016187 " (declare (in) sampler1D sampler)\n"
16188 " (declare (in) float coord)\n"
16189 " (declare (in) float bias))\n"
16190 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016191 "(function texture1DProj\n"
16192 " (signature vec4\n"
16193 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016194 " (declare (in) sampler1D sampler)\n"
16195 " (declare (in) vec2 coord))\n"
16196 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016197 " (signature vec4\n"
16198 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016199 " (declare (in) sampler1D sampler)\n"
16200 " (declare (in) vec4 coord))\n"
16201 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016202 " (signature vec4\n"
16203 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016204 " (declare (in) sampler1D sampler)\n"
16205 " (declare (in) vec2 coord)\n"
16206 " (declare (in) float bias))\n"
16207 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016208 " (signature vec4\n"
16209 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016210 " (declare (in) sampler1D sampler)\n"
16211 " (declare (in) vec4 coord)\n"
16212 " (declare (in) float bias))\n"
16213 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016214 "(function texture1DLod\n"
16215 " (signature vec4\n"
16216 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016217 " (declare (in) sampler1D sampler)\n"
16218 " (declare (in) float coord)\n"
16219 " (declare (in) float lod))\n"
16220 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016221 "(function texture1DProjLod\n"
16222 " (signature vec4\n"
16223 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016224 " (declare (in) sampler1D sampler)\n"
16225 " (declare (in) vec2 coord)\n"
16226 " (declare (in) float lod))\n"
16227 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016228 " (signature vec4\n"
16229 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016230 " (declare (in) sampler1D sampler)\n"
16231 " (declare (in) vec4 coord)\n"
16232 " (declare (in) float lod))\n"
16233 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016234 "(function texture2D\n"
16235 " (signature vec4\n"
16236 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016237 " (declare (in) sampler2D sampler)\n"
16238 " (declare (in) vec2 coord))\n"
16239 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016240 " (signature vec4\n"
16241 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016242 " (declare (in) sampler2D sampler)\n"
16243 " (declare (in) vec2 coord)\n"
16244 " (declare (in) float bias))\n"
16245 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016246 "(function texture2DProj\n"
16247 " (signature vec4\n"
16248 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016249 " (declare (in) sampler2D sampler)\n"
16250 " (declare (in) vec3 coord))\n"
16251 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016252 " (signature vec4\n"
16253 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016254 " (declare (in) sampler2D sampler)\n"
16255 " (declare (in) vec4 coord))\n"
16256 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016257 " (signature vec4\n"
16258 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016259 " (declare (in) sampler2D sampler)\n"
16260 " (declare (in) vec3 coord)\n"
16261 " (declare (in) float bias))\n"
16262 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016263 " (signature vec4\n"
16264 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016265 " (declare (in) sampler2D sampler)\n"
16266 " (declare (in) vec4 coord)\n"
16267 " (declare (in) float bias))\n"
16268 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016269 "(function texture2DLod\n"
16270 " (signature vec4\n"
16271 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016272 " (declare (in) sampler2D sampler)\n"
16273 " (declare (in) vec2 coord)\n"
16274 " (declare (in) float lod))\n"
16275 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016276 "(function texture2DProjLod\n"
16277 " (signature vec4\n"
16278 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016279 " (declare (in) sampler2D sampler)\n"
16280 " (declare (in) vec3 coord)\n"
16281 " (declare (in) float lod))\n"
16282 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016283 " (signature vec4\n"
16284 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016285 " (declare (in) sampler2D sampler)\n"
16286 " (declare (in) vec4 coord)\n"
16287 " (declare (in) float lod))\n"
16288 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016289 "(function texture3D\n"
16290 " (signature vec4\n"
16291 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016292 " (declare (in) sampler3D sampler)\n"
16293 " (declare (in) vec3 coord))\n"
16294 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016295 " (signature vec4\n"
16296 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016297 " (declare (in) sampler3D sampler)\n"
16298 " (declare (in) vec3 coord)\n"
16299 " (declare (in) float bias))\n"
16300 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016301 "(function texture3DProj\n"
16302 " (signature vec4\n"
16303 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016304 " (declare (in) sampler3D sampler)\n"
16305 " (declare (in) vec4 coord))\n"
16306 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016307 " (signature vec4\n"
16308 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016309 " (declare (in) sampler3D sampler)\n"
16310 " (declare (in) vec4 coord)\n"
16311 " (declare (in) float bias))\n"
16312 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016313 "(function texture3DLod\n"
16314 " (signature vec4\n"
16315 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016316 " (declare (in) sampler3D sampler)\n"
16317 " (declare (in) vec3 coord)\n"
16318 " (declare (in) float lod))\n"
16319 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016320 "(function texture3DProjLod\n"
16321 " (signature vec4\n"
16322 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016323 " (declare (in) sampler3D sampler)\n"
16324 " (declare (in) vec4 coord)\n"
16325 " (declare (in) float lod))\n"
16326 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016327 "(function textureCube\n"
16328 " (signature vec4\n"
16329 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016330 " (declare (in) samplerCube sampler)\n"
16331 " (declare (in) vec3 coord))\n"
16332 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016333 " (signature vec4\n"
16334 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016335 " (declare (in) samplerCube sampler)\n"
16336 " (declare (in) vec3 coord)\n"
16337 " (declare (in) float bias))\n"
16338 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016339 "(function textureCubeLod\n"
16340 " (signature vec4\n"
16341 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016342 " (declare (in) samplerCube sampler)\n"
16343 " (declare (in) vec3 coord)\n"
16344 " (declare (in) float lod))\n"
16345 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016346 "(function shadow1D\n"
16347 " (signature vec4\n"
16348 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016349 " (declare (in) sampler1DShadow sampler)\n"
16350 " (declare (in) vec3 coord))\n"
16351 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016352 " (signature vec4\n"
16353 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016354 " (declare (in) sampler1DShadow sampler)\n"
16355 " (declare (in) vec3 coord)\n"
16356 " (declare (in) float bias))\n"
16357 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016358 "(function shadow2D\n"
16359 " (signature vec4\n"
16360 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016361 " (declare (in) sampler2DShadow sampler)\n"
16362 " (declare (in) vec3 coord))\n"
16363 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016364 " (signature vec4\n"
16365 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016366 " (declare (in) sampler2DShadow sampler)\n"
16367 " (declare (in) vec3 coord)\n"
16368 " (declare (in) float bias))\n"
16369 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016370 "(function shadow1DProj\n"
16371 " (signature vec4\n"
16372 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016373 " (declare (in) sampler1DShadow sampler)\n"
16374 " (declare (in) vec4 coord))\n"
16375 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016376 " (signature vec4\n"
16377 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016378 " (declare (in) sampler1DShadow sampler)\n"
16379 " (declare (in) vec4 coord)\n"
16380 " (declare (in) float bias))\n"
16381 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016382 "(function shadow2DProj\n"
16383 " (signature vec4\n"
16384 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016385 " (declare (in) sampler2DShadow sampler)\n"
16386 " (declare (in) vec4 coord))\n"
16387 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016388 " (signature vec4\n"
16389 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016390 " (declare (in) sampler2DShadow sampler)\n"
16391 " (declare (in) vec4 coord)\n"
16392 " (declare (in) float bias))\n"
16393 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016394 "(function shadow1DLod\n"
16395 " (signature vec4\n"
16396 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016397 " (declare (in) sampler1DShadow sampler)\n"
16398 " (declare (in) vec3 coord)\n"
16399 " (declare (in) float lod))\n"
16400 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016401 "(function shadow2DLod\n"
16402 " (signature vec4\n"
16403 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016404 " (declare (in) sampler2DShadow sampler)\n"
16405 " (declare (in) vec3 coord)\n"
16406 " (declare (in) float lod))\n"
16407 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016408 "(function shadow1DProjLod\n"
16409 " (signature vec4\n"
16410 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016411 " (declare (in) sampler1DShadow sampler)\n"
16412 " (declare (in) vec4 coord)\n"
16413 " (declare (in) float lod))\n"
16414 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016415 "(function shadow2DProjLod\n"
16416 " (signature vec4\n"
16417 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016418 " (declare (in) sampler2DShadow sampler)\n"
16419 " (declare (in) vec4 coord)\n"
16420 " (declare (in) float lod))\n"
16421 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016422 "(function noise1\n"
16423 " (signature float\n"
16424 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016425 " (declare (in) float x))\n"
16426 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016427 " (signature float\n"
16428 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016429 " (declare (in) vec2 x))\n"
16430 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016431 " (signature float\n"
16432 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016433 " (declare (in) vec3 x))\n"
16434 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016435 " (signature float\n"
16436 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016437 " (declare (in) vec4 x))\n"
16438 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016439 "(function noise2\n"
16440 " (signature vec2\n"
16441 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016442 " (declare (in) float x))\n"
16443 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016444 " (signature vec2\n"
16445 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016446 " (declare (in) vec2 x))\n"
16447 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016448 " (signature vec2\n"
16449 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016450 " (declare (in) vec3 x))\n"
16451 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016452 " (signature vec2\n"
16453 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016454 " (declare (in) vec4 x))\n"
16455 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016456 "(function noise3\n"
16457 " (signature vec3\n"
16458 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016459 " (declare (in) float x))\n"
16460 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016461 " (signature vec3\n"
16462 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016463 " (declare (in) vec2 x))\n"
16464 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016465 " (signature vec3\n"
16466 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016467 " (declare (in) vec3 x))\n"
16468 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016469 " (signature vec3\n"
16470 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016471 " (declare (in) vec4 x))\n"
16472 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016473 "(function noise4\n"
16474 " (signature vec4\n"
16475 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016476 " (declare (in) float x))\n"
16477 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016478 " (signature vec4\n"
16479 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016480 " (declare (in) vec2 x))\n"
16481 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016482 " (signature vec4\n"
16483 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016484 " (declare (in) vec3 x))\n"
16485 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016486 " (signature vec4\n"
16487 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016488 " (declare (in) vec4 x))\n"
16489 " ())))"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016490;
16491static const char *functions_for_130_vert [] = {
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016492 builtin_abs,
Eric Anholt47003a82010-08-23 12:39:35 -070016493 builtin_acos,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016494 builtin_all,
Eric Anholt47003a82010-08-23 12:39:35 -070016495 builtin_any,
16496 builtin_asin,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016497 builtin_atan,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016498 builtin_ceil,
Eric Anholt47003a82010-08-23 12:39:35 -070016499 builtin_clamp,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016500 builtin_cos,
Eric Anholt47003a82010-08-23 12:39:35 -070016501 builtin_cosh,
16502 builtin_cross,
16503 builtin_degrees,
16504 builtin_distance,
16505 builtin_dot,
16506 builtin_equal,
16507 builtin_exp,
16508 builtin_exp2,
16509 builtin_faceforward,
16510 builtin_floor,
16511 builtin_fract,
16512 builtin_ftransform,
16513 builtin_greaterThan,
16514 builtin_greaterThanEqual,
16515 builtin_inversesqrt,
16516 builtin_length,
16517 builtin_lessThan,
16518 builtin_lessThanEqual,
16519 builtin_log,
16520 builtin_log2,
16521 builtin_matrixCompMult,
16522 builtin_max,
16523 builtin_min,
16524 builtin_mix,
16525 builtin_mod,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016526 builtin_noise1,
Eric Anholt47003a82010-08-23 12:39:35 -070016527 builtin_noise2,
16528 builtin_noise3,
16529 builtin_noise4,
16530 builtin_normalize,
16531 builtin_not,
16532 builtin_notEqual,
16533 builtin_outerProduct,
16534 builtin_pow,
16535 builtin_radians,
16536 builtin_reflect,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016537 builtin_refract,
Eric Anholt47003a82010-08-23 12:39:35 -070016538 builtin_shadow1D,
16539 builtin_shadow1DLod,
16540 builtin_shadow1DProj,
16541 builtin_shadow1DProjLod,
16542 builtin_shadow2D,
16543 builtin_shadow2DLod,
16544 builtin_shadow2DProj,
16545 builtin_shadow2DProjLod,
16546 builtin_sign,
16547 builtin_sin,
16548 builtin_sinh,
16549 builtin_smoothstep,
16550 builtin_sqrt,
16551 builtin_step,
16552 builtin_tan,
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016553 builtin_tanh,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016554 builtin_texelFetch,
Eric Anholt47003a82010-08-23 12:39:35 -070016555 builtin_texture,
16556 builtin_texture1D,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016557 builtin_texture1DLod,
Eric Anholt47003a82010-08-23 12:39:35 -070016558 builtin_texture1DProj,
16559 builtin_texture1DProjLod,
16560 builtin_texture2D,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016561 builtin_texture2DLod,
Eric Anholt47003a82010-08-23 12:39:35 -070016562 builtin_texture2DProj,
16563 builtin_texture2DProjLod,
16564 builtin_texture3D,
16565 builtin_texture3DLod,
16566 builtin_texture3DProj,
16567 builtin_texture3DProjLod,
16568 builtin_textureCube,
16569 builtin_textureCubeLod,
16570 builtin_textureGrad,
16571 builtin_textureLod,
16572 builtin_textureProj,
16573 builtin_textureProjGrad,
16574 builtin_textureProjLod,
16575 builtin_transpose,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016576};
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016577static const char *prototypes_for_ARB_texture_rectangle_frag =
16578 "(\n"
16579 "(function texture2DRect\n"
16580 " (signature vec4\n"
16581 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016582 " (declare (in) sampler2DRect sampler)\n"
16583 " (declare (in) vec2 coord))\n"
16584 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016585 "(function texture2DRectProj\n"
16586 " (signature vec4\n"
16587 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016588 " (declare (in) sampler2DRect sampler)\n"
16589 " (declare (in) vec3 coord))\n"
16590 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016591 " (signature vec4\n"
16592 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016593 " (declare (in) sampler2DRect sampler)\n"
16594 " (declare (in) vec4 coord))\n"
16595 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016596 "(function shadow2DRect\n"
16597 " (signature vec4\n"
16598 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016599 " (declare (in) sampler2DRectShadow sampler)\n"
16600 " (declare (in) vec3 coord))\n"
16601 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016602 "(function shadow2DRectProj\n"
16603 " (signature vec4\n"
16604 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016605 " (declare (in) sampler2DRectShadow sampler)\n"
16606 " (declare (in) vec4 coord))\n"
16607 " ())))"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016608;
16609static const char *functions_for_ARB_texture_rectangle_frag [] = {
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016610 builtin_shadow2DRect,
Eric Anholt47003a82010-08-23 12:39:35 -070016611 builtin_shadow2DRectProj,
16612 builtin_texture2DRect,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016613 builtin_texture2DRectProj,
16614};
Eric Anholt47003a82010-08-23 12:39:35 -070016615static const char *prototypes_for_ARB_texture_rectangle_vert =
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016616 "(\n"
Eric Anholt47003a82010-08-23 12:39:35 -070016617 "(function texture2DRect\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016618 " (signature vec4\n"
16619 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -070016620 " (declare (in) sampler2DRect sampler)\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016621 " (declare (in) vec2 coord))\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016622 " ()))\n"
Eric Anholt47003a82010-08-23 12:39:35 -070016623 "(function texture2DRectProj\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016624 " (signature vec4\n"
16625 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -070016626 " (declare (in) sampler2DRect sampler)\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016627 " (declare (in) vec3 coord))\n"
16628 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016629 " (signature vec4\n"
16630 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -070016631 " (declare (in) sampler2DRect sampler)\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016632 " (declare (in) vec4 coord))\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016633 " ()))\n"
Eric Anholt47003a82010-08-23 12:39:35 -070016634 "(function shadow2DRect\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016635 " (signature vec4\n"
16636 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -070016637 " (declare (in) sampler2DRectShadow sampler)\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016638 " (declare (in) vec3 coord))\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016639 " ()))\n"
Eric Anholt47003a82010-08-23 12:39:35 -070016640 "(function shadow2DRectProj\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016641 " (signature vec4\n"
16642 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -070016643 " (declare (in) sampler2DRectShadow sampler)\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016644 " (declare (in) vec4 coord))\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016645 " ())))"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016646;
Eric Anholt47003a82010-08-23 12:39:35 -070016647static const char *functions_for_ARB_texture_rectangle_vert [] = {
16648 builtin_shadow2DRect,
16649 builtin_shadow2DRectProj,
16650 builtin_texture2DRect,
16651 builtin_texture2DRectProj,
16652};
16653static const char *prototypes_for_EXT_texture_array_frag =
16654 "(\n"
16655 "(function texture1DArray\n"
16656 " (signature vec4\n"
16657 " (parameters\n"
16658 " (declare (in) sampler1DArray sampler)\n"
16659 " (declare (in) vec2 coord))\n"
16660 " ())\n"
16661 " (signature vec4\n"
16662 " (parameters\n"
16663 " (declare (in) sampler1DArray sampler)\n"
16664 " (declare (in) vec2 coord)\n"
16665 " (declare (in) float bias))\n"
16666 " ()))\n"
16667 "(function texture2DArray\n"
16668 " (signature vec4\n"
16669 " (parameters\n"
16670 " (declare (in) sampler2DArray sampler)\n"
16671 " (declare (in) vec3 coord))\n"
16672 " ())\n"
16673 " (signature vec4\n"
16674 " (parameters\n"
16675 " (declare (in) sampler2DArray sampler)\n"
16676 " (declare (in) vec3 coord)\n"
16677 " (declare (in) float bias))\n"
16678 " ()))\n"
16679 "(function shadow1DArray\n"
16680 " (signature vec4\n"
16681 " (parameters\n"
16682 " (declare (in) sampler1DArrayShadow sampler)\n"
16683 " (declare (in) vec3 coord))\n"
16684 " ())\n"
16685 " (signature vec4\n"
16686 " (parameters\n"
16687 " (declare (in) sampler1DArrayShadow sampler)\n"
16688 " (declare (in) vec3 coord)\n"
16689 " (declare (in) float bias))\n"
16690 " ()))\n"
16691 "(function shadow2DArray\n"
16692 " (signature vec4\n"
16693 " (parameters\n"
16694 " (declare (in) sampler2DArrayShadow sampler)\n"
16695 " (declare (in) vec4 coord))\n"
16696 " ())))"
16697;
16698static const char *functions_for_EXT_texture_array_frag [] = {
16699 builtin_shadow1DArray,
16700 builtin_shadow2DArray,
16701 builtin_texture1DArray,
16702 builtin_texture2DArray,
16703};
16704static const char *prototypes_for_EXT_texture_array_vert =
16705 "(\n"
16706 "(function texture1DArray\n"
16707 " (signature vec4\n"
16708 " (parameters\n"
16709 " (declare (in) sampler1DArray sampler)\n"
16710 " (declare (in) vec2 coord))\n"
16711 " ()))\n"
16712 "(function texture1DArrayLod\n"
16713 " (signature vec4\n"
16714 " (parameters\n"
16715 " (declare (in) sampler1DArray sampler)\n"
16716 " (declare (in) vec2 coord)\n"
16717 " (declare (in) float lod))\n"
16718 " ()))\n"
16719 "(function texture2DArray\n"
16720 " (signature vec4\n"
16721 " (parameters\n"
16722 " (declare (in) sampler2DArray sampler)\n"
16723 " (declare (in) vec3 coord))\n"
16724 " ()))\n"
16725 "(function texture2DArrayLod\n"
16726 " (signature vec4\n"
16727 " (parameters\n"
16728 " (declare (in) sampler2DArray sampler)\n"
16729 " (declare (in) vec3 coord)\n"
16730 " (declare (in) float lod))\n"
16731 " ()))\n"
16732 "(function shadow1DArray\n"
16733 " (signature vec4\n"
16734 " (parameters\n"
16735 " (declare (in) sampler1DArrayShadow sampler)\n"
16736 " (declare (in) vec3 coord))\n"
16737 " ()))\n"
16738 "(function shadow1DArrayLod\n"
16739 " (signature vec4\n"
16740 " (parameters\n"
16741 " (declare (in) sampler1DArrayShadow sampler)\n"
16742 " (declare (in) vec3 coord)\n"
16743 " (declare (in) float lod))\n"
16744 " ()))\n"
16745 "(function shadow2DArray\n"
16746 " (signature vec4\n"
16747 " (parameters\n"
16748 " (declare (in) sampler2DArrayShadow sampler)\n"
16749 " (declare (in) vec4 coord))\n"
16750 " ())))"
16751;
16752static const char *functions_for_EXT_texture_array_vert [] = {
16753 builtin_shadow1DArray,
16754 builtin_shadow1DArrayLod,
16755 builtin_shadow2DArray,
16756 builtin_texture1DArray,
16757 builtin_texture1DArrayLod,
16758 builtin_texture2DArray,
16759 builtin_texture2DArrayLod,
Kenneth Graunkeb3262122010-04-28 23:01:33 -070016760};
Eric Anholtc22c4002010-03-26 18:20:30 -070016761
Ian Romanickd5be2ac2010-07-20 11:29:46 -070016762void *builtin_mem_ctx = NULL;
16763
16764void
16765_mesa_glsl_release_functions(void)
16766{
16767 talloc_free(builtin_mem_ctx);
16768}
16769
Eric Anholtc22c4002010-03-26 18:20:30 -070016770void
16771_mesa_glsl_initialize_functions(exec_list *instructions,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016772 struct _mesa_glsl_parse_state *state)
Eric Anholtc22c4002010-03-26 18:20:30 -070016773{
Ian Romanickd5be2ac2010-07-20 11:29:46 -070016774 if (builtin_mem_ctx == NULL)
16775 builtin_mem_ctx = talloc_init("GLSL built-in functions");
Kenneth Graunkeb3262122010-04-28 23:01:33 -070016776
Ian Romanickd5be2ac2010-07-20 11:29:46 -070016777 state->num_builtins_to_link = 0;
Kenneth Graunke4b0029a2010-06-08 16:29:17 -070016778
Eric Anholt47003a82010-08-23 12:39:35 -070016779 if (state->target == fragment_shader && state->language_version == 110) {
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016780 static gl_shader *sh = NULL;
Ian Romanickd5be2ac2010-07-20 11:29:46 -070016781 if (sh == NULL) {
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016782 sh = read_builtins(GL_VERTEX_SHADER,
Eric Anholt47003a82010-08-23 12:39:35 -070016783 prototypes_for_110_frag,
16784 functions_for_110_frag,
16785 Elements(functions_for_110_frag ));
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016786 talloc_steal(builtin_mem_ctx, sh);
Ian Romanickd5be2ac2010-07-20 11:29:46 -070016787 }
16788
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016789 import_prototypes(sh->ir, instructions, state->symbols,
16790 state);
16791 state->builtins_to_link[state->num_builtins_to_link] = sh;
16792 state->num_builtins_to_link++;
16793 }
16794
16795 if (state->target == vertex_shader && state->language_version == 110) {
16796 static gl_shader *sh = NULL;
16797 if (sh == NULL) {
16798 sh = read_builtins(GL_VERTEX_SHADER,
16799 prototypes_for_110_vert,
16800 functions_for_110_vert,
16801 Elements(functions_for_110_vert ));
16802 talloc_steal(builtin_mem_ctx, sh);
16803 }
16804
16805 import_prototypes(sh->ir, instructions, state->symbols,
16806 state);
16807 state->builtins_to_link[state->num_builtins_to_link] = sh;
16808 state->num_builtins_to_link++;
16809 }
16810
Eric Anholt47003a82010-08-23 12:39:35 -070016811 if (state->target == fragment_shader && state->language_version == 120) {
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016812 static gl_shader *sh = NULL;
16813 if (sh == NULL) {
16814 sh = read_builtins(GL_VERTEX_SHADER,
Eric Anholt47003a82010-08-23 12:39:35 -070016815 prototypes_for_120_frag,
16816 functions_for_120_frag,
16817 Elements(functions_for_120_frag ));
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016818 talloc_steal(builtin_mem_ctx, sh);
16819 }
16820
16821 import_prototypes(sh->ir, instructions, state->symbols,
16822 state);
16823 state->builtins_to_link[state->num_builtins_to_link] = sh;
16824 state->num_builtins_to_link++;
16825 }
16826
Eric Anholt47003a82010-08-23 12:39:35 -070016827 if (state->target == vertex_shader && state->language_version == 120) {
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016828 static gl_shader *sh = NULL;
16829 if (sh == NULL) {
16830 sh = read_builtins(GL_VERTEX_SHADER,
Eric Anholt47003a82010-08-23 12:39:35 -070016831 prototypes_for_120_vert,
16832 functions_for_120_vert,
16833 Elements(functions_for_120_vert ));
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016834 talloc_steal(builtin_mem_ctx, sh);
16835 }
16836
16837 import_prototypes(sh->ir, instructions, state->symbols,
16838 state);
16839 state->builtins_to_link[state->num_builtins_to_link] = sh;
16840 state->num_builtins_to_link++;
16841 }
16842
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016843 if (state->target == fragment_shader && state->language_version == 130) {
16844 static gl_shader *sh = NULL;
16845 if (sh == NULL) {
16846 sh = read_builtins(GL_VERTEX_SHADER,
16847 prototypes_for_130_frag,
16848 functions_for_130_frag,
16849 Elements(functions_for_130_frag ));
16850 talloc_steal(builtin_mem_ctx, sh);
16851 }
16852
16853 import_prototypes(sh->ir, instructions, state->symbols,
16854 state);
16855 state->builtins_to_link[state->num_builtins_to_link] = sh;
16856 state->num_builtins_to_link++;
16857 }
16858
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016859 if (state->target == vertex_shader && state->language_version == 130) {
16860 static gl_shader *sh = NULL;
16861 if (sh == NULL) {
16862 sh = read_builtins(GL_VERTEX_SHADER,
16863 prototypes_for_130_vert,
16864 functions_for_130_vert,
16865 Elements(functions_for_130_vert ));
16866 talloc_steal(builtin_mem_ctx, sh);
16867 }
16868
16869 import_prototypes(sh->ir, instructions, state->symbols,
16870 state);
16871 state->builtins_to_link[state->num_builtins_to_link] = sh;
16872 state->num_builtins_to_link++;
16873 }
16874
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016875 if (state->target == fragment_shader && state->ARB_texture_rectangle_enable) {
16876 static gl_shader *sh = NULL;
16877 if (sh == NULL) {
16878 sh = read_builtins(GL_VERTEX_SHADER,
16879 prototypes_for_ARB_texture_rectangle_frag,
16880 functions_for_ARB_texture_rectangle_frag,
16881 Elements(functions_for_ARB_texture_rectangle_frag ));
16882 talloc_steal(builtin_mem_ctx, sh);
16883 }
16884
16885 import_prototypes(sh->ir, instructions, state->symbols,
16886 state);
16887 state->builtins_to_link[state->num_builtins_to_link] = sh;
16888 state->num_builtins_to_link++;
16889 }
16890
Eric Anholt47003a82010-08-23 12:39:35 -070016891 if (state->target == vertex_shader && state->ARB_texture_rectangle_enable) {
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016892 static gl_shader *sh = NULL;
16893 if (sh == NULL) {
16894 sh = read_builtins(GL_VERTEX_SHADER,
Eric Anholt47003a82010-08-23 12:39:35 -070016895 prototypes_for_ARB_texture_rectangle_vert,
16896 functions_for_ARB_texture_rectangle_vert,
16897 Elements(functions_for_ARB_texture_rectangle_vert ));
16898 talloc_steal(builtin_mem_ctx, sh);
16899 }
16900
16901 import_prototypes(sh->ir, instructions, state->symbols,
16902 state);
16903 state->builtins_to_link[state->num_builtins_to_link] = sh;
16904 state->num_builtins_to_link++;
16905 }
16906
16907 if (state->target == fragment_shader && state->EXT_texture_array_enable) {
16908 static gl_shader *sh = NULL;
16909 if (sh == NULL) {
16910 sh = read_builtins(GL_VERTEX_SHADER,
16911 prototypes_for_EXT_texture_array_frag,
16912 functions_for_EXT_texture_array_frag,
16913 Elements(functions_for_EXT_texture_array_frag ));
16914 talloc_steal(builtin_mem_ctx, sh);
16915 }
16916
16917 import_prototypes(sh->ir, instructions, state->symbols,
16918 state);
16919 state->builtins_to_link[state->num_builtins_to_link] = sh;
16920 state->num_builtins_to_link++;
16921 }
16922
16923 if (state->target == vertex_shader && state->EXT_texture_array_enable) {
16924 static gl_shader *sh = NULL;
16925 if (sh == NULL) {
16926 sh = read_builtins(GL_VERTEX_SHADER,
16927 prototypes_for_EXT_texture_array_vert,
16928 functions_for_EXT_texture_array_vert,
16929 Elements(functions_for_EXT_texture_array_vert ));
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016930 talloc_steal(builtin_mem_ctx, sh);
16931 }
16932
16933 import_prototypes(sh->ir, instructions, state->symbols,
16934 state);
Ian Romanickd5be2ac2010-07-20 11:29:46 -070016935 state->builtins_to_link[state->num_builtins_to_link] = sh;
16936 state->num_builtins_to_link++;
16937 }
Kenneth Graunke4b0029a2010-06-08 16:29:17 -070016938
Eric Anholtc22c4002010-03-26 18:20:30 -070016939}