blob: e6feb55759dbba1f182690ed110bc431274793b7 [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>
Chia-I Wubfd7c9a2010-08-23 17:51:42 +080026#include "main/core.h" /* for struct gl_shader */
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;
Kenneth Graunkee9c7cee2010-08-21 20:23:18 -070043 st->symbols->language_version = 130;
Ian Romanickd5be2ac2010-07-20 11:29:46 -070044 st->ARB_texture_rectangle_enable = true;
45 st->EXT_texture_array_enable = true;
46 _mesa_glsl_initialize_types(st);
47
48 sh->ir = new(sh) exec_list;
49 sh->symbols = st->symbols;
Eric Anholtc22c4002010-03-26 18:20:30 -070050
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070051 /* Read the IR containing the prototypes */
52 _mesa_glsl_read_ir(st, sh->ir, protos, true);
53
54 /* Read ALL the function bodies, telling the IR reader not to scan for
55 * prototypes (we've already created them). The IR reader will skip any
56 * signature that does not already exist as a prototype.
57 */
Kenneth Graunkeb3262122010-04-28 23:01:33 -070058 for (unsigned i = 0; i < count; i++) {
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070059 _mesa_glsl_read_ir(st, sh->ir, functions[i], false);
Eric Anholtc22c4002010-03-26 18:20:30 -070060
Kenneth Graunkeb3262122010-04-28 23:01:33 -070061 if (st->error) {
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070062 printf("error reading builtin: %.35s ...\n", functions[i]);
63 talloc_free(sh);
Ian Romanickd5be2ac2010-07-20 11:29:46 -070064 return NULL;
Kenneth Graunkeb3262122010-04-28 23:01:33 -070065 }
Eric Anholtcc4ef152010-04-08 15:35:34 -070066 }
Ian Romanickd5be2ac2010-07-20 11:29:46 -070067
68 reparent_ir(sh->ir, sh);
69 delete st;
70
71 return sh;
Eric Anholtcc4ef152010-04-08 15:35:34 -070072}
73
Eric Anholt47003a82010-08-23 12:39:35 -070074static const char *builtin_abs =
75 "((function abs\n"
76 " (signature float\n"
77 " (parameters\n"
78 " (declare (in) float arg0))\n"
79 " ((return (expression float abs (var_ref arg0)))))\n"
80 "\n"
81 " (signature vec2\n"
82 " (parameters\n"
83 " (declare (in) vec2 arg0))\n"
84 " ((return (expression vec2 abs (var_ref arg0)))))\n"
85 "\n"
86 " (signature vec3\n"
87 " (parameters\n"
88 " (declare (in) vec3 arg0))\n"
89 " ((return (expression vec3 abs (var_ref arg0)))))\n"
90 "\n"
91 " (signature vec4\n"
92 " (parameters\n"
93 " (declare (in) vec4 arg0))\n"
94 " ((return (expression vec4 abs (var_ref arg0)))))\n"
95 "))\n"
96 ""
97;
98static const char *builtin_acos =
99 "((function acos\n"
100 " (signature float\n"
101 " (parameters\n"
102 " (declare (in) float x))\n"
103 " ((return (expression float - (constant float (1.5707963))\n"
104 " (call asin ((var_ref x)))))))\n"
105 " (signature vec2\n"
106 " (parameters\n"
107 " (declare (in) vec2 x))\n"
108 " ((return (expression vec2 - (constant float (1.5707963))\n"
109 " (call asin ((var_ref x)))))))\n"
110 " (signature vec3\n"
111 " (parameters\n"
112 " (declare (in) vec3 x))\n"
113 " ((return (expression vec3 - (constant float (1.5707963))\n"
114 " (call asin ((var_ref x)))))))\n"
115 " (signature vec4\n"
116 " (parameters\n"
117 " (declare (in) vec4 x))\n"
118 " ((return (expression vec4 - (constant float (1.5707963))\n"
119 " (call asin ((var_ref x)))))))\n"
120 "))\n"
121 ""
122;
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700123static const char *builtin_all =
Kenneth Graunkeb3262122010-04-28 23:01:33 -0700124 "((function all\n"
125 " (signature bool\n"
126 " (parameters\n"
127 " (declare (in) bvec2 arg0))\n"
128 " ((return (expression bool && (swiz x (var_ref arg0))(swiz y (var_ref arg0))))))\n"
129 "\n"
130 " (signature bool\n"
131 " (parameters\n"
132 " (declare (in) bvec3 arg0))\n"
133 " ((return (expression bool && (expression bool && (swiz x (var_ref arg0))(swiz y (var_ref arg0))) (swiz z (var_ref arg0))))))\n"
134 "\n"
135 " (signature bool\n"
136 " (parameters\n"
137 " (declare (in) bvec4 arg0))\n"
138 " ((return (expression bool && (expression bool && (expression bool && (swiz x (var_ref arg0))(swiz y (var_ref arg0))) (swiz z (var_ref arg0))) (swiz w (var_ref arg0))))))\n"
139 "))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700140 ""
141;
Eric Anholt47003a82010-08-23 12:39:35 -0700142static const char *builtin_any =
143 "((function any\n"
144 " (signature bool\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700145 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700146 " (declare (in) bvec2 arg0))\n"
Eric Anholtb75645d2010-08-23 12:54:55 -0700147 " ((return (expression bool any (var_ref arg0)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700148 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700149 " (signature bool\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700150 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700151 " (declare (in) bvec3 arg0))\n"
Eric Anholtb75645d2010-08-23 12:54:55 -0700152 " ((return (expression bool any (var_ref arg0)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700153 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700154 " (signature bool\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700155 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700156 " (declare (in) bvec4 arg0))\n"
Eric Anholtb75645d2010-08-23 12:54:55 -0700157 " ((return (expression bool any (var_ref arg0)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700158 "))\n"
159 ""
160;
161static const char *builtin_asin =
162 "((function asin\n"
163 " (signature float\n"
164 " (parameters\n"
165 " (declare (in) float x))\n"
166 " ((return (expression float *\n"
167 " (expression float sign (var_ref x))\n"
168 " (expression float -\n"
169 " (expression float *\n"
170 " (constant float (3.1415926))\n"
171 " (constant float (0.5)))\n"
172 " (expression float *\n"
173 " (expression float sqrt\n"
174 " (expression float -\n"
175 " (constant float (1.0))\n"
176 " (expression float abs (var_ref x))))\n"
177 " (expression float +\n"
178 " (constant float (1.5707288))\n"
179 " (expression float *\n"
180 " (expression float abs (var_ref x))\n"
181 " (expression float +\n"
182 " (constant float (-0.2121144))\n"
183 " (expression float *\n"
184 " (constant float (0.0742610))\n"
185 " (expression float abs (var_ref x))))))))))))\n"
186 "\n"
187 " (signature vec2\n"
188 " (parameters\n"
189 " (declare (in) vec2 x))\n"
190 " ((return (expression vec2 *\n"
191 " (expression vec2 sign (var_ref x))\n"
192 " (expression vec2 -\n"
193 " (expression float *\n"
194 " (constant float (3.1415926))\n"
195 " (constant float (0.5)))\n"
196 " (expression vec2 *\n"
197 " (expression vec2 sqrt\n"
198 " (expression vec2 -\n"
199 " (constant float (1.0))\n"
200 " (expression vec2 abs (var_ref x))))\n"
201 " (expression vec2 +\n"
202 " (constant float (1.5707288))\n"
203 " (expression vec2 *\n"
204 " (expression vec2 abs (var_ref x))\n"
205 " (expression vec2 +\n"
206 " (constant float (-0.2121144))\n"
207 " (expression vec2 *\n"
208 " (constant float (0.0742610))\n"
209 " (expression vec2 abs (var_ref x))))))))))))\n"
210 "\n"
211 " (signature vec3\n"
212 " (parameters\n"
213 " (declare (in) vec3 x))\n"
214 " ((return (expression vec3 *\n"
215 " (expression vec3 sign (var_ref x))\n"
216 " (expression vec3 -\n"
217 " (expression float *\n"
218 " (constant float (3.1415926))\n"
219 " (constant float (0.5)))\n"
220 " (expression vec3 *\n"
221 " (expression vec3 sqrt\n"
222 " (expression vec3 -\n"
223 " (constant float (1.0))\n"
224 " (expression vec3 abs (var_ref x))))\n"
225 " (expression vec3 +\n"
226 " (constant float (1.5707288))\n"
227 " (expression vec3 *\n"
228 " (expression vec3 abs (var_ref x))\n"
229 " (expression vec3 +\n"
230 " (constant float (-0.2121144))\n"
231 " (expression vec3 *\n"
232 " (constant float (0.0742610))\n"
233 " (expression vec3 abs (var_ref x))))))))))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700234 "\n"
235 " (signature vec4\n"
236 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700237 " (declare (in) vec4 x))\n"
238 " ((return (expression vec4 *\n"
239 " (expression vec4 sign (var_ref x))\n"
240 " (expression vec4 -\n"
241 " (expression float *\n"
242 " (constant float (3.1415926))\n"
243 " (constant float (0.5)))\n"
244 " (expression vec4 *\n"
245 " (expression vec4 sqrt\n"
246 " (expression vec4 -\n"
247 " (constant float (1.0))\n"
248 " (expression vec4 abs (var_ref x))))\n"
249 " (expression vec4 +\n"
250 " (constant float (1.5707288))\n"
251 " (expression vec4 *\n"
252 " (expression vec4 abs (var_ref x))\n"
253 " (expression vec4 +\n"
254 " (constant float (-0.2121144))\n"
255 " (expression vec4 *\n"
256 " (constant float (0.0742610))\n"
257 " (expression vec4 abs (var_ref x))))))))))))\n"
258 "))\n"
259 ""
260;
261static const char *builtin_atan =
262 "((function atan\n"
263 " (signature float\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700264 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700265 " (declare (in) float x))\n"
266 " ((return (call asin ((expression float *\n"
267 " (var_ref x)\n"
268 " (expression float rsq\n"
269 " (expression float +\n"
270 " (expression float *\n"
271 " (var_ref x)\n"
272 " (var_ref x))\n"
273 " (constant float (1.0))))))))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700274 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700275 " (signature vec2\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700276 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700277 " (declare (in) vec2 y_over_x))\n"
278 " ((return (call asin ((expression vec2 *\n"
279 " (var_ref y_over_x)\n"
280 " (expression vec2 rsq\n"
281 " (expression vec2 +\n"
282 " (expression vec2 *\n"
283 " (var_ref y_over_x)\n"
284 " (var_ref y_over_x))\n"
285 " (constant float (1.0))))))))))\n"
286 "\n"
287 " (signature vec3\n"
288 " (parameters\n"
289 " (declare (in) vec3 y_over_x))\n"
290 " ((return (call asin ((expression vec3 *\n"
291 " (var_ref y_over_x)\n"
292 " (expression vec3 rsq\n"
293 " (expression vec3 +\n"
294 " (expression vec3 *\n"
295 " (var_ref y_over_x)\n"
296 " (var_ref y_over_x))\n"
297 " (constant float (1.0))))))))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700298 "\n"
299 " (signature vec4\n"
300 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700301 " (declare (in) vec4 y_over_x))\n"
302 " ((return (call asin ((expression vec4 *\n"
303 " (var_ref y_over_x)\n"
304 " (expression vec4 rsq\n"
305 " (expression vec4 +\n"
306 " (expression vec4 *\n"
307 " (var_ref y_over_x)\n"
308 " (var_ref y_over_x))\n"
309 " (constant float (1.0))))))))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700310 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700311 " (signature float\n"
312 " (parameters\n"
313 " (declare (in ) float y)\n"
314 " (declare (in ) float x)\n"
315 " )\n"
316 " (\n"
317 " (declare () float r)\n"
318 " (declare ( ) float abs_retval)\n"
319 " (assign (constant bool (1)) (var_ref abs_retval) (call abs ((var_ref x) ))\n"
320 ") \n"
321 " (if (expression bool > (var_ref abs_retval) (constant float (0.000100)) ) (\n"
322 " (declare ( ) float atan_retval)\n"
323 " (assign (constant bool (1)) (var_ref atan_retval) (call atan ((expression float / (var_ref y) (var_ref x) ) ))\n"
324 ") \n"
325 " (assign (constant bool (1)) (var_ref r) (var_ref atan_retval) ) \n"
326 " (if (expression bool < (var_ref x) (constant float (0.000000)) ) (\n"
Brian Paul16c73342010-08-31 19:13:09 -0600327 "\n"
328 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700329 " (if (expression bool >= (var_ref y) (constant float (0.000000)) ) (\n"
330 " (declare ( ) float assignment_tmp)\n"
331 " (assign (constant bool (1)) (var_ref assignment_tmp) (expression float + (var_ref r) (constant float (3.141593)) ) ) \n"
332 " (assign (constant bool (1)) (var_ref r) (var_ref assignment_tmp) ) \n"
333 " )\n"
334 " (\n"
335 " (declare ( ) float assignment_tmp)\n"
336 " (assign (constant bool (1)) (var_ref assignment_tmp) (expression float - (var_ref r) (constant float (3.141593)) ) ) \n"
337 " (assign (constant bool (1)) (var_ref r) (var_ref assignment_tmp) ) \n"
338 " ))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700339 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700340 " )\n"
341 " (\n"
342 " ))\n"
343 "\n"
344 " )\n"
345 " (\n"
Brian Paul16c73342010-08-31 19:13:09 -0600346 "\n"
347 " (declare () float sgn)\n"
348 " (assign (constant bool (1)) (var_ref sgn) (expression float sign (var_ref y)))\n"
349 " (assign (constant bool (1)) (var_ref r) (expression float * (var_ref sgn) (constant float (1.5707965))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700350 "\n"
351 " ))\n"
352 "\n"
353 " (return (var_ref r) )\n"
354 " ))\n"
355 "\n"
356 "\n"
357 "\n"
358 " (signature vec2\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700359 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700360 " (declare (in) vec2 y)\n"
361 " (declare (in) vec2 x))\n"
362 " ((declare () vec2 r)\n"
363 " (assign (constant bool (1))\n"
364 " (swiz x (var_ref r))\n"
365 " (call atan ((swiz x (var_ref y))\n"
366 " (swiz x (var_ref x)))))\n"
367 " (assign (constant bool (1))\n"
368 " (swiz y (var_ref r))\n"
369 " (call atan ((swiz y (var_ref y))\n"
370 " (swiz y (var_ref x)))))\n"
371 " (return (var_ref r))))\n"
372 "\n"
373 " (signature vec3\n"
374 " (parameters\n"
375 " (declare (in) vec3 y)\n"
376 " (declare (in) vec3 x))\n"
377 " ((declare () vec3 r)\n"
378 " (assign (constant bool (1))\n"
379 " (swiz x (var_ref r))\n"
380 " (call atan ((swiz x (var_ref y))\n"
381 " (swiz x (var_ref x)))))\n"
382 " (assign (constant bool (1))\n"
383 " (swiz y (var_ref r))\n"
384 " (call atan ((swiz y (var_ref y))\n"
385 " (swiz y (var_ref x)))))\n"
386 " (assign (constant bool (1))\n"
387 " (swiz z (var_ref r))\n"
388 " (call atan ((swiz z (var_ref y))\n"
389 " (swiz z (var_ref x)))))\n"
390 " (return (var_ref r))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700391 "\n"
392 " (signature vec4\n"
393 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700394 " (declare (in) vec4 y)\n"
395 " (declare (in) vec4 x))\n"
396 " ((declare () vec4 r)\n"
397 " (assign (constant bool (1))\n"
398 " (swiz x (var_ref r))\n"
399 " (call atan ((swiz x (var_ref y))\n"
400 " (swiz x (var_ref x)))))\n"
401 " (assign (constant bool (1))\n"
402 " (swiz y (var_ref r))\n"
403 " (call atan ((swiz y (var_ref y))\n"
404 " (swiz y (var_ref x)))))\n"
405 " (assign (constant bool (1))\n"
406 " (swiz z (var_ref r))\n"
407 " (call atan ((swiz z (var_ref y))\n"
408 " (swiz z (var_ref x)))))\n"
409 " (assign (constant bool (1))\n"
410 " (swiz w (var_ref r))\n"
411 " (call atan ((swiz w (var_ref y))\n"
412 " (swiz w (var_ref x)))))\n"
413 " (return (var_ref r)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700414 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700415 "))\n"
416 ""
417;
418static const char *builtin_ceil =
419 "((function ceil\n"
420 " (signature float\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700421 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700422 " (declare (in) float arg0))\n"
423 " ((return (expression float ceil (var_ref arg0)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700424 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700425 " (signature vec2\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700426 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700427 " (declare (in) vec2 arg0))\n"
428 " ((return (expression vec2 ceil (var_ref arg0)))))\n"
429 "\n"
430 " (signature vec3\n"
431 " (parameters\n"
432 " (declare (in) vec3 arg0))\n"
433 " ((return (expression vec3 ceil (var_ref arg0)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700434 "\n"
435 " (signature vec4\n"
436 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700437 " (declare (in) vec4 arg0))\n"
438 " ((return (expression vec4 ceil (var_ref arg0)))))\n"
439 "))\n"
440 ""
441;
442static const char *builtin_clamp =
443 "((function clamp\n"
444 " (signature float\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700445 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700446 " (declare (in) float arg0)\n"
447 " (declare (in) float arg1)\n"
448 " (declare (in) float arg2))\n"
449 " ((return (expression float max (expression float min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700450 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700451 " (signature vec2\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700452 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700453 " (declare (in) vec2 arg0)\n"
454 " (declare (in) vec2 arg1)\n"
455 " (declare (in) vec2 arg2))\n"
456 " ((return (expression vec2 max (expression vec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
457 "\n"
458 " (signature vec3\n"
459 " (parameters\n"
460 " (declare (in) vec3 arg0)\n"
461 " (declare (in) vec3 arg1)\n"
462 " (declare (in) vec3 arg2))\n"
463 " ((return (expression vec3 max (expression vec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700464 "\n"
465 " (signature vec4\n"
466 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700467 " (declare (in) vec4 arg0)\n"
468 " (declare (in) vec4 arg1)\n"
469 " (declare (in) vec4 arg2))\n"
470 " ((return (expression vec4 max (expression vec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700471 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700472 " (signature vec2\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700473 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700474 " (declare (in) vec2 arg0)\n"
475 " (declare (in) float arg1)\n"
476 " (declare (in) float arg2))\n"
477 " ((return (expression vec2 max (expression vec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700478 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700479 " (signature vec3\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700480 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700481 " (declare (in) vec3 arg0)\n"
482 " (declare (in) float arg1)\n"
483 " (declare (in) float arg2))\n"
484 " ((return (expression vec3 max (expression vec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700485 "\n"
486 " (signature vec4\n"
487 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700488 " (declare (in) vec4 arg0)\n"
489 " (declare (in) float arg1)\n"
490 " (declare (in) float arg2))\n"
491 " ((return (expression vec4 max (expression vec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
492 "\n"
493 " (signature int\n"
494 " (parameters\n"
495 " (declare (in) int arg0)\n"
496 " (declare (in) int arg1)\n"
497 " (declare (in) int arg2))\n"
498 " ((return (expression int max (expression int min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
499 "\n"
500 " (signature ivec2\n"
501 " (parameters\n"
502 " (declare (in) ivec2 arg0)\n"
503 " (declare (in) ivec2 arg1)\n"
504 " (declare (in) ivec2 arg2))\n"
505 " ((return (expression ivec2 max (expression ivec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
506 "\n"
507 " (signature ivec3\n"
508 " (parameters\n"
509 " (declare (in) ivec3 arg0)\n"
510 " (declare (in) ivec3 arg1)\n"
511 " (declare (in) ivec3 arg2))\n"
512 " ((return (expression ivec3 max (expression ivec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700513 "\n"
514 " (signature ivec4\n"
515 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700516 " (declare (in) ivec4 arg0)\n"
517 " (declare (in) ivec4 arg1)\n"
518 " (declare (in) ivec4 arg2))\n"
519 " ((return (expression ivec4 max (expression ivec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
520 "\n"
521 " (signature ivec2\n"
522 " (parameters\n"
523 " (declare (in) ivec2 arg0)\n"
524 " (declare (in) int arg1)\n"
525 " (declare (in) int arg2))\n"
526 " ((return (expression ivec2 max (expression ivec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
527 "\n"
528 " (signature ivec3\n"
529 " (parameters\n"
530 " (declare (in) ivec3 arg0)\n"
531 " (declare (in) int arg1)\n"
532 " (declare (in) int arg2))\n"
533 " ((return (expression ivec3 max (expression ivec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
534 "\n"
535 " (signature ivec4\n"
536 " (parameters\n"
537 " (declare (in) ivec4 arg0)\n"
538 " (declare (in) int arg1)\n"
539 " (declare (in) int arg2))\n"
540 " ((return (expression ivec4 max (expression ivec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
541 "\n"
542 " (signature uint\n"
543 " (parameters\n"
544 " (declare (in) uint arg0)\n"
545 " (declare (in) uint arg1)\n"
546 " (declare (in) uint arg2))\n"
547 " ((return (expression uint max (expression uint min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
548 "\n"
549 " (signature uvec2\n"
550 " (parameters\n"
551 " (declare (in) uvec2 arg0)\n"
552 " (declare (in) uvec2 arg1)\n"
553 " (declare (in) uvec2 arg2))\n"
554 " ((return (expression uvec2 max (expression uvec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
555 "\n"
556 " (signature uvec3\n"
557 " (parameters\n"
558 " (declare (in) uvec3 arg0)\n"
559 " (declare (in) uvec3 arg1)\n"
560 " (declare (in) uvec3 arg2))\n"
561 " ((return (expression uvec3 max (expression uvec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700562 "\n"
563 " (signature uvec4\n"
564 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700565 " (declare (in) uvec4 arg0)\n"
566 " (declare (in) uvec4 arg1)\n"
567 " (declare (in) uvec4 arg2))\n"
568 " ((return (expression uvec4 max (expression uvec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
569 "\n"
570 " (signature uvec2\n"
571 " (parameters\n"
572 " (declare (in) uvec2 arg0)\n"
573 " (declare (in) uint arg1)\n"
574 " (declare (in) uint arg2))\n"
575 " ((return (expression uvec2 max (expression uvec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
576 "\n"
577 " (signature uvec3\n"
578 " (parameters\n"
579 " (declare (in) uvec3 arg0)\n"
580 " (declare (in) uint arg1)\n"
581 " (declare (in) uint arg2))\n"
582 " ((return (expression uvec3 max (expression uvec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
583 "\n"
584 " (signature uvec4\n"
585 " (parameters\n"
586 " (declare (in) uvec4 arg0)\n"
587 " (declare (in) uint arg1)\n"
588 " (declare (in) uint arg2))\n"
589 " ((return (expression uvec4 max (expression uvec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
590 "))\n"
591 ""
592;
593static const char *builtin_cos =
594 "((function cos\n"
595 " (signature float\n"
596 " (parameters\n"
597 " (declare (in) float angle))\n"
598 " ((return (expression float cos (var_ref angle)))))\n"
599 "\n"
600 " (signature vec2\n"
601 " (parameters\n"
602 " (declare (in) vec2 angle))\n"
603 " ((return (expression vec2 cos (var_ref angle)))))\n"
604 "\n"
605 " (signature vec3\n"
606 " (parameters\n"
607 " (declare (in) vec3 angle))\n"
608 " ((return (expression vec3 cos (var_ref angle)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700609 "\n"
610 " (signature vec4\n"
611 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700612 " (declare (in) vec4 angle))\n"
613 " ((return (expression vec4 cos (var_ref angle)))))\n"
614 "))\n"
615 ""
616;
617static const char *builtin_cosh =
618 "((function cosh\n"
619 " (signature float\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700620 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700621 " (declare (in) float x))\n"
622 " ((return (expression float * (constant float (0.5))\n"
623 " (expression float +\n"
624 " (expression float exp (var_ref x))\n"
625 " (expression float exp (expression float neg (var_ref x))))))))\n"
626 " (signature vec2\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700627 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700628 " (declare (in) vec2 x))\n"
629 " ((return (expression vec2 * (constant vec2 (0.5))\n"
630 " (expression vec2 +\n"
631 " (expression vec2 exp (var_ref x))\n"
632 " (expression vec2 exp (expression vec2 neg (var_ref x))))))))\n"
633 " (signature vec3\n"
634 " (parameters\n"
635 " (declare (in) vec3 x))\n"
636 " ((return (expression vec3 * (constant vec3 (0.5))\n"
637 " (expression vec3 +\n"
638 " (expression vec3 exp (var_ref x))\n"
639 " (expression vec3 exp (expression vec3 neg (var_ref x))))))))\n"
640 " (signature vec4\n"
641 " (parameters\n"
642 " (declare (in) vec4 x))\n"
643 " ((return (expression vec4 * (constant vec4 (0.5))\n"
644 " (expression vec4 +\n"
645 " (expression vec4 exp (var_ref x))\n"
646 " (expression vec4 exp (expression vec4 neg (var_ref x))))))))\n"
647 "))\n"
648 ""
649;
650static const char *builtin_cross =
651 "((function cross\n"
652 " (signature vec3\n"
653 " (parameters\n"
654 " (declare (in) vec3 arg0)\n"
655 " (declare (in) vec3 arg1))\n"
656 " ((return (expression vec3 cross (var_ref arg0) (var_ref arg1)))))\n"
657 "))\n"
658 ""
659;
660static const char *builtin_dFdx =
661 "((function dFdx\n"
662 " (signature float\n"
663 " (parameters\n"
664 " (declare (in) float p))\n"
665 " ((return (expression float dFdx (var_ref p)))))\n"
666 "\n"
667 " (signature vec2\n"
668 " (parameters\n"
669 " (declare (in) vec2 p))\n"
670 " ((return (expression vec2 dFdx (var_ref p)))))\n"
671 "\n"
672 " (signature vec3\n"
673 " (parameters\n"
674 " (declare (in) vec3 p))\n"
675 " ((return (expression vec3 dFdx (var_ref p)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700676 "\n"
677 " (signature vec4\n"
678 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700679 " (declare (in) vec4 p))\n"
680 " ((return (expression vec4 dFdx (var_ref p)))))\n"
681 "))\n"
682 ""
683;
684static const char *builtin_dFdy =
685 "((function dFdy\n"
686 " (signature float\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700687 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700688 " (declare (in) float p))\n"
689 " ((return (expression float dFdy (var_ref p)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700690 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700691 " (signature vec2\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700692 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700693 " (declare (in) vec2 p))\n"
694 " ((return (expression vec2 dFdy (var_ref p)))))\n"
695 "\n"
696 " (signature vec3\n"
697 " (parameters\n"
698 " (declare (in) vec3 p))\n"
699 " ((return (expression vec3 dFdy (var_ref p)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700700 "\n"
701 " (signature vec4\n"
702 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700703 " (declare (in) vec4 p))\n"
704 " ((return (expression vec4 dFdy (var_ref p)))))\n"
705 "))\n"
706 ""
707;
708static const char *builtin_degrees =
709 "((function degrees\n"
710 " (signature float\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700711 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700712 " (declare (in) float arg0))\n"
713 " ((return (expression float * (var_ref arg0) (constant float (57.295780))))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700714 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700715 " (signature vec2\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700716 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700717 " (declare (in) vec2 arg0))\n"
718 " ((return (expression vec2 * (var_ref arg0) (constant float (57.295780))))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700719 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700720 " (signature vec3\n"
721 " (parameters\n"
722 " (declare (in) vec3 arg0))\n"
723 " ((return (expression vec3 * (var_ref arg0) (constant float (57.295780))))))\n"
724 "\n"
725 " (signature vec4\n"
726 " (parameters\n"
727 " (declare (in) vec4 arg0))\n"
728 " ((return (expression vec4 * (var_ref arg0) (constant float (57.295780))))))\n"
729 "))\n"
730 ""
731;
732static const char *builtin_distance =
733 "((function distance\n"
734 " (signature float\n"
735 " (parameters\n"
736 " (declare (in) float p0)\n"
737 " (declare (in) float p1))\n"
738 " ((declare () float p)\n"
739 " (assign (constant bool (1)) (var_ref p) (expression float - (var_ref p0) (var_ref p1)))\n"
740 " (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))\n"
741 "\n"
742 " (signature float\n"
743 " (parameters\n"
744 " (declare (in) vec2 p0)\n"
745 " (declare (in) vec2 p1))\n"
746 " ((declare () vec2 p)\n"
747 " (assign (constant bool (1)) (var_ref p) (expression vec2 - (var_ref p0) (var_ref p1)))\n"
748 " (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))\n"
749 "\n"
750 " (signature float\n"
751 " (parameters\n"
752 " (declare (in) vec3 p0)\n"
753 " (declare (in) vec3 p1))\n"
754 " ((declare () vec3 p)\n"
755 " (assign (constant bool (1)) (var_ref p) (expression vec3 - (var_ref p0) (var_ref p1)))\n"
756 " (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))\n"
757 "\n"
758 " (signature float\n"
759 " (parameters\n"
760 " (declare (in) vec4 p0)\n"
761 " (declare (in) vec4 p1))\n"
762 " ((declare () vec4 p)\n"
763 " (assign (constant bool (1)) (var_ref p) (expression vec4 - (var_ref p0) (var_ref p1)))\n"
764 " (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))\n"
765 "))\n"
766 ""
767;
768static const char *builtin_dot =
769 "((function dot\n"
770 " (signature float\n"
771 " (parameters\n"
772 " (declare (in) float arg0)\n"
773 " (declare (in) float arg1))\n"
774 " ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
775 "\n"
776 " (signature float\n"
777 " (parameters\n"
778 " (declare (in) vec2 arg0)\n"
779 " (declare (in) vec2 arg1))\n"
780 " ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
781 "\n"
782 " (signature float\n"
783 " (parameters\n"
784 " (declare (in) vec3 arg0)\n"
785 " (declare (in) vec3 arg1))\n"
786 " ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
787 "\n"
788 " (signature float\n"
789 " (parameters\n"
790 " (declare (in) vec4 arg0)\n"
791 " (declare (in) vec4 arg1))\n"
792 " ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
793 "))\n"
794 ""
795;
796static const char *builtin_equal =
797 "((function equal\n"
798 " (signature bvec2\n"
799 " (parameters\n"
800 " (declare (in) vec2 arg0)\n"
801 " (declare (in) vec2 arg1))\n"
802 " ((declare () bvec2 temp)\n"
803 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
804 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
805 " (return (var_ref temp))))\n"
806 "\n"
807 " (signature bvec3\n"
808 " (parameters\n"
809 " (declare (in) vec3 arg0)\n"
810 " (declare (in) vec3 arg1))\n"
811 " ((declare () bvec3 temp)\n"
812 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
813 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
814 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
815 " (return (var_ref temp))))\n"
816 "\n"
817 " (signature bvec4\n"
818 " (parameters\n"
819 " (declare (in) vec4 arg0)\n"
820 " (declare (in) vec4 arg1))\n"
821 " ((declare () bvec4 temp)\n"
822 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
823 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
824 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
825 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool == (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
826 " (return (var_ref temp))))\n"
827 "\n"
828 " (signature bvec2\n"
829 " (parameters\n"
830 " (declare (in) ivec2 arg0)\n"
831 " (declare (in) ivec2 arg1))\n"
832 " ((declare () bvec2 temp)\n"
833 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
834 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
835 " (return (var_ref temp))))\n"
836 "\n"
837 " (signature bvec3\n"
838 " (parameters\n"
839 " (declare (in) ivec3 arg0)\n"
840 " (declare (in) ivec3 arg1))\n"
841 " ((declare () bvec3 temp)\n"
842 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
843 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
844 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
845 " (return (var_ref temp))))\n"
846 "\n"
847 " (signature bvec4\n"
848 " (parameters\n"
849 " (declare (in) ivec4 arg0)\n"
850 " (declare (in) ivec4 arg1))\n"
851 " ((declare () bvec4 temp)\n"
852 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
853 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
854 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
855 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool == (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
856 " (return (var_ref temp))))\n"
857 "\n"
858 " (signature bvec2\n"
859 " (parameters\n"
860 " (declare (in) uvec2 arg0)\n"
861 " (declare (in) uvec2 arg1))\n"
862 " ((declare () bvec2 temp)\n"
863 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
864 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
865 " (return (var_ref temp))))\n"
866 "\n"
867 " (signature bvec3\n"
868 " (parameters\n"
869 " (declare (in) uvec3 arg0)\n"
870 " (declare (in) uvec3 arg1))\n"
871 " ((declare () bvec3 temp)\n"
872 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
873 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
874 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
875 " (return (var_ref temp))))\n"
876 "\n"
877 " (signature bvec4\n"
878 " (parameters\n"
879 " (declare (in) uvec4 arg0)\n"
880 " (declare (in) uvec4 arg1))\n"
881 " ((declare () bvec4 temp)\n"
882 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
883 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
884 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
885 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool == (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
886 " (return (var_ref temp))))\n"
887 "))\n"
888 ""
889;
890static const char *builtin_exp =
891 "((function exp\n"
892 " (signature float\n"
893 " (parameters\n"
894 " (declare (in) float arg0))\n"
895 " ((return (expression float exp (var_ref arg0)))))\n"
896 "\n"
897 " (signature vec2\n"
898 " (parameters\n"
899 " (declare (in) vec2 arg0))\n"
900 " ((return (expression vec2 exp (var_ref arg0)))))\n"
901 "\n"
902 " (signature vec3\n"
903 " (parameters\n"
904 " (declare (in) vec3 arg0))\n"
905 " ((return (expression vec3 exp (var_ref arg0)))))\n"
906 "\n"
907 " (signature vec4\n"
908 " (parameters\n"
909 " (declare (in) vec4 arg0))\n"
910 " ((return (expression vec4 exp (var_ref arg0)))))\n"
911 "))\n"
912 ""
913;
914static const char *builtin_exp2 =
915 "((function exp2\n"
916 " (signature float\n"
917 " (parameters\n"
918 " (declare (in) float arg0))\n"
919 " ((return (expression float exp2 (var_ref arg0)))))\n"
920 "\n"
921 " (signature vec2\n"
922 " (parameters\n"
923 " (declare (in) vec2 arg0))\n"
924 " ((return (expression vec2 exp2 (var_ref arg0)))))\n"
925 "\n"
926 " (signature vec3\n"
927 " (parameters\n"
928 " (declare (in) vec3 arg0))\n"
929 " ((return (expression vec3 exp2 (var_ref arg0)))))\n"
930 "\n"
931 " (signature vec4\n"
932 " (parameters\n"
933 " (declare (in) vec4 arg0))\n"
934 " ((return (expression vec4 exp2 (var_ref arg0)))))\n"
935 "))\n"
936 ""
937;
938static const char *builtin_faceforward =
939 "((function faceforward\n"
940 " (signature float\n"
941 " (parameters\n"
942 " (declare (in) float N)\n"
943 " (declare (in) float I)\n"
944 " (declare (in) float Nref))\n"
945 " ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n"
946 " ((return (var_ref N)))\n"
947 " ((return (expression float neg (var_ref N)))))))\n"
948 "\n"
949 " (signature vec2\n"
950 " (parameters\n"
951 " (declare (in) vec2 N)\n"
952 " (declare (in) vec2 I)\n"
953 " (declare (in) vec2 Nref))\n"
954 " ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n"
955 " ((return (var_ref N)))\n"
956 " ((return (expression vec2 neg (var_ref N)))))))\n"
957 "\n"
958 " (signature vec3\n"
959 " (parameters\n"
960 " (declare (in) vec3 N)\n"
961 " (declare (in) vec3 I)\n"
962 " (declare (in) vec3 Nref))\n"
963 " ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n"
964 " ((return (var_ref N)))\n"
965 " ((return (expression vec3 neg (var_ref N)))))))\n"
966 "\n"
967 " (signature vec4\n"
968 " (parameters\n"
969 " (declare (in) vec4 N)\n"
970 " (declare (in) vec4 I)\n"
971 " (declare (in) vec4 Nref))\n"
972 " ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n"
973 " ((return (var_ref N)))\n"
974 " ((return (expression vec4 neg (var_ref N)))))))\n"
975 "))\n"
976 ""
977;
978static const char *builtin_floor =
979 "((function floor\n"
980 " (signature float\n"
981 " (parameters\n"
982 " (declare (in) float arg0))\n"
983 " ((return (expression float floor (var_ref arg0)))))\n"
984 "\n"
985 " (signature vec2\n"
986 " (parameters\n"
987 " (declare (in) vec2 arg0))\n"
988 " ((return (expression vec2 floor (var_ref arg0)))))\n"
989 "\n"
990 " (signature vec3\n"
991 " (parameters\n"
992 " (declare (in) vec3 arg0))\n"
993 " ((return (expression vec3 floor (var_ref arg0)))))\n"
994 "\n"
995 " (signature vec4\n"
996 " (parameters\n"
997 " (declare (in) vec4 arg0))\n"
998 " ((return (expression vec4 floor (var_ref arg0)))))\n"
999 "))\n"
1000 ""
1001;
1002static const char *builtin_fract =
1003 "((function fract\n"
1004 " (signature float\n"
1005 " (parameters\n"
1006 " (declare (in) float x))\n"
1007 " ((return (expression float fract (var_ref x)))))\n"
1008 "\n"
1009 " (signature vec2\n"
1010 " (parameters\n"
1011 " (declare (in) vec2 x))\n"
1012 " ((return (expression vec2 fract (var_ref x)))))\n"
1013 "\n"
1014 " (signature vec3\n"
1015 " (parameters\n"
1016 " (declare (in) vec3 x))\n"
1017 " ((return (expression vec3 fract (var_ref x)))))\n"
1018 "\n"
1019 " (signature vec4\n"
1020 " (parameters\n"
1021 " (declare (in) vec4 x))\n"
1022 " ((return (expression vec4 fract (var_ref x)))))\n"
1023 "))\n"
1024 "\n"
1025 ""
1026;
1027static const char *builtin_ftransform =
1028 "((declare (uniform) mat4 gl_ModelViewProjectionMatrix)\n"
1029 " (declare (in) vec4 gl_Vertex)\n"
1030 " (function ftransform\n"
1031 " (signature vec4\n"
1032 " (parameters)\n"
1033 " ((return (expression vec4 *\n"
1034 " (var_ref gl_ModelViewProjectionMatrix)\n"
1035 " (var_ref gl_Vertex)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07001036 "))\n"
1037 ""
1038;
1039static const char *builtin_fwidth =
1040 "((function fwidth\n"
1041 " (signature float\n"
1042 " (parameters\n"
1043 " (declare (in) float p))\n"
1044 " ((return (expression float +\n"
1045 " (expression float abs (expression float dFdx (var_ref p)))\n"
1046 " (expression float abs (expression float dFdy (var_ref p)))))))\n"
1047 "\n"
1048 " (signature vec2\n"
1049 " (parameters\n"
1050 " (declare (in) vec2 p))\n"
1051 " ((return (expression vec2 +\n"
1052 " (expression vec2 abs (expression vec2 dFdx (var_ref p)))\n"
1053 " (expression vec2 abs (expression vec2 dFdy (var_ref p)))))))\n"
1054 "\n"
1055 " (signature vec3\n"
1056 " (parameters\n"
1057 " (declare (in) vec3 p))\n"
1058 " ((return (expression vec3 +\n"
1059 " (expression vec3 abs (expression vec3 dFdx (var_ref p)))\n"
1060 " (expression vec3 abs (expression vec3 dFdy (var_ref p)))))))\n"
1061 "\n"
1062 " (signature vec4\n"
1063 " (parameters\n"
1064 " (declare (in) vec4 p))\n"
1065 " ((return (expression vec4 +\n"
1066 " (expression vec4 abs (expression vec4 dFdx (var_ref p)))\n"
1067 " (expression vec4 abs (expression vec4 dFdy (var_ref p)))))))\n"
1068 "))\n"
1069 ""
1070;
Eric Anholt47003a82010-08-23 12:39:35 -07001071static const char *builtin_greaterThan =
1072 "((function greaterThan\n"
1073 " (signature bvec2\n"
1074 " (parameters\n"
1075 " (declare (in) vec2 arg0)\n"
1076 " (declare (in) vec2 arg1))\n"
1077 " ((declare () bvec2 temp)\n"
1078 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1079 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1080 " (return (var_ref temp))))\n"
1081 "\n"
1082 " (signature bvec3\n"
1083 " (parameters\n"
1084 " (declare (in) vec3 arg0)\n"
1085 " (declare (in) vec3 arg1))\n"
1086 " ((declare () bvec3 temp)\n"
1087 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1088 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1089 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1090 " (return (var_ref temp))))\n"
1091 "\n"
1092 " (signature bvec4\n"
1093 " (parameters\n"
1094 " (declare (in) vec4 arg0)\n"
1095 " (declare (in) vec4 arg1))\n"
1096 " ((declare () bvec4 temp)\n"
1097 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1098 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1099 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1100 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool > (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1101 " (return (var_ref temp))))\n"
1102 "\n"
1103 " (signature bvec2\n"
1104 " (parameters\n"
1105 " (declare (in) ivec2 arg0)\n"
1106 " (declare (in) ivec2 arg1))\n"
1107 " ((declare () bvec2 temp)\n"
1108 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1109 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1110 " (return (var_ref temp))))\n"
1111 "\n"
1112 " (signature bvec3\n"
1113 " (parameters\n"
1114 " (declare (in) ivec3 arg0)\n"
1115 " (declare (in) ivec3 arg1))\n"
1116 " ((declare () bvec3 temp)\n"
1117 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1118 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1119 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1120 " (return (var_ref temp))))\n"
1121 "\n"
1122 " (signature bvec4\n"
1123 " (parameters\n"
1124 " (declare (in) ivec4 arg0)\n"
1125 " (declare (in) ivec4 arg1))\n"
1126 " ((declare () bvec4 temp)\n"
1127 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1128 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1129 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1130 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool > (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1131 " (return (var_ref temp))))\n"
1132 "\n"
1133 " (signature bvec2\n"
1134 " (parameters\n"
1135 " (declare (in) uvec2 arg0)\n"
1136 " (declare (in) uvec2 arg1))\n"
1137 " ((declare () bvec2 temp)\n"
1138 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1139 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1140 " (return (var_ref temp))))\n"
1141 "\n"
1142 " (signature bvec3\n"
1143 " (parameters\n"
1144 " (declare (in) uvec3 arg0)\n"
1145 " (declare (in) uvec3 arg1))\n"
1146 " ((declare () bvec3 temp)\n"
1147 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1148 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1149 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1150 " (return (var_ref temp))))\n"
1151 "\n"
1152 " (signature bvec4\n"
1153 " (parameters\n"
1154 " (declare (in) uvec4 arg0)\n"
1155 " (declare (in) uvec4 arg1))\n"
1156 " ((declare () bvec4 temp)\n"
1157 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1158 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1159 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1160 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool > (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1161 " (return (var_ref temp))))\n"
1162 "))\n"
1163 ""
1164;
1165static const char *builtin_greaterThanEqual =
1166 "((function greaterThanEqual\n"
1167 " (signature bvec2\n"
1168 " (parameters\n"
1169 " (declare (in) vec2 arg0)\n"
1170 " (declare (in) vec2 arg1))\n"
1171 " ((declare () bvec2 temp)\n"
1172 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1173 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1174 " (return (var_ref temp))))\n"
1175 "\n"
1176 " (signature bvec3\n"
1177 " (parameters\n"
1178 " (declare (in) vec3 arg0)\n"
1179 " (declare (in) vec3 arg1))\n"
1180 " ((declare () bvec3 temp)\n"
1181 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1182 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1183 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1184 " (return (var_ref temp))))\n"
1185 "\n"
1186 " (signature bvec4\n"
1187 " (parameters\n"
1188 " (declare (in) vec4 arg0)\n"
1189 " (declare (in) vec4 arg1))\n"
1190 " ((declare () bvec4 temp)\n"
1191 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1192 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1193 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1194 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool >= (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1195 " (return (var_ref temp))))\n"
1196 "\n"
1197 " (signature bvec2\n"
1198 " (parameters\n"
1199 " (declare (in) ivec2 arg0)\n"
1200 " (declare (in) ivec2 arg1))\n"
1201 " ((declare () bvec2 temp)\n"
1202 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1203 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1204 " (return (var_ref temp))))\n"
1205 "\n"
1206 " (signature bvec3\n"
1207 " (parameters\n"
1208 " (declare (in) ivec3 arg0)\n"
1209 " (declare (in) ivec3 arg1))\n"
1210 " ((declare () bvec3 temp)\n"
1211 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1212 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1213 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1214 " (return (var_ref temp))))\n"
1215 "\n"
1216 " (signature bvec4\n"
1217 " (parameters\n"
1218 " (declare (in) ivec4 arg0)\n"
1219 " (declare (in) ivec4 arg1))\n"
1220 " ((declare () bvec4 temp)\n"
1221 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1222 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1223 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1224 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool >= (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1225 " (return (var_ref temp))))\n"
1226 "\n"
1227 " (signature bvec2\n"
1228 " (parameters\n"
1229 " (declare (in) uvec2 arg0)\n"
1230 " (declare (in) uvec2 arg1))\n"
1231 " ((declare () bvec2 temp)\n"
1232 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1233 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1234 " (return (var_ref temp))))\n"
1235 "\n"
1236 " (signature bvec3\n"
1237 " (parameters\n"
1238 " (declare (in) uvec3 arg0)\n"
1239 " (declare (in) uvec3 arg1))\n"
1240 " ((declare () bvec3 temp)\n"
1241 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1242 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1243 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1244 " (return (var_ref temp))))\n"
1245 "\n"
1246 " (signature bvec4\n"
1247 " (parameters\n"
1248 " (declare (in) uvec4 arg0)\n"
1249 " (declare (in) uvec4 arg1))\n"
1250 " ((declare () bvec4 temp)\n"
1251 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1252 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1253 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1254 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool >= (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1255 " (return (var_ref temp))))\n"
1256 "))\n"
1257 ""
1258;
1259static const char *builtin_inversesqrt =
1260 "((function inversesqrt\n"
1261 " (signature float\n"
1262 " (parameters\n"
1263 " (declare (in) float arg0))\n"
1264 " ((return (expression float rsq (var_ref arg0)))))\n"
1265 "\n"
1266 " (signature vec2\n"
1267 " (parameters\n"
1268 " (declare (in) vec2 arg0))\n"
1269 " ((return (expression vec2 rsq (var_ref arg0)))))\n"
1270 "\n"
1271 " (signature vec3\n"
1272 " (parameters\n"
1273 " (declare (in) vec3 arg0))\n"
1274 " ((return (expression vec3 rsq (var_ref arg0)))))\n"
1275 "\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07001276 " (signature vec4\n"
1277 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001278 " (declare (in) vec4 arg0))\n"
1279 " ((return (expression vec4 rsq (var_ref arg0)))))\n"
1280 "))\n"
1281 ""
1282;
1283static const char *builtin_length =
1284 "((function length\n"
1285 " (signature float\n"
1286 " (parameters\n"
1287 " (declare (in) float arg0))\n"
1288 " ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
1289 "\n"
1290 " (signature float\n"
1291 " (parameters\n"
1292 " (declare (in) vec2 arg0))\n"
1293 " ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
1294 "\n"
1295 " (signature float\n"
1296 " (parameters\n"
1297 " (declare (in) vec3 arg0))\n"
1298 " ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
1299 "\n"
1300 " (signature float\n"
1301 " (parameters\n"
1302 " (declare (in) vec4 arg0))\n"
1303 " ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
1304 "))\n"
1305 ""
1306;
1307static const char *builtin_lessThan =
1308 "((function lessThan\n"
1309 " (signature bvec2\n"
1310 " (parameters\n"
1311 " (declare (in) vec2 arg0)\n"
1312 " (declare (in) vec2 arg1))\n"
1313 " ((declare () bvec2 temp)\n"
1314 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1315 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1316 " (return (var_ref temp))))\n"
1317 "\n"
1318 " (signature bvec3\n"
1319 " (parameters\n"
1320 " (declare (in) vec3 arg0)\n"
1321 " (declare (in) vec3 arg1))\n"
1322 " ((declare () bvec3 temp)\n"
1323 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1324 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1325 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1326 " (return (var_ref temp))))\n"
1327 "\n"
1328 " (signature bvec4\n"
1329 " (parameters\n"
1330 " (declare (in) vec4 arg0)\n"
1331 " (declare (in) vec4 arg1))\n"
1332 " ((declare () bvec4 temp)\n"
1333 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1334 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1335 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1336 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool < (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1337 " (return (var_ref temp))))\n"
1338 "\n"
1339 " (signature bvec2\n"
1340 " (parameters\n"
1341 " (declare (in) ivec2 arg0)\n"
1342 " (declare (in) ivec2 arg1))\n"
1343 " ((declare () bvec2 temp)\n"
1344 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1345 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1346 " (return (var_ref temp))))\n"
1347 "\n"
1348 " (signature bvec3\n"
1349 " (parameters\n"
1350 " (declare (in) ivec3 arg0)\n"
1351 " (declare (in) ivec3 arg1))\n"
1352 " ((declare () bvec3 temp)\n"
1353 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1354 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1355 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1356 " (return (var_ref temp))))\n"
1357 "\n"
1358 " (signature bvec4\n"
1359 " (parameters\n"
1360 " (declare (in) ivec4 arg0)\n"
1361 " (declare (in) ivec4 arg1))\n"
1362 " ((declare () bvec4 temp)\n"
1363 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1364 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1365 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1366 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool < (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1367 " (return (var_ref temp))))\n"
1368 "\n"
1369 " (signature bvec2\n"
1370 " (parameters\n"
1371 " (declare (in) uvec2 arg0)\n"
1372 " (declare (in) uvec2 arg1))\n"
1373 " ((declare () bvec2 temp)\n"
1374 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1375 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1376 " (return (var_ref temp))))\n"
1377 "\n"
1378 " (signature bvec3\n"
1379 " (parameters\n"
1380 " (declare (in) uvec3 arg0)\n"
1381 " (declare (in) uvec3 arg1))\n"
1382 " ((declare () bvec3 temp)\n"
1383 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1384 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1385 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1386 " (return (var_ref temp))))\n"
1387 "\n"
1388 " (signature bvec4\n"
1389 " (parameters\n"
1390 " (declare (in) uvec4 arg0)\n"
1391 " (declare (in) uvec4 arg1))\n"
1392 " ((declare () bvec4 temp)\n"
1393 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1394 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1395 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1396 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool < (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1397 " (return (var_ref temp))))\n"
1398 "))\n"
1399 ""
1400;
1401static const char *builtin_lessThanEqual =
1402 "((function lessThanEqual\n"
1403 " (signature bvec2\n"
1404 " (parameters\n"
1405 " (declare (in) vec2 arg0)\n"
1406 " (declare (in) vec2 arg1))\n"
1407 " ((declare () bvec2 temp)\n"
1408 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1409 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1410 " (return (var_ref temp))))\n"
1411 "\n"
1412 " (signature bvec3\n"
1413 " (parameters\n"
1414 " (declare (in) vec3 arg0)\n"
1415 " (declare (in) vec3 arg1))\n"
1416 " ((declare () bvec3 temp)\n"
1417 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1418 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1419 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1420 " (return (var_ref temp))))\n"
1421 "\n"
1422 " (signature bvec4\n"
1423 " (parameters\n"
1424 " (declare (in) vec4 arg0)\n"
1425 " (declare (in) vec4 arg1))\n"
1426 " ((declare () bvec4 temp)\n"
1427 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1428 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1429 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1430 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool <= (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1431 " (return (var_ref temp))))\n"
1432 "\n"
1433 " (signature bvec2\n"
1434 " (parameters\n"
1435 " (declare (in) ivec2 arg0)\n"
1436 " (declare (in) ivec2 arg1))\n"
1437 " ((declare () bvec2 temp)\n"
1438 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1439 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1440 " (return (var_ref temp))))\n"
1441 "\n"
1442 " (signature bvec3\n"
1443 " (parameters\n"
1444 " (declare (in) ivec3 arg0)\n"
1445 " (declare (in) ivec3 arg1))\n"
1446 " ((declare () bvec3 temp)\n"
1447 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1448 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1449 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1450 " (return (var_ref temp))))\n"
1451 "\n"
1452 " (signature bvec4\n"
1453 " (parameters\n"
1454 " (declare (in) ivec4 arg0)\n"
1455 " (declare (in) ivec4 arg1))\n"
1456 " ((declare () bvec4 temp)\n"
1457 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1458 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1459 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1460 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool <= (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1461 " (return (var_ref temp))))\n"
1462 "\n"
1463 " (signature bvec2\n"
1464 " (parameters\n"
1465 " (declare (in) uvec2 arg0)\n"
1466 " (declare (in) uvec2 arg1))\n"
1467 " ((declare () bvec2 temp)\n"
1468 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1469 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1470 " (return (var_ref temp))))\n"
1471 "\n"
1472 " (signature bvec3\n"
1473 " (parameters\n"
1474 " (declare (in) uvec3 arg0)\n"
1475 " (declare (in) uvec3 arg1))\n"
1476 " ((declare () bvec3 temp)\n"
1477 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1478 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1479 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1480 " (return (var_ref temp))))\n"
1481 "\n"
1482 " (signature bvec4\n"
1483 " (parameters\n"
1484 " (declare (in) uvec4 arg0)\n"
1485 " (declare (in) uvec4 arg1))\n"
1486 " ((declare () bvec4 temp)\n"
1487 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1488 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1489 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1490 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool <= (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1491 " (return (var_ref temp))))\n"
1492 "))\n"
1493 ""
1494;
1495static const char *builtin_log =
1496 "((function log\n"
1497 " (signature float\n"
1498 " (parameters\n"
1499 " (declare (in) float arg0))\n"
1500 " ((return (expression float log (var_ref arg0)))))\n"
1501 "\n"
1502 " (signature vec2\n"
1503 " (parameters\n"
1504 " (declare (in) vec2 arg0))\n"
1505 " ((return (expression vec2 log (var_ref arg0)))))\n"
1506 "\n"
1507 " (signature vec3\n"
1508 " (parameters\n"
1509 " (declare (in) vec3 arg0))\n"
1510 " ((return (expression vec3 log (var_ref arg0)))))\n"
1511 "\n"
1512 " (signature vec4\n"
1513 " (parameters\n"
1514 " (declare (in) vec4 arg0))\n"
1515 " ((return (expression vec4 log (var_ref arg0)))))\n"
1516 "))\n"
1517 ""
1518;
1519static const char *builtin_log2 =
1520 "((function log2\n"
1521 " (signature float\n"
1522 " (parameters\n"
1523 " (declare (in) float arg0))\n"
1524 " ((return (expression float log2 (var_ref arg0)))))\n"
1525 "\n"
1526 " (signature vec2\n"
1527 " (parameters\n"
1528 " (declare (in) vec2 arg0))\n"
1529 " ((return (expression vec2 log2 (var_ref arg0)))))\n"
1530 "\n"
1531 " (signature vec3\n"
1532 " (parameters\n"
1533 " (declare (in) vec3 arg0))\n"
1534 " ((return (expression vec3 log2 (var_ref arg0)))))\n"
1535 "\n"
1536 " (signature vec4\n"
1537 " (parameters\n"
1538 " (declare (in) vec4 arg0))\n"
1539 " ((return (expression vec4 log2 (var_ref arg0)))))\n"
1540 "))\n"
1541 ""
1542;
1543static const char *builtin_matrixCompMult =
1544 "((function matrixCompMult\n"
1545 " (signature mat2\n"
1546 " (parameters\n"
1547 " (declare (in) mat2 x)\n"
1548 " (declare (in) mat2 y))\n"
1549 " ((declare () mat2 z)\n"
1550 " (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"
1551 " (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"
1552 "(return (var_ref z))))\n"
1553 "\n"
1554 " (signature mat3\n"
1555 " (parameters\n"
1556 " (declare (in) mat3 x)\n"
1557 " (declare (in) mat3 y))\n"
1558 " ((declare () mat3 z)\n"
1559 " (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"
1560 " (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"
1561 " (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"
1562 "(return (var_ref z))))\n"
1563 "\n"
1564 " (signature mat4\n"
1565 " (parameters\n"
1566 " (declare (in) mat4 x)\n"
1567 " (declare (in) mat4 y))\n"
1568 " ((declare () mat4 z)\n"
1569 " (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"
1570 " (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"
1571 " (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"
1572 " (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"
1573 "(return (var_ref z))))\n"
1574 "\n"
1575 " (signature mat2x3\n"
1576 " (parameters\n"
1577 " (declare (in) mat2x3 x)\n"
1578 " (declare (in) mat2x3 y))\n"
1579 " ((declare () mat2x3 z)\n"
1580 " (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"
1581 " (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"
1582 "(return (var_ref z))))\n"
1583 "\n"
1584 " (signature mat3x2\n"
1585 " (parameters\n"
1586 " (declare (in) mat3x2 x)\n"
1587 " (declare (in) mat3x2 y))\n"
1588 " ((declare () mat3x2 z)\n"
1589 " (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"
1590 " (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"
1591 " (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"
1592 "(return (var_ref z))))\n"
1593 "\n"
1594 " (signature mat2x4\n"
1595 " (parameters\n"
1596 " (declare (in) mat2x4 x)\n"
1597 " (declare (in) mat2x4 y))\n"
1598 " ((declare () mat2x4 z)\n"
1599 " (assign (constant bool (1)) (array_ref (var_ref z) (constant int (0))) (expression vec4 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0))))) \n"
1600 " (assign (constant bool (1)) (array_ref (var_ref z) (constant int (1))) (expression vec4 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1))))) \n"
1601 "(return (var_ref z))))\n"
1602 "\n"
1603 " (signature mat4x2\n"
1604 " (parameters\n"
1605 " (declare (in) mat4x2 x)\n"
1606 " (declare (in) mat4x2 y))\n"
1607 " ((declare () mat4x2 z)\n"
1608 " (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"
1609 " (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"
1610 " (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"
1611 " (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"
1612 "(return (var_ref z))))\n"
1613 "\n"
1614 " (signature mat3x4\n"
1615 " (parameters\n"
1616 " (declare (in) mat3x4 x)\n"
1617 " (declare (in) mat3x4 y))\n"
1618 " ((declare () mat3x4 z)\n"
1619 " (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"
1620 " (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"
1621 " (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"
1622 "(return (var_ref z))))\n"
1623 "\n"
1624 " (signature mat4x3\n"
1625 " (parameters\n"
1626 " (declare (in) mat4x3 x)\n"
1627 " (declare (in) mat4x3 y))\n"
1628 " ((declare () mat4x3 z)\n"
1629 " (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"
1630 " (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"
1631 " (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"
1632 " (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"
1633 "(return (var_ref z))))\n"
1634 "))\n"
1635 ""
1636;
1637static const char *builtin_max =
1638 "((function max\n"
1639 " (signature float\n"
1640 " (parameters\n"
1641 " (declare (in) float arg0)\n"
1642 " (declare (in) float arg1))\n"
1643 " ((return (expression float max (var_ref arg0) (var_ref arg1)))))\n"
1644 "\n"
1645 " (signature vec2\n"
1646 " (parameters\n"
1647 " (declare (in) vec2 arg0)\n"
1648 " (declare (in) vec2 arg1))\n"
1649 " ((return (expression vec2 max (var_ref arg0) (var_ref arg1)))))\n"
1650 "\n"
1651 " (signature vec3\n"
1652 " (parameters\n"
1653 " (declare (in) vec3 arg0)\n"
1654 " (declare (in) vec3 arg1))\n"
1655 " ((return (expression vec3 max (var_ref arg0) (var_ref arg1)))))\n"
1656 "\n"
1657 " (signature vec4\n"
1658 " (parameters\n"
1659 " (declare (in) vec4 arg0)\n"
1660 " (declare (in) vec4 arg1))\n"
1661 " ((return (expression vec4 max (var_ref arg0) (var_ref arg1)))))\n"
1662 "\n"
1663 " (signature vec2\n"
1664 " (parameters\n"
1665 " (declare (in) vec2 arg0)\n"
1666 " (declare (in) float arg1))\n"
1667 " ((return (expression vec2 max (var_ref arg0) (var_ref arg1)))))\n"
1668 "\n"
1669 " (signature vec3\n"
1670 " (parameters\n"
1671 " (declare (in) vec3 arg0)\n"
1672 " (declare (in) float arg1))\n"
1673 " ((return (expression vec3 max (var_ref arg0) (var_ref arg1)))))\n"
1674 "\n"
1675 " (signature vec4\n"
1676 " (parameters\n"
1677 " (declare (in) vec4 arg0)\n"
1678 " (declare (in) float arg1))\n"
1679 " ((return (expression vec4 max (var_ref arg0) (var_ref arg1)))))\n"
1680 "\n"
1681 " (signature int\n"
1682 " (parameters\n"
1683 " (declare (in) int arg0)\n"
1684 " (declare (in) int arg1))\n"
1685 " ((return (expression int max (var_ref arg0) (var_ref arg1)))))\n"
1686 "\n"
1687 " (signature ivec2\n"
1688 " (parameters\n"
1689 " (declare (in) ivec2 arg0)\n"
1690 " (declare (in) ivec2 arg1))\n"
1691 " ((return (expression ivec2 max (var_ref arg0) (var_ref arg1)))))\n"
1692 "\n"
1693 " (signature ivec3\n"
1694 " (parameters\n"
1695 " (declare (in) ivec3 arg0)\n"
1696 " (declare (in) ivec3 arg1))\n"
1697 " ((return (expression ivec3 max (var_ref arg0) (var_ref arg1)))))\n"
1698 "\n"
1699 " (signature ivec4\n"
1700 " (parameters\n"
1701 " (declare (in) ivec4 arg0)\n"
1702 " (declare (in) ivec4 arg1))\n"
1703 " ((return (expression ivec4 max (var_ref arg0) (var_ref arg1)))))\n"
1704 "\n"
1705 " (signature ivec2\n"
1706 " (parameters\n"
1707 " (declare (in) ivec2 arg0)\n"
1708 " (declare (in) int arg1))\n"
1709 " ((return (expression ivec2 max (var_ref arg0) (var_ref arg1)))))\n"
1710 "\n"
1711 " (signature ivec3\n"
1712 " (parameters\n"
1713 " (declare (in) ivec3 arg0)\n"
1714 " (declare (in) int arg1))\n"
1715 " ((return (expression ivec3 max (var_ref arg0) (var_ref arg1)))))\n"
1716 "\n"
1717 " (signature ivec4\n"
1718 " (parameters\n"
1719 " (declare (in) ivec4 arg0)\n"
1720 " (declare (in) int arg1))\n"
1721 " ((return (expression ivec4 max (var_ref arg0) (var_ref arg1)))))\n"
1722 "\n"
1723 " (signature uint\n"
1724 " (parameters\n"
1725 " (declare (in) uint arg0)\n"
1726 " (declare (in) uint arg1))\n"
1727 " ((return (expression uint max (var_ref arg0) (var_ref arg1)))))\n"
1728 "\n"
1729 " (signature uvec2\n"
1730 " (parameters\n"
1731 " (declare (in) uvec2 arg0)\n"
1732 " (declare (in) uvec2 arg1))\n"
1733 " ((return (expression uvec2 max (var_ref arg0) (var_ref arg1)))))\n"
1734 "\n"
1735 " (signature uvec3\n"
1736 " (parameters\n"
1737 " (declare (in) uvec3 arg0)\n"
1738 " (declare (in) uvec3 arg1))\n"
1739 " ((return (expression uvec3 max (var_ref arg0) (var_ref arg1)))))\n"
1740 "\n"
1741 " (signature uvec4\n"
1742 " (parameters\n"
1743 " (declare (in) uvec4 arg0)\n"
1744 " (declare (in) uvec4 arg1))\n"
1745 " ((return (expression uvec4 max (var_ref arg0) (var_ref arg1)))))\n"
1746 "\n"
1747 " (signature uvec2\n"
1748 " (parameters\n"
1749 " (declare (in) uvec2 arg0)\n"
1750 " (declare (in) uint arg1))\n"
1751 " ((return (expression uvec2 max (var_ref arg0) (var_ref arg1)))))\n"
1752 "\n"
1753 " (signature uvec3\n"
1754 " (parameters\n"
1755 " (declare (in) uvec3 arg0)\n"
1756 " (declare (in) uint arg1))\n"
1757 " ((return (expression uvec3 max (var_ref arg0) (var_ref arg1)))))\n"
1758 "\n"
1759 " (signature uvec4\n"
1760 " (parameters\n"
1761 " (declare (in) uvec4 arg0)\n"
1762 " (declare (in) uint arg1))\n"
1763 " ((return (expression uvec4 max (var_ref arg0) (var_ref arg1)))))\n"
1764 "))\n"
1765 ""
1766;
1767static const char *builtin_min =
1768 "((function min\n"
1769 " (signature float\n"
1770 " (parameters\n"
1771 " (declare (in) float arg0)\n"
1772 " (declare (in) float arg1))\n"
1773 " ((return (expression float min (var_ref arg0) (var_ref arg1)))))\n"
1774 "\n"
1775 " (signature vec2\n"
1776 " (parameters\n"
1777 " (declare (in) vec2 arg0)\n"
1778 " (declare (in) vec2 arg1))\n"
1779 " ((return (expression vec2 min (var_ref arg0) (var_ref arg1)))))\n"
1780 "\n"
1781 " (signature vec3\n"
1782 " (parameters\n"
1783 " (declare (in) vec3 arg0)\n"
1784 " (declare (in) vec3 arg1))\n"
1785 " ((return (expression vec3 min (var_ref arg0) (var_ref arg1)))))\n"
1786 "\n"
1787 " (signature vec4\n"
1788 " (parameters\n"
1789 " (declare (in) vec4 arg0)\n"
1790 " (declare (in) vec4 arg1))\n"
1791 " ((return (expression vec4 min (var_ref arg0) (var_ref arg1)))))\n"
1792 "\n"
1793 " (signature vec2\n"
1794 " (parameters\n"
1795 " (declare (in) vec2 arg0)\n"
1796 " (declare (in) float arg1))\n"
1797 " ((return (expression vec2 min (var_ref arg0) (var_ref arg1)))))\n"
1798 "\n"
1799 " (signature vec3\n"
1800 " (parameters\n"
1801 " (declare (in) vec3 arg0)\n"
1802 " (declare (in) float arg1))\n"
1803 " ((return (expression vec3 min (var_ref arg0) (var_ref arg1)))))\n"
1804 "\n"
1805 " (signature vec4\n"
1806 " (parameters\n"
1807 " (declare (in) vec4 arg0)\n"
1808 " (declare (in) float arg1))\n"
1809 " ((return (expression vec4 min (var_ref arg0) (var_ref arg1)))))\n"
1810 "\n"
1811 " (signature int\n"
1812 " (parameters\n"
1813 " (declare (in) int arg0)\n"
1814 " (declare (in) int arg1))\n"
1815 " ((return (expression int min (var_ref arg0) (var_ref arg1)))))\n"
1816 "\n"
1817 " (signature ivec2\n"
1818 " (parameters\n"
1819 " (declare (in) ivec2 arg0)\n"
1820 " (declare (in) ivec2 arg1))\n"
1821 " ((return (expression ivec2 min (var_ref arg0) (var_ref arg1)))))\n"
1822 "\n"
1823 " (signature ivec3\n"
1824 " (parameters\n"
1825 " (declare (in) ivec3 arg0)\n"
1826 " (declare (in) ivec3 arg1))\n"
1827 " ((return (expression ivec3 min (var_ref arg0) (var_ref arg1)))))\n"
1828 "\n"
1829 " (signature ivec4\n"
1830 " (parameters\n"
1831 " (declare (in) ivec4 arg0)\n"
1832 " (declare (in) ivec4 arg1))\n"
1833 " ((return (expression ivec4 min (var_ref arg0) (var_ref arg1)))))\n"
1834 "\n"
1835 " (signature ivec2\n"
1836 " (parameters\n"
1837 " (declare (in) ivec2 arg0)\n"
1838 " (declare (in) int arg1))\n"
1839 " ((return (expression ivec2 min (var_ref arg0) (var_ref arg1)))))\n"
1840 "\n"
1841 " (signature ivec3\n"
1842 " (parameters\n"
1843 " (declare (in) ivec3 arg0)\n"
1844 " (declare (in) int arg1))\n"
1845 " ((return (expression ivec3 min (var_ref arg0) (var_ref arg1)))))\n"
1846 "\n"
1847 " (signature ivec4\n"
1848 " (parameters\n"
1849 " (declare (in) ivec4 arg0)\n"
1850 " (declare (in) int arg1))\n"
1851 " ((return (expression ivec4 min (var_ref arg0) (var_ref arg1)))))\n"
1852 "\n"
1853 " (signature uint\n"
1854 " (parameters\n"
1855 " (declare (in) uint arg0)\n"
1856 " (declare (in) uint arg1))\n"
1857 " ((return (expression uint min (var_ref arg0) (var_ref arg1)))))\n"
1858 "\n"
1859 " (signature uvec2\n"
1860 " (parameters\n"
1861 " (declare (in) uvec2 arg0)\n"
1862 " (declare (in) uvec2 arg1))\n"
1863 " ((return (expression uvec2 min (var_ref arg0) (var_ref arg1)))))\n"
1864 "\n"
1865 " (signature uvec3\n"
1866 " (parameters\n"
1867 " (declare (in) uvec3 arg0)\n"
1868 " (declare (in) uvec3 arg1))\n"
1869 " ((return (expression uvec3 min (var_ref arg0) (var_ref arg1)))))\n"
1870 "\n"
1871 " (signature uvec4\n"
1872 " (parameters\n"
1873 " (declare (in) uvec4 arg0)\n"
1874 " (declare (in) uvec4 arg1))\n"
1875 " ((return (expression uvec4 min (var_ref arg0) (var_ref arg1)))))\n"
1876 "\n"
1877 " (signature uvec2\n"
1878 " (parameters\n"
1879 " (declare (in) uvec2 arg0)\n"
1880 " (declare (in) uint arg1))\n"
1881 " ((return (expression uvec2 min (var_ref arg0) (var_ref arg1)))))\n"
1882 "\n"
1883 " (signature uvec3\n"
1884 " (parameters\n"
1885 " (declare (in) uvec3 arg0)\n"
1886 " (declare (in) uint arg1))\n"
1887 " ((return (expression uvec3 min (var_ref arg0) (var_ref arg1)))))\n"
1888 "\n"
1889 " (signature uvec4\n"
1890 " (parameters\n"
1891 " (declare (in) uvec4 arg0)\n"
1892 " (declare (in) uint arg1))\n"
1893 " ((return (expression uvec4 min (var_ref arg0) (var_ref arg1)))))\n"
1894 "))\n"
1895 ""
1896;
1897static const char *builtin_mix =
1898 "((function mix\n"
1899 " (signature float\n"
1900 " (parameters\n"
1901 " (declare (in) float arg0)\n"
1902 " (declare (in) float arg1)\n"
1903 " (declare (in) float arg2))\n"
1904 " ((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"
1905 "\n"
1906 " (signature vec2\n"
1907 " (parameters\n"
1908 " (declare (in) vec2 arg0)\n"
1909 " (declare (in) vec2 arg1)\n"
1910 " (declare (in) vec2 arg2))\n"
1911 " ((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"
1912 "\n"
1913 " (signature vec3\n"
1914 " (parameters\n"
1915 " (declare (in) vec3 arg0)\n"
1916 " (declare (in) vec3 arg1)\n"
1917 " (declare (in) vec3 arg2))\n"
1918 " ((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"
1919 "\n"
1920 " (signature vec4\n"
1921 " (parameters\n"
1922 " (declare (in) vec4 arg0)\n"
1923 " (declare (in) vec4 arg1)\n"
1924 " (declare (in) vec4 arg2))\n"
1925 " ((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"
1926 "\n"
1927 " (signature vec2\n"
1928 " (parameters\n"
1929 " (declare (in) vec2 arg0)\n"
1930 " (declare (in) vec2 arg1)\n"
1931 " (declare (in) float arg2))\n"
1932 " ((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"
1933 "\n"
1934 " (signature vec3\n"
1935 " (parameters\n"
1936 " (declare (in) vec3 arg0)\n"
1937 " (declare (in) vec3 arg1)\n"
1938 " (declare (in) float arg2))\n"
1939 " ((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"
1940 "\n"
1941 " (signature vec4\n"
1942 " (parameters\n"
1943 " (declare (in) vec4 arg0)\n"
1944 " (declare (in) vec4 arg1)\n"
1945 " (declare (in) float arg2))\n"
1946 " ((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"
1947 "\n"
1948 " (signature float\n"
1949 " (parameters\n"
1950 " (declare (in) float v1)\n"
1951 " (declare (in) float v2)\n"
1952 " (declare (in) bool a))\n"
1953 " ((assign (var_ref a) (var_ref v1) (var_ref v2))\n"
1954 " (return (var_ref v1))))\n"
1955 "\n"
1956 " (signature vec2\n"
1957 " (parameters\n"
1958 " (declare (in) vec2 v1)\n"
1959 " (declare (in) vec2 v2)\n"
1960 " (declare (in) bvec2 a))\n"
1961 " ((assign (swiz x (var_ref a)) (swiz x (var_ref v1)) (swiz x (var_ref v2)))\n"
1962 " (assign (swiz y (var_ref a)) (swiz y (var_ref v1)) (swiz y (var_ref v2)))\n"
1963 " (return (var_ref v1))))\n"
1964 "\n"
1965 " (signature vec3\n"
1966 " (parameters\n"
1967 " (declare (in) vec3 v1)\n"
1968 " (declare (in) vec3 v2)\n"
1969 " (declare (in) bvec3 a))\n"
1970 " ((assign (swiz x (var_ref a)) (swiz x (var_ref v1)) (swiz x (var_ref v2)))\n"
1971 " (assign (swiz y (var_ref a)) (swiz y (var_ref v1)) (swiz y (var_ref v2)))\n"
1972 " (assign (swiz z (var_ref a)) (swiz z (var_ref v1)) (swiz z (var_ref v2)))\n"
1973 " (return (var_ref v1))))\n"
1974 "\n"
1975 " (signature vec4\n"
1976 " (parameters\n"
1977 " (declare (in) vec4 v1)\n"
1978 " (declare (in) vec4 v2)\n"
1979 " (declare (in) bvec4 a))\n"
1980 " ((assign (swiz x (var_ref a)) (swiz x (var_ref v1)) (swiz x (var_ref v2)))\n"
1981 " (assign (swiz y (var_ref a)) (swiz y (var_ref v1)) (swiz y (var_ref v2)))\n"
1982 " (assign (swiz z (var_ref a)) (swiz z (var_ref v1)) (swiz z (var_ref v2)))\n"
1983 " (assign (swiz w (var_ref a)) (swiz w (var_ref v1)) (swiz w (var_ref v2)))\n"
1984 " (return (var_ref v1))))\n"
1985 "))\n"
1986 ""
1987;
1988static const char *builtin_mod =
1989 "((function mod\n"
1990 " (signature float\n"
1991 " (parameters\n"
1992 " (declare (in) float arg0)\n"
1993 " (declare (in) float arg1))\n"
1994 " ((return (expression float % (var_ref arg0) (var_ref arg1)))))\n"
1995 "\n"
1996 " (signature vec2\n"
1997 " (parameters\n"
1998 " (declare (in) vec2 arg0)\n"
1999 " (declare (in) vec2 arg1))\n"
2000 " ((return (expression vec2 % (var_ref arg0) (var_ref arg1)))))\n"
2001 "\n"
2002 " (signature vec3\n"
2003 " (parameters\n"
2004 " (declare (in) vec3 arg0)\n"
2005 " (declare (in) vec3 arg1))\n"
2006 " ((return (expression vec3 % (var_ref arg0) (var_ref arg1)))))\n"
2007 "\n"
2008 " (signature vec4\n"
2009 " (parameters\n"
2010 " (declare (in) vec4 arg0)\n"
2011 " (declare (in) vec4 arg1))\n"
2012 " ((return (expression vec4 % (var_ref arg0) (var_ref arg1)))))\n"
2013 "\n"
2014 " (signature vec2\n"
2015 " (parameters\n"
2016 " (declare (in) vec2 arg0)\n"
2017 " (declare (in) float arg1))\n"
2018 " ((return (expression vec2 % (var_ref arg0) (var_ref arg1)))))\n"
2019 "\n"
2020 " (signature vec3\n"
2021 " (parameters\n"
2022 " (declare (in) vec3 arg0)\n"
2023 " (declare (in) float arg1))\n"
2024 " ((return (expression vec3 % (var_ref arg0) (var_ref arg1)))))\n"
2025 "\n"
2026 " (signature vec4\n"
2027 " (parameters\n"
2028 " (declare (in) vec4 arg0)\n"
2029 " (declare (in) float arg1))\n"
2030 " ((return (expression vec4 % (var_ref arg0) (var_ref arg1)))))\n"
2031 "))\n"
2032 ""
2033;
2034static const char *builtin_noise1 =
2035 "((function noise1\n"
2036 " (signature float\n"
2037 " (parameters\n"
2038 " (declare (in) float x))\n"
2039 " ((return (constant float (0)))))\n"
2040 " (signature float\n"
2041 " (parameters\n"
2042 " (declare (in) vec2 x))\n"
2043 " ((return (constant float (0)))))\n"
2044 " (signature float\n"
2045 " (parameters\n"
2046 " (declare (in) vec3 x))\n"
2047 " ((return (constant float (0)))))\n"
2048 " (signature float\n"
2049 " (parameters\n"
2050 " (declare (in) vec4 x))\n"
2051 " ((return (constant float (0)))))\n"
2052 "))\n"
2053 ""
2054;
2055static const char *builtin_noise2 =
2056 "((function noise2\n"
2057 " (signature vec2\n"
2058 " (parameters\n"
2059 " (declare (in) float x))\n"
2060 " ((return (constant vec2 (0 0)))))\n"
2061 " (signature vec2\n"
2062 " (parameters\n"
2063 " (declare (in) vec2 x))\n"
2064 " ((return (constant vec2 (0 0)))))\n"
2065 " (signature vec2\n"
2066 " (parameters\n"
2067 " (declare (in) vec3 x))\n"
2068 " ((return (constant vec2 (0 0)))))\n"
2069 " (signature vec2\n"
2070 " (parameters\n"
2071 " (declare (in) vec4 x))\n"
2072 " ((return (constant vec2 (0 0)))))\n"
2073 "))\n"
2074 ""
2075;
2076static const char *builtin_noise3 =
2077 "((function noise3\n"
2078 " (signature vec3\n"
2079 " (parameters\n"
2080 " (declare (in) float x))\n"
2081 " ((return (constant vec3 (0 0 0)))))\n"
2082 " (signature vec3\n"
2083 " (parameters\n"
2084 " (declare (in) vec2 x))\n"
2085 " ((return (constant vec3 (0 0 0)))))\n"
2086 " (signature vec3\n"
2087 " (parameters\n"
2088 " (declare (in) vec3 x))\n"
2089 " ((return (constant vec3 (0 0 0)))))\n"
2090 " (signature vec3\n"
2091 " (parameters\n"
2092 " (declare (in) vec4 x))\n"
2093 " ((return (constant vec3 (0 0 0)))))\n"
2094 "))\n"
2095 ""
2096;
2097static const char *builtin_noise4 =
2098 "((function noise4\n"
2099 " (signature vec4\n"
2100 " (parameters\n"
2101 " (declare (in) float x))\n"
2102 " ((return (constant vec4 (0 0 0 0)))))\n"
2103 " (signature vec4\n"
2104 " (parameters\n"
2105 " (declare (in) vec2 x))\n"
2106 " ((return (constant vec4 (0 0 0 0)))))\n"
2107 " (signature vec4\n"
2108 " (parameters\n"
2109 " (declare (in) vec3 x))\n"
2110 " ((return (constant vec4 (0 0 0 0)))))\n"
2111 " (signature vec4\n"
2112 " (parameters\n"
2113 " (declare (in) vec4 x))\n"
2114 " ((return (constant vec4 (0 0 0 0)))))\n"
2115 "))\n"
2116 ""
2117;
2118static const char *builtin_normalize =
2119 "((function normalize\n"
2120 " (signature float\n"
2121 " (parameters\n"
2122 " (declare (in) float arg0))\n"
2123 " ((return (expression float * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
2124 "\n"
2125 " (signature vec2\n"
2126 " (parameters\n"
2127 " (declare (in) vec2 arg0))\n"
2128 " ((return (expression vec2 * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
2129 "\n"
2130 " (signature vec3\n"
2131 " (parameters\n"
2132 " (declare (in) vec3 arg0))\n"
2133 " ((return (expression vec3 * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
2134 "\n"
2135 " (signature vec4\n"
2136 " (parameters\n"
2137 " (declare (in) vec4 arg0))\n"
2138 " ((return (expression vec4 * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
2139 "))\n"
2140 ""
2141;
2142static const char *builtin_not =
2143 "((function not\n"
2144 " (signature bvec2\n"
2145 " (parameters\n"
2146 " (declare (in) bvec2 arg0))\n"
2147 " ((return (expression bvec2 ! (var_ref arg0)))))\n"
2148 "\n"
2149 " (signature bvec3\n"
2150 " (parameters\n"
2151 " (declare (in) bvec3 arg0))\n"
2152 " ((return (expression bvec3 ! (var_ref arg0)))))\n"
2153 "\n"
2154 " (signature bvec4\n"
2155 " (parameters\n"
2156 " (declare (in) bvec4 arg0))\n"
2157 " ((return (expression bvec4 ! (var_ref arg0)))))\n"
2158 "))\n"
2159 ""
2160;
2161static const char *builtin_notEqual =
2162 "((function notEqual\n"
2163 " (signature bvec2\n"
2164 " (parameters\n"
2165 " (declare (in) vec2 arg0)\n"
2166 " (declare (in) vec2 arg1))\n"
2167 " ((declare () bvec2 temp)\n"
2168 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
2169 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
2170 " (return (var_ref temp))))\n"
2171 "\n"
2172 " (signature bvec3\n"
2173 " (parameters\n"
2174 " (declare (in) vec3 arg0)\n"
2175 " (declare (in) vec3 arg1))\n"
2176 " ((declare () bvec3 temp)\n"
2177 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
2178 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
2179 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
2180 " (return (var_ref temp))))\n"
2181 "\n"
2182 " (signature bvec4\n"
2183 " (parameters\n"
2184 " (declare (in) vec4 arg0)\n"
2185 " (declare (in) vec4 arg1))\n"
2186 " ((declare () bvec4 temp)\n"
2187 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
2188 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
2189 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
2190 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool != (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
2191 " (return (var_ref temp))))\n"
2192 "\n"
2193 " (signature bvec2\n"
2194 " (parameters\n"
2195 " (declare (in) ivec2 arg0)\n"
2196 " (declare (in) ivec2 arg1))\n"
2197 " ((declare () bvec2 temp)\n"
2198 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
2199 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
2200 " (return (var_ref temp))))\n"
2201 "\n"
2202 " (signature bvec3\n"
2203 " (parameters\n"
2204 " (declare (in) ivec3 arg0)\n"
2205 " (declare (in) ivec3 arg1))\n"
2206 " ((declare () bvec3 temp)\n"
2207 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
2208 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
2209 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
2210 " (return (var_ref temp))))\n"
2211 "\n"
2212 " (signature bvec4\n"
2213 " (parameters\n"
2214 " (declare (in) ivec4 arg0)\n"
2215 " (declare (in) ivec4 arg1))\n"
2216 " ((declare () bvec4 temp)\n"
2217 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
2218 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
2219 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
2220 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool != (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
2221 " (return (var_ref temp))))\n"
2222 "\n"
2223 " (signature bvec2\n"
2224 " (parameters\n"
2225 " (declare (in) uvec2 arg0)\n"
2226 " (declare (in) uvec2 arg1))\n"
2227 " ((declare () bvec2 temp)\n"
2228 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
2229 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
2230 " (return (var_ref temp))))\n"
2231 "\n"
2232 " (signature bvec3\n"
2233 " (parameters\n"
2234 " (declare (in) uvec3 arg0)\n"
2235 " (declare (in) uvec3 arg1))\n"
2236 " ((declare () bvec3 temp)\n"
2237 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
2238 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
2239 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
2240 " (return (var_ref temp))))\n"
2241 "\n"
2242 " (signature bvec4\n"
2243 " (parameters\n"
2244 " (declare (in) uvec4 arg0)\n"
2245 " (declare (in) uvec4 arg1))\n"
2246 " ((declare () bvec4 temp)\n"
2247 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
2248 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
2249 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
2250 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool != (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
2251 " (return (var_ref temp))))\n"
2252 "))\n"
2253 ""
2254;
2255static const char *builtin_outerProduct =
2256 "((function outerProduct\n"
2257 " (signature mat2\n"
2258 " (parameters\n"
2259 " (declare (in) vec2 u)\n"
2260 " (declare (in) vec2 v))\n"
2261 " ((declare () mat2 m)\n"
2262 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))\n"
2263 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))\n"
2264 " (return (var_ref m))))\n"
2265 "\n"
2266 " (signature mat2x3\n"
2267 " (parameters\n"
2268 " (declare (in) vec3 u)\n"
2269 " (declare (in) vec2 v))\n"
2270 " ((declare () mat2x3 m)\n"
2271 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))\n"
2272 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))\n"
2273 " (return (var_ref m))))\n"
2274 "\n"
2275 " (signature mat2x4\n"
2276 " (parameters\n"
2277 " (declare (in) vec4 u)\n"
2278 " (declare (in) vec2 v))\n"
2279 " ((declare () mat2x4 m)\n"
2280 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))\n"
2281 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))\n"
2282 " (return (var_ref m))))\n"
2283 "\n"
2284 " (signature mat3x2\n"
2285 " (parameters\n"
2286 " (declare (in) vec2 u)\n"
2287 " (declare (in) vec3 v))\n"
2288 " ((declare () mat3x2 m)\n"
2289 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))\n"
2290 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))\n"
2291 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (2))) (expression vec2 * (var_ref u) (swiz z (var_ref v))))\n"
2292 " (return (var_ref m))\n"
2293 " ))\n"
2294 "\n"
2295 " (signature mat3\n"
2296 " (parameters\n"
2297 " (declare (in) vec3 u)\n"
2298 " (declare (in) vec3 v))\n"
2299 " ((declare () mat3 m)\n"
2300 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))\n"
2301 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))\n"
2302 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (2))) (expression vec3 * (var_ref u) (swiz z (var_ref v))))\n"
2303 " (return (var_ref m))))\n"
2304 "\n"
2305 " (signature mat3x4\n"
2306 " (parameters\n"
2307 " (declare (in) vec4 u)\n"
2308 " (declare (in) vec3 v))\n"
2309 " ((declare () mat3x4 m)\n"
2310 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))\n"
2311 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))\n"
2312 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (2))) (expression vec4 * (var_ref u) (swiz z (var_ref v))))\n"
2313 " (return (var_ref m))))\n"
2314 "\n"
2315 " (signature mat4x2\n"
2316 " (parameters\n"
2317 " (declare (in) vec2 u)\n"
2318 " (declare (in) vec4 v))\n"
2319 " ((declare () mat4x2 m)\n"
2320 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))\n"
2321 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))\n"
2322 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (2))) (expression vec2 * (var_ref u) (swiz z (var_ref v))))\n"
2323 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (3))) (expression vec2 * (var_ref u) (swiz w (var_ref v))))\n"
2324 " (return (var_ref m))))\n"
2325 "\n"
2326 " (signature mat4x3\n"
2327 " (parameters\n"
2328 " (declare (in) vec3 u)\n"
2329 " (declare (in) vec4 v))\n"
2330 " ((declare () mat4x3 m)\n"
2331 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))\n"
2332 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))\n"
2333 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (2))) (expression vec3 * (var_ref u) (swiz z (var_ref v))))\n"
2334 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (3))) (expression vec3 * (var_ref u) (swiz w (var_ref v))))\n"
2335 " (return (var_ref m))))\n"
2336 "\n"
2337 " (signature mat4\n"
2338 " (parameters\n"
2339 " (declare (in) vec4 u)\n"
2340 " (declare (in) vec4 v))\n"
2341 " ((declare () mat4 m)\n"
2342 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))\n"
2343 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))\n"
2344 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (2))) (expression vec4 * (var_ref u) (swiz z (var_ref v))))\n"
2345 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (3))) (expression vec4 * (var_ref u) (swiz w (var_ref v))))\n"
2346 " (return (var_ref m))))\n"
2347 "))\n"
2348 ""
2349;
2350static const char *builtin_pow =
2351 "((function pow\n"
2352 " (signature float\n"
2353 " (parameters\n"
2354 " (declare (in) float arg0)\n"
2355 " (declare (in) float arg1))\n"
2356 " ((return (expression float pow (var_ref arg0) (var_ref arg1)))))\n"
2357 "\n"
2358 " (signature vec2\n"
2359 " (parameters\n"
2360 " (declare (in) vec2 arg0)\n"
2361 " (declare (in) vec2 arg1))\n"
2362 " ((return (expression vec2 pow (var_ref arg0) (var_ref arg1)))))\n"
2363 "\n"
2364 " (signature vec3\n"
2365 " (parameters\n"
2366 " (declare (in) vec3 arg0)\n"
2367 " (declare (in) vec3 arg1))\n"
2368 " ((return (expression vec3 pow (var_ref arg0) (var_ref arg1)))))\n"
2369 "\n"
2370 " (signature vec4\n"
2371 " (parameters\n"
2372 " (declare (in) vec4 arg0)\n"
2373 " (declare (in) vec4 arg1))\n"
2374 " ((return (expression vec4 pow (var_ref arg0) (var_ref arg1)))))\n"
2375 "))\n"
2376 ""
2377;
2378static const char *builtin_radians =
2379 "((function radians\n"
2380 " (signature float\n"
2381 " (parameters\n"
2382 " (declare (in) float arg0))\n"
2383 " ((return (expression float * (var_ref arg0) (constant float (0.017453))))))\n"
2384 "\n"
2385 " (signature vec2\n"
2386 " (parameters\n"
2387 " (declare (in) vec2 arg0))\n"
2388 " ((return (expression vec2 * (var_ref arg0) (constant float (0.017453))))))\n"
2389 "\n"
2390 " (signature vec3\n"
2391 " (parameters\n"
2392 " (declare (in) vec3 arg0))\n"
2393 " ((return (expression vec3 * (var_ref arg0) (constant float (0.017453))))))\n"
2394 "\n"
2395 " (signature vec4\n"
2396 " (parameters\n"
2397 " (declare (in) vec4 arg0))\n"
2398 " ((return (expression vec4 * (var_ref arg0) (constant float (0.017453))))))\n"
2399 "))\n"
2400 ""
2401;
2402static const char *builtin_reflect =
2403 "((function reflect\n"
2404 " (signature float\n"
2405 " (parameters\n"
2406 " (declare (in) float i)\n"
2407 " (declare (in) float n))\n"
2408 " ((return (expression float -\n"
2409 " (var_ref i)\n"
2410 " (expression float *\n"
2411 " (constant float (2.0))\n"
2412 " (expression float *\n"
2413 " (expression float dot\n"
2414 " (var_ref n)\n"
2415 " (var_ref i))\n"
2416 " (var_ref n)))))))\n"
2417 "\n"
2418 " (signature vec2\n"
2419 " (parameters\n"
2420 " (declare (in) vec2 i)\n"
2421 " (declare (in) vec2 n))\n"
2422 " ((return (expression vec2 -\n"
2423 " (var_ref i)\n"
2424 " (expression vec2 *\n"
2425 " (constant float (2.0))\n"
2426 " (expression vec2 *\n"
2427 " (expression float dot\n"
2428 " (var_ref n)\n"
2429 " (var_ref i))\n"
2430 " (var_ref n)))))))\n"
2431 "\n"
2432 " (signature vec3\n"
2433 " (parameters\n"
2434 " (declare (in) vec3 i)\n"
2435 " (declare (in) vec3 n))\n"
2436 " ((return (expression vec3 -\n"
2437 " (var_ref i)\n"
2438 " (expression vec3 *\n"
2439 " (constant float (2.0))\n"
2440 " (expression vec3 *\n"
2441 " (expression float dot\n"
2442 " (var_ref n)\n"
2443 " (var_ref i))\n"
2444 " (var_ref n)))))))\n"
2445 "\n"
2446 " (signature vec4\n"
2447 " (parameters\n"
2448 " (declare (in) vec4 i)\n"
2449 " (declare (in) vec4 n))\n"
2450 " ((return (expression vec4 -\n"
2451 " (var_ref i)\n"
2452 " (expression vec4 *\n"
2453 " (constant float (2.0))\n"
2454 " (expression vec4 *\n"
2455 " (expression float dot\n"
2456 " (var_ref n)\n"
2457 " (var_ref i))\n"
2458 " (var_ref n)))))))\n"
2459 "\n"
2460 "))\n"
2461 ""
2462;
2463static const char *builtin_refract =
2464 "((function refract\n"
2465 " (signature float\n"
2466 " (parameters\n"
2467 " (declare (in) float i)\n"
2468 " (declare (in) float n)\n"
2469 " (declare (in) float eta))\n"
2470 " ((declare () float k)\n"
2471 " (assign (constant bool (1)) (var_ref k)\n"
2472 " (expression float - (constant float (1.0))\n"
2473 " (expression float * (var_ref eta)\n"
2474 " (expression float * (var_ref eta)\n"
2475 " (expression float - (constant float (1.0))\n"
2476 " (expression float * \n"
2477 " (expression float dot (var_ref n) (var_ref i))\n"
2478 " (expression float dot (var_ref n) (var_ref i))))))))\n"
2479 " (if (expression bool < (var_ref k) (constant float (0.0)))\n"
2480 " ((return (constant float (0.0))))\n"
2481 " ((return (expression float -\n"
2482 " (expression float * (var_ref eta) (var_ref i))\n"
2483 " (expression float *\n"
2484 " (expression float +\n"
2485 " (expression float * (var_ref eta)\n"
2486 " (expression float dot (var_ref n) (var_ref i)))\n"
2487 " (expression float sqrt (var_ref k)))\n"
2488 " (var_ref n))))))))\n"
2489 "\n"
2490 " (signature vec2\n"
2491 " (parameters\n"
2492 " (declare (in) vec2 i)\n"
2493 " (declare (in) vec2 n)\n"
2494 " (declare (in) float eta))\n"
2495 " ((declare () float k)\n"
2496 " (assign (constant bool (1)) (var_ref k)\n"
2497 " (expression float - (constant float (1.0))\n"
2498 " (expression float * (var_ref eta)\n"
2499 " (expression float * (var_ref eta)\n"
2500 " (expression float - (constant float (1.0))\n"
2501 " (expression float * \n"
2502 " (expression float dot (var_ref n) (var_ref i))\n"
2503 " (expression float dot (var_ref n) (var_ref i))))))))\n"
2504 " (if (expression bool < (var_ref k) (constant float (0.0)))\n"
2505 " ((return (constant vec2 (0.0 0.0))))\n"
2506 " ((return (expression vec2 -\n"
2507 " (expression vec2 * (var_ref eta) (var_ref i))\n"
2508 " (expression vec2 *\n"
2509 " (expression float +\n"
2510 " (expression float * (var_ref eta)\n"
2511 " (expression float dot (var_ref n) (var_ref i)))\n"
2512 " (expression float sqrt (var_ref k)))\n"
2513 " (var_ref n))))))))\n"
2514 "\n"
2515 " (signature vec3\n"
2516 " (parameters\n"
2517 " (declare (in) vec3 i)\n"
2518 " (declare (in) vec3 n)\n"
2519 " (declare (in) float eta))\n"
2520 " ((declare () float k)\n"
2521 " (assign (constant bool (1)) (var_ref k)\n"
2522 " (expression float - (constant float (1.0))\n"
2523 " (expression float * (var_ref eta)\n"
2524 " (expression float * (var_ref eta)\n"
2525 " (expression float - (constant float (1.0))\n"
2526 " (expression float * \n"
2527 " (expression float dot (var_ref n) (var_ref i))\n"
2528 " (expression float dot (var_ref n) (var_ref i))))))))\n"
2529 " (if (expression bool < (var_ref k) (constant float (0.0)))\n"
2530 " ((return (constant vec3 (0.0 0.0 0.0))))\n"
2531 " ((return (expression vec3 -\n"
2532 " (expression vec3 * (var_ref eta) (var_ref i))\n"
2533 " (expression vec3 *\n"
2534 " (expression float +\n"
2535 " (expression float * (var_ref eta)\n"
2536 " (expression float dot (var_ref n) (var_ref i)))\n"
2537 " (expression float sqrt (var_ref k)))\n"
2538 " (var_ref n))))))))\n"
2539 "\n"
2540 " (signature vec4\n"
2541 " (parameters\n"
2542 " (declare (in) vec4 i)\n"
2543 " (declare (in) vec4 n)\n"
2544 " (declare (in) float eta))\n"
2545 " ((declare () float k)\n"
2546 " (assign (constant bool (1)) (var_ref k)\n"
2547 " (expression float - (constant float (1.0))\n"
2548 " (expression float * (var_ref eta)\n"
2549 " (expression float * (var_ref eta)\n"
2550 " (expression float - (constant float (1.0))\n"
2551 " (expression float * \n"
2552 " (expression float dot (var_ref n) (var_ref i))\n"
2553 " (expression float dot (var_ref n) (var_ref i))))))))\n"
2554 " (if (expression bool < (var_ref k) (constant float (0.0)))\n"
2555 " ((return (constant vec4 (0.0 0.0 0.0 0.0))))\n"
2556 " ((return (expression vec4 -\n"
2557 " (expression vec4 * (var_ref eta) (var_ref i))\n"
2558 " (expression vec4 *\n"
2559 " (expression float +\n"
2560 " (expression float * (var_ref eta)\n"
2561 " (expression float dot (var_ref n) (var_ref i)))\n"
2562 " (expression float sqrt (var_ref k)))\n"
2563 " (var_ref n))))))))\n"
2564 "\n"
2565 "))\n"
2566 ""
2567;
2568static const char *builtin_shadow1D =
2569 "((function shadow1D\n"
2570 " (signature vec4\n"
2571 " (parameters\n"
2572 " (declare (in) sampler1DShadow sampler)\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07002573 " (declare (in) vec3 P) )\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002574 " ((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 -07002575 "\n"
2576 " (signature vec4\n"
2577 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002578 " (declare (in) sampler1DShadow sampler)\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07002579 " (declare (in) vec3 P) \n"
2580 " (declare (in) float bias) )\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002581 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref bias) ))))\n"
2582 "\n"
2583 "))\n"
2584 ""
2585;
2586static const char *builtin_shadow1DArray =
2587 "((function shadow1DArray\n"
2588 " (signature vec4\n"
2589 " (parameters\n"
2590 " (declare (in) sampler1DArrayShadow sampler)\n"
2591 " (declare (in) vec3 P) )\n"
2592 " ((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 -07002593 "\n"
2594 " (signature vec4\n"
2595 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002596 " (declare (in) sampler1DArrayShadow sampler)\n"
2597 " (declare (in) vec3 P) \n"
2598 " (declare (in) float bias) )\n"
2599 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref bias) ))))\n"
2600 "\n"
2601 "))\n"
2602 ""
2603;
2604static const char *builtin_shadow1DArrayLod =
2605 "((function shadow1DArrayLod\n"
2606 " (signature vec4\n"
2607 " (parameters\n"
2608 " (declare (in) sampler1DArrayShadow sampler)\n"
2609 " (declare (in) vec3 P) \n"
2610 " (declare (in) float lod) )\n"
2611 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref lod) ))))\n"
2612 "\n"
2613 "))\n"
2614 ""
2615;
2616static const char *builtin_shadow1DLod =
2617 "((function shadow1DLod\n"
2618 " (signature vec4\n"
2619 " (parameters\n"
2620 " (declare (in) sampler1DShadow sampler)\n"
2621 " (declare (in) vec3 P) \n"
2622 " (declare (in) float lod) )\n"
2623 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref lod) ))))\n"
2624 "\n"
2625 "))\n"
2626 ""
2627;
2628static const char *builtin_shadow1DProj =
2629 "((function shadow1DProj\n"
2630 " (signature vec4\n"
2631 " (parameters\n"
2632 " (declare (in) sampler1DShadow sampler)\n"
2633 " (declare (in) vec4 P) )\n"
2634 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) ))))\n"
2635 "\n"
2636 " (signature vec4\n"
2637 " (parameters\n"
2638 " (declare (in) sampler1DShadow sampler)\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07002639 " (declare (in) vec4 P) \n"
2640 " (declare (in) float bias) )\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002641 " ((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 -07002642 "\n"
2643 "))\n"
2644 ""
2645;
2646static const char *builtin_shadow1DProjLod =
2647 "((function shadow1DProjLod\n"
2648 " (signature vec4\n"
2649 " (parameters\n"
2650 " (declare (in) sampler1DShadow sampler)\n"
2651 " (declare (in) vec4 P) \n"
2652 " (declare (in) float lod) )\n"
2653 " ((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"
2654 "\n"
2655 "))\n"
2656 ""
2657;
Eric Anholt47003a82010-08-23 12:39:35 -07002658static const char *builtin_shadow2D =
2659 "((function shadow2D\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07002660 " (signature vec4\n"
2661 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002662 " (declare (in) sampler2DShadow sampler)\n"
2663 " (declare (in) vec3 P) )\n"
2664 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) ))))\n"
2665 "\n"
2666 " (signature vec4\n"
2667 " (parameters\n"
2668 " (declare (in) sampler2DShadow sampler)\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07002669 " (declare (in) vec3 P) \n"
Eric Anholt47003a82010-08-23 12:39:35 -07002670 " (declare (in) float bias) )\n"
2671 " ((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 -07002672 "\n"
2673 "))\n"
2674 ""
2675;
Eric Anholt47003a82010-08-23 12:39:35 -07002676static const char *builtin_shadow2DArray =
2677 "((function shadow2DArray\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07002678 " (signature vec4\n"
2679 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002680 " (declare (in) sampler2DArrayShadow sampler)\n"
2681 " (declare (in) vec4 P) )\n"
2682 " ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) 1 (swiz w (var_ref P)) ))))\n"
2683 "\n"
2684 "))\n"
2685 ""
2686;
2687static const char *builtin_shadow2DLod =
2688 "((function shadow2DLod\n"
2689 " (signature vec4\n"
2690 " (parameters\n"
2691 " (declare (in) sampler2DShadow sampler)\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07002692 " (declare (in) vec3 P) \n"
2693 " (declare (in) float lod) )\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002694 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref lod) ))))\n"
2695 "\n"
2696 "))\n"
2697 ""
2698;
2699static const char *builtin_shadow2DProj =
2700 "((function shadow2DProj\n"
2701 " (signature vec4\n"
2702 " (parameters\n"
2703 " (declare (in) sampler2DShadow sampler)\n"
2704 " (declare (in) vec4 P) )\n"
2705 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) ))))\n"
2706 "\n"
2707 " (signature vec4\n"
2708 " (parameters\n"
2709 " (declare (in) sampler2DShadow sampler)\n"
2710 " (declare (in) vec4 P) \n"
2711 " (declare (in) float bias) )\n"
2712 " ((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"
2713 "\n"
2714 "))\n"
2715 ""
2716;
2717static const char *builtin_shadow2DProjLod =
2718 "((function shadow2DProjLod\n"
2719 " (signature vec4\n"
2720 " (parameters\n"
2721 " (declare (in) sampler2DShadow sampler)\n"
2722 " (declare (in) vec4 P) \n"
2723 " (declare (in) float lod) )\n"
2724 " ((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"
2725 "\n"
2726 "))\n"
2727 ""
2728;
2729static const char *builtin_shadow2DRect =
2730 "((function shadow2DRect\n"
2731 " (signature vec4\n"
2732 " (parameters\n"
2733 " (declare (in) sampler2DRectShadow sampler)\n"
2734 " (declare (in) vec3 P) )\n"
2735 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) ))))\n"
2736 "\n"
2737 "))\n"
2738 ""
2739;
2740static const char *builtin_shadow2DRectProj =
2741 "((function shadow2DRectProj\n"
2742 " (signature vec4\n"
2743 " (parameters\n"
2744 " (declare (in) sampler2DRectShadow sampler)\n"
2745 " (declare (in) vec4 P) )\n"
2746 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) ))))\n"
2747 "\n"
2748 "))\n"
2749 ""
2750;
2751static const char *builtin_sign =
2752 "((function sign\n"
2753 " (signature float\n"
2754 " (parameters\n"
2755 " (declare (in) float x))\n"
2756 " ((return (expression float sign (var_ref x)))))\n"
2757 "\n"
2758 " (signature vec2\n"
2759 " (parameters\n"
2760 " (declare (in) vec2 x))\n"
2761 " ((return (expression vec2 sign (var_ref x)))))\n"
2762 "\n"
2763 " (signature vec3\n"
2764 " (parameters\n"
2765 " (declare (in) vec3 x))\n"
2766 " ((return (expression vec3 sign (var_ref x)))))\n"
2767 "\n"
2768 " (signature vec4\n"
2769 " (parameters\n"
2770 " (declare (in) vec4 x))\n"
2771 " ((return (expression vec4 sign (var_ref x)))))\n"
2772 "\n"
2773 " (signature int\n"
2774 " (parameters\n"
2775 " (declare (in) int x))\n"
2776 " ((return (expression int sign (var_ref x)))))\n"
2777 "\n"
2778 " (signature ivec2\n"
2779 " (parameters\n"
2780 " (declare (in) ivec2 x))\n"
2781 " ((return (expression ivec2 sign (var_ref x)))))\n"
2782 "\n"
2783 " (signature ivec3\n"
2784 " (parameters\n"
2785 " (declare (in) ivec3 x))\n"
2786 " ((return (expression ivec3 sign (var_ref x)))))\n"
2787 "\n"
2788 " (signature ivec4\n"
2789 " (parameters\n"
2790 " (declare (in) ivec4 x))\n"
2791 " ((return (expression ivec4 sign (var_ref x)))))\n"
2792 "))\n"
2793 "\n"
2794 ""
2795;
2796static const char *builtin_sin =
2797 "((function sin\n"
2798 " (signature float\n"
2799 " (parameters\n"
2800 " (declare (in) float angle))\n"
2801 " ((return (expression float sin (var_ref angle)))))\n"
2802 "\n"
2803 " (signature vec2\n"
2804 " (parameters\n"
2805 " (declare (in) vec2 angle))\n"
2806 " ((return (expression vec2 sin (var_ref angle)))))\n"
2807 "\n"
2808 " (signature vec3\n"
2809 " (parameters\n"
2810 " (declare (in) vec3 angle))\n"
2811 " ((return (expression vec3 sin (var_ref angle)))))\n"
2812 "\n"
2813 " (signature vec4\n"
2814 " (parameters\n"
2815 " (declare (in) vec4 angle))\n"
2816 " ((return (expression vec4 sin (var_ref angle)))))\n"
2817 "))\n"
2818 ""
2819;
2820static const char *builtin_sinh =
2821 "((function sinh\n"
2822 " (signature float\n"
2823 " (parameters\n"
2824 " (declare (in) float x))\n"
2825 " ((return (expression float * (constant float (0.5))\n"
2826 " (expression float -\n"
2827 " (expression float exp (var_ref x))\n"
2828 " (expression float exp (expression float neg (var_ref x))))))))\n"
2829 " (signature vec2\n"
2830 " (parameters\n"
2831 " (declare (in) vec2 x))\n"
2832 " ((return (expression vec2 * (constant vec2 (0.5))\n"
2833 " (expression vec2 -\n"
2834 " (expression vec2 exp (var_ref x))\n"
2835 " (expression vec2 exp (expression vec2 neg (var_ref x))))))))\n"
2836 " (signature vec3\n"
2837 " (parameters\n"
2838 " (declare (in) vec3 x))\n"
2839 " ((return (expression vec3 * (constant vec3 (0.5))\n"
2840 " (expression vec3 -\n"
2841 " (expression vec3 exp (var_ref x))\n"
2842 " (expression vec3 exp (expression vec3 neg (var_ref x))))))))\n"
2843 " (signature vec4\n"
2844 " (parameters\n"
2845 " (declare (in) vec4 x))\n"
2846 " ((return (expression vec4 * (constant vec4 (0.5))\n"
2847 " (expression vec4 -\n"
2848 " (expression vec4 exp (var_ref x))\n"
2849 " (expression vec4 exp (expression vec4 neg (var_ref x))))))))\n"
2850 "))\n"
2851 ""
2852;
2853static const char *builtin_smoothstep =
2854 "((function smoothstep\n"
2855 " (signature float\n"
2856 " (parameters\n"
2857 " (declare (in) float edge0)\n"
2858 " (declare (in) float edge1)\n"
2859 " (declare (in) float x))\n"
2860 " ((declare () float t)\n"
2861 "\n"
2862 " (assign (constant bool (1)) (var_ref t)\n"
2863 " (expression float max\n"
2864 " (expression float min\n"
2865 " (expression float / (expression float - (var_ref x) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
2866 " (constant float (1.0)))\n"
2867 " (constant float (0.0))))\n"
2868 " (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"
2869 "\n"
2870 " (signature vec2\n"
2871 " (parameters\n"
2872 " (declare (in) float edge0)\n"
2873 " (declare (in) float edge1)\n"
2874 " (declare (in) vec2 x))\n"
2875 " ((declare () vec2 t)\n"
2876 " (declare () vec2 retval)\n"
2877 "\n"
2878 " (assign (constant bool (1)) (swiz x (var_ref t))\n"
2879 " (expression float max\n"
2880 " (expression float min\n"
2881 " (expression float / (expression float - (swiz x (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
2882 " (constant float (1.0)))\n"
2883 " (constant float (0.0))))\n"
2884 " (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"
2885 "\n"
2886 " (assign (constant bool (1)) (swiz y (var_ref t))\n"
2887 " (expression float max\n"
2888 " (expression float min\n"
2889 " (expression float / (expression float - (swiz y (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
2890 " (constant float (1.0)))\n"
2891 " (constant float (0.0))))\n"
2892 " (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"
2893 " (return (var_ref retval))\n"
2894 " ))\n"
2895 "\n"
2896 " (signature vec3\n"
2897 " (parameters\n"
2898 " (declare (in) float edge0)\n"
2899 " (declare (in) float edge1)\n"
2900 " (declare (in) vec3 x))\n"
2901 " ((declare () vec3 t)\n"
2902 " (declare () vec3 retval)\n"
2903 "\n"
2904 " (assign (constant bool (1)) (swiz x (var_ref t))\n"
2905 " (expression float max\n"
2906 " (expression float min\n"
2907 " (expression float / (expression float - (swiz x (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
2908 " (constant float (1.0)))\n"
2909 " (constant float (0.0))))\n"
2910 " (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"
2911 "\n"
2912 " (assign (constant bool (1)) (swiz y (var_ref t))\n"
2913 " (expression float max\n"
2914 " (expression float min\n"
2915 " (expression float / (expression float - (swiz y (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
2916 " (constant float (1.0)))\n"
2917 " (constant float (0.0))))\n"
2918 " (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"
2919 "\n"
2920 " (assign (constant bool (1)) (swiz z (var_ref t))\n"
2921 " (expression float max\n"
2922 " (expression float min\n"
2923 " (expression float / (expression float - (swiz z (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
2924 " (constant float (1.0)))\n"
2925 " (constant float (0.0))))\n"
2926 " (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"
2927 " (return (var_ref retval))\n"
2928 " ))\n"
2929 "\n"
2930 "\n"
2931 " (signature vec4\n"
2932 " (parameters\n"
2933 " (declare (in) float edge0)\n"
2934 " (declare (in) float edge1)\n"
2935 " (declare (in) vec4 x))\n"
2936 " ((declare () vec4 t)\n"
2937 " (declare () vec4 retval)\n"
2938 "\n"
2939 " (assign (constant bool (1)) (swiz x (var_ref t))\n"
2940 " (expression float max\n"
2941 " (expression float min\n"
2942 " (expression float / (expression float - (swiz x (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
2943 " (constant float (1.0)))\n"
2944 " (constant float (0.0))))\n"
2945 " (assign (constant bool (1)) (swiz x (var_ref retval)) (expression float * (swiz x (var_ref t)) (expression float * (swiz x (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz x (var_ref t)))))))\n"
2946 "\n"
2947 " (assign (constant bool (1)) (swiz y (var_ref t))\n"
2948 " (expression float max\n"
2949 " (expression float min\n"
2950 " (expression float / (expression float - (swiz y (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
2951 " (constant float (1.0)))\n"
2952 " (constant float (0.0))))\n"
2953 " (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"
2954 "\n"
2955 " (assign (constant bool (1)) (swiz z (var_ref t))\n"
2956 " (expression float max\n"
2957 " (expression float min\n"
2958 " (expression float / (expression float - (swiz z (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
2959 " (constant float (1.0)))\n"
2960 " (constant float (0.0))))\n"
2961 " (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"
2962 "\n"
2963 " (assign (constant bool (1)) (swiz w (var_ref t))\n"
2964 " (expression float max\n"
2965 " (expression float min\n"
2966 " (expression float / (expression float - (swiz w (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
2967 " (constant float (1.0)))\n"
2968 " (constant float (0.0))))\n"
2969 " (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"
2970 " (return (var_ref retval))\n"
2971 " ))\n"
2972 "\n"
2973 " (signature vec2\n"
2974 " (parameters\n"
2975 " (declare (in) vec2 edge0)\n"
2976 " (declare (in) vec2 edge1)\n"
2977 " (declare (in) vec2 x))\n"
2978 " ((return (expression vec2 max\n"
2979 " (expression vec2 min\n"
2980 " (expression vec2 / (expression vec2 - (var_ref x) (var_ref edge0)) (expression vec2 - (var_ref edge1) (var_ref edge0)))\n"
2981 " (constant vec2 (1.0 1.0)))\n"
2982 " (constant vec2 (0.0 0.0))))))\n"
2983 "\n"
2984 " (signature vec3\n"
2985 " (parameters\n"
2986 " (declare (in) vec3 edge0)\n"
2987 " (declare (in) vec3 edge1)\n"
2988 " (declare (in) vec3 x))\n"
2989 " ((return (expression vec3 max\n"
2990 " (expression vec3 min\n"
2991 " (expression vec3 / (expression vec3 - (var_ref x) (var_ref edge0)) (expression vec3 - (var_ref edge1) (var_ref edge0)))\n"
2992 " (constant vec3 (1.0 1.0 1.0)))\n"
2993 " (constant vec3 (0.0 0.0 0.0))))))\n"
2994 "\n"
2995 " (signature vec4\n"
2996 " (parameters\n"
2997 " (declare (in) vec4 edge0)\n"
2998 " (declare (in) vec4 edge1)\n"
2999 " (declare (in) vec4 x))\n"
3000 " ((return (expression vec4 max\n"
3001 " (expression vec4 min\n"
3002 " (expression vec4 / (expression vec4 - (var_ref x) (var_ref edge0)) (expression vec4 - (var_ref edge1) (var_ref edge0)))\n"
3003 " (constant vec4 (1.0 1.0 1.0 1.0)))\n"
3004 " (constant vec4 (0.0 0.0 0.0 0.0))))))\n"
3005 "))\n"
3006 "\n"
3007 ""
3008;
3009static const char *builtin_sqrt =
3010 "((function sqrt\n"
3011 " (signature float\n"
3012 " (parameters\n"
3013 " (declare (in) float arg0))\n"
3014 " ((return (expression float sqrt (var_ref arg0)))))\n"
3015 "\n"
3016 " (signature vec2\n"
3017 " (parameters\n"
3018 " (declare (in) vec2 arg0))\n"
3019 " ((return (expression vec2 sqrt (var_ref arg0)))))\n"
3020 "\n"
3021 " (signature vec3\n"
3022 " (parameters\n"
3023 " (declare (in) vec3 arg0))\n"
3024 " ((return (expression vec3 sqrt (var_ref arg0)))))\n"
3025 "\n"
3026 " (signature vec4\n"
3027 " (parameters\n"
3028 " (declare (in) vec4 arg0))\n"
3029 " ((return (expression vec4 sqrt (var_ref arg0)))))\n"
3030 "))\n"
3031 ""
3032;
3033static const char *builtin_step =
3034 "((function step\n"
3035 " (signature float\n"
3036 " (parameters\n"
3037 " (declare (in) float edge)\n"
3038 " (declare (in) float x))\n"
3039 " ((return (expression float b2f (expression bool >= (var_ref x) (var_ref edge))))))\n"
3040 "\n"
3041 " (signature vec2\n"
3042 " (parameters\n"
3043 " (declare (in) float edge)\n"
3044 " (declare (in) vec2 x))\n"
3045 " ((declare () vec2 t)\n"
3046 " (assign (constant bool (1)) (swiz x (var_ref t)) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge))))\n"
3047 " (assign (constant bool (1)) (swiz y (var_ref t)) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge))))\n"
3048 " (return (var_ref t))))\n"
3049 "\n"
3050 " (signature vec3\n"
3051 " (parameters\n"
3052 " (declare (in) float edge)\n"
3053 " (declare (in) vec3 x))\n"
3054 " ((declare () vec3 t)\n"
3055 " (assign (constant bool (1)) (swiz x (var_ref t)) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge))))\n"
3056 " (assign (constant bool (1)) (swiz y (var_ref t)) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge))))\n"
3057 " (assign (constant bool (1)) (swiz z (var_ref t)) (expression float b2f (expression bool >= (swiz z (var_ref x))(var_ref edge))))\n"
3058 " (return (var_ref t))))\n"
3059 "\n"
3060 " (signature vec4\n"
3061 " (parameters\n"
3062 " (declare (in) float edge)\n"
3063 " (declare (in) vec4 x))\n"
3064 " ((declare () vec4 t)\n"
3065 " (assign (constant bool (1)) (swiz x (var_ref t)) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge))))\n"
3066 " (assign (constant bool (1)) (swiz y (var_ref t)) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge))))\n"
3067 " (assign (constant bool (1)) (swiz z (var_ref t)) (expression float b2f (expression bool >= (swiz z (var_ref x))(var_ref edge))))\n"
3068 " (assign (constant bool (1)) (swiz w (var_ref t)) (expression float b2f (expression bool >= (swiz w (var_ref x))(var_ref edge))))\n"
3069 " (return (var_ref t))))\n"
3070 "\n"
3071 " (signature vec2\n"
3072 " (parameters\n"
3073 " (declare (in) vec2 edge)\n"
3074 " (declare (in) vec2 x))\n"
3075 " ((declare () vec2 t)\n"
3076 " (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"
3077 " (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"
3078 " (return (var_ref t))))\n"
3079 "\n"
3080 " (signature vec3\n"
3081 " (parameters\n"
3082 " (declare (in) vec3 edge)\n"
3083 " (declare (in) vec3 x))\n"
3084 " ((declare () vec3 t)\n"
3085 " (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"
3086 " (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"
3087 " (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"
3088 " (return (var_ref t))))\n"
3089 "\n"
3090 " (signature vec4\n"
3091 " (parameters\n"
3092 " (declare (in) vec4 edge)\n"
3093 " (declare (in) vec4 x))\n"
3094 " ((declare () vec4 t)\n"
3095 " (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"
3096 " (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"
3097 " (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"
3098 " (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"
3099 " (return (var_ref t))))\n"
3100 "))\n"
3101 "\n"
3102 ""
3103;
3104static const char *builtin_tan =
3105 "((function tan\n"
3106 " (signature float\n"
3107 " (parameters\n"
3108 " (declare (in) float angle))\n"
3109 " ((return (expression float / (expression float sin (var_ref angle)) (expression float cos (var_ref angle))))))\n"
3110 "\n"
3111 " (signature vec2\n"
3112 " (parameters\n"
3113 " (declare (in) vec2 angle))\n"
3114 " ((return (expression vec2 / (expression vec2 sin (var_ref angle)) (expression vec2 cos (var_ref angle))))))\n"
3115 "\n"
3116 " (signature vec3\n"
3117 " (parameters\n"
3118 " (declare (in) vec3 angle))\n"
3119 " ((return (expression vec3 / (expression vec3 sin (var_ref angle)) (expression vec3 cos (var_ref angle))))))\n"
3120 "\n"
3121 " (signature vec4\n"
3122 " (parameters\n"
3123 " (declare (in) vec4 angle))\n"
3124 " ((return (expression vec4 / (expression vec4 sin (var_ref angle)) (expression vec4 cos (var_ref angle))))))\n"
3125 "))\n"
3126 ""
3127;
3128static const char *builtin_tanh =
3129 "((function tanh\n"
3130 " (signature float\n"
3131 " (parameters\n"
3132 " (declare (in) float x))\n"
3133 " ((return (expression float /\n"
3134 " (expression float -\n"
3135 " (expression float exp (var_ref x))\n"
3136 " (expression float exp (expression float neg (var_ref x))))\n"
3137 " (expression float +\n"
3138 " (expression float exp (var_ref x))\n"
3139 " (expression float exp (expression float neg (var_ref x))))))))\n"
3140 " (signature vec2\n"
3141 " (parameters\n"
3142 " (declare (in) vec2 x))\n"
3143 " ((return (expression vec2 /\n"
3144 " (expression vec2 -\n"
3145 " (expression vec2 exp (var_ref x))\n"
3146 " (expression vec2 exp (expression vec2 neg (var_ref x))))\n"
3147 " (expression vec2 +\n"
3148 " (expression vec2 exp (var_ref x))\n"
3149 " (expression vec2 exp (expression vec2 neg (var_ref x))))))))\n"
3150 " (signature vec3\n"
3151 " (parameters\n"
3152 " (declare (in) vec3 x))\n"
3153 " ((return (expression vec3 /\n"
3154 " (expression vec3 -\n"
3155 " (expression vec3 exp (var_ref x))\n"
3156 " (expression vec3 exp (expression vec3 neg (var_ref x))))\n"
3157 " (expression vec3 +\n"
3158 " (expression vec3 exp (var_ref x))\n"
3159 " (expression vec3 exp (expression vec3 neg (var_ref x))))))))\n"
3160 " (signature vec4\n"
3161 " (parameters\n"
3162 " (declare (in) vec4 x))\n"
3163 " ((return (expression vec4 /\n"
3164 " (expression vec4 -\n"
3165 " (expression vec4 exp (var_ref x))\n"
3166 " (expression vec4 exp (expression vec4 neg (var_ref x))))\n"
3167 " (expression vec4 +\n"
3168 " (expression vec4 exp (var_ref x))\n"
3169 " (expression vec4 exp (expression vec4 neg (var_ref x))))))))\n"
3170 "))\n"
3171 ""
3172;
3173static const char *builtin_texelFetch =
3174 "((function texelFetch\n"
3175 " (signature vec4\n"
3176 " (parameters\n"
3177 " (declare (in) sampler1D sampler)\n"
3178 " (declare (in) int P) \n"
3179 " (declare (in) int lod) )\n"
3180 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3181 "\n"
3182 " (signature ivec4\n"
3183 " (parameters\n"
3184 " (declare (in) isampler1D sampler)\n"
3185 " (declare (in) int P) \n"
3186 " (declare (in) int lod) )\n"
3187 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3188 "\n"
3189 " (signature uvec4\n"
3190 " (parameters\n"
3191 " (declare (in) usampler1D sampler)\n"
3192 " (declare (in) int P) \n"
3193 " (declare (in) int lod) )\n"
3194 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3195 "\n"
3196 " (signature vec4\n"
3197 " (parameters\n"
3198 " (declare (in) sampler2D sampler)\n"
3199 " (declare (in) ivec2 P) \n"
3200 " (declare (in) int lod) )\n"
3201 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3202 "\n"
3203 " (signature ivec4\n"
3204 " (parameters\n"
3205 " (declare (in) isampler2D sampler)\n"
3206 " (declare (in) ivec2 P) \n"
3207 " (declare (in) int lod) )\n"
3208 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3209 "\n"
3210 " (signature uvec4\n"
3211 " (parameters\n"
3212 " (declare (in) usampler2D sampler)\n"
3213 " (declare (in) ivec2 P) \n"
3214 " (declare (in) int lod) )\n"
3215 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3216 "\n"
3217 " (signature vec4\n"
3218 " (parameters\n"
3219 " (declare (in) sampler3D sampler)\n"
3220 " (declare (in) ivec3 P) \n"
3221 " (declare (in) int lod) )\n"
3222 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3223 "\n"
3224 " (signature ivec4\n"
3225 " (parameters\n"
3226 " (declare (in) isampler3D sampler)\n"
3227 " (declare (in) ivec3 P) \n"
3228 " (declare (in) int lod) )\n"
3229 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3230 "\n"
3231 " (signature uvec4\n"
3232 " (parameters\n"
3233 " (declare (in) usampler3D sampler)\n"
3234 " (declare (in) ivec3 P) \n"
3235 " (declare (in) int lod) )\n"
3236 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3237 "\n"
3238 " (signature vec4\n"
3239 " (parameters\n"
3240 " (declare (in) sampler1DArray sampler)\n"
3241 " (declare (in) ivec2 P) \n"
3242 " (declare (in) int lod) )\n"
3243 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3244 "\n"
3245 " (signature ivec4\n"
3246 " (parameters\n"
3247 " (declare (in) isampler1DArray sampler)\n"
3248 " (declare (in) ivec2 P) \n"
3249 " (declare (in) int lod) )\n"
3250 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3251 "\n"
3252 " (signature uvec4\n"
3253 " (parameters\n"
3254 " (declare (in) usampler1DArray sampler)\n"
3255 " (declare (in) ivec2 P) \n"
3256 " (declare (in) int lod) )\n"
3257 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3258 "\n"
3259 " (signature vec4\n"
3260 " (parameters\n"
3261 " (declare (in) sampler2DArray sampler)\n"
3262 " (declare (in) ivec3 P) \n"
3263 " (declare (in) int lod) )\n"
3264 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3265 "\n"
3266 " (signature ivec4\n"
3267 " (parameters\n"
3268 " (declare (in) isampler2DArray sampler)\n"
3269 " (declare (in) ivec3 P) \n"
3270 " (declare (in) int lod) )\n"
3271 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3272 "\n"
3273 " (signature uvec4\n"
3274 " (parameters\n"
3275 " (declare (in) usampler2DArray sampler)\n"
3276 " (declare (in) ivec3 P) \n"
3277 " (declare (in) int lod) )\n"
3278 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003279 "\n"
3280 "))\n"
3281 ""
3282;
3283static const char *builtin_texture =
3284 "((function texture\n"
3285 " (signature vec4\n"
3286 " (parameters\n"
3287 " (declare (in) sampler1D sampler)\n"
3288 " (declare (in) float P) )\n"
3289 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3290 "\n"
3291 " (signature ivec4\n"
3292 " (parameters\n"
3293 " (declare (in) isampler1D sampler)\n"
3294 " (declare (in) float P) )\n"
3295 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3296 "\n"
3297 " (signature uvec4\n"
3298 " (parameters\n"
3299 " (declare (in) usampler1D sampler)\n"
3300 " (declare (in) float P) )\n"
3301 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3302 "\n"
3303 " (signature vec4\n"
3304 " (parameters\n"
3305 " (declare (in) sampler2D sampler)\n"
3306 " (declare (in) vec2 P) )\n"
3307 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3308 "\n"
3309 " (signature ivec4\n"
3310 " (parameters\n"
3311 " (declare (in) isampler2D sampler)\n"
3312 " (declare (in) vec2 P) )\n"
3313 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3314 "\n"
3315 " (signature uvec4\n"
3316 " (parameters\n"
3317 " (declare (in) usampler2D sampler)\n"
3318 " (declare (in) vec2 P) )\n"
3319 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3320 "\n"
3321 " (signature vec4\n"
3322 " (parameters\n"
3323 " (declare (in) sampler3D sampler)\n"
3324 " (declare (in) vec3 P) )\n"
3325 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3326 "\n"
3327 " (signature ivec4\n"
3328 " (parameters\n"
3329 " (declare (in) isampler3D sampler)\n"
3330 " (declare (in) vec3 P) )\n"
3331 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3332 "\n"
3333 " (signature uvec4\n"
3334 " (parameters\n"
3335 " (declare (in) usampler3D sampler)\n"
3336 " (declare (in) vec3 P) )\n"
3337 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3338 "\n"
3339 " (signature vec4\n"
3340 " (parameters\n"
3341 " (declare (in) samplerCube sampler)\n"
3342 " (declare (in) vec3 P) )\n"
3343 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3344 "\n"
3345 " (signature ivec4\n"
3346 " (parameters\n"
3347 " (declare (in) isamplerCube sampler)\n"
3348 " (declare (in) vec3 P) )\n"
3349 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3350 "\n"
3351 " (signature uvec4\n"
3352 " (parameters\n"
3353 " (declare (in) usamplerCube sampler)\n"
3354 " (declare (in) vec3 P) )\n"
3355 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3356 "\n"
3357 " (signature vec4\n"
3358 " (parameters\n"
3359 " (declare (in) sampler1DArray sampler)\n"
3360 " (declare (in) vec2 P) )\n"
3361 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3362 "\n"
3363 " (signature ivec4\n"
3364 " (parameters\n"
3365 " (declare (in) isampler1DArray sampler)\n"
3366 " (declare (in) vec2 P) )\n"
3367 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3368 "\n"
3369 " (signature uvec4\n"
3370 " (parameters\n"
3371 " (declare (in) usampler1DArray sampler)\n"
3372 " (declare (in) vec2 P) )\n"
3373 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3374 "\n"
3375 " (signature vec4\n"
3376 " (parameters\n"
3377 " (declare (in) sampler2DArray sampler)\n"
3378 " (declare (in) vec3 P) )\n"
3379 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3380 "\n"
3381 " (signature ivec4\n"
3382 " (parameters\n"
3383 " (declare (in) isampler2DArray sampler)\n"
3384 " (declare (in) vec3 P) )\n"
3385 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3386 "\n"
3387 " (signature uvec4\n"
3388 " (parameters\n"
3389 " (declare (in) usampler2DArray sampler)\n"
3390 " (declare (in) vec3 P) )\n"
3391 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3392 "\n"
3393 " (signature vec4\n"
3394 " (parameters\n"
3395 " (declare (in) sampler1D sampler)\n"
3396 " (declare (in) float P) \n"
3397 " (declare (in) float bias) )\n"
3398 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3399 "\n"
3400 " (signature ivec4\n"
3401 " (parameters\n"
3402 " (declare (in) isampler1D sampler)\n"
3403 " (declare (in) float P) \n"
3404 " (declare (in) float bias) )\n"
3405 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3406 "\n"
3407 " (signature uvec4\n"
3408 " (parameters\n"
3409 " (declare (in) usampler1D sampler)\n"
3410 " (declare (in) float P) \n"
3411 " (declare (in) float bias) )\n"
3412 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3413 "\n"
3414 " (signature vec4\n"
3415 " (parameters\n"
3416 " (declare (in) sampler2D sampler)\n"
3417 " (declare (in) vec2 P) \n"
3418 " (declare (in) float bias) )\n"
3419 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3420 "\n"
3421 " (signature ivec4\n"
3422 " (parameters\n"
3423 " (declare (in) isampler2D sampler)\n"
3424 " (declare (in) vec2 P) \n"
3425 " (declare (in) float bias) )\n"
3426 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3427 "\n"
3428 " (signature uvec4\n"
3429 " (parameters\n"
3430 " (declare (in) usampler2D sampler)\n"
3431 " (declare (in) vec2 P) \n"
3432 " (declare (in) float bias) )\n"
3433 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3434 "\n"
3435 " (signature vec4\n"
3436 " (parameters\n"
3437 " (declare (in) sampler3D sampler)\n"
3438 " (declare (in) vec3 P) \n"
3439 " (declare (in) float bias) )\n"
3440 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3441 "\n"
3442 " (signature ivec4\n"
3443 " (parameters\n"
3444 " (declare (in) isampler3D sampler)\n"
3445 " (declare (in) vec3 P) \n"
3446 " (declare (in) float bias) )\n"
3447 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3448 "\n"
3449 " (signature uvec4\n"
3450 " (parameters\n"
3451 " (declare (in) usampler3D sampler)\n"
3452 " (declare (in) vec3 P) \n"
3453 " (declare (in) float bias) )\n"
3454 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3455 "\n"
3456 " (signature vec4\n"
3457 " (parameters\n"
3458 " (declare (in) samplerCube sampler)\n"
3459 " (declare (in) vec3 P) \n"
3460 " (declare (in) float bias) )\n"
3461 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3462 "\n"
3463 " (signature ivec4\n"
3464 " (parameters\n"
3465 " (declare (in) isamplerCube sampler)\n"
3466 " (declare (in) vec3 P) \n"
3467 " (declare (in) float bias) )\n"
3468 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3469 "\n"
3470 " (signature uvec4\n"
3471 " (parameters\n"
3472 " (declare (in) usamplerCube sampler)\n"
3473 " (declare (in) vec3 P) \n"
3474 " (declare (in) float bias) )\n"
3475 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3476 "\n"
3477 " (signature vec4\n"
3478 " (parameters\n"
3479 " (declare (in) sampler1DArray sampler)\n"
3480 " (declare (in) vec2 P) \n"
3481 " (declare (in) float bias) )\n"
3482 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3483 "\n"
3484 " (signature ivec4\n"
3485 " (parameters\n"
3486 " (declare (in) isampler1DArray sampler)\n"
3487 " (declare (in) vec2 P) \n"
3488 " (declare (in) float bias) )\n"
3489 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3490 "\n"
3491 " (signature uvec4\n"
3492 " (parameters\n"
3493 " (declare (in) usampler1DArray sampler)\n"
3494 " (declare (in) vec2 P) \n"
3495 " (declare (in) float bias) )\n"
3496 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3497 "\n"
3498 " (signature vec4\n"
3499 " (parameters\n"
3500 " (declare (in) sampler2DArray sampler)\n"
3501 " (declare (in) vec3 P) \n"
3502 " (declare (in) float bias) )\n"
3503 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3504 "\n"
3505 " (signature ivec4\n"
3506 " (parameters\n"
3507 " (declare (in) isampler2DArray sampler)\n"
3508 " (declare (in) vec3 P) \n"
3509 " (declare (in) float bias) )\n"
3510 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3511 "\n"
3512 " (signature uvec4\n"
3513 " (parameters\n"
3514 " (declare (in) usampler2DArray sampler)\n"
3515 " (declare (in) vec3 P) \n"
3516 " (declare (in) float bias) )\n"
3517 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3518 "\n"
3519 "))\n"
3520 ""
3521;
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003522static const char *builtin_texture1D =
3523 "((function texture1D\n"
3524 " (signature vec4\n"
3525 " (parameters\n"
3526 " (declare (in) sampler1D sampler)\n"
3527 " (declare (in) float P) )\n"
3528 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3529 "\n"
3530 " (signature vec4\n"
3531 " (parameters\n"
3532 " (declare (in) sampler1D sampler)\n"
3533 " (declare (in) float P) \n"
3534 " (declare (in) float bias) )\n"
3535 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3536 "\n"
3537 "))\n"
3538 ""
3539;
Eric Anholt47003a82010-08-23 12:39:35 -07003540static const char *builtin_texture1DArray =
3541 "((function texture1DArray\n"
3542 " (signature vec4\n"
Kenneth Graunkeb3262122010-04-28 23:01:33 -07003543 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003544 " (declare (in) sampler1DArray sampler)\n"
3545 " (declare (in) vec2 P) )\n"
3546 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
Kenneth Graunkeb3262122010-04-28 23:01:33 -07003547 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003548 " (signature vec4\n"
Kenneth Graunkeb3262122010-04-28 23:01:33 -07003549 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003550 " (declare (in) sampler1DArray sampler)\n"
3551 " (declare (in) vec2 P) \n"
3552 " (declare (in) float bias) )\n"
3553 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
Kenneth Graunkeb3262122010-04-28 23:01:33 -07003554 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003555 "))\n"
3556 ""
3557;
3558static const char *builtin_texture1DArrayLod =
3559 "((function texture1DArrayLod\n"
3560 " (signature vec4\n"
Kenneth Graunkeb3262122010-04-28 23:01:33 -07003561 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003562 " (declare (in) sampler1DArray sampler)\n"
3563 " (declare (in) vec2 P) \n"
3564 " (declare (in) float lod) )\n"
3565 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3566 "\n"
3567 "))\n"
3568 ""
3569;
3570static const char *builtin_texture1DLod =
3571 "((function texture1DLod\n"
3572 " (signature vec4\n"
3573 " (parameters\n"
3574 " (declare (in) sampler1D sampler)\n"
3575 " (declare (in) float P) \n"
3576 " (declare (in) float lod) )\n"
3577 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3578 "\n"
3579 "))\n"
3580 ""
3581;
3582static const char *builtin_texture1DProj =
3583 "((function texture1DProj\n"
3584 " (signature vec4\n"
3585 " (parameters\n"
3586 " (declare (in) sampler1D sampler)\n"
3587 " (declare (in) vec2 P) )\n"
3588 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ))))\n"
3589 "\n"
3590 " (signature vec4\n"
3591 " (parameters\n"
3592 " (declare (in) sampler1D sampler)\n"
3593 " (declare (in) vec4 P) )\n"
3594 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
3595 "\n"
3596 " (signature vec4\n"
3597 " (parameters\n"
3598 " (declare (in) sampler1D sampler)\n"
3599 " (declare (in) vec2 P) \n"
3600 " (declare (in) float bias) )\n"
3601 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
3602 "\n"
3603 " (signature vec4\n"
3604 " (parameters\n"
3605 " (declare (in) sampler1D sampler)\n"
3606 " (declare (in) vec4 P) \n"
3607 " (declare (in) float bias) )\n"
3608 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
3609 "\n"
3610 "))\n"
3611 ""
3612;
3613static const char *builtin_texture1DProjLod =
3614 "((function texture1DProjLod\n"
3615 " (signature vec4\n"
3616 " (parameters\n"
3617 " (declare (in) sampler1D sampler)\n"
3618 " (declare (in) vec2 P) \n"
3619 " (declare (in) float lod) )\n"
3620 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
3621 "\n"
3622 " (signature vec4\n"
3623 " (parameters\n"
3624 " (declare (in) sampler1D sampler)\n"
3625 " (declare (in) vec4 P) \n"
3626 " (declare (in) float lod) )\n"
3627 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
3628 "\n"
3629 "))\n"
3630 ""
3631;
3632static const char *builtin_texture2D =
3633 "((function texture2D\n"
3634 " (signature vec4\n"
3635 " (parameters\n"
3636 " (declare (in) sampler2D sampler)\n"
3637 " (declare (in) vec2 P) )\n"
3638 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3639 "\n"
3640 " (signature vec4\n"
3641 " (parameters\n"
3642 " (declare (in) sampler2D sampler)\n"
3643 " (declare (in) vec2 P) \n"
3644 " (declare (in) float bias) )\n"
3645 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3646 "\n"
3647 "))\n"
3648 ""
3649;
3650static const char *builtin_texture2DArray =
3651 "((function texture2DArray\n"
3652 " (signature vec4\n"
3653 " (parameters\n"
3654 " (declare (in) sampler2DArray sampler)\n"
3655 " (declare (in) vec3 P) )\n"
3656 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3657 "\n"
3658 " (signature vec4\n"
3659 " (parameters\n"
3660 " (declare (in) sampler2DArray sampler)\n"
3661 " (declare (in) vec3 P) \n"
3662 " (declare (in) float bias) )\n"
3663 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3664 "\n"
3665 "))\n"
3666 ""
3667;
3668static const char *builtin_texture2DArrayLod =
3669 "((function texture2DArrayLod\n"
3670 " (signature vec4\n"
3671 " (parameters\n"
3672 " (declare (in) sampler2DArray sampler)\n"
3673 " (declare (in) vec3 P) \n"
3674 " (declare (in) float lod) )\n"
3675 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3676 "\n"
3677 "))\n"
3678 ""
3679;
3680static const char *builtin_texture2DLod =
3681 "((function texture2DLod\n"
3682 " (signature vec4\n"
3683 " (parameters\n"
3684 " (declare (in) sampler2D sampler)\n"
3685 " (declare (in) vec2 P) \n"
3686 " (declare (in) float lod) )\n"
3687 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3688 "\n"
3689 "))\n"
3690 ""
3691;
3692static const char *builtin_texture2DProj =
3693 "((function texture2DProj\n"
3694 " (signature vec4\n"
3695 " (parameters\n"
3696 " (declare (in) sampler2D sampler)\n"
3697 " (declare (in) vec3 P) )\n"
3698 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
3699 "\n"
3700 " (signature vec4\n"
3701 " (parameters\n"
3702 " (declare (in) sampler2D sampler)\n"
3703 " (declare (in) vec4 P) )\n"
3704 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
3705 "\n"
3706 " (signature vec4\n"
3707 " (parameters\n"
3708 " (declare (in) sampler2D sampler)\n"
3709 " (declare (in) vec3 P) \n"
3710 " (declare (in) float bias) )\n"
3711 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
3712 "\n"
3713 " (signature vec4\n"
3714 " (parameters\n"
3715 " (declare (in) sampler2D sampler)\n"
3716 " (declare (in) vec4 P) \n"
3717 " (declare (in) float bias) )\n"
3718 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
3719 "\n"
3720 "))\n"
3721 ""
3722;
3723static const char *builtin_texture2DProjLod =
3724 "((function texture2DProjLod\n"
3725 " (signature vec4\n"
3726 " (parameters\n"
3727 " (declare (in) sampler2D sampler)\n"
3728 " (declare (in) vec3 P) \n"
3729 " (declare (in) float lod) )\n"
3730 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
3731 "\n"
3732 " (signature vec4\n"
3733 " (parameters\n"
3734 " (declare (in) sampler2D sampler)\n"
3735 " (declare (in) vec4 P) \n"
3736 " (declare (in) float lod) )\n"
3737 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
3738 "\n"
3739 "))\n"
3740 ""
3741;
3742static const char *builtin_texture2DRect =
3743 "((function texture2DRect\n"
3744 " (signature vec4\n"
3745 " (parameters\n"
3746 " (declare (in) sampler2DRect sampler)\n"
3747 " (declare (in) vec2 P) )\n"
3748 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3749 "\n"
Kenneth Graunkeb3262122010-04-28 23:01:33 -07003750 "))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003751 ""
3752;
3753static const char *builtin_texture2DRectProj =
3754 "((function texture2DRectProj\n"
3755 " (signature vec4\n"
3756 " (parameters\n"
3757 " (declare (in) sampler2DRect sampler)\n"
3758 " (declare (in) vec3 P) )\n"
3759 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
3760 "\n"
3761 " (signature vec4\n"
3762 " (parameters\n"
3763 " (declare (in) sampler2DRect sampler)\n"
3764 " (declare (in) vec4 P) )\n"
3765 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
3766 "\n"
3767 "))\n"
3768 ""
3769;
Eric Anholt47003a82010-08-23 12:39:35 -07003770static const char *builtin_texture3D =
3771 "((function texture3D\n"
3772 " (signature vec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003773 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003774 " (declare (in) sampler3D sampler)\n"
3775 " (declare (in) vec3 P) )\n"
3776 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003777 "\n"
3778 " (signature vec4\n"
3779 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003780 " (declare (in) sampler3D sampler)\n"
3781 " (declare (in) vec3 P) \n"
3782 " (declare (in) float bias) )\n"
3783 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003784 "\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003785 "))\n"
3786 ""
3787;
Eric Anholt47003a82010-08-23 12:39:35 -07003788static const char *builtin_texture3DLod =
3789 "((function texture3DLod\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003790 " (signature vec4\n"
3791 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003792 " (declare (in) sampler3D sampler)\n"
3793 " (declare (in) vec3 P) \n"
3794 " (declare (in) float lod) )\n"
3795 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3796 "\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003797 "))\n"
3798 ""
3799;
Eric Anholt47003a82010-08-23 12:39:35 -07003800static const char *builtin_texture3DProj =
3801 "((function texture3DProj\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003802 " (signature vec4\n"
3803 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003804 " (declare (in) sampler3D sampler)\n"
3805 " (declare (in) vec4 P) )\n"
3806 " ((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 -07003807 "\n"
3808 " (signature vec4\n"
3809 " (parameters\n"
3810 " (declare (in) sampler3D sampler)\n"
3811 " (declare (in) vec4 P) \n"
Eric Anholt47003a82010-08-23 12:39:35 -07003812 " (declare (in) float bias) )\n"
3813 " ((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 -07003814 "\n"
3815 "))\n"
3816 ""
3817;
Eric Anholt47003a82010-08-23 12:39:35 -07003818static const char *builtin_texture3DProjLod =
3819 "((function texture3DProjLod\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003820 " (signature vec4\n"
3821 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003822 " (declare (in) sampler3D sampler)\n"
3823 " (declare (in) vec4 P) \n"
3824 " (declare (in) float lod) )\n"
3825 " ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
3826 "\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003827 "))\n"
3828 ""
3829;
Eric Anholt47003a82010-08-23 12:39:35 -07003830static const char *builtin_textureCube =
3831 "((function textureCube\n"
3832 " (signature vec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003833 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003834 " (declare (in) samplerCube sampler)\n"
3835 " (declare (in) vec3 P) )\n"
3836 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003837 "\n"
3838 " (signature vec4\n"
3839 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003840 " (declare (in) samplerCube sampler)\n"
3841 " (declare (in) vec3 P) \n"
3842 " (declare (in) float bias) )\n"
3843 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3844 "\n"
3845 "))\n"
3846 ""
3847;
3848static const char *builtin_textureCubeLod =
3849 "((function textureCubeLod\n"
3850 " (signature vec4\n"
3851 " (parameters\n"
3852 " (declare (in) samplerCube sampler)\n"
3853 " (declare (in) vec3 P) \n"
3854 " (declare (in) float lod) )\n"
3855 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3856 "\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003857 "))\n"
3858 ""
3859;
3860static const char *builtin_textureGrad =
3861 "((function textureGrad\n"
3862 " (signature vec4\n"
3863 " (parameters\n"
3864 " (declare (in) sampler1D sampler)\n"
3865 " (declare (in) float P) \n"
3866 " (declare (in) float dPdx) \n"
3867 " (declare (in) float dPdy) )\n"
3868 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3869 "\n"
3870 " (signature ivec4\n"
3871 " (parameters\n"
3872 " (declare (in) isampler1D sampler)\n"
3873 " (declare (in) float P) \n"
3874 " (declare (in) float dPdx) \n"
3875 " (declare (in) float dPdy) )\n"
3876 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3877 "\n"
3878 " (signature uvec4\n"
3879 " (parameters\n"
3880 " (declare (in) usampler1D sampler)\n"
3881 " (declare (in) float P) \n"
3882 " (declare (in) float dPdx) \n"
3883 " (declare (in) float dPdy) )\n"
3884 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3885 "\n"
3886 " (signature vec4\n"
3887 " (parameters\n"
3888 " (declare (in) sampler2D sampler)\n"
3889 " (declare (in) vec2 P) \n"
3890 " (declare (in) vec2 dPdx) \n"
3891 " (declare (in) vec2 dPdy) )\n"
3892 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3893 "\n"
3894 " (signature ivec4\n"
3895 " (parameters\n"
3896 " (declare (in) isampler2D sampler)\n"
3897 " (declare (in) vec2 P) \n"
3898 " (declare (in) vec2 dPdx) \n"
3899 " (declare (in) vec2 dPdy) )\n"
3900 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3901 "\n"
3902 " (signature uvec4\n"
3903 " (parameters\n"
3904 " (declare (in) usampler2D sampler)\n"
3905 " (declare (in) vec2 P) \n"
3906 " (declare (in) vec2 dPdx) \n"
3907 " (declare (in) vec2 dPdy) )\n"
3908 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3909 "\n"
3910 " (signature vec4\n"
3911 " (parameters\n"
3912 " (declare (in) sampler3D sampler)\n"
3913 " (declare (in) vec3 P) \n"
3914 " (declare (in) vec3 dPdx) \n"
3915 " (declare (in) vec3 dPdy) )\n"
3916 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3917 "\n"
3918 " (signature ivec4\n"
3919 " (parameters\n"
3920 " (declare (in) isampler3D sampler)\n"
3921 " (declare (in) vec3 P) \n"
3922 " (declare (in) vec3 dPdx) \n"
3923 " (declare (in) vec3 dPdy) )\n"
3924 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3925 "\n"
3926 " (signature uvec4\n"
3927 " (parameters\n"
3928 " (declare (in) usampler3D sampler)\n"
3929 " (declare (in) vec3 P) \n"
3930 " (declare (in) vec3 dPdx) \n"
3931 " (declare (in) vec3 dPdy) )\n"
3932 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3933 "\n"
3934 " (signature vec4\n"
3935 " (parameters\n"
3936 " (declare (in) samplerCube sampler)\n"
3937 " (declare (in) vec3 P) \n"
3938 " (declare (in) vec3 dPdx) \n"
3939 " (declare (in) vec3 dPdy) )\n"
3940 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3941 "\n"
3942 " (signature ivec4\n"
3943 " (parameters\n"
3944 " (declare (in) isamplerCube sampler)\n"
3945 " (declare (in) vec3 P) \n"
3946 " (declare (in) vec3 dPdx) \n"
3947 " (declare (in) vec3 dPdy) )\n"
3948 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3949 "\n"
3950 " (signature uvec4\n"
3951 " (parameters\n"
3952 " (declare (in) usamplerCube sampler)\n"
3953 " (declare (in) vec3 P) \n"
3954 " (declare (in) vec3 dPdx) \n"
3955 " (declare (in) vec3 dPdy) )\n"
3956 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3957 "\n"
3958 " (signature vec4\n"
3959 " (parameters\n"
3960 " (declare (in) sampler1DArray sampler)\n"
3961 " (declare (in) vec2 P) \n"
3962 " (declare (in) vec2 dPdx) \n"
3963 " (declare (in) vec2 dPdy) )\n"
3964 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3965 "\n"
3966 " (signature ivec4\n"
3967 " (parameters\n"
3968 " (declare (in) isampler1DArray sampler)\n"
3969 " (declare (in) vec2 P) \n"
3970 " (declare (in) vec2 dPdx) \n"
3971 " (declare (in) vec2 dPdy) )\n"
3972 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3973 "\n"
3974 " (signature uvec4\n"
3975 " (parameters\n"
3976 " (declare (in) usampler1DArray sampler)\n"
3977 " (declare (in) vec2 P) \n"
3978 " (declare (in) vec2 dPdx) \n"
3979 " (declare (in) vec2 dPdy) )\n"
3980 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3981 "\n"
3982 " (signature vec4\n"
3983 " (parameters\n"
3984 " (declare (in) sampler2DArray sampler)\n"
3985 " (declare (in) vec3 P) \n"
3986 " (declare (in) vec3 dPdx) \n"
3987 " (declare (in) vec3 dPdy) )\n"
3988 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3989 "\n"
3990 " (signature ivec4\n"
3991 " (parameters\n"
3992 " (declare (in) isampler2DArray sampler)\n"
3993 " (declare (in) vec3 P) \n"
3994 " (declare (in) vec3 dPdx) \n"
3995 " (declare (in) vec3 dPdy) )\n"
3996 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3997 "\n"
3998 " (signature uvec4\n"
3999 " (parameters\n"
4000 " (declare (in) usampler2DArray sampler)\n"
4001 " (declare (in) vec3 P) \n"
4002 " (declare (in) vec3 dPdx) \n"
4003 " (declare (in) vec3 dPdy) )\n"
4004 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4005 "\n"
4006 "))\n"
4007 ""
4008;
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004009static const char *builtin_textureLod =
4010 "((function textureLod\n"
4011 " (signature vec4\n"
4012 " (parameters\n"
4013 " (declare (in) sampler1D sampler)\n"
4014 " (declare (in) float P) \n"
4015 " (declare (in) float lod) )\n"
4016 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4017 "\n"
4018 " (signature ivec4\n"
4019 " (parameters\n"
4020 " (declare (in) isampler1D sampler)\n"
4021 " (declare (in) float P) \n"
4022 " (declare (in) float lod) )\n"
4023 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4024 "\n"
4025 " (signature uvec4\n"
4026 " (parameters\n"
4027 " (declare (in) usampler1D sampler)\n"
4028 " (declare (in) float P) \n"
4029 " (declare (in) float lod) )\n"
4030 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4031 "\n"
4032 " (signature vec4\n"
4033 " (parameters\n"
4034 " (declare (in) sampler2D sampler)\n"
4035 " (declare (in) vec2 P) \n"
4036 " (declare (in) float lod) )\n"
4037 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4038 "\n"
4039 " (signature ivec4\n"
4040 " (parameters\n"
4041 " (declare (in) isampler2D sampler)\n"
4042 " (declare (in) vec2 P) \n"
4043 " (declare (in) float lod) )\n"
4044 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4045 "\n"
4046 " (signature uvec4\n"
4047 " (parameters\n"
4048 " (declare (in) usampler2D sampler)\n"
4049 " (declare (in) vec2 P) \n"
4050 " (declare (in) float lod) )\n"
4051 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4052 "\n"
4053 " (signature vec4\n"
4054 " (parameters\n"
4055 " (declare (in) sampler3D sampler)\n"
4056 " (declare (in) vec3 P) \n"
4057 " (declare (in) float lod) )\n"
4058 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4059 "\n"
4060 " (signature ivec4\n"
4061 " (parameters\n"
4062 " (declare (in) isampler3D sampler)\n"
4063 " (declare (in) vec3 P) \n"
4064 " (declare (in) float lod) )\n"
4065 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4066 "\n"
4067 " (signature uvec4\n"
4068 " (parameters\n"
4069 " (declare (in) usampler3D sampler)\n"
4070 " (declare (in) vec3 P) \n"
4071 " (declare (in) float lod) )\n"
4072 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4073 "\n"
4074 " (signature vec4\n"
4075 " (parameters\n"
4076 " (declare (in) samplerCube sampler)\n"
4077 " (declare (in) vec3 P) \n"
4078 " (declare (in) float lod) )\n"
4079 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4080 "\n"
4081 " (signature ivec4\n"
4082 " (parameters\n"
4083 " (declare (in) isamplerCube sampler)\n"
4084 " (declare (in) vec3 P) \n"
4085 " (declare (in) float lod) )\n"
4086 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4087 "\n"
4088 " (signature uvec4\n"
4089 " (parameters\n"
4090 " (declare (in) usamplerCube sampler)\n"
4091 " (declare (in) vec3 P) \n"
4092 " (declare (in) float lod) )\n"
4093 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4094 "\n"
4095 " (signature vec4\n"
4096 " (parameters\n"
4097 " (declare (in) sampler1DArray sampler)\n"
4098 " (declare (in) vec2 P) \n"
4099 " (declare (in) float lod) )\n"
4100 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4101 "\n"
4102 " (signature ivec4\n"
4103 " (parameters\n"
4104 " (declare (in) isampler1DArray sampler)\n"
4105 " (declare (in) vec2 P) \n"
4106 " (declare (in) float lod) )\n"
4107 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4108 "\n"
4109 " (signature uvec4\n"
4110 " (parameters\n"
4111 " (declare (in) usampler1DArray sampler)\n"
4112 " (declare (in) vec2 P) \n"
4113 " (declare (in) float lod) )\n"
4114 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4115 "\n"
4116 " (signature vec4\n"
4117 " (parameters\n"
4118 " (declare (in) sampler2DArray sampler)\n"
4119 " (declare (in) vec3 P) \n"
4120 " (declare (in) float lod) )\n"
4121 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4122 "\n"
4123 " (signature ivec4\n"
4124 " (parameters\n"
4125 " (declare (in) isampler2DArray sampler)\n"
4126 " (declare (in) vec3 P) \n"
4127 " (declare (in) float lod) )\n"
4128 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4129 "\n"
4130 " (signature uvec4\n"
4131 " (parameters\n"
4132 " (declare (in) usampler2DArray sampler)\n"
4133 " (declare (in) vec3 P) \n"
4134 " (declare (in) float lod) )\n"
4135 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4136 "\n"
4137 "))\n"
4138 ""
4139;
Eric Anholt47003a82010-08-23 12:39:35 -07004140static const char *builtin_textureProj =
4141 "((function textureProj\n"
4142 " (signature vec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004143 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004144 " (declare (in) sampler1D sampler)\n"
4145 " (declare (in) vec2 P) )\n"
4146 " ((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 -07004147 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004148 " (signature ivec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004149 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004150 " (declare (in) isampler1D sampler)\n"
4151 " (declare (in) vec2 P) )\n"
4152 " ((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 -07004153 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004154 " (signature uvec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004155 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004156 " (declare (in) usampler1D sampler)\n"
4157 " (declare (in) vec2 P) )\n"
4158 " ((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 -07004159 "\n"
4160 " (signature vec4\n"
4161 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004162 " (declare (in) sampler1D sampler)\n"
4163 " (declare (in) vec4 P) )\n"
4164 " ((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 -07004165 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004166 " (signature ivec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004167 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004168 " (declare (in) isampler1D sampler)\n"
4169 " (declare (in) vec4 P) )\n"
4170 " ((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 -07004171 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004172 " (signature uvec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004173 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004174 " (declare (in) usampler1D sampler)\n"
4175 " (declare (in) vec4 P) )\n"
4176 " ((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 -07004177 "\n"
4178 " (signature vec4\n"
4179 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004180 " (declare (in) sampler2D sampler)\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004181 " (declare (in) vec3 P) )\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004182 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
4183 "\n"
4184 " (signature ivec4\n"
4185 " (parameters\n"
4186 " (declare (in) isampler2D sampler)\n"
4187 " (declare (in) vec3 P) )\n"
4188 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
4189 "\n"
4190 " (signature uvec4\n"
4191 " (parameters\n"
4192 " (declare (in) usampler2D sampler)\n"
4193 " (declare (in) vec3 P) )\n"
4194 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
4195 "\n"
4196 " (signature vec4\n"
4197 " (parameters\n"
4198 " (declare (in) sampler2D sampler)\n"
4199 " (declare (in) vec4 P) )\n"
4200 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4201 "\n"
4202 " (signature ivec4\n"
4203 " (parameters\n"
4204 " (declare (in) isampler2D sampler)\n"
4205 " (declare (in) vec4 P) )\n"
4206 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4207 "\n"
4208 " (signature uvec4\n"
4209 " (parameters\n"
4210 " (declare (in) usampler2D sampler)\n"
4211 " (declare (in) vec4 P) )\n"
4212 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4213 "\n"
4214 " (signature vec4\n"
4215 " (parameters\n"
4216 " (declare (in) sampler3D sampler)\n"
4217 " (declare (in) vec4 P) )\n"
4218 " ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4219 "\n"
4220 " (signature ivec4\n"
4221 " (parameters\n"
4222 " (declare (in) isampler3D sampler)\n"
4223 " (declare (in) vec4 P) )\n"
4224 " ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4225 "\n"
4226 " (signature uvec4\n"
4227 " (parameters\n"
4228 " (declare (in) usampler3D sampler)\n"
4229 " (declare (in) vec4 P) )\n"
4230 " ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4231 "\n"
4232 " (signature vec4\n"
4233 " (parameters\n"
4234 " (declare (in) sampler1D sampler)\n"
4235 " (declare (in) vec2 P) \n"
4236 " (declare (in) float bias) )\n"
4237 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
4238 "\n"
4239 " (signature ivec4\n"
4240 " (parameters\n"
4241 " (declare (in) isampler1D sampler)\n"
4242 " (declare (in) vec2 P) \n"
4243 " (declare (in) float bias) )\n"
4244 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
4245 "\n"
4246 " (signature uvec4\n"
4247 " (parameters\n"
4248 " (declare (in) usampler1D sampler)\n"
4249 " (declare (in) vec2 P) \n"
4250 " (declare (in) float bias) )\n"
4251 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
4252 "\n"
4253 " (signature vec4\n"
4254 " (parameters\n"
4255 " (declare (in) sampler1D sampler)\n"
4256 " (declare (in) vec4 P) \n"
4257 " (declare (in) float bias) )\n"
4258 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4259 "\n"
4260 " (signature ivec4\n"
4261 " (parameters\n"
4262 " (declare (in) isampler1D sampler)\n"
4263 " (declare (in) vec4 P) \n"
4264 " (declare (in) float bias) )\n"
4265 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4266 "\n"
4267 " (signature uvec4\n"
4268 " (parameters\n"
4269 " (declare (in) usampler1D sampler)\n"
4270 " (declare (in) vec4 P) \n"
4271 " (declare (in) float bias) )\n"
4272 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4273 "\n"
4274 " (signature vec4\n"
4275 " (parameters\n"
4276 " (declare (in) sampler2D sampler)\n"
4277 " (declare (in) vec3 P) \n"
4278 " (declare (in) float bias) )\n"
4279 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
4280 "\n"
4281 " (signature ivec4\n"
4282 " (parameters\n"
4283 " (declare (in) isampler2D sampler)\n"
4284 " (declare (in) vec3 P) \n"
4285 " (declare (in) float bias) )\n"
4286 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
4287 "\n"
4288 " (signature uvec4\n"
4289 " (parameters\n"
4290 " (declare (in) usampler2D sampler)\n"
4291 " (declare (in) vec3 P) \n"
4292 " (declare (in) float bias) )\n"
4293 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
4294 "\n"
4295 " (signature vec4\n"
4296 " (parameters\n"
4297 " (declare (in) sampler2D sampler)\n"
4298 " (declare (in) vec4 P) \n"
4299 " (declare (in) float bias) )\n"
4300 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4301 "\n"
4302 " (signature ivec4\n"
4303 " (parameters\n"
4304 " (declare (in) isampler2D sampler)\n"
4305 " (declare (in) vec4 P) \n"
4306 " (declare (in) float bias) )\n"
4307 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4308 "\n"
4309 " (signature uvec4\n"
4310 " (parameters\n"
4311 " (declare (in) usampler2D sampler)\n"
4312 " (declare (in) vec4 P) \n"
4313 " (declare (in) float bias) )\n"
4314 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4315 "\n"
4316 " (signature vec4\n"
4317 " (parameters\n"
4318 " (declare (in) sampler3D sampler)\n"
4319 " (declare (in) vec4 P) \n"
4320 " (declare (in) float bias) )\n"
4321 " ((return (txb (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4322 "\n"
4323 " (signature ivec4\n"
4324 " (parameters\n"
4325 " (declare (in) isampler3D sampler)\n"
4326 " (declare (in) vec4 P) \n"
4327 " (declare (in) float bias) )\n"
4328 " ((return (txb (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4329 "\n"
4330 " (signature uvec4\n"
4331 " (parameters\n"
4332 " (declare (in) usampler3D sampler)\n"
4333 " (declare (in) vec4 P) \n"
4334 " (declare (in) float bias) )\n"
4335 " ((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 -07004336 "\n"
4337 "))\n"
4338 ""
4339;
Eric Anholt47003a82010-08-23 12:39:35 -07004340static const char *builtin_textureProjGrad =
4341 "((function textureProjGrad\n"
4342 " (signature vec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004343 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004344 " (declare (in) sampler1D sampler)\n"
4345 " (declare (in) vec2 P) \n"
4346 " (declare (in) float dPdx) \n"
4347 " (declare (in) float dPdy) )\n"
4348 " ((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 -07004349 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004350 " (signature ivec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004351 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004352 " (declare (in) isampler1D sampler)\n"
4353 " (declare (in) vec2 P) \n"
4354 " (declare (in) float dPdx) \n"
4355 " (declare (in) float dPdy) )\n"
4356 " ((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 -07004357 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004358 " (signature uvec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004359 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004360 " (declare (in) usampler1D sampler)\n"
4361 " (declare (in) vec2 P) \n"
4362 " (declare (in) float dPdx) \n"
4363 " (declare (in) float dPdy) )\n"
4364 " ((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 -07004365 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004366 " (signature vec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004367 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004368 " (declare (in) sampler1D sampler)\n"
4369 " (declare (in) vec4 P) \n"
4370 " (declare (in) float dPdx) \n"
4371 " (declare (in) float dPdy) )\n"
4372 " ((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 -07004373 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004374 " (signature ivec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004375 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004376 " (declare (in) isampler1D sampler)\n"
4377 " (declare (in) vec4 P) \n"
4378 " (declare (in) float dPdx) \n"
4379 " (declare (in) float dPdy) )\n"
4380 " ((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 -07004381 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004382 " (signature uvec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004383 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004384 " (declare (in) usampler1D sampler)\n"
4385 " (declare (in) vec4 P) \n"
4386 " (declare (in) float dPdx) \n"
4387 " (declare (in) float dPdy) )\n"
4388 " ((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 -07004389 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004390 " (signature vec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004391 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004392 " (declare (in) sampler2D sampler)\n"
4393 " (declare (in) vec3 P) \n"
4394 " (declare (in) vec2 dPdx) \n"
4395 " (declare (in) vec2 dPdy) )\n"
4396 " ((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 -07004397 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004398 " (signature ivec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004399 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004400 " (declare (in) isampler2D sampler)\n"
4401 " (declare (in) vec3 P) \n"
4402 " (declare (in) vec2 dPdx) \n"
4403 " (declare (in) vec2 dPdy) )\n"
4404 " ((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 -07004405 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004406 " (signature uvec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004407 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004408 " (declare (in) usampler2D sampler)\n"
4409 " (declare (in) vec3 P) \n"
4410 " (declare (in) vec2 dPdx) \n"
4411 " (declare (in) vec2 dPdy) )\n"
4412 " ((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"
4413 "\n"
4414 " (signature vec4\n"
4415 " (parameters\n"
4416 " (declare (in) sampler2D sampler)\n"
4417 " (declare (in) vec4 P) \n"
4418 " (declare (in) vec2 dPdx) \n"
4419 " (declare (in) vec2 dPdy) )\n"
4420 " ((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"
4421 "\n"
4422 " (signature ivec4\n"
4423 " (parameters\n"
4424 " (declare (in) isampler2D sampler)\n"
4425 " (declare (in) vec4 P) \n"
4426 " (declare (in) vec2 dPdx) \n"
4427 " (declare (in) vec2 dPdy) )\n"
4428 " ((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"
4429 "\n"
4430 " (signature uvec4\n"
4431 " (parameters\n"
4432 " (declare (in) usampler2D sampler)\n"
4433 " (declare (in) vec4 P) \n"
4434 " (declare (in) vec2 dPdx) \n"
4435 " (declare (in) vec2 dPdy) )\n"
4436 " ((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"
4437 "\n"
4438 " (signature vec4\n"
4439 " (parameters\n"
4440 " (declare (in) sampler3D sampler)\n"
4441 " (declare (in) vec4 P) \n"
4442 " (declare (in) vec3 dPdx) \n"
4443 " (declare (in) vec3 dPdy) )\n"
4444 " ((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"
4445 "\n"
4446 " (signature ivec4\n"
4447 " (parameters\n"
4448 " (declare (in) isampler3D sampler)\n"
4449 " (declare (in) vec4 P) \n"
4450 " (declare (in) vec3 dPdx) \n"
4451 " (declare (in) vec3 dPdy) )\n"
4452 " ((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"
4453 "\n"
4454 " (signature uvec4\n"
4455 " (parameters\n"
4456 " (declare (in) usampler3D sampler)\n"
4457 " (declare (in) vec4 P) \n"
4458 " (declare (in) vec3 dPdx) \n"
4459 " (declare (in) vec3 dPdy) )\n"
4460 " ((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"
4461 "\n"
4462 "))\n"
4463 ""
4464;
4465static const char *builtin_textureProjLod =
4466 "((function textureProjLod\n"
4467 " (signature vec4\n"
4468 " (parameters\n"
4469 " (declare (in) sampler1D sampler)\n"
4470 " (declare (in) vec2 P) \n"
4471 " (declare (in) float lod) )\n"
4472 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
4473 "\n"
4474 " (signature ivec4\n"
4475 " (parameters\n"
4476 " (declare (in) isampler1D sampler)\n"
4477 " (declare (in) vec2 P) \n"
4478 " (declare (in) float lod) )\n"
4479 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
4480 "\n"
4481 " (signature uvec4\n"
4482 " (parameters\n"
4483 " (declare (in) usampler1D sampler)\n"
4484 " (declare (in) vec2 P) \n"
4485 " (declare (in) float lod) )\n"
4486 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
4487 "\n"
4488 " (signature vec4\n"
4489 " (parameters\n"
4490 " (declare (in) sampler1D sampler)\n"
4491 " (declare (in) vec4 P) \n"
4492 " (declare (in) float lod) )\n"
4493 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4494 "\n"
4495 " (signature ivec4\n"
4496 " (parameters\n"
4497 " (declare (in) isampler1D sampler)\n"
4498 " (declare (in) vec4 P) \n"
4499 " (declare (in) float lod) )\n"
4500 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4501 "\n"
4502 " (signature uvec4\n"
4503 " (parameters\n"
4504 " (declare (in) usampler1D sampler)\n"
4505 " (declare (in) vec4 P) \n"
4506 " (declare (in) float lod) )\n"
4507 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4508 "\n"
4509 " (signature vec4\n"
4510 " (parameters\n"
4511 " (declare (in) sampler2D sampler)\n"
4512 " (declare (in) vec3 P) \n"
4513 " (declare (in) float lod) )\n"
4514 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
4515 "\n"
4516 " (signature ivec4\n"
4517 " (parameters\n"
4518 " (declare (in) isampler2D sampler)\n"
4519 " (declare (in) vec3 P) \n"
4520 " (declare (in) float lod) )\n"
4521 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
4522 "\n"
4523 " (signature uvec4\n"
4524 " (parameters\n"
4525 " (declare (in) usampler2D sampler)\n"
4526 " (declare (in) vec3 P) \n"
4527 " (declare (in) float lod) )\n"
4528 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
4529 "\n"
4530 " (signature vec4\n"
4531 " (parameters\n"
4532 " (declare (in) sampler2D sampler)\n"
4533 " (declare (in) vec4 P) \n"
4534 " (declare (in) float lod) )\n"
4535 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4536 "\n"
4537 " (signature ivec4\n"
4538 " (parameters\n"
4539 " (declare (in) isampler2D sampler)\n"
4540 " (declare (in) vec4 P) \n"
4541 " (declare (in) float lod) )\n"
4542 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4543 "\n"
4544 " (signature uvec4\n"
4545 " (parameters\n"
4546 " (declare (in) usampler2D sampler)\n"
4547 " (declare (in) vec4 P) \n"
4548 " (declare (in) float lod) )\n"
4549 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4550 "\n"
4551 " (signature vec4\n"
4552 " (parameters\n"
4553 " (declare (in) sampler3D sampler)\n"
4554 " (declare (in) vec4 P) \n"
4555 " (declare (in) float lod) )\n"
4556 " ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4557 "\n"
4558 " (signature ivec4\n"
4559 " (parameters\n"
4560 " (declare (in) isampler3D sampler)\n"
4561 " (declare (in) vec4 P) \n"
4562 " (declare (in) float lod) )\n"
4563 " ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4564 "\n"
4565 " (signature uvec4\n"
4566 " (parameters\n"
4567 " (declare (in) usampler3D sampler)\n"
4568 " (declare (in) vec4 P) \n"
4569 " (declare (in) float lod) )\n"
4570 " ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4571 "\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004572 "))\n"
4573 ""
4574;
4575static const char *builtin_transpose =
4576 "((function transpose\n"
4577 " (signature mat2\n"
4578 " (parameters\n"
4579 " (declare (in) mat2 m))\n"
4580 " ((declare () mat2 t)\n"
4581 " (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"
4582 " (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"
4583 " (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"
4584 " (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"
4585 "(return (var_ref t))))\n"
4586 "\n"
4587 " (signature mat3x2\n"
4588 " (parameters\n"
4589 " (declare (in) mat2x3 m))\n"
4590 " ((declare () mat3x2 t)\n"
4591 " (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"
4592 " (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"
4593 " (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"
4594 " (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"
4595 " (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"
4596 " (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"
4597 "(return (var_ref t))))\n"
4598 "\n"
4599 " (signature mat4x2\n"
4600 " (parameters\n"
4601 " (declare (in) mat2x4 m))\n"
4602 " ((declare () mat4x2 t)\n"
4603 " (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"
4604 " (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"
4605 " (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"
4606 " (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"
4607 " (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"
4608 " (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"
4609 " (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"
4610 " (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"
4611 "(return (var_ref t))))\n"
4612 "\n"
4613 " (signature mat2x3\n"
4614 " (parameters\n"
4615 " (declare (in) mat3x2 m))\n"
4616 " ((declare () mat2x3 t)\n"
4617 " (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"
4618 " (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"
4619 " (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"
4620 " (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"
4621 " (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"
4622 " (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"
4623 "(return (var_ref t))))\n"
4624 "\n"
4625 " (signature mat3\n"
4626 " (parameters\n"
4627 " (declare (in) mat3 m))\n"
4628 " ((declare () mat3 t)\n"
4629 " (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"
4630 " (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"
4631 " (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"
4632 " (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"
4633 " (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"
4634 " (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"
4635 " (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"
4636 " (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"
4637 " (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"
4638 "(return (var_ref t))))\n"
4639 "\n"
4640 " (signature mat4x3\n"
4641 " (parameters\n"
4642 " (declare (in) mat3x4 m))\n"
4643 " ((declare () mat4x3 t)\n"
4644 " (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"
4645 " (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"
4646 " (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"
4647 " (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"
4648 " (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"
4649 " (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"
4650 " (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"
4651 " (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"
4652 " (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"
4653 " (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"
4654 " (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"
4655 " (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"
4656 "(return (var_ref t))))\n"
4657 "\n"
4658 " (signature mat2x4\n"
4659 " (parameters\n"
4660 " (declare (in) mat4x2 m))\n"
4661 " ((declare () mat2x4 t)\n"
4662 " (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"
4663 " (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"
4664 " (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"
4665 " (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"
4666 " (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"
4667 " (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"
4668 " (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"
4669 " (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"
4670 "(return (var_ref t))))\n"
4671 "\n"
4672 " (signature mat3x4\n"
4673 " (parameters\n"
4674 " (declare (in) mat4x3 m))\n"
4675 " ((declare () mat3x4 t)\n"
4676 " (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"
4677 " (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"
4678 " (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"
4679 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (1))))) \n"
4680 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (1))))) \n"
4681 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (2)))) (swiz z (array_ref (var_ref m) (constant int (1))))) \n"
4682 " (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"
4683 " (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"
4684 " (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"
4685 " (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"
4686 " (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"
4687 " (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"
4688 "(return (var_ref t))))\n"
4689 "\n"
4690 " (signature mat4\n"
4691 " (parameters\n"
4692 " (declare (in) mat4 m))\n"
4693 " ((declare () mat4 t)\n"
4694 " (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"
4695 " (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"
4696 " (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"
4697 " (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"
4698 " (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"
4699 " (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"
4700 " (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"
4701 " (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"
4702 " (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"
4703 " (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"
4704 " (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"
4705 " (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"
4706 " (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"
4707 " (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"
4708 " (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"
4709 " (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"
4710 "(return (var_ref t))))\n"
4711 ")\n"
4712 "\n"
4713 ")\n"
4714 "\n"
4715 ""
4716;
Eric Anholt47003a82010-08-23 12:39:35 -07004717static const char *prototypes_for_110_frag =
4718 "(\n"
4719 "(function radians\n"
Eric Anholt3fa1b852010-07-30 10:20:34 -07004720 " (signature float\n"
4721 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004722 " (declare (in) float degrees))\n"
4723 " ())\n"
4724 " (signature vec2\n"
4725 " (parameters\n"
4726 " (declare (in) vec2 degrees))\n"
4727 " ())\n"
4728 " (signature vec3\n"
4729 " (parameters\n"
4730 " (declare (in) vec3 degrees))\n"
4731 " ())\n"
4732 " (signature vec4\n"
4733 " (parameters\n"
4734 " (declare (in) vec4 degrees))\n"
4735 " ()))\n"
4736 "(function degrees\n"
4737 " (signature float\n"
4738 " (parameters\n"
4739 " (declare (in) float radians))\n"
4740 " ())\n"
4741 " (signature vec2\n"
4742 " (parameters\n"
4743 " (declare (in) vec2 radians))\n"
4744 " ())\n"
4745 " (signature vec3\n"
4746 " (parameters\n"
4747 " (declare (in) vec3 radians))\n"
4748 " ())\n"
4749 " (signature vec4\n"
4750 " (parameters\n"
4751 " (declare (in) vec4 radians))\n"
4752 " ()))\n"
4753 "(function sin\n"
4754 " (signature float\n"
4755 " (parameters\n"
4756 " (declare (in) float angle))\n"
4757 " ())\n"
4758 " (signature vec2\n"
4759 " (parameters\n"
4760 " (declare (in) vec2 angle))\n"
4761 " ())\n"
4762 " (signature vec3\n"
4763 " (parameters\n"
4764 " (declare (in) vec3 angle))\n"
4765 " ())\n"
4766 " (signature vec4\n"
4767 " (parameters\n"
4768 " (declare (in) vec4 angle))\n"
4769 " ()))\n"
4770 "(function cos\n"
4771 " (signature float\n"
4772 " (parameters\n"
4773 " (declare (in) float angle))\n"
4774 " ())\n"
4775 " (signature vec2\n"
4776 " (parameters\n"
4777 " (declare (in) vec2 angle))\n"
4778 " ())\n"
4779 " (signature vec3\n"
4780 " (parameters\n"
4781 " (declare (in) vec3 angle))\n"
4782 " ())\n"
4783 " (signature vec4\n"
4784 " (parameters\n"
4785 " (declare (in) vec4 angle))\n"
4786 " ()))\n"
4787 "(function tan\n"
4788 " (signature float\n"
4789 " (parameters\n"
4790 " (declare (in) float angle))\n"
4791 " ())\n"
4792 " (signature vec2\n"
4793 " (parameters\n"
4794 " (declare (in) vec2 angle))\n"
4795 " ())\n"
4796 " (signature vec3\n"
4797 " (parameters\n"
4798 " (declare (in) vec3 angle))\n"
4799 " ())\n"
4800 " (signature vec4\n"
4801 " (parameters\n"
4802 " (declare (in) vec4 angle))\n"
4803 " ()))\n"
4804 "(function asin\n"
4805 " (signature float\n"
4806 " (parameters\n"
4807 " (declare (in) float angle))\n"
4808 " ())\n"
4809 " (signature vec2\n"
4810 " (parameters\n"
4811 " (declare (in) vec2 angle))\n"
4812 " ())\n"
4813 " (signature vec3\n"
4814 " (parameters\n"
4815 " (declare (in) vec3 angle))\n"
4816 " ())\n"
4817 " (signature vec4\n"
4818 " (parameters\n"
4819 " (declare (in) vec4 angle))\n"
4820 " ()))\n"
4821 "(function acos\n"
4822 " (signature float\n"
4823 " (parameters\n"
4824 " (declare (in) float angle))\n"
4825 " ())\n"
4826 " (signature vec2\n"
4827 " (parameters\n"
4828 " (declare (in) vec2 angle))\n"
4829 " ())\n"
4830 " (signature vec3\n"
4831 " (parameters\n"
4832 " (declare (in) vec3 angle))\n"
4833 " ())\n"
4834 " (signature vec4\n"
4835 " (parameters\n"
4836 " (declare (in) vec4 angle))\n"
4837 " ()))\n"
4838 "(function atan\n"
4839 " (signature float\n"
4840 " (parameters\n"
4841 " (declare (in) float y)\n"
4842 " (declare (in) float x))\n"
4843 " ())\n"
4844 " (signature vec2\n"
4845 " (parameters\n"
4846 " (declare (in) vec2 y)\n"
4847 " (declare (in) vec2 x))\n"
4848 " ())\n"
4849 " (signature vec3\n"
4850 " (parameters\n"
4851 " (declare (in) vec3 y)\n"
4852 " (declare (in) vec3 x))\n"
4853 " ())\n"
4854 " (signature vec4\n"
4855 " (parameters\n"
4856 " (declare (in) vec4 y)\n"
4857 " (declare (in) vec4 x))\n"
4858 " ())\n"
4859 " (signature float\n"
4860 " (parameters\n"
4861 " (declare (in) float y_over_x))\n"
4862 " ())\n"
4863 " (signature vec2\n"
4864 " (parameters\n"
4865 " (declare (in) vec2 y_over_x))\n"
4866 " ())\n"
4867 " (signature vec3\n"
4868 " (parameters\n"
4869 " (declare (in) vec3 y_over_x))\n"
4870 " ())\n"
4871 " (signature vec4\n"
4872 " (parameters\n"
4873 " (declare (in) vec4 y_over_x))\n"
4874 " ()))\n"
4875 "(function pow\n"
4876 " (signature float\n"
4877 " (parameters\n"
4878 " (declare (in) float x)\n"
4879 " (declare (in) float y))\n"
4880 " ())\n"
4881 " (signature vec2\n"
4882 " (parameters\n"
4883 " (declare (in) vec2 x)\n"
4884 " (declare (in) vec2 y))\n"
4885 " ())\n"
4886 " (signature vec3\n"
4887 " (parameters\n"
4888 " (declare (in) vec3 x)\n"
4889 " (declare (in) vec3 y))\n"
4890 " ())\n"
4891 " (signature vec4\n"
4892 " (parameters\n"
4893 " (declare (in) vec4 x)\n"
4894 " (declare (in) vec4 y))\n"
4895 " ()))\n"
4896 "(function exp\n"
4897 " (signature float\n"
4898 " (parameters\n"
4899 " (declare (in) float x))\n"
4900 " ())\n"
4901 " (signature vec2\n"
4902 " (parameters\n"
4903 " (declare (in) vec2 x))\n"
4904 " ())\n"
4905 " (signature vec3\n"
4906 " (parameters\n"
4907 " (declare (in) vec3 x))\n"
4908 " ())\n"
4909 " (signature vec4\n"
4910 " (parameters\n"
4911 " (declare (in) vec4 x))\n"
4912 " ()))\n"
4913 "(function log\n"
4914 " (signature float\n"
4915 " (parameters\n"
4916 " (declare (in) float x))\n"
4917 " ())\n"
4918 " (signature vec2\n"
4919 " (parameters\n"
4920 " (declare (in) vec2 x))\n"
4921 " ())\n"
4922 " (signature vec3\n"
4923 " (parameters\n"
4924 " (declare (in) vec3 x))\n"
4925 " ())\n"
4926 " (signature vec4\n"
4927 " (parameters\n"
4928 " (declare (in) vec4 x))\n"
4929 " ()))\n"
4930 "(function exp2\n"
4931 " (signature float\n"
4932 " (parameters\n"
4933 " (declare (in) float x))\n"
4934 " ())\n"
4935 " (signature vec2\n"
4936 " (parameters\n"
4937 " (declare (in) vec2 x))\n"
4938 " ())\n"
4939 " (signature vec3\n"
4940 " (parameters\n"
4941 " (declare (in) vec3 x))\n"
4942 " ())\n"
4943 " (signature vec4\n"
4944 " (parameters\n"
4945 " (declare (in) vec4 x))\n"
4946 " ()))\n"
4947 "(function log2\n"
4948 " (signature float\n"
4949 " (parameters\n"
4950 " (declare (in) float x))\n"
4951 " ())\n"
4952 " (signature vec2\n"
4953 " (parameters\n"
4954 " (declare (in) vec2 x))\n"
4955 " ())\n"
4956 " (signature vec3\n"
4957 " (parameters\n"
4958 " (declare (in) vec3 x))\n"
4959 " ())\n"
4960 " (signature vec4\n"
4961 " (parameters\n"
4962 " (declare (in) vec4 x))\n"
4963 " ()))\n"
4964 "(function sqrt\n"
4965 " (signature float\n"
4966 " (parameters\n"
4967 " (declare (in) float x))\n"
4968 " ())\n"
4969 " (signature vec2\n"
4970 " (parameters\n"
4971 " (declare (in) vec2 x))\n"
4972 " ())\n"
4973 " (signature vec3\n"
4974 " (parameters\n"
4975 " (declare (in) vec3 x))\n"
4976 " ())\n"
4977 " (signature vec4\n"
4978 " (parameters\n"
4979 " (declare (in) vec4 x))\n"
4980 " ()))\n"
4981 "(function inversesqrt\n"
4982 " (signature float\n"
4983 " (parameters\n"
4984 " (declare (in) float x))\n"
4985 " ())\n"
4986 " (signature vec2\n"
4987 " (parameters\n"
4988 " (declare (in) vec2 x))\n"
4989 " ())\n"
4990 " (signature vec3\n"
4991 " (parameters\n"
4992 " (declare (in) vec3 x))\n"
4993 " ())\n"
4994 " (signature vec4\n"
4995 " (parameters\n"
4996 " (declare (in) vec4 x))\n"
4997 " ()))\n"
4998 "(function abs\n"
4999 " (signature float\n"
5000 " (parameters\n"
5001 " (declare (in) float x))\n"
5002 " ())\n"
5003 " (signature vec2\n"
5004 " (parameters\n"
5005 " (declare (in) vec2 x))\n"
5006 " ())\n"
5007 " (signature vec3\n"
5008 " (parameters\n"
5009 " (declare (in) vec3 x))\n"
5010 " ())\n"
5011 " (signature vec4\n"
5012 " (parameters\n"
5013 " (declare (in) vec4 x))\n"
5014 " ()))\n"
5015 "(function sign\n"
5016 " (signature float\n"
5017 " (parameters\n"
5018 " (declare (in) float x))\n"
5019 " ())\n"
5020 " (signature vec2\n"
5021 " (parameters\n"
5022 " (declare (in) vec2 x))\n"
5023 " ())\n"
5024 " (signature vec3\n"
5025 " (parameters\n"
5026 " (declare (in) vec3 x))\n"
5027 " ())\n"
5028 " (signature vec4\n"
5029 " (parameters\n"
5030 " (declare (in) vec4 x))\n"
5031 " ()))\n"
5032 "(function floor\n"
5033 " (signature float\n"
5034 " (parameters\n"
5035 " (declare (in) float x))\n"
5036 " ())\n"
5037 " (signature vec2\n"
5038 " (parameters\n"
5039 " (declare (in) vec2 x))\n"
5040 " ())\n"
5041 " (signature vec3\n"
5042 " (parameters\n"
5043 " (declare (in) vec3 x))\n"
5044 " ())\n"
5045 " (signature vec4\n"
5046 " (parameters\n"
5047 " (declare (in) vec4 x))\n"
5048 " ()))\n"
5049 "(function ceil\n"
5050 " (signature float\n"
5051 " (parameters\n"
5052 " (declare (in) float x))\n"
5053 " ())\n"
5054 " (signature vec2\n"
5055 " (parameters\n"
5056 " (declare (in) vec2 x))\n"
5057 " ())\n"
5058 " (signature vec3\n"
5059 " (parameters\n"
5060 " (declare (in) vec3 x))\n"
5061 " ())\n"
5062 " (signature vec4\n"
5063 " (parameters\n"
5064 " (declare (in) vec4 x))\n"
5065 " ()))\n"
5066 "(function fract\n"
5067 " (signature float\n"
5068 " (parameters\n"
5069 " (declare (in) float x))\n"
5070 " ())\n"
5071 " (signature vec2\n"
5072 " (parameters\n"
5073 " (declare (in) vec2 x))\n"
5074 " ())\n"
5075 " (signature vec3\n"
5076 " (parameters\n"
5077 " (declare (in) vec3 x))\n"
5078 " ())\n"
5079 " (signature vec4\n"
5080 " (parameters\n"
5081 " (declare (in) vec4 x))\n"
5082 " ()))\n"
5083 "(function mod\n"
5084 " (signature float\n"
5085 " (parameters\n"
5086 " (declare (in) float x)\n"
5087 " (declare (in) float y))\n"
5088 " ())\n"
5089 " (signature vec2\n"
5090 " (parameters\n"
5091 " (declare (in) vec2 x)\n"
5092 " (declare (in) float y))\n"
5093 " ())\n"
5094 " (signature vec3\n"
5095 " (parameters\n"
5096 " (declare (in) vec3 x)\n"
5097 " (declare (in) float y))\n"
5098 " ())\n"
5099 " (signature vec4\n"
5100 " (parameters\n"
5101 " (declare (in) vec4 x)\n"
5102 " (declare (in) float y))\n"
5103 " ())\n"
5104 " (signature vec2\n"
5105 " (parameters\n"
5106 " (declare (in) vec2 x)\n"
5107 " (declare (in) vec2 y))\n"
5108 " ())\n"
5109 " (signature vec3\n"
5110 " (parameters\n"
5111 " (declare (in) vec3 x)\n"
5112 " (declare (in) vec3 y))\n"
5113 " ())\n"
5114 " (signature vec4\n"
5115 " (parameters\n"
5116 " (declare (in) vec4 x)\n"
5117 " (declare (in) vec4 y))\n"
5118 " ()))\n"
5119 "(function min\n"
5120 " (signature float\n"
5121 " (parameters\n"
5122 " (declare (in) float x)\n"
5123 " (declare (in) float y))\n"
5124 " ())\n"
5125 " (signature vec2\n"
5126 " (parameters\n"
5127 " (declare (in) vec2 x)\n"
5128 " (declare (in) vec2 y))\n"
5129 " ())\n"
5130 " (signature vec3\n"
5131 " (parameters\n"
5132 " (declare (in) vec3 x)\n"
5133 " (declare (in) vec3 y))\n"
5134 " ())\n"
5135 " (signature vec4\n"
5136 " (parameters\n"
5137 " (declare (in) vec4 x)\n"
5138 " (declare (in) vec4 y))\n"
5139 " ())\n"
5140 " (signature vec2\n"
5141 " (parameters\n"
5142 " (declare (in) vec2 x)\n"
5143 " (declare (in) float y))\n"
5144 " ())\n"
5145 " (signature vec3\n"
5146 " (parameters\n"
5147 " (declare (in) vec3 x)\n"
5148 " (declare (in) float y))\n"
5149 " ())\n"
5150 " (signature vec4\n"
5151 " (parameters\n"
5152 " (declare (in) vec4 x)\n"
5153 " (declare (in) float y))\n"
5154 " ()))\n"
5155 "(function max\n"
5156 " (signature float\n"
5157 " (parameters\n"
5158 " (declare (in) float x)\n"
5159 " (declare (in) float y))\n"
5160 " ())\n"
5161 " (signature vec2\n"
5162 " (parameters\n"
5163 " (declare (in) vec2 x)\n"
5164 " (declare (in) vec2 y))\n"
5165 " ())\n"
5166 " (signature vec3\n"
5167 " (parameters\n"
5168 " (declare (in) vec3 x)\n"
5169 " (declare (in) vec3 y))\n"
5170 " ())\n"
5171 " (signature vec4\n"
5172 " (parameters\n"
5173 " (declare (in) vec4 x)\n"
5174 " (declare (in) vec4 y))\n"
5175 " ())\n"
5176 " (signature vec2\n"
5177 " (parameters\n"
5178 " (declare (in) vec2 x)\n"
5179 " (declare (in) float y))\n"
5180 " ())\n"
5181 " (signature vec3\n"
5182 " (parameters\n"
5183 " (declare (in) vec3 x)\n"
5184 " (declare (in) float y))\n"
5185 " ())\n"
5186 " (signature vec4\n"
5187 " (parameters\n"
5188 " (declare (in) vec4 x)\n"
5189 " (declare (in) float y))\n"
5190 " ()))\n"
5191 "(function clamp\n"
5192 " (signature float\n"
5193 " (parameters\n"
5194 " (declare (in) float x)\n"
5195 " (declare (in) float minVal)\n"
5196 " (declare (in) float maxVal))\n"
5197 " ())\n"
5198 " (signature vec2\n"
5199 " (parameters\n"
5200 " (declare (in) vec2 x)\n"
5201 " (declare (in) vec2 minVal)\n"
5202 " (declare (in) vec2 maxVal))\n"
5203 " ())\n"
5204 " (signature vec3\n"
5205 " (parameters\n"
5206 " (declare (in) vec3 x)\n"
5207 " (declare (in) vec3 minVal)\n"
5208 " (declare (in) vec3 maxVal))\n"
5209 " ())\n"
5210 " (signature vec4\n"
5211 " (parameters\n"
5212 " (declare (in) vec4 x)\n"
5213 " (declare (in) vec4 minVal)\n"
5214 " (declare (in) vec4 maxVal))\n"
5215 " ())\n"
5216 " (signature vec2\n"
5217 " (parameters\n"
5218 " (declare (in) vec2 x)\n"
5219 " (declare (in) float minVal)\n"
5220 " (declare (in) float maxVal))\n"
5221 " ())\n"
5222 " (signature vec3\n"
5223 " (parameters\n"
5224 " (declare (in) vec3 x)\n"
5225 " (declare (in) float minVal)\n"
5226 " (declare (in) float maxVal))\n"
5227 " ())\n"
5228 " (signature vec4\n"
5229 " (parameters\n"
5230 " (declare (in) vec4 x)\n"
5231 " (declare (in) float minVal)\n"
5232 " (declare (in) float maxVal))\n"
5233 " ()))\n"
5234 "(function mix\n"
5235 " (signature float\n"
5236 " (parameters\n"
5237 " (declare (in) float x)\n"
5238 " (declare (in) float y)\n"
5239 " (declare (in) float a))\n"
5240 " ())\n"
5241 " (signature vec2\n"
5242 " (parameters\n"
5243 " (declare (in) vec2 x)\n"
5244 " (declare (in) vec2 y)\n"
5245 " (declare (in) vec2 a))\n"
5246 " ())\n"
5247 " (signature vec3\n"
5248 " (parameters\n"
5249 " (declare (in) vec3 x)\n"
5250 " (declare (in) vec3 y)\n"
5251 " (declare (in) vec3 a))\n"
5252 " ())\n"
5253 " (signature vec4\n"
5254 " (parameters\n"
5255 " (declare (in) vec4 x)\n"
5256 " (declare (in) vec4 y)\n"
5257 " (declare (in) vec4 a))\n"
5258 " ())\n"
5259 " (signature vec2\n"
5260 " (parameters\n"
5261 " (declare (in) vec2 x)\n"
5262 " (declare (in) vec2 y)\n"
5263 " (declare (in) float a))\n"
5264 " ())\n"
5265 " (signature vec3\n"
5266 " (parameters\n"
5267 " (declare (in) vec3 x)\n"
5268 " (declare (in) vec3 y)\n"
5269 " (declare (in) float a))\n"
5270 " ())\n"
5271 " (signature vec4\n"
5272 " (parameters\n"
5273 " (declare (in) vec4 x)\n"
5274 " (declare (in) vec4 y)\n"
5275 " (declare (in) float a))\n"
5276 " ()))\n"
5277 "(function step\n"
5278 " (signature float\n"
5279 " (parameters\n"
5280 " (declare (in) float edge)\n"
5281 " (declare (in) float x))\n"
5282 " ())\n"
5283 " (signature vec2\n"
5284 " (parameters\n"
5285 " (declare (in) vec2 edge)\n"
5286 " (declare (in) vec2 x))\n"
5287 " ())\n"
5288 " (signature vec3\n"
5289 " (parameters\n"
5290 " (declare (in) vec3 edge)\n"
5291 " (declare (in) vec3 x))\n"
5292 " ())\n"
5293 " (signature vec4\n"
5294 " (parameters\n"
5295 " (declare (in) vec4 edge)\n"
5296 " (declare (in) vec4 x))\n"
5297 " ())\n"
5298 " (signature vec2\n"
5299 " (parameters\n"
5300 " (declare (in) float edge)\n"
5301 " (declare (in) vec2 x))\n"
5302 " ())\n"
5303 " (signature vec3\n"
5304 " (parameters\n"
5305 " (declare (in) float edge)\n"
5306 " (declare (in) vec3 x))\n"
5307 " ())\n"
5308 " (signature vec4\n"
5309 " (parameters\n"
5310 " (declare (in) float edge)\n"
5311 " (declare (in) vec4 x))\n"
5312 " ()))\n"
5313 "(function smoothstep\n"
5314 " (signature float\n"
5315 " (parameters\n"
5316 " (declare (in) float edge0)\n"
5317 " (declare (in) float edge1)\n"
5318 " (declare (in) float x))\n"
5319 " ())\n"
5320 " (signature vec2\n"
5321 " (parameters\n"
5322 " (declare (in) vec2 edge0)\n"
5323 " (declare (in) vec2 edge1)\n"
5324 " (declare (in) vec2 x))\n"
5325 " ())\n"
5326 " (signature vec3\n"
5327 " (parameters\n"
5328 " (declare (in) vec3 edge0)\n"
5329 " (declare (in) vec3 edge1)\n"
5330 " (declare (in) vec3 x))\n"
5331 " ())\n"
5332 " (signature vec4\n"
5333 " (parameters\n"
5334 " (declare (in) vec4 edge0)\n"
5335 " (declare (in) vec4 edge1)\n"
5336 " (declare (in) vec4 x))\n"
5337 " ())\n"
5338 " (signature vec2\n"
5339 " (parameters\n"
5340 " (declare (in) float edge0)\n"
5341 " (declare (in) float edge1)\n"
5342 " (declare (in) vec2 x))\n"
5343 " ())\n"
5344 " (signature vec3\n"
5345 " (parameters\n"
5346 " (declare (in) float edge0)\n"
5347 " (declare (in) float edge1)\n"
5348 " (declare (in) vec3 x))\n"
5349 " ())\n"
5350 " (signature vec4\n"
5351 " (parameters\n"
5352 " (declare (in) float edge0)\n"
5353 " (declare (in) float edge1)\n"
5354 " (declare (in) vec4 x))\n"
5355 " ()))\n"
5356 "(function length\n"
5357 " (signature float\n"
5358 " (parameters\n"
5359 " (declare (in) float x))\n"
5360 " ())\n"
5361 " (signature float\n"
5362 " (parameters\n"
5363 " (declare (in) vec2 x))\n"
5364 " ())\n"
5365 " (signature float\n"
5366 " (parameters\n"
5367 " (declare (in) vec3 x))\n"
5368 " ())\n"
5369 " (signature float\n"
5370 " (parameters\n"
5371 " (declare (in) vec4 x))\n"
5372 " ()))\n"
5373 "(function distance\n"
5374 " (signature float\n"
5375 " (parameters\n"
5376 " (declare (in) float p0)\n"
5377 " (declare (in) float p1))\n"
5378 " ())\n"
5379 " (signature float\n"
5380 " (parameters\n"
5381 " (declare (in) vec2 p0)\n"
5382 " (declare (in) vec2 p1))\n"
5383 " ())\n"
5384 " (signature float\n"
5385 " (parameters\n"
5386 " (declare (in) vec3 p0)\n"
5387 " (declare (in) vec3 p1))\n"
5388 " ())\n"
5389 " (signature float\n"
5390 " (parameters\n"
5391 " (declare (in) vec4 p0)\n"
5392 " (declare (in) vec4 p1))\n"
5393 " ()))\n"
5394 "(function dot\n"
5395 " (signature float\n"
5396 " (parameters\n"
5397 " (declare (in) float x)\n"
5398 " (declare (in) float y))\n"
5399 " ())\n"
5400 " (signature float\n"
5401 " (parameters\n"
5402 " (declare (in) vec2 x)\n"
5403 " (declare (in) vec2 y))\n"
5404 " ())\n"
5405 " (signature float\n"
5406 " (parameters\n"
5407 " (declare (in) vec3 x)\n"
5408 " (declare (in) vec3 y))\n"
5409 " ())\n"
5410 " (signature float\n"
5411 " (parameters\n"
5412 " (declare (in) vec4 x)\n"
5413 " (declare (in) vec4 y))\n"
5414 " ()))\n"
5415 "(function cross\n"
5416 " (signature vec3\n"
5417 " (parameters\n"
5418 " (declare (in) vec3 x)\n"
5419 " (declare (in) vec3 y))\n"
5420 " ()))\n"
5421 "(function normalize\n"
5422 " (signature float\n"
5423 " (parameters\n"
5424 " (declare (in) float x))\n"
5425 " ())\n"
5426 " (signature vec2\n"
5427 " (parameters\n"
5428 " (declare (in) vec2 x))\n"
5429 " ())\n"
5430 " (signature vec3\n"
5431 " (parameters\n"
5432 " (declare (in) vec3 x))\n"
5433 " ())\n"
5434 " (signature vec4\n"
5435 " (parameters\n"
5436 " (declare (in) vec4 x))\n"
5437 " ()))\n"
5438 "(function faceforward\n"
5439 " (signature float\n"
5440 " (parameters\n"
5441 " (declare (in) float N)\n"
5442 " (declare (in) float I)\n"
5443 " (declare (in) float Nref))\n"
5444 " ())\n"
5445 " (signature vec2\n"
5446 " (parameters\n"
5447 " (declare (in) vec2 N)\n"
5448 " (declare (in) vec2 I)\n"
5449 " (declare (in) vec2 Nref))\n"
5450 " ())\n"
5451 " (signature vec3\n"
5452 " (parameters\n"
5453 " (declare (in) vec3 N)\n"
5454 " (declare (in) vec3 I)\n"
5455 " (declare (in) vec3 Nref))\n"
5456 " ())\n"
5457 " (signature vec4\n"
5458 " (parameters\n"
5459 " (declare (in) vec4 N)\n"
5460 " (declare (in) vec4 I)\n"
5461 " (declare (in) vec4 Nref))\n"
5462 " ()))\n"
5463 "(function reflect\n"
5464 " (signature float\n"
5465 " (parameters\n"
5466 " (declare (in) float I)\n"
5467 " (declare (in) float N))\n"
5468 " ())\n"
5469 " (signature vec2\n"
5470 " (parameters\n"
5471 " (declare (in) vec2 I)\n"
5472 " (declare (in) vec2 N))\n"
5473 " ())\n"
5474 " (signature vec3\n"
5475 " (parameters\n"
5476 " (declare (in) vec3 I)\n"
5477 " (declare (in) vec3 N))\n"
5478 " ())\n"
5479 " (signature vec4\n"
5480 " (parameters\n"
5481 " (declare (in) vec4 I)\n"
5482 " (declare (in) vec4 N))\n"
5483 " ()))\n"
5484 "(function refract\n"
5485 " (signature float\n"
5486 " (parameters\n"
5487 " (declare (in) float I)\n"
5488 " (declare (in) float N)\n"
5489 " (declare (in) float eta))\n"
5490 " ())\n"
5491 " (signature vec2\n"
5492 " (parameters\n"
5493 " (declare (in) vec2 I)\n"
5494 " (declare (in) vec2 N)\n"
5495 " (declare (in) float eta))\n"
5496 " ())\n"
5497 " (signature vec3\n"
5498 " (parameters\n"
5499 " (declare (in) vec3 I)\n"
5500 " (declare (in) vec3 N)\n"
5501 " (declare (in) float eta))\n"
5502 " ())\n"
5503 " (signature vec4\n"
5504 " (parameters\n"
5505 " (declare (in) vec4 I)\n"
5506 " (declare (in) vec4 N)\n"
5507 " (declare (in) float eta))\n"
5508 " ()))\n"
5509 "(function matrixCompMult\n"
5510 " (signature mat2\n"
5511 " (parameters\n"
5512 " (declare (in) mat2 x)\n"
5513 " (declare (in) mat2 y))\n"
5514 " ())\n"
5515 " (signature mat3\n"
5516 " (parameters\n"
5517 " (declare (in) mat3 x)\n"
5518 " (declare (in) mat3 y))\n"
5519 " ())\n"
5520 " (signature mat4\n"
5521 " (parameters\n"
5522 " (declare (in) mat4 x)\n"
5523 " (declare (in) mat4 y))\n"
5524 " ()))\n"
5525 "(function lessThan\n"
5526 " (signature bvec2\n"
5527 " (parameters\n"
5528 " (declare (in) vec2 x)\n"
5529 " (declare (in) vec2 y))\n"
5530 " ())\n"
5531 " (signature bvec3\n"
5532 " (parameters\n"
5533 " (declare (in) vec3 x)\n"
5534 " (declare (in) vec3 y))\n"
5535 " ())\n"
5536 " (signature bvec4\n"
5537 " (parameters\n"
5538 " (declare (in) vec4 x)\n"
5539 " (declare (in) vec4 y))\n"
5540 " ())\n"
5541 " (signature bvec2\n"
5542 " (parameters\n"
5543 " (declare (in) ivec2 x)\n"
5544 " (declare (in) ivec2 y))\n"
5545 " ())\n"
5546 " (signature bvec3\n"
5547 " (parameters\n"
5548 " (declare (in) ivec3 x)\n"
5549 " (declare (in) ivec3 y))\n"
5550 " ())\n"
5551 " (signature bvec4\n"
5552 " (parameters\n"
5553 " (declare (in) ivec4 x)\n"
5554 " (declare (in) ivec4 y))\n"
5555 " ()))\n"
5556 "(function lessThanEqual\n"
5557 " (signature bvec2\n"
5558 " (parameters\n"
5559 " (declare (in) vec2 x)\n"
5560 " (declare (in) vec2 y))\n"
5561 " ())\n"
5562 " (signature bvec3\n"
5563 " (parameters\n"
5564 " (declare (in) vec3 x)\n"
5565 " (declare (in) vec3 y))\n"
5566 " ())\n"
5567 " (signature bvec4\n"
5568 " (parameters\n"
5569 " (declare (in) vec4 x)\n"
5570 " (declare (in) vec4 y))\n"
5571 " ())\n"
5572 " (signature bvec2\n"
5573 " (parameters\n"
5574 " (declare (in) ivec2 x)\n"
5575 " (declare (in) ivec2 y))\n"
5576 " ())\n"
5577 " (signature bvec3\n"
5578 " (parameters\n"
5579 " (declare (in) ivec3 x)\n"
5580 " (declare (in) ivec3 y))\n"
5581 " ())\n"
5582 " (signature bvec4\n"
5583 " (parameters\n"
5584 " (declare (in) ivec4 x)\n"
5585 " (declare (in) ivec4 y))\n"
5586 " ()))\n"
5587 "(function greaterThan\n"
5588 " (signature bvec2\n"
5589 " (parameters\n"
5590 " (declare (in) vec2 x)\n"
5591 " (declare (in) vec2 y))\n"
5592 " ())\n"
5593 " (signature bvec3\n"
5594 " (parameters\n"
5595 " (declare (in) vec3 x)\n"
5596 " (declare (in) vec3 y))\n"
5597 " ())\n"
5598 " (signature bvec4\n"
5599 " (parameters\n"
5600 " (declare (in) vec4 x)\n"
5601 " (declare (in) vec4 y))\n"
5602 " ())\n"
5603 " (signature bvec2\n"
5604 " (parameters\n"
5605 " (declare (in) ivec2 x)\n"
5606 " (declare (in) ivec2 y))\n"
5607 " ())\n"
5608 " (signature bvec3\n"
5609 " (parameters\n"
5610 " (declare (in) ivec3 x)\n"
5611 " (declare (in) ivec3 y))\n"
5612 " ())\n"
5613 " (signature bvec4\n"
5614 " (parameters\n"
5615 " (declare (in) ivec4 x)\n"
5616 " (declare (in) ivec4 y))\n"
5617 " ()))\n"
5618 "(function greaterThanEqual\n"
5619 " (signature bvec2\n"
5620 " (parameters\n"
5621 " (declare (in) vec2 x)\n"
5622 " (declare (in) vec2 y))\n"
5623 " ())\n"
5624 " (signature bvec3\n"
5625 " (parameters\n"
5626 " (declare (in) vec3 x)\n"
5627 " (declare (in) vec3 y))\n"
5628 " ())\n"
5629 " (signature bvec4\n"
5630 " (parameters\n"
5631 " (declare (in) vec4 x)\n"
5632 " (declare (in) vec4 y))\n"
5633 " ())\n"
5634 " (signature bvec2\n"
5635 " (parameters\n"
5636 " (declare (in) ivec2 x)\n"
5637 " (declare (in) ivec2 y))\n"
5638 " ())\n"
5639 " (signature bvec3\n"
5640 " (parameters\n"
5641 " (declare (in) ivec3 x)\n"
5642 " (declare (in) ivec3 y))\n"
5643 " ())\n"
5644 " (signature bvec4\n"
5645 " (parameters\n"
5646 " (declare (in) ivec4 x)\n"
5647 " (declare (in) ivec4 y))\n"
5648 " ()))\n"
5649 "(function equal\n"
5650 " (signature bvec2\n"
5651 " (parameters\n"
5652 " (declare (in) vec2 x)\n"
5653 " (declare (in) vec2 y))\n"
5654 " ())\n"
5655 " (signature bvec3\n"
5656 " (parameters\n"
5657 " (declare (in) vec3 x)\n"
5658 " (declare (in) vec3 y))\n"
5659 " ())\n"
5660 " (signature bvec4\n"
5661 " (parameters\n"
5662 " (declare (in) vec4 x)\n"
5663 " (declare (in) vec4 y))\n"
5664 " ())\n"
5665 " (signature bvec2\n"
5666 " (parameters\n"
5667 " (declare (in) ivec2 x)\n"
5668 " (declare (in) ivec2 y))\n"
5669 " ())\n"
5670 " (signature bvec3\n"
5671 " (parameters\n"
5672 " (declare (in) ivec3 x)\n"
5673 " (declare (in) ivec3 y))\n"
5674 " ())\n"
5675 " (signature bvec4\n"
5676 " (parameters\n"
5677 " (declare (in) ivec4 x)\n"
5678 " (declare (in) ivec4 y))\n"
5679 " ())\n"
5680 " (signature bvec2\n"
5681 " (parameters\n"
5682 " (declare (in) bvec2 x)\n"
5683 " (declare (in) bvec2 y))\n"
5684 " ())\n"
5685 " (signature bvec3\n"
5686 " (parameters\n"
5687 " (declare (in) bvec3 x)\n"
5688 " (declare (in) bvec3 y))\n"
5689 " ())\n"
5690 " (signature bvec4\n"
5691 " (parameters\n"
5692 " (declare (in) bvec4 x)\n"
5693 " (declare (in) bvec4 y))\n"
5694 " ()))\n"
5695 "(function notEqual\n"
5696 " (signature bvec2\n"
5697 " (parameters\n"
5698 " (declare (in) vec2 x)\n"
5699 " (declare (in) vec2 y))\n"
5700 " ())\n"
5701 " (signature bvec3\n"
5702 " (parameters\n"
5703 " (declare (in) vec3 x)\n"
5704 " (declare (in) vec3 y))\n"
5705 " ())\n"
5706 " (signature bvec4\n"
5707 " (parameters\n"
5708 " (declare (in) vec4 x)\n"
5709 " (declare (in) vec4 y))\n"
5710 " ())\n"
5711 " (signature bvec2\n"
5712 " (parameters\n"
5713 " (declare (in) ivec2 x)\n"
5714 " (declare (in) ivec2 y))\n"
5715 " ())\n"
5716 " (signature bvec3\n"
5717 " (parameters\n"
5718 " (declare (in) ivec3 x)\n"
5719 " (declare (in) ivec3 y))\n"
5720 " ())\n"
5721 " (signature bvec4\n"
5722 " (parameters\n"
5723 " (declare (in) ivec4 x)\n"
5724 " (declare (in) ivec4 y))\n"
5725 " ())\n"
5726 " (signature bvec2\n"
5727 " (parameters\n"
5728 " (declare (in) bvec2 x)\n"
5729 " (declare (in) bvec2 y))\n"
5730 " ())\n"
5731 " (signature bvec3\n"
5732 " (parameters\n"
5733 " (declare (in) bvec3 x)\n"
5734 " (declare (in) bvec3 y))\n"
5735 " ())\n"
5736 " (signature bvec4\n"
5737 " (parameters\n"
5738 " (declare (in) bvec4 x)\n"
5739 " (declare (in) bvec4 y))\n"
5740 " ()))\n"
5741 "(function any\n"
5742 " (signature bool\n"
5743 " (parameters\n"
5744 " (declare (in) bvec2 x))\n"
5745 " ())\n"
5746 " (signature bool\n"
5747 " (parameters\n"
5748 " (declare (in) bvec3 x))\n"
5749 " ())\n"
5750 " (signature bool\n"
5751 " (parameters\n"
5752 " (declare (in) bvec4 x))\n"
5753 " ()))\n"
5754 "(function all\n"
5755 " (signature bool\n"
5756 " (parameters\n"
5757 " (declare (in) bvec2 x))\n"
5758 " ())\n"
5759 " (signature bool\n"
5760 " (parameters\n"
5761 " (declare (in) bvec3 x))\n"
5762 " ())\n"
5763 " (signature bool\n"
5764 " (parameters\n"
5765 " (declare (in) bvec4 x))\n"
5766 " ()))\n"
5767 "(function not\n"
5768 " (signature bvec2\n"
5769 " (parameters\n"
5770 " (declare (in) bvec2 x))\n"
5771 " ())\n"
5772 " (signature bvec3\n"
5773 " (parameters\n"
5774 " (declare (in) bvec3 x))\n"
5775 " ())\n"
5776 " (signature bvec4\n"
5777 " (parameters\n"
5778 " (declare (in) bvec4 x))\n"
5779 " ()))\n"
5780 "(function texture1D\n"
5781 " (signature vec4\n"
5782 " (parameters\n"
5783 " (declare (in) sampler1D sampler)\n"
5784 " (declare (in) float coord))\n"
5785 " ())\n"
5786 " (signature vec4\n"
5787 " (parameters\n"
5788 " (declare (in) sampler1D sampler)\n"
5789 " (declare (in) float coord)\n"
5790 " (declare (in) float bias))\n"
5791 " ()))\n"
5792 "(function texture1DProj\n"
5793 " (signature vec4\n"
5794 " (parameters\n"
5795 " (declare (in) sampler1D sampler)\n"
5796 " (declare (in) vec2 coord))\n"
5797 " ())\n"
5798 " (signature vec4\n"
5799 " (parameters\n"
5800 " (declare (in) sampler1D sampler)\n"
5801 " (declare (in) vec4 coord))\n"
5802 " ())\n"
5803 " (signature vec4\n"
5804 " (parameters\n"
5805 " (declare (in) sampler1D sampler)\n"
5806 " (declare (in) vec2 coord)\n"
5807 " (declare (in) float bias))\n"
5808 " ())\n"
5809 " (signature vec4\n"
5810 " (parameters\n"
5811 " (declare (in) sampler1D sampler)\n"
5812 " (declare (in) vec4 coord)\n"
5813 " (declare (in) float bias))\n"
5814 " ()))\n"
5815 "(function texture2D\n"
5816 " (signature vec4\n"
5817 " (parameters\n"
5818 " (declare (in) sampler2D sampler)\n"
5819 " (declare (in) vec2 coord))\n"
5820 " ())\n"
5821 " (signature vec4\n"
5822 " (parameters\n"
5823 " (declare (in) sampler2D sampler)\n"
5824 " (declare (in) vec2 coord)\n"
5825 " (declare (in) float bias))\n"
5826 " ()))\n"
5827 "(function texture2DProj\n"
5828 " (signature vec4\n"
5829 " (parameters\n"
5830 " (declare (in) sampler2D sampler)\n"
5831 " (declare (in) vec3 coord))\n"
5832 " ())\n"
5833 " (signature vec4\n"
5834 " (parameters\n"
5835 " (declare (in) sampler2D sampler)\n"
5836 " (declare (in) vec4 coord))\n"
5837 " ())\n"
5838 " (signature vec4\n"
5839 " (parameters\n"
5840 " (declare (in) sampler2D sampler)\n"
5841 " (declare (in) vec3 coord)\n"
5842 " (declare (in) float bias))\n"
5843 " ())\n"
5844 " (signature vec4\n"
5845 " (parameters\n"
5846 " (declare (in) sampler2D sampler)\n"
5847 " (declare (in) vec4 coord)\n"
5848 " (declare (in) float bias))\n"
5849 " ()))\n"
5850 "(function texture3D\n"
5851 " (signature vec4\n"
5852 " (parameters\n"
5853 " (declare (in) sampler3D sampler)\n"
5854 " (declare (in) vec3 coord))\n"
5855 " ())\n"
5856 " (signature vec4\n"
5857 " (parameters\n"
5858 " (declare (in) sampler3D sampler)\n"
5859 " (declare (in) vec3 coord)\n"
5860 " (declare (in) float bias))\n"
5861 " ()))\n"
5862 "(function texture3DProj\n"
5863 " (signature vec4\n"
5864 " (parameters\n"
5865 " (declare (in) sampler3D sampler)\n"
5866 " (declare (in) vec4 coord))\n"
5867 " ())\n"
5868 " (signature vec4\n"
5869 " (parameters\n"
5870 " (declare (in) sampler3D sampler)\n"
5871 " (declare (in) vec4 coord)\n"
5872 " (declare (in) float bias))\n"
5873 " ()))\n"
5874 "(function textureCube\n"
5875 " (signature vec4\n"
5876 " (parameters\n"
5877 " (declare (in) samplerCube sampler)\n"
5878 " (declare (in) vec3 coord))\n"
5879 " ())\n"
5880 " (signature vec4\n"
5881 " (parameters\n"
5882 " (declare (in) samplerCube sampler)\n"
5883 " (declare (in) vec3 coord)\n"
5884 " (declare (in) float bias))\n"
5885 " ()))\n"
5886 "(function shadow1D\n"
5887 " (signature vec4\n"
5888 " (parameters\n"
5889 " (declare (in) sampler1DShadow sampler)\n"
5890 " (declare (in) vec3 coord))\n"
5891 " ())\n"
5892 " (signature vec4\n"
5893 " (parameters\n"
5894 " (declare (in) sampler1DShadow sampler)\n"
5895 " (declare (in) vec3 coord)\n"
5896 " (declare (in) float bias))\n"
5897 " ()))\n"
5898 "(function shadow2D\n"
5899 " (signature vec4\n"
5900 " (parameters\n"
5901 " (declare (in) sampler2DShadow sampler)\n"
5902 " (declare (in) vec3 coord))\n"
5903 " ())\n"
5904 " (signature vec4\n"
5905 " (parameters\n"
5906 " (declare (in) sampler2DShadow sampler)\n"
5907 " (declare (in) vec3 coord)\n"
5908 " (declare (in) float bias))\n"
5909 " ()))\n"
5910 "(function shadow1DProj\n"
5911 " (signature vec4\n"
5912 " (parameters\n"
5913 " (declare (in) sampler1DShadow sampler)\n"
5914 " (declare (in) vec4 coord))\n"
5915 " ())\n"
5916 " (signature vec4\n"
5917 " (parameters\n"
5918 " (declare (in) sampler1DShadow sampler)\n"
5919 " (declare (in) vec4 coord)\n"
5920 " (declare (in) float bias))\n"
5921 " ()))\n"
5922 "(function shadow2DProj\n"
5923 " (signature vec4\n"
5924 " (parameters\n"
5925 " (declare (in) sampler2DShadow sampler)\n"
5926 " (declare (in) vec4 coord))\n"
5927 " ())\n"
5928 " (signature vec4\n"
5929 " (parameters\n"
5930 " (declare (in) sampler2DShadow sampler)\n"
5931 " (declare (in) vec4 coord)\n"
5932 " (declare (in) float bias))\n"
5933 " ()))\n"
5934 "(function dFdx\n"
5935 " (signature float\n"
5936 " (parameters\n"
5937 " (declare (in) float p))\n"
5938 " ())\n"
5939 " (signature vec2\n"
5940 " (parameters\n"
5941 " (declare (in) vec2 p))\n"
5942 " ())\n"
5943 " (signature vec3\n"
5944 " (parameters\n"
5945 " (declare (in) vec3 p))\n"
5946 " ())\n"
5947 " (signature vec4\n"
5948 " (parameters\n"
5949 " (declare (in) vec4 p))\n"
5950 " ()))\n"
5951 "(function dFdy\n"
5952 " (signature float\n"
5953 " (parameters\n"
5954 " (declare (in) float p))\n"
5955 " ())\n"
5956 " (signature vec2\n"
5957 " (parameters\n"
5958 " (declare (in) vec2 p))\n"
5959 " ())\n"
5960 " (signature vec3\n"
5961 " (parameters\n"
5962 " (declare (in) vec3 p))\n"
5963 " ())\n"
5964 " (signature vec4\n"
5965 " (parameters\n"
5966 " (declare (in) vec4 p))\n"
5967 " ()))\n"
5968 "(function fwidth\n"
5969 " (signature float\n"
5970 " (parameters\n"
5971 " (declare (in) float p))\n"
5972 " ())\n"
5973 " (signature vec2\n"
5974 " (parameters\n"
5975 " (declare (in) vec2 p))\n"
5976 " ())\n"
5977 " (signature vec3\n"
5978 " (parameters\n"
5979 " (declare (in) vec3 p))\n"
5980 " ())\n"
5981 " (signature vec4\n"
5982 " (parameters\n"
5983 " (declare (in) vec4 p))\n"
5984 " ()))\n"
5985 "(function noise1\n"
5986 " (signature float\n"
5987 " (parameters\n"
5988 " (declare (in) float x))\n"
5989 " ())\n"
5990 " (signature float\n"
5991 " (parameters\n"
5992 " (declare (in) vec2 x))\n"
5993 " ())\n"
5994 " (signature float\n"
5995 " (parameters\n"
5996 " (declare (in) vec3 x))\n"
5997 " ())\n"
5998 " (signature float\n"
5999 " (parameters\n"
6000 " (declare (in) vec4 x))\n"
6001 " ()))\n"
6002 "(function noise2\n"
6003 " (signature vec2\n"
6004 " (parameters\n"
6005 " (declare (in) float x))\n"
6006 " ())\n"
6007 " (signature vec2\n"
6008 " (parameters\n"
6009 " (declare (in) vec2 x))\n"
6010 " ())\n"
6011 " (signature vec2\n"
6012 " (parameters\n"
6013 " (declare (in) vec3 x))\n"
6014 " ())\n"
6015 " (signature vec2\n"
6016 " (parameters\n"
6017 " (declare (in) vec4 x))\n"
6018 " ()))\n"
6019 "(function noise3\n"
6020 " (signature vec3\n"
6021 " (parameters\n"
6022 " (declare (in) float x))\n"
6023 " ())\n"
6024 " (signature vec3\n"
6025 " (parameters\n"
6026 " (declare (in) vec2 x))\n"
6027 " ())\n"
6028 " (signature vec3\n"
6029 " (parameters\n"
6030 " (declare (in) vec3 x))\n"
6031 " ())\n"
6032 " (signature vec3\n"
6033 " (parameters\n"
6034 " (declare (in) vec4 x))\n"
6035 " ()))\n"
6036 "(function noise4\n"
6037 " (signature vec4\n"
6038 " (parameters\n"
6039 " (declare (in) float x))\n"
6040 " ())\n"
6041 " (signature vec4\n"
6042 " (parameters\n"
6043 " (declare (in) vec2 x))\n"
6044 " ())\n"
6045 " (signature vec4\n"
6046 " (parameters\n"
6047 " (declare (in) vec3 x))\n"
6048 " ())\n"
6049 " (signature vec4\n"
6050 " (parameters\n"
6051 " (declare (in) vec4 x))\n"
6052 " ())))"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006053;
Eric Anholt47003a82010-08-23 12:39:35 -07006054static const char *functions_for_110_frag [] = {
6055 builtin_abs,
6056 builtin_acos,
6057 builtin_all,
6058 builtin_any,
6059 builtin_asin,
6060 builtin_atan,
6061 builtin_ceil,
6062 builtin_clamp,
6063 builtin_cos,
6064 builtin_cross,
6065 builtin_dFdx,
6066 builtin_dFdy,
6067 builtin_degrees,
6068 builtin_distance,
6069 builtin_dot,
6070 builtin_equal,
6071 builtin_exp,
6072 builtin_exp2,
6073 builtin_faceforward,
6074 builtin_floor,
6075 builtin_fract,
6076 builtin_fwidth,
6077 builtin_greaterThan,
6078 builtin_greaterThanEqual,
6079 builtin_inversesqrt,
6080 builtin_length,
6081 builtin_lessThan,
6082 builtin_lessThanEqual,
6083 builtin_log,
6084 builtin_log2,
6085 builtin_matrixCompMult,
6086 builtin_max,
6087 builtin_min,
6088 builtin_mix,
6089 builtin_mod,
6090 builtin_noise1,
6091 builtin_noise2,
6092 builtin_noise3,
6093 builtin_noise4,
6094 builtin_normalize,
6095 builtin_not,
6096 builtin_notEqual,
6097 builtin_pow,
6098 builtin_radians,
6099 builtin_reflect,
6100 builtin_refract,
6101 builtin_shadow1D,
6102 builtin_shadow1DProj,
6103 builtin_shadow2D,
6104 builtin_shadow2DProj,
6105 builtin_sign,
6106 builtin_sin,
6107 builtin_smoothstep,
6108 builtin_sqrt,
6109 builtin_step,
6110 builtin_tan,
6111 builtin_texture1D,
6112 builtin_texture1DProj,
6113 builtin_texture2D,
6114 builtin_texture2DProj,
6115 builtin_texture3D,
6116 builtin_texture3DProj,
6117 builtin_textureCube,
6118};
6119static const char *prototypes_for_110_vert =
6120 "(\n"
6121 "(function radians\n"
6122 " (signature float\n"
6123 " (parameters\n"
6124 " (declare (in) float degrees))\n"
6125 " ())\n"
6126 " (signature vec2\n"
6127 " (parameters\n"
6128 " (declare (in) vec2 degrees))\n"
6129 " ())\n"
6130 " (signature vec3\n"
6131 " (parameters\n"
6132 " (declare (in) vec3 degrees))\n"
6133 " ())\n"
6134 " (signature vec4\n"
6135 " (parameters\n"
6136 " (declare (in) vec4 degrees))\n"
6137 " ()))\n"
6138 "(function degrees\n"
6139 " (signature float\n"
6140 " (parameters\n"
6141 " (declare (in) float radians))\n"
6142 " ())\n"
6143 " (signature vec2\n"
6144 " (parameters\n"
6145 " (declare (in) vec2 radians))\n"
6146 " ())\n"
6147 " (signature vec3\n"
6148 " (parameters\n"
6149 " (declare (in) vec3 radians))\n"
6150 " ())\n"
6151 " (signature vec4\n"
6152 " (parameters\n"
6153 " (declare (in) vec4 radians))\n"
6154 " ()))\n"
6155 "(function sin\n"
6156 " (signature float\n"
6157 " (parameters\n"
6158 " (declare (in) float angle))\n"
6159 " ())\n"
6160 " (signature vec2\n"
6161 " (parameters\n"
6162 " (declare (in) vec2 angle))\n"
6163 " ())\n"
6164 " (signature vec3\n"
6165 " (parameters\n"
6166 " (declare (in) vec3 angle))\n"
6167 " ())\n"
6168 " (signature vec4\n"
6169 " (parameters\n"
6170 " (declare (in) vec4 angle))\n"
6171 " ()))\n"
6172 "(function cos\n"
6173 " (signature float\n"
6174 " (parameters\n"
6175 " (declare (in) float angle))\n"
6176 " ())\n"
6177 " (signature vec2\n"
6178 " (parameters\n"
6179 " (declare (in) vec2 angle))\n"
6180 " ())\n"
6181 " (signature vec3\n"
6182 " (parameters\n"
6183 " (declare (in) vec3 angle))\n"
6184 " ())\n"
6185 " (signature vec4\n"
6186 " (parameters\n"
6187 " (declare (in) vec4 angle))\n"
6188 " ()))\n"
6189 "(function tan\n"
6190 " (signature float\n"
6191 " (parameters\n"
6192 " (declare (in) float angle))\n"
6193 " ())\n"
6194 " (signature vec2\n"
6195 " (parameters\n"
6196 " (declare (in) vec2 angle))\n"
6197 " ())\n"
6198 " (signature vec3\n"
6199 " (parameters\n"
6200 " (declare (in) vec3 angle))\n"
6201 " ())\n"
6202 " (signature vec4\n"
6203 " (parameters\n"
6204 " (declare (in) vec4 angle))\n"
6205 " ()))\n"
6206 "(function asin\n"
6207 " (signature float\n"
6208 " (parameters\n"
6209 " (declare (in) float angle))\n"
6210 " ())\n"
6211 " (signature vec2\n"
6212 " (parameters\n"
6213 " (declare (in) vec2 angle))\n"
6214 " ())\n"
6215 " (signature vec3\n"
6216 " (parameters\n"
6217 " (declare (in) vec3 angle))\n"
6218 " ())\n"
6219 " (signature vec4\n"
6220 " (parameters\n"
6221 " (declare (in) vec4 angle))\n"
6222 " ()))\n"
6223 "(function acos\n"
6224 " (signature float\n"
6225 " (parameters\n"
6226 " (declare (in) float angle))\n"
6227 " ())\n"
6228 " (signature vec2\n"
6229 " (parameters\n"
6230 " (declare (in) vec2 angle))\n"
6231 " ())\n"
6232 " (signature vec3\n"
6233 " (parameters\n"
6234 " (declare (in) vec3 angle))\n"
6235 " ())\n"
6236 " (signature vec4\n"
6237 " (parameters\n"
6238 " (declare (in) vec4 angle))\n"
6239 " ()))\n"
6240 "(function atan\n"
6241 " (signature float\n"
6242 " (parameters\n"
6243 " (declare (in) float y)\n"
6244 " (declare (in) float x))\n"
6245 " ())\n"
6246 " (signature vec2\n"
6247 " (parameters\n"
6248 " (declare (in) vec2 y)\n"
6249 " (declare (in) vec2 x))\n"
6250 " ())\n"
6251 " (signature vec3\n"
6252 " (parameters\n"
6253 " (declare (in) vec3 y)\n"
6254 " (declare (in) vec3 x))\n"
6255 " ())\n"
6256 " (signature vec4\n"
6257 " (parameters\n"
6258 " (declare (in) vec4 y)\n"
6259 " (declare (in) vec4 x))\n"
6260 " ())\n"
6261 " (signature float\n"
6262 " (parameters\n"
6263 " (declare (in) float y_over_x))\n"
6264 " ())\n"
6265 " (signature vec2\n"
6266 " (parameters\n"
6267 " (declare (in) vec2 y_over_x))\n"
6268 " ())\n"
6269 " (signature vec3\n"
6270 " (parameters\n"
6271 " (declare (in) vec3 y_over_x))\n"
6272 " ())\n"
6273 " (signature vec4\n"
6274 " (parameters\n"
6275 " (declare (in) vec4 y_over_x))\n"
6276 " ()))\n"
6277 "(function pow\n"
6278 " (signature float\n"
6279 " (parameters\n"
6280 " (declare (in) float x)\n"
6281 " (declare (in) float y))\n"
6282 " ())\n"
6283 " (signature vec2\n"
6284 " (parameters\n"
6285 " (declare (in) vec2 x)\n"
6286 " (declare (in) vec2 y))\n"
6287 " ())\n"
6288 " (signature vec3\n"
6289 " (parameters\n"
6290 " (declare (in) vec3 x)\n"
6291 " (declare (in) vec3 y))\n"
6292 " ())\n"
6293 " (signature vec4\n"
6294 " (parameters\n"
6295 " (declare (in) vec4 x)\n"
6296 " (declare (in) vec4 y))\n"
6297 " ()))\n"
6298 "(function exp\n"
6299 " (signature float\n"
6300 " (parameters\n"
6301 " (declare (in) float x))\n"
6302 " ())\n"
6303 " (signature vec2\n"
6304 " (parameters\n"
6305 " (declare (in) vec2 x))\n"
6306 " ())\n"
6307 " (signature vec3\n"
6308 " (parameters\n"
6309 " (declare (in) vec3 x))\n"
6310 " ())\n"
6311 " (signature vec4\n"
6312 " (parameters\n"
6313 " (declare (in) vec4 x))\n"
6314 " ()))\n"
6315 "(function log\n"
6316 " (signature float\n"
6317 " (parameters\n"
6318 " (declare (in) float x))\n"
6319 " ())\n"
6320 " (signature vec2\n"
6321 " (parameters\n"
6322 " (declare (in) vec2 x))\n"
6323 " ())\n"
6324 " (signature vec3\n"
6325 " (parameters\n"
6326 " (declare (in) vec3 x))\n"
6327 " ())\n"
6328 " (signature vec4\n"
6329 " (parameters\n"
6330 " (declare (in) vec4 x))\n"
6331 " ()))\n"
6332 "(function exp2\n"
6333 " (signature float\n"
6334 " (parameters\n"
6335 " (declare (in) float x))\n"
6336 " ())\n"
6337 " (signature vec2\n"
6338 " (parameters\n"
6339 " (declare (in) vec2 x))\n"
6340 " ())\n"
6341 " (signature vec3\n"
6342 " (parameters\n"
6343 " (declare (in) vec3 x))\n"
6344 " ())\n"
6345 " (signature vec4\n"
6346 " (parameters\n"
6347 " (declare (in) vec4 x))\n"
6348 " ()))\n"
6349 "(function log2\n"
6350 " (signature float\n"
6351 " (parameters\n"
6352 " (declare (in) float x))\n"
6353 " ())\n"
6354 " (signature vec2\n"
6355 " (parameters\n"
6356 " (declare (in) vec2 x))\n"
6357 " ())\n"
6358 " (signature vec3\n"
6359 " (parameters\n"
6360 " (declare (in) vec3 x))\n"
6361 " ())\n"
6362 " (signature vec4\n"
6363 " (parameters\n"
6364 " (declare (in) vec4 x))\n"
6365 " ()))\n"
6366 "(function sqrt\n"
6367 " (signature float\n"
6368 " (parameters\n"
6369 " (declare (in) float x))\n"
6370 " ())\n"
6371 " (signature vec2\n"
6372 " (parameters\n"
6373 " (declare (in) vec2 x))\n"
6374 " ())\n"
6375 " (signature vec3\n"
6376 " (parameters\n"
6377 " (declare (in) vec3 x))\n"
6378 " ())\n"
6379 " (signature vec4\n"
6380 " (parameters\n"
6381 " (declare (in) vec4 x))\n"
6382 " ()))\n"
6383 "(function inversesqrt\n"
6384 " (signature float\n"
6385 " (parameters\n"
6386 " (declare (in) float x))\n"
6387 " ())\n"
6388 " (signature vec2\n"
6389 " (parameters\n"
6390 " (declare (in) vec2 x))\n"
6391 " ())\n"
6392 " (signature vec3\n"
6393 " (parameters\n"
6394 " (declare (in) vec3 x))\n"
6395 " ())\n"
6396 " (signature vec4\n"
6397 " (parameters\n"
6398 " (declare (in) vec4 x))\n"
6399 " ()))\n"
6400 "(function abs\n"
6401 " (signature float\n"
6402 " (parameters\n"
6403 " (declare (in) float x))\n"
6404 " ())\n"
6405 " (signature vec2\n"
6406 " (parameters\n"
6407 " (declare (in) vec2 x))\n"
6408 " ())\n"
6409 " (signature vec3\n"
6410 " (parameters\n"
6411 " (declare (in) vec3 x))\n"
6412 " ())\n"
6413 " (signature vec4\n"
6414 " (parameters\n"
6415 " (declare (in) vec4 x))\n"
6416 " ()))\n"
6417 "(function sign\n"
6418 " (signature float\n"
6419 " (parameters\n"
6420 " (declare (in) float x))\n"
6421 " ())\n"
6422 " (signature vec2\n"
6423 " (parameters\n"
6424 " (declare (in) vec2 x))\n"
6425 " ())\n"
6426 " (signature vec3\n"
6427 " (parameters\n"
6428 " (declare (in) vec3 x))\n"
6429 " ())\n"
6430 " (signature vec4\n"
6431 " (parameters\n"
6432 " (declare (in) vec4 x))\n"
6433 " ()))\n"
6434 "(function floor\n"
6435 " (signature float\n"
6436 " (parameters\n"
6437 " (declare (in) float x))\n"
6438 " ())\n"
6439 " (signature vec2\n"
6440 " (parameters\n"
6441 " (declare (in) vec2 x))\n"
6442 " ())\n"
6443 " (signature vec3\n"
6444 " (parameters\n"
6445 " (declare (in) vec3 x))\n"
6446 " ())\n"
6447 " (signature vec4\n"
6448 " (parameters\n"
6449 " (declare (in) vec4 x))\n"
6450 " ()))\n"
6451 "(function ceil\n"
6452 " (signature float\n"
6453 " (parameters\n"
6454 " (declare (in) float x))\n"
6455 " ())\n"
6456 " (signature vec2\n"
6457 " (parameters\n"
6458 " (declare (in) vec2 x))\n"
6459 " ())\n"
6460 " (signature vec3\n"
6461 " (parameters\n"
6462 " (declare (in) vec3 x))\n"
6463 " ())\n"
6464 " (signature vec4\n"
6465 " (parameters\n"
6466 " (declare (in) vec4 x))\n"
6467 " ()))\n"
6468 "(function fract\n"
6469 " (signature float\n"
6470 " (parameters\n"
6471 " (declare (in) float x))\n"
6472 " ())\n"
6473 " (signature vec2\n"
6474 " (parameters\n"
6475 " (declare (in) vec2 x))\n"
6476 " ())\n"
6477 " (signature vec3\n"
6478 " (parameters\n"
6479 " (declare (in) vec3 x))\n"
6480 " ())\n"
6481 " (signature vec4\n"
6482 " (parameters\n"
6483 " (declare (in) vec4 x))\n"
6484 " ()))\n"
6485 "(function mod\n"
6486 " (signature float\n"
6487 " (parameters\n"
6488 " (declare (in) float x)\n"
6489 " (declare (in) float y))\n"
6490 " ())\n"
6491 " (signature vec2\n"
6492 " (parameters\n"
6493 " (declare (in) vec2 x)\n"
6494 " (declare (in) float y))\n"
6495 " ())\n"
6496 " (signature vec3\n"
6497 " (parameters\n"
6498 " (declare (in) vec3 x)\n"
6499 " (declare (in) float y))\n"
6500 " ())\n"
6501 " (signature vec4\n"
6502 " (parameters\n"
6503 " (declare (in) vec4 x)\n"
6504 " (declare (in) float y))\n"
6505 " ())\n"
6506 " (signature vec2\n"
6507 " (parameters\n"
6508 " (declare (in) vec2 x)\n"
6509 " (declare (in) vec2 y))\n"
6510 " ())\n"
6511 " (signature vec3\n"
6512 " (parameters\n"
6513 " (declare (in) vec3 x)\n"
6514 " (declare (in) vec3 y))\n"
6515 " ())\n"
6516 " (signature vec4\n"
6517 " (parameters\n"
6518 " (declare (in) vec4 x)\n"
6519 " (declare (in) vec4 y))\n"
6520 " ()))\n"
6521 "(function min\n"
6522 " (signature float\n"
6523 " (parameters\n"
6524 " (declare (in) float x)\n"
6525 " (declare (in) float y))\n"
6526 " ())\n"
6527 " (signature vec2\n"
6528 " (parameters\n"
6529 " (declare (in) vec2 x)\n"
6530 " (declare (in) vec2 y))\n"
6531 " ())\n"
6532 " (signature vec3\n"
6533 " (parameters\n"
6534 " (declare (in) vec3 x)\n"
6535 " (declare (in) vec3 y))\n"
6536 " ())\n"
6537 " (signature vec4\n"
6538 " (parameters\n"
6539 " (declare (in) vec4 x)\n"
6540 " (declare (in) vec4 y))\n"
6541 " ())\n"
6542 " (signature vec2\n"
6543 " (parameters\n"
6544 " (declare (in) vec2 x)\n"
6545 " (declare (in) float y))\n"
6546 " ())\n"
6547 " (signature vec3\n"
6548 " (parameters\n"
6549 " (declare (in) vec3 x)\n"
6550 " (declare (in) float y))\n"
6551 " ())\n"
6552 " (signature vec4\n"
6553 " (parameters\n"
6554 " (declare (in) vec4 x)\n"
6555 " (declare (in) float y))\n"
6556 " ()))\n"
6557 "(function max\n"
6558 " (signature float\n"
6559 " (parameters\n"
6560 " (declare (in) float x)\n"
6561 " (declare (in) float y))\n"
6562 " ())\n"
6563 " (signature vec2\n"
6564 " (parameters\n"
6565 " (declare (in) vec2 x)\n"
6566 " (declare (in) vec2 y))\n"
6567 " ())\n"
6568 " (signature vec3\n"
6569 " (parameters\n"
6570 " (declare (in) vec3 x)\n"
6571 " (declare (in) vec3 y))\n"
6572 " ())\n"
6573 " (signature vec4\n"
6574 " (parameters\n"
6575 " (declare (in) vec4 x)\n"
6576 " (declare (in) vec4 y))\n"
6577 " ())\n"
6578 " (signature vec2\n"
6579 " (parameters\n"
6580 " (declare (in) vec2 x)\n"
6581 " (declare (in) float y))\n"
6582 " ())\n"
6583 " (signature vec3\n"
6584 " (parameters\n"
6585 " (declare (in) vec3 x)\n"
6586 " (declare (in) float y))\n"
6587 " ())\n"
6588 " (signature vec4\n"
6589 " (parameters\n"
6590 " (declare (in) vec4 x)\n"
6591 " (declare (in) float y))\n"
6592 " ()))\n"
6593 "(function clamp\n"
6594 " (signature float\n"
6595 " (parameters\n"
6596 " (declare (in) float x)\n"
6597 " (declare (in) float minVal)\n"
6598 " (declare (in) float maxVal))\n"
6599 " ())\n"
6600 " (signature vec2\n"
6601 " (parameters\n"
6602 " (declare (in) vec2 x)\n"
6603 " (declare (in) vec2 minVal)\n"
6604 " (declare (in) vec2 maxVal))\n"
6605 " ())\n"
6606 " (signature vec3\n"
6607 " (parameters\n"
6608 " (declare (in) vec3 x)\n"
6609 " (declare (in) vec3 minVal)\n"
6610 " (declare (in) vec3 maxVal))\n"
6611 " ())\n"
6612 " (signature vec4\n"
6613 " (parameters\n"
6614 " (declare (in) vec4 x)\n"
6615 " (declare (in) vec4 minVal)\n"
6616 " (declare (in) vec4 maxVal))\n"
6617 " ())\n"
6618 " (signature vec2\n"
6619 " (parameters\n"
6620 " (declare (in) vec2 x)\n"
6621 " (declare (in) float minVal)\n"
6622 " (declare (in) float maxVal))\n"
6623 " ())\n"
6624 " (signature vec3\n"
6625 " (parameters\n"
6626 " (declare (in) vec3 x)\n"
6627 " (declare (in) float minVal)\n"
6628 " (declare (in) float maxVal))\n"
6629 " ())\n"
6630 " (signature vec4\n"
6631 " (parameters\n"
6632 " (declare (in) vec4 x)\n"
6633 " (declare (in) float minVal)\n"
6634 " (declare (in) float maxVal))\n"
6635 " ()))\n"
6636 "(function mix\n"
6637 " (signature float\n"
6638 " (parameters\n"
6639 " (declare (in) float x)\n"
6640 " (declare (in) float y)\n"
6641 " (declare (in) float a))\n"
6642 " ())\n"
6643 " (signature vec2\n"
6644 " (parameters\n"
6645 " (declare (in) vec2 x)\n"
6646 " (declare (in) vec2 y)\n"
6647 " (declare (in) vec2 a))\n"
6648 " ())\n"
6649 " (signature vec3\n"
6650 " (parameters\n"
6651 " (declare (in) vec3 x)\n"
6652 " (declare (in) vec3 y)\n"
6653 " (declare (in) vec3 a))\n"
6654 " ())\n"
6655 " (signature vec4\n"
6656 " (parameters\n"
6657 " (declare (in) vec4 x)\n"
6658 " (declare (in) vec4 y)\n"
6659 " (declare (in) vec4 a))\n"
6660 " ())\n"
6661 " (signature vec2\n"
6662 " (parameters\n"
6663 " (declare (in) vec2 x)\n"
6664 " (declare (in) vec2 y)\n"
6665 " (declare (in) float a))\n"
6666 " ())\n"
6667 " (signature vec3\n"
6668 " (parameters\n"
6669 " (declare (in) vec3 x)\n"
6670 " (declare (in) vec3 y)\n"
6671 " (declare (in) float a))\n"
6672 " ())\n"
6673 " (signature vec4\n"
6674 " (parameters\n"
6675 " (declare (in) vec4 x)\n"
6676 " (declare (in) vec4 y)\n"
6677 " (declare (in) float a))\n"
6678 " ()))\n"
6679 "(function step\n"
6680 " (signature float\n"
6681 " (parameters\n"
6682 " (declare (in) float edge)\n"
6683 " (declare (in) float x))\n"
6684 " ())\n"
6685 " (signature vec2\n"
6686 " (parameters\n"
6687 " (declare (in) vec2 edge)\n"
6688 " (declare (in) vec2 x))\n"
6689 " ())\n"
6690 " (signature vec3\n"
6691 " (parameters\n"
6692 " (declare (in) vec3 edge)\n"
6693 " (declare (in) vec3 x))\n"
6694 " ())\n"
6695 " (signature vec4\n"
6696 " (parameters\n"
6697 " (declare (in) vec4 edge)\n"
6698 " (declare (in) vec4 x))\n"
6699 " ())\n"
6700 " (signature vec2\n"
6701 " (parameters\n"
6702 " (declare (in) float edge)\n"
6703 " (declare (in) vec2 x))\n"
6704 " ())\n"
6705 " (signature vec3\n"
6706 " (parameters\n"
6707 " (declare (in) float edge)\n"
6708 " (declare (in) vec3 x))\n"
6709 " ())\n"
6710 " (signature vec4\n"
6711 " (parameters\n"
6712 " (declare (in) float edge)\n"
6713 " (declare (in) vec4 x))\n"
6714 " ()))\n"
6715 "(function smoothstep\n"
6716 " (signature float\n"
6717 " (parameters\n"
6718 " (declare (in) float edge0)\n"
6719 " (declare (in) float edge1)\n"
6720 " (declare (in) float x))\n"
6721 " ())\n"
6722 " (signature vec2\n"
6723 " (parameters\n"
6724 " (declare (in) vec2 edge0)\n"
6725 " (declare (in) vec2 edge1)\n"
6726 " (declare (in) vec2 x))\n"
6727 " ())\n"
6728 " (signature vec3\n"
6729 " (parameters\n"
6730 " (declare (in) vec3 edge0)\n"
6731 " (declare (in) vec3 edge1)\n"
6732 " (declare (in) vec3 x))\n"
6733 " ())\n"
6734 " (signature vec4\n"
6735 " (parameters\n"
6736 " (declare (in) vec4 edge0)\n"
6737 " (declare (in) vec4 edge1)\n"
6738 " (declare (in) vec4 x))\n"
6739 " ())\n"
6740 " (signature vec2\n"
6741 " (parameters\n"
6742 " (declare (in) float edge0)\n"
6743 " (declare (in) float edge1)\n"
6744 " (declare (in) vec2 x))\n"
6745 " ())\n"
6746 " (signature vec3\n"
6747 " (parameters\n"
6748 " (declare (in) float edge0)\n"
6749 " (declare (in) float edge1)\n"
6750 " (declare (in) vec3 x))\n"
6751 " ())\n"
6752 " (signature vec4\n"
6753 " (parameters\n"
6754 " (declare (in) float edge0)\n"
6755 " (declare (in) float edge1)\n"
6756 " (declare (in) vec4 x))\n"
6757 " ()))\n"
6758 "(function length\n"
6759 " (signature float\n"
6760 " (parameters\n"
6761 " (declare (in) float x))\n"
6762 " ())\n"
6763 " (signature float\n"
6764 " (parameters\n"
6765 " (declare (in) vec2 x))\n"
6766 " ())\n"
6767 " (signature float\n"
6768 " (parameters\n"
6769 " (declare (in) vec3 x))\n"
6770 " ())\n"
6771 " (signature float\n"
6772 " (parameters\n"
6773 " (declare (in) vec4 x))\n"
6774 " ()))\n"
6775 "(function distance\n"
6776 " (signature float\n"
6777 " (parameters\n"
6778 " (declare (in) float p0)\n"
6779 " (declare (in) float p1))\n"
6780 " ())\n"
6781 " (signature float\n"
6782 " (parameters\n"
6783 " (declare (in) vec2 p0)\n"
6784 " (declare (in) vec2 p1))\n"
6785 " ())\n"
6786 " (signature float\n"
6787 " (parameters\n"
6788 " (declare (in) vec3 p0)\n"
6789 " (declare (in) vec3 p1))\n"
6790 " ())\n"
6791 " (signature float\n"
6792 " (parameters\n"
6793 " (declare (in) vec4 p0)\n"
6794 " (declare (in) vec4 p1))\n"
6795 " ()))\n"
6796 "(function dot\n"
6797 " (signature float\n"
6798 " (parameters\n"
6799 " (declare (in) float x)\n"
6800 " (declare (in) float y))\n"
6801 " ())\n"
6802 " (signature float\n"
6803 " (parameters\n"
6804 " (declare (in) vec2 x)\n"
6805 " (declare (in) vec2 y))\n"
6806 " ())\n"
6807 " (signature float\n"
6808 " (parameters\n"
6809 " (declare (in) vec3 x)\n"
6810 " (declare (in) vec3 y))\n"
6811 " ())\n"
6812 " (signature float\n"
6813 " (parameters\n"
6814 " (declare (in) vec4 x)\n"
6815 " (declare (in) vec4 y))\n"
6816 " ()))\n"
6817 "(function cross\n"
6818 " (signature vec3\n"
6819 " (parameters\n"
6820 " (declare (in) vec3 x)\n"
6821 " (declare (in) vec3 y))\n"
6822 " ()))\n"
6823 "(function normalize\n"
6824 " (signature float\n"
6825 " (parameters\n"
6826 " (declare (in) float x))\n"
6827 " ())\n"
6828 " (signature vec2\n"
6829 " (parameters\n"
6830 " (declare (in) vec2 x))\n"
6831 " ())\n"
6832 " (signature vec3\n"
6833 " (parameters\n"
6834 " (declare (in) vec3 x))\n"
6835 " ())\n"
6836 " (signature vec4\n"
6837 " (parameters\n"
6838 " (declare (in) vec4 x))\n"
6839 " ()))\n"
6840 "(function ftransform\n"
6841 " (signature vec4\n"
6842 " (parameters)\n"
6843 " ()))\n"
6844 "(function faceforward\n"
6845 " (signature float\n"
6846 " (parameters\n"
6847 " (declare (in) float N)\n"
6848 " (declare (in) float I)\n"
6849 " (declare (in) float Nref))\n"
6850 " ())\n"
6851 " (signature vec2\n"
6852 " (parameters\n"
6853 " (declare (in) vec2 N)\n"
6854 " (declare (in) vec2 I)\n"
6855 " (declare (in) vec2 Nref))\n"
6856 " ())\n"
6857 " (signature vec3\n"
6858 " (parameters\n"
6859 " (declare (in) vec3 N)\n"
6860 " (declare (in) vec3 I)\n"
6861 " (declare (in) vec3 Nref))\n"
6862 " ())\n"
6863 " (signature vec4\n"
6864 " (parameters\n"
6865 " (declare (in) vec4 N)\n"
6866 " (declare (in) vec4 I)\n"
6867 " (declare (in) vec4 Nref))\n"
6868 " ()))\n"
6869 "(function reflect\n"
6870 " (signature float\n"
6871 " (parameters\n"
6872 " (declare (in) float I)\n"
6873 " (declare (in) float N))\n"
6874 " ())\n"
6875 " (signature vec2\n"
6876 " (parameters\n"
6877 " (declare (in) vec2 I)\n"
6878 " (declare (in) vec2 N))\n"
6879 " ())\n"
6880 " (signature vec3\n"
6881 " (parameters\n"
6882 " (declare (in) vec3 I)\n"
6883 " (declare (in) vec3 N))\n"
6884 " ())\n"
6885 " (signature vec4\n"
6886 " (parameters\n"
6887 " (declare (in) vec4 I)\n"
6888 " (declare (in) vec4 N))\n"
6889 " ()))\n"
6890 "(function refract\n"
6891 " (signature float\n"
6892 " (parameters\n"
6893 " (declare (in) float I)\n"
6894 " (declare (in) float N)\n"
6895 " (declare (in) float eta))\n"
6896 " ())\n"
6897 " (signature vec2\n"
6898 " (parameters\n"
6899 " (declare (in) vec2 I)\n"
6900 " (declare (in) vec2 N)\n"
6901 " (declare (in) float eta))\n"
6902 " ())\n"
6903 " (signature vec3\n"
6904 " (parameters\n"
6905 " (declare (in) vec3 I)\n"
6906 " (declare (in) vec3 N)\n"
6907 " (declare (in) float eta))\n"
6908 " ())\n"
6909 " (signature vec4\n"
6910 " (parameters\n"
6911 " (declare (in) vec4 I)\n"
6912 " (declare (in) vec4 N)\n"
6913 " (declare (in) float eta))\n"
6914 " ()))\n"
6915 "(function matrixCompMult\n"
6916 " (signature mat2\n"
6917 " (parameters\n"
6918 " (declare (in) mat2 x)\n"
6919 " (declare (in) mat2 y))\n"
6920 " ())\n"
6921 " (signature mat3\n"
6922 " (parameters\n"
6923 " (declare (in) mat3 x)\n"
6924 " (declare (in) mat3 y))\n"
6925 " ())\n"
6926 " (signature mat4\n"
6927 " (parameters\n"
6928 " (declare (in) mat4 x)\n"
6929 " (declare (in) mat4 y))\n"
6930 " ()))\n"
6931 "(function lessThan\n"
6932 " (signature bvec2\n"
6933 " (parameters\n"
6934 " (declare (in) vec2 x)\n"
6935 " (declare (in) vec2 y))\n"
6936 " ())\n"
6937 " (signature bvec3\n"
6938 " (parameters\n"
6939 " (declare (in) vec3 x)\n"
6940 " (declare (in) vec3 y))\n"
6941 " ())\n"
6942 " (signature bvec4\n"
6943 " (parameters\n"
6944 " (declare (in) vec4 x)\n"
6945 " (declare (in) vec4 y))\n"
6946 " ())\n"
6947 " (signature bvec2\n"
6948 " (parameters\n"
6949 " (declare (in) ivec2 x)\n"
6950 " (declare (in) ivec2 y))\n"
6951 " ())\n"
6952 " (signature bvec3\n"
6953 " (parameters\n"
6954 " (declare (in) ivec3 x)\n"
6955 " (declare (in) ivec3 y))\n"
6956 " ())\n"
6957 " (signature bvec4\n"
6958 " (parameters\n"
6959 " (declare (in) ivec4 x)\n"
6960 " (declare (in) ivec4 y))\n"
6961 " ()))\n"
6962 "(function lessThanEqual\n"
6963 " (signature bvec2\n"
6964 " (parameters\n"
6965 " (declare (in) vec2 x)\n"
6966 " (declare (in) vec2 y))\n"
6967 " ())\n"
6968 " (signature bvec3\n"
6969 " (parameters\n"
6970 " (declare (in) vec3 x)\n"
6971 " (declare (in) vec3 y))\n"
6972 " ())\n"
6973 " (signature bvec4\n"
6974 " (parameters\n"
6975 " (declare (in) vec4 x)\n"
6976 " (declare (in) vec4 y))\n"
6977 " ())\n"
6978 " (signature bvec2\n"
6979 " (parameters\n"
6980 " (declare (in) ivec2 x)\n"
6981 " (declare (in) ivec2 y))\n"
6982 " ())\n"
6983 " (signature bvec3\n"
6984 " (parameters\n"
6985 " (declare (in) ivec3 x)\n"
6986 " (declare (in) ivec3 y))\n"
6987 " ())\n"
6988 " (signature bvec4\n"
6989 " (parameters\n"
6990 " (declare (in) ivec4 x)\n"
6991 " (declare (in) ivec4 y))\n"
6992 " ()))\n"
6993 "(function greaterThan\n"
6994 " (signature bvec2\n"
6995 " (parameters\n"
6996 " (declare (in) vec2 x)\n"
6997 " (declare (in) vec2 y))\n"
6998 " ())\n"
6999 " (signature bvec3\n"
7000 " (parameters\n"
7001 " (declare (in) vec3 x)\n"
7002 " (declare (in) vec3 y))\n"
7003 " ())\n"
7004 " (signature bvec4\n"
7005 " (parameters\n"
7006 " (declare (in) vec4 x)\n"
7007 " (declare (in) vec4 y))\n"
7008 " ())\n"
7009 " (signature bvec2\n"
7010 " (parameters\n"
7011 " (declare (in) ivec2 x)\n"
7012 " (declare (in) ivec2 y))\n"
7013 " ())\n"
7014 " (signature bvec3\n"
7015 " (parameters\n"
7016 " (declare (in) ivec3 x)\n"
7017 " (declare (in) ivec3 y))\n"
7018 " ())\n"
7019 " (signature bvec4\n"
7020 " (parameters\n"
7021 " (declare (in) ivec4 x)\n"
7022 " (declare (in) ivec4 y))\n"
7023 " ()))\n"
7024 "(function greaterThanEqual\n"
7025 " (signature bvec2\n"
7026 " (parameters\n"
7027 " (declare (in) vec2 x)\n"
7028 " (declare (in) vec2 y))\n"
7029 " ())\n"
7030 " (signature bvec3\n"
7031 " (parameters\n"
7032 " (declare (in) vec3 x)\n"
7033 " (declare (in) vec3 y))\n"
7034 " ())\n"
7035 " (signature bvec4\n"
7036 " (parameters\n"
7037 " (declare (in) vec4 x)\n"
7038 " (declare (in) vec4 y))\n"
7039 " ())\n"
7040 " (signature bvec2\n"
7041 " (parameters\n"
7042 " (declare (in) ivec2 x)\n"
7043 " (declare (in) ivec2 y))\n"
7044 " ())\n"
7045 " (signature bvec3\n"
7046 " (parameters\n"
7047 " (declare (in) ivec3 x)\n"
7048 " (declare (in) ivec3 y))\n"
7049 " ())\n"
7050 " (signature bvec4\n"
7051 " (parameters\n"
7052 " (declare (in) ivec4 x)\n"
7053 " (declare (in) ivec4 y))\n"
7054 " ()))\n"
7055 "(function equal\n"
7056 " (signature bvec2\n"
7057 " (parameters\n"
7058 " (declare (in) vec2 x)\n"
7059 " (declare (in) vec2 y))\n"
7060 " ())\n"
7061 " (signature bvec3\n"
7062 " (parameters\n"
7063 " (declare (in) vec3 x)\n"
7064 " (declare (in) vec3 y))\n"
7065 " ())\n"
7066 " (signature bvec4\n"
7067 " (parameters\n"
7068 " (declare (in) vec4 x)\n"
7069 " (declare (in) vec4 y))\n"
7070 " ())\n"
7071 " (signature bvec2\n"
7072 " (parameters\n"
7073 " (declare (in) ivec2 x)\n"
7074 " (declare (in) ivec2 y))\n"
7075 " ())\n"
7076 " (signature bvec3\n"
7077 " (parameters\n"
7078 " (declare (in) ivec3 x)\n"
7079 " (declare (in) ivec3 y))\n"
7080 " ())\n"
7081 " (signature bvec4\n"
7082 " (parameters\n"
7083 " (declare (in) ivec4 x)\n"
7084 " (declare (in) ivec4 y))\n"
7085 " ())\n"
7086 " (signature bvec2\n"
7087 " (parameters\n"
7088 " (declare (in) bvec2 x)\n"
7089 " (declare (in) bvec2 y))\n"
7090 " ())\n"
7091 " (signature bvec3\n"
7092 " (parameters\n"
7093 " (declare (in) bvec3 x)\n"
7094 " (declare (in) bvec3 y))\n"
7095 " ())\n"
7096 " (signature bvec4\n"
7097 " (parameters\n"
7098 " (declare (in) bvec4 x)\n"
7099 " (declare (in) bvec4 y))\n"
7100 " ()))\n"
7101 "(function notEqual\n"
7102 " (signature bvec2\n"
7103 " (parameters\n"
7104 " (declare (in) vec2 x)\n"
7105 " (declare (in) vec2 y))\n"
7106 " ())\n"
7107 " (signature bvec3\n"
7108 " (parameters\n"
7109 " (declare (in) vec3 x)\n"
7110 " (declare (in) vec3 y))\n"
7111 " ())\n"
7112 " (signature bvec4\n"
7113 " (parameters\n"
7114 " (declare (in) vec4 x)\n"
7115 " (declare (in) vec4 y))\n"
7116 " ())\n"
7117 " (signature bvec2\n"
7118 " (parameters\n"
7119 " (declare (in) ivec2 x)\n"
7120 " (declare (in) ivec2 y))\n"
7121 " ())\n"
7122 " (signature bvec3\n"
7123 " (parameters\n"
7124 " (declare (in) ivec3 x)\n"
7125 " (declare (in) ivec3 y))\n"
7126 " ())\n"
7127 " (signature bvec4\n"
7128 " (parameters\n"
7129 " (declare (in) ivec4 x)\n"
7130 " (declare (in) ivec4 y))\n"
7131 " ())\n"
7132 " (signature bvec2\n"
7133 " (parameters\n"
7134 " (declare (in) bvec2 x)\n"
7135 " (declare (in) bvec2 y))\n"
7136 " ())\n"
7137 " (signature bvec3\n"
7138 " (parameters\n"
7139 " (declare (in) bvec3 x)\n"
7140 " (declare (in) bvec3 y))\n"
7141 " ())\n"
7142 " (signature bvec4\n"
7143 " (parameters\n"
7144 " (declare (in) bvec4 x)\n"
7145 " (declare (in) bvec4 y))\n"
7146 " ()))\n"
7147 "(function any\n"
7148 " (signature bool\n"
7149 " (parameters\n"
7150 " (declare (in) bvec2 x))\n"
7151 " ())\n"
7152 " (signature bool\n"
7153 " (parameters\n"
7154 " (declare (in) bvec3 x))\n"
7155 " ())\n"
7156 " (signature bool\n"
7157 " (parameters\n"
7158 " (declare (in) bvec4 x))\n"
7159 " ()))\n"
7160 "(function all\n"
7161 " (signature bool\n"
7162 " (parameters\n"
7163 " (declare (in) bvec2 x))\n"
7164 " ())\n"
7165 " (signature bool\n"
7166 " (parameters\n"
7167 " (declare (in) bvec3 x))\n"
7168 " ())\n"
7169 " (signature bool\n"
7170 " (parameters\n"
7171 " (declare (in) bvec4 x))\n"
7172 " ()))\n"
7173 "(function not\n"
7174 " (signature bvec2\n"
7175 " (parameters\n"
7176 " (declare (in) bvec2 x))\n"
7177 " ())\n"
7178 " (signature bvec3\n"
7179 " (parameters\n"
7180 " (declare (in) bvec3 x))\n"
7181 " ())\n"
7182 " (signature bvec4\n"
7183 " (parameters\n"
7184 " (declare (in) bvec4 x))\n"
7185 " ()))\n"
7186 "(function texture1D\n"
7187 " (signature vec4\n"
7188 " (parameters\n"
7189 " (declare (in) sampler1D sampler)\n"
7190 " (declare (in) float coord))\n"
7191 " ()))\n"
7192 "(function texture1DProj\n"
7193 " (signature vec4\n"
7194 " (parameters\n"
7195 " (declare (in) sampler1D sampler)\n"
7196 " (declare (in) vec2 coord))\n"
7197 " ())\n"
7198 " (signature vec4\n"
7199 " (parameters\n"
7200 " (declare (in) sampler1D sampler)\n"
7201 " (declare (in) vec4 coord))\n"
7202 " ()))\n"
7203 "(function texture1DLod\n"
7204 " (signature vec4\n"
7205 " (parameters\n"
7206 " (declare (in) sampler1D sampler)\n"
7207 " (declare (in) float coord)\n"
7208 " (declare (in) float lod))\n"
7209 " ()))\n"
7210 "(function texture1DProjLod\n"
7211 " (signature vec4\n"
7212 " (parameters\n"
7213 " (declare (in) sampler1D sampler)\n"
7214 " (declare (in) vec2 coord)\n"
7215 " (declare (in) float lod))\n"
7216 " ())\n"
7217 " (signature vec4\n"
7218 " (parameters\n"
7219 " (declare (in) sampler1D sampler)\n"
7220 " (declare (in) vec4 coord)\n"
7221 " (declare (in) float lod))\n"
7222 " ()))\n"
7223 "(function texture2D\n"
7224 " (signature vec4\n"
7225 " (parameters\n"
7226 " (declare (in) sampler2D sampler)\n"
7227 " (declare (in) vec2 coord))\n"
7228 " ()))\n"
7229 "(function texture2DProj\n"
7230 " (signature vec4\n"
7231 " (parameters\n"
7232 " (declare (in) sampler2D sampler)\n"
7233 " (declare (in) vec3 coord))\n"
7234 " ())\n"
7235 " (signature vec4\n"
7236 " (parameters\n"
7237 " (declare (in) sampler2D sampler)\n"
7238 " (declare (in) vec4 coord))\n"
7239 " ()))\n"
7240 "(function texture2DLod\n"
7241 " (signature vec4\n"
7242 " (parameters\n"
7243 " (declare (in) sampler2D sampler)\n"
7244 " (declare (in) vec2 coord)\n"
7245 " (declare (in) float lod))\n"
7246 " ()))\n"
7247 "(function texture2DProjLod\n"
7248 " (signature vec4\n"
7249 " (parameters\n"
7250 " (declare (in) sampler2D sampler)\n"
7251 " (declare (in) vec3 coord)\n"
7252 " (declare (in) float lod))\n"
7253 " ())\n"
7254 " (signature vec4\n"
7255 " (parameters\n"
7256 " (declare (in) sampler2D sampler)\n"
7257 " (declare (in) vec4 coord)\n"
7258 " (declare (in) float lod))\n"
7259 " ()))\n"
7260 "(function texture3D\n"
7261 " (signature vec4\n"
7262 " (parameters\n"
7263 " (declare (in) sampler3D sampler)\n"
7264 " (declare (in) vec3 coord))\n"
7265 " ()))\n"
7266 "(function texture3DProj\n"
7267 " (signature vec4\n"
7268 " (parameters\n"
7269 " (declare (in) sampler3D sampler)\n"
7270 " (declare (in) vec4 coord))\n"
7271 " ()))\n"
7272 "(function texture3DLod\n"
7273 " (signature vec4\n"
7274 " (parameters\n"
7275 " (declare (in) sampler3D sampler)\n"
7276 " (declare (in) vec3 coord)\n"
7277 " (declare (in) float lod))\n"
7278 " ()))\n"
7279 "(function texture3DProjLod\n"
7280 " (signature vec4\n"
7281 " (parameters\n"
7282 " (declare (in) sampler3D sampler)\n"
7283 " (declare (in) vec4 coord)\n"
7284 " (declare (in) float lod))\n"
7285 " ()))\n"
7286 "(function textureCube\n"
7287 " (signature vec4\n"
7288 " (parameters\n"
7289 " (declare (in) samplerCube sampler)\n"
7290 " (declare (in) vec3 coord))\n"
7291 " ()))\n"
7292 "(function textureCubeLod\n"
7293 " (signature vec4\n"
7294 " (parameters\n"
7295 " (declare (in) samplerCube sampler)\n"
7296 " (declare (in) vec3 coord)\n"
7297 " (declare (in) float lod))\n"
7298 " ()))\n"
7299 "(function shadow1D\n"
7300 " (signature vec4\n"
7301 " (parameters\n"
7302 " (declare (in) sampler1DShadow sampler)\n"
7303 " (declare (in) vec3 coord))\n"
7304 " ()))\n"
7305 "(function shadow2D\n"
7306 " (signature vec4\n"
7307 " (parameters\n"
7308 " (declare (in) sampler2DShadow sampler)\n"
7309 " (declare (in) vec3 coord))\n"
7310 " ()))\n"
7311 "(function shadow1DProj\n"
7312 " (signature vec4\n"
7313 " (parameters\n"
7314 " (declare (in) sampler1DShadow sampler)\n"
7315 " (declare (in) vec4 coord))\n"
7316 " ()))\n"
7317 "(function shadow2DProj\n"
7318 " (signature vec4\n"
7319 " (parameters\n"
7320 " (declare (in) sampler2DShadow sampler)\n"
7321 " (declare (in) vec4 coord))\n"
7322 " ()))\n"
7323 "(function shadow1DLod\n"
7324 " (signature vec4\n"
7325 " (parameters\n"
7326 " (declare (in) sampler1DShadow sampler)\n"
7327 " (declare (in) vec3 coord)\n"
7328 " (declare (in) float lod))\n"
7329 " ()))\n"
7330 "(function shadow2DLod\n"
7331 " (signature vec4\n"
7332 " (parameters\n"
7333 " (declare (in) sampler2DShadow sampler)\n"
7334 " (declare (in) vec3 coord)\n"
7335 " (declare (in) float lod))\n"
7336 " ()))\n"
7337 "(function shadow1DProjLod\n"
7338 " (signature vec4\n"
7339 " (parameters\n"
7340 " (declare (in) sampler1DShadow sampler)\n"
7341 " (declare (in) vec4 coord)\n"
7342 " (declare (in) float lod))\n"
7343 " ()))\n"
7344 "(function shadow2DProjLod\n"
7345 " (signature vec4\n"
7346 " (parameters\n"
7347 " (declare (in) sampler2DShadow sampler)\n"
7348 " (declare (in) vec4 coord)\n"
7349 " (declare (in) float lod))\n"
7350 " ()))\n"
7351 "(function noise1\n"
7352 " (signature float\n"
7353 " (parameters\n"
7354 " (declare (in) float x))\n"
7355 " ())\n"
7356 " (signature float\n"
7357 " (parameters\n"
7358 " (declare (in) vec2 x))\n"
7359 " ())\n"
7360 " (signature float\n"
7361 " (parameters\n"
7362 " (declare (in) vec3 x))\n"
7363 " ())\n"
7364 " (signature float\n"
7365 " (parameters\n"
7366 " (declare (in) vec4 x))\n"
7367 " ()))\n"
7368 "(function noise2\n"
7369 " (signature vec2\n"
7370 " (parameters\n"
7371 " (declare (in) float x))\n"
7372 " ())\n"
7373 " (signature vec2\n"
7374 " (parameters\n"
7375 " (declare (in) vec2 x))\n"
7376 " ())\n"
7377 " (signature vec2\n"
7378 " (parameters\n"
7379 " (declare (in) vec3 x))\n"
7380 " ())\n"
7381 " (signature vec2\n"
7382 " (parameters\n"
7383 " (declare (in) vec4 x))\n"
7384 " ()))\n"
7385 "(function noise3\n"
7386 " (signature vec3\n"
7387 " (parameters\n"
7388 " (declare (in) float x))\n"
7389 " ())\n"
7390 " (signature vec3\n"
7391 " (parameters\n"
7392 " (declare (in) vec2 x))\n"
7393 " ())\n"
7394 " (signature vec3\n"
7395 " (parameters\n"
7396 " (declare (in) vec3 x))\n"
7397 " ())\n"
7398 " (signature vec3\n"
7399 " (parameters\n"
7400 " (declare (in) vec4 x))\n"
7401 " ()))\n"
7402 "(function noise4\n"
7403 " (signature vec4\n"
7404 " (parameters\n"
7405 " (declare (in) float x))\n"
7406 " ())\n"
7407 " (signature vec4\n"
7408 " (parameters\n"
7409 " (declare (in) vec2 x))\n"
7410 " ())\n"
7411 " (signature vec4\n"
7412 " (parameters\n"
7413 " (declare (in) vec3 x))\n"
7414 " ())\n"
7415 " (signature vec4\n"
7416 " (parameters\n"
7417 " (declare (in) vec4 x))\n"
7418 " ())))"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007419;
Eric Anholt47003a82010-08-23 12:39:35 -07007420static const char *functions_for_110_vert [] = {
7421 builtin_abs,
7422 builtin_acos,
7423 builtin_all,
7424 builtin_any,
7425 builtin_asin,
7426 builtin_atan,
7427 builtin_ceil,
7428 builtin_clamp,
7429 builtin_cos,
7430 builtin_cross,
7431 builtin_degrees,
7432 builtin_distance,
7433 builtin_dot,
7434 builtin_equal,
7435 builtin_exp,
7436 builtin_exp2,
7437 builtin_faceforward,
7438 builtin_floor,
7439 builtin_fract,
7440 builtin_ftransform,
7441 builtin_greaterThan,
7442 builtin_greaterThanEqual,
7443 builtin_inversesqrt,
7444 builtin_length,
7445 builtin_lessThan,
7446 builtin_lessThanEqual,
7447 builtin_log,
7448 builtin_log2,
7449 builtin_matrixCompMult,
7450 builtin_max,
7451 builtin_min,
7452 builtin_mix,
7453 builtin_mod,
7454 builtin_noise1,
7455 builtin_noise2,
7456 builtin_noise3,
7457 builtin_noise4,
7458 builtin_normalize,
7459 builtin_not,
7460 builtin_notEqual,
7461 builtin_pow,
7462 builtin_radians,
7463 builtin_reflect,
7464 builtin_refract,
7465 builtin_shadow1D,
7466 builtin_shadow1DLod,
7467 builtin_shadow1DProj,
7468 builtin_shadow1DProjLod,
7469 builtin_shadow2D,
7470 builtin_shadow2DLod,
7471 builtin_shadow2DProj,
7472 builtin_shadow2DProjLod,
7473 builtin_sign,
7474 builtin_sin,
7475 builtin_smoothstep,
7476 builtin_sqrt,
7477 builtin_step,
7478 builtin_tan,
7479 builtin_texture1D,
7480 builtin_texture1DLod,
7481 builtin_texture1DProj,
7482 builtin_texture1DProjLod,
7483 builtin_texture2D,
7484 builtin_texture2DLod,
7485 builtin_texture2DProj,
7486 builtin_texture2DProjLod,
7487 builtin_texture3D,
7488 builtin_texture3DLod,
7489 builtin_texture3DProj,
7490 builtin_texture3DProjLod,
7491 builtin_textureCube,
7492 builtin_textureCubeLod,
7493};
7494static const char *prototypes_for_120_frag =
7495 "(\n"
7496 "(function radians\n"
7497 " (signature float\n"
7498 " (parameters\n"
7499 " (declare (in) float degrees))\n"
7500 " ())\n"
7501 " (signature vec2\n"
7502 " (parameters\n"
7503 " (declare (in) vec2 degrees))\n"
7504 " ())\n"
7505 " (signature vec3\n"
7506 " (parameters\n"
7507 " (declare (in) vec3 degrees))\n"
7508 " ())\n"
7509 " (signature vec4\n"
7510 " (parameters\n"
7511 " (declare (in) vec4 degrees))\n"
7512 " ()))\n"
7513 "(function degrees\n"
7514 " (signature float\n"
7515 " (parameters\n"
7516 " (declare (in) float radians))\n"
7517 " ())\n"
7518 " (signature vec2\n"
7519 " (parameters\n"
7520 " (declare (in) vec2 radians))\n"
7521 " ())\n"
7522 " (signature vec3\n"
7523 " (parameters\n"
7524 " (declare (in) vec3 radians))\n"
7525 " ())\n"
7526 " (signature vec4\n"
7527 " (parameters\n"
7528 " (declare (in) vec4 radians))\n"
7529 " ()))\n"
7530 "(function sin\n"
7531 " (signature float\n"
7532 " (parameters\n"
7533 " (declare (in) float angle))\n"
7534 " ())\n"
7535 " (signature vec2\n"
7536 " (parameters\n"
7537 " (declare (in) vec2 angle))\n"
7538 " ())\n"
7539 " (signature vec3\n"
7540 " (parameters\n"
7541 " (declare (in) vec3 angle))\n"
7542 " ())\n"
7543 " (signature vec4\n"
7544 " (parameters\n"
7545 " (declare (in) vec4 angle))\n"
7546 " ()))\n"
7547 "(function cos\n"
7548 " (signature float\n"
7549 " (parameters\n"
7550 " (declare (in) float angle))\n"
7551 " ())\n"
7552 " (signature vec2\n"
7553 " (parameters\n"
7554 " (declare (in) vec2 angle))\n"
7555 " ())\n"
7556 " (signature vec3\n"
7557 " (parameters\n"
7558 " (declare (in) vec3 angle))\n"
7559 " ())\n"
7560 " (signature vec4\n"
7561 " (parameters\n"
7562 " (declare (in) vec4 angle))\n"
7563 " ()))\n"
7564 "(function tan\n"
7565 " (signature float\n"
7566 " (parameters\n"
7567 " (declare (in) float angle))\n"
7568 " ())\n"
7569 " (signature vec2\n"
7570 " (parameters\n"
7571 " (declare (in) vec2 angle))\n"
7572 " ())\n"
7573 " (signature vec3\n"
7574 " (parameters\n"
7575 " (declare (in) vec3 angle))\n"
7576 " ())\n"
7577 " (signature vec4\n"
7578 " (parameters\n"
7579 " (declare (in) vec4 angle))\n"
7580 " ()))\n"
7581 "(function asin\n"
7582 " (signature float\n"
7583 " (parameters\n"
7584 " (declare (in) float angle))\n"
7585 " ())\n"
7586 " (signature vec2\n"
7587 " (parameters\n"
7588 " (declare (in) vec2 angle))\n"
7589 " ())\n"
7590 " (signature vec3\n"
7591 " (parameters\n"
7592 " (declare (in) vec3 angle))\n"
7593 " ())\n"
7594 " (signature vec4\n"
7595 " (parameters\n"
7596 " (declare (in) vec4 angle))\n"
7597 " ()))\n"
7598 "(function acos\n"
7599 " (signature float\n"
7600 " (parameters\n"
7601 " (declare (in) float angle))\n"
7602 " ())\n"
7603 " (signature vec2\n"
7604 " (parameters\n"
7605 " (declare (in) vec2 angle))\n"
7606 " ())\n"
7607 " (signature vec3\n"
7608 " (parameters\n"
7609 " (declare (in) vec3 angle))\n"
7610 " ())\n"
7611 " (signature vec4\n"
7612 " (parameters\n"
7613 " (declare (in) vec4 angle))\n"
7614 " ()))\n"
7615 "(function atan\n"
7616 " (signature float\n"
7617 " (parameters\n"
7618 " (declare (in) float y)\n"
7619 " (declare (in) float x))\n"
7620 " ())\n"
7621 " (signature vec2\n"
7622 " (parameters\n"
7623 " (declare (in) vec2 y)\n"
7624 " (declare (in) vec2 x))\n"
7625 " ())\n"
7626 " (signature vec3\n"
7627 " (parameters\n"
7628 " (declare (in) vec3 y)\n"
7629 " (declare (in) vec3 x))\n"
7630 " ())\n"
7631 " (signature vec4\n"
7632 " (parameters\n"
7633 " (declare (in) vec4 y)\n"
7634 " (declare (in) vec4 x))\n"
7635 " ())\n"
7636 " (signature float\n"
7637 " (parameters\n"
7638 " (declare (in) float y_over_x))\n"
7639 " ())\n"
7640 " (signature vec2\n"
7641 " (parameters\n"
7642 " (declare (in) vec2 y_over_x))\n"
7643 " ())\n"
7644 " (signature vec3\n"
7645 " (parameters\n"
7646 " (declare (in) vec3 y_over_x))\n"
7647 " ())\n"
7648 " (signature vec4\n"
7649 " (parameters\n"
7650 " (declare (in) vec4 y_over_x))\n"
7651 " ()))\n"
7652 "(function pow\n"
7653 " (signature float\n"
7654 " (parameters\n"
7655 " (declare (in) float x)\n"
7656 " (declare (in) float y))\n"
7657 " ())\n"
7658 " (signature vec2\n"
7659 " (parameters\n"
7660 " (declare (in) vec2 x)\n"
7661 " (declare (in) vec2 y))\n"
7662 " ())\n"
7663 " (signature vec3\n"
7664 " (parameters\n"
7665 " (declare (in) vec3 x)\n"
7666 " (declare (in) vec3 y))\n"
7667 " ())\n"
7668 " (signature vec4\n"
7669 " (parameters\n"
7670 " (declare (in) vec4 x)\n"
7671 " (declare (in) vec4 y))\n"
7672 " ()))\n"
7673 "(function exp\n"
7674 " (signature float\n"
7675 " (parameters\n"
7676 " (declare (in) float x))\n"
7677 " ())\n"
7678 " (signature vec2\n"
7679 " (parameters\n"
7680 " (declare (in) vec2 x))\n"
7681 " ())\n"
7682 " (signature vec3\n"
7683 " (parameters\n"
7684 " (declare (in) vec3 x))\n"
7685 " ())\n"
7686 " (signature vec4\n"
7687 " (parameters\n"
7688 " (declare (in) vec4 x))\n"
7689 " ()))\n"
7690 "(function log\n"
7691 " (signature float\n"
7692 " (parameters\n"
7693 " (declare (in) float x))\n"
7694 " ())\n"
7695 " (signature vec2\n"
7696 " (parameters\n"
7697 " (declare (in) vec2 x))\n"
7698 " ())\n"
7699 " (signature vec3\n"
7700 " (parameters\n"
7701 " (declare (in) vec3 x))\n"
7702 " ())\n"
7703 " (signature vec4\n"
7704 " (parameters\n"
7705 " (declare (in) vec4 x))\n"
7706 " ()))\n"
7707 "(function exp2\n"
7708 " (signature float\n"
7709 " (parameters\n"
7710 " (declare (in) float x))\n"
7711 " ())\n"
7712 " (signature vec2\n"
7713 " (parameters\n"
7714 " (declare (in) vec2 x))\n"
7715 " ())\n"
7716 " (signature vec3\n"
7717 " (parameters\n"
7718 " (declare (in) vec3 x))\n"
7719 " ())\n"
7720 " (signature vec4\n"
7721 " (parameters\n"
7722 " (declare (in) vec4 x))\n"
7723 " ()))\n"
7724 "(function log2\n"
7725 " (signature float\n"
7726 " (parameters\n"
7727 " (declare (in) float x))\n"
7728 " ())\n"
7729 " (signature vec2\n"
7730 " (parameters\n"
7731 " (declare (in) vec2 x))\n"
7732 " ())\n"
7733 " (signature vec3\n"
7734 " (parameters\n"
7735 " (declare (in) vec3 x))\n"
7736 " ())\n"
7737 " (signature vec4\n"
7738 " (parameters\n"
7739 " (declare (in) vec4 x))\n"
7740 " ()))\n"
7741 "(function sqrt\n"
7742 " (signature float\n"
7743 " (parameters\n"
7744 " (declare (in) float x))\n"
7745 " ())\n"
7746 " (signature vec2\n"
7747 " (parameters\n"
7748 " (declare (in) vec2 x))\n"
7749 " ())\n"
7750 " (signature vec3\n"
7751 " (parameters\n"
7752 " (declare (in) vec3 x))\n"
7753 " ())\n"
7754 " (signature vec4\n"
7755 " (parameters\n"
7756 " (declare (in) vec4 x))\n"
7757 " ()))\n"
7758 "(function inversesqrt\n"
7759 " (signature float\n"
7760 " (parameters\n"
7761 " (declare (in) float x))\n"
7762 " ())\n"
7763 " (signature vec2\n"
7764 " (parameters\n"
7765 " (declare (in) vec2 x))\n"
7766 " ())\n"
7767 " (signature vec3\n"
7768 " (parameters\n"
7769 " (declare (in) vec3 x))\n"
7770 " ())\n"
7771 " (signature vec4\n"
7772 " (parameters\n"
7773 " (declare (in) vec4 x))\n"
7774 " ()))\n"
7775 "(function abs\n"
7776 " (signature float\n"
7777 " (parameters\n"
7778 " (declare (in) float x))\n"
7779 " ())\n"
7780 " (signature vec2\n"
7781 " (parameters\n"
7782 " (declare (in) vec2 x))\n"
7783 " ())\n"
7784 " (signature vec3\n"
7785 " (parameters\n"
7786 " (declare (in) vec3 x))\n"
7787 " ())\n"
7788 " (signature vec4\n"
7789 " (parameters\n"
7790 " (declare (in) vec4 x))\n"
7791 " ()))\n"
7792 "(function sign\n"
7793 " (signature float\n"
7794 " (parameters\n"
7795 " (declare (in) float x))\n"
7796 " ())\n"
7797 " (signature vec2\n"
7798 " (parameters\n"
7799 " (declare (in) vec2 x))\n"
7800 " ())\n"
7801 " (signature vec3\n"
7802 " (parameters\n"
7803 " (declare (in) vec3 x))\n"
7804 " ())\n"
7805 " (signature vec4\n"
7806 " (parameters\n"
7807 " (declare (in) vec4 x))\n"
7808 " ()))\n"
7809 "(function floor\n"
7810 " (signature float\n"
7811 " (parameters\n"
7812 " (declare (in) float x))\n"
7813 " ())\n"
7814 " (signature vec2\n"
7815 " (parameters\n"
7816 " (declare (in) vec2 x))\n"
7817 " ())\n"
7818 " (signature vec3\n"
7819 " (parameters\n"
7820 " (declare (in) vec3 x))\n"
7821 " ())\n"
7822 " (signature vec4\n"
7823 " (parameters\n"
7824 " (declare (in) vec4 x))\n"
7825 " ()))\n"
7826 "(function ceil\n"
7827 " (signature float\n"
7828 " (parameters\n"
7829 " (declare (in) float x))\n"
7830 " ())\n"
7831 " (signature vec2\n"
7832 " (parameters\n"
7833 " (declare (in) vec2 x))\n"
7834 " ())\n"
7835 " (signature vec3\n"
7836 " (parameters\n"
7837 " (declare (in) vec3 x))\n"
7838 " ())\n"
7839 " (signature vec4\n"
7840 " (parameters\n"
7841 " (declare (in) vec4 x))\n"
7842 " ()))\n"
7843 "(function fract\n"
7844 " (signature float\n"
7845 " (parameters\n"
7846 " (declare (in) float x))\n"
7847 " ())\n"
7848 " (signature vec2\n"
7849 " (parameters\n"
7850 " (declare (in) vec2 x))\n"
7851 " ())\n"
7852 " (signature vec3\n"
7853 " (parameters\n"
7854 " (declare (in) vec3 x))\n"
7855 " ())\n"
7856 " (signature vec4\n"
7857 " (parameters\n"
7858 " (declare (in) vec4 x))\n"
7859 " ()))\n"
7860 "(function mod\n"
7861 " (signature float\n"
7862 " (parameters\n"
7863 " (declare (in) float x)\n"
7864 " (declare (in) float y))\n"
7865 " ())\n"
7866 " (signature vec2\n"
7867 " (parameters\n"
7868 " (declare (in) vec2 x)\n"
7869 " (declare (in) float y))\n"
7870 " ())\n"
7871 " (signature vec3\n"
7872 " (parameters\n"
7873 " (declare (in) vec3 x)\n"
7874 " (declare (in) float y))\n"
7875 " ())\n"
7876 " (signature vec4\n"
7877 " (parameters\n"
7878 " (declare (in) vec4 x)\n"
7879 " (declare (in) float y))\n"
7880 " ())\n"
7881 " (signature vec2\n"
7882 " (parameters\n"
7883 " (declare (in) vec2 x)\n"
7884 " (declare (in) vec2 y))\n"
7885 " ())\n"
7886 " (signature vec3\n"
7887 " (parameters\n"
7888 " (declare (in) vec3 x)\n"
7889 " (declare (in) vec3 y))\n"
7890 " ())\n"
7891 " (signature vec4\n"
7892 " (parameters\n"
7893 " (declare (in) vec4 x)\n"
7894 " (declare (in) vec4 y))\n"
7895 " ()))\n"
7896 "(function min\n"
7897 " (signature float\n"
7898 " (parameters\n"
7899 " (declare (in) float x)\n"
7900 " (declare (in) float y))\n"
7901 " ())\n"
7902 " (signature vec2\n"
7903 " (parameters\n"
7904 " (declare (in) vec2 x)\n"
7905 " (declare (in) vec2 y))\n"
7906 " ())\n"
7907 " (signature vec3\n"
7908 " (parameters\n"
7909 " (declare (in) vec3 x)\n"
7910 " (declare (in) vec3 y))\n"
7911 " ())\n"
7912 " (signature vec4\n"
7913 " (parameters\n"
7914 " (declare (in) vec4 x)\n"
7915 " (declare (in) vec4 y))\n"
7916 " ())\n"
7917 " (signature vec2\n"
7918 " (parameters\n"
7919 " (declare (in) vec2 x)\n"
7920 " (declare (in) float y))\n"
7921 " ())\n"
7922 " (signature vec3\n"
7923 " (parameters\n"
7924 " (declare (in) vec3 x)\n"
7925 " (declare (in) float y))\n"
7926 " ())\n"
7927 " (signature vec4\n"
7928 " (parameters\n"
7929 " (declare (in) vec4 x)\n"
7930 " (declare (in) float y))\n"
7931 " ()))\n"
7932 "(function max\n"
7933 " (signature float\n"
7934 " (parameters\n"
7935 " (declare (in) float x)\n"
7936 " (declare (in) float y))\n"
7937 " ())\n"
7938 " (signature vec2\n"
7939 " (parameters\n"
7940 " (declare (in) vec2 x)\n"
7941 " (declare (in) vec2 y))\n"
7942 " ())\n"
7943 " (signature vec3\n"
7944 " (parameters\n"
7945 " (declare (in) vec3 x)\n"
7946 " (declare (in) vec3 y))\n"
7947 " ())\n"
7948 " (signature vec4\n"
7949 " (parameters\n"
7950 " (declare (in) vec4 x)\n"
7951 " (declare (in) vec4 y))\n"
7952 " ())\n"
7953 " (signature vec2\n"
7954 " (parameters\n"
7955 " (declare (in) vec2 x)\n"
7956 " (declare (in) float y))\n"
7957 " ())\n"
7958 " (signature vec3\n"
7959 " (parameters\n"
7960 " (declare (in) vec3 x)\n"
7961 " (declare (in) float y))\n"
7962 " ())\n"
7963 " (signature vec4\n"
7964 " (parameters\n"
7965 " (declare (in) vec4 x)\n"
7966 " (declare (in) float y))\n"
7967 " ()))\n"
7968 "(function clamp\n"
7969 " (signature float\n"
7970 " (parameters\n"
7971 " (declare (in) float x)\n"
7972 " (declare (in) float minVal)\n"
7973 " (declare (in) float maxVal))\n"
7974 " ())\n"
7975 " (signature vec2\n"
7976 " (parameters\n"
7977 " (declare (in) vec2 x)\n"
7978 " (declare (in) vec2 minVal)\n"
7979 " (declare (in) vec2 maxVal))\n"
7980 " ())\n"
7981 " (signature vec3\n"
7982 " (parameters\n"
7983 " (declare (in) vec3 x)\n"
7984 " (declare (in) vec3 minVal)\n"
7985 " (declare (in) vec3 maxVal))\n"
7986 " ())\n"
7987 " (signature vec4\n"
7988 " (parameters\n"
7989 " (declare (in) vec4 x)\n"
7990 " (declare (in) vec4 minVal)\n"
7991 " (declare (in) vec4 maxVal))\n"
7992 " ())\n"
7993 " (signature vec2\n"
7994 " (parameters\n"
7995 " (declare (in) vec2 x)\n"
7996 " (declare (in) float minVal)\n"
7997 " (declare (in) float maxVal))\n"
7998 " ())\n"
7999 " (signature vec3\n"
8000 " (parameters\n"
8001 " (declare (in) vec3 x)\n"
8002 " (declare (in) float minVal)\n"
8003 " (declare (in) float maxVal))\n"
8004 " ())\n"
8005 " (signature vec4\n"
8006 " (parameters\n"
8007 " (declare (in) vec4 x)\n"
8008 " (declare (in) float minVal)\n"
8009 " (declare (in) float maxVal))\n"
8010 " ()))\n"
8011 "(function mix\n"
8012 " (signature float\n"
8013 " (parameters\n"
8014 " (declare (in) float x)\n"
8015 " (declare (in) float y)\n"
8016 " (declare (in) float a))\n"
8017 " ())\n"
8018 " (signature vec2\n"
8019 " (parameters\n"
8020 " (declare (in) vec2 x)\n"
8021 " (declare (in) vec2 y)\n"
8022 " (declare (in) vec2 a))\n"
8023 " ())\n"
8024 " (signature vec3\n"
8025 " (parameters\n"
8026 " (declare (in) vec3 x)\n"
8027 " (declare (in) vec3 y)\n"
8028 " (declare (in) vec3 a))\n"
8029 " ())\n"
8030 " (signature vec4\n"
8031 " (parameters\n"
8032 " (declare (in) vec4 x)\n"
8033 " (declare (in) vec4 y)\n"
8034 " (declare (in) vec4 a))\n"
8035 " ())\n"
8036 " (signature vec2\n"
8037 " (parameters\n"
8038 " (declare (in) vec2 x)\n"
8039 " (declare (in) vec2 y)\n"
8040 " (declare (in) float a))\n"
8041 " ())\n"
8042 " (signature vec3\n"
8043 " (parameters\n"
8044 " (declare (in) vec3 x)\n"
8045 " (declare (in) vec3 y)\n"
8046 " (declare (in) float a))\n"
8047 " ())\n"
8048 " (signature vec4\n"
8049 " (parameters\n"
8050 " (declare (in) vec4 x)\n"
8051 " (declare (in) vec4 y)\n"
8052 " (declare (in) float a))\n"
8053 " ()))\n"
8054 "(function step\n"
8055 " (signature float\n"
8056 " (parameters\n"
8057 " (declare (in) float edge)\n"
8058 " (declare (in) float x))\n"
8059 " ())\n"
8060 " (signature vec2\n"
8061 " (parameters\n"
8062 " (declare (in) vec2 edge)\n"
8063 " (declare (in) vec2 x))\n"
8064 " ())\n"
8065 " (signature vec3\n"
8066 " (parameters\n"
8067 " (declare (in) vec3 edge)\n"
8068 " (declare (in) vec3 x))\n"
8069 " ())\n"
8070 " (signature vec4\n"
8071 " (parameters\n"
8072 " (declare (in) vec4 edge)\n"
8073 " (declare (in) vec4 x))\n"
8074 " ())\n"
8075 " (signature vec2\n"
8076 " (parameters\n"
8077 " (declare (in) float edge)\n"
8078 " (declare (in) vec2 x))\n"
8079 " ())\n"
8080 " (signature vec3\n"
8081 " (parameters\n"
8082 " (declare (in) float edge)\n"
8083 " (declare (in) vec3 x))\n"
8084 " ())\n"
8085 " (signature vec4\n"
8086 " (parameters\n"
8087 " (declare (in) float edge)\n"
8088 " (declare (in) vec4 x))\n"
8089 " ()))\n"
8090 "(function smoothstep\n"
8091 " (signature float\n"
8092 " (parameters\n"
8093 " (declare (in) float edge0)\n"
8094 " (declare (in) float edge1)\n"
8095 " (declare (in) float x))\n"
8096 " ())\n"
8097 " (signature vec2\n"
8098 " (parameters\n"
8099 " (declare (in) vec2 edge0)\n"
8100 " (declare (in) vec2 edge1)\n"
8101 " (declare (in) vec2 x))\n"
8102 " ())\n"
8103 " (signature vec3\n"
8104 " (parameters\n"
8105 " (declare (in) vec3 edge0)\n"
8106 " (declare (in) vec3 edge1)\n"
8107 " (declare (in) vec3 x))\n"
8108 " ())\n"
8109 " (signature vec4\n"
8110 " (parameters\n"
8111 " (declare (in) vec4 edge0)\n"
8112 " (declare (in) vec4 edge1)\n"
8113 " (declare (in) vec4 x))\n"
8114 " ())\n"
8115 " (signature vec2\n"
8116 " (parameters\n"
8117 " (declare (in) float edge0)\n"
8118 " (declare (in) float edge1)\n"
8119 " (declare (in) vec2 x))\n"
8120 " ())\n"
8121 " (signature vec3\n"
8122 " (parameters\n"
8123 " (declare (in) float edge0)\n"
8124 " (declare (in) float edge1)\n"
8125 " (declare (in) vec3 x))\n"
8126 " ())\n"
8127 " (signature vec4\n"
8128 " (parameters\n"
8129 " (declare (in) float edge0)\n"
8130 " (declare (in) float edge1)\n"
8131 " (declare (in) vec4 x))\n"
8132 " ()))\n"
8133 "(function length\n"
8134 " (signature float\n"
8135 " (parameters\n"
8136 " (declare (in) float x))\n"
8137 " ())\n"
8138 " (signature float\n"
8139 " (parameters\n"
8140 " (declare (in) vec2 x))\n"
8141 " ())\n"
8142 " (signature float\n"
8143 " (parameters\n"
8144 " (declare (in) vec3 x))\n"
8145 " ())\n"
8146 " (signature float\n"
8147 " (parameters\n"
8148 " (declare (in) vec4 x))\n"
8149 " ()))\n"
8150 "(function distance\n"
8151 " (signature float\n"
8152 " (parameters\n"
8153 " (declare (in) float p0)\n"
8154 " (declare (in) float p1))\n"
8155 " ())\n"
8156 " (signature float\n"
8157 " (parameters\n"
8158 " (declare (in) vec2 p0)\n"
8159 " (declare (in) vec2 p1))\n"
8160 " ())\n"
8161 " (signature float\n"
8162 " (parameters\n"
8163 " (declare (in) vec3 p0)\n"
8164 " (declare (in) vec3 p1))\n"
8165 " ())\n"
8166 " (signature float\n"
8167 " (parameters\n"
8168 " (declare (in) vec4 p0)\n"
8169 " (declare (in) vec4 p1))\n"
8170 " ()))\n"
8171 "(function dot\n"
8172 " (signature float\n"
8173 " (parameters\n"
8174 " (declare (in) float x)\n"
8175 " (declare (in) float y))\n"
8176 " ())\n"
8177 " (signature float\n"
8178 " (parameters\n"
8179 " (declare (in) vec2 x)\n"
8180 " (declare (in) vec2 y))\n"
8181 " ())\n"
8182 " (signature float\n"
8183 " (parameters\n"
8184 " (declare (in) vec3 x)\n"
8185 " (declare (in) vec3 y))\n"
8186 " ())\n"
8187 " (signature float\n"
8188 " (parameters\n"
8189 " (declare (in) vec4 x)\n"
8190 " (declare (in) vec4 y))\n"
8191 " ()))\n"
8192 "(function cross\n"
8193 " (signature vec3\n"
8194 " (parameters\n"
8195 " (declare (in) vec3 x)\n"
8196 " (declare (in) vec3 y))\n"
8197 " ()))\n"
8198 "(function normalize\n"
8199 " (signature float\n"
8200 " (parameters\n"
8201 " (declare (in) float x))\n"
8202 " ())\n"
8203 " (signature vec2\n"
8204 " (parameters\n"
8205 " (declare (in) vec2 x))\n"
8206 " ())\n"
8207 " (signature vec3\n"
8208 " (parameters\n"
8209 " (declare (in) vec3 x))\n"
8210 " ())\n"
8211 " (signature vec4\n"
8212 " (parameters\n"
8213 " (declare (in) vec4 x))\n"
8214 " ()))\n"
8215 "(function faceforward\n"
8216 " (signature float\n"
8217 " (parameters\n"
8218 " (declare (in) float N)\n"
8219 " (declare (in) float I)\n"
8220 " (declare (in) float Nref))\n"
8221 " ())\n"
8222 " (signature vec2\n"
8223 " (parameters\n"
8224 " (declare (in) vec2 N)\n"
8225 " (declare (in) vec2 I)\n"
8226 " (declare (in) vec2 Nref))\n"
8227 " ())\n"
8228 " (signature vec3\n"
8229 " (parameters\n"
8230 " (declare (in) vec3 N)\n"
8231 " (declare (in) vec3 I)\n"
8232 " (declare (in) vec3 Nref))\n"
8233 " ())\n"
8234 " (signature vec4\n"
8235 " (parameters\n"
8236 " (declare (in) vec4 N)\n"
8237 " (declare (in) vec4 I)\n"
8238 " (declare (in) vec4 Nref))\n"
8239 " ()))\n"
8240 "(function reflect\n"
8241 " (signature float\n"
8242 " (parameters\n"
8243 " (declare (in) float I)\n"
8244 " (declare (in) float N))\n"
8245 " ())\n"
8246 " (signature vec2\n"
8247 " (parameters\n"
8248 " (declare (in) vec2 I)\n"
8249 " (declare (in) vec2 N))\n"
8250 " ())\n"
8251 " (signature vec3\n"
8252 " (parameters\n"
8253 " (declare (in) vec3 I)\n"
8254 " (declare (in) vec3 N))\n"
8255 " ())\n"
8256 " (signature vec4\n"
8257 " (parameters\n"
8258 " (declare (in) vec4 I)\n"
8259 " (declare (in) vec4 N))\n"
8260 " ()))\n"
8261 "(function refract\n"
8262 " (signature float\n"
8263 " (parameters\n"
8264 " (declare (in) float I)\n"
8265 " (declare (in) float N)\n"
8266 " (declare (in) float eta))\n"
8267 " ())\n"
8268 " (signature vec2\n"
8269 " (parameters\n"
8270 " (declare (in) vec2 I)\n"
8271 " (declare (in) vec2 N)\n"
8272 " (declare (in) float eta))\n"
8273 " ())\n"
8274 " (signature vec3\n"
8275 " (parameters\n"
8276 " (declare (in) vec3 I)\n"
8277 " (declare (in) vec3 N)\n"
8278 " (declare (in) float eta))\n"
8279 " ())\n"
8280 " (signature vec4\n"
8281 " (parameters\n"
8282 " (declare (in) vec4 I)\n"
8283 " (declare (in) vec4 N)\n"
8284 " (declare (in) float eta))\n"
8285 " ()))\n"
8286 "(function matrixCompMult\n"
8287 " (signature mat2\n"
8288 " (parameters\n"
8289 " (declare (in) mat2 x)\n"
8290 " (declare (in) mat2 y))\n"
8291 " ())\n"
8292 " (signature mat3\n"
8293 " (parameters\n"
8294 " (declare (in) mat3 x)\n"
8295 " (declare (in) mat3 y))\n"
8296 " ())\n"
8297 " (signature mat4\n"
8298 " (parameters\n"
8299 " (declare (in) mat4 x)\n"
8300 " (declare (in) mat4 y))\n"
8301 " ())\n"
8302 " (signature mat2x3\n"
8303 " (parameters\n"
8304 " (declare (in) mat2x3 x)\n"
8305 " (declare (in) mat2x3 y))\n"
8306 " ())\n"
8307 " (signature mat2x4\n"
8308 " (parameters\n"
8309 " (declare (in) mat2x4 x)\n"
8310 " (declare (in) mat2x4 y))\n"
8311 " ())\n"
8312 " (signature mat3x2\n"
8313 " (parameters\n"
8314 " (declare (in) mat3x2 x)\n"
8315 " (declare (in) mat3x2 y))\n"
8316 " ())\n"
8317 " (signature mat3x4\n"
8318 " (parameters\n"
8319 " (declare (in) mat3x4 x)\n"
8320 " (declare (in) mat3x4 y))\n"
8321 " ())\n"
8322 " (signature mat4x2\n"
8323 " (parameters\n"
8324 " (declare (in) mat4x2 x)\n"
8325 " (declare (in) mat4x2 y))\n"
8326 " ())\n"
8327 " (signature mat4x3\n"
8328 " (parameters\n"
8329 " (declare (in) mat4x3 x)\n"
8330 " (declare (in) mat4x3 y))\n"
8331 " ()))\n"
8332 "(function outerProduct\n"
8333 " (signature mat2\n"
8334 " (parameters\n"
8335 " (declare (in) vec2 c)\n"
8336 " (declare (in) vec2 r))\n"
8337 " ())\n"
8338 " (signature mat3\n"
8339 " (parameters\n"
8340 " (declare (in) vec3 c)\n"
8341 " (declare (in) vec3 r))\n"
8342 " ())\n"
8343 " (signature mat4\n"
8344 " (parameters\n"
8345 " (declare (in) vec4 c)\n"
8346 " (declare (in) vec4 r))\n"
8347 " ())\n"
8348 " (signature mat2x3\n"
8349 " (parameters\n"
8350 " (declare (in) vec3 c)\n"
8351 " (declare (in) vec2 r))\n"
8352 " ())\n"
8353 " (signature mat3x2\n"
8354 " (parameters\n"
8355 " (declare (in) vec2 c)\n"
8356 " (declare (in) vec3 r))\n"
8357 " ())\n"
8358 " (signature mat2x4\n"
8359 " (parameters\n"
8360 " (declare (in) vec4 c)\n"
8361 " (declare (in) vec2 r))\n"
8362 " ())\n"
8363 " (signature mat4x2\n"
8364 " (parameters\n"
8365 " (declare (in) vec2 c)\n"
8366 " (declare (in) vec4 r))\n"
8367 " ())\n"
8368 " (signature mat3x4\n"
8369 " (parameters\n"
8370 " (declare (in) vec4 c)\n"
8371 " (declare (in) vec3 r))\n"
8372 " ())\n"
8373 " (signature mat4x3\n"
8374 " (parameters\n"
8375 " (declare (in) vec3 c)\n"
8376 " (declare (in) vec4 r))\n"
8377 " ()))\n"
8378 "(function transpose\n"
8379 " (signature mat2\n"
8380 " (parameters\n"
8381 " (declare (in) mat2 m))\n"
8382 " ())\n"
8383 " (signature mat3\n"
8384 " (parameters\n"
8385 " (declare (in) mat3 m))\n"
8386 " ())\n"
8387 " (signature mat4\n"
8388 " (parameters\n"
8389 " (declare (in) mat4 m))\n"
8390 " ())\n"
8391 " (signature mat2x3\n"
8392 " (parameters\n"
8393 " (declare (in) mat3x2 m))\n"
8394 " ())\n"
8395 " (signature mat3x2\n"
8396 " (parameters\n"
8397 " (declare (in) mat2x3 m))\n"
8398 " ())\n"
8399 " (signature mat2x4\n"
8400 " (parameters\n"
8401 " (declare (in) mat4x2 m))\n"
8402 " ())\n"
8403 " (signature mat4x2\n"
8404 " (parameters\n"
8405 " (declare (in) mat2x4 m))\n"
8406 " ())\n"
8407 " (signature mat3x4\n"
8408 " (parameters\n"
8409 " (declare (in) mat4x3 m))\n"
8410 " ())\n"
8411 " (signature mat4x3\n"
8412 " (parameters\n"
8413 " (declare (in) mat3x4 m))\n"
8414 " ()))\n"
8415 "(function lessThan\n"
8416 " (signature bvec2\n"
8417 " (parameters\n"
8418 " (declare (in) vec2 x)\n"
8419 " (declare (in) vec2 y))\n"
8420 " ())\n"
8421 " (signature bvec3\n"
8422 " (parameters\n"
8423 " (declare (in) vec3 x)\n"
8424 " (declare (in) vec3 y))\n"
8425 " ())\n"
8426 " (signature bvec4\n"
8427 " (parameters\n"
8428 " (declare (in) vec4 x)\n"
8429 " (declare (in) vec4 y))\n"
8430 " ())\n"
8431 " (signature bvec2\n"
8432 " (parameters\n"
8433 " (declare (in) ivec2 x)\n"
8434 " (declare (in) ivec2 y))\n"
8435 " ())\n"
8436 " (signature bvec3\n"
8437 " (parameters\n"
8438 " (declare (in) ivec3 x)\n"
8439 " (declare (in) ivec3 y))\n"
8440 " ())\n"
8441 " (signature bvec4\n"
8442 " (parameters\n"
8443 " (declare (in) ivec4 x)\n"
8444 " (declare (in) ivec4 y))\n"
8445 " ()))\n"
8446 "(function lessThanEqual\n"
8447 " (signature bvec2\n"
8448 " (parameters\n"
8449 " (declare (in) vec2 x)\n"
8450 " (declare (in) vec2 y))\n"
8451 " ())\n"
8452 " (signature bvec3\n"
8453 " (parameters\n"
8454 " (declare (in) vec3 x)\n"
8455 " (declare (in) vec3 y))\n"
8456 " ())\n"
8457 " (signature bvec4\n"
8458 " (parameters\n"
8459 " (declare (in) vec4 x)\n"
8460 " (declare (in) vec4 y))\n"
8461 " ())\n"
8462 " (signature bvec2\n"
8463 " (parameters\n"
8464 " (declare (in) ivec2 x)\n"
8465 " (declare (in) ivec2 y))\n"
8466 " ())\n"
8467 " (signature bvec3\n"
8468 " (parameters\n"
8469 " (declare (in) ivec3 x)\n"
8470 " (declare (in) ivec3 y))\n"
8471 " ())\n"
8472 " (signature bvec4\n"
8473 " (parameters\n"
8474 " (declare (in) ivec4 x)\n"
8475 " (declare (in) ivec4 y))\n"
8476 " ()))\n"
8477 "(function greaterThan\n"
8478 " (signature bvec2\n"
8479 " (parameters\n"
8480 " (declare (in) vec2 x)\n"
8481 " (declare (in) vec2 y))\n"
8482 " ())\n"
8483 " (signature bvec3\n"
8484 " (parameters\n"
8485 " (declare (in) vec3 x)\n"
8486 " (declare (in) vec3 y))\n"
8487 " ())\n"
8488 " (signature bvec4\n"
8489 " (parameters\n"
8490 " (declare (in) vec4 x)\n"
8491 " (declare (in) vec4 y))\n"
8492 " ())\n"
8493 " (signature bvec2\n"
8494 " (parameters\n"
8495 " (declare (in) ivec2 x)\n"
8496 " (declare (in) ivec2 y))\n"
8497 " ())\n"
8498 " (signature bvec3\n"
8499 " (parameters\n"
8500 " (declare (in) ivec3 x)\n"
8501 " (declare (in) ivec3 y))\n"
8502 " ())\n"
8503 " (signature bvec4\n"
8504 " (parameters\n"
8505 " (declare (in) ivec4 x)\n"
8506 " (declare (in) ivec4 y))\n"
8507 " ()))\n"
8508 "(function greaterThanEqual\n"
8509 " (signature bvec2\n"
8510 " (parameters\n"
8511 " (declare (in) vec2 x)\n"
8512 " (declare (in) vec2 y))\n"
8513 " ())\n"
8514 " (signature bvec3\n"
8515 " (parameters\n"
8516 " (declare (in) vec3 x)\n"
8517 " (declare (in) vec3 y))\n"
8518 " ())\n"
8519 " (signature bvec4\n"
8520 " (parameters\n"
8521 " (declare (in) vec4 x)\n"
8522 " (declare (in) vec4 y))\n"
8523 " ())\n"
8524 " (signature bvec2\n"
8525 " (parameters\n"
8526 " (declare (in) ivec2 x)\n"
8527 " (declare (in) ivec2 y))\n"
8528 " ())\n"
8529 " (signature bvec3\n"
8530 " (parameters\n"
8531 " (declare (in) ivec3 x)\n"
8532 " (declare (in) ivec3 y))\n"
8533 " ())\n"
8534 " (signature bvec4\n"
8535 " (parameters\n"
8536 " (declare (in) ivec4 x)\n"
8537 " (declare (in) ivec4 y))\n"
8538 " ()))\n"
8539 "(function equal\n"
8540 " (signature bvec2\n"
8541 " (parameters\n"
8542 " (declare (in) vec2 x)\n"
8543 " (declare (in) vec2 y))\n"
8544 " ())\n"
8545 " (signature bvec3\n"
8546 " (parameters\n"
8547 " (declare (in) vec3 x)\n"
8548 " (declare (in) vec3 y))\n"
8549 " ())\n"
8550 " (signature bvec4\n"
8551 " (parameters\n"
8552 " (declare (in) vec4 x)\n"
8553 " (declare (in) vec4 y))\n"
8554 " ())\n"
8555 " (signature bvec2\n"
8556 " (parameters\n"
8557 " (declare (in) ivec2 x)\n"
8558 " (declare (in) ivec2 y))\n"
8559 " ())\n"
8560 " (signature bvec3\n"
8561 " (parameters\n"
8562 " (declare (in) ivec3 x)\n"
8563 " (declare (in) ivec3 y))\n"
8564 " ())\n"
8565 " (signature bvec4\n"
8566 " (parameters\n"
8567 " (declare (in) ivec4 x)\n"
8568 " (declare (in) ivec4 y))\n"
8569 " ())\n"
8570 " (signature bvec2\n"
8571 " (parameters\n"
8572 " (declare (in) bvec2 x)\n"
8573 " (declare (in) bvec2 y))\n"
8574 " ())\n"
8575 " (signature bvec3\n"
8576 " (parameters\n"
8577 " (declare (in) bvec3 x)\n"
8578 " (declare (in) bvec3 y))\n"
8579 " ())\n"
8580 " (signature bvec4\n"
8581 " (parameters\n"
8582 " (declare (in) bvec4 x)\n"
8583 " (declare (in) bvec4 y))\n"
8584 " ()))\n"
8585 "(function notEqual\n"
8586 " (signature bvec2\n"
8587 " (parameters\n"
8588 " (declare (in) vec2 x)\n"
8589 " (declare (in) vec2 y))\n"
8590 " ())\n"
8591 " (signature bvec3\n"
8592 " (parameters\n"
8593 " (declare (in) vec3 x)\n"
8594 " (declare (in) vec3 y))\n"
8595 " ())\n"
8596 " (signature bvec4\n"
8597 " (parameters\n"
8598 " (declare (in) vec4 x)\n"
8599 " (declare (in) vec4 y))\n"
8600 " ())\n"
8601 " (signature bvec2\n"
8602 " (parameters\n"
8603 " (declare (in) ivec2 x)\n"
8604 " (declare (in) ivec2 y))\n"
8605 " ())\n"
8606 " (signature bvec3\n"
8607 " (parameters\n"
8608 " (declare (in) ivec3 x)\n"
8609 " (declare (in) ivec3 y))\n"
8610 " ())\n"
8611 " (signature bvec4\n"
8612 " (parameters\n"
8613 " (declare (in) ivec4 x)\n"
8614 " (declare (in) ivec4 y))\n"
8615 " ())\n"
8616 " (signature bvec2\n"
8617 " (parameters\n"
8618 " (declare (in) bvec2 x)\n"
8619 " (declare (in) bvec2 y))\n"
8620 " ())\n"
8621 " (signature bvec3\n"
8622 " (parameters\n"
8623 " (declare (in) bvec3 x)\n"
8624 " (declare (in) bvec3 y))\n"
8625 " ())\n"
8626 " (signature bvec4\n"
8627 " (parameters\n"
8628 " (declare (in) bvec4 x)\n"
8629 " (declare (in) bvec4 y))\n"
8630 " ()))\n"
8631 "(function any\n"
8632 " (signature bool\n"
8633 " (parameters\n"
8634 " (declare (in) bvec2 x))\n"
8635 " ())\n"
8636 " (signature bool\n"
8637 " (parameters\n"
8638 " (declare (in) bvec3 x))\n"
8639 " ())\n"
8640 " (signature bool\n"
8641 " (parameters\n"
8642 " (declare (in) bvec4 x))\n"
8643 " ()))\n"
8644 "(function all\n"
8645 " (signature bool\n"
8646 " (parameters\n"
8647 " (declare (in) bvec2 x))\n"
8648 " ())\n"
8649 " (signature bool\n"
8650 " (parameters\n"
8651 " (declare (in) bvec3 x))\n"
8652 " ())\n"
8653 " (signature bool\n"
8654 " (parameters\n"
8655 " (declare (in) bvec4 x))\n"
8656 " ()))\n"
8657 "(function not\n"
8658 " (signature bvec2\n"
8659 " (parameters\n"
8660 " (declare (in) bvec2 x))\n"
8661 " ())\n"
8662 " (signature bvec3\n"
8663 " (parameters\n"
8664 " (declare (in) bvec3 x))\n"
8665 " ())\n"
8666 " (signature bvec4\n"
8667 " (parameters\n"
8668 " (declare (in) bvec4 x))\n"
8669 " ()))\n"
8670 "(function texture1D\n"
8671 " (signature vec4\n"
8672 " (parameters\n"
8673 " (declare (in) sampler1D sampler)\n"
8674 " (declare (in) float coord))\n"
8675 " ())\n"
8676 " (signature vec4\n"
8677 " (parameters\n"
8678 " (declare (in) sampler1D sampler)\n"
8679 " (declare (in) float coord)\n"
8680 " (declare (in) float bias))\n"
8681 " ()))\n"
8682 "(function texture1DProj\n"
8683 " (signature vec4\n"
8684 " (parameters\n"
8685 " (declare (in) sampler1D sampler)\n"
8686 " (declare (in) vec2 coord))\n"
8687 " ())\n"
8688 " (signature vec4\n"
8689 " (parameters\n"
8690 " (declare (in) sampler1D sampler)\n"
8691 " (declare (in) vec4 coord))\n"
8692 " ())\n"
8693 " (signature vec4\n"
8694 " (parameters\n"
8695 " (declare (in) sampler1D sampler)\n"
8696 " (declare (in) vec2 coord)\n"
8697 " (declare (in) float bias))\n"
8698 " ())\n"
8699 " (signature vec4\n"
8700 " (parameters\n"
8701 " (declare (in) sampler1D sampler)\n"
8702 " (declare (in) vec4 coord)\n"
8703 " (declare (in) float bias))\n"
8704 " ()))\n"
8705 "(function texture2D\n"
8706 " (signature vec4\n"
8707 " (parameters\n"
8708 " (declare (in) sampler2D sampler)\n"
8709 " (declare (in) vec2 coord))\n"
8710 " ())\n"
8711 " (signature vec4\n"
8712 " (parameters\n"
8713 " (declare (in) sampler2D sampler)\n"
8714 " (declare (in) vec2 coord)\n"
8715 " (declare (in) float bias))\n"
8716 " ()))\n"
8717 "(function texture2DProj\n"
8718 " (signature vec4\n"
8719 " (parameters\n"
8720 " (declare (in) sampler2D sampler)\n"
8721 " (declare (in) vec3 coord))\n"
8722 " ())\n"
8723 " (signature vec4\n"
8724 " (parameters\n"
8725 " (declare (in) sampler2D sampler)\n"
8726 " (declare (in) vec4 coord))\n"
8727 " ())\n"
8728 " (signature vec4\n"
8729 " (parameters\n"
8730 " (declare (in) sampler2D sampler)\n"
8731 " (declare (in) vec3 coord)\n"
8732 " (declare (in) float bias))\n"
8733 " ())\n"
8734 " (signature vec4\n"
8735 " (parameters\n"
8736 " (declare (in) sampler2D sampler)\n"
8737 " (declare (in) vec4 coord)\n"
8738 " (declare (in) float bias))\n"
8739 " ()))\n"
8740 "(function texture3D\n"
8741 " (signature vec4\n"
8742 " (parameters\n"
8743 " (declare (in) sampler3D sampler)\n"
8744 " (declare (in) vec3 coord))\n"
8745 " ())\n"
8746 " (signature vec4\n"
8747 " (parameters\n"
8748 " (declare (in) sampler3D sampler)\n"
8749 " (declare (in) vec3 coord)\n"
8750 " (declare (in) float bias))\n"
8751 " ()))\n"
8752 "(function texture3DProj\n"
8753 " (signature vec4\n"
8754 " (parameters\n"
8755 " (declare (in) sampler3D sampler)\n"
8756 " (declare (in) vec4 coord))\n"
8757 " ())\n"
8758 " (signature vec4\n"
8759 " (parameters\n"
8760 " (declare (in) sampler3D sampler)\n"
8761 " (declare (in) vec4 coord)\n"
8762 " (declare (in) float bias))\n"
8763 " ()))\n"
8764 "(function textureCube\n"
8765 " (signature vec4\n"
8766 " (parameters\n"
8767 " (declare (in) samplerCube sampler)\n"
8768 " (declare (in) vec3 coord))\n"
8769 " ())\n"
8770 " (signature vec4\n"
8771 " (parameters\n"
8772 " (declare (in) samplerCube sampler)\n"
8773 " (declare (in) vec3 coord)\n"
8774 " (declare (in) float bias))\n"
8775 " ()))\n"
8776 "(function shadow1D\n"
8777 " (signature vec4\n"
8778 " (parameters\n"
8779 " (declare (in) sampler1DShadow sampler)\n"
8780 " (declare (in) vec3 coord))\n"
8781 " ())\n"
8782 " (signature vec4\n"
8783 " (parameters\n"
8784 " (declare (in) sampler1DShadow sampler)\n"
8785 " (declare (in) vec3 coord)\n"
8786 " (declare (in) float bias))\n"
8787 " ()))\n"
8788 "(function shadow2D\n"
8789 " (signature vec4\n"
8790 " (parameters\n"
8791 " (declare (in) sampler2DShadow sampler)\n"
8792 " (declare (in) vec3 coord))\n"
8793 " ())\n"
8794 " (signature vec4\n"
8795 " (parameters\n"
8796 " (declare (in) sampler2DShadow sampler)\n"
8797 " (declare (in) vec3 coord)\n"
8798 " (declare (in) float bias))\n"
8799 " ()))\n"
8800 "(function shadow1DProj\n"
8801 " (signature vec4\n"
8802 " (parameters\n"
8803 " (declare (in) sampler1DShadow sampler)\n"
8804 " (declare (in) vec4 coord))\n"
8805 " ())\n"
8806 " (signature vec4\n"
8807 " (parameters\n"
8808 " (declare (in) sampler1DShadow sampler)\n"
8809 " (declare (in) vec4 coord)\n"
8810 " (declare (in) float bias))\n"
8811 " ()))\n"
8812 "(function shadow2DProj\n"
8813 " (signature vec4\n"
8814 " (parameters\n"
8815 " (declare (in) sampler2DShadow sampler)\n"
8816 " (declare (in) vec4 coord))\n"
8817 " ())\n"
8818 " (signature vec4\n"
8819 " (parameters\n"
8820 " (declare (in) sampler2DShadow sampler)\n"
8821 " (declare (in) vec4 coord)\n"
8822 " (declare (in) float bias))\n"
8823 " ()))\n"
8824 "(function dFdx\n"
8825 " (signature float\n"
8826 " (parameters\n"
8827 " (declare (in) float p))\n"
8828 " ())\n"
8829 " (signature vec2\n"
8830 " (parameters\n"
8831 " (declare (in) vec2 p))\n"
8832 " ())\n"
8833 " (signature vec3\n"
8834 " (parameters\n"
8835 " (declare (in) vec3 p))\n"
8836 " ())\n"
8837 " (signature vec4\n"
8838 " (parameters\n"
8839 " (declare (in) vec4 p))\n"
8840 " ()))\n"
8841 "(function dFdy\n"
8842 " (signature float\n"
8843 " (parameters\n"
8844 " (declare (in) float p))\n"
8845 " ())\n"
8846 " (signature vec2\n"
8847 " (parameters\n"
8848 " (declare (in) vec2 p))\n"
8849 " ())\n"
8850 " (signature vec3\n"
8851 " (parameters\n"
8852 " (declare (in) vec3 p))\n"
8853 " ())\n"
8854 " (signature vec4\n"
8855 " (parameters\n"
8856 " (declare (in) vec4 p))\n"
8857 " ()))\n"
8858 "(function fwidth\n"
8859 " (signature float\n"
8860 " (parameters\n"
8861 " (declare (in) float p))\n"
8862 " ())\n"
8863 " (signature vec2\n"
8864 " (parameters\n"
8865 " (declare (in) vec2 p))\n"
8866 " ())\n"
8867 " (signature vec3\n"
8868 " (parameters\n"
8869 " (declare (in) vec3 p))\n"
8870 " ())\n"
8871 " (signature vec4\n"
8872 " (parameters\n"
8873 " (declare (in) vec4 p))\n"
8874 " ()))\n"
8875 "(function noise1\n"
8876 " (signature float\n"
8877 " (parameters\n"
8878 " (declare (in) float x))\n"
8879 " ())\n"
8880 " (signature float\n"
8881 " (parameters\n"
8882 " (declare (in) vec2 x))\n"
8883 " ())\n"
8884 " (signature float\n"
8885 " (parameters\n"
8886 " (declare (in) vec3 x))\n"
8887 " ())\n"
8888 " (signature float\n"
8889 " (parameters\n"
8890 " (declare (in) vec4 x))\n"
8891 " ()))\n"
8892 "(function noise2\n"
8893 " (signature vec2\n"
8894 " (parameters\n"
8895 " (declare (in) float x))\n"
8896 " ())\n"
8897 " (signature vec2\n"
8898 " (parameters\n"
8899 " (declare (in) vec2 x))\n"
8900 " ())\n"
8901 " (signature vec2\n"
8902 " (parameters\n"
8903 " (declare (in) vec3 x))\n"
8904 " ())\n"
8905 " (signature vec2\n"
8906 " (parameters\n"
8907 " (declare (in) vec4 x))\n"
8908 " ()))\n"
8909 "(function noise3\n"
8910 " (signature vec3\n"
8911 " (parameters\n"
8912 " (declare (in) float x))\n"
8913 " ())\n"
8914 " (signature vec3\n"
8915 " (parameters\n"
8916 " (declare (in) vec2 x))\n"
8917 " ())\n"
8918 " (signature vec3\n"
8919 " (parameters\n"
8920 " (declare (in) vec3 x))\n"
8921 " ())\n"
8922 " (signature vec3\n"
8923 " (parameters\n"
8924 " (declare (in) vec4 x))\n"
8925 " ()))\n"
8926 "(function noise4\n"
8927 " (signature vec4\n"
8928 " (parameters\n"
8929 " (declare (in) float x))\n"
8930 " ())\n"
8931 " (signature vec4\n"
8932 " (parameters\n"
8933 " (declare (in) vec2 x))\n"
8934 " ())\n"
8935 " (signature vec4\n"
8936 " (parameters\n"
8937 " (declare (in) vec3 x))\n"
8938 " ())\n"
8939 " (signature vec4\n"
8940 " (parameters\n"
8941 " (declare (in) vec4 x))\n"
8942 " ())))"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008943;
Eric Anholt47003a82010-08-23 12:39:35 -07008944static const char *functions_for_120_frag [] = {
8945 builtin_abs,
8946 builtin_acos,
8947 builtin_all,
8948 builtin_any,
8949 builtin_asin,
8950 builtin_atan,
8951 builtin_ceil,
8952 builtin_clamp,
8953 builtin_cos,
8954 builtin_cross,
8955 builtin_dFdx,
8956 builtin_dFdy,
8957 builtin_degrees,
8958 builtin_distance,
8959 builtin_dot,
8960 builtin_equal,
8961 builtin_exp,
8962 builtin_exp2,
8963 builtin_faceforward,
8964 builtin_floor,
8965 builtin_fract,
8966 builtin_fwidth,
8967 builtin_greaterThan,
8968 builtin_greaterThanEqual,
8969 builtin_inversesqrt,
8970 builtin_length,
8971 builtin_lessThan,
8972 builtin_lessThanEqual,
8973 builtin_log,
8974 builtin_log2,
8975 builtin_matrixCompMult,
8976 builtin_max,
8977 builtin_min,
8978 builtin_mix,
8979 builtin_mod,
8980 builtin_noise1,
8981 builtin_noise2,
8982 builtin_noise3,
8983 builtin_noise4,
8984 builtin_normalize,
8985 builtin_not,
8986 builtin_notEqual,
8987 builtin_outerProduct,
8988 builtin_pow,
8989 builtin_radians,
8990 builtin_reflect,
8991 builtin_refract,
8992 builtin_shadow1D,
8993 builtin_shadow1DProj,
8994 builtin_shadow2D,
8995 builtin_shadow2DProj,
8996 builtin_sign,
8997 builtin_sin,
8998 builtin_smoothstep,
8999 builtin_sqrt,
9000 builtin_step,
9001 builtin_tan,
9002 builtin_texture1D,
9003 builtin_texture1DProj,
9004 builtin_texture2D,
9005 builtin_texture2DProj,
9006 builtin_texture3D,
9007 builtin_texture3DProj,
9008 builtin_textureCube,
9009 builtin_transpose,
9010};
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009011static const char *prototypes_for_120_vert =
9012 "(\n"
9013 "(function radians\n"
9014 " (signature float\n"
9015 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009016 " (declare (in) float degrees))\n"
9017 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009018 " (signature vec2\n"
9019 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009020 " (declare (in) vec2 degrees))\n"
9021 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009022 " (signature vec3\n"
9023 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009024 " (declare (in) vec3 degrees))\n"
9025 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009026 " (signature vec4\n"
9027 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009028 " (declare (in) vec4 degrees))\n"
9029 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009030 "(function degrees\n"
9031 " (signature float\n"
9032 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009033 " (declare (in) float radians))\n"
9034 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009035 " (signature vec2\n"
9036 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009037 " (declare (in) vec2 radians))\n"
9038 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009039 " (signature vec3\n"
9040 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009041 " (declare (in) vec3 radians))\n"
9042 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009043 " (signature vec4\n"
9044 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009045 " (declare (in) vec4 radians))\n"
9046 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009047 "(function sin\n"
9048 " (signature float\n"
9049 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009050 " (declare (in) float angle))\n"
9051 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009052 " (signature vec2\n"
9053 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009054 " (declare (in) vec2 angle))\n"
9055 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009056 " (signature vec3\n"
9057 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009058 " (declare (in) vec3 angle))\n"
9059 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009060 " (signature vec4\n"
9061 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009062 " (declare (in) vec4 angle))\n"
9063 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009064 "(function cos\n"
9065 " (signature float\n"
9066 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009067 " (declare (in) float angle))\n"
9068 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009069 " (signature vec2\n"
9070 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009071 " (declare (in) vec2 angle))\n"
9072 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009073 " (signature vec3\n"
9074 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009075 " (declare (in) vec3 angle))\n"
9076 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009077 " (signature vec4\n"
9078 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009079 " (declare (in) vec4 angle))\n"
9080 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009081 "(function tan\n"
9082 " (signature float\n"
9083 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009084 " (declare (in) float angle))\n"
9085 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009086 " (signature vec2\n"
9087 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009088 " (declare (in) vec2 angle))\n"
9089 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009090 " (signature vec3\n"
9091 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009092 " (declare (in) vec3 angle))\n"
9093 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009094 " (signature vec4\n"
9095 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009096 " (declare (in) vec4 angle))\n"
9097 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009098 "(function asin\n"
9099 " (signature float\n"
9100 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009101 " (declare (in) float angle))\n"
9102 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009103 " (signature vec2\n"
9104 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009105 " (declare (in) vec2 angle))\n"
9106 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009107 " (signature vec3\n"
9108 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009109 " (declare (in) vec3 angle))\n"
9110 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009111 " (signature vec4\n"
9112 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009113 " (declare (in) vec4 angle))\n"
9114 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009115 "(function acos\n"
9116 " (signature float\n"
9117 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009118 " (declare (in) float angle))\n"
9119 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009120 " (signature vec2\n"
9121 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009122 " (declare (in) vec2 angle))\n"
9123 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009124 " (signature vec3\n"
9125 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009126 " (declare (in) vec3 angle))\n"
9127 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009128 " (signature vec4\n"
9129 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009130 " (declare (in) vec4 angle))\n"
9131 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009132 "(function atan\n"
9133 " (signature float\n"
9134 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009135 " (declare (in) float y)\n"
9136 " (declare (in) float x))\n"
9137 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009138 " (signature vec2\n"
9139 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009140 " (declare (in) vec2 y)\n"
9141 " (declare (in) vec2 x))\n"
9142 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009143 " (signature vec3\n"
9144 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009145 " (declare (in) vec3 y)\n"
9146 " (declare (in) vec3 x))\n"
9147 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009148 " (signature vec4\n"
9149 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009150 " (declare (in) vec4 y)\n"
9151 " (declare (in) vec4 x))\n"
9152 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009153 " (signature float\n"
9154 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009155 " (declare (in) float y_over_x))\n"
9156 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009157 " (signature vec2\n"
9158 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009159 " (declare (in) vec2 y_over_x))\n"
9160 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009161 " (signature vec3\n"
9162 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009163 " (declare (in) vec3 y_over_x))\n"
9164 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009165 " (signature vec4\n"
9166 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009167 " (declare (in) vec4 y_over_x))\n"
9168 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009169 "(function pow\n"
9170 " (signature float\n"
9171 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009172 " (declare (in) float x)\n"
9173 " (declare (in) float y))\n"
9174 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009175 " (signature vec2\n"
9176 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009177 " (declare (in) vec2 x)\n"
9178 " (declare (in) vec2 y))\n"
9179 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009180 " (signature vec3\n"
9181 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009182 " (declare (in) vec3 x)\n"
9183 " (declare (in) vec3 y))\n"
9184 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009185 " (signature vec4\n"
9186 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009187 " (declare (in) vec4 x)\n"
9188 " (declare (in) vec4 y))\n"
9189 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009190 "(function exp\n"
9191 " (signature float\n"
9192 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009193 " (declare (in) float x))\n"
9194 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009195 " (signature vec2\n"
9196 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009197 " (declare (in) vec2 x))\n"
9198 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009199 " (signature vec3\n"
9200 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009201 " (declare (in) vec3 x))\n"
9202 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009203 " (signature vec4\n"
9204 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009205 " (declare (in) vec4 x))\n"
9206 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009207 "(function log\n"
9208 " (signature float\n"
9209 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009210 " (declare (in) float x))\n"
9211 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009212 " (signature vec2\n"
9213 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009214 " (declare (in) vec2 x))\n"
9215 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009216 " (signature vec3\n"
9217 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009218 " (declare (in) vec3 x))\n"
9219 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009220 " (signature vec4\n"
9221 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009222 " (declare (in) vec4 x))\n"
9223 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009224 "(function exp2\n"
9225 " (signature float\n"
9226 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009227 " (declare (in) float x))\n"
9228 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009229 " (signature vec2\n"
9230 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009231 " (declare (in) vec2 x))\n"
9232 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009233 " (signature vec3\n"
9234 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009235 " (declare (in) vec3 x))\n"
9236 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009237 " (signature vec4\n"
9238 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009239 " (declare (in) vec4 x))\n"
9240 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009241 "(function log2\n"
9242 " (signature float\n"
9243 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009244 " (declare (in) float x))\n"
9245 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009246 " (signature vec2\n"
9247 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009248 " (declare (in) vec2 x))\n"
9249 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009250 " (signature vec3\n"
9251 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009252 " (declare (in) vec3 x))\n"
9253 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009254 " (signature vec4\n"
9255 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009256 " (declare (in) vec4 x))\n"
9257 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009258 "(function sqrt\n"
9259 " (signature float\n"
9260 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009261 " (declare (in) float x))\n"
9262 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009263 " (signature vec2\n"
9264 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009265 " (declare (in) vec2 x))\n"
9266 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009267 " (signature vec3\n"
9268 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009269 " (declare (in) vec3 x))\n"
9270 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009271 " (signature vec4\n"
9272 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009273 " (declare (in) vec4 x))\n"
9274 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009275 "(function inversesqrt\n"
9276 " (signature float\n"
9277 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009278 " (declare (in) float x))\n"
9279 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009280 " (signature vec2\n"
9281 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009282 " (declare (in) vec2 x))\n"
9283 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009284 " (signature vec3\n"
9285 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009286 " (declare (in) vec3 x))\n"
9287 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009288 " (signature vec4\n"
9289 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009290 " (declare (in) vec4 x))\n"
9291 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009292 "(function abs\n"
9293 " (signature float\n"
9294 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009295 " (declare (in) float x))\n"
9296 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009297 " (signature vec2\n"
9298 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009299 " (declare (in) vec2 x))\n"
9300 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009301 " (signature vec3\n"
9302 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009303 " (declare (in) vec3 x))\n"
9304 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009305 " (signature vec4\n"
9306 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009307 " (declare (in) vec4 x))\n"
9308 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009309 "(function sign\n"
9310 " (signature float\n"
9311 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009312 " (declare (in) float x))\n"
9313 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009314 " (signature vec2\n"
9315 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009316 " (declare (in) vec2 x))\n"
9317 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009318 " (signature vec3\n"
9319 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009320 " (declare (in) vec3 x))\n"
9321 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009322 " (signature vec4\n"
9323 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009324 " (declare (in) vec4 x))\n"
9325 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009326 "(function floor\n"
9327 " (signature float\n"
9328 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009329 " (declare (in) float x))\n"
9330 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009331 " (signature vec2\n"
9332 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009333 " (declare (in) vec2 x))\n"
9334 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009335 " (signature vec3\n"
9336 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009337 " (declare (in) vec3 x))\n"
9338 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009339 " (signature vec4\n"
9340 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009341 " (declare (in) vec4 x))\n"
9342 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009343 "(function ceil\n"
9344 " (signature float\n"
9345 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009346 " (declare (in) float x))\n"
9347 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009348 " (signature vec2\n"
9349 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009350 " (declare (in) vec2 x))\n"
9351 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009352 " (signature vec3\n"
9353 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009354 " (declare (in) vec3 x))\n"
9355 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009356 " (signature vec4\n"
9357 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009358 " (declare (in) vec4 x))\n"
9359 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009360 "(function fract\n"
9361 " (signature float\n"
9362 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009363 " (declare (in) float x))\n"
9364 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009365 " (signature vec2\n"
9366 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009367 " (declare (in) vec2 x))\n"
9368 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009369 " (signature vec3\n"
9370 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009371 " (declare (in) vec3 x))\n"
9372 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009373 " (signature vec4\n"
9374 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009375 " (declare (in) vec4 x))\n"
9376 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009377 "(function mod\n"
9378 " (signature float\n"
9379 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009380 " (declare (in) float x)\n"
9381 " (declare (in) float y))\n"
9382 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009383 " (signature vec2\n"
9384 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009385 " (declare (in) vec2 x)\n"
9386 " (declare (in) float y))\n"
9387 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009388 " (signature vec3\n"
9389 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009390 " (declare (in) vec3 x)\n"
9391 " (declare (in) float y))\n"
9392 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009393 " (signature vec4\n"
9394 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009395 " (declare (in) vec4 x)\n"
9396 " (declare (in) float y))\n"
9397 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009398 " (signature vec2\n"
9399 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009400 " (declare (in) vec2 x)\n"
9401 " (declare (in) vec2 y))\n"
9402 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009403 " (signature vec3\n"
9404 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009405 " (declare (in) vec3 x)\n"
9406 " (declare (in) vec3 y))\n"
9407 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009408 " (signature vec4\n"
9409 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009410 " (declare (in) vec4 x)\n"
9411 " (declare (in) vec4 y))\n"
9412 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009413 "(function min\n"
9414 " (signature float\n"
9415 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009416 " (declare (in) float x)\n"
9417 " (declare (in) float y))\n"
9418 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009419 " (signature vec2\n"
9420 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009421 " (declare (in) vec2 x)\n"
9422 " (declare (in) vec2 y))\n"
9423 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009424 " (signature vec3\n"
9425 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009426 " (declare (in) vec3 x)\n"
9427 " (declare (in) vec3 y))\n"
9428 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009429 " (signature vec4\n"
9430 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009431 " (declare (in) vec4 x)\n"
9432 " (declare (in) vec4 y))\n"
9433 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009434 " (signature vec2\n"
9435 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009436 " (declare (in) vec2 x)\n"
9437 " (declare (in) float y))\n"
9438 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009439 " (signature vec3\n"
9440 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009441 " (declare (in) vec3 x)\n"
9442 " (declare (in) float y))\n"
9443 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009444 " (signature vec4\n"
9445 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009446 " (declare (in) vec4 x)\n"
9447 " (declare (in) float y))\n"
9448 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009449 "(function max\n"
9450 " (signature float\n"
9451 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009452 " (declare (in) float x)\n"
9453 " (declare (in) float y))\n"
9454 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009455 " (signature vec2\n"
9456 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009457 " (declare (in) vec2 x)\n"
9458 " (declare (in) vec2 y))\n"
9459 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009460 " (signature vec3\n"
9461 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009462 " (declare (in) vec3 x)\n"
9463 " (declare (in) vec3 y))\n"
9464 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009465 " (signature vec4\n"
9466 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009467 " (declare (in) vec4 x)\n"
9468 " (declare (in) vec4 y))\n"
9469 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009470 " (signature vec2\n"
9471 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009472 " (declare (in) vec2 x)\n"
9473 " (declare (in) float y))\n"
9474 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009475 " (signature vec3\n"
9476 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009477 " (declare (in) vec3 x)\n"
9478 " (declare (in) float y))\n"
9479 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009480 " (signature vec4\n"
9481 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009482 " (declare (in) vec4 x)\n"
9483 " (declare (in) float y))\n"
9484 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009485 "(function clamp\n"
9486 " (signature float\n"
9487 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009488 " (declare (in) float x)\n"
9489 " (declare (in) float minVal)\n"
9490 " (declare (in) float maxVal))\n"
9491 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009492 " (signature vec2\n"
9493 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009494 " (declare (in) vec2 x)\n"
9495 " (declare (in) vec2 minVal)\n"
9496 " (declare (in) vec2 maxVal))\n"
9497 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009498 " (signature vec3\n"
9499 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009500 " (declare (in) vec3 x)\n"
9501 " (declare (in) vec3 minVal)\n"
9502 " (declare (in) vec3 maxVal))\n"
9503 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009504 " (signature vec4\n"
9505 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009506 " (declare (in) vec4 x)\n"
9507 " (declare (in) vec4 minVal)\n"
9508 " (declare (in) vec4 maxVal))\n"
9509 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009510 " (signature vec2\n"
9511 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009512 " (declare (in) vec2 x)\n"
9513 " (declare (in) float minVal)\n"
9514 " (declare (in) float maxVal))\n"
9515 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009516 " (signature vec3\n"
9517 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009518 " (declare (in) vec3 x)\n"
9519 " (declare (in) float minVal)\n"
9520 " (declare (in) float maxVal))\n"
9521 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009522 " (signature vec4\n"
9523 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009524 " (declare (in) vec4 x)\n"
9525 " (declare (in) float minVal)\n"
9526 " (declare (in) float maxVal))\n"
9527 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009528 "(function mix\n"
9529 " (signature float\n"
9530 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009531 " (declare (in) float x)\n"
9532 " (declare (in) float y)\n"
9533 " (declare (in) float a))\n"
9534 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009535 " (signature vec2\n"
9536 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009537 " (declare (in) vec2 x)\n"
9538 " (declare (in) vec2 y)\n"
9539 " (declare (in) vec2 a))\n"
9540 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009541 " (signature vec3\n"
9542 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009543 " (declare (in) vec3 x)\n"
9544 " (declare (in) vec3 y)\n"
9545 " (declare (in) vec3 a))\n"
9546 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009547 " (signature vec4\n"
9548 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009549 " (declare (in) vec4 x)\n"
9550 " (declare (in) vec4 y)\n"
9551 " (declare (in) vec4 a))\n"
9552 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009553 " (signature vec2\n"
9554 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009555 " (declare (in) vec2 x)\n"
9556 " (declare (in) vec2 y)\n"
9557 " (declare (in) float a))\n"
9558 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009559 " (signature vec3\n"
9560 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009561 " (declare (in) vec3 x)\n"
9562 " (declare (in) vec3 y)\n"
9563 " (declare (in) float a))\n"
9564 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009565 " (signature vec4\n"
9566 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009567 " (declare (in) vec4 x)\n"
9568 " (declare (in) vec4 y)\n"
9569 " (declare (in) float a))\n"
9570 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009571 "(function step\n"
9572 " (signature float\n"
9573 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009574 " (declare (in) float edge)\n"
9575 " (declare (in) float x))\n"
9576 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009577 " (signature vec2\n"
9578 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009579 " (declare (in) vec2 edge)\n"
9580 " (declare (in) vec2 x))\n"
9581 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009582 " (signature vec3\n"
9583 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009584 " (declare (in) vec3 edge)\n"
9585 " (declare (in) vec3 x))\n"
9586 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009587 " (signature vec4\n"
9588 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009589 " (declare (in) vec4 edge)\n"
9590 " (declare (in) vec4 x))\n"
9591 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009592 " (signature vec2\n"
9593 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009594 " (declare (in) float edge)\n"
9595 " (declare (in) vec2 x))\n"
9596 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009597 " (signature vec3\n"
9598 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009599 " (declare (in) float edge)\n"
9600 " (declare (in) vec3 x))\n"
9601 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009602 " (signature vec4\n"
9603 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009604 " (declare (in) float edge)\n"
9605 " (declare (in) vec4 x))\n"
9606 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009607 "(function smoothstep\n"
9608 " (signature float\n"
9609 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009610 " (declare (in) float edge0)\n"
9611 " (declare (in) float edge1)\n"
9612 " (declare (in) float x))\n"
9613 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009614 " (signature vec2\n"
9615 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009616 " (declare (in) vec2 edge0)\n"
9617 " (declare (in) vec2 edge1)\n"
9618 " (declare (in) vec2 x))\n"
9619 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009620 " (signature vec3\n"
9621 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009622 " (declare (in) vec3 edge0)\n"
9623 " (declare (in) vec3 edge1)\n"
9624 " (declare (in) vec3 x))\n"
9625 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009626 " (signature vec4\n"
9627 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009628 " (declare (in) vec4 edge0)\n"
9629 " (declare (in) vec4 edge1)\n"
9630 " (declare (in) vec4 x))\n"
9631 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009632 " (signature vec2\n"
9633 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009634 " (declare (in) float edge0)\n"
9635 " (declare (in) float edge1)\n"
9636 " (declare (in) vec2 x))\n"
9637 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009638 " (signature vec3\n"
9639 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009640 " (declare (in) float edge0)\n"
9641 " (declare (in) float edge1)\n"
9642 " (declare (in) vec3 x))\n"
9643 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009644 " (signature vec4\n"
9645 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009646 " (declare (in) float edge0)\n"
9647 " (declare (in) float edge1)\n"
9648 " (declare (in) vec4 x))\n"
9649 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009650 "(function length\n"
9651 " (signature float\n"
9652 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009653 " (declare (in) float x))\n"
9654 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009655 " (signature float\n"
9656 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009657 " (declare (in) vec2 x))\n"
9658 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009659 " (signature float\n"
9660 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009661 " (declare (in) vec3 x))\n"
9662 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009663 " (signature float\n"
9664 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009665 " (declare (in) vec4 x))\n"
9666 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009667 "(function distance\n"
9668 " (signature float\n"
9669 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009670 " (declare (in) float p0)\n"
9671 " (declare (in) float p1))\n"
9672 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009673 " (signature float\n"
9674 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009675 " (declare (in) vec2 p0)\n"
9676 " (declare (in) vec2 p1))\n"
9677 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009678 " (signature float\n"
9679 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009680 " (declare (in) vec3 p0)\n"
9681 " (declare (in) vec3 p1))\n"
9682 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009683 " (signature float\n"
9684 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009685 " (declare (in) vec4 p0)\n"
9686 " (declare (in) vec4 p1))\n"
9687 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009688 "(function dot\n"
9689 " (signature float\n"
9690 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009691 " (declare (in) float x)\n"
9692 " (declare (in) float y))\n"
9693 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009694 " (signature float\n"
9695 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009696 " (declare (in) vec2 x)\n"
9697 " (declare (in) vec2 y))\n"
9698 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009699 " (signature float\n"
9700 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009701 " (declare (in) vec3 x)\n"
9702 " (declare (in) vec3 y))\n"
9703 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009704 " (signature float\n"
9705 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009706 " (declare (in) vec4 x)\n"
9707 " (declare (in) vec4 y))\n"
9708 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009709 "(function cross\n"
9710 " (signature vec3\n"
9711 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009712 " (declare (in) vec3 x)\n"
9713 " (declare (in) vec3 y))\n"
9714 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009715 "(function normalize\n"
9716 " (signature float\n"
9717 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009718 " (declare (in) float x))\n"
9719 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009720 " (signature vec2\n"
9721 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009722 " (declare (in) vec2 x))\n"
9723 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009724 " (signature vec3\n"
9725 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009726 " (declare (in) vec3 x))\n"
9727 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009728 " (signature vec4\n"
9729 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009730 " (declare (in) vec4 x))\n"
9731 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009732 "(function ftransform\n"
9733 " (signature vec4\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009734 " (parameters)\n"
9735 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009736 "(function faceforward\n"
9737 " (signature float\n"
9738 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009739 " (declare (in) float N)\n"
9740 " (declare (in) float I)\n"
9741 " (declare (in) float Nref))\n"
9742 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009743 " (signature vec2\n"
9744 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009745 " (declare (in) vec2 N)\n"
9746 " (declare (in) vec2 I)\n"
9747 " (declare (in) vec2 Nref))\n"
9748 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009749 " (signature vec3\n"
9750 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009751 " (declare (in) vec3 N)\n"
9752 " (declare (in) vec3 I)\n"
9753 " (declare (in) vec3 Nref))\n"
9754 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009755 " (signature vec4\n"
9756 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009757 " (declare (in) vec4 N)\n"
9758 " (declare (in) vec4 I)\n"
9759 " (declare (in) vec4 Nref))\n"
9760 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009761 "(function reflect\n"
9762 " (signature float\n"
9763 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009764 " (declare (in) float I)\n"
9765 " (declare (in) float N))\n"
9766 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009767 " (signature vec2\n"
9768 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009769 " (declare (in) vec2 I)\n"
9770 " (declare (in) vec2 N))\n"
9771 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009772 " (signature vec3\n"
9773 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009774 " (declare (in) vec3 I)\n"
9775 " (declare (in) vec3 N))\n"
9776 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009777 " (signature vec4\n"
9778 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009779 " (declare (in) vec4 I)\n"
9780 " (declare (in) vec4 N))\n"
9781 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009782 "(function refract\n"
9783 " (signature float\n"
9784 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009785 " (declare (in) float I)\n"
9786 " (declare (in) float N)\n"
9787 " (declare (in) float eta))\n"
9788 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009789 " (signature vec2\n"
9790 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009791 " (declare (in) vec2 I)\n"
9792 " (declare (in) vec2 N)\n"
9793 " (declare (in) float eta))\n"
9794 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009795 " (signature vec3\n"
9796 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009797 " (declare (in) vec3 I)\n"
9798 " (declare (in) vec3 N)\n"
9799 " (declare (in) float eta))\n"
9800 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009801 " (signature vec4\n"
9802 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009803 " (declare (in) vec4 I)\n"
9804 " (declare (in) vec4 N)\n"
9805 " (declare (in) float eta))\n"
9806 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009807 "(function matrixCompMult\n"
9808 " (signature mat2\n"
9809 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009810 " (declare (in) mat2 x)\n"
9811 " (declare (in) mat2 y))\n"
9812 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009813 " (signature mat3\n"
9814 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009815 " (declare (in) mat3 x)\n"
9816 " (declare (in) mat3 y))\n"
9817 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009818 " (signature mat4\n"
9819 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009820 " (declare (in) mat4 x)\n"
9821 " (declare (in) mat4 y))\n"
9822 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009823 " (signature mat2x3\n"
9824 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009825 " (declare (in) mat2x3 x)\n"
9826 " (declare (in) mat2x3 y))\n"
9827 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009828 " (signature mat2x4\n"
9829 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009830 " (declare (in) mat2x4 x)\n"
9831 " (declare (in) mat2x4 y))\n"
9832 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009833 " (signature mat3x2\n"
9834 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009835 " (declare (in) mat3x2 x)\n"
9836 " (declare (in) mat3x2 y))\n"
9837 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009838 " (signature mat3x4\n"
9839 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009840 " (declare (in) mat3x4 x)\n"
9841 " (declare (in) mat3x4 y))\n"
9842 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009843 " (signature mat4x2\n"
9844 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009845 " (declare (in) mat4x2 x)\n"
9846 " (declare (in) mat4x2 y))\n"
9847 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009848 " (signature mat4x3\n"
9849 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009850 " (declare (in) mat4x3 x)\n"
9851 " (declare (in) mat4x3 y))\n"
9852 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009853 "(function outerProduct\n"
9854 " (signature mat2\n"
9855 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009856 " (declare (in) vec2 c)\n"
9857 " (declare (in) vec2 r))\n"
9858 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009859 " (signature mat3\n"
9860 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009861 " (declare (in) vec3 c)\n"
9862 " (declare (in) vec3 r))\n"
9863 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009864 " (signature mat4\n"
9865 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009866 " (declare (in) vec4 c)\n"
9867 " (declare (in) vec4 r))\n"
9868 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009869 " (signature mat2x3\n"
9870 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009871 " (declare (in) vec3 c)\n"
9872 " (declare (in) vec2 r))\n"
9873 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009874 " (signature mat3x2\n"
9875 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009876 " (declare (in) vec2 c)\n"
9877 " (declare (in) vec3 r))\n"
9878 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009879 " (signature mat2x4\n"
9880 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009881 " (declare (in) vec4 c)\n"
9882 " (declare (in) vec2 r))\n"
9883 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009884 " (signature mat4x2\n"
9885 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009886 " (declare (in) vec2 c)\n"
9887 " (declare (in) vec4 r))\n"
9888 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009889 " (signature mat3x4\n"
9890 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009891 " (declare (in) vec4 c)\n"
9892 " (declare (in) vec3 r))\n"
9893 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009894 " (signature mat4x3\n"
9895 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009896 " (declare (in) vec3 c)\n"
9897 " (declare (in) vec4 r))\n"
9898 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009899 "(function transpose\n"
9900 " (signature mat2\n"
9901 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009902 " (declare (in) mat2 m))\n"
9903 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009904 " (signature mat3\n"
9905 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009906 " (declare (in) mat3 m))\n"
9907 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009908 " (signature mat4\n"
9909 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009910 " (declare (in) mat4 m))\n"
9911 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009912 " (signature mat2x3\n"
9913 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009914 " (declare (in) mat3x2 m))\n"
9915 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009916 " (signature mat3x2\n"
9917 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009918 " (declare (in) mat2x3 m))\n"
9919 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009920 " (signature mat2x4\n"
9921 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009922 " (declare (in) mat4x2 m))\n"
9923 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009924 " (signature mat4x2\n"
9925 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009926 " (declare (in) mat2x4 m))\n"
9927 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009928 " (signature mat3x4\n"
9929 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009930 " (declare (in) mat4x3 m))\n"
9931 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009932 " (signature mat4x3\n"
9933 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009934 " (declare (in) mat3x4 m))\n"
9935 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009936 "(function lessThan\n"
9937 " (signature bvec2\n"
9938 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009939 " (declare (in) vec2 x)\n"
9940 " (declare (in) vec2 y))\n"
9941 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009942 " (signature bvec3\n"
9943 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009944 " (declare (in) vec3 x)\n"
9945 " (declare (in) vec3 y))\n"
9946 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009947 " (signature bvec4\n"
9948 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009949 " (declare (in) vec4 x)\n"
9950 " (declare (in) vec4 y))\n"
9951 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009952 " (signature bvec2\n"
9953 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009954 " (declare (in) ivec2 x)\n"
9955 " (declare (in) ivec2 y))\n"
9956 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009957 " (signature bvec3\n"
9958 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009959 " (declare (in) ivec3 x)\n"
9960 " (declare (in) ivec3 y))\n"
9961 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009962 " (signature bvec4\n"
9963 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009964 " (declare (in) ivec4 x)\n"
9965 " (declare (in) ivec4 y))\n"
9966 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009967 "(function lessThanEqual\n"
9968 " (signature bvec2\n"
9969 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009970 " (declare (in) vec2 x)\n"
9971 " (declare (in) vec2 y))\n"
9972 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009973 " (signature bvec3\n"
9974 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009975 " (declare (in) vec3 x)\n"
9976 " (declare (in) vec3 y))\n"
9977 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009978 " (signature bvec4\n"
9979 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009980 " (declare (in) vec4 x)\n"
9981 " (declare (in) vec4 y))\n"
9982 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009983 " (signature bvec2\n"
9984 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009985 " (declare (in) ivec2 x)\n"
9986 " (declare (in) ivec2 y))\n"
9987 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009988 " (signature bvec3\n"
9989 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009990 " (declare (in) ivec3 x)\n"
9991 " (declare (in) ivec3 y))\n"
9992 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009993 " (signature bvec4\n"
9994 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009995 " (declare (in) ivec4 x)\n"
9996 " (declare (in) ivec4 y))\n"
9997 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009998 "(function greaterThan\n"
9999 " (signature bvec2\n"
10000 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010001 " (declare (in) vec2 x)\n"
10002 " (declare (in) vec2 y))\n"
10003 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010004 " (signature bvec3\n"
10005 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010006 " (declare (in) vec3 x)\n"
10007 " (declare (in) vec3 y))\n"
10008 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010009 " (signature bvec4\n"
10010 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010011 " (declare (in) vec4 x)\n"
10012 " (declare (in) vec4 y))\n"
10013 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010014 " (signature bvec2\n"
10015 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010016 " (declare (in) ivec2 x)\n"
10017 " (declare (in) ivec2 y))\n"
10018 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010019 " (signature bvec3\n"
10020 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010021 " (declare (in) ivec3 x)\n"
10022 " (declare (in) ivec3 y))\n"
10023 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010024 " (signature bvec4\n"
10025 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010026 " (declare (in) ivec4 x)\n"
10027 " (declare (in) ivec4 y))\n"
10028 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010029 "(function greaterThanEqual\n"
10030 " (signature bvec2\n"
10031 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010032 " (declare (in) vec2 x)\n"
10033 " (declare (in) vec2 y))\n"
10034 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010035 " (signature bvec3\n"
10036 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010037 " (declare (in) vec3 x)\n"
10038 " (declare (in) vec3 y))\n"
10039 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010040 " (signature bvec4\n"
10041 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010042 " (declare (in) vec4 x)\n"
10043 " (declare (in) vec4 y))\n"
10044 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010045 " (signature bvec2\n"
10046 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010047 " (declare (in) ivec2 x)\n"
10048 " (declare (in) ivec2 y))\n"
10049 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010050 " (signature bvec3\n"
10051 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010052 " (declare (in) ivec3 x)\n"
10053 " (declare (in) ivec3 y))\n"
10054 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010055 " (signature bvec4\n"
10056 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010057 " (declare (in) ivec4 x)\n"
10058 " (declare (in) ivec4 y))\n"
10059 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010060 "(function equal\n"
10061 " (signature bvec2\n"
10062 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010063 " (declare (in) vec2 x)\n"
10064 " (declare (in) vec2 y))\n"
10065 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010066 " (signature bvec3\n"
10067 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010068 " (declare (in) vec3 x)\n"
10069 " (declare (in) vec3 y))\n"
10070 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010071 " (signature bvec4\n"
10072 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010073 " (declare (in) vec4 x)\n"
10074 " (declare (in) vec4 y))\n"
10075 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010076 " (signature bvec2\n"
10077 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010078 " (declare (in) ivec2 x)\n"
10079 " (declare (in) ivec2 y))\n"
10080 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010081 " (signature bvec3\n"
10082 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010083 " (declare (in) ivec3 x)\n"
10084 " (declare (in) ivec3 y))\n"
10085 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010086 " (signature bvec4\n"
10087 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010088 " (declare (in) ivec4 x)\n"
10089 " (declare (in) ivec4 y))\n"
10090 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010091 " (signature bvec2\n"
10092 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010093 " (declare (in) bvec2 x)\n"
10094 " (declare (in) bvec2 y))\n"
10095 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010096 " (signature bvec3\n"
10097 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010098 " (declare (in) bvec3 x)\n"
10099 " (declare (in) bvec3 y))\n"
10100 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010101 " (signature bvec4\n"
10102 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010103 " (declare (in) bvec4 x)\n"
10104 " (declare (in) bvec4 y))\n"
10105 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010106 "(function notEqual\n"
10107 " (signature bvec2\n"
10108 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010109 " (declare (in) vec2 x)\n"
10110 " (declare (in) vec2 y))\n"
10111 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010112 " (signature bvec3\n"
10113 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010114 " (declare (in) vec3 x)\n"
10115 " (declare (in) vec3 y))\n"
10116 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010117 " (signature bvec4\n"
10118 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010119 " (declare (in) vec4 x)\n"
10120 " (declare (in) vec4 y))\n"
10121 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010122 " (signature bvec2\n"
10123 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010124 " (declare (in) ivec2 x)\n"
10125 " (declare (in) ivec2 y))\n"
10126 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010127 " (signature bvec3\n"
10128 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010129 " (declare (in) ivec3 x)\n"
10130 " (declare (in) ivec3 y))\n"
10131 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010132 " (signature bvec4\n"
10133 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010134 " (declare (in) ivec4 x)\n"
10135 " (declare (in) ivec4 y))\n"
10136 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010137 " (signature bvec2\n"
10138 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010139 " (declare (in) bvec2 x)\n"
10140 " (declare (in) bvec2 y))\n"
10141 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010142 " (signature bvec3\n"
10143 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010144 " (declare (in) bvec3 x)\n"
10145 " (declare (in) bvec3 y))\n"
10146 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010147 " (signature bvec4\n"
10148 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010149 " (declare (in) bvec4 x)\n"
10150 " (declare (in) bvec4 y))\n"
10151 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010152 "(function any\n"
10153 " (signature bool\n"
10154 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010155 " (declare (in) bvec2 x))\n"
10156 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010157 " (signature bool\n"
10158 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010159 " (declare (in) bvec3 x))\n"
10160 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010161 " (signature bool\n"
10162 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010163 " (declare (in) bvec4 x))\n"
10164 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010165 "(function all\n"
10166 " (signature bool\n"
10167 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010168 " (declare (in) bvec2 x))\n"
10169 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010170 " (signature bool\n"
10171 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010172 " (declare (in) bvec3 x))\n"
10173 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010174 " (signature bool\n"
10175 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010176 " (declare (in) bvec4 x))\n"
10177 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010178 "(function not\n"
10179 " (signature bvec2\n"
10180 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010181 " (declare (in) bvec2 x))\n"
10182 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010183 " (signature bvec3\n"
10184 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010185 " (declare (in) bvec3 x))\n"
10186 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010187 " (signature bvec4\n"
10188 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010189 " (declare (in) bvec4 x))\n"
10190 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010191 "(function texture1D\n"
10192 " (signature vec4\n"
10193 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010194 " (declare (in) sampler1D sampler)\n"
10195 " (declare (in) float coord))\n"
10196 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010197 "(function texture1DProj\n"
10198 " (signature vec4\n"
10199 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010200 " (declare (in) sampler1D sampler)\n"
10201 " (declare (in) vec2 coord))\n"
10202 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010203 " (signature vec4\n"
10204 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010205 " (declare (in) sampler1D sampler)\n"
10206 " (declare (in) vec4 coord))\n"
10207 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010208 "(function texture1DLod\n"
10209 " (signature vec4\n"
10210 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010211 " (declare (in) sampler1D sampler)\n"
10212 " (declare (in) float coord)\n"
10213 " (declare (in) float lod))\n"
10214 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010215 "(function texture1DProjLod\n"
10216 " (signature vec4\n"
10217 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010218 " (declare (in) sampler1D sampler)\n"
10219 " (declare (in) vec2 coord)\n"
10220 " (declare (in) float lod))\n"
10221 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010222 " (signature vec4\n"
10223 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010224 " (declare (in) sampler1D sampler)\n"
10225 " (declare (in) vec4 coord)\n"
10226 " (declare (in) float lod))\n"
10227 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010228 "(function texture2D\n"
10229 " (signature vec4\n"
10230 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010231 " (declare (in) sampler2D sampler)\n"
10232 " (declare (in) vec2 coord))\n"
10233 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010234 "(function texture2DProj\n"
10235 " (signature vec4\n"
10236 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010237 " (declare (in) sampler2D sampler)\n"
10238 " (declare (in) vec3 coord))\n"
10239 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010240 " (signature vec4\n"
10241 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010242 " (declare (in) sampler2D sampler)\n"
10243 " (declare (in) vec4 coord))\n"
10244 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010245 "(function texture2DLod\n"
10246 " (signature vec4\n"
10247 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010248 " (declare (in) sampler2D sampler)\n"
10249 " (declare (in) vec2 coord)\n"
10250 " (declare (in) float lod))\n"
10251 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010252 "(function texture2DProjLod\n"
10253 " (signature vec4\n"
10254 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010255 " (declare (in) sampler2D sampler)\n"
10256 " (declare (in) vec3 coord)\n"
10257 " (declare (in) float lod))\n"
10258 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010259 " (signature vec4\n"
10260 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010261 " (declare (in) sampler2D sampler)\n"
10262 " (declare (in) vec4 coord)\n"
10263 " (declare (in) float lod))\n"
10264 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010265 "(function texture3D\n"
10266 " (signature vec4\n"
10267 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010268 " (declare (in) sampler3D sampler)\n"
10269 " (declare (in) vec3 coord))\n"
10270 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010271 "(function texture3DProj\n"
10272 " (signature vec4\n"
10273 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010274 " (declare (in) sampler3D sampler)\n"
10275 " (declare (in) vec4 coord))\n"
10276 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010277 "(function texture3DLod\n"
10278 " (signature vec4\n"
10279 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010280 " (declare (in) sampler3D sampler)\n"
10281 " (declare (in) vec3 coord)\n"
10282 " (declare (in) float lod))\n"
10283 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010284 "(function texture3DProjLod\n"
10285 " (signature vec4\n"
10286 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010287 " (declare (in) sampler3D sampler)\n"
10288 " (declare (in) vec4 coord)\n"
10289 " (declare (in) float lod))\n"
10290 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010291 "(function textureCube\n"
10292 " (signature vec4\n"
10293 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010294 " (declare (in) samplerCube sampler)\n"
10295 " (declare (in) vec3 coord))\n"
10296 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010297 "(function textureCubeLod\n"
10298 " (signature vec4\n"
10299 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010300 " (declare (in) samplerCube sampler)\n"
10301 " (declare (in) vec3 coord)\n"
10302 " (declare (in) float lod))\n"
10303 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010304 "(function shadow1D\n"
10305 " (signature vec4\n"
10306 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010307 " (declare (in) sampler1DShadow sampler)\n"
10308 " (declare (in) vec3 coord))\n"
10309 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010310 "(function shadow2D\n"
10311 " (signature vec4\n"
10312 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010313 " (declare (in) sampler2DShadow sampler)\n"
10314 " (declare (in) vec3 coord))\n"
10315 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010316 "(function shadow1DProj\n"
10317 " (signature vec4\n"
10318 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010319 " (declare (in) sampler1DShadow sampler)\n"
10320 " (declare (in) vec4 coord))\n"
10321 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010322 "(function shadow2DProj\n"
10323 " (signature vec4\n"
10324 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010325 " (declare (in) sampler2DShadow sampler)\n"
10326 " (declare (in) vec4 coord))\n"
10327 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010328 "(function shadow1DLod\n"
10329 " (signature vec4\n"
10330 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010331 " (declare (in) sampler1DShadow sampler)\n"
10332 " (declare (in) vec3 coord)\n"
10333 " (declare (in) float lod))\n"
10334 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010335 "(function shadow2DLod\n"
10336 " (signature vec4\n"
10337 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010338 " (declare (in) sampler2DShadow sampler)\n"
10339 " (declare (in) vec3 coord)\n"
10340 " (declare (in) float lod))\n"
10341 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010342 "(function shadow1DProjLod\n"
10343 " (signature vec4\n"
10344 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010345 " (declare (in) sampler1DShadow sampler)\n"
10346 " (declare (in) vec4 coord)\n"
10347 " (declare (in) float lod))\n"
10348 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010349 "(function shadow2DProjLod\n"
10350 " (signature vec4\n"
10351 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010352 " (declare (in) sampler2DShadow sampler)\n"
10353 " (declare (in) vec4 coord)\n"
10354 " (declare (in) float lod))\n"
10355 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010356 "(function noise1\n"
10357 " (signature float\n"
10358 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010359 " (declare (in) float x))\n"
10360 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010361 " (signature float\n"
10362 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010363 " (declare (in) vec2 x))\n"
10364 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010365 " (signature float\n"
10366 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010367 " (declare (in) vec3 x))\n"
10368 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010369 " (signature float\n"
10370 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010371 " (declare (in) vec4 x))\n"
10372 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010373 "(function noise2\n"
10374 " (signature vec2\n"
10375 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010376 " (declare (in) float x))\n"
10377 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010378 " (signature vec2\n"
10379 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010380 " (declare (in) vec2 x))\n"
10381 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010382 " (signature vec2\n"
10383 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010384 " (declare (in) vec3 x))\n"
10385 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010386 " (signature vec2\n"
10387 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010388 " (declare (in) vec4 x))\n"
10389 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010390 "(function noise3\n"
10391 " (signature vec3\n"
10392 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010393 " (declare (in) float x))\n"
10394 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010395 " (signature vec3\n"
10396 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010397 " (declare (in) vec2 x))\n"
10398 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010399 " (signature vec3\n"
10400 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010401 " (declare (in) vec3 x))\n"
10402 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010403 " (signature vec3\n"
10404 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010405 " (declare (in) vec4 x))\n"
10406 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010407 "(function noise4\n"
10408 " (signature vec4\n"
10409 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010410 " (declare (in) float x))\n"
10411 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010412 " (signature vec4\n"
10413 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010414 " (declare (in) vec2 x))\n"
10415 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010416 " (signature vec4\n"
10417 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010418 " (declare (in) vec3 x))\n"
10419 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010420 " (signature vec4\n"
10421 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010422 " (declare (in) vec4 x))\n"
10423 " ())))"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010424;
10425static const char *functions_for_120_vert [] = {
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010426 builtin_abs,
Eric Anholt47003a82010-08-23 12:39:35 -070010427 builtin_acos,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010428 builtin_all,
Eric Anholt47003a82010-08-23 12:39:35 -070010429 builtin_any,
10430 builtin_asin,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010431 builtin_atan,
Eric Anholt47003a82010-08-23 12:39:35 -070010432 builtin_ceil,
10433 builtin_clamp,
10434 builtin_cos,
10435 builtin_cross,
10436 builtin_degrees,
10437 builtin_distance,
10438 builtin_dot,
10439 builtin_equal,
10440 builtin_exp,
10441 builtin_exp2,
10442 builtin_faceforward,
10443 builtin_floor,
10444 builtin_fract,
10445 builtin_ftransform,
10446 builtin_greaterThan,
10447 builtin_greaterThanEqual,
10448 builtin_inversesqrt,
10449 builtin_length,
10450 builtin_lessThan,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010451 builtin_lessThanEqual,
Eric Anholt47003a82010-08-23 12:39:35 -070010452 builtin_log,
10453 builtin_log2,
10454 builtin_matrixCompMult,
10455 builtin_max,
10456 builtin_min,
10457 builtin_mix,
10458 builtin_mod,
10459 builtin_noise1,
10460 builtin_noise2,
10461 builtin_noise3,
10462 builtin_noise4,
10463 builtin_normalize,
10464 builtin_not,
10465 builtin_notEqual,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010466 builtin_outerProduct,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010467 builtin_pow,
Eric Anholt47003a82010-08-23 12:39:35 -070010468 builtin_radians,
10469 builtin_reflect,
10470 builtin_refract,
10471 builtin_shadow1D,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010472 builtin_shadow1DLod,
Eric Anholt47003a82010-08-23 12:39:35 -070010473 builtin_shadow1DProj,
10474 builtin_shadow1DProjLod,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010475 builtin_shadow2D,
10476 builtin_shadow2DLod,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010477 builtin_shadow2DProj,
Eric Anholt47003a82010-08-23 12:39:35 -070010478 builtin_shadow2DProjLod,
10479 builtin_sign,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010480 builtin_sin,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010481 builtin_smoothstep,
Eric Anholt47003a82010-08-23 12:39:35 -070010482 builtin_sqrt,
10483 builtin_step,
10484 builtin_tan,
10485 builtin_texture1D,
10486 builtin_texture1DLod,
10487 builtin_texture1DProj,
10488 builtin_texture1DProjLod,
10489 builtin_texture2D,
10490 builtin_texture2DLod,
10491 builtin_texture2DProj,
10492 builtin_texture2DProjLod,
10493 builtin_texture3D,
10494 builtin_texture3DLod,
10495 builtin_texture3DProj,
10496 builtin_texture3DProjLod,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010497 builtin_textureCube,
Eric Anholt47003a82010-08-23 12:39:35 -070010498 builtin_textureCubeLod,
10499 builtin_transpose,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070010500};
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010501static const char *prototypes_for_130_frag =
10502 "(\n"
10503 "(function radians\n"
10504 " (signature float\n"
10505 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010506 " (declare (in) float degrees))\n"
10507 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010508 " (signature vec2\n"
10509 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010510 " (declare (in) vec2 degrees))\n"
10511 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010512 " (signature vec3\n"
10513 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010514 " (declare (in) vec3 degrees))\n"
10515 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010516 " (signature vec4\n"
10517 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010518 " (declare (in) vec4 degrees))\n"
10519 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010520 "(function degrees\n"
10521 " (signature float\n"
10522 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010523 " (declare (in) float radians))\n"
10524 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010525 " (signature vec2\n"
10526 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010527 " (declare (in) vec2 radians))\n"
10528 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010529 " (signature vec3\n"
10530 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010531 " (declare (in) vec3 radians))\n"
10532 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010533 " (signature vec4\n"
10534 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010535 " (declare (in) vec4 radians))\n"
10536 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010537 "(function sin\n"
10538 " (signature float\n"
10539 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010540 " (declare (in) float angle))\n"
10541 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010542 " (signature vec2\n"
10543 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010544 " (declare (in) vec2 angle))\n"
10545 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010546 " (signature vec3\n"
10547 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010548 " (declare (in) vec3 angle))\n"
10549 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010550 " (signature vec4\n"
10551 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010552 " (declare (in) vec4 angle))\n"
10553 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010554 "(function cos\n"
10555 " (signature float\n"
10556 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010557 " (declare (in) float angle))\n"
10558 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010559 " (signature vec2\n"
10560 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010561 " (declare (in) vec2 angle))\n"
10562 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010563 " (signature vec3\n"
10564 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010565 " (declare (in) vec3 angle))\n"
10566 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010567 " (signature vec4\n"
10568 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010569 " (declare (in) vec4 angle))\n"
10570 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010571 "(function tan\n"
10572 " (signature float\n"
10573 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010574 " (declare (in) float angle))\n"
10575 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010576 " (signature vec2\n"
10577 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010578 " (declare (in) vec2 angle))\n"
10579 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010580 " (signature vec3\n"
10581 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010582 " (declare (in) vec3 angle))\n"
10583 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010584 " (signature vec4\n"
10585 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010586 " (declare (in) vec4 angle))\n"
10587 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010588 "(function asin\n"
10589 " (signature float\n"
10590 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010591 " (declare (in) float angle))\n"
10592 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010593 " (signature vec2\n"
10594 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010595 " (declare (in) vec2 angle))\n"
10596 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010597 " (signature vec3\n"
10598 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010599 " (declare (in) vec3 angle))\n"
10600 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010601 " (signature vec4\n"
10602 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010603 " (declare (in) vec4 angle))\n"
10604 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010605 "(function acos\n"
10606 " (signature float\n"
10607 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010608 " (declare (in) float angle))\n"
10609 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010610 " (signature vec2\n"
10611 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010612 " (declare (in) vec2 angle))\n"
10613 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010614 " (signature vec3\n"
10615 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010616 " (declare (in) vec3 angle))\n"
10617 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010618 " (signature vec4\n"
10619 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010620 " (declare (in) vec4 angle))\n"
10621 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010622 "(function atan\n"
10623 " (signature float\n"
10624 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010625 " (declare (in) float y)\n"
10626 " (declare (in) float x))\n"
10627 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010628 " (signature vec2\n"
10629 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010630 " (declare (in) vec2 y)\n"
10631 " (declare (in) vec2 x))\n"
10632 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010633 " (signature vec3\n"
10634 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010635 " (declare (in) vec3 y)\n"
10636 " (declare (in) vec3 x))\n"
10637 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010638 " (signature vec4\n"
10639 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010640 " (declare (in) vec4 y)\n"
10641 " (declare (in) vec4 x))\n"
10642 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010643 " (signature float\n"
10644 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010645 " (declare (in) float y_over_x))\n"
10646 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010647 " (signature vec2\n"
10648 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010649 " (declare (in) vec2 y_over_x))\n"
10650 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010651 " (signature vec3\n"
10652 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010653 " (declare (in) vec3 y_over_x))\n"
10654 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010655 " (signature vec4\n"
10656 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010657 " (declare (in) vec4 y_over_x))\n"
10658 " ()))\n"
10659 "(function sinh\n"
10660 " (signature float\n"
10661 " (parameters\n"
10662 " (declare (in) float x))\n"
10663 " ())\n"
10664 " (signature vec2\n"
10665 " (parameters\n"
10666 " (declare (in) vec2 x))\n"
10667 " ())\n"
10668 " (signature vec3\n"
10669 " (parameters\n"
10670 " (declare (in) vec3 x))\n"
10671 " ())\n"
10672 " (signature vec4\n"
10673 " (parameters\n"
10674 " (declare (in) vec4 x))\n"
10675 " ()))\n"
10676 "(function cosh\n"
10677 " (signature float\n"
10678 " (parameters\n"
10679 " (declare (in) float x))\n"
10680 " ())\n"
10681 " (signature vec2\n"
10682 " (parameters\n"
10683 " (declare (in) vec2 x))\n"
10684 " ())\n"
10685 " (signature vec3\n"
10686 " (parameters\n"
10687 " (declare (in) vec3 x))\n"
10688 " ())\n"
10689 " (signature vec4\n"
10690 " (parameters\n"
10691 " (declare (in) vec4 x))\n"
10692 " ()))\n"
10693 "(function tanh\n"
10694 " (signature float\n"
10695 " (parameters\n"
10696 " (declare (in) float x))\n"
10697 " ())\n"
10698 " (signature vec2\n"
10699 " (parameters\n"
10700 " (declare (in) vec2 x))\n"
10701 " ())\n"
10702 " (signature vec3\n"
10703 " (parameters\n"
10704 " (declare (in) vec3 x))\n"
10705 " ())\n"
10706 " (signature vec4\n"
10707 " (parameters\n"
10708 " (declare (in) vec4 x))\n"
10709 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010710 "(function pow\n"
10711 " (signature float\n"
10712 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010713 " (declare (in) float x)\n"
10714 " (declare (in) float y))\n"
10715 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010716 " (signature vec2\n"
10717 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010718 " (declare (in) vec2 x)\n"
10719 " (declare (in) vec2 y))\n"
10720 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010721 " (signature vec3\n"
10722 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010723 " (declare (in) vec3 x)\n"
10724 " (declare (in) vec3 y))\n"
10725 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010726 " (signature vec4\n"
10727 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010728 " (declare (in) vec4 x)\n"
10729 " (declare (in) vec4 y))\n"
10730 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010731 "(function exp\n"
10732 " (signature float\n"
10733 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010734 " (declare (in) float x))\n"
10735 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010736 " (signature vec2\n"
10737 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010738 " (declare (in) vec2 x))\n"
10739 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010740 " (signature vec3\n"
10741 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010742 " (declare (in) vec3 x))\n"
10743 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010744 " (signature vec4\n"
10745 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010746 " (declare (in) vec4 x))\n"
10747 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010748 "(function log\n"
10749 " (signature float\n"
10750 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010751 " (declare (in) float x))\n"
10752 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010753 " (signature vec2\n"
10754 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010755 " (declare (in) vec2 x))\n"
10756 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010757 " (signature vec3\n"
10758 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010759 " (declare (in) vec3 x))\n"
10760 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010761 " (signature vec4\n"
10762 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010763 " (declare (in) vec4 x))\n"
10764 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010765 "(function exp2\n"
10766 " (signature float\n"
10767 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010768 " (declare (in) float x))\n"
10769 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010770 " (signature vec2\n"
10771 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010772 " (declare (in) vec2 x))\n"
10773 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010774 " (signature vec3\n"
10775 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010776 " (declare (in) vec3 x))\n"
10777 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010778 " (signature vec4\n"
10779 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010780 " (declare (in) vec4 x))\n"
10781 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010782 "(function log2\n"
10783 " (signature float\n"
10784 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010785 " (declare (in) float x))\n"
10786 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010787 " (signature vec2\n"
10788 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010789 " (declare (in) vec2 x))\n"
10790 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010791 " (signature vec3\n"
10792 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010793 " (declare (in) vec3 x))\n"
10794 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010795 " (signature vec4\n"
10796 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010797 " (declare (in) vec4 x))\n"
10798 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010799 "(function sqrt\n"
10800 " (signature float\n"
10801 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010802 " (declare (in) float x))\n"
10803 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010804 " (signature vec2\n"
10805 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010806 " (declare (in) vec2 x))\n"
10807 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010808 " (signature vec3\n"
10809 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010810 " (declare (in) vec3 x))\n"
10811 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010812 " (signature vec4\n"
10813 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010814 " (declare (in) vec4 x))\n"
10815 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010816 "(function inversesqrt\n"
10817 " (signature float\n"
10818 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010819 " (declare (in) float x))\n"
10820 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010821 " (signature vec2\n"
10822 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010823 " (declare (in) vec2 x))\n"
10824 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010825 " (signature vec3\n"
10826 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010827 " (declare (in) vec3 x))\n"
10828 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010829 " (signature vec4\n"
10830 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010831 " (declare (in) vec4 x))\n"
10832 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010833 "(function abs\n"
10834 " (signature float\n"
10835 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010836 " (declare (in) float x))\n"
10837 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010838 " (signature vec2\n"
10839 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010840 " (declare (in) vec2 x))\n"
10841 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010842 " (signature vec3\n"
10843 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010844 " (declare (in) vec3 x))\n"
10845 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010846 " (signature vec4\n"
10847 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010848 " (declare (in) vec4 x))\n"
10849 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010850 " (signature int\n"
10851 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010852 " (declare (in) int x))\n"
10853 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010854 " (signature ivec2\n"
10855 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010856 " (declare (in) ivec2 x))\n"
10857 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010858 " (signature ivec3\n"
10859 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010860 " (declare (in) ivec3 x))\n"
10861 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010862 " (signature ivec4\n"
10863 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010864 " (declare (in) ivec4 x))\n"
10865 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010866 "(function sign\n"
10867 " (signature float\n"
10868 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010869 " (declare (in) float x))\n"
10870 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010871 " (signature vec2\n"
10872 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010873 " (declare (in) vec2 x))\n"
10874 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010875 " (signature vec3\n"
10876 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010877 " (declare (in) vec3 x))\n"
10878 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010879 " (signature vec4\n"
10880 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010881 " (declare (in) vec4 x))\n"
10882 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010883 " (signature int\n"
10884 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010885 " (declare (in) int x))\n"
10886 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010887 " (signature ivec2\n"
10888 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010889 " (declare (in) ivec2 x))\n"
10890 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010891 " (signature ivec3\n"
10892 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010893 " (declare (in) ivec3 x))\n"
10894 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010895 " (signature ivec4\n"
10896 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010897 " (declare (in) ivec4 x))\n"
10898 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010899 "(function floor\n"
10900 " (signature float\n"
10901 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010902 " (declare (in) float x))\n"
10903 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010904 " (signature vec2\n"
10905 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010906 " (declare (in) vec2 x))\n"
10907 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010908 " (signature vec3\n"
10909 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010910 " (declare (in) vec3 x))\n"
10911 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010912 " (signature vec4\n"
10913 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010914 " (declare (in) vec4 x))\n"
10915 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010916 "(function ceil\n"
10917 " (signature float\n"
10918 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010919 " (declare (in) float x))\n"
10920 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010921 " (signature vec2\n"
10922 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010923 " (declare (in) vec2 x))\n"
10924 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010925 " (signature vec3\n"
10926 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010927 " (declare (in) vec3 x))\n"
10928 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010929 " (signature vec4\n"
10930 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010931 " (declare (in) vec4 x))\n"
10932 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010933 "(function fract\n"
10934 " (signature float\n"
10935 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010936 " (declare (in) float x))\n"
10937 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010938 " (signature vec2\n"
10939 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010940 " (declare (in) vec2 x))\n"
10941 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010942 " (signature vec3\n"
10943 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010944 " (declare (in) vec3 x))\n"
10945 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010946 " (signature vec4\n"
10947 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010948 " (declare (in) vec4 x))\n"
10949 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010950 "(function mod\n"
10951 " (signature float\n"
10952 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010953 " (declare (in) float x)\n"
10954 " (declare (in) float y))\n"
10955 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010956 " (signature vec2\n"
10957 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010958 " (declare (in) vec2 x)\n"
10959 " (declare (in) float y))\n"
10960 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010961 " (signature vec3\n"
10962 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010963 " (declare (in) vec3 x)\n"
10964 " (declare (in) float y))\n"
10965 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010966 " (signature vec4\n"
10967 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010968 " (declare (in) vec4 x)\n"
10969 " (declare (in) float y))\n"
10970 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010971 " (signature vec2\n"
10972 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010973 " (declare (in) vec2 x)\n"
10974 " (declare (in) vec2 y))\n"
10975 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010976 " (signature vec3\n"
10977 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010978 " (declare (in) vec3 x)\n"
10979 " (declare (in) vec3 y))\n"
10980 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010981 " (signature vec4\n"
10982 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010983 " (declare (in) vec4 x)\n"
10984 " (declare (in) vec4 y))\n"
10985 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010986 "(function min\n"
10987 " (signature float\n"
10988 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010989 " (declare (in) float x)\n"
10990 " (declare (in) float y))\n"
10991 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010992 " (signature vec2\n"
10993 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010994 " (declare (in) vec2 x)\n"
10995 " (declare (in) vec2 y))\n"
10996 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010997 " (signature vec3\n"
10998 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010999 " (declare (in) vec3 x)\n"
11000 " (declare (in) vec3 y))\n"
11001 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011002 " (signature vec4\n"
11003 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011004 " (declare (in) vec4 x)\n"
11005 " (declare (in) vec4 y))\n"
11006 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011007 " (signature vec2\n"
11008 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011009 " (declare (in) vec2 x)\n"
11010 " (declare (in) float y))\n"
11011 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011012 " (signature vec3\n"
11013 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011014 " (declare (in) vec3 x)\n"
11015 " (declare (in) float y))\n"
11016 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011017 " (signature vec4\n"
11018 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011019 " (declare (in) vec4 x)\n"
11020 " (declare (in) float y))\n"
11021 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011022 " (signature int\n"
11023 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011024 " (declare (in) int x)\n"
11025 " (declare (in) int y))\n"
11026 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011027 " (signature ivec2\n"
11028 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011029 " (declare (in) ivec2 x)\n"
11030 " (declare (in) ivec2 y))\n"
11031 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011032 " (signature ivec3\n"
11033 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011034 " (declare (in) ivec3 x)\n"
11035 " (declare (in) ivec3 y))\n"
11036 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011037 " (signature ivec4\n"
11038 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011039 " (declare (in) ivec4 x)\n"
11040 " (declare (in) ivec4 y))\n"
11041 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011042 " (signature ivec2\n"
11043 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011044 " (declare (in) ivec2 x)\n"
11045 " (declare (in) int y))\n"
11046 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011047 " (signature ivec3\n"
11048 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011049 " (declare (in) ivec3 x)\n"
11050 " (declare (in) int y))\n"
11051 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011052 " (signature ivec4\n"
11053 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011054 " (declare (in) ivec4 x)\n"
11055 " (declare (in) int y))\n"
11056 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011057 " (signature uint\n"
11058 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011059 " (declare (in) uint x)\n"
11060 " (declare (in) uint y))\n"
11061 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011062 " (signature uvec2\n"
11063 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011064 " (declare (in) uvec2 x)\n"
11065 " (declare (in) uvec2 y))\n"
11066 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011067 " (signature uvec3\n"
11068 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011069 " (declare (in) uvec3 x)\n"
11070 " (declare (in) uvec3 y))\n"
11071 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011072 " (signature uvec4\n"
11073 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011074 " (declare (in) uvec4 x)\n"
11075 " (declare (in) uvec4 y))\n"
11076 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011077 " (signature uvec2\n"
11078 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011079 " (declare (in) uvec2 x)\n"
11080 " (declare (in) uint y))\n"
11081 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011082 " (signature uvec3\n"
11083 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011084 " (declare (in) uvec3 x)\n"
11085 " (declare (in) uint y))\n"
11086 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011087 " (signature uvec4\n"
11088 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011089 " (declare (in) uvec4 x)\n"
11090 " (declare (in) uint y))\n"
11091 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011092 "(function max\n"
11093 " (signature float\n"
11094 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011095 " (declare (in) float x)\n"
11096 " (declare (in) float y))\n"
11097 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011098 " (signature vec2\n"
11099 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011100 " (declare (in) vec2 x)\n"
11101 " (declare (in) vec2 y))\n"
11102 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011103 " (signature vec3\n"
11104 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011105 " (declare (in) vec3 x)\n"
11106 " (declare (in) vec3 y))\n"
11107 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011108 " (signature vec4\n"
11109 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011110 " (declare (in) vec4 x)\n"
11111 " (declare (in) vec4 y))\n"
11112 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011113 " (signature vec2\n"
11114 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011115 " (declare (in) vec2 x)\n"
11116 " (declare (in) float y))\n"
11117 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011118 " (signature vec3\n"
11119 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011120 " (declare (in) vec3 x)\n"
11121 " (declare (in) float y))\n"
11122 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011123 " (signature vec4\n"
11124 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011125 " (declare (in) vec4 x)\n"
11126 " (declare (in) float y))\n"
11127 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011128 " (signature int\n"
11129 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011130 " (declare (in) int x)\n"
11131 " (declare (in) int y))\n"
11132 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011133 " (signature ivec2\n"
11134 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011135 " (declare (in) ivec2 x)\n"
11136 " (declare (in) ivec2 y))\n"
11137 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011138 " (signature ivec3\n"
11139 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011140 " (declare (in) ivec3 x)\n"
11141 " (declare (in) ivec3 y))\n"
11142 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011143 " (signature ivec4\n"
11144 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011145 " (declare (in) ivec4 x)\n"
11146 " (declare (in) ivec4 y))\n"
11147 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011148 " (signature ivec2\n"
11149 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011150 " (declare (in) ivec2 x)\n"
11151 " (declare (in) int y))\n"
11152 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011153 " (signature ivec3\n"
11154 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011155 " (declare (in) ivec3 x)\n"
11156 " (declare (in) int y))\n"
11157 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011158 " (signature ivec4\n"
11159 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011160 " (declare (in) ivec4 x)\n"
11161 " (declare (in) int y))\n"
11162 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011163 " (signature uint\n"
11164 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011165 " (declare (in) uint x)\n"
11166 " (declare (in) uint y))\n"
11167 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011168 " (signature uvec2\n"
11169 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011170 " (declare (in) uvec2 x)\n"
11171 " (declare (in) uvec2 y))\n"
11172 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011173 " (signature uvec3\n"
11174 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011175 " (declare (in) uvec3 x)\n"
11176 " (declare (in) uvec3 y))\n"
11177 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011178 " (signature uvec4\n"
11179 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011180 " (declare (in) uvec4 x)\n"
11181 " (declare (in) uvec4 y))\n"
11182 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011183 " (signature uvec2\n"
11184 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011185 " (declare (in) uvec2 x)\n"
11186 " (declare (in) uint y))\n"
11187 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011188 " (signature uvec3\n"
11189 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011190 " (declare (in) uvec3 x)\n"
11191 " (declare (in) uint y))\n"
11192 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011193 " (signature uvec4\n"
11194 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011195 " (declare (in) uvec4 x)\n"
11196 " (declare (in) uint y))\n"
11197 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011198 "(function clamp\n"
11199 " (signature float\n"
11200 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011201 " (declare (in) float x)\n"
11202 " (declare (in) float minVal)\n"
11203 " (declare (in) float maxVal))\n"
11204 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011205 " (signature vec2\n"
11206 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011207 " (declare (in) vec2 x)\n"
11208 " (declare (in) vec2 minVal)\n"
11209 " (declare (in) vec2 maxVal))\n"
11210 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011211 " (signature vec3\n"
11212 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011213 " (declare (in) vec3 x)\n"
11214 " (declare (in) vec3 minVal)\n"
11215 " (declare (in) vec3 maxVal))\n"
11216 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011217 " (signature vec4\n"
11218 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011219 " (declare (in) vec4 x)\n"
11220 " (declare (in) vec4 minVal)\n"
11221 " (declare (in) vec4 maxVal))\n"
11222 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011223 " (signature vec2\n"
11224 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011225 " (declare (in) vec2 x)\n"
11226 " (declare (in) float minVal)\n"
11227 " (declare (in) float maxVal))\n"
11228 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011229 " (signature vec3\n"
11230 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011231 " (declare (in) vec3 x)\n"
11232 " (declare (in) float minVal)\n"
11233 " (declare (in) float maxVal))\n"
11234 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011235 " (signature vec4\n"
11236 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011237 " (declare (in) vec4 x)\n"
11238 " (declare (in) float minVal)\n"
11239 " (declare (in) float maxVal))\n"
11240 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011241 " (signature int\n"
11242 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011243 " (declare (in) int x)\n"
11244 " (declare (in) int minVal)\n"
11245 " (declare (in) int maxVal))\n"
11246 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011247 " (signature ivec2\n"
11248 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011249 " (declare (in) ivec2 x)\n"
11250 " (declare (in) ivec2 minVal)\n"
11251 " (declare (in) ivec2 maxVal))\n"
11252 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011253 " (signature ivec3\n"
11254 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011255 " (declare (in) ivec3 x)\n"
11256 " (declare (in) ivec3 minVal)\n"
11257 " (declare (in) ivec3 maxVal))\n"
11258 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011259 " (signature ivec4\n"
11260 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011261 " (declare (in) ivec4 x)\n"
11262 " (declare (in) ivec4 minVal)\n"
11263 " (declare (in) ivec4 maxVal))\n"
11264 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011265 " (signature ivec2\n"
11266 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011267 " (declare (in) ivec2 x)\n"
11268 " (declare (in) int minVal)\n"
11269 " (declare (in) int maxVal))\n"
11270 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011271 " (signature ivec3\n"
11272 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011273 " (declare (in) ivec3 x)\n"
11274 " (declare (in) int minVal)\n"
11275 " (declare (in) int maxVal))\n"
11276 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011277 " (signature ivec4\n"
11278 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011279 " (declare (in) ivec4 x)\n"
11280 " (declare (in) int minVal)\n"
11281 " (declare (in) int maxVal))\n"
11282 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011283 " (signature uint\n"
11284 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011285 " (declare (in) uint x)\n"
11286 " (declare (in) uint minVal)\n"
11287 " (declare (in) uint maxVal))\n"
11288 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011289 " (signature uvec2\n"
11290 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011291 " (declare (in) uvec2 x)\n"
11292 " (declare (in) uvec2 minVal)\n"
11293 " (declare (in) uvec2 maxVal))\n"
11294 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011295 " (signature uvec3\n"
11296 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011297 " (declare (in) uvec3 x)\n"
11298 " (declare (in) uvec3 minVal)\n"
11299 " (declare (in) uvec3 maxVal))\n"
11300 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011301 " (signature uvec4\n"
11302 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011303 " (declare (in) uvec4 x)\n"
11304 " (declare (in) uvec4 minVal)\n"
11305 " (declare (in) uvec4 maxVal))\n"
11306 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011307 " (signature uvec2\n"
11308 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011309 " (declare (in) uvec2 x)\n"
11310 " (declare (in) uint minVal)\n"
11311 " (declare (in) uint maxVal))\n"
11312 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011313 " (signature uvec3\n"
11314 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011315 " (declare (in) uvec3 x)\n"
11316 " (declare (in) uint minVal)\n"
11317 " (declare (in) uint maxVal))\n"
11318 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011319 " (signature uvec4\n"
11320 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011321 " (declare (in) uvec4 x)\n"
11322 " (declare (in) uint minVal)\n"
11323 " (declare (in) uint maxVal))\n"
11324 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011325 "(function mix\n"
11326 " (signature float\n"
11327 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011328 " (declare (in) float x)\n"
11329 " (declare (in) float y)\n"
11330 " (declare (in) float a))\n"
11331 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011332 " (signature vec2\n"
11333 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011334 " (declare (in) vec2 x)\n"
11335 " (declare (in) vec2 y)\n"
11336 " (declare (in) vec2 a))\n"
11337 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011338 " (signature vec3\n"
11339 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011340 " (declare (in) vec3 x)\n"
11341 " (declare (in) vec3 y)\n"
11342 " (declare (in) vec3 a))\n"
11343 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011344 " (signature vec4\n"
11345 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011346 " (declare (in) vec4 x)\n"
11347 " (declare (in) vec4 y)\n"
11348 " (declare (in) vec4 a))\n"
11349 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011350 " (signature vec2\n"
11351 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011352 " (declare (in) vec2 x)\n"
11353 " (declare (in) vec2 y)\n"
11354 " (declare (in) float a))\n"
11355 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011356 " (signature vec3\n"
11357 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011358 " (declare (in) vec3 x)\n"
11359 " (declare (in) vec3 y)\n"
11360 " (declare (in) float a))\n"
11361 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011362 " (signature vec4\n"
11363 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011364 " (declare (in) vec4 x)\n"
11365 " (declare (in) vec4 y)\n"
11366 " (declare (in) float a))\n"
11367 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011368 "(function step\n"
11369 " (signature float\n"
11370 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011371 " (declare (in) float edge)\n"
11372 " (declare (in) float x))\n"
11373 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011374 " (signature vec2\n"
11375 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011376 " (declare (in) vec2 edge)\n"
11377 " (declare (in) vec2 x))\n"
11378 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011379 " (signature vec3\n"
11380 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011381 " (declare (in) vec3 edge)\n"
11382 " (declare (in) vec3 x))\n"
11383 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011384 " (signature vec4\n"
11385 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011386 " (declare (in) vec4 edge)\n"
11387 " (declare (in) vec4 x))\n"
11388 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011389 " (signature vec2\n"
11390 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011391 " (declare (in) float edge)\n"
11392 " (declare (in) vec2 x))\n"
11393 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011394 " (signature vec3\n"
11395 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011396 " (declare (in) float edge)\n"
11397 " (declare (in) vec3 x))\n"
11398 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011399 " (signature vec4\n"
11400 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011401 " (declare (in) float edge)\n"
11402 " (declare (in) vec4 x))\n"
11403 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011404 "(function smoothstep\n"
11405 " (signature float\n"
11406 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011407 " (declare (in) float edge0)\n"
11408 " (declare (in) float edge1)\n"
11409 " (declare (in) float x))\n"
11410 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011411 " (signature vec2\n"
11412 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011413 " (declare (in) vec2 edge0)\n"
11414 " (declare (in) vec2 edge1)\n"
11415 " (declare (in) vec2 x))\n"
11416 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011417 " (signature vec3\n"
11418 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011419 " (declare (in) vec3 edge0)\n"
11420 " (declare (in) vec3 edge1)\n"
11421 " (declare (in) vec3 x))\n"
11422 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011423 " (signature vec4\n"
11424 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011425 " (declare (in) vec4 edge0)\n"
11426 " (declare (in) vec4 edge1)\n"
11427 " (declare (in) vec4 x))\n"
11428 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011429 " (signature vec2\n"
11430 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011431 " (declare (in) float edge0)\n"
11432 " (declare (in) float edge1)\n"
11433 " (declare (in) vec2 x))\n"
11434 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011435 " (signature vec3\n"
11436 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011437 " (declare (in) float edge0)\n"
11438 " (declare (in) float edge1)\n"
11439 " (declare (in) vec3 x))\n"
11440 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011441 " (signature vec4\n"
11442 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011443 " (declare (in) float edge0)\n"
11444 " (declare (in) float edge1)\n"
11445 " (declare (in) vec4 x))\n"
11446 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011447 "(function length\n"
11448 " (signature float\n"
11449 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011450 " (declare (in) float x))\n"
11451 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011452 " (signature float\n"
11453 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011454 " (declare (in) vec2 x))\n"
11455 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011456 " (signature float\n"
11457 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011458 " (declare (in) vec3 x))\n"
11459 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011460 " (signature float\n"
11461 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011462 " (declare (in) vec4 x))\n"
11463 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011464 "(function distance\n"
11465 " (signature float\n"
11466 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011467 " (declare (in) float p0)\n"
11468 " (declare (in) float p1))\n"
11469 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011470 " (signature float\n"
11471 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011472 " (declare (in) vec2 p0)\n"
11473 " (declare (in) vec2 p1))\n"
11474 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011475 " (signature float\n"
11476 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011477 " (declare (in) vec3 p0)\n"
11478 " (declare (in) vec3 p1))\n"
11479 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011480 " (signature float\n"
11481 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011482 " (declare (in) vec4 p0)\n"
11483 " (declare (in) vec4 p1))\n"
11484 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011485 "(function dot\n"
11486 " (signature float\n"
11487 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011488 " (declare (in) float x)\n"
11489 " (declare (in) float y))\n"
11490 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011491 " (signature float\n"
11492 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011493 " (declare (in) vec2 x)\n"
11494 " (declare (in) vec2 y))\n"
11495 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011496 " (signature float\n"
11497 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011498 " (declare (in) vec3 x)\n"
11499 " (declare (in) vec3 y))\n"
11500 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011501 " (signature float\n"
11502 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011503 " (declare (in) vec4 x)\n"
11504 " (declare (in) vec4 y))\n"
11505 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011506 "(function cross\n"
11507 " (signature vec3\n"
11508 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011509 " (declare (in) vec3 x)\n"
11510 " (declare (in) vec3 y))\n"
11511 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011512 "(function normalize\n"
11513 " (signature float\n"
11514 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011515 " (declare (in) float x))\n"
11516 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011517 " (signature vec2\n"
11518 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011519 " (declare (in) vec2 x))\n"
11520 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011521 " (signature vec3\n"
11522 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011523 " (declare (in) vec3 x))\n"
11524 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011525 " (signature vec4\n"
11526 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011527 " (declare (in) vec4 x))\n"
11528 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011529 "(function faceforward\n"
11530 " (signature float\n"
11531 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011532 " (declare (in) float N)\n"
11533 " (declare (in) float I)\n"
11534 " (declare (in) float Nref))\n"
11535 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011536 " (signature vec2\n"
11537 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011538 " (declare (in) vec2 N)\n"
11539 " (declare (in) vec2 I)\n"
11540 " (declare (in) vec2 Nref))\n"
11541 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011542 " (signature vec3\n"
11543 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011544 " (declare (in) vec3 N)\n"
11545 " (declare (in) vec3 I)\n"
11546 " (declare (in) vec3 Nref))\n"
11547 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011548 " (signature vec4\n"
11549 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011550 " (declare (in) vec4 N)\n"
11551 " (declare (in) vec4 I)\n"
11552 " (declare (in) vec4 Nref))\n"
11553 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011554 "(function reflect\n"
11555 " (signature float\n"
11556 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011557 " (declare (in) float I)\n"
11558 " (declare (in) float N))\n"
11559 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011560 " (signature vec2\n"
11561 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011562 " (declare (in) vec2 I)\n"
11563 " (declare (in) vec2 N))\n"
11564 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011565 " (signature vec3\n"
11566 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011567 " (declare (in) vec3 I)\n"
11568 " (declare (in) vec3 N))\n"
11569 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011570 " (signature vec4\n"
11571 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011572 " (declare (in) vec4 I)\n"
11573 " (declare (in) vec4 N))\n"
11574 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011575 "(function refract\n"
11576 " (signature float\n"
11577 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011578 " (declare (in) float I)\n"
11579 " (declare (in) float N)\n"
11580 " (declare (in) float eta))\n"
11581 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011582 " (signature vec2\n"
11583 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011584 " (declare (in) vec2 I)\n"
11585 " (declare (in) vec2 N)\n"
11586 " (declare (in) float eta))\n"
11587 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011588 " (signature vec3\n"
11589 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011590 " (declare (in) vec3 I)\n"
11591 " (declare (in) vec3 N)\n"
11592 " (declare (in) float eta))\n"
11593 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011594 " (signature vec4\n"
11595 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011596 " (declare (in) vec4 I)\n"
11597 " (declare (in) vec4 N)\n"
11598 " (declare (in) float eta))\n"
11599 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011600 "(function matrixCompMult\n"
11601 " (signature mat2\n"
11602 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011603 " (declare (in) mat2 x)\n"
11604 " (declare (in) mat2 y))\n"
11605 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011606 " (signature mat3\n"
11607 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011608 " (declare (in) mat3 x)\n"
11609 " (declare (in) mat3 y))\n"
11610 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011611 " (signature mat4\n"
11612 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011613 " (declare (in) mat4 x)\n"
11614 " (declare (in) mat4 y))\n"
11615 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011616 " (signature mat2x3\n"
11617 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011618 " (declare (in) mat2x3 x)\n"
11619 " (declare (in) mat2x3 y))\n"
11620 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011621 " (signature mat2x4\n"
11622 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011623 " (declare (in) mat2x4 x)\n"
11624 " (declare (in) mat2x4 y))\n"
11625 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011626 " (signature mat3x2\n"
11627 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011628 " (declare (in) mat3x2 x)\n"
11629 " (declare (in) mat3x2 y))\n"
11630 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011631 " (signature mat3x4\n"
11632 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011633 " (declare (in) mat3x4 x)\n"
11634 " (declare (in) mat3x4 y))\n"
11635 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011636 " (signature mat4x2\n"
11637 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011638 " (declare (in) mat4x2 x)\n"
11639 " (declare (in) mat4x2 y))\n"
11640 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011641 " (signature mat4x3\n"
11642 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011643 " (declare (in) mat4x3 x)\n"
11644 " (declare (in) mat4x3 y))\n"
11645 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011646 "(function outerProduct\n"
11647 " (signature mat2\n"
11648 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011649 " (declare (in) vec2 c)\n"
11650 " (declare (in) vec2 r))\n"
11651 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011652 " (signature mat3\n"
11653 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011654 " (declare (in) vec3 c)\n"
11655 " (declare (in) vec3 r))\n"
11656 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011657 " (signature mat4\n"
11658 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011659 " (declare (in) vec4 c)\n"
11660 " (declare (in) vec4 r))\n"
11661 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011662 " (signature mat2x3\n"
11663 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011664 " (declare (in) vec3 c)\n"
11665 " (declare (in) vec2 r))\n"
11666 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011667 " (signature mat3x2\n"
11668 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011669 " (declare (in) vec2 c)\n"
11670 " (declare (in) vec3 r))\n"
11671 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011672 " (signature mat2x4\n"
11673 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011674 " (declare (in) vec4 c)\n"
11675 " (declare (in) vec2 r))\n"
11676 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011677 " (signature mat4x2\n"
11678 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011679 " (declare (in) vec2 c)\n"
11680 " (declare (in) vec4 r))\n"
11681 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011682 " (signature mat3x4\n"
11683 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011684 " (declare (in) vec4 c)\n"
11685 " (declare (in) vec3 r))\n"
11686 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011687 " (signature mat4x3\n"
11688 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011689 " (declare (in) vec3 c)\n"
11690 " (declare (in) vec4 r))\n"
11691 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011692 "(function transpose\n"
11693 " (signature mat2\n"
11694 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011695 " (declare (in) mat2 m))\n"
11696 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011697 " (signature mat3\n"
11698 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011699 " (declare (in) mat3 m))\n"
11700 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011701 " (signature mat4\n"
11702 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011703 " (declare (in) mat4 m))\n"
11704 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011705 " (signature mat2x3\n"
11706 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011707 " (declare (in) mat3x2 m))\n"
11708 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011709 " (signature mat3x2\n"
11710 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011711 " (declare (in) mat2x3 m))\n"
11712 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011713 " (signature mat2x4\n"
11714 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011715 " (declare (in) mat4x2 m))\n"
11716 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011717 " (signature mat4x2\n"
11718 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011719 " (declare (in) mat2x4 m))\n"
11720 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011721 " (signature mat3x4\n"
11722 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011723 " (declare (in) mat4x3 m))\n"
11724 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011725 " (signature mat4x3\n"
11726 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011727 " (declare (in) mat3x4 m))\n"
11728 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011729 "(function lessThan\n"
11730 " (signature bvec2\n"
11731 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011732 " (declare (in) vec2 x)\n"
11733 " (declare (in) vec2 y))\n"
11734 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011735 " (signature bvec3\n"
11736 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011737 " (declare (in) vec3 x)\n"
11738 " (declare (in) vec3 y))\n"
11739 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011740 " (signature bvec4\n"
11741 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011742 " (declare (in) vec4 x)\n"
11743 " (declare (in) vec4 y))\n"
11744 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011745 " (signature bvec2\n"
11746 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011747 " (declare (in) ivec2 x)\n"
11748 " (declare (in) ivec2 y))\n"
11749 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011750 " (signature bvec3\n"
11751 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011752 " (declare (in) ivec3 x)\n"
11753 " (declare (in) ivec3 y))\n"
11754 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011755 " (signature bvec4\n"
11756 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011757 " (declare (in) ivec4 x)\n"
11758 " (declare (in) ivec4 y))\n"
11759 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011760 " (signature bvec2\n"
11761 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011762 " (declare (in) uvec2 x)\n"
11763 " (declare (in) uvec2 y))\n"
11764 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011765 " (signature bvec3\n"
11766 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011767 " (declare (in) uvec3 x)\n"
11768 " (declare (in) uvec3 y))\n"
11769 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011770 " (signature bvec4\n"
11771 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011772 " (declare (in) uvec4 x)\n"
11773 " (declare (in) uvec4 y))\n"
11774 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011775 "(function lessThanEqual\n"
11776 " (signature bvec2\n"
11777 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011778 " (declare (in) vec2 x)\n"
11779 " (declare (in) vec2 y))\n"
11780 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011781 " (signature bvec3\n"
11782 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011783 " (declare (in) vec3 x)\n"
11784 " (declare (in) vec3 y))\n"
11785 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011786 " (signature bvec4\n"
11787 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011788 " (declare (in) vec4 x)\n"
11789 " (declare (in) vec4 y))\n"
11790 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011791 " (signature bvec2\n"
11792 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011793 " (declare (in) ivec2 x)\n"
11794 " (declare (in) ivec2 y))\n"
11795 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011796 " (signature bvec3\n"
11797 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011798 " (declare (in) ivec3 x)\n"
11799 " (declare (in) ivec3 y))\n"
11800 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011801 " (signature bvec4\n"
11802 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011803 " (declare (in) ivec4 x)\n"
11804 " (declare (in) ivec4 y))\n"
11805 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011806 " (signature bvec2\n"
11807 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011808 " (declare (in) uvec2 x)\n"
11809 " (declare (in) uvec2 y))\n"
11810 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011811 " (signature bvec3\n"
11812 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011813 " (declare (in) uvec3 x)\n"
11814 " (declare (in) uvec3 y))\n"
11815 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011816 " (signature bvec4\n"
11817 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011818 " (declare (in) uvec4 x)\n"
11819 " (declare (in) uvec4 y))\n"
11820 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011821 "(function greaterThan\n"
11822 " (signature bvec2\n"
11823 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011824 " (declare (in) vec2 x)\n"
11825 " (declare (in) vec2 y))\n"
11826 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011827 " (signature bvec3\n"
11828 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011829 " (declare (in) vec3 x)\n"
11830 " (declare (in) vec3 y))\n"
11831 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011832 " (signature bvec4\n"
11833 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011834 " (declare (in) vec4 x)\n"
11835 " (declare (in) vec4 y))\n"
11836 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011837 " (signature bvec2\n"
11838 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011839 " (declare (in) ivec2 x)\n"
11840 " (declare (in) ivec2 y))\n"
11841 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011842 " (signature bvec3\n"
11843 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011844 " (declare (in) ivec3 x)\n"
11845 " (declare (in) ivec3 y))\n"
11846 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011847 " (signature bvec4\n"
11848 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011849 " (declare (in) ivec4 x)\n"
11850 " (declare (in) ivec4 y))\n"
11851 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011852 " (signature bvec2\n"
11853 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011854 " (declare (in) uvec2 x)\n"
11855 " (declare (in) uvec2 y))\n"
11856 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011857 " (signature bvec3\n"
11858 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011859 " (declare (in) uvec3 x)\n"
11860 " (declare (in) uvec3 y))\n"
11861 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011862 " (signature bvec4\n"
11863 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011864 " (declare (in) uvec4 x)\n"
11865 " (declare (in) uvec4 y))\n"
11866 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011867 "(function greaterThanEqual\n"
11868 " (signature bvec2\n"
11869 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011870 " (declare (in) vec2 x)\n"
11871 " (declare (in) vec2 y))\n"
11872 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011873 " (signature bvec3\n"
11874 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011875 " (declare (in) vec3 x)\n"
11876 " (declare (in) vec3 y))\n"
11877 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011878 " (signature bvec4\n"
11879 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011880 " (declare (in) vec4 x)\n"
11881 " (declare (in) vec4 y))\n"
11882 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011883 " (signature bvec2\n"
11884 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011885 " (declare (in) ivec2 x)\n"
11886 " (declare (in) ivec2 y))\n"
11887 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011888 " (signature bvec3\n"
11889 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011890 " (declare (in) ivec3 x)\n"
11891 " (declare (in) ivec3 y))\n"
11892 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011893 " (signature bvec4\n"
11894 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011895 " (declare (in) ivec4 x)\n"
11896 " (declare (in) ivec4 y))\n"
11897 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011898 " (signature bvec2\n"
11899 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011900 " (declare (in) uvec2 x)\n"
11901 " (declare (in) uvec2 y))\n"
11902 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011903 " (signature bvec3\n"
11904 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011905 " (declare (in) uvec3 x)\n"
11906 " (declare (in) uvec3 y))\n"
11907 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011908 " (signature bvec4\n"
11909 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011910 " (declare (in) uvec4 x)\n"
11911 " (declare (in) uvec4 y))\n"
11912 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011913 "(function equal\n"
11914 " (signature bvec2\n"
11915 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011916 " (declare (in) vec2 x)\n"
11917 " (declare (in) vec2 y))\n"
11918 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011919 " (signature bvec3\n"
11920 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011921 " (declare (in) vec3 x)\n"
11922 " (declare (in) vec3 y))\n"
11923 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011924 " (signature bvec4\n"
11925 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011926 " (declare (in) vec4 x)\n"
11927 " (declare (in) vec4 y))\n"
11928 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011929 " (signature bvec2\n"
11930 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011931 " (declare (in) ivec2 x)\n"
11932 " (declare (in) ivec2 y))\n"
11933 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011934 " (signature bvec3\n"
11935 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011936 " (declare (in) ivec3 x)\n"
11937 " (declare (in) ivec3 y))\n"
11938 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011939 " (signature bvec4\n"
11940 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011941 " (declare (in) ivec4 x)\n"
11942 " (declare (in) ivec4 y))\n"
11943 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011944 " (signature bvec2\n"
11945 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011946 " (declare (in) uvec2 x)\n"
11947 " (declare (in) uvec2 y))\n"
11948 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011949 " (signature bvec3\n"
11950 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011951 " (declare (in) uvec3 x)\n"
11952 " (declare (in) uvec3 y))\n"
11953 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011954 " (signature bvec4\n"
11955 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011956 " (declare (in) uvec4 x)\n"
11957 " (declare (in) uvec4 y))\n"
11958 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011959 " (signature bvec2\n"
11960 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011961 " (declare (in) bvec2 x)\n"
11962 " (declare (in) bvec2 y))\n"
11963 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011964 " (signature bvec3\n"
11965 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011966 " (declare (in) bvec3 x)\n"
11967 " (declare (in) bvec3 y))\n"
11968 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011969 " (signature bvec4\n"
11970 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011971 " (declare (in) bvec4 x)\n"
11972 " (declare (in) bvec4 y))\n"
11973 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011974 "(function notEqual\n"
11975 " (signature bvec2\n"
11976 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011977 " (declare (in) vec2 x)\n"
11978 " (declare (in) vec2 y))\n"
11979 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011980 " (signature bvec3\n"
11981 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011982 " (declare (in) vec3 x)\n"
11983 " (declare (in) vec3 y))\n"
11984 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011985 " (signature bvec4\n"
11986 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011987 " (declare (in) vec4 x)\n"
11988 " (declare (in) vec4 y))\n"
11989 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011990 " (signature bvec2\n"
11991 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011992 " (declare (in) ivec2 x)\n"
11993 " (declare (in) ivec2 y))\n"
11994 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011995 " (signature bvec3\n"
11996 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011997 " (declare (in) ivec3 x)\n"
11998 " (declare (in) ivec3 y))\n"
11999 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012000 " (signature bvec4\n"
12001 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012002 " (declare (in) ivec4 x)\n"
12003 " (declare (in) ivec4 y))\n"
12004 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012005 " (signature bvec2\n"
12006 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012007 " (declare (in) uvec2 x)\n"
12008 " (declare (in) uvec2 y))\n"
12009 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012010 " (signature bvec3\n"
12011 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012012 " (declare (in) uvec3 x)\n"
12013 " (declare (in) uvec3 y))\n"
12014 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012015 " (signature bvec4\n"
12016 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012017 " (declare (in) uvec4 x)\n"
12018 " (declare (in) uvec4 y))\n"
12019 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012020 " (signature bvec2\n"
12021 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012022 " (declare (in) bvec2 x)\n"
12023 " (declare (in) bvec2 y))\n"
12024 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012025 " (signature bvec3\n"
12026 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012027 " (declare (in) bvec3 x)\n"
12028 " (declare (in) bvec3 y))\n"
12029 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012030 " (signature bvec4\n"
12031 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012032 " (declare (in) bvec4 x)\n"
12033 " (declare (in) bvec4 y))\n"
12034 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012035 "(function any\n"
12036 " (signature bool\n"
12037 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012038 " (declare (in) bvec2 x))\n"
12039 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012040 " (signature bool\n"
12041 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012042 " (declare (in) bvec3 x))\n"
12043 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012044 " (signature bool\n"
12045 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012046 " (declare (in) bvec4 x))\n"
12047 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012048 "(function all\n"
12049 " (signature bool\n"
12050 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012051 " (declare (in) bvec2 x))\n"
12052 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012053 " (signature bool\n"
12054 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012055 " (declare (in) bvec3 x))\n"
12056 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012057 " (signature bool\n"
12058 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012059 " (declare (in) bvec4 x))\n"
12060 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012061 "(function not\n"
12062 " (signature bvec2\n"
12063 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012064 " (declare (in) bvec2 x))\n"
12065 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012066 " (signature bvec3\n"
12067 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012068 " (declare (in) bvec3 x))\n"
12069 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012070 " (signature bvec4\n"
12071 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012072 " (declare (in) bvec4 x))\n"
12073 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012074 "(function texture\n"
12075 " (signature vec4\n"
12076 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012077 " (declare (in) sampler1D sampler)\n"
12078 " (declare (in) float P))\n"
12079 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012080 " (signature ivec4\n"
12081 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012082 " (declare (in) isampler1D sampler)\n"
12083 " (declare (in) float P))\n"
12084 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012085 " (signature uvec4\n"
12086 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012087 " (declare (in) usampler1D sampler)\n"
12088 " (declare (in) float P))\n"
12089 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012090 " (signature vec4\n"
12091 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012092 " (declare (in) sampler2D sampler)\n"
12093 " (declare (in) vec2 P))\n"
12094 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012095 " (signature ivec4\n"
12096 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012097 " (declare (in) isampler2D sampler)\n"
12098 " (declare (in) vec2 P))\n"
12099 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012100 " (signature uvec4\n"
12101 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012102 " (declare (in) usampler2D sampler)\n"
12103 " (declare (in) vec2 P))\n"
12104 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012105 " (signature vec4\n"
12106 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012107 " (declare (in) sampler3D sampler)\n"
12108 " (declare (in) vec3 P))\n"
12109 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012110 " (signature ivec4\n"
12111 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012112 " (declare (in) isampler3D sampler)\n"
12113 " (declare (in) vec3 P))\n"
12114 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012115 " (signature uvec4\n"
12116 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012117 " (declare (in) usampler3D sampler)\n"
12118 " (declare (in) vec3 P))\n"
12119 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012120 " (signature vec4\n"
12121 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012122 " (declare (in) samplerCube sampler)\n"
12123 " (declare (in) vec3 P))\n"
12124 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012125 " (signature ivec4\n"
12126 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012127 " (declare (in) isamplerCube sampler)\n"
12128 " (declare (in) vec3 P))\n"
12129 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012130 " (signature uvec4\n"
12131 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012132 " (declare (in) usamplerCube sampler)\n"
12133 " (declare (in) vec3 P))\n"
12134 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012135 " (signature float\n"
12136 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012137 " (declare (in) sampler1DShadow sampler)\n"
12138 " (declare (in) vec3 P))\n"
12139 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012140 " (signature float\n"
12141 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012142 " (declare (in) sampler2DShadow sampler)\n"
12143 " (declare (in) vec3 P))\n"
12144 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012145 " (signature float\n"
12146 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012147 " (declare (in) samplerCubeShadow sampler)\n"
12148 " (declare (in) vec4 P))\n"
12149 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012150 " (signature vec4\n"
12151 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012152 " (declare (in) sampler1DArray sampler)\n"
12153 " (declare (in) vec2 P))\n"
12154 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012155 " (signature ivec4\n"
12156 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012157 " (declare (in) isampler1DArray sampler)\n"
12158 " (declare (in) vec2 P))\n"
12159 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012160 " (signature uvec4\n"
12161 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012162 " (declare (in) usampler1DArray sampler)\n"
12163 " (declare (in) vec2 P))\n"
12164 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012165 " (signature vec4\n"
12166 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012167 " (declare (in) sampler2DArray sampler)\n"
12168 " (declare (in) vec3 P))\n"
12169 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012170 " (signature ivec4\n"
12171 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012172 " (declare (in) isampler2DArray sampler)\n"
12173 " (declare (in) vec3 P))\n"
12174 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012175 " (signature uvec4\n"
12176 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012177 " (declare (in) usampler2DArray sampler)\n"
12178 " (declare (in) vec3 P))\n"
12179 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012180 " (signature float\n"
12181 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012182 " (declare (in) sampler1DArrayShadow sampler)\n"
12183 " (declare (in) vec3 P))\n"
12184 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012185 " (signature float\n"
12186 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012187 " (declare (in) sampler2DArrayShadow sampler)\n"
12188 " (declare (in) vec4 P))\n"
12189 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012190 " (signature vec4\n"
12191 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012192 " (declare (in) sampler1D sampler)\n"
12193 " (declare (in) float P)\n"
12194 " (declare (in) float bias))\n"
12195 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012196 " (signature ivec4\n"
12197 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012198 " (declare (in) isampler1D sampler)\n"
12199 " (declare (in) float P)\n"
12200 " (declare (in) float bias))\n"
12201 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012202 " (signature uvec4\n"
12203 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012204 " (declare (in) usampler1D sampler)\n"
12205 " (declare (in) float P)\n"
12206 " (declare (in) float bias))\n"
12207 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012208 " (signature vec4\n"
12209 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012210 " (declare (in) sampler2D sampler)\n"
12211 " (declare (in) vec2 P)\n"
12212 " (declare (in) float bias))\n"
12213 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012214 " (signature ivec4\n"
12215 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012216 " (declare (in) isampler2D sampler)\n"
12217 " (declare (in) vec2 P)\n"
12218 " (declare (in) float bias))\n"
12219 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012220 " (signature uvec4\n"
12221 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012222 " (declare (in) usampler2D sampler)\n"
12223 " (declare (in) vec2 P)\n"
12224 " (declare (in) float bias))\n"
12225 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012226 " (signature vec4\n"
12227 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012228 " (declare (in) sampler3D sampler)\n"
12229 " (declare (in) vec3 P)\n"
12230 " (declare (in) float bias))\n"
12231 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012232 " (signature ivec4\n"
12233 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012234 " (declare (in) isampler3D sampler)\n"
12235 " (declare (in) vec3 P)\n"
12236 " (declare (in) float bias))\n"
12237 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012238 " (signature uvec4\n"
12239 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012240 " (declare (in) usampler3D sampler)\n"
12241 " (declare (in) vec3 P)\n"
12242 " (declare (in) float bias))\n"
12243 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012244 " (signature vec4\n"
12245 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012246 " (declare (in) samplerCube sampler)\n"
12247 " (declare (in) vec3 P)\n"
12248 " (declare (in) float bias))\n"
12249 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012250 " (signature ivec4\n"
12251 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012252 " (declare (in) isamplerCube sampler)\n"
12253 " (declare (in) vec3 P)\n"
12254 " (declare (in) float bias))\n"
12255 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012256 " (signature uvec4\n"
12257 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012258 " (declare (in) usamplerCube sampler)\n"
12259 " (declare (in) vec3 P)\n"
12260 " (declare (in) float bias))\n"
12261 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012262 " (signature float\n"
12263 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012264 " (declare (in) sampler1DShadow sampler)\n"
12265 " (declare (in) vec3 P)\n"
12266 " (declare (in) float bias))\n"
12267 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012268 " (signature float\n"
12269 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012270 " (declare (in) sampler2DShadow sampler)\n"
12271 " (declare (in) vec3 P)\n"
12272 " (declare (in) float bias))\n"
12273 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012274 " (signature float\n"
12275 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012276 " (declare (in) samplerCubeShadow sampler)\n"
12277 " (declare (in) vec4 P)\n"
12278 " (declare (in) float bias))\n"
12279 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012280 " (signature vec4\n"
12281 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012282 " (declare (in) sampler1DArray sampler)\n"
12283 " (declare (in) vec2 P)\n"
12284 " (declare (in) float bias))\n"
12285 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012286 " (signature ivec4\n"
12287 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012288 " (declare (in) isampler1DArray sampler)\n"
12289 " (declare (in) vec2 P)\n"
12290 " (declare (in) float bias))\n"
12291 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012292 " (signature uvec4\n"
12293 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012294 " (declare (in) usampler1DArray sampler)\n"
12295 " (declare (in) vec2 P)\n"
12296 " (declare (in) float bias))\n"
12297 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012298 " (signature vec4\n"
12299 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012300 " (declare (in) sampler2DArray sampler)\n"
12301 " (declare (in) vec3 P)\n"
12302 " (declare (in) float bias))\n"
12303 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012304 " (signature ivec4\n"
12305 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012306 " (declare (in) isampler2DArray sampler)\n"
12307 " (declare (in) vec3 P)\n"
12308 " (declare (in) float bias))\n"
12309 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012310 " (signature uvec4\n"
12311 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012312 " (declare (in) usampler2DArray sampler)\n"
12313 " (declare (in) vec3 P)\n"
12314 " (declare (in) float bias))\n"
12315 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012316 " (signature float\n"
12317 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012318 " (declare (in) sampler1DArrayShadow sampler)\n"
12319 " (declare (in) vec3 P)\n"
12320 " (declare (in) float bias))\n"
12321 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012322 "(function textureProj\n"
12323 " (signature vec4\n"
12324 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012325 " (declare (in) sampler1D sampler)\n"
12326 " (declare (in) vec2 P))\n"
12327 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012328 " (signature ivec4\n"
12329 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012330 " (declare (in) isampler1D sampler)\n"
12331 " (declare (in) vec2 P))\n"
12332 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012333 " (signature uvec4\n"
12334 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012335 " (declare (in) usampler1D sampler)\n"
12336 " (declare (in) vec2 P))\n"
12337 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012338 " (signature vec4\n"
12339 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012340 " (declare (in) sampler1D sampler)\n"
12341 " (declare (in) vec4 P))\n"
12342 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012343 " (signature ivec4\n"
12344 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012345 " (declare (in) isampler1D sampler)\n"
12346 " (declare (in) vec4 P))\n"
12347 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012348 " (signature uvec4\n"
12349 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012350 " (declare (in) usampler1D sampler)\n"
12351 " (declare (in) vec4 P))\n"
12352 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012353 " (signature vec4\n"
12354 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012355 " (declare (in) sampler2D sampler)\n"
12356 " (declare (in) vec3 P))\n"
12357 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012358 " (signature ivec4\n"
12359 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012360 " (declare (in) isampler2D sampler)\n"
12361 " (declare (in) vec3 P))\n"
12362 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012363 " (signature uvec4\n"
12364 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012365 " (declare (in) usampler2D sampler)\n"
12366 " (declare (in) vec3 P))\n"
12367 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012368 " (signature vec4\n"
12369 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012370 " (declare (in) sampler2D sampler)\n"
12371 " (declare (in) vec4 P))\n"
12372 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012373 " (signature ivec4\n"
12374 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012375 " (declare (in) isampler2D sampler)\n"
12376 " (declare (in) vec4 P))\n"
12377 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012378 " (signature uvec4\n"
12379 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012380 " (declare (in) usampler2D sampler)\n"
12381 " (declare (in) vec4 P))\n"
12382 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012383 " (signature vec4\n"
12384 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012385 " (declare (in) sampler3D sampler)\n"
12386 " (declare (in) vec4 P))\n"
12387 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012388 " (signature ivec4\n"
12389 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012390 " (declare (in) isampler3D sampler)\n"
12391 " (declare (in) vec4 P))\n"
12392 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012393 " (signature uvec4\n"
12394 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012395 " (declare (in) usampler3D sampler)\n"
12396 " (declare (in) vec4 P))\n"
12397 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012398 " (signature float\n"
12399 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012400 " (declare (in) sampler1DShadow sampler)\n"
12401 " (declare (in) vec4 P))\n"
12402 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012403 " (signature float\n"
12404 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012405 " (declare (in) sampler2DShadow sampler)\n"
12406 " (declare (in) vec4 P))\n"
12407 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012408 " (signature vec4\n"
12409 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012410 " (declare (in) sampler1D sampler)\n"
12411 " (declare (in) vec2 P)\n"
12412 " (declare (in) float bias))\n"
12413 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012414 " (signature ivec4\n"
12415 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012416 " (declare (in) isampler1D sampler)\n"
12417 " (declare (in) vec2 P)\n"
12418 " (declare (in) float bias))\n"
12419 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012420 " (signature uvec4\n"
12421 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012422 " (declare (in) usampler1D sampler)\n"
12423 " (declare (in) vec2 P)\n"
12424 " (declare (in) float bias))\n"
12425 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012426 " (signature vec4\n"
12427 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012428 " (declare (in) sampler1D sampler)\n"
12429 " (declare (in) vec4 P)\n"
12430 " (declare (in) float bias))\n"
12431 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012432 " (signature ivec4\n"
12433 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012434 " (declare (in) isampler1D sampler)\n"
12435 " (declare (in) vec4 P)\n"
12436 " (declare (in) float bias))\n"
12437 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012438 " (signature uvec4\n"
12439 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012440 " (declare (in) usampler1D sampler)\n"
12441 " (declare (in) vec4 P)\n"
12442 " (declare (in) float bias))\n"
12443 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012444 " (signature vec4\n"
12445 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012446 " (declare (in) sampler2D sampler)\n"
12447 " (declare (in) vec3 P)\n"
12448 " (declare (in) float bias))\n"
12449 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012450 " (signature ivec4\n"
12451 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012452 " (declare (in) isampler2D sampler)\n"
12453 " (declare (in) vec3 P)\n"
12454 " (declare (in) float bias))\n"
12455 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012456 " (signature uvec4\n"
12457 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012458 " (declare (in) usampler2D sampler)\n"
12459 " (declare (in) vec3 P)\n"
12460 " (declare (in) float bias))\n"
12461 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012462 " (signature vec4\n"
12463 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012464 " (declare (in) sampler2D sampler)\n"
12465 " (declare (in) vec4 P)\n"
12466 " (declare (in) float bias))\n"
12467 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012468 " (signature ivec4\n"
12469 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012470 " (declare (in) isampler2D sampler)\n"
12471 " (declare (in) vec4 P)\n"
12472 " (declare (in) float bias))\n"
12473 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012474 " (signature uvec4\n"
12475 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012476 " (declare (in) usampler2D sampler)\n"
12477 " (declare (in) vec4 P)\n"
12478 " (declare (in) float bias))\n"
12479 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012480 " (signature vec4\n"
12481 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012482 " (declare (in) sampler3D sampler)\n"
12483 " (declare (in) vec4 P)\n"
12484 " (declare (in) float bias))\n"
12485 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012486 " (signature ivec4\n"
12487 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012488 " (declare (in) isampler3D sampler)\n"
12489 " (declare (in) vec4 P)\n"
12490 " (declare (in) float bias))\n"
12491 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012492 " (signature uvec4\n"
12493 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012494 " (declare (in) usampler3D sampler)\n"
12495 " (declare (in) vec4 P)\n"
12496 " (declare (in) float bias))\n"
12497 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012498 " (signature float\n"
12499 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012500 " (declare (in) sampler1DShadow sampler)\n"
12501 " (declare (in) vec4 P)\n"
12502 " (declare (in) float bias))\n"
12503 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012504 " (signature float\n"
12505 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012506 " (declare (in) sampler2DShadow sampler)\n"
12507 " (declare (in) vec4 P)\n"
12508 " (declare (in) float bias))\n"
12509 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012510 "(function textureLod\n"
12511 " (signature vec4\n"
12512 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012513 " (declare (in) sampler1D sampler)\n"
12514 " (declare (in) float P)\n"
12515 " (declare (in) float lod))\n"
12516 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012517 " (signature ivec4\n"
12518 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012519 " (declare (in) isampler1D sampler)\n"
12520 " (declare (in) float P)\n"
12521 " (declare (in) float lod))\n"
12522 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012523 " (signature uvec4\n"
12524 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012525 " (declare (in) usampler1D sampler)\n"
12526 " (declare (in) float P)\n"
12527 " (declare (in) float lod))\n"
12528 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012529 " (signature vec4\n"
12530 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012531 " (declare (in) sampler2D sampler)\n"
12532 " (declare (in) vec2 P)\n"
12533 " (declare (in) float lod))\n"
12534 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012535 " (signature ivec4\n"
12536 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012537 " (declare (in) isampler2D sampler)\n"
12538 " (declare (in) vec2 P)\n"
12539 " (declare (in) float lod))\n"
12540 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012541 " (signature uvec4\n"
12542 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012543 " (declare (in) usampler2D sampler)\n"
12544 " (declare (in) vec2 P)\n"
12545 " (declare (in) float lod))\n"
12546 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012547 " (signature vec4\n"
12548 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012549 " (declare (in) sampler3D sampler)\n"
12550 " (declare (in) vec3 P)\n"
12551 " (declare (in) float lod))\n"
12552 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012553 " (signature ivec4\n"
12554 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012555 " (declare (in) isampler3D sampler)\n"
12556 " (declare (in) vec3 P)\n"
12557 " (declare (in) float lod))\n"
12558 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012559 " (signature uvec4\n"
12560 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012561 " (declare (in) usampler3D sampler)\n"
12562 " (declare (in) vec3 P)\n"
12563 " (declare (in) float lod))\n"
12564 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012565 " (signature vec4\n"
12566 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012567 " (declare (in) samplerCube sampler)\n"
12568 " (declare (in) vec3 P)\n"
12569 " (declare (in) float lod))\n"
12570 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012571 " (signature ivec4\n"
12572 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012573 " (declare (in) isamplerCube sampler)\n"
12574 " (declare (in) vec3 P)\n"
12575 " (declare (in) float lod))\n"
12576 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012577 " (signature uvec4\n"
12578 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012579 " (declare (in) usamplerCube sampler)\n"
12580 " (declare (in) vec3 P)\n"
12581 " (declare (in) float lod))\n"
12582 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012583 " (signature float\n"
12584 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012585 " (declare (in) sampler1DShadow sampler)\n"
12586 " (declare (in) vec3 P)\n"
12587 " (declare (in) float lod))\n"
12588 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012589 " (signature float\n"
12590 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012591 " (declare (in) sampler2DShadow sampler)\n"
12592 " (declare (in) vec3 P)\n"
12593 " (declare (in) float lod))\n"
12594 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012595 " (signature vec4\n"
12596 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012597 " (declare (in) sampler1DArray sampler)\n"
12598 " (declare (in) vec2 P)\n"
12599 " (declare (in) float lod))\n"
12600 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012601 " (signature ivec4\n"
12602 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012603 " (declare (in) isampler1DArray sampler)\n"
12604 " (declare (in) vec2 P)\n"
12605 " (declare (in) float lod))\n"
12606 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012607 " (signature uvec4\n"
12608 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012609 " (declare (in) usampler1DArray sampler)\n"
12610 " (declare (in) vec2 P)\n"
12611 " (declare (in) float lod))\n"
12612 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012613 " (signature vec4\n"
12614 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012615 " (declare (in) sampler2DArray sampler)\n"
12616 " (declare (in) vec3 P)\n"
12617 " (declare (in) float lod))\n"
12618 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012619 " (signature ivec4\n"
12620 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012621 " (declare (in) isampler2DArray sampler)\n"
12622 " (declare (in) vec3 P)\n"
12623 " (declare (in) float lod))\n"
12624 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012625 " (signature uvec4\n"
12626 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012627 " (declare (in) usampler2DArray sampler)\n"
12628 " (declare (in) vec3 P)\n"
12629 " (declare (in) float lod))\n"
12630 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012631 " (signature float\n"
12632 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012633 " (declare (in) sampler1DArrayShadow sampler)\n"
12634 " (declare (in) vec3 P)\n"
12635 " (declare (in) float lod))\n"
12636 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012637 "(function texelFetch\n"
12638 " (signature vec4\n"
12639 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012640 " (declare (in) sampler1D sampler)\n"
12641 " (declare (in) int P)\n"
12642 " (declare (in) int lod))\n"
12643 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012644 " (signature ivec4\n"
12645 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012646 " (declare (in) isampler1D sampler)\n"
12647 " (declare (in) int P)\n"
12648 " (declare (in) int lod))\n"
12649 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012650 " (signature uvec4\n"
12651 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012652 " (declare (in) usampler1D sampler)\n"
12653 " (declare (in) int P)\n"
12654 " (declare (in) int lod))\n"
12655 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012656 " (signature vec4\n"
12657 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012658 " (declare (in) sampler2D sampler)\n"
12659 " (declare (in) ivec2 P)\n"
12660 " (declare (in) int lod))\n"
12661 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012662 " (signature ivec4\n"
12663 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012664 " (declare (in) isampler2D sampler)\n"
12665 " (declare (in) ivec2 P)\n"
12666 " (declare (in) int lod))\n"
12667 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012668 " (signature uvec4\n"
12669 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012670 " (declare (in) usampler2D sampler)\n"
12671 " (declare (in) ivec2 P)\n"
12672 " (declare (in) int lod))\n"
12673 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012674 " (signature vec4\n"
12675 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012676 " (declare (in) sampler3D sampler)\n"
12677 " (declare (in) ivec3 P)\n"
12678 " (declare (in) int lod))\n"
12679 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012680 " (signature ivec4\n"
12681 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012682 " (declare (in) isampler3D sampler)\n"
12683 " (declare (in) ivec3 P)\n"
12684 " (declare (in) int lod))\n"
12685 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012686 " (signature uvec4\n"
12687 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012688 " (declare (in) usampler3D sampler)\n"
12689 " (declare (in) ivec3 P)\n"
12690 " (declare (in) int lod))\n"
12691 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012692 " (signature vec4\n"
12693 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012694 " (declare (in) sampler1DArray sampler)\n"
12695 " (declare (in) ivec2 P)\n"
12696 " (declare (in) int lod))\n"
12697 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012698 " (signature ivec4\n"
12699 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012700 " (declare (in) isampler1DArray sampler)\n"
12701 " (declare (in) ivec2 P)\n"
12702 " (declare (in) int lod))\n"
12703 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012704 " (signature uvec4\n"
12705 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012706 " (declare (in) usampler1DArray sampler)\n"
12707 " (declare (in) ivec2 P)\n"
12708 " (declare (in) int lod))\n"
12709 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012710 " (signature vec4\n"
12711 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012712 " (declare (in) sampler2DArray sampler)\n"
12713 " (declare (in) ivec3 P)\n"
12714 " (declare (in) int lod))\n"
12715 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012716 " (signature ivec4\n"
12717 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012718 " (declare (in) isampler2DArray sampler)\n"
12719 " (declare (in) ivec3 P)\n"
12720 " (declare (in) int lod))\n"
12721 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012722 " (signature uvec4\n"
12723 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012724 " (declare (in) usampler2DArray sampler)\n"
12725 " (declare (in) ivec3 P)\n"
12726 " (declare (in) int lod))\n"
12727 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012728 "(function textureProjLod\n"
12729 " (signature vec4\n"
12730 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012731 " (declare (in) sampler1D sampler)\n"
12732 " (declare (in) vec2 P)\n"
12733 " (declare (in) float lod))\n"
12734 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012735 " (signature ivec4\n"
12736 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012737 " (declare (in) isampler1D sampler)\n"
12738 " (declare (in) vec2 P)\n"
12739 " (declare (in) float lod))\n"
12740 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012741 " (signature uvec4\n"
12742 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012743 " (declare (in) usampler1D sampler)\n"
12744 " (declare (in) vec2 P)\n"
12745 " (declare (in) float lod))\n"
12746 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012747 " (signature vec4\n"
12748 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012749 " (declare (in) sampler1D sampler)\n"
12750 " (declare (in) vec4 P)\n"
12751 " (declare (in) float lod))\n"
12752 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012753 " (signature ivec4\n"
12754 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012755 " (declare (in) isampler1D sampler)\n"
12756 " (declare (in) vec4 P)\n"
12757 " (declare (in) float lod))\n"
12758 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012759 " (signature uvec4\n"
12760 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012761 " (declare (in) usampler1D sampler)\n"
12762 " (declare (in) vec4 P)\n"
12763 " (declare (in) float lod))\n"
12764 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012765 " (signature vec4\n"
12766 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012767 " (declare (in) sampler2D sampler)\n"
12768 " (declare (in) vec3 P)\n"
12769 " (declare (in) float lod))\n"
12770 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012771 " (signature ivec4\n"
12772 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012773 " (declare (in) isampler2D sampler)\n"
12774 " (declare (in) vec3 P)\n"
12775 " (declare (in) float lod))\n"
12776 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012777 " (signature uvec4\n"
12778 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012779 " (declare (in) usampler2D sampler)\n"
12780 " (declare (in) vec3 P)\n"
12781 " (declare (in) float lod))\n"
12782 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012783 " (signature vec4\n"
12784 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012785 " (declare (in) sampler2D sampler)\n"
12786 " (declare (in) vec4 P)\n"
12787 " (declare (in) float lod))\n"
12788 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012789 " (signature ivec4\n"
12790 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012791 " (declare (in) isampler2D sampler)\n"
12792 " (declare (in) vec4 P)\n"
12793 " (declare (in) float lod))\n"
12794 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012795 " (signature uvec4\n"
12796 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012797 " (declare (in) usampler2D sampler)\n"
12798 " (declare (in) vec4 P)\n"
12799 " (declare (in) float lod))\n"
12800 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012801 " (signature vec4\n"
12802 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012803 " (declare (in) sampler3D sampler)\n"
12804 " (declare (in) vec4 P)\n"
12805 " (declare (in) float lod))\n"
12806 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012807 " (signature ivec4\n"
12808 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012809 " (declare (in) isampler3D sampler)\n"
12810 " (declare (in) vec4 P)\n"
12811 " (declare (in) float lod))\n"
12812 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012813 " (signature uvec4\n"
12814 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012815 " (declare (in) usampler3D sampler)\n"
12816 " (declare (in) vec4 P)\n"
12817 " (declare (in) float lod))\n"
12818 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012819 " (signature float\n"
12820 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012821 " (declare (in) sampler1DShadow sampler)\n"
12822 " (declare (in) vec4 P)\n"
12823 " (declare (in) float lod))\n"
12824 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012825 " (signature float\n"
12826 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012827 " (declare (in) sampler2DShadow sampler)\n"
12828 " (declare (in) vec4 P)\n"
12829 " (declare (in) float lod))\n"
12830 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012831 "(function textureGrad\n"
12832 " (signature vec4\n"
12833 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012834 " (declare (in) sampler1D sampler)\n"
12835 " (declare (in) float P)\n"
12836 " (declare (in) float dPdx)\n"
12837 " (declare (in) float dPdy))\n"
12838 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012839 " (signature ivec4\n"
12840 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012841 " (declare (in) isampler1D sampler)\n"
12842 " (declare (in) float P)\n"
12843 " (declare (in) float dPdx)\n"
12844 " (declare (in) float dPdy))\n"
12845 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012846 " (signature uvec4\n"
12847 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012848 " (declare (in) usampler1D sampler)\n"
12849 " (declare (in) float P)\n"
12850 " (declare (in) float dPdx)\n"
12851 " (declare (in) float dPdy))\n"
12852 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012853 " (signature vec4\n"
12854 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012855 " (declare (in) sampler2D sampler)\n"
12856 " (declare (in) vec2 P)\n"
12857 " (declare (in) vec2 dPdx)\n"
12858 " (declare (in) vec2 dPdy))\n"
12859 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012860 " (signature ivec4\n"
12861 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012862 " (declare (in) isampler2D sampler)\n"
12863 " (declare (in) vec2 P)\n"
12864 " (declare (in) vec2 dPdx)\n"
12865 " (declare (in) vec2 dPdy))\n"
12866 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012867 " (signature uvec4\n"
12868 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012869 " (declare (in) usampler2D sampler)\n"
12870 " (declare (in) vec2 P)\n"
12871 " (declare (in) vec2 dPdx)\n"
12872 " (declare (in) vec2 dPdy))\n"
12873 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012874 " (signature vec4\n"
12875 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012876 " (declare (in) sampler3D sampler)\n"
12877 " (declare (in) vec3 P)\n"
12878 " (declare (in) vec3 dPdx)\n"
12879 " (declare (in) vec3 dPdy))\n"
12880 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012881 " (signature ivec4\n"
12882 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012883 " (declare (in) isampler3D sampler)\n"
12884 " (declare (in) vec3 P)\n"
12885 " (declare (in) vec3 dPdx)\n"
12886 " (declare (in) vec3 dPdy))\n"
12887 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012888 " (signature uvec4\n"
12889 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012890 " (declare (in) usampler3D sampler)\n"
12891 " (declare (in) vec3 P)\n"
12892 " (declare (in) vec3 dPdx)\n"
12893 " (declare (in) vec3 dPdy))\n"
12894 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012895 " (signature vec4\n"
12896 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012897 " (declare (in) samplerCube sampler)\n"
12898 " (declare (in) vec3 P)\n"
12899 " (declare (in) vec3 dPdx)\n"
12900 " (declare (in) vec3 dPdy))\n"
12901 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012902 " (signature ivec4\n"
12903 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012904 " (declare (in) isamplerCube sampler)\n"
12905 " (declare (in) vec3 P)\n"
12906 " (declare (in) vec3 dPdx)\n"
12907 " (declare (in) vec3 dPdy))\n"
12908 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012909 " (signature uvec4\n"
12910 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012911 " (declare (in) usamplerCube sampler)\n"
12912 " (declare (in) vec3 P)\n"
12913 " (declare (in) vec3 dPdx)\n"
12914 " (declare (in) vec3 dPdy))\n"
12915 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012916 " (signature float\n"
12917 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012918 " (declare (in) sampler1DShadow sampler)\n"
12919 " (declare (in) vec3 P)\n"
12920 " (declare (in) float dPdx)\n"
12921 " (declare (in) float dPdy))\n"
12922 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012923 " (signature float\n"
12924 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012925 " (declare (in) sampler2DShadow sampler)\n"
12926 " (declare (in) vec3 P)\n"
12927 " (declare (in) vec2 dPdx)\n"
12928 " (declare (in) vec2 dPdy))\n"
12929 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012930 " (signature float\n"
12931 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012932 " (declare (in) samplerCubeShadow sampler)\n"
12933 " (declare (in) vec4 P)\n"
12934 " (declare (in) vec3 dPdx)\n"
12935 " (declare (in) vec3 dPdy))\n"
12936 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012937 " (signature vec4\n"
12938 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012939 " (declare (in) sampler1DArray sampler)\n"
12940 " (declare (in) vec2 P)\n"
12941 " (declare (in) float dPdx)\n"
12942 " (declare (in) float dPdy))\n"
12943 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012944 " (signature ivec4\n"
12945 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012946 " (declare (in) isampler1DArray sampler)\n"
12947 " (declare (in) vec2 P)\n"
12948 " (declare (in) float dPdx)\n"
12949 " (declare (in) float dPdy))\n"
12950 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012951 " (signature uvec4\n"
12952 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012953 " (declare (in) usampler1DArray sampler)\n"
12954 " (declare (in) vec2 P)\n"
12955 " (declare (in) float dPdx)\n"
12956 " (declare (in) float dPdy))\n"
12957 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012958 " (signature vec4\n"
12959 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012960 " (declare (in) sampler2DArray sampler)\n"
12961 " (declare (in) vec3 P)\n"
12962 " (declare (in) vec2 dPdx)\n"
12963 " (declare (in) vec2 dPdy))\n"
12964 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012965 " (signature ivec4\n"
12966 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012967 " (declare (in) isampler2DArray sampler)\n"
12968 " (declare (in) vec3 P)\n"
12969 " (declare (in) vec2 dPdx)\n"
12970 " (declare (in) vec2 dPdy))\n"
12971 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012972 " (signature uvec4\n"
12973 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012974 " (declare (in) usampler2DArray sampler)\n"
12975 " (declare (in) vec3 P)\n"
12976 " (declare (in) vec2 dPdx)\n"
12977 " (declare (in) vec2 dPdy))\n"
12978 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012979 " (signature float\n"
12980 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012981 " (declare (in) sampler1DArrayShadow sampler)\n"
12982 " (declare (in) vec3 P)\n"
12983 " (declare (in) float dPdx)\n"
12984 " (declare (in) float dPdy))\n"
12985 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012986 " (signature float\n"
12987 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012988 " (declare (in) sampler2DArrayShadow sampler)\n"
12989 " (declare (in) vec4 P)\n"
12990 " (declare (in) vec2 dPdx)\n"
12991 " (declare (in) vec2 dPdy))\n"
12992 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012993 "(function textureProjGrad\n"
12994 " (signature vec4\n"
12995 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012996 " (declare (in) sampler1D sampler)\n"
12997 " (declare (in) vec2 P)\n"
12998 " (declare (in) float dPdx)\n"
12999 " (declare (in) float dPdy))\n"
13000 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013001 " (signature ivec4\n"
13002 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013003 " (declare (in) isampler1D sampler)\n"
13004 " (declare (in) vec2 P)\n"
13005 " (declare (in) float dPdx)\n"
13006 " (declare (in) float dPdy))\n"
13007 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013008 " (signature uvec4\n"
13009 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013010 " (declare (in) usampler1D sampler)\n"
13011 " (declare (in) vec2 P)\n"
13012 " (declare (in) float dPdx)\n"
13013 " (declare (in) float dPdy))\n"
13014 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013015 " (signature vec4\n"
13016 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013017 " (declare (in) sampler1D sampler)\n"
13018 " (declare (in) vec4 P)\n"
13019 " (declare (in) float dPdx)\n"
13020 " (declare (in) float dPdy))\n"
13021 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013022 " (signature ivec4\n"
13023 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013024 " (declare (in) isampler1D sampler)\n"
13025 " (declare (in) vec4 P)\n"
13026 " (declare (in) float dPdx)\n"
13027 " (declare (in) float dPdy))\n"
13028 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013029 " (signature uvec4\n"
13030 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013031 " (declare (in) usampler1D sampler)\n"
13032 " (declare (in) vec4 P)\n"
13033 " (declare (in) float dPdx)\n"
13034 " (declare (in) float dPdy))\n"
13035 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013036 " (signature vec4\n"
13037 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013038 " (declare (in) sampler2D sampler)\n"
13039 " (declare (in) vec3 P)\n"
13040 " (declare (in) vec2 dPdx)\n"
13041 " (declare (in) vec2 dPdy))\n"
13042 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013043 " (signature ivec4\n"
13044 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013045 " (declare (in) isampler2D sampler)\n"
13046 " (declare (in) vec3 P)\n"
13047 " (declare (in) vec2 dPdx)\n"
13048 " (declare (in) vec2 dPdy))\n"
13049 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013050 " (signature uvec4\n"
13051 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013052 " (declare (in) usampler2D sampler)\n"
13053 " (declare (in) vec3 P)\n"
13054 " (declare (in) vec2 dPdx)\n"
13055 " (declare (in) vec2 dPdy))\n"
13056 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013057 " (signature vec4\n"
13058 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013059 " (declare (in) sampler2D sampler)\n"
13060 " (declare (in) vec4 P)\n"
13061 " (declare (in) vec2 dPdx)\n"
13062 " (declare (in) vec2 dPdy))\n"
13063 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013064 " (signature ivec4\n"
13065 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013066 " (declare (in) isampler2D sampler)\n"
13067 " (declare (in) vec4 P)\n"
13068 " (declare (in) vec2 dPdx)\n"
13069 " (declare (in) vec2 dPdy))\n"
13070 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013071 " (signature uvec4\n"
13072 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013073 " (declare (in) usampler2D sampler)\n"
13074 " (declare (in) vec4 P)\n"
13075 " (declare (in) vec2 dPdx)\n"
13076 " (declare (in) vec2 dPdy))\n"
13077 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013078 " (signature vec4\n"
13079 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013080 " (declare (in) sampler3D sampler)\n"
13081 " (declare (in) vec4 P)\n"
13082 " (declare (in) vec3 dPdx)\n"
13083 " (declare (in) vec3 dPdy))\n"
13084 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013085 " (signature ivec4\n"
13086 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013087 " (declare (in) isampler3D sampler)\n"
13088 " (declare (in) vec4 P)\n"
13089 " (declare (in) vec3 dPdx)\n"
13090 " (declare (in) vec3 dPdy))\n"
13091 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013092 " (signature uvec4\n"
13093 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013094 " (declare (in) usampler3D sampler)\n"
13095 " (declare (in) vec4 P)\n"
13096 " (declare (in) vec3 dPdx)\n"
13097 " (declare (in) vec3 dPdy))\n"
13098 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013099 " (signature float\n"
13100 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013101 " (declare (in) sampler1DShadow sampler)\n"
13102 " (declare (in) vec4 P)\n"
13103 " (declare (in) float dPdx)\n"
13104 " (declare (in) float dPdy))\n"
13105 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013106 " (signature float\n"
13107 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013108 " (declare (in) sampler2DShadow sampler)\n"
13109 " (declare (in) vec4 P)\n"
13110 " (declare (in) vec2 dPdx)\n"
13111 " (declare (in) vec2 dPdy))\n"
13112 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013113 "(function texture1D\n"
13114 " (signature vec4\n"
13115 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013116 " (declare (in) sampler1D sampler)\n"
13117 " (declare (in) float coord))\n"
13118 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013119 " (signature vec4\n"
13120 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013121 " (declare (in) sampler1D sampler)\n"
13122 " (declare (in) float coord)\n"
13123 " (declare (in) float bias))\n"
13124 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013125 "(function texture1DProj\n"
13126 " (signature vec4\n"
13127 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013128 " (declare (in) sampler1D sampler)\n"
13129 " (declare (in) vec2 coord))\n"
13130 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013131 " (signature vec4\n"
13132 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013133 " (declare (in) sampler1D sampler)\n"
13134 " (declare (in) vec4 coord))\n"
13135 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013136 " (signature vec4\n"
13137 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013138 " (declare (in) sampler1D sampler)\n"
13139 " (declare (in) vec2 coord)\n"
13140 " (declare (in) float bias))\n"
13141 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013142 " (signature vec4\n"
13143 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013144 " (declare (in) sampler1D sampler)\n"
13145 " (declare (in) vec4 coord)\n"
13146 " (declare (in) float bias))\n"
13147 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013148 "(function texture1DLod\n"
13149 " (signature vec4\n"
13150 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013151 " (declare (in) sampler1D sampler)\n"
13152 " (declare (in) float coord)\n"
13153 " (declare (in) float lod))\n"
13154 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013155 "(function texture1DProjLod\n"
13156 " (signature vec4\n"
13157 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013158 " (declare (in) sampler1D sampler)\n"
13159 " (declare (in) vec2 coord)\n"
13160 " (declare (in) float lod))\n"
13161 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013162 " (signature vec4\n"
13163 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013164 " (declare (in) sampler1D sampler)\n"
13165 " (declare (in) vec4 coord)\n"
13166 " (declare (in) float lod))\n"
13167 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013168 "(function texture2D\n"
13169 " (signature vec4\n"
13170 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013171 " (declare (in) sampler2D sampler)\n"
13172 " (declare (in) vec2 coord))\n"
13173 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013174 " (signature vec4\n"
13175 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013176 " (declare (in) sampler2D sampler)\n"
13177 " (declare (in) vec2 coord)\n"
13178 " (declare (in) float bias))\n"
13179 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013180 "(function texture2DProj\n"
13181 " (signature vec4\n"
13182 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013183 " (declare (in) sampler2D sampler)\n"
13184 " (declare (in) vec3 coord))\n"
13185 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013186 " (signature vec4\n"
13187 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013188 " (declare (in) sampler2D sampler)\n"
13189 " (declare (in) vec4 coord))\n"
13190 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013191 " (signature vec4\n"
13192 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013193 " (declare (in) sampler2D sampler)\n"
13194 " (declare (in) vec3 coord)\n"
13195 " (declare (in) float bias))\n"
13196 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013197 " (signature vec4\n"
13198 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013199 " (declare (in) sampler2D sampler)\n"
13200 " (declare (in) vec4 coord)\n"
13201 " (declare (in) float bias))\n"
13202 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013203 "(function texture2DLod\n"
13204 " (signature vec4\n"
13205 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013206 " (declare (in) sampler2D sampler)\n"
13207 " (declare (in) vec2 coord)\n"
13208 " (declare (in) float lod))\n"
13209 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013210 "(function texture2DProjLod\n"
13211 " (signature vec4\n"
13212 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013213 " (declare (in) sampler2D sampler)\n"
13214 " (declare (in) vec3 coord)\n"
13215 " (declare (in) float lod))\n"
13216 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013217 " (signature vec4\n"
13218 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013219 " (declare (in) sampler2D sampler)\n"
13220 " (declare (in) vec4 coord)\n"
13221 " (declare (in) float lod))\n"
13222 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013223 "(function texture3D\n"
13224 " (signature vec4\n"
13225 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013226 " (declare (in) sampler3D sampler)\n"
13227 " (declare (in) vec3 coord))\n"
13228 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013229 " (signature vec4\n"
13230 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013231 " (declare (in) sampler3D sampler)\n"
13232 " (declare (in) vec3 coord)\n"
13233 " (declare (in) float bias))\n"
13234 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013235 "(function texture3DProj\n"
13236 " (signature vec4\n"
13237 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013238 " (declare (in) sampler3D sampler)\n"
13239 " (declare (in) vec4 coord))\n"
13240 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013241 " (signature vec4\n"
13242 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013243 " (declare (in) sampler3D sampler)\n"
13244 " (declare (in) vec4 coord)\n"
13245 " (declare (in) float bias))\n"
13246 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013247 "(function texture3DLod\n"
13248 " (signature vec4\n"
13249 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013250 " (declare (in) sampler3D sampler)\n"
13251 " (declare (in) vec3 coord)\n"
13252 " (declare (in) float lod))\n"
13253 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013254 "(function texture3DProjLod\n"
13255 " (signature vec4\n"
13256 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013257 " (declare (in) sampler3D sampler)\n"
13258 " (declare (in) vec4 coord)\n"
13259 " (declare (in) float lod))\n"
13260 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013261 "(function textureCube\n"
13262 " (signature vec4\n"
13263 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013264 " (declare (in) samplerCube sampler)\n"
13265 " (declare (in) vec3 coord))\n"
13266 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013267 " (signature vec4\n"
13268 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013269 " (declare (in) samplerCube sampler)\n"
13270 " (declare (in) vec3 coord)\n"
13271 " (declare (in) float bias))\n"
13272 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013273 "(function textureCubeLod\n"
13274 " (signature vec4\n"
13275 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013276 " (declare (in) samplerCube sampler)\n"
13277 " (declare (in) vec3 coord)\n"
13278 " (declare (in) float lod))\n"
13279 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013280 "(function shadow1D\n"
13281 " (signature vec4\n"
13282 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013283 " (declare (in) sampler1DShadow sampler)\n"
13284 " (declare (in) vec3 coord))\n"
13285 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013286 " (signature vec4\n"
13287 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013288 " (declare (in) sampler1DShadow sampler)\n"
13289 " (declare (in) vec3 coord)\n"
13290 " (declare (in) float bias))\n"
13291 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013292 "(function shadow2D\n"
13293 " (signature vec4\n"
13294 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013295 " (declare (in) sampler2DShadow sampler)\n"
13296 " (declare (in) vec3 coord))\n"
13297 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013298 " (signature vec4\n"
13299 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013300 " (declare (in) sampler2DShadow sampler)\n"
13301 " (declare (in) vec3 coord)\n"
13302 " (declare (in) float bias))\n"
13303 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013304 "(function shadow1DProj\n"
13305 " (signature vec4\n"
13306 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013307 " (declare (in) sampler1DShadow sampler)\n"
13308 " (declare (in) vec4 coord))\n"
13309 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013310 " (signature vec4\n"
13311 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013312 " (declare (in) sampler1DShadow sampler)\n"
13313 " (declare (in) vec4 coord)\n"
13314 " (declare (in) float bias))\n"
13315 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013316 "(function shadow2DProj\n"
13317 " (signature vec4\n"
13318 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013319 " (declare (in) sampler2DShadow sampler)\n"
13320 " (declare (in) vec4 coord))\n"
13321 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013322 " (signature vec4\n"
13323 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013324 " (declare (in) sampler2DShadow sampler)\n"
13325 " (declare (in) vec4 coord)\n"
13326 " (declare (in) float bias))\n"
13327 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013328 "(function shadow1DLod\n"
13329 " (signature vec4\n"
13330 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013331 " (declare (in) sampler1DShadow sampler)\n"
13332 " (declare (in) vec3 coord)\n"
13333 " (declare (in) float lod))\n"
13334 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013335 "(function shadow2DLod\n"
13336 " (signature vec4\n"
13337 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013338 " (declare (in) sampler2DShadow sampler)\n"
13339 " (declare (in) vec3 coord)\n"
13340 " (declare (in) float lod))\n"
13341 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013342 "(function shadow1DProjLod\n"
13343 " (signature vec4\n"
13344 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013345 " (declare (in) sampler1DShadow sampler)\n"
13346 " (declare (in) vec4 coord)\n"
13347 " (declare (in) float lod))\n"
13348 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013349 "(function shadow2DProjLod\n"
13350 " (signature vec4\n"
13351 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013352 " (declare (in) sampler2DShadow sampler)\n"
13353 " (declare (in) vec4 coord)\n"
13354 " (declare (in) float lod))\n"
13355 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013356 "(function dFdx\n"
13357 " (signature float\n"
13358 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013359 " (declare (in) float p))\n"
13360 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013361 " (signature vec2\n"
13362 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013363 " (declare (in) vec2 p))\n"
13364 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013365 " (signature vec3\n"
13366 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013367 " (declare (in) vec3 p))\n"
13368 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013369 " (signature vec4\n"
13370 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013371 " (declare (in) vec4 p))\n"
13372 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013373 "(function dFdy\n"
13374 " (signature float\n"
13375 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013376 " (declare (in) float p))\n"
13377 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013378 " (signature vec2\n"
13379 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013380 " (declare (in) vec2 p))\n"
13381 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013382 " (signature vec3\n"
13383 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013384 " (declare (in) vec3 p))\n"
13385 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013386 " (signature vec4\n"
13387 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013388 " (declare (in) vec4 p))\n"
13389 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013390 "(function fwidth\n"
13391 " (signature float\n"
13392 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013393 " (declare (in) float p))\n"
13394 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013395 " (signature vec2\n"
13396 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013397 " (declare (in) vec2 p))\n"
13398 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013399 " (signature vec3\n"
13400 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013401 " (declare (in) vec3 p))\n"
13402 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013403 " (signature vec4\n"
13404 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013405 " (declare (in) vec4 p))\n"
13406 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013407 "(function noise1\n"
13408 " (signature float\n"
13409 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013410 " (declare (in) float x))\n"
13411 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013412 " (signature float\n"
13413 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013414 " (declare (in) vec2 x))\n"
13415 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013416 " (signature float\n"
13417 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013418 " (declare (in) vec3 x))\n"
13419 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013420 " (signature float\n"
13421 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013422 " (declare (in) vec4 x))\n"
13423 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013424 "(function noise2\n"
13425 " (signature vec2\n"
13426 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013427 " (declare (in) float x))\n"
13428 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013429 " (signature vec2\n"
13430 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013431 " (declare (in) vec2 x))\n"
13432 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013433 " (signature vec2\n"
13434 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013435 " (declare (in) vec3 x))\n"
13436 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013437 " (signature vec2\n"
13438 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013439 " (declare (in) vec4 x))\n"
13440 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013441 "(function noise3\n"
13442 " (signature vec3\n"
13443 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013444 " (declare (in) float x))\n"
13445 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013446 " (signature vec3\n"
13447 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013448 " (declare (in) vec2 x))\n"
13449 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013450 " (signature vec3\n"
13451 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013452 " (declare (in) vec3 x))\n"
13453 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013454 " (signature vec3\n"
13455 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013456 " (declare (in) vec4 x))\n"
13457 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013458 "(function noise4\n"
13459 " (signature vec4\n"
13460 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013461 " (declare (in) float x))\n"
13462 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013463 " (signature vec4\n"
13464 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013465 " (declare (in) vec2 x))\n"
13466 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013467 " (signature vec4\n"
13468 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013469 " (declare (in) vec3 x))\n"
13470 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013471 " (signature vec4\n"
13472 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013473 " (declare (in) vec4 x))\n"
13474 " ())))"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013475;
13476static const char *functions_for_130_frag [] = {
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013477 builtin_abs,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013478 builtin_acos,
Eric Anholt47003a82010-08-23 12:39:35 -070013479 builtin_all,
13480 builtin_any,
13481 builtin_asin,
13482 builtin_atan,
13483 builtin_ceil,
13484 builtin_clamp,
13485 builtin_cos,
13486 builtin_cosh,
13487 builtin_cross,
13488 builtin_dFdx,
13489 builtin_dFdy,
13490 builtin_degrees,
13491 builtin_distance,
13492 builtin_dot,
13493 builtin_equal,
13494 builtin_exp,
13495 builtin_exp2,
13496 builtin_faceforward,
13497 builtin_floor,
13498 builtin_fract,
13499 builtin_fwidth,
13500 builtin_greaterThan,
13501 builtin_greaterThanEqual,
13502 builtin_inversesqrt,
13503 builtin_length,
13504 builtin_lessThan,
13505 builtin_lessThanEqual,
13506 builtin_log,
13507 builtin_log2,
13508 builtin_matrixCompMult,
13509 builtin_max,
13510 builtin_min,
13511 builtin_mix,
13512 builtin_mod,
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013513 builtin_noise1,
13514 builtin_noise2,
13515 builtin_noise3,
Eric Anholt47003a82010-08-23 12:39:35 -070013516 builtin_noise4,
13517 builtin_normalize,
13518 builtin_not,
13519 builtin_notEqual,
13520 builtin_outerProduct,
13521 builtin_pow,
13522 builtin_radians,
13523 builtin_reflect,
13524 builtin_refract,
13525 builtin_shadow1D,
13526 builtin_shadow1DLod,
13527 builtin_shadow1DProj,
13528 builtin_shadow1DProjLod,
13529 builtin_shadow2D,
13530 builtin_shadow2DLod,
13531 builtin_shadow2DProj,
13532 builtin_shadow2DProjLod,
13533 builtin_sign,
13534 builtin_sin,
13535 builtin_sinh,
13536 builtin_smoothstep,
13537 builtin_sqrt,
13538 builtin_step,
13539 builtin_tan,
13540 builtin_tanh,
13541 builtin_texelFetch,
13542 builtin_texture,
13543 builtin_texture1D,
13544 builtin_texture1DLod,
13545 builtin_texture1DProj,
13546 builtin_texture1DProjLod,
13547 builtin_texture2D,
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013548 builtin_texture2DLod,
Eric Anholt47003a82010-08-23 12:39:35 -070013549 builtin_texture2DProj,
13550 builtin_texture2DProjLod,
13551 builtin_texture3D,
13552 builtin_texture3DLod,
13553 builtin_texture3DProj,
13554 builtin_texture3DProjLod,
13555 builtin_textureCube,
13556 builtin_textureCubeLod,
13557 builtin_textureGrad,
13558 builtin_textureLod,
13559 builtin_textureProj,
13560 builtin_textureProjGrad,
13561 builtin_textureProjLod,
13562 builtin_transpose,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070013563};
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013564static const char *prototypes_for_130_vert =
13565 "(\n"
13566 "(function radians\n"
13567 " (signature float\n"
13568 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013569 " (declare (in) float degrees))\n"
13570 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013571 " (signature vec2\n"
13572 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013573 " (declare (in) vec2 degrees))\n"
13574 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013575 " (signature vec3\n"
13576 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013577 " (declare (in) vec3 degrees))\n"
13578 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013579 " (signature vec4\n"
13580 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013581 " (declare (in) vec4 degrees))\n"
13582 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013583 "(function degrees\n"
13584 " (signature float\n"
13585 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013586 " (declare (in) float radians))\n"
13587 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013588 " (signature vec2\n"
13589 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013590 " (declare (in) vec2 radians))\n"
13591 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013592 " (signature vec3\n"
13593 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013594 " (declare (in) vec3 radians))\n"
13595 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013596 " (signature vec4\n"
13597 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013598 " (declare (in) vec4 radians))\n"
13599 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013600 "(function sin\n"
13601 " (signature float\n"
13602 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013603 " (declare (in) float angle))\n"
13604 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013605 " (signature vec2\n"
13606 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013607 " (declare (in) vec2 angle))\n"
13608 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013609 " (signature vec3\n"
13610 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013611 " (declare (in) vec3 angle))\n"
13612 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013613 " (signature vec4\n"
13614 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013615 " (declare (in) vec4 angle))\n"
13616 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013617 "(function cos\n"
13618 " (signature float\n"
13619 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013620 " (declare (in) float angle))\n"
13621 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013622 " (signature vec2\n"
13623 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013624 " (declare (in) vec2 angle))\n"
13625 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013626 " (signature vec3\n"
13627 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013628 " (declare (in) vec3 angle))\n"
13629 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013630 " (signature vec4\n"
13631 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013632 " (declare (in) vec4 angle))\n"
13633 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013634 "(function tan\n"
13635 " (signature float\n"
13636 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013637 " (declare (in) float angle))\n"
13638 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013639 " (signature vec2\n"
13640 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013641 " (declare (in) vec2 angle))\n"
13642 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013643 " (signature vec3\n"
13644 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013645 " (declare (in) vec3 angle))\n"
13646 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013647 " (signature vec4\n"
13648 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013649 " (declare (in) vec4 angle))\n"
13650 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013651 "(function asin\n"
13652 " (signature float\n"
13653 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013654 " (declare (in) float angle))\n"
13655 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013656 " (signature vec2\n"
13657 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013658 " (declare (in) vec2 angle))\n"
13659 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013660 " (signature vec3\n"
13661 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013662 " (declare (in) vec3 angle))\n"
13663 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013664 " (signature vec4\n"
13665 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013666 " (declare (in) vec4 angle))\n"
13667 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013668 "(function acos\n"
13669 " (signature float\n"
13670 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013671 " (declare (in) float angle))\n"
13672 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013673 " (signature vec2\n"
13674 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013675 " (declare (in) vec2 angle))\n"
13676 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013677 " (signature vec3\n"
13678 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013679 " (declare (in) vec3 angle))\n"
13680 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013681 " (signature vec4\n"
13682 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013683 " (declare (in) vec4 angle))\n"
13684 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013685 "(function atan\n"
13686 " (signature float\n"
13687 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013688 " (declare (in) float y)\n"
13689 " (declare (in) float x))\n"
13690 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013691 " (signature vec2\n"
13692 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013693 " (declare (in) vec2 y)\n"
13694 " (declare (in) vec2 x))\n"
13695 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013696 " (signature vec3\n"
13697 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013698 " (declare (in) vec3 y)\n"
13699 " (declare (in) vec3 x))\n"
13700 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013701 " (signature vec4\n"
13702 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013703 " (declare (in) vec4 y)\n"
13704 " (declare (in) vec4 x))\n"
13705 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013706 " (signature float\n"
13707 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013708 " (declare (in) float y_over_x))\n"
13709 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013710 " (signature vec2\n"
13711 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013712 " (declare (in) vec2 y_over_x))\n"
13713 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013714 " (signature vec3\n"
13715 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013716 " (declare (in) vec3 y_over_x))\n"
13717 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013718 " (signature vec4\n"
13719 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013720 " (declare (in) vec4 y_over_x))\n"
13721 " ()))\n"
13722 "(function sinh\n"
13723 " (signature float\n"
13724 " (parameters\n"
13725 " (declare (in) float x))\n"
13726 " ())\n"
13727 " (signature vec2\n"
13728 " (parameters\n"
13729 " (declare (in) vec2 x))\n"
13730 " ())\n"
13731 " (signature vec3\n"
13732 " (parameters\n"
13733 " (declare (in) vec3 x))\n"
13734 " ())\n"
13735 " (signature vec4\n"
13736 " (parameters\n"
13737 " (declare (in) vec4 x))\n"
13738 " ()))\n"
13739 "(function cosh\n"
13740 " (signature float\n"
13741 " (parameters\n"
13742 " (declare (in) float x))\n"
13743 " ())\n"
13744 " (signature vec2\n"
13745 " (parameters\n"
13746 " (declare (in) vec2 x))\n"
13747 " ())\n"
13748 " (signature vec3\n"
13749 " (parameters\n"
13750 " (declare (in) vec3 x))\n"
13751 " ())\n"
13752 " (signature vec4\n"
13753 " (parameters\n"
13754 " (declare (in) vec4 x))\n"
13755 " ()))\n"
13756 "(function tanh\n"
13757 " (signature float\n"
13758 " (parameters\n"
13759 " (declare (in) float x))\n"
13760 " ())\n"
13761 " (signature vec2\n"
13762 " (parameters\n"
13763 " (declare (in) vec2 x))\n"
13764 " ())\n"
13765 " (signature vec3\n"
13766 " (parameters\n"
13767 " (declare (in) vec3 x))\n"
13768 " ())\n"
13769 " (signature vec4\n"
13770 " (parameters\n"
13771 " (declare (in) vec4 x))\n"
13772 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013773 "(function pow\n"
13774 " (signature float\n"
13775 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013776 " (declare (in) float x)\n"
13777 " (declare (in) float y))\n"
13778 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013779 " (signature vec2\n"
13780 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013781 " (declare (in) vec2 x)\n"
13782 " (declare (in) vec2 y))\n"
13783 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013784 " (signature vec3\n"
13785 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013786 " (declare (in) vec3 x)\n"
13787 " (declare (in) vec3 y))\n"
13788 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013789 " (signature vec4\n"
13790 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013791 " (declare (in) vec4 x)\n"
13792 " (declare (in) vec4 y))\n"
13793 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013794 "(function exp\n"
13795 " (signature float\n"
13796 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013797 " (declare (in) float x))\n"
13798 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013799 " (signature vec2\n"
13800 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013801 " (declare (in) vec2 x))\n"
13802 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013803 " (signature vec3\n"
13804 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013805 " (declare (in) vec3 x))\n"
13806 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013807 " (signature vec4\n"
13808 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013809 " (declare (in) vec4 x))\n"
13810 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013811 "(function log\n"
13812 " (signature float\n"
13813 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013814 " (declare (in) float x))\n"
13815 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013816 " (signature vec2\n"
13817 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013818 " (declare (in) vec2 x))\n"
13819 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013820 " (signature vec3\n"
13821 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013822 " (declare (in) vec3 x))\n"
13823 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013824 " (signature vec4\n"
13825 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013826 " (declare (in) vec4 x))\n"
13827 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013828 "(function exp2\n"
13829 " (signature float\n"
13830 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013831 " (declare (in) float x))\n"
13832 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013833 " (signature vec2\n"
13834 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013835 " (declare (in) vec2 x))\n"
13836 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013837 " (signature vec3\n"
13838 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013839 " (declare (in) vec3 x))\n"
13840 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013841 " (signature vec4\n"
13842 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013843 " (declare (in) vec4 x))\n"
13844 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013845 "(function log2\n"
13846 " (signature float\n"
13847 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013848 " (declare (in) float x))\n"
13849 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013850 " (signature vec2\n"
13851 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013852 " (declare (in) vec2 x))\n"
13853 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013854 " (signature vec3\n"
13855 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013856 " (declare (in) vec3 x))\n"
13857 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013858 " (signature vec4\n"
13859 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013860 " (declare (in) vec4 x))\n"
13861 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013862 "(function sqrt\n"
13863 " (signature float\n"
13864 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013865 " (declare (in) float x))\n"
13866 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013867 " (signature vec2\n"
13868 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013869 " (declare (in) vec2 x))\n"
13870 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013871 " (signature vec3\n"
13872 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013873 " (declare (in) vec3 x))\n"
13874 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013875 " (signature vec4\n"
13876 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013877 " (declare (in) vec4 x))\n"
13878 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013879 "(function inversesqrt\n"
13880 " (signature float\n"
13881 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013882 " (declare (in) float x))\n"
13883 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013884 " (signature vec2\n"
13885 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013886 " (declare (in) vec2 x))\n"
13887 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013888 " (signature vec3\n"
13889 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013890 " (declare (in) vec3 x))\n"
13891 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013892 " (signature vec4\n"
13893 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013894 " (declare (in) vec4 x))\n"
13895 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013896 "(function abs\n"
13897 " (signature float\n"
13898 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013899 " (declare (in) float x))\n"
13900 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013901 " (signature vec2\n"
13902 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013903 " (declare (in) vec2 x))\n"
13904 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013905 " (signature vec3\n"
13906 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013907 " (declare (in) vec3 x))\n"
13908 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013909 " (signature vec4\n"
13910 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013911 " (declare (in) vec4 x))\n"
13912 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013913 " (signature int\n"
13914 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013915 " (declare (in) int x))\n"
13916 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013917 " (signature ivec2\n"
13918 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013919 " (declare (in) ivec2 x))\n"
13920 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013921 " (signature ivec3\n"
13922 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013923 " (declare (in) ivec3 x))\n"
13924 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013925 " (signature ivec4\n"
13926 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013927 " (declare (in) ivec4 x))\n"
13928 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013929 "(function sign\n"
13930 " (signature float\n"
13931 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013932 " (declare (in) float x))\n"
13933 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013934 " (signature vec2\n"
13935 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013936 " (declare (in) vec2 x))\n"
13937 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013938 " (signature vec3\n"
13939 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013940 " (declare (in) vec3 x))\n"
13941 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013942 " (signature vec4\n"
13943 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013944 " (declare (in) vec4 x))\n"
13945 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013946 " (signature int\n"
13947 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013948 " (declare (in) int x))\n"
13949 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013950 " (signature ivec2\n"
13951 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013952 " (declare (in) ivec2 x))\n"
13953 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013954 " (signature ivec3\n"
13955 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013956 " (declare (in) ivec3 x))\n"
13957 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013958 " (signature ivec4\n"
13959 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013960 " (declare (in) ivec4 x))\n"
13961 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013962 "(function floor\n"
13963 " (signature float\n"
13964 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013965 " (declare (in) float x))\n"
13966 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013967 " (signature vec2\n"
13968 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013969 " (declare (in) vec2 x))\n"
13970 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013971 " (signature vec3\n"
13972 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013973 " (declare (in) vec3 x))\n"
13974 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013975 " (signature vec4\n"
13976 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013977 " (declare (in) vec4 x))\n"
13978 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013979 "(function ceil\n"
13980 " (signature float\n"
13981 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013982 " (declare (in) float x))\n"
13983 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013984 " (signature vec2\n"
13985 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013986 " (declare (in) vec2 x))\n"
13987 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013988 " (signature vec3\n"
13989 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013990 " (declare (in) vec3 x))\n"
13991 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013992 " (signature vec4\n"
13993 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013994 " (declare (in) vec4 x))\n"
13995 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013996 "(function fract\n"
13997 " (signature float\n"
13998 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013999 " (declare (in) float x))\n"
14000 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014001 " (signature vec2\n"
14002 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014003 " (declare (in) vec2 x))\n"
14004 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014005 " (signature vec3\n"
14006 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014007 " (declare (in) vec3 x))\n"
14008 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014009 " (signature vec4\n"
14010 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014011 " (declare (in) vec4 x))\n"
14012 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014013 "(function mod\n"
14014 " (signature float\n"
14015 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014016 " (declare (in) float x)\n"
14017 " (declare (in) float y))\n"
14018 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014019 " (signature vec2\n"
14020 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014021 " (declare (in) vec2 x)\n"
14022 " (declare (in) float y))\n"
14023 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014024 " (signature vec3\n"
14025 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014026 " (declare (in) vec3 x)\n"
14027 " (declare (in) float y))\n"
14028 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014029 " (signature vec4\n"
14030 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014031 " (declare (in) vec4 x)\n"
14032 " (declare (in) float y))\n"
14033 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014034 " (signature vec2\n"
14035 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014036 " (declare (in) vec2 x)\n"
14037 " (declare (in) vec2 y))\n"
14038 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014039 " (signature vec3\n"
14040 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014041 " (declare (in) vec3 x)\n"
14042 " (declare (in) vec3 y))\n"
14043 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014044 " (signature vec4\n"
14045 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014046 " (declare (in) vec4 x)\n"
14047 " (declare (in) vec4 y))\n"
14048 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014049 "(function min\n"
14050 " (signature float\n"
14051 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014052 " (declare (in) float x)\n"
14053 " (declare (in) float y))\n"
14054 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014055 " (signature vec2\n"
14056 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014057 " (declare (in) vec2 x)\n"
14058 " (declare (in) vec2 y))\n"
14059 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014060 " (signature vec3\n"
14061 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014062 " (declare (in) vec3 x)\n"
14063 " (declare (in) vec3 y))\n"
14064 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014065 " (signature vec4\n"
14066 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014067 " (declare (in) vec4 x)\n"
14068 " (declare (in) vec4 y))\n"
14069 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014070 " (signature vec2\n"
14071 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014072 " (declare (in) vec2 x)\n"
14073 " (declare (in) float y))\n"
14074 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014075 " (signature vec3\n"
14076 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014077 " (declare (in) vec3 x)\n"
14078 " (declare (in) float y))\n"
14079 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014080 " (signature vec4\n"
14081 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014082 " (declare (in) vec4 x)\n"
14083 " (declare (in) float y))\n"
14084 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014085 " (signature int\n"
14086 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014087 " (declare (in) int x)\n"
14088 " (declare (in) int y))\n"
14089 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014090 " (signature ivec2\n"
14091 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014092 " (declare (in) ivec2 x)\n"
14093 " (declare (in) ivec2 y))\n"
14094 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014095 " (signature ivec3\n"
14096 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014097 " (declare (in) ivec3 x)\n"
14098 " (declare (in) ivec3 y))\n"
14099 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014100 " (signature ivec4\n"
14101 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014102 " (declare (in) ivec4 x)\n"
14103 " (declare (in) ivec4 y))\n"
14104 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014105 " (signature ivec2\n"
14106 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014107 " (declare (in) ivec2 x)\n"
14108 " (declare (in) int y))\n"
14109 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014110 " (signature ivec3\n"
14111 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014112 " (declare (in) ivec3 x)\n"
14113 " (declare (in) int y))\n"
14114 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014115 " (signature ivec4\n"
14116 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014117 " (declare (in) ivec4 x)\n"
14118 " (declare (in) int y))\n"
14119 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014120 " (signature uint\n"
14121 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014122 " (declare (in) uint x)\n"
14123 " (declare (in) uint y))\n"
14124 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014125 " (signature uvec2\n"
14126 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014127 " (declare (in) uvec2 x)\n"
14128 " (declare (in) uvec2 y))\n"
14129 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014130 " (signature uvec3\n"
14131 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014132 " (declare (in) uvec3 x)\n"
14133 " (declare (in) uvec3 y))\n"
14134 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014135 " (signature uvec4\n"
14136 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014137 " (declare (in) uvec4 x)\n"
14138 " (declare (in) uvec4 y))\n"
14139 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014140 " (signature uvec2\n"
14141 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014142 " (declare (in) uvec2 x)\n"
14143 " (declare (in) uint y))\n"
14144 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014145 " (signature uvec3\n"
14146 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014147 " (declare (in) uvec3 x)\n"
14148 " (declare (in) uint y))\n"
14149 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014150 " (signature uvec4\n"
14151 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014152 " (declare (in) uvec4 x)\n"
14153 " (declare (in) uint y))\n"
14154 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014155 "(function max\n"
14156 " (signature float\n"
14157 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014158 " (declare (in) float x)\n"
14159 " (declare (in) float y))\n"
14160 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014161 " (signature vec2\n"
14162 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014163 " (declare (in) vec2 x)\n"
14164 " (declare (in) vec2 y))\n"
14165 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014166 " (signature vec3\n"
14167 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014168 " (declare (in) vec3 x)\n"
14169 " (declare (in) vec3 y))\n"
14170 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014171 " (signature vec4\n"
14172 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014173 " (declare (in) vec4 x)\n"
14174 " (declare (in) vec4 y))\n"
14175 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014176 " (signature vec2\n"
14177 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014178 " (declare (in) vec2 x)\n"
14179 " (declare (in) float y))\n"
14180 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014181 " (signature vec3\n"
14182 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014183 " (declare (in) vec3 x)\n"
14184 " (declare (in) float y))\n"
14185 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014186 " (signature vec4\n"
14187 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014188 " (declare (in) vec4 x)\n"
14189 " (declare (in) float y))\n"
14190 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014191 " (signature int\n"
14192 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014193 " (declare (in) int x)\n"
14194 " (declare (in) int y))\n"
14195 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014196 " (signature ivec2\n"
14197 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014198 " (declare (in) ivec2 x)\n"
14199 " (declare (in) ivec2 y))\n"
14200 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014201 " (signature ivec3\n"
14202 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014203 " (declare (in) ivec3 x)\n"
14204 " (declare (in) ivec3 y))\n"
14205 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014206 " (signature ivec4\n"
14207 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014208 " (declare (in) ivec4 x)\n"
14209 " (declare (in) ivec4 y))\n"
14210 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014211 " (signature ivec2\n"
14212 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014213 " (declare (in) ivec2 x)\n"
14214 " (declare (in) int y))\n"
14215 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014216 " (signature ivec3\n"
14217 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014218 " (declare (in) ivec3 x)\n"
14219 " (declare (in) int y))\n"
14220 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014221 " (signature ivec4\n"
14222 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014223 " (declare (in) ivec4 x)\n"
14224 " (declare (in) int y))\n"
14225 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014226 " (signature uint\n"
14227 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014228 " (declare (in) uint x)\n"
14229 " (declare (in) uint y))\n"
14230 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014231 " (signature uvec2\n"
14232 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014233 " (declare (in) uvec2 x)\n"
14234 " (declare (in) uvec2 y))\n"
14235 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014236 " (signature uvec3\n"
14237 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014238 " (declare (in) uvec3 x)\n"
14239 " (declare (in) uvec3 y))\n"
14240 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014241 " (signature uvec4\n"
14242 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014243 " (declare (in) uvec4 x)\n"
14244 " (declare (in) uvec4 y))\n"
14245 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014246 " (signature uvec2\n"
14247 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014248 " (declare (in) uvec2 x)\n"
14249 " (declare (in) uint y))\n"
14250 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014251 " (signature uvec3\n"
14252 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014253 " (declare (in) uvec3 x)\n"
14254 " (declare (in) uint y))\n"
14255 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014256 " (signature uvec4\n"
14257 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014258 " (declare (in) uvec4 x)\n"
14259 " (declare (in) uint y))\n"
14260 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014261 "(function clamp\n"
14262 " (signature float\n"
14263 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014264 " (declare (in) float x)\n"
14265 " (declare (in) float minVal)\n"
14266 " (declare (in) float maxVal))\n"
14267 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014268 " (signature vec2\n"
14269 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014270 " (declare (in) vec2 x)\n"
14271 " (declare (in) vec2 minVal)\n"
14272 " (declare (in) vec2 maxVal))\n"
14273 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014274 " (signature vec3\n"
14275 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014276 " (declare (in) vec3 x)\n"
14277 " (declare (in) vec3 minVal)\n"
14278 " (declare (in) vec3 maxVal))\n"
14279 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014280 " (signature vec4\n"
14281 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014282 " (declare (in) vec4 x)\n"
14283 " (declare (in) vec4 minVal)\n"
14284 " (declare (in) vec4 maxVal))\n"
14285 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014286 " (signature vec2\n"
14287 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014288 " (declare (in) vec2 x)\n"
14289 " (declare (in) float minVal)\n"
14290 " (declare (in) float maxVal))\n"
14291 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014292 " (signature vec3\n"
14293 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014294 " (declare (in) vec3 x)\n"
14295 " (declare (in) float minVal)\n"
14296 " (declare (in) float maxVal))\n"
14297 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014298 " (signature vec4\n"
14299 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014300 " (declare (in) vec4 x)\n"
14301 " (declare (in) float minVal)\n"
14302 " (declare (in) float maxVal))\n"
14303 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014304 " (signature int\n"
14305 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014306 " (declare (in) int x)\n"
14307 " (declare (in) int minVal)\n"
14308 " (declare (in) int maxVal))\n"
14309 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014310 " (signature ivec2\n"
14311 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014312 " (declare (in) ivec2 x)\n"
14313 " (declare (in) ivec2 minVal)\n"
14314 " (declare (in) ivec2 maxVal))\n"
14315 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014316 " (signature ivec3\n"
14317 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014318 " (declare (in) ivec3 x)\n"
14319 " (declare (in) ivec3 minVal)\n"
14320 " (declare (in) ivec3 maxVal))\n"
14321 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014322 " (signature ivec4\n"
14323 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014324 " (declare (in) ivec4 x)\n"
14325 " (declare (in) ivec4 minVal)\n"
14326 " (declare (in) ivec4 maxVal))\n"
14327 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014328 " (signature ivec2\n"
14329 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014330 " (declare (in) ivec2 x)\n"
14331 " (declare (in) int minVal)\n"
14332 " (declare (in) int maxVal))\n"
14333 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014334 " (signature ivec3\n"
14335 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014336 " (declare (in) ivec3 x)\n"
14337 " (declare (in) int minVal)\n"
14338 " (declare (in) int maxVal))\n"
14339 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014340 " (signature ivec4\n"
14341 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014342 " (declare (in) ivec4 x)\n"
14343 " (declare (in) int minVal)\n"
14344 " (declare (in) int maxVal))\n"
14345 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014346 " (signature uint\n"
14347 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014348 " (declare (in) uint x)\n"
14349 " (declare (in) uint minVal)\n"
14350 " (declare (in) uint maxVal))\n"
14351 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014352 " (signature uvec2\n"
14353 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014354 " (declare (in) uvec2 x)\n"
14355 " (declare (in) uvec2 minVal)\n"
14356 " (declare (in) uvec2 maxVal))\n"
14357 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014358 " (signature uvec3\n"
14359 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014360 " (declare (in) uvec3 x)\n"
14361 " (declare (in) uvec3 minVal)\n"
14362 " (declare (in) uvec3 maxVal))\n"
14363 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014364 " (signature uvec4\n"
14365 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014366 " (declare (in) uvec4 x)\n"
14367 " (declare (in) uvec4 minVal)\n"
14368 " (declare (in) uvec4 maxVal))\n"
14369 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014370 " (signature uvec2\n"
14371 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014372 " (declare (in) uvec2 x)\n"
14373 " (declare (in) uint minVal)\n"
14374 " (declare (in) uint maxVal))\n"
14375 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014376 " (signature uvec3\n"
14377 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014378 " (declare (in) uvec3 x)\n"
14379 " (declare (in) uint minVal)\n"
14380 " (declare (in) uint maxVal))\n"
14381 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014382 " (signature uvec4\n"
14383 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014384 " (declare (in) uvec4 x)\n"
14385 " (declare (in) uint minVal)\n"
14386 " (declare (in) uint maxVal))\n"
14387 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014388 "(function mix\n"
14389 " (signature float\n"
14390 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014391 " (declare (in) float x)\n"
14392 " (declare (in) float y)\n"
14393 " (declare (in) float a))\n"
14394 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014395 " (signature vec2\n"
14396 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014397 " (declare (in) vec2 x)\n"
14398 " (declare (in) vec2 y)\n"
14399 " (declare (in) vec2 a))\n"
14400 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014401 " (signature vec3\n"
14402 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014403 " (declare (in) vec3 x)\n"
14404 " (declare (in) vec3 y)\n"
14405 " (declare (in) vec3 a))\n"
14406 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014407 " (signature vec4\n"
14408 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014409 " (declare (in) vec4 x)\n"
14410 " (declare (in) vec4 y)\n"
14411 " (declare (in) vec4 a))\n"
14412 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014413 " (signature vec2\n"
14414 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014415 " (declare (in) vec2 x)\n"
14416 " (declare (in) vec2 y)\n"
14417 " (declare (in) float a))\n"
14418 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014419 " (signature vec3\n"
14420 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014421 " (declare (in) vec3 x)\n"
14422 " (declare (in) vec3 y)\n"
14423 " (declare (in) float a))\n"
14424 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014425 " (signature vec4\n"
14426 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014427 " (declare (in) vec4 x)\n"
14428 " (declare (in) vec4 y)\n"
14429 " (declare (in) float a))\n"
14430 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014431 "(function step\n"
14432 " (signature float\n"
14433 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014434 " (declare (in) float edge)\n"
14435 " (declare (in) float x))\n"
14436 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014437 " (signature vec2\n"
14438 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014439 " (declare (in) vec2 edge)\n"
14440 " (declare (in) vec2 x))\n"
14441 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014442 " (signature vec3\n"
14443 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014444 " (declare (in) vec3 edge)\n"
14445 " (declare (in) vec3 x))\n"
14446 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014447 " (signature vec4\n"
14448 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014449 " (declare (in) vec4 edge)\n"
14450 " (declare (in) vec4 x))\n"
14451 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014452 " (signature vec2\n"
14453 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014454 " (declare (in) float edge)\n"
14455 " (declare (in) vec2 x))\n"
14456 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014457 " (signature vec3\n"
14458 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014459 " (declare (in) float edge)\n"
14460 " (declare (in) vec3 x))\n"
14461 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014462 " (signature vec4\n"
14463 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014464 " (declare (in) float edge)\n"
14465 " (declare (in) vec4 x))\n"
14466 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014467 "(function smoothstep\n"
14468 " (signature float\n"
14469 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014470 " (declare (in) float edge0)\n"
14471 " (declare (in) float edge1)\n"
14472 " (declare (in) float x))\n"
14473 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014474 " (signature vec2\n"
14475 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014476 " (declare (in) vec2 edge0)\n"
14477 " (declare (in) vec2 edge1)\n"
14478 " (declare (in) vec2 x))\n"
14479 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014480 " (signature vec3\n"
14481 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014482 " (declare (in) vec3 edge0)\n"
14483 " (declare (in) vec3 edge1)\n"
14484 " (declare (in) vec3 x))\n"
14485 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014486 " (signature vec4\n"
14487 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014488 " (declare (in) vec4 edge0)\n"
14489 " (declare (in) vec4 edge1)\n"
14490 " (declare (in) vec4 x))\n"
14491 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014492 " (signature vec2\n"
14493 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014494 " (declare (in) float edge0)\n"
14495 " (declare (in) float edge1)\n"
14496 " (declare (in) vec2 x))\n"
14497 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014498 " (signature vec3\n"
14499 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014500 " (declare (in) float edge0)\n"
14501 " (declare (in) float edge1)\n"
14502 " (declare (in) vec3 x))\n"
14503 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014504 " (signature vec4\n"
14505 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014506 " (declare (in) float edge0)\n"
14507 " (declare (in) float edge1)\n"
14508 " (declare (in) vec4 x))\n"
14509 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014510 "(function length\n"
14511 " (signature float\n"
14512 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014513 " (declare (in) float x))\n"
14514 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014515 " (signature float\n"
14516 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014517 " (declare (in) vec2 x))\n"
14518 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014519 " (signature float\n"
14520 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014521 " (declare (in) vec3 x))\n"
14522 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014523 " (signature float\n"
14524 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014525 " (declare (in) vec4 x))\n"
14526 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014527 "(function distance\n"
14528 " (signature float\n"
14529 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014530 " (declare (in) float p0)\n"
14531 " (declare (in) float p1))\n"
14532 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014533 " (signature float\n"
14534 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014535 " (declare (in) vec2 p0)\n"
14536 " (declare (in) vec2 p1))\n"
14537 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014538 " (signature float\n"
14539 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014540 " (declare (in) vec3 p0)\n"
14541 " (declare (in) vec3 p1))\n"
14542 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014543 " (signature float\n"
14544 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014545 " (declare (in) vec4 p0)\n"
14546 " (declare (in) vec4 p1))\n"
14547 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014548 "(function dot\n"
14549 " (signature float\n"
14550 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014551 " (declare (in) float x)\n"
14552 " (declare (in) float y))\n"
14553 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014554 " (signature float\n"
14555 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014556 " (declare (in) vec2 x)\n"
14557 " (declare (in) vec2 y))\n"
14558 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014559 " (signature float\n"
14560 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014561 " (declare (in) vec3 x)\n"
14562 " (declare (in) vec3 y))\n"
14563 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014564 " (signature float\n"
14565 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014566 " (declare (in) vec4 x)\n"
14567 " (declare (in) vec4 y))\n"
14568 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014569 "(function cross\n"
14570 " (signature vec3\n"
14571 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014572 " (declare (in) vec3 x)\n"
14573 " (declare (in) vec3 y))\n"
14574 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014575 "(function normalize\n"
14576 " (signature float\n"
14577 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014578 " (declare (in) float x))\n"
14579 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014580 " (signature vec2\n"
14581 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014582 " (declare (in) vec2 x))\n"
14583 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014584 " (signature vec3\n"
14585 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014586 " (declare (in) vec3 x))\n"
14587 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014588 " (signature vec4\n"
14589 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014590 " (declare (in) vec4 x))\n"
14591 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014592 "(function ftransform\n"
14593 " (signature vec4\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014594 " (parameters)\n"
14595 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014596 "(function faceforward\n"
14597 " (signature float\n"
14598 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014599 " (declare (in) float N)\n"
14600 " (declare (in) float I)\n"
14601 " (declare (in) float Nref))\n"
14602 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014603 " (signature vec2\n"
14604 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014605 " (declare (in) vec2 N)\n"
14606 " (declare (in) vec2 I)\n"
14607 " (declare (in) vec2 Nref))\n"
14608 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014609 " (signature vec3\n"
14610 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014611 " (declare (in) vec3 N)\n"
14612 " (declare (in) vec3 I)\n"
14613 " (declare (in) vec3 Nref))\n"
14614 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014615 " (signature vec4\n"
14616 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014617 " (declare (in) vec4 N)\n"
14618 " (declare (in) vec4 I)\n"
14619 " (declare (in) vec4 Nref))\n"
14620 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014621 "(function reflect\n"
14622 " (signature float\n"
14623 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014624 " (declare (in) float I)\n"
14625 " (declare (in) float N))\n"
14626 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014627 " (signature vec2\n"
14628 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014629 " (declare (in) vec2 I)\n"
14630 " (declare (in) vec2 N))\n"
14631 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014632 " (signature vec3\n"
14633 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014634 " (declare (in) vec3 I)\n"
14635 " (declare (in) vec3 N))\n"
14636 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014637 " (signature vec4\n"
14638 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014639 " (declare (in) vec4 I)\n"
14640 " (declare (in) vec4 N))\n"
14641 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014642 "(function refract\n"
14643 " (signature float\n"
14644 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014645 " (declare (in) float I)\n"
14646 " (declare (in) float N)\n"
14647 " (declare (in) float eta))\n"
14648 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014649 " (signature vec2\n"
14650 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014651 " (declare (in) vec2 I)\n"
14652 " (declare (in) vec2 N)\n"
14653 " (declare (in) float eta))\n"
14654 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014655 " (signature vec3\n"
14656 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014657 " (declare (in) vec3 I)\n"
14658 " (declare (in) vec3 N)\n"
14659 " (declare (in) float eta))\n"
14660 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014661 " (signature vec4\n"
14662 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014663 " (declare (in) vec4 I)\n"
14664 " (declare (in) vec4 N)\n"
14665 " (declare (in) float eta))\n"
14666 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014667 "(function matrixCompMult\n"
14668 " (signature mat2\n"
14669 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014670 " (declare (in) mat2 x)\n"
14671 " (declare (in) mat2 y))\n"
14672 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014673 " (signature mat3\n"
14674 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014675 " (declare (in) mat3 x)\n"
14676 " (declare (in) mat3 y))\n"
14677 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014678 " (signature mat4\n"
14679 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014680 " (declare (in) mat4 x)\n"
14681 " (declare (in) mat4 y))\n"
14682 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014683 " (signature mat2x3\n"
14684 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014685 " (declare (in) mat2x3 x)\n"
14686 " (declare (in) mat2x3 y))\n"
14687 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014688 " (signature mat2x4\n"
14689 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014690 " (declare (in) mat2x4 x)\n"
14691 " (declare (in) mat2x4 y))\n"
14692 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014693 " (signature mat3x2\n"
14694 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014695 " (declare (in) mat3x2 x)\n"
14696 " (declare (in) mat3x2 y))\n"
14697 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014698 " (signature mat3x4\n"
14699 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014700 " (declare (in) mat3x4 x)\n"
14701 " (declare (in) mat3x4 y))\n"
14702 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014703 " (signature mat4x2\n"
14704 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014705 " (declare (in) mat4x2 x)\n"
14706 " (declare (in) mat4x2 y))\n"
14707 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014708 " (signature mat4x3\n"
14709 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014710 " (declare (in) mat4x3 x)\n"
14711 " (declare (in) mat4x3 y))\n"
14712 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014713 "(function outerProduct\n"
14714 " (signature mat2\n"
14715 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014716 " (declare (in) vec2 c)\n"
14717 " (declare (in) vec2 r))\n"
14718 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014719 " (signature mat3\n"
14720 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014721 " (declare (in) vec3 c)\n"
14722 " (declare (in) vec3 r))\n"
14723 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014724 " (signature mat4\n"
14725 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014726 " (declare (in) vec4 c)\n"
14727 " (declare (in) vec4 r))\n"
14728 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014729 " (signature mat2x3\n"
14730 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014731 " (declare (in) vec3 c)\n"
14732 " (declare (in) vec2 r))\n"
14733 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014734 " (signature mat3x2\n"
14735 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014736 " (declare (in) vec2 c)\n"
14737 " (declare (in) vec3 r))\n"
14738 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014739 " (signature mat2x4\n"
14740 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014741 " (declare (in) vec4 c)\n"
14742 " (declare (in) vec2 r))\n"
14743 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014744 " (signature mat4x2\n"
14745 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014746 " (declare (in) vec2 c)\n"
14747 " (declare (in) vec4 r))\n"
14748 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014749 " (signature mat3x4\n"
14750 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014751 " (declare (in) vec4 c)\n"
14752 " (declare (in) vec3 r))\n"
14753 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014754 " (signature mat4x3\n"
14755 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014756 " (declare (in) vec3 c)\n"
14757 " (declare (in) vec4 r))\n"
14758 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014759 "(function transpose\n"
14760 " (signature mat2\n"
14761 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014762 " (declare (in) mat2 m))\n"
14763 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014764 " (signature mat3\n"
14765 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014766 " (declare (in) mat3 m))\n"
14767 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014768 " (signature mat4\n"
14769 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014770 " (declare (in) mat4 m))\n"
14771 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014772 " (signature mat2x3\n"
14773 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014774 " (declare (in) mat3x2 m))\n"
14775 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014776 " (signature mat3x2\n"
14777 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014778 " (declare (in) mat2x3 m))\n"
14779 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014780 " (signature mat2x4\n"
14781 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014782 " (declare (in) mat4x2 m))\n"
14783 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014784 " (signature mat4x2\n"
14785 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014786 " (declare (in) mat2x4 m))\n"
14787 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014788 " (signature mat3x4\n"
14789 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014790 " (declare (in) mat4x3 m))\n"
14791 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014792 " (signature mat4x3\n"
14793 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014794 " (declare (in) mat3x4 m))\n"
14795 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014796 "(function lessThan\n"
14797 " (signature bvec2\n"
14798 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014799 " (declare (in) vec2 x)\n"
14800 " (declare (in) vec2 y))\n"
14801 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014802 " (signature bvec3\n"
14803 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014804 " (declare (in) vec3 x)\n"
14805 " (declare (in) vec3 y))\n"
14806 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014807 " (signature bvec4\n"
14808 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014809 " (declare (in) vec4 x)\n"
14810 " (declare (in) vec4 y))\n"
14811 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014812 " (signature bvec2\n"
14813 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014814 " (declare (in) ivec2 x)\n"
14815 " (declare (in) ivec2 y))\n"
14816 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014817 " (signature bvec3\n"
14818 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014819 " (declare (in) ivec3 x)\n"
14820 " (declare (in) ivec3 y))\n"
14821 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014822 " (signature bvec4\n"
14823 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014824 " (declare (in) ivec4 x)\n"
14825 " (declare (in) ivec4 y))\n"
14826 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014827 " (signature bvec2\n"
14828 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014829 " (declare (in) uvec2 x)\n"
14830 " (declare (in) uvec2 y))\n"
14831 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014832 " (signature bvec3\n"
14833 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014834 " (declare (in) uvec3 x)\n"
14835 " (declare (in) uvec3 y))\n"
14836 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014837 " (signature bvec4\n"
14838 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014839 " (declare (in) uvec4 x)\n"
14840 " (declare (in) uvec4 y))\n"
14841 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014842 "(function lessThanEqual\n"
14843 " (signature bvec2\n"
14844 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014845 " (declare (in) vec2 x)\n"
14846 " (declare (in) vec2 y))\n"
14847 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014848 " (signature bvec3\n"
14849 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014850 " (declare (in) vec3 x)\n"
14851 " (declare (in) vec3 y))\n"
14852 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014853 " (signature bvec4\n"
14854 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014855 " (declare (in) vec4 x)\n"
14856 " (declare (in) vec4 y))\n"
14857 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014858 " (signature bvec2\n"
14859 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014860 " (declare (in) ivec2 x)\n"
14861 " (declare (in) ivec2 y))\n"
14862 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014863 " (signature bvec3\n"
14864 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014865 " (declare (in) ivec3 x)\n"
14866 " (declare (in) ivec3 y))\n"
14867 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014868 " (signature bvec4\n"
14869 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014870 " (declare (in) ivec4 x)\n"
14871 " (declare (in) ivec4 y))\n"
14872 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014873 " (signature bvec2\n"
14874 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014875 " (declare (in) uvec2 x)\n"
14876 " (declare (in) uvec2 y))\n"
14877 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014878 " (signature bvec3\n"
14879 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014880 " (declare (in) uvec3 x)\n"
14881 " (declare (in) uvec3 y))\n"
14882 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014883 " (signature bvec4\n"
14884 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014885 " (declare (in) uvec4 x)\n"
14886 " (declare (in) uvec4 y))\n"
14887 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014888 "(function greaterThan\n"
14889 " (signature bvec2\n"
14890 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014891 " (declare (in) vec2 x)\n"
14892 " (declare (in) vec2 y))\n"
14893 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014894 " (signature bvec3\n"
14895 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014896 " (declare (in) vec3 x)\n"
14897 " (declare (in) vec3 y))\n"
14898 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014899 " (signature bvec4\n"
14900 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014901 " (declare (in) vec4 x)\n"
14902 " (declare (in) vec4 y))\n"
14903 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014904 " (signature bvec2\n"
14905 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014906 " (declare (in) ivec2 x)\n"
14907 " (declare (in) ivec2 y))\n"
14908 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014909 " (signature bvec3\n"
14910 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014911 " (declare (in) ivec3 x)\n"
14912 " (declare (in) ivec3 y))\n"
14913 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014914 " (signature bvec4\n"
14915 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014916 " (declare (in) ivec4 x)\n"
14917 " (declare (in) ivec4 y))\n"
14918 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014919 " (signature bvec2\n"
14920 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014921 " (declare (in) uvec2 x)\n"
14922 " (declare (in) uvec2 y))\n"
14923 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014924 " (signature bvec3\n"
14925 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014926 " (declare (in) uvec3 x)\n"
14927 " (declare (in) uvec3 y))\n"
14928 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014929 " (signature bvec4\n"
14930 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014931 " (declare (in) uvec4 x)\n"
14932 " (declare (in) uvec4 y))\n"
14933 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014934 "(function greaterThanEqual\n"
14935 " (signature bvec2\n"
14936 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014937 " (declare (in) vec2 x)\n"
14938 " (declare (in) vec2 y))\n"
14939 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014940 " (signature bvec3\n"
14941 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014942 " (declare (in) vec3 x)\n"
14943 " (declare (in) vec3 y))\n"
14944 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014945 " (signature bvec4\n"
14946 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014947 " (declare (in) vec4 x)\n"
14948 " (declare (in) vec4 y))\n"
14949 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014950 " (signature bvec2\n"
14951 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014952 " (declare (in) ivec2 x)\n"
14953 " (declare (in) ivec2 y))\n"
14954 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014955 " (signature bvec3\n"
14956 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014957 " (declare (in) ivec3 x)\n"
14958 " (declare (in) ivec3 y))\n"
14959 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014960 " (signature bvec4\n"
14961 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014962 " (declare (in) ivec4 x)\n"
14963 " (declare (in) ivec4 y))\n"
14964 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014965 " (signature bvec2\n"
14966 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014967 " (declare (in) uvec2 x)\n"
14968 " (declare (in) uvec2 y))\n"
14969 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014970 " (signature bvec3\n"
14971 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014972 " (declare (in) uvec3 x)\n"
14973 " (declare (in) uvec3 y))\n"
14974 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014975 " (signature bvec4\n"
14976 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014977 " (declare (in) uvec4 x)\n"
14978 " (declare (in) uvec4 y))\n"
14979 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014980 "(function equal\n"
14981 " (signature bvec2\n"
14982 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014983 " (declare (in) vec2 x)\n"
14984 " (declare (in) vec2 y))\n"
14985 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014986 " (signature bvec3\n"
14987 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014988 " (declare (in) vec3 x)\n"
14989 " (declare (in) vec3 y))\n"
14990 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014991 " (signature bvec4\n"
14992 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014993 " (declare (in) vec4 x)\n"
14994 " (declare (in) vec4 y))\n"
14995 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014996 " (signature bvec2\n"
14997 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014998 " (declare (in) ivec2 x)\n"
14999 " (declare (in) ivec2 y))\n"
15000 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015001 " (signature bvec3\n"
15002 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015003 " (declare (in) ivec3 x)\n"
15004 " (declare (in) ivec3 y))\n"
15005 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015006 " (signature bvec4\n"
15007 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015008 " (declare (in) ivec4 x)\n"
15009 " (declare (in) ivec4 y))\n"
15010 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015011 " (signature bvec2\n"
15012 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015013 " (declare (in) uvec2 x)\n"
15014 " (declare (in) uvec2 y))\n"
15015 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015016 " (signature bvec3\n"
15017 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015018 " (declare (in) uvec3 x)\n"
15019 " (declare (in) uvec3 y))\n"
15020 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015021 " (signature bvec4\n"
15022 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015023 " (declare (in) uvec4 x)\n"
15024 " (declare (in) uvec4 y))\n"
15025 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015026 " (signature bvec2\n"
15027 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015028 " (declare (in) bvec2 x)\n"
15029 " (declare (in) bvec2 y))\n"
15030 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015031 " (signature bvec3\n"
15032 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015033 " (declare (in) bvec3 x)\n"
15034 " (declare (in) bvec3 y))\n"
15035 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015036 " (signature bvec4\n"
15037 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015038 " (declare (in) bvec4 x)\n"
15039 " (declare (in) bvec4 y))\n"
15040 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015041 "(function notEqual\n"
15042 " (signature bvec2\n"
15043 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015044 " (declare (in) vec2 x)\n"
15045 " (declare (in) vec2 y))\n"
15046 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015047 " (signature bvec3\n"
15048 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015049 " (declare (in) vec3 x)\n"
15050 " (declare (in) vec3 y))\n"
15051 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015052 " (signature bvec4\n"
15053 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015054 " (declare (in) vec4 x)\n"
15055 " (declare (in) vec4 y))\n"
15056 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015057 " (signature bvec2\n"
15058 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015059 " (declare (in) ivec2 x)\n"
15060 " (declare (in) ivec2 y))\n"
15061 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015062 " (signature bvec3\n"
15063 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015064 " (declare (in) ivec3 x)\n"
15065 " (declare (in) ivec3 y))\n"
15066 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015067 " (signature bvec4\n"
15068 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015069 " (declare (in) ivec4 x)\n"
15070 " (declare (in) ivec4 y))\n"
15071 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015072 " (signature bvec2\n"
15073 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015074 " (declare (in) uvec2 x)\n"
15075 " (declare (in) uvec2 y))\n"
15076 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015077 " (signature bvec3\n"
15078 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015079 " (declare (in) uvec3 x)\n"
15080 " (declare (in) uvec3 y))\n"
15081 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015082 " (signature bvec4\n"
15083 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015084 " (declare (in) uvec4 x)\n"
15085 " (declare (in) uvec4 y))\n"
15086 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015087 " (signature bvec2\n"
15088 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015089 " (declare (in) bvec2 x)\n"
15090 " (declare (in) bvec2 y))\n"
15091 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015092 " (signature bvec3\n"
15093 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015094 " (declare (in) bvec3 x)\n"
15095 " (declare (in) bvec3 y))\n"
15096 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015097 " (signature bvec4\n"
15098 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015099 " (declare (in) bvec4 x)\n"
15100 " (declare (in) bvec4 y))\n"
15101 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015102 "(function any\n"
15103 " (signature bool\n"
15104 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015105 " (declare (in) bvec2 x))\n"
15106 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015107 " (signature bool\n"
15108 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015109 " (declare (in) bvec3 x))\n"
15110 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015111 " (signature bool\n"
15112 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015113 " (declare (in) bvec4 x))\n"
15114 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015115 "(function all\n"
15116 " (signature bool\n"
15117 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015118 " (declare (in) bvec2 x))\n"
15119 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015120 " (signature bool\n"
15121 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015122 " (declare (in) bvec3 x))\n"
15123 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015124 " (signature bool\n"
15125 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015126 " (declare (in) bvec4 x))\n"
15127 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015128 "(function not\n"
15129 " (signature bvec2\n"
15130 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015131 " (declare (in) bvec2 x))\n"
15132 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015133 " (signature bvec3\n"
15134 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015135 " (declare (in) bvec3 x))\n"
15136 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015137 " (signature bvec4\n"
15138 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015139 " (declare (in) bvec4 x))\n"
15140 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015141 "(function texture\n"
15142 " (signature vec4\n"
15143 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015144 " (declare (in) sampler1D sampler)\n"
15145 " (declare (in) float P))\n"
15146 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015147 " (signature ivec4\n"
15148 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015149 " (declare (in) isampler1D sampler)\n"
15150 " (declare (in) float P))\n"
15151 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015152 " (signature uvec4\n"
15153 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015154 " (declare (in) usampler1D sampler)\n"
15155 " (declare (in) float P))\n"
15156 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015157 " (signature vec4\n"
15158 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015159 " (declare (in) sampler2D sampler)\n"
15160 " (declare (in) vec2 P))\n"
15161 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015162 " (signature ivec4\n"
15163 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015164 " (declare (in) isampler2D sampler)\n"
15165 " (declare (in) vec2 P))\n"
15166 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015167 " (signature uvec4\n"
15168 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015169 " (declare (in) usampler2D sampler)\n"
15170 " (declare (in) vec2 P))\n"
15171 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015172 " (signature vec4\n"
15173 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015174 " (declare (in) sampler3D sampler)\n"
15175 " (declare (in) vec3 P))\n"
15176 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015177 " (signature ivec4\n"
15178 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015179 " (declare (in) isampler3D sampler)\n"
15180 " (declare (in) vec3 P))\n"
15181 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015182 " (signature uvec4\n"
15183 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015184 " (declare (in) usampler3D sampler)\n"
15185 " (declare (in) vec3 P))\n"
15186 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015187 " (signature vec4\n"
15188 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015189 " (declare (in) samplerCube sampler)\n"
15190 " (declare (in) vec3 P))\n"
15191 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015192 " (signature ivec4\n"
15193 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015194 " (declare (in) isamplerCube sampler)\n"
15195 " (declare (in) vec3 P))\n"
15196 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015197 " (signature uvec4\n"
15198 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015199 " (declare (in) usamplerCube sampler)\n"
15200 " (declare (in) vec3 P))\n"
15201 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015202 " (signature float\n"
15203 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015204 " (declare (in) sampler1DShadow sampler)\n"
15205 " (declare (in) vec3 P))\n"
15206 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015207 " (signature float\n"
15208 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015209 " (declare (in) sampler2DShadow sampler)\n"
15210 " (declare (in) vec3 P))\n"
15211 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015212 " (signature float\n"
15213 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015214 " (declare (in) samplerCubeShadow sampler)\n"
15215 " (declare (in) vec4 P))\n"
15216 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015217 " (signature vec4\n"
15218 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015219 " (declare (in) sampler1DArray sampler)\n"
15220 " (declare (in) vec2 P))\n"
15221 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015222 " (signature ivec4\n"
15223 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015224 " (declare (in) isampler1DArray sampler)\n"
15225 " (declare (in) vec2 P))\n"
15226 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015227 " (signature uvec4\n"
15228 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015229 " (declare (in) usampler1DArray sampler)\n"
15230 " (declare (in) vec2 P))\n"
15231 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015232 " (signature vec4\n"
15233 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015234 " (declare (in) sampler2DArray sampler)\n"
15235 " (declare (in) vec3 P))\n"
15236 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015237 " (signature ivec4\n"
15238 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015239 " (declare (in) isampler2DArray sampler)\n"
15240 " (declare (in) vec3 P))\n"
15241 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015242 " (signature uvec4\n"
15243 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015244 " (declare (in) usampler2DArray sampler)\n"
15245 " (declare (in) vec3 P))\n"
15246 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015247 " (signature float\n"
15248 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015249 " (declare (in) sampler1DArrayShadow sampler)\n"
15250 " (declare (in) vec3 P))\n"
15251 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015252 " (signature float\n"
15253 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015254 " (declare (in) sampler2DArrayShadow sampler)\n"
15255 " (declare (in) vec4 P))\n"
15256 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015257 " (signature vec4\n"
15258 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015259 " (declare (in) sampler1D sampler)\n"
15260 " (declare (in) float P)\n"
15261 " (declare (in) float bias))\n"
15262 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015263 " (signature ivec4\n"
15264 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015265 " (declare (in) isampler1D sampler)\n"
15266 " (declare (in) float P)\n"
15267 " (declare (in) float bias))\n"
15268 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015269 " (signature uvec4\n"
15270 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015271 " (declare (in) usampler1D sampler)\n"
15272 " (declare (in) float P)\n"
15273 " (declare (in) float bias))\n"
15274 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015275 " (signature vec4\n"
15276 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015277 " (declare (in) sampler2D sampler)\n"
15278 " (declare (in) vec2 P)\n"
15279 " (declare (in) float bias))\n"
15280 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015281 " (signature ivec4\n"
15282 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015283 " (declare (in) isampler2D sampler)\n"
15284 " (declare (in) vec2 P)\n"
15285 " (declare (in) float bias))\n"
15286 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015287 " (signature uvec4\n"
15288 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015289 " (declare (in) usampler2D sampler)\n"
15290 " (declare (in) vec2 P)\n"
15291 " (declare (in) float bias))\n"
15292 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015293 " (signature vec4\n"
15294 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015295 " (declare (in) sampler3D sampler)\n"
15296 " (declare (in) vec3 P)\n"
15297 " (declare (in) float bias))\n"
15298 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015299 " (signature ivec4\n"
15300 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015301 " (declare (in) isampler3D sampler)\n"
15302 " (declare (in) vec3 P)\n"
15303 " (declare (in) float bias))\n"
15304 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015305 " (signature uvec4\n"
15306 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015307 " (declare (in) usampler3D sampler)\n"
15308 " (declare (in) vec3 P)\n"
15309 " (declare (in) float bias))\n"
15310 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015311 " (signature vec4\n"
15312 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015313 " (declare (in) samplerCube sampler)\n"
15314 " (declare (in) vec3 P)\n"
15315 " (declare (in) float bias))\n"
15316 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015317 " (signature ivec4\n"
15318 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015319 " (declare (in) isamplerCube sampler)\n"
15320 " (declare (in) vec3 P)\n"
15321 " (declare (in) float bias))\n"
15322 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015323 " (signature uvec4\n"
15324 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015325 " (declare (in) usamplerCube sampler)\n"
15326 " (declare (in) vec3 P)\n"
15327 " (declare (in) float bias))\n"
15328 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015329 " (signature float\n"
15330 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015331 " (declare (in) sampler1DShadow sampler)\n"
15332 " (declare (in) vec3 P)\n"
15333 " (declare (in) float bias))\n"
15334 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015335 " (signature float\n"
15336 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015337 " (declare (in) sampler2DShadow sampler)\n"
15338 " (declare (in) vec3 P)\n"
15339 " (declare (in) float bias))\n"
15340 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015341 " (signature float\n"
15342 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015343 " (declare (in) samplerCubeShadow sampler)\n"
15344 " (declare (in) vec4 P)\n"
15345 " (declare (in) float bias))\n"
15346 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015347 " (signature vec4\n"
15348 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015349 " (declare (in) sampler1DArray sampler)\n"
15350 " (declare (in) vec2 P)\n"
15351 " (declare (in) float bias))\n"
15352 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015353 " (signature ivec4\n"
15354 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015355 " (declare (in) isampler1DArray sampler)\n"
15356 " (declare (in) vec2 P)\n"
15357 " (declare (in) float bias))\n"
15358 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015359 " (signature uvec4\n"
15360 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015361 " (declare (in) usampler1DArray sampler)\n"
15362 " (declare (in) vec2 P)\n"
15363 " (declare (in) float bias))\n"
15364 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015365 " (signature vec4\n"
15366 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015367 " (declare (in) sampler2DArray sampler)\n"
15368 " (declare (in) vec3 P)\n"
15369 " (declare (in) float bias))\n"
15370 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015371 " (signature ivec4\n"
15372 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015373 " (declare (in) isampler2DArray sampler)\n"
15374 " (declare (in) vec3 P)\n"
15375 " (declare (in) float bias))\n"
15376 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015377 " (signature uvec4\n"
15378 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015379 " (declare (in) usampler2DArray sampler)\n"
15380 " (declare (in) vec3 P)\n"
15381 " (declare (in) float bias))\n"
15382 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015383 " (signature float\n"
15384 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015385 " (declare (in) sampler1DArrayShadow sampler)\n"
15386 " (declare (in) vec3 P)\n"
15387 " (declare (in) float bias))\n"
15388 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015389 "(function textureProj\n"
15390 " (signature vec4\n"
15391 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015392 " (declare (in) sampler1D sampler)\n"
15393 " (declare (in) vec2 P))\n"
15394 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015395 " (signature ivec4\n"
15396 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015397 " (declare (in) isampler1D sampler)\n"
15398 " (declare (in) vec2 P))\n"
15399 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015400 " (signature uvec4\n"
15401 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015402 " (declare (in) usampler1D sampler)\n"
15403 " (declare (in) vec2 P))\n"
15404 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015405 " (signature vec4\n"
15406 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015407 " (declare (in) sampler1D sampler)\n"
15408 " (declare (in) vec4 P))\n"
15409 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015410 " (signature ivec4\n"
15411 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015412 " (declare (in) isampler1D sampler)\n"
15413 " (declare (in) vec4 P))\n"
15414 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015415 " (signature uvec4\n"
15416 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015417 " (declare (in) usampler1D sampler)\n"
15418 " (declare (in) vec4 P))\n"
15419 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015420 " (signature vec4\n"
15421 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015422 " (declare (in) sampler2D sampler)\n"
15423 " (declare (in) vec3 P))\n"
15424 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015425 " (signature ivec4\n"
15426 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015427 " (declare (in) isampler2D sampler)\n"
15428 " (declare (in) vec3 P))\n"
15429 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015430 " (signature uvec4\n"
15431 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015432 " (declare (in) usampler2D sampler)\n"
15433 " (declare (in) vec3 P))\n"
15434 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015435 " (signature vec4\n"
15436 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015437 " (declare (in) sampler2D sampler)\n"
15438 " (declare (in) vec4 P))\n"
15439 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015440 " (signature ivec4\n"
15441 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015442 " (declare (in) isampler2D sampler)\n"
15443 " (declare (in) vec4 P))\n"
15444 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015445 " (signature uvec4\n"
15446 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015447 " (declare (in) usampler2D sampler)\n"
15448 " (declare (in) vec4 P))\n"
15449 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015450 " (signature vec4\n"
15451 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015452 " (declare (in) sampler3D sampler)\n"
15453 " (declare (in) vec4 P))\n"
15454 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015455 " (signature ivec4\n"
15456 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015457 " (declare (in) isampler3D sampler)\n"
15458 " (declare (in) vec4 P))\n"
15459 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015460 " (signature uvec4\n"
15461 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015462 " (declare (in) usampler3D sampler)\n"
15463 " (declare (in) vec4 P))\n"
15464 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015465 " (signature float\n"
15466 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015467 " (declare (in) sampler1DShadow sampler)\n"
15468 " (declare (in) vec4 P))\n"
15469 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015470 " (signature float\n"
15471 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015472 " (declare (in) sampler2DShadow sampler)\n"
15473 " (declare (in) vec4 P))\n"
15474 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015475 " (signature vec4\n"
15476 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015477 " (declare (in) sampler1D sampler)\n"
15478 " (declare (in) vec2 P)\n"
15479 " (declare (in) float bias))\n"
15480 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015481 " (signature ivec4\n"
15482 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015483 " (declare (in) isampler1D sampler)\n"
15484 " (declare (in) vec2 P)\n"
15485 " (declare (in) float bias))\n"
15486 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015487 " (signature uvec4\n"
15488 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015489 " (declare (in) usampler1D sampler)\n"
15490 " (declare (in) vec2 P)\n"
15491 " (declare (in) float bias))\n"
15492 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015493 " (signature vec4\n"
15494 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015495 " (declare (in) sampler1D sampler)\n"
15496 " (declare (in) vec4 P)\n"
15497 " (declare (in) float bias))\n"
15498 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015499 " (signature ivec4\n"
15500 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015501 " (declare (in) isampler1D sampler)\n"
15502 " (declare (in) vec4 P)\n"
15503 " (declare (in) float bias))\n"
15504 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015505 " (signature uvec4\n"
15506 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015507 " (declare (in) usampler1D sampler)\n"
15508 " (declare (in) vec4 P)\n"
15509 " (declare (in) float bias))\n"
15510 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015511 " (signature vec4\n"
15512 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015513 " (declare (in) sampler2D sampler)\n"
15514 " (declare (in) vec3 P)\n"
15515 " (declare (in) float bias))\n"
15516 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015517 " (signature ivec4\n"
15518 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015519 " (declare (in) isampler2D sampler)\n"
15520 " (declare (in) vec3 P)\n"
15521 " (declare (in) float bias))\n"
15522 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015523 " (signature uvec4\n"
15524 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015525 " (declare (in) usampler2D sampler)\n"
15526 " (declare (in) vec3 P)\n"
15527 " (declare (in) float bias))\n"
15528 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015529 " (signature vec4\n"
15530 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015531 " (declare (in) sampler2D sampler)\n"
15532 " (declare (in) vec4 P)\n"
15533 " (declare (in) float bias))\n"
15534 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015535 " (signature ivec4\n"
15536 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015537 " (declare (in) isampler2D sampler)\n"
15538 " (declare (in) vec4 P)\n"
15539 " (declare (in) float bias))\n"
15540 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015541 " (signature uvec4\n"
15542 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015543 " (declare (in) usampler2D sampler)\n"
15544 " (declare (in) vec4 P)\n"
15545 " (declare (in) float bias))\n"
15546 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015547 " (signature vec4\n"
15548 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015549 " (declare (in) sampler3D sampler)\n"
15550 " (declare (in) vec4 P)\n"
15551 " (declare (in) float bias))\n"
15552 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015553 " (signature ivec4\n"
15554 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015555 " (declare (in) isampler3D sampler)\n"
15556 " (declare (in) vec4 P)\n"
15557 " (declare (in) float bias))\n"
15558 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015559 " (signature uvec4\n"
15560 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015561 " (declare (in) usampler3D sampler)\n"
15562 " (declare (in) vec4 P)\n"
15563 " (declare (in) float bias))\n"
15564 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015565 " (signature float\n"
15566 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015567 " (declare (in) sampler1DShadow sampler)\n"
15568 " (declare (in) vec4 P)\n"
15569 " (declare (in) float bias))\n"
15570 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015571 " (signature float\n"
15572 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015573 " (declare (in) sampler2DShadow sampler)\n"
15574 " (declare (in) vec4 P)\n"
15575 " (declare (in) float bias))\n"
15576 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015577 "(function textureLod\n"
15578 " (signature vec4\n"
15579 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015580 " (declare (in) sampler1D sampler)\n"
15581 " (declare (in) float P)\n"
15582 " (declare (in) float lod))\n"
15583 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015584 " (signature ivec4\n"
15585 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015586 " (declare (in) isampler1D sampler)\n"
15587 " (declare (in) float P)\n"
15588 " (declare (in) float lod))\n"
15589 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015590 " (signature uvec4\n"
15591 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015592 " (declare (in) usampler1D sampler)\n"
15593 " (declare (in) float P)\n"
15594 " (declare (in) float lod))\n"
15595 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015596 " (signature vec4\n"
15597 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015598 " (declare (in) sampler2D sampler)\n"
15599 " (declare (in) vec2 P)\n"
15600 " (declare (in) float lod))\n"
15601 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015602 " (signature ivec4\n"
15603 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015604 " (declare (in) isampler2D sampler)\n"
15605 " (declare (in) vec2 P)\n"
15606 " (declare (in) float lod))\n"
15607 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015608 " (signature uvec4\n"
15609 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015610 " (declare (in) usampler2D sampler)\n"
15611 " (declare (in) vec2 P)\n"
15612 " (declare (in) float lod))\n"
15613 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015614 " (signature vec4\n"
15615 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015616 " (declare (in) sampler3D sampler)\n"
15617 " (declare (in) vec3 P)\n"
15618 " (declare (in) float lod))\n"
15619 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015620 " (signature ivec4\n"
15621 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015622 " (declare (in) isampler3D sampler)\n"
15623 " (declare (in) vec3 P)\n"
15624 " (declare (in) float lod))\n"
15625 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015626 " (signature uvec4\n"
15627 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015628 " (declare (in) usampler3D sampler)\n"
15629 " (declare (in) vec3 P)\n"
15630 " (declare (in) float lod))\n"
15631 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015632 " (signature vec4\n"
15633 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015634 " (declare (in) samplerCube sampler)\n"
15635 " (declare (in) vec3 P)\n"
15636 " (declare (in) float lod))\n"
15637 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015638 " (signature ivec4\n"
15639 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015640 " (declare (in) isamplerCube sampler)\n"
15641 " (declare (in) vec3 P)\n"
15642 " (declare (in) float lod))\n"
15643 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015644 " (signature uvec4\n"
15645 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015646 " (declare (in) usamplerCube sampler)\n"
15647 " (declare (in) vec3 P)\n"
15648 " (declare (in) float lod))\n"
15649 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015650 " (signature float\n"
15651 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015652 " (declare (in) sampler1DShadow sampler)\n"
15653 " (declare (in) vec3 P)\n"
15654 " (declare (in) float lod))\n"
15655 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015656 " (signature float\n"
15657 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015658 " (declare (in) sampler2DShadow sampler)\n"
15659 " (declare (in) vec3 P)\n"
15660 " (declare (in) float lod))\n"
15661 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015662 " (signature vec4\n"
15663 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015664 " (declare (in) sampler1DArray sampler)\n"
15665 " (declare (in) vec2 P)\n"
15666 " (declare (in) float lod))\n"
15667 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015668 " (signature ivec4\n"
15669 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015670 " (declare (in) isampler1DArray sampler)\n"
15671 " (declare (in) vec2 P)\n"
15672 " (declare (in) float lod))\n"
15673 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015674 " (signature uvec4\n"
15675 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015676 " (declare (in) usampler1DArray sampler)\n"
15677 " (declare (in) vec2 P)\n"
15678 " (declare (in) float lod))\n"
15679 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015680 " (signature vec4\n"
15681 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015682 " (declare (in) sampler2DArray sampler)\n"
15683 " (declare (in) vec3 P)\n"
15684 " (declare (in) float lod))\n"
15685 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015686 " (signature ivec4\n"
15687 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015688 " (declare (in) isampler2DArray sampler)\n"
15689 " (declare (in) vec3 P)\n"
15690 " (declare (in) float lod))\n"
15691 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015692 " (signature uvec4\n"
15693 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015694 " (declare (in) usampler2DArray sampler)\n"
15695 " (declare (in) vec3 P)\n"
15696 " (declare (in) float lod))\n"
15697 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015698 " (signature float\n"
15699 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015700 " (declare (in) sampler1DArrayShadow sampler)\n"
15701 " (declare (in) vec3 P)\n"
15702 " (declare (in) float lod))\n"
15703 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015704 "(function texelFetch\n"
15705 " (signature vec4\n"
15706 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015707 " (declare (in) sampler1D sampler)\n"
15708 " (declare (in) int P)\n"
15709 " (declare (in) int lod))\n"
15710 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015711 " (signature ivec4\n"
15712 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015713 " (declare (in) isampler1D sampler)\n"
15714 " (declare (in) int P)\n"
15715 " (declare (in) int lod))\n"
15716 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015717 " (signature uvec4\n"
15718 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015719 " (declare (in) usampler1D sampler)\n"
15720 " (declare (in) int P)\n"
15721 " (declare (in) int lod))\n"
15722 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015723 " (signature vec4\n"
15724 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015725 " (declare (in) sampler2D sampler)\n"
15726 " (declare (in) ivec2 P)\n"
15727 " (declare (in) int lod))\n"
15728 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015729 " (signature ivec4\n"
15730 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015731 " (declare (in) isampler2D sampler)\n"
15732 " (declare (in) ivec2 P)\n"
15733 " (declare (in) int lod))\n"
15734 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015735 " (signature uvec4\n"
15736 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015737 " (declare (in) usampler2D sampler)\n"
15738 " (declare (in) ivec2 P)\n"
15739 " (declare (in) int lod))\n"
15740 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015741 " (signature vec4\n"
15742 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015743 " (declare (in) sampler3D sampler)\n"
15744 " (declare (in) ivec3 P)\n"
15745 " (declare (in) int lod))\n"
15746 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015747 " (signature ivec4\n"
15748 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015749 " (declare (in) isampler3D sampler)\n"
15750 " (declare (in) ivec3 P)\n"
15751 " (declare (in) int lod))\n"
15752 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015753 " (signature uvec4\n"
15754 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015755 " (declare (in) usampler3D sampler)\n"
15756 " (declare (in) ivec3 P)\n"
15757 " (declare (in) int lod))\n"
15758 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015759 " (signature vec4\n"
15760 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015761 " (declare (in) sampler1DArray sampler)\n"
15762 " (declare (in) ivec2 P)\n"
15763 " (declare (in) int lod))\n"
15764 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015765 " (signature ivec4\n"
15766 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015767 " (declare (in) isampler1DArray sampler)\n"
15768 " (declare (in) ivec2 P)\n"
15769 " (declare (in) int lod))\n"
15770 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015771 " (signature uvec4\n"
15772 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015773 " (declare (in) usampler1DArray sampler)\n"
15774 " (declare (in) ivec2 P)\n"
15775 " (declare (in) int lod))\n"
15776 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015777 " (signature vec4\n"
15778 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015779 " (declare (in) sampler2DArray sampler)\n"
15780 " (declare (in) ivec3 P)\n"
15781 " (declare (in) int lod))\n"
15782 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015783 " (signature ivec4\n"
15784 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015785 " (declare (in) isampler2DArray sampler)\n"
15786 " (declare (in) ivec3 P)\n"
15787 " (declare (in) int lod))\n"
15788 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015789 " (signature uvec4\n"
15790 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015791 " (declare (in) usampler2DArray sampler)\n"
15792 " (declare (in) ivec3 P)\n"
15793 " (declare (in) int lod))\n"
15794 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015795 "(function textureProjLod\n"
15796 " (signature vec4\n"
15797 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015798 " (declare (in) sampler1D sampler)\n"
15799 " (declare (in) vec2 P)\n"
15800 " (declare (in) float lod))\n"
15801 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015802 " (signature ivec4\n"
15803 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015804 " (declare (in) isampler1D sampler)\n"
15805 " (declare (in) vec2 P)\n"
15806 " (declare (in) float lod))\n"
15807 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015808 " (signature uvec4\n"
15809 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015810 " (declare (in) usampler1D sampler)\n"
15811 " (declare (in) vec2 P)\n"
15812 " (declare (in) float lod))\n"
15813 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015814 " (signature vec4\n"
15815 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015816 " (declare (in) sampler1D sampler)\n"
15817 " (declare (in) vec4 P)\n"
15818 " (declare (in) float lod))\n"
15819 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015820 " (signature ivec4\n"
15821 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015822 " (declare (in) isampler1D sampler)\n"
15823 " (declare (in) vec4 P)\n"
15824 " (declare (in) float lod))\n"
15825 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015826 " (signature uvec4\n"
15827 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015828 " (declare (in) usampler1D sampler)\n"
15829 " (declare (in) vec4 P)\n"
15830 " (declare (in) float lod))\n"
15831 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015832 " (signature vec4\n"
15833 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015834 " (declare (in) sampler2D sampler)\n"
15835 " (declare (in) vec3 P)\n"
15836 " (declare (in) float lod))\n"
15837 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015838 " (signature ivec4\n"
15839 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015840 " (declare (in) isampler2D sampler)\n"
15841 " (declare (in) vec3 P)\n"
15842 " (declare (in) float lod))\n"
15843 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015844 " (signature uvec4\n"
15845 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015846 " (declare (in) usampler2D sampler)\n"
15847 " (declare (in) vec3 P)\n"
15848 " (declare (in) float lod))\n"
15849 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015850 " (signature vec4\n"
15851 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015852 " (declare (in) sampler2D sampler)\n"
15853 " (declare (in) vec4 P)\n"
15854 " (declare (in) float lod))\n"
15855 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015856 " (signature ivec4\n"
15857 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015858 " (declare (in) isampler2D sampler)\n"
15859 " (declare (in) vec4 P)\n"
15860 " (declare (in) float lod))\n"
15861 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015862 " (signature uvec4\n"
15863 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015864 " (declare (in) usampler2D sampler)\n"
15865 " (declare (in) vec4 P)\n"
15866 " (declare (in) float lod))\n"
15867 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015868 " (signature vec4\n"
15869 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015870 " (declare (in) sampler3D sampler)\n"
15871 " (declare (in) vec4 P)\n"
15872 " (declare (in) float lod))\n"
15873 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015874 " (signature ivec4\n"
15875 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015876 " (declare (in) isampler3D sampler)\n"
15877 " (declare (in) vec4 P)\n"
15878 " (declare (in) float lod))\n"
15879 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015880 " (signature uvec4\n"
15881 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015882 " (declare (in) usampler3D sampler)\n"
15883 " (declare (in) vec4 P)\n"
15884 " (declare (in) float lod))\n"
15885 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015886 " (signature float\n"
15887 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015888 " (declare (in) sampler1DShadow sampler)\n"
15889 " (declare (in) vec4 P)\n"
15890 " (declare (in) float lod))\n"
15891 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015892 " (signature float\n"
15893 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015894 " (declare (in) sampler2DShadow sampler)\n"
15895 " (declare (in) vec4 P)\n"
15896 " (declare (in) float lod))\n"
15897 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015898 "(function textureGrad\n"
15899 " (signature vec4\n"
15900 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015901 " (declare (in) sampler1D sampler)\n"
15902 " (declare (in) float P)\n"
15903 " (declare (in) float dPdx)\n"
15904 " (declare (in) float dPdy))\n"
15905 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015906 " (signature ivec4\n"
15907 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015908 " (declare (in) isampler1D sampler)\n"
15909 " (declare (in) float P)\n"
15910 " (declare (in) float dPdx)\n"
15911 " (declare (in) float dPdy))\n"
15912 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015913 " (signature uvec4\n"
15914 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015915 " (declare (in) usampler1D sampler)\n"
15916 " (declare (in) float P)\n"
15917 " (declare (in) float dPdx)\n"
15918 " (declare (in) float dPdy))\n"
15919 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015920 " (signature vec4\n"
15921 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015922 " (declare (in) sampler2D sampler)\n"
15923 " (declare (in) vec2 P)\n"
15924 " (declare (in) vec2 dPdx)\n"
15925 " (declare (in) vec2 dPdy))\n"
15926 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015927 " (signature ivec4\n"
15928 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015929 " (declare (in) isampler2D sampler)\n"
15930 " (declare (in) vec2 P)\n"
15931 " (declare (in) vec2 dPdx)\n"
15932 " (declare (in) vec2 dPdy))\n"
15933 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015934 " (signature uvec4\n"
15935 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015936 " (declare (in) usampler2D sampler)\n"
15937 " (declare (in) vec2 P)\n"
15938 " (declare (in) vec2 dPdx)\n"
15939 " (declare (in) vec2 dPdy))\n"
15940 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015941 " (signature vec4\n"
15942 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015943 " (declare (in) sampler3D sampler)\n"
15944 " (declare (in) vec3 P)\n"
15945 " (declare (in) vec3 dPdx)\n"
15946 " (declare (in) vec3 dPdy))\n"
15947 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015948 " (signature ivec4\n"
15949 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015950 " (declare (in) isampler3D sampler)\n"
15951 " (declare (in) vec3 P)\n"
15952 " (declare (in) vec3 dPdx)\n"
15953 " (declare (in) vec3 dPdy))\n"
15954 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015955 " (signature uvec4\n"
15956 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015957 " (declare (in) usampler3D sampler)\n"
15958 " (declare (in) vec3 P)\n"
15959 " (declare (in) vec3 dPdx)\n"
15960 " (declare (in) vec3 dPdy))\n"
15961 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015962 " (signature vec4\n"
15963 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015964 " (declare (in) samplerCube sampler)\n"
15965 " (declare (in) vec3 P)\n"
15966 " (declare (in) vec3 dPdx)\n"
15967 " (declare (in) vec3 dPdy))\n"
15968 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015969 " (signature ivec4\n"
15970 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015971 " (declare (in) isamplerCube sampler)\n"
15972 " (declare (in) vec3 P)\n"
15973 " (declare (in) vec3 dPdx)\n"
15974 " (declare (in) vec3 dPdy))\n"
15975 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015976 " (signature uvec4\n"
15977 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015978 " (declare (in) usamplerCube sampler)\n"
15979 " (declare (in) vec3 P)\n"
15980 " (declare (in) vec3 dPdx)\n"
15981 " (declare (in) vec3 dPdy))\n"
15982 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015983 " (signature float\n"
15984 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015985 " (declare (in) sampler1DShadow sampler)\n"
15986 " (declare (in) vec3 P)\n"
15987 " (declare (in) float dPdx)\n"
15988 " (declare (in) float dPdy))\n"
15989 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015990 " (signature float\n"
15991 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015992 " (declare (in) sampler2DShadow sampler)\n"
15993 " (declare (in) vec3 P)\n"
15994 " (declare (in) vec2 dPdx)\n"
15995 " (declare (in) vec2 dPdy))\n"
15996 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015997 " (signature float\n"
15998 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015999 " (declare (in) samplerCubeShadow sampler)\n"
16000 " (declare (in) vec4 P)\n"
16001 " (declare (in) vec3 dPdx)\n"
16002 " (declare (in) vec3 dPdy))\n"
16003 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016004 " (signature vec4\n"
16005 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016006 " (declare (in) sampler1DArray sampler)\n"
16007 " (declare (in) vec2 P)\n"
16008 " (declare (in) float dPdx)\n"
16009 " (declare (in) float dPdy))\n"
16010 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016011 " (signature ivec4\n"
16012 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016013 " (declare (in) isampler1DArray sampler)\n"
16014 " (declare (in) vec2 P)\n"
16015 " (declare (in) float dPdx)\n"
16016 " (declare (in) float dPdy))\n"
16017 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016018 " (signature uvec4\n"
16019 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016020 " (declare (in) usampler1DArray sampler)\n"
16021 " (declare (in) vec2 P)\n"
16022 " (declare (in) float dPdx)\n"
16023 " (declare (in) float dPdy))\n"
16024 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016025 " (signature vec4\n"
16026 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016027 " (declare (in) sampler2DArray sampler)\n"
16028 " (declare (in) vec3 P)\n"
16029 " (declare (in) vec2 dPdx)\n"
16030 " (declare (in) vec2 dPdy))\n"
16031 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016032 " (signature ivec4\n"
16033 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016034 " (declare (in) isampler2DArray sampler)\n"
16035 " (declare (in) vec3 P)\n"
16036 " (declare (in) vec2 dPdx)\n"
16037 " (declare (in) vec2 dPdy))\n"
16038 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016039 " (signature uvec4\n"
16040 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016041 " (declare (in) usampler2DArray sampler)\n"
16042 " (declare (in) vec3 P)\n"
16043 " (declare (in) vec2 dPdx)\n"
16044 " (declare (in) vec2 dPdy))\n"
16045 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016046 " (signature float\n"
16047 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016048 " (declare (in) sampler1DArrayShadow sampler)\n"
16049 " (declare (in) vec3 P)\n"
16050 " (declare (in) float dPdx)\n"
16051 " (declare (in) float dPdy))\n"
16052 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016053 " (signature float\n"
16054 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016055 " (declare (in) sampler2DArrayShadow sampler)\n"
16056 " (declare (in) vec4 P)\n"
16057 " (declare (in) vec2 dPdx)\n"
16058 " (declare (in) vec2 dPdy))\n"
16059 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016060 "(function textureProjGrad\n"
16061 " (signature vec4\n"
16062 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016063 " (declare (in) sampler1D sampler)\n"
16064 " (declare (in) vec2 P)\n"
16065 " (declare (in) float dPdx)\n"
16066 " (declare (in) float dPdy))\n"
16067 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016068 " (signature ivec4\n"
16069 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016070 " (declare (in) isampler1D sampler)\n"
16071 " (declare (in) vec2 P)\n"
16072 " (declare (in) float dPdx)\n"
16073 " (declare (in) float dPdy))\n"
16074 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016075 " (signature uvec4\n"
16076 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016077 " (declare (in) usampler1D sampler)\n"
16078 " (declare (in) vec2 P)\n"
16079 " (declare (in) float dPdx)\n"
16080 " (declare (in) float dPdy))\n"
16081 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016082 " (signature vec4\n"
16083 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016084 " (declare (in) sampler1D sampler)\n"
16085 " (declare (in) vec4 P)\n"
16086 " (declare (in) float dPdx)\n"
16087 " (declare (in) float dPdy))\n"
16088 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016089 " (signature ivec4\n"
16090 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016091 " (declare (in) isampler1D sampler)\n"
16092 " (declare (in) vec4 P)\n"
16093 " (declare (in) float dPdx)\n"
16094 " (declare (in) float dPdy))\n"
16095 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016096 " (signature uvec4\n"
16097 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016098 " (declare (in) usampler1D sampler)\n"
16099 " (declare (in) vec4 P)\n"
16100 " (declare (in) float dPdx)\n"
16101 " (declare (in) float dPdy))\n"
16102 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016103 " (signature vec4\n"
16104 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016105 " (declare (in) sampler2D sampler)\n"
16106 " (declare (in) vec3 P)\n"
16107 " (declare (in) vec2 dPdx)\n"
16108 " (declare (in) vec2 dPdy))\n"
16109 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016110 " (signature ivec4\n"
16111 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016112 " (declare (in) isampler2D sampler)\n"
16113 " (declare (in) vec3 P)\n"
16114 " (declare (in) vec2 dPdx)\n"
16115 " (declare (in) vec2 dPdy))\n"
16116 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016117 " (signature uvec4\n"
16118 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016119 " (declare (in) usampler2D sampler)\n"
16120 " (declare (in) vec3 P)\n"
16121 " (declare (in) vec2 dPdx)\n"
16122 " (declare (in) vec2 dPdy))\n"
16123 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016124 " (signature vec4\n"
16125 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016126 " (declare (in) sampler2D sampler)\n"
16127 " (declare (in) vec4 P)\n"
16128 " (declare (in) vec2 dPdx)\n"
16129 " (declare (in) vec2 dPdy))\n"
16130 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016131 " (signature ivec4\n"
16132 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016133 " (declare (in) isampler2D sampler)\n"
16134 " (declare (in) vec4 P)\n"
16135 " (declare (in) vec2 dPdx)\n"
16136 " (declare (in) vec2 dPdy))\n"
16137 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016138 " (signature uvec4\n"
16139 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016140 " (declare (in) usampler2D sampler)\n"
16141 " (declare (in) vec4 P)\n"
16142 " (declare (in) vec2 dPdx)\n"
16143 " (declare (in) vec2 dPdy))\n"
16144 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016145 " (signature vec4\n"
16146 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016147 " (declare (in) sampler3D sampler)\n"
16148 " (declare (in) vec4 P)\n"
16149 " (declare (in) vec3 dPdx)\n"
16150 " (declare (in) vec3 dPdy))\n"
16151 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016152 " (signature ivec4\n"
16153 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016154 " (declare (in) isampler3D sampler)\n"
16155 " (declare (in) vec4 P)\n"
16156 " (declare (in) vec3 dPdx)\n"
16157 " (declare (in) vec3 dPdy))\n"
16158 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016159 " (signature uvec4\n"
16160 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016161 " (declare (in) usampler3D sampler)\n"
16162 " (declare (in) vec4 P)\n"
16163 " (declare (in) vec3 dPdx)\n"
16164 " (declare (in) vec3 dPdy))\n"
16165 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016166 " (signature float\n"
16167 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016168 " (declare (in) sampler1DShadow sampler)\n"
16169 " (declare (in) vec4 P)\n"
16170 " (declare (in) float dPdx)\n"
16171 " (declare (in) float dPdy))\n"
16172 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016173 " (signature float\n"
16174 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016175 " (declare (in) sampler2DShadow sampler)\n"
16176 " (declare (in) vec4 P)\n"
16177 " (declare (in) vec2 dPdx)\n"
16178 " (declare (in) vec2 dPdy))\n"
16179 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016180 "(function texture1D\n"
16181 " (signature vec4\n"
16182 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016183 " (declare (in) sampler1D sampler)\n"
16184 " (declare (in) float coord))\n"
16185 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016186 " (signature vec4\n"
16187 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016188 " (declare (in) sampler1D sampler)\n"
16189 " (declare (in) float coord)\n"
16190 " (declare (in) float bias))\n"
16191 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016192 "(function texture1DProj\n"
16193 " (signature vec4\n"
16194 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016195 " (declare (in) sampler1D sampler)\n"
16196 " (declare (in) vec2 coord))\n"
16197 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016198 " (signature vec4\n"
16199 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016200 " (declare (in) sampler1D sampler)\n"
16201 " (declare (in) vec4 coord))\n"
16202 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016203 " (signature vec4\n"
16204 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016205 " (declare (in) sampler1D sampler)\n"
16206 " (declare (in) vec2 coord)\n"
16207 " (declare (in) float bias))\n"
16208 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016209 " (signature vec4\n"
16210 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016211 " (declare (in) sampler1D sampler)\n"
16212 " (declare (in) vec4 coord)\n"
16213 " (declare (in) float bias))\n"
16214 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016215 "(function texture1DLod\n"
16216 " (signature vec4\n"
16217 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016218 " (declare (in) sampler1D sampler)\n"
16219 " (declare (in) float coord)\n"
16220 " (declare (in) float lod))\n"
16221 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016222 "(function texture1DProjLod\n"
16223 " (signature vec4\n"
16224 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016225 " (declare (in) sampler1D sampler)\n"
16226 " (declare (in) vec2 coord)\n"
16227 " (declare (in) float lod))\n"
16228 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016229 " (signature vec4\n"
16230 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016231 " (declare (in) sampler1D sampler)\n"
16232 " (declare (in) vec4 coord)\n"
16233 " (declare (in) float lod))\n"
16234 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016235 "(function texture2D\n"
16236 " (signature vec4\n"
16237 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016238 " (declare (in) sampler2D sampler)\n"
16239 " (declare (in) vec2 coord))\n"
16240 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016241 " (signature vec4\n"
16242 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016243 " (declare (in) sampler2D sampler)\n"
16244 " (declare (in) vec2 coord)\n"
16245 " (declare (in) float bias))\n"
16246 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016247 "(function texture2DProj\n"
16248 " (signature vec4\n"
16249 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016250 " (declare (in) sampler2D sampler)\n"
16251 " (declare (in) vec3 coord))\n"
16252 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016253 " (signature vec4\n"
16254 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016255 " (declare (in) sampler2D sampler)\n"
16256 " (declare (in) vec4 coord))\n"
16257 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016258 " (signature vec4\n"
16259 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016260 " (declare (in) sampler2D sampler)\n"
16261 " (declare (in) vec3 coord)\n"
16262 " (declare (in) float bias))\n"
16263 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016264 " (signature vec4\n"
16265 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016266 " (declare (in) sampler2D sampler)\n"
16267 " (declare (in) vec4 coord)\n"
16268 " (declare (in) float bias))\n"
16269 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016270 "(function texture2DLod\n"
16271 " (signature vec4\n"
16272 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016273 " (declare (in) sampler2D sampler)\n"
16274 " (declare (in) vec2 coord)\n"
16275 " (declare (in) float lod))\n"
16276 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016277 "(function texture2DProjLod\n"
16278 " (signature vec4\n"
16279 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016280 " (declare (in) sampler2D sampler)\n"
16281 " (declare (in) vec3 coord)\n"
16282 " (declare (in) float lod))\n"
16283 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016284 " (signature vec4\n"
16285 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016286 " (declare (in) sampler2D sampler)\n"
16287 " (declare (in) vec4 coord)\n"
16288 " (declare (in) float lod))\n"
16289 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016290 "(function texture3D\n"
16291 " (signature vec4\n"
16292 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016293 " (declare (in) sampler3D sampler)\n"
16294 " (declare (in) vec3 coord))\n"
16295 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016296 " (signature vec4\n"
16297 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016298 " (declare (in) sampler3D sampler)\n"
16299 " (declare (in) vec3 coord)\n"
16300 " (declare (in) float bias))\n"
16301 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016302 "(function texture3DProj\n"
16303 " (signature vec4\n"
16304 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016305 " (declare (in) sampler3D sampler)\n"
16306 " (declare (in) vec4 coord))\n"
16307 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016308 " (signature vec4\n"
16309 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016310 " (declare (in) sampler3D sampler)\n"
16311 " (declare (in) vec4 coord)\n"
16312 " (declare (in) float bias))\n"
16313 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016314 "(function texture3DLod\n"
16315 " (signature vec4\n"
16316 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016317 " (declare (in) sampler3D sampler)\n"
16318 " (declare (in) vec3 coord)\n"
16319 " (declare (in) float lod))\n"
16320 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016321 "(function texture3DProjLod\n"
16322 " (signature vec4\n"
16323 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016324 " (declare (in) sampler3D sampler)\n"
16325 " (declare (in) vec4 coord)\n"
16326 " (declare (in) float lod))\n"
16327 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016328 "(function textureCube\n"
16329 " (signature vec4\n"
16330 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016331 " (declare (in) samplerCube sampler)\n"
16332 " (declare (in) vec3 coord))\n"
16333 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016334 " (signature vec4\n"
16335 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016336 " (declare (in) samplerCube sampler)\n"
16337 " (declare (in) vec3 coord)\n"
16338 " (declare (in) float bias))\n"
16339 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016340 "(function textureCubeLod\n"
16341 " (signature vec4\n"
16342 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016343 " (declare (in) samplerCube sampler)\n"
16344 " (declare (in) vec3 coord)\n"
16345 " (declare (in) float lod))\n"
16346 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016347 "(function shadow1D\n"
16348 " (signature vec4\n"
16349 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016350 " (declare (in) sampler1DShadow sampler)\n"
16351 " (declare (in) vec3 coord))\n"
16352 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016353 " (signature vec4\n"
16354 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016355 " (declare (in) sampler1DShadow sampler)\n"
16356 " (declare (in) vec3 coord)\n"
16357 " (declare (in) float bias))\n"
16358 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016359 "(function shadow2D\n"
16360 " (signature vec4\n"
16361 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016362 " (declare (in) sampler2DShadow sampler)\n"
16363 " (declare (in) vec3 coord))\n"
16364 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016365 " (signature vec4\n"
16366 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016367 " (declare (in) sampler2DShadow sampler)\n"
16368 " (declare (in) vec3 coord)\n"
16369 " (declare (in) float bias))\n"
16370 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016371 "(function shadow1DProj\n"
16372 " (signature vec4\n"
16373 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016374 " (declare (in) sampler1DShadow sampler)\n"
16375 " (declare (in) vec4 coord))\n"
16376 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016377 " (signature vec4\n"
16378 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016379 " (declare (in) sampler1DShadow sampler)\n"
16380 " (declare (in) vec4 coord)\n"
16381 " (declare (in) float bias))\n"
16382 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016383 "(function shadow2DProj\n"
16384 " (signature vec4\n"
16385 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016386 " (declare (in) sampler2DShadow sampler)\n"
16387 " (declare (in) vec4 coord))\n"
16388 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016389 " (signature vec4\n"
16390 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016391 " (declare (in) sampler2DShadow sampler)\n"
16392 " (declare (in) vec4 coord)\n"
16393 " (declare (in) float bias))\n"
16394 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016395 "(function shadow1DLod\n"
16396 " (signature vec4\n"
16397 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016398 " (declare (in) sampler1DShadow sampler)\n"
16399 " (declare (in) vec3 coord)\n"
16400 " (declare (in) float lod))\n"
16401 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016402 "(function shadow2DLod\n"
16403 " (signature vec4\n"
16404 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016405 " (declare (in) sampler2DShadow sampler)\n"
16406 " (declare (in) vec3 coord)\n"
16407 " (declare (in) float lod))\n"
16408 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016409 "(function shadow1DProjLod\n"
16410 " (signature vec4\n"
16411 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016412 " (declare (in) sampler1DShadow sampler)\n"
16413 " (declare (in) vec4 coord)\n"
16414 " (declare (in) float lod))\n"
16415 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016416 "(function shadow2DProjLod\n"
16417 " (signature vec4\n"
16418 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016419 " (declare (in) sampler2DShadow sampler)\n"
16420 " (declare (in) vec4 coord)\n"
16421 " (declare (in) float lod))\n"
16422 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016423 "(function noise1\n"
16424 " (signature float\n"
16425 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016426 " (declare (in) float x))\n"
16427 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016428 " (signature float\n"
16429 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016430 " (declare (in) vec2 x))\n"
16431 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016432 " (signature float\n"
16433 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016434 " (declare (in) vec3 x))\n"
16435 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016436 " (signature float\n"
16437 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016438 " (declare (in) vec4 x))\n"
16439 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016440 "(function noise2\n"
16441 " (signature vec2\n"
16442 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016443 " (declare (in) float x))\n"
16444 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016445 " (signature vec2\n"
16446 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016447 " (declare (in) vec2 x))\n"
16448 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016449 " (signature vec2\n"
16450 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016451 " (declare (in) vec3 x))\n"
16452 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016453 " (signature vec2\n"
16454 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016455 " (declare (in) vec4 x))\n"
16456 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016457 "(function noise3\n"
16458 " (signature vec3\n"
16459 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016460 " (declare (in) float x))\n"
16461 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016462 " (signature vec3\n"
16463 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016464 " (declare (in) vec2 x))\n"
16465 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016466 " (signature vec3\n"
16467 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016468 " (declare (in) vec3 x))\n"
16469 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016470 " (signature vec3\n"
16471 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016472 " (declare (in) vec4 x))\n"
16473 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016474 "(function noise4\n"
16475 " (signature vec4\n"
16476 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016477 " (declare (in) float x))\n"
16478 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016479 " (signature vec4\n"
16480 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016481 " (declare (in) vec2 x))\n"
16482 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016483 " (signature vec4\n"
16484 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016485 " (declare (in) vec3 x))\n"
16486 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016487 " (signature vec4\n"
16488 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016489 " (declare (in) vec4 x))\n"
16490 " ())))"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016491;
16492static const char *functions_for_130_vert [] = {
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016493 builtin_abs,
Eric Anholt47003a82010-08-23 12:39:35 -070016494 builtin_acos,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016495 builtin_all,
Eric Anholt47003a82010-08-23 12:39:35 -070016496 builtin_any,
16497 builtin_asin,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016498 builtin_atan,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016499 builtin_ceil,
Eric Anholt47003a82010-08-23 12:39:35 -070016500 builtin_clamp,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016501 builtin_cos,
Eric Anholt47003a82010-08-23 12:39:35 -070016502 builtin_cosh,
16503 builtin_cross,
16504 builtin_degrees,
16505 builtin_distance,
16506 builtin_dot,
16507 builtin_equal,
16508 builtin_exp,
16509 builtin_exp2,
16510 builtin_faceforward,
16511 builtin_floor,
16512 builtin_fract,
16513 builtin_ftransform,
16514 builtin_greaterThan,
16515 builtin_greaterThanEqual,
16516 builtin_inversesqrt,
16517 builtin_length,
16518 builtin_lessThan,
16519 builtin_lessThanEqual,
16520 builtin_log,
16521 builtin_log2,
16522 builtin_matrixCompMult,
16523 builtin_max,
16524 builtin_min,
16525 builtin_mix,
16526 builtin_mod,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016527 builtin_noise1,
Eric Anholt47003a82010-08-23 12:39:35 -070016528 builtin_noise2,
16529 builtin_noise3,
16530 builtin_noise4,
16531 builtin_normalize,
16532 builtin_not,
16533 builtin_notEqual,
16534 builtin_outerProduct,
16535 builtin_pow,
16536 builtin_radians,
16537 builtin_reflect,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016538 builtin_refract,
Eric Anholt47003a82010-08-23 12:39:35 -070016539 builtin_shadow1D,
16540 builtin_shadow1DLod,
16541 builtin_shadow1DProj,
16542 builtin_shadow1DProjLod,
16543 builtin_shadow2D,
16544 builtin_shadow2DLod,
16545 builtin_shadow2DProj,
16546 builtin_shadow2DProjLod,
16547 builtin_sign,
16548 builtin_sin,
16549 builtin_sinh,
16550 builtin_smoothstep,
16551 builtin_sqrt,
16552 builtin_step,
16553 builtin_tan,
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016554 builtin_tanh,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016555 builtin_texelFetch,
Eric Anholt47003a82010-08-23 12:39:35 -070016556 builtin_texture,
16557 builtin_texture1D,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016558 builtin_texture1DLod,
Eric Anholt47003a82010-08-23 12:39:35 -070016559 builtin_texture1DProj,
16560 builtin_texture1DProjLod,
16561 builtin_texture2D,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016562 builtin_texture2DLod,
Eric Anholt47003a82010-08-23 12:39:35 -070016563 builtin_texture2DProj,
16564 builtin_texture2DProjLod,
16565 builtin_texture3D,
16566 builtin_texture3DLod,
16567 builtin_texture3DProj,
16568 builtin_texture3DProjLod,
16569 builtin_textureCube,
16570 builtin_textureCubeLod,
16571 builtin_textureGrad,
16572 builtin_textureLod,
16573 builtin_textureProj,
16574 builtin_textureProjGrad,
16575 builtin_textureProjLod,
16576 builtin_transpose,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016577};
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016578static const char *prototypes_for_ARB_texture_rectangle_frag =
16579 "(\n"
16580 "(function texture2DRect\n"
16581 " (signature vec4\n"
16582 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016583 " (declare (in) sampler2DRect sampler)\n"
16584 " (declare (in) vec2 coord))\n"
16585 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016586 "(function texture2DRectProj\n"
16587 " (signature vec4\n"
16588 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016589 " (declare (in) sampler2DRect sampler)\n"
16590 " (declare (in) vec3 coord))\n"
16591 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016592 " (signature vec4\n"
16593 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016594 " (declare (in) sampler2DRect sampler)\n"
16595 " (declare (in) vec4 coord))\n"
16596 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016597 "(function shadow2DRect\n"
16598 " (signature vec4\n"
16599 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016600 " (declare (in) sampler2DRectShadow sampler)\n"
16601 " (declare (in) vec3 coord))\n"
16602 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016603 "(function shadow2DRectProj\n"
16604 " (signature vec4\n"
16605 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016606 " (declare (in) sampler2DRectShadow sampler)\n"
16607 " (declare (in) vec4 coord))\n"
16608 " ())))"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016609;
16610static const char *functions_for_ARB_texture_rectangle_frag [] = {
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016611 builtin_shadow2DRect,
Eric Anholt47003a82010-08-23 12:39:35 -070016612 builtin_shadow2DRectProj,
16613 builtin_texture2DRect,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016614 builtin_texture2DRectProj,
16615};
Eric Anholt47003a82010-08-23 12:39:35 -070016616static const char *prototypes_for_ARB_texture_rectangle_vert =
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016617 "(\n"
Eric Anholt47003a82010-08-23 12:39:35 -070016618 "(function texture2DRect\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016619 " (signature vec4\n"
16620 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -070016621 " (declare (in) sampler2DRect sampler)\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016622 " (declare (in) vec2 coord))\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016623 " ()))\n"
Eric Anholt47003a82010-08-23 12:39:35 -070016624 "(function texture2DRectProj\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016625 " (signature vec4\n"
16626 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -070016627 " (declare (in) sampler2DRect sampler)\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016628 " (declare (in) vec3 coord))\n"
16629 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016630 " (signature vec4\n"
16631 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -070016632 " (declare (in) sampler2DRect sampler)\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016633 " (declare (in) vec4 coord))\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016634 " ()))\n"
Eric Anholt47003a82010-08-23 12:39:35 -070016635 "(function shadow2DRect\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016636 " (signature vec4\n"
16637 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -070016638 " (declare (in) sampler2DRectShadow sampler)\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016639 " (declare (in) vec3 coord))\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016640 " ()))\n"
Eric Anholt47003a82010-08-23 12:39:35 -070016641 "(function shadow2DRectProj\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016642 " (signature vec4\n"
16643 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -070016644 " (declare (in) sampler2DRectShadow sampler)\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016645 " (declare (in) vec4 coord))\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016646 " ())))"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016647;
Eric Anholt47003a82010-08-23 12:39:35 -070016648static const char *functions_for_ARB_texture_rectangle_vert [] = {
16649 builtin_shadow2DRect,
16650 builtin_shadow2DRectProj,
16651 builtin_texture2DRect,
16652 builtin_texture2DRectProj,
16653};
16654static const char *prototypes_for_EXT_texture_array_frag =
16655 "(\n"
16656 "(function texture1DArray\n"
16657 " (signature vec4\n"
16658 " (parameters\n"
16659 " (declare (in) sampler1DArray sampler)\n"
16660 " (declare (in) vec2 coord))\n"
16661 " ())\n"
16662 " (signature vec4\n"
16663 " (parameters\n"
16664 " (declare (in) sampler1DArray sampler)\n"
16665 " (declare (in) vec2 coord)\n"
16666 " (declare (in) float bias))\n"
16667 " ()))\n"
16668 "(function texture2DArray\n"
16669 " (signature vec4\n"
16670 " (parameters\n"
16671 " (declare (in) sampler2DArray sampler)\n"
16672 " (declare (in) vec3 coord))\n"
16673 " ())\n"
16674 " (signature vec4\n"
16675 " (parameters\n"
16676 " (declare (in) sampler2DArray sampler)\n"
16677 " (declare (in) vec3 coord)\n"
16678 " (declare (in) float bias))\n"
16679 " ()))\n"
16680 "(function shadow1DArray\n"
16681 " (signature vec4\n"
16682 " (parameters\n"
16683 " (declare (in) sampler1DArrayShadow sampler)\n"
16684 " (declare (in) vec3 coord))\n"
16685 " ())\n"
16686 " (signature vec4\n"
16687 " (parameters\n"
16688 " (declare (in) sampler1DArrayShadow sampler)\n"
16689 " (declare (in) vec3 coord)\n"
16690 " (declare (in) float bias))\n"
16691 " ()))\n"
16692 "(function shadow2DArray\n"
16693 " (signature vec4\n"
16694 " (parameters\n"
16695 " (declare (in) sampler2DArrayShadow sampler)\n"
16696 " (declare (in) vec4 coord))\n"
16697 " ())))"
16698;
16699static const char *functions_for_EXT_texture_array_frag [] = {
16700 builtin_shadow1DArray,
16701 builtin_shadow2DArray,
16702 builtin_texture1DArray,
16703 builtin_texture2DArray,
16704};
16705static const char *prototypes_for_EXT_texture_array_vert =
16706 "(\n"
16707 "(function texture1DArray\n"
16708 " (signature vec4\n"
16709 " (parameters\n"
16710 " (declare (in) sampler1DArray sampler)\n"
16711 " (declare (in) vec2 coord))\n"
16712 " ()))\n"
16713 "(function texture1DArrayLod\n"
16714 " (signature vec4\n"
16715 " (parameters\n"
16716 " (declare (in) sampler1DArray sampler)\n"
16717 " (declare (in) vec2 coord)\n"
16718 " (declare (in) float lod))\n"
16719 " ()))\n"
16720 "(function texture2DArray\n"
16721 " (signature vec4\n"
16722 " (parameters\n"
16723 " (declare (in) sampler2DArray sampler)\n"
16724 " (declare (in) vec3 coord))\n"
16725 " ()))\n"
16726 "(function texture2DArrayLod\n"
16727 " (signature vec4\n"
16728 " (parameters\n"
16729 " (declare (in) sampler2DArray sampler)\n"
16730 " (declare (in) vec3 coord)\n"
16731 " (declare (in) float lod))\n"
16732 " ()))\n"
16733 "(function shadow1DArray\n"
16734 " (signature vec4\n"
16735 " (parameters\n"
16736 " (declare (in) sampler1DArrayShadow sampler)\n"
16737 " (declare (in) vec3 coord))\n"
16738 " ()))\n"
16739 "(function shadow1DArrayLod\n"
16740 " (signature vec4\n"
16741 " (parameters\n"
16742 " (declare (in) sampler1DArrayShadow sampler)\n"
16743 " (declare (in) vec3 coord)\n"
16744 " (declare (in) float lod))\n"
16745 " ()))\n"
16746 "(function shadow2DArray\n"
16747 " (signature vec4\n"
16748 " (parameters\n"
16749 " (declare (in) sampler2DArrayShadow sampler)\n"
16750 " (declare (in) vec4 coord))\n"
16751 " ())))"
16752;
16753static const char *functions_for_EXT_texture_array_vert [] = {
16754 builtin_shadow1DArray,
16755 builtin_shadow1DArrayLod,
16756 builtin_shadow2DArray,
16757 builtin_texture1DArray,
16758 builtin_texture1DArrayLod,
16759 builtin_texture2DArray,
16760 builtin_texture2DArrayLod,
Kenneth Graunkeb3262122010-04-28 23:01:33 -070016761};
Eric Anholt8b3d36d2010-08-30 12:20:25 -070016762static gl_shader *builtin_profiles[10];
Eric Anholtc22c4002010-03-26 18:20:30 -070016763
Ian Romanickd5be2ac2010-07-20 11:29:46 -070016764void *builtin_mem_ctx = NULL;
16765
16766void
16767_mesa_glsl_release_functions(void)
16768{
Eric Anholt8b3d36d2010-08-30 12:20:25 -070016769 talloc_free(builtin_mem_ctx);
16770 builtin_mem_ctx = NULL;
16771}
16772
16773static void
16774_mesa_read_profile(struct _mesa_glsl_parse_state *state,
16775 exec_list *instructions,
16776 int profile_index,
16777 const char *prototypes,
16778 const char **functions,
16779 int count)
16780{
16781 gl_shader *sh = builtin_profiles[profile_index];
16782
16783 if (sh == NULL) {
16784 sh = read_builtins(GL_VERTEX_SHADER, prototypes, functions, count);
16785 talloc_steal(builtin_mem_ctx, sh);
16786 builtin_profiles[profile_index] = sh;
16787 }
16788
16789 import_prototypes(sh->ir, instructions, state->symbols, state);
16790 state->builtins_to_link[state->num_builtins_to_link] = sh;
16791 state->num_builtins_to_link++;
Ian Romanickd5be2ac2010-07-20 11:29:46 -070016792}
16793
Eric Anholtc22c4002010-03-26 18:20:30 -070016794void
16795_mesa_glsl_initialize_functions(exec_list *instructions,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016796 struct _mesa_glsl_parse_state *state)
Eric Anholtc22c4002010-03-26 18:20:30 -070016797{
Eric Anholt8b3d36d2010-08-30 12:20:25 -070016798 if (builtin_mem_ctx == NULL) {
Ian Romanickd5be2ac2010-07-20 11:29:46 -070016799 builtin_mem_ctx = talloc_init("GLSL built-in functions");
Eric Anholt8b3d36d2010-08-30 12:20:25 -070016800 memset(&builtin_profiles, 0, sizeof(builtin_profiles));
16801 }
Kenneth Graunkeb3262122010-04-28 23:01:33 -070016802
Ian Romanickd5be2ac2010-07-20 11:29:46 -070016803 state->num_builtins_to_link = 0;
Kenneth Graunke4b0029a2010-06-08 16:29:17 -070016804
Eric Anholt47003a82010-08-23 12:39:35 -070016805 if (state->target == fragment_shader && state->language_version == 110) {
Eric Anholt8b3d36d2010-08-30 12:20:25 -070016806 _mesa_read_profile(state, instructions, 0,
16807 prototypes_for_110_frag,
16808 functions_for_110_frag,
16809 Elements(functions_for_110_frag));
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016810 }
16811
16812 if (state->target == vertex_shader && state->language_version == 110) {
Eric Anholt8b3d36d2010-08-30 12:20:25 -070016813 _mesa_read_profile(state, instructions, 1,
16814 prototypes_for_110_vert,
16815 functions_for_110_vert,
16816 Elements(functions_for_110_vert));
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016817 }
16818
Eric Anholt47003a82010-08-23 12:39:35 -070016819 if (state->target == fragment_shader && state->language_version == 120) {
Eric Anholt8b3d36d2010-08-30 12:20:25 -070016820 _mesa_read_profile(state, instructions, 2,
16821 prototypes_for_120_frag,
16822 functions_for_120_frag,
16823 Elements(functions_for_120_frag));
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016824 }
16825
Eric Anholt47003a82010-08-23 12:39:35 -070016826 if (state->target == vertex_shader && state->language_version == 120) {
Eric Anholt8b3d36d2010-08-30 12:20:25 -070016827 _mesa_read_profile(state, instructions, 3,
16828 prototypes_for_120_vert,
16829 functions_for_120_vert,
16830 Elements(functions_for_120_vert));
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016831 }
16832
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016833 if (state->target == fragment_shader && state->language_version == 130) {
Eric Anholt8b3d36d2010-08-30 12:20:25 -070016834 _mesa_read_profile(state, instructions, 4,
16835 prototypes_for_130_frag,
16836 functions_for_130_frag,
16837 Elements(functions_for_130_frag));
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016838 }
16839
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016840 if (state->target == vertex_shader && state->language_version == 130) {
Eric Anholt8b3d36d2010-08-30 12:20:25 -070016841 _mesa_read_profile(state, instructions, 5,
16842 prototypes_for_130_vert,
16843 functions_for_130_vert,
16844 Elements(functions_for_130_vert));
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016845 }
16846
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016847 if (state->target == fragment_shader && state->ARB_texture_rectangle_enable) {
Eric Anholt8b3d36d2010-08-30 12:20:25 -070016848 _mesa_read_profile(state, instructions, 6,
16849 prototypes_for_ARB_texture_rectangle_frag,
16850 functions_for_ARB_texture_rectangle_frag,
16851 Elements(functions_for_ARB_texture_rectangle_frag));
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016852 }
16853
Eric Anholt47003a82010-08-23 12:39:35 -070016854 if (state->target == vertex_shader && state->ARB_texture_rectangle_enable) {
Eric Anholt8b3d36d2010-08-30 12:20:25 -070016855 _mesa_read_profile(state, instructions, 7,
16856 prototypes_for_ARB_texture_rectangle_vert,
16857 functions_for_ARB_texture_rectangle_vert,
16858 Elements(functions_for_ARB_texture_rectangle_vert));
Eric Anholt47003a82010-08-23 12:39:35 -070016859 }
16860
16861 if (state->target == fragment_shader && state->EXT_texture_array_enable) {
Eric Anholt8b3d36d2010-08-30 12:20:25 -070016862 _mesa_read_profile(state, instructions, 8,
16863 prototypes_for_EXT_texture_array_frag,
16864 functions_for_EXT_texture_array_frag,
16865 Elements(functions_for_EXT_texture_array_frag));
Eric Anholt47003a82010-08-23 12:39:35 -070016866 }
16867
16868 if (state->target == vertex_shader && state->EXT_texture_array_enable) {
Eric Anholt8b3d36d2010-08-30 12:20:25 -070016869 _mesa_read_profile(state, instructions, 9,
16870 prototypes_for_EXT_texture_array_vert,
16871 functions_for_EXT_texture_array_vert,
16872 Elements(functions_for_EXT_texture_array_vert));
Ian Romanickd5be2ac2010-07-20 11:29:46 -070016873 }
Kenneth Graunke4b0029a2010-06-08 16:29:17 -070016874
Eric Anholtc22c4002010-03-26 18:20:30 -070016875}