blob: e7f00701a2d8658df6b33e8ee94b3ff5dd2db11d [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 Romanick961f42c2010-09-08 11:33:12 -070038 GLcontext fakeCtx;
Kenneth Graunke7fc88262010-09-08 16:03:33 -070039 fakeCtx.API = API_OPENGL;
Ian Romanickd5be2ac2010-07-20 11:29:46 -070040 gl_shader *sh = _mesa_new_shader(NULL, 0, target);
41 struct _mesa_glsl_parse_state *st =
Ian Romanick961f42c2010-09-08 11:33:12 -070042 new(sh) _mesa_glsl_parse_state(&fakeCtx, target, sh);
Ian Romanickd5be2ac2010-07-20 11:29:46 -070043
44 st->language_version = 130;
Kenneth Graunkee9c7cee2010-08-21 20:23:18 -070045 st->symbols->language_version = 130;
Ian Romanickd5be2ac2010-07-20 11:29:46 -070046 st->ARB_texture_rectangle_enable = true;
47 st->EXT_texture_array_enable = true;
48 _mesa_glsl_initialize_types(st);
49
50 sh->ir = new(sh) exec_list;
51 sh->symbols = st->symbols;
Eric Anholtc22c4002010-03-26 18:20:30 -070052
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070053 /* Read the IR containing the prototypes */
54 _mesa_glsl_read_ir(st, sh->ir, protos, true);
55
56 /* Read ALL the function bodies, telling the IR reader not to scan for
57 * prototypes (we've already created them). The IR reader will skip any
58 * signature that does not already exist as a prototype.
59 */
Kenneth Graunkeb3262122010-04-28 23:01:33 -070060 for (unsigned i = 0; i < count; i++) {
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070061 _mesa_glsl_read_ir(st, sh->ir, functions[i], false);
Eric Anholtc22c4002010-03-26 18:20:30 -070062
Kenneth Graunkeb3262122010-04-28 23:01:33 -070063 if (st->error) {
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070064 printf("error reading builtin: %.35s ...\n", functions[i]);
Kenneth Graunkea8781072010-09-03 16:21:08 -070065 printf("Info log:\n%s\n", st->info_log);
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070066 talloc_free(sh);
Ian Romanickd5be2ac2010-07-20 11:29:46 -070067 return NULL;
Kenneth Graunkeb3262122010-04-28 23:01:33 -070068 }
Eric Anholtcc4ef152010-04-08 15:35:34 -070069 }
Ian Romanickd5be2ac2010-07-20 11:29:46 -070070
71 reparent_ir(sh->ir, sh);
72 delete st;
73
74 return sh;
Eric Anholtcc4ef152010-04-08 15:35:34 -070075}
76
Eric Anholt47003a82010-08-23 12:39:35 -070077static const char *builtin_abs =
78 "((function abs\n"
79 " (signature float\n"
80 " (parameters\n"
81 " (declare (in) float arg0))\n"
82 " ((return (expression float abs (var_ref arg0)))))\n"
83 "\n"
84 " (signature vec2\n"
85 " (parameters\n"
86 " (declare (in) vec2 arg0))\n"
87 " ((return (expression vec2 abs (var_ref arg0)))))\n"
88 "\n"
89 " (signature vec3\n"
90 " (parameters\n"
91 " (declare (in) vec3 arg0))\n"
92 " ((return (expression vec3 abs (var_ref arg0)))))\n"
93 "\n"
94 " (signature vec4\n"
95 " (parameters\n"
96 " (declare (in) vec4 arg0))\n"
97 " ((return (expression vec4 abs (var_ref arg0)))))\n"
98 "))\n"
99 ""
100;
101static const char *builtin_acos =
102 "((function acos\n"
103 " (signature float\n"
104 " (parameters\n"
105 " (declare (in) float x))\n"
106 " ((return (expression float - (constant float (1.5707963))\n"
107 " (call asin ((var_ref x)))))))\n"
108 " (signature vec2\n"
109 " (parameters\n"
110 " (declare (in) vec2 x))\n"
111 " ((return (expression vec2 - (constant float (1.5707963))\n"
112 " (call asin ((var_ref x)))))))\n"
113 " (signature vec3\n"
114 " (parameters\n"
115 " (declare (in) vec3 x))\n"
116 " ((return (expression vec3 - (constant float (1.5707963))\n"
117 " (call asin ((var_ref x)))))))\n"
118 " (signature vec4\n"
119 " (parameters\n"
120 " (declare (in) vec4 x))\n"
121 " ((return (expression vec4 - (constant float (1.5707963))\n"
122 " (call asin ((var_ref x)))))))\n"
123 "))\n"
124 ""
125;
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700126static const char *builtin_all =
Kenneth Graunkeb3262122010-04-28 23:01:33 -0700127 "((function all\n"
128 " (signature bool\n"
129 " (parameters\n"
130 " (declare (in) bvec2 arg0))\n"
131 " ((return (expression bool && (swiz x (var_ref arg0))(swiz y (var_ref arg0))))))\n"
132 "\n"
133 " (signature bool\n"
134 " (parameters\n"
135 " (declare (in) bvec3 arg0))\n"
136 " ((return (expression bool && (expression bool && (swiz x (var_ref arg0))(swiz y (var_ref arg0))) (swiz z (var_ref arg0))))))\n"
137 "\n"
138 " (signature bool\n"
139 " (parameters\n"
140 " (declare (in) bvec4 arg0))\n"
141 " ((return (expression bool && (expression bool && (expression bool && (swiz x (var_ref arg0))(swiz y (var_ref arg0))) (swiz z (var_ref arg0))) (swiz w (var_ref arg0))))))\n"
142 "))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700143 ""
144;
Eric Anholt47003a82010-08-23 12:39:35 -0700145static const char *builtin_any =
146 "((function any\n"
147 " (signature bool\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700148 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700149 " (declare (in) bvec2 arg0))\n"
Eric Anholtb75645d2010-08-23 12:54:55 -0700150 " ((return (expression bool any (var_ref arg0)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700151 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700152 " (signature bool\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700153 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700154 " (declare (in) bvec3 arg0))\n"
Eric Anholtb75645d2010-08-23 12:54:55 -0700155 " ((return (expression bool any (var_ref arg0)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700156 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700157 " (signature bool\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700158 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700159 " (declare (in) bvec4 arg0))\n"
Eric Anholtb75645d2010-08-23 12:54:55 -0700160 " ((return (expression bool any (var_ref arg0)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700161 "))\n"
162 ""
163;
164static const char *builtin_asin =
165 "((function asin\n"
166 " (signature float\n"
167 " (parameters\n"
168 " (declare (in) float x))\n"
169 " ((return (expression float *\n"
170 " (expression float sign (var_ref x))\n"
171 " (expression float -\n"
172 " (expression float *\n"
173 " (constant float (3.1415926))\n"
174 " (constant float (0.5)))\n"
175 " (expression float *\n"
176 " (expression float sqrt\n"
177 " (expression float -\n"
178 " (constant float (1.0))\n"
179 " (expression float abs (var_ref x))))\n"
180 " (expression float +\n"
181 " (constant float (1.5707288))\n"
182 " (expression float *\n"
183 " (expression float abs (var_ref x))\n"
184 " (expression float +\n"
185 " (constant float (-0.2121144))\n"
186 " (expression float *\n"
187 " (constant float (0.0742610))\n"
188 " (expression float abs (var_ref x))))))))))))\n"
189 "\n"
190 " (signature vec2\n"
191 " (parameters\n"
192 " (declare (in) vec2 x))\n"
193 " ((return (expression vec2 *\n"
194 " (expression vec2 sign (var_ref x))\n"
195 " (expression vec2 -\n"
196 " (expression float *\n"
197 " (constant float (3.1415926))\n"
198 " (constant float (0.5)))\n"
199 " (expression vec2 *\n"
200 " (expression vec2 sqrt\n"
201 " (expression vec2 -\n"
202 " (constant float (1.0))\n"
203 " (expression vec2 abs (var_ref x))))\n"
204 " (expression vec2 +\n"
205 " (constant float (1.5707288))\n"
206 " (expression vec2 *\n"
207 " (expression vec2 abs (var_ref x))\n"
208 " (expression vec2 +\n"
209 " (constant float (-0.2121144))\n"
210 " (expression vec2 *\n"
211 " (constant float (0.0742610))\n"
212 " (expression vec2 abs (var_ref x))))))))))))\n"
213 "\n"
214 " (signature vec3\n"
215 " (parameters\n"
216 " (declare (in) vec3 x))\n"
217 " ((return (expression vec3 *\n"
218 " (expression vec3 sign (var_ref x))\n"
219 " (expression vec3 -\n"
220 " (expression float *\n"
221 " (constant float (3.1415926))\n"
222 " (constant float (0.5)))\n"
223 " (expression vec3 *\n"
224 " (expression vec3 sqrt\n"
225 " (expression vec3 -\n"
226 " (constant float (1.0))\n"
227 " (expression vec3 abs (var_ref x))))\n"
228 " (expression vec3 +\n"
229 " (constant float (1.5707288))\n"
230 " (expression vec3 *\n"
231 " (expression vec3 abs (var_ref x))\n"
232 " (expression vec3 +\n"
233 " (constant float (-0.2121144))\n"
234 " (expression vec3 *\n"
235 " (constant float (0.0742610))\n"
236 " (expression vec3 abs (var_ref x))))))))))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700237 "\n"
238 " (signature vec4\n"
239 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700240 " (declare (in) vec4 x))\n"
241 " ((return (expression vec4 *\n"
242 " (expression vec4 sign (var_ref x))\n"
243 " (expression vec4 -\n"
244 " (expression float *\n"
245 " (constant float (3.1415926))\n"
246 " (constant float (0.5)))\n"
247 " (expression vec4 *\n"
248 " (expression vec4 sqrt\n"
249 " (expression vec4 -\n"
250 " (constant float (1.0))\n"
251 " (expression vec4 abs (var_ref x))))\n"
252 " (expression vec4 +\n"
253 " (constant float (1.5707288))\n"
254 " (expression vec4 *\n"
255 " (expression vec4 abs (var_ref x))\n"
256 " (expression vec4 +\n"
257 " (constant float (-0.2121144))\n"
258 " (expression vec4 *\n"
259 " (constant float (0.0742610))\n"
260 " (expression vec4 abs (var_ref x))))))))))))\n"
261 "))\n"
262 ""
263;
264static const char *builtin_atan =
265 "((function atan\n"
266 " (signature float\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700267 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700268 " (declare (in) float x))\n"
269 " ((return (call asin ((expression float *\n"
270 " (var_ref x)\n"
271 " (expression float rsq\n"
272 " (expression float +\n"
273 " (expression float *\n"
274 " (var_ref x)\n"
275 " (var_ref x))\n"
276 " (constant float (1.0))))))))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700277 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700278 " (signature vec2\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700279 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700280 " (declare (in) vec2 y_over_x))\n"
281 " ((return (call asin ((expression vec2 *\n"
282 " (var_ref y_over_x)\n"
283 " (expression vec2 rsq\n"
284 " (expression vec2 +\n"
285 " (expression vec2 *\n"
286 " (var_ref y_over_x)\n"
287 " (var_ref y_over_x))\n"
288 " (constant float (1.0))))))))))\n"
289 "\n"
290 " (signature vec3\n"
291 " (parameters\n"
292 " (declare (in) vec3 y_over_x))\n"
293 " ((return (call asin ((expression vec3 *\n"
294 " (var_ref y_over_x)\n"
295 " (expression vec3 rsq\n"
296 " (expression vec3 +\n"
297 " (expression vec3 *\n"
298 " (var_ref y_over_x)\n"
299 " (var_ref y_over_x))\n"
300 " (constant float (1.0))))))))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700301 "\n"
302 " (signature vec4\n"
303 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700304 " (declare (in) vec4 y_over_x))\n"
305 " ((return (call asin ((expression vec4 *\n"
306 " (var_ref y_over_x)\n"
307 " (expression vec4 rsq\n"
308 " (expression vec4 +\n"
309 " (expression vec4 *\n"
310 " (var_ref y_over_x)\n"
311 " (var_ref y_over_x))\n"
312 " (constant float (1.0))))))))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700313 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700314 " (signature float\n"
315 " (parameters\n"
316 " (declare (in ) float y)\n"
317 " (declare (in ) float x)\n"
318 " )\n"
319 " (\n"
320 " (declare () float r)\n"
321 " (declare ( ) float abs_retval)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -0700322 " (assign (constant bool (1)) (x) (var_ref abs_retval) (call abs ((var_ref x) ))\n"
323 ")\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700324 " (if (expression bool > (var_ref abs_retval) (constant float (0.000100)) ) (\n"
325 " (declare ( ) float atan_retval)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -0700326 " (assign (constant bool (1)) (x) (var_ref atan_retval) (call atan ((expression float / (var_ref y) (var_ref x) ) ))\n"
327 ")\n"
328 " (assign (constant bool (1)) (x) (var_ref r) (var_ref atan_retval) )\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700329 " (if (expression bool < (var_ref x) (constant float (0.000000)) ) (\n"
330 " (if (expression bool >= (var_ref y) (constant float (0.000000)) ) (\n"
331 " (declare ( ) float assignment_tmp)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -0700332 " (assign (constant bool (1)) (x) (var_ref assignment_tmp) (expression float + (var_ref r) (constant float (3.141593)) ) )\n"
333 " (assign (constant bool (1)) (x) (var_ref r) (var_ref assignment_tmp) )\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700334 " )\n"
335 " (\n"
336 " (declare ( ) float assignment_tmp)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -0700337 " (assign (constant bool (1)) (x) (var_ref assignment_tmp) (expression float - (var_ref r) (constant float (3.141593)) ) )\n"
338 " (assign (constant bool (1)) (x) (var_ref r) (var_ref assignment_tmp) )\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700339 " ))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700340 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700341 " )\n"
342 " (\n"
343 " ))\n"
344 "\n"
345 " )\n"
346 " (\n"
Brian Paul16c73342010-08-31 19:13:09 -0600347 " (declare () float sgn)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -0700348 " (assign (constant bool (1)) (x) (var_ref sgn) (expression float sign (var_ref y)))\n"
349 " (assign (constant bool (1)) (x) (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 " (return (var_ref r) )\n"
353 " ))\n"
354 "\n"
355 "\n"
356 "\n"
357 " (signature vec2\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700358 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700359 " (declare (in) vec2 y)\n"
360 " (declare (in) vec2 x))\n"
361 " ((declare () vec2 r)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -0700362 " (assign (constant bool (1)) (x) (var_ref r)\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700363 " (call atan ((swiz x (var_ref y))\n"
364 " (swiz x (var_ref x)))))\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -0700365 " (assign (constant bool (1)) (y) (var_ref r)\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700366 " (call atan ((swiz y (var_ref y))\n"
367 " (swiz y (var_ref x)))))\n"
368 " (return (var_ref r))))\n"
369 "\n"
370 " (signature vec3\n"
371 " (parameters\n"
372 " (declare (in) vec3 y)\n"
373 " (declare (in) vec3 x))\n"
374 " ((declare () vec3 r)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -0700375 " (assign (constant bool (1)) (x) (var_ref r)\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700376 " (call atan ((swiz x (var_ref y))\n"
377 " (swiz x (var_ref x)))))\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -0700378 " (assign (constant bool (1)) (y) (var_ref r)\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700379 " (call atan ((swiz y (var_ref y))\n"
380 " (swiz y (var_ref x)))))\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -0700381 " (assign (constant bool (1)) (z) (var_ref r)\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700382 " (call atan ((swiz z (var_ref y))\n"
383 " (swiz z (var_ref x)))))\n"
384 " (return (var_ref r))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700385 "\n"
386 " (signature vec4\n"
387 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700388 " (declare (in) vec4 y)\n"
389 " (declare (in) vec4 x))\n"
390 " ((declare () vec4 r)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -0700391 " (assign (constant bool (1)) (x) (var_ref r)\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700392 " (call atan ((swiz x (var_ref y))\n"
393 " (swiz x (var_ref x)))))\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -0700394 " (assign (constant bool (1)) (y) (var_ref r)\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700395 " (call atan ((swiz y (var_ref y))\n"
396 " (swiz y (var_ref x)))))\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -0700397 " (assign (constant bool (1)) (z) (var_ref r)\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700398 " (call atan ((swiz z (var_ref y))\n"
399 " (swiz z (var_ref x)))))\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -0700400 " (assign (constant bool (1)) (w) (var_ref r)\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700401 " (call atan ((swiz w (var_ref y))\n"
402 " (swiz w (var_ref x)))))\n"
403 " (return (var_ref r)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700404 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700405 "))\n"
406 ""
407;
408static const char *builtin_ceil =
409 "((function ceil\n"
410 " (signature float\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700411 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700412 " (declare (in) float arg0))\n"
413 " ((return (expression float ceil (var_ref arg0)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700414 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700415 " (signature vec2\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700416 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700417 " (declare (in) vec2 arg0))\n"
418 " ((return (expression vec2 ceil (var_ref arg0)))))\n"
419 "\n"
420 " (signature vec3\n"
421 " (parameters\n"
422 " (declare (in) vec3 arg0))\n"
423 " ((return (expression vec3 ceil (var_ref arg0)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700424 "\n"
425 " (signature vec4\n"
426 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700427 " (declare (in) vec4 arg0))\n"
428 " ((return (expression vec4 ceil (var_ref arg0)))))\n"
429 "))\n"
430 ""
431;
432static const char *builtin_clamp =
433 "((function clamp\n"
434 " (signature float\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700435 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700436 " (declare (in) float arg0)\n"
437 " (declare (in) float arg1)\n"
438 " (declare (in) float arg2))\n"
439 " ((return (expression float max (expression float min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700440 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700441 " (signature vec2\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700442 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700443 " (declare (in) vec2 arg0)\n"
444 " (declare (in) vec2 arg1)\n"
445 " (declare (in) vec2 arg2))\n"
446 " ((return (expression vec2 max (expression vec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
447 "\n"
448 " (signature vec3\n"
449 " (parameters\n"
450 " (declare (in) vec3 arg0)\n"
451 " (declare (in) vec3 arg1)\n"
452 " (declare (in) vec3 arg2))\n"
453 " ((return (expression vec3 max (expression vec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700454 "\n"
455 " (signature vec4\n"
456 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700457 " (declare (in) vec4 arg0)\n"
458 " (declare (in) vec4 arg1)\n"
459 " (declare (in) vec4 arg2))\n"
460 " ((return (expression vec4 max (expression vec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700461 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700462 " (signature vec2\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700463 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700464 " (declare (in) vec2 arg0)\n"
465 " (declare (in) float arg1)\n"
466 " (declare (in) float arg2))\n"
467 " ((return (expression vec2 max (expression vec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700468 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700469 " (signature vec3\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700470 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700471 " (declare (in) vec3 arg0)\n"
472 " (declare (in) float arg1)\n"
473 " (declare (in) float arg2))\n"
474 " ((return (expression vec3 max (expression vec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700475 "\n"
476 " (signature vec4\n"
477 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700478 " (declare (in) vec4 arg0)\n"
479 " (declare (in) float arg1)\n"
480 " (declare (in) float arg2))\n"
481 " ((return (expression vec4 max (expression vec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
482 "\n"
483 " (signature int\n"
484 " (parameters\n"
485 " (declare (in) int arg0)\n"
486 " (declare (in) int arg1)\n"
487 " (declare (in) int arg2))\n"
488 " ((return (expression int max (expression int min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
489 "\n"
490 " (signature ivec2\n"
491 " (parameters\n"
492 " (declare (in) ivec2 arg0)\n"
493 " (declare (in) ivec2 arg1)\n"
494 " (declare (in) ivec2 arg2))\n"
495 " ((return (expression ivec2 max (expression ivec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
496 "\n"
497 " (signature ivec3\n"
498 " (parameters\n"
499 " (declare (in) ivec3 arg0)\n"
500 " (declare (in) ivec3 arg1)\n"
501 " (declare (in) ivec3 arg2))\n"
502 " ((return (expression ivec3 max (expression ivec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700503 "\n"
504 " (signature ivec4\n"
505 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700506 " (declare (in) ivec4 arg0)\n"
507 " (declare (in) ivec4 arg1)\n"
508 " (declare (in) ivec4 arg2))\n"
509 " ((return (expression ivec4 max (expression ivec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
510 "\n"
511 " (signature ivec2\n"
512 " (parameters\n"
513 " (declare (in) ivec2 arg0)\n"
514 " (declare (in) int arg1)\n"
515 " (declare (in) int arg2))\n"
516 " ((return (expression ivec2 max (expression ivec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
517 "\n"
518 " (signature ivec3\n"
519 " (parameters\n"
520 " (declare (in) ivec3 arg0)\n"
521 " (declare (in) int arg1)\n"
522 " (declare (in) int arg2))\n"
523 " ((return (expression ivec3 max (expression ivec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
524 "\n"
525 " (signature ivec4\n"
526 " (parameters\n"
527 " (declare (in) ivec4 arg0)\n"
528 " (declare (in) int arg1)\n"
529 " (declare (in) int arg2))\n"
530 " ((return (expression ivec4 max (expression ivec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
531 "\n"
532 " (signature uint\n"
533 " (parameters\n"
534 " (declare (in) uint arg0)\n"
535 " (declare (in) uint arg1)\n"
536 " (declare (in) uint arg2))\n"
537 " ((return (expression uint max (expression uint min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
538 "\n"
539 " (signature uvec2\n"
540 " (parameters\n"
541 " (declare (in) uvec2 arg0)\n"
542 " (declare (in) uvec2 arg1)\n"
543 " (declare (in) uvec2 arg2))\n"
544 " ((return (expression uvec2 max (expression uvec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
545 "\n"
546 " (signature uvec3\n"
547 " (parameters\n"
548 " (declare (in) uvec3 arg0)\n"
549 " (declare (in) uvec3 arg1)\n"
550 " (declare (in) uvec3 arg2))\n"
551 " ((return (expression uvec3 max (expression uvec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700552 "\n"
553 " (signature uvec4\n"
554 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700555 " (declare (in) uvec4 arg0)\n"
556 " (declare (in) uvec4 arg1)\n"
557 " (declare (in) uvec4 arg2))\n"
558 " ((return (expression uvec4 max (expression uvec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
559 "\n"
560 " (signature uvec2\n"
561 " (parameters\n"
562 " (declare (in) uvec2 arg0)\n"
563 " (declare (in) uint arg1)\n"
564 " (declare (in) uint arg2))\n"
565 " ((return (expression uvec2 max (expression uvec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
566 "\n"
567 " (signature uvec3\n"
568 " (parameters\n"
569 " (declare (in) uvec3 arg0)\n"
570 " (declare (in) uint arg1)\n"
571 " (declare (in) uint arg2))\n"
572 " ((return (expression uvec3 max (expression uvec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
573 "\n"
574 " (signature uvec4\n"
575 " (parameters\n"
576 " (declare (in) uvec4 arg0)\n"
577 " (declare (in) uint arg1)\n"
578 " (declare (in) uint arg2))\n"
579 " ((return (expression uvec4 max (expression uvec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
580 "))\n"
581 ""
582;
583static const char *builtin_cos =
584 "((function cos\n"
585 " (signature float\n"
586 " (parameters\n"
587 " (declare (in) float angle))\n"
588 " ((return (expression float cos (var_ref angle)))))\n"
589 "\n"
590 " (signature vec2\n"
591 " (parameters\n"
592 " (declare (in) vec2 angle))\n"
593 " ((return (expression vec2 cos (var_ref angle)))))\n"
594 "\n"
595 " (signature vec3\n"
596 " (parameters\n"
597 " (declare (in) vec3 angle))\n"
598 " ((return (expression vec3 cos (var_ref angle)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700599 "\n"
600 " (signature vec4\n"
601 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700602 " (declare (in) vec4 angle))\n"
603 " ((return (expression vec4 cos (var_ref angle)))))\n"
604 "))\n"
605 ""
606;
607static const char *builtin_cosh =
608 "((function cosh\n"
609 " (signature float\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700610 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700611 " (declare (in) float x))\n"
612 " ((return (expression float * (constant float (0.5))\n"
613 " (expression float +\n"
614 " (expression float exp (var_ref x))\n"
615 " (expression float exp (expression float neg (var_ref x))))))))\n"
616 " (signature vec2\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700617 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700618 " (declare (in) vec2 x))\n"
619 " ((return (expression vec2 * (constant vec2 (0.5))\n"
620 " (expression vec2 +\n"
621 " (expression vec2 exp (var_ref x))\n"
622 " (expression vec2 exp (expression vec2 neg (var_ref x))))))))\n"
623 " (signature vec3\n"
624 " (parameters\n"
625 " (declare (in) vec3 x))\n"
626 " ((return (expression vec3 * (constant vec3 (0.5))\n"
627 " (expression vec3 +\n"
628 " (expression vec3 exp (var_ref x))\n"
629 " (expression vec3 exp (expression vec3 neg (var_ref x))))))))\n"
630 " (signature vec4\n"
631 " (parameters\n"
632 " (declare (in) vec4 x))\n"
633 " ((return (expression vec4 * (constant vec4 (0.5))\n"
634 " (expression vec4 +\n"
635 " (expression vec4 exp (var_ref x))\n"
636 " (expression vec4 exp (expression vec4 neg (var_ref x))))))))\n"
637 "))\n"
638 ""
639;
640static const char *builtin_cross =
641 "((function cross\n"
642 " (signature vec3\n"
643 " (parameters\n"
644 " (declare (in) vec3 arg0)\n"
645 " (declare (in) vec3 arg1))\n"
646 " ((return (expression vec3 cross (var_ref arg0) (var_ref arg1)))))\n"
647 "))\n"
648 ""
649;
650static const char *builtin_dFdx =
651 "((function dFdx\n"
652 " (signature float\n"
653 " (parameters\n"
654 " (declare (in) float p))\n"
655 " ((return (expression float dFdx (var_ref p)))))\n"
656 "\n"
657 " (signature vec2\n"
658 " (parameters\n"
659 " (declare (in) vec2 p))\n"
660 " ((return (expression vec2 dFdx (var_ref p)))))\n"
661 "\n"
662 " (signature vec3\n"
663 " (parameters\n"
664 " (declare (in) vec3 p))\n"
665 " ((return (expression vec3 dFdx (var_ref p)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700666 "\n"
667 " (signature vec4\n"
668 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700669 " (declare (in) vec4 p))\n"
670 " ((return (expression vec4 dFdx (var_ref p)))))\n"
671 "))\n"
672 ""
673;
674static const char *builtin_dFdy =
675 "((function dFdy\n"
676 " (signature float\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700677 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700678 " (declare (in) float p))\n"
679 " ((return (expression float dFdy (var_ref p)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700680 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700681 " (signature vec2\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700682 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700683 " (declare (in) vec2 p))\n"
684 " ((return (expression vec2 dFdy (var_ref p)))))\n"
685 "\n"
686 " (signature vec3\n"
687 " (parameters\n"
688 " (declare (in) vec3 p))\n"
689 " ((return (expression vec3 dFdy (var_ref p)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700690 "\n"
691 " (signature vec4\n"
692 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700693 " (declare (in) vec4 p))\n"
694 " ((return (expression vec4 dFdy (var_ref p)))))\n"
695 "))\n"
696 ""
697;
698static const char *builtin_degrees =
699 "((function degrees\n"
700 " (signature float\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700701 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700702 " (declare (in) float arg0))\n"
703 " ((return (expression float * (var_ref arg0) (constant float (57.295780))))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700704 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700705 " (signature vec2\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700706 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700707 " (declare (in) vec2 arg0))\n"
708 " ((return (expression vec2 * (var_ref arg0) (constant float (57.295780))))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700709 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700710 " (signature vec3\n"
711 " (parameters\n"
712 " (declare (in) vec3 arg0))\n"
713 " ((return (expression vec3 * (var_ref arg0) (constant float (57.295780))))))\n"
714 "\n"
715 " (signature vec4\n"
716 " (parameters\n"
717 " (declare (in) vec4 arg0))\n"
718 " ((return (expression vec4 * (var_ref arg0) (constant float (57.295780))))))\n"
719 "))\n"
720 ""
721;
722static const char *builtin_distance =
723 "((function distance\n"
724 " (signature float\n"
725 " (parameters\n"
726 " (declare (in) float p0)\n"
727 " (declare (in) float p1))\n"
Kenneth Graunkefc1daab2010-09-08 15:38:09 -0700728 " ((return (expression float abs (expression float - (var_ref p0) (var_ref p1))))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700729 "\n"
730 " (signature float\n"
731 " (parameters\n"
732 " (declare (in) vec2 p0)\n"
733 " (declare (in) vec2 p1))\n"
734 " ((declare () vec2 p)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -0700735 " (assign (constant bool (1)) (xy) (var_ref p) (expression vec2 - (var_ref p0) (var_ref p1)))\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700736 " (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))\n"
737 "\n"
738 " (signature float\n"
739 " (parameters\n"
740 " (declare (in) vec3 p0)\n"
741 " (declare (in) vec3 p1))\n"
742 " ((declare () vec3 p)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -0700743 " (assign (constant bool (1)) (xyz) (var_ref p) (expression vec3 - (var_ref p0) (var_ref p1)))\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700744 " (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))\n"
745 "\n"
746 " (signature float\n"
747 " (parameters\n"
748 " (declare (in) vec4 p0)\n"
749 " (declare (in) vec4 p1))\n"
750 " ((declare () vec4 p)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -0700751 " (assign (constant bool (1)) (xyzw) (var_ref p) (expression vec4 - (var_ref p0) (var_ref p1)))\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700752 " (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))\n"
753 "))\n"
754 ""
755;
756static const char *builtin_dot =
757 "((function dot\n"
758 " (signature float\n"
759 " (parameters\n"
760 " (declare (in) float arg0)\n"
761 " (declare (in) float arg1))\n"
Kenneth Graunke4b2ffa02010-09-07 23:23:03 -0700762 " ((return (expression float * (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700763 "\n"
764 " (signature float\n"
765 " (parameters\n"
766 " (declare (in) vec2 arg0)\n"
767 " (declare (in) vec2 arg1))\n"
768 " ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
769 "\n"
770 " (signature float\n"
771 " (parameters\n"
772 " (declare (in) vec3 arg0)\n"
773 " (declare (in) vec3 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) vec4 arg0)\n"
779 " (declare (in) vec4 arg1))\n"
780 " ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
781 "))\n"
782 ""
783;
784static const char *builtin_equal =
785 "((function equal\n"
786 " (signature bvec2\n"
787 " (parameters\n"
788 " (declare (in) vec2 arg0)\n"
789 " (declare (in) vec2 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +0200790 " ((return (expression bvec2 == (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700791 "\n"
792 " (signature bvec3\n"
793 " (parameters\n"
794 " (declare (in) vec3 arg0)\n"
795 " (declare (in) vec3 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +0200796 " ((return (expression bvec3 == (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700797 "\n"
798 " (signature bvec4\n"
799 " (parameters\n"
800 " (declare (in) vec4 arg0)\n"
801 " (declare (in) vec4 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +0200802 " ((return (expression bvec4 == (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700803 "\n"
804 " (signature bvec2\n"
805 " (parameters\n"
Kenneth Graunke01813852010-09-01 11:47:52 -0700806 " (declare (in) bvec2 arg0)\n"
807 " (declare (in) bvec2 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +0200808 " ((return (expression bvec2 == (var_ref arg0) (var_ref arg1)))))\n"
Kenneth Graunke01813852010-09-01 11:47:52 -0700809 "\n"
810 " (signature bvec3\n"
811 " (parameters\n"
812 " (declare (in) bvec3 arg0)\n"
813 " (declare (in) bvec3 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +0200814 " ((return (expression bvec3 == (var_ref arg0) (var_ref arg1)))))\n"
Kenneth Graunke01813852010-09-01 11:47:52 -0700815 "\n"
816 " (signature bvec4\n"
817 " (parameters\n"
818 " (declare (in) bvec4 arg0)\n"
819 " (declare (in) bvec4 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +0200820 " ((return (expression bvec4 == (var_ref arg0) (var_ref arg1)))))\n"
Kenneth Graunke01813852010-09-01 11:47:52 -0700821 "\n"
822 " (signature bvec2\n"
823 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700824 " (declare (in) ivec2 arg0)\n"
825 " (declare (in) ivec2 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +0200826 " ((return (expression bvec2 == (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700827 "\n"
828 " (signature bvec3\n"
829 " (parameters\n"
830 " (declare (in) ivec3 arg0)\n"
831 " (declare (in) ivec3 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +0200832 " ((return (expression bvec3 == (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700833 "\n"
834 " (signature bvec4\n"
835 " (parameters\n"
836 " (declare (in) ivec4 arg0)\n"
837 " (declare (in) ivec4 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +0200838 " ((return (expression bvec4 == (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700839 "\n"
840 " (signature bvec2\n"
841 " (parameters\n"
842 " (declare (in) uvec2 arg0)\n"
843 " (declare (in) uvec2 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +0200844 " ((return (expression bvec2 == (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700845 "\n"
846 " (signature bvec3\n"
847 " (parameters\n"
848 " (declare (in) uvec3 arg0)\n"
849 " (declare (in) uvec3 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +0200850 " ((return (expression bvec3 == (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700851 "\n"
852 " (signature bvec4\n"
853 " (parameters\n"
854 " (declare (in) uvec4 arg0)\n"
855 " (declare (in) uvec4 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +0200856 " ((return (expression bvec4 == (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700857 "))\n"
858 ""
859;
860static const char *builtin_exp =
861 "((function exp\n"
862 " (signature float\n"
863 " (parameters\n"
864 " (declare (in) float arg0))\n"
865 " ((return (expression float exp (var_ref arg0)))))\n"
866 "\n"
867 " (signature vec2\n"
868 " (parameters\n"
869 " (declare (in) vec2 arg0))\n"
870 " ((return (expression vec2 exp (var_ref arg0)))))\n"
871 "\n"
872 " (signature vec3\n"
873 " (parameters\n"
874 " (declare (in) vec3 arg0))\n"
875 " ((return (expression vec3 exp (var_ref arg0)))))\n"
876 "\n"
877 " (signature vec4\n"
878 " (parameters\n"
879 " (declare (in) vec4 arg0))\n"
880 " ((return (expression vec4 exp (var_ref arg0)))))\n"
881 "))\n"
882 ""
883;
884static const char *builtin_exp2 =
885 "((function exp2\n"
886 " (signature float\n"
887 " (parameters\n"
888 " (declare (in) float arg0))\n"
889 " ((return (expression float exp2 (var_ref arg0)))))\n"
890 "\n"
891 " (signature vec2\n"
892 " (parameters\n"
893 " (declare (in) vec2 arg0))\n"
894 " ((return (expression vec2 exp2 (var_ref arg0)))))\n"
895 "\n"
896 " (signature vec3\n"
897 " (parameters\n"
898 " (declare (in) vec3 arg0))\n"
899 " ((return (expression vec3 exp2 (var_ref arg0)))))\n"
900 "\n"
901 " (signature vec4\n"
902 " (parameters\n"
903 " (declare (in) vec4 arg0))\n"
904 " ((return (expression vec4 exp2 (var_ref arg0)))))\n"
905 "))\n"
906 ""
907;
908static const char *builtin_faceforward =
909 "((function faceforward\n"
910 " (signature float\n"
911 " (parameters\n"
912 " (declare (in) float N)\n"
913 " (declare (in) float I)\n"
914 " (declare (in) float Nref))\n"
Kenneth Graunke4b2ffa02010-09-07 23:23:03 -0700915 " ((if (expression bool < (expression float * (var_ref Nref) (var_ref I)) (constant float (0)))\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700916 " ((return (var_ref N)))\n"
917 " ((return (expression float neg (var_ref N)))))))\n"
918 "\n"
919 " (signature vec2\n"
920 " (parameters\n"
921 " (declare (in) vec2 N)\n"
922 " (declare (in) vec2 I)\n"
923 " (declare (in) vec2 Nref))\n"
924 " ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n"
925 " ((return (var_ref N)))\n"
926 " ((return (expression vec2 neg (var_ref N)))))))\n"
927 "\n"
928 " (signature vec3\n"
929 " (parameters\n"
930 " (declare (in) vec3 N)\n"
931 " (declare (in) vec3 I)\n"
932 " (declare (in) vec3 Nref))\n"
933 " ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n"
934 " ((return (var_ref N)))\n"
935 " ((return (expression vec3 neg (var_ref N)))))))\n"
936 "\n"
937 " (signature vec4\n"
938 " (parameters\n"
939 " (declare (in) vec4 N)\n"
940 " (declare (in) vec4 I)\n"
941 " (declare (in) vec4 Nref))\n"
942 " ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n"
943 " ((return (var_ref N)))\n"
944 " ((return (expression vec4 neg (var_ref N)))))))\n"
945 "))\n"
946 ""
947;
948static const char *builtin_floor =
949 "((function floor\n"
950 " (signature float\n"
951 " (parameters\n"
952 " (declare (in) float arg0))\n"
953 " ((return (expression float floor (var_ref arg0)))))\n"
954 "\n"
955 " (signature vec2\n"
956 " (parameters\n"
957 " (declare (in) vec2 arg0))\n"
958 " ((return (expression vec2 floor (var_ref arg0)))))\n"
959 "\n"
960 " (signature vec3\n"
961 " (parameters\n"
962 " (declare (in) vec3 arg0))\n"
963 " ((return (expression vec3 floor (var_ref arg0)))))\n"
964 "\n"
965 " (signature vec4\n"
966 " (parameters\n"
967 " (declare (in) vec4 arg0))\n"
968 " ((return (expression vec4 floor (var_ref arg0)))))\n"
969 "))\n"
970 ""
971;
972static const char *builtin_fract =
973 "((function fract\n"
974 " (signature float\n"
975 " (parameters\n"
976 " (declare (in) float x))\n"
977 " ((return (expression float fract (var_ref x)))))\n"
978 "\n"
979 " (signature vec2\n"
980 " (parameters\n"
981 " (declare (in) vec2 x))\n"
982 " ((return (expression vec2 fract (var_ref x)))))\n"
983 "\n"
984 " (signature vec3\n"
985 " (parameters\n"
986 " (declare (in) vec3 x))\n"
987 " ((return (expression vec3 fract (var_ref x)))))\n"
988 "\n"
989 " (signature vec4\n"
990 " (parameters\n"
991 " (declare (in) vec4 x))\n"
992 " ((return (expression vec4 fract (var_ref x)))))\n"
993 "))\n"
994 "\n"
995 ""
996;
997static const char *builtin_ftransform =
998 "((declare (uniform) mat4 gl_ModelViewProjectionMatrix)\n"
999 " (declare (in) vec4 gl_Vertex)\n"
1000 " (function ftransform\n"
1001 " (signature vec4\n"
1002 " (parameters)\n"
1003 " ((return (expression vec4 *\n"
1004 " (var_ref gl_ModelViewProjectionMatrix)\n"
1005 " (var_ref gl_Vertex)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07001006 "))\n"
1007 ""
1008;
1009static const char *builtin_fwidth =
1010 "((function fwidth\n"
1011 " (signature float\n"
1012 " (parameters\n"
1013 " (declare (in) float p))\n"
1014 " ((return (expression float +\n"
1015 " (expression float abs (expression float dFdx (var_ref p)))\n"
1016 " (expression float abs (expression float dFdy (var_ref p)))))))\n"
1017 "\n"
1018 " (signature vec2\n"
1019 " (parameters\n"
1020 " (declare (in) vec2 p))\n"
1021 " ((return (expression vec2 +\n"
1022 " (expression vec2 abs (expression vec2 dFdx (var_ref p)))\n"
1023 " (expression vec2 abs (expression vec2 dFdy (var_ref p)))))))\n"
1024 "\n"
1025 " (signature vec3\n"
1026 " (parameters\n"
1027 " (declare (in) vec3 p))\n"
1028 " ((return (expression vec3 +\n"
1029 " (expression vec3 abs (expression vec3 dFdx (var_ref p)))\n"
1030 " (expression vec3 abs (expression vec3 dFdy (var_ref p)))))))\n"
1031 "\n"
1032 " (signature vec4\n"
1033 " (parameters\n"
1034 " (declare (in) vec4 p))\n"
1035 " ((return (expression vec4 +\n"
1036 " (expression vec4 abs (expression vec4 dFdx (var_ref p)))\n"
1037 " (expression vec4 abs (expression vec4 dFdy (var_ref p)))))))\n"
1038 "))\n"
1039 ""
1040;
Eric Anholt47003a82010-08-23 12:39:35 -07001041static const char *builtin_greaterThan =
1042 "((function greaterThan\n"
1043 " (signature bvec2\n"
1044 " (parameters\n"
1045 " (declare (in) vec2 arg0)\n"
1046 " (declare (in) vec2 arg1))\n"
1047 " ((declare () bvec2 temp)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001048 " (assign (constant bool (1)) (x) (var_ref temp) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
1049 " (assign (constant bool (1)) (y) (var_ref temp) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001050 " (return (var_ref temp))))\n"
1051 "\n"
1052 " (signature bvec3\n"
1053 " (parameters\n"
1054 " (declare (in) vec3 arg0)\n"
1055 " (declare (in) vec3 arg1))\n"
1056 " ((declare () bvec3 temp)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001057 " (assign (constant bool (1)) (x) (var_ref temp) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
1058 " (assign (constant bool (1)) (y) (var_ref temp) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
1059 " (assign (constant bool (1)) (z) (var_ref temp) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001060 " (return (var_ref temp))))\n"
1061 "\n"
1062 " (signature bvec4\n"
1063 " (parameters\n"
1064 " (declare (in) vec4 arg0)\n"
1065 " (declare (in) vec4 arg1))\n"
1066 " ((declare () bvec4 temp)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001067 " (assign (constant bool (1)) (x) (var_ref temp) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
1068 " (assign (constant bool (1)) (y) (var_ref temp) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
1069 " (assign (constant bool (1)) (z) (var_ref temp) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
1070 " (assign (constant bool (1)) (w) (var_ref temp) (expression bool > (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001071 " (return (var_ref temp))))\n"
1072 "\n"
1073 " (signature bvec2\n"
1074 " (parameters\n"
1075 " (declare (in) ivec2 arg0)\n"
1076 " (declare (in) ivec2 arg1))\n"
1077 " ((declare () bvec2 temp)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001078 " (assign (constant bool (1)) (x) (var_ref temp) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
1079 " (assign (constant bool (1)) (y) (var_ref temp) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001080 " (return (var_ref temp))))\n"
1081 "\n"
1082 " (signature bvec3\n"
1083 " (parameters\n"
1084 " (declare (in) ivec3 arg0)\n"
1085 " (declare (in) ivec3 arg1))\n"
1086 " ((declare () bvec3 temp)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001087 " (assign (constant bool (1)) (x) (var_ref temp) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
1088 " (assign (constant bool (1)) (y) (var_ref temp) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
1089 " (assign (constant bool (1)) (z) (var_ref temp) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001090 " (return (var_ref temp))))\n"
1091 "\n"
1092 " (signature bvec4\n"
1093 " (parameters\n"
1094 " (declare (in) ivec4 arg0)\n"
1095 " (declare (in) ivec4 arg1))\n"
1096 " ((declare () bvec4 temp)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001097 " (assign (constant bool (1)) (x) (var_ref temp) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
1098 " (assign (constant bool (1)) (y) (var_ref temp) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
1099 " (assign (constant bool (1)) (z) (var_ref temp) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
1100 " (assign (constant bool (1)) (w) (var_ref temp) (expression bool > (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001101 " (return (var_ref temp))))\n"
1102 "\n"
1103 " (signature bvec2\n"
1104 " (parameters\n"
1105 " (declare (in) uvec2 arg0)\n"
1106 " (declare (in) uvec2 arg1))\n"
1107 " ((declare () bvec2 temp)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001108 " (assign (constant bool (1)) (x) (var_ref temp) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
1109 " (assign (constant bool (1)) (y) (var_ref temp) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001110 " (return (var_ref temp))))\n"
1111 "\n"
1112 " (signature bvec3\n"
1113 " (parameters\n"
1114 " (declare (in) uvec3 arg0)\n"
1115 " (declare (in) uvec3 arg1))\n"
1116 " ((declare () bvec3 temp)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001117 " (assign (constant bool (1)) (x) (var_ref temp) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
1118 " (assign (constant bool (1)) (y) (var_ref temp) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
1119 " (assign (constant bool (1)) (z) (var_ref temp) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001120 " (return (var_ref temp))))\n"
1121 "\n"
1122 " (signature bvec4\n"
1123 " (parameters\n"
1124 " (declare (in) uvec4 arg0)\n"
1125 " (declare (in) uvec4 arg1))\n"
1126 " ((declare () bvec4 temp)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001127 " (assign (constant bool (1)) (x) (var_ref temp) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
1128 " (assign (constant bool (1)) (y) (var_ref temp) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
1129 " (assign (constant bool (1)) (z) (var_ref temp) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
1130 " (assign (constant bool (1)) (w) (var_ref temp) (expression bool > (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001131 " (return (var_ref temp))))\n"
1132 "))\n"
1133 ""
1134;
1135static const char *builtin_greaterThanEqual =
1136 "((function greaterThanEqual\n"
1137 " (signature bvec2\n"
1138 " (parameters\n"
1139 " (declare (in) vec2 arg0)\n"
1140 " (declare (in) vec2 arg1))\n"
1141 " ((declare () bvec2 temp)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001142 " (assign (constant bool (1)) (x) (var_ref temp) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
1143 " (assign (constant bool (1)) (y) (var_ref temp) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001144 " (return (var_ref temp))))\n"
1145 "\n"
1146 " (signature bvec3\n"
1147 " (parameters\n"
1148 " (declare (in) vec3 arg0)\n"
1149 " (declare (in) vec3 arg1))\n"
1150 " ((declare () bvec3 temp)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001151 " (assign (constant bool (1)) (x) (var_ref temp) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
1152 " (assign (constant bool (1)) (y) (var_ref temp) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
1153 " (assign (constant bool (1)) (z) (var_ref temp) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001154 " (return (var_ref temp))))\n"
1155 "\n"
1156 " (signature bvec4\n"
1157 " (parameters\n"
1158 " (declare (in) vec4 arg0)\n"
1159 " (declare (in) vec4 arg1))\n"
1160 " ((declare () bvec4 temp)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001161 " (assign (constant bool (1)) (x) (var_ref temp) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
1162 " (assign (constant bool (1)) (y) (var_ref temp) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
1163 " (assign (constant bool (1)) (z) (var_ref temp) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
1164 " (assign (constant bool (1)) (w) (var_ref temp) (expression bool >= (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001165 " (return (var_ref temp))))\n"
1166 "\n"
1167 " (signature bvec2\n"
1168 " (parameters\n"
1169 " (declare (in) ivec2 arg0)\n"
1170 " (declare (in) ivec2 arg1))\n"
1171 " ((declare () bvec2 temp)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001172 " (assign (constant bool (1)) (x) (var_ref temp) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
1173 " (assign (constant bool (1)) (y) (var_ref temp) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001174 " (return (var_ref temp))))\n"
1175 "\n"
1176 " (signature bvec3\n"
1177 " (parameters\n"
1178 " (declare (in) ivec3 arg0)\n"
1179 " (declare (in) ivec3 arg1))\n"
1180 " ((declare () bvec3 temp)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001181 " (assign (constant bool (1)) (x) (var_ref temp) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
1182 " (assign (constant bool (1)) (y) (var_ref temp) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
1183 " (assign (constant bool (1)) (z) (var_ref temp) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001184 " (return (var_ref temp))))\n"
1185 "\n"
1186 " (signature bvec4\n"
1187 " (parameters\n"
1188 " (declare (in) ivec4 arg0)\n"
1189 " (declare (in) ivec4 arg1))\n"
1190 " ((declare () bvec4 temp)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001191 " (assign (constant bool (1)) (x) (var_ref temp) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
1192 " (assign (constant bool (1)) (y) (var_ref temp) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
1193 " (assign (constant bool (1)) (z) (var_ref temp) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
1194 " (assign (constant bool (1)) (w) (var_ref temp) (expression bool >= (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001195 " (return (var_ref temp))))\n"
1196 "\n"
1197 " (signature bvec2\n"
1198 " (parameters\n"
1199 " (declare (in) uvec2 arg0)\n"
1200 " (declare (in) uvec2 arg1))\n"
1201 " ((declare () bvec2 temp)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001202 " (assign (constant bool (1)) (x) (var_ref temp) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
1203 " (assign (constant bool (1)) (y) (var_ref temp) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001204 " (return (var_ref temp))))\n"
1205 "\n"
1206 " (signature bvec3\n"
1207 " (parameters\n"
1208 " (declare (in) uvec3 arg0)\n"
1209 " (declare (in) uvec3 arg1))\n"
1210 " ((declare () bvec3 temp)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001211 " (assign (constant bool (1)) (x) (var_ref temp) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
1212 " (assign (constant bool (1)) (y) (var_ref temp) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
1213 " (assign (constant bool (1)) (z) (var_ref temp) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001214 " (return (var_ref temp))))\n"
1215 "\n"
1216 " (signature bvec4\n"
1217 " (parameters\n"
1218 " (declare (in) uvec4 arg0)\n"
1219 " (declare (in) uvec4 arg1))\n"
1220 " ((declare () bvec4 temp)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001221 " (assign (constant bool (1)) (x) (var_ref temp) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
1222 " (assign (constant bool (1)) (y) (var_ref temp) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
1223 " (assign (constant bool (1)) (z) (var_ref temp) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
1224 " (assign (constant bool (1)) (w) (var_ref temp) (expression bool >= (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001225 " (return (var_ref temp))))\n"
1226 "))\n"
1227 ""
1228;
1229static const char *builtin_inversesqrt =
1230 "((function inversesqrt\n"
1231 " (signature float\n"
1232 " (parameters\n"
1233 " (declare (in) float arg0))\n"
1234 " ((return (expression float rsq (var_ref arg0)))))\n"
1235 "\n"
1236 " (signature vec2\n"
1237 " (parameters\n"
1238 " (declare (in) vec2 arg0))\n"
1239 " ((return (expression vec2 rsq (var_ref arg0)))))\n"
1240 "\n"
1241 " (signature vec3\n"
1242 " (parameters\n"
1243 " (declare (in) vec3 arg0))\n"
1244 " ((return (expression vec3 rsq (var_ref arg0)))))\n"
1245 "\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07001246 " (signature vec4\n"
1247 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001248 " (declare (in) vec4 arg0))\n"
1249 " ((return (expression vec4 rsq (var_ref arg0)))))\n"
1250 "))\n"
1251 ""
1252;
1253static const char *builtin_length =
1254 "((function length\n"
1255 " (signature float\n"
1256 " (parameters\n"
1257 " (declare (in) float arg0))\n"
Kenneth Graunkefc1daab2010-09-08 15:38:09 -07001258 " ((return (expression float abs (var_ref arg0)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001259 "\n"
1260 " (signature float\n"
1261 " (parameters\n"
1262 " (declare (in) vec2 arg0))\n"
1263 " ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
1264 "\n"
1265 " (signature float\n"
1266 " (parameters\n"
1267 " (declare (in) vec3 arg0))\n"
1268 " ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
1269 "\n"
1270 " (signature float\n"
1271 " (parameters\n"
1272 " (declare (in) vec4 arg0))\n"
1273 " ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
1274 "))\n"
1275 ""
1276;
1277static const char *builtin_lessThan =
1278 "((function lessThan\n"
1279 " (signature bvec2\n"
1280 " (parameters\n"
1281 " (declare (in) vec2 arg0)\n"
1282 " (declare (in) vec2 arg1))\n"
1283 " ((declare () bvec2 temp)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001284 " (assign (constant bool (1)) (x) (var_ref temp) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
1285 " (assign (constant bool (1)) (y) (var_ref temp) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001286 " (return (var_ref temp))))\n"
1287 "\n"
1288 " (signature bvec3\n"
1289 " (parameters\n"
1290 " (declare (in) vec3 arg0)\n"
1291 " (declare (in) vec3 arg1))\n"
1292 " ((declare () bvec3 temp)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001293 " (assign (constant bool (1)) (x) (var_ref temp) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
1294 " (assign (constant bool (1)) (y) (var_ref temp) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
1295 " (assign (constant bool (1)) (z) (var_ref temp) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001296 " (return (var_ref temp))))\n"
1297 "\n"
1298 " (signature bvec4\n"
1299 " (parameters\n"
1300 " (declare (in) vec4 arg0)\n"
1301 " (declare (in) vec4 arg1))\n"
1302 " ((declare () bvec4 temp)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001303 " (assign (constant bool (1)) (x) (var_ref temp) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
1304 " (assign (constant bool (1)) (y) (var_ref temp) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
1305 " (assign (constant bool (1)) (z) (var_ref temp) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
1306 " (assign (constant bool (1)) (w) (var_ref temp) (expression bool < (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001307 " (return (var_ref temp))))\n"
1308 "\n"
1309 " (signature bvec2\n"
1310 " (parameters\n"
1311 " (declare (in) ivec2 arg0)\n"
1312 " (declare (in) ivec2 arg1))\n"
1313 " ((declare () bvec2 temp)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001314 " (assign (constant bool (1)) (x) (var_ref temp) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
1315 " (assign (constant bool (1)) (y) (var_ref temp) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001316 " (return (var_ref temp))))\n"
1317 "\n"
1318 " (signature bvec3\n"
1319 " (parameters\n"
1320 " (declare (in) ivec3 arg0)\n"
1321 " (declare (in) ivec3 arg1))\n"
1322 " ((declare () bvec3 temp)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001323 " (assign (constant bool (1)) (x) (var_ref temp) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
1324 " (assign (constant bool (1)) (y) (var_ref temp) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
1325 " (assign (constant bool (1)) (z) (var_ref temp) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001326 " (return (var_ref temp))))\n"
1327 "\n"
1328 " (signature bvec4\n"
1329 " (parameters\n"
1330 " (declare (in) ivec4 arg0)\n"
1331 " (declare (in) ivec4 arg1))\n"
1332 " ((declare () bvec4 temp)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001333 " (assign (constant bool (1)) (x) (var_ref temp) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
1334 " (assign (constant bool (1)) (y) (var_ref temp) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
1335 " (assign (constant bool (1)) (z) (var_ref temp) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
1336 " (assign (constant bool (1)) (w) (var_ref temp) (expression bool < (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001337 " (return (var_ref temp))))\n"
1338 "\n"
1339 " (signature bvec2\n"
1340 " (parameters\n"
1341 " (declare (in) uvec2 arg0)\n"
1342 " (declare (in) uvec2 arg1))\n"
1343 " ((declare () bvec2 temp)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001344 " (assign (constant bool (1)) (x) (var_ref temp) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
1345 " (assign (constant bool (1)) (y) (var_ref temp) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001346 " (return (var_ref temp))))\n"
1347 "\n"
1348 " (signature bvec3\n"
1349 " (parameters\n"
1350 " (declare (in) uvec3 arg0)\n"
1351 " (declare (in) uvec3 arg1))\n"
1352 " ((declare () bvec3 temp)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001353 " (assign (constant bool (1)) (x) (var_ref temp) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
1354 " (assign (constant bool (1)) (y) (var_ref temp) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
1355 " (assign (constant bool (1)) (z) (var_ref temp) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001356 " (return (var_ref temp))))\n"
1357 "\n"
1358 " (signature bvec4\n"
1359 " (parameters\n"
1360 " (declare (in) uvec4 arg0)\n"
1361 " (declare (in) uvec4 arg1))\n"
1362 " ((declare () bvec4 temp)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001363 " (assign (constant bool (1)) (x) (var_ref temp) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
1364 " (assign (constant bool (1)) (y) (var_ref temp) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
1365 " (assign (constant bool (1)) (z) (var_ref temp) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
1366 " (assign (constant bool (1)) (w) (var_ref temp) (expression bool < (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001367 " (return (var_ref temp))))\n"
1368 "))\n"
1369 ""
1370;
1371static const char *builtin_lessThanEqual =
1372 "((function lessThanEqual\n"
1373 " (signature bvec2\n"
1374 " (parameters\n"
1375 " (declare (in) vec2 arg0)\n"
1376 " (declare (in) vec2 arg1))\n"
1377 " ((declare () bvec2 temp)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001378 " (assign (constant bool (1)) (x) (var_ref temp) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
1379 " (assign (constant bool (1)) (y) (var_ref temp) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001380 " (return (var_ref temp))))\n"
1381 "\n"
1382 " (signature bvec3\n"
1383 " (parameters\n"
1384 " (declare (in) vec3 arg0)\n"
1385 " (declare (in) vec3 arg1))\n"
1386 " ((declare () bvec3 temp)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001387 " (assign (constant bool (1)) (x) (var_ref temp) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
1388 " (assign (constant bool (1)) (y) (var_ref temp) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
1389 " (assign (constant bool (1)) (z) (var_ref temp) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001390 " (return (var_ref temp))))\n"
1391 "\n"
1392 " (signature bvec4\n"
1393 " (parameters\n"
1394 " (declare (in) vec4 arg0)\n"
1395 " (declare (in) vec4 arg1))\n"
1396 " ((declare () bvec4 temp)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001397 " (assign (constant bool (1)) (x) (var_ref temp) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
1398 " (assign (constant bool (1)) (y) (var_ref temp) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
1399 " (assign (constant bool (1)) (z) (var_ref temp) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
1400 " (assign (constant bool (1)) (w) (var_ref temp) (expression bool <= (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001401 " (return (var_ref temp))))\n"
1402 "\n"
1403 " (signature bvec2\n"
1404 " (parameters\n"
1405 " (declare (in) ivec2 arg0)\n"
1406 " (declare (in) ivec2 arg1))\n"
1407 " ((declare () bvec2 temp)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001408 " (assign (constant bool (1)) (x) (var_ref temp) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
1409 " (assign (constant bool (1)) (y) (var_ref temp) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001410 " (return (var_ref temp))))\n"
1411 "\n"
1412 " (signature bvec3\n"
1413 " (parameters\n"
1414 " (declare (in) ivec3 arg0)\n"
1415 " (declare (in) ivec3 arg1))\n"
1416 " ((declare () bvec3 temp)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001417 " (assign (constant bool (1)) (x) (var_ref temp) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
1418 " (assign (constant bool (1)) (y) (var_ref temp) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
1419 " (assign (constant bool (1)) (z) (var_ref temp) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001420 " (return (var_ref temp))))\n"
1421 "\n"
1422 " (signature bvec4\n"
1423 " (parameters\n"
1424 " (declare (in) ivec4 arg0)\n"
1425 " (declare (in) ivec4 arg1))\n"
1426 " ((declare () bvec4 temp)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001427 " (assign (constant bool (1)) (x) (var_ref temp) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
1428 " (assign (constant bool (1)) (y) (var_ref temp) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
1429 " (assign (constant bool (1)) (z) (var_ref temp) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
1430 " (assign (constant bool (1)) (w) (var_ref temp) (expression bool <= (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001431 " (return (var_ref temp))))\n"
1432 "\n"
1433 " (signature bvec2\n"
1434 " (parameters\n"
1435 " (declare (in) uvec2 arg0)\n"
1436 " (declare (in) uvec2 arg1))\n"
1437 " ((declare () bvec2 temp)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001438 " (assign (constant bool (1)) (x) (var_ref temp) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
1439 " (assign (constant bool (1)) (y) (var_ref temp) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001440 " (return (var_ref temp))))\n"
1441 "\n"
1442 " (signature bvec3\n"
1443 " (parameters\n"
1444 " (declare (in) uvec3 arg0)\n"
1445 " (declare (in) uvec3 arg1))\n"
1446 " ((declare () bvec3 temp)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001447 " (assign (constant bool (1)) (x) (var_ref temp) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
1448 " (assign (constant bool (1)) (y) (var_ref temp) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
1449 " (assign (constant bool (1)) (z) (var_ref temp) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001450 " (return (var_ref temp))))\n"
1451 "\n"
1452 " (signature bvec4\n"
1453 " (parameters\n"
1454 " (declare (in) uvec4 arg0)\n"
1455 " (declare (in) uvec4 arg1))\n"
1456 " ((declare () bvec4 temp)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001457 " (assign (constant bool (1)) (x) (var_ref temp) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
1458 " (assign (constant bool (1)) (y) (var_ref temp) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
1459 " (assign (constant bool (1)) (z) (var_ref temp) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
1460 " (assign (constant bool (1)) (w) (var_ref temp) (expression bool <= (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001461 " (return (var_ref temp))))\n"
1462 "))\n"
1463 ""
1464;
1465static const char *builtin_log =
1466 "((function log\n"
1467 " (signature float\n"
1468 " (parameters\n"
1469 " (declare (in) float arg0))\n"
1470 " ((return (expression float log (var_ref arg0)))))\n"
1471 "\n"
1472 " (signature vec2\n"
1473 " (parameters\n"
1474 " (declare (in) vec2 arg0))\n"
1475 " ((return (expression vec2 log (var_ref arg0)))))\n"
1476 "\n"
1477 " (signature vec3\n"
1478 " (parameters\n"
1479 " (declare (in) vec3 arg0))\n"
1480 " ((return (expression vec3 log (var_ref arg0)))))\n"
1481 "\n"
1482 " (signature vec4\n"
1483 " (parameters\n"
1484 " (declare (in) vec4 arg0))\n"
1485 " ((return (expression vec4 log (var_ref arg0)))))\n"
1486 "))\n"
1487 ""
1488;
1489static const char *builtin_log2 =
1490 "((function log2\n"
1491 " (signature float\n"
1492 " (parameters\n"
1493 " (declare (in) float arg0))\n"
1494 " ((return (expression float log2 (var_ref arg0)))))\n"
1495 "\n"
1496 " (signature vec2\n"
1497 " (parameters\n"
1498 " (declare (in) vec2 arg0))\n"
1499 " ((return (expression vec2 log2 (var_ref arg0)))))\n"
1500 "\n"
1501 " (signature vec3\n"
1502 " (parameters\n"
1503 " (declare (in) vec3 arg0))\n"
1504 " ((return (expression vec3 log2 (var_ref arg0)))))\n"
1505 "\n"
1506 " (signature vec4\n"
1507 " (parameters\n"
1508 " (declare (in) vec4 arg0))\n"
1509 " ((return (expression vec4 log2 (var_ref arg0)))))\n"
1510 "))\n"
1511 ""
1512;
1513static const char *builtin_matrixCompMult =
1514 "((function matrixCompMult\n"
1515 " (signature mat2\n"
1516 " (parameters\n"
1517 " (declare (in) mat2 x)\n"
1518 " (declare (in) mat2 y))\n"
1519 " ((declare () mat2 z)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001520 " (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (0))) (expression vec2 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1521 " (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (1))) (expression vec2 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001522 "(return (var_ref z))))\n"
1523 "\n"
1524 " (signature mat3\n"
1525 " (parameters\n"
1526 " (declare (in) mat3 x)\n"
1527 " (declare (in) mat3 y))\n"
1528 " ((declare () mat3 z)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001529 " (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (0))) (expression vec3 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1530 " (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (1))) (expression vec3 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
1531 " (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (2))) (expression vec3 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001532 "(return (var_ref z))))\n"
1533 "\n"
1534 " (signature mat4\n"
1535 " (parameters\n"
1536 " (declare (in) mat4 x)\n"
1537 " (declare (in) mat4 y))\n"
1538 " ((declare () mat4 z)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001539 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (0))) (expression vec4 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1540 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (1))) (expression vec4 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
1541 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (2))) (expression vec4 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2)))))\n"
1542 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (3))) (expression vec4 * (array_ref (var_ref x) (constant int (3))) (array_ref (var_ref y) (constant int (3)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001543 "(return (var_ref z))))\n"
1544 "\n"
1545 " (signature mat2x3\n"
1546 " (parameters\n"
1547 " (declare (in) mat2x3 x)\n"
1548 " (declare (in) mat2x3 y))\n"
1549 " ((declare () mat2x3 z)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001550 " (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (0))) (expression vec3 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1551 " (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (1))) (expression vec3 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001552 "(return (var_ref z))))\n"
1553 "\n"
1554 " (signature mat3x2\n"
1555 " (parameters\n"
1556 " (declare (in) mat3x2 x)\n"
1557 " (declare (in) mat3x2 y))\n"
1558 " ((declare () mat3x2 z)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001559 " (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (0))) (expression vec2 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1560 " (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (1))) (expression vec2 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
1561 " (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (2))) (expression vec2 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001562 "(return (var_ref z))))\n"
1563 "\n"
1564 " (signature mat2x4\n"
1565 " (parameters\n"
1566 " (declare (in) mat2x4 x)\n"
1567 " (declare (in) mat2x4 y))\n"
1568 " ((declare () mat2x4 z)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001569 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (0))) (expression vec4 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1570 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (1))) (expression vec4 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001571 "(return (var_ref z))))\n"
1572 "\n"
1573 " (signature mat4x2\n"
1574 " (parameters\n"
1575 " (declare (in) mat4x2 x)\n"
1576 " (declare (in) mat4x2 y))\n"
1577 " ((declare () mat4x2 z)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001578 " (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (0))) (expression vec2 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1579 " (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (1))) (expression vec2 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
1580 " (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (2))) (expression vec2 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2)))))\n"
1581 " (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (3))) (expression vec2 * (array_ref (var_ref x) (constant int (3))) (array_ref (var_ref y) (constant int (3)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001582 "(return (var_ref z))))\n"
1583 "\n"
1584 " (signature mat3x4\n"
1585 " (parameters\n"
1586 " (declare (in) mat3x4 x)\n"
1587 " (declare (in) mat3x4 y))\n"
1588 " ((declare () mat3x4 z)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001589 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (0))) (expression vec4 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1590 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (1))) (expression vec4 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
1591 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (2))) (expression vec4 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001592 "(return (var_ref z))))\n"
1593 "\n"
1594 " (signature mat4x3\n"
1595 " (parameters\n"
1596 " (declare (in) mat4x3 x)\n"
1597 " (declare (in) mat4x3 y))\n"
1598 " ((declare () mat4x3 z)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001599 " (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (0))) (expression vec3 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1600 " (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (1))) (expression vec3 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
1601 " (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (2))) (expression vec3 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2)))))\n"
1602 " (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (3))) (expression vec3 * (array_ref (var_ref x) (constant int (3))) (array_ref (var_ref y) (constant int (3)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001603 "(return (var_ref z))))\n"
1604 "))\n"
1605 ""
1606;
1607static const char *builtin_max =
1608 "((function max\n"
1609 " (signature float\n"
1610 " (parameters\n"
1611 " (declare (in) float arg0)\n"
1612 " (declare (in) float arg1))\n"
1613 " ((return (expression float max (var_ref arg0) (var_ref arg1)))))\n"
1614 "\n"
1615 " (signature vec2\n"
1616 " (parameters\n"
1617 " (declare (in) vec2 arg0)\n"
1618 " (declare (in) vec2 arg1))\n"
1619 " ((return (expression vec2 max (var_ref arg0) (var_ref arg1)))))\n"
1620 "\n"
1621 " (signature vec3\n"
1622 " (parameters\n"
1623 " (declare (in) vec3 arg0)\n"
1624 " (declare (in) vec3 arg1))\n"
1625 " ((return (expression vec3 max (var_ref arg0) (var_ref arg1)))))\n"
1626 "\n"
1627 " (signature vec4\n"
1628 " (parameters\n"
1629 " (declare (in) vec4 arg0)\n"
1630 " (declare (in) vec4 arg1))\n"
1631 " ((return (expression vec4 max (var_ref arg0) (var_ref arg1)))))\n"
1632 "\n"
1633 " (signature vec2\n"
1634 " (parameters\n"
1635 " (declare (in) vec2 arg0)\n"
1636 " (declare (in) float arg1))\n"
1637 " ((return (expression vec2 max (var_ref arg0) (var_ref arg1)))))\n"
1638 "\n"
1639 " (signature vec3\n"
1640 " (parameters\n"
1641 " (declare (in) vec3 arg0)\n"
1642 " (declare (in) float arg1))\n"
1643 " ((return (expression vec3 max (var_ref arg0) (var_ref arg1)))))\n"
1644 "\n"
1645 " (signature vec4\n"
1646 " (parameters\n"
1647 " (declare (in) vec4 arg0)\n"
1648 " (declare (in) float arg1))\n"
1649 " ((return (expression vec4 max (var_ref arg0) (var_ref arg1)))))\n"
1650 "\n"
1651 " (signature int\n"
1652 " (parameters\n"
1653 " (declare (in) int arg0)\n"
1654 " (declare (in) int arg1))\n"
1655 " ((return (expression int max (var_ref arg0) (var_ref arg1)))))\n"
1656 "\n"
1657 " (signature ivec2\n"
1658 " (parameters\n"
1659 " (declare (in) ivec2 arg0)\n"
1660 " (declare (in) ivec2 arg1))\n"
1661 " ((return (expression ivec2 max (var_ref arg0) (var_ref arg1)))))\n"
1662 "\n"
1663 " (signature ivec3\n"
1664 " (parameters\n"
1665 " (declare (in) ivec3 arg0)\n"
1666 " (declare (in) ivec3 arg1))\n"
1667 " ((return (expression ivec3 max (var_ref arg0) (var_ref arg1)))))\n"
1668 "\n"
1669 " (signature ivec4\n"
1670 " (parameters\n"
1671 " (declare (in) ivec4 arg0)\n"
1672 " (declare (in) ivec4 arg1))\n"
1673 " ((return (expression ivec4 max (var_ref arg0) (var_ref arg1)))))\n"
1674 "\n"
1675 " (signature ivec2\n"
1676 " (parameters\n"
1677 " (declare (in) ivec2 arg0)\n"
1678 " (declare (in) int arg1))\n"
1679 " ((return (expression ivec2 max (var_ref arg0) (var_ref arg1)))))\n"
1680 "\n"
1681 " (signature ivec3\n"
1682 " (parameters\n"
1683 " (declare (in) ivec3 arg0)\n"
1684 " (declare (in) int arg1))\n"
1685 " ((return (expression ivec3 max (var_ref arg0) (var_ref arg1)))))\n"
1686 "\n"
1687 " (signature ivec4\n"
1688 " (parameters\n"
1689 " (declare (in) ivec4 arg0)\n"
1690 " (declare (in) int arg1))\n"
1691 " ((return (expression ivec4 max (var_ref arg0) (var_ref arg1)))))\n"
1692 "\n"
1693 " (signature uint\n"
1694 " (parameters\n"
1695 " (declare (in) uint arg0)\n"
1696 " (declare (in) uint arg1))\n"
1697 " ((return (expression uint max (var_ref arg0) (var_ref arg1)))))\n"
1698 "\n"
1699 " (signature uvec2\n"
1700 " (parameters\n"
1701 " (declare (in) uvec2 arg0)\n"
1702 " (declare (in) uvec2 arg1))\n"
1703 " ((return (expression uvec2 max (var_ref arg0) (var_ref arg1)))))\n"
1704 "\n"
1705 " (signature uvec3\n"
1706 " (parameters\n"
1707 " (declare (in) uvec3 arg0)\n"
1708 " (declare (in) uvec3 arg1))\n"
1709 " ((return (expression uvec3 max (var_ref arg0) (var_ref arg1)))))\n"
1710 "\n"
1711 " (signature uvec4\n"
1712 " (parameters\n"
1713 " (declare (in) uvec4 arg0)\n"
1714 " (declare (in) uvec4 arg1))\n"
1715 " ((return (expression uvec4 max (var_ref arg0) (var_ref arg1)))))\n"
1716 "\n"
1717 " (signature uvec2\n"
1718 " (parameters\n"
1719 " (declare (in) uvec2 arg0)\n"
1720 " (declare (in) uint arg1))\n"
1721 " ((return (expression uvec2 max (var_ref arg0) (var_ref arg1)))))\n"
1722 "\n"
1723 " (signature uvec3\n"
1724 " (parameters\n"
1725 " (declare (in) uvec3 arg0)\n"
1726 " (declare (in) uint arg1))\n"
1727 " ((return (expression uvec3 max (var_ref arg0) (var_ref arg1)))))\n"
1728 "\n"
1729 " (signature uvec4\n"
1730 " (parameters\n"
1731 " (declare (in) uvec4 arg0)\n"
1732 " (declare (in) uint arg1))\n"
1733 " ((return (expression uvec4 max (var_ref arg0) (var_ref arg1)))))\n"
1734 "))\n"
1735 ""
1736;
1737static const char *builtin_min =
1738 "((function min\n"
1739 " (signature float\n"
1740 " (parameters\n"
1741 " (declare (in) float arg0)\n"
1742 " (declare (in) float arg1))\n"
1743 " ((return (expression float min (var_ref arg0) (var_ref arg1)))))\n"
1744 "\n"
1745 " (signature vec2\n"
1746 " (parameters\n"
1747 " (declare (in) vec2 arg0)\n"
1748 " (declare (in) vec2 arg1))\n"
1749 " ((return (expression vec2 min (var_ref arg0) (var_ref arg1)))))\n"
1750 "\n"
1751 " (signature vec3\n"
1752 " (parameters\n"
1753 " (declare (in) vec3 arg0)\n"
1754 " (declare (in) vec3 arg1))\n"
1755 " ((return (expression vec3 min (var_ref arg0) (var_ref arg1)))))\n"
1756 "\n"
1757 " (signature vec4\n"
1758 " (parameters\n"
1759 " (declare (in) vec4 arg0)\n"
1760 " (declare (in) vec4 arg1))\n"
1761 " ((return (expression vec4 min (var_ref arg0) (var_ref arg1)))))\n"
1762 "\n"
1763 " (signature vec2\n"
1764 " (parameters\n"
1765 " (declare (in) vec2 arg0)\n"
1766 " (declare (in) float arg1))\n"
1767 " ((return (expression vec2 min (var_ref arg0) (var_ref arg1)))))\n"
1768 "\n"
1769 " (signature vec3\n"
1770 " (parameters\n"
1771 " (declare (in) vec3 arg0)\n"
1772 " (declare (in) float arg1))\n"
1773 " ((return (expression vec3 min (var_ref arg0) (var_ref arg1)))))\n"
1774 "\n"
1775 " (signature vec4\n"
1776 " (parameters\n"
1777 " (declare (in) vec4 arg0)\n"
1778 " (declare (in) float arg1))\n"
1779 " ((return (expression vec4 min (var_ref arg0) (var_ref arg1)))))\n"
1780 "\n"
1781 " (signature int\n"
1782 " (parameters\n"
1783 " (declare (in) int arg0)\n"
1784 " (declare (in) int arg1))\n"
1785 " ((return (expression int min (var_ref arg0) (var_ref arg1)))))\n"
1786 "\n"
1787 " (signature ivec2\n"
1788 " (parameters\n"
1789 " (declare (in) ivec2 arg0)\n"
1790 " (declare (in) ivec2 arg1))\n"
1791 " ((return (expression ivec2 min (var_ref arg0) (var_ref arg1)))))\n"
1792 "\n"
1793 " (signature ivec3\n"
1794 " (parameters\n"
1795 " (declare (in) ivec3 arg0)\n"
1796 " (declare (in) ivec3 arg1))\n"
1797 " ((return (expression ivec3 min (var_ref arg0) (var_ref arg1)))))\n"
1798 "\n"
1799 " (signature ivec4\n"
1800 " (parameters\n"
1801 " (declare (in) ivec4 arg0)\n"
1802 " (declare (in) ivec4 arg1))\n"
1803 " ((return (expression ivec4 min (var_ref arg0) (var_ref arg1)))))\n"
1804 "\n"
1805 " (signature ivec2\n"
1806 " (parameters\n"
1807 " (declare (in) ivec2 arg0)\n"
1808 " (declare (in) int arg1))\n"
1809 " ((return (expression ivec2 min (var_ref arg0) (var_ref arg1)))))\n"
1810 "\n"
1811 " (signature ivec3\n"
1812 " (parameters\n"
1813 " (declare (in) ivec3 arg0)\n"
1814 " (declare (in) int arg1))\n"
1815 " ((return (expression ivec3 min (var_ref arg0) (var_ref arg1)))))\n"
1816 "\n"
1817 " (signature ivec4\n"
1818 " (parameters\n"
1819 " (declare (in) ivec4 arg0)\n"
1820 " (declare (in) int arg1))\n"
1821 " ((return (expression ivec4 min (var_ref arg0) (var_ref arg1)))))\n"
1822 "\n"
1823 " (signature uint\n"
1824 " (parameters\n"
1825 " (declare (in) uint arg0)\n"
1826 " (declare (in) uint arg1))\n"
1827 " ((return (expression uint min (var_ref arg0) (var_ref arg1)))))\n"
1828 "\n"
1829 " (signature uvec2\n"
1830 " (parameters\n"
1831 " (declare (in) uvec2 arg0)\n"
1832 " (declare (in) uvec2 arg1))\n"
1833 " ((return (expression uvec2 min (var_ref arg0) (var_ref arg1)))))\n"
1834 "\n"
1835 " (signature uvec3\n"
1836 " (parameters\n"
1837 " (declare (in) uvec3 arg0)\n"
1838 " (declare (in) uvec3 arg1))\n"
1839 " ((return (expression uvec3 min (var_ref arg0) (var_ref arg1)))))\n"
1840 "\n"
1841 " (signature uvec4\n"
1842 " (parameters\n"
1843 " (declare (in) uvec4 arg0)\n"
1844 " (declare (in) uvec4 arg1))\n"
1845 " ((return (expression uvec4 min (var_ref arg0) (var_ref arg1)))))\n"
1846 "\n"
1847 " (signature uvec2\n"
1848 " (parameters\n"
1849 " (declare (in) uvec2 arg0)\n"
1850 " (declare (in) uint arg1))\n"
1851 " ((return (expression uvec2 min (var_ref arg0) (var_ref arg1)))))\n"
1852 "\n"
1853 " (signature uvec3\n"
1854 " (parameters\n"
1855 " (declare (in) uvec3 arg0)\n"
1856 " (declare (in) uint arg1))\n"
1857 " ((return (expression uvec3 min (var_ref arg0) (var_ref arg1)))))\n"
1858 "\n"
1859 " (signature uvec4\n"
1860 " (parameters\n"
1861 " (declare (in) uvec4 arg0)\n"
1862 " (declare (in) uint arg1))\n"
1863 " ((return (expression uvec4 min (var_ref arg0) (var_ref arg1)))))\n"
1864 "))\n"
1865 ""
1866;
1867static const char *builtin_mix =
1868 "((function mix\n"
1869 " (signature float\n"
1870 " (parameters\n"
1871 " (declare (in) float arg0)\n"
1872 " (declare (in) float arg1)\n"
1873 " (declare (in) float arg2))\n"
1874 " ((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"
1875 "\n"
1876 " (signature vec2\n"
1877 " (parameters\n"
1878 " (declare (in) vec2 arg0)\n"
1879 " (declare (in) vec2 arg1)\n"
1880 " (declare (in) vec2 arg2))\n"
1881 " ((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"
1882 "\n"
1883 " (signature vec3\n"
1884 " (parameters\n"
1885 " (declare (in) vec3 arg0)\n"
1886 " (declare (in) vec3 arg1)\n"
1887 " (declare (in) vec3 arg2))\n"
1888 " ((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"
1889 "\n"
1890 " (signature vec4\n"
1891 " (parameters\n"
1892 " (declare (in) vec4 arg0)\n"
1893 " (declare (in) vec4 arg1)\n"
1894 " (declare (in) vec4 arg2))\n"
1895 " ((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"
1896 "\n"
1897 " (signature vec2\n"
1898 " (parameters\n"
1899 " (declare (in) vec2 arg0)\n"
1900 " (declare (in) vec2 arg1)\n"
1901 " (declare (in) float arg2))\n"
1902 " ((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"
1903 "\n"
1904 " (signature vec3\n"
1905 " (parameters\n"
1906 " (declare (in) vec3 arg0)\n"
1907 " (declare (in) vec3 arg1)\n"
1908 " (declare (in) float arg2))\n"
1909 " ((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"
1910 "\n"
1911 " (signature vec4\n"
1912 " (parameters\n"
1913 " (declare (in) vec4 arg0)\n"
1914 " (declare (in) vec4 arg1)\n"
1915 " (declare (in) float arg2))\n"
1916 " ((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"
1917 "\n"
1918 " (signature float\n"
1919 " (parameters\n"
1920 " (declare (in) float v1)\n"
1921 " (declare (in) float v2)\n"
1922 " (declare (in) bool a))\n"
1923 " ((assign (var_ref a) (var_ref v1) (var_ref v2))\n"
1924 " (return (var_ref v1))))\n"
1925 "\n"
1926 " (signature vec2\n"
1927 " (parameters\n"
1928 " (declare (in) vec2 v1)\n"
1929 " (declare (in) vec2 v2)\n"
1930 " (declare (in) bvec2 a))\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001931 " ((assign (swiz x (var_ref a)) (x) (var_ref v1) (swiz x (var_ref v2)))\n"
1932 " (assign (swiz y (var_ref a)) (y) (var_ref v1) (swiz y (var_ref v2)))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001933 " (return (var_ref v1))))\n"
1934 "\n"
1935 " (signature vec3\n"
1936 " (parameters\n"
1937 " (declare (in) vec3 v1)\n"
1938 " (declare (in) vec3 v2)\n"
1939 " (declare (in) bvec3 a))\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001940 " ((assign (swiz x (var_ref a)) (x) (var_ref v1) (swiz x (var_ref v2)))\n"
1941 " (assign (swiz y (var_ref a)) (y) (var_ref v1) (swiz y (var_ref v2)))\n"
1942 " (assign (swiz z (var_ref a)) (z) (var_ref v1) (swiz z (var_ref v2)))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001943 " (return (var_ref v1))))\n"
1944 "\n"
1945 " (signature vec4\n"
1946 " (parameters\n"
1947 " (declare (in) vec4 v1)\n"
1948 " (declare (in) vec4 v2)\n"
1949 " (declare (in) bvec4 a))\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001950 " ((assign (swiz x (var_ref a)) (x) (var_ref v1) (swiz x (var_ref v2)))\n"
1951 " (assign (swiz y (var_ref a)) (y) (var_ref v1) (swiz y (var_ref v2)))\n"
1952 " (assign (swiz z (var_ref a)) (z) (var_ref v1) (swiz z (var_ref v2)))\n"
1953 " (assign (swiz w (var_ref a)) (w) (var_ref v1) (swiz w (var_ref v2)))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001954 " (return (var_ref v1))))\n"
1955 "))\n"
1956 ""
1957;
1958static const char *builtin_mod =
1959 "((function mod\n"
1960 " (signature float\n"
1961 " (parameters\n"
1962 " (declare (in) float arg0)\n"
1963 " (declare (in) float arg1))\n"
1964 " ((return (expression float % (var_ref arg0) (var_ref arg1)))))\n"
1965 "\n"
1966 " (signature vec2\n"
1967 " (parameters\n"
1968 " (declare (in) vec2 arg0)\n"
1969 " (declare (in) vec2 arg1))\n"
1970 " ((return (expression vec2 % (var_ref arg0) (var_ref arg1)))))\n"
1971 "\n"
1972 " (signature vec3\n"
1973 " (parameters\n"
1974 " (declare (in) vec3 arg0)\n"
1975 " (declare (in) vec3 arg1))\n"
1976 " ((return (expression vec3 % (var_ref arg0) (var_ref arg1)))))\n"
1977 "\n"
1978 " (signature vec4\n"
1979 " (parameters\n"
1980 " (declare (in) vec4 arg0)\n"
1981 " (declare (in) vec4 arg1))\n"
1982 " ((return (expression vec4 % (var_ref arg0) (var_ref arg1)))))\n"
1983 "\n"
1984 " (signature vec2\n"
1985 " (parameters\n"
1986 " (declare (in) vec2 arg0)\n"
1987 " (declare (in) float arg1))\n"
1988 " ((return (expression vec2 % (var_ref arg0) (var_ref arg1)))))\n"
1989 "\n"
1990 " (signature vec3\n"
1991 " (parameters\n"
1992 " (declare (in) vec3 arg0)\n"
1993 " (declare (in) float arg1))\n"
1994 " ((return (expression vec3 % (var_ref arg0) (var_ref arg1)))))\n"
1995 "\n"
1996 " (signature vec4\n"
1997 " (parameters\n"
1998 " (declare (in) vec4 arg0)\n"
1999 " (declare (in) float arg1))\n"
2000 " ((return (expression vec4 % (var_ref arg0) (var_ref arg1)))))\n"
2001 "))\n"
2002 ""
2003;
2004static const char *builtin_noise1 =
2005 "((function noise1\n"
2006 " (signature float\n"
2007 " (parameters\n"
2008 " (declare (in) float x))\n"
Ian Romanick1f3c7d92010-09-01 21:23:52 -07002009 " ((return (expression float noise (var_ref x)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002010 " (signature float\n"
2011 " (parameters\n"
2012 " (declare (in) vec2 x))\n"
Ian Romanick1f3c7d92010-09-01 21:23:52 -07002013 " ((return (expression float noise (var_ref x)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002014 " (signature float\n"
2015 " (parameters\n"
2016 " (declare (in) vec3 x))\n"
Ian Romanick1f3c7d92010-09-01 21:23:52 -07002017 " ((return (expression float noise (var_ref x)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002018 " (signature float\n"
2019 " (parameters\n"
2020 " (declare (in) vec4 x))\n"
Ian Romanick1f3c7d92010-09-01 21:23:52 -07002021 " ((return (expression float noise (var_ref x)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002022 "))\n"
2023 ""
2024;
2025static const char *builtin_noise2 =
2026 "((function noise2\n"
Ian Romanick1f3c7d92010-09-01 21:23:52 -07002027 " (signature vec2\n"
2028 " (parameters (declare (in) vec4 p))\n"
2029 " (\n"
2030 " (declare () float a)\n"
2031 " (declare () float b)\n"
2032 " (declare () vec2 t)\n"
2033 "\n"
2034 " (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
2035 " (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression vec4 + (var_ref p) (constant vec4 (601.0 313.0 29.0 277.0)))))\n"
2036 " (assign (constant bool (1)) (x) (var_ref t) (swiz xx (var_ref a)))\n"
2037 " (assign (constant bool (1)) (y) (var_ref t) (swiz xx (var_ref b)))\n"
2038 " (return (var_ref t))\n"
2039 " ))\n"
2040 "\n"
2041 " (signature vec2\n"
2042 " (parameters (declare (in) vec3 p))\n"
2043 " (\n"
2044 " (declare () float a)\n"
2045 " (declare () float b)\n"
2046 " (declare () vec2 t)\n"
2047 "\n"
2048 " (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
2049 " (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression vec3 + (var_ref p) (constant vec3 (601.0 313.0 29.0)))))\n"
2050 " (assign (constant bool (1)) (x) (var_ref t) (swiz xx (var_ref a)))\n"
2051 " (assign (constant bool (1)) (y) (var_ref t) (swiz xx (var_ref b)))\n"
2052 " (return (var_ref t))\n"
2053 " ))\n"
2054 "\n"
2055 " (signature vec2\n"
2056 " (parameters\n"
2057 " (declare (in ) vec2 p)\n"
2058 " )\n"
2059 " (\n"
2060 " (declare () float a)\n"
2061 " (declare () float b)\n"
2062 " (declare () vec2 t)\n"
2063 "\n"
2064 " (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
2065 " (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression vec2 + (var_ref p) (constant vec2 (601.0 313.0)))))\n"
2066 " (assign (constant bool (1)) (x) (var_ref t) (swiz xx (var_ref a)))\n"
2067 " (assign (constant bool (1)) (y) (var_ref t) (swiz xx (var_ref b)))\n"
2068 " (return (var_ref t))\n"
2069 " ))\n"
2070 "\n"
2071 " (signature vec2\n"
2072 " (parameters\n"
2073 " (declare (in ) float p)\n"
2074 " )\n"
2075 " (\n"
2076 " (declare () float a)\n"
2077 " (declare () float b)\n"
2078 " (declare () vec2 t)\n"
2079 "\n"
2080 " (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
2081 " (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression float + (var_ref p) (constant float (601.0)))))\n"
2082 " (assign (constant bool (1)) (x) (var_ref t) (swiz xx (var_ref a)))\n"
2083 " (assign (constant bool (1)) (y) (var_ref t) (swiz xx (var_ref b)))\n"
2084 " (return (var_ref t))\n"
2085 " ))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002086 "))\n"
2087 ""
2088;
2089static const char *builtin_noise3 =
2090 "((function noise3\n"
Ian Romanick1f3c7d92010-09-01 21:23:52 -07002091 " (signature vec3\n"
2092 " (parameters (declare (in) vec4 p))\n"
2093 " (\n"
2094 " (declare () float a)\n"
2095 " (declare () float b)\n"
2096 " (declare () float c)\n"
2097 " (declare () vec3 t)\n"
2098 "\n"
2099 " (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
2100 " (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression vec4 + (var_ref p) (constant vec4 (601.0 313.0 29.0 277.0)))))\n"
2101 " (assign (constant bool (1)) (x) (var_ref c) (expression float noise (expression vec4 + (var_ref p) (constant vec4 (1559.0 113.0 1861.0 797.0)))))\n"
2102 "\n"
2103 " (assign (constant bool (1)) (x) (var_ref t) (swiz xxx (var_ref a)))\n"
2104 " (assign (constant bool (1)) (y) (var_ref t) (swiz xxx (var_ref b)))\n"
2105 " (assign (constant bool (1)) (z) (var_ref t) (swiz xxx (var_ref c)))\n"
2106 " (return (var_ref t))\n"
2107 " ))\n"
2108 "\n"
2109 " (signature vec3\n"
2110 " (parameters (declare (in) vec3 p))\n"
2111 " (\n"
2112 " (declare () float a)\n"
2113 " (declare () float b)\n"
2114 " (declare () float c)\n"
2115 " (declare () vec3 t)\n"
2116 "\n"
2117 " (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
2118 " (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression vec3 + (var_ref p) (constant vec3 (601.0 313.0 29.0)))))\n"
2119 " (assign (constant bool (1)) (x) (var_ref c) (expression float noise (expression vec3 + (var_ref p) (constant vec3 (1559.0 113.0 1861.0)))))\n"
2120 "\n"
2121 " (assign (constant bool (1)) (x) (var_ref t) (swiz xxx (var_ref a)))\n"
2122 " (assign (constant bool (1)) (y) (var_ref t) (swiz xxx (var_ref b)))\n"
2123 " (assign (constant bool (1)) (z) (var_ref t) (swiz xxx (var_ref c)))\n"
2124 " (return (var_ref t))\n"
2125 " ))\n"
2126 "\n"
2127 " (signature vec3\n"
2128 " (parameters (declare (in) vec2 p))\n"
2129 " (\n"
2130 " (declare () float a)\n"
2131 " (declare () float b)\n"
2132 " (declare () float c)\n"
2133 " (declare () vec3 t)\n"
2134 "\n"
2135 " (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
2136 " (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression vec2 + (var_ref p) (constant vec2 (601.0 313.0)))))\n"
2137 " (assign (constant bool (1)) (x) (var_ref c) (expression float noise (expression vec2 + (var_ref p) (constant vec2 (1559.0 113.0)))))\n"
2138 "\n"
2139 " (assign (constant bool (1)) (x) (var_ref t) (swiz xxx (var_ref a)))\n"
2140 " (assign (constant bool (1)) (y) (var_ref t) (swiz xxx (var_ref b)))\n"
2141 " (assign (constant bool (1)) (z) (var_ref t) (swiz xxx (var_ref c)))\n"
2142 " (return (var_ref t))\n"
2143 " ))\n"
2144 "\n"
2145 " (signature vec3\n"
2146 " (parameters (declare (in) float p))\n"
2147 " (\n"
2148 " (declare () float a)\n"
2149 " (declare () float b)\n"
2150 " (declare () float c)\n"
2151 " (declare () vec3 t)\n"
2152 "\n"
2153 " (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
2154 " (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression float + (var_ref p) (constant float (601.0)))))\n"
2155 " (assign (constant bool (1)) (x) (var_ref c) (expression float noise (expression float + (var_ref p) (constant float (1559.0)))))\n"
2156 "\n"
2157 " (assign (constant bool (1)) (x) (var_ref t) (swiz xxx (var_ref a)))\n"
2158 " (assign (constant bool (1)) (y) (var_ref t) (swiz xxx (var_ref b)))\n"
2159 " (assign (constant bool (1)) (z) (var_ref t) (swiz xxx (var_ref c)))\n"
2160 " (return (var_ref t))\n"
2161 " ))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002162 "))\n"
2163 ""
2164;
2165static const char *builtin_noise4 =
2166 "((function noise4\n"
Ian Romanick1f3c7d92010-09-01 21:23:52 -07002167 " (signature vec4\n"
2168 " (parameters (declare (in) vec4 p))\n"
2169 " (\n"
2170 " (declare () float _x)\n"
2171 " (declare () float _y)\n"
2172 " (declare () float _z)\n"
2173 " (declare () float _w)\n"
2174 " (declare () vec4 _r)\n"
2175 "\n"
2176 " (declare () vec4 _p)\n"
2177 " (assign (constant bool (1)) (xyzw) (var_ref _p) (expression vec4 + (var_ref p) (constant vec4 (1559.0 113.0 1861.0 797.0))) )\n"
2178 "\n"
2179 " (assign (constant bool (1)) (x) (var_ref _x) (expression float noise(var_ref p)))\n"
2180 " (assign (constant bool (1)) (x) (var_ref _y) (expression float noise(expression vec4 + (var_ref p) (constant vec4 (601.0 313.0 29.0 277.0)))))\n"
2181 " (assign (constant bool (1)) (x) (var_ref _z) (expression float noise(var_ref _p)))\n"
2182 " (assign (constant bool (1)) (x) (var_ref _w) (expression float noise(expression vec4 + (var_ref _p) (constant vec4 (601.0 313.0 29.0 277.0)))))\n"
2183 "\n"
2184 " (assign (constant bool (1)) (x) (var_ref _r) (swiz xxxx (var_ref _x)))\n"
2185 " (assign (constant bool (1)) (y) (var_ref _r) (swiz xxxx (var_ref _y)))\n"
2186 " (assign (constant bool (1)) (z) (var_ref _r) (swiz xxxx (var_ref _z)))\n"
2187 " (assign (constant bool (1)) (w) (var_ref _r) (swiz xxxx (var_ref _w)))\n"
2188 " (return (var_ref _r))\n"
2189 " ))\n"
2190 "\n"
2191 " (signature vec4\n"
2192 " (parameters (declare (in) vec3 p))\n"
2193 " (\n"
2194 " (declare () float _x)\n"
2195 " (declare () float _y)\n"
2196 " (declare () float _z)\n"
2197 " (declare () float _w)\n"
2198 " (declare () vec4 _r)\n"
2199 "\n"
2200 " (declare () vec3 _p)\n"
2201 " (assign (constant bool (1)) (xyz) (var_ref _p) (expression vec3 + (var_ref p) (constant vec3 (1559.0 113.0 1861.0))) )\n"
2202 "\n"
2203 " (assign (constant bool (1)) (x) (var_ref _x) (expression float noise(var_ref p)))\n"
2204 " (assign (constant bool (1)) (x) (var_ref _y) (expression float noise(expression vec3 + (var_ref p) (constant vec3 (601.0 313.0 29.0)))))\n"
2205 " (assign (constant bool (1)) (x) (var_ref _z) (expression float noise(var_ref _p)))\n"
2206 " (assign (constant bool (1)) (x) (var_ref _w) (expression float noise(expression vec3 + (var_ref _p) (constant vec3 (601.0 313.0 29.0)))))\n"
2207 "\n"
2208 " (assign (constant bool (1)) (x) (var_ref _r) (swiz xxxx (var_ref _x)))\n"
2209 " (assign (constant bool (1)) (y) (var_ref _r) (swiz xxxx (var_ref _y)))\n"
2210 " (assign (constant bool (1)) (z) (var_ref _r) (swiz xxxx (var_ref _z)))\n"
2211 " (assign (constant bool (1)) (w) (var_ref _r) (swiz xxxx (var_ref _w)))\n"
2212 " (return (var_ref _r))\n"
2213 " ))\n"
2214 "\n"
2215 " (signature vec4\n"
2216 " (parameters (declare (in) vec2 p))\n"
2217 " (\n"
2218 " (declare () float _x)\n"
2219 " (declare () float _y)\n"
2220 " (declare () float _z)\n"
2221 " (declare () float _w)\n"
2222 " (declare () vec4 _r)\n"
2223 "\n"
2224 " (declare () vec2 _p)\n"
2225 " (assign (constant bool (1)) (xy) (var_ref _p) (expression vec2 + (var_ref p) (constant vec2 (1559.0 113.0))) )\n"
2226 "\n"
2227 " (assign (constant bool (1)) (x) (var_ref _x) (expression float noise(var_ref p)))\n"
2228 " (assign (constant bool (1)) (x) (var_ref _y) (expression float noise(expression vec2 + (var_ref p) (constant vec2 (601.0 313.0)))))\n"
2229 " (assign (constant bool (1)) (x) (var_ref _z) (expression float noise(var_ref _p)))\n"
2230 " (assign (constant bool (1)) (x) (var_ref _w) (expression float noise(expression vec2 + (var_ref _p) (constant vec2 (601.0 313.0)))))\n"
2231 "\n"
2232 " (assign (constant bool (1)) (x) (var_ref _r) (swiz xxxx (var_ref _x)))\n"
2233 " (assign (constant bool (1)) (y) (var_ref _r) (swiz xxxx (var_ref _y)))\n"
2234 " (assign (constant bool (1)) (z) (var_ref _r) (swiz xxxx (var_ref _z)))\n"
2235 " (assign (constant bool (1)) (w) (var_ref _r) (swiz xxxx (var_ref _w)))\n"
2236 " (return (var_ref _r))\n"
2237 " ))\n"
2238 "\n"
2239 " (signature vec4\n"
2240 " (parameters (declare (in) float p))\n"
2241 " (\n"
2242 " (declare () float _x)\n"
2243 " (declare () float _y)\n"
2244 " (declare () float _z)\n"
2245 " (declare () float _w)\n"
2246 " (declare () vec4 _r)\n"
2247 "\n"
2248 " (declare () float _p)\n"
2249 " (assign (constant bool (1)) (xy) (var_ref _p) (expression float + (var_ref p) (constant float (1559.0))) )\n"
2250 "\n"
2251 " (assign (constant bool (1)) (x) (var_ref _x) (expression float noise(var_ref p)))\n"
2252 " (assign (constant bool (1)) (x) (var_ref _y) (expression float noise(expression float + (var_ref p) (constant float (601.0 313.0 29.0 277.0)))))\n"
2253 " (assign (constant bool (1)) (x) (var_ref _z) (expression float noise(var_ref _p)))\n"
2254 " (assign (constant bool (1)) (x) (var_ref _w) (expression float noise(expression float + (var_ref _p) (constant float (601.0 313.0 29.0 277.0)))))\n"
2255 "\n"
2256 " (assign (constant bool (1)) (x) (var_ref _r) (swiz xxxx (var_ref _x)))\n"
2257 " (assign (constant bool (1)) (y) (var_ref _r) (swiz xxxx (var_ref _y)))\n"
2258 " (assign (constant bool (1)) (z) (var_ref _r) (swiz xxxx (var_ref _z)))\n"
2259 " (assign (constant bool (1)) (w) (var_ref _r) (swiz xxxx (var_ref _w)))\n"
2260 " (return (var_ref _r))\n"
2261 " ))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002262 "))\n"
2263 ""
2264;
2265static const char *builtin_normalize =
2266 "((function normalize\n"
2267 " (signature float\n"
2268 " (parameters\n"
2269 " (declare (in) float arg0))\n"
Kenneth Graunke6dcca5a2010-09-09 15:15:31 -07002270 " ((return (expression float sign (var_ref arg0)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002271 "\n"
2272 " (signature vec2\n"
2273 " (parameters\n"
2274 " (declare (in) vec2 arg0))\n"
2275 " ((return (expression vec2 * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
2276 "\n"
2277 " (signature vec3\n"
2278 " (parameters\n"
2279 " (declare (in) vec3 arg0))\n"
2280 " ((return (expression vec3 * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
2281 "\n"
2282 " (signature vec4\n"
2283 " (parameters\n"
2284 " (declare (in) vec4 arg0))\n"
2285 " ((return (expression vec4 * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
2286 "))\n"
2287 ""
2288;
2289static const char *builtin_not =
2290 "((function not\n"
2291 " (signature bvec2\n"
2292 " (parameters\n"
2293 " (declare (in) bvec2 arg0))\n"
2294 " ((return (expression bvec2 ! (var_ref arg0)))))\n"
2295 "\n"
2296 " (signature bvec3\n"
2297 " (parameters\n"
2298 " (declare (in) bvec3 arg0))\n"
2299 " ((return (expression bvec3 ! (var_ref arg0)))))\n"
2300 "\n"
2301 " (signature bvec4\n"
2302 " (parameters\n"
2303 " (declare (in) bvec4 arg0))\n"
2304 " ((return (expression bvec4 ! (var_ref arg0)))))\n"
2305 "))\n"
2306 ""
2307;
2308static const char *builtin_notEqual =
2309 "((function notEqual\n"
2310 " (signature bvec2\n"
2311 " (parameters\n"
2312 " (declare (in) vec2 arg0)\n"
2313 " (declare (in) vec2 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +02002314 " ((return (expression bvec2 != (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002315 "\n"
2316 " (signature bvec3\n"
2317 " (parameters\n"
2318 " (declare (in) vec3 arg0)\n"
2319 " (declare (in) vec3 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +02002320 " ((return (expression bvec3 != (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002321 "\n"
2322 " (signature bvec4\n"
2323 " (parameters\n"
2324 " (declare (in) vec4 arg0)\n"
2325 " (declare (in) vec4 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +02002326 " ((return (expression bvec4 != (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002327 "\n"
2328 " (signature bvec2\n"
2329 " (parameters\n"
Kenneth Graunke01813852010-09-01 11:47:52 -07002330 " (declare (in) bvec2 arg0)\n"
2331 " (declare (in) bvec2 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +02002332 " ((return (expression bvec2 != (var_ref arg0) (var_ref arg1)))))\n"
Kenneth Graunke01813852010-09-01 11:47:52 -07002333 "\n"
2334 " (signature bvec3\n"
2335 " (parameters\n"
2336 " (declare (in) bvec3 arg0)\n"
2337 " (declare (in) bvec3 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +02002338 " ((return (expression bvec3 != (var_ref arg0) (var_ref arg1)))))\n"
Kenneth Graunke01813852010-09-01 11:47:52 -07002339 "\n"
2340 " (signature bvec4\n"
2341 " (parameters\n"
2342 " (declare (in) bvec4 arg0)\n"
2343 " (declare (in) bvec4 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +02002344 " ((return (expression bvec4 != (var_ref arg0) (var_ref arg1)))))\n"
Kenneth Graunke01813852010-09-01 11:47:52 -07002345 "\n"
2346 " (signature bvec2\n"
2347 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002348 " (declare (in) ivec2 arg0)\n"
2349 " (declare (in) ivec2 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +02002350 " ((return (expression bvec2 != (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002351 "\n"
2352 " (signature bvec3\n"
2353 " (parameters\n"
2354 " (declare (in) ivec3 arg0)\n"
2355 " (declare (in) ivec3 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +02002356 " ((return (expression bvec3 != (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002357 "\n"
2358 " (signature bvec4\n"
2359 " (parameters\n"
2360 " (declare (in) ivec4 arg0)\n"
2361 " (declare (in) ivec4 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +02002362 " ((return (expression bvec4 != (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002363 "\n"
2364 " (signature bvec2\n"
2365 " (parameters\n"
2366 " (declare (in) uvec2 arg0)\n"
2367 " (declare (in) uvec2 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +02002368 " ((return (expression bvec2 != (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002369 "\n"
2370 " (signature bvec3\n"
2371 " (parameters\n"
2372 " (declare (in) uvec3 arg0)\n"
2373 " (declare (in) uvec3 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +02002374 " ((return (expression bvec3 != (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002375 "\n"
2376 " (signature bvec4\n"
2377 " (parameters\n"
2378 " (declare (in) uvec4 arg0)\n"
2379 " (declare (in) uvec4 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +02002380 " ((return (expression bvec4 != (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002381 "))\n"
2382 ""
2383;
2384static const char *builtin_outerProduct =
2385 "((function outerProduct\n"
2386 " (signature mat2\n"
2387 " (parameters\n"
2388 " (declare (in) vec2 u)\n"
2389 " (declare (in) vec2 v))\n"
2390 " ((declare () mat2 m)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07002391 " (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))\n"
2392 " (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002393 " (return (var_ref m))))\n"
2394 "\n"
2395 " (signature mat2x3\n"
2396 " (parameters\n"
2397 " (declare (in) vec3 u)\n"
2398 " (declare (in) vec2 v))\n"
2399 " ((declare () mat2x3 m)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07002400 " (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))\n"
2401 " (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002402 " (return (var_ref m))))\n"
2403 "\n"
2404 " (signature mat2x4\n"
2405 " (parameters\n"
2406 " (declare (in) vec4 u)\n"
2407 " (declare (in) vec2 v))\n"
2408 " ((declare () mat2x4 m)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07002409 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))\n"
2410 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002411 " (return (var_ref m))))\n"
2412 "\n"
2413 " (signature mat3x2\n"
2414 " (parameters\n"
2415 " (declare (in) vec2 u)\n"
2416 " (declare (in) vec3 v))\n"
2417 " ((declare () mat3x2 m)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07002418 " (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))\n"
2419 " (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))\n"
2420 " (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (2))) (expression vec2 * (var_ref u) (swiz z (var_ref v))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002421 " (return (var_ref m))\n"
2422 " ))\n"
2423 "\n"
2424 " (signature mat3\n"
2425 " (parameters\n"
2426 " (declare (in) vec3 u)\n"
2427 " (declare (in) vec3 v))\n"
2428 " ((declare () mat3 m)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07002429 " (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))\n"
2430 " (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))\n"
2431 " (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (2))) (expression vec3 * (var_ref u) (swiz z (var_ref v))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002432 " (return (var_ref m))))\n"
2433 "\n"
2434 " (signature mat3x4\n"
2435 " (parameters\n"
2436 " (declare (in) vec4 u)\n"
2437 " (declare (in) vec3 v))\n"
2438 " ((declare () mat3x4 m)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07002439 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))\n"
2440 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))\n"
2441 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (2))) (expression vec4 * (var_ref u) (swiz z (var_ref v))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002442 " (return (var_ref m))))\n"
2443 "\n"
2444 " (signature mat4x2\n"
2445 " (parameters\n"
2446 " (declare (in) vec2 u)\n"
2447 " (declare (in) vec4 v))\n"
2448 " ((declare () mat4x2 m)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07002449 " (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))\n"
2450 " (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))\n"
2451 " (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (2))) (expression vec2 * (var_ref u) (swiz z (var_ref v))))\n"
2452 " (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (3))) (expression vec2 * (var_ref u) (swiz w (var_ref v))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002453 " (return (var_ref m))))\n"
2454 "\n"
2455 " (signature mat4x3\n"
2456 " (parameters\n"
2457 " (declare (in) vec3 u)\n"
2458 " (declare (in) vec4 v))\n"
2459 " ((declare () mat4x3 m)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07002460 " (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))\n"
2461 " (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))\n"
2462 " (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (2))) (expression vec3 * (var_ref u) (swiz z (var_ref v))))\n"
2463 " (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (3))) (expression vec3 * (var_ref u) (swiz w (var_ref v))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002464 " (return (var_ref m))))\n"
2465 "\n"
2466 " (signature mat4\n"
2467 " (parameters\n"
2468 " (declare (in) vec4 u)\n"
2469 " (declare (in) vec4 v))\n"
2470 " ((declare () mat4 m)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07002471 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))\n"
2472 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))\n"
2473 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (2))) (expression vec4 * (var_ref u) (swiz z (var_ref v))))\n"
2474 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (3))) (expression vec4 * (var_ref u) (swiz w (var_ref v))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002475 " (return (var_ref m))))\n"
2476 "))\n"
2477 ""
2478;
2479static const char *builtin_pow =
2480 "((function pow\n"
2481 " (signature float\n"
2482 " (parameters\n"
2483 " (declare (in) float arg0)\n"
2484 " (declare (in) float arg1))\n"
2485 " ((return (expression float pow (var_ref arg0) (var_ref arg1)))))\n"
2486 "\n"
2487 " (signature vec2\n"
2488 " (parameters\n"
2489 " (declare (in) vec2 arg0)\n"
2490 " (declare (in) vec2 arg1))\n"
2491 " ((return (expression vec2 pow (var_ref arg0) (var_ref arg1)))))\n"
2492 "\n"
2493 " (signature vec3\n"
2494 " (parameters\n"
2495 " (declare (in) vec3 arg0)\n"
2496 " (declare (in) vec3 arg1))\n"
2497 " ((return (expression vec3 pow (var_ref arg0) (var_ref arg1)))))\n"
2498 "\n"
2499 " (signature vec4\n"
2500 " (parameters\n"
2501 " (declare (in) vec4 arg0)\n"
2502 " (declare (in) vec4 arg1))\n"
2503 " ((return (expression vec4 pow (var_ref arg0) (var_ref arg1)))))\n"
2504 "))\n"
2505 ""
2506;
2507static const char *builtin_radians =
2508 "((function radians\n"
2509 " (signature float\n"
2510 " (parameters\n"
2511 " (declare (in) float arg0))\n"
2512 " ((return (expression float * (var_ref arg0) (constant float (0.017453))))))\n"
2513 "\n"
2514 " (signature vec2\n"
2515 " (parameters\n"
2516 " (declare (in) vec2 arg0))\n"
2517 " ((return (expression vec2 * (var_ref arg0) (constant float (0.017453))))))\n"
2518 "\n"
2519 " (signature vec3\n"
2520 " (parameters\n"
2521 " (declare (in) vec3 arg0))\n"
2522 " ((return (expression vec3 * (var_ref arg0) (constant float (0.017453))))))\n"
2523 "\n"
2524 " (signature vec4\n"
2525 " (parameters\n"
2526 " (declare (in) vec4 arg0))\n"
2527 " ((return (expression vec4 * (var_ref arg0) (constant float (0.017453))))))\n"
2528 "))\n"
2529 ""
2530;
2531static const char *builtin_reflect =
2532 "((function reflect\n"
2533 " (signature float\n"
2534 " (parameters\n"
2535 " (declare (in) float i)\n"
2536 " (declare (in) float n))\n"
2537 " ((return (expression float -\n"
2538 " (var_ref i)\n"
2539 " (expression float *\n"
2540 " (constant float (2.0))\n"
2541 " (expression float *\n"
Kenneth Graunke4b2ffa02010-09-07 23:23:03 -07002542 " (expression float *\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002543 " (var_ref n)\n"
2544 " (var_ref i))\n"
2545 " (var_ref n)))))))\n"
2546 "\n"
2547 " (signature vec2\n"
2548 " (parameters\n"
2549 " (declare (in) vec2 i)\n"
2550 " (declare (in) vec2 n))\n"
2551 " ((return (expression vec2 -\n"
2552 " (var_ref i)\n"
2553 " (expression vec2 *\n"
2554 " (constant float (2.0))\n"
2555 " (expression vec2 *\n"
2556 " (expression float dot\n"
2557 " (var_ref n)\n"
2558 " (var_ref i))\n"
2559 " (var_ref n)))))))\n"
2560 "\n"
2561 " (signature vec3\n"
2562 " (parameters\n"
2563 " (declare (in) vec3 i)\n"
2564 " (declare (in) vec3 n))\n"
2565 " ((return (expression vec3 -\n"
2566 " (var_ref i)\n"
2567 " (expression vec3 *\n"
2568 " (constant float (2.0))\n"
2569 " (expression vec3 *\n"
2570 " (expression float dot\n"
2571 " (var_ref n)\n"
2572 " (var_ref i))\n"
2573 " (var_ref n)))))))\n"
2574 "\n"
2575 " (signature vec4\n"
2576 " (parameters\n"
2577 " (declare (in) vec4 i)\n"
2578 " (declare (in) vec4 n))\n"
2579 " ((return (expression vec4 -\n"
2580 " (var_ref i)\n"
2581 " (expression vec4 *\n"
2582 " (constant float (2.0))\n"
2583 " (expression vec4 *\n"
2584 " (expression float dot\n"
2585 " (var_ref n)\n"
2586 " (var_ref i))\n"
2587 " (var_ref n)))))))\n"
2588 "\n"
2589 "))\n"
2590 ""
2591;
2592static const char *builtin_refract =
2593 "((function refract\n"
2594 " (signature float\n"
2595 " (parameters\n"
2596 " (declare (in) float i)\n"
2597 " (declare (in) float n)\n"
2598 " (declare (in) float eta))\n"
2599 " ((declare () float k)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07002600 " (assign (constant bool (1)) (x) (var_ref k)\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002601 " (expression float - (constant float (1.0))\n"
2602 " (expression float * (var_ref eta)\n"
2603 " (expression float * (var_ref eta)\n"
2604 " (expression float - (constant float (1.0))\n"
2605 " (expression float * \n"
Kenneth Graunke4b2ffa02010-09-07 23:23:03 -07002606 " (expression float * (var_ref n) (var_ref i))\n"
2607 " (expression float * (var_ref n) (var_ref i))))))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002608 " (if (expression bool < (var_ref k) (constant float (0.0)))\n"
2609 " ((return (constant float (0.0))))\n"
2610 " ((return (expression float -\n"
2611 " (expression float * (var_ref eta) (var_ref i))\n"
2612 " (expression float *\n"
2613 " (expression float +\n"
2614 " (expression float * (var_ref eta)\n"
Kenneth Graunke4b2ffa02010-09-07 23:23:03 -07002615 " (expression float * (var_ref n) (var_ref i)))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002616 " (expression float sqrt (var_ref k)))\n"
2617 " (var_ref n))))))))\n"
2618 "\n"
2619 " (signature vec2\n"
2620 " (parameters\n"
2621 " (declare (in) vec2 i)\n"
2622 " (declare (in) vec2 n)\n"
2623 " (declare (in) float eta))\n"
2624 " ((declare () float k)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07002625 " (assign (constant bool (1)) (x) (var_ref k)\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002626 " (expression float - (constant float (1.0))\n"
2627 " (expression float * (var_ref eta)\n"
2628 " (expression float * (var_ref eta)\n"
2629 " (expression float - (constant float (1.0))\n"
2630 " (expression float * \n"
2631 " (expression float dot (var_ref n) (var_ref i))\n"
2632 " (expression float dot (var_ref n) (var_ref i))))))))\n"
2633 " (if (expression bool < (var_ref k) (constant float (0.0)))\n"
2634 " ((return (constant vec2 (0.0 0.0))))\n"
2635 " ((return (expression vec2 -\n"
2636 " (expression vec2 * (var_ref eta) (var_ref i))\n"
2637 " (expression vec2 *\n"
2638 " (expression float +\n"
2639 " (expression float * (var_ref eta)\n"
2640 " (expression float dot (var_ref n) (var_ref i)))\n"
2641 " (expression float sqrt (var_ref k)))\n"
2642 " (var_ref n))))))))\n"
2643 "\n"
2644 " (signature vec3\n"
2645 " (parameters\n"
2646 " (declare (in) vec3 i)\n"
2647 " (declare (in) vec3 n)\n"
2648 " (declare (in) float eta))\n"
2649 " ((declare () float k)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07002650 " (assign (constant bool (1)) (x) (var_ref k)\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002651 " (expression float - (constant float (1.0))\n"
2652 " (expression float * (var_ref eta)\n"
2653 " (expression float * (var_ref eta)\n"
2654 " (expression float - (constant float (1.0))\n"
2655 " (expression float * \n"
2656 " (expression float dot (var_ref n) (var_ref i))\n"
2657 " (expression float dot (var_ref n) (var_ref i))))))))\n"
2658 " (if (expression bool < (var_ref k) (constant float (0.0)))\n"
2659 " ((return (constant vec3 (0.0 0.0 0.0))))\n"
2660 " ((return (expression vec3 -\n"
2661 " (expression vec3 * (var_ref eta) (var_ref i))\n"
2662 " (expression vec3 *\n"
2663 " (expression float +\n"
2664 " (expression float * (var_ref eta)\n"
2665 " (expression float dot (var_ref n) (var_ref i)))\n"
2666 " (expression float sqrt (var_ref k)))\n"
2667 " (var_ref n))))))))\n"
2668 "\n"
2669 " (signature vec4\n"
2670 " (parameters\n"
2671 " (declare (in) vec4 i)\n"
2672 " (declare (in) vec4 n)\n"
2673 " (declare (in) float eta))\n"
2674 " ((declare () float k)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07002675 " (assign (constant bool (1)) (x) (var_ref k)\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002676 " (expression float - (constant float (1.0))\n"
2677 " (expression float * (var_ref eta)\n"
2678 " (expression float * (var_ref eta)\n"
2679 " (expression float - (constant float (1.0))\n"
2680 " (expression float * \n"
2681 " (expression float dot (var_ref n) (var_ref i))\n"
2682 " (expression float dot (var_ref n) (var_ref i))))))))\n"
2683 " (if (expression bool < (var_ref k) (constant float (0.0)))\n"
2684 " ((return (constant vec4 (0.0 0.0 0.0 0.0))))\n"
2685 " ((return (expression vec4 -\n"
2686 " (expression vec4 * (var_ref eta) (var_ref i))\n"
2687 " (expression vec4 *\n"
2688 " (expression float +\n"
2689 " (expression float * (var_ref eta)\n"
2690 " (expression float dot (var_ref n) (var_ref i)))\n"
2691 " (expression float sqrt (var_ref k)))\n"
2692 " (var_ref n))))))))\n"
2693 "\n"
2694 "))\n"
2695 ""
2696;
2697static const char *builtin_shadow1D =
2698 "((function shadow1D\n"
2699 " (signature vec4\n"
2700 " (parameters\n"
2701 " (declare (in) sampler1DShadow sampler)\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07002702 " (declare (in) vec3 P) )\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002703 " ((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 -07002704 "\n"
2705 " (signature vec4\n"
2706 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002707 " (declare (in) sampler1DShadow sampler)\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07002708 " (declare (in) vec3 P) \n"
2709 " (declare (in) float bias) )\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002710 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref bias) ))))\n"
2711 "\n"
2712 "))\n"
2713 ""
2714;
2715static const char *builtin_shadow1DArray =
2716 "((function shadow1DArray\n"
2717 " (signature vec4\n"
2718 " (parameters\n"
2719 " (declare (in) sampler1DArrayShadow sampler)\n"
2720 " (declare (in) vec3 P) )\n"
2721 " ((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 -07002722 "\n"
2723 " (signature vec4\n"
2724 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002725 " (declare (in) sampler1DArrayShadow sampler)\n"
2726 " (declare (in) vec3 P) \n"
2727 " (declare (in) float bias) )\n"
2728 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref bias) ))))\n"
2729 "\n"
2730 "))\n"
2731 ""
2732;
2733static const char *builtin_shadow1DArrayLod =
2734 "((function shadow1DArrayLod\n"
2735 " (signature vec4\n"
2736 " (parameters\n"
2737 " (declare (in) sampler1DArrayShadow sampler)\n"
2738 " (declare (in) vec3 P) \n"
2739 " (declare (in) float lod) )\n"
2740 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref lod) ))))\n"
2741 "\n"
2742 "))\n"
2743 ""
2744;
2745static const char *builtin_shadow1DLod =
2746 "((function shadow1DLod\n"
2747 " (signature vec4\n"
2748 " (parameters\n"
2749 " (declare (in) sampler1DShadow sampler)\n"
2750 " (declare (in) vec3 P) \n"
2751 " (declare (in) float lod) )\n"
2752 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref lod) ))))\n"
2753 "\n"
2754 "))\n"
2755 ""
2756;
2757static const char *builtin_shadow1DProj =
2758 "((function shadow1DProj\n"
2759 " (signature vec4\n"
2760 " (parameters\n"
2761 " (declare (in) sampler1DShadow sampler)\n"
2762 " (declare (in) vec4 P) )\n"
2763 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) ))))\n"
2764 "\n"
2765 " (signature vec4\n"
2766 " (parameters\n"
2767 " (declare (in) sampler1DShadow sampler)\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07002768 " (declare (in) vec4 P) \n"
2769 " (declare (in) float bias) )\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002770 " ((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 -07002771 "\n"
2772 "))\n"
2773 ""
2774;
2775static const char *builtin_shadow1DProjLod =
2776 "((function shadow1DProjLod\n"
2777 " (signature vec4\n"
2778 " (parameters\n"
2779 " (declare (in) sampler1DShadow sampler)\n"
2780 " (declare (in) vec4 P) \n"
2781 " (declare (in) float lod) )\n"
2782 " ((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"
2783 "\n"
2784 "))\n"
2785 ""
2786;
Eric Anholt47003a82010-08-23 12:39:35 -07002787static const char *builtin_shadow2D =
2788 "((function shadow2D\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07002789 " (signature vec4\n"
2790 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002791 " (declare (in) sampler2DShadow sampler)\n"
2792 " (declare (in) vec3 P) )\n"
2793 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) ))))\n"
2794 "\n"
2795 " (signature vec4\n"
2796 " (parameters\n"
2797 " (declare (in) sampler2DShadow sampler)\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07002798 " (declare (in) vec3 P) \n"
Eric Anholt47003a82010-08-23 12:39:35 -07002799 " (declare (in) float bias) )\n"
2800 " ((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 -07002801 "\n"
2802 "))\n"
2803 ""
2804;
Eric Anholt47003a82010-08-23 12:39:35 -07002805static const char *builtin_shadow2DArray =
2806 "((function shadow2DArray\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07002807 " (signature vec4\n"
2808 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002809 " (declare (in) sampler2DArrayShadow sampler)\n"
2810 " (declare (in) vec4 P) )\n"
2811 " ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) 1 (swiz w (var_ref P)) ))))\n"
2812 "\n"
2813 "))\n"
2814 ""
2815;
2816static const char *builtin_shadow2DLod =
2817 "((function shadow2DLod\n"
2818 " (signature vec4\n"
2819 " (parameters\n"
2820 " (declare (in) sampler2DShadow sampler)\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07002821 " (declare (in) vec3 P) \n"
2822 " (declare (in) float lod) )\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002823 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref lod) ))))\n"
2824 "\n"
2825 "))\n"
2826 ""
2827;
2828static const char *builtin_shadow2DProj =
2829 "((function shadow2DProj\n"
2830 " (signature vec4\n"
2831 " (parameters\n"
2832 " (declare (in) sampler2DShadow sampler)\n"
2833 " (declare (in) vec4 P) )\n"
2834 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) ))))\n"
2835 "\n"
2836 " (signature vec4\n"
2837 " (parameters\n"
2838 " (declare (in) sampler2DShadow sampler)\n"
2839 " (declare (in) vec4 P) \n"
2840 " (declare (in) float bias) )\n"
2841 " ((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"
2842 "\n"
2843 "))\n"
2844 ""
2845;
2846static const char *builtin_shadow2DProjLod =
2847 "((function shadow2DProjLod\n"
2848 " (signature vec4\n"
2849 " (parameters\n"
2850 " (declare (in) sampler2DShadow sampler)\n"
2851 " (declare (in) vec4 P) \n"
2852 " (declare (in) float lod) )\n"
2853 " ((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"
2854 "\n"
2855 "))\n"
2856 ""
2857;
2858static const char *builtin_shadow2DRect =
2859 "((function shadow2DRect\n"
2860 " (signature vec4\n"
2861 " (parameters\n"
2862 " (declare (in) sampler2DRectShadow sampler)\n"
2863 " (declare (in) vec3 P) )\n"
2864 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) ))))\n"
2865 "\n"
2866 "))\n"
2867 ""
2868;
2869static const char *builtin_shadow2DRectProj =
2870 "((function shadow2DRectProj\n"
2871 " (signature vec4\n"
2872 " (parameters\n"
2873 " (declare (in) sampler2DRectShadow sampler)\n"
2874 " (declare (in) vec4 P) )\n"
2875 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) ))))\n"
2876 "\n"
2877 "))\n"
2878 ""
2879;
2880static const char *builtin_sign =
2881 "((function sign\n"
2882 " (signature float\n"
2883 " (parameters\n"
2884 " (declare (in) float x))\n"
2885 " ((return (expression float sign (var_ref x)))))\n"
2886 "\n"
2887 " (signature vec2\n"
2888 " (parameters\n"
2889 " (declare (in) vec2 x))\n"
2890 " ((return (expression vec2 sign (var_ref x)))))\n"
2891 "\n"
2892 " (signature vec3\n"
2893 " (parameters\n"
2894 " (declare (in) vec3 x))\n"
2895 " ((return (expression vec3 sign (var_ref x)))))\n"
2896 "\n"
2897 " (signature vec4\n"
2898 " (parameters\n"
2899 " (declare (in) vec4 x))\n"
2900 " ((return (expression vec4 sign (var_ref x)))))\n"
2901 "\n"
2902 " (signature int\n"
2903 " (parameters\n"
2904 " (declare (in) int x))\n"
2905 " ((return (expression int sign (var_ref x)))))\n"
2906 "\n"
2907 " (signature ivec2\n"
2908 " (parameters\n"
2909 " (declare (in) ivec2 x))\n"
2910 " ((return (expression ivec2 sign (var_ref x)))))\n"
2911 "\n"
2912 " (signature ivec3\n"
2913 " (parameters\n"
2914 " (declare (in) ivec3 x))\n"
2915 " ((return (expression ivec3 sign (var_ref x)))))\n"
2916 "\n"
2917 " (signature ivec4\n"
2918 " (parameters\n"
2919 " (declare (in) ivec4 x))\n"
2920 " ((return (expression ivec4 sign (var_ref x)))))\n"
2921 "))\n"
2922 "\n"
2923 ""
2924;
2925static const char *builtin_sin =
2926 "((function sin\n"
2927 " (signature float\n"
2928 " (parameters\n"
2929 " (declare (in) float angle))\n"
2930 " ((return (expression float sin (var_ref angle)))))\n"
2931 "\n"
2932 " (signature vec2\n"
2933 " (parameters\n"
2934 " (declare (in) vec2 angle))\n"
2935 " ((return (expression vec2 sin (var_ref angle)))))\n"
2936 "\n"
2937 " (signature vec3\n"
2938 " (parameters\n"
2939 " (declare (in) vec3 angle))\n"
2940 " ((return (expression vec3 sin (var_ref angle)))))\n"
2941 "\n"
2942 " (signature vec4\n"
2943 " (parameters\n"
2944 " (declare (in) vec4 angle))\n"
2945 " ((return (expression vec4 sin (var_ref angle)))))\n"
2946 "))\n"
2947 ""
2948;
2949static const char *builtin_sinh =
2950 "((function sinh\n"
2951 " (signature float\n"
2952 " (parameters\n"
2953 " (declare (in) float x))\n"
2954 " ((return (expression float * (constant float (0.5))\n"
2955 " (expression float -\n"
2956 " (expression float exp (var_ref x))\n"
2957 " (expression float exp (expression float neg (var_ref x))))))))\n"
2958 " (signature vec2\n"
2959 " (parameters\n"
2960 " (declare (in) vec2 x))\n"
2961 " ((return (expression vec2 * (constant vec2 (0.5))\n"
2962 " (expression vec2 -\n"
2963 " (expression vec2 exp (var_ref x))\n"
2964 " (expression vec2 exp (expression vec2 neg (var_ref x))))))))\n"
2965 " (signature vec3\n"
2966 " (parameters\n"
2967 " (declare (in) vec3 x))\n"
2968 " ((return (expression vec3 * (constant vec3 (0.5))\n"
2969 " (expression vec3 -\n"
2970 " (expression vec3 exp (var_ref x))\n"
2971 " (expression vec3 exp (expression vec3 neg (var_ref x))))))))\n"
2972 " (signature vec4\n"
2973 " (parameters\n"
2974 " (declare (in) vec4 x))\n"
2975 " ((return (expression vec4 * (constant vec4 (0.5))\n"
2976 " (expression vec4 -\n"
2977 " (expression vec4 exp (var_ref x))\n"
2978 " (expression vec4 exp (expression vec4 neg (var_ref x))))))))\n"
2979 "))\n"
2980 ""
2981;
2982static const char *builtin_smoothstep =
2983 "((function smoothstep\n"
2984 " (signature float\n"
2985 " (parameters\n"
2986 " (declare (in) float edge0)\n"
2987 " (declare (in) float edge1)\n"
2988 " (declare (in) float x))\n"
2989 " ((declare () float t)\n"
2990 "\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07002991 " (assign (constant bool (1)) (x) (var_ref t)\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002992 " (expression float max\n"
2993 " (expression float min\n"
2994 " (expression float / (expression float - (var_ref x) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
2995 " (constant float (1.0)))\n"
2996 " (constant float (0.0))))\n"
2997 " (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"
2998 "\n"
2999 " (signature vec2\n"
3000 " (parameters\n"
3001 " (declare (in) float edge0)\n"
3002 " (declare (in) float edge1)\n"
3003 " (declare (in) vec2 x))\n"
3004 " ((declare () vec2 t)\n"
3005 " (declare () vec2 retval)\n"
3006 "\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003007 " (assign (constant bool (1)) (x) (var_ref t)\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003008 " (expression float max\n"
3009 " (expression float min\n"
3010 " (expression float / (expression float - (swiz x (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
3011 " (constant float (1.0)))\n"
3012 " (constant float (0.0))))\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003013 " (assign (constant bool (1)) (x) (var_ref retval) (expression float * (swiz x (var_ref t)) (expression float * (swiz x (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz x (var_ref t)))))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003014 "\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003015 " (assign (constant bool (1)) (y) (var_ref t)\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003016 " (expression float max\n"
3017 " (expression float min\n"
3018 " (expression float / (expression float - (swiz y (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
3019 " (constant float (1.0)))\n"
3020 " (constant float (0.0))))\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003021 " (assign (constant bool (1)) (y) (var_ref retval) (expression float * (swiz y (var_ref t)) (expression float * (swiz y (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz y (var_ref t)))))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003022 " (return (var_ref retval))\n"
3023 " ))\n"
3024 "\n"
3025 " (signature vec3\n"
3026 " (parameters\n"
3027 " (declare (in) float edge0)\n"
3028 " (declare (in) float edge1)\n"
3029 " (declare (in) vec3 x))\n"
3030 " ((declare () vec3 t)\n"
3031 " (declare () vec3 retval)\n"
3032 "\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003033 " (assign (constant bool (1)) (x) (var_ref t)\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003034 " (expression float max\n"
3035 " (expression float min\n"
3036 " (expression float / (expression float - (swiz x (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
3037 " (constant float (1.0)))\n"
3038 " (constant float (0.0))))\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003039 " (assign (constant bool (1)) (x) (var_ref retval) (expression float * (swiz x (var_ref t)) (expression float * (swiz x (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz x (var_ref t)))))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003040 "\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003041 " (assign (constant bool (1)) (y) (var_ref t)\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003042 " (expression float max\n"
3043 " (expression float min\n"
3044 " (expression float / (expression float - (swiz y (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
3045 " (constant float (1.0)))\n"
3046 " (constant float (0.0))))\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003047 " (assign (constant bool (1)) (y) (var_ref retval) (expression float * (swiz y (var_ref t)) (expression float * (swiz y (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz y (var_ref t)))))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003048 "\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003049 " (assign (constant bool (1)) (z) (var_ref t)\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003050 " (expression float max\n"
3051 " (expression float min\n"
3052 " (expression float / (expression float - (swiz z (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
3053 " (constant float (1.0)))\n"
3054 " (constant float (0.0))))\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003055 " (assign (constant bool (1)) (z) (var_ref retval) (expression float * (swiz z (var_ref t)) (expression float * (swiz z (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz z (var_ref t)))))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003056 " (return (var_ref retval))\n"
3057 " ))\n"
3058 "\n"
3059 "\n"
3060 " (signature vec4\n"
3061 " (parameters\n"
3062 " (declare (in) float edge0)\n"
3063 " (declare (in) float edge1)\n"
3064 " (declare (in) vec4 x))\n"
3065 " ((declare () vec4 t)\n"
3066 " (declare () vec4 retval)\n"
3067 "\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003068 " (assign (constant bool (1)) (x) (var_ref t)\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003069 " (expression float max\n"
3070 " (expression float min\n"
3071 " (expression float / (expression float - (swiz x (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
3072 " (constant float (1.0)))\n"
3073 " (constant float (0.0))))\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003074 " (assign (constant bool (1)) (x) (var_ref retval) (expression float * (swiz x (var_ref t)) (expression float * (swiz x (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz x (var_ref t)))))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003075 "\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003076 " (assign (constant bool (1)) (y) (var_ref t)\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003077 " (expression float max\n"
3078 " (expression float min\n"
3079 " (expression float / (expression float - (swiz y (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
3080 " (constant float (1.0)))\n"
3081 " (constant float (0.0))))\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003082 " (assign (constant bool (1)) (y) (var_ref retval) (expression float * (swiz y (var_ref t)) (expression float * (swiz y (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz y (var_ref t)))))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003083 "\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003084 " (assign (constant bool (1)) (z) (var_ref t)\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003085 " (expression float max\n"
3086 " (expression float min\n"
3087 " (expression float / (expression float - (swiz z (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
3088 " (constant float (1.0)))\n"
3089 " (constant float (0.0))))\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003090 " (assign (constant bool (1)) (z) (var_ref retval) (expression float * (swiz z (var_ref t)) (expression float * (swiz z (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz z (var_ref t)))))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003091 "\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003092 " (assign (constant bool (1)) (w) (var_ref t)\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003093 " (expression float max\n"
3094 " (expression float min\n"
3095 " (expression float / (expression float - (swiz w (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
3096 " (constant float (1.0)))\n"
3097 " (constant float (0.0))))\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003098 " (assign (constant bool (1)) (w) (var_ref retval) (expression float * (swiz w (var_ref t)) (expression float * (swiz w (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz w (var_ref t)))))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003099 " (return (var_ref retval))\n"
3100 " ))\n"
3101 "\n"
3102 " (signature vec2\n"
3103 " (parameters\n"
3104 " (declare (in) vec2 edge0)\n"
3105 " (declare (in) vec2 edge1)\n"
3106 " (declare (in) vec2 x))\n"
3107 " ((return (expression vec2 max\n"
3108 " (expression vec2 min\n"
3109 " (expression vec2 / (expression vec2 - (var_ref x) (var_ref edge0)) (expression vec2 - (var_ref edge1) (var_ref edge0)))\n"
3110 " (constant vec2 (1.0 1.0)))\n"
3111 " (constant vec2 (0.0 0.0))))))\n"
3112 "\n"
3113 " (signature vec3\n"
3114 " (parameters\n"
3115 " (declare (in) vec3 edge0)\n"
3116 " (declare (in) vec3 edge1)\n"
3117 " (declare (in) vec3 x))\n"
3118 " ((return (expression vec3 max\n"
3119 " (expression vec3 min\n"
3120 " (expression vec3 / (expression vec3 - (var_ref x) (var_ref edge0)) (expression vec3 - (var_ref edge1) (var_ref edge0)))\n"
3121 " (constant vec3 (1.0 1.0 1.0)))\n"
3122 " (constant vec3 (0.0 0.0 0.0))))))\n"
3123 "\n"
3124 " (signature vec4\n"
3125 " (parameters\n"
3126 " (declare (in) vec4 edge0)\n"
3127 " (declare (in) vec4 edge1)\n"
3128 " (declare (in) vec4 x))\n"
3129 " ((return (expression vec4 max\n"
3130 " (expression vec4 min\n"
3131 " (expression vec4 / (expression vec4 - (var_ref x) (var_ref edge0)) (expression vec4 - (var_ref edge1) (var_ref edge0)))\n"
3132 " (constant vec4 (1.0 1.0 1.0 1.0)))\n"
3133 " (constant vec4 (0.0 0.0 0.0 0.0))))))\n"
3134 "))\n"
3135 "\n"
3136 ""
3137;
3138static const char *builtin_sqrt =
3139 "((function sqrt\n"
3140 " (signature float\n"
3141 " (parameters\n"
3142 " (declare (in) float arg0))\n"
3143 " ((return (expression float sqrt (var_ref arg0)))))\n"
3144 "\n"
3145 " (signature vec2\n"
3146 " (parameters\n"
3147 " (declare (in) vec2 arg0))\n"
3148 " ((return (expression vec2 sqrt (var_ref arg0)))))\n"
3149 "\n"
3150 " (signature vec3\n"
3151 " (parameters\n"
3152 " (declare (in) vec3 arg0))\n"
3153 " ((return (expression vec3 sqrt (var_ref arg0)))))\n"
3154 "\n"
3155 " (signature vec4\n"
3156 " (parameters\n"
3157 " (declare (in) vec4 arg0))\n"
3158 " ((return (expression vec4 sqrt (var_ref arg0)))))\n"
3159 "))\n"
3160 ""
3161;
3162static const char *builtin_step =
3163 "((function step\n"
3164 " (signature float\n"
3165 " (parameters\n"
3166 " (declare (in) float edge)\n"
3167 " (declare (in) float x))\n"
3168 " ((return (expression float b2f (expression bool >= (var_ref x) (var_ref edge))))))\n"
3169 "\n"
3170 " (signature vec2\n"
3171 " (parameters\n"
3172 " (declare (in) float edge)\n"
3173 " (declare (in) vec2 x))\n"
3174 " ((declare () vec2 t)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003175 " (assign (constant bool (1)) (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge))))\n"
3176 " (assign (constant bool (1)) (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003177 " (return (var_ref t))))\n"
3178 "\n"
3179 " (signature vec3\n"
3180 " (parameters\n"
3181 " (declare (in) float edge)\n"
3182 " (declare (in) vec3 x))\n"
3183 " ((declare () vec3 t)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003184 " (assign (constant bool (1)) (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge))))\n"
3185 " (assign (constant bool (1)) (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge))))\n"
3186 " (assign (constant bool (1)) (z) (var_ref t) (expression float b2f (expression bool >= (swiz z (var_ref x))(var_ref edge))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003187 " (return (var_ref t))))\n"
3188 "\n"
3189 " (signature vec4\n"
3190 " (parameters\n"
3191 " (declare (in) float edge)\n"
3192 " (declare (in) vec4 x))\n"
3193 " ((declare () vec4 t)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003194 " (assign (constant bool (1)) (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge))))\n"
3195 " (assign (constant bool (1)) (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge))))\n"
3196 " (assign (constant bool (1)) (z) (var_ref t) (expression float b2f (expression bool >= (swiz z (var_ref x))(var_ref edge))))\n"
3197 " (assign (constant bool (1)) (w) (var_ref t) (expression float b2f (expression bool >= (swiz w (var_ref x))(var_ref edge))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003198 " (return (var_ref t))))\n"
3199 "\n"
3200 " (signature vec2\n"
3201 " (parameters\n"
3202 " (declare (in) vec2 edge)\n"
3203 " (declare (in) vec2 x))\n"
3204 " ((declare () vec2 t)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003205 " (assign (constant bool (1)) (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(swiz x (var_ref edge)))))\n"
3206 " (assign (constant bool (1)) (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(swiz y (var_ref edge)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003207 " (return (var_ref t))))\n"
3208 "\n"
3209 " (signature vec3\n"
3210 " (parameters\n"
3211 " (declare (in) vec3 edge)\n"
3212 " (declare (in) vec3 x))\n"
3213 " ((declare () vec3 t)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003214 " (assign (constant bool (1)) (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(swiz x (var_ref edge)))))\n"
3215 " (assign (constant bool (1)) (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(swiz y (var_ref edge)))))\n"
3216 " (assign (constant bool (1)) (z) (var_ref t) (expression float b2f (expression bool >= (swiz z (var_ref x))(swiz z (var_ref edge)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003217 " (return (var_ref t))))\n"
3218 "\n"
3219 " (signature vec4\n"
3220 " (parameters\n"
3221 " (declare (in) vec4 edge)\n"
3222 " (declare (in) vec4 x))\n"
3223 " ((declare () vec4 t)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003224 " (assign (constant bool (1)) (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(swiz x (var_ref edge)))))\n"
3225 " (assign (constant bool (1)) (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(swiz y (var_ref edge)))))\n"
Eric Anholtc3db43d2010-09-08 15:01:02 -07003226 " (assign (constant bool (1)) (z) (var_ref t) (expression float b2f (expression bool >= (swiz z (var_ref x))(swiz z (var_ref edge)))))\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003227 " (assign (constant bool (1)) (w) (var_ref t) (expression float b2f (expression bool >= (swiz w (var_ref x))(swiz w (var_ref edge)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003228 " (return (var_ref t))))\n"
3229 "))\n"
3230 "\n"
3231 ""
3232;
3233static const char *builtin_tan =
3234 "((function tan\n"
3235 " (signature float\n"
3236 " (parameters\n"
3237 " (declare (in) float angle))\n"
3238 " ((return (expression float / (expression float sin (var_ref angle)) (expression float cos (var_ref angle))))))\n"
3239 "\n"
3240 " (signature vec2\n"
3241 " (parameters\n"
3242 " (declare (in) vec2 angle))\n"
3243 " ((return (expression vec2 / (expression vec2 sin (var_ref angle)) (expression vec2 cos (var_ref angle))))))\n"
3244 "\n"
3245 " (signature vec3\n"
3246 " (parameters\n"
3247 " (declare (in) vec3 angle))\n"
3248 " ((return (expression vec3 / (expression vec3 sin (var_ref angle)) (expression vec3 cos (var_ref angle))))))\n"
3249 "\n"
3250 " (signature vec4\n"
3251 " (parameters\n"
3252 " (declare (in) vec4 angle))\n"
3253 " ((return (expression vec4 / (expression vec4 sin (var_ref angle)) (expression vec4 cos (var_ref angle))))))\n"
3254 "))\n"
3255 ""
3256;
3257static const char *builtin_tanh =
3258 "((function tanh\n"
3259 " (signature float\n"
3260 " (parameters\n"
3261 " (declare (in) float x))\n"
3262 " ((return (expression float /\n"
3263 " (expression float -\n"
3264 " (expression float exp (var_ref x))\n"
3265 " (expression float exp (expression float neg (var_ref x))))\n"
3266 " (expression float +\n"
3267 " (expression float exp (var_ref x))\n"
3268 " (expression float exp (expression float neg (var_ref x))))))))\n"
3269 " (signature vec2\n"
3270 " (parameters\n"
3271 " (declare (in) vec2 x))\n"
3272 " ((return (expression vec2 /\n"
3273 " (expression vec2 -\n"
3274 " (expression vec2 exp (var_ref x))\n"
3275 " (expression vec2 exp (expression vec2 neg (var_ref x))))\n"
3276 " (expression vec2 +\n"
3277 " (expression vec2 exp (var_ref x))\n"
3278 " (expression vec2 exp (expression vec2 neg (var_ref x))))))))\n"
3279 " (signature vec3\n"
3280 " (parameters\n"
3281 " (declare (in) vec3 x))\n"
3282 " ((return (expression vec3 /\n"
3283 " (expression vec3 -\n"
3284 " (expression vec3 exp (var_ref x))\n"
3285 " (expression vec3 exp (expression vec3 neg (var_ref x))))\n"
3286 " (expression vec3 +\n"
3287 " (expression vec3 exp (var_ref x))\n"
3288 " (expression vec3 exp (expression vec3 neg (var_ref x))))))))\n"
3289 " (signature vec4\n"
3290 " (parameters\n"
3291 " (declare (in) vec4 x))\n"
3292 " ((return (expression vec4 /\n"
3293 " (expression vec4 -\n"
3294 " (expression vec4 exp (var_ref x))\n"
3295 " (expression vec4 exp (expression vec4 neg (var_ref x))))\n"
3296 " (expression vec4 +\n"
3297 " (expression vec4 exp (var_ref x))\n"
3298 " (expression vec4 exp (expression vec4 neg (var_ref x))))))))\n"
3299 "))\n"
3300 ""
3301;
3302static const char *builtin_texelFetch =
3303 "((function texelFetch\n"
3304 " (signature vec4\n"
3305 " (parameters\n"
3306 " (declare (in) sampler1D sampler)\n"
3307 " (declare (in) int P) \n"
3308 " (declare (in) int lod) )\n"
3309 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3310 "\n"
3311 " (signature ivec4\n"
3312 " (parameters\n"
3313 " (declare (in) isampler1D sampler)\n"
3314 " (declare (in) int P) \n"
3315 " (declare (in) int lod) )\n"
3316 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3317 "\n"
3318 " (signature uvec4\n"
3319 " (parameters\n"
3320 " (declare (in) usampler1D sampler)\n"
3321 " (declare (in) int P) \n"
3322 " (declare (in) int lod) )\n"
3323 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3324 "\n"
3325 " (signature vec4\n"
3326 " (parameters\n"
3327 " (declare (in) sampler2D sampler)\n"
3328 " (declare (in) ivec2 P) \n"
3329 " (declare (in) int lod) )\n"
3330 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3331 "\n"
3332 " (signature ivec4\n"
3333 " (parameters\n"
3334 " (declare (in) isampler2D sampler)\n"
3335 " (declare (in) ivec2 P) \n"
3336 " (declare (in) int lod) )\n"
3337 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3338 "\n"
3339 " (signature uvec4\n"
3340 " (parameters\n"
3341 " (declare (in) usampler2D sampler)\n"
3342 " (declare (in) ivec2 P) \n"
3343 " (declare (in) int lod) )\n"
3344 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3345 "\n"
3346 " (signature vec4\n"
3347 " (parameters\n"
3348 " (declare (in) sampler3D sampler)\n"
3349 " (declare (in) ivec3 P) \n"
3350 " (declare (in) int lod) )\n"
3351 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3352 "\n"
3353 " (signature ivec4\n"
3354 " (parameters\n"
3355 " (declare (in) isampler3D sampler)\n"
3356 " (declare (in) ivec3 P) \n"
3357 " (declare (in) int lod) )\n"
3358 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3359 "\n"
3360 " (signature uvec4\n"
3361 " (parameters\n"
3362 " (declare (in) usampler3D sampler)\n"
3363 " (declare (in) ivec3 P) \n"
3364 " (declare (in) int lod) )\n"
3365 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3366 "\n"
3367 " (signature vec4\n"
3368 " (parameters\n"
3369 " (declare (in) sampler1DArray sampler)\n"
3370 " (declare (in) ivec2 P) \n"
3371 " (declare (in) int lod) )\n"
3372 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3373 "\n"
3374 " (signature ivec4\n"
3375 " (parameters\n"
3376 " (declare (in) isampler1DArray sampler)\n"
3377 " (declare (in) ivec2 P) \n"
3378 " (declare (in) int lod) )\n"
3379 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3380 "\n"
3381 " (signature uvec4\n"
3382 " (parameters\n"
3383 " (declare (in) usampler1DArray sampler)\n"
3384 " (declare (in) ivec2 P) \n"
3385 " (declare (in) int lod) )\n"
3386 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3387 "\n"
3388 " (signature vec4\n"
3389 " (parameters\n"
3390 " (declare (in) sampler2DArray sampler)\n"
3391 " (declare (in) ivec3 P) \n"
3392 " (declare (in) int lod) )\n"
3393 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3394 "\n"
3395 " (signature ivec4\n"
3396 " (parameters\n"
3397 " (declare (in) isampler2DArray sampler)\n"
3398 " (declare (in) ivec3 P) \n"
3399 " (declare (in) int lod) )\n"
3400 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3401 "\n"
3402 " (signature uvec4\n"
3403 " (parameters\n"
3404 " (declare (in) usampler2DArray sampler)\n"
3405 " (declare (in) ivec3 P) \n"
3406 " (declare (in) int lod) )\n"
3407 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003408 "\n"
3409 "))\n"
3410 ""
3411;
3412static const char *builtin_texture =
3413 "((function texture\n"
3414 " (signature vec4\n"
3415 " (parameters\n"
3416 " (declare (in) sampler1D sampler)\n"
3417 " (declare (in) float P) )\n"
3418 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3419 "\n"
3420 " (signature ivec4\n"
3421 " (parameters\n"
3422 " (declare (in) isampler1D sampler)\n"
3423 " (declare (in) float P) )\n"
3424 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3425 "\n"
3426 " (signature uvec4\n"
3427 " (parameters\n"
3428 " (declare (in) usampler1D sampler)\n"
3429 " (declare (in) float P) )\n"
3430 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3431 "\n"
3432 " (signature vec4\n"
3433 " (parameters\n"
3434 " (declare (in) sampler2D sampler)\n"
3435 " (declare (in) vec2 P) )\n"
3436 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3437 "\n"
3438 " (signature ivec4\n"
3439 " (parameters\n"
3440 " (declare (in) isampler2D sampler)\n"
3441 " (declare (in) vec2 P) )\n"
3442 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3443 "\n"
3444 " (signature uvec4\n"
3445 " (parameters\n"
3446 " (declare (in) usampler2D sampler)\n"
3447 " (declare (in) vec2 P) )\n"
3448 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3449 "\n"
3450 " (signature vec4\n"
3451 " (parameters\n"
3452 " (declare (in) sampler3D sampler)\n"
3453 " (declare (in) vec3 P) )\n"
3454 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3455 "\n"
3456 " (signature ivec4\n"
3457 " (parameters\n"
3458 " (declare (in) isampler3D sampler)\n"
3459 " (declare (in) vec3 P) )\n"
3460 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3461 "\n"
3462 " (signature uvec4\n"
3463 " (parameters\n"
3464 " (declare (in) usampler3D sampler)\n"
3465 " (declare (in) vec3 P) )\n"
3466 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3467 "\n"
3468 " (signature vec4\n"
3469 " (parameters\n"
3470 " (declare (in) samplerCube sampler)\n"
3471 " (declare (in) vec3 P) )\n"
3472 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3473 "\n"
3474 " (signature ivec4\n"
3475 " (parameters\n"
3476 " (declare (in) isamplerCube sampler)\n"
3477 " (declare (in) vec3 P) )\n"
3478 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3479 "\n"
3480 " (signature uvec4\n"
3481 " (parameters\n"
3482 " (declare (in) usamplerCube sampler)\n"
3483 " (declare (in) vec3 P) )\n"
3484 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3485 "\n"
3486 " (signature vec4\n"
3487 " (parameters\n"
3488 " (declare (in) sampler1DArray sampler)\n"
3489 " (declare (in) vec2 P) )\n"
3490 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3491 "\n"
3492 " (signature ivec4\n"
3493 " (parameters\n"
3494 " (declare (in) isampler1DArray sampler)\n"
3495 " (declare (in) vec2 P) )\n"
3496 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3497 "\n"
3498 " (signature uvec4\n"
3499 " (parameters\n"
3500 " (declare (in) usampler1DArray sampler)\n"
3501 " (declare (in) vec2 P) )\n"
3502 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3503 "\n"
3504 " (signature vec4\n"
3505 " (parameters\n"
3506 " (declare (in) sampler2DArray sampler)\n"
3507 " (declare (in) vec3 P) )\n"
3508 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3509 "\n"
3510 " (signature ivec4\n"
3511 " (parameters\n"
3512 " (declare (in) isampler2DArray sampler)\n"
3513 " (declare (in) vec3 P) )\n"
3514 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3515 "\n"
3516 " (signature uvec4\n"
3517 " (parameters\n"
3518 " (declare (in) usampler2DArray sampler)\n"
3519 " (declare (in) vec3 P) )\n"
3520 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3521 "\n"
3522 " (signature vec4\n"
3523 " (parameters\n"
3524 " (declare (in) sampler1D sampler)\n"
3525 " (declare (in) float P) \n"
3526 " (declare (in) float bias) )\n"
3527 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3528 "\n"
3529 " (signature ivec4\n"
3530 " (parameters\n"
3531 " (declare (in) isampler1D sampler)\n"
3532 " (declare (in) float P) \n"
3533 " (declare (in) float bias) )\n"
3534 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3535 "\n"
3536 " (signature uvec4\n"
3537 " (parameters\n"
3538 " (declare (in) usampler1D sampler)\n"
3539 " (declare (in) float P) \n"
3540 " (declare (in) float bias) )\n"
3541 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3542 "\n"
3543 " (signature vec4\n"
3544 " (parameters\n"
3545 " (declare (in) sampler2D sampler)\n"
3546 " (declare (in) vec2 P) \n"
3547 " (declare (in) float bias) )\n"
3548 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3549 "\n"
3550 " (signature ivec4\n"
3551 " (parameters\n"
3552 " (declare (in) isampler2D sampler)\n"
3553 " (declare (in) vec2 P) \n"
3554 " (declare (in) float bias) )\n"
3555 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3556 "\n"
3557 " (signature uvec4\n"
3558 " (parameters\n"
3559 " (declare (in) usampler2D sampler)\n"
3560 " (declare (in) vec2 P) \n"
3561 " (declare (in) float bias) )\n"
3562 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3563 "\n"
3564 " (signature vec4\n"
3565 " (parameters\n"
3566 " (declare (in) sampler3D sampler)\n"
3567 " (declare (in) vec3 P) \n"
3568 " (declare (in) float bias) )\n"
3569 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3570 "\n"
3571 " (signature ivec4\n"
3572 " (parameters\n"
3573 " (declare (in) isampler3D sampler)\n"
3574 " (declare (in) vec3 P) \n"
3575 " (declare (in) float bias) )\n"
3576 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3577 "\n"
3578 " (signature uvec4\n"
3579 " (parameters\n"
3580 " (declare (in) usampler3D sampler)\n"
3581 " (declare (in) vec3 P) \n"
3582 " (declare (in) float bias) )\n"
3583 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3584 "\n"
3585 " (signature vec4\n"
3586 " (parameters\n"
3587 " (declare (in) samplerCube sampler)\n"
3588 " (declare (in) vec3 P) \n"
3589 " (declare (in) float bias) )\n"
3590 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3591 "\n"
3592 " (signature ivec4\n"
3593 " (parameters\n"
3594 " (declare (in) isamplerCube sampler)\n"
3595 " (declare (in) vec3 P) \n"
3596 " (declare (in) float bias) )\n"
3597 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3598 "\n"
3599 " (signature uvec4\n"
3600 " (parameters\n"
3601 " (declare (in) usamplerCube sampler)\n"
3602 " (declare (in) vec3 P) \n"
3603 " (declare (in) float bias) )\n"
3604 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3605 "\n"
3606 " (signature vec4\n"
3607 " (parameters\n"
3608 " (declare (in) sampler1DArray sampler)\n"
3609 " (declare (in) vec2 P) \n"
3610 " (declare (in) float bias) )\n"
3611 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3612 "\n"
3613 " (signature ivec4\n"
3614 " (parameters\n"
3615 " (declare (in) isampler1DArray sampler)\n"
3616 " (declare (in) vec2 P) \n"
3617 " (declare (in) float bias) )\n"
3618 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3619 "\n"
3620 " (signature uvec4\n"
3621 " (parameters\n"
3622 " (declare (in) usampler1DArray sampler)\n"
3623 " (declare (in) vec2 P) \n"
3624 " (declare (in) float bias) )\n"
3625 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3626 "\n"
3627 " (signature vec4\n"
3628 " (parameters\n"
3629 " (declare (in) sampler2DArray sampler)\n"
3630 " (declare (in) vec3 P) \n"
3631 " (declare (in) float bias) )\n"
3632 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3633 "\n"
3634 " (signature ivec4\n"
3635 " (parameters\n"
3636 " (declare (in) isampler2DArray sampler)\n"
3637 " (declare (in) vec3 P) \n"
3638 " (declare (in) float bias) )\n"
3639 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3640 "\n"
3641 " (signature uvec4\n"
3642 " (parameters\n"
3643 " (declare (in) usampler2DArray sampler)\n"
3644 " (declare (in) vec3 P) \n"
3645 " (declare (in) float bias) )\n"
3646 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3647 "\n"
3648 "))\n"
3649 ""
3650;
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003651static const char *builtin_texture1D =
3652 "((function texture1D\n"
3653 " (signature vec4\n"
3654 " (parameters\n"
3655 " (declare (in) sampler1D sampler)\n"
3656 " (declare (in) float P) )\n"
3657 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3658 "\n"
3659 " (signature vec4\n"
3660 " (parameters\n"
3661 " (declare (in) sampler1D sampler)\n"
3662 " (declare (in) float P) \n"
3663 " (declare (in) float bias) )\n"
3664 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3665 "\n"
3666 "))\n"
3667 ""
3668;
Eric Anholt47003a82010-08-23 12:39:35 -07003669static const char *builtin_texture1DArray =
3670 "((function texture1DArray\n"
3671 " (signature vec4\n"
Kenneth Graunkeb3262122010-04-28 23:01:33 -07003672 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003673 " (declare (in) sampler1DArray sampler)\n"
3674 " (declare (in) vec2 P) )\n"
3675 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
Kenneth Graunkeb3262122010-04-28 23:01:33 -07003676 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003677 " (signature vec4\n"
Kenneth Graunkeb3262122010-04-28 23:01:33 -07003678 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003679 " (declare (in) sampler1DArray sampler)\n"
3680 " (declare (in) vec2 P) \n"
3681 " (declare (in) float bias) )\n"
3682 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
Kenneth Graunkeb3262122010-04-28 23:01:33 -07003683 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003684 "))\n"
3685 ""
3686;
3687static const char *builtin_texture1DArrayLod =
3688 "((function texture1DArrayLod\n"
3689 " (signature vec4\n"
Kenneth Graunkeb3262122010-04-28 23:01:33 -07003690 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003691 " (declare (in) sampler1DArray sampler)\n"
3692 " (declare (in) vec2 P) \n"
3693 " (declare (in) float lod) )\n"
3694 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3695 "\n"
3696 "))\n"
3697 ""
3698;
3699static const char *builtin_texture1DLod =
3700 "((function texture1DLod\n"
3701 " (signature vec4\n"
3702 " (parameters\n"
3703 " (declare (in) sampler1D sampler)\n"
3704 " (declare (in) float P) \n"
3705 " (declare (in) float lod) )\n"
3706 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3707 "\n"
3708 "))\n"
3709 ""
3710;
3711static const char *builtin_texture1DProj =
3712 "((function texture1DProj\n"
3713 " (signature vec4\n"
3714 " (parameters\n"
3715 " (declare (in) sampler1D sampler)\n"
3716 " (declare (in) vec2 P) )\n"
3717 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ))))\n"
3718 "\n"
3719 " (signature vec4\n"
3720 " (parameters\n"
3721 " (declare (in) sampler1D sampler)\n"
3722 " (declare (in) vec4 P) )\n"
3723 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
3724 "\n"
3725 " (signature vec4\n"
3726 " (parameters\n"
3727 " (declare (in) sampler1D sampler)\n"
3728 " (declare (in) vec2 P) \n"
3729 " (declare (in) float bias) )\n"
3730 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
3731 "\n"
3732 " (signature vec4\n"
3733 " (parameters\n"
3734 " (declare (in) sampler1D sampler)\n"
3735 " (declare (in) vec4 P) \n"
3736 " (declare (in) float bias) )\n"
3737 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
3738 "\n"
3739 "))\n"
3740 ""
3741;
3742static const char *builtin_texture1DProjLod =
3743 "((function texture1DProjLod\n"
3744 " (signature vec4\n"
3745 " (parameters\n"
3746 " (declare (in) sampler1D sampler)\n"
3747 " (declare (in) vec2 P) \n"
3748 " (declare (in) float lod) )\n"
3749 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
3750 "\n"
3751 " (signature vec4\n"
3752 " (parameters\n"
3753 " (declare (in) sampler1D sampler)\n"
3754 " (declare (in) vec4 P) \n"
3755 " (declare (in) float lod) )\n"
3756 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
3757 "\n"
3758 "))\n"
3759 ""
3760;
3761static const char *builtin_texture2D =
3762 "((function texture2D\n"
3763 " (signature vec4\n"
3764 " (parameters\n"
3765 " (declare (in) sampler2D sampler)\n"
3766 " (declare (in) vec2 P) )\n"
3767 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3768 "\n"
3769 " (signature vec4\n"
3770 " (parameters\n"
3771 " (declare (in) sampler2D sampler)\n"
3772 " (declare (in) vec2 P) \n"
3773 " (declare (in) float bias) )\n"
3774 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3775 "\n"
3776 "))\n"
3777 ""
3778;
3779static const char *builtin_texture2DArray =
3780 "((function texture2DArray\n"
3781 " (signature vec4\n"
3782 " (parameters\n"
3783 " (declare (in) sampler2DArray sampler)\n"
3784 " (declare (in) vec3 P) )\n"
3785 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3786 "\n"
3787 " (signature vec4\n"
3788 " (parameters\n"
3789 " (declare (in) sampler2DArray sampler)\n"
3790 " (declare (in) vec3 P) \n"
3791 " (declare (in) float bias) )\n"
3792 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3793 "\n"
3794 "))\n"
3795 ""
3796;
3797static const char *builtin_texture2DArrayLod =
3798 "((function texture2DArrayLod\n"
3799 " (signature vec4\n"
3800 " (parameters\n"
3801 " (declare (in) sampler2DArray sampler)\n"
3802 " (declare (in) vec3 P) \n"
3803 " (declare (in) float lod) )\n"
3804 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3805 "\n"
3806 "))\n"
3807 ""
3808;
3809static const char *builtin_texture2DLod =
3810 "((function texture2DLod\n"
3811 " (signature vec4\n"
3812 " (parameters\n"
3813 " (declare (in) sampler2D sampler)\n"
3814 " (declare (in) vec2 P) \n"
3815 " (declare (in) float lod) )\n"
3816 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3817 "\n"
3818 "))\n"
3819 ""
3820;
3821static const char *builtin_texture2DProj =
3822 "((function texture2DProj\n"
3823 " (signature vec4\n"
3824 " (parameters\n"
3825 " (declare (in) sampler2D sampler)\n"
3826 " (declare (in) vec3 P) )\n"
3827 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
3828 "\n"
3829 " (signature vec4\n"
3830 " (parameters\n"
3831 " (declare (in) sampler2D sampler)\n"
3832 " (declare (in) vec4 P) )\n"
3833 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
3834 "\n"
3835 " (signature vec4\n"
3836 " (parameters\n"
3837 " (declare (in) sampler2D sampler)\n"
3838 " (declare (in) vec3 P) \n"
3839 " (declare (in) float bias) )\n"
3840 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
3841 "\n"
3842 " (signature vec4\n"
3843 " (parameters\n"
3844 " (declare (in) sampler2D sampler)\n"
3845 " (declare (in) vec4 P) \n"
3846 " (declare (in) float bias) )\n"
3847 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
3848 "\n"
3849 "))\n"
3850 ""
3851;
3852static const char *builtin_texture2DProjLod =
3853 "((function texture2DProjLod\n"
3854 " (signature vec4\n"
3855 " (parameters\n"
3856 " (declare (in) sampler2D sampler)\n"
3857 " (declare (in) vec3 P) \n"
3858 " (declare (in) float lod) )\n"
3859 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
3860 "\n"
3861 " (signature vec4\n"
3862 " (parameters\n"
3863 " (declare (in) sampler2D sampler)\n"
3864 " (declare (in) vec4 P) \n"
3865 " (declare (in) float lod) )\n"
3866 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
3867 "\n"
3868 "))\n"
3869 ""
3870;
3871static const char *builtin_texture2DRect =
3872 "((function texture2DRect\n"
3873 " (signature vec4\n"
3874 " (parameters\n"
3875 " (declare (in) sampler2DRect sampler)\n"
3876 " (declare (in) vec2 P) )\n"
3877 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3878 "\n"
Kenneth Graunkeb3262122010-04-28 23:01:33 -07003879 "))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003880 ""
3881;
3882static const char *builtin_texture2DRectProj =
3883 "((function texture2DRectProj\n"
3884 " (signature vec4\n"
3885 " (parameters\n"
3886 " (declare (in) sampler2DRect sampler)\n"
3887 " (declare (in) vec3 P) )\n"
3888 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
3889 "\n"
3890 " (signature vec4\n"
3891 " (parameters\n"
3892 " (declare (in) sampler2DRect sampler)\n"
3893 " (declare (in) vec4 P) )\n"
3894 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
3895 "\n"
3896 "))\n"
3897 ""
3898;
Eric Anholt47003a82010-08-23 12:39:35 -07003899static const char *builtin_texture3D =
3900 "((function texture3D\n"
3901 " (signature vec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003902 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003903 " (declare (in) sampler3D sampler)\n"
3904 " (declare (in) vec3 P) )\n"
3905 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003906 "\n"
3907 " (signature vec4\n"
3908 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003909 " (declare (in) sampler3D sampler)\n"
3910 " (declare (in) vec3 P) \n"
3911 " (declare (in) float bias) )\n"
3912 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003913 "\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003914 "))\n"
3915 ""
3916;
Eric Anholt47003a82010-08-23 12:39:35 -07003917static const char *builtin_texture3DLod =
3918 "((function texture3DLod\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003919 " (signature vec4\n"
3920 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003921 " (declare (in) sampler3D sampler)\n"
3922 " (declare (in) vec3 P) \n"
3923 " (declare (in) float lod) )\n"
3924 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3925 "\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003926 "))\n"
3927 ""
3928;
Eric Anholt47003a82010-08-23 12:39:35 -07003929static const char *builtin_texture3DProj =
3930 "((function texture3DProj\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003931 " (signature vec4\n"
3932 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003933 " (declare (in) sampler3D sampler)\n"
3934 " (declare (in) vec4 P) )\n"
3935 " ((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 -07003936 "\n"
3937 " (signature vec4\n"
3938 " (parameters\n"
3939 " (declare (in) sampler3D sampler)\n"
3940 " (declare (in) vec4 P) \n"
Eric Anholt47003a82010-08-23 12:39:35 -07003941 " (declare (in) float bias) )\n"
3942 " ((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 -07003943 "\n"
3944 "))\n"
3945 ""
3946;
Eric Anholt47003a82010-08-23 12:39:35 -07003947static const char *builtin_texture3DProjLod =
3948 "((function texture3DProjLod\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003949 " (signature vec4\n"
3950 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003951 " (declare (in) sampler3D sampler)\n"
3952 " (declare (in) vec4 P) \n"
3953 " (declare (in) float lod) )\n"
3954 " ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
3955 "\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003956 "))\n"
3957 ""
3958;
Eric Anholt47003a82010-08-23 12:39:35 -07003959static const char *builtin_textureCube =
3960 "((function textureCube\n"
3961 " (signature vec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003962 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003963 " (declare (in) samplerCube sampler)\n"
3964 " (declare (in) vec3 P) )\n"
3965 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003966 "\n"
3967 " (signature vec4\n"
3968 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003969 " (declare (in) samplerCube sampler)\n"
3970 " (declare (in) vec3 P) \n"
3971 " (declare (in) float bias) )\n"
3972 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3973 "\n"
3974 "))\n"
3975 ""
3976;
3977static const char *builtin_textureCubeLod =
3978 "((function textureCubeLod\n"
3979 " (signature vec4\n"
3980 " (parameters\n"
3981 " (declare (in) samplerCube sampler)\n"
3982 " (declare (in) vec3 P) \n"
3983 " (declare (in) float lod) )\n"
3984 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3985 "\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003986 "))\n"
3987 ""
3988;
3989static const char *builtin_textureGrad =
3990 "((function textureGrad\n"
3991 " (signature vec4\n"
3992 " (parameters\n"
3993 " (declare (in) sampler1D sampler)\n"
3994 " (declare (in) float P) \n"
3995 " (declare (in) float dPdx) \n"
3996 " (declare (in) float dPdy) )\n"
3997 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3998 "\n"
3999 " (signature ivec4\n"
4000 " (parameters\n"
4001 " (declare (in) isampler1D sampler)\n"
4002 " (declare (in) float P) \n"
4003 " (declare (in) float dPdx) \n"
4004 " (declare (in) float dPdy) )\n"
4005 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4006 "\n"
4007 " (signature uvec4\n"
4008 " (parameters\n"
4009 " (declare (in) usampler1D sampler)\n"
4010 " (declare (in) float P) \n"
4011 " (declare (in) float dPdx) \n"
4012 " (declare (in) float dPdy) )\n"
4013 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4014 "\n"
4015 " (signature vec4\n"
4016 " (parameters\n"
4017 " (declare (in) sampler2D sampler)\n"
4018 " (declare (in) vec2 P) \n"
4019 " (declare (in) vec2 dPdx) \n"
4020 " (declare (in) vec2 dPdy) )\n"
4021 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4022 "\n"
4023 " (signature ivec4\n"
4024 " (parameters\n"
4025 " (declare (in) isampler2D sampler)\n"
4026 " (declare (in) vec2 P) \n"
4027 " (declare (in) vec2 dPdx) \n"
4028 " (declare (in) vec2 dPdy) )\n"
4029 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4030 "\n"
4031 " (signature uvec4\n"
4032 " (parameters\n"
4033 " (declare (in) usampler2D sampler)\n"
4034 " (declare (in) vec2 P) \n"
4035 " (declare (in) vec2 dPdx) \n"
4036 " (declare (in) vec2 dPdy) )\n"
4037 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4038 "\n"
4039 " (signature vec4\n"
4040 " (parameters\n"
4041 " (declare (in) sampler3D sampler)\n"
4042 " (declare (in) vec3 P) \n"
4043 " (declare (in) vec3 dPdx) \n"
4044 " (declare (in) vec3 dPdy) )\n"
4045 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4046 "\n"
4047 " (signature ivec4\n"
4048 " (parameters\n"
4049 " (declare (in) isampler3D sampler)\n"
4050 " (declare (in) vec3 P) \n"
4051 " (declare (in) vec3 dPdx) \n"
4052 " (declare (in) vec3 dPdy) )\n"
4053 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4054 "\n"
4055 " (signature uvec4\n"
4056 " (parameters\n"
4057 " (declare (in) usampler3D sampler)\n"
4058 " (declare (in) vec3 P) \n"
4059 " (declare (in) vec3 dPdx) \n"
4060 " (declare (in) vec3 dPdy) )\n"
4061 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4062 "\n"
4063 " (signature vec4\n"
4064 " (parameters\n"
4065 " (declare (in) samplerCube sampler)\n"
4066 " (declare (in) vec3 P) \n"
4067 " (declare (in) vec3 dPdx) \n"
4068 " (declare (in) vec3 dPdy) )\n"
4069 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4070 "\n"
4071 " (signature ivec4\n"
4072 " (parameters\n"
4073 " (declare (in) isamplerCube sampler)\n"
4074 " (declare (in) vec3 P) \n"
4075 " (declare (in) vec3 dPdx) \n"
4076 " (declare (in) vec3 dPdy) )\n"
4077 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4078 "\n"
4079 " (signature uvec4\n"
4080 " (parameters\n"
4081 " (declare (in) usamplerCube sampler)\n"
4082 " (declare (in) vec3 P) \n"
4083 " (declare (in) vec3 dPdx) \n"
4084 " (declare (in) vec3 dPdy) )\n"
4085 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4086 "\n"
4087 " (signature vec4\n"
4088 " (parameters\n"
4089 " (declare (in) sampler1DArray sampler)\n"
4090 " (declare (in) vec2 P) \n"
4091 " (declare (in) vec2 dPdx) \n"
4092 " (declare (in) vec2 dPdy) )\n"
4093 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4094 "\n"
4095 " (signature ivec4\n"
4096 " (parameters\n"
4097 " (declare (in) isampler1DArray sampler)\n"
4098 " (declare (in) vec2 P) \n"
4099 " (declare (in) vec2 dPdx) \n"
4100 " (declare (in) vec2 dPdy) )\n"
4101 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4102 "\n"
4103 " (signature uvec4\n"
4104 " (parameters\n"
4105 " (declare (in) usampler1DArray sampler)\n"
4106 " (declare (in) vec2 P) \n"
4107 " (declare (in) vec2 dPdx) \n"
4108 " (declare (in) vec2 dPdy) )\n"
4109 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4110 "\n"
4111 " (signature vec4\n"
4112 " (parameters\n"
4113 " (declare (in) sampler2DArray sampler)\n"
4114 " (declare (in) vec3 P) \n"
4115 " (declare (in) vec3 dPdx) \n"
4116 " (declare (in) vec3 dPdy) )\n"
4117 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4118 "\n"
4119 " (signature ivec4\n"
4120 " (parameters\n"
4121 " (declare (in) isampler2DArray sampler)\n"
4122 " (declare (in) vec3 P) \n"
4123 " (declare (in) vec3 dPdx) \n"
4124 " (declare (in) vec3 dPdy) )\n"
4125 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4126 "\n"
4127 " (signature uvec4\n"
4128 " (parameters\n"
4129 " (declare (in) usampler2DArray sampler)\n"
4130 " (declare (in) vec3 P) \n"
4131 " (declare (in) vec3 dPdx) \n"
4132 " (declare (in) vec3 dPdy) )\n"
4133 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4134 "\n"
4135 "))\n"
4136 ""
4137;
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004138static const char *builtin_textureLod =
4139 "((function textureLod\n"
4140 " (signature vec4\n"
4141 " (parameters\n"
4142 " (declare (in) sampler1D sampler)\n"
4143 " (declare (in) float P) \n"
4144 " (declare (in) float lod) )\n"
4145 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4146 "\n"
4147 " (signature ivec4\n"
4148 " (parameters\n"
4149 " (declare (in) isampler1D sampler)\n"
4150 " (declare (in) float P) \n"
4151 " (declare (in) float lod) )\n"
4152 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4153 "\n"
4154 " (signature uvec4\n"
4155 " (parameters\n"
4156 " (declare (in) usampler1D sampler)\n"
4157 " (declare (in) float P) \n"
4158 " (declare (in) float lod) )\n"
4159 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4160 "\n"
4161 " (signature vec4\n"
4162 " (parameters\n"
4163 " (declare (in) sampler2D sampler)\n"
4164 " (declare (in) vec2 P) \n"
4165 " (declare (in) float lod) )\n"
4166 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4167 "\n"
4168 " (signature ivec4\n"
4169 " (parameters\n"
4170 " (declare (in) isampler2D sampler)\n"
4171 " (declare (in) vec2 P) \n"
4172 " (declare (in) float lod) )\n"
4173 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4174 "\n"
4175 " (signature uvec4\n"
4176 " (parameters\n"
4177 " (declare (in) usampler2D sampler)\n"
4178 " (declare (in) vec2 P) \n"
4179 " (declare (in) float lod) )\n"
4180 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4181 "\n"
4182 " (signature vec4\n"
4183 " (parameters\n"
4184 " (declare (in) sampler3D sampler)\n"
4185 " (declare (in) vec3 P) \n"
4186 " (declare (in) float lod) )\n"
4187 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4188 "\n"
4189 " (signature ivec4\n"
4190 " (parameters\n"
4191 " (declare (in) isampler3D sampler)\n"
4192 " (declare (in) vec3 P) \n"
4193 " (declare (in) float lod) )\n"
4194 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4195 "\n"
4196 " (signature uvec4\n"
4197 " (parameters\n"
4198 " (declare (in) usampler3D sampler)\n"
4199 " (declare (in) vec3 P) \n"
4200 " (declare (in) float lod) )\n"
4201 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4202 "\n"
4203 " (signature vec4\n"
4204 " (parameters\n"
4205 " (declare (in) samplerCube sampler)\n"
4206 " (declare (in) vec3 P) \n"
4207 " (declare (in) float lod) )\n"
4208 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4209 "\n"
4210 " (signature ivec4\n"
4211 " (parameters\n"
4212 " (declare (in) isamplerCube sampler)\n"
4213 " (declare (in) vec3 P) \n"
4214 " (declare (in) float lod) )\n"
4215 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4216 "\n"
4217 " (signature uvec4\n"
4218 " (parameters\n"
4219 " (declare (in) usamplerCube sampler)\n"
4220 " (declare (in) vec3 P) \n"
4221 " (declare (in) float lod) )\n"
4222 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4223 "\n"
4224 " (signature vec4\n"
4225 " (parameters\n"
4226 " (declare (in) sampler1DArray sampler)\n"
4227 " (declare (in) vec2 P) \n"
4228 " (declare (in) float lod) )\n"
4229 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4230 "\n"
4231 " (signature ivec4\n"
4232 " (parameters\n"
4233 " (declare (in) isampler1DArray sampler)\n"
4234 " (declare (in) vec2 P) \n"
4235 " (declare (in) float lod) )\n"
4236 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4237 "\n"
4238 " (signature uvec4\n"
4239 " (parameters\n"
4240 " (declare (in) usampler1DArray sampler)\n"
4241 " (declare (in) vec2 P) \n"
4242 " (declare (in) float lod) )\n"
4243 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4244 "\n"
4245 " (signature vec4\n"
4246 " (parameters\n"
4247 " (declare (in) sampler2DArray sampler)\n"
4248 " (declare (in) vec3 P) \n"
4249 " (declare (in) float lod) )\n"
4250 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4251 "\n"
4252 " (signature ivec4\n"
4253 " (parameters\n"
4254 " (declare (in) isampler2DArray sampler)\n"
4255 " (declare (in) vec3 P) \n"
4256 " (declare (in) float lod) )\n"
4257 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4258 "\n"
4259 " (signature uvec4\n"
4260 " (parameters\n"
4261 " (declare (in) usampler2DArray sampler)\n"
4262 " (declare (in) vec3 P) \n"
4263 " (declare (in) float lod) )\n"
4264 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4265 "\n"
4266 "))\n"
4267 ""
4268;
Eric Anholt47003a82010-08-23 12:39:35 -07004269static const char *builtin_textureProj =
4270 "((function textureProj\n"
4271 " (signature vec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004272 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004273 " (declare (in) sampler1D sampler)\n"
4274 " (declare (in) vec2 P) )\n"
4275 " ((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 -07004276 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004277 " (signature ivec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004278 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004279 " (declare (in) isampler1D sampler)\n"
4280 " (declare (in) vec2 P) )\n"
4281 " ((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 -07004282 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004283 " (signature uvec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004284 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004285 " (declare (in) usampler1D sampler)\n"
4286 " (declare (in) vec2 P) )\n"
4287 " ((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 -07004288 "\n"
4289 " (signature vec4\n"
4290 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004291 " (declare (in) sampler1D sampler)\n"
4292 " (declare (in) vec4 P) )\n"
4293 " ((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 -07004294 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004295 " (signature ivec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004296 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004297 " (declare (in) isampler1D sampler)\n"
4298 " (declare (in) vec4 P) )\n"
4299 " ((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 -07004300 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004301 " (signature uvec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004302 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004303 " (declare (in) usampler1D sampler)\n"
4304 " (declare (in) vec4 P) )\n"
4305 " ((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 -07004306 "\n"
4307 " (signature vec4\n"
4308 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004309 " (declare (in) sampler2D sampler)\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004310 " (declare (in) vec3 P) )\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004311 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
4312 "\n"
4313 " (signature ivec4\n"
4314 " (parameters\n"
4315 " (declare (in) isampler2D sampler)\n"
4316 " (declare (in) vec3 P) )\n"
4317 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
4318 "\n"
4319 " (signature uvec4\n"
4320 " (parameters\n"
4321 " (declare (in) usampler2D sampler)\n"
4322 " (declare (in) vec3 P) )\n"
4323 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
4324 "\n"
4325 " (signature vec4\n"
4326 " (parameters\n"
4327 " (declare (in) sampler2D sampler)\n"
4328 " (declare (in) vec4 P) )\n"
4329 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4330 "\n"
4331 " (signature ivec4\n"
4332 " (parameters\n"
4333 " (declare (in) isampler2D sampler)\n"
4334 " (declare (in) vec4 P) )\n"
4335 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4336 "\n"
4337 " (signature uvec4\n"
4338 " (parameters\n"
4339 " (declare (in) usampler2D sampler)\n"
4340 " (declare (in) vec4 P) )\n"
4341 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4342 "\n"
4343 " (signature vec4\n"
4344 " (parameters\n"
4345 " (declare (in) sampler3D sampler)\n"
4346 " (declare (in) vec4 P) )\n"
4347 " ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4348 "\n"
4349 " (signature ivec4\n"
4350 " (parameters\n"
4351 " (declare (in) isampler3D sampler)\n"
4352 " (declare (in) vec4 P) )\n"
4353 " ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4354 "\n"
4355 " (signature uvec4\n"
4356 " (parameters\n"
4357 " (declare (in) usampler3D sampler)\n"
4358 " (declare (in) vec4 P) )\n"
4359 " ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4360 "\n"
4361 " (signature vec4\n"
4362 " (parameters\n"
4363 " (declare (in) sampler1D sampler)\n"
4364 " (declare (in) vec2 P) \n"
4365 " (declare (in) float bias) )\n"
4366 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
4367 "\n"
4368 " (signature ivec4\n"
4369 " (parameters\n"
4370 " (declare (in) isampler1D sampler)\n"
4371 " (declare (in) vec2 P) \n"
4372 " (declare (in) float bias) )\n"
4373 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
4374 "\n"
4375 " (signature uvec4\n"
4376 " (parameters\n"
4377 " (declare (in) usampler1D sampler)\n"
4378 " (declare (in) vec2 P) \n"
4379 " (declare (in) float bias) )\n"
4380 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
4381 "\n"
4382 " (signature vec4\n"
4383 " (parameters\n"
4384 " (declare (in) sampler1D sampler)\n"
4385 " (declare (in) vec4 P) \n"
4386 " (declare (in) float bias) )\n"
4387 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4388 "\n"
4389 " (signature ivec4\n"
4390 " (parameters\n"
4391 " (declare (in) isampler1D sampler)\n"
4392 " (declare (in) vec4 P) \n"
4393 " (declare (in) float bias) )\n"
4394 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4395 "\n"
4396 " (signature uvec4\n"
4397 " (parameters\n"
4398 " (declare (in) usampler1D sampler)\n"
4399 " (declare (in) vec4 P) \n"
4400 " (declare (in) float bias) )\n"
4401 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4402 "\n"
4403 " (signature vec4\n"
4404 " (parameters\n"
4405 " (declare (in) sampler2D sampler)\n"
4406 " (declare (in) vec3 P) \n"
4407 " (declare (in) float bias) )\n"
4408 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
4409 "\n"
4410 " (signature ivec4\n"
4411 " (parameters\n"
4412 " (declare (in) isampler2D sampler)\n"
4413 " (declare (in) vec3 P) \n"
4414 " (declare (in) float bias) )\n"
4415 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
4416 "\n"
4417 " (signature uvec4\n"
4418 " (parameters\n"
4419 " (declare (in) usampler2D sampler)\n"
4420 " (declare (in) vec3 P) \n"
4421 " (declare (in) float bias) )\n"
4422 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
4423 "\n"
4424 " (signature vec4\n"
4425 " (parameters\n"
4426 " (declare (in) sampler2D sampler)\n"
4427 " (declare (in) vec4 P) \n"
4428 " (declare (in) float bias) )\n"
4429 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4430 "\n"
4431 " (signature ivec4\n"
4432 " (parameters\n"
4433 " (declare (in) isampler2D sampler)\n"
4434 " (declare (in) vec4 P) \n"
4435 " (declare (in) float bias) )\n"
4436 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4437 "\n"
4438 " (signature uvec4\n"
4439 " (parameters\n"
4440 " (declare (in) usampler2D sampler)\n"
4441 " (declare (in) vec4 P) \n"
4442 " (declare (in) float bias) )\n"
4443 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4444 "\n"
4445 " (signature vec4\n"
4446 " (parameters\n"
4447 " (declare (in) sampler3D sampler)\n"
4448 " (declare (in) vec4 P) \n"
4449 " (declare (in) float bias) )\n"
4450 " ((return (txb (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4451 "\n"
4452 " (signature ivec4\n"
4453 " (parameters\n"
4454 " (declare (in) isampler3D sampler)\n"
4455 " (declare (in) vec4 P) \n"
4456 " (declare (in) float bias) )\n"
4457 " ((return (txb (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4458 "\n"
4459 " (signature uvec4\n"
4460 " (parameters\n"
4461 " (declare (in) usampler3D sampler)\n"
4462 " (declare (in) vec4 P) \n"
4463 " (declare (in) float bias) )\n"
4464 " ((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 -07004465 "\n"
4466 "))\n"
4467 ""
4468;
Eric Anholt47003a82010-08-23 12:39:35 -07004469static const char *builtin_textureProjGrad =
4470 "((function textureProjGrad\n"
4471 " (signature vec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004472 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004473 " (declare (in) sampler1D sampler)\n"
4474 " (declare (in) vec2 P) \n"
4475 " (declare (in) float dPdx) \n"
4476 " (declare (in) float dPdy) )\n"
4477 " ((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 -07004478 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004479 " (signature ivec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004480 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004481 " (declare (in) isampler1D sampler)\n"
4482 " (declare (in) vec2 P) \n"
4483 " (declare (in) float dPdx) \n"
4484 " (declare (in) float dPdy) )\n"
4485 " ((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 -07004486 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004487 " (signature uvec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004488 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004489 " (declare (in) usampler1D sampler)\n"
4490 " (declare (in) vec2 P) \n"
4491 " (declare (in) float dPdx) \n"
4492 " (declare (in) float dPdy) )\n"
4493 " ((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 -07004494 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004495 " (signature vec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004496 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004497 " (declare (in) sampler1D sampler)\n"
4498 " (declare (in) vec4 P) \n"
4499 " (declare (in) float dPdx) \n"
4500 " (declare (in) float dPdy) )\n"
4501 " ((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 -07004502 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004503 " (signature ivec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004504 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004505 " (declare (in) isampler1D sampler)\n"
4506 " (declare (in) vec4 P) \n"
4507 " (declare (in) float dPdx) \n"
4508 " (declare (in) float dPdy) )\n"
4509 " ((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 -07004510 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004511 " (signature uvec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004512 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004513 " (declare (in) usampler1D sampler)\n"
4514 " (declare (in) vec4 P) \n"
4515 " (declare (in) float dPdx) \n"
4516 " (declare (in) float dPdy) )\n"
4517 " ((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 -07004518 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004519 " (signature vec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004520 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004521 " (declare (in) sampler2D sampler)\n"
4522 " (declare (in) vec3 P) \n"
4523 " (declare (in) vec2 dPdx) \n"
4524 " (declare (in) vec2 dPdy) )\n"
4525 " ((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 -07004526 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004527 " (signature ivec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004528 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004529 " (declare (in) isampler2D sampler)\n"
4530 " (declare (in) vec3 P) \n"
4531 " (declare (in) vec2 dPdx) \n"
4532 " (declare (in) vec2 dPdy) )\n"
4533 " ((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 -07004534 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004535 " (signature uvec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004536 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004537 " (declare (in) usampler2D sampler)\n"
4538 " (declare (in) vec3 P) \n"
4539 " (declare (in) vec2 dPdx) \n"
4540 " (declare (in) vec2 dPdy) )\n"
4541 " ((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"
4542 "\n"
4543 " (signature vec4\n"
4544 " (parameters\n"
4545 " (declare (in) sampler2D sampler)\n"
4546 " (declare (in) vec4 P) \n"
4547 " (declare (in) vec2 dPdx) \n"
4548 " (declare (in) vec2 dPdy) )\n"
4549 " ((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"
4550 "\n"
4551 " (signature ivec4\n"
4552 " (parameters\n"
4553 " (declare (in) isampler2D sampler)\n"
4554 " (declare (in) vec4 P) \n"
4555 " (declare (in) vec2 dPdx) \n"
4556 " (declare (in) vec2 dPdy) )\n"
4557 " ((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"
4558 "\n"
4559 " (signature uvec4\n"
4560 " (parameters\n"
4561 " (declare (in) usampler2D sampler)\n"
4562 " (declare (in) vec4 P) \n"
4563 " (declare (in) vec2 dPdx) \n"
4564 " (declare (in) vec2 dPdy) )\n"
4565 " ((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"
4566 "\n"
4567 " (signature vec4\n"
4568 " (parameters\n"
4569 " (declare (in) sampler3D sampler)\n"
4570 " (declare (in) vec4 P) \n"
4571 " (declare (in) vec3 dPdx) \n"
4572 " (declare (in) vec3 dPdy) )\n"
4573 " ((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"
4574 "\n"
4575 " (signature ivec4\n"
4576 " (parameters\n"
4577 " (declare (in) isampler3D sampler)\n"
4578 " (declare (in) vec4 P) \n"
4579 " (declare (in) vec3 dPdx) \n"
4580 " (declare (in) vec3 dPdy) )\n"
4581 " ((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"
4582 "\n"
4583 " (signature uvec4\n"
4584 " (parameters\n"
4585 " (declare (in) usampler3D sampler)\n"
4586 " (declare (in) vec4 P) \n"
4587 " (declare (in) vec3 dPdx) \n"
4588 " (declare (in) vec3 dPdy) )\n"
4589 " ((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"
4590 "\n"
4591 "))\n"
4592 ""
4593;
4594static const char *builtin_textureProjLod =
4595 "((function textureProjLod\n"
4596 " (signature vec4\n"
4597 " (parameters\n"
4598 " (declare (in) sampler1D sampler)\n"
4599 " (declare (in) vec2 P) \n"
4600 " (declare (in) float lod) )\n"
4601 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
4602 "\n"
4603 " (signature ivec4\n"
4604 " (parameters\n"
4605 " (declare (in) isampler1D sampler)\n"
4606 " (declare (in) vec2 P) \n"
4607 " (declare (in) float lod) )\n"
4608 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
4609 "\n"
4610 " (signature uvec4\n"
4611 " (parameters\n"
4612 " (declare (in) usampler1D sampler)\n"
4613 " (declare (in) vec2 P) \n"
4614 " (declare (in) float lod) )\n"
4615 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
4616 "\n"
4617 " (signature vec4\n"
4618 " (parameters\n"
4619 " (declare (in) sampler1D sampler)\n"
4620 " (declare (in) vec4 P) \n"
4621 " (declare (in) float lod) )\n"
4622 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4623 "\n"
4624 " (signature ivec4\n"
4625 " (parameters\n"
4626 " (declare (in) isampler1D sampler)\n"
4627 " (declare (in) vec4 P) \n"
4628 " (declare (in) float lod) )\n"
4629 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4630 "\n"
4631 " (signature uvec4\n"
4632 " (parameters\n"
4633 " (declare (in) usampler1D sampler)\n"
4634 " (declare (in) vec4 P) \n"
4635 " (declare (in) float lod) )\n"
4636 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4637 "\n"
4638 " (signature vec4\n"
4639 " (parameters\n"
4640 " (declare (in) sampler2D sampler)\n"
4641 " (declare (in) vec3 P) \n"
4642 " (declare (in) float lod) )\n"
4643 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
4644 "\n"
4645 " (signature ivec4\n"
4646 " (parameters\n"
4647 " (declare (in) isampler2D sampler)\n"
4648 " (declare (in) vec3 P) \n"
4649 " (declare (in) float lod) )\n"
4650 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
4651 "\n"
4652 " (signature uvec4\n"
4653 " (parameters\n"
4654 " (declare (in) usampler2D sampler)\n"
4655 " (declare (in) vec3 P) \n"
4656 " (declare (in) float lod) )\n"
4657 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
4658 "\n"
4659 " (signature vec4\n"
4660 " (parameters\n"
4661 " (declare (in) sampler2D sampler)\n"
4662 " (declare (in) vec4 P) \n"
4663 " (declare (in) float lod) )\n"
4664 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4665 "\n"
4666 " (signature ivec4\n"
4667 " (parameters\n"
4668 " (declare (in) isampler2D sampler)\n"
4669 " (declare (in) vec4 P) \n"
4670 " (declare (in) float lod) )\n"
4671 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4672 "\n"
4673 " (signature uvec4\n"
4674 " (parameters\n"
4675 " (declare (in) usampler2D sampler)\n"
4676 " (declare (in) vec4 P) \n"
4677 " (declare (in) float lod) )\n"
4678 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4679 "\n"
4680 " (signature vec4\n"
4681 " (parameters\n"
4682 " (declare (in) sampler3D sampler)\n"
4683 " (declare (in) vec4 P) \n"
4684 " (declare (in) float lod) )\n"
4685 " ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4686 "\n"
4687 " (signature ivec4\n"
4688 " (parameters\n"
4689 " (declare (in) isampler3D sampler)\n"
4690 " (declare (in) vec4 P) \n"
4691 " (declare (in) float lod) )\n"
4692 " ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4693 "\n"
4694 " (signature uvec4\n"
4695 " (parameters\n"
4696 " (declare (in) usampler3D sampler)\n"
4697 " (declare (in) vec4 P) \n"
4698 " (declare (in) float lod) )\n"
4699 " ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4700 "\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004701 "))\n"
4702 ""
4703;
4704static const char *builtin_transpose =
4705 "((function transpose\n"
4706 " (signature mat2\n"
4707 " (parameters\n"
4708 " (declare (in) mat2 m))\n"
4709 " ((declare () mat2 t)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07004710 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4711 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4712 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4713 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004714 "(return (var_ref t))))\n"
4715 "\n"
4716 " (signature mat3x2\n"
4717 " (parameters\n"
4718 " (declare (in) mat2x3 m))\n"
4719 " ((declare () mat3x2 t)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07004720 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4721 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4722 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))\n"
4723 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4724 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4725 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004726 "(return (var_ref t))))\n"
4727 "\n"
4728 " (signature mat4x2\n"
4729 " (parameters\n"
4730 " (declare (in) mat2x4 m))\n"
4731 " ((declare () mat4x2 t)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07004732 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4733 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4734 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))\n"
4735 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (0)))))\n"
4736 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4737 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4738 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))\n"
4739 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (1)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004740 "(return (var_ref t))))\n"
4741 "\n"
4742 " (signature mat2x3\n"
4743 " (parameters\n"
4744 " (declare (in) mat3x2 m))\n"
4745 " ((declare () mat2x3 t)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07004746 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4747 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4748 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4749 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4750 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))\n"
4751 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004752 "(return (var_ref t))))\n"
4753 "\n"
4754 " (signature mat3\n"
4755 " (parameters\n"
4756 " (declare (in) mat3 m))\n"
4757 " ((declare () mat3 t)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07004758 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4759 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4760 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))\n"
4761 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4762 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4763 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))\n"
4764 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))\n"
4765 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))\n"
4766 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (2)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004767 "(return (var_ref t))))\n"
4768 "\n"
4769 " (signature mat4x3\n"
4770 " (parameters\n"
4771 " (declare (in) mat3x4 m))\n"
4772 " ((declare () mat4x3 t)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07004773 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4774 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4775 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))\n"
4776 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (0)))))\n"
4777 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4778 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4779 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))\n"
4780 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (1)))))\n"
4781 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))\n"
4782 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))\n"
4783 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (2)))))\n"
4784 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (2)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004785 "(return (var_ref t))))\n"
4786 "\n"
4787 " (signature mat2x4\n"
4788 " (parameters\n"
4789 " (declare (in) mat4x2 m))\n"
4790 " ((declare () mat2x4 t)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07004791 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4792 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4793 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4794 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4795 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))\n"
4796 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))\n"
4797 " (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (3)))))\n"
4798 " (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (3)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004799 "(return (var_ref t))))\n"
4800 "\n"
4801 " (signature mat3x4\n"
4802 " (parameters\n"
4803 " (declare (in) mat4x3 m))\n"
4804 " ((declare () mat3x4 t)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07004805 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4806 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4807 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))\n"
4808 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4809 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4810 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))\n"
4811 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))\n"
4812 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))\n"
4813 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (2)))))\n"
4814 " (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (3)))))\n"
4815 " (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (3)))))\n"
4816 " (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (3)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004817 "(return (var_ref t))))\n"
4818 "\n"
4819 " (signature mat4\n"
4820 " (parameters\n"
4821 " (declare (in) mat4 m))\n"
4822 " ((declare () mat4 t)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07004823 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4824 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4825 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))\n"
4826 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (0)))))\n"
4827 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4828 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4829 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))\n"
4830 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (1)))))\n"
4831 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))\n"
4832 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))\n"
4833 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (2)))))\n"
4834 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (2)))))\n"
4835 " (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (3)))))\n"
4836 " (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (3)))))\n"
4837 " (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (3)))))\n"
4838 " (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (3)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004839 "(return (var_ref t))))\n"
4840 ")\n"
4841 "\n"
4842 ")\n"
4843 "\n"
4844 ""
4845;
Kenneth Graunke116dc672010-08-16 13:04:09 -07004846static const char *prototypes_for_100_frag =
4847 "(\n"
4848 "(function radians\n"
4849 " (signature float\n"
4850 " (parameters\n"
4851 " (declare (in) float degrees))\n"
4852 " ())\n"
4853 " (signature vec2\n"
4854 " (parameters\n"
4855 " (declare (in) vec2 degrees))\n"
4856 " ())\n"
4857 " (signature vec3\n"
4858 " (parameters\n"
4859 " (declare (in) vec3 degrees))\n"
4860 " ())\n"
4861 " (signature vec4\n"
4862 " (parameters\n"
4863 " (declare (in) vec4 degrees))\n"
4864 " ()))\n"
4865 "(function degrees\n"
4866 " (signature float\n"
4867 " (parameters\n"
4868 " (declare (in) float radians))\n"
4869 " ())\n"
4870 " (signature vec2\n"
4871 " (parameters\n"
4872 " (declare (in) vec2 radians))\n"
4873 " ())\n"
4874 " (signature vec3\n"
4875 " (parameters\n"
4876 " (declare (in) vec3 radians))\n"
4877 " ())\n"
4878 " (signature vec4\n"
4879 " (parameters\n"
4880 " (declare (in) vec4 radians))\n"
4881 " ()))\n"
4882 "(function sin\n"
4883 " (signature float\n"
4884 " (parameters\n"
4885 " (declare (in) float angle))\n"
4886 " ())\n"
4887 " (signature vec2\n"
4888 " (parameters\n"
4889 " (declare (in) vec2 angle))\n"
4890 " ())\n"
4891 " (signature vec3\n"
4892 " (parameters\n"
4893 " (declare (in) vec3 angle))\n"
4894 " ())\n"
4895 " (signature vec4\n"
4896 " (parameters\n"
4897 " (declare (in) vec4 angle))\n"
4898 " ()))\n"
4899 "(function cos\n"
4900 " (signature float\n"
4901 " (parameters\n"
4902 " (declare (in) float angle))\n"
4903 " ())\n"
4904 " (signature vec2\n"
4905 " (parameters\n"
4906 " (declare (in) vec2 angle))\n"
4907 " ())\n"
4908 " (signature vec3\n"
4909 " (parameters\n"
4910 " (declare (in) vec3 angle))\n"
4911 " ())\n"
4912 " (signature vec4\n"
4913 " (parameters\n"
4914 " (declare (in) vec4 angle))\n"
4915 " ()))\n"
4916 "(function tan\n"
4917 " (signature float\n"
4918 " (parameters\n"
4919 " (declare (in) float angle))\n"
4920 " ())\n"
4921 " (signature vec2\n"
4922 " (parameters\n"
4923 " (declare (in) vec2 angle))\n"
4924 " ())\n"
4925 " (signature vec3\n"
4926 " (parameters\n"
4927 " (declare (in) vec3 angle))\n"
4928 " ())\n"
4929 " (signature vec4\n"
4930 " (parameters\n"
4931 " (declare (in) vec4 angle))\n"
4932 " ()))\n"
4933 "(function asin\n"
4934 " (signature float\n"
4935 " (parameters\n"
4936 " (declare (in) float angle))\n"
4937 " ())\n"
4938 " (signature vec2\n"
4939 " (parameters\n"
4940 " (declare (in) vec2 angle))\n"
4941 " ())\n"
4942 " (signature vec3\n"
4943 " (parameters\n"
4944 " (declare (in) vec3 angle))\n"
4945 " ())\n"
4946 " (signature vec4\n"
4947 " (parameters\n"
4948 " (declare (in) vec4 angle))\n"
4949 " ()))\n"
4950 "(function acos\n"
4951 " (signature float\n"
4952 " (parameters\n"
4953 " (declare (in) float angle))\n"
4954 " ())\n"
4955 " (signature vec2\n"
4956 " (parameters\n"
4957 " (declare (in) vec2 angle))\n"
4958 " ())\n"
4959 " (signature vec3\n"
4960 " (parameters\n"
4961 " (declare (in) vec3 angle))\n"
4962 " ())\n"
4963 " (signature vec4\n"
4964 " (parameters\n"
4965 " (declare (in) vec4 angle))\n"
4966 " ()))\n"
4967 "(function atan\n"
4968 " (signature float\n"
4969 " (parameters\n"
4970 " (declare (in) float y)\n"
4971 " (declare (in) float x))\n"
4972 " ())\n"
4973 " (signature vec2\n"
4974 " (parameters\n"
4975 " (declare (in) vec2 y)\n"
4976 " (declare (in) vec2 x))\n"
4977 " ())\n"
4978 " (signature vec3\n"
4979 " (parameters\n"
4980 " (declare (in) vec3 y)\n"
4981 " (declare (in) vec3 x))\n"
4982 " ())\n"
4983 " (signature vec4\n"
4984 " (parameters\n"
4985 " (declare (in) vec4 y)\n"
4986 " (declare (in) vec4 x))\n"
4987 " ())\n"
4988 " (signature float\n"
4989 " (parameters\n"
4990 " (declare (in) float y_over_x))\n"
4991 " ())\n"
4992 " (signature vec2\n"
4993 " (parameters\n"
4994 " (declare (in) vec2 y_over_x))\n"
4995 " ())\n"
4996 " (signature vec3\n"
4997 " (parameters\n"
4998 " (declare (in) vec3 y_over_x))\n"
4999 " ())\n"
5000 " (signature vec4\n"
5001 " (parameters\n"
5002 " (declare (in) vec4 y_over_x))\n"
5003 " ()))\n"
5004 "(function pow\n"
5005 " (signature float\n"
5006 " (parameters\n"
5007 " (declare (in) float x)\n"
5008 " (declare (in) float y))\n"
5009 " ())\n"
5010 " (signature vec2\n"
5011 " (parameters\n"
5012 " (declare (in) vec2 x)\n"
5013 " (declare (in) vec2 y))\n"
5014 " ())\n"
5015 " (signature vec3\n"
5016 " (parameters\n"
5017 " (declare (in) vec3 x)\n"
5018 " (declare (in) vec3 y))\n"
5019 " ())\n"
5020 " (signature vec4\n"
5021 " (parameters\n"
5022 " (declare (in) vec4 x)\n"
5023 " (declare (in) vec4 y))\n"
5024 " ()))\n"
5025 "(function exp\n"
5026 " (signature float\n"
5027 " (parameters\n"
5028 " (declare (in) float x))\n"
5029 " ())\n"
5030 " (signature vec2\n"
5031 " (parameters\n"
5032 " (declare (in) vec2 x))\n"
5033 " ())\n"
5034 " (signature vec3\n"
5035 " (parameters\n"
5036 " (declare (in) vec3 x))\n"
5037 " ())\n"
5038 " (signature vec4\n"
5039 " (parameters\n"
5040 " (declare (in) vec4 x))\n"
5041 " ()))\n"
5042 "(function log\n"
5043 " (signature float\n"
5044 " (parameters\n"
5045 " (declare (in) float x))\n"
5046 " ())\n"
5047 " (signature vec2\n"
5048 " (parameters\n"
5049 " (declare (in) vec2 x))\n"
5050 " ())\n"
5051 " (signature vec3\n"
5052 " (parameters\n"
5053 " (declare (in) vec3 x))\n"
5054 " ())\n"
5055 " (signature vec4\n"
5056 " (parameters\n"
5057 " (declare (in) vec4 x))\n"
5058 " ()))\n"
5059 "(function exp2\n"
5060 " (signature float\n"
5061 " (parameters\n"
5062 " (declare (in) float x))\n"
5063 " ())\n"
5064 " (signature vec2\n"
5065 " (parameters\n"
5066 " (declare (in) vec2 x))\n"
5067 " ())\n"
5068 " (signature vec3\n"
5069 " (parameters\n"
5070 " (declare (in) vec3 x))\n"
5071 " ())\n"
5072 " (signature vec4\n"
5073 " (parameters\n"
5074 " (declare (in) vec4 x))\n"
5075 " ()))\n"
5076 "(function log2\n"
5077 " (signature float\n"
5078 " (parameters\n"
5079 " (declare (in) float x))\n"
5080 " ())\n"
5081 " (signature vec2\n"
5082 " (parameters\n"
5083 " (declare (in) vec2 x))\n"
5084 " ())\n"
5085 " (signature vec3\n"
5086 " (parameters\n"
5087 " (declare (in) vec3 x))\n"
5088 " ())\n"
5089 " (signature vec4\n"
5090 " (parameters\n"
5091 " (declare (in) vec4 x))\n"
5092 " ()))\n"
5093 "(function sqrt\n"
5094 " (signature float\n"
5095 " (parameters\n"
5096 " (declare (in) float x))\n"
5097 " ())\n"
5098 " (signature vec2\n"
5099 " (parameters\n"
5100 " (declare (in) vec2 x))\n"
5101 " ())\n"
5102 " (signature vec3\n"
5103 " (parameters\n"
5104 " (declare (in) vec3 x))\n"
5105 " ())\n"
5106 " (signature vec4\n"
5107 " (parameters\n"
5108 " (declare (in) vec4 x))\n"
5109 " ()))\n"
5110 "(function inversesqrt\n"
5111 " (signature float\n"
5112 " (parameters\n"
5113 " (declare (in) float x))\n"
5114 " ())\n"
5115 " (signature vec2\n"
5116 " (parameters\n"
5117 " (declare (in) vec2 x))\n"
5118 " ())\n"
5119 " (signature vec3\n"
5120 " (parameters\n"
5121 " (declare (in) vec3 x))\n"
5122 " ())\n"
5123 " (signature vec4\n"
5124 " (parameters\n"
5125 " (declare (in) vec4 x))\n"
5126 " ()))\n"
5127 "(function abs\n"
5128 " (signature float\n"
5129 " (parameters\n"
5130 " (declare (in) float x))\n"
5131 " ())\n"
5132 " (signature vec2\n"
5133 " (parameters\n"
5134 " (declare (in) vec2 x))\n"
5135 " ())\n"
5136 " (signature vec3\n"
5137 " (parameters\n"
5138 " (declare (in) vec3 x))\n"
5139 " ())\n"
5140 " (signature vec4\n"
5141 " (parameters\n"
5142 " (declare (in) vec4 x))\n"
5143 " ()))\n"
5144 "(function sign\n"
5145 " (signature float\n"
5146 " (parameters\n"
5147 " (declare (in) float x))\n"
5148 " ())\n"
5149 " (signature vec2\n"
5150 " (parameters\n"
5151 " (declare (in) vec2 x))\n"
5152 " ())\n"
5153 " (signature vec3\n"
5154 " (parameters\n"
5155 " (declare (in) vec3 x))\n"
5156 " ())\n"
5157 " (signature vec4\n"
5158 " (parameters\n"
5159 " (declare (in) vec4 x))\n"
5160 " ()))\n"
5161 "(function floor\n"
5162 " (signature float\n"
5163 " (parameters\n"
5164 " (declare (in) float x))\n"
5165 " ())\n"
5166 " (signature vec2\n"
5167 " (parameters\n"
5168 " (declare (in) vec2 x))\n"
5169 " ())\n"
5170 " (signature vec3\n"
5171 " (parameters\n"
5172 " (declare (in) vec3 x))\n"
5173 " ())\n"
5174 " (signature vec4\n"
5175 " (parameters\n"
5176 " (declare (in) vec4 x))\n"
5177 " ()))\n"
5178 "(function ceil\n"
5179 " (signature float\n"
5180 " (parameters\n"
5181 " (declare (in) float x))\n"
5182 " ())\n"
5183 " (signature vec2\n"
5184 " (parameters\n"
5185 " (declare (in) vec2 x))\n"
5186 " ())\n"
5187 " (signature vec3\n"
5188 " (parameters\n"
5189 " (declare (in) vec3 x))\n"
5190 " ())\n"
5191 " (signature vec4\n"
5192 " (parameters\n"
5193 " (declare (in) vec4 x))\n"
5194 " ()))\n"
5195 "(function fract\n"
5196 " (signature float\n"
5197 " (parameters\n"
5198 " (declare (in) float x))\n"
5199 " ())\n"
5200 " (signature vec2\n"
5201 " (parameters\n"
5202 " (declare (in) vec2 x))\n"
5203 " ())\n"
5204 " (signature vec3\n"
5205 " (parameters\n"
5206 " (declare (in) vec3 x))\n"
5207 " ())\n"
5208 " (signature vec4\n"
5209 " (parameters\n"
5210 " (declare (in) vec4 x))\n"
5211 " ()))\n"
5212 "(function mod\n"
5213 " (signature float\n"
5214 " (parameters\n"
5215 " (declare (in) float x)\n"
5216 " (declare (in) float y))\n"
5217 " ())\n"
5218 " (signature vec2\n"
5219 " (parameters\n"
5220 " (declare (in) vec2 x)\n"
5221 " (declare (in) float y))\n"
5222 " ())\n"
5223 " (signature vec3\n"
5224 " (parameters\n"
5225 " (declare (in) vec3 x)\n"
5226 " (declare (in) float y))\n"
5227 " ())\n"
5228 " (signature vec4\n"
5229 " (parameters\n"
5230 " (declare (in) vec4 x)\n"
5231 " (declare (in) float y))\n"
5232 " ())\n"
5233 " (signature vec2\n"
5234 " (parameters\n"
5235 " (declare (in) vec2 x)\n"
5236 " (declare (in) vec2 y))\n"
5237 " ())\n"
5238 " (signature vec3\n"
5239 " (parameters\n"
5240 " (declare (in) vec3 x)\n"
5241 " (declare (in) vec3 y))\n"
5242 " ())\n"
5243 " (signature vec4\n"
5244 " (parameters\n"
5245 " (declare (in) vec4 x)\n"
5246 " (declare (in) vec4 y))\n"
5247 " ()))\n"
5248 "(function min\n"
5249 " (signature float\n"
5250 " (parameters\n"
5251 " (declare (in) float x)\n"
5252 " (declare (in) float y))\n"
5253 " ())\n"
5254 " (signature vec2\n"
5255 " (parameters\n"
5256 " (declare (in) vec2 x)\n"
5257 " (declare (in) vec2 y))\n"
5258 " ())\n"
5259 " (signature vec3\n"
5260 " (parameters\n"
5261 " (declare (in) vec3 x)\n"
5262 " (declare (in) vec3 y))\n"
5263 " ())\n"
5264 " (signature vec4\n"
5265 " (parameters\n"
5266 " (declare (in) vec4 x)\n"
5267 " (declare (in) vec4 y))\n"
5268 " ())\n"
5269 " (signature vec2\n"
5270 " (parameters\n"
5271 " (declare (in) vec2 x)\n"
5272 " (declare (in) float y))\n"
5273 " ())\n"
5274 " (signature vec3\n"
5275 " (parameters\n"
5276 " (declare (in) vec3 x)\n"
5277 " (declare (in) float y))\n"
5278 " ())\n"
5279 " (signature vec4\n"
5280 " (parameters\n"
5281 " (declare (in) vec4 x)\n"
5282 " (declare (in) float y))\n"
5283 " ()))\n"
5284 "(function max\n"
5285 " (signature float\n"
5286 " (parameters\n"
5287 " (declare (in) float x)\n"
5288 " (declare (in) float y))\n"
5289 " ())\n"
5290 " (signature vec2\n"
5291 " (parameters\n"
5292 " (declare (in) vec2 x)\n"
5293 " (declare (in) vec2 y))\n"
5294 " ())\n"
5295 " (signature vec3\n"
5296 " (parameters\n"
5297 " (declare (in) vec3 x)\n"
5298 " (declare (in) vec3 y))\n"
5299 " ())\n"
5300 " (signature vec4\n"
5301 " (parameters\n"
5302 " (declare (in) vec4 x)\n"
5303 " (declare (in) vec4 y))\n"
5304 " ())\n"
5305 " (signature vec2\n"
5306 " (parameters\n"
5307 " (declare (in) vec2 x)\n"
5308 " (declare (in) float y))\n"
5309 " ())\n"
5310 " (signature vec3\n"
5311 " (parameters\n"
5312 " (declare (in) vec3 x)\n"
5313 " (declare (in) float y))\n"
5314 " ())\n"
5315 " (signature vec4\n"
5316 " (parameters\n"
5317 " (declare (in) vec4 x)\n"
5318 " (declare (in) float y))\n"
5319 " ()))\n"
5320 "(function clamp\n"
5321 " (signature float\n"
5322 " (parameters\n"
5323 " (declare (in) float x)\n"
5324 " (declare (in) float minVal)\n"
5325 " (declare (in) float maxVal))\n"
5326 " ())\n"
5327 " (signature vec2\n"
5328 " (parameters\n"
5329 " (declare (in) vec2 x)\n"
5330 " (declare (in) vec2 minVal)\n"
5331 " (declare (in) vec2 maxVal))\n"
5332 " ())\n"
5333 " (signature vec3\n"
5334 " (parameters\n"
5335 " (declare (in) vec3 x)\n"
5336 " (declare (in) vec3 minVal)\n"
5337 " (declare (in) vec3 maxVal))\n"
5338 " ())\n"
5339 " (signature vec4\n"
5340 " (parameters\n"
5341 " (declare (in) vec4 x)\n"
5342 " (declare (in) vec4 minVal)\n"
5343 " (declare (in) vec4 maxVal))\n"
5344 " ())\n"
5345 " (signature vec2\n"
5346 " (parameters\n"
5347 " (declare (in) vec2 x)\n"
5348 " (declare (in) float minVal)\n"
5349 " (declare (in) float maxVal))\n"
5350 " ())\n"
5351 " (signature vec3\n"
5352 " (parameters\n"
5353 " (declare (in) vec3 x)\n"
5354 " (declare (in) float minVal)\n"
5355 " (declare (in) float maxVal))\n"
5356 " ())\n"
5357 " (signature vec4\n"
5358 " (parameters\n"
5359 " (declare (in) vec4 x)\n"
5360 " (declare (in) float minVal)\n"
5361 " (declare (in) float maxVal))\n"
5362 " ()))\n"
5363 "(function mix\n"
5364 " (signature float\n"
5365 " (parameters\n"
5366 " (declare (in) float x)\n"
5367 " (declare (in) float y)\n"
5368 " (declare (in) float a))\n"
5369 " ())\n"
5370 " (signature vec2\n"
5371 " (parameters\n"
5372 " (declare (in) vec2 x)\n"
5373 " (declare (in) vec2 y)\n"
5374 " (declare (in) vec2 a))\n"
5375 " ())\n"
5376 " (signature vec3\n"
5377 " (parameters\n"
5378 " (declare (in) vec3 x)\n"
5379 " (declare (in) vec3 y)\n"
5380 " (declare (in) vec3 a))\n"
5381 " ())\n"
5382 " (signature vec4\n"
5383 " (parameters\n"
5384 " (declare (in) vec4 x)\n"
5385 " (declare (in) vec4 y)\n"
5386 " (declare (in) vec4 a))\n"
5387 " ())\n"
5388 " (signature vec2\n"
5389 " (parameters\n"
5390 " (declare (in) vec2 x)\n"
5391 " (declare (in) vec2 y)\n"
5392 " (declare (in) float a))\n"
5393 " ())\n"
5394 " (signature vec3\n"
5395 " (parameters\n"
5396 " (declare (in) vec3 x)\n"
5397 " (declare (in) vec3 y)\n"
5398 " (declare (in) float a))\n"
5399 " ())\n"
5400 " (signature vec4\n"
5401 " (parameters\n"
5402 " (declare (in) vec4 x)\n"
5403 " (declare (in) vec4 y)\n"
5404 " (declare (in) float a))\n"
5405 " ()))\n"
5406 "(function step\n"
5407 " (signature float\n"
5408 " (parameters\n"
5409 " (declare (in) float edge)\n"
5410 " (declare (in) float x))\n"
5411 " ())\n"
5412 " (signature vec2\n"
5413 " (parameters\n"
5414 " (declare (in) vec2 edge)\n"
5415 " (declare (in) vec2 x))\n"
5416 " ())\n"
5417 " (signature vec3\n"
5418 " (parameters\n"
5419 " (declare (in) vec3 edge)\n"
5420 " (declare (in) vec3 x))\n"
5421 " ())\n"
5422 " (signature vec4\n"
5423 " (parameters\n"
5424 " (declare (in) vec4 edge)\n"
5425 " (declare (in) vec4 x))\n"
5426 " ())\n"
5427 " (signature vec2\n"
5428 " (parameters\n"
5429 " (declare (in) float edge)\n"
5430 " (declare (in) vec2 x))\n"
5431 " ())\n"
5432 " (signature vec3\n"
5433 " (parameters\n"
5434 " (declare (in) float edge)\n"
5435 " (declare (in) vec3 x))\n"
5436 " ())\n"
5437 " (signature vec4\n"
5438 " (parameters\n"
5439 " (declare (in) float edge)\n"
5440 " (declare (in) vec4 x))\n"
5441 " ()))\n"
5442 "(function smoothstep\n"
5443 " (signature float\n"
5444 " (parameters\n"
5445 " (declare (in) float edge0)\n"
5446 " (declare (in) float edge1)\n"
5447 " (declare (in) float x))\n"
5448 " ())\n"
5449 " (signature vec2\n"
5450 " (parameters\n"
5451 " (declare (in) vec2 edge0)\n"
5452 " (declare (in) vec2 edge1)\n"
5453 " (declare (in) vec2 x))\n"
5454 " ())\n"
5455 " (signature vec3\n"
5456 " (parameters\n"
5457 " (declare (in) vec3 edge0)\n"
5458 " (declare (in) vec3 edge1)\n"
5459 " (declare (in) vec3 x))\n"
5460 " ())\n"
5461 " (signature vec4\n"
5462 " (parameters\n"
5463 " (declare (in) vec4 edge0)\n"
5464 " (declare (in) vec4 edge1)\n"
5465 " (declare (in) vec4 x))\n"
5466 " ())\n"
5467 " (signature vec2\n"
5468 " (parameters\n"
5469 " (declare (in) float edge0)\n"
5470 " (declare (in) float edge1)\n"
5471 " (declare (in) vec2 x))\n"
5472 " ())\n"
5473 " (signature vec3\n"
5474 " (parameters\n"
5475 " (declare (in) float edge0)\n"
5476 " (declare (in) float edge1)\n"
5477 " (declare (in) vec3 x))\n"
5478 " ())\n"
5479 " (signature vec4\n"
5480 " (parameters\n"
5481 " (declare (in) float edge0)\n"
5482 " (declare (in) float edge1)\n"
5483 " (declare (in) vec4 x))\n"
5484 " ()))\n"
5485 "(function length\n"
5486 " (signature float\n"
5487 " (parameters\n"
5488 " (declare (in) float x))\n"
5489 " ())\n"
5490 " (signature float\n"
5491 " (parameters\n"
5492 " (declare (in) vec2 x))\n"
5493 " ())\n"
5494 " (signature float\n"
5495 " (parameters\n"
5496 " (declare (in) vec3 x))\n"
5497 " ())\n"
5498 " (signature float\n"
5499 " (parameters\n"
5500 " (declare (in) vec4 x))\n"
5501 " ()))\n"
5502 "(function distance\n"
5503 " (signature float\n"
5504 " (parameters\n"
5505 " (declare (in) float p0)\n"
5506 " (declare (in) float p1))\n"
5507 " ())\n"
5508 " (signature float\n"
5509 " (parameters\n"
5510 " (declare (in) vec2 p0)\n"
5511 " (declare (in) vec2 p1))\n"
5512 " ())\n"
5513 " (signature float\n"
5514 " (parameters\n"
5515 " (declare (in) vec3 p0)\n"
5516 " (declare (in) vec3 p1))\n"
5517 " ())\n"
5518 " (signature float\n"
5519 " (parameters\n"
5520 " (declare (in) vec4 p0)\n"
5521 " (declare (in) vec4 p1))\n"
5522 " ()))\n"
5523 "(function dot\n"
5524 " (signature float\n"
5525 " (parameters\n"
5526 " (declare (in) float x)\n"
5527 " (declare (in) float y))\n"
5528 " ())\n"
5529 " (signature float\n"
5530 " (parameters\n"
5531 " (declare (in) vec2 x)\n"
5532 " (declare (in) vec2 y))\n"
5533 " ())\n"
5534 " (signature float\n"
5535 " (parameters\n"
5536 " (declare (in) vec3 x)\n"
5537 " (declare (in) vec3 y))\n"
5538 " ())\n"
5539 " (signature float\n"
5540 " (parameters\n"
5541 " (declare (in) vec4 x)\n"
5542 " (declare (in) vec4 y))\n"
5543 " ()))\n"
5544 "(function cross\n"
5545 " (signature vec3\n"
5546 " (parameters\n"
5547 " (declare (in) vec3 x)\n"
5548 " (declare (in) vec3 y))\n"
5549 " ()))\n"
5550 "(function normalize\n"
5551 " (signature float\n"
5552 " (parameters\n"
5553 " (declare (in) float x))\n"
5554 " ())\n"
5555 " (signature vec2\n"
5556 " (parameters\n"
5557 " (declare (in) vec2 x))\n"
5558 " ())\n"
5559 " (signature vec3\n"
5560 " (parameters\n"
5561 " (declare (in) vec3 x))\n"
5562 " ())\n"
5563 " (signature vec4\n"
5564 " (parameters\n"
5565 " (declare (in) vec4 x))\n"
5566 " ()))\n"
5567 "(function faceforward\n"
5568 " (signature float\n"
5569 " (parameters\n"
5570 " (declare (in) float N)\n"
5571 " (declare (in) float I)\n"
5572 " (declare (in) float Nref))\n"
5573 " ())\n"
5574 " (signature vec2\n"
5575 " (parameters\n"
5576 " (declare (in) vec2 N)\n"
5577 " (declare (in) vec2 I)\n"
5578 " (declare (in) vec2 Nref))\n"
5579 " ())\n"
5580 " (signature vec3\n"
5581 " (parameters\n"
5582 " (declare (in) vec3 N)\n"
5583 " (declare (in) vec3 I)\n"
5584 " (declare (in) vec3 Nref))\n"
5585 " ())\n"
5586 " (signature vec4\n"
5587 " (parameters\n"
5588 " (declare (in) vec4 N)\n"
5589 " (declare (in) vec4 I)\n"
5590 " (declare (in) vec4 Nref))\n"
5591 " ()))\n"
5592 "(function reflect\n"
5593 " (signature float\n"
5594 " (parameters\n"
5595 " (declare (in) float I)\n"
5596 " (declare (in) float N))\n"
5597 " ())\n"
5598 " (signature vec2\n"
5599 " (parameters\n"
5600 " (declare (in) vec2 I)\n"
5601 " (declare (in) vec2 N))\n"
5602 " ())\n"
5603 " (signature vec3\n"
5604 " (parameters\n"
5605 " (declare (in) vec3 I)\n"
5606 " (declare (in) vec3 N))\n"
5607 " ())\n"
5608 " (signature vec4\n"
5609 " (parameters\n"
5610 " (declare (in) vec4 I)\n"
5611 " (declare (in) vec4 N))\n"
5612 " ()))\n"
5613 "(function refract\n"
5614 " (signature float\n"
5615 " (parameters\n"
5616 " (declare (in) float I)\n"
5617 " (declare (in) float N)\n"
5618 " (declare (in) float eta))\n"
5619 " ())\n"
5620 " (signature vec2\n"
5621 " (parameters\n"
5622 " (declare (in) vec2 I)\n"
5623 " (declare (in) vec2 N)\n"
5624 " (declare (in) float eta))\n"
5625 " ())\n"
5626 " (signature vec3\n"
5627 " (parameters\n"
5628 " (declare (in) vec3 I)\n"
5629 " (declare (in) vec3 N)\n"
5630 " (declare (in) float eta))\n"
5631 " ())\n"
5632 " (signature vec4\n"
5633 " (parameters\n"
5634 " (declare (in) vec4 I)\n"
5635 " (declare (in) vec4 N)\n"
5636 " (declare (in) float eta))\n"
5637 " ()))\n"
5638 "(function matrixCompMult\n"
5639 " (signature mat2\n"
5640 " (parameters\n"
5641 " (declare (in) mat2 x)\n"
5642 " (declare (in) mat2 y))\n"
5643 " ())\n"
5644 " (signature mat3\n"
5645 " (parameters\n"
5646 " (declare (in) mat3 x)\n"
5647 " (declare (in) mat3 y))\n"
5648 " ())\n"
5649 " (signature mat4\n"
5650 " (parameters\n"
5651 " (declare (in) mat4 x)\n"
5652 " (declare (in) mat4 y))\n"
5653 " ()))\n"
5654 "(function lessThan\n"
5655 " (signature bvec2\n"
5656 " (parameters\n"
5657 " (declare (in) vec2 x)\n"
5658 " (declare (in) vec2 y))\n"
5659 " ())\n"
5660 " (signature bvec3\n"
5661 " (parameters\n"
5662 " (declare (in) vec3 x)\n"
5663 " (declare (in) vec3 y))\n"
5664 " ())\n"
5665 " (signature bvec4\n"
5666 " (parameters\n"
5667 " (declare (in) vec4 x)\n"
5668 " (declare (in) vec4 y))\n"
5669 " ())\n"
5670 " (signature bvec2\n"
5671 " (parameters\n"
5672 " (declare (in) ivec2 x)\n"
5673 " (declare (in) ivec2 y))\n"
5674 " ())\n"
5675 " (signature bvec3\n"
5676 " (parameters\n"
5677 " (declare (in) ivec3 x)\n"
5678 " (declare (in) ivec3 y))\n"
5679 " ())\n"
5680 " (signature bvec4\n"
5681 " (parameters\n"
5682 " (declare (in) ivec4 x)\n"
5683 " (declare (in) ivec4 y))\n"
5684 " ()))\n"
5685 "(function lessThanEqual\n"
5686 " (signature bvec2\n"
5687 " (parameters\n"
5688 " (declare (in) vec2 x)\n"
5689 " (declare (in) vec2 y))\n"
5690 " ())\n"
5691 " (signature bvec3\n"
5692 " (parameters\n"
5693 " (declare (in) vec3 x)\n"
5694 " (declare (in) vec3 y))\n"
5695 " ())\n"
5696 " (signature bvec4\n"
5697 " (parameters\n"
5698 " (declare (in) vec4 x)\n"
5699 " (declare (in) vec4 y))\n"
5700 " ())\n"
5701 " (signature bvec2\n"
5702 " (parameters\n"
5703 " (declare (in) ivec2 x)\n"
5704 " (declare (in) ivec2 y))\n"
5705 " ())\n"
5706 " (signature bvec3\n"
5707 " (parameters\n"
5708 " (declare (in) ivec3 x)\n"
5709 " (declare (in) ivec3 y))\n"
5710 " ())\n"
5711 " (signature bvec4\n"
5712 " (parameters\n"
5713 " (declare (in) ivec4 x)\n"
5714 " (declare (in) ivec4 y))\n"
5715 " ()))\n"
5716 "(function greaterThan\n"
5717 " (signature bvec2\n"
5718 " (parameters\n"
5719 " (declare (in) vec2 x)\n"
5720 " (declare (in) vec2 y))\n"
5721 " ())\n"
5722 " (signature bvec3\n"
5723 " (parameters\n"
5724 " (declare (in) vec3 x)\n"
5725 " (declare (in) vec3 y))\n"
5726 " ())\n"
5727 " (signature bvec4\n"
5728 " (parameters\n"
5729 " (declare (in) vec4 x)\n"
5730 " (declare (in) vec4 y))\n"
5731 " ())\n"
5732 " (signature bvec2\n"
5733 " (parameters\n"
5734 " (declare (in) ivec2 x)\n"
5735 " (declare (in) ivec2 y))\n"
5736 " ())\n"
5737 " (signature bvec3\n"
5738 " (parameters\n"
5739 " (declare (in) ivec3 x)\n"
5740 " (declare (in) ivec3 y))\n"
5741 " ())\n"
5742 " (signature bvec4\n"
5743 " (parameters\n"
5744 " (declare (in) ivec4 x)\n"
5745 " (declare (in) ivec4 y))\n"
5746 " ()))\n"
5747 "(function greaterThanEqual\n"
5748 " (signature bvec2\n"
5749 " (parameters\n"
5750 " (declare (in) vec2 x)\n"
5751 " (declare (in) vec2 y))\n"
5752 " ())\n"
5753 " (signature bvec3\n"
5754 " (parameters\n"
5755 " (declare (in) vec3 x)\n"
5756 " (declare (in) vec3 y))\n"
5757 " ())\n"
5758 " (signature bvec4\n"
5759 " (parameters\n"
5760 " (declare (in) vec4 x)\n"
5761 " (declare (in) vec4 y))\n"
5762 " ())\n"
5763 " (signature bvec2\n"
5764 " (parameters\n"
5765 " (declare (in) ivec2 x)\n"
5766 " (declare (in) ivec2 y))\n"
5767 " ())\n"
5768 " (signature bvec3\n"
5769 " (parameters\n"
5770 " (declare (in) ivec3 x)\n"
5771 " (declare (in) ivec3 y))\n"
5772 " ())\n"
5773 " (signature bvec4\n"
5774 " (parameters\n"
5775 " (declare (in) ivec4 x)\n"
5776 " (declare (in) ivec4 y))\n"
5777 " ()))\n"
5778 "(function equal\n"
5779 " (signature bvec2\n"
5780 " (parameters\n"
5781 " (declare (in) vec2 x)\n"
5782 " (declare (in) vec2 y))\n"
5783 " ())\n"
5784 " (signature bvec3\n"
5785 " (parameters\n"
5786 " (declare (in) vec3 x)\n"
5787 " (declare (in) vec3 y))\n"
5788 " ())\n"
5789 " (signature bvec4\n"
5790 " (parameters\n"
5791 " (declare (in) vec4 x)\n"
5792 " (declare (in) vec4 y))\n"
5793 " ())\n"
5794 " (signature bvec2\n"
5795 " (parameters\n"
5796 " (declare (in) ivec2 x)\n"
5797 " (declare (in) ivec2 y))\n"
5798 " ())\n"
5799 " (signature bvec3\n"
5800 " (parameters\n"
5801 " (declare (in) ivec3 x)\n"
5802 " (declare (in) ivec3 y))\n"
5803 " ())\n"
5804 " (signature bvec4\n"
5805 " (parameters\n"
5806 " (declare (in) ivec4 x)\n"
5807 " (declare (in) ivec4 y))\n"
5808 " ())\n"
5809 " (signature bvec2\n"
5810 " (parameters\n"
5811 " (declare (in) bvec2 x)\n"
5812 " (declare (in) bvec2 y))\n"
5813 " ())\n"
5814 " (signature bvec3\n"
5815 " (parameters\n"
5816 " (declare (in) bvec3 x)\n"
5817 " (declare (in) bvec3 y))\n"
5818 " ())\n"
5819 " (signature bvec4\n"
5820 " (parameters\n"
5821 " (declare (in) bvec4 x)\n"
5822 " (declare (in) bvec4 y))\n"
5823 " ()))\n"
5824 "(function notEqual\n"
5825 " (signature bvec2\n"
5826 " (parameters\n"
5827 " (declare (in) vec2 x)\n"
5828 " (declare (in) vec2 y))\n"
5829 " ())\n"
5830 " (signature bvec3\n"
5831 " (parameters\n"
5832 " (declare (in) vec3 x)\n"
5833 " (declare (in) vec3 y))\n"
5834 " ())\n"
5835 " (signature bvec4\n"
5836 " (parameters\n"
5837 " (declare (in) vec4 x)\n"
5838 " (declare (in) vec4 y))\n"
5839 " ())\n"
5840 " (signature bvec2\n"
5841 " (parameters\n"
5842 " (declare (in) ivec2 x)\n"
5843 " (declare (in) ivec2 y))\n"
5844 " ())\n"
5845 " (signature bvec3\n"
5846 " (parameters\n"
5847 " (declare (in) ivec3 x)\n"
5848 " (declare (in) ivec3 y))\n"
5849 " ())\n"
5850 " (signature bvec4\n"
5851 " (parameters\n"
5852 " (declare (in) ivec4 x)\n"
5853 " (declare (in) ivec4 y))\n"
5854 " ())\n"
5855 " (signature bvec2\n"
5856 " (parameters\n"
5857 " (declare (in) bvec2 x)\n"
5858 " (declare (in) bvec2 y))\n"
5859 " ())\n"
5860 " (signature bvec3\n"
5861 " (parameters\n"
5862 " (declare (in) bvec3 x)\n"
5863 " (declare (in) bvec3 y))\n"
5864 " ())\n"
5865 " (signature bvec4\n"
5866 " (parameters\n"
5867 " (declare (in) bvec4 x)\n"
5868 " (declare (in) bvec4 y))\n"
5869 " ()))\n"
5870 "(function any\n"
5871 " (signature bool\n"
5872 " (parameters\n"
5873 " (declare (in) bvec2 x))\n"
5874 " ())\n"
5875 " (signature bool\n"
5876 " (parameters\n"
5877 " (declare (in) bvec3 x))\n"
5878 " ())\n"
5879 " (signature bool\n"
5880 " (parameters\n"
5881 " (declare (in) bvec4 x))\n"
5882 " ()))\n"
5883 "(function all\n"
5884 " (signature bool\n"
5885 " (parameters\n"
5886 " (declare (in) bvec2 x))\n"
5887 " ())\n"
5888 " (signature bool\n"
5889 " (parameters\n"
5890 " (declare (in) bvec3 x))\n"
5891 " ())\n"
5892 " (signature bool\n"
5893 " (parameters\n"
5894 " (declare (in) bvec4 x))\n"
5895 " ()))\n"
5896 "(function not\n"
5897 " (signature bvec2\n"
5898 " (parameters\n"
5899 " (declare (in) bvec2 x))\n"
5900 " ())\n"
5901 " (signature bvec3\n"
5902 " (parameters\n"
5903 " (declare (in) bvec3 x))\n"
5904 " ())\n"
5905 " (signature bvec4\n"
5906 " (parameters\n"
5907 " (declare (in) bvec4 x))\n"
5908 " ()))\n"
5909 "(function texture2D\n"
5910 " (signature vec4\n"
5911 " (parameters\n"
5912 " (declare (in) sampler2D sampler)\n"
5913 " (declare (in) vec2 coord))\n"
5914 " ())\n"
5915 " (signature vec4\n"
5916 " (parameters\n"
5917 " (declare (in) sampler2D sampler)\n"
5918 " (declare (in) vec2 coord)\n"
5919 " (declare (in) float bias))\n"
5920 " ()))\n"
5921 "(function texture2DProj\n"
5922 " (signature vec4\n"
5923 " (parameters\n"
5924 " (declare (in) sampler2D sampler)\n"
5925 " (declare (in) vec3 coord))\n"
5926 " ())\n"
5927 " (signature vec4\n"
5928 " (parameters\n"
5929 " (declare (in) sampler2D sampler)\n"
5930 " (declare (in) vec4 coord))\n"
5931 " ())\n"
5932 " (signature vec4\n"
5933 " (parameters\n"
5934 " (declare (in) sampler2D sampler)\n"
5935 " (declare (in) vec3 coord)\n"
5936 " (declare (in) float bias))\n"
5937 " ())\n"
5938 " (signature vec4\n"
5939 " (parameters\n"
5940 " (declare (in) sampler2D sampler)\n"
5941 " (declare (in) vec4 coord)\n"
5942 " (declare (in) float bias))\n"
5943 " ()))\n"
5944 "(function textureCube\n"
5945 " (signature vec4\n"
5946 " (parameters\n"
5947 " (declare (in) samplerCube sampler)\n"
5948 " (declare (in) vec3 coord))\n"
5949 " ())\n"
5950 " (signature vec4\n"
5951 " (parameters\n"
5952 " (declare (in) samplerCube sampler)\n"
5953 " (declare (in) vec3 coord)\n"
5954 " (declare (in) float bias))\n"
5955 " ())))"
5956;
5957static const char *functions_for_100_frag [] = {
5958 builtin_abs,
5959 builtin_acos,
5960 builtin_all,
5961 builtin_any,
5962 builtin_asin,
5963 builtin_atan,
5964 builtin_ceil,
5965 builtin_clamp,
5966 builtin_cos,
5967 builtin_cross,
5968 builtin_degrees,
5969 builtin_distance,
5970 builtin_dot,
5971 builtin_equal,
5972 builtin_exp,
5973 builtin_exp2,
5974 builtin_faceforward,
5975 builtin_floor,
5976 builtin_fract,
5977 builtin_greaterThan,
5978 builtin_greaterThanEqual,
5979 builtin_inversesqrt,
5980 builtin_length,
5981 builtin_lessThan,
5982 builtin_lessThanEqual,
5983 builtin_log,
5984 builtin_log2,
5985 builtin_matrixCompMult,
5986 builtin_max,
5987 builtin_min,
5988 builtin_mix,
5989 builtin_mod,
5990 builtin_normalize,
5991 builtin_not,
5992 builtin_notEqual,
5993 builtin_pow,
5994 builtin_radians,
5995 builtin_reflect,
5996 builtin_refract,
5997 builtin_sign,
5998 builtin_sin,
5999 builtin_smoothstep,
6000 builtin_sqrt,
6001 builtin_step,
6002 builtin_tan,
6003 builtin_texture2D,
6004 builtin_texture2DProj,
6005 builtin_textureCube,
6006};
6007static const char *prototypes_for_100_vert =
6008 "(\n"
6009 "(function radians\n"
6010 " (signature float\n"
6011 " (parameters\n"
6012 " (declare (in) float degrees))\n"
6013 " ())\n"
6014 " (signature vec2\n"
6015 " (parameters\n"
6016 " (declare (in) vec2 degrees))\n"
6017 " ())\n"
6018 " (signature vec3\n"
6019 " (parameters\n"
6020 " (declare (in) vec3 degrees))\n"
6021 " ())\n"
6022 " (signature vec4\n"
6023 " (parameters\n"
6024 " (declare (in) vec4 degrees))\n"
6025 " ()))\n"
6026 "(function degrees\n"
6027 " (signature float\n"
6028 " (parameters\n"
6029 " (declare (in) float radians))\n"
6030 " ())\n"
6031 " (signature vec2\n"
6032 " (parameters\n"
6033 " (declare (in) vec2 radians))\n"
6034 " ())\n"
6035 " (signature vec3\n"
6036 " (parameters\n"
6037 " (declare (in) vec3 radians))\n"
6038 " ())\n"
6039 " (signature vec4\n"
6040 " (parameters\n"
6041 " (declare (in) vec4 radians))\n"
6042 " ()))\n"
6043 "(function sin\n"
6044 " (signature float\n"
6045 " (parameters\n"
6046 " (declare (in) float angle))\n"
6047 " ())\n"
6048 " (signature vec2\n"
6049 " (parameters\n"
6050 " (declare (in) vec2 angle))\n"
6051 " ())\n"
6052 " (signature vec3\n"
6053 " (parameters\n"
6054 " (declare (in) vec3 angle))\n"
6055 " ())\n"
6056 " (signature vec4\n"
6057 " (parameters\n"
6058 " (declare (in) vec4 angle))\n"
6059 " ()))\n"
6060 "(function cos\n"
6061 " (signature float\n"
6062 " (parameters\n"
6063 " (declare (in) float angle))\n"
6064 " ())\n"
6065 " (signature vec2\n"
6066 " (parameters\n"
6067 " (declare (in) vec2 angle))\n"
6068 " ())\n"
6069 " (signature vec3\n"
6070 " (parameters\n"
6071 " (declare (in) vec3 angle))\n"
6072 " ())\n"
6073 " (signature vec4\n"
6074 " (parameters\n"
6075 " (declare (in) vec4 angle))\n"
6076 " ()))\n"
6077 "(function tan\n"
6078 " (signature float\n"
6079 " (parameters\n"
6080 " (declare (in) float angle))\n"
6081 " ())\n"
6082 " (signature vec2\n"
6083 " (parameters\n"
6084 " (declare (in) vec2 angle))\n"
6085 " ())\n"
6086 " (signature vec3\n"
6087 " (parameters\n"
6088 " (declare (in) vec3 angle))\n"
6089 " ())\n"
6090 " (signature vec4\n"
6091 " (parameters\n"
6092 " (declare (in) vec4 angle))\n"
6093 " ()))\n"
6094 "(function asin\n"
6095 " (signature float\n"
6096 " (parameters\n"
6097 " (declare (in) float angle))\n"
6098 " ())\n"
6099 " (signature vec2\n"
6100 " (parameters\n"
6101 " (declare (in) vec2 angle))\n"
6102 " ())\n"
6103 " (signature vec3\n"
6104 " (parameters\n"
6105 " (declare (in) vec3 angle))\n"
6106 " ())\n"
6107 " (signature vec4\n"
6108 " (parameters\n"
6109 " (declare (in) vec4 angle))\n"
6110 " ()))\n"
6111 "(function acos\n"
6112 " (signature float\n"
6113 " (parameters\n"
6114 " (declare (in) float angle))\n"
6115 " ())\n"
6116 " (signature vec2\n"
6117 " (parameters\n"
6118 " (declare (in) vec2 angle))\n"
6119 " ())\n"
6120 " (signature vec3\n"
6121 " (parameters\n"
6122 " (declare (in) vec3 angle))\n"
6123 " ())\n"
6124 " (signature vec4\n"
6125 " (parameters\n"
6126 " (declare (in) vec4 angle))\n"
6127 " ()))\n"
6128 "(function atan\n"
6129 " (signature float\n"
6130 " (parameters\n"
6131 " (declare (in) float y)\n"
6132 " (declare (in) float x))\n"
6133 " ())\n"
6134 " (signature vec2\n"
6135 " (parameters\n"
6136 " (declare (in) vec2 y)\n"
6137 " (declare (in) vec2 x))\n"
6138 " ())\n"
6139 " (signature vec3\n"
6140 " (parameters\n"
6141 " (declare (in) vec3 y)\n"
6142 " (declare (in) vec3 x))\n"
6143 " ())\n"
6144 " (signature vec4\n"
6145 " (parameters\n"
6146 " (declare (in) vec4 y)\n"
6147 " (declare (in) vec4 x))\n"
6148 " ())\n"
6149 " (signature float\n"
6150 " (parameters\n"
6151 " (declare (in) float y_over_x))\n"
6152 " ())\n"
6153 " (signature vec2\n"
6154 " (parameters\n"
6155 " (declare (in) vec2 y_over_x))\n"
6156 " ())\n"
6157 " (signature vec3\n"
6158 " (parameters\n"
6159 " (declare (in) vec3 y_over_x))\n"
6160 " ())\n"
6161 " (signature vec4\n"
6162 " (parameters\n"
6163 " (declare (in) vec4 y_over_x))\n"
6164 " ()))\n"
6165 "(function pow\n"
6166 " (signature float\n"
6167 " (parameters\n"
6168 " (declare (in) float x)\n"
6169 " (declare (in) float y))\n"
6170 " ())\n"
6171 " (signature vec2\n"
6172 " (parameters\n"
6173 " (declare (in) vec2 x)\n"
6174 " (declare (in) vec2 y))\n"
6175 " ())\n"
6176 " (signature vec3\n"
6177 " (parameters\n"
6178 " (declare (in) vec3 x)\n"
6179 " (declare (in) vec3 y))\n"
6180 " ())\n"
6181 " (signature vec4\n"
6182 " (parameters\n"
6183 " (declare (in) vec4 x)\n"
6184 " (declare (in) vec4 y))\n"
6185 " ()))\n"
6186 "(function exp\n"
6187 " (signature float\n"
6188 " (parameters\n"
6189 " (declare (in) float x))\n"
6190 " ())\n"
6191 " (signature vec2\n"
6192 " (parameters\n"
6193 " (declare (in) vec2 x))\n"
6194 " ())\n"
6195 " (signature vec3\n"
6196 " (parameters\n"
6197 " (declare (in) vec3 x))\n"
6198 " ())\n"
6199 " (signature vec4\n"
6200 " (parameters\n"
6201 " (declare (in) vec4 x))\n"
6202 " ()))\n"
6203 "(function log\n"
6204 " (signature float\n"
6205 " (parameters\n"
6206 " (declare (in) float x))\n"
6207 " ())\n"
6208 " (signature vec2\n"
6209 " (parameters\n"
6210 " (declare (in) vec2 x))\n"
6211 " ())\n"
6212 " (signature vec3\n"
6213 " (parameters\n"
6214 " (declare (in) vec3 x))\n"
6215 " ())\n"
6216 " (signature vec4\n"
6217 " (parameters\n"
6218 " (declare (in) vec4 x))\n"
6219 " ()))\n"
6220 "(function exp2\n"
6221 " (signature float\n"
6222 " (parameters\n"
6223 " (declare (in) float x))\n"
6224 " ())\n"
6225 " (signature vec2\n"
6226 " (parameters\n"
6227 " (declare (in) vec2 x))\n"
6228 " ())\n"
6229 " (signature vec3\n"
6230 " (parameters\n"
6231 " (declare (in) vec3 x))\n"
6232 " ())\n"
6233 " (signature vec4\n"
6234 " (parameters\n"
6235 " (declare (in) vec4 x))\n"
6236 " ()))\n"
6237 "(function log2\n"
6238 " (signature float\n"
6239 " (parameters\n"
6240 " (declare (in) float x))\n"
6241 " ())\n"
6242 " (signature vec2\n"
6243 " (parameters\n"
6244 " (declare (in) vec2 x))\n"
6245 " ())\n"
6246 " (signature vec3\n"
6247 " (parameters\n"
6248 " (declare (in) vec3 x))\n"
6249 " ())\n"
6250 " (signature vec4\n"
6251 " (parameters\n"
6252 " (declare (in) vec4 x))\n"
6253 " ()))\n"
6254 "(function sqrt\n"
6255 " (signature float\n"
6256 " (parameters\n"
6257 " (declare (in) float x))\n"
6258 " ())\n"
6259 " (signature vec2\n"
6260 " (parameters\n"
6261 " (declare (in) vec2 x))\n"
6262 " ())\n"
6263 " (signature vec3\n"
6264 " (parameters\n"
6265 " (declare (in) vec3 x))\n"
6266 " ())\n"
6267 " (signature vec4\n"
6268 " (parameters\n"
6269 " (declare (in) vec4 x))\n"
6270 " ()))\n"
6271 "(function inversesqrt\n"
6272 " (signature float\n"
6273 " (parameters\n"
6274 " (declare (in) float x))\n"
6275 " ())\n"
6276 " (signature vec2\n"
6277 " (parameters\n"
6278 " (declare (in) vec2 x))\n"
6279 " ())\n"
6280 " (signature vec3\n"
6281 " (parameters\n"
6282 " (declare (in) vec3 x))\n"
6283 " ())\n"
6284 " (signature vec4\n"
6285 " (parameters\n"
6286 " (declare (in) vec4 x))\n"
6287 " ()))\n"
6288 "(function abs\n"
6289 " (signature float\n"
6290 " (parameters\n"
6291 " (declare (in) float x))\n"
6292 " ())\n"
6293 " (signature vec2\n"
6294 " (parameters\n"
6295 " (declare (in) vec2 x))\n"
6296 " ())\n"
6297 " (signature vec3\n"
6298 " (parameters\n"
6299 " (declare (in) vec3 x))\n"
6300 " ())\n"
6301 " (signature vec4\n"
6302 " (parameters\n"
6303 " (declare (in) vec4 x))\n"
6304 " ()))\n"
6305 "(function sign\n"
6306 " (signature float\n"
6307 " (parameters\n"
6308 " (declare (in) float x))\n"
6309 " ())\n"
6310 " (signature vec2\n"
6311 " (parameters\n"
6312 " (declare (in) vec2 x))\n"
6313 " ())\n"
6314 " (signature vec3\n"
6315 " (parameters\n"
6316 " (declare (in) vec3 x))\n"
6317 " ())\n"
6318 " (signature vec4\n"
6319 " (parameters\n"
6320 " (declare (in) vec4 x))\n"
6321 " ()))\n"
6322 "(function floor\n"
6323 " (signature float\n"
6324 " (parameters\n"
6325 " (declare (in) float x))\n"
6326 " ())\n"
6327 " (signature vec2\n"
6328 " (parameters\n"
6329 " (declare (in) vec2 x))\n"
6330 " ())\n"
6331 " (signature vec3\n"
6332 " (parameters\n"
6333 " (declare (in) vec3 x))\n"
6334 " ())\n"
6335 " (signature vec4\n"
6336 " (parameters\n"
6337 " (declare (in) vec4 x))\n"
6338 " ()))\n"
6339 "(function ceil\n"
6340 " (signature float\n"
6341 " (parameters\n"
6342 " (declare (in) float x))\n"
6343 " ())\n"
6344 " (signature vec2\n"
6345 " (parameters\n"
6346 " (declare (in) vec2 x))\n"
6347 " ())\n"
6348 " (signature vec3\n"
6349 " (parameters\n"
6350 " (declare (in) vec3 x))\n"
6351 " ())\n"
6352 " (signature vec4\n"
6353 " (parameters\n"
6354 " (declare (in) vec4 x))\n"
6355 " ()))\n"
6356 "(function fract\n"
6357 " (signature float\n"
6358 " (parameters\n"
6359 " (declare (in) float x))\n"
6360 " ())\n"
6361 " (signature vec2\n"
6362 " (parameters\n"
6363 " (declare (in) vec2 x))\n"
6364 " ())\n"
6365 " (signature vec3\n"
6366 " (parameters\n"
6367 " (declare (in) vec3 x))\n"
6368 " ())\n"
6369 " (signature vec4\n"
6370 " (parameters\n"
6371 " (declare (in) vec4 x))\n"
6372 " ()))\n"
6373 "(function mod\n"
6374 " (signature float\n"
6375 " (parameters\n"
6376 " (declare (in) float x)\n"
6377 " (declare (in) float y))\n"
6378 " ())\n"
6379 " (signature vec2\n"
6380 " (parameters\n"
6381 " (declare (in) vec2 x)\n"
6382 " (declare (in) float y))\n"
6383 " ())\n"
6384 " (signature vec3\n"
6385 " (parameters\n"
6386 " (declare (in) vec3 x)\n"
6387 " (declare (in) float y))\n"
6388 " ())\n"
6389 " (signature vec4\n"
6390 " (parameters\n"
6391 " (declare (in) vec4 x)\n"
6392 " (declare (in) float y))\n"
6393 " ())\n"
6394 " (signature vec2\n"
6395 " (parameters\n"
6396 " (declare (in) vec2 x)\n"
6397 " (declare (in) vec2 y))\n"
6398 " ())\n"
6399 " (signature vec3\n"
6400 " (parameters\n"
6401 " (declare (in) vec3 x)\n"
6402 " (declare (in) vec3 y))\n"
6403 " ())\n"
6404 " (signature vec4\n"
6405 " (parameters\n"
6406 " (declare (in) vec4 x)\n"
6407 " (declare (in) vec4 y))\n"
6408 " ()))\n"
6409 "(function min\n"
6410 " (signature float\n"
6411 " (parameters\n"
6412 " (declare (in) float x)\n"
6413 " (declare (in) float y))\n"
6414 " ())\n"
6415 " (signature vec2\n"
6416 " (parameters\n"
6417 " (declare (in) vec2 x)\n"
6418 " (declare (in) vec2 y))\n"
6419 " ())\n"
6420 " (signature vec3\n"
6421 " (parameters\n"
6422 " (declare (in) vec3 x)\n"
6423 " (declare (in) vec3 y))\n"
6424 " ())\n"
6425 " (signature vec4\n"
6426 " (parameters\n"
6427 " (declare (in) vec4 x)\n"
6428 " (declare (in) vec4 y))\n"
6429 " ())\n"
6430 " (signature vec2\n"
6431 " (parameters\n"
6432 " (declare (in) vec2 x)\n"
6433 " (declare (in) float y))\n"
6434 " ())\n"
6435 " (signature vec3\n"
6436 " (parameters\n"
6437 " (declare (in) vec3 x)\n"
6438 " (declare (in) float y))\n"
6439 " ())\n"
6440 " (signature vec4\n"
6441 " (parameters\n"
6442 " (declare (in) vec4 x)\n"
6443 " (declare (in) float y))\n"
6444 " ()))\n"
6445 "(function max\n"
6446 " (signature float\n"
6447 " (parameters\n"
6448 " (declare (in) float x)\n"
6449 " (declare (in) float y))\n"
6450 " ())\n"
6451 " (signature vec2\n"
6452 " (parameters\n"
6453 " (declare (in) vec2 x)\n"
6454 " (declare (in) vec2 y))\n"
6455 " ())\n"
6456 " (signature vec3\n"
6457 " (parameters\n"
6458 " (declare (in) vec3 x)\n"
6459 " (declare (in) vec3 y))\n"
6460 " ())\n"
6461 " (signature vec4\n"
6462 " (parameters\n"
6463 " (declare (in) vec4 x)\n"
6464 " (declare (in) vec4 y))\n"
6465 " ())\n"
6466 " (signature vec2\n"
6467 " (parameters\n"
6468 " (declare (in) vec2 x)\n"
6469 " (declare (in) float y))\n"
6470 " ())\n"
6471 " (signature vec3\n"
6472 " (parameters\n"
6473 " (declare (in) vec3 x)\n"
6474 " (declare (in) float y))\n"
6475 " ())\n"
6476 " (signature vec4\n"
6477 " (parameters\n"
6478 " (declare (in) vec4 x)\n"
6479 " (declare (in) float y))\n"
6480 " ()))\n"
6481 "(function clamp\n"
6482 " (signature float\n"
6483 " (parameters\n"
6484 " (declare (in) float x)\n"
6485 " (declare (in) float minVal)\n"
6486 " (declare (in) float maxVal))\n"
6487 " ())\n"
6488 " (signature vec2\n"
6489 " (parameters\n"
6490 " (declare (in) vec2 x)\n"
6491 " (declare (in) vec2 minVal)\n"
6492 " (declare (in) vec2 maxVal))\n"
6493 " ())\n"
6494 " (signature vec3\n"
6495 " (parameters\n"
6496 " (declare (in) vec3 x)\n"
6497 " (declare (in) vec3 minVal)\n"
6498 " (declare (in) vec3 maxVal))\n"
6499 " ())\n"
6500 " (signature vec4\n"
6501 " (parameters\n"
6502 " (declare (in) vec4 x)\n"
6503 " (declare (in) vec4 minVal)\n"
6504 " (declare (in) vec4 maxVal))\n"
6505 " ())\n"
6506 " (signature vec2\n"
6507 " (parameters\n"
6508 " (declare (in) vec2 x)\n"
6509 " (declare (in) float minVal)\n"
6510 " (declare (in) float maxVal))\n"
6511 " ())\n"
6512 " (signature vec3\n"
6513 " (parameters\n"
6514 " (declare (in) vec3 x)\n"
6515 " (declare (in) float minVal)\n"
6516 " (declare (in) float maxVal))\n"
6517 " ())\n"
6518 " (signature vec4\n"
6519 " (parameters\n"
6520 " (declare (in) vec4 x)\n"
6521 " (declare (in) float minVal)\n"
6522 " (declare (in) float maxVal))\n"
6523 " ()))\n"
6524 "(function mix\n"
6525 " (signature float\n"
6526 " (parameters\n"
6527 " (declare (in) float x)\n"
6528 " (declare (in) float y)\n"
6529 " (declare (in) float a))\n"
6530 " ())\n"
6531 " (signature vec2\n"
6532 " (parameters\n"
6533 " (declare (in) vec2 x)\n"
6534 " (declare (in) vec2 y)\n"
6535 " (declare (in) vec2 a))\n"
6536 " ())\n"
6537 " (signature vec3\n"
6538 " (parameters\n"
6539 " (declare (in) vec3 x)\n"
6540 " (declare (in) vec3 y)\n"
6541 " (declare (in) vec3 a))\n"
6542 " ())\n"
6543 " (signature vec4\n"
6544 " (parameters\n"
6545 " (declare (in) vec4 x)\n"
6546 " (declare (in) vec4 y)\n"
6547 " (declare (in) vec4 a))\n"
6548 " ())\n"
6549 " (signature vec2\n"
6550 " (parameters\n"
6551 " (declare (in) vec2 x)\n"
6552 " (declare (in) vec2 y)\n"
6553 " (declare (in) float a))\n"
6554 " ())\n"
6555 " (signature vec3\n"
6556 " (parameters\n"
6557 " (declare (in) vec3 x)\n"
6558 " (declare (in) vec3 y)\n"
6559 " (declare (in) float a))\n"
6560 " ())\n"
6561 " (signature vec4\n"
6562 " (parameters\n"
6563 " (declare (in) vec4 x)\n"
6564 " (declare (in) vec4 y)\n"
6565 " (declare (in) float a))\n"
6566 " ()))\n"
6567 "(function step\n"
6568 " (signature float\n"
6569 " (parameters\n"
6570 " (declare (in) float edge)\n"
6571 " (declare (in) float x))\n"
6572 " ())\n"
6573 " (signature vec2\n"
6574 " (parameters\n"
6575 " (declare (in) vec2 edge)\n"
6576 " (declare (in) vec2 x))\n"
6577 " ())\n"
6578 " (signature vec3\n"
6579 " (parameters\n"
6580 " (declare (in) vec3 edge)\n"
6581 " (declare (in) vec3 x))\n"
6582 " ())\n"
6583 " (signature vec4\n"
6584 " (parameters\n"
6585 " (declare (in) vec4 edge)\n"
6586 " (declare (in) vec4 x))\n"
6587 " ())\n"
6588 " (signature vec2\n"
6589 " (parameters\n"
6590 " (declare (in) float edge)\n"
6591 " (declare (in) vec2 x))\n"
6592 " ())\n"
6593 " (signature vec3\n"
6594 " (parameters\n"
6595 " (declare (in) float edge)\n"
6596 " (declare (in) vec3 x))\n"
6597 " ())\n"
6598 " (signature vec4\n"
6599 " (parameters\n"
6600 " (declare (in) float edge)\n"
6601 " (declare (in) vec4 x))\n"
6602 " ()))\n"
6603 "(function smoothstep\n"
6604 " (signature float\n"
6605 " (parameters\n"
6606 " (declare (in) float edge0)\n"
6607 " (declare (in) float edge1)\n"
6608 " (declare (in) float x))\n"
6609 " ())\n"
6610 " (signature vec2\n"
6611 " (parameters\n"
6612 " (declare (in) vec2 edge0)\n"
6613 " (declare (in) vec2 edge1)\n"
6614 " (declare (in) vec2 x))\n"
6615 " ())\n"
6616 " (signature vec3\n"
6617 " (parameters\n"
6618 " (declare (in) vec3 edge0)\n"
6619 " (declare (in) vec3 edge1)\n"
6620 " (declare (in) vec3 x))\n"
6621 " ())\n"
6622 " (signature vec4\n"
6623 " (parameters\n"
6624 " (declare (in) vec4 edge0)\n"
6625 " (declare (in) vec4 edge1)\n"
6626 " (declare (in) vec4 x))\n"
6627 " ())\n"
6628 " (signature vec2\n"
6629 " (parameters\n"
6630 " (declare (in) float edge0)\n"
6631 " (declare (in) float edge1)\n"
6632 " (declare (in) vec2 x))\n"
6633 " ())\n"
6634 " (signature vec3\n"
6635 " (parameters\n"
6636 " (declare (in) float edge0)\n"
6637 " (declare (in) float edge1)\n"
6638 " (declare (in) vec3 x))\n"
6639 " ())\n"
6640 " (signature vec4\n"
6641 " (parameters\n"
6642 " (declare (in) float edge0)\n"
6643 " (declare (in) float edge1)\n"
6644 " (declare (in) vec4 x))\n"
6645 " ()))\n"
6646 "(function length\n"
6647 " (signature float\n"
6648 " (parameters\n"
6649 " (declare (in) float x))\n"
6650 " ())\n"
6651 " (signature float\n"
6652 " (parameters\n"
6653 " (declare (in) vec2 x))\n"
6654 " ())\n"
6655 " (signature float\n"
6656 " (parameters\n"
6657 " (declare (in) vec3 x))\n"
6658 " ())\n"
6659 " (signature float\n"
6660 " (parameters\n"
6661 " (declare (in) vec4 x))\n"
6662 " ()))\n"
6663 "(function distance\n"
6664 " (signature float\n"
6665 " (parameters\n"
6666 " (declare (in) float p0)\n"
6667 " (declare (in) float p1))\n"
6668 " ())\n"
6669 " (signature float\n"
6670 " (parameters\n"
6671 " (declare (in) vec2 p0)\n"
6672 " (declare (in) vec2 p1))\n"
6673 " ())\n"
6674 " (signature float\n"
6675 " (parameters\n"
6676 " (declare (in) vec3 p0)\n"
6677 " (declare (in) vec3 p1))\n"
6678 " ())\n"
6679 " (signature float\n"
6680 " (parameters\n"
6681 " (declare (in) vec4 p0)\n"
6682 " (declare (in) vec4 p1))\n"
6683 " ()))\n"
6684 "(function dot\n"
6685 " (signature float\n"
6686 " (parameters\n"
6687 " (declare (in) float x)\n"
6688 " (declare (in) float y))\n"
6689 " ())\n"
6690 " (signature float\n"
6691 " (parameters\n"
6692 " (declare (in) vec2 x)\n"
6693 " (declare (in) vec2 y))\n"
6694 " ())\n"
6695 " (signature float\n"
6696 " (parameters\n"
6697 " (declare (in) vec3 x)\n"
6698 " (declare (in) vec3 y))\n"
6699 " ())\n"
6700 " (signature float\n"
6701 " (parameters\n"
6702 " (declare (in) vec4 x)\n"
6703 " (declare (in) vec4 y))\n"
6704 " ()))\n"
6705 "(function cross\n"
6706 " (signature vec3\n"
6707 " (parameters\n"
6708 " (declare (in) vec3 x)\n"
6709 " (declare (in) vec3 y))\n"
6710 " ()))\n"
6711 "(function normalize\n"
6712 " (signature float\n"
6713 " (parameters\n"
6714 " (declare (in) float x))\n"
6715 " ())\n"
6716 " (signature vec2\n"
6717 " (parameters\n"
6718 " (declare (in) vec2 x))\n"
6719 " ())\n"
6720 " (signature vec3\n"
6721 " (parameters\n"
6722 " (declare (in) vec3 x))\n"
6723 " ())\n"
6724 " (signature vec4\n"
6725 " (parameters\n"
6726 " (declare (in) vec4 x))\n"
6727 " ()))\n"
6728 "(function faceforward\n"
6729 " (signature float\n"
6730 " (parameters\n"
6731 " (declare (in) float N)\n"
6732 " (declare (in) float I)\n"
6733 " (declare (in) float Nref))\n"
6734 " ())\n"
6735 " (signature vec2\n"
6736 " (parameters\n"
6737 " (declare (in) vec2 N)\n"
6738 " (declare (in) vec2 I)\n"
6739 " (declare (in) vec2 Nref))\n"
6740 " ())\n"
6741 " (signature vec3\n"
6742 " (parameters\n"
6743 " (declare (in) vec3 N)\n"
6744 " (declare (in) vec3 I)\n"
6745 " (declare (in) vec3 Nref))\n"
6746 " ())\n"
6747 " (signature vec4\n"
6748 " (parameters\n"
6749 " (declare (in) vec4 N)\n"
6750 " (declare (in) vec4 I)\n"
6751 " (declare (in) vec4 Nref))\n"
6752 " ()))\n"
6753 "(function reflect\n"
6754 " (signature float\n"
6755 " (parameters\n"
6756 " (declare (in) float I)\n"
6757 " (declare (in) float N))\n"
6758 " ())\n"
6759 " (signature vec2\n"
6760 " (parameters\n"
6761 " (declare (in) vec2 I)\n"
6762 " (declare (in) vec2 N))\n"
6763 " ())\n"
6764 " (signature vec3\n"
6765 " (parameters\n"
6766 " (declare (in) vec3 I)\n"
6767 " (declare (in) vec3 N))\n"
6768 " ())\n"
6769 " (signature vec4\n"
6770 " (parameters\n"
6771 " (declare (in) vec4 I)\n"
6772 " (declare (in) vec4 N))\n"
6773 " ()))\n"
6774 "(function refract\n"
6775 " (signature float\n"
6776 " (parameters\n"
6777 " (declare (in) float I)\n"
6778 " (declare (in) float N)\n"
6779 " (declare (in) float eta))\n"
6780 " ())\n"
6781 " (signature vec2\n"
6782 " (parameters\n"
6783 " (declare (in) vec2 I)\n"
6784 " (declare (in) vec2 N)\n"
6785 " (declare (in) float eta))\n"
6786 " ())\n"
6787 " (signature vec3\n"
6788 " (parameters\n"
6789 " (declare (in) vec3 I)\n"
6790 " (declare (in) vec3 N)\n"
6791 " (declare (in) float eta))\n"
6792 " ())\n"
6793 " (signature vec4\n"
6794 " (parameters\n"
6795 " (declare (in) vec4 I)\n"
6796 " (declare (in) vec4 N)\n"
6797 " (declare (in) float eta))\n"
6798 " ()))\n"
6799 "(function matrixCompMult\n"
6800 " (signature mat2\n"
6801 " (parameters\n"
6802 " (declare (in) mat2 x)\n"
6803 " (declare (in) mat2 y))\n"
6804 " ())\n"
6805 " (signature mat3\n"
6806 " (parameters\n"
6807 " (declare (in) mat3 x)\n"
6808 " (declare (in) mat3 y))\n"
6809 " ())\n"
6810 " (signature mat4\n"
6811 " (parameters\n"
6812 " (declare (in) mat4 x)\n"
6813 " (declare (in) mat4 y))\n"
6814 " ()))\n"
6815 "(function lessThan\n"
6816 " (signature bvec2\n"
6817 " (parameters\n"
6818 " (declare (in) vec2 x)\n"
6819 " (declare (in) vec2 y))\n"
6820 " ())\n"
6821 " (signature bvec3\n"
6822 " (parameters\n"
6823 " (declare (in) vec3 x)\n"
6824 " (declare (in) vec3 y))\n"
6825 " ())\n"
6826 " (signature bvec4\n"
6827 " (parameters\n"
6828 " (declare (in) vec4 x)\n"
6829 " (declare (in) vec4 y))\n"
6830 " ())\n"
6831 " (signature bvec2\n"
6832 " (parameters\n"
6833 " (declare (in) ivec2 x)\n"
6834 " (declare (in) ivec2 y))\n"
6835 " ())\n"
6836 " (signature bvec3\n"
6837 " (parameters\n"
6838 " (declare (in) ivec3 x)\n"
6839 " (declare (in) ivec3 y))\n"
6840 " ())\n"
6841 " (signature bvec4\n"
6842 " (parameters\n"
6843 " (declare (in) ivec4 x)\n"
6844 " (declare (in) ivec4 y))\n"
6845 " ()))\n"
6846 "(function lessThanEqual\n"
6847 " (signature bvec2\n"
6848 " (parameters\n"
6849 " (declare (in) vec2 x)\n"
6850 " (declare (in) vec2 y))\n"
6851 " ())\n"
6852 " (signature bvec3\n"
6853 " (parameters\n"
6854 " (declare (in) vec3 x)\n"
6855 " (declare (in) vec3 y))\n"
6856 " ())\n"
6857 " (signature bvec4\n"
6858 " (parameters\n"
6859 " (declare (in) vec4 x)\n"
6860 " (declare (in) vec4 y))\n"
6861 " ())\n"
6862 " (signature bvec2\n"
6863 " (parameters\n"
6864 " (declare (in) ivec2 x)\n"
6865 " (declare (in) ivec2 y))\n"
6866 " ())\n"
6867 " (signature bvec3\n"
6868 " (parameters\n"
6869 " (declare (in) ivec3 x)\n"
6870 " (declare (in) ivec3 y))\n"
6871 " ())\n"
6872 " (signature bvec4\n"
6873 " (parameters\n"
6874 " (declare (in) ivec4 x)\n"
6875 " (declare (in) ivec4 y))\n"
6876 " ()))\n"
6877 "(function greaterThan\n"
6878 " (signature bvec2\n"
6879 " (parameters\n"
6880 " (declare (in) vec2 x)\n"
6881 " (declare (in) vec2 y))\n"
6882 " ())\n"
6883 " (signature bvec3\n"
6884 " (parameters\n"
6885 " (declare (in) vec3 x)\n"
6886 " (declare (in) vec3 y))\n"
6887 " ())\n"
6888 " (signature bvec4\n"
6889 " (parameters\n"
6890 " (declare (in) vec4 x)\n"
6891 " (declare (in) vec4 y))\n"
6892 " ())\n"
6893 " (signature bvec2\n"
6894 " (parameters\n"
6895 " (declare (in) ivec2 x)\n"
6896 " (declare (in) ivec2 y))\n"
6897 " ())\n"
6898 " (signature bvec3\n"
6899 " (parameters\n"
6900 " (declare (in) ivec3 x)\n"
6901 " (declare (in) ivec3 y))\n"
6902 " ())\n"
6903 " (signature bvec4\n"
6904 " (parameters\n"
6905 " (declare (in) ivec4 x)\n"
6906 " (declare (in) ivec4 y))\n"
6907 " ()))\n"
6908 "(function greaterThanEqual\n"
6909 " (signature bvec2\n"
6910 " (parameters\n"
6911 " (declare (in) vec2 x)\n"
6912 " (declare (in) vec2 y))\n"
6913 " ())\n"
6914 " (signature bvec3\n"
6915 " (parameters\n"
6916 " (declare (in) vec3 x)\n"
6917 " (declare (in) vec3 y))\n"
6918 " ())\n"
6919 " (signature bvec4\n"
6920 " (parameters\n"
6921 " (declare (in) vec4 x)\n"
6922 " (declare (in) vec4 y))\n"
6923 " ())\n"
6924 " (signature bvec2\n"
6925 " (parameters\n"
6926 " (declare (in) ivec2 x)\n"
6927 " (declare (in) ivec2 y))\n"
6928 " ())\n"
6929 " (signature bvec3\n"
6930 " (parameters\n"
6931 " (declare (in) ivec3 x)\n"
6932 " (declare (in) ivec3 y))\n"
6933 " ())\n"
6934 " (signature bvec4\n"
6935 " (parameters\n"
6936 " (declare (in) ivec4 x)\n"
6937 " (declare (in) ivec4 y))\n"
6938 " ()))\n"
6939 "(function equal\n"
6940 " (signature bvec2\n"
6941 " (parameters\n"
6942 " (declare (in) vec2 x)\n"
6943 " (declare (in) vec2 y))\n"
6944 " ())\n"
6945 " (signature bvec3\n"
6946 " (parameters\n"
6947 " (declare (in) vec3 x)\n"
6948 " (declare (in) vec3 y))\n"
6949 " ())\n"
6950 " (signature bvec4\n"
6951 " (parameters\n"
6952 " (declare (in) vec4 x)\n"
6953 " (declare (in) vec4 y))\n"
6954 " ())\n"
6955 " (signature bvec2\n"
6956 " (parameters\n"
6957 " (declare (in) ivec2 x)\n"
6958 " (declare (in) ivec2 y))\n"
6959 " ())\n"
6960 " (signature bvec3\n"
6961 " (parameters\n"
6962 " (declare (in) ivec3 x)\n"
6963 " (declare (in) ivec3 y))\n"
6964 " ())\n"
6965 " (signature bvec4\n"
6966 " (parameters\n"
6967 " (declare (in) ivec4 x)\n"
6968 " (declare (in) ivec4 y))\n"
6969 " ())\n"
6970 " (signature bvec2\n"
6971 " (parameters\n"
6972 " (declare (in) bvec2 x)\n"
6973 " (declare (in) bvec2 y))\n"
6974 " ())\n"
6975 " (signature bvec3\n"
6976 " (parameters\n"
6977 " (declare (in) bvec3 x)\n"
6978 " (declare (in) bvec3 y))\n"
6979 " ())\n"
6980 " (signature bvec4\n"
6981 " (parameters\n"
6982 " (declare (in) bvec4 x)\n"
6983 " (declare (in) bvec4 y))\n"
6984 " ()))\n"
6985 "(function notEqual\n"
6986 " (signature bvec2\n"
6987 " (parameters\n"
6988 " (declare (in) vec2 x)\n"
6989 " (declare (in) vec2 y))\n"
6990 " ())\n"
6991 " (signature bvec3\n"
6992 " (parameters\n"
6993 " (declare (in) vec3 x)\n"
6994 " (declare (in) vec3 y))\n"
6995 " ())\n"
6996 " (signature bvec4\n"
6997 " (parameters\n"
6998 " (declare (in) vec4 x)\n"
6999 " (declare (in) vec4 y))\n"
7000 " ())\n"
7001 " (signature bvec2\n"
7002 " (parameters\n"
7003 " (declare (in) ivec2 x)\n"
7004 " (declare (in) ivec2 y))\n"
7005 " ())\n"
7006 " (signature bvec3\n"
7007 " (parameters\n"
7008 " (declare (in) ivec3 x)\n"
7009 " (declare (in) ivec3 y))\n"
7010 " ())\n"
7011 " (signature bvec4\n"
7012 " (parameters\n"
7013 " (declare (in) ivec4 x)\n"
7014 " (declare (in) ivec4 y))\n"
7015 " ())\n"
7016 " (signature bvec2\n"
7017 " (parameters\n"
7018 " (declare (in) bvec2 x)\n"
7019 " (declare (in) bvec2 y))\n"
7020 " ())\n"
7021 " (signature bvec3\n"
7022 " (parameters\n"
7023 " (declare (in) bvec3 x)\n"
7024 " (declare (in) bvec3 y))\n"
7025 " ())\n"
7026 " (signature bvec4\n"
7027 " (parameters\n"
7028 " (declare (in) bvec4 x)\n"
7029 " (declare (in) bvec4 y))\n"
7030 " ()))\n"
7031 "(function any\n"
7032 " (signature bool\n"
7033 " (parameters\n"
7034 " (declare (in) bvec2 x))\n"
7035 " ())\n"
7036 " (signature bool\n"
7037 " (parameters\n"
7038 " (declare (in) bvec3 x))\n"
7039 " ())\n"
7040 " (signature bool\n"
7041 " (parameters\n"
7042 " (declare (in) bvec4 x))\n"
7043 " ()))\n"
7044 "(function all\n"
7045 " (signature bool\n"
7046 " (parameters\n"
7047 " (declare (in) bvec2 x))\n"
7048 " ())\n"
7049 " (signature bool\n"
7050 " (parameters\n"
7051 " (declare (in) bvec3 x))\n"
7052 " ())\n"
7053 " (signature bool\n"
7054 " (parameters\n"
7055 " (declare (in) bvec4 x))\n"
7056 " ()))\n"
7057 "(function not\n"
7058 " (signature bvec2\n"
7059 " (parameters\n"
7060 " (declare (in) bvec2 x))\n"
7061 " ())\n"
7062 " (signature bvec3\n"
7063 " (parameters\n"
7064 " (declare (in) bvec3 x))\n"
7065 " ())\n"
7066 " (signature bvec4\n"
7067 " (parameters\n"
7068 " (declare (in) bvec4 x))\n"
7069 " ()))\n"
7070 "(function texture2D\n"
7071 " (signature vec4\n"
7072 " (parameters\n"
7073 " (declare (in) sampler2D sampler)\n"
7074 " (declare (in) vec2 coord))\n"
7075 " ()))\n"
7076 "(function texture2DProj\n"
7077 " (signature vec4\n"
7078 " (parameters\n"
7079 " (declare (in) sampler2D sampler)\n"
7080 " (declare (in) vec3 coord))\n"
7081 " ())\n"
7082 " (signature vec4\n"
7083 " (parameters\n"
7084 " (declare (in) sampler2D sampler)\n"
7085 " (declare (in) vec4 coord))\n"
7086 " ()))\n"
7087 "(function texture2DLod\n"
7088 " (signature vec4\n"
7089 " (parameters\n"
7090 " (declare (in) sampler2D sampler)\n"
7091 " (declare (in) vec2 coord)\n"
7092 " (declare (in) float lod))\n"
7093 " ()))\n"
7094 "(function texture2DProjLod\n"
7095 " (signature vec4\n"
7096 " (parameters\n"
7097 " (declare (in) sampler2D sampler)\n"
7098 " (declare (in) vec3 coord)\n"
7099 " (declare (in) float lod))\n"
7100 " ())\n"
7101 " (signature vec4\n"
7102 " (parameters\n"
7103 " (declare (in) sampler2D sampler)\n"
7104 " (declare (in) vec4 coord)\n"
7105 " (declare (in) float lod))\n"
7106 " ()))\n"
7107 "(function textureCube\n"
7108 " (signature vec4\n"
7109 " (parameters\n"
7110 " (declare (in) samplerCube sampler)\n"
7111 " (declare (in) vec3 coord))\n"
7112 " ()))\n"
7113 "(function textureCubeLod\n"
7114 " (signature vec4\n"
7115 " (parameters\n"
7116 " (declare (in) samplerCube sampler)\n"
7117 " (declare (in) vec3 coord)\n"
7118 " (declare (in) float lod))\n"
7119 " ())))"
7120;
7121static const char *functions_for_100_vert [] = {
7122 builtin_abs,
7123 builtin_acos,
7124 builtin_all,
7125 builtin_any,
7126 builtin_asin,
7127 builtin_atan,
7128 builtin_ceil,
7129 builtin_clamp,
7130 builtin_cos,
7131 builtin_cross,
7132 builtin_degrees,
7133 builtin_distance,
7134 builtin_dot,
7135 builtin_equal,
7136 builtin_exp,
7137 builtin_exp2,
7138 builtin_faceforward,
7139 builtin_floor,
7140 builtin_fract,
7141 builtin_greaterThan,
7142 builtin_greaterThanEqual,
7143 builtin_inversesqrt,
7144 builtin_length,
7145 builtin_lessThan,
7146 builtin_lessThanEqual,
7147 builtin_log,
7148 builtin_log2,
7149 builtin_matrixCompMult,
7150 builtin_max,
7151 builtin_min,
7152 builtin_mix,
7153 builtin_mod,
7154 builtin_normalize,
7155 builtin_not,
7156 builtin_notEqual,
7157 builtin_pow,
7158 builtin_radians,
7159 builtin_reflect,
7160 builtin_refract,
7161 builtin_sign,
7162 builtin_sin,
7163 builtin_smoothstep,
7164 builtin_sqrt,
7165 builtin_step,
7166 builtin_tan,
7167 builtin_texture2D,
7168 builtin_texture2DLod,
7169 builtin_texture2DProj,
7170 builtin_texture2DProjLod,
7171 builtin_textureCube,
7172 builtin_textureCubeLod,
7173};
Eric Anholt47003a82010-08-23 12:39:35 -07007174static const char *prototypes_for_110_frag =
7175 "(\n"
7176 "(function radians\n"
Eric Anholt3fa1b852010-07-30 10:20:34 -07007177 " (signature float\n"
7178 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07007179 " (declare (in) float degrees))\n"
7180 " ())\n"
7181 " (signature vec2\n"
7182 " (parameters\n"
7183 " (declare (in) vec2 degrees))\n"
7184 " ())\n"
7185 " (signature vec3\n"
7186 " (parameters\n"
7187 " (declare (in) vec3 degrees))\n"
7188 " ())\n"
7189 " (signature vec4\n"
7190 " (parameters\n"
7191 " (declare (in) vec4 degrees))\n"
7192 " ()))\n"
7193 "(function degrees\n"
7194 " (signature float\n"
7195 " (parameters\n"
7196 " (declare (in) float radians))\n"
7197 " ())\n"
7198 " (signature vec2\n"
7199 " (parameters\n"
7200 " (declare (in) vec2 radians))\n"
7201 " ())\n"
7202 " (signature vec3\n"
7203 " (parameters\n"
7204 " (declare (in) vec3 radians))\n"
7205 " ())\n"
7206 " (signature vec4\n"
7207 " (parameters\n"
7208 " (declare (in) vec4 radians))\n"
7209 " ()))\n"
7210 "(function sin\n"
7211 " (signature float\n"
7212 " (parameters\n"
7213 " (declare (in) float angle))\n"
7214 " ())\n"
7215 " (signature vec2\n"
7216 " (parameters\n"
7217 " (declare (in) vec2 angle))\n"
7218 " ())\n"
7219 " (signature vec3\n"
7220 " (parameters\n"
7221 " (declare (in) vec3 angle))\n"
7222 " ())\n"
7223 " (signature vec4\n"
7224 " (parameters\n"
7225 " (declare (in) vec4 angle))\n"
7226 " ()))\n"
7227 "(function cos\n"
7228 " (signature float\n"
7229 " (parameters\n"
7230 " (declare (in) float angle))\n"
7231 " ())\n"
7232 " (signature vec2\n"
7233 " (parameters\n"
7234 " (declare (in) vec2 angle))\n"
7235 " ())\n"
7236 " (signature vec3\n"
7237 " (parameters\n"
7238 " (declare (in) vec3 angle))\n"
7239 " ())\n"
7240 " (signature vec4\n"
7241 " (parameters\n"
7242 " (declare (in) vec4 angle))\n"
7243 " ()))\n"
7244 "(function tan\n"
7245 " (signature float\n"
7246 " (parameters\n"
7247 " (declare (in) float angle))\n"
7248 " ())\n"
7249 " (signature vec2\n"
7250 " (parameters\n"
7251 " (declare (in) vec2 angle))\n"
7252 " ())\n"
7253 " (signature vec3\n"
7254 " (parameters\n"
7255 " (declare (in) vec3 angle))\n"
7256 " ())\n"
7257 " (signature vec4\n"
7258 " (parameters\n"
7259 " (declare (in) vec4 angle))\n"
7260 " ()))\n"
7261 "(function asin\n"
7262 " (signature float\n"
7263 " (parameters\n"
7264 " (declare (in) float angle))\n"
7265 " ())\n"
7266 " (signature vec2\n"
7267 " (parameters\n"
7268 " (declare (in) vec2 angle))\n"
7269 " ())\n"
7270 " (signature vec3\n"
7271 " (parameters\n"
7272 " (declare (in) vec3 angle))\n"
7273 " ())\n"
7274 " (signature vec4\n"
7275 " (parameters\n"
7276 " (declare (in) vec4 angle))\n"
7277 " ()))\n"
7278 "(function acos\n"
7279 " (signature float\n"
7280 " (parameters\n"
7281 " (declare (in) float angle))\n"
7282 " ())\n"
7283 " (signature vec2\n"
7284 " (parameters\n"
7285 " (declare (in) vec2 angle))\n"
7286 " ())\n"
7287 " (signature vec3\n"
7288 " (parameters\n"
7289 " (declare (in) vec3 angle))\n"
7290 " ())\n"
7291 " (signature vec4\n"
7292 " (parameters\n"
7293 " (declare (in) vec4 angle))\n"
7294 " ()))\n"
7295 "(function atan\n"
7296 " (signature float\n"
7297 " (parameters\n"
7298 " (declare (in) float y)\n"
7299 " (declare (in) float x))\n"
7300 " ())\n"
7301 " (signature vec2\n"
7302 " (parameters\n"
7303 " (declare (in) vec2 y)\n"
7304 " (declare (in) vec2 x))\n"
7305 " ())\n"
7306 " (signature vec3\n"
7307 " (parameters\n"
7308 " (declare (in) vec3 y)\n"
7309 " (declare (in) vec3 x))\n"
7310 " ())\n"
7311 " (signature vec4\n"
7312 " (parameters\n"
7313 " (declare (in) vec4 y)\n"
7314 " (declare (in) vec4 x))\n"
7315 " ())\n"
7316 " (signature float\n"
7317 " (parameters\n"
7318 " (declare (in) float y_over_x))\n"
7319 " ())\n"
7320 " (signature vec2\n"
7321 " (parameters\n"
7322 " (declare (in) vec2 y_over_x))\n"
7323 " ())\n"
7324 " (signature vec3\n"
7325 " (parameters\n"
7326 " (declare (in) vec3 y_over_x))\n"
7327 " ())\n"
7328 " (signature vec4\n"
7329 " (parameters\n"
7330 " (declare (in) vec4 y_over_x))\n"
7331 " ()))\n"
7332 "(function pow\n"
7333 " (signature float\n"
7334 " (parameters\n"
7335 " (declare (in) float x)\n"
7336 " (declare (in) float y))\n"
7337 " ())\n"
7338 " (signature vec2\n"
7339 " (parameters\n"
7340 " (declare (in) vec2 x)\n"
7341 " (declare (in) vec2 y))\n"
7342 " ())\n"
7343 " (signature vec3\n"
7344 " (parameters\n"
7345 " (declare (in) vec3 x)\n"
7346 " (declare (in) vec3 y))\n"
7347 " ())\n"
7348 " (signature vec4\n"
7349 " (parameters\n"
7350 " (declare (in) vec4 x)\n"
7351 " (declare (in) vec4 y))\n"
7352 " ()))\n"
7353 "(function exp\n"
7354 " (signature float\n"
7355 " (parameters\n"
7356 " (declare (in) float x))\n"
7357 " ())\n"
7358 " (signature vec2\n"
7359 " (parameters\n"
7360 " (declare (in) vec2 x))\n"
7361 " ())\n"
7362 " (signature vec3\n"
7363 " (parameters\n"
7364 " (declare (in) vec3 x))\n"
7365 " ())\n"
7366 " (signature vec4\n"
7367 " (parameters\n"
7368 " (declare (in) vec4 x))\n"
7369 " ()))\n"
7370 "(function log\n"
7371 " (signature float\n"
7372 " (parameters\n"
7373 " (declare (in) float x))\n"
7374 " ())\n"
7375 " (signature vec2\n"
7376 " (parameters\n"
7377 " (declare (in) vec2 x))\n"
7378 " ())\n"
7379 " (signature vec3\n"
7380 " (parameters\n"
7381 " (declare (in) vec3 x))\n"
7382 " ())\n"
7383 " (signature vec4\n"
7384 " (parameters\n"
7385 " (declare (in) vec4 x))\n"
7386 " ()))\n"
7387 "(function exp2\n"
7388 " (signature float\n"
7389 " (parameters\n"
7390 " (declare (in) float x))\n"
7391 " ())\n"
7392 " (signature vec2\n"
7393 " (parameters\n"
7394 " (declare (in) vec2 x))\n"
7395 " ())\n"
7396 " (signature vec3\n"
7397 " (parameters\n"
7398 " (declare (in) vec3 x))\n"
7399 " ())\n"
7400 " (signature vec4\n"
7401 " (parameters\n"
7402 " (declare (in) vec4 x))\n"
7403 " ()))\n"
7404 "(function log2\n"
7405 " (signature float\n"
7406 " (parameters\n"
7407 " (declare (in) float x))\n"
7408 " ())\n"
7409 " (signature vec2\n"
7410 " (parameters\n"
7411 " (declare (in) vec2 x))\n"
7412 " ())\n"
7413 " (signature vec3\n"
7414 " (parameters\n"
7415 " (declare (in) vec3 x))\n"
7416 " ())\n"
7417 " (signature vec4\n"
7418 " (parameters\n"
7419 " (declare (in) vec4 x))\n"
7420 " ()))\n"
7421 "(function sqrt\n"
7422 " (signature float\n"
7423 " (parameters\n"
7424 " (declare (in) float x))\n"
7425 " ())\n"
7426 " (signature vec2\n"
7427 " (parameters\n"
7428 " (declare (in) vec2 x))\n"
7429 " ())\n"
7430 " (signature vec3\n"
7431 " (parameters\n"
7432 " (declare (in) vec3 x))\n"
7433 " ())\n"
7434 " (signature vec4\n"
7435 " (parameters\n"
7436 " (declare (in) vec4 x))\n"
7437 " ()))\n"
7438 "(function inversesqrt\n"
7439 " (signature float\n"
7440 " (parameters\n"
7441 " (declare (in) float x))\n"
7442 " ())\n"
7443 " (signature vec2\n"
7444 " (parameters\n"
7445 " (declare (in) vec2 x))\n"
7446 " ())\n"
7447 " (signature vec3\n"
7448 " (parameters\n"
7449 " (declare (in) vec3 x))\n"
7450 " ())\n"
7451 " (signature vec4\n"
7452 " (parameters\n"
7453 " (declare (in) vec4 x))\n"
7454 " ()))\n"
7455 "(function abs\n"
7456 " (signature float\n"
7457 " (parameters\n"
7458 " (declare (in) float x))\n"
7459 " ())\n"
7460 " (signature vec2\n"
7461 " (parameters\n"
7462 " (declare (in) vec2 x))\n"
7463 " ())\n"
7464 " (signature vec3\n"
7465 " (parameters\n"
7466 " (declare (in) vec3 x))\n"
7467 " ())\n"
7468 " (signature vec4\n"
7469 " (parameters\n"
7470 " (declare (in) vec4 x))\n"
7471 " ()))\n"
7472 "(function sign\n"
7473 " (signature float\n"
7474 " (parameters\n"
7475 " (declare (in) float x))\n"
7476 " ())\n"
7477 " (signature vec2\n"
7478 " (parameters\n"
7479 " (declare (in) vec2 x))\n"
7480 " ())\n"
7481 " (signature vec3\n"
7482 " (parameters\n"
7483 " (declare (in) vec3 x))\n"
7484 " ())\n"
7485 " (signature vec4\n"
7486 " (parameters\n"
7487 " (declare (in) vec4 x))\n"
7488 " ()))\n"
7489 "(function floor\n"
7490 " (signature float\n"
7491 " (parameters\n"
7492 " (declare (in) float x))\n"
7493 " ())\n"
7494 " (signature vec2\n"
7495 " (parameters\n"
7496 " (declare (in) vec2 x))\n"
7497 " ())\n"
7498 " (signature vec3\n"
7499 " (parameters\n"
7500 " (declare (in) vec3 x))\n"
7501 " ())\n"
7502 " (signature vec4\n"
7503 " (parameters\n"
7504 " (declare (in) vec4 x))\n"
7505 " ()))\n"
7506 "(function ceil\n"
7507 " (signature float\n"
7508 " (parameters\n"
7509 " (declare (in) float x))\n"
7510 " ())\n"
7511 " (signature vec2\n"
7512 " (parameters\n"
7513 " (declare (in) vec2 x))\n"
7514 " ())\n"
7515 " (signature vec3\n"
7516 " (parameters\n"
7517 " (declare (in) vec3 x))\n"
7518 " ())\n"
7519 " (signature vec4\n"
7520 " (parameters\n"
7521 " (declare (in) vec4 x))\n"
7522 " ()))\n"
7523 "(function fract\n"
7524 " (signature float\n"
7525 " (parameters\n"
7526 " (declare (in) float x))\n"
7527 " ())\n"
7528 " (signature vec2\n"
7529 " (parameters\n"
7530 " (declare (in) vec2 x))\n"
7531 " ())\n"
7532 " (signature vec3\n"
7533 " (parameters\n"
7534 " (declare (in) vec3 x))\n"
7535 " ())\n"
7536 " (signature vec4\n"
7537 " (parameters\n"
7538 " (declare (in) vec4 x))\n"
7539 " ()))\n"
7540 "(function mod\n"
7541 " (signature float\n"
7542 " (parameters\n"
7543 " (declare (in) float x)\n"
7544 " (declare (in) float y))\n"
7545 " ())\n"
7546 " (signature vec2\n"
7547 " (parameters\n"
7548 " (declare (in) vec2 x)\n"
7549 " (declare (in) float y))\n"
7550 " ())\n"
7551 " (signature vec3\n"
7552 " (parameters\n"
7553 " (declare (in) vec3 x)\n"
7554 " (declare (in) float y))\n"
7555 " ())\n"
7556 " (signature vec4\n"
7557 " (parameters\n"
7558 " (declare (in) vec4 x)\n"
7559 " (declare (in) float y))\n"
7560 " ())\n"
7561 " (signature vec2\n"
7562 " (parameters\n"
7563 " (declare (in) vec2 x)\n"
7564 " (declare (in) vec2 y))\n"
7565 " ())\n"
7566 " (signature vec3\n"
7567 " (parameters\n"
7568 " (declare (in) vec3 x)\n"
7569 " (declare (in) vec3 y))\n"
7570 " ())\n"
7571 " (signature vec4\n"
7572 " (parameters\n"
7573 " (declare (in) vec4 x)\n"
7574 " (declare (in) vec4 y))\n"
7575 " ()))\n"
7576 "(function min\n"
7577 " (signature float\n"
7578 " (parameters\n"
7579 " (declare (in) float x)\n"
7580 " (declare (in) float y))\n"
7581 " ())\n"
7582 " (signature vec2\n"
7583 " (parameters\n"
7584 " (declare (in) vec2 x)\n"
7585 " (declare (in) vec2 y))\n"
7586 " ())\n"
7587 " (signature vec3\n"
7588 " (parameters\n"
7589 " (declare (in) vec3 x)\n"
7590 " (declare (in) vec3 y))\n"
7591 " ())\n"
7592 " (signature vec4\n"
7593 " (parameters\n"
7594 " (declare (in) vec4 x)\n"
7595 " (declare (in) vec4 y))\n"
7596 " ())\n"
7597 " (signature vec2\n"
7598 " (parameters\n"
7599 " (declare (in) vec2 x)\n"
7600 " (declare (in) float y))\n"
7601 " ())\n"
7602 " (signature vec3\n"
7603 " (parameters\n"
7604 " (declare (in) vec3 x)\n"
7605 " (declare (in) float y))\n"
7606 " ())\n"
7607 " (signature vec4\n"
7608 " (parameters\n"
7609 " (declare (in) vec4 x)\n"
7610 " (declare (in) float y))\n"
7611 " ()))\n"
7612 "(function max\n"
7613 " (signature float\n"
7614 " (parameters\n"
7615 " (declare (in) float x)\n"
7616 " (declare (in) float y))\n"
7617 " ())\n"
7618 " (signature vec2\n"
7619 " (parameters\n"
7620 " (declare (in) vec2 x)\n"
7621 " (declare (in) vec2 y))\n"
7622 " ())\n"
7623 " (signature vec3\n"
7624 " (parameters\n"
7625 " (declare (in) vec3 x)\n"
7626 " (declare (in) vec3 y))\n"
7627 " ())\n"
7628 " (signature vec4\n"
7629 " (parameters\n"
7630 " (declare (in) vec4 x)\n"
7631 " (declare (in) vec4 y))\n"
7632 " ())\n"
7633 " (signature vec2\n"
7634 " (parameters\n"
7635 " (declare (in) vec2 x)\n"
7636 " (declare (in) float y))\n"
7637 " ())\n"
7638 " (signature vec3\n"
7639 " (parameters\n"
7640 " (declare (in) vec3 x)\n"
7641 " (declare (in) float y))\n"
7642 " ())\n"
7643 " (signature vec4\n"
7644 " (parameters\n"
7645 " (declare (in) vec4 x)\n"
7646 " (declare (in) float y))\n"
7647 " ()))\n"
7648 "(function clamp\n"
7649 " (signature float\n"
7650 " (parameters\n"
7651 " (declare (in) float x)\n"
7652 " (declare (in) float minVal)\n"
7653 " (declare (in) float maxVal))\n"
7654 " ())\n"
7655 " (signature vec2\n"
7656 " (parameters\n"
7657 " (declare (in) vec2 x)\n"
7658 " (declare (in) vec2 minVal)\n"
7659 " (declare (in) vec2 maxVal))\n"
7660 " ())\n"
7661 " (signature vec3\n"
7662 " (parameters\n"
7663 " (declare (in) vec3 x)\n"
7664 " (declare (in) vec3 minVal)\n"
7665 " (declare (in) vec3 maxVal))\n"
7666 " ())\n"
7667 " (signature vec4\n"
7668 " (parameters\n"
7669 " (declare (in) vec4 x)\n"
7670 " (declare (in) vec4 minVal)\n"
7671 " (declare (in) vec4 maxVal))\n"
7672 " ())\n"
7673 " (signature vec2\n"
7674 " (parameters\n"
7675 " (declare (in) vec2 x)\n"
7676 " (declare (in) float minVal)\n"
7677 " (declare (in) float maxVal))\n"
7678 " ())\n"
7679 " (signature vec3\n"
7680 " (parameters\n"
7681 " (declare (in) vec3 x)\n"
7682 " (declare (in) float minVal)\n"
7683 " (declare (in) float maxVal))\n"
7684 " ())\n"
7685 " (signature vec4\n"
7686 " (parameters\n"
7687 " (declare (in) vec4 x)\n"
7688 " (declare (in) float minVal)\n"
7689 " (declare (in) float maxVal))\n"
7690 " ()))\n"
7691 "(function mix\n"
7692 " (signature float\n"
7693 " (parameters\n"
7694 " (declare (in) float x)\n"
7695 " (declare (in) float y)\n"
7696 " (declare (in) float a))\n"
7697 " ())\n"
7698 " (signature vec2\n"
7699 " (parameters\n"
7700 " (declare (in) vec2 x)\n"
7701 " (declare (in) vec2 y)\n"
7702 " (declare (in) vec2 a))\n"
7703 " ())\n"
7704 " (signature vec3\n"
7705 " (parameters\n"
7706 " (declare (in) vec3 x)\n"
7707 " (declare (in) vec3 y)\n"
7708 " (declare (in) vec3 a))\n"
7709 " ())\n"
7710 " (signature vec4\n"
7711 " (parameters\n"
7712 " (declare (in) vec4 x)\n"
7713 " (declare (in) vec4 y)\n"
7714 " (declare (in) vec4 a))\n"
7715 " ())\n"
7716 " (signature vec2\n"
7717 " (parameters\n"
7718 " (declare (in) vec2 x)\n"
7719 " (declare (in) vec2 y)\n"
7720 " (declare (in) float a))\n"
7721 " ())\n"
7722 " (signature vec3\n"
7723 " (parameters\n"
7724 " (declare (in) vec3 x)\n"
7725 " (declare (in) vec3 y)\n"
7726 " (declare (in) float a))\n"
7727 " ())\n"
7728 " (signature vec4\n"
7729 " (parameters\n"
7730 " (declare (in) vec4 x)\n"
7731 " (declare (in) vec4 y)\n"
7732 " (declare (in) float a))\n"
7733 " ()))\n"
7734 "(function step\n"
7735 " (signature float\n"
7736 " (parameters\n"
7737 " (declare (in) float edge)\n"
7738 " (declare (in) float x))\n"
7739 " ())\n"
7740 " (signature vec2\n"
7741 " (parameters\n"
7742 " (declare (in) vec2 edge)\n"
7743 " (declare (in) vec2 x))\n"
7744 " ())\n"
7745 " (signature vec3\n"
7746 " (parameters\n"
7747 " (declare (in) vec3 edge)\n"
7748 " (declare (in) vec3 x))\n"
7749 " ())\n"
7750 " (signature vec4\n"
7751 " (parameters\n"
7752 " (declare (in) vec4 edge)\n"
7753 " (declare (in) vec4 x))\n"
7754 " ())\n"
7755 " (signature vec2\n"
7756 " (parameters\n"
7757 " (declare (in) float edge)\n"
7758 " (declare (in) vec2 x))\n"
7759 " ())\n"
7760 " (signature vec3\n"
7761 " (parameters\n"
7762 " (declare (in) float edge)\n"
7763 " (declare (in) vec3 x))\n"
7764 " ())\n"
7765 " (signature vec4\n"
7766 " (parameters\n"
7767 " (declare (in) float edge)\n"
7768 " (declare (in) vec4 x))\n"
7769 " ()))\n"
7770 "(function smoothstep\n"
7771 " (signature float\n"
7772 " (parameters\n"
7773 " (declare (in) float edge0)\n"
7774 " (declare (in) float edge1)\n"
7775 " (declare (in) float x))\n"
7776 " ())\n"
7777 " (signature vec2\n"
7778 " (parameters\n"
7779 " (declare (in) vec2 edge0)\n"
7780 " (declare (in) vec2 edge1)\n"
7781 " (declare (in) vec2 x))\n"
7782 " ())\n"
7783 " (signature vec3\n"
7784 " (parameters\n"
7785 " (declare (in) vec3 edge0)\n"
7786 " (declare (in) vec3 edge1)\n"
7787 " (declare (in) vec3 x))\n"
7788 " ())\n"
7789 " (signature vec4\n"
7790 " (parameters\n"
7791 " (declare (in) vec4 edge0)\n"
7792 " (declare (in) vec4 edge1)\n"
7793 " (declare (in) vec4 x))\n"
7794 " ())\n"
7795 " (signature vec2\n"
7796 " (parameters\n"
7797 " (declare (in) float edge0)\n"
7798 " (declare (in) float edge1)\n"
7799 " (declare (in) vec2 x))\n"
7800 " ())\n"
7801 " (signature vec3\n"
7802 " (parameters\n"
7803 " (declare (in) float edge0)\n"
7804 " (declare (in) float edge1)\n"
7805 " (declare (in) vec3 x))\n"
7806 " ())\n"
7807 " (signature vec4\n"
7808 " (parameters\n"
7809 " (declare (in) float edge0)\n"
7810 " (declare (in) float edge1)\n"
7811 " (declare (in) vec4 x))\n"
7812 " ()))\n"
7813 "(function length\n"
7814 " (signature float\n"
7815 " (parameters\n"
7816 " (declare (in) float x))\n"
7817 " ())\n"
7818 " (signature float\n"
7819 " (parameters\n"
7820 " (declare (in) vec2 x))\n"
7821 " ())\n"
7822 " (signature float\n"
7823 " (parameters\n"
7824 " (declare (in) vec3 x))\n"
7825 " ())\n"
7826 " (signature float\n"
7827 " (parameters\n"
7828 " (declare (in) vec4 x))\n"
7829 " ()))\n"
7830 "(function distance\n"
7831 " (signature float\n"
7832 " (parameters\n"
7833 " (declare (in) float p0)\n"
7834 " (declare (in) float p1))\n"
7835 " ())\n"
7836 " (signature float\n"
7837 " (parameters\n"
7838 " (declare (in) vec2 p0)\n"
7839 " (declare (in) vec2 p1))\n"
7840 " ())\n"
7841 " (signature float\n"
7842 " (parameters\n"
7843 " (declare (in) vec3 p0)\n"
7844 " (declare (in) vec3 p1))\n"
7845 " ())\n"
7846 " (signature float\n"
7847 " (parameters\n"
7848 " (declare (in) vec4 p0)\n"
7849 " (declare (in) vec4 p1))\n"
7850 " ()))\n"
7851 "(function dot\n"
7852 " (signature float\n"
7853 " (parameters\n"
7854 " (declare (in) float x)\n"
7855 " (declare (in) float y))\n"
7856 " ())\n"
7857 " (signature float\n"
7858 " (parameters\n"
7859 " (declare (in) vec2 x)\n"
7860 " (declare (in) vec2 y))\n"
7861 " ())\n"
7862 " (signature float\n"
7863 " (parameters\n"
7864 " (declare (in) vec3 x)\n"
7865 " (declare (in) vec3 y))\n"
7866 " ())\n"
7867 " (signature float\n"
7868 " (parameters\n"
7869 " (declare (in) vec4 x)\n"
7870 " (declare (in) vec4 y))\n"
7871 " ()))\n"
7872 "(function cross\n"
7873 " (signature vec3\n"
7874 " (parameters\n"
7875 " (declare (in) vec3 x)\n"
7876 " (declare (in) vec3 y))\n"
7877 " ()))\n"
7878 "(function normalize\n"
7879 " (signature float\n"
7880 " (parameters\n"
7881 " (declare (in) float x))\n"
7882 " ())\n"
7883 " (signature vec2\n"
7884 " (parameters\n"
7885 " (declare (in) vec2 x))\n"
7886 " ())\n"
7887 " (signature vec3\n"
7888 " (parameters\n"
7889 " (declare (in) vec3 x))\n"
7890 " ())\n"
7891 " (signature vec4\n"
7892 " (parameters\n"
7893 " (declare (in) vec4 x))\n"
7894 " ()))\n"
7895 "(function faceforward\n"
7896 " (signature float\n"
7897 " (parameters\n"
7898 " (declare (in) float N)\n"
7899 " (declare (in) float I)\n"
7900 " (declare (in) float Nref))\n"
7901 " ())\n"
7902 " (signature vec2\n"
7903 " (parameters\n"
7904 " (declare (in) vec2 N)\n"
7905 " (declare (in) vec2 I)\n"
7906 " (declare (in) vec2 Nref))\n"
7907 " ())\n"
7908 " (signature vec3\n"
7909 " (parameters\n"
7910 " (declare (in) vec3 N)\n"
7911 " (declare (in) vec3 I)\n"
7912 " (declare (in) vec3 Nref))\n"
7913 " ())\n"
7914 " (signature vec4\n"
7915 " (parameters\n"
7916 " (declare (in) vec4 N)\n"
7917 " (declare (in) vec4 I)\n"
7918 " (declare (in) vec4 Nref))\n"
7919 " ()))\n"
7920 "(function reflect\n"
7921 " (signature float\n"
7922 " (parameters\n"
7923 " (declare (in) float I)\n"
7924 " (declare (in) float N))\n"
7925 " ())\n"
7926 " (signature vec2\n"
7927 " (parameters\n"
7928 " (declare (in) vec2 I)\n"
7929 " (declare (in) vec2 N))\n"
7930 " ())\n"
7931 " (signature vec3\n"
7932 " (parameters\n"
7933 " (declare (in) vec3 I)\n"
7934 " (declare (in) vec3 N))\n"
7935 " ())\n"
7936 " (signature vec4\n"
7937 " (parameters\n"
7938 " (declare (in) vec4 I)\n"
7939 " (declare (in) vec4 N))\n"
7940 " ()))\n"
7941 "(function refract\n"
7942 " (signature float\n"
7943 " (parameters\n"
7944 " (declare (in) float I)\n"
7945 " (declare (in) float N)\n"
7946 " (declare (in) float eta))\n"
7947 " ())\n"
7948 " (signature vec2\n"
7949 " (parameters\n"
7950 " (declare (in) vec2 I)\n"
7951 " (declare (in) vec2 N)\n"
7952 " (declare (in) float eta))\n"
7953 " ())\n"
7954 " (signature vec3\n"
7955 " (parameters\n"
7956 " (declare (in) vec3 I)\n"
7957 " (declare (in) vec3 N)\n"
7958 " (declare (in) float eta))\n"
7959 " ())\n"
7960 " (signature vec4\n"
7961 " (parameters\n"
7962 " (declare (in) vec4 I)\n"
7963 " (declare (in) vec4 N)\n"
7964 " (declare (in) float eta))\n"
7965 " ()))\n"
7966 "(function matrixCompMult\n"
7967 " (signature mat2\n"
7968 " (parameters\n"
7969 " (declare (in) mat2 x)\n"
7970 " (declare (in) mat2 y))\n"
7971 " ())\n"
7972 " (signature mat3\n"
7973 " (parameters\n"
7974 " (declare (in) mat3 x)\n"
7975 " (declare (in) mat3 y))\n"
7976 " ())\n"
7977 " (signature mat4\n"
7978 " (parameters\n"
7979 " (declare (in) mat4 x)\n"
7980 " (declare (in) mat4 y))\n"
7981 " ()))\n"
7982 "(function lessThan\n"
7983 " (signature bvec2\n"
7984 " (parameters\n"
7985 " (declare (in) vec2 x)\n"
7986 " (declare (in) vec2 y))\n"
7987 " ())\n"
7988 " (signature bvec3\n"
7989 " (parameters\n"
7990 " (declare (in) vec3 x)\n"
7991 " (declare (in) vec3 y))\n"
7992 " ())\n"
7993 " (signature bvec4\n"
7994 " (parameters\n"
7995 " (declare (in) vec4 x)\n"
7996 " (declare (in) vec4 y))\n"
7997 " ())\n"
7998 " (signature bvec2\n"
7999 " (parameters\n"
8000 " (declare (in) ivec2 x)\n"
8001 " (declare (in) ivec2 y))\n"
8002 " ())\n"
8003 " (signature bvec3\n"
8004 " (parameters\n"
8005 " (declare (in) ivec3 x)\n"
8006 " (declare (in) ivec3 y))\n"
8007 " ())\n"
8008 " (signature bvec4\n"
8009 " (parameters\n"
8010 " (declare (in) ivec4 x)\n"
8011 " (declare (in) ivec4 y))\n"
8012 " ()))\n"
8013 "(function lessThanEqual\n"
8014 " (signature bvec2\n"
8015 " (parameters\n"
8016 " (declare (in) vec2 x)\n"
8017 " (declare (in) vec2 y))\n"
8018 " ())\n"
8019 " (signature bvec3\n"
8020 " (parameters\n"
8021 " (declare (in) vec3 x)\n"
8022 " (declare (in) vec3 y))\n"
8023 " ())\n"
8024 " (signature bvec4\n"
8025 " (parameters\n"
8026 " (declare (in) vec4 x)\n"
8027 " (declare (in) vec4 y))\n"
8028 " ())\n"
8029 " (signature bvec2\n"
8030 " (parameters\n"
8031 " (declare (in) ivec2 x)\n"
8032 " (declare (in) ivec2 y))\n"
8033 " ())\n"
8034 " (signature bvec3\n"
8035 " (parameters\n"
8036 " (declare (in) ivec3 x)\n"
8037 " (declare (in) ivec3 y))\n"
8038 " ())\n"
8039 " (signature bvec4\n"
8040 " (parameters\n"
8041 " (declare (in) ivec4 x)\n"
8042 " (declare (in) ivec4 y))\n"
8043 " ()))\n"
8044 "(function greaterThan\n"
8045 " (signature bvec2\n"
8046 " (parameters\n"
8047 " (declare (in) vec2 x)\n"
8048 " (declare (in) vec2 y))\n"
8049 " ())\n"
8050 " (signature bvec3\n"
8051 " (parameters\n"
8052 " (declare (in) vec3 x)\n"
8053 " (declare (in) vec3 y))\n"
8054 " ())\n"
8055 " (signature bvec4\n"
8056 " (parameters\n"
8057 " (declare (in) vec4 x)\n"
8058 " (declare (in) vec4 y))\n"
8059 " ())\n"
8060 " (signature bvec2\n"
8061 " (parameters\n"
8062 " (declare (in) ivec2 x)\n"
8063 " (declare (in) ivec2 y))\n"
8064 " ())\n"
8065 " (signature bvec3\n"
8066 " (parameters\n"
8067 " (declare (in) ivec3 x)\n"
8068 " (declare (in) ivec3 y))\n"
8069 " ())\n"
8070 " (signature bvec4\n"
8071 " (parameters\n"
8072 " (declare (in) ivec4 x)\n"
8073 " (declare (in) ivec4 y))\n"
8074 " ()))\n"
8075 "(function greaterThanEqual\n"
8076 " (signature bvec2\n"
8077 " (parameters\n"
8078 " (declare (in) vec2 x)\n"
8079 " (declare (in) vec2 y))\n"
8080 " ())\n"
8081 " (signature bvec3\n"
8082 " (parameters\n"
8083 " (declare (in) vec3 x)\n"
8084 " (declare (in) vec3 y))\n"
8085 " ())\n"
8086 " (signature bvec4\n"
8087 " (parameters\n"
8088 " (declare (in) vec4 x)\n"
8089 " (declare (in) vec4 y))\n"
8090 " ())\n"
8091 " (signature bvec2\n"
8092 " (parameters\n"
8093 " (declare (in) ivec2 x)\n"
8094 " (declare (in) ivec2 y))\n"
8095 " ())\n"
8096 " (signature bvec3\n"
8097 " (parameters\n"
8098 " (declare (in) ivec3 x)\n"
8099 " (declare (in) ivec3 y))\n"
8100 " ())\n"
8101 " (signature bvec4\n"
8102 " (parameters\n"
8103 " (declare (in) ivec4 x)\n"
8104 " (declare (in) ivec4 y))\n"
8105 " ()))\n"
8106 "(function equal\n"
8107 " (signature bvec2\n"
8108 " (parameters\n"
8109 " (declare (in) vec2 x)\n"
8110 " (declare (in) vec2 y))\n"
8111 " ())\n"
8112 " (signature bvec3\n"
8113 " (parameters\n"
8114 " (declare (in) vec3 x)\n"
8115 " (declare (in) vec3 y))\n"
8116 " ())\n"
8117 " (signature bvec4\n"
8118 " (parameters\n"
8119 " (declare (in) vec4 x)\n"
8120 " (declare (in) vec4 y))\n"
8121 " ())\n"
8122 " (signature bvec2\n"
8123 " (parameters\n"
8124 " (declare (in) ivec2 x)\n"
8125 " (declare (in) ivec2 y))\n"
8126 " ())\n"
8127 " (signature bvec3\n"
8128 " (parameters\n"
8129 " (declare (in) ivec3 x)\n"
8130 " (declare (in) ivec3 y))\n"
8131 " ())\n"
8132 " (signature bvec4\n"
8133 " (parameters\n"
8134 " (declare (in) ivec4 x)\n"
8135 " (declare (in) ivec4 y))\n"
8136 " ())\n"
8137 " (signature bvec2\n"
8138 " (parameters\n"
8139 " (declare (in) bvec2 x)\n"
8140 " (declare (in) bvec2 y))\n"
8141 " ())\n"
8142 " (signature bvec3\n"
8143 " (parameters\n"
8144 " (declare (in) bvec3 x)\n"
8145 " (declare (in) bvec3 y))\n"
8146 " ())\n"
8147 " (signature bvec4\n"
8148 " (parameters\n"
8149 " (declare (in) bvec4 x)\n"
8150 " (declare (in) bvec4 y))\n"
8151 " ()))\n"
8152 "(function notEqual\n"
8153 " (signature bvec2\n"
8154 " (parameters\n"
8155 " (declare (in) vec2 x)\n"
8156 " (declare (in) vec2 y))\n"
8157 " ())\n"
8158 " (signature bvec3\n"
8159 " (parameters\n"
8160 " (declare (in) vec3 x)\n"
8161 " (declare (in) vec3 y))\n"
8162 " ())\n"
8163 " (signature bvec4\n"
8164 " (parameters\n"
8165 " (declare (in) vec4 x)\n"
8166 " (declare (in) vec4 y))\n"
8167 " ())\n"
8168 " (signature bvec2\n"
8169 " (parameters\n"
8170 " (declare (in) ivec2 x)\n"
8171 " (declare (in) ivec2 y))\n"
8172 " ())\n"
8173 " (signature bvec3\n"
8174 " (parameters\n"
8175 " (declare (in) ivec3 x)\n"
8176 " (declare (in) ivec3 y))\n"
8177 " ())\n"
8178 " (signature bvec4\n"
8179 " (parameters\n"
8180 " (declare (in) ivec4 x)\n"
8181 " (declare (in) ivec4 y))\n"
8182 " ())\n"
8183 " (signature bvec2\n"
8184 " (parameters\n"
8185 " (declare (in) bvec2 x)\n"
8186 " (declare (in) bvec2 y))\n"
8187 " ())\n"
8188 " (signature bvec3\n"
8189 " (parameters\n"
8190 " (declare (in) bvec3 x)\n"
8191 " (declare (in) bvec3 y))\n"
8192 " ())\n"
8193 " (signature bvec4\n"
8194 " (parameters\n"
8195 " (declare (in) bvec4 x)\n"
8196 " (declare (in) bvec4 y))\n"
8197 " ()))\n"
8198 "(function any\n"
8199 " (signature bool\n"
8200 " (parameters\n"
8201 " (declare (in) bvec2 x))\n"
8202 " ())\n"
8203 " (signature bool\n"
8204 " (parameters\n"
8205 " (declare (in) bvec3 x))\n"
8206 " ())\n"
8207 " (signature bool\n"
8208 " (parameters\n"
8209 " (declare (in) bvec4 x))\n"
8210 " ()))\n"
8211 "(function all\n"
8212 " (signature bool\n"
8213 " (parameters\n"
8214 " (declare (in) bvec2 x))\n"
8215 " ())\n"
8216 " (signature bool\n"
8217 " (parameters\n"
8218 " (declare (in) bvec3 x))\n"
8219 " ())\n"
8220 " (signature bool\n"
8221 " (parameters\n"
8222 " (declare (in) bvec4 x))\n"
8223 " ()))\n"
8224 "(function not\n"
8225 " (signature bvec2\n"
8226 " (parameters\n"
8227 " (declare (in) bvec2 x))\n"
8228 " ())\n"
8229 " (signature bvec3\n"
8230 " (parameters\n"
8231 " (declare (in) bvec3 x))\n"
8232 " ())\n"
8233 " (signature bvec4\n"
8234 " (parameters\n"
8235 " (declare (in) bvec4 x))\n"
8236 " ()))\n"
8237 "(function texture1D\n"
8238 " (signature vec4\n"
8239 " (parameters\n"
8240 " (declare (in) sampler1D sampler)\n"
8241 " (declare (in) float coord))\n"
8242 " ())\n"
8243 " (signature vec4\n"
8244 " (parameters\n"
8245 " (declare (in) sampler1D sampler)\n"
8246 " (declare (in) float coord)\n"
8247 " (declare (in) float bias))\n"
8248 " ()))\n"
8249 "(function texture1DProj\n"
8250 " (signature vec4\n"
8251 " (parameters\n"
8252 " (declare (in) sampler1D sampler)\n"
8253 " (declare (in) vec2 coord))\n"
8254 " ())\n"
8255 " (signature vec4\n"
8256 " (parameters\n"
8257 " (declare (in) sampler1D sampler)\n"
8258 " (declare (in) vec4 coord))\n"
8259 " ())\n"
8260 " (signature vec4\n"
8261 " (parameters\n"
8262 " (declare (in) sampler1D sampler)\n"
8263 " (declare (in) vec2 coord)\n"
8264 " (declare (in) float bias))\n"
8265 " ())\n"
8266 " (signature vec4\n"
8267 " (parameters\n"
8268 " (declare (in) sampler1D sampler)\n"
8269 " (declare (in) vec4 coord)\n"
8270 " (declare (in) float bias))\n"
8271 " ()))\n"
8272 "(function texture2D\n"
8273 " (signature vec4\n"
8274 " (parameters\n"
8275 " (declare (in) sampler2D sampler)\n"
8276 " (declare (in) vec2 coord))\n"
8277 " ())\n"
8278 " (signature vec4\n"
8279 " (parameters\n"
8280 " (declare (in) sampler2D sampler)\n"
8281 " (declare (in) vec2 coord)\n"
8282 " (declare (in) float bias))\n"
8283 " ()))\n"
8284 "(function texture2DProj\n"
8285 " (signature vec4\n"
8286 " (parameters\n"
8287 " (declare (in) sampler2D sampler)\n"
8288 " (declare (in) vec3 coord))\n"
8289 " ())\n"
8290 " (signature vec4\n"
8291 " (parameters\n"
8292 " (declare (in) sampler2D sampler)\n"
8293 " (declare (in) vec4 coord))\n"
8294 " ())\n"
8295 " (signature vec4\n"
8296 " (parameters\n"
8297 " (declare (in) sampler2D sampler)\n"
8298 " (declare (in) vec3 coord)\n"
8299 " (declare (in) float bias))\n"
8300 " ())\n"
8301 " (signature vec4\n"
8302 " (parameters\n"
8303 " (declare (in) sampler2D sampler)\n"
8304 " (declare (in) vec4 coord)\n"
8305 " (declare (in) float bias))\n"
8306 " ()))\n"
8307 "(function texture3D\n"
8308 " (signature vec4\n"
8309 " (parameters\n"
8310 " (declare (in) sampler3D sampler)\n"
8311 " (declare (in) vec3 coord))\n"
8312 " ())\n"
8313 " (signature vec4\n"
8314 " (parameters\n"
8315 " (declare (in) sampler3D sampler)\n"
8316 " (declare (in) vec3 coord)\n"
8317 " (declare (in) float bias))\n"
8318 " ()))\n"
8319 "(function texture3DProj\n"
8320 " (signature vec4\n"
8321 " (parameters\n"
8322 " (declare (in) sampler3D sampler)\n"
8323 " (declare (in) vec4 coord))\n"
8324 " ())\n"
8325 " (signature vec4\n"
8326 " (parameters\n"
8327 " (declare (in) sampler3D sampler)\n"
8328 " (declare (in) vec4 coord)\n"
8329 " (declare (in) float bias))\n"
8330 " ()))\n"
8331 "(function textureCube\n"
8332 " (signature vec4\n"
8333 " (parameters\n"
8334 " (declare (in) samplerCube sampler)\n"
8335 " (declare (in) vec3 coord))\n"
8336 " ())\n"
8337 " (signature vec4\n"
8338 " (parameters\n"
8339 " (declare (in) samplerCube sampler)\n"
8340 " (declare (in) vec3 coord)\n"
8341 " (declare (in) float bias))\n"
8342 " ()))\n"
8343 "(function shadow1D\n"
8344 " (signature vec4\n"
8345 " (parameters\n"
8346 " (declare (in) sampler1DShadow sampler)\n"
8347 " (declare (in) vec3 coord))\n"
8348 " ())\n"
8349 " (signature vec4\n"
8350 " (parameters\n"
8351 " (declare (in) sampler1DShadow sampler)\n"
8352 " (declare (in) vec3 coord)\n"
8353 " (declare (in) float bias))\n"
8354 " ()))\n"
8355 "(function shadow2D\n"
8356 " (signature vec4\n"
8357 " (parameters\n"
8358 " (declare (in) sampler2DShadow sampler)\n"
8359 " (declare (in) vec3 coord))\n"
8360 " ())\n"
8361 " (signature vec4\n"
8362 " (parameters\n"
8363 " (declare (in) sampler2DShadow sampler)\n"
8364 " (declare (in) vec3 coord)\n"
8365 " (declare (in) float bias))\n"
8366 " ()))\n"
8367 "(function shadow1DProj\n"
8368 " (signature vec4\n"
8369 " (parameters\n"
8370 " (declare (in) sampler1DShadow sampler)\n"
8371 " (declare (in) vec4 coord))\n"
8372 " ())\n"
8373 " (signature vec4\n"
8374 " (parameters\n"
8375 " (declare (in) sampler1DShadow sampler)\n"
8376 " (declare (in) vec4 coord)\n"
8377 " (declare (in) float bias))\n"
8378 " ()))\n"
8379 "(function shadow2DProj\n"
8380 " (signature vec4\n"
8381 " (parameters\n"
8382 " (declare (in) sampler2DShadow sampler)\n"
8383 " (declare (in) vec4 coord))\n"
8384 " ())\n"
8385 " (signature vec4\n"
8386 " (parameters\n"
8387 " (declare (in) sampler2DShadow sampler)\n"
8388 " (declare (in) vec4 coord)\n"
8389 " (declare (in) float bias))\n"
8390 " ()))\n"
8391 "(function dFdx\n"
8392 " (signature float\n"
8393 " (parameters\n"
8394 " (declare (in) float p))\n"
8395 " ())\n"
8396 " (signature vec2\n"
8397 " (parameters\n"
8398 " (declare (in) vec2 p))\n"
8399 " ())\n"
8400 " (signature vec3\n"
8401 " (parameters\n"
8402 " (declare (in) vec3 p))\n"
8403 " ())\n"
8404 " (signature vec4\n"
8405 " (parameters\n"
8406 " (declare (in) vec4 p))\n"
8407 " ()))\n"
8408 "(function dFdy\n"
8409 " (signature float\n"
8410 " (parameters\n"
8411 " (declare (in) float p))\n"
8412 " ())\n"
8413 " (signature vec2\n"
8414 " (parameters\n"
8415 " (declare (in) vec2 p))\n"
8416 " ())\n"
8417 " (signature vec3\n"
8418 " (parameters\n"
8419 " (declare (in) vec3 p))\n"
8420 " ())\n"
8421 " (signature vec4\n"
8422 " (parameters\n"
8423 " (declare (in) vec4 p))\n"
8424 " ()))\n"
8425 "(function fwidth\n"
8426 " (signature float\n"
8427 " (parameters\n"
8428 " (declare (in) float p))\n"
8429 " ())\n"
8430 " (signature vec2\n"
8431 " (parameters\n"
8432 " (declare (in) vec2 p))\n"
8433 " ())\n"
8434 " (signature vec3\n"
8435 " (parameters\n"
8436 " (declare (in) vec3 p))\n"
8437 " ())\n"
8438 " (signature vec4\n"
8439 " (parameters\n"
8440 " (declare (in) vec4 p))\n"
8441 " ()))\n"
8442 "(function noise1\n"
8443 " (signature float\n"
8444 " (parameters\n"
8445 " (declare (in) float x))\n"
8446 " ())\n"
8447 " (signature float\n"
8448 " (parameters\n"
8449 " (declare (in) vec2 x))\n"
8450 " ())\n"
8451 " (signature float\n"
8452 " (parameters\n"
8453 " (declare (in) vec3 x))\n"
8454 " ())\n"
8455 " (signature float\n"
8456 " (parameters\n"
8457 " (declare (in) vec4 x))\n"
8458 " ()))\n"
8459 "(function noise2\n"
8460 " (signature vec2\n"
8461 " (parameters\n"
8462 " (declare (in) float x))\n"
8463 " ())\n"
8464 " (signature vec2\n"
8465 " (parameters\n"
8466 " (declare (in) vec2 x))\n"
8467 " ())\n"
8468 " (signature vec2\n"
8469 " (parameters\n"
8470 " (declare (in) vec3 x))\n"
8471 " ())\n"
8472 " (signature vec2\n"
8473 " (parameters\n"
8474 " (declare (in) vec4 x))\n"
8475 " ()))\n"
8476 "(function noise3\n"
8477 " (signature vec3\n"
8478 " (parameters\n"
8479 " (declare (in) float x))\n"
8480 " ())\n"
8481 " (signature vec3\n"
8482 " (parameters\n"
8483 " (declare (in) vec2 x))\n"
8484 " ())\n"
8485 " (signature vec3\n"
8486 " (parameters\n"
8487 " (declare (in) vec3 x))\n"
8488 " ())\n"
8489 " (signature vec3\n"
8490 " (parameters\n"
8491 " (declare (in) vec4 x))\n"
8492 " ()))\n"
8493 "(function noise4\n"
8494 " (signature vec4\n"
8495 " (parameters\n"
8496 " (declare (in) float x))\n"
8497 " ())\n"
8498 " (signature vec4\n"
8499 " (parameters\n"
8500 " (declare (in) vec2 x))\n"
8501 " ())\n"
8502 " (signature vec4\n"
8503 " (parameters\n"
8504 " (declare (in) vec3 x))\n"
8505 " ())\n"
8506 " (signature vec4\n"
8507 " (parameters\n"
8508 " (declare (in) vec4 x))\n"
8509 " ())))"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008510;
Eric Anholt47003a82010-08-23 12:39:35 -07008511static const char *functions_for_110_frag [] = {
8512 builtin_abs,
8513 builtin_acos,
8514 builtin_all,
8515 builtin_any,
8516 builtin_asin,
8517 builtin_atan,
8518 builtin_ceil,
8519 builtin_clamp,
8520 builtin_cos,
8521 builtin_cross,
8522 builtin_dFdx,
8523 builtin_dFdy,
8524 builtin_degrees,
8525 builtin_distance,
8526 builtin_dot,
8527 builtin_equal,
8528 builtin_exp,
8529 builtin_exp2,
8530 builtin_faceforward,
8531 builtin_floor,
8532 builtin_fract,
8533 builtin_fwidth,
8534 builtin_greaterThan,
8535 builtin_greaterThanEqual,
8536 builtin_inversesqrt,
8537 builtin_length,
8538 builtin_lessThan,
8539 builtin_lessThanEqual,
8540 builtin_log,
8541 builtin_log2,
8542 builtin_matrixCompMult,
8543 builtin_max,
8544 builtin_min,
8545 builtin_mix,
8546 builtin_mod,
8547 builtin_noise1,
8548 builtin_noise2,
8549 builtin_noise3,
8550 builtin_noise4,
8551 builtin_normalize,
8552 builtin_not,
8553 builtin_notEqual,
8554 builtin_pow,
8555 builtin_radians,
8556 builtin_reflect,
8557 builtin_refract,
8558 builtin_shadow1D,
8559 builtin_shadow1DProj,
8560 builtin_shadow2D,
8561 builtin_shadow2DProj,
8562 builtin_sign,
8563 builtin_sin,
8564 builtin_smoothstep,
8565 builtin_sqrt,
8566 builtin_step,
8567 builtin_tan,
8568 builtin_texture1D,
8569 builtin_texture1DProj,
8570 builtin_texture2D,
8571 builtin_texture2DProj,
8572 builtin_texture3D,
8573 builtin_texture3DProj,
8574 builtin_textureCube,
8575};
8576static const char *prototypes_for_110_vert =
8577 "(\n"
8578 "(function radians\n"
8579 " (signature float\n"
8580 " (parameters\n"
8581 " (declare (in) float degrees))\n"
8582 " ())\n"
8583 " (signature vec2\n"
8584 " (parameters\n"
8585 " (declare (in) vec2 degrees))\n"
8586 " ())\n"
8587 " (signature vec3\n"
8588 " (parameters\n"
8589 " (declare (in) vec3 degrees))\n"
8590 " ())\n"
8591 " (signature vec4\n"
8592 " (parameters\n"
8593 " (declare (in) vec4 degrees))\n"
8594 " ()))\n"
8595 "(function degrees\n"
8596 " (signature float\n"
8597 " (parameters\n"
8598 " (declare (in) float radians))\n"
8599 " ())\n"
8600 " (signature vec2\n"
8601 " (parameters\n"
8602 " (declare (in) vec2 radians))\n"
8603 " ())\n"
8604 " (signature vec3\n"
8605 " (parameters\n"
8606 " (declare (in) vec3 radians))\n"
8607 " ())\n"
8608 " (signature vec4\n"
8609 " (parameters\n"
8610 " (declare (in) vec4 radians))\n"
8611 " ()))\n"
8612 "(function sin\n"
8613 " (signature float\n"
8614 " (parameters\n"
8615 " (declare (in) float angle))\n"
8616 " ())\n"
8617 " (signature vec2\n"
8618 " (parameters\n"
8619 " (declare (in) vec2 angle))\n"
8620 " ())\n"
8621 " (signature vec3\n"
8622 " (parameters\n"
8623 " (declare (in) vec3 angle))\n"
8624 " ())\n"
8625 " (signature vec4\n"
8626 " (parameters\n"
8627 " (declare (in) vec4 angle))\n"
8628 " ()))\n"
8629 "(function cos\n"
8630 " (signature float\n"
8631 " (parameters\n"
8632 " (declare (in) float angle))\n"
8633 " ())\n"
8634 " (signature vec2\n"
8635 " (parameters\n"
8636 " (declare (in) vec2 angle))\n"
8637 " ())\n"
8638 " (signature vec3\n"
8639 " (parameters\n"
8640 " (declare (in) vec3 angle))\n"
8641 " ())\n"
8642 " (signature vec4\n"
8643 " (parameters\n"
8644 " (declare (in) vec4 angle))\n"
8645 " ()))\n"
8646 "(function tan\n"
8647 " (signature float\n"
8648 " (parameters\n"
8649 " (declare (in) float angle))\n"
8650 " ())\n"
8651 " (signature vec2\n"
8652 " (parameters\n"
8653 " (declare (in) vec2 angle))\n"
8654 " ())\n"
8655 " (signature vec3\n"
8656 " (parameters\n"
8657 " (declare (in) vec3 angle))\n"
8658 " ())\n"
8659 " (signature vec4\n"
8660 " (parameters\n"
8661 " (declare (in) vec4 angle))\n"
8662 " ()))\n"
8663 "(function asin\n"
8664 " (signature float\n"
8665 " (parameters\n"
8666 " (declare (in) float angle))\n"
8667 " ())\n"
8668 " (signature vec2\n"
8669 " (parameters\n"
8670 " (declare (in) vec2 angle))\n"
8671 " ())\n"
8672 " (signature vec3\n"
8673 " (parameters\n"
8674 " (declare (in) vec3 angle))\n"
8675 " ())\n"
8676 " (signature vec4\n"
8677 " (parameters\n"
8678 " (declare (in) vec4 angle))\n"
8679 " ()))\n"
8680 "(function acos\n"
8681 " (signature float\n"
8682 " (parameters\n"
8683 " (declare (in) float angle))\n"
8684 " ())\n"
8685 " (signature vec2\n"
8686 " (parameters\n"
8687 " (declare (in) vec2 angle))\n"
8688 " ())\n"
8689 " (signature vec3\n"
8690 " (parameters\n"
8691 " (declare (in) vec3 angle))\n"
8692 " ())\n"
8693 " (signature vec4\n"
8694 " (parameters\n"
8695 " (declare (in) vec4 angle))\n"
8696 " ()))\n"
8697 "(function atan\n"
8698 " (signature float\n"
8699 " (parameters\n"
8700 " (declare (in) float y)\n"
8701 " (declare (in) float x))\n"
8702 " ())\n"
8703 " (signature vec2\n"
8704 " (parameters\n"
8705 " (declare (in) vec2 y)\n"
8706 " (declare (in) vec2 x))\n"
8707 " ())\n"
8708 " (signature vec3\n"
8709 " (parameters\n"
8710 " (declare (in) vec3 y)\n"
8711 " (declare (in) vec3 x))\n"
8712 " ())\n"
8713 " (signature vec4\n"
8714 " (parameters\n"
8715 " (declare (in) vec4 y)\n"
8716 " (declare (in) vec4 x))\n"
8717 " ())\n"
8718 " (signature float\n"
8719 " (parameters\n"
8720 " (declare (in) float y_over_x))\n"
8721 " ())\n"
8722 " (signature vec2\n"
8723 " (parameters\n"
8724 " (declare (in) vec2 y_over_x))\n"
8725 " ())\n"
8726 " (signature vec3\n"
8727 " (parameters\n"
8728 " (declare (in) vec3 y_over_x))\n"
8729 " ())\n"
8730 " (signature vec4\n"
8731 " (parameters\n"
8732 " (declare (in) vec4 y_over_x))\n"
8733 " ()))\n"
8734 "(function pow\n"
8735 " (signature float\n"
8736 " (parameters\n"
8737 " (declare (in) float x)\n"
8738 " (declare (in) float y))\n"
8739 " ())\n"
8740 " (signature vec2\n"
8741 " (parameters\n"
8742 " (declare (in) vec2 x)\n"
8743 " (declare (in) vec2 y))\n"
8744 " ())\n"
8745 " (signature vec3\n"
8746 " (parameters\n"
8747 " (declare (in) vec3 x)\n"
8748 " (declare (in) vec3 y))\n"
8749 " ())\n"
8750 " (signature vec4\n"
8751 " (parameters\n"
8752 " (declare (in) vec4 x)\n"
8753 " (declare (in) vec4 y))\n"
8754 " ()))\n"
8755 "(function exp\n"
8756 " (signature float\n"
8757 " (parameters\n"
8758 " (declare (in) float x))\n"
8759 " ())\n"
8760 " (signature vec2\n"
8761 " (parameters\n"
8762 " (declare (in) vec2 x))\n"
8763 " ())\n"
8764 " (signature vec3\n"
8765 " (parameters\n"
8766 " (declare (in) vec3 x))\n"
8767 " ())\n"
8768 " (signature vec4\n"
8769 " (parameters\n"
8770 " (declare (in) vec4 x))\n"
8771 " ()))\n"
8772 "(function log\n"
8773 " (signature float\n"
8774 " (parameters\n"
8775 " (declare (in) float x))\n"
8776 " ())\n"
8777 " (signature vec2\n"
8778 " (parameters\n"
8779 " (declare (in) vec2 x))\n"
8780 " ())\n"
8781 " (signature vec3\n"
8782 " (parameters\n"
8783 " (declare (in) vec3 x))\n"
8784 " ())\n"
8785 " (signature vec4\n"
8786 " (parameters\n"
8787 " (declare (in) vec4 x))\n"
8788 " ()))\n"
8789 "(function exp2\n"
8790 " (signature float\n"
8791 " (parameters\n"
8792 " (declare (in) float x))\n"
8793 " ())\n"
8794 " (signature vec2\n"
8795 " (parameters\n"
8796 " (declare (in) vec2 x))\n"
8797 " ())\n"
8798 " (signature vec3\n"
8799 " (parameters\n"
8800 " (declare (in) vec3 x))\n"
8801 " ())\n"
8802 " (signature vec4\n"
8803 " (parameters\n"
8804 " (declare (in) vec4 x))\n"
8805 " ()))\n"
8806 "(function log2\n"
8807 " (signature float\n"
8808 " (parameters\n"
8809 " (declare (in) float x))\n"
8810 " ())\n"
8811 " (signature vec2\n"
8812 " (parameters\n"
8813 " (declare (in) vec2 x))\n"
8814 " ())\n"
8815 " (signature vec3\n"
8816 " (parameters\n"
8817 " (declare (in) vec3 x))\n"
8818 " ())\n"
8819 " (signature vec4\n"
8820 " (parameters\n"
8821 " (declare (in) vec4 x))\n"
8822 " ()))\n"
8823 "(function sqrt\n"
8824 " (signature float\n"
8825 " (parameters\n"
8826 " (declare (in) float x))\n"
8827 " ())\n"
8828 " (signature vec2\n"
8829 " (parameters\n"
8830 " (declare (in) vec2 x))\n"
8831 " ())\n"
8832 " (signature vec3\n"
8833 " (parameters\n"
8834 " (declare (in) vec3 x))\n"
8835 " ())\n"
8836 " (signature vec4\n"
8837 " (parameters\n"
8838 " (declare (in) vec4 x))\n"
8839 " ()))\n"
8840 "(function inversesqrt\n"
8841 " (signature float\n"
8842 " (parameters\n"
8843 " (declare (in) float x))\n"
8844 " ())\n"
8845 " (signature vec2\n"
8846 " (parameters\n"
8847 " (declare (in) vec2 x))\n"
8848 " ())\n"
8849 " (signature vec3\n"
8850 " (parameters\n"
8851 " (declare (in) vec3 x))\n"
8852 " ())\n"
8853 " (signature vec4\n"
8854 " (parameters\n"
8855 " (declare (in) vec4 x))\n"
8856 " ()))\n"
8857 "(function abs\n"
8858 " (signature float\n"
8859 " (parameters\n"
8860 " (declare (in) float x))\n"
8861 " ())\n"
8862 " (signature vec2\n"
8863 " (parameters\n"
8864 " (declare (in) vec2 x))\n"
8865 " ())\n"
8866 " (signature vec3\n"
8867 " (parameters\n"
8868 " (declare (in) vec3 x))\n"
8869 " ())\n"
8870 " (signature vec4\n"
8871 " (parameters\n"
8872 " (declare (in) vec4 x))\n"
8873 " ()))\n"
8874 "(function sign\n"
8875 " (signature float\n"
8876 " (parameters\n"
8877 " (declare (in) float x))\n"
8878 " ())\n"
8879 " (signature vec2\n"
8880 " (parameters\n"
8881 " (declare (in) vec2 x))\n"
8882 " ())\n"
8883 " (signature vec3\n"
8884 " (parameters\n"
8885 " (declare (in) vec3 x))\n"
8886 " ())\n"
8887 " (signature vec4\n"
8888 " (parameters\n"
8889 " (declare (in) vec4 x))\n"
8890 " ()))\n"
8891 "(function floor\n"
8892 " (signature float\n"
8893 " (parameters\n"
8894 " (declare (in) float x))\n"
8895 " ())\n"
8896 " (signature vec2\n"
8897 " (parameters\n"
8898 " (declare (in) vec2 x))\n"
8899 " ())\n"
8900 " (signature vec3\n"
8901 " (parameters\n"
8902 " (declare (in) vec3 x))\n"
8903 " ())\n"
8904 " (signature vec4\n"
8905 " (parameters\n"
8906 " (declare (in) vec4 x))\n"
8907 " ()))\n"
8908 "(function ceil\n"
8909 " (signature float\n"
8910 " (parameters\n"
8911 " (declare (in) float x))\n"
8912 " ())\n"
8913 " (signature vec2\n"
8914 " (parameters\n"
8915 " (declare (in) vec2 x))\n"
8916 " ())\n"
8917 " (signature vec3\n"
8918 " (parameters\n"
8919 " (declare (in) vec3 x))\n"
8920 " ())\n"
8921 " (signature vec4\n"
8922 " (parameters\n"
8923 " (declare (in) vec4 x))\n"
8924 " ()))\n"
8925 "(function fract\n"
8926 " (signature float\n"
8927 " (parameters\n"
8928 " (declare (in) float x))\n"
8929 " ())\n"
8930 " (signature vec2\n"
8931 " (parameters\n"
8932 " (declare (in) vec2 x))\n"
8933 " ())\n"
8934 " (signature vec3\n"
8935 " (parameters\n"
8936 " (declare (in) vec3 x))\n"
8937 " ())\n"
8938 " (signature vec4\n"
8939 " (parameters\n"
8940 " (declare (in) vec4 x))\n"
8941 " ()))\n"
8942 "(function mod\n"
8943 " (signature float\n"
8944 " (parameters\n"
8945 " (declare (in) float x)\n"
8946 " (declare (in) float y))\n"
8947 " ())\n"
8948 " (signature vec2\n"
8949 " (parameters\n"
8950 " (declare (in) vec2 x)\n"
8951 " (declare (in) float y))\n"
8952 " ())\n"
8953 " (signature vec3\n"
8954 " (parameters\n"
8955 " (declare (in) vec3 x)\n"
8956 " (declare (in) float y))\n"
8957 " ())\n"
8958 " (signature vec4\n"
8959 " (parameters\n"
8960 " (declare (in) vec4 x)\n"
8961 " (declare (in) float y))\n"
8962 " ())\n"
8963 " (signature vec2\n"
8964 " (parameters\n"
8965 " (declare (in) vec2 x)\n"
8966 " (declare (in) vec2 y))\n"
8967 " ())\n"
8968 " (signature vec3\n"
8969 " (parameters\n"
8970 " (declare (in) vec3 x)\n"
8971 " (declare (in) vec3 y))\n"
8972 " ())\n"
8973 " (signature vec4\n"
8974 " (parameters\n"
8975 " (declare (in) vec4 x)\n"
8976 " (declare (in) vec4 y))\n"
8977 " ()))\n"
8978 "(function min\n"
8979 " (signature float\n"
8980 " (parameters\n"
8981 " (declare (in) float x)\n"
8982 " (declare (in) float y))\n"
8983 " ())\n"
8984 " (signature vec2\n"
8985 " (parameters\n"
8986 " (declare (in) vec2 x)\n"
8987 " (declare (in) vec2 y))\n"
8988 " ())\n"
8989 " (signature vec3\n"
8990 " (parameters\n"
8991 " (declare (in) vec3 x)\n"
8992 " (declare (in) vec3 y))\n"
8993 " ())\n"
8994 " (signature vec4\n"
8995 " (parameters\n"
8996 " (declare (in) vec4 x)\n"
8997 " (declare (in) vec4 y))\n"
8998 " ())\n"
8999 " (signature vec2\n"
9000 " (parameters\n"
9001 " (declare (in) vec2 x)\n"
9002 " (declare (in) float y))\n"
9003 " ())\n"
9004 " (signature vec3\n"
9005 " (parameters\n"
9006 " (declare (in) vec3 x)\n"
9007 " (declare (in) float y))\n"
9008 " ())\n"
9009 " (signature vec4\n"
9010 " (parameters\n"
9011 " (declare (in) vec4 x)\n"
9012 " (declare (in) float y))\n"
9013 " ()))\n"
9014 "(function max\n"
9015 " (signature float\n"
9016 " (parameters\n"
9017 " (declare (in) float x)\n"
9018 " (declare (in) float y))\n"
9019 " ())\n"
9020 " (signature vec2\n"
9021 " (parameters\n"
9022 " (declare (in) vec2 x)\n"
9023 " (declare (in) vec2 y))\n"
9024 " ())\n"
9025 " (signature vec3\n"
9026 " (parameters\n"
9027 " (declare (in) vec3 x)\n"
9028 " (declare (in) vec3 y))\n"
9029 " ())\n"
9030 " (signature vec4\n"
9031 " (parameters\n"
9032 " (declare (in) vec4 x)\n"
9033 " (declare (in) vec4 y))\n"
9034 " ())\n"
9035 " (signature vec2\n"
9036 " (parameters\n"
9037 " (declare (in) vec2 x)\n"
9038 " (declare (in) float y))\n"
9039 " ())\n"
9040 " (signature vec3\n"
9041 " (parameters\n"
9042 " (declare (in) vec3 x)\n"
9043 " (declare (in) float y))\n"
9044 " ())\n"
9045 " (signature vec4\n"
9046 " (parameters\n"
9047 " (declare (in) vec4 x)\n"
9048 " (declare (in) float y))\n"
9049 " ()))\n"
9050 "(function clamp\n"
9051 " (signature float\n"
9052 " (parameters\n"
9053 " (declare (in) float x)\n"
9054 " (declare (in) float minVal)\n"
9055 " (declare (in) float maxVal))\n"
9056 " ())\n"
9057 " (signature vec2\n"
9058 " (parameters\n"
9059 " (declare (in) vec2 x)\n"
9060 " (declare (in) vec2 minVal)\n"
9061 " (declare (in) vec2 maxVal))\n"
9062 " ())\n"
9063 " (signature vec3\n"
9064 " (parameters\n"
9065 " (declare (in) vec3 x)\n"
9066 " (declare (in) vec3 minVal)\n"
9067 " (declare (in) vec3 maxVal))\n"
9068 " ())\n"
9069 " (signature vec4\n"
9070 " (parameters\n"
9071 " (declare (in) vec4 x)\n"
9072 " (declare (in) vec4 minVal)\n"
9073 " (declare (in) vec4 maxVal))\n"
9074 " ())\n"
9075 " (signature vec2\n"
9076 " (parameters\n"
9077 " (declare (in) vec2 x)\n"
9078 " (declare (in) float minVal)\n"
9079 " (declare (in) float maxVal))\n"
9080 " ())\n"
9081 " (signature vec3\n"
9082 " (parameters\n"
9083 " (declare (in) vec3 x)\n"
9084 " (declare (in) float minVal)\n"
9085 " (declare (in) float maxVal))\n"
9086 " ())\n"
9087 " (signature vec4\n"
9088 " (parameters\n"
9089 " (declare (in) vec4 x)\n"
9090 " (declare (in) float minVal)\n"
9091 " (declare (in) float maxVal))\n"
9092 " ()))\n"
9093 "(function mix\n"
9094 " (signature float\n"
9095 " (parameters\n"
9096 " (declare (in) float x)\n"
9097 " (declare (in) float y)\n"
9098 " (declare (in) float a))\n"
9099 " ())\n"
9100 " (signature vec2\n"
9101 " (parameters\n"
9102 " (declare (in) vec2 x)\n"
9103 " (declare (in) vec2 y)\n"
9104 " (declare (in) vec2 a))\n"
9105 " ())\n"
9106 " (signature vec3\n"
9107 " (parameters\n"
9108 " (declare (in) vec3 x)\n"
9109 " (declare (in) vec3 y)\n"
9110 " (declare (in) vec3 a))\n"
9111 " ())\n"
9112 " (signature vec4\n"
9113 " (parameters\n"
9114 " (declare (in) vec4 x)\n"
9115 " (declare (in) vec4 y)\n"
9116 " (declare (in) vec4 a))\n"
9117 " ())\n"
9118 " (signature vec2\n"
9119 " (parameters\n"
9120 " (declare (in) vec2 x)\n"
9121 " (declare (in) vec2 y)\n"
9122 " (declare (in) float a))\n"
9123 " ())\n"
9124 " (signature vec3\n"
9125 " (parameters\n"
9126 " (declare (in) vec3 x)\n"
9127 " (declare (in) vec3 y)\n"
9128 " (declare (in) float a))\n"
9129 " ())\n"
9130 " (signature vec4\n"
9131 " (parameters\n"
9132 " (declare (in) vec4 x)\n"
9133 " (declare (in) vec4 y)\n"
9134 " (declare (in) float a))\n"
9135 " ()))\n"
9136 "(function step\n"
9137 " (signature float\n"
9138 " (parameters\n"
9139 " (declare (in) float edge)\n"
9140 " (declare (in) float x))\n"
9141 " ())\n"
9142 " (signature vec2\n"
9143 " (parameters\n"
9144 " (declare (in) vec2 edge)\n"
9145 " (declare (in) vec2 x))\n"
9146 " ())\n"
9147 " (signature vec3\n"
9148 " (parameters\n"
9149 " (declare (in) vec3 edge)\n"
9150 " (declare (in) vec3 x))\n"
9151 " ())\n"
9152 " (signature vec4\n"
9153 " (parameters\n"
9154 " (declare (in) vec4 edge)\n"
9155 " (declare (in) vec4 x))\n"
9156 " ())\n"
9157 " (signature vec2\n"
9158 " (parameters\n"
9159 " (declare (in) float edge)\n"
9160 " (declare (in) vec2 x))\n"
9161 " ())\n"
9162 " (signature vec3\n"
9163 " (parameters\n"
9164 " (declare (in) float edge)\n"
9165 " (declare (in) vec3 x))\n"
9166 " ())\n"
9167 " (signature vec4\n"
9168 " (parameters\n"
9169 " (declare (in) float edge)\n"
9170 " (declare (in) vec4 x))\n"
9171 " ()))\n"
9172 "(function smoothstep\n"
9173 " (signature float\n"
9174 " (parameters\n"
9175 " (declare (in) float edge0)\n"
9176 " (declare (in) float edge1)\n"
9177 " (declare (in) float x))\n"
9178 " ())\n"
9179 " (signature vec2\n"
9180 " (parameters\n"
9181 " (declare (in) vec2 edge0)\n"
9182 " (declare (in) vec2 edge1)\n"
9183 " (declare (in) vec2 x))\n"
9184 " ())\n"
9185 " (signature vec3\n"
9186 " (parameters\n"
9187 " (declare (in) vec3 edge0)\n"
9188 " (declare (in) vec3 edge1)\n"
9189 " (declare (in) vec3 x))\n"
9190 " ())\n"
9191 " (signature vec4\n"
9192 " (parameters\n"
9193 " (declare (in) vec4 edge0)\n"
9194 " (declare (in) vec4 edge1)\n"
9195 " (declare (in) vec4 x))\n"
9196 " ())\n"
9197 " (signature vec2\n"
9198 " (parameters\n"
9199 " (declare (in) float edge0)\n"
9200 " (declare (in) float edge1)\n"
9201 " (declare (in) vec2 x))\n"
9202 " ())\n"
9203 " (signature vec3\n"
9204 " (parameters\n"
9205 " (declare (in) float edge0)\n"
9206 " (declare (in) float edge1)\n"
9207 " (declare (in) vec3 x))\n"
9208 " ())\n"
9209 " (signature vec4\n"
9210 " (parameters\n"
9211 " (declare (in) float edge0)\n"
9212 " (declare (in) float edge1)\n"
9213 " (declare (in) vec4 x))\n"
9214 " ()))\n"
9215 "(function length\n"
9216 " (signature float\n"
9217 " (parameters\n"
9218 " (declare (in) float x))\n"
9219 " ())\n"
9220 " (signature float\n"
9221 " (parameters\n"
9222 " (declare (in) vec2 x))\n"
9223 " ())\n"
9224 " (signature float\n"
9225 " (parameters\n"
9226 " (declare (in) vec3 x))\n"
9227 " ())\n"
9228 " (signature float\n"
9229 " (parameters\n"
9230 " (declare (in) vec4 x))\n"
9231 " ()))\n"
9232 "(function distance\n"
9233 " (signature float\n"
9234 " (parameters\n"
9235 " (declare (in) float p0)\n"
9236 " (declare (in) float p1))\n"
9237 " ())\n"
9238 " (signature float\n"
9239 " (parameters\n"
9240 " (declare (in) vec2 p0)\n"
9241 " (declare (in) vec2 p1))\n"
9242 " ())\n"
9243 " (signature float\n"
9244 " (parameters\n"
9245 " (declare (in) vec3 p0)\n"
9246 " (declare (in) vec3 p1))\n"
9247 " ())\n"
9248 " (signature float\n"
9249 " (parameters\n"
9250 " (declare (in) vec4 p0)\n"
9251 " (declare (in) vec4 p1))\n"
9252 " ()))\n"
9253 "(function dot\n"
9254 " (signature float\n"
9255 " (parameters\n"
9256 " (declare (in) float x)\n"
9257 " (declare (in) float y))\n"
9258 " ())\n"
9259 " (signature float\n"
9260 " (parameters\n"
9261 " (declare (in) vec2 x)\n"
9262 " (declare (in) vec2 y))\n"
9263 " ())\n"
9264 " (signature float\n"
9265 " (parameters\n"
9266 " (declare (in) vec3 x)\n"
9267 " (declare (in) vec3 y))\n"
9268 " ())\n"
9269 " (signature float\n"
9270 " (parameters\n"
9271 " (declare (in) vec4 x)\n"
9272 " (declare (in) vec4 y))\n"
9273 " ()))\n"
9274 "(function cross\n"
9275 " (signature vec3\n"
9276 " (parameters\n"
9277 " (declare (in) vec3 x)\n"
9278 " (declare (in) vec3 y))\n"
9279 " ()))\n"
9280 "(function normalize\n"
9281 " (signature float\n"
9282 " (parameters\n"
9283 " (declare (in) float x))\n"
9284 " ())\n"
9285 " (signature vec2\n"
9286 " (parameters\n"
9287 " (declare (in) vec2 x))\n"
9288 " ())\n"
9289 " (signature vec3\n"
9290 " (parameters\n"
9291 " (declare (in) vec3 x))\n"
9292 " ())\n"
9293 " (signature vec4\n"
9294 " (parameters\n"
9295 " (declare (in) vec4 x))\n"
9296 " ()))\n"
9297 "(function ftransform\n"
9298 " (signature vec4\n"
9299 " (parameters)\n"
9300 " ()))\n"
9301 "(function faceforward\n"
9302 " (signature float\n"
9303 " (parameters\n"
9304 " (declare (in) float N)\n"
9305 " (declare (in) float I)\n"
9306 " (declare (in) float Nref))\n"
9307 " ())\n"
9308 " (signature vec2\n"
9309 " (parameters\n"
9310 " (declare (in) vec2 N)\n"
9311 " (declare (in) vec2 I)\n"
9312 " (declare (in) vec2 Nref))\n"
9313 " ())\n"
9314 " (signature vec3\n"
9315 " (parameters\n"
9316 " (declare (in) vec3 N)\n"
9317 " (declare (in) vec3 I)\n"
9318 " (declare (in) vec3 Nref))\n"
9319 " ())\n"
9320 " (signature vec4\n"
9321 " (parameters\n"
9322 " (declare (in) vec4 N)\n"
9323 " (declare (in) vec4 I)\n"
9324 " (declare (in) vec4 Nref))\n"
9325 " ()))\n"
9326 "(function reflect\n"
9327 " (signature float\n"
9328 " (parameters\n"
9329 " (declare (in) float I)\n"
9330 " (declare (in) float N))\n"
9331 " ())\n"
9332 " (signature vec2\n"
9333 " (parameters\n"
9334 " (declare (in) vec2 I)\n"
9335 " (declare (in) vec2 N))\n"
9336 " ())\n"
9337 " (signature vec3\n"
9338 " (parameters\n"
9339 " (declare (in) vec3 I)\n"
9340 " (declare (in) vec3 N))\n"
9341 " ())\n"
9342 " (signature vec4\n"
9343 " (parameters\n"
9344 " (declare (in) vec4 I)\n"
9345 " (declare (in) vec4 N))\n"
9346 " ()))\n"
9347 "(function refract\n"
9348 " (signature float\n"
9349 " (parameters\n"
9350 " (declare (in) float I)\n"
9351 " (declare (in) float N)\n"
9352 " (declare (in) float eta))\n"
9353 " ())\n"
9354 " (signature vec2\n"
9355 " (parameters\n"
9356 " (declare (in) vec2 I)\n"
9357 " (declare (in) vec2 N)\n"
9358 " (declare (in) float eta))\n"
9359 " ())\n"
9360 " (signature vec3\n"
9361 " (parameters\n"
9362 " (declare (in) vec3 I)\n"
9363 " (declare (in) vec3 N)\n"
9364 " (declare (in) float eta))\n"
9365 " ())\n"
9366 " (signature vec4\n"
9367 " (parameters\n"
9368 " (declare (in) vec4 I)\n"
9369 " (declare (in) vec4 N)\n"
9370 " (declare (in) float eta))\n"
9371 " ()))\n"
9372 "(function matrixCompMult\n"
9373 " (signature mat2\n"
9374 " (parameters\n"
9375 " (declare (in) mat2 x)\n"
9376 " (declare (in) mat2 y))\n"
9377 " ())\n"
9378 " (signature mat3\n"
9379 " (parameters\n"
9380 " (declare (in) mat3 x)\n"
9381 " (declare (in) mat3 y))\n"
9382 " ())\n"
9383 " (signature mat4\n"
9384 " (parameters\n"
9385 " (declare (in) mat4 x)\n"
9386 " (declare (in) mat4 y))\n"
9387 " ()))\n"
9388 "(function lessThan\n"
9389 " (signature bvec2\n"
9390 " (parameters\n"
9391 " (declare (in) vec2 x)\n"
9392 " (declare (in) vec2 y))\n"
9393 " ())\n"
9394 " (signature bvec3\n"
9395 " (parameters\n"
9396 " (declare (in) vec3 x)\n"
9397 " (declare (in) vec3 y))\n"
9398 " ())\n"
9399 " (signature bvec4\n"
9400 " (parameters\n"
9401 " (declare (in) vec4 x)\n"
9402 " (declare (in) vec4 y))\n"
9403 " ())\n"
9404 " (signature bvec2\n"
9405 " (parameters\n"
9406 " (declare (in) ivec2 x)\n"
9407 " (declare (in) ivec2 y))\n"
9408 " ())\n"
9409 " (signature bvec3\n"
9410 " (parameters\n"
9411 " (declare (in) ivec3 x)\n"
9412 " (declare (in) ivec3 y))\n"
9413 " ())\n"
9414 " (signature bvec4\n"
9415 " (parameters\n"
9416 " (declare (in) ivec4 x)\n"
9417 " (declare (in) ivec4 y))\n"
9418 " ()))\n"
9419 "(function lessThanEqual\n"
9420 " (signature bvec2\n"
9421 " (parameters\n"
9422 " (declare (in) vec2 x)\n"
9423 " (declare (in) vec2 y))\n"
9424 " ())\n"
9425 " (signature bvec3\n"
9426 " (parameters\n"
9427 " (declare (in) vec3 x)\n"
9428 " (declare (in) vec3 y))\n"
9429 " ())\n"
9430 " (signature bvec4\n"
9431 " (parameters\n"
9432 " (declare (in) vec4 x)\n"
9433 " (declare (in) vec4 y))\n"
9434 " ())\n"
9435 " (signature bvec2\n"
9436 " (parameters\n"
9437 " (declare (in) ivec2 x)\n"
9438 " (declare (in) ivec2 y))\n"
9439 " ())\n"
9440 " (signature bvec3\n"
9441 " (parameters\n"
9442 " (declare (in) ivec3 x)\n"
9443 " (declare (in) ivec3 y))\n"
9444 " ())\n"
9445 " (signature bvec4\n"
9446 " (parameters\n"
9447 " (declare (in) ivec4 x)\n"
9448 " (declare (in) ivec4 y))\n"
9449 " ()))\n"
9450 "(function greaterThan\n"
9451 " (signature bvec2\n"
9452 " (parameters\n"
9453 " (declare (in) vec2 x)\n"
9454 " (declare (in) vec2 y))\n"
9455 " ())\n"
9456 " (signature bvec3\n"
9457 " (parameters\n"
9458 " (declare (in) vec3 x)\n"
9459 " (declare (in) vec3 y))\n"
9460 " ())\n"
9461 " (signature bvec4\n"
9462 " (parameters\n"
9463 " (declare (in) vec4 x)\n"
9464 " (declare (in) vec4 y))\n"
9465 " ())\n"
9466 " (signature bvec2\n"
9467 " (parameters\n"
9468 " (declare (in) ivec2 x)\n"
9469 " (declare (in) ivec2 y))\n"
9470 " ())\n"
9471 " (signature bvec3\n"
9472 " (parameters\n"
9473 " (declare (in) ivec3 x)\n"
9474 " (declare (in) ivec3 y))\n"
9475 " ())\n"
9476 " (signature bvec4\n"
9477 " (parameters\n"
9478 " (declare (in) ivec4 x)\n"
9479 " (declare (in) ivec4 y))\n"
9480 " ()))\n"
9481 "(function greaterThanEqual\n"
9482 " (signature bvec2\n"
9483 " (parameters\n"
9484 " (declare (in) vec2 x)\n"
9485 " (declare (in) vec2 y))\n"
9486 " ())\n"
9487 " (signature bvec3\n"
9488 " (parameters\n"
9489 " (declare (in) vec3 x)\n"
9490 " (declare (in) vec3 y))\n"
9491 " ())\n"
9492 " (signature bvec4\n"
9493 " (parameters\n"
9494 " (declare (in) vec4 x)\n"
9495 " (declare (in) vec4 y))\n"
9496 " ())\n"
9497 " (signature bvec2\n"
9498 " (parameters\n"
9499 " (declare (in) ivec2 x)\n"
9500 " (declare (in) ivec2 y))\n"
9501 " ())\n"
9502 " (signature bvec3\n"
9503 " (parameters\n"
9504 " (declare (in) ivec3 x)\n"
9505 " (declare (in) ivec3 y))\n"
9506 " ())\n"
9507 " (signature bvec4\n"
9508 " (parameters\n"
9509 " (declare (in) ivec4 x)\n"
9510 " (declare (in) ivec4 y))\n"
9511 " ()))\n"
9512 "(function equal\n"
9513 " (signature bvec2\n"
9514 " (parameters\n"
9515 " (declare (in) vec2 x)\n"
9516 " (declare (in) vec2 y))\n"
9517 " ())\n"
9518 " (signature bvec3\n"
9519 " (parameters\n"
9520 " (declare (in) vec3 x)\n"
9521 " (declare (in) vec3 y))\n"
9522 " ())\n"
9523 " (signature bvec4\n"
9524 " (parameters\n"
9525 " (declare (in) vec4 x)\n"
9526 " (declare (in) vec4 y))\n"
9527 " ())\n"
9528 " (signature bvec2\n"
9529 " (parameters\n"
9530 " (declare (in) ivec2 x)\n"
9531 " (declare (in) ivec2 y))\n"
9532 " ())\n"
9533 " (signature bvec3\n"
9534 " (parameters\n"
9535 " (declare (in) ivec3 x)\n"
9536 " (declare (in) ivec3 y))\n"
9537 " ())\n"
9538 " (signature bvec4\n"
9539 " (parameters\n"
9540 " (declare (in) ivec4 x)\n"
9541 " (declare (in) ivec4 y))\n"
9542 " ())\n"
9543 " (signature bvec2\n"
9544 " (parameters\n"
9545 " (declare (in) bvec2 x)\n"
9546 " (declare (in) bvec2 y))\n"
9547 " ())\n"
9548 " (signature bvec3\n"
9549 " (parameters\n"
9550 " (declare (in) bvec3 x)\n"
9551 " (declare (in) bvec3 y))\n"
9552 " ())\n"
9553 " (signature bvec4\n"
9554 " (parameters\n"
9555 " (declare (in) bvec4 x)\n"
9556 " (declare (in) bvec4 y))\n"
9557 " ()))\n"
9558 "(function notEqual\n"
9559 " (signature bvec2\n"
9560 " (parameters\n"
9561 " (declare (in) vec2 x)\n"
9562 " (declare (in) vec2 y))\n"
9563 " ())\n"
9564 " (signature bvec3\n"
9565 " (parameters\n"
9566 " (declare (in) vec3 x)\n"
9567 " (declare (in) vec3 y))\n"
9568 " ())\n"
9569 " (signature bvec4\n"
9570 " (parameters\n"
9571 " (declare (in) vec4 x)\n"
9572 " (declare (in) vec4 y))\n"
9573 " ())\n"
9574 " (signature bvec2\n"
9575 " (parameters\n"
9576 " (declare (in) ivec2 x)\n"
9577 " (declare (in) ivec2 y))\n"
9578 " ())\n"
9579 " (signature bvec3\n"
9580 " (parameters\n"
9581 " (declare (in) ivec3 x)\n"
9582 " (declare (in) ivec3 y))\n"
9583 " ())\n"
9584 " (signature bvec4\n"
9585 " (parameters\n"
9586 " (declare (in) ivec4 x)\n"
9587 " (declare (in) ivec4 y))\n"
9588 " ())\n"
9589 " (signature bvec2\n"
9590 " (parameters\n"
9591 " (declare (in) bvec2 x)\n"
9592 " (declare (in) bvec2 y))\n"
9593 " ())\n"
9594 " (signature bvec3\n"
9595 " (parameters\n"
9596 " (declare (in) bvec3 x)\n"
9597 " (declare (in) bvec3 y))\n"
9598 " ())\n"
9599 " (signature bvec4\n"
9600 " (parameters\n"
9601 " (declare (in) bvec4 x)\n"
9602 " (declare (in) bvec4 y))\n"
9603 " ()))\n"
9604 "(function any\n"
9605 " (signature bool\n"
9606 " (parameters\n"
9607 " (declare (in) bvec2 x))\n"
9608 " ())\n"
9609 " (signature bool\n"
9610 " (parameters\n"
9611 " (declare (in) bvec3 x))\n"
9612 " ())\n"
9613 " (signature bool\n"
9614 " (parameters\n"
9615 " (declare (in) bvec4 x))\n"
9616 " ()))\n"
9617 "(function all\n"
9618 " (signature bool\n"
9619 " (parameters\n"
9620 " (declare (in) bvec2 x))\n"
9621 " ())\n"
9622 " (signature bool\n"
9623 " (parameters\n"
9624 " (declare (in) bvec3 x))\n"
9625 " ())\n"
9626 " (signature bool\n"
9627 " (parameters\n"
9628 " (declare (in) bvec4 x))\n"
9629 " ()))\n"
9630 "(function not\n"
9631 " (signature bvec2\n"
9632 " (parameters\n"
9633 " (declare (in) bvec2 x))\n"
9634 " ())\n"
9635 " (signature bvec3\n"
9636 " (parameters\n"
9637 " (declare (in) bvec3 x))\n"
9638 " ())\n"
9639 " (signature bvec4\n"
9640 " (parameters\n"
9641 " (declare (in) bvec4 x))\n"
9642 " ()))\n"
9643 "(function texture1D\n"
9644 " (signature vec4\n"
9645 " (parameters\n"
9646 " (declare (in) sampler1D sampler)\n"
9647 " (declare (in) float coord))\n"
9648 " ()))\n"
9649 "(function texture1DProj\n"
9650 " (signature vec4\n"
9651 " (parameters\n"
9652 " (declare (in) sampler1D sampler)\n"
9653 " (declare (in) vec2 coord))\n"
9654 " ())\n"
9655 " (signature vec4\n"
9656 " (parameters\n"
9657 " (declare (in) sampler1D sampler)\n"
9658 " (declare (in) vec4 coord))\n"
9659 " ()))\n"
9660 "(function texture1DLod\n"
9661 " (signature vec4\n"
9662 " (parameters\n"
9663 " (declare (in) sampler1D sampler)\n"
9664 " (declare (in) float coord)\n"
9665 " (declare (in) float lod))\n"
9666 " ()))\n"
9667 "(function texture1DProjLod\n"
9668 " (signature vec4\n"
9669 " (parameters\n"
9670 " (declare (in) sampler1D sampler)\n"
9671 " (declare (in) vec2 coord)\n"
9672 " (declare (in) float lod))\n"
9673 " ())\n"
9674 " (signature vec4\n"
9675 " (parameters\n"
9676 " (declare (in) sampler1D sampler)\n"
9677 " (declare (in) vec4 coord)\n"
9678 " (declare (in) float lod))\n"
9679 " ()))\n"
9680 "(function texture2D\n"
9681 " (signature vec4\n"
9682 " (parameters\n"
9683 " (declare (in) sampler2D sampler)\n"
9684 " (declare (in) vec2 coord))\n"
9685 " ()))\n"
9686 "(function texture2DProj\n"
9687 " (signature vec4\n"
9688 " (parameters\n"
9689 " (declare (in) sampler2D sampler)\n"
9690 " (declare (in) vec3 coord))\n"
9691 " ())\n"
9692 " (signature vec4\n"
9693 " (parameters\n"
9694 " (declare (in) sampler2D sampler)\n"
9695 " (declare (in) vec4 coord))\n"
9696 " ()))\n"
9697 "(function texture2DLod\n"
9698 " (signature vec4\n"
9699 " (parameters\n"
9700 " (declare (in) sampler2D sampler)\n"
9701 " (declare (in) vec2 coord)\n"
9702 " (declare (in) float lod))\n"
9703 " ()))\n"
9704 "(function texture2DProjLod\n"
9705 " (signature vec4\n"
9706 " (parameters\n"
9707 " (declare (in) sampler2D sampler)\n"
9708 " (declare (in) vec3 coord)\n"
9709 " (declare (in) float lod))\n"
9710 " ())\n"
9711 " (signature vec4\n"
9712 " (parameters\n"
9713 " (declare (in) sampler2D sampler)\n"
9714 " (declare (in) vec4 coord)\n"
9715 " (declare (in) float lod))\n"
9716 " ()))\n"
9717 "(function texture3D\n"
9718 " (signature vec4\n"
9719 " (parameters\n"
9720 " (declare (in) sampler3D sampler)\n"
9721 " (declare (in) vec3 coord))\n"
9722 " ()))\n"
9723 "(function texture3DProj\n"
9724 " (signature vec4\n"
9725 " (parameters\n"
9726 " (declare (in) sampler3D sampler)\n"
9727 " (declare (in) vec4 coord))\n"
9728 " ()))\n"
9729 "(function texture3DLod\n"
9730 " (signature vec4\n"
9731 " (parameters\n"
9732 " (declare (in) sampler3D sampler)\n"
9733 " (declare (in) vec3 coord)\n"
9734 " (declare (in) float lod))\n"
9735 " ()))\n"
9736 "(function texture3DProjLod\n"
9737 " (signature vec4\n"
9738 " (parameters\n"
9739 " (declare (in) sampler3D sampler)\n"
9740 " (declare (in) vec4 coord)\n"
9741 " (declare (in) float lod))\n"
9742 " ()))\n"
9743 "(function textureCube\n"
9744 " (signature vec4\n"
9745 " (parameters\n"
9746 " (declare (in) samplerCube sampler)\n"
9747 " (declare (in) vec3 coord))\n"
9748 " ()))\n"
9749 "(function textureCubeLod\n"
9750 " (signature vec4\n"
9751 " (parameters\n"
9752 " (declare (in) samplerCube sampler)\n"
9753 " (declare (in) vec3 coord)\n"
9754 " (declare (in) float lod))\n"
9755 " ()))\n"
9756 "(function shadow1D\n"
9757 " (signature vec4\n"
9758 " (parameters\n"
9759 " (declare (in) sampler1DShadow sampler)\n"
9760 " (declare (in) vec3 coord))\n"
9761 " ()))\n"
9762 "(function shadow2D\n"
9763 " (signature vec4\n"
9764 " (parameters\n"
9765 " (declare (in) sampler2DShadow sampler)\n"
9766 " (declare (in) vec3 coord))\n"
9767 " ()))\n"
9768 "(function shadow1DProj\n"
9769 " (signature vec4\n"
9770 " (parameters\n"
9771 " (declare (in) sampler1DShadow sampler)\n"
9772 " (declare (in) vec4 coord))\n"
9773 " ()))\n"
9774 "(function shadow2DProj\n"
9775 " (signature vec4\n"
9776 " (parameters\n"
9777 " (declare (in) sampler2DShadow sampler)\n"
9778 " (declare (in) vec4 coord))\n"
9779 " ()))\n"
9780 "(function shadow1DLod\n"
9781 " (signature vec4\n"
9782 " (parameters\n"
9783 " (declare (in) sampler1DShadow sampler)\n"
9784 " (declare (in) vec3 coord)\n"
9785 " (declare (in) float lod))\n"
9786 " ()))\n"
9787 "(function shadow2DLod\n"
9788 " (signature vec4\n"
9789 " (parameters\n"
9790 " (declare (in) sampler2DShadow sampler)\n"
9791 " (declare (in) vec3 coord)\n"
9792 " (declare (in) float lod))\n"
9793 " ()))\n"
9794 "(function shadow1DProjLod\n"
9795 " (signature vec4\n"
9796 " (parameters\n"
9797 " (declare (in) sampler1DShadow sampler)\n"
9798 " (declare (in) vec4 coord)\n"
9799 " (declare (in) float lod))\n"
9800 " ()))\n"
9801 "(function shadow2DProjLod\n"
9802 " (signature vec4\n"
9803 " (parameters\n"
9804 " (declare (in) sampler2DShadow sampler)\n"
9805 " (declare (in) vec4 coord)\n"
9806 " (declare (in) float lod))\n"
9807 " ()))\n"
9808 "(function noise1\n"
9809 " (signature float\n"
9810 " (parameters\n"
9811 " (declare (in) float x))\n"
9812 " ())\n"
9813 " (signature float\n"
9814 " (parameters\n"
9815 " (declare (in) vec2 x))\n"
9816 " ())\n"
9817 " (signature float\n"
9818 " (parameters\n"
9819 " (declare (in) vec3 x))\n"
9820 " ())\n"
9821 " (signature float\n"
9822 " (parameters\n"
9823 " (declare (in) vec4 x))\n"
9824 " ()))\n"
9825 "(function noise2\n"
9826 " (signature vec2\n"
9827 " (parameters\n"
9828 " (declare (in) float x))\n"
9829 " ())\n"
9830 " (signature vec2\n"
9831 " (parameters\n"
9832 " (declare (in) vec2 x))\n"
9833 " ())\n"
9834 " (signature vec2\n"
9835 " (parameters\n"
9836 " (declare (in) vec3 x))\n"
9837 " ())\n"
9838 " (signature vec2\n"
9839 " (parameters\n"
9840 " (declare (in) vec4 x))\n"
9841 " ()))\n"
9842 "(function noise3\n"
9843 " (signature vec3\n"
9844 " (parameters\n"
9845 " (declare (in) float x))\n"
9846 " ())\n"
9847 " (signature vec3\n"
9848 " (parameters\n"
9849 " (declare (in) vec2 x))\n"
9850 " ())\n"
9851 " (signature vec3\n"
9852 " (parameters\n"
9853 " (declare (in) vec3 x))\n"
9854 " ())\n"
9855 " (signature vec3\n"
9856 " (parameters\n"
9857 " (declare (in) vec4 x))\n"
9858 " ()))\n"
9859 "(function noise4\n"
9860 " (signature vec4\n"
9861 " (parameters\n"
9862 " (declare (in) float x))\n"
9863 " ())\n"
9864 " (signature vec4\n"
9865 " (parameters\n"
9866 " (declare (in) vec2 x))\n"
9867 " ())\n"
9868 " (signature vec4\n"
9869 " (parameters\n"
9870 " (declare (in) vec3 x))\n"
9871 " ())\n"
9872 " (signature vec4\n"
9873 " (parameters\n"
9874 " (declare (in) vec4 x))\n"
9875 " ())))"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009876;
Eric Anholt47003a82010-08-23 12:39:35 -07009877static const char *functions_for_110_vert [] = {
9878 builtin_abs,
9879 builtin_acos,
9880 builtin_all,
9881 builtin_any,
9882 builtin_asin,
9883 builtin_atan,
9884 builtin_ceil,
9885 builtin_clamp,
9886 builtin_cos,
9887 builtin_cross,
9888 builtin_degrees,
9889 builtin_distance,
9890 builtin_dot,
9891 builtin_equal,
9892 builtin_exp,
9893 builtin_exp2,
9894 builtin_faceforward,
9895 builtin_floor,
9896 builtin_fract,
9897 builtin_ftransform,
9898 builtin_greaterThan,
9899 builtin_greaterThanEqual,
9900 builtin_inversesqrt,
9901 builtin_length,
9902 builtin_lessThan,
9903 builtin_lessThanEqual,
9904 builtin_log,
9905 builtin_log2,
9906 builtin_matrixCompMult,
9907 builtin_max,
9908 builtin_min,
9909 builtin_mix,
9910 builtin_mod,
9911 builtin_noise1,
9912 builtin_noise2,
9913 builtin_noise3,
9914 builtin_noise4,
9915 builtin_normalize,
9916 builtin_not,
9917 builtin_notEqual,
9918 builtin_pow,
9919 builtin_radians,
9920 builtin_reflect,
9921 builtin_refract,
9922 builtin_shadow1D,
9923 builtin_shadow1DLod,
9924 builtin_shadow1DProj,
9925 builtin_shadow1DProjLod,
9926 builtin_shadow2D,
9927 builtin_shadow2DLod,
9928 builtin_shadow2DProj,
9929 builtin_shadow2DProjLod,
9930 builtin_sign,
9931 builtin_sin,
9932 builtin_smoothstep,
9933 builtin_sqrt,
9934 builtin_step,
9935 builtin_tan,
9936 builtin_texture1D,
9937 builtin_texture1DLod,
9938 builtin_texture1DProj,
9939 builtin_texture1DProjLod,
9940 builtin_texture2D,
9941 builtin_texture2DLod,
9942 builtin_texture2DProj,
9943 builtin_texture2DProjLod,
9944 builtin_texture3D,
9945 builtin_texture3DLod,
9946 builtin_texture3DProj,
9947 builtin_texture3DProjLod,
9948 builtin_textureCube,
9949 builtin_textureCubeLod,
9950};
9951static const char *prototypes_for_120_frag =
9952 "(\n"
9953 "(function radians\n"
9954 " (signature float\n"
9955 " (parameters\n"
9956 " (declare (in) float degrees))\n"
9957 " ())\n"
9958 " (signature vec2\n"
9959 " (parameters\n"
9960 " (declare (in) vec2 degrees))\n"
9961 " ())\n"
9962 " (signature vec3\n"
9963 " (parameters\n"
9964 " (declare (in) vec3 degrees))\n"
9965 " ())\n"
9966 " (signature vec4\n"
9967 " (parameters\n"
9968 " (declare (in) vec4 degrees))\n"
9969 " ()))\n"
9970 "(function degrees\n"
9971 " (signature float\n"
9972 " (parameters\n"
9973 " (declare (in) float radians))\n"
9974 " ())\n"
9975 " (signature vec2\n"
9976 " (parameters\n"
9977 " (declare (in) vec2 radians))\n"
9978 " ())\n"
9979 " (signature vec3\n"
9980 " (parameters\n"
9981 " (declare (in) vec3 radians))\n"
9982 " ())\n"
9983 " (signature vec4\n"
9984 " (parameters\n"
9985 " (declare (in) vec4 radians))\n"
9986 " ()))\n"
9987 "(function sin\n"
9988 " (signature float\n"
9989 " (parameters\n"
9990 " (declare (in) float angle))\n"
9991 " ())\n"
9992 " (signature vec2\n"
9993 " (parameters\n"
9994 " (declare (in) vec2 angle))\n"
9995 " ())\n"
9996 " (signature vec3\n"
9997 " (parameters\n"
9998 " (declare (in) vec3 angle))\n"
9999 " ())\n"
10000 " (signature vec4\n"
10001 " (parameters\n"
10002 " (declare (in) vec4 angle))\n"
10003 " ()))\n"
10004 "(function cos\n"
10005 " (signature float\n"
10006 " (parameters\n"
10007 " (declare (in) float angle))\n"
10008 " ())\n"
10009 " (signature vec2\n"
10010 " (parameters\n"
10011 " (declare (in) vec2 angle))\n"
10012 " ())\n"
10013 " (signature vec3\n"
10014 " (parameters\n"
10015 " (declare (in) vec3 angle))\n"
10016 " ())\n"
10017 " (signature vec4\n"
10018 " (parameters\n"
10019 " (declare (in) vec4 angle))\n"
10020 " ()))\n"
10021 "(function tan\n"
10022 " (signature float\n"
10023 " (parameters\n"
10024 " (declare (in) float angle))\n"
10025 " ())\n"
10026 " (signature vec2\n"
10027 " (parameters\n"
10028 " (declare (in) vec2 angle))\n"
10029 " ())\n"
10030 " (signature vec3\n"
10031 " (parameters\n"
10032 " (declare (in) vec3 angle))\n"
10033 " ())\n"
10034 " (signature vec4\n"
10035 " (parameters\n"
10036 " (declare (in) vec4 angle))\n"
10037 " ()))\n"
10038 "(function asin\n"
10039 " (signature float\n"
10040 " (parameters\n"
10041 " (declare (in) float angle))\n"
10042 " ())\n"
10043 " (signature vec2\n"
10044 " (parameters\n"
10045 " (declare (in) vec2 angle))\n"
10046 " ())\n"
10047 " (signature vec3\n"
10048 " (parameters\n"
10049 " (declare (in) vec3 angle))\n"
10050 " ())\n"
10051 " (signature vec4\n"
10052 " (parameters\n"
10053 " (declare (in) vec4 angle))\n"
10054 " ()))\n"
10055 "(function acos\n"
10056 " (signature float\n"
10057 " (parameters\n"
10058 " (declare (in) float angle))\n"
10059 " ())\n"
10060 " (signature vec2\n"
10061 " (parameters\n"
10062 " (declare (in) vec2 angle))\n"
10063 " ())\n"
10064 " (signature vec3\n"
10065 " (parameters\n"
10066 " (declare (in) vec3 angle))\n"
10067 " ())\n"
10068 " (signature vec4\n"
10069 " (parameters\n"
10070 " (declare (in) vec4 angle))\n"
10071 " ()))\n"
10072 "(function atan\n"
10073 " (signature float\n"
10074 " (parameters\n"
10075 " (declare (in) float y)\n"
10076 " (declare (in) float x))\n"
10077 " ())\n"
10078 " (signature vec2\n"
10079 " (parameters\n"
10080 " (declare (in) vec2 y)\n"
10081 " (declare (in) vec2 x))\n"
10082 " ())\n"
10083 " (signature vec3\n"
10084 " (parameters\n"
10085 " (declare (in) vec3 y)\n"
10086 " (declare (in) vec3 x))\n"
10087 " ())\n"
10088 " (signature vec4\n"
10089 " (parameters\n"
10090 " (declare (in) vec4 y)\n"
10091 " (declare (in) vec4 x))\n"
10092 " ())\n"
10093 " (signature float\n"
10094 " (parameters\n"
10095 " (declare (in) float y_over_x))\n"
10096 " ())\n"
10097 " (signature vec2\n"
10098 " (parameters\n"
10099 " (declare (in) vec2 y_over_x))\n"
10100 " ())\n"
10101 " (signature vec3\n"
10102 " (parameters\n"
10103 " (declare (in) vec3 y_over_x))\n"
10104 " ())\n"
10105 " (signature vec4\n"
10106 " (parameters\n"
10107 " (declare (in) vec4 y_over_x))\n"
10108 " ()))\n"
10109 "(function pow\n"
10110 " (signature float\n"
10111 " (parameters\n"
10112 " (declare (in) float x)\n"
10113 " (declare (in) float y))\n"
10114 " ())\n"
10115 " (signature vec2\n"
10116 " (parameters\n"
10117 " (declare (in) vec2 x)\n"
10118 " (declare (in) vec2 y))\n"
10119 " ())\n"
10120 " (signature vec3\n"
10121 " (parameters\n"
10122 " (declare (in) vec3 x)\n"
10123 " (declare (in) vec3 y))\n"
10124 " ())\n"
10125 " (signature vec4\n"
10126 " (parameters\n"
10127 " (declare (in) vec4 x)\n"
10128 " (declare (in) vec4 y))\n"
10129 " ()))\n"
10130 "(function exp\n"
10131 " (signature float\n"
10132 " (parameters\n"
10133 " (declare (in) float x))\n"
10134 " ())\n"
10135 " (signature vec2\n"
10136 " (parameters\n"
10137 " (declare (in) vec2 x))\n"
10138 " ())\n"
10139 " (signature vec3\n"
10140 " (parameters\n"
10141 " (declare (in) vec3 x))\n"
10142 " ())\n"
10143 " (signature vec4\n"
10144 " (parameters\n"
10145 " (declare (in) vec4 x))\n"
10146 " ()))\n"
10147 "(function log\n"
10148 " (signature float\n"
10149 " (parameters\n"
10150 " (declare (in) float x))\n"
10151 " ())\n"
10152 " (signature vec2\n"
10153 " (parameters\n"
10154 " (declare (in) vec2 x))\n"
10155 " ())\n"
10156 " (signature vec3\n"
10157 " (parameters\n"
10158 " (declare (in) vec3 x))\n"
10159 " ())\n"
10160 " (signature vec4\n"
10161 " (parameters\n"
10162 " (declare (in) vec4 x))\n"
10163 " ()))\n"
10164 "(function exp2\n"
10165 " (signature float\n"
10166 " (parameters\n"
10167 " (declare (in) float x))\n"
10168 " ())\n"
10169 " (signature vec2\n"
10170 " (parameters\n"
10171 " (declare (in) vec2 x))\n"
10172 " ())\n"
10173 " (signature vec3\n"
10174 " (parameters\n"
10175 " (declare (in) vec3 x))\n"
10176 " ())\n"
10177 " (signature vec4\n"
10178 " (parameters\n"
10179 " (declare (in) vec4 x))\n"
10180 " ()))\n"
10181 "(function log2\n"
10182 " (signature float\n"
10183 " (parameters\n"
10184 " (declare (in) float x))\n"
10185 " ())\n"
10186 " (signature vec2\n"
10187 " (parameters\n"
10188 " (declare (in) vec2 x))\n"
10189 " ())\n"
10190 " (signature vec3\n"
10191 " (parameters\n"
10192 " (declare (in) vec3 x))\n"
10193 " ())\n"
10194 " (signature vec4\n"
10195 " (parameters\n"
10196 " (declare (in) vec4 x))\n"
10197 " ()))\n"
10198 "(function sqrt\n"
10199 " (signature float\n"
10200 " (parameters\n"
10201 " (declare (in) float x))\n"
10202 " ())\n"
10203 " (signature vec2\n"
10204 " (parameters\n"
10205 " (declare (in) vec2 x))\n"
10206 " ())\n"
10207 " (signature vec3\n"
10208 " (parameters\n"
10209 " (declare (in) vec3 x))\n"
10210 " ())\n"
10211 " (signature vec4\n"
10212 " (parameters\n"
10213 " (declare (in) vec4 x))\n"
10214 " ()))\n"
10215 "(function inversesqrt\n"
10216 " (signature float\n"
10217 " (parameters\n"
10218 " (declare (in) float x))\n"
10219 " ())\n"
10220 " (signature vec2\n"
10221 " (parameters\n"
10222 " (declare (in) vec2 x))\n"
10223 " ())\n"
10224 " (signature vec3\n"
10225 " (parameters\n"
10226 " (declare (in) vec3 x))\n"
10227 " ())\n"
10228 " (signature vec4\n"
10229 " (parameters\n"
10230 " (declare (in) vec4 x))\n"
10231 " ()))\n"
10232 "(function abs\n"
10233 " (signature float\n"
10234 " (parameters\n"
10235 " (declare (in) float x))\n"
10236 " ())\n"
10237 " (signature vec2\n"
10238 " (parameters\n"
10239 " (declare (in) vec2 x))\n"
10240 " ())\n"
10241 " (signature vec3\n"
10242 " (parameters\n"
10243 " (declare (in) vec3 x))\n"
10244 " ())\n"
10245 " (signature vec4\n"
10246 " (parameters\n"
10247 " (declare (in) vec4 x))\n"
10248 " ()))\n"
10249 "(function sign\n"
10250 " (signature float\n"
10251 " (parameters\n"
10252 " (declare (in) float x))\n"
10253 " ())\n"
10254 " (signature vec2\n"
10255 " (parameters\n"
10256 " (declare (in) vec2 x))\n"
10257 " ())\n"
10258 " (signature vec3\n"
10259 " (parameters\n"
10260 " (declare (in) vec3 x))\n"
10261 " ())\n"
10262 " (signature vec4\n"
10263 " (parameters\n"
10264 " (declare (in) vec4 x))\n"
10265 " ()))\n"
10266 "(function floor\n"
10267 " (signature float\n"
10268 " (parameters\n"
10269 " (declare (in) float x))\n"
10270 " ())\n"
10271 " (signature vec2\n"
10272 " (parameters\n"
10273 " (declare (in) vec2 x))\n"
10274 " ())\n"
10275 " (signature vec3\n"
10276 " (parameters\n"
10277 " (declare (in) vec3 x))\n"
10278 " ())\n"
10279 " (signature vec4\n"
10280 " (parameters\n"
10281 " (declare (in) vec4 x))\n"
10282 " ()))\n"
10283 "(function ceil\n"
10284 " (signature float\n"
10285 " (parameters\n"
10286 " (declare (in) float x))\n"
10287 " ())\n"
10288 " (signature vec2\n"
10289 " (parameters\n"
10290 " (declare (in) vec2 x))\n"
10291 " ())\n"
10292 " (signature vec3\n"
10293 " (parameters\n"
10294 " (declare (in) vec3 x))\n"
10295 " ())\n"
10296 " (signature vec4\n"
10297 " (parameters\n"
10298 " (declare (in) vec4 x))\n"
10299 " ()))\n"
10300 "(function fract\n"
10301 " (signature float\n"
10302 " (parameters\n"
10303 " (declare (in) float x))\n"
10304 " ())\n"
10305 " (signature vec2\n"
10306 " (parameters\n"
10307 " (declare (in) vec2 x))\n"
10308 " ())\n"
10309 " (signature vec3\n"
10310 " (parameters\n"
10311 " (declare (in) vec3 x))\n"
10312 " ())\n"
10313 " (signature vec4\n"
10314 " (parameters\n"
10315 " (declare (in) vec4 x))\n"
10316 " ()))\n"
10317 "(function mod\n"
10318 " (signature float\n"
10319 " (parameters\n"
10320 " (declare (in) float x)\n"
10321 " (declare (in) float y))\n"
10322 " ())\n"
10323 " (signature vec2\n"
10324 " (parameters\n"
10325 " (declare (in) vec2 x)\n"
10326 " (declare (in) float y))\n"
10327 " ())\n"
10328 " (signature vec3\n"
10329 " (parameters\n"
10330 " (declare (in) vec3 x)\n"
10331 " (declare (in) float y))\n"
10332 " ())\n"
10333 " (signature vec4\n"
10334 " (parameters\n"
10335 " (declare (in) vec4 x)\n"
10336 " (declare (in) float y))\n"
10337 " ())\n"
10338 " (signature vec2\n"
10339 " (parameters\n"
10340 " (declare (in) vec2 x)\n"
10341 " (declare (in) vec2 y))\n"
10342 " ())\n"
10343 " (signature vec3\n"
10344 " (parameters\n"
10345 " (declare (in) vec3 x)\n"
10346 " (declare (in) vec3 y))\n"
10347 " ())\n"
10348 " (signature vec4\n"
10349 " (parameters\n"
10350 " (declare (in) vec4 x)\n"
10351 " (declare (in) vec4 y))\n"
10352 " ()))\n"
10353 "(function min\n"
10354 " (signature float\n"
10355 " (parameters\n"
10356 " (declare (in) float x)\n"
10357 " (declare (in) float y))\n"
10358 " ())\n"
10359 " (signature vec2\n"
10360 " (parameters\n"
10361 " (declare (in) vec2 x)\n"
10362 " (declare (in) vec2 y))\n"
10363 " ())\n"
10364 " (signature vec3\n"
10365 " (parameters\n"
10366 " (declare (in) vec3 x)\n"
10367 " (declare (in) vec3 y))\n"
10368 " ())\n"
10369 " (signature vec4\n"
10370 " (parameters\n"
10371 " (declare (in) vec4 x)\n"
10372 " (declare (in) vec4 y))\n"
10373 " ())\n"
10374 " (signature vec2\n"
10375 " (parameters\n"
10376 " (declare (in) vec2 x)\n"
10377 " (declare (in) float y))\n"
10378 " ())\n"
10379 " (signature vec3\n"
10380 " (parameters\n"
10381 " (declare (in) vec3 x)\n"
10382 " (declare (in) float y))\n"
10383 " ())\n"
10384 " (signature vec4\n"
10385 " (parameters\n"
10386 " (declare (in) vec4 x)\n"
10387 " (declare (in) float y))\n"
10388 " ()))\n"
10389 "(function max\n"
10390 " (signature float\n"
10391 " (parameters\n"
10392 " (declare (in) float x)\n"
10393 " (declare (in) float y))\n"
10394 " ())\n"
10395 " (signature vec2\n"
10396 " (parameters\n"
10397 " (declare (in) vec2 x)\n"
10398 " (declare (in) vec2 y))\n"
10399 " ())\n"
10400 " (signature vec3\n"
10401 " (parameters\n"
10402 " (declare (in) vec3 x)\n"
10403 " (declare (in) vec3 y))\n"
10404 " ())\n"
10405 " (signature vec4\n"
10406 " (parameters\n"
10407 " (declare (in) vec4 x)\n"
10408 " (declare (in) vec4 y))\n"
10409 " ())\n"
10410 " (signature vec2\n"
10411 " (parameters\n"
10412 " (declare (in) vec2 x)\n"
10413 " (declare (in) float y))\n"
10414 " ())\n"
10415 " (signature vec3\n"
10416 " (parameters\n"
10417 " (declare (in) vec3 x)\n"
10418 " (declare (in) float y))\n"
10419 " ())\n"
10420 " (signature vec4\n"
10421 " (parameters\n"
10422 " (declare (in) vec4 x)\n"
10423 " (declare (in) float y))\n"
10424 " ()))\n"
10425 "(function clamp\n"
10426 " (signature float\n"
10427 " (parameters\n"
10428 " (declare (in) float x)\n"
10429 " (declare (in) float minVal)\n"
10430 " (declare (in) float maxVal))\n"
10431 " ())\n"
10432 " (signature vec2\n"
10433 " (parameters\n"
10434 " (declare (in) vec2 x)\n"
10435 " (declare (in) vec2 minVal)\n"
10436 " (declare (in) vec2 maxVal))\n"
10437 " ())\n"
10438 " (signature vec3\n"
10439 " (parameters\n"
10440 " (declare (in) vec3 x)\n"
10441 " (declare (in) vec3 minVal)\n"
10442 " (declare (in) vec3 maxVal))\n"
10443 " ())\n"
10444 " (signature vec4\n"
10445 " (parameters\n"
10446 " (declare (in) vec4 x)\n"
10447 " (declare (in) vec4 minVal)\n"
10448 " (declare (in) vec4 maxVal))\n"
10449 " ())\n"
10450 " (signature vec2\n"
10451 " (parameters\n"
10452 " (declare (in) vec2 x)\n"
10453 " (declare (in) float minVal)\n"
10454 " (declare (in) float maxVal))\n"
10455 " ())\n"
10456 " (signature vec3\n"
10457 " (parameters\n"
10458 " (declare (in) vec3 x)\n"
10459 " (declare (in) float minVal)\n"
10460 " (declare (in) float maxVal))\n"
10461 " ())\n"
10462 " (signature vec4\n"
10463 " (parameters\n"
10464 " (declare (in) vec4 x)\n"
10465 " (declare (in) float minVal)\n"
10466 " (declare (in) float maxVal))\n"
10467 " ()))\n"
10468 "(function mix\n"
10469 " (signature float\n"
10470 " (parameters\n"
10471 " (declare (in) float x)\n"
10472 " (declare (in) float y)\n"
10473 " (declare (in) float a))\n"
10474 " ())\n"
10475 " (signature vec2\n"
10476 " (parameters\n"
10477 " (declare (in) vec2 x)\n"
10478 " (declare (in) vec2 y)\n"
10479 " (declare (in) vec2 a))\n"
10480 " ())\n"
10481 " (signature vec3\n"
10482 " (parameters\n"
10483 " (declare (in) vec3 x)\n"
10484 " (declare (in) vec3 y)\n"
10485 " (declare (in) vec3 a))\n"
10486 " ())\n"
10487 " (signature vec4\n"
10488 " (parameters\n"
10489 " (declare (in) vec4 x)\n"
10490 " (declare (in) vec4 y)\n"
10491 " (declare (in) vec4 a))\n"
10492 " ())\n"
10493 " (signature vec2\n"
10494 " (parameters\n"
10495 " (declare (in) vec2 x)\n"
10496 " (declare (in) vec2 y)\n"
10497 " (declare (in) float a))\n"
10498 " ())\n"
10499 " (signature vec3\n"
10500 " (parameters\n"
10501 " (declare (in) vec3 x)\n"
10502 " (declare (in) vec3 y)\n"
10503 " (declare (in) float a))\n"
10504 " ())\n"
10505 " (signature vec4\n"
10506 " (parameters\n"
10507 " (declare (in) vec4 x)\n"
10508 " (declare (in) vec4 y)\n"
10509 " (declare (in) float a))\n"
10510 " ()))\n"
10511 "(function step\n"
10512 " (signature float\n"
10513 " (parameters\n"
10514 " (declare (in) float edge)\n"
10515 " (declare (in) float x))\n"
10516 " ())\n"
10517 " (signature vec2\n"
10518 " (parameters\n"
10519 " (declare (in) vec2 edge)\n"
10520 " (declare (in) vec2 x))\n"
10521 " ())\n"
10522 " (signature vec3\n"
10523 " (parameters\n"
10524 " (declare (in) vec3 edge)\n"
10525 " (declare (in) vec3 x))\n"
10526 " ())\n"
10527 " (signature vec4\n"
10528 " (parameters\n"
10529 " (declare (in) vec4 edge)\n"
10530 " (declare (in) vec4 x))\n"
10531 " ())\n"
10532 " (signature vec2\n"
10533 " (parameters\n"
10534 " (declare (in) float edge)\n"
10535 " (declare (in) vec2 x))\n"
10536 " ())\n"
10537 " (signature vec3\n"
10538 " (parameters\n"
10539 " (declare (in) float edge)\n"
10540 " (declare (in) vec3 x))\n"
10541 " ())\n"
10542 " (signature vec4\n"
10543 " (parameters\n"
10544 " (declare (in) float edge)\n"
10545 " (declare (in) vec4 x))\n"
10546 " ()))\n"
10547 "(function smoothstep\n"
10548 " (signature float\n"
10549 " (parameters\n"
10550 " (declare (in) float edge0)\n"
10551 " (declare (in) float edge1)\n"
10552 " (declare (in) float x))\n"
10553 " ())\n"
10554 " (signature vec2\n"
10555 " (parameters\n"
10556 " (declare (in) vec2 edge0)\n"
10557 " (declare (in) vec2 edge1)\n"
10558 " (declare (in) vec2 x))\n"
10559 " ())\n"
10560 " (signature vec3\n"
10561 " (parameters\n"
10562 " (declare (in) vec3 edge0)\n"
10563 " (declare (in) vec3 edge1)\n"
10564 " (declare (in) vec3 x))\n"
10565 " ())\n"
10566 " (signature vec4\n"
10567 " (parameters\n"
10568 " (declare (in) vec4 edge0)\n"
10569 " (declare (in) vec4 edge1)\n"
10570 " (declare (in) vec4 x))\n"
10571 " ())\n"
10572 " (signature vec2\n"
10573 " (parameters\n"
10574 " (declare (in) float edge0)\n"
10575 " (declare (in) float edge1)\n"
10576 " (declare (in) vec2 x))\n"
10577 " ())\n"
10578 " (signature vec3\n"
10579 " (parameters\n"
10580 " (declare (in) float edge0)\n"
10581 " (declare (in) float edge1)\n"
10582 " (declare (in) vec3 x))\n"
10583 " ())\n"
10584 " (signature vec4\n"
10585 " (parameters\n"
10586 " (declare (in) float edge0)\n"
10587 " (declare (in) float edge1)\n"
10588 " (declare (in) vec4 x))\n"
10589 " ()))\n"
10590 "(function length\n"
10591 " (signature float\n"
10592 " (parameters\n"
10593 " (declare (in) float x))\n"
10594 " ())\n"
10595 " (signature float\n"
10596 " (parameters\n"
10597 " (declare (in) vec2 x))\n"
10598 " ())\n"
10599 " (signature float\n"
10600 " (parameters\n"
10601 " (declare (in) vec3 x))\n"
10602 " ())\n"
10603 " (signature float\n"
10604 " (parameters\n"
10605 " (declare (in) vec4 x))\n"
10606 " ()))\n"
10607 "(function distance\n"
10608 " (signature float\n"
10609 " (parameters\n"
10610 " (declare (in) float p0)\n"
10611 " (declare (in) float p1))\n"
10612 " ())\n"
10613 " (signature float\n"
10614 " (parameters\n"
10615 " (declare (in) vec2 p0)\n"
10616 " (declare (in) vec2 p1))\n"
10617 " ())\n"
10618 " (signature float\n"
10619 " (parameters\n"
10620 " (declare (in) vec3 p0)\n"
10621 " (declare (in) vec3 p1))\n"
10622 " ())\n"
10623 " (signature float\n"
10624 " (parameters\n"
10625 " (declare (in) vec4 p0)\n"
10626 " (declare (in) vec4 p1))\n"
10627 " ()))\n"
10628 "(function dot\n"
10629 " (signature float\n"
10630 " (parameters\n"
10631 " (declare (in) float x)\n"
10632 " (declare (in) float y))\n"
10633 " ())\n"
10634 " (signature float\n"
10635 " (parameters\n"
10636 " (declare (in) vec2 x)\n"
10637 " (declare (in) vec2 y))\n"
10638 " ())\n"
10639 " (signature float\n"
10640 " (parameters\n"
10641 " (declare (in) vec3 x)\n"
10642 " (declare (in) vec3 y))\n"
10643 " ())\n"
10644 " (signature float\n"
10645 " (parameters\n"
10646 " (declare (in) vec4 x)\n"
10647 " (declare (in) vec4 y))\n"
10648 " ()))\n"
10649 "(function cross\n"
10650 " (signature vec3\n"
10651 " (parameters\n"
10652 " (declare (in) vec3 x)\n"
10653 " (declare (in) vec3 y))\n"
10654 " ()))\n"
10655 "(function normalize\n"
10656 " (signature float\n"
10657 " (parameters\n"
10658 " (declare (in) float x))\n"
10659 " ())\n"
10660 " (signature vec2\n"
10661 " (parameters\n"
10662 " (declare (in) vec2 x))\n"
10663 " ())\n"
10664 " (signature vec3\n"
10665 " (parameters\n"
10666 " (declare (in) vec3 x))\n"
10667 " ())\n"
10668 " (signature vec4\n"
10669 " (parameters\n"
10670 " (declare (in) vec4 x))\n"
10671 " ()))\n"
10672 "(function faceforward\n"
10673 " (signature float\n"
10674 " (parameters\n"
10675 " (declare (in) float N)\n"
10676 " (declare (in) float I)\n"
10677 " (declare (in) float Nref))\n"
10678 " ())\n"
10679 " (signature vec2\n"
10680 " (parameters\n"
10681 " (declare (in) vec2 N)\n"
10682 " (declare (in) vec2 I)\n"
10683 " (declare (in) vec2 Nref))\n"
10684 " ())\n"
10685 " (signature vec3\n"
10686 " (parameters\n"
10687 " (declare (in) vec3 N)\n"
10688 " (declare (in) vec3 I)\n"
10689 " (declare (in) vec3 Nref))\n"
10690 " ())\n"
10691 " (signature vec4\n"
10692 " (parameters\n"
10693 " (declare (in) vec4 N)\n"
10694 " (declare (in) vec4 I)\n"
10695 " (declare (in) vec4 Nref))\n"
10696 " ()))\n"
10697 "(function reflect\n"
10698 " (signature float\n"
10699 " (parameters\n"
10700 " (declare (in) float I)\n"
10701 " (declare (in) float N))\n"
10702 " ())\n"
10703 " (signature vec2\n"
10704 " (parameters\n"
10705 " (declare (in) vec2 I)\n"
10706 " (declare (in) vec2 N))\n"
10707 " ())\n"
10708 " (signature vec3\n"
10709 " (parameters\n"
10710 " (declare (in) vec3 I)\n"
10711 " (declare (in) vec3 N))\n"
10712 " ())\n"
10713 " (signature vec4\n"
10714 " (parameters\n"
10715 " (declare (in) vec4 I)\n"
10716 " (declare (in) vec4 N))\n"
10717 " ()))\n"
10718 "(function refract\n"
10719 " (signature float\n"
10720 " (parameters\n"
10721 " (declare (in) float I)\n"
10722 " (declare (in) float N)\n"
10723 " (declare (in) float eta))\n"
10724 " ())\n"
10725 " (signature vec2\n"
10726 " (parameters\n"
10727 " (declare (in) vec2 I)\n"
10728 " (declare (in) vec2 N)\n"
10729 " (declare (in) float eta))\n"
10730 " ())\n"
10731 " (signature vec3\n"
10732 " (parameters\n"
10733 " (declare (in) vec3 I)\n"
10734 " (declare (in) vec3 N)\n"
10735 " (declare (in) float eta))\n"
10736 " ())\n"
10737 " (signature vec4\n"
10738 " (parameters\n"
10739 " (declare (in) vec4 I)\n"
10740 " (declare (in) vec4 N)\n"
10741 " (declare (in) float eta))\n"
10742 " ()))\n"
10743 "(function matrixCompMult\n"
10744 " (signature mat2\n"
10745 " (parameters\n"
10746 " (declare (in) mat2 x)\n"
10747 " (declare (in) mat2 y))\n"
10748 " ())\n"
10749 " (signature mat3\n"
10750 " (parameters\n"
10751 " (declare (in) mat3 x)\n"
10752 " (declare (in) mat3 y))\n"
10753 " ())\n"
10754 " (signature mat4\n"
10755 " (parameters\n"
10756 " (declare (in) mat4 x)\n"
10757 " (declare (in) mat4 y))\n"
10758 " ())\n"
10759 " (signature mat2x3\n"
10760 " (parameters\n"
10761 " (declare (in) mat2x3 x)\n"
10762 " (declare (in) mat2x3 y))\n"
10763 " ())\n"
10764 " (signature mat2x4\n"
10765 " (parameters\n"
10766 " (declare (in) mat2x4 x)\n"
10767 " (declare (in) mat2x4 y))\n"
10768 " ())\n"
10769 " (signature mat3x2\n"
10770 " (parameters\n"
10771 " (declare (in) mat3x2 x)\n"
10772 " (declare (in) mat3x2 y))\n"
10773 " ())\n"
10774 " (signature mat3x4\n"
10775 " (parameters\n"
10776 " (declare (in) mat3x4 x)\n"
10777 " (declare (in) mat3x4 y))\n"
10778 " ())\n"
10779 " (signature mat4x2\n"
10780 " (parameters\n"
10781 " (declare (in) mat4x2 x)\n"
10782 " (declare (in) mat4x2 y))\n"
10783 " ())\n"
10784 " (signature mat4x3\n"
10785 " (parameters\n"
10786 " (declare (in) mat4x3 x)\n"
10787 " (declare (in) mat4x3 y))\n"
10788 " ()))\n"
10789 "(function outerProduct\n"
10790 " (signature mat2\n"
10791 " (parameters\n"
10792 " (declare (in) vec2 c)\n"
10793 " (declare (in) vec2 r))\n"
10794 " ())\n"
10795 " (signature mat3\n"
10796 " (parameters\n"
10797 " (declare (in) vec3 c)\n"
10798 " (declare (in) vec3 r))\n"
10799 " ())\n"
10800 " (signature mat4\n"
10801 " (parameters\n"
10802 " (declare (in) vec4 c)\n"
10803 " (declare (in) vec4 r))\n"
10804 " ())\n"
10805 " (signature mat2x3\n"
10806 " (parameters\n"
10807 " (declare (in) vec3 c)\n"
10808 " (declare (in) vec2 r))\n"
10809 " ())\n"
10810 " (signature mat3x2\n"
10811 " (parameters\n"
10812 " (declare (in) vec2 c)\n"
10813 " (declare (in) vec3 r))\n"
10814 " ())\n"
10815 " (signature mat2x4\n"
10816 " (parameters\n"
10817 " (declare (in) vec4 c)\n"
10818 " (declare (in) vec2 r))\n"
10819 " ())\n"
10820 " (signature mat4x2\n"
10821 " (parameters\n"
10822 " (declare (in) vec2 c)\n"
10823 " (declare (in) vec4 r))\n"
10824 " ())\n"
10825 " (signature mat3x4\n"
10826 " (parameters\n"
10827 " (declare (in) vec4 c)\n"
10828 " (declare (in) vec3 r))\n"
10829 " ())\n"
10830 " (signature mat4x3\n"
10831 " (parameters\n"
10832 " (declare (in) vec3 c)\n"
10833 " (declare (in) vec4 r))\n"
10834 " ()))\n"
10835 "(function transpose\n"
10836 " (signature mat2\n"
10837 " (parameters\n"
10838 " (declare (in) mat2 m))\n"
10839 " ())\n"
10840 " (signature mat3\n"
10841 " (parameters\n"
10842 " (declare (in) mat3 m))\n"
10843 " ())\n"
10844 " (signature mat4\n"
10845 " (parameters\n"
10846 " (declare (in) mat4 m))\n"
10847 " ())\n"
10848 " (signature mat2x3\n"
10849 " (parameters\n"
10850 " (declare (in) mat3x2 m))\n"
10851 " ())\n"
10852 " (signature mat3x2\n"
10853 " (parameters\n"
10854 " (declare (in) mat2x3 m))\n"
10855 " ())\n"
10856 " (signature mat2x4\n"
10857 " (parameters\n"
10858 " (declare (in) mat4x2 m))\n"
10859 " ())\n"
10860 " (signature mat4x2\n"
10861 " (parameters\n"
10862 " (declare (in) mat2x4 m))\n"
10863 " ())\n"
10864 " (signature mat3x4\n"
10865 " (parameters\n"
10866 " (declare (in) mat4x3 m))\n"
10867 " ())\n"
10868 " (signature mat4x3\n"
10869 " (parameters\n"
10870 " (declare (in) mat3x4 m))\n"
10871 " ()))\n"
10872 "(function lessThan\n"
10873 " (signature bvec2\n"
10874 " (parameters\n"
10875 " (declare (in) vec2 x)\n"
10876 " (declare (in) vec2 y))\n"
10877 " ())\n"
10878 " (signature bvec3\n"
10879 " (parameters\n"
10880 " (declare (in) vec3 x)\n"
10881 " (declare (in) vec3 y))\n"
10882 " ())\n"
10883 " (signature bvec4\n"
10884 " (parameters\n"
10885 " (declare (in) vec4 x)\n"
10886 " (declare (in) vec4 y))\n"
10887 " ())\n"
10888 " (signature bvec2\n"
10889 " (parameters\n"
10890 " (declare (in) ivec2 x)\n"
10891 " (declare (in) ivec2 y))\n"
10892 " ())\n"
10893 " (signature bvec3\n"
10894 " (parameters\n"
10895 " (declare (in) ivec3 x)\n"
10896 " (declare (in) ivec3 y))\n"
10897 " ())\n"
10898 " (signature bvec4\n"
10899 " (parameters\n"
10900 " (declare (in) ivec4 x)\n"
10901 " (declare (in) ivec4 y))\n"
10902 " ()))\n"
10903 "(function lessThanEqual\n"
10904 " (signature bvec2\n"
10905 " (parameters\n"
10906 " (declare (in) vec2 x)\n"
10907 " (declare (in) vec2 y))\n"
10908 " ())\n"
10909 " (signature bvec3\n"
10910 " (parameters\n"
10911 " (declare (in) vec3 x)\n"
10912 " (declare (in) vec3 y))\n"
10913 " ())\n"
10914 " (signature bvec4\n"
10915 " (parameters\n"
10916 " (declare (in) vec4 x)\n"
10917 " (declare (in) vec4 y))\n"
10918 " ())\n"
10919 " (signature bvec2\n"
10920 " (parameters\n"
10921 " (declare (in) ivec2 x)\n"
10922 " (declare (in) ivec2 y))\n"
10923 " ())\n"
10924 " (signature bvec3\n"
10925 " (parameters\n"
10926 " (declare (in) ivec3 x)\n"
10927 " (declare (in) ivec3 y))\n"
10928 " ())\n"
10929 " (signature bvec4\n"
10930 " (parameters\n"
10931 " (declare (in) ivec4 x)\n"
10932 " (declare (in) ivec4 y))\n"
10933 " ()))\n"
10934 "(function greaterThan\n"
10935 " (signature bvec2\n"
10936 " (parameters\n"
10937 " (declare (in) vec2 x)\n"
10938 " (declare (in) vec2 y))\n"
10939 " ())\n"
10940 " (signature bvec3\n"
10941 " (parameters\n"
10942 " (declare (in) vec3 x)\n"
10943 " (declare (in) vec3 y))\n"
10944 " ())\n"
10945 " (signature bvec4\n"
10946 " (parameters\n"
10947 " (declare (in) vec4 x)\n"
10948 " (declare (in) vec4 y))\n"
10949 " ())\n"
10950 " (signature bvec2\n"
10951 " (parameters\n"
10952 " (declare (in) ivec2 x)\n"
10953 " (declare (in) ivec2 y))\n"
10954 " ())\n"
10955 " (signature bvec3\n"
10956 " (parameters\n"
10957 " (declare (in) ivec3 x)\n"
10958 " (declare (in) ivec3 y))\n"
10959 " ())\n"
10960 " (signature bvec4\n"
10961 " (parameters\n"
10962 " (declare (in) ivec4 x)\n"
10963 " (declare (in) ivec4 y))\n"
10964 " ()))\n"
10965 "(function greaterThanEqual\n"
10966 " (signature bvec2\n"
10967 " (parameters\n"
10968 " (declare (in) vec2 x)\n"
10969 " (declare (in) vec2 y))\n"
10970 " ())\n"
10971 " (signature bvec3\n"
10972 " (parameters\n"
10973 " (declare (in) vec3 x)\n"
10974 " (declare (in) vec3 y))\n"
10975 " ())\n"
10976 " (signature bvec4\n"
10977 " (parameters\n"
10978 " (declare (in) vec4 x)\n"
10979 " (declare (in) vec4 y))\n"
10980 " ())\n"
10981 " (signature bvec2\n"
10982 " (parameters\n"
10983 " (declare (in) ivec2 x)\n"
10984 " (declare (in) ivec2 y))\n"
10985 " ())\n"
10986 " (signature bvec3\n"
10987 " (parameters\n"
10988 " (declare (in) ivec3 x)\n"
10989 " (declare (in) ivec3 y))\n"
10990 " ())\n"
10991 " (signature bvec4\n"
10992 " (parameters\n"
10993 " (declare (in) ivec4 x)\n"
10994 " (declare (in) ivec4 y))\n"
10995 " ()))\n"
10996 "(function equal\n"
10997 " (signature bvec2\n"
10998 " (parameters\n"
10999 " (declare (in) vec2 x)\n"
11000 " (declare (in) vec2 y))\n"
11001 " ())\n"
11002 " (signature bvec3\n"
11003 " (parameters\n"
11004 " (declare (in) vec3 x)\n"
11005 " (declare (in) vec3 y))\n"
11006 " ())\n"
11007 " (signature bvec4\n"
11008 " (parameters\n"
11009 " (declare (in) vec4 x)\n"
11010 " (declare (in) vec4 y))\n"
11011 " ())\n"
11012 " (signature bvec2\n"
11013 " (parameters\n"
11014 " (declare (in) ivec2 x)\n"
11015 " (declare (in) ivec2 y))\n"
11016 " ())\n"
11017 " (signature bvec3\n"
11018 " (parameters\n"
11019 " (declare (in) ivec3 x)\n"
11020 " (declare (in) ivec3 y))\n"
11021 " ())\n"
11022 " (signature bvec4\n"
11023 " (parameters\n"
11024 " (declare (in) ivec4 x)\n"
11025 " (declare (in) ivec4 y))\n"
11026 " ())\n"
11027 " (signature bvec2\n"
11028 " (parameters\n"
11029 " (declare (in) bvec2 x)\n"
11030 " (declare (in) bvec2 y))\n"
11031 " ())\n"
11032 " (signature bvec3\n"
11033 " (parameters\n"
11034 " (declare (in) bvec3 x)\n"
11035 " (declare (in) bvec3 y))\n"
11036 " ())\n"
11037 " (signature bvec4\n"
11038 " (parameters\n"
11039 " (declare (in) bvec4 x)\n"
11040 " (declare (in) bvec4 y))\n"
11041 " ()))\n"
11042 "(function notEqual\n"
11043 " (signature bvec2\n"
11044 " (parameters\n"
11045 " (declare (in) vec2 x)\n"
11046 " (declare (in) vec2 y))\n"
11047 " ())\n"
11048 " (signature bvec3\n"
11049 " (parameters\n"
11050 " (declare (in) vec3 x)\n"
11051 " (declare (in) vec3 y))\n"
11052 " ())\n"
11053 " (signature bvec4\n"
11054 " (parameters\n"
11055 " (declare (in) vec4 x)\n"
11056 " (declare (in) vec4 y))\n"
11057 " ())\n"
11058 " (signature bvec2\n"
11059 " (parameters\n"
11060 " (declare (in) ivec2 x)\n"
11061 " (declare (in) ivec2 y))\n"
11062 " ())\n"
11063 " (signature bvec3\n"
11064 " (parameters\n"
11065 " (declare (in) ivec3 x)\n"
11066 " (declare (in) ivec3 y))\n"
11067 " ())\n"
11068 " (signature bvec4\n"
11069 " (parameters\n"
11070 " (declare (in) ivec4 x)\n"
11071 " (declare (in) ivec4 y))\n"
11072 " ())\n"
11073 " (signature bvec2\n"
11074 " (parameters\n"
11075 " (declare (in) bvec2 x)\n"
11076 " (declare (in) bvec2 y))\n"
11077 " ())\n"
11078 " (signature bvec3\n"
11079 " (parameters\n"
11080 " (declare (in) bvec3 x)\n"
11081 " (declare (in) bvec3 y))\n"
11082 " ())\n"
11083 " (signature bvec4\n"
11084 " (parameters\n"
11085 " (declare (in) bvec4 x)\n"
11086 " (declare (in) bvec4 y))\n"
11087 " ()))\n"
11088 "(function any\n"
11089 " (signature bool\n"
11090 " (parameters\n"
11091 " (declare (in) bvec2 x))\n"
11092 " ())\n"
11093 " (signature bool\n"
11094 " (parameters\n"
11095 " (declare (in) bvec3 x))\n"
11096 " ())\n"
11097 " (signature bool\n"
11098 " (parameters\n"
11099 " (declare (in) bvec4 x))\n"
11100 " ()))\n"
11101 "(function all\n"
11102 " (signature bool\n"
11103 " (parameters\n"
11104 " (declare (in) bvec2 x))\n"
11105 " ())\n"
11106 " (signature bool\n"
11107 " (parameters\n"
11108 " (declare (in) bvec3 x))\n"
11109 " ())\n"
11110 " (signature bool\n"
11111 " (parameters\n"
11112 " (declare (in) bvec4 x))\n"
11113 " ()))\n"
11114 "(function not\n"
11115 " (signature bvec2\n"
11116 " (parameters\n"
11117 " (declare (in) bvec2 x))\n"
11118 " ())\n"
11119 " (signature bvec3\n"
11120 " (parameters\n"
11121 " (declare (in) bvec3 x))\n"
11122 " ())\n"
11123 " (signature bvec4\n"
11124 " (parameters\n"
11125 " (declare (in) bvec4 x))\n"
11126 " ()))\n"
11127 "(function texture1D\n"
11128 " (signature vec4\n"
11129 " (parameters\n"
11130 " (declare (in) sampler1D sampler)\n"
11131 " (declare (in) float coord))\n"
11132 " ())\n"
11133 " (signature vec4\n"
11134 " (parameters\n"
11135 " (declare (in) sampler1D sampler)\n"
11136 " (declare (in) float coord)\n"
11137 " (declare (in) float bias))\n"
11138 " ()))\n"
11139 "(function texture1DProj\n"
11140 " (signature vec4\n"
11141 " (parameters\n"
11142 " (declare (in) sampler1D sampler)\n"
11143 " (declare (in) vec2 coord))\n"
11144 " ())\n"
11145 " (signature vec4\n"
11146 " (parameters\n"
11147 " (declare (in) sampler1D sampler)\n"
11148 " (declare (in) vec4 coord))\n"
11149 " ())\n"
11150 " (signature vec4\n"
11151 " (parameters\n"
11152 " (declare (in) sampler1D sampler)\n"
11153 " (declare (in) vec2 coord)\n"
11154 " (declare (in) float bias))\n"
11155 " ())\n"
11156 " (signature vec4\n"
11157 " (parameters\n"
11158 " (declare (in) sampler1D sampler)\n"
11159 " (declare (in) vec4 coord)\n"
11160 " (declare (in) float bias))\n"
11161 " ()))\n"
11162 "(function texture2D\n"
11163 " (signature vec4\n"
11164 " (parameters\n"
11165 " (declare (in) sampler2D sampler)\n"
11166 " (declare (in) vec2 coord))\n"
11167 " ())\n"
11168 " (signature vec4\n"
11169 " (parameters\n"
11170 " (declare (in) sampler2D sampler)\n"
11171 " (declare (in) vec2 coord)\n"
11172 " (declare (in) float bias))\n"
11173 " ()))\n"
11174 "(function texture2DProj\n"
11175 " (signature vec4\n"
11176 " (parameters\n"
11177 " (declare (in) sampler2D sampler)\n"
11178 " (declare (in) vec3 coord))\n"
11179 " ())\n"
11180 " (signature vec4\n"
11181 " (parameters\n"
11182 " (declare (in) sampler2D sampler)\n"
11183 " (declare (in) vec4 coord))\n"
11184 " ())\n"
11185 " (signature vec4\n"
11186 " (parameters\n"
11187 " (declare (in) sampler2D sampler)\n"
11188 " (declare (in) vec3 coord)\n"
11189 " (declare (in) float bias))\n"
11190 " ())\n"
11191 " (signature vec4\n"
11192 " (parameters\n"
11193 " (declare (in) sampler2D sampler)\n"
11194 " (declare (in) vec4 coord)\n"
11195 " (declare (in) float bias))\n"
11196 " ()))\n"
11197 "(function texture3D\n"
11198 " (signature vec4\n"
11199 " (parameters\n"
11200 " (declare (in) sampler3D sampler)\n"
11201 " (declare (in) vec3 coord))\n"
11202 " ())\n"
11203 " (signature vec4\n"
11204 " (parameters\n"
11205 " (declare (in) sampler3D sampler)\n"
11206 " (declare (in) vec3 coord)\n"
11207 " (declare (in) float bias))\n"
11208 " ()))\n"
11209 "(function texture3DProj\n"
11210 " (signature vec4\n"
11211 " (parameters\n"
11212 " (declare (in) sampler3D sampler)\n"
11213 " (declare (in) vec4 coord))\n"
11214 " ())\n"
11215 " (signature vec4\n"
11216 " (parameters\n"
11217 " (declare (in) sampler3D sampler)\n"
11218 " (declare (in) vec4 coord)\n"
11219 " (declare (in) float bias))\n"
11220 " ()))\n"
11221 "(function textureCube\n"
11222 " (signature vec4\n"
11223 " (parameters\n"
11224 " (declare (in) samplerCube sampler)\n"
11225 " (declare (in) vec3 coord))\n"
11226 " ())\n"
11227 " (signature vec4\n"
11228 " (parameters\n"
11229 " (declare (in) samplerCube sampler)\n"
11230 " (declare (in) vec3 coord)\n"
11231 " (declare (in) float bias))\n"
11232 " ()))\n"
11233 "(function shadow1D\n"
11234 " (signature vec4\n"
11235 " (parameters\n"
11236 " (declare (in) sampler1DShadow sampler)\n"
11237 " (declare (in) vec3 coord))\n"
11238 " ())\n"
11239 " (signature vec4\n"
11240 " (parameters\n"
11241 " (declare (in) sampler1DShadow sampler)\n"
11242 " (declare (in) vec3 coord)\n"
11243 " (declare (in) float bias))\n"
11244 " ()))\n"
11245 "(function shadow2D\n"
11246 " (signature vec4\n"
11247 " (parameters\n"
11248 " (declare (in) sampler2DShadow sampler)\n"
11249 " (declare (in) vec3 coord))\n"
11250 " ())\n"
11251 " (signature vec4\n"
11252 " (parameters\n"
11253 " (declare (in) sampler2DShadow sampler)\n"
11254 " (declare (in) vec3 coord)\n"
11255 " (declare (in) float bias))\n"
11256 " ()))\n"
11257 "(function shadow1DProj\n"
11258 " (signature vec4\n"
11259 " (parameters\n"
11260 " (declare (in) sampler1DShadow sampler)\n"
11261 " (declare (in) vec4 coord))\n"
11262 " ())\n"
11263 " (signature vec4\n"
11264 " (parameters\n"
11265 " (declare (in) sampler1DShadow sampler)\n"
11266 " (declare (in) vec4 coord)\n"
11267 " (declare (in) float bias))\n"
11268 " ()))\n"
11269 "(function shadow2DProj\n"
11270 " (signature vec4\n"
11271 " (parameters\n"
11272 " (declare (in) sampler2DShadow sampler)\n"
11273 " (declare (in) vec4 coord))\n"
11274 " ())\n"
11275 " (signature vec4\n"
11276 " (parameters\n"
11277 " (declare (in) sampler2DShadow sampler)\n"
11278 " (declare (in) vec4 coord)\n"
11279 " (declare (in) float bias))\n"
11280 " ()))\n"
11281 "(function dFdx\n"
11282 " (signature float\n"
11283 " (parameters\n"
11284 " (declare (in) float p))\n"
11285 " ())\n"
11286 " (signature vec2\n"
11287 " (parameters\n"
11288 " (declare (in) vec2 p))\n"
11289 " ())\n"
11290 " (signature vec3\n"
11291 " (parameters\n"
11292 " (declare (in) vec3 p))\n"
11293 " ())\n"
11294 " (signature vec4\n"
11295 " (parameters\n"
11296 " (declare (in) vec4 p))\n"
11297 " ()))\n"
11298 "(function dFdy\n"
11299 " (signature float\n"
11300 " (parameters\n"
11301 " (declare (in) float p))\n"
11302 " ())\n"
11303 " (signature vec2\n"
11304 " (parameters\n"
11305 " (declare (in) vec2 p))\n"
11306 " ())\n"
11307 " (signature vec3\n"
11308 " (parameters\n"
11309 " (declare (in) vec3 p))\n"
11310 " ())\n"
11311 " (signature vec4\n"
11312 " (parameters\n"
11313 " (declare (in) vec4 p))\n"
11314 " ()))\n"
11315 "(function fwidth\n"
11316 " (signature float\n"
11317 " (parameters\n"
11318 " (declare (in) float p))\n"
11319 " ())\n"
11320 " (signature vec2\n"
11321 " (parameters\n"
11322 " (declare (in) vec2 p))\n"
11323 " ())\n"
11324 " (signature vec3\n"
11325 " (parameters\n"
11326 " (declare (in) vec3 p))\n"
11327 " ())\n"
11328 " (signature vec4\n"
11329 " (parameters\n"
11330 " (declare (in) vec4 p))\n"
11331 " ()))\n"
11332 "(function noise1\n"
11333 " (signature float\n"
11334 " (parameters\n"
11335 " (declare (in) float x))\n"
11336 " ())\n"
11337 " (signature float\n"
11338 " (parameters\n"
11339 " (declare (in) vec2 x))\n"
11340 " ())\n"
11341 " (signature float\n"
11342 " (parameters\n"
11343 " (declare (in) vec3 x))\n"
11344 " ())\n"
11345 " (signature float\n"
11346 " (parameters\n"
11347 " (declare (in) vec4 x))\n"
11348 " ()))\n"
11349 "(function noise2\n"
11350 " (signature vec2\n"
11351 " (parameters\n"
11352 " (declare (in) float x))\n"
11353 " ())\n"
11354 " (signature vec2\n"
11355 " (parameters\n"
11356 " (declare (in) vec2 x))\n"
11357 " ())\n"
11358 " (signature vec2\n"
11359 " (parameters\n"
11360 " (declare (in) vec3 x))\n"
11361 " ())\n"
11362 " (signature vec2\n"
11363 " (parameters\n"
11364 " (declare (in) vec4 x))\n"
11365 " ()))\n"
11366 "(function noise3\n"
11367 " (signature vec3\n"
11368 " (parameters\n"
11369 " (declare (in) float x))\n"
11370 " ())\n"
11371 " (signature vec3\n"
11372 " (parameters\n"
11373 " (declare (in) vec2 x))\n"
11374 " ())\n"
11375 " (signature vec3\n"
11376 " (parameters\n"
11377 " (declare (in) vec3 x))\n"
11378 " ())\n"
11379 " (signature vec3\n"
11380 " (parameters\n"
11381 " (declare (in) vec4 x))\n"
11382 " ()))\n"
11383 "(function noise4\n"
11384 " (signature vec4\n"
11385 " (parameters\n"
11386 " (declare (in) float x))\n"
11387 " ())\n"
11388 " (signature vec4\n"
11389 " (parameters\n"
11390 " (declare (in) vec2 x))\n"
11391 " ())\n"
11392 " (signature vec4\n"
11393 " (parameters\n"
11394 " (declare (in) vec3 x))\n"
11395 " ())\n"
11396 " (signature vec4\n"
11397 " (parameters\n"
11398 " (declare (in) vec4 x))\n"
11399 " ())))"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011400;
Eric Anholt47003a82010-08-23 12:39:35 -070011401static const char *functions_for_120_frag [] = {
11402 builtin_abs,
11403 builtin_acos,
11404 builtin_all,
11405 builtin_any,
11406 builtin_asin,
11407 builtin_atan,
11408 builtin_ceil,
11409 builtin_clamp,
11410 builtin_cos,
11411 builtin_cross,
11412 builtin_dFdx,
11413 builtin_dFdy,
11414 builtin_degrees,
11415 builtin_distance,
11416 builtin_dot,
11417 builtin_equal,
11418 builtin_exp,
11419 builtin_exp2,
11420 builtin_faceforward,
11421 builtin_floor,
11422 builtin_fract,
11423 builtin_fwidth,
11424 builtin_greaterThan,
11425 builtin_greaterThanEqual,
11426 builtin_inversesqrt,
11427 builtin_length,
11428 builtin_lessThan,
11429 builtin_lessThanEqual,
11430 builtin_log,
11431 builtin_log2,
11432 builtin_matrixCompMult,
11433 builtin_max,
11434 builtin_min,
11435 builtin_mix,
11436 builtin_mod,
11437 builtin_noise1,
11438 builtin_noise2,
11439 builtin_noise3,
11440 builtin_noise4,
11441 builtin_normalize,
11442 builtin_not,
11443 builtin_notEqual,
11444 builtin_outerProduct,
11445 builtin_pow,
11446 builtin_radians,
11447 builtin_reflect,
11448 builtin_refract,
11449 builtin_shadow1D,
11450 builtin_shadow1DProj,
11451 builtin_shadow2D,
11452 builtin_shadow2DProj,
11453 builtin_sign,
11454 builtin_sin,
11455 builtin_smoothstep,
11456 builtin_sqrt,
11457 builtin_step,
11458 builtin_tan,
11459 builtin_texture1D,
11460 builtin_texture1DProj,
11461 builtin_texture2D,
11462 builtin_texture2DProj,
11463 builtin_texture3D,
11464 builtin_texture3DProj,
11465 builtin_textureCube,
11466 builtin_transpose,
11467};
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011468static const char *prototypes_for_120_vert =
11469 "(\n"
11470 "(function radians\n"
11471 " (signature float\n"
11472 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011473 " (declare (in) float degrees))\n"
11474 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011475 " (signature vec2\n"
11476 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011477 " (declare (in) vec2 degrees))\n"
11478 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011479 " (signature vec3\n"
11480 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011481 " (declare (in) vec3 degrees))\n"
11482 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011483 " (signature vec4\n"
11484 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011485 " (declare (in) vec4 degrees))\n"
11486 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011487 "(function degrees\n"
11488 " (signature float\n"
11489 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011490 " (declare (in) float radians))\n"
11491 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011492 " (signature vec2\n"
11493 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011494 " (declare (in) vec2 radians))\n"
11495 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011496 " (signature vec3\n"
11497 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011498 " (declare (in) vec3 radians))\n"
11499 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011500 " (signature vec4\n"
11501 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011502 " (declare (in) vec4 radians))\n"
11503 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011504 "(function sin\n"
11505 " (signature float\n"
11506 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011507 " (declare (in) float angle))\n"
11508 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011509 " (signature vec2\n"
11510 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011511 " (declare (in) vec2 angle))\n"
11512 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011513 " (signature vec3\n"
11514 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011515 " (declare (in) vec3 angle))\n"
11516 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011517 " (signature vec4\n"
11518 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011519 " (declare (in) vec4 angle))\n"
11520 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011521 "(function cos\n"
11522 " (signature float\n"
11523 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011524 " (declare (in) float angle))\n"
11525 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011526 " (signature vec2\n"
11527 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011528 " (declare (in) vec2 angle))\n"
11529 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011530 " (signature vec3\n"
11531 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011532 " (declare (in) vec3 angle))\n"
11533 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011534 " (signature vec4\n"
11535 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011536 " (declare (in) vec4 angle))\n"
11537 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011538 "(function tan\n"
11539 " (signature float\n"
11540 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011541 " (declare (in) float angle))\n"
11542 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011543 " (signature vec2\n"
11544 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011545 " (declare (in) vec2 angle))\n"
11546 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011547 " (signature vec3\n"
11548 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011549 " (declare (in) vec3 angle))\n"
11550 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011551 " (signature vec4\n"
11552 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011553 " (declare (in) vec4 angle))\n"
11554 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011555 "(function asin\n"
11556 " (signature float\n"
11557 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011558 " (declare (in) float angle))\n"
11559 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011560 " (signature vec2\n"
11561 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011562 " (declare (in) vec2 angle))\n"
11563 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011564 " (signature vec3\n"
11565 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011566 " (declare (in) vec3 angle))\n"
11567 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011568 " (signature vec4\n"
11569 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011570 " (declare (in) vec4 angle))\n"
11571 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011572 "(function acos\n"
11573 " (signature float\n"
11574 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011575 " (declare (in) float angle))\n"
11576 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011577 " (signature vec2\n"
11578 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011579 " (declare (in) vec2 angle))\n"
11580 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011581 " (signature vec3\n"
11582 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011583 " (declare (in) vec3 angle))\n"
11584 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011585 " (signature vec4\n"
11586 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011587 " (declare (in) vec4 angle))\n"
11588 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011589 "(function atan\n"
11590 " (signature float\n"
11591 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011592 " (declare (in) float y)\n"
11593 " (declare (in) float x))\n"
11594 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011595 " (signature vec2\n"
11596 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011597 " (declare (in) vec2 y)\n"
11598 " (declare (in) vec2 x))\n"
11599 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011600 " (signature vec3\n"
11601 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011602 " (declare (in) vec3 y)\n"
11603 " (declare (in) vec3 x))\n"
11604 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011605 " (signature vec4\n"
11606 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011607 " (declare (in) vec4 y)\n"
11608 " (declare (in) vec4 x))\n"
11609 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011610 " (signature float\n"
11611 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011612 " (declare (in) float y_over_x))\n"
11613 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011614 " (signature vec2\n"
11615 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011616 " (declare (in) vec2 y_over_x))\n"
11617 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011618 " (signature vec3\n"
11619 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011620 " (declare (in) vec3 y_over_x))\n"
11621 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011622 " (signature vec4\n"
11623 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011624 " (declare (in) vec4 y_over_x))\n"
11625 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011626 "(function pow\n"
11627 " (signature float\n"
11628 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011629 " (declare (in) float x)\n"
11630 " (declare (in) float y))\n"
11631 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011632 " (signature vec2\n"
11633 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011634 " (declare (in) vec2 x)\n"
11635 " (declare (in) vec2 y))\n"
11636 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011637 " (signature vec3\n"
11638 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011639 " (declare (in) vec3 x)\n"
11640 " (declare (in) vec3 y))\n"
11641 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011642 " (signature vec4\n"
11643 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011644 " (declare (in) vec4 x)\n"
11645 " (declare (in) vec4 y))\n"
11646 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011647 "(function exp\n"
11648 " (signature float\n"
11649 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011650 " (declare (in) float x))\n"
11651 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011652 " (signature vec2\n"
11653 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011654 " (declare (in) vec2 x))\n"
11655 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011656 " (signature vec3\n"
11657 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011658 " (declare (in) vec3 x))\n"
11659 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011660 " (signature vec4\n"
11661 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011662 " (declare (in) vec4 x))\n"
11663 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011664 "(function log\n"
11665 " (signature float\n"
11666 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011667 " (declare (in) float x))\n"
11668 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011669 " (signature vec2\n"
11670 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011671 " (declare (in) vec2 x))\n"
11672 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011673 " (signature vec3\n"
11674 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011675 " (declare (in) vec3 x))\n"
11676 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011677 " (signature vec4\n"
11678 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011679 " (declare (in) vec4 x))\n"
11680 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011681 "(function exp2\n"
11682 " (signature float\n"
11683 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011684 " (declare (in) float x))\n"
11685 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011686 " (signature vec2\n"
11687 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011688 " (declare (in) vec2 x))\n"
11689 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011690 " (signature vec3\n"
11691 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011692 " (declare (in) vec3 x))\n"
11693 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011694 " (signature vec4\n"
11695 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011696 " (declare (in) vec4 x))\n"
11697 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011698 "(function log2\n"
11699 " (signature float\n"
11700 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011701 " (declare (in) float x))\n"
11702 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011703 " (signature vec2\n"
11704 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011705 " (declare (in) vec2 x))\n"
11706 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011707 " (signature vec3\n"
11708 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011709 " (declare (in) vec3 x))\n"
11710 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011711 " (signature vec4\n"
11712 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011713 " (declare (in) vec4 x))\n"
11714 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011715 "(function sqrt\n"
11716 " (signature float\n"
11717 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011718 " (declare (in) float x))\n"
11719 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011720 " (signature vec2\n"
11721 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011722 " (declare (in) vec2 x))\n"
11723 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011724 " (signature vec3\n"
11725 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011726 " (declare (in) vec3 x))\n"
11727 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011728 " (signature vec4\n"
11729 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011730 " (declare (in) vec4 x))\n"
11731 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011732 "(function inversesqrt\n"
11733 " (signature float\n"
11734 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011735 " (declare (in) float x))\n"
11736 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011737 " (signature vec2\n"
11738 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011739 " (declare (in) vec2 x))\n"
11740 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011741 " (signature vec3\n"
11742 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011743 " (declare (in) vec3 x))\n"
11744 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011745 " (signature vec4\n"
11746 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011747 " (declare (in) vec4 x))\n"
11748 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011749 "(function abs\n"
11750 " (signature float\n"
11751 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011752 " (declare (in) float x))\n"
11753 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011754 " (signature vec2\n"
11755 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011756 " (declare (in) vec2 x))\n"
11757 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011758 " (signature vec3\n"
11759 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011760 " (declare (in) vec3 x))\n"
11761 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011762 " (signature vec4\n"
11763 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011764 " (declare (in) vec4 x))\n"
11765 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011766 "(function sign\n"
11767 " (signature float\n"
11768 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011769 " (declare (in) float x))\n"
11770 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011771 " (signature vec2\n"
11772 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011773 " (declare (in) vec2 x))\n"
11774 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011775 " (signature vec3\n"
11776 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011777 " (declare (in) vec3 x))\n"
11778 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011779 " (signature vec4\n"
11780 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011781 " (declare (in) vec4 x))\n"
11782 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011783 "(function floor\n"
11784 " (signature float\n"
11785 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011786 " (declare (in) float x))\n"
11787 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011788 " (signature vec2\n"
11789 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011790 " (declare (in) vec2 x))\n"
11791 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011792 " (signature vec3\n"
11793 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011794 " (declare (in) vec3 x))\n"
11795 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011796 " (signature vec4\n"
11797 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011798 " (declare (in) vec4 x))\n"
11799 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011800 "(function ceil\n"
11801 " (signature float\n"
11802 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011803 " (declare (in) float x))\n"
11804 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011805 " (signature vec2\n"
11806 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011807 " (declare (in) vec2 x))\n"
11808 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011809 " (signature vec3\n"
11810 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011811 " (declare (in) vec3 x))\n"
11812 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011813 " (signature vec4\n"
11814 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011815 " (declare (in) vec4 x))\n"
11816 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011817 "(function fract\n"
11818 " (signature float\n"
11819 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011820 " (declare (in) float x))\n"
11821 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011822 " (signature vec2\n"
11823 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011824 " (declare (in) vec2 x))\n"
11825 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011826 " (signature vec3\n"
11827 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011828 " (declare (in) vec3 x))\n"
11829 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011830 " (signature vec4\n"
11831 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011832 " (declare (in) vec4 x))\n"
11833 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011834 "(function mod\n"
11835 " (signature float\n"
11836 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011837 " (declare (in) float x)\n"
11838 " (declare (in) float y))\n"
11839 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011840 " (signature vec2\n"
11841 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011842 " (declare (in) vec2 x)\n"
11843 " (declare (in) float y))\n"
11844 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011845 " (signature vec3\n"
11846 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011847 " (declare (in) vec3 x)\n"
11848 " (declare (in) float y))\n"
11849 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011850 " (signature vec4\n"
11851 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011852 " (declare (in) vec4 x)\n"
11853 " (declare (in) float y))\n"
11854 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011855 " (signature vec2\n"
11856 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011857 " (declare (in) vec2 x)\n"
11858 " (declare (in) vec2 y))\n"
11859 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011860 " (signature vec3\n"
11861 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011862 " (declare (in) vec3 x)\n"
11863 " (declare (in) vec3 y))\n"
11864 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011865 " (signature vec4\n"
11866 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011867 " (declare (in) vec4 x)\n"
11868 " (declare (in) vec4 y))\n"
11869 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011870 "(function min\n"
11871 " (signature float\n"
11872 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011873 " (declare (in) float x)\n"
11874 " (declare (in) float y))\n"
11875 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011876 " (signature vec2\n"
11877 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011878 " (declare (in) vec2 x)\n"
11879 " (declare (in) vec2 y))\n"
11880 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011881 " (signature vec3\n"
11882 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011883 " (declare (in) vec3 x)\n"
11884 " (declare (in) vec3 y))\n"
11885 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011886 " (signature vec4\n"
11887 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011888 " (declare (in) vec4 x)\n"
11889 " (declare (in) vec4 y))\n"
11890 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011891 " (signature vec2\n"
11892 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011893 " (declare (in) vec2 x)\n"
11894 " (declare (in) float y))\n"
11895 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011896 " (signature vec3\n"
11897 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011898 " (declare (in) vec3 x)\n"
11899 " (declare (in) float y))\n"
11900 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011901 " (signature vec4\n"
11902 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011903 " (declare (in) vec4 x)\n"
11904 " (declare (in) float y))\n"
11905 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011906 "(function max\n"
11907 " (signature float\n"
11908 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011909 " (declare (in) float x)\n"
11910 " (declare (in) float y))\n"
11911 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011912 " (signature vec2\n"
11913 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011914 " (declare (in) vec2 x)\n"
11915 " (declare (in) vec2 y))\n"
11916 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011917 " (signature vec3\n"
11918 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011919 " (declare (in) vec3 x)\n"
11920 " (declare (in) vec3 y))\n"
11921 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011922 " (signature vec4\n"
11923 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011924 " (declare (in) vec4 x)\n"
11925 " (declare (in) vec4 y))\n"
11926 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011927 " (signature vec2\n"
11928 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011929 " (declare (in) vec2 x)\n"
11930 " (declare (in) float y))\n"
11931 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011932 " (signature vec3\n"
11933 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011934 " (declare (in) vec3 x)\n"
11935 " (declare (in) float y))\n"
11936 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011937 " (signature vec4\n"
11938 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011939 " (declare (in) vec4 x)\n"
11940 " (declare (in) float y))\n"
11941 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011942 "(function clamp\n"
11943 " (signature float\n"
11944 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011945 " (declare (in) float x)\n"
11946 " (declare (in) float minVal)\n"
11947 " (declare (in) float maxVal))\n"
11948 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011949 " (signature vec2\n"
11950 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011951 " (declare (in) vec2 x)\n"
11952 " (declare (in) vec2 minVal)\n"
11953 " (declare (in) vec2 maxVal))\n"
11954 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011955 " (signature vec3\n"
11956 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011957 " (declare (in) vec3 x)\n"
11958 " (declare (in) vec3 minVal)\n"
11959 " (declare (in) vec3 maxVal))\n"
11960 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011961 " (signature vec4\n"
11962 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011963 " (declare (in) vec4 x)\n"
11964 " (declare (in) vec4 minVal)\n"
11965 " (declare (in) vec4 maxVal))\n"
11966 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011967 " (signature vec2\n"
11968 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011969 " (declare (in) vec2 x)\n"
11970 " (declare (in) float minVal)\n"
11971 " (declare (in) float maxVal))\n"
11972 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011973 " (signature vec3\n"
11974 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011975 " (declare (in) vec3 x)\n"
11976 " (declare (in) float minVal)\n"
11977 " (declare (in) float maxVal))\n"
11978 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011979 " (signature vec4\n"
11980 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011981 " (declare (in) vec4 x)\n"
11982 " (declare (in) float minVal)\n"
11983 " (declare (in) float maxVal))\n"
11984 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011985 "(function mix\n"
11986 " (signature float\n"
11987 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011988 " (declare (in) float x)\n"
11989 " (declare (in) float y)\n"
11990 " (declare (in) float a))\n"
11991 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011992 " (signature vec2\n"
11993 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011994 " (declare (in) vec2 x)\n"
11995 " (declare (in) vec2 y)\n"
11996 " (declare (in) vec2 a))\n"
11997 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011998 " (signature vec3\n"
11999 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012000 " (declare (in) vec3 x)\n"
12001 " (declare (in) vec3 y)\n"
12002 " (declare (in) vec3 a))\n"
12003 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012004 " (signature vec4\n"
12005 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012006 " (declare (in) vec4 x)\n"
12007 " (declare (in) vec4 y)\n"
12008 " (declare (in) vec4 a))\n"
12009 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012010 " (signature vec2\n"
12011 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012012 " (declare (in) vec2 x)\n"
12013 " (declare (in) vec2 y)\n"
12014 " (declare (in) float a))\n"
12015 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012016 " (signature vec3\n"
12017 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012018 " (declare (in) vec3 x)\n"
12019 " (declare (in) vec3 y)\n"
12020 " (declare (in) float a))\n"
12021 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012022 " (signature vec4\n"
12023 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012024 " (declare (in) vec4 x)\n"
12025 " (declare (in) vec4 y)\n"
12026 " (declare (in) float a))\n"
12027 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012028 "(function step\n"
12029 " (signature float\n"
12030 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012031 " (declare (in) float edge)\n"
12032 " (declare (in) float x))\n"
12033 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012034 " (signature vec2\n"
12035 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012036 " (declare (in) vec2 edge)\n"
12037 " (declare (in) vec2 x))\n"
12038 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012039 " (signature vec3\n"
12040 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012041 " (declare (in) vec3 edge)\n"
12042 " (declare (in) vec3 x))\n"
12043 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012044 " (signature vec4\n"
12045 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012046 " (declare (in) vec4 edge)\n"
12047 " (declare (in) vec4 x))\n"
12048 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012049 " (signature vec2\n"
12050 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012051 " (declare (in) float edge)\n"
12052 " (declare (in) vec2 x))\n"
12053 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012054 " (signature vec3\n"
12055 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012056 " (declare (in) float edge)\n"
12057 " (declare (in) vec3 x))\n"
12058 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012059 " (signature vec4\n"
12060 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012061 " (declare (in) float edge)\n"
12062 " (declare (in) vec4 x))\n"
12063 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012064 "(function smoothstep\n"
12065 " (signature float\n"
12066 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012067 " (declare (in) float edge0)\n"
12068 " (declare (in) float edge1)\n"
12069 " (declare (in) float x))\n"
12070 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012071 " (signature vec2\n"
12072 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012073 " (declare (in) vec2 edge0)\n"
12074 " (declare (in) vec2 edge1)\n"
12075 " (declare (in) vec2 x))\n"
12076 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012077 " (signature vec3\n"
12078 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012079 " (declare (in) vec3 edge0)\n"
12080 " (declare (in) vec3 edge1)\n"
12081 " (declare (in) vec3 x))\n"
12082 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012083 " (signature vec4\n"
12084 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012085 " (declare (in) vec4 edge0)\n"
12086 " (declare (in) vec4 edge1)\n"
12087 " (declare (in) vec4 x))\n"
12088 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012089 " (signature vec2\n"
12090 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012091 " (declare (in) float edge0)\n"
12092 " (declare (in) float edge1)\n"
12093 " (declare (in) vec2 x))\n"
12094 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012095 " (signature vec3\n"
12096 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012097 " (declare (in) float edge0)\n"
12098 " (declare (in) float edge1)\n"
12099 " (declare (in) vec3 x))\n"
12100 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012101 " (signature vec4\n"
12102 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012103 " (declare (in) float edge0)\n"
12104 " (declare (in) float edge1)\n"
12105 " (declare (in) vec4 x))\n"
12106 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012107 "(function length\n"
12108 " (signature float\n"
12109 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012110 " (declare (in) float x))\n"
12111 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012112 " (signature float\n"
12113 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012114 " (declare (in) vec2 x))\n"
12115 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012116 " (signature float\n"
12117 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012118 " (declare (in) vec3 x))\n"
12119 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012120 " (signature float\n"
12121 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012122 " (declare (in) vec4 x))\n"
12123 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012124 "(function distance\n"
12125 " (signature float\n"
12126 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012127 " (declare (in) float p0)\n"
12128 " (declare (in) float p1))\n"
12129 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012130 " (signature float\n"
12131 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012132 " (declare (in) vec2 p0)\n"
12133 " (declare (in) vec2 p1))\n"
12134 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012135 " (signature float\n"
12136 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012137 " (declare (in) vec3 p0)\n"
12138 " (declare (in) vec3 p1))\n"
12139 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012140 " (signature float\n"
12141 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012142 " (declare (in) vec4 p0)\n"
12143 " (declare (in) vec4 p1))\n"
12144 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012145 "(function dot\n"
12146 " (signature float\n"
12147 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012148 " (declare (in) float x)\n"
12149 " (declare (in) float y))\n"
12150 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012151 " (signature float\n"
12152 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012153 " (declare (in) vec2 x)\n"
12154 " (declare (in) vec2 y))\n"
12155 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012156 " (signature float\n"
12157 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012158 " (declare (in) vec3 x)\n"
12159 " (declare (in) vec3 y))\n"
12160 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012161 " (signature float\n"
12162 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012163 " (declare (in) vec4 x)\n"
12164 " (declare (in) vec4 y))\n"
12165 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012166 "(function cross\n"
12167 " (signature vec3\n"
12168 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012169 " (declare (in) vec3 x)\n"
12170 " (declare (in) vec3 y))\n"
12171 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012172 "(function normalize\n"
12173 " (signature float\n"
12174 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012175 " (declare (in) float x))\n"
12176 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012177 " (signature vec2\n"
12178 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012179 " (declare (in) vec2 x))\n"
12180 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012181 " (signature vec3\n"
12182 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012183 " (declare (in) vec3 x))\n"
12184 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012185 " (signature vec4\n"
12186 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012187 " (declare (in) vec4 x))\n"
12188 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012189 "(function ftransform\n"
12190 " (signature vec4\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012191 " (parameters)\n"
12192 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012193 "(function faceforward\n"
12194 " (signature float\n"
12195 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012196 " (declare (in) float N)\n"
12197 " (declare (in) float I)\n"
12198 " (declare (in) float Nref))\n"
12199 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012200 " (signature vec2\n"
12201 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012202 " (declare (in) vec2 N)\n"
12203 " (declare (in) vec2 I)\n"
12204 " (declare (in) vec2 Nref))\n"
12205 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012206 " (signature vec3\n"
12207 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012208 " (declare (in) vec3 N)\n"
12209 " (declare (in) vec3 I)\n"
12210 " (declare (in) vec3 Nref))\n"
12211 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012212 " (signature vec4\n"
12213 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012214 " (declare (in) vec4 N)\n"
12215 " (declare (in) vec4 I)\n"
12216 " (declare (in) vec4 Nref))\n"
12217 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012218 "(function reflect\n"
12219 " (signature float\n"
12220 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012221 " (declare (in) float I)\n"
12222 " (declare (in) float N))\n"
12223 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012224 " (signature vec2\n"
12225 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012226 " (declare (in) vec2 I)\n"
12227 " (declare (in) vec2 N))\n"
12228 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012229 " (signature vec3\n"
12230 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012231 " (declare (in) vec3 I)\n"
12232 " (declare (in) vec3 N))\n"
12233 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012234 " (signature vec4\n"
12235 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012236 " (declare (in) vec4 I)\n"
12237 " (declare (in) vec4 N))\n"
12238 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012239 "(function refract\n"
12240 " (signature float\n"
12241 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012242 " (declare (in) float I)\n"
12243 " (declare (in) float N)\n"
12244 " (declare (in) float eta))\n"
12245 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012246 " (signature vec2\n"
12247 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012248 " (declare (in) vec2 I)\n"
12249 " (declare (in) vec2 N)\n"
12250 " (declare (in) float eta))\n"
12251 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012252 " (signature vec3\n"
12253 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012254 " (declare (in) vec3 I)\n"
12255 " (declare (in) vec3 N)\n"
12256 " (declare (in) float eta))\n"
12257 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012258 " (signature vec4\n"
12259 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012260 " (declare (in) vec4 I)\n"
12261 " (declare (in) vec4 N)\n"
12262 " (declare (in) float eta))\n"
12263 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012264 "(function matrixCompMult\n"
12265 " (signature mat2\n"
12266 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012267 " (declare (in) mat2 x)\n"
12268 " (declare (in) mat2 y))\n"
12269 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012270 " (signature mat3\n"
12271 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012272 " (declare (in) mat3 x)\n"
12273 " (declare (in) mat3 y))\n"
12274 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012275 " (signature mat4\n"
12276 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012277 " (declare (in) mat4 x)\n"
12278 " (declare (in) mat4 y))\n"
12279 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012280 " (signature mat2x3\n"
12281 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012282 " (declare (in) mat2x3 x)\n"
12283 " (declare (in) mat2x3 y))\n"
12284 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012285 " (signature mat2x4\n"
12286 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012287 " (declare (in) mat2x4 x)\n"
12288 " (declare (in) mat2x4 y))\n"
12289 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012290 " (signature mat3x2\n"
12291 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012292 " (declare (in) mat3x2 x)\n"
12293 " (declare (in) mat3x2 y))\n"
12294 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012295 " (signature mat3x4\n"
12296 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012297 " (declare (in) mat3x4 x)\n"
12298 " (declare (in) mat3x4 y))\n"
12299 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012300 " (signature mat4x2\n"
12301 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012302 " (declare (in) mat4x2 x)\n"
12303 " (declare (in) mat4x2 y))\n"
12304 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012305 " (signature mat4x3\n"
12306 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012307 " (declare (in) mat4x3 x)\n"
12308 " (declare (in) mat4x3 y))\n"
12309 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012310 "(function outerProduct\n"
12311 " (signature mat2\n"
12312 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012313 " (declare (in) vec2 c)\n"
12314 " (declare (in) vec2 r))\n"
12315 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012316 " (signature mat3\n"
12317 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012318 " (declare (in) vec3 c)\n"
12319 " (declare (in) vec3 r))\n"
12320 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012321 " (signature mat4\n"
12322 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012323 " (declare (in) vec4 c)\n"
12324 " (declare (in) vec4 r))\n"
12325 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012326 " (signature mat2x3\n"
12327 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012328 " (declare (in) vec3 c)\n"
12329 " (declare (in) vec2 r))\n"
12330 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012331 " (signature mat3x2\n"
12332 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012333 " (declare (in) vec2 c)\n"
12334 " (declare (in) vec3 r))\n"
12335 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012336 " (signature mat2x4\n"
12337 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012338 " (declare (in) vec4 c)\n"
12339 " (declare (in) vec2 r))\n"
12340 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012341 " (signature mat4x2\n"
12342 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012343 " (declare (in) vec2 c)\n"
12344 " (declare (in) vec4 r))\n"
12345 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012346 " (signature mat3x4\n"
12347 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012348 " (declare (in) vec4 c)\n"
12349 " (declare (in) vec3 r))\n"
12350 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012351 " (signature mat4x3\n"
12352 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012353 " (declare (in) vec3 c)\n"
12354 " (declare (in) vec4 r))\n"
12355 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012356 "(function transpose\n"
12357 " (signature mat2\n"
12358 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012359 " (declare (in) mat2 m))\n"
12360 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012361 " (signature mat3\n"
12362 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012363 " (declare (in) mat3 m))\n"
12364 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012365 " (signature mat4\n"
12366 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012367 " (declare (in) mat4 m))\n"
12368 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012369 " (signature mat2x3\n"
12370 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012371 " (declare (in) mat3x2 m))\n"
12372 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012373 " (signature mat3x2\n"
12374 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012375 " (declare (in) mat2x3 m))\n"
12376 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012377 " (signature mat2x4\n"
12378 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012379 " (declare (in) mat4x2 m))\n"
12380 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012381 " (signature mat4x2\n"
12382 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012383 " (declare (in) mat2x4 m))\n"
12384 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012385 " (signature mat3x4\n"
12386 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012387 " (declare (in) mat4x3 m))\n"
12388 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012389 " (signature mat4x3\n"
12390 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012391 " (declare (in) mat3x4 m))\n"
12392 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012393 "(function lessThan\n"
12394 " (signature bvec2\n"
12395 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012396 " (declare (in) vec2 x)\n"
12397 " (declare (in) vec2 y))\n"
12398 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012399 " (signature bvec3\n"
12400 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012401 " (declare (in) vec3 x)\n"
12402 " (declare (in) vec3 y))\n"
12403 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012404 " (signature bvec4\n"
12405 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012406 " (declare (in) vec4 x)\n"
12407 " (declare (in) vec4 y))\n"
12408 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012409 " (signature bvec2\n"
12410 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012411 " (declare (in) ivec2 x)\n"
12412 " (declare (in) ivec2 y))\n"
12413 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012414 " (signature bvec3\n"
12415 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012416 " (declare (in) ivec3 x)\n"
12417 " (declare (in) ivec3 y))\n"
12418 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012419 " (signature bvec4\n"
12420 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012421 " (declare (in) ivec4 x)\n"
12422 " (declare (in) ivec4 y))\n"
12423 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012424 "(function lessThanEqual\n"
12425 " (signature bvec2\n"
12426 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012427 " (declare (in) vec2 x)\n"
12428 " (declare (in) vec2 y))\n"
12429 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012430 " (signature bvec3\n"
12431 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012432 " (declare (in) vec3 x)\n"
12433 " (declare (in) vec3 y))\n"
12434 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012435 " (signature bvec4\n"
12436 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012437 " (declare (in) vec4 x)\n"
12438 " (declare (in) vec4 y))\n"
12439 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012440 " (signature bvec2\n"
12441 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012442 " (declare (in) ivec2 x)\n"
12443 " (declare (in) ivec2 y))\n"
12444 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012445 " (signature bvec3\n"
12446 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012447 " (declare (in) ivec3 x)\n"
12448 " (declare (in) ivec3 y))\n"
12449 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012450 " (signature bvec4\n"
12451 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012452 " (declare (in) ivec4 x)\n"
12453 " (declare (in) ivec4 y))\n"
12454 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012455 "(function greaterThan\n"
12456 " (signature bvec2\n"
12457 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012458 " (declare (in) vec2 x)\n"
12459 " (declare (in) vec2 y))\n"
12460 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012461 " (signature bvec3\n"
12462 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012463 " (declare (in) vec3 x)\n"
12464 " (declare (in) vec3 y))\n"
12465 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012466 " (signature bvec4\n"
12467 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012468 " (declare (in) vec4 x)\n"
12469 " (declare (in) vec4 y))\n"
12470 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012471 " (signature bvec2\n"
12472 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012473 " (declare (in) ivec2 x)\n"
12474 " (declare (in) ivec2 y))\n"
12475 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012476 " (signature bvec3\n"
12477 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012478 " (declare (in) ivec3 x)\n"
12479 " (declare (in) ivec3 y))\n"
12480 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012481 " (signature bvec4\n"
12482 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012483 " (declare (in) ivec4 x)\n"
12484 " (declare (in) ivec4 y))\n"
12485 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012486 "(function greaterThanEqual\n"
12487 " (signature bvec2\n"
12488 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012489 " (declare (in) vec2 x)\n"
12490 " (declare (in) vec2 y))\n"
12491 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012492 " (signature bvec3\n"
12493 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012494 " (declare (in) vec3 x)\n"
12495 " (declare (in) vec3 y))\n"
12496 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012497 " (signature bvec4\n"
12498 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012499 " (declare (in) vec4 x)\n"
12500 " (declare (in) vec4 y))\n"
12501 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012502 " (signature bvec2\n"
12503 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012504 " (declare (in) ivec2 x)\n"
12505 " (declare (in) ivec2 y))\n"
12506 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012507 " (signature bvec3\n"
12508 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012509 " (declare (in) ivec3 x)\n"
12510 " (declare (in) ivec3 y))\n"
12511 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012512 " (signature bvec4\n"
12513 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012514 " (declare (in) ivec4 x)\n"
12515 " (declare (in) ivec4 y))\n"
12516 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012517 "(function equal\n"
12518 " (signature bvec2\n"
12519 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012520 " (declare (in) vec2 x)\n"
12521 " (declare (in) vec2 y))\n"
12522 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012523 " (signature bvec3\n"
12524 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012525 " (declare (in) vec3 x)\n"
12526 " (declare (in) vec3 y))\n"
12527 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012528 " (signature bvec4\n"
12529 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012530 " (declare (in) vec4 x)\n"
12531 " (declare (in) vec4 y))\n"
12532 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012533 " (signature bvec2\n"
12534 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012535 " (declare (in) ivec2 x)\n"
12536 " (declare (in) ivec2 y))\n"
12537 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012538 " (signature bvec3\n"
12539 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012540 " (declare (in) ivec3 x)\n"
12541 " (declare (in) ivec3 y))\n"
12542 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012543 " (signature bvec4\n"
12544 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012545 " (declare (in) ivec4 x)\n"
12546 " (declare (in) ivec4 y))\n"
12547 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012548 " (signature bvec2\n"
12549 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012550 " (declare (in) bvec2 x)\n"
12551 " (declare (in) bvec2 y))\n"
12552 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012553 " (signature bvec3\n"
12554 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012555 " (declare (in) bvec3 x)\n"
12556 " (declare (in) bvec3 y))\n"
12557 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012558 " (signature bvec4\n"
12559 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012560 " (declare (in) bvec4 x)\n"
12561 " (declare (in) bvec4 y))\n"
12562 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012563 "(function notEqual\n"
12564 " (signature bvec2\n"
12565 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012566 " (declare (in) vec2 x)\n"
12567 " (declare (in) vec2 y))\n"
12568 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012569 " (signature bvec3\n"
12570 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012571 " (declare (in) vec3 x)\n"
12572 " (declare (in) vec3 y))\n"
12573 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012574 " (signature bvec4\n"
12575 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012576 " (declare (in) vec4 x)\n"
12577 " (declare (in) vec4 y))\n"
12578 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012579 " (signature bvec2\n"
12580 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012581 " (declare (in) ivec2 x)\n"
12582 " (declare (in) ivec2 y))\n"
12583 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012584 " (signature bvec3\n"
12585 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012586 " (declare (in) ivec3 x)\n"
12587 " (declare (in) ivec3 y))\n"
12588 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012589 " (signature bvec4\n"
12590 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012591 " (declare (in) ivec4 x)\n"
12592 " (declare (in) ivec4 y))\n"
12593 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012594 " (signature bvec2\n"
12595 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012596 " (declare (in) bvec2 x)\n"
12597 " (declare (in) bvec2 y))\n"
12598 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012599 " (signature bvec3\n"
12600 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012601 " (declare (in) bvec3 x)\n"
12602 " (declare (in) bvec3 y))\n"
12603 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012604 " (signature bvec4\n"
12605 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012606 " (declare (in) bvec4 x)\n"
12607 " (declare (in) bvec4 y))\n"
12608 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012609 "(function any\n"
12610 " (signature bool\n"
12611 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012612 " (declare (in) bvec2 x))\n"
12613 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012614 " (signature bool\n"
12615 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012616 " (declare (in) bvec3 x))\n"
12617 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012618 " (signature bool\n"
12619 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012620 " (declare (in) bvec4 x))\n"
12621 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012622 "(function all\n"
12623 " (signature bool\n"
12624 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012625 " (declare (in) bvec2 x))\n"
12626 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012627 " (signature bool\n"
12628 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012629 " (declare (in) bvec3 x))\n"
12630 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012631 " (signature bool\n"
12632 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012633 " (declare (in) bvec4 x))\n"
12634 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012635 "(function not\n"
12636 " (signature bvec2\n"
12637 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012638 " (declare (in) bvec2 x))\n"
12639 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012640 " (signature bvec3\n"
12641 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012642 " (declare (in) bvec3 x))\n"
12643 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012644 " (signature bvec4\n"
12645 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012646 " (declare (in) bvec4 x))\n"
12647 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012648 "(function texture1D\n"
12649 " (signature vec4\n"
12650 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012651 " (declare (in) sampler1D sampler)\n"
12652 " (declare (in) float coord))\n"
12653 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012654 "(function texture1DProj\n"
12655 " (signature vec4\n"
12656 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012657 " (declare (in) sampler1D sampler)\n"
12658 " (declare (in) vec2 coord))\n"
12659 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012660 " (signature vec4\n"
12661 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012662 " (declare (in) sampler1D sampler)\n"
12663 " (declare (in) vec4 coord))\n"
12664 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012665 "(function texture1DLod\n"
12666 " (signature vec4\n"
12667 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012668 " (declare (in) sampler1D sampler)\n"
12669 " (declare (in) float coord)\n"
12670 " (declare (in) float lod))\n"
12671 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012672 "(function texture1DProjLod\n"
12673 " (signature vec4\n"
12674 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012675 " (declare (in) sampler1D sampler)\n"
12676 " (declare (in) vec2 coord)\n"
12677 " (declare (in) float lod))\n"
12678 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012679 " (signature vec4\n"
12680 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012681 " (declare (in) sampler1D sampler)\n"
12682 " (declare (in) vec4 coord)\n"
12683 " (declare (in) float lod))\n"
12684 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012685 "(function texture2D\n"
12686 " (signature vec4\n"
12687 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012688 " (declare (in) sampler2D sampler)\n"
12689 " (declare (in) vec2 coord))\n"
12690 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012691 "(function texture2DProj\n"
12692 " (signature vec4\n"
12693 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012694 " (declare (in) sampler2D sampler)\n"
12695 " (declare (in) vec3 coord))\n"
12696 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012697 " (signature vec4\n"
12698 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012699 " (declare (in) sampler2D sampler)\n"
12700 " (declare (in) vec4 coord))\n"
12701 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012702 "(function texture2DLod\n"
12703 " (signature vec4\n"
12704 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012705 " (declare (in) sampler2D sampler)\n"
12706 " (declare (in) vec2 coord)\n"
12707 " (declare (in) float lod))\n"
12708 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012709 "(function texture2DProjLod\n"
12710 " (signature vec4\n"
12711 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012712 " (declare (in) sampler2D sampler)\n"
12713 " (declare (in) vec3 coord)\n"
12714 " (declare (in) float lod))\n"
12715 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012716 " (signature vec4\n"
12717 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012718 " (declare (in) sampler2D sampler)\n"
12719 " (declare (in) vec4 coord)\n"
12720 " (declare (in) float lod))\n"
12721 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012722 "(function texture3D\n"
12723 " (signature vec4\n"
12724 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012725 " (declare (in) sampler3D sampler)\n"
12726 " (declare (in) vec3 coord))\n"
12727 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012728 "(function texture3DProj\n"
12729 " (signature vec4\n"
12730 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012731 " (declare (in) sampler3D sampler)\n"
12732 " (declare (in) vec4 coord))\n"
12733 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012734 "(function texture3DLod\n"
12735 " (signature vec4\n"
12736 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012737 " (declare (in) sampler3D sampler)\n"
12738 " (declare (in) vec3 coord)\n"
12739 " (declare (in) float lod))\n"
12740 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012741 "(function texture3DProjLod\n"
12742 " (signature vec4\n"
12743 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012744 " (declare (in) sampler3D sampler)\n"
12745 " (declare (in) vec4 coord)\n"
12746 " (declare (in) float lod))\n"
12747 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012748 "(function textureCube\n"
12749 " (signature vec4\n"
12750 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012751 " (declare (in) samplerCube sampler)\n"
12752 " (declare (in) vec3 coord))\n"
12753 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012754 "(function textureCubeLod\n"
12755 " (signature vec4\n"
12756 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012757 " (declare (in) samplerCube sampler)\n"
12758 " (declare (in) vec3 coord)\n"
12759 " (declare (in) float lod))\n"
12760 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012761 "(function shadow1D\n"
12762 " (signature vec4\n"
12763 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012764 " (declare (in) sampler1DShadow sampler)\n"
12765 " (declare (in) vec3 coord))\n"
12766 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012767 "(function shadow2D\n"
12768 " (signature vec4\n"
12769 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012770 " (declare (in) sampler2DShadow sampler)\n"
12771 " (declare (in) vec3 coord))\n"
12772 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012773 "(function shadow1DProj\n"
12774 " (signature vec4\n"
12775 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012776 " (declare (in) sampler1DShadow sampler)\n"
12777 " (declare (in) vec4 coord))\n"
12778 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012779 "(function shadow2DProj\n"
12780 " (signature vec4\n"
12781 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012782 " (declare (in) sampler2DShadow sampler)\n"
12783 " (declare (in) vec4 coord))\n"
12784 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012785 "(function shadow1DLod\n"
12786 " (signature vec4\n"
12787 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012788 " (declare (in) sampler1DShadow sampler)\n"
12789 " (declare (in) vec3 coord)\n"
12790 " (declare (in) float lod))\n"
12791 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012792 "(function shadow2DLod\n"
12793 " (signature vec4\n"
12794 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012795 " (declare (in) sampler2DShadow sampler)\n"
12796 " (declare (in) vec3 coord)\n"
12797 " (declare (in) float lod))\n"
12798 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012799 "(function shadow1DProjLod\n"
12800 " (signature vec4\n"
12801 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012802 " (declare (in) sampler1DShadow sampler)\n"
12803 " (declare (in) vec4 coord)\n"
12804 " (declare (in) float lod))\n"
12805 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012806 "(function shadow2DProjLod\n"
12807 " (signature vec4\n"
12808 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012809 " (declare (in) sampler2DShadow sampler)\n"
12810 " (declare (in) vec4 coord)\n"
12811 " (declare (in) float lod))\n"
12812 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012813 "(function noise1\n"
12814 " (signature float\n"
12815 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012816 " (declare (in) float x))\n"
12817 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012818 " (signature float\n"
12819 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012820 " (declare (in) vec2 x))\n"
12821 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012822 " (signature float\n"
12823 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012824 " (declare (in) vec3 x))\n"
12825 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012826 " (signature float\n"
12827 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012828 " (declare (in) vec4 x))\n"
12829 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012830 "(function noise2\n"
12831 " (signature vec2\n"
12832 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012833 " (declare (in) float x))\n"
12834 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012835 " (signature vec2\n"
12836 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012837 " (declare (in) vec2 x))\n"
12838 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012839 " (signature vec2\n"
12840 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012841 " (declare (in) vec3 x))\n"
12842 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012843 " (signature vec2\n"
12844 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012845 " (declare (in) vec4 x))\n"
12846 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012847 "(function noise3\n"
12848 " (signature vec3\n"
12849 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012850 " (declare (in) float x))\n"
12851 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012852 " (signature vec3\n"
12853 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012854 " (declare (in) vec2 x))\n"
12855 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012856 " (signature vec3\n"
12857 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012858 " (declare (in) vec3 x))\n"
12859 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012860 " (signature vec3\n"
12861 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012862 " (declare (in) vec4 x))\n"
12863 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012864 "(function noise4\n"
12865 " (signature vec4\n"
12866 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012867 " (declare (in) float x))\n"
12868 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012869 " (signature vec4\n"
12870 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012871 " (declare (in) vec2 x))\n"
12872 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012873 " (signature vec4\n"
12874 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012875 " (declare (in) vec3 x))\n"
12876 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012877 " (signature vec4\n"
12878 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012879 " (declare (in) vec4 x))\n"
12880 " ())))"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012881;
12882static const char *functions_for_120_vert [] = {
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012883 builtin_abs,
Eric Anholt47003a82010-08-23 12:39:35 -070012884 builtin_acos,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012885 builtin_all,
Eric Anholt47003a82010-08-23 12:39:35 -070012886 builtin_any,
12887 builtin_asin,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012888 builtin_atan,
Eric Anholt47003a82010-08-23 12:39:35 -070012889 builtin_ceil,
12890 builtin_clamp,
12891 builtin_cos,
12892 builtin_cross,
12893 builtin_degrees,
12894 builtin_distance,
12895 builtin_dot,
12896 builtin_equal,
12897 builtin_exp,
12898 builtin_exp2,
12899 builtin_faceforward,
12900 builtin_floor,
12901 builtin_fract,
12902 builtin_ftransform,
12903 builtin_greaterThan,
12904 builtin_greaterThanEqual,
12905 builtin_inversesqrt,
12906 builtin_length,
12907 builtin_lessThan,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012908 builtin_lessThanEqual,
Eric Anholt47003a82010-08-23 12:39:35 -070012909 builtin_log,
12910 builtin_log2,
12911 builtin_matrixCompMult,
12912 builtin_max,
12913 builtin_min,
12914 builtin_mix,
12915 builtin_mod,
12916 builtin_noise1,
12917 builtin_noise2,
12918 builtin_noise3,
12919 builtin_noise4,
12920 builtin_normalize,
12921 builtin_not,
12922 builtin_notEqual,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012923 builtin_outerProduct,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012924 builtin_pow,
Eric Anholt47003a82010-08-23 12:39:35 -070012925 builtin_radians,
12926 builtin_reflect,
12927 builtin_refract,
12928 builtin_shadow1D,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012929 builtin_shadow1DLod,
Eric Anholt47003a82010-08-23 12:39:35 -070012930 builtin_shadow1DProj,
12931 builtin_shadow1DProjLod,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012932 builtin_shadow2D,
12933 builtin_shadow2DLod,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012934 builtin_shadow2DProj,
Eric Anholt47003a82010-08-23 12:39:35 -070012935 builtin_shadow2DProjLod,
12936 builtin_sign,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012937 builtin_sin,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012938 builtin_smoothstep,
Eric Anholt47003a82010-08-23 12:39:35 -070012939 builtin_sqrt,
12940 builtin_step,
12941 builtin_tan,
12942 builtin_texture1D,
12943 builtin_texture1DLod,
12944 builtin_texture1DProj,
12945 builtin_texture1DProjLod,
12946 builtin_texture2D,
12947 builtin_texture2DLod,
12948 builtin_texture2DProj,
12949 builtin_texture2DProjLod,
12950 builtin_texture3D,
12951 builtin_texture3DLod,
12952 builtin_texture3DProj,
12953 builtin_texture3DProjLod,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012954 builtin_textureCube,
Eric Anholt47003a82010-08-23 12:39:35 -070012955 builtin_textureCubeLod,
12956 builtin_transpose,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012957};
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012958static const char *prototypes_for_130_frag =
12959 "(\n"
12960 "(function radians\n"
12961 " (signature float\n"
12962 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012963 " (declare (in) float degrees))\n"
12964 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012965 " (signature vec2\n"
12966 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012967 " (declare (in) vec2 degrees))\n"
12968 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012969 " (signature vec3\n"
12970 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012971 " (declare (in) vec3 degrees))\n"
12972 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012973 " (signature vec4\n"
12974 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012975 " (declare (in) vec4 degrees))\n"
12976 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012977 "(function degrees\n"
12978 " (signature float\n"
12979 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012980 " (declare (in) float radians))\n"
12981 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012982 " (signature vec2\n"
12983 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012984 " (declare (in) vec2 radians))\n"
12985 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012986 " (signature vec3\n"
12987 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012988 " (declare (in) vec3 radians))\n"
12989 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012990 " (signature vec4\n"
12991 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012992 " (declare (in) vec4 radians))\n"
12993 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012994 "(function sin\n"
12995 " (signature float\n"
12996 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012997 " (declare (in) float angle))\n"
12998 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012999 " (signature vec2\n"
13000 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013001 " (declare (in) vec2 angle))\n"
13002 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013003 " (signature vec3\n"
13004 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013005 " (declare (in) vec3 angle))\n"
13006 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013007 " (signature vec4\n"
13008 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013009 " (declare (in) vec4 angle))\n"
13010 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013011 "(function cos\n"
13012 " (signature float\n"
13013 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013014 " (declare (in) float angle))\n"
13015 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013016 " (signature vec2\n"
13017 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013018 " (declare (in) vec2 angle))\n"
13019 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013020 " (signature vec3\n"
13021 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013022 " (declare (in) vec3 angle))\n"
13023 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013024 " (signature vec4\n"
13025 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013026 " (declare (in) vec4 angle))\n"
13027 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013028 "(function tan\n"
13029 " (signature float\n"
13030 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013031 " (declare (in) float angle))\n"
13032 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013033 " (signature vec2\n"
13034 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013035 " (declare (in) vec2 angle))\n"
13036 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013037 " (signature vec3\n"
13038 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013039 " (declare (in) vec3 angle))\n"
13040 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013041 " (signature vec4\n"
13042 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013043 " (declare (in) vec4 angle))\n"
13044 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013045 "(function asin\n"
13046 " (signature float\n"
13047 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013048 " (declare (in) float angle))\n"
13049 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013050 " (signature vec2\n"
13051 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013052 " (declare (in) vec2 angle))\n"
13053 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013054 " (signature vec3\n"
13055 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013056 " (declare (in) vec3 angle))\n"
13057 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013058 " (signature vec4\n"
13059 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013060 " (declare (in) vec4 angle))\n"
13061 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013062 "(function acos\n"
13063 " (signature float\n"
13064 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013065 " (declare (in) float angle))\n"
13066 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013067 " (signature vec2\n"
13068 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013069 " (declare (in) vec2 angle))\n"
13070 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013071 " (signature vec3\n"
13072 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013073 " (declare (in) vec3 angle))\n"
13074 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013075 " (signature vec4\n"
13076 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013077 " (declare (in) vec4 angle))\n"
13078 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013079 "(function atan\n"
13080 " (signature float\n"
13081 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013082 " (declare (in) float y)\n"
13083 " (declare (in) float x))\n"
13084 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013085 " (signature vec2\n"
13086 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013087 " (declare (in) vec2 y)\n"
13088 " (declare (in) vec2 x))\n"
13089 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013090 " (signature vec3\n"
13091 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013092 " (declare (in) vec3 y)\n"
13093 " (declare (in) vec3 x))\n"
13094 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013095 " (signature vec4\n"
13096 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013097 " (declare (in) vec4 y)\n"
13098 " (declare (in) vec4 x))\n"
13099 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013100 " (signature float\n"
13101 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013102 " (declare (in) float y_over_x))\n"
13103 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013104 " (signature vec2\n"
13105 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013106 " (declare (in) vec2 y_over_x))\n"
13107 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013108 " (signature vec3\n"
13109 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013110 " (declare (in) vec3 y_over_x))\n"
13111 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013112 " (signature vec4\n"
13113 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013114 " (declare (in) vec4 y_over_x))\n"
13115 " ()))\n"
13116 "(function sinh\n"
13117 " (signature float\n"
13118 " (parameters\n"
13119 " (declare (in) float x))\n"
13120 " ())\n"
13121 " (signature vec2\n"
13122 " (parameters\n"
13123 " (declare (in) vec2 x))\n"
13124 " ())\n"
13125 " (signature vec3\n"
13126 " (parameters\n"
13127 " (declare (in) vec3 x))\n"
13128 " ())\n"
13129 " (signature vec4\n"
13130 " (parameters\n"
13131 " (declare (in) vec4 x))\n"
13132 " ()))\n"
13133 "(function cosh\n"
13134 " (signature float\n"
13135 " (parameters\n"
13136 " (declare (in) float x))\n"
13137 " ())\n"
13138 " (signature vec2\n"
13139 " (parameters\n"
13140 " (declare (in) vec2 x))\n"
13141 " ())\n"
13142 " (signature vec3\n"
13143 " (parameters\n"
13144 " (declare (in) vec3 x))\n"
13145 " ())\n"
13146 " (signature vec4\n"
13147 " (parameters\n"
13148 " (declare (in) vec4 x))\n"
13149 " ()))\n"
13150 "(function tanh\n"
13151 " (signature float\n"
13152 " (parameters\n"
13153 " (declare (in) float x))\n"
13154 " ())\n"
13155 " (signature vec2\n"
13156 " (parameters\n"
13157 " (declare (in) vec2 x))\n"
13158 " ())\n"
13159 " (signature vec3\n"
13160 " (parameters\n"
13161 " (declare (in) vec3 x))\n"
13162 " ())\n"
13163 " (signature vec4\n"
13164 " (parameters\n"
13165 " (declare (in) vec4 x))\n"
13166 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013167 "(function pow\n"
13168 " (signature float\n"
13169 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013170 " (declare (in) float x)\n"
13171 " (declare (in) float y))\n"
13172 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013173 " (signature vec2\n"
13174 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013175 " (declare (in) vec2 x)\n"
13176 " (declare (in) vec2 y))\n"
13177 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013178 " (signature vec3\n"
13179 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013180 " (declare (in) vec3 x)\n"
13181 " (declare (in) vec3 y))\n"
13182 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013183 " (signature vec4\n"
13184 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013185 " (declare (in) vec4 x)\n"
13186 " (declare (in) vec4 y))\n"
13187 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013188 "(function exp\n"
13189 " (signature float\n"
13190 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013191 " (declare (in) float x))\n"
13192 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013193 " (signature vec2\n"
13194 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013195 " (declare (in) vec2 x))\n"
13196 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013197 " (signature vec3\n"
13198 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013199 " (declare (in) vec3 x))\n"
13200 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013201 " (signature vec4\n"
13202 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013203 " (declare (in) vec4 x))\n"
13204 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013205 "(function log\n"
13206 " (signature float\n"
13207 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013208 " (declare (in) float x))\n"
13209 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013210 " (signature vec2\n"
13211 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013212 " (declare (in) vec2 x))\n"
13213 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013214 " (signature vec3\n"
13215 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013216 " (declare (in) vec3 x))\n"
13217 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013218 " (signature vec4\n"
13219 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013220 " (declare (in) vec4 x))\n"
13221 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013222 "(function exp2\n"
13223 " (signature float\n"
13224 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013225 " (declare (in) float x))\n"
13226 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013227 " (signature vec2\n"
13228 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013229 " (declare (in) vec2 x))\n"
13230 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013231 " (signature vec3\n"
13232 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013233 " (declare (in) vec3 x))\n"
13234 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013235 " (signature vec4\n"
13236 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013237 " (declare (in) vec4 x))\n"
13238 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013239 "(function log2\n"
13240 " (signature float\n"
13241 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013242 " (declare (in) float x))\n"
13243 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013244 " (signature vec2\n"
13245 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013246 " (declare (in) vec2 x))\n"
13247 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013248 " (signature vec3\n"
13249 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013250 " (declare (in) vec3 x))\n"
13251 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013252 " (signature vec4\n"
13253 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013254 " (declare (in) vec4 x))\n"
13255 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013256 "(function sqrt\n"
13257 " (signature float\n"
13258 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013259 " (declare (in) float x))\n"
13260 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013261 " (signature vec2\n"
13262 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013263 " (declare (in) vec2 x))\n"
13264 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013265 " (signature vec3\n"
13266 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013267 " (declare (in) vec3 x))\n"
13268 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013269 " (signature vec4\n"
13270 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013271 " (declare (in) vec4 x))\n"
13272 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013273 "(function inversesqrt\n"
13274 " (signature float\n"
13275 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013276 " (declare (in) float x))\n"
13277 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013278 " (signature vec2\n"
13279 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013280 " (declare (in) vec2 x))\n"
13281 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013282 " (signature vec3\n"
13283 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013284 " (declare (in) vec3 x))\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) vec4 x))\n"
13289 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013290 "(function abs\n"
13291 " (signature float\n"
13292 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013293 " (declare (in) float x))\n"
13294 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013295 " (signature vec2\n"
13296 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013297 " (declare (in) vec2 x))\n"
13298 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013299 " (signature vec3\n"
13300 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013301 " (declare (in) vec3 x))\n"
13302 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013303 " (signature vec4\n"
13304 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013305 " (declare (in) vec4 x))\n"
13306 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013307 " (signature int\n"
13308 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013309 " (declare (in) int x))\n"
13310 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013311 " (signature ivec2\n"
13312 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013313 " (declare (in) ivec2 x))\n"
13314 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013315 " (signature ivec3\n"
13316 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013317 " (declare (in) ivec3 x))\n"
13318 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013319 " (signature ivec4\n"
13320 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013321 " (declare (in) ivec4 x))\n"
13322 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013323 "(function sign\n"
13324 " (signature float\n"
13325 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013326 " (declare (in) float x))\n"
13327 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013328 " (signature vec2\n"
13329 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013330 " (declare (in) vec2 x))\n"
13331 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013332 " (signature vec3\n"
13333 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013334 " (declare (in) vec3 x))\n"
13335 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013336 " (signature vec4\n"
13337 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013338 " (declare (in) vec4 x))\n"
13339 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013340 " (signature int\n"
13341 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013342 " (declare (in) int x))\n"
13343 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013344 " (signature ivec2\n"
13345 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013346 " (declare (in) ivec2 x))\n"
13347 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013348 " (signature ivec3\n"
13349 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013350 " (declare (in) ivec3 x))\n"
13351 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013352 " (signature ivec4\n"
13353 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013354 " (declare (in) ivec4 x))\n"
13355 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013356 "(function floor\n"
13357 " (signature float\n"
13358 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013359 " (declare (in) float x))\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 x))\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 x))\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 x))\n"
13372 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013373 "(function ceil\n"
13374 " (signature float\n"
13375 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013376 " (declare (in) float x))\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 x))\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 x))\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 x))\n"
13389 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013390 "(function fract\n"
13391 " (signature float\n"
13392 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013393 " (declare (in) float x))\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 x))\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 x))\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 x))\n"
13406 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013407 "(function mod\n"
13408 " (signature float\n"
13409 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013410 " (declare (in) float x)\n"
13411 " (declare (in) float y))\n"
13412 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013413 " (signature vec2\n"
13414 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013415 " (declare (in) vec2 x)\n"
13416 " (declare (in) float y))\n"
13417 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013418 " (signature vec3\n"
13419 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013420 " (declare (in) vec3 x)\n"
13421 " (declare (in) float y))\n"
13422 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013423 " (signature vec4\n"
13424 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013425 " (declare (in) vec4 x)\n"
13426 " (declare (in) float y))\n"
13427 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013428 " (signature vec2\n"
13429 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013430 " (declare (in) vec2 x)\n"
13431 " (declare (in) vec2 y))\n"
13432 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013433 " (signature vec3\n"
13434 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013435 " (declare (in) vec3 x)\n"
13436 " (declare (in) vec3 y))\n"
13437 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013438 " (signature vec4\n"
13439 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013440 " (declare (in) vec4 x)\n"
13441 " (declare (in) vec4 y))\n"
13442 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013443 "(function min\n"
13444 " (signature float\n"
13445 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013446 " (declare (in) float x)\n"
13447 " (declare (in) float y))\n"
13448 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013449 " (signature vec2\n"
13450 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013451 " (declare (in) vec2 x)\n"
13452 " (declare (in) vec2 y))\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) vec3 x)\n"
13457 " (declare (in) vec3 y))\n"
13458 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013459 " (signature vec4\n"
13460 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013461 " (declare (in) vec4 x)\n"
13462 " (declare (in) vec4 y))\n"
13463 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013464 " (signature vec2\n"
13465 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013466 " (declare (in) vec2 x)\n"
13467 " (declare (in) float y))\n"
13468 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013469 " (signature vec3\n"
13470 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013471 " (declare (in) vec3 x)\n"
13472 " (declare (in) float y))\n"
13473 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013474 " (signature vec4\n"
13475 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013476 " (declare (in) vec4 x)\n"
13477 " (declare (in) float y))\n"
13478 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013479 " (signature int\n"
13480 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013481 " (declare (in) int x)\n"
13482 " (declare (in) int y))\n"
13483 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013484 " (signature ivec2\n"
13485 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013486 " (declare (in) ivec2 x)\n"
13487 " (declare (in) ivec2 y))\n"
13488 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013489 " (signature ivec3\n"
13490 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013491 " (declare (in) ivec3 x)\n"
13492 " (declare (in) ivec3 y))\n"
13493 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013494 " (signature ivec4\n"
13495 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013496 " (declare (in) ivec4 x)\n"
13497 " (declare (in) ivec4 y))\n"
13498 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013499 " (signature ivec2\n"
13500 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013501 " (declare (in) ivec2 x)\n"
13502 " (declare (in) int y))\n"
13503 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013504 " (signature ivec3\n"
13505 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013506 " (declare (in) ivec3 x)\n"
13507 " (declare (in) int y))\n"
13508 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013509 " (signature ivec4\n"
13510 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013511 " (declare (in) ivec4 x)\n"
13512 " (declare (in) int y))\n"
13513 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013514 " (signature uint\n"
13515 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013516 " (declare (in) uint x)\n"
13517 " (declare (in) uint y))\n"
13518 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013519 " (signature uvec2\n"
13520 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013521 " (declare (in) uvec2 x)\n"
13522 " (declare (in) uvec2 y))\n"
13523 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013524 " (signature uvec3\n"
13525 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013526 " (declare (in) uvec3 x)\n"
13527 " (declare (in) uvec3 y))\n"
13528 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013529 " (signature uvec4\n"
13530 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013531 " (declare (in) uvec4 x)\n"
13532 " (declare (in) uvec4 y))\n"
13533 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013534 " (signature uvec2\n"
13535 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013536 " (declare (in) uvec2 x)\n"
13537 " (declare (in) uint y))\n"
13538 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013539 " (signature uvec3\n"
13540 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013541 " (declare (in) uvec3 x)\n"
13542 " (declare (in) uint y))\n"
13543 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013544 " (signature uvec4\n"
13545 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013546 " (declare (in) uvec4 x)\n"
13547 " (declare (in) uint y))\n"
13548 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013549 "(function max\n"
13550 " (signature float\n"
13551 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013552 " (declare (in) float x)\n"
13553 " (declare (in) float y))\n"
13554 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013555 " (signature vec2\n"
13556 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013557 " (declare (in) vec2 x)\n"
13558 " (declare (in) vec2 y))\n"
13559 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013560 " (signature vec3\n"
13561 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013562 " (declare (in) vec3 x)\n"
13563 " (declare (in) vec3 y))\n"
13564 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013565 " (signature vec4\n"
13566 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013567 " (declare (in) vec4 x)\n"
13568 " (declare (in) vec4 y))\n"
13569 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013570 " (signature vec2\n"
13571 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013572 " (declare (in) vec2 x)\n"
13573 " (declare (in) float y))\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 x)\n"
13578 " (declare (in) float y))\n"
13579 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013580 " (signature vec4\n"
13581 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013582 " (declare (in) vec4 x)\n"
13583 " (declare (in) float y))\n"
13584 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013585 " (signature int\n"
13586 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013587 " (declare (in) int x)\n"
13588 " (declare (in) int y))\n"
13589 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013590 " (signature ivec2\n"
13591 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013592 " (declare (in) ivec2 x)\n"
13593 " (declare (in) ivec2 y))\n"
13594 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013595 " (signature ivec3\n"
13596 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013597 " (declare (in) ivec3 x)\n"
13598 " (declare (in) ivec3 y))\n"
13599 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013600 " (signature ivec4\n"
13601 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013602 " (declare (in) ivec4 x)\n"
13603 " (declare (in) ivec4 y))\n"
13604 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013605 " (signature ivec2\n"
13606 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013607 " (declare (in) ivec2 x)\n"
13608 " (declare (in) int y))\n"
13609 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013610 " (signature ivec3\n"
13611 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013612 " (declare (in) ivec3 x)\n"
13613 " (declare (in) int y))\n"
13614 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013615 " (signature ivec4\n"
13616 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013617 " (declare (in) ivec4 x)\n"
13618 " (declare (in) int y))\n"
13619 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013620 " (signature uint\n"
13621 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013622 " (declare (in) uint x)\n"
13623 " (declare (in) uint y))\n"
13624 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013625 " (signature uvec2\n"
13626 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013627 " (declare (in) uvec2 x)\n"
13628 " (declare (in) uvec2 y))\n"
13629 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013630 " (signature uvec3\n"
13631 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013632 " (declare (in) uvec3 x)\n"
13633 " (declare (in) uvec3 y))\n"
13634 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013635 " (signature uvec4\n"
13636 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013637 " (declare (in) uvec4 x)\n"
13638 " (declare (in) uvec4 y))\n"
13639 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013640 " (signature uvec2\n"
13641 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013642 " (declare (in) uvec2 x)\n"
13643 " (declare (in) uint y))\n"
13644 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013645 " (signature uvec3\n"
13646 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013647 " (declare (in) uvec3 x)\n"
13648 " (declare (in) uint y))\n"
13649 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013650 " (signature uvec4\n"
13651 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013652 " (declare (in) uvec4 x)\n"
13653 " (declare (in) uint y))\n"
13654 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013655 "(function clamp\n"
13656 " (signature float\n"
13657 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013658 " (declare (in) float x)\n"
13659 " (declare (in) float minVal)\n"
13660 " (declare (in) float maxVal))\n"
13661 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013662 " (signature vec2\n"
13663 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013664 " (declare (in) vec2 x)\n"
13665 " (declare (in) vec2 minVal)\n"
13666 " (declare (in) vec2 maxVal))\n"
13667 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013668 " (signature vec3\n"
13669 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013670 " (declare (in) vec3 x)\n"
13671 " (declare (in) vec3 minVal)\n"
13672 " (declare (in) vec3 maxVal))\n"
13673 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013674 " (signature vec4\n"
13675 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013676 " (declare (in) vec4 x)\n"
13677 " (declare (in) vec4 minVal)\n"
13678 " (declare (in) vec4 maxVal))\n"
13679 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013680 " (signature vec2\n"
13681 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013682 " (declare (in) vec2 x)\n"
13683 " (declare (in) float minVal)\n"
13684 " (declare (in) float maxVal))\n"
13685 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013686 " (signature vec3\n"
13687 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013688 " (declare (in) vec3 x)\n"
13689 " (declare (in) float minVal)\n"
13690 " (declare (in) float maxVal))\n"
13691 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013692 " (signature vec4\n"
13693 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013694 " (declare (in) vec4 x)\n"
13695 " (declare (in) float minVal)\n"
13696 " (declare (in) float maxVal))\n"
13697 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013698 " (signature int\n"
13699 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013700 " (declare (in) int x)\n"
13701 " (declare (in) int minVal)\n"
13702 " (declare (in) int maxVal))\n"
13703 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013704 " (signature ivec2\n"
13705 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013706 " (declare (in) ivec2 x)\n"
13707 " (declare (in) ivec2 minVal)\n"
13708 " (declare (in) ivec2 maxVal))\n"
13709 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013710 " (signature ivec3\n"
13711 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013712 " (declare (in) ivec3 x)\n"
13713 " (declare (in) ivec3 minVal)\n"
13714 " (declare (in) ivec3 maxVal))\n"
13715 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013716 " (signature ivec4\n"
13717 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013718 " (declare (in) ivec4 x)\n"
13719 " (declare (in) ivec4 minVal)\n"
13720 " (declare (in) ivec4 maxVal))\n"
13721 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013722 " (signature ivec2\n"
13723 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013724 " (declare (in) ivec2 x)\n"
13725 " (declare (in) int minVal)\n"
13726 " (declare (in) int maxVal))\n"
13727 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013728 " (signature ivec3\n"
13729 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013730 " (declare (in) ivec3 x)\n"
13731 " (declare (in) int minVal)\n"
13732 " (declare (in) int maxVal))\n"
13733 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013734 " (signature ivec4\n"
13735 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013736 " (declare (in) ivec4 x)\n"
13737 " (declare (in) int minVal)\n"
13738 " (declare (in) int maxVal))\n"
13739 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013740 " (signature uint\n"
13741 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013742 " (declare (in) uint x)\n"
13743 " (declare (in) uint minVal)\n"
13744 " (declare (in) uint maxVal))\n"
13745 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013746 " (signature uvec2\n"
13747 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013748 " (declare (in) uvec2 x)\n"
13749 " (declare (in) uvec2 minVal)\n"
13750 " (declare (in) uvec2 maxVal))\n"
13751 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013752 " (signature uvec3\n"
13753 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013754 " (declare (in) uvec3 x)\n"
13755 " (declare (in) uvec3 minVal)\n"
13756 " (declare (in) uvec3 maxVal))\n"
13757 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013758 " (signature uvec4\n"
13759 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013760 " (declare (in) uvec4 x)\n"
13761 " (declare (in) uvec4 minVal)\n"
13762 " (declare (in) uvec4 maxVal))\n"
13763 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013764 " (signature uvec2\n"
13765 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013766 " (declare (in) uvec2 x)\n"
13767 " (declare (in) uint minVal)\n"
13768 " (declare (in) uint maxVal))\n"
13769 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013770 " (signature uvec3\n"
13771 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013772 " (declare (in) uvec3 x)\n"
13773 " (declare (in) uint minVal)\n"
13774 " (declare (in) uint maxVal))\n"
13775 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013776 " (signature uvec4\n"
13777 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013778 " (declare (in) uvec4 x)\n"
13779 " (declare (in) uint minVal)\n"
13780 " (declare (in) uint maxVal))\n"
13781 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013782 "(function mix\n"
13783 " (signature float\n"
13784 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013785 " (declare (in) float x)\n"
13786 " (declare (in) float y)\n"
13787 " (declare (in) float a))\n"
13788 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013789 " (signature vec2\n"
13790 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013791 " (declare (in) vec2 x)\n"
13792 " (declare (in) vec2 y)\n"
13793 " (declare (in) vec2 a))\n"
13794 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013795 " (signature vec3\n"
13796 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013797 " (declare (in) vec3 x)\n"
13798 " (declare (in) vec3 y)\n"
13799 " (declare (in) vec3 a))\n"
13800 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013801 " (signature vec4\n"
13802 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013803 " (declare (in) vec4 x)\n"
13804 " (declare (in) vec4 y)\n"
13805 " (declare (in) vec4 a))\n"
13806 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013807 " (signature vec2\n"
13808 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013809 " (declare (in) vec2 x)\n"
13810 " (declare (in) vec2 y)\n"
13811 " (declare (in) float a))\n"
13812 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013813 " (signature vec3\n"
13814 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013815 " (declare (in) vec3 x)\n"
13816 " (declare (in) vec3 y)\n"
13817 " (declare (in) float a))\n"
13818 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013819 " (signature vec4\n"
13820 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013821 " (declare (in) vec4 x)\n"
13822 " (declare (in) vec4 y)\n"
13823 " (declare (in) float a))\n"
13824 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013825 "(function step\n"
13826 " (signature float\n"
13827 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013828 " (declare (in) float edge)\n"
13829 " (declare (in) float x))\n"
13830 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013831 " (signature vec2\n"
13832 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013833 " (declare (in) vec2 edge)\n"
13834 " (declare (in) vec2 x))\n"
13835 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013836 " (signature vec3\n"
13837 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013838 " (declare (in) vec3 edge)\n"
13839 " (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 edge)\n"
13844 " (declare (in) vec4 x))\n"
13845 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013846 " (signature vec2\n"
13847 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013848 " (declare (in) float edge)\n"
13849 " (declare (in) vec2 x))\n"
13850 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013851 " (signature vec3\n"
13852 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013853 " (declare (in) float edge)\n"
13854 " (declare (in) vec3 x))\n"
13855 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013856 " (signature vec4\n"
13857 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013858 " (declare (in) float edge)\n"
13859 " (declare (in) vec4 x))\n"
13860 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013861 "(function smoothstep\n"
13862 " (signature float\n"
13863 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013864 " (declare (in) float edge0)\n"
13865 " (declare (in) float edge1)\n"
13866 " (declare (in) float x))\n"
13867 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013868 " (signature vec2\n"
13869 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013870 " (declare (in) vec2 edge0)\n"
13871 " (declare (in) vec2 edge1)\n"
13872 " (declare (in) vec2 x))\n"
13873 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013874 " (signature vec3\n"
13875 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013876 " (declare (in) vec3 edge0)\n"
13877 " (declare (in) vec3 edge1)\n"
13878 " (declare (in) vec3 x))\n"
13879 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013880 " (signature vec4\n"
13881 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013882 " (declare (in) vec4 edge0)\n"
13883 " (declare (in) vec4 edge1)\n"
13884 " (declare (in) vec4 x))\n"
13885 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013886 " (signature vec2\n"
13887 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013888 " (declare (in) float edge0)\n"
13889 " (declare (in) float edge1)\n"
13890 " (declare (in) vec2 x))\n"
13891 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013892 " (signature vec3\n"
13893 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013894 " (declare (in) float edge0)\n"
13895 " (declare (in) float edge1)\n"
13896 " (declare (in) vec3 x))\n"
13897 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013898 " (signature vec4\n"
13899 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013900 " (declare (in) float edge0)\n"
13901 " (declare (in) float edge1)\n"
13902 " (declare (in) vec4 x))\n"
13903 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013904 "(function length\n"
13905 " (signature float\n"
13906 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013907 " (declare (in) float x))\n"
13908 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013909 " (signature float\n"
13910 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013911 " (declare (in) vec2 x))\n"
13912 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013913 " (signature float\n"
13914 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013915 " (declare (in) vec3 x))\n"
13916 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013917 " (signature float\n"
13918 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013919 " (declare (in) vec4 x))\n"
13920 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013921 "(function distance\n"
13922 " (signature float\n"
13923 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013924 " (declare (in) float p0)\n"
13925 " (declare (in) float p1))\n"
13926 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013927 " (signature float\n"
13928 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013929 " (declare (in) vec2 p0)\n"
13930 " (declare (in) vec2 p1))\n"
13931 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013932 " (signature float\n"
13933 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013934 " (declare (in) vec3 p0)\n"
13935 " (declare (in) vec3 p1))\n"
13936 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013937 " (signature float\n"
13938 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013939 " (declare (in) vec4 p0)\n"
13940 " (declare (in) vec4 p1))\n"
13941 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013942 "(function dot\n"
13943 " (signature float\n"
13944 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013945 " (declare (in) float x)\n"
13946 " (declare (in) float y))\n"
13947 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013948 " (signature float\n"
13949 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013950 " (declare (in) vec2 x)\n"
13951 " (declare (in) vec2 y))\n"
13952 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013953 " (signature float\n"
13954 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013955 " (declare (in) vec3 x)\n"
13956 " (declare (in) vec3 y))\n"
13957 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013958 " (signature float\n"
13959 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013960 " (declare (in) vec4 x)\n"
13961 " (declare (in) vec4 y))\n"
13962 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013963 "(function cross\n"
13964 " (signature vec3\n"
13965 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013966 " (declare (in) vec3 x)\n"
13967 " (declare (in) vec3 y))\n"
13968 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013969 "(function normalize\n"
13970 " (signature float\n"
13971 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013972 " (declare (in) float x))\n"
13973 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013974 " (signature vec2\n"
13975 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013976 " (declare (in) vec2 x))\n"
13977 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013978 " (signature vec3\n"
13979 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013980 " (declare (in) vec3 x))\n"
13981 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013982 " (signature vec4\n"
13983 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013984 " (declare (in) vec4 x))\n"
13985 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013986 "(function faceforward\n"
13987 " (signature float\n"
13988 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013989 " (declare (in) float N)\n"
13990 " (declare (in) float I)\n"
13991 " (declare (in) float Nref))\n"
13992 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013993 " (signature vec2\n"
13994 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013995 " (declare (in) vec2 N)\n"
13996 " (declare (in) vec2 I)\n"
13997 " (declare (in) vec2 Nref))\n"
13998 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013999 " (signature vec3\n"
14000 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014001 " (declare (in) vec3 N)\n"
14002 " (declare (in) vec3 I)\n"
14003 " (declare (in) vec3 Nref))\n"
14004 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014005 " (signature vec4\n"
14006 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014007 " (declare (in) vec4 N)\n"
14008 " (declare (in) vec4 I)\n"
14009 " (declare (in) vec4 Nref))\n"
14010 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014011 "(function reflect\n"
14012 " (signature float\n"
14013 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014014 " (declare (in) float I)\n"
14015 " (declare (in) float N))\n"
14016 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014017 " (signature vec2\n"
14018 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014019 " (declare (in) vec2 I)\n"
14020 " (declare (in) vec2 N))\n"
14021 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014022 " (signature vec3\n"
14023 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014024 " (declare (in) vec3 I)\n"
14025 " (declare (in) vec3 N))\n"
14026 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014027 " (signature vec4\n"
14028 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014029 " (declare (in) vec4 I)\n"
14030 " (declare (in) vec4 N))\n"
14031 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014032 "(function refract\n"
14033 " (signature float\n"
14034 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014035 " (declare (in) float I)\n"
14036 " (declare (in) float N)\n"
14037 " (declare (in) float eta))\n"
14038 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014039 " (signature vec2\n"
14040 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014041 " (declare (in) vec2 I)\n"
14042 " (declare (in) vec2 N)\n"
14043 " (declare (in) float eta))\n"
14044 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014045 " (signature vec3\n"
14046 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014047 " (declare (in) vec3 I)\n"
14048 " (declare (in) vec3 N)\n"
14049 " (declare (in) float eta))\n"
14050 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014051 " (signature vec4\n"
14052 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014053 " (declare (in) vec4 I)\n"
14054 " (declare (in) vec4 N)\n"
14055 " (declare (in) float eta))\n"
14056 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014057 "(function matrixCompMult\n"
14058 " (signature mat2\n"
14059 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014060 " (declare (in) mat2 x)\n"
14061 " (declare (in) mat2 y))\n"
14062 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014063 " (signature mat3\n"
14064 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014065 " (declare (in) mat3 x)\n"
14066 " (declare (in) mat3 y))\n"
14067 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014068 " (signature mat4\n"
14069 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014070 " (declare (in) mat4 x)\n"
14071 " (declare (in) mat4 y))\n"
14072 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014073 " (signature mat2x3\n"
14074 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014075 " (declare (in) mat2x3 x)\n"
14076 " (declare (in) mat2x3 y))\n"
14077 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014078 " (signature mat2x4\n"
14079 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014080 " (declare (in) mat2x4 x)\n"
14081 " (declare (in) mat2x4 y))\n"
14082 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014083 " (signature mat3x2\n"
14084 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014085 " (declare (in) mat3x2 x)\n"
14086 " (declare (in) mat3x2 y))\n"
14087 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014088 " (signature mat3x4\n"
14089 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014090 " (declare (in) mat3x4 x)\n"
14091 " (declare (in) mat3x4 y))\n"
14092 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014093 " (signature mat4x2\n"
14094 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014095 " (declare (in) mat4x2 x)\n"
14096 " (declare (in) mat4x2 y))\n"
14097 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014098 " (signature mat4x3\n"
14099 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014100 " (declare (in) mat4x3 x)\n"
14101 " (declare (in) mat4x3 y))\n"
14102 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014103 "(function outerProduct\n"
14104 " (signature mat2\n"
14105 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014106 " (declare (in) vec2 c)\n"
14107 " (declare (in) vec2 r))\n"
14108 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014109 " (signature mat3\n"
14110 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014111 " (declare (in) vec3 c)\n"
14112 " (declare (in) vec3 r))\n"
14113 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014114 " (signature mat4\n"
14115 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014116 " (declare (in) vec4 c)\n"
14117 " (declare (in) vec4 r))\n"
14118 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014119 " (signature mat2x3\n"
14120 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014121 " (declare (in) vec3 c)\n"
14122 " (declare (in) vec2 r))\n"
14123 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014124 " (signature mat3x2\n"
14125 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014126 " (declare (in) vec2 c)\n"
14127 " (declare (in) vec3 r))\n"
14128 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014129 " (signature mat2x4\n"
14130 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014131 " (declare (in) vec4 c)\n"
14132 " (declare (in) vec2 r))\n"
14133 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014134 " (signature mat4x2\n"
14135 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014136 " (declare (in) vec2 c)\n"
14137 " (declare (in) vec4 r))\n"
14138 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014139 " (signature mat3x4\n"
14140 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014141 " (declare (in) vec4 c)\n"
14142 " (declare (in) vec3 r))\n"
14143 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014144 " (signature mat4x3\n"
14145 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014146 " (declare (in) vec3 c)\n"
14147 " (declare (in) vec4 r))\n"
14148 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014149 "(function transpose\n"
14150 " (signature mat2\n"
14151 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014152 " (declare (in) mat2 m))\n"
14153 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014154 " (signature mat3\n"
14155 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014156 " (declare (in) mat3 m))\n"
14157 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014158 " (signature mat4\n"
14159 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014160 " (declare (in) mat4 m))\n"
14161 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014162 " (signature mat2x3\n"
14163 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014164 " (declare (in) mat3x2 m))\n"
14165 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014166 " (signature mat3x2\n"
14167 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014168 " (declare (in) mat2x3 m))\n"
14169 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014170 " (signature mat2x4\n"
14171 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014172 " (declare (in) mat4x2 m))\n"
14173 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014174 " (signature mat4x2\n"
14175 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014176 " (declare (in) mat2x4 m))\n"
14177 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014178 " (signature mat3x4\n"
14179 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014180 " (declare (in) mat4x3 m))\n"
14181 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014182 " (signature mat4x3\n"
14183 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014184 " (declare (in) mat3x4 m))\n"
14185 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014186 "(function lessThan\n"
14187 " (signature bvec2\n"
14188 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014189 " (declare (in) vec2 x)\n"
14190 " (declare (in) vec2 y))\n"
14191 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014192 " (signature bvec3\n"
14193 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014194 " (declare (in) vec3 x)\n"
14195 " (declare (in) vec3 y))\n"
14196 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014197 " (signature bvec4\n"
14198 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014199 " (declare (in) vec4 x)\n"
14200 " (declare (in) vec4 y))\n"
14201 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014202 " (signature bvec2\n"
14203 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014204 " (declare (in) ivec2 x)\n"
14205 " (declare (in) ivec2 y))\n"
14206 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014207 " (signature bvec3\n"
14208 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014209 " (declare (in) ivec3 x)\n"
14210 " (declare (in) ivec3 y))\n"
14211 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014212 " (signature bvec4\n"
14213 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014214 " (declare (in) ivec4 x)\n"
14215 " (declare (in) ivec4 y))\n"
14216 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014217 " (signature bvec2\n"
14218 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014219 " (declare (in) uvec2 x)\n"
14220 " (declare (in) uvec2 y))\n"
14221 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014222 " (signature bvec3\n"
14223 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014224 " (declare (in) uvec3 x)\n"
14225 " (declare (in) uvec3 y))\n"
14226 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014227 " (signature bvec4\n"
14228 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014229 " (declare (in) uvec4 x)\n"
14230 " (declare (in) uvec4 y))\n"
14231 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014232 "(function lessThanEqual\n"
14233 " (signature bvec2\n"
14234 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014235 " (declare (in) vec2 x)\n"
14236 " (declare (in) vec2 y))\n"
14237 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014238 " (signature bvec3\n"
14239 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014240 " (declare (in) vec3 x)\n"
14241 " (declare (in) vec3 y))\n"
14242 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014243 " (signature bvec4\n"
14244 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014245 " (declare (in) vec4 x)\n"
14246 " (declare (in) vec4 y))\n"
14247 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014248 " (signature bvec2\n"
14249 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014250 " (declare (in) ivec2 x)\n"
14251 " (declare (in) ivec2 y))\n"
14252 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014253 " (signature bvec3\n"
14254 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014255 " (declare (in) ivec3 x)\n"
14256 " (declare (in) ivec3 y))\n"
14257 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014258 " (signature bvec4\n"
14259 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014260 " (declare (in) ivec4 x)\n"
14261 " (declare (in) ivec4 y))\n"
14262 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014263 " (signature bvec2\n"
14264 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014265 " (declare (in) uvec2 x)\n"
14266 " (declare (in) uvec2 y))\n"
14267 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014268 " (signature bvec3\n"
14269 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014270 " (declare (in) uvec3 x)\n"
14271 " (declare (in) uvec3 y))\n"
14272 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014273 " (signature bvec4\n"
14274 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014275 " (declare (in) uvec4 x)\n"
14276 " (declare (in) uvec4 y))\n"
14277 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014278 "(function greaterThan\n"
14279 " (signature bvec2\n"
14280 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014281 " (declare (in) vec2 x)\n"
14282 " (declare (in) vec2 y))\n"
14283 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014284 " (signature bvec3\n"
14285 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014286 " (declare (in) vec3 x)\n"
14287 " (declare (in) vec3 y))\n"
14288 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014289 " (signature bvec4\n"
14290 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014291 " (declare (in) vec4 x)\n"
14292 " (declare (in) vec4 y))\n"
14293 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014294 " (signature bvec2\n"
14295 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014296 " (declare (in) ivec2 x)\n"
14297 " (declare (in) ivec2 y))\n"
14298 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014299 " (signature bvec3\n"
14300 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014301 " (declare (in) ivec3 x)\n"
14302 " (declare (in) ivec3 y))\n"
14303 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014304 " (signature bvec4\n"
14305 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014306 " (declare (in) ivec4 x)\n"
14307 " (declare (in) ivec4 y))\n"
14308 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014309 " (signature bvec2\n"
14310 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014311 " (declare (in) uvec2 x)\n"
14312 " (declare (in) uvec2 y))\n"
14313 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014314 " (signature bvec3\n"
14315 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014316 " (declare (in) uvec3 x)\n"
14317 " (declare (in) uvec3 y))\n"
14318 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014319 " (signature bvec4\n"
14320 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014321 " (declare (in) uvec4 x)\n"
14322 " (declare (in) uvec4 y))\n"
14323 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014324 "(function greaterThanEqual\n"
14325 " (signature bvec2\n"
14326 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014327 " (declare (in) vec2 x)\n"
14328 " (declare (in) vec2 y))\n"
14329 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014330 " (signature bvec3\n"
14331 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014332 " (declare (in) vec3 x)\n"
14333 " (declare (in) vec3 y))\n"
14334 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014335 " (signature bvec4\n"
14336 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014337 " (declare (in) vec4 x)\n"
14338 " (declare (in) vec4 y))\n"
14339 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014340 " (signature bvec2\n"
14341 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014342 " (declare (in) ivec2 x)\n"
14343 " (declare (in) ivec2 y))\n"
14344 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014345 " (signature bvec3\n"
14346 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014347 " (declare (in) ivec3 x)\n"
14348 " (declare (in) ivec3 y))\n"
14349 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014350 " (signature bvec4\n"
14351 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014352 " (declare (in) ivec4 x)\n"
14353 " (declare (in) ivec4 y))\n"
14354 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014355 " (signature bvec2\n"
14356 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014357 " (declare (in) uvec2 x)\n"
14358 " (declare (in) uvec2 y))\n"
14359 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014360 " (signature bvec3\n"
14361 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014362 " (declare (in) uvec3 x)\n"
14363 " (declare (in) uvec3 y))\n"
14364 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014365 " (signature bvec4\n"
14366 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014367 " (declare (in) uvec4 x)\n"
14368 " (declare (in) uvec4 y))\n"
14369 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014370 "(function equal\n"
14371 " (signature bvec2\n"
14372 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014373 " (declare (in) vec2 x)\n"
14374 " (declare (in) vec2 y))\n"
14375 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014376 " (signature bvec3\n"
14377 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014378 " (declare (in) vec3 x)\n"
14379 " (declare (in) vec3 y))\n"
14380 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014381 " (signature bvec4\n"
14382 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014383 " (declare (in) vec4 x)\n"
14384 " (declare (in) vec4 y))\n"
14385 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014386 " (signature bvec2\n"
14387 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014388 " (declare (in) ivec2 x)\n"
14389 " (declare (in) ivec2 y))\n"
14390 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014391 " (signature bvec3\n"
14392 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014393 " (declare (in) ivec3 x)\n"
14394 " (declare (in) ivec3 y))\n"
14395 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014396 " (signature bvec4\n"
14397 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014398 " (declare (in) ivec4 x)\n"
14399 " (declare (in) ivec4 y))\n"
14400 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014401 " (signature bvec2\n"
14402 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014403 " (declare (in) uvec2 x)\n"
14404 " (declare (in) uvec2 y))\n"
14405 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014406 " (signature bvec3\n"
14407 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014408 " (declare (in) uvec3 x)\n"
14409 " (declare (in) uvec3 y))\n"
14410 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014411 " (signature bvec4\n"
14412 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014413 " (declare (in) uvec4 x)\n"
14414 " (declare (in) uvec4 y))\n"
14415 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014416 " (signature bvec2\n"
14417 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014418 " (declare (in) bvec2 x)\n"
14419 " (declare (in) bvec2 y))\n"
14420 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014421 " (signature bvec3\n"
14422 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014423 " (declare (in) bvec3 x)\n"
14424 " (declare (in) bvec3 y))\n"
14425 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014426 " (signature bvec4\n"
14427 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014428 " (declare (in) bvec4 x)\n"
14429 " (declare (in) bvec4 y))\n"
14430 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014431 "(function notEqual\n"
14432 " (signature bvec2\n"
14433 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014434 " (declare (in) vec2 x)\n"
14435 " (declare (in) vec2 y))\n"
14436 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014437 " (signature bvec3\n"
14438 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014439 " (declare (in) vec3 x)\n"
14440 " (declare (in) vec3 y))\n"
14441 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014442 " (signature bvec4\n"
14443 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014444 " (declare (in) vec4 x)\n"
14445 " (declare (in) vec4 y))\n"
14446 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014447 " (signature bvec2\n"
14448 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014449 " (declare (in) ivec2 x)\n"
14450 " (declare (in) ivec2 y))\n"
14451 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014452 " (signature bvec3\n"
14453 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014454 " (declare (in) ivec3 x)\n"
14455 " (declare (in) ivec3 y))\n"
14456 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014457 " (signature bvec4\n"
14458 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014459 " (declare (in) ivec4 x)\n"
14460 " (declare (in) ivec4 y))\n"
14461 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014462 " (signature bvec2\n"
14463 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014464 " (declare (in) uvec2 x)\n"
14465 " (declare (in) uvec2 y))\n"
14466 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014467 " (signature bvec3\n"
14468 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014469 " (declare (in) uvec3 x)\n"
14470 " (declare (in) uvec3 y))\n"
14471 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014472 " (signature bvec4\n"
14473 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014474 " (declare (in) uvec4 x)\n"
14475 " (declare (in) uvec4 y))\n"
14476 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014477 " (signature bvec2\n"
14478 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014479 " (declare (in) bvec2 x)\n"
14480 " (declare (in) bvec2 y))\n"
14481 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014482 " (signature bvec3\n"
14483 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014484 " (declare (in) bvec3 x)\n"
14485 " (declare (in) bvec3 y))\n"
14486 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014487 " (signature bvec4\n"
14488 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014489 " (declare (in) bvec4 x)\n"
14490 " (declare (in) bvec4 y))\n"
14491 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014492 "(function any\n"
14493 " (signature bool\n"
14494 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014495 " (declare (in) bvec2 x))\n"
14496 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014497 " (signature bool\n"
14498 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014499 " (declare (in) bvec3 x))\n"
14500 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014501 " (signature bool\n"
14502 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014503 " (declare (in) bvec4 x))\n"
14504 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014505 "(function all\n"
14506 " (signature bool\n"
14507 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014508 " (declare (in) bvec2 x))\n"
14509 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014510 " (signature bool\n"
14511 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014512 " (declare (in) bvec3 x))\n"
14513 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014514 " (signature bool\n"
14515 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014516 " (declare (in) bvec4 x))\n"
14517 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014518 "(function not\n"
14519 " (signature bvec2\n"
14520 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014521 " (declare (in) bvec2 x))\n"
14522 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014523 " (signature bvec3\n"
14524 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014525 " (declare (in) bvec3 x))\n"
14526 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014527 " (signature bvec4\n"
14528 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014529 " (declare (in) bvec4 x))\n"
14530 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014531 "(function texture\n"
14532 " (signature vec4\n"
14533 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014534 " (declare (in) sampler1D sampler)\n"
14535 " (declare (in) float P))\n"
14536 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014537 " (signature ivec4\n"
14538 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014539 " (declare (in) isampler1D sampler)\n"
14540 " (declare (in) float P))\n"
14541 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014542 " (signature uvec4\n"
14543 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014544 " (declare (in) usampler1D sampler)\n"
14545 " (declare (in) float P))\n"
14546 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014547 " (signature vec4\n"
14548 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014549 " (declare (in) sampler2D sampler)\n"
14550 " (declare (in) vec2 P))\n"
14551 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014552 " (signature ivec4\n"
14553 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014554 " (declare (in) isampler2D sampler)\n"
14555 " (declare (in) vec2 P))\n"
14556 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014557 " (signature uvec4\n"
14558 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014559 " (declare (in) usampler2D sampler)\n"
14560 " (declare (in) vec2 P))\n"
14561 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014562 " (signature vec4\n"
14563 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014564 " (declare (in) sampler3D sampler)\n"
14565 " (declare (in) vec3 P))\n"
14566 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014567 " (signature ivec4\n"
14568 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014569 " (declare (in) isampler3D sampler)\n"
14570 " (declare (in) vec3 P))\n"
14571 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014572 " (signature uvec4\n"
14573 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014574 " (declare (in) usampler3D sampler)\n"
14575 " (declare (in) vec3 P))\n"
14576 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014577 " (signature vec4\n"
14578 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014579 " (declare (in) samplerCube sampler)\n"
14580 " (declare (in) vec3 P))\n"
14581 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014582 " (signature ivec4\n"
14583 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014584 " (declare (in) isamplerCube sampler)\n"
14585 " (declare (in) vec3 P))\n"
14586 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014587 " (signature uvec4\n"
14588 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014589 " (declare (in) usamplerCube sampler)\n"
14590 " (declare (in) vec3 P))\n"
14591 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014592 " (signature float\n"
14593 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014594 " (declare (in) sampler1DShadow sampler)\n"
14595 " (declare (in) vec3 P))\n"
14596 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014597 " (signature float\n"
14598 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014599 " (declare (in) sampler2DShadow sampler)\n"
14600 " (declare (in) vec3 P))\n"
14601 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014602 " (signature float\n"
14603 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014604 " (declare (in) samplerCubeShadow sampler)\n"
14605 " (declare (in) vec4 P))\n"
14606 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014607 " (signature vec4\n"
14608 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014609 " (declare (in) sampler1DArray sampler)\n"
14610 " (declare (in) vec2 P))\n"
14611 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014612 " (signature ivec4\n"
14613 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014614 " (declare (in) isampler1DArray sampler)\n"
14615 " (declare (in) vec2 P))\n"
14616 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014617 " (signature uvec4\n"
14618 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014619 " (declare (in) usampler1DArray sampler)\n"
14620 " (declare (in) vec2 P))\n"
14621 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014622 " (signature vec4\n"
14623 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014624 " (declare (in) sampler2DArray sampler)\n"
14625 " (declare (in) vec3 P))\n"
14626 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014627 " (signature ivec4\n"
14628 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014629 " (declare (in) isampler2DArray sampler)\n"
14630 " (declare (in) vec3 P))\n"
14631 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014632 " (signature uvec4\n"
14633 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014634 " (declare (in) usampler2DArray sampler)\n"
14635 " (declare (in) vec3 P))\n"
14636 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014637 " (signature float\n"
14638 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014639 " (declare (in) sampler1DArrayShadow sampler)\n"
14640 " (declare (in) vec3 P))\n"
14641 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014642 " (signature float\n"
14643 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014644 " (declare (in) sampler2DArrayShadow sampler)\n"
14645 " (declare (in) vec4 P))\n"
14646 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014647 " (signature vec4\n"
14648 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014649 " (declare (in) sampler1D sampler)\n"
14650 " (declare (in) float P)\n"
14651 " (declare (in) float bias))\n"
14652 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014653 " (signature ivec4\n"
14654 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014655 " (declare (in) isampler1D sampler)\n"
14656 " (declare (in) float P)\n"
14657 " (declare (in) float bias))\n"
14658 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014659 " (signature uvec4\n"
14660 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014661 " (declare (in) usampler1D sampler)\n"
14662 " (declare (in) float P)\n"
14663 " (declare (in) float bias))\n"
14664 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014665 " (signature vec4\n"
14666 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014667 " (declare (in) sampler2D sampler)\n"
14668 " (declare (in) vec2 P)\n"
14669 " (declare (in) float bias))\n"
14670 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014671 " (signature ivec4\n"
14672 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014673 " (declare (in) isampler2D sampler)\n"
14674 " (declare (in) vec2 P)\n"
14675 " (declare (in) float bias))\n"
14676 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014677 " (signature uvec4\n"
14678 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014679 " (declare (in) usampler2D sampler)\n"
14680 " (declare (in) vec2 P)\n"
14681 " (declare (in) float bias))\n"
14682 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014683 " (signature vec4\n"
14684 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014685 " (declare (in) sampler3D sampler)\n"
14686 " (declare (in) vec3 P)\n"
14687 " (declare (in) float bias))\n"
14688 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014689 " (signature ivec4\n"
14690 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014691 " (declare (in) isampler3D sampler)\n"
14692 " (declare (in) vec3 P)\n"
14693 " (declare (in) float bias))\n"
14694 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014695 " (signature uvec4\n"
14696 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014697 " (declare (in) usampler3D sampler)\n"
14698 " (declare (in) vec3 P)\n"
14699 " (declare (in) float bias))\n"
14700 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014701 " (signature vec4\n"
14702 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014703 " (declare (in) samplerCube sampler)\n"
14704 " (declare (in) vec3 P)\n"
14705 " (declare (in) float bias))\n"
14706 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014707 " (signature ivec4\n"
14708 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014709 " (declare (in) isamplerCube sampler)\n"
14710 " (declare (in) vec3 P)\n"
14711 " (declare (in) float bias))\n"
14712 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014713 " (signature uvec4\n"
14714 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014715 " (declare (in) usamplerCube sampler)\n"
14716 " (declare (in) vec3 P)\n"
14717 " (declare (in) float bias))\n"
14718 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014719 " (signature float\n"
14720 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014721 " (declare (in) sampler1DShadow sampler)\n"
14722 " (declare (in) vec3 P)\n"
14723 " (declare (in) float bias))\n"
14724 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014725 " (signature float\n"
14726 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014727 " (declare (in) sampler2DShadow sampler)\n"
14728 " (declare (in) vec3 P)\n"
14729 " (declare (in) float bias))\n"
14730 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014731 " (signature float\n"
14732 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014733 " (declare (in) samplerCubeShadow sampler)\n"
14734 " (declare (in) vec4 P)\n"
14735 " (declare (in) float bias))\n"
14736 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014737 " (signature vec4\n"
14738 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014739 " (declare (in) sampler1DArray sampler)\n"
14740 " (declare (in) vec2 P)\n"
14741 " (declare (in) float bias))\n"
14742 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014743 " (signature ivec4\n"
14744 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014745 " (declare (in) isampler1DArray sampler)\n"
14746 " (declare (in) vec2 P)\n"
14747 " (declare (in) float bias))\n"
14748 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014749 " (signature uvec4\n"
14750 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014751 " (declare (in) usampler1DArray sampler)\n"
14752 " (declare (in) vec2 P)\n"
14753 " (declare (in) float bias))\n"
14754 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014755 " (signature vec4\n"
14756 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014757 " (declare (in) sampler2DArray sampler)\n"
14758 " (declare (in) vec3 P)\n"
14759 " (declare (in) float bias))\n"
14760 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014761 " (signature ivec4\n"
14762 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014763 " (declare (in) isampler2DArray sampler)\n"
14764 " (declare (in) vec3 P)\n"
14765 " (declare (in) float bias))\n"
14766 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014767 " (signature uvec4\n"
14768 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014769 " (declare (in) usampler2DArray sampler)\n"
14770 " (declare (in) vec3 P)\n"
14771 " (declare (in) float bias))\n"
14772 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014773 " (signature float\n"
14774 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014775 " (declare (in) sampler1DArrayShadow sampler)\n"
14776 " (declare (in) vec3 P)\n"
14777 " (declare (in) float bias))\n"
14778 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014779 "(function textureProj\n"
14780 " (signature vec4\n"
14781 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014782 " (declare (in) sampler1D sampler)\n"
14783 " (declare (in) vec2 P))\n"
14784 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014785 " (signature ivec4\n"
14786 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014787 " (declare (in) isampler1D sampler)\n"
14788 " (declare (in) vec2 P))\n"
14789 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014790 " (signature uvec4\n"
14791 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014792 " (declare (in) usampler1D sampler)\n"
14793 " (declare (in) vec2 P))\n"
14794 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014795 " (signature vec4\n"
14796 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014797 " (declare (in) sampler1D sampler)\n"
14798 " (declare (in) vec4 P))\n"
14799 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014800 " (signature ivec4\n"
14801 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014802 " (declare (in) isampler1D sampler)\n"
14803 " (declare (in) vec4 P))\n"
14804 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014805 " (signature uvec4\n"
14806 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014807 " (declare (in) usampler1D sampler)\n"
14808 " (declare (in) vec4 P))\n"
14809 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014810 " (signature vec4\n"
14811 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014812 " (declare (in) sampler2D sampler)\n"
14813 " (declare (in) vec3 P))\n"
14814 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014815 " (signature ivec4\n"
14816 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014817 " (declare (in) isampler2D sampler)\n"
14818 " (declare (in) vec3 P))\n"
14819 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014820 " (signature uvec4\n"
14821 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014822 " (declare (in) usampler2D sampler)\n"
14823 " (declare (in) vec3 P))\n"
14824 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014825 " (signature vec4\n"
14826 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014827 " (declare (in) sampler2D sampler)\n"
14828 " (declare (in) vec4 P))\n"
14829 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014830 " (signature ivec4\n"
14831 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014832 " (declare (in) isampler2D sampler)\n"
14833 " (declare (in) vec4 P))\n"
14834 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014835 " (signature uvec4\n"
14836 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014837 " (declare (in) usampler2D sampler)\n"
14838 " (declare (in) vec4 P))\n"
14839 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014840 " (signature vec4\n"
14841 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014842 " (declare (in) sampler3D sampler)\n"
14843 " (declare (in) vec4 P))\n"
14844 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014845 " (signature ivec4\n"
14846 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014847 " (declare (in) isampler3D sampler)\n"
14848 " (declare (in) vec4 P))\n"
14849 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014850 " (signature uvec4\n"
14851 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014852 " (declare (in) usampler3D sampler)\n"
14853 " (declare (in) vec4 P))\n"
14854 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014855 " (signature float\n"
14856 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014857 " (declare (in) sampler1DShadow sampler)\n"
14858 " (declare (in) vec4 P))\n"
14859 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014860 " (signature float\n"
14861 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014862 " (declare (in) sampler2DShadow sampler)\n"
14863 " (declare (in) vec4 P))\n"
14864 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014865 " (signature vec4\n"
14866 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014867 " (declare (in) sampler1D sampler)\n"
14868 " (declare (in) vec2 P)\n"
14869 " (declare (in) float bias))\n"
14870 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014871 " (signature ivec4\n"
14872 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014873 " (declare (in) isampler1D sampler)\n"
14874 " (declare (in) vec2 P)\n"
14875 " (declare (in) float bias))\n"
14876 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014877 " (signature uvec4\n"
14878 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014879 " (declare (in) usampler1D sampler)\n"
14880 " (declare (in) vec2 P)\n"
14881 " (declare (in) float bias))\n"
14882 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014883 " (signature vec4\n"
14884 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014885 " (declare (in) sampler1D sampler)\n"
14886 " (declare (in) vec4 P)\n"
14887 " (declare (in) float bias))\n"
14888 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014889 " (signature ivec4\n"
14890 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014891 " (declare (in) isampler1D sampler)\n"
14892 " (declare (in) vec4 P)\n"
14893 " (declare (in) float bias))\n"
14894 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014895 " (signature uvec4\n"
14896 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014897 " (declare (in) usampler1D sampler)\n"
14898 " (declare (in) vec4 P)\n"
14899 " (declare (in) float bias))\n"
14900 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014901 " (signature vec4\n"
14902 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014903 " (declare (in) sampler2D sampler)\n"
14904 " (declare (in) vec3 P)\n"
14905 " (declare (in) float bias))\n"
14906 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014907 " (signature ivec4\n"
14908 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014909 " (declare (in) isampler2D sampler)\n"
14910 " (declare (in) vec3 P)\n"
14911 " (declare (in) float bias))\n"
14912 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014913 " (signature uvec4\n"
14914 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014915 " (declare (in) usampler2D sampler)\n"
14916 " (declare (in) vec3 P)\n"
14917 " (declare (in) float bias))\n"
14918 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014919 " (signature vec4\n"
14920 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014921 " (declare (in) sampler2D sampler)\n"
14922 " (declare (in) vec4 P)\n"
14923 " (declare (in) float bias))\n"
14924 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014925 " (signature ivec4\n"
14926 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014927 " (declare (in) isampler2D sampler)\n"
14928 " (declare (in) vec4 P)\n"
14929 " (declare (in) float bias))\n"
14930 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014931 " (signature uvec4\n"
14932 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014933 " (declare (in) usampler2D sampler)\n"
14934 " (declare (in) vec4 P)\n"
14935 " (declare (in) float bias))\n"
14936 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014937 " (signature vec4\n"
14938 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014939 " (declare (in) sampler3D sampler)\n"
14940 " (declare (in) vec4 P)\n"
14941 " (declare (in) float bias))\n"
14942 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014943 " (signature ivec4\n"
14944 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014945 " (declare (in) isampler3D sampler)\n"
14946 " (declare (in) vec4 P)\n"
14947 " (declare (in) float bias))\n"
14948 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014949 " (signature uvec4\n"
14950 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014951 " (declare (in) usampler3D sampler)\n"
14952 " (declare (in) vec4 P)\n"
14953 " (declare (in) float bias))\n"
14954 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014955 " (signature float\n"
14956 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014957 " (declare (in) sampler1DShadow sampler)\n"
14958 " (declare (in) vec4 P)\n"
14959 " (declare (in) float bias))\n"
14960 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014961 " (signature float\n"
14962 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014963 " (declare (in) sampler2DShadow sampler)\n"
14964 " (declare (in) vec4 P)\n"
14965 " (declare (in) float bias))\n"
14966 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014967 "(function textureLod\n"
14968 " (signature vec4\n"
14969 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014970 " (declare (in) sampler1D sampler)\n"
14971 " (declare (in) float P)\n"
14972 " (declare (in) float lod))\n"
14973 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014974 " (signature ivec4\n"
14975 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014976 " (declare (in) isampler1D sampler)\n"
14977 " (declare (in) float P)\n"
14978 " (declare (in) float lod))\n"
14979 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014980 " (signature uvec4\n"
14981 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014982 " (declare (in) usampler1D sampler)\n"
14983 " (declare (in) float P)\n"
14984 " (declare (in) float lod))\n"
14985 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014986 " (signature vec4\n"
14987 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014988 " (declare (in) sampler2D sampler)\n"
14989 " (declare (in) vec2 P)\n"
14990 " (declare (in) float lod))\n"
14991 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014992 " (signature ivec4\n"
14993 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014994 " (declare (in) isampler2D sampler)\n"
14995 " (declare (in) vec2 P)\n"
14996 " (declare (in) float lod))\n"
14997 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014998 " (signature uvec4\n"
14999 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015000 " (declare (in) usampler2D sampler)\n"
15001 " (declare (in) vec2 P)\n"
15002 " (declare (in) float lod))\n"
15003 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015004 " (signature vec4\n"
15005 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015006 " (declare (in) sampler3D sampler)\n"
15007 " (declare (in) vec3 P)\n"
15008 " (declare (in) float lod))\n"
15009 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015010 " (signature ivec4\n"
15011 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015012 " (declare (in) isampler3D sampler)\n"
15013 " (declare (in) vec3 P)\n"
15014 " (declare (in) float lod))\n"
15015 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015016 " (signature uvec4\n"
15017 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015018 " (declare (in) usampler3D sampler)\n"
15019 " (declare (in) vec3 P)\n"
15020 " (declare (in) float lod))\n"
15021 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015022 " (signature vec4\n"
15023 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015024 " (declare (in) samplerCube sampler)\n"
15025 " (declare (in) vec3 P)\n"
15026 " (declare (in) float lod))\n"
15027 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015028 " (signature ivec4\n"
15029 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015030 " (declare (in) isamplerCube sampler)\n"
15031 " (declare (in) vec3 P)\n"
15032 " (declare (in) float lod))\n"
15033 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015034 " (signature uvec4\n"
15035 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015036 " (declare (in) usamplerCube sampler)\n"
15037 " (declare (in) vec3 P)\n"
15038 " (declare (in) float lod))\n"
15039 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015040 " (signature float\n"
15041 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015042 " (declare (in) sampler1DShadow sampler)\n"
15043 " (declare (in) vec3 P)\n"
15044 " (declare (in) float lod))\n"
15045 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015046 " (signature float\n"
15047 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015048 " (declare (in) sampler2DShadow sampler)\n"
15049 " (declare (in) vec3 P)\n"
15050 " (declare (in) float lod))\n"
15051 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015052 " (signature vec4\n"
15053 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015054 " (declare (in) sampler1DArray sampler)\n"
15055 " (declare (in) vec2 P)\n"
15056 " (declare (in) float lod))\n"
15057 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015058 " (signature ivec4\n"
15059 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015060 " (declare (in) isampler1DArray sampler)\n"
15061 " (declare (in) vec2 P)\n"
15062 " (declare (in) float lod))\n"
15063 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015064 " (signature uvec4\n"
15065 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015066 " (declare (in) usampler1DArray sampler)\n"
15067 " (declare (in) vec2 P)\n"
15068 " (declare (in) float lod))\n"
15069 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015070 " (signature vec4\n"
15071 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015072 " (declare (in) sampler2DArray sampler)\n"
15073 " (declare (in) vec3 P)\n"
15074 " (declare (in) float lod))\n"
15075 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015076 " (signature ivec4\n"
15077 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015078 " (declare (in) isampler2DArray sampler)\n"
15079 " (declare (in) vec3 P)\n"
15080 " (declare (in) float lod))\n"
15081 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015082 " (signature uvec4\n"
15083 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015084 " (declare (in) usampler2DArray sampler)\n"
15085 " (declare (in) vec3 P)\n"
15086 " (declare (in) float lod))\n"
15087 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015088 " (signature float\n"
15089 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015090 " (declare (in) sampler1DArrayShadow sampler)\n"
15091 " (declare (in) vec3 P)\n"
15092 " (declare (in) float lod))\n"
15093 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015094 "(function texelFetch\n"
15095 " (signature vec4\n"
15096 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015097 " (declare (in) sampler1D sampler)\n"
15098 " (declare (in) int P)\n"
15099 " (declare (in) int lod))\n"
15100 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015101 " (signature ivec4\n"
15102 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015103 " (declare (in) isampler1D sampler)\n"
15104 " (declare (in) int P)\n"
15105 " (declare (in) int lod))\n"
15106 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015107 " (signature uvec4\n"
15108 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015109 " (declare (in) usampler1D sampler)\n"
15110 " (declare (in) int P)\n"
15111 " (declare (in) int lod))\n"
15112 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015113 " (signature vec4\n"
15114 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015115 " (declare (in) sampler2D sampler)\n"
15116 " (declare (in) ivec2 P)\n"
15117 " (declare (in) int lod))\n"
15118 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015119 " (signature ivec4\n"
15120 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015121 " (declare (in) isampler2D sampler)\n"
15122 " (declare (in) ivec2 P)\n"
15123 " (declare (in) int lod))\n"
15124 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015125 " (signature uvec4\n"
15126 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015127 " (declare (in) usampler2D sampler)\n"
15128 " (declare (in) ivec2 P)\n"
15129 " (declare (in) int lod))\n"
15130 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015131 " (signature vec4\n"
15132 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015133 " (declare (in) sampler3D sampler)\n"
15134 " (declare (in) ivec3 P)\n"
15135 " (declare (in) int lod))\n"
15136 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015137 " (signature ivec4\n"
15138 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015139 " (declare (in) isampler3D sampler)\n"
15140 " (declare (in) ivec3 P)\n"
15141 " (declare (in) int lod))\n"
15142 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015143 " (signature uvec4\n"
15144 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015145 " (declare (in) usampler3D sampler)\n"
15146 " (declare (in) ivec3 P)\n"
15147 " (declare (in) int lod))\n"
15148 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015149 " (signature vec4\n"
15150 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015151 " (declare (in) sampler1DArray sampler)\n"
15152 " (declare (in) ivec2 P)\n"
15153 " (declare (in) int lod))\n"
15154 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015155 " (signature ivec4\n"
15156 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015157 " (declare (in) isampler1DArray sampler)\n"
15158 " (declare (in) ivec2 P)\n"
15159 " (declare (in) int lod))\n"
15160 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015161 " (signature uvec4\n"
15162 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015163 " (declare (in) usampler1DArray sampler)\n"
15164 " (declare (in) ivec2 P)\n"
15165 " (declare (in) int lod))\n"
15166 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015167 " (signature vec4\n"
15168 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015169 " (declare (in) sampler2DArray sampler)\n"
15170 " (declare (in) ivec3 P)\n"
15171 " (declare (in) int lod))\n"
15172 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015173 " (signature ivec4\n"
15174 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015175 " (declare (in) isampler2DArray sampler)\n"
15176 " (declare (in) ivec3 P)\n"
15177 " (declare (in) int lod))\n"
15178 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015179 " (signature uvec4\n"
15180 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015181 " (declare (in) usampler2DArray sampler)\n"
15182 " (declare (in) ivec3 P)\n"
15183 " (declare (in) int lod))\n"
15184 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015185 "(function textureProjLod\n"
15186 " (signature vec4\n"
15187 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015188 " (declare (in) sampler1D sampler)\n"
15189 " (declare (in) vec2 P)\n"
15190 " (declare (in) float lod))\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) isampler1D sampler)\n"
15195 " (declare (in) vec2 P)\n"
15196 " (declare (in) float lod))\n"
15197 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015198 " (signature uvec4\n"
15199 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015200 " (declare (in) usampler1D sampler)\n"
15201 " (declare (in) vec2 P)\n"
15202 " (declare (in) float lod))\n"
15203 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015204 " (signature vec4\n"
15205 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015206 " (declare (in) sampler1D sampler)\n"
15207 " (declare (in) vec4 P)\n"
15208 " (declare (in) float lod))\n"
15209 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015210 " (signature ivec4\n"
15211 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015212 " (declare (in) isampler1D sampler)\n"
15213 " (declare (in) vec4 P)\n"
15214 " (declare (in) float lod))\n"
15215 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015216 " (signature uvec4\n"
15217 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015218 " (declare (in) usampler1D sampler)\n"
15219 " (declare (in) vec4 P)\n"
15220 " (declare (in) float lod))\n"
15221 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015222 " (signature vec4\n"
15223 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015224 " (declare (in) sampler2D sampler)\n"
15225 " (declare (in) vec3 P)\n"
15226 " (declare (in) float lod))\n"
15227 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015228 " (signature ivec4\n"
15229 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015230 " (declare (in) isampler2D sampler)\n"
15231 " (declare (in) vec3 P)\n"
15232 " (declare (in) float lod))\n"
15233 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015234 " (signature uvec4\n"
15235 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015236 " (declare (in) usampler2D sampler)\n"
15237 " (declare (in) vec3 P)\n"
15238 " (declare (in) float lod))\n"
15239 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015240 " (signature vec4\n"
15241 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015242 " (declare (in) sampler2D sampler)\n"
15243 " (declare (in) vec4 P)\n"
15244 " (declare (in) float lod))\n"
15245 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015246 " (signature ivec4\n"
15247 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015248 " (declare (in) isampler2D sampler)\n"
15249 " (declare (in) vec4 P)\n"
15250 " (declare (in) float lod))\n"
15251 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015252 " (signature uvec4\n"
15253 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015254 " (declare (in) usampler2D sampler)\n"
15255 " (declare (in) vec4 P)\n"
15256 " (declare (in) float lod))\n"
15257 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015258 " (signature vec4\n"
15259 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015260 " (declare (in) sampler3D sampler)\n"
15261 " (declare (in) vec4 P)\n"
15262 " (declare (in) float lod))\n"
15263 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015264 " (signature ivec4\n"
15265 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015266 " (declare (in) isampler3D sampler)\n"
15267 " (declare (in) vec4 P)\n"
15268 " (declare (in) float lod))\n"
15269 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015270 " (signature uvec4\n"
15271 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015272 " (declare (in) usampler3D sampler)\n"
15273 " (declare (in) vec4 P)\n"
15274 " (declare (in) float lod))\n"
15275 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015276 " (signature float\n"
15277 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015278 " (declare (in) sampler1DShadow sampler)\n"
15279 " (declare (in) vec4 P)\n"
15280 " (declare (in) float lod))\n"
15281 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015282 " (signature float\n"
15283 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015284 " (declare (in) sampler2DShadow sampler)\n"
15285 " (declare (in) vec4 P)\n"
15286 " (declare (in) float lod))\n"
15287 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015288 "(function textureGrad\n"
15289 " (signature vec4\n"
15290 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015291 " (declare (in) sampler1D sampler)\n"
15292 " (declare (in) float P)\n"
15293 " (declare (in) float dPdx)\n"
15294 " (declare (in) float dPdy))\n"
15295 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015296 " (signature ivec4\n"
15297 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015298 " (declare (in) isampler1D sampler)\n"
15299 " (declare (in) float P)\n"
15300 " (declare (in) float dPdx)\n"
15301 " (declare (in) float dPdy))\n"
15302 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015303 " (signature uvec4\n"
15304 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015305 " (declare (in) usampler1D sampler)\n"
15306 " (declare (in) float P)\n"
15307 " (declare (in) float dPdx)\n"
15308 " (declare (in) float dPdy))\n"
15309 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015310 " (signature vec4\n"
15311 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015312 " (declare (in) sampler2D sampler)\n"
15313 " (declare (in) vec2 P)\n"
15314 " (declare (in) vec2 dPdx)\n"
15315 " (declare (in) vec2 dPdy))\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) isampler2D sampler)\n"
15320 " (declare (in) vec2 P)\n"
15321 " (declare (in) vec2 dPdx)\n"
15322 " (declare (in) vec2 dPdy))\n"
15323 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015324 " (signature uvec4\n"
15325 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015326 " (declare (in) usampler2D sampler)\n"
15327 " (declare (in) vec2 P)\n"
15328 " (declare (in) vec2 dPdx)\n"
15329 " (declare (in) vec2 dPdy))\n"
15330 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015331 " (signature vec4\n"
15332 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015333 " (declare (in) sampler3D sampler)\n"
15334 " (declare (in) vec3 P)\n"
15335 " (declare (in) vec3 dPdx)\n"
15336 " (declare (in) vec3 dPdy))\n"
15337 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015338 " (signature ivec4\n"
15339 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015340 " (declare (in) isampler3D sampler)\n"
15341 " (declare (in) vec3 P)\n"
15342 " (declare (in) vec3 dPdx)\n"
15343 " (declare (in) vec3 dPdy))\n"
15344 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015345 " (signature uvec4\n"
15346 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015347 " (declare (in) usampler3D sampler)\n"
15348 " (declare (in) vec3 P)\n"
15349 " (declare (in) vec3 dPdx)\n"
15350 " (declare (in) vec3 dPdy))\n"
15351 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015352 " (signature vec4\n"
15353 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015354 " (declare (in) samplerCube sampler)\n"
15355 " (declare (in) vec3 P)\n"
15356 " (declare (in) vec3 dPdx)\n"
15357 " (declare (in) vec3 dPdy))\n"
15358 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015359 " (signature ivec4\n"
15360 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015361 " (declare (in) isamplerCube sampler)\n"
15362 " (declare (in) vec3 P)\n"
15363 " (declare (in) vec3 dPdx)\n"
15364 " (declare (in) vec3 dPdy))\n"
15365 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015366 " (signature uvec4\n"
15367 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015368 " (declare (in) usamplerCube sampler)\n"
15369 " (declare (in) vec3 P)\n"
15370 " (declare (in) vec3 dPdx)\n"
15371 " (declare (in) vec3 dPdy))\n"
15372 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015373 " (signature float\n"
15374 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015375 " (declare (in) sampler1DShadow sampler)\n"
15376 " (declare (in) vec3 P)\n"
15377 " (declare (in) float dPdx)\n"
15378 " (declare (in) float dPdy))\n"
15379 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015380 " (signature float\n"
15381 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015382 " (declare (in) sampler2DShadow sampler)\n"
15383 " (declare (in) vec3 P)\n"
15384 " (declare (in) vec2 dPdx)\n"
15385 " (declare (in) vec2 dPdy))\n"
15386 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015387 " (signature float\n"
15388 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015389 " (declare (in) samplerCubeShadow sampler)\n"
15390 " (declare (in) vec4 P)\n"
15391 " (declare (in) vec3 dPdx)\n"
15392 " (declare (in) vec3 dPdy))\n"
15393 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015394 " (signature vec4\n"
15395 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015396 " (declare (in) sampler1DArray sampler)\n"
15397 " (declare (in) vec2 P)\n"
15398 " (declare (in) float dPdx)\n"
15399 " (declare (in) float dPdy))\n"
15400 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015401 " (signature ivec4\n"
15402 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015403 " (declare (in) isampler1DArray sampler)\n"
15404 " (declare (in) vec2 P)\n"
15405 " (declare (in) float dPdx)\n"
15406 " (declare (in) float dPdy))\n"
15407 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015408 " (signature uvec4\n"
15409 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015410 " (declare (in) usampler1DArray sampler)\n"
15411 " (declare (in) vec2 P)\n"
15412 " (declare (in) float dPdx)\n"
15413 " (declare (in) float dPdy))\n"
15414 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015415 " (signature vec4\n"
15416 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015417 " (declare (in) sampler2DArray sampler)\n"
15418 " (declare (in) vec3 P)\n"
15419 " (declare (in) vec2 dPdx)\n"
15420 " (declare (in) vec2 dPdy))\n"
15421 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015422 " (signature ivec4\n"
15423 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015424 " (declare (in) isampler2DArray sampler)\n"
15425 " (declare (in) vec3 P)\n"
15426 " (declare (in) vec2 dPdx)\n"
15427 " (declare (in) vec2 dPdy))\n"
15428 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015429 " (signature uvec4\n"
15430 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015431 " (declare (in) usampler2DArray sampler)\n"
15432 " (declare (in) vec3 P)\n"
15433 " (declare (in) vec2 dPdx)\n"
15434 " (declare (in) vec2 dPdy))\n"
15435 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015436 " (signature float\n"
15437 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015438 " (declare (in) sampler1DArrayShadow sampler)\n"
15439 " (declare (in) vec3 P)\n"
15440 " (declare (in) float dPdx)\n"
15441 " (declare (in) float dPdy))\n"
15442 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015443 " (signature float\n"
15444 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015445 " (declare (in) sampler2DArrayShadow sampler)\n"
15446 " (declare (in) vec4 P)\n"
15447 " (declare (in) vec2 dPdx)\n"
15448 " (declare (in) vec2 dPdy))\n"
15449 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015450 "(function textureProjGrad\n"
15451 " (signature vec4\n"
15452 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015453 " (declare (in) sampler1D sampler)\n"
15454 " (declare (in) vec2 P)\n"
15455 " (declare (in) float dPdx)\n"
15456 " (declare (in) float dPdy))\n"
15457 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015458 " (signature ivec4\n"
15459 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015460 " (declare (in) isampler1D sampler)\n"
15461 " (declare (in) vec2 P)\n"
15462 " (declare (in) float dPdx)\n"
15463 " (declare (in) float dPdy))\n"
15464 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015465 " (signature uvec4\n"
15466 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015467 " (declare (in) usampler1D sampler)\n"
15468 " (declare (in) vec2 P)\n"
15469 " (declare (in) float dPdx)\n"
15470 " (declare (in) float dPdy))\n"
15471 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015472 " (signature vec4\n"
15473 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015474 " (declare (in) sampler1D sampler)\n"
15475 " (declare (in) vec4 P)\n"
15476 " (declare (in) float dPdx)\n"
15477 " (declare (in) float dPdy))\n"
15478 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015479 " (signature ivec4\n"
15480 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015481 " (declare (in) isampler1D sampler)\n"
15482 " (declare (in) vec4 P)\n"
15483 " (declare (in) float dPdx)\n"
15484 " (declare (in) float dPdy))\n"
15485 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015486 " (signature uvec4\n"
15487 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015488 " (declare (in) usampler1D sampler)\n"
15489 " (declare (in) vec4 P)\n"
15490 " (declare (in) float dPdx)\n"
15491 " (declare (in) float dPdy))\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) sampler2D sampler)\n"
15496 " (declare (in) vec3 P)\n"
15497 " (declare (in) vec2 dPdx)\n"
15498 " (declare (in) vec2 dPdy))\n"
15499 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015500 " (signature ivec4\n"
15501 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015502 " (declare (in) isampler2D sampler)\n"
15503 " (declare (in) vec3 P)\n"
15504 " (declare (in) vec2 dPdx)\n"
15505 " (declare (in) vec2 dPdy))\n"
15506 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015507 " (signature uvec4\n"
15508 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015509 " (declare (in) usampler2D sampler)\n"
15510 " (declare (in) vec3 P)\n"
15511 " (declare (in) vec2 dPdx)\n"
15512 " (declare (in) vec2 dPdy))\n"
15513 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015514 " (signature vec4\n"
15515 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015516 " (declare (in) sampler2D sampler)\n"
15517 " (declare (in) vec4 P)\n"
15518 " (declare (in) vec2 dPdx)\n"
15519 " (declare (in) vec2 dPdy))\n"
15520 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015521 " (signature ivec4\n"
15522 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015523 " (declare (in) isampler2D sampler)\n"
15524 " (declare (in) vec4 P)\n"
15525 " (declare (in) vec2 dPdx)\n"
15526 " (declare (in) vec2 dPdy))\n"
15527 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015528 " (signature uvec4\n"
15529 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015530 " (declare (in) usampler2D sampler)\n"
15531 " (declare (in) vec4 P)\n"
15532 " (declare (in) vec2 dPdx)\n"
15533 " (declare (in) vec2 dPdy))\n"
15534 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015535 " (signature vec4\n"
15536 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015537 " (declare (in) sampler3D sampler)\n"
15538 " (declare (in) vec4 P)\n"
15539 " (declare (in) vec3 dPdx)\n"
15540 " (declare (in) vec3 dPdy))\n"
15541 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015542 " (signature ivec4\n"
15543 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015544 " (declare (in) isampler3D sampler)\n"
15545 " (declare (in) vec4 P)\n"
15546 " (declare (in) vec3 dPdx)\n"
15547 " (declare (in) vec3 dPdy))\n"
15548 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015549 " (signature uvec4\n"
15550 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015551 " (declare (in) usampler3D sampler)\n"
15552 " (declare (in) vec4 P)\n"
15553 " (declare (in) vec3 dPdx)\n"
15554 " (declare (in) vec3 dPdy))\n"
15555 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015556 " (signature float\n"
15557 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015558 " (declare (in) sampler1DShadow sampler)\n"
15559 " (declare (in) vec4 P)\n"
15560 " (declare (in) float dPdx)\n"
15561 " (declare (in) float dPdy))\n"
15562 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015563 " (signature float\n"
15564 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015565 " (declare (in) sampler2DShadow sampler)\n"
15566 " (declare (in) vec4 P)\n"
15567 " (declare (in) vec2 dPdx)\n"
15568 " (declare (in) vec2 dPdy))\n"
15569 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015570 "(function texture1D\n"
15571 " (signature vec4\n"
15572 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015573 " (declare (in) sampler1D sampler)\n"
15574 " (declare (in) float coord))\n"
15575 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015576 " (signature vec4\n"
15577 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015578 " (declare (in) sampler1D sampler)\n"
15579 " (declare (in) float coord)\n"
15580 " (declare (in) float bias))\n"
15581 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015582 "(function texture1DProj\n"
15583 " (signature vec4\n"
15584 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015585 " (declare (in) sampler1D sampler)\n"
15586 " (declare (in) vec2 coord))\n"
15587 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015588 " (signature vec4\n"
15589 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015590 " (declare (in) sampler1D sampler)\n"
15591 " (declare (in) vec4 coord))\n"
15592 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015593 " (signature vec4\n"
15594 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015595 " (declare (in) sampler1D sampler)\n"
15596 " (declare (in) vec2 coord)\n"
15597 " (declare (in) float bias))\n"
15598 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015599 " (signature vec4\n"
15600 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015601 " (declare (in) sampler1D sampler)\n"
15602 " (declare (in) vec4 coord)\n"
15603 " (declare (in) float bias))\n"
15604 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015605 "(function texture1DLod\n"
15606 " (signature vec4\n"
15607 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015608 " (declare (in) sampler1D sampler)\n"
15609 " (declare (in) float coord)\n"
15610 " (declare (in) float lod))\n"
15611 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015612 "(function texture1DProjLod\n"
15613 " (signature vec4\n"
15614 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015615 " (declare (in) sampler1D sampler)\n"
15616 " (declare (in) vec2 coord)\n"
15617 " (declare (in) float lod))\n"
15618 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015619 " (signature vec4\n"
15620 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015621 " (declare (in) sampler1D sampler)\n"
15622 " (declare (in) vec4 coord)\n"
15623 " (declare (in) float lod))\n"
15624 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015625 "(function texture2D\n"
15626 " (signature vec4\n"
15627 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015628 " (declare (in) sampler2D sampler)\n"
15629 " (declare (in) vec2 coord))\n"
15630 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015631 " (signature vec4\n"
15632 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015633 " (declare (in) sampler2D sampler)\n"
15634 " (declare (in) vec2 coord)\n"
15635 " (declare (in) float bias))\n"
15636 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015637 "(function texture2DProj\n"
15638 " (signature vec4\n"
15639 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015640 " (declare (in) sampler2D sampler)\n"
15641 " (declare (in) vec3 coord))\n"
15642 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015643 " (signature vec4\n"
15644 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015645 " (declare (in) sampler2D sampler)\n"
15646 " (declare (in) vec4 coord))\n"
15647 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015648 " (signature vec4\n"
15649 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015650 " (declare (in) sampler2D sampler)\n"
15651 " (declare (in) vec3 coord)\n"
15652 " (declare (in) float bias))\n"
15653 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015654 " (signature vec4\n"
15655 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015656 " (declare (in) sampler2D sampler)\n"
15657 " (declare (in) vec4 coord)\n"
15658 " (declare (in) float bias))\n"
15659 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015660 "(function texture2DLod\n"
15661 " (signature vec4\n"
15662 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015663 " (declare (in) sampler2D sampler)\n"
15664 " (declare (in) vec2 coord)\n"
15665 " (declare (in) float lod))\n"
15666 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015667 "(function texture2DProjLod\n"
15668 " (signature vec4\n"
15669 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015670 " (declare (in) sampler2D sampler)\n"
15671 " (declare (in) vec3 coord)\n"
15672 " (declare (in) float lod))\n"
15673 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015674 " (signature vec4\n"
15675 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015676 " (declare (in) sampler2D sampler)\n"
15677 " (declare (in) vec4 coord)\n"
15678 " (declare (in) float lod))\n"
15679 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015680 "(function texture3D\n"
15681 " (signature vec4\n"
15682 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015683 " (declare (in) sampler3D sampler)\n"
15684 " (declare (in) vec3 coord))\n"
15685 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015686 " (signature vec4\n"
15687 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015688 " (declare (in) sampler3D sampler)\n"
15689 " (declare (in) vec3 coord)\n"
15690 " (declare (in) float bias))\n"
15691 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015692 "(function texture3DProj\n"
15693 " (signature vec4\n"
15694 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015695 " (declare (in) sampler3D sampler)\n"
15696 " (declare (in) vec4 coord))\n"
15697 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015698 " (signature vec4\n"
15699 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015700 " (declare (in) sampler3D sampler)\n"
15701 " (declare (in) vec4 coord)\n"
15702 " (declare (in) float bias))\n"
15703 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015704 "(function texture3DLod\n"
15705 " (signature vec4\n"
15706 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015707 " (declare (in) sampler3D sampler)\n"
15708 " (declare (in) vec3 coord)\n"
15709 " (declare (in) float lod))\n"
15710 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015711 "(function texture3DProjLod\n"
15712 " (signature vec4\n"
15713 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015714 " (declare (in) sampler3D sampler)\n"
15715 " (declare (in) vec4 coord)\n"
15716 " (declare (in) float lod))\n"
15717 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015718 "(function textureCube\n"
15719 " (signature vec4\n"
15720 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015721 " (declare (in) samplerCube sampler)\n"
15722 " (declare (in) vec3 coord))\n"
15723 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015724 " (signature vec4\n"
15725 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015726 " (declare (in) samplerCube sampler)\n"
15727 " (declare (in) vec3 coord)\n"
15728 " (declare (in) float bias))\n"
15729 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015730 "(function textureCubeLod\n"
15731 " (signature vec4\n"
15732 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015733 " (declare (in) samplerCube sampler)\n"
15734 " (declare (in) vec3 coord)\n"
15735 " (declare (in) float lod))\n"
15736 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015737 "(function shadow1D\n"
15738 " (signature vec4\n"
15739 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015740 " (declare (in) sampler1DShadow sampler)\n"
15741 " (declare (in) vec3 coord))\n"
15742 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015743 " (signature vec4\n"
15744 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015745 " (declare (in) sampler1DShadow sampler)\n"
15746 " (declare (in) vec3 coord)\n"
15747 " (declare (in) float bias))\n"
15748 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015749 "(function shadow2D\n"
15750 " (signature vec4\n"
15751 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015752 " (declare (in) sampler2DShadow sampler)\n"
15753 " (declare (in) vec3 coord))\n"
15754 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015755 " (signature vec4\n"
15756 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015757 " (declare (in) sampler2DShadow sampler)\n"
15758 " (declare (in) vec3 coord)\n"
15759 " (declare (in) float bias))\n"
15760 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015761 "(function shadow1DProj\n"
15762 " (signature vec4\n"
15763 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015764 " (declare (in) sampler1DShadow sampler)\n"
15765 " (declare (in) vec4 coord))\n"
15766 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015767 " (signature vec4\n"
15768 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015769 " (declare (in) sampler1DShadow sampler)\n"
15770 " (declare (in) vec4 coord)\n"
15771 " (declare (in) float bias))\n"
15772 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015773 "(function shadow2DProj\n"
15774 " (signature vec4\n"
15775 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015776 " (declare (in) sampler2DShadow sampler)\n"
15777 " (declare (in) vec4 coord))\n"
15778 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015779 " (signature vec4\n"
15780 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015781 " (declare (in) sampler2DShadow sampler)\n"
15782 " (declare (in) vec4 coord)\n"
15783 " (declare (in) float bias))\n"
15784 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015785 "(function shadow1DLod\n"
15786 " (signature vec4\n"
15787 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015788 " (declare (in) sampler1DShadow sampler)\n"
15789 " (declare (in) vec3 coord)\n"
15790 " (declare (in) float lod))\n"
15791 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015792 "(function shadow2DLod\n"
15793 " (signature vec4\n"
15794 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015795 " (declare (in) sampler2DShadow sampler)\n"
15796 " (declare (in) vec3 coord)\n"
15797 " (declare (in) float lod))\n"
15798 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015799 "(function shadow1DProjLod\n"
15800 " (signature vec4\n"
15801 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015802 " (declare (in) sampler1DShadow sampler)\n"
15803 " (declare (in) vec4 coord)\n"
15804 " (declare (in) float lod))\n"
15805 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015806 "(function shadow2DProjLod\n"
15807 " (signature vec4\n"
15808 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015809 " (declare (in) sampler2DShadow sampler)\n"
15810 " (declare (in) vec4 coord)\n"
15811 " (declare (in) float lod))\n"
15812 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015813 "(function dFdx\n"
15814 " (signature float\n"
15815 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015816 " (declare (in) float p))\n"
15817 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015818 " (signature vec2\n"
15819 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015820 " (declare (in) vec2 p))\n"
15821 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015822 " (signature vec3\n"
15823 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015824 " (declare (in) vec3 p))\n"
15825 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015826 " (signature vec4\n"
15827 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015828 " (declare (in) vec4 p))\n"
15829 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015830 "(function dFdy\n"
15831 " (signature float\n"
15832 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015833 " (declare (in) float p))\n"
15834 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015835 " (signature vec2\n"
15836 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015837 " (declare (in) vec2 p))\n"
15838 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015839 " (signature vec3\n"
15840 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015841 " (declare (in) vec3 p))\n"
15842 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015843 " (signature vec4\n"
15844 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015845 " (declare (in) vec4 p))\n"
15846 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015847 "(function fwidth\n"
15848 " (signature float\n"
15849 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015850 " (declare (in) float p))\n"
15851 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015852 " (signature vec2\n"
15853 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015854 " (declare (in) vec2 p))\n"
15855 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015856 " (signature vec3\n"
15857 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015858 " (declare (in) vec3 p))\n"
15859 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015860 " (signature vec4\n"
15861 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015862 " (declare (in) vec4 p))\n"
15863 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015864 "(function noise1\n"
15865 " (signature float\n"
15866 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015867 " (declare (in) float x))\n"
15868 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015869 " (signature float\n"
15870 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015871 " (declare (in) vec2 x))\n"
15872 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015873 " (signature float\n"
15874 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015875 " (declare (in) vec3 x))\n"
15876 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015877 " (signature float\n"
15878 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015879 " (declare (in) vec4 x))\n"
15880 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015881 "(function noise2\n"
15882 " (signature vec2\n"
15883 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015884 " (declare (in) float x))\n"
15885 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015886 " (signature vec2\n"
15887 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015888 " (declare (in) vec2 x))\n"
15889 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015890 " (signature vec2\n"
15891 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015892 " (declare (in) vec3 x))\n"
15893 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015894 " (signature vec2\n"
15895 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015896 " (declare (in) vec4 x))\n"
15897 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015898 "(function noise3\n"
15899 " (signature vec3\n"
15900 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015901 " (declare (in) float x))\n"
15902 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015903 " (signature vec3\n"
15904 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015905 " (declare (in) vec2 x))\n"
15906 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015907 " (signature vec3\n"
15908 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015909 " (declare (in) vec3 x))\n"
15910 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015911 " (signature vec3\n"
15912 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015913 " (declare (in) vec4 x))\n"
15914 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015915 "(function noise4\n"
15916 " (signature vec4\n"
15917 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015918 " (declare (in) float x))\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) vec2 x))\n"
15923 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015924 " (signature vec4\n"
15925 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015926 " (declare (in) vec3 x))\n"
15927 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015928 " (signature vec4\n"
15929 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015930 " (declare (in) vec4 x))\n"
15931 " ())))"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015932;
15933static const char *functions_for_130_frag [] = {
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015934 builtin_abs,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015935 builtin_acos,
Eric Anholt47003a82010-08-23 12:39:35 -070015936 builtin_all,
15937 builtin_any,
15938 builtin_asin,
15939 builtin_atan,
15940 builtin_ceil,
15941 builtin_clamp,
15942 builtin_cos,
15943 builtin_cosh,
15944 builtin_cross,
15945 builtin_dFdx,
15946 builtin_dFdy,
15947 builtin_degrees,
15948 builtin_distance,
15949 builtin_dot,
15950 builtin_equal,
15951 builtin_exp,
15952 builtin_exp2,
15953 builtin_faceforward,
15954 builtin_floor,
15955 builtin_fract,
15956 builtin_fwidth,
15957 builtin_greaterThan,
15958 builtin_greaterThanEqual,
15959 builtin_inversesqrt,
15960 builtin_length,
15961 builtin_lessThan,
15962 builtin_lessThanEqual,
15963 builtin_log,
15964 builtin_log2,
15965 builtin_matrixCompMult,
15966 builtin_max,
15967 builtin_min,
15968 builtin_mix,
15969 builtin_mod,
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015970 builtin_noise1,
15971 builtin_noise2,
15972 builtin_noise3,
Eric Anholt47003a82010-08-23 12:39:35 -070015973 builtin_noise4,
15974 builtin_normalize,
15975 builtin_not,
15976 builtin_notEqual,
15977 builtin_outerProduct,
15978 builtin_pow,
15979 builtin_radians,
15980 builtin_reflect,
15981 builtin_refract,
15982 builtin_shadow1D,
15983 builtin_shadow1DLod,
15984 builtin_shadow1DProj,
15985 builtin_shadow1DProjLod,
15986 builtin_shadow2D,
15987 builtin_shadow2DLod,
15988 builtin_shadow2DProj,
15989 builtin_shadow2DProjLod,
15990 builtin_sign,
15991 builtin_sin,
15992 builtin_sinh,
15993 builtin_smoothstep,
15994 builtin_sqrt,
15995 builtin_step,
15996 builtin_tan,
15997 builtin_tanh,
15998 builtin_texelFetch,
15999 builtin_texture,
16000 builtin_texture1D,
16001 builtin_texture1DLod,
16002 builtin_texture1DProj,
16003 builtin_texture1DProjLod,
16004 builtin_texture2D,
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016005 builtin_texture2DLod,
Eric Anholt47003a82010-08-23 12:39:35 -070016006 builtin_texture2DProj,
16007 builtin_texture2DProjLod,
16008 builtin_texture3D,
16009 builtin_texture3DLod,
16010 builtin_texture3DProj,
16011 builtin_texture3DProjLod,
16012 builtin_textureCube,
16013 builtin_textureCubeLod,
16014 builtin_textureGrad,
16015 builtin_textureLod,
16016 builtin_textureProj,
16017 builtin_textureProjGrad,
16018 builtin_textureProjLod,
16019 builtin_transpose,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016020};
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016021static const char *prototypes_for_130_vert =
16022 "(\n"
16023 "(function radians\n"
16024 " (signature float\n"
16025 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016026 " (declare (in) float degrees))\n"
16027 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016028 " (signature vec2\n"
16029 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016030 " (declare (in) vec2 degrees))\n"
16031 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016032 " (signature vec3\n"
16033 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016034 " (declare (in) vec3 degrees))\n"
16035 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016036 " (signature vec4\n"
16037 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016038 " (declare (in) vec4 degrees))\n"
16039 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016040 "(function degrees\n"
16041 " (signature float\n"
16042 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016043 " (declare (in) float radians))\n"
16044 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016045 " (signature vec2\n"
16046 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016047 " (declare (in) vec2 radians))\n"
16048 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016049 " (signature vec3\n"
16050 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016051 " (declare (in) vec3 radians))\n"
16052 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016053 " (signature vec4\n"
16054 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016055 " (declare (in) vec4 radians))\n"
16056 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016057 "(function sin\n"
16058 " (signature float\n"
16059 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016060 " (declare (in) float angle))\n"
16061 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016062 " (signature vec2\n"
16063 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016064 " (declare (in) vec2 angle))\n"
16065 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016066 " (signature vec3\n"
16067 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016068 " (declare (in) vec3 angle))\n"
16069 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016070 " (signature vec4\n"
16071 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016072 " (declare (in) vec4 angle))\n"
16073 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016074 "(function cos\n"
16075 " (signature float\n"
16076 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016077 " (declare (in) float angle))\n"
16078 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016079 " (signature vec2\n"
16080 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016081 " (declare (in) vec2 angle))\n"
16082 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016083 " (signature vec3\n"
16084 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016085 " (declare (in) vec3 angle))\n"
16086 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016087 " (signature vec4\n"
16088 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016089 " (declare (in) vec4 angle))\n"
16090 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016091 "(function tan\n"
16092 " (signature float\n"
16093 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016094 " (declare (in) float angle))\n"
16095 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016096 " (signature vec2\n"
16097 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016098 " (declare (in) vec2 angle))\n"
16099 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016100 " (signature vec3\n"
16101 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016102 " (declare (in) vec3 angle))\n"
16103 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016104 " (signature vec4\n"
16105 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016106 " (declare (in) vec4 angle))\n"
16107 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016108 "(function asin\n"
16109 " (signature float\n"
16110 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016111 " (declare (in) float angle))\n"
16112 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016113 " (signature vec2\n"
16114 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016115 " (declare (in) vec2 angle))\n"
16116 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016117 " (signature vec3\n"
16118 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016119 " (declare (in) vec3 angle))\n"
16120 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016121 " (signature vec4\n"
16122 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016123 " (declare (in) vec4 angle))\n"
16124 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016125 "(function acos\n"
16126 " (signature float\n"
16127 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016128 " (declare (in) float angle))\n"
16129 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016130 " (signature vec2\n"
16131 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016132 " (declare (in) vec2 angle))\n"
16133 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016134 " (signature vec3\n"
16135 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016136 " (declare (in) vec3 angle))\n"
16137 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016138 " (signature vec4\n"
16139 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016140 " (declare (in) vec4 angle))\n"
16141 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016142 "(function atan\n"
16143 " (signature float\n"
16144 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016145 " (declare (in) float y)\n"
16146 " (declare (in) float x))\n"
16147 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016148 " (signature vec2\n"
16149 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016150 " (declare (in) vec2 y)\n"
16151 " (declare (in) vec2 x))\n"
16152 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016153 " (signature vec3\n"
16154 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016155 " (declare (in) vec3 y)\n"
16156 " (declare (in) vec3 x))\n"
16157 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016158 " (signature vec4\n"
16159 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016160 " (declare (in) vec4 y)\n"
16161 " (declare (in) vec4 x))\n"
16162 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016163 " (signature float\n"
16164 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016165 " (declare (in) float y_over_x))\n"
16166 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016167 " (signature vec2\n"
16168 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016169 " (declare (in) vec2 y_over_x))\n"
16170 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016171 " (signature vec3\n"
16172 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016173 " (declare (in) vec3 y_over_x))\n"
16174 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016175 " (signature vec4\n"
16176 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016177 " (declare (in) vec4 y_over_x))\n"
16178 " ()))\n"
16179 "(function sinh\n"
16180 " (signature float\n"
16181 " (parameters\n"
16182 " (declare (in) float x))\n"
16183 " ())\n"
16184 " (signature vec2\n"
16185 " (parameters\n"
16186 " (declare (in) vec2 x))\n"
16187 " ())\n"
16188 " (signature vec3\n"
16189 " (parameters\n"
16190 " (declare (in) vec3 x))\n"
16191 " ())\n"
16192 " (signature vec4\n"
16193 " (parameters\n"
16194 " (declare (in) vec4 x))\n"
16195 " ()))\n"
16196 "(function cosh\n"
16197 " (signature float\n"
16198 " (parameters\n"
16199 " (declare (in) float x))\n"
16200 " ())\n"
16201 " (signature vec2\n"
16202 " (parameters\n"
16203 " (declare (in) vec2 x))\n"
16204 " ())\n"
16205 " (signature vec3\n"
16206 " (parameters\n"
16207 " (declare (in) vec3 x))\n"
16208 " ())\n"
16209 " (signature vec4\n"
16210 " (parameters\n"
16211 " (declare (in) vec4 x))\n"
16212 " ()))\n"
16213 "(function tanh\n"
16214 " (signature float\n"
16215 " (parameters\n"
16216 " (declare (in) float x))\n"
16217 " ())\n"
16218 " (signature vec2\n"
16219 " (parameters\n"
16220 " (declare (in) vec2 x))\n"
16221 " ())\n"
16222 " (signature vec3\n"
16223 " (parameters\n"
16224 " (declare (in) vec3 x))\n"
16225 " ())\n"
16226 " (signature vec4\n"
16227 " (parameters\n"
16228 " (declare (in) vec4 x))\n"
16229 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016230 "(function pow\n"
16231 " (signature float\n"
16232 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016233 " (declare (in) float x)\n"
16234 " (declare (in) float y))\n"
16235 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016236 " (signature vec2\n"
16237 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016238 " (declare (in) vec2 x)\n"
16239 " (declare (in) vec2 y))\n"
16240 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016241 " (signature vec3\n"
16242 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016243 " (declare (in) vec3 x)\n"
16244 " (declare (in) vec3 y))\n"
16245 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016246 " (signature vec4\n"
16247 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016248 " (declare (in) vec4 x)\n"
16249 " (declare (in) vec4 y))\n"
16250 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016251 "(function exp\n"
16252 " (signature float\n"
16253 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016254 " (declare (in) float x))\n"
16255 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016256 " (signature vec2\n"
16257 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016258 " (declare (in) vec2 x))\n"
16259 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016260 " (signature vec3\n"
16261 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016262 " (declare (in) vec3 x))\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) vec4 x))\n"
16267 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016268 "(function log\n"
16269 " (signature float\n"
16270 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016271 " (declare (in) float x))\n"
16272 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016273 " (signature vec2\n"
16274 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016275 " (declare (in) vec2 x))\n"
16276 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016277 " (signature vec3\n"
16278 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016279 " (declare (in) vec3 x))\n"
16280 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016281 " (signature vec4\n"
16282 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016283 " (declare (in) vec4 x))\n"
16284 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016285 "(function exp2\n"
16286 " (signature float\n"
16287 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016288 " (declare (in) float x))\n"
16289 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016290 " (signature vec2\n"
16291 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016292 " (declare (in) vec2 x))\n"
16293 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016294 " (signature vec3\n"
16295 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016296 " (declare (in) vec3 x))\n"
16297 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016298 " (signature vec4\n"
16299 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016300 " (declare (in) vec4 x))\n"
16301 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016302 "(function log2\n"
16303 " (signature float\n"
16304 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016305 " (declare (in) float x))\n"
16306 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016307 " (signature vec2\n"
16308 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016309 " (declare (in) vec2 x))\n"
16310 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016311 " (signature vec3\n"
16312 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016313 " (declare (in) vec3 x))\n"
16314 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016315 " (signature vec4\n"
16316 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016317 " (declare (in) vec4 x))\n"
16318 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016319 "(function sqrt\n"
16320 " (signature float\n"
16321 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016322 " (declare (in) float x))\n"
16323 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016324 " (signature vec2\n"
16325 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016326 " (declare (in) vec2 x))\n"
16327 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016328 " (signature vec3\n"
16329 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016330 " (declare (in) vec3 x))\n"
16331 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016332 " (signature vec4\n"
16333 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016334 " (declare (in) vec4 x))\n"
16335 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016336 "(function inversesqrt\n"
16337 " (signature float\n"
16338 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016339 " (declare (in) float x))\n"
16340 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016341 " (signature vec2\n"
16342 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016343 " (declare (in) vec2 x))\n"
16344 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016345 " (signature vec3\n"
16346 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016347 " (declare (in) vec3 x))\n"
16348 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016349 " (signature vec4\n"
16350 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016351 " (declare (in) vec4 x))\n"
16352 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016353 "(function abs\n"
16354 " (signature float\n"
16355 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016356 " (declare (in) float x))\n"
16357 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016358 " (signature vec2\n"
16359 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016360 " (declare (in) vec2 x))\n"
16361 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016362 " (signature vec3\n"
16363 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016364 " (declare (in) vec3 x))\n"
16365 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016366 " (signature vec4\n"
16367 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016368 " (declare (in) vec4 x))\n"
16369 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016370 " (signature int\n"
16371 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016372 " (declare (in) int x))\n"
16373 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016374 " (signature ivec2\n"
16375 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016376 " (declare (in) ivec2 x))\n"
16377 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016378 " (signature ivec3\n"
16379 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016380 " (declare (in) ivec3 x))\n"
16381 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016382 " (signature ivec4\n"
16383 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016384 " (declare (in) ivec4 x))\n"
16385 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016386 "(function sign\n"
16387 " (signature float\n"
16388 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016389 " (declare (in) float x))\n"
16390 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016391 " (signature vec2\n"
16392 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016393 " (declare (in) vec2 x))\n"
16394 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016395 " (signature vec3\n"
16396 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016397 " (declare (in) vec3 x))\n"
16398 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016399 " (signature vec4\n"
16400 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016401 " (declare (in) vec4 x))\n"
16402 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016403 " (signature int\n"
16404 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016405 " (declare (in) int x))\n"
16406 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016407 " (signature ivec2\n"
16408 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016409 " (declare (in) ivec2 x))\n"
16410 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016411 " (signature ivec3\n"
16412 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016413 " (declare (in) ivec3 x))\n"
16414 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016415 " (signature ivec4\n"
16416 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016417 " (declare (in) ivec4 x))\n"
16418 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016419 "(function floor\n"
16420 " (signature float\n"
16421 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016422 " (declare (in) float x))\n"
16423 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016424 " (signature vec2\n"
16425 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016426 " (declare (in) vec2 x))\n"
16427 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016428 " (signature vec3\n"
16429 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016430 " (declare (in) vec3 x))\n"
16431 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016432 " (signature vec4\n"
16433 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016434 " (declare (in) vec4 x))\n"
16435 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016436 "(function ceil\n"
16437 " (signature float\n"
16438 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016439 " (declare (in) float x))\n"
16440 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016441 " (signature vec2\n"
16442 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016443 " (declare (in) vec2 x))\n"
16444 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016445 " (signature vec3\n"
16446 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016447 " (declare (in) vec3 x))\n"
16448 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016449 " (signature vec4\n"
16450 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016451 " (declare (in) vec4 x))\n"
16452 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016453 "(function fract\n"
16454 " (signature float\n"
16455 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016456 " (declare (in) float x))\n"
16457 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016458 " (signature vec2\n"
16459 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016460 " (declare (in) vec2 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) vec3 x))\n"
16465 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016466 " (signature vec4\n"
16467 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016468 " (declare (in) vec4 x))\n"
16469 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016470 "(function mod\n"
16471 " (signature float\n"
16472 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016473 " (declare (in) float x)\n"
16474 " (declare (in) float y))\n"
16475 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016476 " (signature vec2\n"
16477 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016478 " (declare (in) vec2 x)\n"
16479 " (declare (in) float y))\n"
16480 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016481 " (signature vec3\n"
16482 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016483 " (declare (in) vec3 x)\n"
16484 " (declare (in) float y))\n"
16485 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016486 " (signature vec4\n"
16487 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016488 " (declare (in) vec4 x)\n"
16489 " (declare (in) float y))\n"
16490 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016491 " (signature vec2\n"
16492 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016493 " (declare (in) vec2 x)\n"
16494 " (declare (in) vec2 y))\n"
16495 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016496 " (signature vec3\n"
16497 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016498 " (declare (in) vec3 x)\n"
16499 " (declare (in) vec3 y))\n"
16500 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016501 " (signature vec4\n"
16502 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016503 " (declare (in) vec4 x)\n"
16504 " (declare (in) vec4 y))\n"
16505 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016506 "(function min\n"
16507 " (signature float\n"
16508 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016509 " (declare (in) float x)\n"
16510 " (declare (in) float y))\n"
16511 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016512 " (signature vec2\n"
16513 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016514 " (declare (in) vec2 x)\n"
16515 " (declare (in) vec2 y))\n"
16516 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016517 " (signature vec3\n"
16518 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016519 " (declare (in) vec3 x)\n"
16520 " (declare (in) vec3 y))\n"
16521 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016522 " (signature vec4\n"
16523 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016524 " (declare (in) vec4 x)\n"
16525 " (declare (in) vec4 y))\n"
16526 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016527 " (signature vec2\n"
16528 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016529 " (declare (in) vec2 x)\n"
16530 " (declare (in) float y))\n"
16531 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016532 " (signature vec3\n"
16533 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016534 " (declare (in) vec3 x)\n"
16535 " (declare (in) float y))\n"
16536 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016537 " (signature vec4\n"
16538 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016539 " (declare (in) vec4 x)\n"
16540 " (declare (in) float y))\n"
16541 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016542 " (signature int\n"
16543 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016544 " (declare (in) int x)\n"
16545 " (declare (in) int y))\n"
16546 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016547 " (signature ivec2\n"
16548 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016549 " (declare (in) ivec2 x)\n"
16550 " (declare (in) ivec2 y))\n"
16551 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016552 " (signature ivec3\n"
16553 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016554 " (declare (in) ivec3 x)\n"
16555 " (declare (in) ivec3 y))\n"
16556 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016557 " (signature ivec4\n"
16558 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016559 " (declare (in) ivec4 x)\n"
16560 " (declare (in) ivec4 y))\n"
16561 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016562 " (signature ivec2\n"
16563 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016564 " (declare (in) ivec2 x)\n"
16565 " (declare (in) int y))\n"
16566 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016567 " (signature ivec3\n"
16568 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016569 " (declare (in) ivec3 x)\n"
16570 " (declare (in) int y))\n"
16571 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016572 " (signature ivec4\n"
16573 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016574 " (declare (in) ivec4 x)\n"
16575 " (declare (in) int y))\n"
16576 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016577 " (signature uint\n"
16578 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016579 " (declare (in) uint x)\n"
16580 " (declare (in) uint y))\n"
16581 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016582 " (signature uvec2\n"
16583 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016584 " (declare (in) uvec2 x)\n"
16585 " (declare (in) uvec2 y))\n"
16586 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016587 " (signature uvec3\n"
16588 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016589 " (declare (in) uvec3 x)\n"
16590 " (declare (in) uvec3 y))\n"
16591 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016592 " (signature uvec4\n"
16593 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016594 " (declare (in) uvec4 x)\n"
16595 " (declare (in) uvec4 y))\n"
16596 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016597 " (signature uvec2\n"
16598 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016599 " (declare (in) uvec2 x)\n"
16600 " (declare (in) uint y))\n"
16601 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016602 " (signature uvec3\n"
16603 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016604 " (declare (in) uvec3 x)\n"
16605 " (declare (in) uint y))\n"
16606 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016607 " (signature uvec4\n"
16608 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016609 " (declare (in) uvec4 x)\n"
16610 " (declare (in) uint y))\n"
16611 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016612 "(function max\n"
16613 " (signature float\n"
16614 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016615 " (declare (in) float x)\n"
16616 " (declare (in) float y))\n"
16617 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016618 " (signature vec2\n"
16619 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016620 " (declare (in) vec2 x)\n"
16621 " (declare (in) vec2 y))\n"
16622 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016623 " (signature vec3\n"
16624 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016625 " (declare (in) vec3 x)\n"
16626 " (declare (in) vec3 y))\n"
16627 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016628 " (signature vec4\n"
16629 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016630 " (declare (in) vec4 x)\n"
16631 " (declare (in) vec4 y))\n"
16632 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016633 " (signature vec2\n"
16634 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016635 " (declare (in) vec2 x)\n"
16636 " (declare (in) float y))\n"
16637 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016638 " (signature vec3\n"
16639 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016640 " (declare (in) vec3 x)\n"
16641 " (declare (in) float y))\n"
16642 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016643 " (signature vec4\n"
16644 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016645 " (declare (in) vec4 x)\n"
16646 " (declare (in) float y))\n"
16647 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016648 " (signature int\n"
16649 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016650 " (declare (in) int x)\n"
16651 " (declare (in) int y))\n"
16652 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016653 " (signature ivec2\n"
16654 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016655 " (declare (in) ivec2 x)\n"
16656 " (declare (in) ivec2 y))\n"
16657 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016658 " (signature ivec3\n"
16659 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016660 " (declare (in) ivec3 x)\n"
16661 " (declare (in) ivec3 y))\n"
16662 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016663 " (signature ivec4\n"
16664 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016665 " (declare (in) ivec4 x)\n"
16666 " (declare (in) ivec4 y))\n"
16667 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016668 " (signature ivec2\n"
16669 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016670 " (declare (in) ivec2 x)\n"
16671 " (declare (in) int y))\n"
16672 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016673 " (signature ivec3\n"
16674 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016675 " (declare (in) ivec3 x)\n"
16676 " (declare (in) int y))\n"
16677 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016678 " (signature ivec4\n"
16679 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016680 " (declare (in) ivec4 x)\n"
16681 " (declare (in) int y))\n"
16682 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016683 " (signature uint\n"
16684 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016685 " (declare (in) uint x)\n"
16686 " (declare (in) uint y))\n"
16687 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016688 " (signature uvec2\n"
16689 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016690 " (declare (in) uvec2 x)\n"
16691 " (declare (in) uvec2 y))\n"
16692 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016693 " (signature uvec3\n"
16694 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016695 " (declare (in) uvec3 x)\n"
16696 " (declare (in) uvec3 y))\n"
16697 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016698 " (signature uvec4\n"
16699 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016700 " (declare (in) uvec4 x)\n"
16701 " (declare (in) uvec4 y))\n"
16702 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016703 " (signature uvec2\n"
16704 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016705 " (declare (in) uvec2 x)\n"
16706 " (declare (in) uint y))\n"
16707 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016708 " (signature uvec3\n"
16709 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016710 " (declare (in) uvec3 x)\n"
16711 " (declare (in) uint y))\n"
16712 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016713 " (signature uvec4\n"
16714 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016715 " (declare (in) uvec4 x)\n"
16716 " (declare (in) uint y))\n"
16717 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016718 "(function clamp\n"
16719 " (signature float\n"
16720 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016721 " (declare (in) float x)\n"
16722 " (declare (in) float minVal)\n"
16723 " (declare (in) float maxVal))\n"
16724 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016725 " (signature vec2\n"
16726 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016727 " (declare (in) vec2 x)\n"
16728 " (declare (in) vec2 minVal)\n"
16729 " (declare (in) vec2 maxVal))\n"
16730 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016731 " (signature vec3\n"
16732 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016733 " (declare (in) vec3 x)\n"
16734 " (declare (in) vec3 minVal)\n"
16735 " (declare (in) vec3 maxVal))\n"
16736 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016737 " (signature vec4\n"
16738 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016739 " (declare (in) vec4 x)\n"
16740 " (declare (in) vec4 minVal)\n"
16741 " (declare (in) vec4 maxVal))\n"
16742 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016743 " (signature vec2\n"
16744 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016745 " (declare (in) vec2 x)\n"
16746 " (declare (in) float minVal)\n"
16747 " (declare (in) float maxVal))\n"
16748 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016749 " (signature vec3\n"
16750 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016751 " (declare (in) vec3 x)\n"
16752 " (declare (in) float minVal)\n"
16753 " (declare (in) float maxVal))\n"
16754 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016755 " (signature vec4\n"
16756 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016757 " (declare (in) vec4 x)\n"
16758 " (declare (in) float minVal)\n"
16759 " (declare (in) float maxVal))\n"
16760 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016761 " (signature int\n"
16762 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016763 " (declare (in) int x)\n"
16764 " (declare (in) int minVal)\n"
16765 " (declare (in) int maxVal))\n"
16766 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016767 " (signature ivec2\n"
16768 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016769 " (declare (in) ivec2 x)\n"
16770 " (declare (in) ivec2 minVal)\n"
16771 " (declare (in) ivec2 maxVal))\n"
16772 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016773 " (signature ivec3\n"
16774 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016775 " (declare (in) ivec3 x)\n"
16776 " (declare (in) ivec3 minVal)\n"
16777 " (declare (in) ivec3 maxVal))\n"
16778 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016779 " (signature ivec4\n"
16780 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016781 " (declare (in) ivec4 x)\n"
16782 " (declare (in) ivec4 minVal)\n"
16783 " (declare (in) ivec4 maxVal))\n"
16784 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016785 " (signature ivec2\n"
16786 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016787 " (declare (in) ivec2 x)\n"
16788 " (declare (in) int minVal)\n"
16789 " (declare (in) int maxVal))\n"
16790 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016791 " (signature ivec3\n"
16792 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016793 " (declare (in) ivec3 x)\n"
16794 " (declare (in) int minVal)\n"
16795 " (declare (in) int maxVal))\n"
16796 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016797 " (signature ivec4\n"
16798 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016799 " (declare (in) ivec4 x)\n"
16800 " (declare (in) int minVal)\n"
16801 " (declare (in) int maxVal))\n"
16802 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016803 " (signature uint\n"
16804 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016805 " (declare (in) uint x)\n"
16806 " (declare (in) uint minVal)\n"
16807 " (declare (in) uint maxVal))\n"
16808 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016809 " (signature uvec2\n"
16810 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016811 " (declare (in) uvec2 x)\n"
16812 " (declare (in) uvec2 minVal)\n"
16813 " (declare (in) uvec2 maxVal))\n"
16814 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016815 " (signature uvec3\n"
16816 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016817 " (declare (in) uvec3 x)\n"
16818 " (declare (in) uvec3 minVal)\n"
16819 " (declare (in) uvec3 maxVal))\n"
16820 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016821 " (signature uvec4\n"
16822 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016823 " (declare (in) uvec4 x)\n"
16824 " (declare (in) uvec4 minVal)\n"
16825 " (declare (in) uvec4 maxVal))\n"
16826 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016827 " (signature uvec2\n"
16828 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016829 " (declare (in) uvec2 x)\n"
16830 " (declare (in) uint minVal)\n"
16831 " (declare (in) uint maxVal))\n"
16832 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016833 " (signature uvec3\n"
16834 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016835 " (declare (in) uvec3 x)\n"
16836 " (declare (in) uint minVal)\n"
16837 " (declare (in) uint maxVal))\n"
16838 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016839 " (signature uvec4\n"
16840 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016841 " (declare (in) uvec4 x)\n"
16842 " (declare (in) uint minVal)\n"
16843 " (declare (in) uint maxVal))\n"
16844 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016845 "(function mix\n"
16846 " (signature float\n"
16847 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016848 " (declare (in) float x)\n"
16849 " (declare (in) float y)\n"
16850 " (declare (in) float a))\n"
16851 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016852 " (signature vec2\n"
16853 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016854 " (declare (in) vec2 x)\n"
16855 " (declare (in) vec2 y)\n"
16856 " (declare (in) vec2 a))\n"
16857 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016858 " (signature vec3\n"
16859 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016860 " (declare (in) vec3 x)\n"
16861 " (declare (in) vec3 y)\n"
16862 " (declare (in) vec3 a))\n"
16863 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016864 " (signature vec4\n"
16865 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016866 " (declare (in) vec4 x)\n"
16867 " (declare (in) vec4 y)\n"
16868 " (declare (in) vec4 a))\n"
16869 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016870 " (signature vec2\n"
16871 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016872 " (declare (in) vec2 x)\n"
16873 " (declare (in) vec2 y)\n"
16874 " (declare (in) float a))\n"
16875 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016876 " (signature vec3\n"
16877 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016878 " (declare (in) vec3 x)\n"
16879 " (declare (in) vec3 y)\n"
16880 " (declare (in) float a))\n"
16881 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016882 " (signature vec4\n"
16883 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016884 " (declare (in) vec4 x)\n"
16885 " (declare (in) vec4 y)\n"
16886 " (declare (in) float a))\n"
16887 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016888 "(function step\n"
16889 " (signature float\n"
16890 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016891 " (declare (in) float edge)\n"
16892 " (declare (in) float x))\n"
16893 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016894 " (signature vec2\n"
16895 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016896 " (declare (in) vec2 edge)\n"
16897 " (declare (in) vec2 x))\n"
16898 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016899 " (signature vec3\n"
16900 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016901 " (declare (in) vec3 edge)\n"
16902 " (declare (in) vec3 x))\n"
16903 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016904 " (signature vec4\n"
16905 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016906 " (declare (in) vec4 edge)\n"
16907 " (declare (in) vec4 x))\n"
16908 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016909 " (signature vec2\n"
16910 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016911 " (declare (in) float edge)\n"
16912 " (declare (in) vec2 x))\n"
16913 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016914 " (signature vec3\n"
16915 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016916 " (declare (in) float edge)\n"
16917 " (declare (in) vec3 x))\n"
16918 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016919 " (signature vec4\n"
16920 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016921 " (declare (in) float edge)\n"
16922 " (declare (in) vec4 x))\n"
16923 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016924 "(function smoothstep\n"
16925 " (signature float\n"
16926 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016927 " (declare (in) float edge0)\n"
16928 " (declare (in) float edge1)\n"
16929 " (declare (in) float x))\n"
16930 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016931 " (signature vec2\n"
16932 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016933 " (declare (in) vec2 edge0)\n"
16934 " (declare (in) vec2 edge1)\n"
16935 " (declare (in) vec2 x))\n"
16936 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016937 " (signature vec3\n"
16938 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016939 " (declare (in) vec3 edge0)\n"
16940 " (declare (in) vec3 edge1)\n"
16941 " (declare (in) vec3 x))\n"
16942 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016943 " (signature vec4\n"
16944 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016945 " (declare (in) vec4 edge0)\n"
16946 " (declare (in) vec4 edge1)\n"
16947 " (declare (in) vec4 x))\n"
16948 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016949 " (signature vec2\n"
16950 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016951 " (declare (in) float edge0)\n"
16952 " (declare (in) float edge1)\n"
16953 " (declare (in) vec2 x))\n"
16954 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016955 " (signature vec3\n"
16956 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016957 " (declare (in) float edge0)\n"
16958 " (declare (in) float edge1)\n"
16959 " (declare (in) vec3 x))\n"
16960 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016961 " (signature vec4\n"
16962 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016963 " (declare (in) float edge0)\n"
16964 " (declare (in) float edge1)\n"
16965 " (declare (in) vec4 x))\n"
16966 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016967 "(function length\n"
16968 " (signature float\n"
16969 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016970 " (declare (in) float x))\n"
16971 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016972 " (signature float\n"
16973 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016974 " (declare (in) vec2 x))\n"
16975 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016976 " (signature float\n"
16977 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016978 " (declare (in) vec3 x))\n"
16979 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016980 " (signature float\n"
16981 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016982 " (declare (in) vec4 x))\n"
16983 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016984 "(function distance\n"
16985 " (signature float\n"
16986 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016987 " (declare (in) float p0)\n"
16988 " (declare (in) float p1))\n"
16989 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016990 " (signature float\n"
16991 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016992 " (declare (in) vec2 p0)\n"
16993 " (declare (in) vec2 p1))\n"
16994 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016995 " (signature float\n"
16996 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016997 " (declare (in) vec3 p0)\n"
16998 " (declare (in) vec3 p1))\n"
16999 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017000 " (signature float\n"
17001 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017002 " (declare (in) vec4 p0)\n"
17003 " (declare (in) vec4 p1))\n"
17004 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017005 "(function dot\n"
17006 " (signature float\n"
17007 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017008 " (declare (in) float x)\n"
17009 " (declare (in) float y))\n"
17010 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017011 " (signature float\n"
17012 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017013 " (declare (in) vec2 x)\n"
17014 " (declare (in) vec2 y))\n"
17015 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017016 " (signature float\n"
17017 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017018 " (declare (in) vec3 x)\n"
17019 " (declare (in) vec3 y))\n"
17020 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017021 " (signature float\n"
17022 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017023 " (declare (in) vec4 x)\n"
17024 " (declare (in) vec4 y))\n"
17025 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017026 "(function cross\n"
17027 " (signature vec3\n"
17028 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017029 " (declare (in) vec3 x)\n"
17030 " (declare (in) vec3 y))\n"
17031 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017032 "(function normalize\n"
17033 " (signature float\n"
17034 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017035 " (declare (in) float x))\n"
17036 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017037 " (signature vec2\n"
17038 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017039 " (declare (in) vec2 x))\n"
17040 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017041 " (signature vec3\n"
17042 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017043 " (declare (in) vec3 x))\n"
17044 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017045 " (signature vec4\n"
17046 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017047 " (declare (in) vec4 x))\n"
17048 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017049 "(function ftransform\n"
17050 " (signature vec4\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017051 " (parameters)\n"
17052 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017053 "(function faceforward\n"
17054 " (signature float\n"
17055 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017056 " (declare (in) float N)\n"
17057 " (declare (in) float I)\n"
17058 " (declare (in) float Nref))\n"
17059 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017060 " (signature vec2\n"
17061 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017062 " (declare (in) vec2 N)\n"
17063 " (declare (in) vec2 I)\n"
17064 " (declare (in) vec2 Nref))\n"
17065 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017066 " (signature vec3\n"
17067 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017068 " (declare (in) vec3 N)\n"
17069 " (declare (in) vec3 I)\n"
17070 " (declare (in) vec3 Nref))\n"
17071 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017072 " (signature vec4\n"
17073 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017074 " (declare (in) vec4 N)\n"
17075 " (declare (in) vec4 I)\n"
17076 " (declare (in) vec4 Nref))\n"
17077 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017078 "(function reflect\n"
17079 " (signature float\n"
17080 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017081 " (declare (in) float I)\n"
17082 " (declare (in) float N))\n"
17083 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017084 " (signature vec2\n"
17085 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017086 " (declare (in) vec2 I)\n"
17087 " (declare (in) vec2 N))\n"
17088 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017089 " (signature vec3\n"
17090 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017091 " (declare (in) vec3 I)\n"
17092 " (declare (in) vec3 N))\n"
17093 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017094 " (signature vec4\n"
17095 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017096 " (declare (in) vec4 I)\n"
17097 " (declare (in) vec4 N))\n"
17098 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017099 "(function refract\n"
17100 " (signature float\n"
17101 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017102 " (declare (in) float I)\n"
17103 " (declare (in) float N)\n"
17104 " (declare (in) float eta))\n"
17105 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017106 " (signature vec2\n"
17107 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017108 " (declare (in) vec2 I)\n"
17109 " (declare (in) vec2 N)\n"
17110 " (declare (in) float eta))\n"
17111 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017112 " (signature vec3\n"
17113 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017114 " (declare (in) vec3 I)\n"
17115 " (declare (in) vec3 N)\n"
17116 " (declare (in) float eta))\n"
17117 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017118 " (signature vec4\n"
17119 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017120 " (declare (in) vec4 I)\n"
17121 " (declare (in) vec4 N)\n"
17122 " (declare (in) float eta))\n"
17123 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017124 "(function matrixCompMult\n"
17125 " (signature mat2\n"
17126 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017127 " (declare (in) mat2 x)\n"
17128 " (declare (in) mat2 y))\n"
17129 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017130 " (signature mat3\n"
17131 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017132 " (declare (in) mat3 x)\n"
17133 " (declare (in) mat3 y))\n"
17134 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017135 " (signature mat4\n"
17136 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017137 " (declare (in) mat4 x)\n"
17138 " (declare (in) mat4 y))\n"
17139 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017140 " (signature mat2x3\n"
17141 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017142 " (declare (in) mat2x3 x)\n"
17143 " (declare (in) mat2x3 y))\n"
17144 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017145 " (signature mat2x4\n"
17146 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017147 " (declare (in) mat2x4 x)\n"
17148 " (declare (in) mat2x4 y))\n"
17149 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017150 " (signature mat3x2\n"
17151 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017152 " (declare (in) mat3x2 x)\n"
17153 " (declare (in) mat3x2 y))\n"
17154 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017155 " (signature mat3x4\n"
17156 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017157 " (declare (in) mat3x4 x)\n"
17158 " (declare (in) mat3x4 y))\n"
17159 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017160 " (signature mat4x2\n"
17161 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017162 " (declare (in) mat4x2 x)\n"
17163 " (declare (in) mat4x2 y))\n"
17164 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017165 " (signature mat4x3\n"
17166 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017167 " (declare (in) mat4x3 x)\n"
17168 " (declare (in) mat4x3 y))\n"
17169 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017170 "(function outerProduct\n"
17171 " (signature mat2\n"
17172 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017173 " (declare (in) vec2 c)\n"
17174 " (declare (in) vec2 r))\n"
17175 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017176 " (signature mat3\n"
17177 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017178 " (declare (in) vec3 c)\n"
17179 " (declare (in) vec3 r))\n"
17180 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017181 " (signature mat4\n"
17182 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017183 " (declare (in) vec4 c)\n"
17184 " (declare (in) vec4 r))\n"
17185 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017186 " (signature mat2x3\n"
17187 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017188 " (declare (in) vec3 c)\n"
17189 " (declare (in) vec2 r))\n"
17190 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017191 " (signature mat3x2\n"
17192 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017193 " (declare (in) vec2 c)\n"
17194 " (declare (in) vec3 r))\n"
17195 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017196 " (signature mat2x4\n"
17197 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017198 " (declare (in) vec4 c)\n"
17199 " (declare (in) vec2 r))\n"
17200 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017201 " (signature mat4x2\n"
17202 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017203 " (declare (in) vec2 c)\n"
17204 " (declare (in) vec4 r))\n"
17205 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017206 " (signature mat3x4\n"
17207 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017208 " (declare (in) vec4 c)\n"
17209 " (declare (in) vec3 r))\n"
17210 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017211 " (signature mat4x3\n"
17212 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017213 " (declare (in) vec3 c)\n"
17214 " (declare (in) vec4 r))\n"
17215 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017216 "(function transpose\n"
17217 " (signature mat2\n"
17218 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017219 " (declare (in) mat2 m))\n"
17220 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017221 " (signature mat3\n"
17222 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017223 " (declare (in) mat3 m))\n"
17224 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017225 " (signature mat4\n"
17226 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017227 " (declare (in) mat4 m))\n"
17228 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017229 " (signature mat2x3\n"
17230 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017231 " (declare (in) mat3x2 m))\n"
17232 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017233 " (signature mat3x2\n"
17234 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017235 " (declare (in) mat2x3 m))\n"
17236 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017237 " (signature mat2x4\n"
17238 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017239 " (declare (in) mat4x2 m))\n"
17240 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017241 " (signature mat4x2\n"
17242 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017243 " (declare (in) mat2x4 m))\n"
17244 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017245 " (signature mat3x4\n"
17246 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017247 " (declare (in) mat4x3 m))\n"
17248 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017249 " (signature mat4x3\n"
17250 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017251 " (declare (in) mat3x4 m))\n"
17252 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017253 "(function lessThan\n"
17254 " (signature bvec2\n"
17255 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017256 " (declare (in) vec2 x)\n"
17257 " (declare (in) vec2 y))\n"
17258 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017259 " (signature bvec3\n"
17260 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017261 " (declare (in) vec3 x)\n"
17262 " (declare (in) vec3 y))\n"
17263 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017264 " (signature bvec4\n"
17265 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017266 " (declare (in) vec4 x)\n"
17267 " (declare (in) vec4 y))\n"
17268 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017269 " (signature bvec2\n"
17270 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017271 " (declare (in) ivec2 x)\n"
17272 " (declare (in) ivec2 y))\n"
17273 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017274 " (signature bvec3\n"
17275 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017276 " (declare (in) ivec3 x)\n"
17277 " (declare (in) ivec3 y))\n"
17278 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017279 " (signature bvec4\n"
17280 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017281 " (declare (in) ivec4 x)\n"
17282 " (declare (in) ivec4 y))\n"
17283 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017284 " (signature bvec2\n"
17285 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017286 " (declare (in) uvec2 x)\n"
17287 " (declare (in) uvec2 y))\n"
17288 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017289 " (signature bvec3\n"
17290 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017291 " (declare (in) uvec3 x)\n"
17292 " (declare (in) uvec3 y))\n"
17293 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017294 " (signature bvec4\n"
17295 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017296 " (declare (in) uvec4 x)\n"
17297 " (declare (in) uvec4 y))\n"
17298 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017299 "(function lessThanEqual\n"
17300 " (signature bvec2\n"
17301 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017302 " (declare (in) vec2 x)\n"
17303 " (declare (in) vec2 y))\n"
17304 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017305 " (signature bvec3\n"
17306 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017307 " (declare (in) vec3 x)\n"
17308 " (declare (in) vec3 y))\n"
17309 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017310 " (signature bvec4\n"
17311 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017312 " (declare (in) vec4 x)\n"
17313 " (declare (in) vec4 y))\n"
17314 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017315 " (signature bvec2\n"
17316 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017317 " (declare (in) ivec2 x)\n"
17318 " (declare (in) ivec2 y))\n"
17319 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017320 " (signature bvec3\n"
17321 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017322 " (declare (in) ivec3 x)\n"
17323 " (declare (in) ivec3 y))\n"
17324 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017325 " (signature bvec4\n"
17326 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017327 " (declare (in) ivec4 x)\n"
17328 " (declare (in) ivec4 y))\n"
17329 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017330 " (signature bvec2\n"
17331 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017332 " (declare (in) uvec2 x)\n"
17333 " (declare (in) uvec2 y))\n"
17334 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017335 " (signature bvec3\n"
17336 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017337 " (declare (in) uvec3 x)\n"
17338 " (declare (in) uvec3 y))\n"
17339 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017340 " (signature bvec4\n"
17341 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017342 " (declare (in) uvec4 x)\n"
17343 " (declare (in) uvec4 y))\n"
17344 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017345 "(function greaterThan\n"
17346 " (signature bvec2\n"
17347 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017348 " (declare (in) vec2 x)\n"
17349 " (declare (in) vec2 y))\n"
17350 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017351 " (signature bvec3\n"
17352 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017353 " (declare (in) vec3 x)\n"
17354 " (declare (in) vec3 y))\n"
17355 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017356 " (signature bvec4\n"
17357 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017358 " (declare (in) vec4 x)\n"
17359 " (declare (in) vec4 y))\n"
17360 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017361 " (signature bvec2\n"
17362 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017363 " (declare (in) ivec2 x)\n"
17364 " (declare (in) ivec2 y))\n"
17365 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017366 " (signature bvec3\n"
17367 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017368 " (declare (in) ivec3 x)\n"
17369 " (declare (in) ivec3 y))\n"
17370 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017371 " (signature bvec4\n"
17372 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017373 " (declare (in) ivec4 x)\n"
17374 " (declare (in) ivec4 y))\n"
17375 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017376 " (signature bvec2\n"
17377 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017378 " (declare (in) uvec2 x)\n"
17379 " (declare (in) uvec2 y))\n"
17380 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017381 " (signature bvec3\n"
17382 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017383 " (declare (in) uvec3 x)\n"
17384 " (declare (in) uvec3 y))\n"
17385 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017386 " (signature bvec4\n"
17387 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017388 " (declare (in) uvec4 x)\n"
17389 " (declare (in) uvec4 y))\n"
17390 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017391 "(function greaterThanEqual\n"
17392 " (signature bvec2\n"
17393 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017394 " (declare (in) vec2 x)\n"
17395 " (declare (in) vec2 y))\n"
17396 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017397 " (signature bvec3\n"
17398 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017399 " (declare (in) vec3 x)\n"
17400 " (declare (in) vec3 y))\n"
17401 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017402 " (signature bvec4\n"
17403 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017404 " (declare (in) vec4 x)\n"
17405 " (declare (in) vec4 y))\n"
17406 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017407 " (signature bvec2\n"
17408 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017409 " (declare (in) ivec2 x)\n"
17410 " (declare (in) ivec2 y))\n"
17411 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017412 " (signature bvec3\n"
17413 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017414 " (declare (in) ivec3 x)\n"
17415 " (declare (in) ivec3 y))\n"
17416 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017417 " (signature bvec4\n"
17418 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017419 " (declare (in) ivec4 x)\n"
17420 " (declare (in) ivec4 y))\n"
17421 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017422 " (signature bvec2\n"
17423 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017424 " (declare (in) uvec2 x)\n"
17425 " (declare (in) uvec2 y))\n"
17426 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017427 " (signature bvec3\n"
17428 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017429 " (declare (in) uvec3 x)\n"
17430 " (declare (in) uvec3 y))\n"
17431 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017432 " (signature bvec4\n"
17433 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017434 " (declare (in) uvec4 x)\n"
17435 " (declare (in) uvec4 y))\n"
17436 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017437 "(function equal\n"
17438 " (signature bvec2\n"
17439 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017440 " (declare (in) vec2 x)\n"
17441 " (declare (in) vec2 y))\n"
17442 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017443 " (signature bvec3\n"
17444 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017445 " (declare (in) vec3 x)\n"
17446 " (declare (in) vec3 y))\n"
17447 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017448 " (signature bvec4\n"
17449 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017450 " (declare (in) vec4 x)\n"
17451 " (declare (in) vec4 y))\n"
17452 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017453 " (signature bvec2\n"
17454 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017455 " (declare (in) ivec2 x)\n"
17456 " (declare (in) ivec2 y))\n"
17457 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017458 " (signature bvec3\n"
17459 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017460 " (declare (in) ivec3 x)\n"
17461 " (declare (in) ivec3 y))\n"
17462 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017463 " (signature bvec4\n"
17464 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017465 " (declare (in) ivec4 x)\n"
17466 " (declare (in) ivec4 y))\n"
17467 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017468 " (signature bvec2\n"
17469 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017470 " (declare (in) uvec2 x)\n"
17471 " (declare (in) uvec2 y))\n"
17472 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017473 " (signature bvec3\n"
17474 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017475 " (declare (in) uvec3 x)\n"
17476 " (declare (in) uvec3 y))\n"
17477 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017478 " (signature bvec4\n"
17479 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017480 " (declare (in) uvec4 x)\n"
17481 " (declare (in) uvec4 y))\n"
17482 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017483 " (signature bvec2\n"
17484 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017485 " (declare (in) bvec2 x)\n"
17486 " (declare (in) bvec2 y))\n"
17487 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017488 " (signature bvec3\n"
17489 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017490 " (declare (in) bvec3 x)\n"
17491 " (declare (in) bvec3 y))\n"
17492 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017493 " (signature bvec4\n"
17494 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017495 " (declare (in) bvec4 x)\n"
17496 " (declare (in) bvec4 y))\n"
17497 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017498 "(function notEqual\n"
17499 " (signature bvec2\n"
17500 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017501 " (declare (in) vec2 x)\n"
17502 " (declare (in) vec2 y))\n"
17503 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017504 " (signature bvec3\n"
17505 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017506 " (declare (in) vec3 x)\n"
17507 " (declare (in) vec3 y))\n"
17508 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017509 " (signature bvec4\n"
17510 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017511 " (declare (in) vec4 x)\n"
17512 " (declare (in) vec4 y))\n"
17513 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017514 " (signature bvec2\n"
17515 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017516 " (declare (in) ivec2 x)\n"
17517 " (declare (in) ivec2 y))\n"
17518 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017519 " (signature bvec3\n"
17520 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017521 " (declare (in) ivec3 x)\n"
17522 " (declare (in) ivec3 y))\n"
17523 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017524 " (signature bvec4\n"
17525 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017526 " (declare (in) ivec4 x)\n"
17527 " (declare (in) ivec4 y))\n"
17528 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017529 " (signature bvec2\n"
17530 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017531 " (declare (in) uvec2 x)\n"
17532 " (declare (in) uvec2 y))\n"
17533 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017534 " (signature bvec3\n"
17535 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017536 " (declare (in) uvec3 x)\n"
17537 " (declare (in) uvec3 y))\n"
17538 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017539 " (signature bvec4\n"
17540 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017541 " (declare (in) uvec4 x)\n"
17542 " (declare (in) uvec4 y))\n"
17543 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017544 " (signature bvec2\n"
17545 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017546 " (declare (in) bvec2 x)\n"
17547 " (declare (in) bvec2 y))\n"
17548 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017549 " (signature bvec3\n"
17550 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017551 " (declare (in) bvec3 x)\n"
17552 " (declare (in) bvec3 y))\n"
17553 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017554 " (signature bvec4\n"
17555 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017556 " (declare (in) bvec4 x)\n"
17557 " (declare (in) bvec4 y))\n"
17558 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017559 "(function any\n"
17560 " (signature bool\n"
17561 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017562 " (declare (in) bvec2 x))\n"
17563 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017564 " (signature bool\n"
17565 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017566 " (declare (in) bvec3 x))\n"
17567 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017568 " (signature bool\n"
17569 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017570 " (declare (in) bvec4 x))\n"
17571 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017572 "(function all\n"
17573 " (signature bool\n"
17574 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017575 " (declare (in) bvec2 x))\n"
17576 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017577 " (signature bool\n"
17578 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017579 " (declare (in) bvec3 x))\n"
17580 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017581 " (signature bool\n"
17582 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017583 " (declare (in) bvec4 x))\n"
17584 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017585 "(function not\n"
17586 " (signature bvec2\n"
17587 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017588 " (declare (in) bvec2 x))\n"
17589 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017590 " (signature bvec3\n"
17591 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017592 " (declare (in) bvec3 x))\n"
17593 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017594 " (signature bvec4\n"
17595 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017596 " (declare (in) bvec4 x))\n"
17597 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017598 "(function texture\n"
17599 " (signature vec4\n"
17600 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017601 " (declare (in) sampler1D sampler)\n"
17602 " (declare (in) float P))\n"
17603 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017604 " (signature ivec4\n"
17605 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017606 " (declare (in) isampler1D sampler)\n"
17607 " (declare (in) float P))\n"
17608 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017609 " (signature uvec4\n"
17610 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017611 " (declare (in) usampler1D sampler)\n"
17612 " (declare (in) float P))\n"
17613 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017614 " (signature vec4\n"
17615 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017616 " (declare (in) sampler2D sampler)\n"
17617 " (declare (in) vec2 P))\n"
17618 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017619 " (signature ivec4\n"
17620 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017621 " (declare (in) isampler2D sampler)\n"
17622 " (declare (in) vec2 P))\n"
17623 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017624 " (signature uvec4\n"
17625 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017626 " (declare (in) usampler2D sampler)\n"
17627 " (declare (in) vec2 P))\n"
17628 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017629 " (signature vec4\n"
17630 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017631 " (declare (in) sampler3D sampler)\n"
17632 " (declare (in) vec3 P))\n"
17633 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017634 " (signature ivec4\n"
17635 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017636 " (declare (in) isampler3D sampler)\n"
17637 " (declare (in) vec3 P))\n"
17638 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017639 " (signature uvec4\n"
17640 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017641 " (declare (in) usampler3D sampler)\n"
17642 " (declare (in) vec3 P))\n"
17643 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017644 " (signature vec4\n"
17645 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017646 " (declare (in) samplerCube sampler)\n"
17647 " (declare (in) vec3 P))\n"
17648 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017649 " (signature ivec4\n"
17650 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017651 " (declare (in) isamplerCube sampler)\n"
17652 " (declare (in) vec3 P))\n"
17653 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017654 " (signature uvec4\n"
17655 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017656 " (declare (in) usamplerCube sampler)\n"
17657 " (declare (in) vec3 P))\n"
17658 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017659 " (signature float\n"
17660 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017661 " (declare (in) sampler1DShadow sampler)\n"
17662 " (declare (in) vec3 P))\n"
17663 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017664 " (signature float\n"
17665 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017666 " (declare (in) sampler2DShadow sampler)\n"
17667 " (declare (in) vec3 P))\n"
17668 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017669 " (signature float\n"
17670 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017671 " (declare (in) samplerCubeShadow sampler)\n"
17672 " (declare (in) vec4 P))\n"
17673 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017674 " (signature vec4\n"
17675 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017676 " (declare (in) sampler1DArray sampler)\n"
17677 " (declare (in) vec2 P))\n"
17678 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017679 " (signature ivec4\n"
17680 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017681 " (declare (in) isampler1DArray sampler)\n"
17682 " (declare (in) vec2 P))\n"
17683 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017684 " (signature uvec4\n"
17685 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017686 " (declare (in) usampler1DArray sampler)\n"
17687 " (declare (in) vec2 P))\n"
17688 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017689 " (signature vec4\n"
17690 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017691 " (declare (in) sampler2DArray sampler)\n"
17692 " (declare (in) vec3 P))\n"
17693 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017694 " (signature ivec4\n"
17695 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017696 " (declare (in) isampler2DArray sampler)\n"
17697 " (declare (in) vec3 P))\n"
17698 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017699 " (signature uvec4\n"
17700 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017701 " (declare (in) usampler2DArray sampler)\n"
17702 " (declare (in) vec3 P))\n"
17703 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017704 " (signature float\n"
17705 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017706 " (declare (in) sampler1DArrayShadow sampler)\n"
17707 " (declare (in) vec3 P))\n"
17708 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017709 " (signature float\n"
17710 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017711 " (declare (in) sampler2DArrayShadow sampler)\n"
17712 " (declare (in) vec4 P))\n"
17713 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017714 " (signature vec4\n"
17715 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017716 " (declare (in) sampler1D sampler)\n"
17717 " (declare (in) float P)\n"
17718 " (declare (in) float bias))\n"
17719 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017720 " (signature ivec4\n"
17721 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017722 " (declare (in) isampler1D sampler)\n"
17723 " (declare (in) float P)\n"
17724 " (declare (in) float bias))\n"
17725 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017726 " (signature uvec4\n"
17727 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017728 " (declare (in) usampler1D sampler)\n"
17729 " (declare (in) float P)\n"
17730 " (declare (in) float bias))\n"
17731 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017732 " (signature vec4\n"
17733 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017734 " (declare (in) sampler2D sampler)\n"
17735 " (declare (in) vec2 P)\n"
17736 " (declare (in) float bias))\n"
17737 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017738 " (signature ivec4\n"
17739 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017740 " (declare (in) isampler2D sampler)\n"
17741 " (declare (in) vec2 P)\n"
17742 " (declare (in) float bias))\n"
17743 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017744 " (signature uvec4\n"
17745 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017746 " (declare (in) usampler2D sampler)\n"
17747 " (declare (in) vec2 P)\n"
17748 " (declare (in) float bias))\n"
17749 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017750 " (signature vec4\n"
17751 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017752 " (declare (in) sampler3D sampler)\n"
17753 " (declare (in) vec3 P)\n"
17754 " (declare (in) float bias))\n"
17755 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017756 " (signature ivec4\n"
17757 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017758 " (declare (in) isampler3D sampler)\n"
17759 " (declare (in) vec3 P)\n"
17760 " (declare (in) float bias))\n"
17761 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017762 " (signature uvec4\n"
17763 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017764 " (declare (in) usampler3D sampler)\n"
17765 " (declare (in) vec3 P)\n"
17766 " (declare (in) float bias))\n"
17767 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017768 " (signature vec4\n"
17769 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017770 " (declare (in) samplerCube sampler)\n"
17771 " (declare (in) vec3 P)\n"
17772 " (declare (in) float bias))\n"
17773 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017774 " (signature ivec4\n"
17775 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017776 " (declare (in) isamplerCube sampler)\n"
17777 " (declare (in) vec3 P)\n"
17778 " (declare (in) float bias))\n"
17779 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017780 " (signature uvec4\n"
17781 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017782 " (declare (in) usamplerCube sampler)\n"
17783 " (declare (in) vec3 P)\n"
17784 " (declare (in) float bias))\n"
17785 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017786 " (signature float\n"
17787 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017788 " (declare (in) sampler1DShadow sampler)\n"
17789 " (declare (in) vec3 P)\n"
17790 " (declare (in) float bias))\n"
17791 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017792 " (signature float\n"
17793 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017794 " (declare (in) sampler2DShadow sampler)\n"
17795 " (declare (in) vec3 P)\n"
17796 " (declare (in) float bias))\n"
17797 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017798 " (signature float\n"
17799 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017800 " (declare (in) samplerCubeShadow sampler)\n"
17801 " (declare (in) vec4 P)\n"
17802 " (declare (in) float bias))\n"
17803 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017804 " (signature vec4\n"
17805 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017806 " (declare (in) sampler1DArray sampler)\n"
17807 " (declare (in) vec2 P)\n"
17808 " (declare (in) float bias))\n"
17809 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017810 " (signature ivec4\n"
17811 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017812 " (declare (in) isampler1DArray sampler)\n"
17813 " (declare (in) vec2 P)\n"
17814 " (declare (in) float bias))\n"
17815 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017816 " (signature uvec4\n"
17817 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017818 " (declare (in) usampler1DArray sampler)\n"
17819 " (declare (in) vec2 P)\n"
17820 " (declare (in) float bias))\n"
17821 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017822 " (signature vec4\n"
17823 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017824 " (declare (in) sampler2DArray sampler)\n"
17825 " (declare (in) vec3 P)\n"
17826 " (declare (in) float bias))\n"
17827 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017828 " (signature ivec4\n"
17829 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017830 " (declare (in) isampler2DArray sampler)\n"
17831 " (declare (in) vec3 P)\n"
17832 " (declare (in) float bias))\n"
17833 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017834 " (signature uvec4\n"
17835 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017836 " (declare (in) usampler2DArray sampler)\n"
17837 " (declare (in) vec3 P)\n"
17838 " (declare (in) float bias))\n"
17839 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017840 " (signature float\n"
17841 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017842 " (declare (in) sampler1DArrayShadow sampler)\n"
17843 " (declare (in) vec3 P)\n"
17844 " (declare (in) float bias))\n"
17845 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017846 "(function textureProj\n"
17847 " (signature vec4\n"
17848 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017849 " (declare (in) sampler1D sampler)\n"
17850 " (declare (in) vec2 P))\n"
17851 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017852 " (signature ivec4\n"
17853 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017854 " (declare (in) isampler1D sampler)\n"
17855 " (declare (in) vec2 P))\n"
17856 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017857 " (signature uvec4\n"
17858 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017859 " (declare (in) usampler1D sampler)\n"
17860 " (declare (in) vec2 P))\n"
17861 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017862 " (signature vec4\n"
17863 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017864 " (declare (in) sampler1D sampler)\n"
17865 " (declare (in) vec4 P))\n"
17866 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017867 " (signature ivec4\n"
17868 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017869 " (declare (in) isampler1D sampler)\n"
17870 " (declare (in) vec4 P))\n"
17871 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017872 " (signature uvec4\n"
17873 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017874 " (declare (in) usampler1D sampler)\n"
17875 " (declare (in) vec4 P))\n"
17876 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017877 " (signature vec4\n"
17878 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017879 " (declare (in) sampler2D sampler)\n"
17880 " (declare (in) vec3 P))\n"
17881 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017882 " (signature ivec4\n"
17883 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017884 " (declare (in) isampler2D sampler)\n"
17885 " (declare (in) vec3 P))\n"
17886 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017887 " (signature uvec4\n"
17888 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017889 " (declare (in) usampler2D sampler)\n"
17890 " (declare (in) vec3 P))\n"
17891 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017892 " (signature vec4\n"
17893 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017894 " (declare (in) sampler2D sampler)\n"
17895 " (declare (in) vec4 P))\n"
17896 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017897 " (signature ivec4\n"
17898 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017899 " (declare (in) isampler2D sampler)\n"
17900 " (declare (in) vec4 P))\n"
17901 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017902 " (signature uvec4\n"
17903 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017904 " (declare (in) usampler2D sampler)\n"
17905 " (declare (in) vec4 P))\n"
17906 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017907 " (signature vec4\n"
17908 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017909 " (declare (in) sampler3D sampler)\n"
17910 " (declare (in) vec4 P))\n"
17911 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017912 " (signature ivec4\n"
17913 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017914 " (declare (in) isampler3D sampler)\n"
17915 " (declare (in) vec4 P))\n"
17916 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017917 " (signature uvec4\n"
17918 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017919 " (declare (in) usampler3D sampler)\n"
17920 " (declare (in) vec4 P))\n"
17921 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017922 " (signature float\n"
17923 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017924 " (declare (in) sampler1DShadow sampler)\n"
17925 " (declare (in) vec4 P))\n"
17926 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017927 " (signature float\n"
17928 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017929 " (declare (in) sampler2DShadow sampler)\n"
17930 " (declare (in) vec4 P))\n"
17931 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017932 " (signature vec4\n"
17933 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017934 " (declare (in) sampler1D sampler)\n"
17935 " (declare (in) vec2 P)\n"
17936 " (declare (in) float bias))\n"
17937 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017938 " (signature ivec4\n"
17939 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017940 " (declare (in) isampler1D sampler)\n"
17941 " (declare (in) vec2 P)\n"
17942 " (declare (in) float bias))\n"
17943 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017944 " (signature uvec4\n"
17945 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017946 " (declare (in) usampler1D sampler)\n"
17947 " (declare (in) vec2 P)\n"
17948 " (declare (in) float bias))\n"
17949 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017950 " (signature vec4\n"
17951 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017952 " (declare (in) sampler1D sampler)\n"
17953 " (declare (in) vec4 P)\n"
17954 " (declare (in) float bias))\n"
17955 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017956 " (signature ivec4\n"
17957 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017958 " (declare (in) isampler1D sampler)\n"
17959 " (declare (in) vec4 P)\n"
17960 " (declare (in) float bias))\n"
17961 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017962 " (signature uvec4\n"
17963 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017964 " (declare (in) usampler1D sampler)\n"
17965 " (declare (in) vec4 P)\n"
17966 " (declare (in) float bias))\n"
17967 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017968 " (signature vec4\n"
17969 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017970 " (declare (in) sampler2D sampler)\n"
17971 " (declare (in) vec3 P)\n"
17972 " (declare (in) float bias))\n"
17973 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017974 " (signature ivec4\n"
17975 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017976 " (declare (in) isampler2D sampler)\n"
17977 " (declare (in) vec3 P)\n"
17978 " (declare (in) float bias))\n"
17979 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017980 " (signature uvec4\n"
17981 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017982 " (declare (in) usampler2D sampler)\n"
17983 " (declare (in) vec3 P)\n"
17984 " (declare (in) float bias))\n"
17985 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017986 " (signature vec4\n"
17987 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017988 " (declare (in) sampler2D sampler)\n"
17989 " (declare (in) vec4 P)\n"
17990 " (declare (in) float bias))\n"
17991 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017992 " (signature ivec4\n"
17993 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070017994 " (declare (in) isampler2D sampler)\n"
17995 " (declare (in) vec4 P)\n"
17996 " (declare (in) float bias))\n"
17997 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070017998 " (signature uvec4\n"
17999 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018000 " (declare (in) usampler2D sampler)\n"
18001 " (declare (in) vec4 P)\n"
18002 " (declare (in) float bias))\n"
18003 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018004 " (signature vec4\n"
18005 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018006 " (declare (in) sampler3D sampler)\n"
18007 " (declare (in) vec4 P)\n"
18008 " (declare (in) float bias))\n"
18009 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018010 " (signature ivec4\n"
18011 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018012 " (declare (in) isampler3D sampler)\n"
18013 " (declare (in) vec4 P)\n"
18014 " (declare (in) float bias))\n"
18015 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018016 " (signature uvec4\n"
18017 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018018 " (declare (in) usampler3D sampler)\n"
18019 " (declare (in) vec4 P)\n"
18020 " (declare (in) float bias))\n"
18021 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018022 " (signature float\n"
18023 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018024 " (declare (in) sampler1DShadow sampler)\n"
18025 " (declare (in) vec4 P)\n"
18026 " (declare (in) float bias))\n"
18027 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018028 " (signature float\n"
18029 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018030 " (declare (in) sampler2DShadow sampler)\n"
18031 " (declare (in) vec4 P)\n"
18032 " (declare (in) float bias))\n"
18033 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018034 "(function textureLod\n"
18035 " (signature vec4\n"
18036 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018037 " (declare (in) sampler1D sampler)\n"
18038 " (declare (in) float P)\n"
18039 " (declare (in) float lod))\n"
18040 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018041 " (signature ivec4\n"
18042 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018043 " (declare (in) isampler1D sampler)\n"
18044 " (declare (in) float P)\n"
18045 " (declare (in) float lod))\n"
18046 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018047 " (signature uvec4\n"
18048 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018049 " (declare (in) usampler1D sampler)\n"
18050 " (declare (in) float P)\n"
18051 " (declare (in) float lod))\n"
18052 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018053 " (signature vec4\n"
18054 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018055 " (declare (in) sampler2D sampler)\n"
18056 " (declare (in) vec2 P)\n"
18057 " (declare (in) float lod))\n"
18058 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018059 " (signature ivec4\n"
18060 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018061 " (declare (in) isampler2D sampler)\n"
18062 " (declare (in) vec2 P)\n"
18063 " (declare (in) float lod))\n"
18064 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018065 " (signature uvec4\n"
18066 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018067 " (declare (in) usampler2D sampler)\n"
18068 " (declare (in) vec2 P)\n"
18069 " (declare (in) float lod))\n"
18070 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018071 " (signature vec4\n"
18072 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018073 " (declare (in) sampler3D sampler)\n"
18074 " (declare (in) vec3 P)\n"
18075 " (declare (in) float lod))\n"
18076 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018077 " (signature ivec4\n"
18078 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018079 " (declare (in) isampler3D sampler)\n"
18080 " (declare (in) vec3 P)\n"
18081 " (declare (in) float lod))\n"
18082 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018083 " (signature uvec4\n"
18084 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018085 " (declare (in) usampler3D sampler)\n"
18086 " (declare (in) vec3 P)\n"
18087 " (declare (in) float lod))\n"
18088 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018089 " (signature vec4\n"
18090 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018091 " (declare (in) samplerCube sampler)\n"
18092 " (declare (in) vec3 P)\n"
18093 " (declare (in) float lod))\n"
18094 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018095 " (signature ivec4\n"
18096 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018097 " (declare (in) isamplerCube sampler)\n"
18098 " (declare (in) vec3 P)\n"
18099 " (declare (in) float lod))\n"
18100 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018101 " (signature uvec4\n"
18102 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018103 " (declare (in) usamplerCube sampler)\n"
18104 " (declare (in) vec3 P)\n"
18105 " (declare (in) float lod))\n"
18106 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018107 " (signature float\n"
18108 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018109 " (declare (in) sampler1DShadow sampler)\n"
18110 " (declare (in) vec3 P)\n"
18111 " (declare (in) float lod))\n"
18112 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018113 " (signature float\n"
18114 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018115 " (declare (in) sampler2DShadow sampler)\n"
18116 " (declare (in) vec3 P)\n"
18117 " (declare (in) float lod))\n"
18118 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018119 " (signature vec4\n"
18120 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018121 " (declare (in) sampler1DArray sampler)\n"
18122 " (declare (in) vec2 P)\n"
18123 " (declare (in) float lod))\n"
18124 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018125 " (signature ivec4\n"
18126 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018127 " (declare (in) isampler1DArray sampler)\n"
18128 " (declare (in) vec2 P)\n"
18129 " (declare (in) float lod))\n"
18130 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018131 " (signature uvec4\n"
18132 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018133 " (declare (in) usampler1DArray sampler)\n"
18134 " (declare (in) vec2 P)\n"
18135 " (declare (in) float lod))\n"
18136 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018137 " (signature vec4\n"
18138 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018139 " (declare (in) sampler2DArray sampler)\n"
18140 " (declare (in) vec3 P)\n"
18141 " (declare (in) float lod))\n"
18142 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018143 " (signature ivec4\n"
18144 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018145 " (declare (in) isampler2DArray sampler)\n"
18146 " (declare (in) vec3 P)\n"
18147 " (declare (in) float lod))\n"
18148 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018149 " (signature uvec4\n"
18150 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018151 " (declare (in) usampler2DArray sampler)\n"
18152 " (declare (in) vec3 P)\n"
18153 " (declare (in) float lod))\n"
18154 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018155 " (signature float\n"
18156 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018157 " (declare (in) sampler1DArrayShadow sampler)\n"
18158 " (declare (in) vec3 P)\n"
18159 " (declare (in) float lod))\n"
18160 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018161 "(function texelFetch\n"
18162 " (signature vec4\n"
18163 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018164 " (declare (in) sampler1D sampler)\n"
18165 " (declare (in) int P)\n"
18166 " (declare (in) int lod))\n"
18167 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018168 " (signature ivec4\n"
18169 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018170 " (declare (in) isampler1D sampler)\n"
18171 " (declare (in) int P)\n"
18172 " (declare (in) int lod))\n"
18173 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018174 " (signature uvec4\n"
18175 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018176 " (declare (in) usampler1D sampler)\n"
18177 " (declare (in) int P)\n"
18178 " (declare (in) int lod))\n"
18179 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018180 " (signature vec4\n"
18181 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018182 " (declare (in) sampler2D sampler)\n"
18183 " (declare (in) ivec2 P)\n"
18184 " (declare (in) int lod))\n"
18185 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018186 " (signature ivec4\n"
18187 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018188 " (declare (in) isampler2D sampler)\n"
18189 " (declare (in) ivec2 P)\n"
18190 " (declare (in) int lod))\n"
18191 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018192 " (signature uvec4\n"
18193 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018194 " (declare (in) usampler2D sampler)\n"
18195 " (declare (in) ivec2 P)\n"
18196 " (declare (in) int lod))\n"
18197 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018198 " (signature vec4\n"
18199 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018200 " (declare (in) sampler3D sampler)\n"
18201 " (declare (in) ivec3 P)\n"
18202 " (declare (in) int lod))\n"
18203 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018204 " (signature ivec4\n"
18205 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018206 " (declare (in) isampler3D sampler)\n"
18207 " (declare (in) ivec3 P)\n"
18208 " (declare (in) int lod))\n"
18209 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018210 " (signature uvec4\n"
18211 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018212 " (declare (in) usampler3D sampler)\n"
18213 " (declare (in) ivec3 P)\n"
18214 " (declare (in) int lod))\n"
18215 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018216 " (signature vec4\n"
18217 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018218 " (declare (in) sampler1DArray sampler)\n"
18219 " (declare (in) ivec2 P)\n"
18220 " (declare (in) int lod))\n"
18221 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018222 " (signature ivec4\n"
18223 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018224 " (declare (in) isampler1DArray sampler)\n"
18225 " (declare (in) ivec2 P)\n"
18226 " (declare (in) int lod))\n"
18227 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018228 " (signature uvec4\n"
18229 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018230 " (declare (in) usampler1DArray sampler)\n"
18231 " (declare (in) ivec2 P)\n"
18232 " (declare (in) int lod))\n"
18233 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018234 " (signature vec4\n"
18235 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018236 " (declare (in) sampler2DArray sampler)\n"
18237 " (declare (in) ivec3 P)\n"
18238 " (declare (in) int lod))\n"
18239 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018240 " (signature ivec4\n"
18241 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018242 " (declare (in) isampler2DArray sampler)\n"
18243 " (declare (in) ivec3 P)\n"
18244 " (declare (in) int lod))\n"
18245 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018246 " (signature uvec4\n"
18247 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018248 " (declare (in) usampler2DArray sampler)\n"
18249 " (declare (in) ivec3 P)\n"
18250 " (declare (in) int lod))\n"
18251 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018252 "(function textureProjLod\n"
18253 " (signature vec4\n"
18254 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018255 " (declare (in) sampler1D sampler)\n"
18256 " (declare (in) vec2 P)\n"
18257 " (declare (in) float lod))\n"
18258 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018259 " (signature ivec4\n"
18260 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018261 " (declare (in) isampler1D sampler)\n"
18262 " (declare (in) vec2 P)\n"
18263 " (declare (in) float lod))\n"
18264 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018265 " (signature uvec4\n"
18266 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018267 " (declare (in) usampler1D sampler)\n"
18268 " (declare (in) vec2 P)\n"
18269 " (declare (in) float lod))\n"
18270 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018271 " (signature vec4\n"
18272 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018273 " (declare (in) sampler1D sampler)\n"
18274 " (declare (in) vec4 P)\n"
18275 " (declare (in) float lod))\n"
18276 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018277 " (signature ivec4\n"
18278 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018279 " (declare (in) isampler1D sampler)\n"
18280 " (declare (in) vec4 P)\n"
18281 " (declare (in) float lod))\n"
18282 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018283 " (signature uvec4\n"
18284 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018285 " (declare (in) usampler1D sampler)\n"
18286 " (declare (in) vec4 P)\n"
18287 " (declare (in) float lod))\n"
18288 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018289 " (signature vec4\n"
18290 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018291 " (declare (in) sampler2D sampler)\n"
18292 " (declare (in) vec3 P)\n"
18293 " (declare (in) float lod))\n"
18294 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018295 " (signature ivec4\n"
18296 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018297 " (declare (in) isampler2D sampler)\n"
18298 " (declare (in) vec3 P)\n"
18299 " (declare (in) float lod))\n"
18300 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018301 " (signature uvec4\n"
18302 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018303 " (declare (in) usampler2D sampler)\n"
18304 " (declare (in) vec3 P)\n"
18305 " (declare (in) float lod))\n"
18306 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018307 " (signature vec4\n"
18308 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018309 " (declare (in) sampler2D sampler)\n"
18310 " (declare (in) vec4 P)\n"
18311 " (declare (in) float lod))\n"
18312 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018313 " (signature ivec4\n"
18314 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018315 " (declare (in) isampler2D sampler)\n"
18316 " (declare (in) vec4 P)\n"
18317 " (declare (in) float lod))\n"
18318 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018319 " (signature uvec4\n"
18320 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018321 " (declare (in) usampler2D sampler)\n"
18322 " (declare (in) vec4 P)\n"
18323 " (declare (in) float lod))\n"
18324 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018325 " (signature vec4\n"
18326 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018327 " (declare (in) sampler3D sampler)\n"
18328 " (declare (in) vec4 P)\n"
18329 " (declare (in) float lod))\n"
18330 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018331 " (signature ivec4\n"
18332 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018333 " (declare (in) isampler3D sampler)\n"
18334 " (declare (in) vec4 P)\n"
18335 " (declare (in) float lod))\n"
18336 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018337 " (signature uvec4\n"
18338 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018339 " (declare (in) usampler3D sampler)\n"
18340 " (declare (in) vec4 P)\n"
18341 " (declare (in) float lod))\n"
18342 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018343 " (signature float\n"
18344 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018345 " (declare (in) sampler1DShadow sampler)\n"
18346 " (declare (in) vec4 P)\n"
18347 " (declare (in) float lod))\n"
18348 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018349 " (signature float\n"
18350 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018351 " (declare (in) sampler2DShadow sampler)\n"
18352 " (declare (in) vec4 P)\n"
18353 " (declare (in) float lod))\n"
18354 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018355 "(function textureGrad\n"
18356 " (signature vec4\n"
18357 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018358 " (declare (in) sampler1D sampler)\n"
18359 " (declare (in) float P)\n"
18360 " (declare (in) float dPdx)\n"
18361 " (declare (in) float dPdy))\n"
18362 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018363 " (signature ivec4\n"
18364 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018365 " (declare (in) isampler1D sampler)\n"
18366 " (declare (in) float P)\n"
18367 " (declare (in) float dPdx)\n"
18368 " (declare (in) float dPdy))\n"
18369 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018370 " (signature uvec4\n"
18371 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018372 " (declare (in) usampler1D sampler)\n"
18373 " (declare (in) float P)\n"
18374 " (declare (in) float dPdx)\n"
18375 " (declare (in) float dPdy))\n"
18376 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018377 " (signature vec4\n"
18378 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018379 " (declare (in) sampler2D sampler)\n"
18380 " (declare (in) vec2 P)\n"
18381 " (declare (in) vec2 dPdx)\n"
18382 " (declare (in) vec2 dPdy))\n"
18383 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018384 " (signature ivec4\n"
18385 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018386 " (declare (in) isampler2D sampler)\n"
18387 " (declare (in) vec2 P)\n"
18388 " (declare (in) vec2 dPdx)\n"
18389 " (declare (in) vec2 dPdy))\n"
18390 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018391 " (signature uvec4\n"
18392 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018393 " (declare (in) usampler2D sampler)\n"
18394 " (declare (in) vec2 P)\n"
18395 " (declare (in) vec2 dPdx)\n"
18396 " (declare (in) vec2 dPdy))\n"
18397 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018398 " (signature vec4\n"
18399 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018400 " (declare (in) sampler3D sampler)\n"
18401 " (declare (in) vec3 P)\n"
18402 " (declare (in) vec3 dPdx)\n"
18403 " (declare (in) vec3 dPdy))\n"
18404 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018405 " (signature ivec4\n"
18406 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018407 " (declare (in) isampler3D sampler)\n"
18408 " (declare (in) vec3 P)\n"
18409 " (declare (in) vec3 dPdx)\n"
18410 " (declare (in) vec3 dPdy))\n"
18411 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018412 " (signature uvec4\n"
18413 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018414 " (declare (in) usampler3D sampler)\n"
18415 " (declare (in) vec3 P)\n"
18416 " (declare (in) vec3 dPdx)\n"
18417 " (declare (in) vec3 dPdy))\n"
18418 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018419 " (signature vec4\n"
18420 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018421 " (declare (in) samplerCube sampler)\n"
18422 " (declare (in) vec3 P)\n"
18423 " (declare (in) vec3 dPdx)\n"
18424 " (declare (in) vec3 dPdy))\n"
18425 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018426 " (signature ivec4\n"
18427 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018428 " (declare (in) isamplerCube sampler)\n"
18429 " (declare (in) vec3 P)\n"
18430 " (declare (in) vec3 dPdx)\n"
18431 " (declare (in) vec3 dPdy))\n"
18432 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018433 " (signature uvec4\n"
18434 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018435 " (declare (in) usamplerCube sampler)\n"
18436 " (declare (in) vec3 P)\n"
18437 " (declare (in) vec3 dPdx)\n"
18438 " (declare (in) vec3 dPdy))\n"
18439 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018440 " (signature float\n"
18441 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018442 " (declare (in) sampler1DShadow sampler)\n"
18443 " (declare (in) vec3 P)\n"
18444 " (declare (in) float dPdx)\n"
18445 " (declare (in) float dPdy))\n"
18446 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018447 " (signature float\n"
18448 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018449 " (declare (in) sampler2DShadow sampler)\n"
18450 " (declare (in) vec3 P)\n"
18451 " (declare (in) vec2 dPdx)\n"
18452 " (declare (in) vec2 dPdy))\n"
18453 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018454 " (signature float\n"
18455 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018456 " (declare (in) samplerCubeShadow sampler)\n"
18457 " (declare (in) vec4 P)\n"
18458 " (declare (in) vec3 dPdx)\n"
18459 " (declare (in) vec3 dPdy))\n"
18460 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018461 " (signature vec4\n"
18462 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018463 " (declare (in) sampler1DArray sampler)\n"
18464 " (declare (in) vec2 P)\n"
18465 " (declare (in) float dPdx)\n"
18466 " (declare (in) float dPdy))\n"
18467 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018468 " (signature ivec4\n"
18469 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018470 " (declare (in) isampler1DArray sampler)\n"
18471 " (declare (in) vec2 P)\n"
18472 " (declare (in) float dPdx)\n"
18473 " (declare (in) float dPdy))\n"
18474 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018475 " (signature uvec4\n"
18476 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018477 " (declare (in) usampler1DArray sampler)\n"
18478 " (declare (in) vec2 P)\n"
18479 " (declare (in) float dPdx)\n"
18480 " (declare (in) float dPdy))\n"
18481 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018482 " (signature vec4\n"
18483 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018484 " (declare (in) sampler2DArray sampler)\n"
18485 " (declare (in) vec3 P)\n"
18486 " (declare (in) vec2 dPdx)\n"
18487 " (declare (in) vec2 dPdy))\n"
18488 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018489 " (signature ivec4\n"
18490 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018491 " (declare (in) isampler2DArray sampler)\n"
18492 " (declare (in) vec3 P)\n"
18493 " (declare (in) vec2 dPdx)\n"
18494 " (declare (in) vec2 dPdy))\n"
18495 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018496 " (signature uvec4\n"
18497 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018498 " (declare (in) usampler2DArray sampler)\n"
18499 " (declare (in) vec3 P)\n"
18500 " (declare (in) vec2 dPdx)\n"
18501 " (declare (in) vec2 dPdy))\n"
18502 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018503 " (signature float\n"
18504 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018505 " (declare (in) sampler1DArrayShadow sampler)\n"
18506 " (declare (in) vec3 P)\n"
18507 " (declare (in) float dPdx)\n"
18508 " (declare (in) float dPdy))\n"
18509 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018510 " (signature float\n"
18511 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018512 " (declare (in) sampler2DArrayShadow sampler)\n"
18513 " (declare (in) vec4 P)\n"
18514 " (declare (in) vec2 dPdx)\n"
18515 " (declare (in) vec2 dPdy))\n"
18516 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018517 "(function textureProjGrad\n"
18518 " (signature vec4\n"
18519 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018520 " (declare (in) sampler1D sampler)\n"
18521 " (declare (in) vec2 P)\n"
18522 " (declare (in) float dPdx)\n"
18523 " (declare (in) float dPdy))\n"
18524 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018525 " (signature ivec4\n"
18526 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018527 " (declare (in) isampler1D sampler)\n"
18528 " (declare (in) vec2 P)\n"
18529 " (declare (in) float dPdx)\n"
18530 " (declare (in) float dPdy))\n"
18531 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018532 " (signature uvec4\n"
18533 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018534 " (declare (in) usampler1D sampler)\n"
18535 " (declare (in) vec2 P)\n"
18536 " (declare (in) float dPdx)\n"
18537 " (declare (in) float dPdy))\n"
18538 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018539 " (signature vec4\n"
18540 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018541 " (declare (in) sampler1D sampler)\n"
18542 " (declare (in) vec4 P)\n"
18543 " (declare (in) float dPdx)\n"
18544 " (declare (in) float dPdy))\n"
18545 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018546 " (signature ivec4\n"
18547 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018548 " (declare (in) isampler1D sampler)\n"
18549 " (declare (in) vec4 P)\n"
18550 " (declare (in) float dPdx)\n"
18551 " (declare (in) float dPdy))\n"
18552 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018553 " (signature uvec4\n"
18554 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018555 " (declare (in) usampler1D sampler)\n"
18556 " (declare (in) vec4 P)\n"
18557 " (declare (in) float dPdx)\n"
18558 " (declare (in) float dPdy))\n"
18559 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018560 " (signature vec4\n"
18561 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018562 " (declare (in) sampler2D sampler)\n"
18563 " (declare (in) vec3 P)\n"
18564 " (declare (in) vec2 dPdx)\n"
18565 " (declare (in) vec2 dPdy))\n"
18566 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018567 " (signature ivec4\n"
18568 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018569 " (declare (in) isampler2D sampler)\n"
18570 " (declare (in) vec3 P)\n"
18571 " (declare (in) vec2 dPdx)\n"
18572 " (declare (in) vec2 dPdy))\n"
18573 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018574 " (signature uvec4\n"
18575 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018576 " (declare (in) usampler2D sampler)\n"
18577 " (declare (in) vec3 P)\n"
18578 " (declare (in) vec2 dPdx)\n"
18579 " (declare (in) vec2 dPdy))\n"
18580 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018581 " (signature vec4\n"
18582 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018583 " (declare (in) sampler2D sampler)\n"
18584 " (declare (in) vec4 P)\n"
18585 " (declare (in) vec2 dPdx)\n"
18586 " (declare (in) vec2 dPdy))\n"
18587 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018588 " (signature ivec4\n"
18589 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018590 " (declare (in) isampler2D sampler)\n"
18591 " (declare (in) vec4 P)\n"
18592 " (declare (in) vec2 dPdx)\n"
18593 " (declare (in) vec2 dPdy))\n"
18594 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018595 " (signature uvec4\n"
18596 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018597 " (declare (in) usampler2D sampler)\n"
18598 " (declare (in) vec4 P)\n"
18599 " (declare (in) vec2 dPdx)\n"
18600 " (declare (in) vec2 dPdy))\n"
18601 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018602 " (signature vec4\n"
18603 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018604 " (declare (in) sampler3D sampler)\n"
18605 " (declare (in) vec4 P)\n"
18606 " (declare (in) vec3 dPdx)\n"
18607 " (declare (in) vec3 dPdy))\n"
18608 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018609 " (signature ivec4\n"
18610 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018611 " (declare (in) isampler3D sampler)\n"
18612 " (declare (in) vec4 P)\n"
18613 " (declare (in) vec3 dPdx)\n"
18614 " (declare (in) vec3 dPdy))\n"
18615 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018616 " (signature uvec4\n"
18617 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018618 " (declare (in) usampler3D sampler)\n"
18619 " (declare (in) vec4 P)\n"
18620 " (declare (in) vec3 dPdx)\n"
18621 " (declare (in) vec3 dPdy))\n"
18622 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018623 " (signature float\n"
18624 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018625 " (declare (in) sampler1DShadow sampler)\n"
18626 " (declare (in) vec4 P)\n"
18627 " (declare (in) float dPdx)\n"
18628 " (declare (in) float dPdy))\n"
18629 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018630 " (signature float\n"
18631 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018632 " (declare (in) sampler2DShadow sampler)\n"
18633 " (declare (in) vec4 P)\n"
18634 " (declare (in) vec2 dPdx)\n"
18635 " (declare (in) vec2 dPdy))\n"
18636 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018637 "(function texture1D\n"
18638 " (signature vec4\n"
18639 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018640 " (declare (in) sampler1D sampler)\n"
18641 " (declare (in) float coord))\n"
18642 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018643 " (signature vec4\n"
18644 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018645 " (declare (in) sampler1D sampler)\n"
18646 " (declare (in) float coord)\n"
18647 " (declare (in) float bias))\n"
18648 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018649 "(function texture1DProj\n"
18650 " (signature vec4\n"
18651 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018652 " (declare (in) sampler1D sampler)\n"
18653 " (declare (in) vec2 coord))\n"
18654 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018655 " (signature vec4\n"
18656 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018657 " (declare (in) sampler1D sampler)\n"
18658 " (declare (in) vec4 coord))\n"
18659 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018660 " (signature vec4\n"
18661 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018662 " (declare (in) sampler1D sampler)\n"
18663 " (declare (in) vec2 coord)\n"
18664 " (declare (in) float bias))\n"
18665 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018666 " (signature vec4\n"
18667 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018668 " (declare (in) sampler1D sampler)\n"
18669 " (declare (in) vec4 coord)\n"
18670 " (declare (in) float bias))\n"
18671 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018672 "(function texture1DLod\n"
18673 " (signature vec4\n"
18674 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018675 " (declare (in) sampler1D sampler)\n"
18676 " (declare (in) float coord)\n"
18677 " (declare (in) float lod))\n"
18678 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018679 "(function texture1DProjLod\n"
18680 " (signature vec4\n"
18681 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018682 " (declare (in) sampler1D sampler)\n"
18683 " (declare (in) vec2 coord)\n"
18684 " (declare (in) float lod))\n"
18685 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018686 " (signature vec4\n"
18687 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018688 " (declare (in) sampler1D sampler)\n"
18689 " (declare (in) vec4 coord)\n"
18690 " (declare (in) float lod))\n"
18691 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018692 "(function texture2D\n"
18693 " (signature vec4\n"
18694 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018695 " (declare (in) sampler2D sampler)\n"
18696 " (declare (in) vec2 coord))\n"
18697 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018698 " (signature vec4\n"
18699 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018700 " (declare (in) sampler2D sampler)\n"
18701 " (declare (in) vec2 coord)\n"
18702 " (declare (in) float bias))\n"
18703 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018704 "(function texture2DProj\n"
18705 " (signature vec4\n"
18706 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018707 " (declare (in) sampler2D sampler)\n"
18708 " (declare (in) vec3 coord))\n"
18709 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018710 " (signature vec4\n"
18711 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018712 " (declare (in) sampler2D sampler)\n"
18713 " (declare (in) vec4 coord))\n"
18714 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018715 " (signature vec4\n"
18716 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018717 " (declare (in) sampler2D sampler)\n"
18718 " (declare (in) vec3 coord)\n"
18719 " (declare (in) float bias))\n"
18720 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018721 " (signature vec4\n"
18722 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018723 " (declare (in) sampler2D sampler)\n"
18724 " (declare (in) vec4 coord)\n"
18725 " (declare (in) float bias))\n"
18726 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018727 "(function texture2DLod\n"
18728 " (signature vec4\n"
18729 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018730 " (declare (in) sampler2D sampler)\n"
18731 " (declare (in) vec2 coord)\n"
18732 " (declare (in) float lod))\n"
18733 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018734 "(function texture2DProjLod\n"
18735 " (signature vec4\n"
18736 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018737 " (declare (in) sampler2D sampler)\n"
18738 " (declare (in) vec3 coord)\n"
18739 " (declare (in) float lod))\n"
18740 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018741 " (signature vec4\n"
18742 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018743 " (declare (in) sampler2D sampler)\n"
18744 " (declare (in) vec4 coord)\n"
18745 " (declare (in) float lod))\n"
18746 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018747 "(function texture3D\n"
18748 " (signature vec4\n"
18749 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018750 " (declare (in) sampler3D sampler)\n"
18751 " (declare (in) vec3 coord))\n"
18752 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018753 " (signature vec4\n"
18754 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018755 " (declare (in) sampler3D sampler)\n"
18756 " (declare (in) vec3 coord)\n"
18757 " (declare (in) float bias))\n"
18758 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018759 "(function texture3DProj\n"
18760 " (signature vec4\n"
18761 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018762 " (declare (in) sampler3D sampler)\n"
18763 " (declare (in) vec4 coord))\n"
18764 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018765 " (signature vec4\n"
18766 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018767 " (declare (in) sampler3D sampler)\n"
18768 " (declare (in) vec4 coord)\n"
18769 " (declare (in) float bias))\n"
18770 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018771 "(function texture3DLod\n"
18772 " (signature vec4\n"
18773 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018774 " (declare (in) sampler3D sampler)\n"
18775 " (declare (in) vec3 coord)\n"
18776 " (declare (in) float lod))\n"
18777 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018778 "(function texture3DProjLod\n"
18779 " (signature vec4\n"
18780 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018781 " (declare (in) sampler3D sampler)\n"
18782 " (declare (in) vec4 coord)\n"
18783 " (declare (in) float lod))\n"
18784 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018785 "(function textureCube\n"
18786 " (signature vec4\n"
18787 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018788 " (declare (in) samplerCube sampler)\n"
18789 " (declare (in) vec3 coord))\n"
18790 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018791 " (signature vec4\n"
18792 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018793 " (declare (in) samplerCube sampler)\n"
18794 " (declare (in) vec3 coord)\n"
18795 " (declare (in) float bias))\n"
18796 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018797 "(function textureCubeLod\n"
18798 " (signature vec4\n"
18799 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018800 " (declare (in) samplerCube sampler)\n"
18801 " (declare (in) vec3 coord)\n"
18802 " (declare (in) float lod))\n"
18803 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018804 "(function shadow1D\n"
18805 " (signature vec4\n"
18806 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018807 " (declare (in) sampler1DShadow sampler)\n"
18808 " (declare (in) vec3 coord))\n"
18809 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018810 " (signature vec4\n"
18811 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018812 " (declare (in) sampler1DShadow sampler)\n"
18813 " (declare (in) vec3 coord)\n"
18814 " (declare (in) float bias))\n"
18815 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018816 "(function shadow2D\n"
18817 " (signature vec4\n"
18818 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018819 " (declare (in) sampler2DShadow sampler)\n"
18820 " (declare (in) vec3 coord))\n"
18821 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018822 " (signature vec4\n"
18823 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018824 " (declare (in) sampler2DShadow sampler)\n"
18825 " (declare (in) vec3 coord)\n"
18826 " (declare (in) float bias))\n"
18827 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018828 "(function shadow1DProj\n"
18829 " (signature vec4\n"
18830 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018831 " (declare (in) sampler1DShadow sampler)\n"
18832 " (declare (in) vec4 coord))\n"
18833 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018834 " (signature vec4\n"
18835 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018836 " (declare (in) sampler1DShadow sampler)\n"
18837 " (declare (in) vec4 coord)\n"
18838 " (declare (in) float bias))\n"
18839 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018840 "(function shadow2DProj\n"
18841 " (signature vec4\n"
18842 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018843 " (declare (in) sampler2DShadow sampler)\n"
18844 " (declare (in) vec4 coord))\n"
18845 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018846 " (signature vec4\n"
18847 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018848 " (declare (in) sampler2DShadow sampler)\n"
18849 " (declare (in) vec4 coord)\n"
18850 " (declare (in) float bias))\n"
18851 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018852 "(function shadow1DLod\n"
18853 " (signature vec4\n"
18854 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018855 " (declare (in) sampler1DShadow sampler)\n"
18856 " (declare (in) vec3 coord)\n"
18857 " (declare (in) float lod))\n"
18858 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018859 "(function shadow2DLod\n"
18860 " (signature vec4\n"
18861 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018862 " (declare (in) sampler2DShadow sampler)\n"
18863 " (declare (in) vec3 coord)\n"
18864 " (declare (in) float lod))\n"
18865 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018866 "(function shadow1DProjLod\n"
18867 " (signature vec4\n"
18868 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018869 " (declare (in) sampler1DShadow sampler)\n"
18870 " (declare (in) vec4 coord)\n"
18871 " (declare (in) float lod))\n"
18872 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018873 "(function shadow2DProjLod\n"
18874 " (signature vec4\n"
18875 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018876 " (declare (in) sampler2DShadow sampler)\n"
18877 " (declare (in) vec4 coord)\n"
18878 " (declare (in) float lod))\n"
18879 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018880 "(function noise1\n"
18881 " (signature float\n"
18882 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018883 " (declare (in) float x))\n"
18884 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018885 " (signature float\n"
18886 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018887 " (declare (in) vec2 x))\n"
18888 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018889 " (signature float\n"
18890 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018891 " (declare (in) vec3 x))\n"
18892 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018893 " (signature float\n"
18894 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018895 " (declare (in) vec4 x))\n"
18896 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018897 "(function noise2\n"
18898 " (signature vec2\n"
18899 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018900 " (declare (in) float x))\n"
18901 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018902 " (signature vec2\n"
18903 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018904 " (declare (in) vec2 x))\n"
18905 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018906 " (signature vec2\n"
18907 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018908 " (declare (in) vec3 x))\n"
18909 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018910 " (signature vec2\n"
18911 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018912 " (declare (in) vec4 x))\n"
18913 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018914 "(function noise3\n"
18915 " (signature vec3\n"
18916 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018917 " (declare (in) float x))\n"
18918 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018919 " (signature vec3\n"
18920 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018921 " (declare (in) vec2 x))\n"
18922 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018923 " (signature vec3\n"
18924 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018925 " (declare (in) vec3 x))\n"
18926 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018927 " (signature vec3\n"
18928 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018929 " (declare (in) vec4 x))\n"
18930 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018931 "(function noise4\n"
18932 " (signature vec4\n"
18933 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018934 " (declare (in) float x))\n"
18935 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018936 " (signature vec4\n"
18937 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018938 " (declare (in) vec2 x))\n"
18939 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018940 " (signature vec4\n"
18941 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018942 " (declare (in) vec3 x))\n"
18943 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018944 " (signature vec4\n"
18945 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070018946 " (declare (in) vec4 x))\n"
18947 " ())))"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018948;
18949static const char *functions_for_130_vert [] = {
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018950 builtin_abs,
Eric Anholt47003a82010-08-23 12:39:35 -070018951 builtin_acos,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018952 builtin_all,
Eric Anholt47003a82010-08-23 12:39:35 -070018953 builtin_any,
18954 builtin_asin,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018955 builtin_atan,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018956 builtin_ceil,
Eric Anholt47003a82010-08-23 12:39:35 -070018957 builtin_clamp,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018958 builtin_cos,
Eric Anholt47003a82010-08-23 12:39:35 -070018959 builtin_cosh,
18960 builtin_cross,
18961 builtin_degrees,
18962 builtin_distance,
18963 builtin_dot,
18964 builtin_equal,
18965 builtin_exp,
18966 builtin_exp2,
18967 builtin_faceforward,
18968 builtin_floor,
18969 builtin_fract,
18970 builtin_ftransform,
18971 builtin_greaterThan,
18972 builtin_greaterThanEqual,
18973 builtin_inversesqrt,
18974 builtin_length,
18975 builtin_lessThan,
18976 builtin_lessThanEqual,
18977 builtin_log,
18978 builtin_log2,
18979 builtin_matrixCompMult,
18980 builtin_max,
18981 builtin_min,
18982 builtin_mix,
18983 builtin_mod,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018984 builtin_noise1,
Eric Anholt47003a82010-08-23 12:39:35 -070018985 builtin_noise2,
18986 builtin_noise3,
18987 builtin_noise4,
18988 builtin_normalize,
18989 builtin_not,
18990 builtin_notEqual,
18991 builtin_outerProduct,
18992 builtin_pow,
18993 builtin_radians,
18994 builtin_reflect,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070018995 builtin_refract,
Eric Anholt47003a82010-08-23 12:39:35 -070018996 builtin_shadow1D,
18997 builtin_shadow1DLod,
18998 builtin_shadow1DProj,
18999 builtin_shadow1DProjLod,
19000 builtin_shadow2D,
19001 builtin_shadow2DLod,
19002 builtin_shadow2DProj,
19003 builtin_shadow2DProjLod,
19004 builtin_sign,
19005 builtin_sin,
19006 builtin_sinh,
19007 builtin_smoothstep,
19008 builtin_sqrt,
19009 builtin_step,
19010 builtin_tan,
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070019011 builtin_tanh,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070019012 builtin_texelFetch,
Eric Anholt47003a82010-08-23 12:39:35 -070019013 builtin_texture,
19014 builtin_texture1D,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070019015 builtin_texture1DLod,
Eric Anholt47003a82010-08-23 12:39:35 -070019016 builtin_texture1DProj,
19017 builtin_texture1DProjLod,
19018 builtin_texture2D,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070019019 builtin_texture2DLod,
Eric Anholt47003a82010-08-23 12:39:35 -070019020 builtin_texture2DProj,
19021 builtin_texture2DProjLod,
19022 builtin_texture3D,
19023 builtin_texture3DLod,
19024 builtin_texture3DProj,
19025 builtin_texture3DProjLod,
19026 builtin_textureCube,
19027 builtin_textureCubeLod,
19028 builtin_textureGrad,
19029 builtin_textureLod,
19030 builtin_textureProj,
19031 builtin_textureProjGrad,
19032 builtin_textureProjLod,
19033 builtin_transpose,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070019034};
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070019035static const char *prototypes_for_ARB_texture_rectangle_frag =
19036 "(\n"
19037 "(function texture2DRect\n"
19038 " (signature vec4\n"
19039 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070019040 " (declare (in) sampler2DRect sampler)\n"
19041 " (declare (in) vec2 coord))\n"
19042 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070019043 "(function texture2DRectProj\n"
19044 " (signature vec4\n"
19045 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070019046 " (declare (in) sampler2DRect sampler)\n"
19047 " (declare (in) vec3 coord))\n"
19048 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070019049 " (signature vec4\n"
19050 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070019051 " (declare (in) sampler2DRect sampler)\n"
19052 " (declare (in) vec4 coord))\n"
19053 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070019054 "(function shadow2DRect\n"
19055 " (signature vec4\n"
19056 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070019057 " (declare (in) sampler2DRectShadow sampler)\n"
19058 " (declare (in) vec3 coord))\n"
19059 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070019060 "(function shadow2DRectProj\n"
19061 " (signature vec4\n"
19062 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070019063 " (declare (in) sampler2DRectShadow sampler)\n"
19064 " (declare (in) vec4 coord))\n"
19065 " ())))"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070019066;
19067static const char *functions_for_ARB_texture_rectangle_frag [] = {
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070019068 builtin_shadow2DRect,
Eric Anholt47003a82010-08-23 12:39:35 -070019069 builtin_shadow2DRectProj,
19070 builtin_texture2DRect,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070019071 builtin_texture2DRectProj,
19072};
Eric Anholt47003a82010-08-23 12:39:35 -070019073static const char *prototypes_for_ARB_texture_rectangle_vert =
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070019074 "(\n"
Eric Anholt47003a82010-08-23 12:39:35 -070019075 "(function texture2DRect\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070019076 " (signature vec4\n"
19077 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -070019078 " (declare (in) sampler2DRect sampler)\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070019079 " (declare (in) vec2 coord))\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070019080 " ()))\n"
Eric Anholt47003a82010-08-23 12:39:35 -070019081 "(function texture2DRectProj\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070019082 " (signature vec4\n"
19083 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -070019084 " (declare (in) sampler2DRect sampler)\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070019085 " (declare (in) vec3 coord))\n"
19086 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070019087 " (signature vec4\n"
19088 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -070019089 " (declare (in) sampler2DRect sampler)\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070019090 " (declare (in) vec4 coord))\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070019091 " ()))\n"
Eric Anholt47003a82010-08-23 12:39:35 -070019092 "(function shadow2DRect\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070019093 " (signature vec4\n"
19094 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -070019095 " (declare (in) sampler2DRectShadow sampler)\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070019096 " (declare (in) vec3 coord))\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070019097 " ()))\n"
Eric Anholt47003a82010-08-23 12:39:35 -070019098 "(function shadow2DRectProj\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070019099 " (signature vec4\n"
19100 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -070019101 " (declare (in) sampler2DRectShadow sampler)\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070019102 " (declare (in) vec4 coord))\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070019103 " ())))"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070019104;
Eric Anholt47003a82010-08-23 12:39:35 -070019105static const char *functions_for_ARB_texture_rectangle_vert [] = {
19106 builtin_shadow2DRect,
19107 builtin_shadow2DRectProj,
19108 builtin_texture2DRect,
19109 builtin_texture2DRectProj,
19110};
19111static const char *prototypes_for_EXT_texture_array_frag =
19112 "(\n"
19113 "(function texture1DArray\n"
19114 " (signature vec4\n"
19115 " (parameters\n"
19116 " (declare (in) sampler1DArray sampler)\n"
19117 " (declare (in) vec2 coord))\n"
19118 " ())\n"
19119 " (signature vec4\n"
19120 " (parameters\n"
19121 " (declare (in) sampler1DArray sampler)\n"
19122 " (declare (in) vec2 coord)\n"
19123 " (declare (in) float bias))\n"
19124 " ()))\n"
19125 "(function texture2DArray\n"
19126 " (signature vec4\n"
19127 " (parameters\n"
19128 " (declare (in) sampler2DArray sampler)\n"
19129 " (declare (in) vec3 coord))\n"
19130 " ())\n"
19131 " (signature vec4\n"
19132 " (parameters\n"
19133 " (declare (in) sampler2DArray sampler)\n"
19134 " (declare (in) vec3 coord)\n"
19135 " (declare (in) float bias))\n"
19136 " ()))\n"
19137 "(function shadow1DArray\n"
19138 " (signature vec4\n"
19139 " (parameters\n"
19140 " (declare (in) sampler1DArrayShadow sampler)\n"
19141 " (declare (in) vec3 coord))\n"
19142 " ())\n"
19143 " (signature vec4\n"
19144 " (parameters\n"
19145 " (declare (in) sampler1DArrayShadow sampler)\n"
19146 " (declare (in) vec3 coord)\n"
19147 " (declare (in) float bias))\n"
19148 " ()))\n"
19149 "(function shadow2DArray\n"
19150 " (signature vec4\n"
19151 " (parameters\n"
19152 " (declare (in) sampler2DArrayShadow sampler)\n"
19153 " (declare (in) vec4 coord))\n"
19154 " ())))"
19155;
19156static const char *functions_for_EXT_texture_array_frag [] = {
19157 builtin_shadow1DArray,
19158 builtin_shadow2DArray,
19159 builtin_texture1DArray,
19160 builtin_texture2DArray,
19161};
19162static const char *prototypes_for_EXT_texture_array_vert =
19163 "(\n"
19164 "(function texture1DArray\n"
19165 " (signature vec4\n"
19166 " (parameters\n"
19167 " (declare (in) sampler1DArray sampler)\n"
19168 " (declare (in) vec2 coord))\n"
19169 " ()))\n"
19170 "(function texture1DArrayLod\n"
19171 " (signature vec4\n"
19172 " (parameters\n"
19173 " (declare (in) sampler1DArray sampler)\n"
19174 " (declare (in) vec2 coord)\n"
19175 " (declare (in) float lod))\n"
19176 " ()))\n"
19177 "(function texture2DArray\n"
19178 " (signature vec4\n"
19179 " (parameters\n"
19180 " (declare (in) sampler2DArray sampler)\n"
19181 " (declare (in) vec3 coord))\n"
19182 " ()))\n"
19183 "(function texture2DArrayLod\n"
19184 " (signature vec4\n"
19185 " (parameters\n"
19186 " (declare (in) sampler2DArray sampler)\n"
19187 " (declare (in) vec3 coord)\n"
19188 " (declare (in) float lod))\n"
19189 " ()))\n"
19190 "(function shadow1DArray\n"
19191 " (signature vec4\n"
19192 " (parameters\n"
19193 " (declare (in) sampler1DArrayShadow sampler)\n"
19194 " (declare (in) vec3 coord))\n"
19195 " ()))\n"
19196 "(function shadow1DArrayLod\n"
19197 " (signature vec4\n"
19198 " (parameters\n"
19199 " (declare (in) sampler1DArrayShadow sampler)\n"
19200 " (declare (in) vec3 coord)\n"
19201 " (declare (in) float lod))\n"
19202 " ()))\n"
19203 "(function shadow2DArray\n"
19204 " (signature vec4\n"
19205 " (parameters\n"
19206 " (declare (in) sampler2DArrayShadow sampler)\n"
19207 " (declare (in) vec4 coord))\n"
19208 " ())))"
19209;
19210static const char *functions_for_EXT_texture_array_vert [] = {
19211 builtin_shadow1DArray,
19212 builtin_shadow1DArrayLod,
19213 builtin_shadow2DArray,
19214 builtin_texture1DArray,
19215 builtin_texture1DArrayLod,
19216 builtin_texture2DArray,
19217 builtin_texture2DArrayLod,
Kenneth Graunkeb3262122010-04-28 23:01:33 -070019218};
Kenneth Graunke116dc672010-08-16 13:04:09 -070019219static gl_shader *builtin_profiles[12];
Eric Anholtc22c4002010-03-26 18:20:30 -070019220
Ian Romanickd5be2ac2010-07-20 11:29:46 -070019221void *builtin_mem_ctx = NULL;
19222
19223void
19224_mesa_glsl_release_functions(void)
19225{
Eric Anholt8b3d36d2010-08-30 12:20:25 -070019226 talloc_free(builtin_mem_ctx);
19227 builtin_mem_ctx = NULL;
Ian Romanickf69a6642010-09-08 17:13:00 -070019228 memset(builtin_profiles, 0, sizeof(builtin_profiles));
Eric Anholt8b3d36d2010-08-30 12:20:25 -070019229}
19230
19231static void
19232_mesa_read_profile(struct _mesa_glsl_parse_state *state,
19233 exec_list *instructions,
19234 int profile_index,
19235 const char *prototypes,
19236 const char **functions,
19237 int count)
19238{
19239 gl_shader *sh = builtin_profiles[profile_index];
19240
19241 if (sh == NULL) {
19242 sh = read_builtins(GL_VERTEX_SHADER, prototypes, functions, count);
19243 talloc_steal(builtin_mem_ctx, sh);
19244 builtin_profiles[profile_index] = sh;
19245 }
19246
19247 import_prototypes(sh->ir, instructions, state->symbols, state);
19248 state->builtins_to_link[state->num_builtins_to_link] = sh;
19249 state->num_builtins_to_link++;
Ian Romanickd5be2ac2010-07-20 11:29:46 -070019250}
19251
Eric Anholtc22c4002010-03-26 18:20:30 -070019252void
19253_mesa_glsl_initialize_functions(exec_list *instructions,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070019254 struct _mesa_glsl_parse_state *state)
Eric Anholtc22c4002010-03-26 18:20:30 -070019255{
Eric Anholt8b3d36d2010-08-30 12:20:25 -070019256 if (builtin_mem_ctx == NULL) {
Ian Romanickd5be2ac2010-07-20 11:29:46 -070019257 builtin_mem_ctx = talloc_init("GLSL built-in functions");
Eric Anholt8b3d36d2010-08-30 12:20:25 -070019258 memset(&builtin_profiles, 0, sizeof(builtin_profiles));
19259 }
Kenneth Graunkeb3262122010-04-28 23:01:33 -070019260
Ian Romanickd5be2ac2010-07-20 11:29:46 -070019261 state->num_builtins_to_link = 0;
Kenneth Graunke4b0029a2010-06-08 16:29:17 -070019262
Kenneth Graunke116dc672010-08-16 13:04:09 -070019263 if (state->target == fragment_shader && state->language_version == 100) {
Eric Anholt8b3d36d2010-08-30 12:20:25 -070019264 _mesa_read_profile(state, instructions, 0,
Kenneth Graunke116dc672010-08-16 13:04:09 -070019265 prototypes_for_100_frag,
19266 functions_for_100_frag,
19267 Elements(functions_for_100_frag));
19268 }
19269
19270 if (state->target == vertex_shader && state->language_version == 100) {
19271 _mesa_read_profile(state, instructions, 1,
19272 prototypes_for_100_vert,
19273 functions_for_100_vert,
19274 Elements(functions_for_100_vert));
19275 }
19276
19277 if (state->target == fragment_shader && state->language_version == 110) {
19278 _mesa_read_profile(state, instructions, 2,
Eric Anholt8b3d36d2010-08-30 12:20:25 -070019279 prototypes_for_110_frag,
19280 functions_for_110_frag,
19281 Elements(functions_for_110_frag));
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070019282 }
19283
19284 if (state->target == vertex_shader && state->language_version == 110) {
Kenneth Graunke116dc672010-08-16 13:04:09 -070019285 _mesa_read_profile(state, instructions, 3,
Eric Anholt8b3d36d2010-08-30 12:20:25 -070019286 prototypes_for_110_vert,
19287 functions_for_110_vert,
19288 Elements(functions_for_110_vert));
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070019289 }
19290
Eric Anholt47003a82010-08-23 12:39:35 -070019291 if (state->target == fragment_shader && state->language_version == 120) {
Kenneth Graunke116dc672010-08-16 13:04:09 -070019292 _mesa_read_profile(state, instructions, 4,
Eric Anholt8b3d36d2010-08-30 12:20:25 -070019293 prototypes_for_120_frag,
19294 functions_for_120_frag,
19295 Elements(functions_for_120_frag));
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070019296 }
19297
Eric Anholt47003a82010-08-23 12:39:35 -070019298 if (state->target == vertex_shader && state->language_version == 120) {
Kenneth Graunke116dc672010-08-16 13:04:09 -070019299 _mesa_read_profile(state, instructions, 5,
Eric Anholt8b3d36d2010-08-30 12:20:25 -070019300 prototypes_for_120_vert,
19301 functions_for_120_vert,
19302 Elements(functions_for_120_vert));
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070019303 }
19304
Kenneth Graunkea433cd22010-08-16 15:18:23 -070019305 if (state->target == fragment_shader && state->language_version == 130) {
Kenneth Graunke116dc672010-08-16 13:04:09 -070019306 _mesa_read_profile(state, instructions, 6,
Eric Anholt8b3d36d2010-08-30 12:20:25 -070019307 prototypes_for_130_frag,
19308 functions_for_130_frag,
19309 Elements(functions_for_130_frag));
Kenneth Graunkea433cd22010-08-16 15:18:23 -070019310 }
19311
Kenneth Graunkea433cd22010-08-16 15:18:23 -070019312 if (state->target == vertex_shader && state->language_version == 130) {
Kenneth Graunke116dc672010-08-16 13:04:09 -070019313 _mesa_read_profile(state, instructions, 7,
Eric Anholt8b3d36d2010-08-30 12:20:25 -070019314 prototypes_for_130_vert,
19315 functions_for_130_vert,
19316 Elements(functions_for_130_vert));
Kenneth Graunkea433cd22010-08-16 15:18:23 -070019317 }
19318
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070019319 if (state->target == fragment_shader && state->ARB_texture_rectangle_enable) {
Kenneth Graunke116dc672010-08-16 13:04:09 -070019320 _mesa_read_profile(state, instructions, 8,
Eric Anholt8b3d36d2010-08-30 12:20:25 -070019321 prototypes_for_ARB_texture_rectangle_frag,
19322 functions_for_ARB_texture_rectangle_frag,
19323 Elements(functions_for_ARB_texture_rectangle_frag));
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070019324 }
19325
Eric Anholt47003a82010-08-23 12:39:35 -070019326 if (state->target == vertex_shader && state->ARB_texture_rectangle_enable) {
Kenneth Graunke116dc672010-08-16 13:04:09 -070019327 _mesa_read_profile(state, instructions, 9,
Eric Anholt8b3d36d2010-08-30 12:20:25 -070019328 prototypes_for_ARB_texture_rectangle_vert,
19329 functions_for_ARB_texture_rectangle_vert,
19330 Elements(functions_for_ARB_texture_rectangle_vert));
Eric Anholt47003a82010-08-23 12:39:35 -070019331 }
19332
19333 if (state->target == fragment_shader && state->EXT_texture_array_enable) {
Kenneth Graunke116dc672010-08-16 13:04:09 -070019334 _mesa_read_profile(state, instructions, 10,
Eric Anholt8b3d36d2010-08-30 12:20:25 -070019335 prototypes_for_EXT_texture_array_frag,
19336 functions_for_EXT_texture_array_frag,
19337 Elements(functions_for_EXT_texture_array_frag));
Eric Anholt47003a82010-08-23 12:39:35 -070019338 }
19339
19340 if (state->target == vertex_shader && state->EXT_texture_array_enable) {
Kenneth Graunke116dc672010-08-16 13:04:09 -070019341 _mesa_read_profile(state, instructions, 11,
Eric Anholt8b3d36d2010-08-30 12:20:25 -070019342 prototypes_for_EXT_texture_array_vert,
19343 functions_for_EXT_texture_array_vert,
19344 Elements(functions_for_EXT_texture_array_vert));
Ian Romanickd5be2ac2010-07-20 11:29:46 -070019345 }
Kenneth Graunke4b0029a2010-06-08 16:29:17 -070019346
Eric Anholtc22c4002010-03-26 18:20:30 -070019347}