blob: b4138d0af76b98e555a9aa5d80d132cdeafdce99 [file] [log] [blame]
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07001/* DO NOT MODIFY - automatically generated by generate_builtins.py */
Eric Anholtc22c4002010-03-26 18:20:30 -07002/*
3 * Copyright © 2010 Intel Corporation
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining a
6 * copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
11 *
12 * The above copyright notice and this permission notice (including the next
13 * paragraph) shall be included in all copies or substantial portions of the
14 * Software.
15 *
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22 * DEALINGS IN THE SOFTWARE.
23 */
24
Kenneth Graunkeb3262122010-04-28 23:01:33 -070025#include <stdio.h>
Ian Romanick261bbc02010-08-12 15:05:39 -070026#include "main/compiler.h"
Eric Anholtc22c4002010-03-26 18:20:30 -070027#include "glsl_parser_extras.h"
Kenneth Graunkeb3262122010-04-28 23:01:33 -070028#include "ir_reader.h"
Ian Romanickd5be2ac2010-07-20 11:29:46 -070029#include "program.h"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070030#include "ast.h"
Eric Anholtddd2e832010-03-27 12:59:42 -070031
Ian Romanickd5be2ac2010-07-20 11:29:46 -070032extern "C" struct gl_shader *
33_mesa_new_shader(GLcontext *ctx, GLuint name, GLenum type);
34
35gl_shader *
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070036read_builtins(GLenum target, const char *protos, const char **functions, unsigned count)
Eric Anholtc22c4002010-03-26 18:20:30 -070037{
Ian Romanickd5be2ac2010-07-20 11:29:46 -070038 gl_shader *sh = _mesa_new_shader(NULL, 0, target);
39 struct _mesa_glsl_parse_state *st =
40 new(sh) _mesa_glsl_parse_state(NULL, target, sh);
41
42 st->language_version = 130;
43 st->ARB_texture_rectangle_enable = true;
44 st->EXT_texture_array_enable = true;
45 _mesa_glsl_initialize_types(st);
46
47 sh->ir = new(sh) exec_list;
48 sh->symbols = st->symbols;
Eric Anholtc22c4002010-03-26 18:20:30 -070049
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070050 /* Read the IR containing the prototypes */
51 _mesa_glsl_read_ir(st, sh->ir, protos, true);
52
53 /* Read ALL the function bodies, telling the IR reader not to scan for
54 * prototypes (we've already created them). The IR reader will skip any
55 * signature that does not already exist as a prototype.
56 */
Kenneth Graunkeb3262122010-04-28 23:01:33 -070057 for (unsigned i = 0; i < count; i++) {
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070058 _mesa_glsl_read_ir(st, sh->ir, functions[i], false);
Eric Anholtc22c4002010-03-26 18:20:30 -070059
Kenneth Graunkeb3262122010-04-28 23:01:33 -070060 if (st->error) {
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070061 printf("error reading builtin: %.35s ...\n", functions[i]);
62 talloc_free(sh);
Ian Romanickd5be2ac2010-07-20 11:29:46 -070063 return NULL;
Kenneth Graunkeb3262122010-04-28 23:01:33 -070064 }
Eric Anholtcc4ef152010-04-08 15:35:34 -070065 }
Ian Romanickd5be2ac2010-07-20 11:29:46 -070066
67 reparent_ir(sh->ir, sh);
68 delete st;
69
70 return sh;
Eric Anholtcc4ef152010-04-08 15:35:34 -070071}
72
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070073static const char *builtin_all =
Kenneth Graunkeb3262122010-04-28 23:01:33 -070074 "((function all\n"
75 " (signature bool\n"
76 " (parameters\n"
77 " (declare (in) bvec2 arg0))\n"
78 " ((return (expression bool && (swiz x (var_ref arg0))(swiz y (var_ref arg0))))))\n"
79 "\n"
80 " (signature bool\n"
81 " (parameters\n"
82 " (declare (in) bvec3 arg0))\n"
83 " ((return (expression bool && (expression bool && (swiz x (var_ref arg0))(swiz y (var_ref arg0))) (swiz z (var_ref arg0))))))\n"
84 "\n"
85 " (signature bool\n"
86 " (parameters\n"
87 " (declare (in) bvec4 arg0))\n"
88 " ((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"
89 "))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070090 ""
91;
92static const char *builtin_textureProj =
93 "((function textureProj\n"
94 " (signature vec4\n"
95 " (parameters\n"
96 " (declare (in) sampler1D sampler)\n"
97 " (declare (in) vec2 P) )\n"
98 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ))))\n"
99 "\n"
100 " (signature ivec4\n"
101 " (parameters\n"
102 " (declare (in) isampler1D sampler)\n"
103 " (declare (in) vec2 P) )\n"
104 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ))))\n"
105 "\n"
106 " (signature uvec4\n"
107 " (parameters\n"
108 " (declare (in) usampler1D sampler)\n"
109 " (declare (in) vec2 P) )\n"
110 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ))))\n"
111 "\n"
112 " (signature vec4\n"
113 " (parameters\n"
114 " (declare (in) sampler1D sampler)\n"
115 " (declare (in) vec4 P) )\n"
116 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
117 "\n"
118 " (signature ivec4\n"
119 " (parameters\n"
120 " (declare (in) isampler1D sampler)\n"
121 " (declare (in) vec4 P) )\n"
122 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
123 "\n"
124 " (signature uvec4\n"
125 " (parameters\n"
126 " (declare (in) usampler1D sampler)\n"
127 " (declare (in) vec4 P) )\n"
128 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
129 "\n"
130 " (signature vec4\n"
131 " (parameters\n"
132 " (declare (in) sampler2D sampler)\n"
133 " (declare (in) vec3 P) )\n"
134 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
135 "\n"
136 " (signature ivec4\n"
137 " (parameters\n"
138 " (declare (in) isampler2D sampler)\n"
139 " (declare (in) vec3 P) )\n"
140 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
141 "\n"
142 " (signature uvec4\n"
143 " (parameters\n"
144 " (declare (in) usampler2D sampler)\n"
145 " (declare (in) vec3 P) )\n"
146 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
147 "\n"
148 " (signature vec4\n"
149 " (parameters\n"
150 " (declare (in) sampler2D sampler)\n"
151 " (declare (in) vec4 P) )\n"
152 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
153 "\n"
154 " (signature ivec4\n"
155 " (parameters\n"
156 " (declare (in) isampler2D sampler)\n"
157 " (declare (in) vec4 P) )\n"
158 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
159 "\n"
160 " (signature uvec4\n"
161 " (parameters\n"
162 " (declare (in) usampler2D sampler)\n"
163 " (declare (in) vec4 P) )\n"
164 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
165 "\n"
166 " (signature vec4\n"
167 " (parameters\n"
168 " (declare (in) sampler3D sampler)\n"
169 " (declare (in) vec4 P) )\n"
170 " ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
171 "\n"
172 " (signature ivec4\n"
173 " (parameters\n"
174 " (declare (in) isampler3D sampler)\n"
175 " (declare (in) vec4 P) )\n"
176 " ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
177 "\n"
178 " (signature uvec4\n"
179 " (parameters\n"
180 " (declare (in) usampler3D sampler)\n"
181 " (declare (in) vec4 P) )\n"
182 " ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
183 "\n"
184 " (signature vec4\n"
185 " (parameters\n"
186 " (declare (in) sampler1D sampler)\n"
187 " (declare (in) vec2 P) \n"
188 " (declare (in) float bias) )\n"
189 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
190 "\n"
191 " (signature ivec4\n"
192 " (parameters\n"
193 " (declare (in) isampler1D sampler)\n"
194 " (declare (in) vec2 P) \n"
195 " (declare (in) float bias) )\n"
196 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
197 "\n"
198 " (signature uvec4\n"
199 " (parameters\n"
200 " (declare (in) usampler1D sampler)\n"
201 " (declare (in) vec2 P) \n"
202 " (declare (in) float bias) )\n"
203 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
204 "\n"
205 " (signature vec4\n"
206 " (parameters\n"
207 " (declare (in) sampler1D sampler)\n"
208 " (declare (in) vec4 P) \n"
209 " (declare (in) float bias) )\n"
210 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
211 "\n"
212 " (signature ivec4\n"
213 " (parameters\n"
214 " (declare (in) isampler1D sampler)\n"
215 " (declare (in) vec4 P) \n"
216 " (declare (in) float bias) )\n"
217 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
218 "\n"
219 " (signature uvec4\n"
220 " (parameters\n"
221 " (declare (in) usampler1D sampler)\n"
222 " (declare (in) vec4 P) \n"
223 " (declare (in) float bias) )\n"
224 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
225 "\n"
226 " (signature vec4\n"
227 " (parameters\n"
228 " (declare (in) sampler2D sampler)\n"
229 " (declare (in) vec3 P) \n"
230 " (declare (in) float bias) )\n"
231 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
232 "\n"
233 " (signature ivec4\n"
234 " (parameters\n"
235 " (declare (in) isampler2D sampler)\n"
236 " (declare (in) vec3 P) \n"
237 " (declare (in) float bias) )\n"
238 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
239 "\n"
240 " (signature uvec4\n"
241 " (parameters\n"
242 " (declare (in) usampler2D sampler)\n"
243 " (declare (in) vec3 P) \n"
244 " (declare (in) float bias) )\n"
245 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
246 "\n"
247 " (signature vec4\n"
248 " (parameters\n"
249 " (declare (in) sampler2D sampler)\n"
250 " (declare (in) vec4 P) \n"
251 " (declare (in) float bias) )\n"
252 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
253 "\n"
254 " (signature ivec4\n"
255 " (parameters\n"
256 " (declare (in) isampler2D sampler)\n"
257 " (declare (in) vec4 P) \n"
258 " (declare (in) float bias) )\n"
259 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
260 "\n"
261 " (signature uvec4\n"
262 " (parameters\n"
263 " (declare (in) usampler2D sampler)\n"
264 " (declare (in) vec4 P) \n"
265 " (declare (in) float bias) )\n"
266 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
267 "\n"
268 " (signature vec4\n"
269 " (parameters\n"
270 " (declare (in) sampler3D sampler)\n"
271 " (declare (in) vec4 P) \n"
272 " (declare (in) float bias) )\n"
273 " ((return (txb (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
274 "\n"
275 " (signature ivec4\n"
276 " (parameters\n"
277 " (declare (in) isampler3D sampler)\n"
278 " (declare (in) vec4 P) \n"
279 " (declare (in) float bias) )\n"
280 " ((return (txb (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
281 "\n"
282 " (signature uvec4\n"
283 " (parameters\n"
284 " (declare (in) usampler3D sampler)\n"
285 " (declare (in) vec4 P) \n"
286 " (declare (in) float bias) )\n"
287 " ((return (txb (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
288 "\n"
289 "))\n"
290 ""
291;
292static const char *builtin_fwidth =
293 "((function fwidth\n"
294 " (signature float\n"
295 " (parameters\n"
296 " (declare (in) float p))\n"
297 " ((return (expression float +\n"
298 " (expression float abs (expression float dFdx (var_ref p)))\n"
299 " (expression float abs (expression float dFdy (var_ref p)))))))\n"
300 "\n"
301 " (signature vec2\n"
302 " (parameters\n"
303 " (declare (in) vec2 p))\n"
304 " ((return (expression vec2 +\n"
305 " (expression vec2 abs (expression vec2 dFdx (var_ref p)))\n"
306 " (expression vec2 abs (expression vec2 dFdy (var_ref p)))))))\n"
307 "\n"
308 " (signature vec3\n"
309 " (parameters\n"
310 " (declare (in) vec3 p))\n"
311 " ((return (expression vec3 +\n"
312 " (expression vec3 abs (expression vec3 dFdx (var_ref p)))\n"
313 " (expression vec3 abs (expression vec3 dFdy (var_ref p)))))))\n"
314 "\n"
315 " (signature vec4\n"
316 " (parameters\n"
317 " (declare (in) vec4 p))\n"
318 " ((return (expression vec4 +\n"
319 " (expression vec4 abs (expression vec4 dFdx (var_ref p)))\n"
320 " (expression vec4 abs (expression vec4 dFdy (var_ref p)))))))\n"
321 "))\n"
322 ""
323;
324static const char *builtin_texture2DProj =
325 "((function texture2DProj\n"
326 " (signature vec4\n"
327 " (parameters\n"
328 " (declare (in) sampler2D sampler)\n"
329 " (declare (in) vec3 P) )\n"
330 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
331 "\n"
332 " (signature vec4\n"
333 " (parameters\n"
334 " (declare (in) sampler2D sampler)\n"
335 " (declare (in) vec4 P) )\n"
336 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
337 "\n"
338 " (signature vec4\n"
339 " (parameters\n"
340 " (declare (in) sampler2D sampler)\n"
341 " (declare (in) vec3 P) \n"
342 " (declare (in) float bias) )\n"
343 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
344 "\n"
345 " (signature vec4\n"
346 " (parameters\n"
347 " (declare (in) sampler2D sampler)\n"
348 " (declare (in) vec4 P) \n"
349 " (declare (in) float bias) )\n"
350 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
351 "\n"
352 "))\n"
353 ""
354;
355static const char *builtin_shadow1DProjLod =
356 "((function shadow1DProjLod\n"
357 " (signature vec4\n"
358 " (parameters\n"
359 " (declare (in) sampler1DShadow sampler)\n"
360 " (declare (in) vec4 P) \n"
361 " (declare (in) float lod) )\n"
362 " ((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"
363 "\n"
364 "))\n"
365 ""
366;
367static const char *builtin_texture3DLod =
368 "((function texture3DLod\n"
369 " (signature vec4\n"
370 " (parameters\n"
371 " (declare (in) sampler3D sampler)\n"
372 " (declare (in) vec3 P) \n"
373 " (declare (in) float lod) )\n"
374 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
375 "\n"
376 "))\n"
377 ""
378;
379static const char *builtin_textureCubeLod =
380 "((function textureCubeLod\n"
381 " (signature vec4\n"
382 " (parameters\n"
383 " (declare (in) samplerCube sampler)\n"
384 " (declare (in) vec3 P) \n"
385 " (declare (in) float lod) )\n"
386 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
387 "\n"
388 "))\n"
389 ""
390;
391static const char *builtin_texture =
392 "((function texture\n"
393 " (signature vec4\n"
394 " (parameters\n"
395 " (declare (in) sampler1D sampler)\n"
396 " (declare (in) float P) )\n"
397 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
398 "\n"
399 " (signature ivec4\n"
400 " (parameters\n"
401 " (declare (in) isampler1D sampler)\n"
402 " (declare (in) float P) )\n"
403 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
404 "\n"
405 " (signature uvec4\n"
406 " (parameters\n"
407 " (declare (in) usampler1D sampler)\n"
408 " (declare (in) float P) )\n"
409 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
410 "\n"
411 " (signature vec4\n"
412 " (parameters\n"
413 " (declare (in) sampler2D sampler)\n"
414 " (declare (in) vec2 P) )\n"
415 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
416 "\n"
417 " (signature ivec4\n"
418 " (parameters\n"
419 " (declare (in) isampler2D sampler)\n"
420 " (declare (in) vec2 P) )\n"
421 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
422 "\n"
423 " (signature uvec4\n"
424 " (parameters\n"
425 " (declare (in) usampler2D sampler)\n"
426 " (declare (in) vec2 P) )\n"
427 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
428 "\n"
429 " (signature vec4\n"
430 " (parameters\n"
431 " (declare (in) sampler3D sampler)\n"
432 " (declare (in) vec3 P) )\n"
433 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
434 "\n"
435 " (signature ivec4\n"
436 " (parameters\n"
437 " (declare (in) isampler3D sampler)\n"
438 " (declare (in) vec3 P) )\n"
439 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
440 "\n"
441 " (signature uvec4\n"
442 " (parameters\n"
443 " (declare (in) usampler3D sampler)\n"
444 " (declare (in) vec3 P) )\n"
445 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
446 "\n"
447 " (signature vec4\n"
448 " (parameters\n"
449 " (declare (in) samplerCube sampler)\n"
450 " (declare (in) vec3 P) )\n"
451 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
452 "\n"
453 " (signature ivec4\n"
454 " (parameters\n"
455 " (declare (in) isamplerCube sampler)\n"
456 " (declare (in) vec3 P) )\n"
457 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
458 "\n"
459 " (signature uvec4\n"
460 " (parameters\n"
461 " (declare (in) usamplerCube sampler)\n"
462 " (declare (in) vec3 P) )\n"
463 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
464 "\n"
465 " (signature vec4\n"
466 " (parameters\n"
467 " (declare (in) sampler1DArray sampler)\n"
468 " (declare (in) vec2 P) )\n"
469 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
470 "\n"
471 " (signature ivec4\n"
472 " (parameters\n"
473 " (declare (in) isampler1DArray sampler)\n"
474 " (declare (in) vec2 P) )\n"
475 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
476 "\n"
477 " (signature uvec4\n"
478 " (parameters\n"
479 " (declare (in) usampler1DArray sampler)\n"
480 " (declare (in) vec2 P) )\n"
481 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
482 "\n"
483 " (signature vec4\n"
484 " (parameters\n"
485 " (declare (in) sampler2DArray sampler)\n"
486 " (declare (in) vec3 P) )\n"
487 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
488 "\n"
489 " (signature ivec4\n"
490 " (parameters\n"
491 " (declare (in) isampler2DArray sampler)\n"
492 " (declare (in) vec3 P) )\n"
493 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
494 "\n"
495 " (signature uvec4\n"
496 " (parameters\n"
497 " (declare (in) usampler2DArray sampler)\n"
498 " (declare (in) vec3 P) )\n"
499 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
500 "\n"
501 " (signature vec4\n"
502 " (parameters\n"
503 " (declare (in) sampler1D sampler)\n"
504 " (declare (in) float P) \n"
505 " (declare (in) float bias) )\n"
506 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
507 "\n"
508 " (signature ivec4\n"
509 " (parameters\n"
510 " (declare (in) isampler1D sampler)\n"
511 " (declare (in) float P) \n"
512 " (declare (in) float bias) )\n"
513 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
514 "\n"
515 " (signature uvec4\n"
516 " (parameters\n"
517 " (declare (in) usampler1D sampler)\n"
518 " (declare (in) float P) \n"
519 " (declare (in) float bias) )\n"
520 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
521 "\n"
522 " (signature vec4\n"
523 " (parameters\n"
524 " (declare (in) sampler2D sampler)\n"
525 " (declare (in) vec2 P) \n"
526 " (declare (in) float bias) )\n"
527 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
528 "\n"
529 " (signature ivec4\n"
530 " (parameters\n"
531 " (declare (in) isampler2D sampler)\n"
532 " (declare (in) vec2 P) \n"
533 " (declare (in) float bias) )\n"
534 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
535 "\n"
536 " (signature uvec4\n"
537 " (parameters\n"
538 " (declare (in) usampler2D sampler)\n"
539 " (declare (in) vec2 P) \n"
540 " (declare (in) float bias) )\n"
541 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
542 "\n"
543 " (signature vec4\n"
544 " (parameters\n"
545 " (declare (in) sampler3D sampler)\n"
546 " (declare (in) vec3 P) \n"
547 " (declare (in) float bias) )\n"
548 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
549 "\n"
550 " (signature ivec4\n"
551 " (parameters\n"
552 " (declare (in) isampler3D sampler)\n"
553 " (declare (in) vec3 P) \n"
554 " (declare (in) float bias) )\n"
555 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
556 "\n"
557 " (signature uvec4\n"
558 " (parameters\n"
559 " (declare (in) usampler3D sampler)\n"
560 " (declare (in) vec3 P) \n"
561 " (declare (in) float bias) )\n"
562 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
563 "\n"
564 " (signature vec4\n"
565 " (parameters\n"
566 " (declare (in) samplerCube sampler)\n"
567 " (declare (in) vec3 P) \n"
568 " (declare (in) float bias) )\n"
569 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
570 "\n"
571 " (signature ivec4\n"
572 " (parameters\n"
573 " (declare (in) isamplerCube sampler)\n"
574 " (declare (in) vec3 P) \n"
575 " (declare (in) float bias) )\n"
576 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
577 "\n"
578 " (signature uvec4\n"
579 " (parameters\n"
580 " (declare (in) usamplerCube sampler)\n"
581 " (declare (in) vec3 P) \n"
582 " (declare (in) float bias) )\n"
583 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
584 "\n"
585 " (signature vec4\n"
586 " (parameters\n"
587 " (declare (in) sampler1DArray sampler)\n"
588 " (declare (in) vec2 P) \n"
589 " (declare (in) float bias) )\n"
590 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
591 "\n"
592 " (signature ivec4\n"
593 " (parameters\n"
594 " (declare (in) isampler1DArray sampler)\n"
595 " (declare (in) vec2 P) \n"
596 " (declare (in) float bias) )\n"
597 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
598 "\n"
599 " (signature uvec4\n"
600 " (parameters\n"
601 " (declare (in) usampler1DArray sampler)\n"
602 " (declare (in) vec2 P) \n"
603 " (declare (in) float bias) )\n"
604 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
605 "\n"
606 " (signature vec4\n"
607 " (parameters\n"
608 " (declare (in) sampler2DArray sampler)\n"
609 " (declare (in) vec3 P) \n"
610 " (declare (in) float bias) )\n"
611 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
612 "\n"
613 " (signature ivec4\n"
614 " (parameters\n"
615 " (declare (in) isampler2DArray sampler)\n"
616 " (declare (in) vec3 P) \n"
617 " (declare (in) float bias) )\n"
618 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
619 "\n"
620 " (signature uvec4\n"
621 " (parameters\n"
622 " (declare (in) usampler2DArray sampler)\n"
623 " (declare (in) vec3 P) \n"
624 " (declare (in) float bias) )\n"
625 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
626 "\n"
627 "))\n"
628 ""
629;
630static const char *builtin_degrees =
631 "((function degrees\n"
632 " (signature float\n"
633 " (parameters\n"
634 " (declare (in) float arg0))\n"
635 " ((return (expression float * (var_ref arg0) (constant float (57.295780))))))\n"
636 "\n"
637 " (signature vec2\n"
638 " (parameters\n"
639 " (declare (in) vec2 arg0))\n"
640 " ((return (expression vec2 * (var_ref arg0) (constant float (57.295780))))))\n"
641 "\n"
642 " (signature vec3\n"
643 " (parameters\n"
644 " (declare (in) vec3 arg0))\n"
645 " ((return (expression vec3 * (var_ref arg0) (constant float (57.295780))))))\n"
646 "\n"
647 " (signature vec4\n"
648 " (parameters\n"
649 " (declare (in) vec4 arg0))\n"
650 " ((return (expression vec4 * (var_ref arg0) (constant float (57.295780))))))\n"
651 "))\n"
652 ""
653;
654static const char *builtin_texture2DArrayLod =
655 "((function texture2DArrayLod\n"
656 " (signature vec4\n"
657 " (parameters\n"
658 " (declare (in) sampler2DArray sampler)\n"
659 " (declare (in) vec3 P) \n"
660 " (declare (in) float lod) )\n"
661 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
662 "\n"
663 "))\n"
664 ""
665;
666static const char *builtin_ceil =
667 "((function ceil\n"
668 " (signature float\n"
669 " (parameters\n"
670 " (declare (in) float arg0))\n"
671 " ((return (expression float ceil (var_ref arg0)))))\n"
672 "\n"
673 " (signature vec2\n"
674 " (parameters\n"
675 " (declare (in) vec2 arg0))\n"
676 " ((return (expression vec2 ceil (var_ref arg0)))))\n"
677 "\n"
678 " (signature vec3\n"
679 " (parameters\n"
680 " (declare (in) vec3 arg0))\n"
681 " ((return (expression vec3 ceil (var_ref arg0)))))\n"
682 "\n"
683 " (signature vec4\n"
684 " (parameters\n"
685 " (declare (in) vec4 arg0))\n"
686 " ((return (expression vec4 ceil (var_ref arg0)))))\n"
687 "))\n"
688 ""
689;
690static const char *builtin_texture1D =
691 "((function texture1D\n"
692 " (signature vec4\n"
693 " (parameters\n"
694 " (declare (in) sampler1D sampler)\n"
695 " (declare (in) float P) )\n"
696 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
697 "\n"
698 " (signature vec4\n"
699 " (parameters\n"
700 " (declare (in) sampler1D sampler)\n"
701 " (declare (in) float P) \n"
702 " (declare (in) float bias) )\n"
703 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
704 "\n"
705 "))\n"
706 ""
707;
708static const char *builtin_not =
709 "((function not\n"
710 " (signature bvec2\n"
Kenneth Graunkeb3262122010-04-28 23:01:33 -0700711 " (parameters\n"
712 " (declare (in) bvec2 arg0))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700713 " ((return (expression bvec2 ! (var_ref arg0)))))\n"
Kenneth Graunkeb3262122010-04-28 23:01:33 -0700714 "\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700715 " (signature bvec3\n"
Kenneth Graunkeb3262122010-04-28 23:01:33 -0700716 " (parameters\n"
717 " (declare (in) bvec3 arg0))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700718 " ((return (expression bvec3 ! (var_ref arg0)))))\n"
Kenneth Graunkeb3262122010-04-28 23:01:33 -0700719 "\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700720 " (signature bvec4\n"
Kenneth Graunkeb3262122010-04-28 23:01:33 -0700721 " (parameters\n"
722 " (declare (in) bvec4 arg0))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700723 " ((return (expression bvec4 ! (var_ref arg0)))))\n"
Kenneth Graunkeb3262122010-04-28 23:01:33 -0700724 "))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700725 ""
726;
727static const char *builtin_texture2DRectProj =
728 "((function texture2DRectProj\n"
729 " (signature vec4\n"
730 " (parameters\n"
731 " (declare (in) sampler2DRect sampler)\n"
732 " (declare (in) vec3 P) )\n"
733 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
734 "\n"
735 " (signature vec4\n"
736 " (parameters\n"
737 " (declare (in) sampler2DRect sampler)\n"
738 " (declare (in) vec4 P) )\n"
739 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
740 "\n"
741 "))\n"
742 ""
743;
744static const char *builtin_mod =
745 "((function mod\n"
746 " (signature float\n"
747 " (parameters\n"
748 " (declare (in) float arg0)\n"
749 " (declare (in) float arg1))\n"
750 " ((return (expression float % (var_ref arg0) (var_ref arg1)))))\n"
751 "\n"
752 " (signature vec2\n"
753 " (parameters\n"
754 " (declare (in) vec2 arg0)\n"
755 " (declare (in) vec2 arg1))\n"
756 " ((return (expression vec2 % (var_ref arg0) (var_ref arg1)))))\n"
757 "\n"
758 " (signature vec3\n"
759 " (parameters\n"
760 " (declare (in) vec3 arg0)\n"
761 " (declare (in) vec3 arg1))\n"
762 " ((return (expression vec3 % (var_ref arg0) (var_ref arg1)))))\n"
763 "\n"
764 " (signature vec4\n"
765 " (parameters\n"
766 " (declare (in) vec4 arg0)\n"
767 " (declare (in) vec4 arg1))\n"
768 " ((return (expression vec4 % (var_ref arg0) (var_ref arg1)))))\n"
769 "\n"
770 " (signature vec2\n"
771 " (parameters\n"
772 " (declare (in) vec2 arg0)\n"
773 " (declare (in) float arg1))\n"
774 " ((return (expression vec2 % (var_ref arg0) (var_ref arg1)))))\n"
775 "\n"
776 " (signature vec3\n"
777 " (parameters\n"
778 " (declare (in) vec3 arg0)\n"
779 " (declare (in) float arg1))\n"
780 " ((return (expression vec3 % (var_ref arg0) (var_ref arg1)))))\n"
781 "\n"
782 " (signature vec4\n"
783 " (parameters\n"
784 " (declare (in) vec4 arg0)\n"
785 " (declare (in) float arg1))\n"
786 " ((return (expression vec4 % (var_ref arg0) (var_ref arg1)))))\n"
787 "))\n"
788 ""
789;
790static const char *builtin_radians =
791 "((function radians\n"
792 " (signature float\n"
793 " (parameters\n"
794 " (declare (in) float arg0))\n"
795 " ((return (expression float * (var_ref arg0) (constant float (0.017453))))))\n"
796 "\n"
797 " (signature vec2\n"
798 " (parameters\n"
799 " (declare (in) vec2 arg0))\n"
800 " ((return (expression vec2 * (var_ref arg0) (constant float (0.017453))))))\n"
801 "\n"
802 " (signature vec3\n"
803 " (parameters\n"
804 " (declare (in) vec3 arg0))\n"
805 " ((return (expression vec3 * (var_ref arg0) (constant float (0.017453))))))\n"
806 "\n"
807 " (signature vec4\n"
808 " (parameters\n"
809 " (declare (in) vec4 arg0))\n"
810 " ((return (expression vec4 * (var_ref arg0) (constant float (0.017453))))))\n"
811 "))\n"
812 ""
813;
814static const char *builtin_smoothstep =
815 "((function smoothstep\n"
816 " (signature float\n"
817 " (parameters\n"
818 " (declare (in) float edge0)\n"
819 " (declare (in) float edge1)\n"
820 " (declare (in) float x))\n"
821 " ((declare () float t)\n"
822 "\n"
823 " (assign (constant bool (1)) (var_ref t)\n"
824 " (expression float max\n"
825 " (expression float min\n"
826 " (expression float / (expression float - (var_ref x) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
827 " (constant float (1.0)))\n"
828 " (constant float (0.0))))\n"
829 " (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"
830 "\n"
831 " (signature vec2\n"
832 " (parameters\n"
833 " (declare (in) float edge0)\n"
834 " (declare (in) float edge1)\n"
835 " (declare (in) vec2 x))\n"
836 " ((declare () vec2 t)\n"
837 " (declare () vec2 retval)\n"
838 "\n"
839 " (assign (constant bool (1)) (swiz x (var_ref t))\n"
840 " (expression float max\n"
841 " (expression float min\n"
842 " (expression float / (expression float - (swiz x (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
843 " (constant float (1.0)))\n"
844 " (constant float (0.0))))\n"
845 " (assign (constant bool (1)) (swiz x (var_ref retval)) (expression float * (swiz x (var_ref t)) (expression float * (swiz x (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz x (var_ref t)))))))\n"
846 "\n"
847 " (assign (constant bool (1)) (swiz y (var_ref t))\n"
848 " (expression float max\n"
849 " (expression float min\n"
850 " (expression float / (expression float - (swiz y (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
851 " (constant float (1.0)))\n"
852 " (constant float (0.0))))\n"
853 " (assign (constant bool (1)) (swiz y (var_ref retval)) (expression float * (swiz y (var_ref t)) (expression float * (swiz y (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz y (var_ref t)))))))\n"
854 " (return (var_ref retval))\n"
855 " ))\n"
856 "\n"
857 " (signature vec3\n"
858 " (parameters\n"
859 " (declare (in) float edge0)\n"
860 " (declare (in) float edge1)\n"
861 " (declare (in) vec3 x))\n"
862 " ((declare () vec3 t)\n"
863 " (declare () vec3 retval)\n"
864 "\n"
865 " (assign (constant bool (1)) (swiz x (var_ref t))\n"
866 " (expression float max\n"
867 " (expression float min\n"
868 " (expression float / (expression float - (swiz x (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
869 " (constant float (1.0)))\n"
870 " (constant float (0.0))))\n"
871 " (assign (constant bool (1)) (swiz x (var_ref retval)) (expression float * (swiz x (var_ref t)) (expression float * (swiz x (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz x (var_ref t)))))))\n"
872 "\n"
873 " (assign (constant bool (1)) (swiz y (var_ref t))\n"
874 " (expression float max\n"
875 " (expression float min\n"
876 " (expression float / (expression float - (swiz y (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
877 " (constant float (1.0)))\n"
878 " (constant float (0.0))))\n"
879 " (assign (constant bool (1)) (swiz y (var_ref retval)) (expression float * (swiz y (var_ref t)) (expression float * (swiz y (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz y (var_ref t)))))))\n"
880 "\n"
881 " (assign (constant bool (1)) (swiz z (var_ref t))\n"
882 " (expression float max\n"
883 " (expression float min\n"
884 " (expression float / (expression float - (swiz z (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
885 " (constant float (1.0)))\n"
886 " (constant float (0.0))))\n"
887 " (assign (constant bool (1)) (swiz z (var_ref retval)) (expression float * (swiz z (var_ref t)) (expression float * (swiz z (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz z (var_ref t)))))))\n"
888 " (return (var_ref retval))\n"
889 " ))\n"
890 "\n"
891 "\n"
892 " (signature vec4\n"
893 " (parameters\n"
894 " (declare (in) float edge0)\n"
895 " (declare (in) float edge1)\n"
896 " (declare (in) vec4 x))\n"
897 " ((declare () vec4 t)\n"
898 " (declare () vec4 retval)\n"
899 "\n"
900 " (assign (constant bool (1)) (swiz x (var_ref t))\n"
901 " (expression float max\n"
902 " (expression float min\n"
903 " (expression float / (expression float - (swiz x (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
904 " (constant float (1.0)))\n"
905 " (constant float (0.0))))\n"
906 " (assign (constant bool (1)) (swiz x (var_ref retval)) (expression float * (swiz x (var_ref t)) (expression float * (swiz x (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz x (var_ref t)))))))\n"
907 "\n"
908 " (assign (constant bool (1)) (swiz y (var_ref t))\n"
909 " (expression float max\n"
910 " (expression float min\n"
911 " (expression float / (expression float - (swiz y (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
912 " (constant float (1.0)))\n"
913 " (constant float (0.0))))\n"
914 " (assign (constant bool (1)) (swiz y (var_ref retval)) (expression float * (swiz y (var_ref t)) (expression float * (swiz y (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz y (var_ref t)))))))\n"
915 "\n"
916 " (assign (constant bool (1)) (swiz z (var_ref t))\n"
917 " (expression float max\n"
918 " (expression float min\n"
919 " (expression float / (expression float - (swiz z (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
920 " (constant float (1.0)))\n"
921 " (constant float (0.0))))\n"
922 " (assign (constant bool (1)) (swiz z (var_ref retval)) (expression float * (swiz z (var_ref t)) (expression float * (swiz z (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz z (var_ref t)))))))\n"
923 "\n"
924 " (assign (constant bool (1)) (swiz w (var_ref t))\n"
925 " (expression float max\n"
926 " (expression float min\n"
927 " (expression float / (expression float - (swiz w (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
928 " (constant float (1.0)))\n"
929 " (constant float (0.0))))\n"
930 " (assign (constant bool (1)) (swiz w (var_ref retval)) (expression float * (swiz w (var_ref t)) (expression float * (swiz w (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz w (var_ref t)))))))\n"
931 " (return (var_ref retval))\n"
932 " ))\n"
933 "\n"
934 " (signature vec2\n"
935 " (parameters\n"
936 " (declare (in) vec2 edge0)\n"
937 " (declare (in) vec2 edge1)\n"
938 " (declare (in) vec2 x))\n"
939 " ((return (expression vec2 max\n"
940 " (expression vec2 min\n"
941 " (expression vec2 / (expression vec2 - (var_ref x) (var_ref edge0)) (expression vec2 - (var_ref edge1) (var_ref edge0)))\n"
942 " (constant vec2 (1.0 1.0)))\n"
943 " (constant vec2 (0.0 0.0))))))\n"
944 "\n"
945 " (signature vec3\n"
946 " (parameters\n"
947 " (declare (in) vec3 edge0)\n"
948 " (declare (in) vec3 edge1)\n"
949 " (declare (in) vec3 x))\n"
950 " ((return (expression vec3 max\n"
951 " (expression vec3 min\n"
952 " (expression vec3 / (expression vec3 - (var_ref x) (var_ref edge0)) (expression vec3 - (var_ref edge1) (var_ref edge0)))\n"
953 " (constant vec3 (1.0 1.0 1.0)))\n"
954 " (constant vec3 (0.0 0.0 0.0))))))\n"
955 "\n"
956 " (signature vec4\n"
957 " (parameters\n"
958 " (declare (in) vec4 edge0)\n"
959 " (declare (in) vec4 edge1)\n"
960 " (declare (in) vec4 x))\n"
961 " ((return (expression vec4 max\n"
962 " (expression vec4 min\n"
963 " (expression vec4 / (expression vec4 - (var_ref x) (var_ref edge0)) (expression vec4 - (var_ref edge1) (var_ref edge0)))\n"
964 " (constant vec4 (1.0 1.0 1.0 1.0)))\n"
965 " (constant vec4 (0.0 0.0 0.0 0.0))))))\n"
966 "))\n"
967 "\n"
968 ""
969;
970static const char *builtin_textureProjGrad =
971 "((function textureProjGrad\n"
972 " (signature vec4\n"
973 " (parameters\n"
974 " (declare (in) sampler1D sampler)\n"
975 " (declare (in) vec2 P) \n"
976 " (declare (in) float dPdx) \n"
977 " (declare (in) float dPdy) )\n"
978 " ((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"
979 "\n"
980 " (signature ivec4\n"
981 " (parameters\n"
982 " (declare (in) isampler1D sampler)\n"
983 " (declare (in) vec2 P) \n"
984 " (declare (in) float dPdx) \n"
985 " (declare (in) float dPdy) )\n"
986 " ((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"
987 "\n"
988 " (signature uvec4\n"
989 " (parameters\n"
990 " (declare (in) usampler1D sampler)\n"
991 " (declare (in) vec2 P) \n"
992 " (declare (in) float dPdx) \n"
993 " (declare (in) float dPdy) )\n"
994 " ((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"
995 "\n"
996 " (signature vec4\n"
997 " (parameters\n"
998 " (declare (in) sampler1D sampler)\n"
999 " (declare (in) vec4 P) \n"
1000 " (declare (in) float dPdx) \n"
1001 " (declare (in) float dPdy) )\n"
1002 " ((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"
1003 "\n"
1004 " (signature ivec4\n"
1005 " (parameters\n"
1006 " (declare (in) isampler1D sampler)\n"
1007 " (declare (in) vec4 P) \n"
1008 " (declare (in) float dPdx) \n"
1009 " (declare (in) float dPdy) )\n"
1010 " ((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"
1011 "\n"
1012 " (signature uvec4\n"
1013 " (parameters\n"
1014 " (declare (in) usampler1D sampler)\n"
1015 " (declare (in) vec4 P) \n"
1016 " (declare (in) float dPdx) \n"
1017 " (declare (in) float dPdy) )\n"
1018 " ((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"
1019 "\n"
1020 " (signature vec4\n"
1021 " (parameters\n"
1022 " (declare (in) sampler2D sampler)\n"
1023 " (declare (in) vec3 P) \n"
1024 " (declare (in) vec2 dPdx) \n"
1025 " (declare (in) vec2 dPdy) )\n"
1026 " ((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"
1027 "\n"
1028 " (signature ivec4\n"
1029 " (parameters\n"
1030 " (declare (in) isampler2D sampler)\n"
1031 " (declare (in) vec3 P) \n"
1032 " (declare (in) vec2 dPdx) \n"
1033 " (declare (in) vec2 dPdy) )\n"
1034 " ((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"
1035 "\n"
1036 " (signature uvec4\n"
1037 " (parameters\n"
1038 " (declare (in) usampler2D sampler)\n"
1039 " (declare (in) vec3 P) \n"
1040 " (declare (in) vec2 dPdx) \n"
1041 " (declare (in) vec2 dPdy) )\n"
1042 " ((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"
1043 "\n"
1044 " (signature vec4\n"
1045 " (parameters\n"
1046 " (declare (in) sampler2D sampler)\n"
1047 " (declare (in) vec4 P) \n"
1048 " (declare (in) vec2 dPdx) \n"
1049 " (declare (in) vec2 dPdy) )\n"
1050 " ((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"
1051 "\n"
1052 " (signature ivec4\n"
1053 " (parameters\n"
1054 " (declare (in) isampler2D sampler)\n"
1055 " (declare (in) vec4 P) \n"
1056 " (declare (in) vec2 dPdx) \n"
1057 " (declare (in) vec2 dPdy) )\n"
1058 " ((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"
1059 "\n"
1060 " (signature uvec4\n"
1061 " (parameters\n"
1062 " (declare (in) usampler2D sampler)\n"
1063 " (declare (in) vec4 P) \n"
1064 " (declare (in) vec2 dPdx) \n"
1065 " (declare (in) vec2 dPdy) )\n"
1066 " ((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"
1067 "\n"
1068 " (signature vec4\n"
1069 " (parameters\n"
1070 " (declare (in) sampler3D sampler)\n"
1071 " (declare (in) vec4 P) \n"
1072 " (declare (in) vec3 dPdx) \n"
1073 " (declare (in) vec3 dPdy) )\n"
1074 " ((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"
1075 "\n"
1076 " (signature ivec4\n"
1077 " (parameters\n"
1078 " (declare (in) isampler3D sampler)\n"
1079 " (declare (in) vec4 P) \n"
1080 " (declare (in) vec3 dPdx) \n"
1081 " (declare (in) vec3 dPdy) )\n"
1082 " ((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"
1083 "\n"
1084 " (signature uvec4\n"
1085 " (parameters\n"
1086 " (declare (in) usampler3D sampler)\n"
1087 " (declare (in) vec4 P) \n"
1088 " (declare (in) vec3 dPdx) \n"
1089 " (declare (in) vec3 dPdy) )\n"
1090 " ((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"
1091 "\n"
1092 "))\n"
1093 ""
1094;
1095static const char *builtin_dFdx =
1096 "((function dFdx\n"
1097 " (signature float\n"
1098 " (parameters\n"
1099 " (declare (in) float p))\n"
1100 " ((return (expression float dFdx (var_ref p)))))\n"
1101 "\n"
1102 " (signature vec2\n"
1103 " (parameters\n"
1104 " (declare (in) vec2 p))\n"
1105 " ((return (expression vec2 dFdx (var_ref p)))))\n"
1106 "\n"
1107 " (signature vec3\n"
1108 " (parameters\n"
1109 " (declare (in) vec3 p))\n"
1110 " ((return (expression vec3 dFdx (var_ref p)))))\n"
1111 "\n"
1112 " (signature vec4\n"
1113 " (parameters\n"
1114 " (declare (in) vec4 p))\n"
1115 " ((return (expression vec4 dFdx (var_ref p)))))\n"
1116 "))\n"
1117 ""
1118;
1119static const char *builtin_dFdy =
1120 "((function dFdy\n"
1121 " (signature float\n"
1122 " (parameters\n"
1123 " (declare (in) float p))\n"
1124 " ((return (expression float dFdy (var_ref p)))))\n"
1125 "\n"
1126 " (signature vec2\n"
1127 " (parameters\n"
1128 " (declare (in) vec2 p))\n"
1129 " ((return (expression vec2 dFdy (var_ref p)))))\n"
1130 "\n"
1131 " (signature vec3\n"
1132 " (parameters\n"
1133 " (declare (in) vec3 p))\n"
1134 " ((return (expression vec3 dFdy (var_ref p)))))\n"
1135 "\n"
1136 " (signature vec4\n"
1137 " (parameters\n"
1138 " (declare (in) vec4 p))\n"
1139 " ((return (expression vec4 dFdy (var_ref p)))))\n"
1140 "))\n"
1141 ""
1142;
1143static const char *builtin_textureGrad =
1144 "((function textureGrad\n"
1145 " (signature vec4\n"
1146 " (parameters\n"
1147 " (declare (in) sampler1D sampler)\n"
1148 " (declare (in) float P) \n"
1149 " (declare (in) float dPdx) \n"
1150 " (declare (in) float dPdy) )\n"
1151 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
1152 "\n"
1153 " (signature ivec4\n"
1154 " (parameters\n"
1155 " (declare (in) isampler1D sampler)\n"
1156 " (declare (in) float P) \n"
1157 " (declare (in) float dPdx) \n"
1158 " (declare (in) float dPdy) )\n"
1159 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
1160 "\n"
1161 " (signature uvec4\n"
1162 " (parameters\n"
1163 " (declare (in) usampler1D sampler)\n"
1164 " (declare (in) float P) \n"
1165 " (declare (in) float dPdx) \n"
1166 " (declare (in) float dPdy) )\n"
1167 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
1168 "\n"
1169 " (signature vec4\n"
1170 " (parameters\n"
1171 " (declare (in) sampler2D sampler)\n"
1172 " (declare (in) vec2 P) \n"
1173 " (declare (in) vec2 dPdx) \n"
1174 " (declare (in) vec2 dPdy) )\n"
1175 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
1176 "\n"
1177 " (signature ivec4\n"
1178 " (parameters\n"
1179 " (declare (in) isampler2D sampler)\n"
1180 " (declare (in) vec2 P) \n"
1181 " (declare (in) vec2 dPdx) \n"
1182 " (declare (in) vec2 dPdy) )\n"
1183 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
1184 "\n"
1185 " (signature uvec4\n"
1186 " (parameters\n"
1187 " (declare (in) usampler2D sampler)\n"
1188 " (declare (in) vec2 P) \n"
1189 " (declare (in) vec2 dPdx) \n"
1190 " (declare (in) vec2 dPdy) )\n"
1191 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
1192 "\n"
1193 " (signature vec4\n"
1194 " (parameters\n"
1195 " (declare (in) sampler3D sampler)\n"
1196 " (declare (in) vec3 P) \n"
1197 " (declare (in) vec3 dPdx) \n"
1198 " (declare (in) vec3 dPdy) )\n"
1199 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
1200 "\n"
1201 " (signature ivec4\n"
1202 " (parameters\n"
1203 " (declare (in) isampler3D sampler)\n"
1204 " (declare (in) vec3 P) \n"
1205 " (declare (in) vec3 dPdx) \n"
1206 " (declare (in) vec3 dPdy) )\n"
1207 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
1208 "\n"
1209 " (signature uvec4\n"
1210 " (parameters\n"
1211 " (declare (in) usampler3D sampler)\n"
1212 " (declare (in) vec3 P) \n"
1213 " (declare (in) vec3 dPdx) \n"
1214 " (declare (in) vec3 dPdy) )\n"
1215 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
1216 "\n"
1217 " (signature vec4\n"
1218 " (parameters\n"
1219 " (declare (in) samplerCube sampler)\n"
1220 " (declare (in) vec3 P) \n"
1221 " (declare (in) vec3 dPdx) \n"
1222 " (declare (in) vec3 dPdy) )\n"
1223 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
1224 "\n"
1225 " (signature ivec4\n"
1226 " (parameters\n"
1227 " (declare (in) isamplerCube sampler)\n"
1228 " (declare (in) vec3 P) \n"
1229 " (declare (in) vec3 dPdx) \n"
1230 " (declare (in) vec3 dPdy) )\n"
1231 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
1232 "\n"
1233 " (signature uvec4\n"
1234 " (parameters\n"
1235 " (declare (in) usamplerCube sampler)\n"
1236 " (declare (in) vec3 P) \n"
1237 " (declare (in) vec3 dPdx) \n"
1238 " (declare (in) vec3 dPdy) )\n"
1239 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
1240 "\n"
1241 " (signature vec4\n"
1242 " (parameters\n"
1243 " (declare (in) sampler1DArray sampler)\n"
1244 " (declare (in) vec2 P) \n"
1245 " (declare (in) vec2 dPdx) \n"
1246 " (declare (in) vec2 dPdy) )\n"
1247 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
1248 "\n"
1249 " (signature ivec4\n"
1250 " (parameters\n"
1251 " (declare (in) isampler1DArray sampler)\n"
1252 " (declare (in) vec2 P) \n"
1253 " (declare (in) vec2 dPdx) \n"
1254 " (declare (in) vec2 dPdy) )\n"
1255 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
1256 "\n"
1257 " (signature uvec4\n"
1258 " (parameters\n"
1259 " (declare (in) usampler1DArray sampler)\n"
1260 " (declare (in) vec2 P) \n"
1261 " (declare (in) vec2 dPdx) \n"
1262 " (declare (in) vec2 dPdy) )\n"
1263 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
1264 "\n"
1265 " (signature vec4\n"
1266 " (parameters\n"
1267 " (declare (in) sampler2DArray sampler)\n"
1268 " (declare (in) vec3 P) \n"
1269 " (declare (in) vec3 dPdx) \n"
1270 " (declare (in) vec3 dPdy) )\n"
1271 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
1272 "\n"
1273 " (signature ivec4\n"
1274 " (parameters\n"
1275 " (declare (in) isampler2DArray sampler)\n"
1276 " (declare (in) vec3 P) \n"
1277 " (declare (in) vec3 dPdx) \n"
1278 " (declare (in) vec3 dPdy) )\n"
1279 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
1280 "\n"
1281 " (signature uvec4\n"
1282 " (parameters\n"
1283 " (declare (in) usampler2DArray sampler)\n"
1284 " (declare (in) vec3 P) \n"
1285 " (declare (in) vec3 dPdx) \n"
1286 " (declare (in) vec3 dPdy) )\n"
1287 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
1288 "\n"
1289 "))\n"
1290 ""
1291;
1292static const char *builtin_clamp =
1293 "((function clamp\n"
1294 " (signature float\n"
1295 " (parameters\n"
1296 " (declare (in) float arg0)\n"
1297 " (declare (in) float arg1)\n"
1298 " (declare (in) float arg2))\n"
1299 " ((return (expression float max (expression float min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
1300 "\n"
1301 " (signature vec2\n"
1302 " (parameters\n"
1303 " (declare (in) vec2 arg0)\n"
1304 " (declare (in) vec2 arg1)\n"
1305 " (declare (in) vec2 arg2))\n"
1306 " ((return (expression vec2 max (expression vec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
1307 "\n"
1308 " (signature vec3\n"
1309 " (parameters\n"
1310 " (declare (in) vec3 arg0)\n"
1311 " (declare (in) vec3 arg1)\n"
1312 " (declare (in) vec3 arg2))\n"
1313 " ((return (expression vec3 max (expression vec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
1314 "\n"
1315 " (signature vec4\n"
1316 " (parameters\n"
1317 " (declare (in) vec4 arg0)\n"
1318 " (declare (in) vec4 arg1)\n"
1319 " (declare (in) vec4 arg2))\n"
1320 " ((return (expression vec4 max (expression vec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
1321 "\n"
1322 " (signature vec2\n"
1323 " (parameters\n"
1324 " (declare (in) vec2 arg0)\n"
1325 " (declare (in) float arg1)\n"
1326 " (declare (in) float arg2))\n"
1327 " ((return (expression vec2 max (expression vec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
1328 "\n"
1329 " (signature vec3\n"
1330 " (parameters\n"
1331 " (declare (in) vec3 arg0)\n"
1332 " (declare (in) float arg1)\n"
1333 " (declare (in) float arg2))\n"
1334 " ((return (expression vec3 max (expression vec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
1335 "\n"
1336 " (signature vec4\n"
1337 " (parameters\n"
1338 " (declare (in) vec4 arg0)\n"
1339 " (declare (in) float arg1)\n"
1340 " (declare (in) float arg2))\n"
1341 " ((return (expression vec4 max (expression vec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
1342 "\n"
1343 " (signature int\n"
1344 " (parameters\n"
1345 " (declare (in) int arg0)\n"
1346 " (declare (in) int arg1)\n"
1347 " (declare (in) int arg2))\n"
1348 " ((return (expression int max (expression int min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
1349 "\n"
1350 " (signature ivec2\n"
1351 " (parameters\n"
1352 " (declare (in) ivec2 arg0)\n"
1353 " (declare (in) ivec2 arg1)\n"
1354 " (declare (in) ivec2 arg2))\n"
1355 " ((return (expression ivec2 max (expression ivec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
1356 "\n"
1357 " (signature ivec3\n"
1358 " (parameters\n"
1359 " (declare (in) ivec3 arg0)\n"
1360 " (declare (in) ivec3 arg1)\n"
1361 " (declare (in) ivec3 arg2))\n"
1362 " ((return (expression ivec3 max (expression ivec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
1363 "\n"
1364 " (signature ivec4\n"
1365 " (parameters\n"
1366 " (declare (in) ivec4 arg0)\n"
1367 " (declare (in) ivec4 arg1)\n"
1368 " (declare (in) ivec4 arg2))\n"
1369 " ((return (expression ivec4 max (expression ivec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
1370 "\n"
1371 " (signature ivec2\n"
1372 " (parameters\n"
1373 " (declare (in) ivec2 arg0)\n"
1374 " (declare (in) int arg1)\n"
1375 " (declare (in) int arg2))\n"
1376 " ((return (expression ivec2 max (expression ivec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
1377 "\n"
1378 " (signature ivec3\n"
1379 " (parameters\n"
1380 " (declare (in) ivec3 arg0)\n"
1381 " (declare (in) int arg1)\n"
1382 " (declare (in) int arg2))\n"
1383 " ((return (expression ivec3 max (expression ivec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
1384 "\n"
1385 " (signature ivec4\n"
1386 " (parameters\n"
1387 " (declare (in) ivec4 arg0)\n"
1388 " (declare (in) int arg1)\n"
1389 " (declare (in) int arg2))\n"
1390 " ((return (expression ivec4 max (expression ivec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
1391 "\n"
1392 " (signature uint\n"
1393 " (parameters\n"
1394 " (declare (in) uint arg0)\n"
1395 " (declare (in) uint arg1)\n"
1396 " (declare (in) uint arg2))\n"
1397 " ((return (expression uint max (expression uint min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
1398 "\n"
1399 " (signature uvec2\n"
1400 " (parameters\n"
1401 " (declare (in) uvec2 arg0)\n"
1402 " (declare (in) uvec2 arg1)\n"
1403 " (declare (in) uvec2 arg2))\n"
1404 " ((return (expression uvec2 max (expression uvec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
1405 "\n"
1406 " (signature uvec3\n"
1407 " (parameters\n"
1408 " (declare (in) uvec3 arg0)\n"
1409 " (declare (in) uvec3 arg1)\n"
1410 " (declare (in) uvec3 arg2))\n"
1411 " ((return (expression uvec3 max (expression uvec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
1412 "\n"
1413 " (signature uvec4\n"
1414 " (parameters\n"
1415 " (declare (in) uvec4 arg0)\n"
1416 " (declare (in) uvec4 arg1)\n"
1417 " (declare (in) uvec4 arg2))\n"
1418 " ((return (expression uvec4 max (expression uvec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
1419 "\n"
1420 " (signature uvec2\n"
1421 " (parameters\n"
1422 " (declare (in) uvec2 arg0)\n"
1423 " (declare (in) uint arg1)\n"
1424 " (declare (in) uint arg2))\n"
1425 " ((return (expression uvec2 max (expression uvec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
1426 "\n"
1427 " (signature uvec3\n"
1428 " (parameters\n"
1429 " (declare (in) uvec3 arg0)\n"
1430 " (declare (in) uint arg1)\n"
1431 " (declare (in) uint arg2))\n"
1432 " ((return (expression uvec3 max (expression uvec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
1433 "\n"
1434 " (signature uvec4\n"
1435 " (parameters\n"
1436 " (declare (in) uvec4 arg0)\n"
1437 " (declare (in) uint arg1)\n"
1438 " (declare (in) uint arg2))\n"
1439 " ((return (expression uvec4 max (expression uvec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
1440 "))\n"
1441 ""
1442;
1443static const char *builtin_texture2DRect =
1444 "((function texture2DRect\n"
1445 " (signature vec4\n"
1446 " (parameters\n"
1447 " (declare (in) sampler2DRect sampler)\n"
1448 " (declare (in) vec2 P) )\n"
1449 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
1450 "\n"
1451 "))\n"
1452 ""
1453;
1454static const char *builtin_cosh =
1455 "((function cosh\n"
1456 " (signature float\n"
1457 " (parameters\n"
1458 " (declare (in) float x))\n"
1459 " ((return (expression float * (constant float (0.5))\n"
1460 " (expression float +\n"
1461 " (expression float exp (var_ref x))\n"
1462 " (expression float exp (expression float neg (var_ref x))))))))\n"
1463 " (signature vec2\n"
1464 " (parameters\n"
1465 " (declare (in) vec2 x))\n"
1466 " ((return (expression vec2 * (constant vec2 (0.5))\n"
1467 " (expression vec2 +\n"
1468 " (expression vec2 exp (var_ref x))\n"
1469 " (expression vec2 exp (expression vec2 neg (var_ref x))))))))\n"
1470 " (signature vec3\n"
1471 " (parameters\n"
1472 " (declare (in) vec3 x))\n"
1473 " ((return (expression vec3 * (constant vec3 (0.5))\n"
1474 " (expression vec3 +\n"
1475 " (expression vec3 exp (var_ref x))\n"
1476 " (expression vec3 exp (expression vec3 neg (var_ref x))))))))\n"
1477 " (signature vec4\n"
1478 " (parameters\n"
1479 " (declare (in) vec4 x))\n"
1480 " ((return (expression vec4 * (constant vec4 (0.5))\n"
1481 " (expression vec4 +\n"
1482 " (expression vec4 exp (var_ref x))\n"
1483 " (expression vec4 exp (expression vec4 neg (var_ref x))))))))\n"
1484 "))\n"
1485 ""
1486;
1487static const char *builtin_texture1DArrayLod =
1488 "((function texture1DArrayLod\n"
1489 " (signature vec4\n"
1490 " (parameters\n"
1491 " (declare (in) sampler1DArray sampler)\n"
1492 " (declare (in) vec2 P) \n"
1493 " (declare (in) float lod) )\n"
1494 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
1495 "\n"
1496 "))\n"
1497 ""
1498;
1499static const char *builtin_asin =
Eric Anholt5e58e542010-05-19 12:19:54 -07001500 "((function asin\n"
1501 " (signature float\n"
1502 " (parameters\n"
1503 " (declare (in) float x))\n"
1504 " ((return (expression float *\n"
Eric Anholt1245bab2010-07-20 12:22:37 -07001505 " (expression float sign (var_ref x))\n"
1506 " (expression float -\n"
1507 " (expression float *\n"
Eric Anholt5e58e542010-05-19 12:19:54 -07001508 " (constant float (3.1415926))\n"
1509 " (constant float (0.5)))\n"
Eric Anholt1245bab2010-07-20 12:22:37 -07001510 " (expression float *\n"
1511 " (expression float sqrt\n"
1512 " (expression float -\n"
1513 " (constant float (1.0))\n"
1514 " (expression float abs (var_ref x))))\n"
1515 " (expression float +\n"
1516 " (constant float (1.5707288))\n"
1517 " (expression float *\n"
1518 " (expression float abs (var_ref x))\n"
1519 " (expression float +\n"
1520 " (constant float (-0.2121144))\n"
1521 " (expression float *\n"
1522 " (constant float (0.0742610))\n"
1523 " (expression float abs (var_ref x))))))))))))\n"
Eric Anholt5e58e542010-05-19 12:19:54 -07001524 "\n"
Kenneth Graunke3ffedf12010-06-09 14:15:04 -07001525 " (signature vec2\n"
Eric Anholt5e58e542010-05-19 12:19:54 -07001526 " (parameters\n"
1527 " (declare (in) vec2 x))\n"
1528 " ((return (expression vec2 *\n"
Eric Anholt1245bab2010-07-20 12:22:37 -07001529 " (expression vec2 sign (var_ref x))\n"
1530 " (expression vec2 -\n"
1531 " (expression float *\n"
Eric Anholt5e58e542010-05-19 12:19:54 -07001532 " (constant float (3.1415926))\n"
1533 " (constant float (0.5)))\n"
Eric Anholt1245bab2010-07-20 12:22:37 -07001534 " (expression vec2 *\n"
1535 " (expression vec2 sqrt\n"
1536 " (expression vec2 -\n"
1537 " (constant float (1.0))\n"
1538 " (expression vec2 abs (var_ref x))))\n"
1539 " (expression vec2 +\n"
1540 " (constant float (1.5707288))\n"
1541 " (expression vec2 *\n"
1542 " (expression vec2 abs (var_ref x))\n"
1543 " (expression vec2 +\n"
1544 " (constant float (-0.2121144))\n"
1545 " (expression vec2 *\n"
1546 " (constant float (0.0742610))\n"
1547 " (expression vec2 abs (var_ref x))))))))))))\n"
Eric Anholt5e58e542010-05-19 12:19:54 -07001548 "\n"
Kenneth Graunke3ffedf12010-06-09 14:15:04 -07001549 " (signature vec3\n"
Eric Anholt5e58e542010-05-19 12:19:54 -07001550 " (parameters\n"
1551 " (declare (in) vec3 x))\n"
1552 " ((return (expression vec3 *\n"
Eric Anholt1245bab2010-07-20 12:22:37 -07001553 " (expression vec3 sign (var_ref x))\n"
1554 " (expression vec3 -\n"
1555 " (expression float *\n"
Eric Anholt5e58e542010-05-19 12:19:54 -07001556 " (constant float (3.1415926))\n"
1557 " (constant float (0.5)))\n"
Eric Anholt1245bab2010-07-20 12:22:37 -07001558 " (expression vec3 *\n"
1559 " (expression vec3 sqrt\n"
1560 " (expression vec3 -\n"
1561 " (constant float (1.0))\n"
1562 " (expression vec3 abs (var_ref x))))\n"
1563 " (expression vec3 +\n"
1564 " (constant float (1.5707288))\n"
1565 " (expression vec3 *\n"
1566 " (expression vec3 abs (var_ref x))\n"
1567 " (expression vec3 +\n"
1568 " (constant float (-0.2121144))\n"
1569 " (expression vec3 *\n"
1570 " (constant float (0.0742610))\n"
1571 " (expression vec3 abs (var_ref x))))))))))))\n"
Eric Anholt5e58e542010-05-19 12:19:54 -07001572 "\n"
Kenneth Graunke3ffedf12010-06-09 14:15:04 -07001573 " (signature vec4\n"
Eric Anholt5e58e542010-05-19 12:19:54 -07001574 " (parameters\n"
1575 " (declare (in) vec4 x))\n"
1576 " ((return (expression vec4 *\n"
Eric Anholt1245bab2010-07-20 12:22:37 -07001577 " (expression vec4 sign (var_ref x))\n"
1578 " (expression vec4 -\n"
1579 " (expression float *\n"
Eric Anholt5e58e542010-05-19 12:19:54 -07001580 " (constant float (3.1415926))\n"
1581 " (constant float (0.5)))\n"
Eric Anholt1245bab2010-07-20 12:22:37 -07001582 " (expression vec4 *\n"
1583 " (expression vec4 sqrt\n"
1584 " (expression vec4 -\n"
1585 " (constant float (1.0))\n"
1586 " (expression vec4 abs (var_ref x))))\n"
1587 " (expression vec4 +\n"
1588 " (constant float (1.5707288))\n"
1589 " (expression vec4 *\n"
1590 " (expression vec4 abs (var_ref x))\n"
1591 " (expression vec4 +\n"
1592 " (constant float (-0.2121144))\n"
1593 " (expression vec4 *\n"
1594 " (constant float (0.0742610))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07001595 " (expression vec4 abs (var_ref x))))))))))))\n"
1596 "))\n"
1597 ""
1598;
1599static const char *builtin_texture1DProj =
1600 "((function texture1DProj\n"
1601 " (signature vec4\n"
1602 " (parameters\n"
1603 " (declare (in) sampler1D sampler)\n"
1604 " (declare (in) vec2 P) )\n"
1605 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ))))\n"
1606 "\n"
1607 " (signature vec4\n"
1608 " (parameters\n"
1609 " (declare (in) sampler1D sampler)\n"
1610 " (declare (in) vec4 P) )\n"
1611 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
1612 "\n"
1613 " (signature vec4\n"
1614 " (parameters\n"
1615 " (declare (in) sampler1D sampler)\n"
1616 " (declare (in) vec2 P) \n"
1617 " (declare (in) float bias) )\n"
1618 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
1619 "\n"
1620 " (signature vec4\n"
1621 " (parameters\n"
1622 " (declare (in) sampler1D sampler)\n"
1623 " (declare (in) vec4 P) \n"
1624 " (declare (in) float bias) )\n"
1625 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
1626 "\n"
1627 "))\n"
1628 ""
1629;
1630static const char *builtin_lessThan =
1631 "((function lessThan\n"
1632 " (signature bvec2\n"
1633 " (parameters\n"
1634 " (declare (in) vec2 arg0)\n"
1635 " (declare (in) vec2 arg1))\n"
1636 " ((declare () bvec2 temp)\n"
1637 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1638 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1639 " (return (var_ref temp))))\n"
1640 "\n"
1641 " (signature bvec3\n"
1642 " (parameters\n"
1643 " (declare (in) vec3 arg0)\n"
1644 " (declare (in) vec3 arg1))\n"
1645 " ((declare () bvec3 temp)\n"
1646 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1647 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1648 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1649 " (return (var_ref temp))))\n"
1650 "\n"
1651 " (signature bvec4\n"
1652 " (parameters\n"
1653 " (declare (in) vec4 arg0)\n"
1654 " (declare (in) vec4 arg1))\n"
1655 " ((declare () bvec4 temp)\n"
1656 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1657 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1658 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1659 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool < (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1660 " (return (var_ref temp))))\n"
1661 "\n"
1662 " (signature bvec2\n"
1663 " (parameters\n"
1664 " (declare (in) ivec2 arg0)\n"
1665 " (declare (in) ivec2 arg1))\n"
1666 " ((declare () bvec2 temp)\n"
1667 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1668 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1669 " (return (var_ref temp))))\n"
1670 "\n"
1671 " (signature bvec3\n"
1672 " (parameters\n"
1673 " (declare (in) ivec3 arg0)\n"
1674 " (declare (in) ivec3 arg1))\n"
1675 " ((declare () bvec3 temp)\n"
1676 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1677 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1678 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1679 " (return (var_ref temp))))\n"
1680 "\n"
1681 " (signature bvec4\n"
1682 " (parameters\n"
1683 " (declare (in) ivec4 arg0)\n"
1684 " (declare (in) ivec4 arg1))\n"
1685 " ((declare () bvec4 temp)\n"
1686 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1687 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1688 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1689 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool < (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1690 " (return (var_ref temp))))\n"
1691 "\n"
1692 " (signature bvec2\n"
1693 " (parameters\n"
1694 " (declare (in) uvec2 arg0)\n"
1695 " (declare (in) uvec2 arg1))\n"
1696 " ((declare () bvec2 temp)\n"
1697 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1698 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1699 " (return (var_ref temp))))\n"
1700 "\n"
1701 " (signature bvec3\n"
1702 " (parameters\n"
1703 " (declare (in) uvec3 arg0)\n"
1704 " (declare (in) uvec3 arg1))\n"
1705 " ((declare () bvec3 temp)\n"
1706 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1707 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1708 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1709 " (return (var_ref temp))))\n"
1710 "\n"
1711 " (signature bvec4\n"
1712 " (parameters\n"
1713 " (declare (in) uvec4 arg0)\n"
1714 " (declare (in) uvec4 arg1))\n"
1715 " ((declare () bvec4 temp)\n"
1716 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1717 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1718 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1719 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool < (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1720 " (return (var_ref temp))))\n"
1721 "))\n"
1722 ""
1723;
1724static const char *builtin_shadow2DProj =
1725 "((function shadow2DProj\n"
1726 " (signature vec4\n"
1727 " (parameters\n"
1728 " (declare (in) sampler2DShadow sampler)\n"
1729 " (declare (in) vec4 P) )\n"
1730 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) ))))\n"
1731 "\n"
1732 " (signature vec4\n"
1733 " (parameters\n"
1734 " (declare (in) sampler2DShadow sampler)\n"
1735 " (declare (in) vec4 P) \n"
1736 " (declare (in) float bias) )\n"
1737 " ((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"
1738 "\n"
1739 "))\n"
1740 ""
1741;
1742static const char *builtin_textureLod =
1743 "((function textureLod\n"
1744 " (signature vec4\n"
1745 " (parameters\n"
1746 " (declare (in) sampler1D sampler)\n"
1747 " (declare (in) float P) \n"
1748 " (declare (in) float lod) )\n"
1749 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
1750 "\n"
1751 " (signature ivec4\n"
1752 " (parameters\n"
1753 " (declare (in) isampler1D sampler)\n"
1754 " (declare (in) float P) \n"
1755 " (declare (in) float lod) )\n"
1756 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
1757 "\n"
1758 " (signature uvec4\n"
1759 " (parameters\n"
1760 " (declare (in) usampler1D sampler)\n"
1761 " (declare (in) float P) \n"
1762 " (declare (in) float lod) )\n"
1763 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
1764 "\n"
1765 " (signature vec4\n"
1766 " (parameters\n"
1767 " (declare (in) sampler2D sampler)\n"
1768 " (declare (in) vec2 P) \n"
1769 " (declare (in) float lod) )\n"
1770 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
1771 "\n"
1772 " (signature ivec4\n"
1773 " (parameters\n"
1774 " (declare (in) isampler2D sampler)\n"
1775 " (declare (in) vec2 P) \n"
1776 " (declare (in) float lod) )\n"
1777 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
1778 "\n"
1779 " (signature uvec4\n"
1780 " (parameters\n"
1781 " (declare (in) usampler2D sampler)\n"
1782 " (declare (in) vec2 P) \n"
1783 " (declare (in) float lod) )\n"
1784 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
1785 "\n"
1786 " (signature vec4\n"
1787 " (parameters\n"
1788 " (declare (in) sampler3D sampler)\n"
1789 " (declare (in) vec3 P) \n"
1790 " (declare (in) float lod) )\n"
1791 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
1792 "\n"
1793 " (signature ivec4\n"
1794 " (parameters\n"
1795 " (declare (in) isampler3D sampler)\n"
1796 " (declare (in) vec3 P) \n"
1797 " (declare (in) float lod) )\n"
1798 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
1799 "\n"
1800 " (signature uvec4\n"
1801 " (parameters\n"
1802 " (declare (in) usampler3D sampler)\n"
1803 " (declare (in) vec3 P) \n"
1804 " (declare (in) float lod) )\n"
1805 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
1806 "\n"
1807 " (signature vec4\n"
1808 " (parameters\n"
1809 " (declare (in) samplerCube sampler)\n"
1810 " (declare (in) vec3 P) \n"
1811 " (declare (in) float lod) )\n"
1812 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
1813 "\n"
1814 " (signature ivec4\n"
1815 " (parameters\n"
1816 " (declare (in) isamplerCube sampler)\n"
1817 " (declare (in) vec3 P) \n"
1818 " (declare (in) float lod) )\n"
1819 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
1820 "\n"
1821 " (signature uvec4\n"
1822 " (parameters\n"
1823 " (declare (in) usamplerCube sampler)\n"
1824 " (declare (in) vec3 P) \n"
1825 " (declare (in) float lod) )\n"
1826 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
1827 "\n"
1828 " (signature vec4\n"
1829 " (parameters\n"
1830 " (declare (in) sampler1DArray sampler)\n"
1831 " (declare (in) vec2 P) \n"
1832 " (declare (in) float lod) )\n"
1833 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
1834 "\n"
1835 " (signature ivec4\n"
1836 " (parameters\n"
1837 " (declare (in) isampler1DArray sampler)\n"
1838 " (declare (in) vec2 P) \n"
1839 " (declare (in) float lod) )\n"
1840 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
1841 "\n"
1842 " (signature uvec4\n"
1843 " (parameters\n"
1844 " (declare (in) usampler1DArray sampler)\n"
1845 " (declare (in) vec2 P) \n"
1846 " (declare (in) float lod) )\n"
1847 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
1848 "\n"
1849 " (signature vec4\n"
1850 " (parameters\n"
1851 " (declare (in) sampler2DArray sampler)\n"
1852 " (declare (in) vec3 P) \n"
1853 " (declare (in) float lod) )\n"
1854 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
1855 "\n"
1856 " (signature ivec4\n"
1857 " (parameters\n"
1858 " (declare (in) isampler2DArray sampler)\n"
1859 " (declare (in) vec3 P) \n"
1860 " (declare (in) float lod) )\n"
1861 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
1862 "\n"
1863 " (signature uvec4\n"
1864 " (parameters\n"
1865 " (declare (in) usampler2DArray sampler)\n"
1866 " (declare (in) vec3 P) \n"
1867 " (declare (in) float lod) )\n"
1868 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
1869 "\n"
1870 "))\n"
1871 ""
1872;
1873static const char *builtin_faceforward =
1874 "((function faceforward\n"
1875 " (signature float\n"
1876 " (parameters\n"
1877 " (declare (in) float N)\n"
1878 " (declare (in) float I)\n"
1879 " (declare (in) float Nref))\n"
1880 " ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n"
1881 " ((return (var_ref N)))\n"
1882 " ((return (expression float neg (var_ref N)))))))\n"
1883 "\n"
1884 " (signature vec2\n"
1885 " (parameters\n"
1886 " (declare (in) vec2 N)\n"
1887 " (declare (in) vec2 I)\n"
1888 " (declare (in) vec2 Nref))\n"
1889 " ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n"
1890 " ((return (var_ref N)))\n"
1891 " ((return (expression vec2 neg (var_ref N)))))))\n"
1892 "\n"
1893 " (signature vec3\n"
1894 " (parameters\n"
1895 " (declare (in) vec3 N)\n"
1896 " (declare (in) vec3 I)\n"
1897 " (declare (in) vec3 Nref))\n"
1898 " ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n"
1899 " ((return (var_ref N)))\n"
1900 " ((return (expression vec3 neg (var_ref N)))))))\n"
1901 "\n"
1902 " (signature vec4\n"
1903 " (parameters\n"
1904 " (declare (in) vec4 N)\n"
1905 " (declare (in) vec4 I)\n"
1906 " (declare (in) vec4 Nref))\n"
1907 " ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n"
1908 " ((return (var_ref N)))\n"
1909 " ((return (expression vec4 neg (var_ref N)))))))\n"
1910 "))\n"
1911 ""
1912;
1913static const char *builtin_abs =
1914 "((function abs\n"
1915 " (signature float\n"
1916 " (parameters\n"
1917 " (declare (in) float arg0))\n"
1918 " ((return (expression float abs (var_ref arg0)))))\n"
1919 "\n"
1920 " (signature vec2\n"
1921 " (parameters\n"
1922 " (declare (in) vec2 arg0))\n"
1923 " ((return (expression vec2 abs (var_ref arg0)))))\n"
1924 "\n"
1925 " (signature vec3\n"
1926 " (parameters\n"
1927 " (declare (in) vec3 arg0))\n"
1928 " ((return (expression vec3 abs (var_ref arg0)))))\n"
1929 "\n"
1930 " (signature vec4\n"
1931 " (parameters\n"
1932 " (declare (in) vec4 arg0))\n"
1933 " ((return (expression vec4 abs (var_ref arg0)))))\n"
1934 "))\n"
1935 ""
1936;
1937static const char *builtin_log2 =
1938 "((function log2\n"
1939 " (signature float\n"
1940 " (parameters\n"
1941 " (declare (in) float arg0))\n"
1942 " ((return (expression float log2 (var_ref arg0)))))\n"
1943 "\n"
1944 " (signature vec2\n"
1945 " (parameters\n"
1946 " (declare (in) vec2 arg0))\n"
1947 " ((return (expression vec2 log2 (var_ref arg0)))))\n"
1948 "\n"
1949 " (signature vec3\n"
1950 " (parameters\n"
1951 " (declare (in) vec3 arg0))\n"
1952 " ((return (expression vec3 log2 (var_ref arg0)))))\n"
1953 "\n"
1954 " (signature vec4\n"
1955 " (parameters\n"
1956 " (declare (in) vec4 arg0))\n"
1957 " ((return (expression vec4 log2 (var_ref arg0)))))\n"
1958 "))\n"
1959 ""
1960;
1961static const char *builtin_shadow2DRect =
1962 "((function shadow2DRect\n"
1963 " (signature vec4\n"
1964 " (parameters\n"
1965 " (declare (in) sampler2DRectShadow sampler)\n"
1966 " (declare (in) vec3 P) )\n"
1967 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) ))))\n"
1968 "\n"
1969 "))\n"
1970 ""
1971;
1972static const char *builtin_lessThanEqual =
1973 "((function lessThanEqual\n"
1974 " (signature bvec2\n"
1975 " (parameters\n"
1976 " (declare (in) vec2 arg0)\n"
1977 " (declare (in) vec2 arg1))\n"
1978 " ((declare () bvec2 temp)\n"
1979 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1980 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1981 " (return (var_ref temp))))\n"
1982 "\n"
1983 " (signature bvec3\n"
1984 " (parameters\n"
1985 " (declare (in) vec3 arg0)\n"
1986 " (declare (in) vec3 arg1))\n"
1987 " ((declare () bvec3 temp)\n"
1988 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1989 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1990 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1991 " (return (var_ref temp))))\n"
1992 "\n"
1993 " (signature bvec4\n"
1994 " (parameters\n"
1995 " (declare (in) vec4 arg0)\n"
1996 " (declare (in) vec4 arg1))\n"
1997 " ((declare () bvec4 temp)\n"
1998 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1999 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
2000 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
2001 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool <= (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
2002 " (return (var_ref temp))))\n"
2003 "\n"
2004 " (signature bvec2\n"
2005 " (parameters\n"
2006 " (declare (in) ivec2 arg0)\n"
2007 " (declare (in) ivec2 arg1))\n"
2008 " ((declare () bvec2 temp)\n"
2009 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
2010 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
2011 " (return (var_ref temp))))\n"
2012 "\n"
2013 " (signature bvec3\n"
2014 " (parameters\n"
2015 " (declare (in) ivec3 arg0)\n"
2016 " (declare (in) ivec3 arg1))\n"
2017 " ((declare () bvec3 temp)\n"
2018 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
2019 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
2020 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
2021 " (return (var_ref temp))))\n"
2022 "\n"
2023 " (signature bvec4\n"
2024 " (parameters\n"
2025 " (declare (in) ivec4 arg0)\n"
2026 " (declare (in) ivec4 arg1))\n"
2027 " ((declare () bvec4 temp)\n"
2028 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
2029 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
2030 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
2031 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool <= (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
2032 " (return (var_ref temp))))\n"
2033 "\n"
2034 " (signature bvec2\n"
2035 " (parameters\n"
2036 " (declare (in) uvec2 arg0)\n"
2037 " (declare (in) uvec2 arg1))\n"
2038 " ((declare () bvec2 temp)\n"
2039 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
2040 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
2041 " (return (var_ref temp))))\n"
2042 "\n"
2043 " (signature bvec3\n"
2044 " (parameters\n"
2045 " (declare (in) uvec3 arg0)\n"
2046 " (declare (in) uvec3 arg1))\n"
2047 " ((declare () bvec3 temp)\n"
2048 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
2049 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
2050 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
2051 " (return (var_ref temp))))\n"
2052 "\n"
2053 " (signature bvec4\n"
2054 " (parameters\n"
2055 " (declare (in) uvec4 arg0)\n"
2056 " (declare (in) uvec4 arg1))\n"
2057 " ((declare () bvec4 temp)\n"
2058 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
2059 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
2060 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
2061 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool <= (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
2062 " (return (var_ref temp))))\n"
2063 "))\n"
2064 ""
2065;
2066static const char *builtin_transpose =
2067 "((function transpose\n"
2068 " (signature mat2\n"
2069 " (parameters\n"
2070 " (declare (in) mat2 m))\n"
2071 " ((declare () mat2 t)\n"
2072 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (0))))) \n"
2073 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (0))))) \n"
2074 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (1))))) \n"
2075 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (1))))) \n"
2076 "(return (var_ref t))))\n"
2077 "\n"
2078 " (signature mat3x2\n"
2079 " (parameters\n"
2080 " (declare (in) mat2x3 m))\n"
2081 " ((declare () mat3x2 t)\n"
2082 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (0))))) \n"
2083 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (0))))) \n"
2084 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (2)))) (swiz z (array_ref (var_ref m) (constant int (0))))) \n"
2085 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (1))))) \n"
2086 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (1))))) \n"
2087 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (2)))) (swiz z (array_ref (var_ref m) (constant int (1))))) \n"
2088 "(return (var_ref t))))\n"
2089 "\n"
2090 " (signature mat4x2\n"
2091 " (parameters\n"
2092 " (declare (in) mat2x4 m))\n"
2093 " ((declare () mat4x2 t)\n"
2094 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (0))))) \n"
2095 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (0))))) \n"
2096 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (2)))) (swiz z (array_ref (var_ref m) (constant int (0))))) \n"
2097 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (3)))) (swiz w (array_ref (var_ref m) (constant int (0))))) \n"
2098 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (1))))) \n"
2099 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (1))))) \n"
2100 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (2)))) (swiz z (array_ref (var_ref m) (constant int (1))))) \n"
2101 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (3)))) (swiz w (array_ref (var_ref m) (constant int (1))))) \n"
2102 "(return (var_ref t))))\n"
2103 "\n"
2104 " (signature mat2x3\n"
2105 " (parameters\n"
2106 " (declare (in) mat3x2 m))\n"
2107 " ((declare () mat2x3 t)\n"
2108 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (0))))) \n"
2109 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (0))))) \n"
2110 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (1))))) \n"
2111 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (1))))) \n"
2112 " (assign (constant bool (1)) (swiz z (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (2))))) \n"
2113 " (assign (constant bool (1)) (swiz z (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (2))))) \n"
2114 "(return (var_ref t))))\n"
2115 "\n"
2116 " (signature mat3\n"
2117 " (parameters\n"
2118 " (declare (in) mat3 m))\n"
2119 " ((declare () mat3 t)\n"
2120 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (0))))) \n"
2121 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (0))))) \n"
2122 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (2)))) (swiz z (array_ref (var_ref m) (constant int (0))))) \n"
2123 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (1))))) \n"
2124 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (1))))) \n"
2125 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (2)))) (swiz z (array_ref (var_ref m) (constant int (1))))) \n"
2126 " (assign (constant bool (1)) (swiz z (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (2))))) \n"
2127 " (assign (constant bool (1)) (swiz z (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (2))))) \n"
2128 " (assign (constant bool (1)) (swiz z (array_ref (var_ref t) (constant int (2)))) (swiz z (array_ref (var_ref m) (constant int (2))))) \n"
2129 "(return (var_ref t))))\n"
2130 "\n"
2131 " (signature mat4x3\n"
2132 " (parameters\n"
2133 " (declare (in) mat3x4 m))\n"
2134 " ((declare () mat4x3 t)\n"
2135 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (0))))) \n"
2136 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (0))))) \n"
2137 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (2)))) (swiz z (array_ref (var_ref m) (constant int (0))))) \n"
2138 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (3)))) (swiz w (array_ref (var_ref m) (constant int (0))))) \n"
2139 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (1))))) \n"
2140 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (1))))) \n"
2141 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (2)))) (swiz z (array_ref (var_ref m) (constant int (1))))) \n"
2142 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (3)))) (swiz w (array_ref (var_ref m) (constant int (1))))) \n"
2143 " (assign (constant bool (1)) (swiz z (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (2))))) \n"
2144 " (assign (constant bool (1)) (swiz z (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (2))))) \n"
2145 " (assign (constant bool (1)) (swiz z (array_ref (var_ref t) (constant int (2)))) (swiz z (array_ref (var_ref m) (constant int (2))))) \n"
2146 " (assign (constant bool (1)) (swiz z (array_ref (var_ref t) (constant int (3)))) (swiz w (array_ref (var_ref m) (constant int (2))))) \n"
2147 "(return (var_ref t))))\n"
2148 "\n"
2149 " (signature mat2x4\n"
2150 " (parameters\n"
2151 " (declare (in) mat4x2 m))\n"
2152 " ((declare () mat2x4 t)\n"
2153 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (0))))) \n"
2154 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (0))))) \n"
2155 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (1))))) \n"
2156 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (1))))) \n"
2157 " (assign (constant bool (1)) (swiz z (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (2))))) \n"
2158 " (assign (constant bool (1)) (swiz z (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (2))))) \n"
2159 " (assign (constant bool (1)) (swiz w (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (3))))) \n"
2160 " (assign (constant bool (1)) (swiz w (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (3))))) \n"
2161 "(return (var_ref t))))\n"
2162 "\n"
2163 " (signature mat3x4\n"
2164 " (parameters\n"
2165 " (declare (in) mat4x3 m))\n"
2166 " ((declare () mat3x4 t)\n"
2167 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (0))))) \n"
2168 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (0))))) \n"
2169 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (2)))) (swiz z (array_ref (var_ref m) (constant int (0))))) \n"
2170 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (1))))) \n"
2171 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (1))))) \n"
2172 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (2)))) (swiz z (array_ref (var_ref m) (constant int (1))))) \n"
2173 " (assign (constant bool (1)) (swiz z (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (2))))) \n"
2174 " (assign (constant bool (1)) (swiz z (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (2))))) \n"
2175 " (assign (constant bool (1)) (swiz z (array_ref (var_ref t) (constant int (2)))) (swiz z (array_ref (var_ref m) (constant int (2))))) \n"
2176 " (assign (constant bool (1)) (swiz w (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (3))))) \n"
2177 " (assign (constant bool (1)) (swiz w (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (3))))) \n"
2178 " (assign (constant bool (1)) (swiz w (array_ref (var_ref t) (constant int (2)))) (swiz z (array_ref (var_ref m) (constant int (3))))) \n"
2179 "(return (var_ref t))))\n"
2180 "\n"
2181 " (signature mat4\n"
2182 " (parameters\n"
2183 " (declare (in) mat4 m))\n"
2184 " ((declare () mat4 t)\n"
2185 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (0))))) \n"
2186 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (0))))) \n"
2187 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (2)))) (swiz z (array_ref (var_ref m) (constant int (0))))) \n"
2188 " (assign (constant bool (1)) (swiz x (array_ref (var_ref t) (constant int (3)))) (swiz w (array_ref (var_ref m) (constant int (0))))) \n"
2189 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (1))))) \n"
2190 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (1))))) \n"
2191 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (2)))) (swiz z (array_ref (var_ref m) (constant int (1))))) \n"
2192 " (assign (constant bool (1)) (swiz y (array_ref (var_ref t) (constant int (3)))) (swiz w (array_ref (var_ref m) (constant int (1))))) \n"
2193 " (assign (constant bool (1)) (swiz z (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (2))))) \n"
2194 " (assign (constant bool (1)) (swiz z (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (2))))) \n"
2195 " (assign (constant bool (1)) (swiz z (array_ref (var_ref t) (constant int (2)))) (swiz z (array_ref (var_ref m) (constant int (2))))) \n"
2196 " (assign (constant bool (1)) (swiz z (array_ref (var_ref t) (constant int (3)))) (swiz w (array_ref (var_ref m) (constant int (2))))) \n"
2197 " (assign (constant bool (1)) (swiz w (array_ref (var_ref t) (constant int (0)))) (swiz x (array_ref (var_ref m) (constant int (3))))) \n"
2198 " (assign (constant bool (1)) (swiz w (array_ref (var_ref t) (constant int (1)))) (swiz y (array_ref (var_ref m) (constant int (3))))) \n"
2199 " (assign (constant bool (1)) (swiz w (array_ref (var_ref t) (constant int (2)))) (swiz z (array_ref (var_ref m) (constant int (3))))) \n"
2200 " (assign (constant bool (1)) (swiz w (array_ref (var_ref t) (constant int (3)))) (swiz w (array_ref (var_ref m) (constant int (3))))) \n"
2201 "(return (var_ref t))))\n"
2202 ")\n"
2203 "\n"
2204 ")\n"
2205 "\n"
2206 ""
2207;
2208static const char *builtin_step =
2209 "((function step\n"
2210 " (signature float\n"
2211 " (parameters\n"
2212 " (declare (in) float edge)\n"
2213 " (declare (in) float x))\n"
2214 " ((return (expression float b2f (expression bool >= (var_ref x) (var_ref edge))))))\n"
2215 "\n"
2216 " (signature vec2\n"
2217 " (parameters\n"
2218 " (declare (in) float edge)\n"
2219 " (declare (in) vec2 x))\n"
2220 " ((declare () vec2 t)\n"
2221 " (assign (constant bool (1)) (swiz x (var_ref t)) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge))))\n"
2222 " (assign (constant bool (1)) (swiz y (var_ref t)) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge))))\n"
2223 " (return (var_ref t))))\n"
2224 "\n"
2225 " (signature vec3\n"
2226 " (parameters\n"
2227 " (declare (in) float edge)\n"
2228 " (declare (in) vec3 x))\n"
2229 " ((declare () vec3 t)\n"
2230 " (assign (constant bool (1)) (swiz x (var_ref t)) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge))))\n"
2231 " (assign (constant bool (1)) (swiz y (var_ref t)) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge))))\n"
2232 " (assign (constant bool (1)) (swiz z (var_ref t)) (expression float b2f (expression bool >= (swiz z (var_ref x))(var_ref edge))))\n"
2233 " (return (var_ref t))))\n"
2234 "\n"
2235 " (signature vec4\n"
2236 " (parameters\n"
2237 " (declare (in) float edge)\n"
2238 " (declare (in) vec4 x))\n"
2239 " ((declare () vec4 t)\n"
2240 " (assign (constant bool (1)) (swiz x (var_ref t)) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge))))\n"
2241 " (assign (constant bool (1)) (swiz y (var_ref t)) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge))))\n"
2242 " (assign (constant bool (1)) (swiz z (var_ref t)) (expression float b2f (expression bool >= (swiz z (var_ref x))(var_ref edge))))\n"
2243 " (assign (constant bool (1)) (swiz w (var_ref t)) (expression float b2f (expression bool >= (swiz w (var_ref x))(var_ref edge))))\n"
2244 " (return (var_ref t))))\n"
2245 "\n"
2246 " (signature vec2\n"
2247 " (parameters\n"
2248 " (declare (in) vec2 edge)\n"
2249 " (declare (in) vec2 x))\n"
2250 " ((declare () vec2 t)\n"
2251 " (assign (constant bool (1)) (swiz x (var_ref t)) (expression float b2f (expression bool >= (swiz x (var_ref x))(swiz x (var_ref edge)))))\n"
2252 " (assign (constant bool (1)) (swiz y (var_ref t)) (expression float b2f (expression bool >= (swiz y (var_ref x))(swiz y (var_ref edge)))))\n"
2253 " (return (var_ref t))))\n"
2254 "\n"
2255 " (signature vec3\n"
2256 " (parameters\n"
2257 " (declare (in) vec3 edge)\n"
2258 " (declare (in) vec3 x))\n"
2259 " ((declare () vec3 t)\n"
2260 " (assign (constant bool (1)) (swiz x (var_ref t)) (expression float b2f (expression bool >= (swiz x (var_ref x))(swiz x (var_ref edge)))))\n"
2261 " (assign (constant bool (1)) (swiz y (var_ref t)) (expression float b2f (expression bool >= (swiz y (var_ref x))(swiz y (var_ref edge)))))\n"
2262 " (assign (constant bool (1)) (swiz z (var_ref t)) (expression float b2f (expression bool >= (swiz z (var_ref x))(swiz z (var_ref edge)))))\n"
2263 " (return (var_ref t))))\n"
2264 "\n"
2265 " (signature vec4\n"
2266 " (parameters\n"
2267 " (declare (in) vec4 edge)\n"
2268 " (declare (in) vec4 x))\n"
2269 " ((declare () vec4 t)\n"
2270 " (assign (constant bool (1)) (swiz x (var_ref t)) (expression float b2f (expression bool >= (swiz x (var_ref x))(swiz x (var_ref edge)))))\n"
2271 " (assign (constant bool (1)) (swiz y (var_ref t)) (expression float b2f (expression bool >= (swiz y (var_ref x))(swiz y (var_ref edge)))))\n"
2272 " (assign (constant bool (1)) (swiz z (var_ref t)) (expression float b2f (expression bool >= (swiz y (var_ref x))(swiz z (var_ref edge)))))\n"
2273 " (assign (constant bool (1)) (swiz w (var_ref t)) (expression float b2f (expression bool >= (swiz w (var_ref x))(swiz w (var_ref edge)))))\n"
2274 " (return (var_ref t))))\n"
Eric Anholt1245bab2010-07-20 12:22:37 -07002275 "))\n"
Kenneth Graunke855fcb22010-06-09 13:52:32 -07002276 "\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07002277 ""
2278;
2279static const char *builtin_sinh =
2280 "((function sinh\n"
2281 " (signature float\n"
2282 " (parameters\n"
2283 " (declare (in) float x))\n"
2284 " ((return (expression float * (constant float (0.5))\n"
2285 " (expression float -\n"
2286 " (expression float exp (var_ref x))\n"
2287 " (expression float exp (expression float neg (var_ref x))))))))\n"
2288 " (signature vec2\n"
2289 " (parameters\n"
2290 " (declare (in) vec2 x))\n"
2291 " ((return (expression vec2 * (constant vec2 (0.5))\n"
2292 " (expression vec2 -\n"
2293 " (expression vec2 exp (var_ref x))\n"
2294 " (expression vec2 exp (expression vec2 neg (var_ref x))))))))\n"
2295 " (signature vec3\n"
2296 " (parameters\n"
2297 " (declare (in) vec3 x))\n"
2298 " ((return (expression vec3 * (constant vec3 (0.5))\n"
2299 " (expression vec3 -\n"
2300 " (expression vec3 exp (var_ref x))\n"
2301 " (expression vec3 exp (expression vec3 neg (var_ref x))))))))\n"
2302 " (signature vec4\n"
2303 " (parameters\n"
2304 " (declare (in) vec4 x))\n"
2305 " ((return (expression vec4 * (constant vec4 (0.5))\n"
2306 " (expression vec4 -\n"
2307 " (expression vec4 exp (var_ref x))\n"
2308 " (expression vec4 exp (expression vec4 neg (var_ref x))))))))\n"
2309 "))\n"
2310 ""
2311;
2312static const char *builtin_cos =
2313 "((function cos\n"
2314 " (signature float\n"
2315 " (parameters\n"
2316 " (declare (in) float angle))\n"
2317 " ((return (expression float cos (var_ref angle)))))\n"
2318 "\n"
2319 " (signature vec2\n"
2320 " (parameters\n"
2321 " (declare (in) vec2 angle))\n"
2322 " ((return (expression vec2 cos (var_ref angle)))))\n"
2323 "\n"
2324 " (signature vec3\n"
2325 " (parameters\n"
2326 " (declare (in) vec3 angle))\n"
2327 " ((return (expression vec3 cos (var_ref angle)))))\n"
2328 "\n"
2329 " (signature vec4\n"
2330 " (parameters\n"
2331 " (declare (in) vec4 angle))\n"
2332 " ((return (expression vec4 cos (var_ref angle)))))\n"
2333 "))\n"
2334 ""
2335;
2336static const char *builtin_shadow2DProjLod =
2337 "((function shadow2DProjLod\n"
2338 " (signature vec4\n"
2339 " (parameters\n"
2340 " (declare (in) sampler2DShadow sampler)\n"
2341 " (declare (in) vec4 P) \n"
2342 " (declare (in) float lod) )\n"
2343 " ((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"
2344 "\n"
2345 "))\n"
2346 ""
2347;
2348static const char *builtin_shadow2DArray =
2349 "((function shadow2DArray\n"
2350 " (signature vec4\n"
2351 " (parameters\n"
2352 " (declare (in) sampler2DArrayShadow sampler)\n"
2353 " (declare (in) vec4 P) )\n"
2354 " ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) 1 (swiz w (var_ref P)) ))))\n"
2355 "\n"
2356 "))\n"
2357 ""
2358;
2359static const char *builtin_equal =
2360 "((function equal\n"
2361 " (signature bvec2\n"
2362 " (parameters\n"
2363 " (declare (in) vec2 arg0)\n"
2364 " (declare (in) vec2 arg1))\n"
2365 " ((declare () bvec2 temp)\n"
2366 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
2367 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
2368 " (return (var_ref temp))))\n"
2369 "\n"
2370 " (signature bvec3\n"
2371 " (parameters\n"
2372 " (declare (in) vec3 arg0)\n"
2373 " (declare (in) vec3 arg1))\n"
2374 " ((declare () bvec3 temp)\n"
2375 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
2376 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
2377 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
2378 " (return (var_ref temp))))\n"
2379 "\n"
2380 " (signature bvec4\n"
2381 " (parameters\n"
2382 " (declare (in) vec4 arg0)\n"
2383 " (declare (in) vec4 arg1))\n"
2384 " ((declare () bvec4 temp)\n"
2385 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
2386 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
2387 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
2388 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool == (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
2389 " (return (var_ref temp))))\n"
2390 "\n"
2391 " (signature bvec2\n"
2392 " (parameters\n"
2393 " (declare (in) ivec2 arg0)\n"
2394 " (declare (in) ivec2 arg1))\n"
2395 " ((declare () bvec2 temp)\n"
2396 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
2397 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
2398 " (return (var_ref temp))))\n"
2399 "\n"
2400 " (signature bvec3\n"
2401 " (parameters\n"
2402 " (declare (in) ivec3 arg0)\n"
2403 " (declare (in) ivec3 arg1))\n"
2404 " ((declare () bvec3 temp)\n"
2405 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
2406 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
2407 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
2408 " (return (var_ref temp))))\n"
2409 "\n"
2410 " (signature bvec4\n"
2411 " (parameters\n"
2412 " (declare (in) ivec4 arg0)\n"
2413 " (declare (in) ivec4 arg1))\n"
2414 " ((declare () bvec4 temp)\n"
2415 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
2416 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
2417 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
2418 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool == (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
2419 " (return (var_ref temp))))\n"
2420 "\n"
2421 " (signature bvec2\n"
2422 " (parameters\n"
2423 " (declare (in) uvec2 arg0)\n"
2424 " (declare (in) uvec2 arg1))\n"
2425 " ((declare () bvec2 temp)\n"
2426 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
2427 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
2428 " (return (var_ref temp))))\n"
2429 "\n"
2430 " (signature bvec3\n"
2431 " (parameters\n"
2432 " (declare (in) uvec3 arg0)\n"
2433 " (declare (in) uvec3 arg1))\n"
2434 " ((declare () bvec3 temp)\n"
2435 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
2436 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
2437 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
2438 " (return (var_ref temp))))\n"
2439 "\n"
2440 " (signature bvec4\n"
2441 " (parameters\n"
2442 " (declare (in) uvec4 arg0)\n"
2443 " (declare (in) uvec4 arg1))\n"
2444 " ((declare () bvec4 temp)\n"
2445 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
2446 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
2447 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
2448 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool == (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
2449 " (return (var_ref temp))))\n"
2450 "))\n"
2451 ""
2452;
2453static const char *builtin_length =
2454 "((function length\n"
2455 " (signature float\n"
2456 " (parameters\n"
2457 " (declare (in) float arg0))\n"
2458 " ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
2459 "\n"
2460 " (signature float\n"
2461 " (parameters\n"
2462 " (declare (in) vec2 arg0))\n"
2463 " ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
2464 "\n"
2465 " (signature float\n"
2466 " (parameters\n"
2467 " (declare (in) vec3 arg0))\n"
2468 " ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
2469 "\n"
2470 " (signature float\n"
2471 " (parameters\n"
2472 " (declare (in) vec4 arg0))\n"
2473 " ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
2474 "))\n"
2475 ""
2476;
2477static const char *builtin_acos =
2478 "((function acos\n"
Kenneth Graunke855fcb22010-06-09 13:52:32 -07002479 " (signature float\n"
2480 " (parameters\n"
2481 " (declare (in) float x))\n"
2482 " ((return (expression float - (constant float (1.5707963))\n"
2483 " (call asin ((var_ref x)))))))\n"
2484 " (signature vec2\n"
2485 " (parameters\n"
2486 " (declare (in) vec2 x))\n"
2487 " ((return (expression vec2 - (constant float (1.5707963))\n"
2488 " (call asin ((var_ref x)))))))\n"
2489 " (signature vec3\n"
2490 " (parameters\n"
2491 " (declare (in) vec3 x))\n"
2492 " ((return (expression vec3 - (constant float (1.5707963))\n"
2493 " (call asin ((var_ref x)))))))\n"
2494 " (signature vec4\n"
2495 " (parameters\n"
2496 " (declare (in) vec4 x))\n"
2497 " ((return (expression vec4 - (constant float (1.5707963))\n"
2498 " (call asin ((var_ref x)))))))\n"
Eric Anholt5e58e542010-05-19 12:19:54 -07002499 "))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07002500 ""
2501;
2502static const char *builtin_matrixCompMult =
2503 "((function matrixCompMult\n"
2504 " (signature mat2\n"
2505 " (parameters\n"
2506 " (declare (in) mat2 x)\n"
2507 " (declare (in) mat2 y))\n"
2508 " ((declare () mat2 z)\n"
2509 " (assign (constant bool (1)) (array_ref (var_ref z) (constant int (0))) (expression vec2 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0))))) \n"
2510 " (assign (constant bool (1)) (array_ref (var_ref z) (constant int (1))) (expression vec2 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1))))) \n"
2511 "(return (var_ref z))))\n"
2512 "\n"
2513 " (signature mat3\n"
2514 " (parameters\n"
2515 " (declare (in) mat3 x)\n"
2516 " (declare (in) mat3 y))\n"
2517 " ((declare () mat3 z)\n"
2518 " (assign (constant bool (1)) (array_ref (var_ref z) (constant int (0))) (expression vec3 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0))))) \n"
2519 " (assign (constant bool (1)) (array_ref (var_ref z) (constant int (1))) (expression vec3 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1))))) \n"
2520 " (assign (constant bool (1)) (array_ref (var_ref z) (constant int (2))) (expression vec3 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2))))) \n"
2521 "(return (var_ref z))))\n"
2522 "\n"
2523 " (signature mat4\n"
2524 " (parameters\n"
2525 " (declare (in) mat4 x)\n"
2526 " (declare (in) mat4 y))\n"
2527 " ((declare () mat4 z)\n"
2528 " (assign (constant bool (1)) (array_ref (var_ref z) (constant int (0))) (expression vec4 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0))))) \n"
2529 " (assign (constant bool (1)) (array_ref (var_ref z) (constant int (1))) (expression vec4 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1))))) \n"
2530 " (assign (constant bool (1)) (array_ref (var_ref z) (constant int (2))) (expression vec4 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2))))) \n"
2531 " (assign (constant bool (1)) (array_ref (var_ref z) (constant int (3))) (expression vec4 * (array_ref (var_ref x) (constant int (3))) (array_ref (var_ref y) (constant int (3))))) \n"
2532 "(return (var_ref z))))\n"
2533 "\n"
2534 " (signature mat2x3\n"
2535 " (parameters\n"
2536 " (declare (in) mat2x3 x)\n"
2537 " (declare (in) mat2x3 y))\n"
2538 " ((declare () mat2x3 z)\n"
2539 " (assign (constant bool (1)) (array_ref (var_ref z) (constant int (0))) (expression vec3 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0))))) \n"
2540 " (assign (constant bool (1)) (array_ref (var_ref z) (constant int (1))) (expression vec3 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1))))) \n"
2541 "(return (var_ref z))))\n"
2542 "\n"
2543 " (signature mat3x2\n"
2544 " (parameters\n"
2545 " (declare (in) mat3x2 x)\n"
2546 " (declare (in) mat3x2 y))\n"
2547 " ((declare () mat3x2 z)\n"
2548 " (assign (constant bool (1)) (array_ref (var_ref z) (constant int (0))) (expression vec2 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0))))) \n"
2549 " (assign (constant bool (1)) (array_ref (var_ref z) (constant int (1))) (expression vec2 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1))))) \n"
2550 " (assign (constant bool (1)) (array_ref (var_ref z) (constant int (2))) (expression vec2 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2))))) \n"
2551 "(return (var_ref z))))\n"
2552 "\n"
2553 " (signature mat2x4\n"
2554 " (parameters\n"
2555 " (declare (in) mat2x4 x)\n"
2556 " (declare (in) mat2x4 y))\n"
2557 " ((declare () mat2x4 z)\n"
2558 " (assign (constant bool (1)) (array_ref (var_ref z) (constant int (0))) (expression vec4 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0))))) \n"
2559 " (assign (constant bool (1)) (array_ref (var_ref z) (constant int (1))) (expression vec4 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1))))) \n"
2560 "(return (var_ref z))))\n"
2561 "\n"
2562 " (signature mat4x2\n"
2563 " (parameters\n"
2564 " (declare (in) mat4x2 x)\n"
2565 " (declare (in) mat4x2 y))\n"
2566 " ((declare () mat4x2 z)\n"
2567 " (assign (constant bool (1)) (array_ref (var_ref z) (constant int (0))) (expression vec2 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0))))) \n"
2568 " (assign (constant bool (1)) (array_ref (var_ref z) (constant int (1))) (expression vec2 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1))))) \n"
2569 " (assign (constant bool (1)) (array_ref (var_ref z) (constant int (2))) (expression vec2 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2))))) \n"
2570 " (assign (constant bool (1)) (array_ref (var_ref z) (constant int (3))) (expression vec2 * (array_ref (var_ref x) (constant int (3))) (array_ref (var_ref y) (constant int (3))))) \n"
2571 "(return (var_ref z))))\n"
2572 "\n"
2573 " (signature mat3x4\n"
2574 " (parameters\n"
2575 " (declare (in) mat3x4 x)\n"
2576 " (declare (in) mat3x4 y))\n"
2577 " ((declare () mat3x4 z)\n"
2578 " (assign (constant bool (1)) (array_ref (var_ref z) (constant int (0))) (expression vec4 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0))))) \n"
2579 " (assign (constant bool (1)) (array_ref (var_ref z) (constant int (1))) (expression vec4 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1))))) \n"
2580 " (assign (constant bool (1)) (array_ref (var_ref z) (constant int (2))) (expression vec4 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2))))) \n"
2581 "(return (var_ref z))))\n"
2582 "\n"
2583 " (signature mat4x3\n"
2584 " (parameters\n"
2585 " (declare (in) mat4x3 x)\n"
2586 " (declare (in) mat4x3 y))\n"
2587 " ((declare () mat4x3 z)\n"
2588 " (assign (constant bool (1)) (array_ref (var_ref z) (constant int (0))) (expression vec3 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0))))) \n"
2589 " (assign (constant bool (1)) (array_ref (var_ref z) (constant int (1))) (expression vec3 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1))))) \n"
2590 " (assign (constant bool (1)) (array_ref (var_ref z) (constant int (2))) (expression vec3 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2))))) \n"
2591 " (assign (constant bool (1)) (array_ref (var_ref z) (constant int (3))) (expression vec3 * (array_ref (var_ref x) (constant int (3))) (array_ref (var_ref y) (constant int (3))))) \n"
2592 "(return (var_ref z))))\n"
2593 "))\n"
2594 ""
2595;
2596static const char *builtin_pow =
2597 "((function pow\n"
2598 " (signature float\n"
2599 " (parameters\n"
2600 " (declare (in) float arg0)\n"
2601 " (declare (in) float arg1))\n"
2602 " ((return (expression float pow (var_ref arg0) (var_ref arg1)))))\n"
2603 "\n"
2604 " (signature vec2\n"
2605 " (parameters\n"
2606 " (declare (in) vec2 arg0)\n"
2607 " (declare (in) vec2 arg1))\n"
2608 " ((return (expression vec2 pow (var_ref arg0) (var_ref arg1)))))\n"
2609 "\n"
2610 " (signature vec3\n"
2611 " (parameters\n"
2612 " (declare (in) vec3 arg0)\n"
2613 " (declare (in) vec3 arg1))\n"
2614 " ((return (expression vec3 pow (var_ref arg0) (var_ref arg1)))))\n"
2615 "\n"
2616 " (signature vec4\n"
2617 " (parameters\n"
2618 " (declare (in) vec4 arg0)\n"
2619 " (declare (in) vec4 arg1))\n"
2620 " ((return (expression vec4 pow (var_ref arg0) (var_ref arg1)))))\n"
2621 "))\n"
2622 ""
2623;
2624static const char *builtin_texture2DProjLod =
2625 "((function texture2DProjLod\n"
2626 " (signature vec4\n"
2627 " (parameters\n"
2628 " (declare (in) sampler2D sampler)\n"
2629 " (declare (in) vec3 P) \n"
2630 " (declare (in) float lod) )\n"
2631 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
2632 "\n"
2633 " (signature vec4\n"
2634 " (parameters\n"
2635 " (declare (in) sampler2D sampler)\n"
2636 " (declare (in) vec4 P) \n"
2637 " (declare (in) float lod) )\n"
2638 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
2639 "\n"
2640 "))\n"
2641 ""
2642;
2643static const char *builtin_textureProjLod =
2644 "((function textureProjLod\n"
2645 " (signature vec4\n"
2646 " (parameters\n"
2647 " (declare (in) sampler1D sampler)\n"
2648 " (declare (in) vec2 P) \n"
2649 " (declare (in) float lod) )\n"
2650 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
2651 "\n"
2652 " (signature ivec4\n"
2653 " (parameters\n"
2654 " (declare (in) isampler1D sampler)\n"
2655 " (declare (in) vec2 P) \n"
2656 " (declare (in) float lod) )\n"
2657 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
2658 "\n"
2659 " (signature uvec4\n"
2660 " (parameters\n"
2661 " (declare (in) usampler1D sampler)\n"
2662 " (declare (in) vec2 P) \n"
2663 " (declare (in) float lod) )\n"
2664 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
2665 "\n"
2666 " (signature vec4\n"
2667 " (parameters\n"
2668 " (declare (in) sampler1D sampler)\n"
2669 " (declare (in) vec4 P) \n"
2670 " (declare (in) float lod) )\n"
2671 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
2672 "\n"
2673 " (signature ivec4\n"
2674 " (parameters\n"
2675 " (declare (in) isampler1D sampler)\n"
2676 " (declare (in) vec4 P) \n"
2677 " (declare (in) float lod) )\n"
2678 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
2679 "\n"
2680 " (signature uvec4\n"
2681 " (parameters\n"
2682 " (declare (in) usampler1D sampler)\n"
2683 " (declare (in) vec4 P) \n"
2684 " (declare (in) float lod) )\n"
2685 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
2686 "\n"
2687 " (signature vec4\n"
2688 " (parameters\n"
2689 " (declare (in) sampler2D sampler)\n"
2690 " (declare (in) vec3 P) \n"
2691 " (declare (in) float lod) )\n"
2692 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
2693 "\n"
2694 " (signature ivec4\n"
2695 " (parameters\n"
2696 " (declare (in) isampler2D sampler)\n"
2697 " (declare (in) vec3 P) \n"
2698 " (declare (in) float lod) )\n"
2699 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
2700 "\n"
2701 " (signature uvec4\n"
2702 " (parameters\n"
2703 " (declare (in) usampler2D sampler)\n"
2704 " (declare (in) vec3 P) \n"
2705 " (declare (in) float lod) )\n"
2706 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
2707 "\n"
2708 " (signature vec4\n"
2709 " (parameters\n"
2710 " (declare (in) sampler2D sampler)\n"
2711 " (declare (in) vec4 P) \n"
2712 " (declare (in) float lod) )\n"
2713 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
2714 "\n"
2715 " (signature ivec4\n"
2716 " (parameters\n"
2717 " (declare (in) isampler2D sampler)\n"
2718 " (declare (in) vec4 P) \n"
2719 " (declare (in) float lod) )\n"
2720 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
2721 "\n"
2722 " (signature uvec4\n"
2723 " (parameters\n"
2724 " (declare (in) usampler2D sampler)\n"
2725 " (declare (in) vec4 P) \n"
2726 " (declare (in) float lod) )\n"
2727 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
2728 "\n"
2729 " (signature vec4\n"
2730 " (parameters\n"
2731 " (declare (in) sampler3D sampler)\n"
2732 " (declare (in) vec4 P) \n"
2733 " (declare (in) float lod) )\n"
2734 " ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
2735 "\n"
2736 " (signature ivec4\n"
2737 " (parameters\n"
2738 " (declare (in) isampler3D sampler)\n"
2739 " (declare (in) vec4 P) \n"
2740 " (declare (in) float lod) )\n"
2741 " ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
2742 "\n"
2743 " (signature uvec4\n"
2744 " (parameters\n"
2745 " (declare (in) usampler3D sampler)\n"
2746 " (declare (in) vec4 P) \n"
2747 " (declare (in) float lod) )\n"
2748 " ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
2749 "\n"
2750 "))\n"
2751 ""
2752;
2753static const char *builtin_log =
2754 "((function log\n"
2755 " (signature float\n"
2756 " (parameters\n"
2757 " (declare (in) float arg0))\n"
2758 " ((return (expression float log (var_ref arg0)))))\n"
2759 "\n"
2760 " (signature vec2\n"
2761 " (parameters\n"
2762 " (declare (in) vec2 arg0))\n"
2763 " ((return (expression vec2 log (var_ref arg0)))))\n"
2764 "\n"
2765 " (signature vec3\n"
2766 " (parameters\n"
2767 " (declare (in) vec3 arg0))\n"
2768 " ((return (expression vec3 log (var_ref arg0)))))\n"
2769 "\n"
2770 " (signature vec4\n"
2771 " (parameters\n"
2772 " (declare (in) vec4 arg0))\n"
2773 " ((return (expression vec4 log (var_ref arg0)))))\n"
2774 "))\n"
2775 ""
2776;
2777static const char *builtin_exp2 =
2778 "((function exp2\n"
2779 " (signature float\n"
2780 " (parameters\n"
2781 " (declare (in) float arg0))\n"
2782 " ((return (expression float exp2 (var_ref arg0)))))\n"
2783 "\n"
2784 " (signature vec2\n"
2785 " (parameters\n"
2786 " (declare (in) vec2 arg0))\n"
2787 " ((return (expression vec2 exp2 (var_ref arg0)))))\n"
2788 "\n"
2789 " (signature vec3\n"
2790 " (parameters\n"
2791 " (declare (in) vec3 arg0))\n"
2792 " ((return (expression vec3 exp2 (var_ref arg0)))))\n"
2793 "\n"
2794 " (signature vec4\n"
2795 " (parameters\n"
2796 " (declare (in) vec4 arg0))\n"
2797 " ((return (expression vec4 exp2 (var_ref arg0)))))\n"
2798 "))\n"
2799 ""
2800;
2801static const char *builtin_fract =
2802 "((function fract\n"
2803 " (signature float\n"
2804 " (parameters\n"
2805 " (declare (in) float x))\n"
2806 " ((return (expression float fract (var_ref x)))))\n"
2807 "\n"
2808 " (signature vec2\n"
2809 " (parameters\n"
2810 " (declare (in) vec2 x))\n"
2811 " ((return (expression vec2 fract (var_ref x)))))\n"
2812 "\n"
2813 " (signature vec3\n"
2814 " (parameters\n"
2815 " (declare (in) vec3 x))\n"
2816 " ((return (expression vec3 fract (var_ref x)))))\n"
2817 "\n"
2818 " (signature vec4\n"
2819 " (parameters\n"
2820 " (declare (in) vec4 x))\n"
2821 " ((return (expression vec4 fract (var_ref x)))))\n"
2822 "))\n"
2823 "\n"
2824 ""
2825;
2826static const char *builtin_shadow1DLod =
2827 "((function shadow1DLod\n"
2828 " (signature vec4\n"
2829 " (parameters\n"
2830 " (declare (in) sampler1DShadow sampler)\n"
2831 " (declare (in) vec3 P) \n"
2832 " (declare (in) float lod) )\n"
2833 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref lod) ))))\n"
2834 "\n"
2835 "))\n"
2836 ""
2837;
2838static const char *builtin_texture1DLod =
2839 "((function texture1DLod\n"
2840 " (signature vec4\n"
2841 " (parameters\n"
2842 " (declare (in) sampler1D sampler)\n"
2843 " (declare (in) float P) \n"
2844 " (declare (in) float lod) )\n"
2845 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
2846 "\n"
2847 "))\n"
2848 ""
2849;
2850static const char *builtin_texture2DArray =
2851 "((function texture2DArray\n"
2852 " (signature vec4\n"
2853 " (parameters\n"
2854 " (declare (in) sampler2DArray sampler)\n"
2855 " (declare (in) vec3 P) )\n"
2856 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
2857 "\n"
2858 " (signature vec4\n"
2859 " (parameters\n"
2860 " (declare (in) sampler2DArray sampler)\n"
2861 " (declare (in) vec3 P) \n"
2862 " (declare (in) float bias) )\n"
2863 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
2864 "\n"
2865 "))\n"
2866 ""
2867;
2868static const char *builtin_texture3DProj =
2869 "((function texture3DProj\n"
2870 " (signature vec4\n"
2871 " (parameters\n"
2872 " (declare (in) sampler3D sampler)\n"
2873 " (declare (in) vec4 P) )\n"
2874 " ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
2875 "\n"
2876 " (signature vec4\n"
2877 " (parameters\n"
2878 " (declare (in) sampler3D sampler)\n"
2879 " (declare (in) vec4 P) \n"
2880 " (declare (in) float bias) )\n"
2881 " ((return (txb (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
2882 "\n"
2883 "))\n"
2884 ""
2885;
2886static const char *builtin_sign =
2887 "((function sign\n"
2888 " (signature float\n"
2889 " (parameters\n"
2890 " (declare (in) float x))\n"
2891 " ((return (expression float sign (var_ref x)))))\n"
2892 "\n"
2893 " (signature vec2\n"
2894 " (parameters\n"
2895 " (declare (in) vec2 x))\n"
2896 " ((return (expression vec2 sign (var_ref x)))))\n"
2897 "\n"
2898 " (signature vec3\n"
2899 " (parameters\n"
2900 " (declare (in) vec3 x))\n"
2901 " ((return (expression vec3 sign (var_ref x)))))\n"
2902 "\n"
2903 " (signature vec4\n"
2904 " (parameters\n"
2905 " (declare (in) vec4 x))\n"
2906 " ((return (expression vec4 sign (var_ref x)))))\n"
2907 "\n"
2908 " (signature int\n"
2909 " (parameters\n"
2910 " (declare (in) int x))\n"
2911 " ((return (expression int sign (var_ref x)))))\n"
2912 "\n"
2913 " (signature ivec2\n"
2914 " (parameters\n"
2915 " (declare (in) ivec2 x))\n"
2916 " ((return (expression ivec2 sign (var_ref x)))))\n"
2917 "\n"
2918 " (signature ivec3\n"
2919 " (parameters\n"
2920 " (declare (in) ivec3 x))\n"
2921 " ((return (expression ivec3 sign (var_ref x)))))\n"
2922 "\n"
2923 " (signature ivec4\n"
2924 " (parameters\n"
2925 " (declare (in) ivec4 x))\n"
2926 " ((return (expression ivec4 sign (var_ref x)))))\n"
2927 "))\n"
2928 "\n"
2929 ""
2930;
2931static const char *builtin_inversesqrt =
2932 "((function inversesqrt\n"
2933 " (signature float\n"
2934 " (parameters\n"
2935 " (declare (in) float arg0))\n"
2936 " ((return (expression float rsq (var_ref arg0)))))\n"
2937 "\n"
2938 " (signature vec2\n"
2939 " (parameters\n"
2940 " (declare (in) vec2 arg0))\n"
2941 " ((return (expression vec2 rsq (var_ref arg0)))))\n"
2942 "\n"
2943 " (signature vec3\n"
2944 " (parameters\n"
2945 " (declare (in) vec3 arg0))\n"
2946 " ((return (expression vec3 rsq (var_ref arg0)))))\n"
2947 "\n"
2948 " (signature vec4\n"
2949 " (parameters\n"
2950 " (declare (in) vec4 arg0))\n"
2951 " ((return (expression vec4 rsq (var_ref arg0)))))\n"
2952 "))\n"
2953 ""
2954;
2955static const char *builtin_distance =
2956 "((function distance\n"
2957 " (signature float\n"
2958 " (parameters\n"
2959 " (declare (in) float p0)\n"
2960 " (declare (in) float p1))\n"
2961 " ((declare () float p)\n"
2962 " (assign (constant bool (1)) (var_ref p) (expression float - (var_ref p0) (var_ref p1)))\n"
2963 " (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))\n"
2964 "\n"
2965 " (signature float\n"
2966 " (parameters\n"
2967 " (declare (in) vec2 p0)\n"
2968 " (declare (in) vec2 p1))\n"
2969 " ((declare () vec2 p)\n"
2970 " (assign (constant bool (1)) (var_ref p) (expression vec2 - (var_ref p0) (var_ref p1)))\n"
2971 " (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))\n"
2972 "\n"
2973 " (signature float\n"
2974 " (parameters\n"
2975 " (declare (in) vec3 p0)\n"
2976 " (declare (in) vec3 p1))\n"
2977 " ((declare () vec3 p)\n"
2978 " (assign (constant bool (1)) (var_ref p) (expression vec3 - (var_ref p0) (var_ref p1)))\n"
2979 " (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))\n"
2980 "\n"
2981 " (signature float\n"
2982 " (parameters\n"
2983 " (declare (in) vec4 p0)\n"
2984 " (declare (in) vec4 p1))\n"
2985 " ((declare () vec4 p)\n"
2986 " (assign (constant bool (1)) (var_ref p) (expression vec4 - (var_ref p0) (var_ref p1)))\n"
2987 " (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))\n"
2988 "))\n"
2989 ""
2990;
2991static const char *builtin_noise2 =
2992 "((function noise2\n"
2993 " (signature vec2\n"
2994 " (parameters\n"
2995 " (declare (in) float x))\n"
2996 " ((return (constant vec2 (0 0)))))\n"
2997 " (signature vec2\n"
2998 " (parameters\n"
2999 " (declare (in) vec2 x))\n"
3000 " ((return (constant vec2 (0 0)))))\n"
3001 " (signature vec2\n"
3002 " (parameters\n"
3003 " (declare (in) vec3 x))\n"
3004 " ((return (constant vec2 (0 0)))))\n"
3005 " (signature vec2\n"
3006 " (parameters\n"
3007 " (declare (in) vec4 x))\n"
3008 " ((return (constant vec2 (0 0)))))\n"
3009 "))\n"
3010 ""
3011;
3012static const char *builtin_tanh =
3013 "((function tanh\n"
3014 " (signature float\n"
3015 " (parameters\n"
3016 " (declare (in) float x))\n"
3017 " ((return (expression float /\n"
3018 " (expression float -\n"
3019 " (expression float exp (var_ref x))\n"
3020 " (expression float exp (expression float neg (var_ref x))))\n"
3021 " (expression float +\n"
3022 " (expression float exp (var_ref x))\n"
3023 " (expression float exp (expression float neg (var_ref x))))))))\n"
3024 " (signature vec2\n"
3025 " (parameters\n"
3026 " (declare (in) vec2 x))\n"
3027 " ((return (expression vec2 /\n"
3028 " (expression vec2 -\n"
3029 " (expression vec2 exp (var_ref x))\n"
3030 " (expression vec2 exp (expression vec2 neg (var_ref x))))\n"
3031 " (expression vec2 +\n"
3032 " (expression vec2 exp (var_ref x))\n"
3033 " (expression vec2 exp (expression vec2 neg (var_ref x))))))))\n"
3034 " (signature vec3\n"
3035 " (parameters\n"
3036 " (declare (in) vec3 x))\n"
3037 " ((return (expression vec3 /\n"
3038 " (expression vec3 -\n"
3039 " (expression vec3 exp (var_ref x))\n"
3040 " (expression vec3 exp (expression vec3 neg (var_ref x))))\n"
3041 " (expression vec3 +\n"
3042 " (expression vec3 exp (var_ref x))\n"
3043 " (expression vec3 exp (expression vec3 neg (var_ref x))))))))\n"
3044 " (signature vec4\n"
3045 " (parameters\n"
3046 " (declare (in) vec4 x))\n"
3047 " ((return (expression vec4 /\n"
3048 " (expression vec4 -\n"
3049 " (expression vec4 exp (var_ref x))\n"
3050 " (expression vec4 exp (expression vec4 neg (var_ref x))))\n"
3051 " (expression vec4 +\n"
3052 " (expression vec4 exp (var_ref x))\n"
3053 " (expression vec4 exp (expression vec4 neg (var_ref x))))))))\n"
3054 "))\n"
3055 ""
3056;
3057static const char *builtin_texture1DProjLod =
3058 "((function texture1DProjLod\n"
3059 " (signature vec4\n"
3060 " (parameters\n"
3061 " (declare (in) sampler1D sampler)\n"
3062 " (declare (in) vec2 P) \n"
3063 " (declare (in) float lod) )\n"
3064 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
3065 "\n"
3066 " (signature vec4\n"
3067 " (parameters\n"
3068 " (declare (in) sampler1D sampler)\n"
3069 " (declare (in) vec4 P) \n"
3070 " (declare (in) float lod) )\n"
3071 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
3072 "\n"
3073 "))\n"
3074 ""
3075;
3076static const char *builtin_texture1DArray =
3077 "((function texture1DArray\n"
3078 " (signature vec4\n"
3079 " (parameters\n"
3080 " (declare (in) sampler1DArray sampler)\n"
3081 " (declare (in) vec2 P) )\n"
3082 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3083 "\n"
3084 " (signature vec4\n"
3085 " (parameters\n"
3086 " (declare (in) sampler1DArray sampler)\n"
3087 " (declare (in) vec2 P) \n"
3088 " (declare (in) float bias) )\n"
3089 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3090 "\n"
3091 "))\n"
3092 ""
3093;
3094static const char *builtin_texture2D =
3095 "((function texture2D\n"
3096 " (signature vec4\n"
3097 " (parameters\n"
3098 " (declare (in) sampler2D sampler)\n"
3099 " (declare (in) vec2 P) )\n"
3100 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3101 "\n"
3102 " (signature vec4\n"
3103 " (parameters\n"
3104 " (declare (in) sampler2D sampler)\n"
3105 " (declare (in) vec2 P) \n"
3106 " (declare (in) float bias) )\n"
3107 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3108 "\n"
3109 "))\n"
3110 ""
3111;
3112static const char *builtin_greaterThanEqual =
3113 "((function greaterThanEqual\n"
3114 " (signature bvec2\n"
3115 " (parameters\n"
3116 " (declare (in) vec2 arg0)\n"
3117 " (declare (in) vec2 arg1))\n"
3118 " ((declare () bvec2 temp)\n"
3119 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
3120 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
3121 " (return (var_ref temp))))\n"
3122 "\n"
3123 " (signature bvec3\n"
3124 " (parameters\n"
3125 " (declare (in) vec3 arg0)\n"
3126 " (declare (in) vec3 arg1))\n"
3127 " ((declare () bvec3 temp)\n"
3128 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
3129 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
3130 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
3131 " (return (var_ref temp))))\n"
3132 "\n"
3133 " (signature bvec4\n"
3134 " (parameters\n"
3135 " (declare (in) vec4 arg0)\n"
3136 " (declare (in) vec4 arg1))\n"
3137 " ((declare () bvec4 temp)\n"
3138 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
3139 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
3140 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
3141 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool >= (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
3142 " (return (var_ref temp))))\n"
3143 "\n"
3144 " (signature bvec2\n"
3145 " (parameters\n"
3146 " (declare (in) ivec2 arg0)\n"
3147 " (declare (in) ivec2 arg1))\n"
3148 " ((declare () bvec2 temp)\n"
3149 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
3150 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
3151 " (return (var_ref temp))))\n"
3152 "\n"
3153 " (signature bvec3\n"
3154 " (parameters\n"
3155 " (declare (in) ivec3 arg0)\n"
3156 " (declare (in) ivec3 arg1))\n"
3157 " ((declare () bvec3 temp)\n"
3158 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
3159 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
3160 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
3161 " (return (var_ref temp))))\n"
3162 "\n"
3163 " (signature bvec4\n"
3164 " (parameters\n"
3165 " (declare (in) ivec4 arg0)\n"
3166 " (declare (in) ivec4 arg1))\n"
3167 " ((declare () bvec4 temp)\n"
3168 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
3169 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
3170 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
3171 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool >= (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
3172 " (return (var_ref temp))))\n"
3173 "\n"
3174 " (signature bvec2\n"
3175 " (parameters\n"
3176 " (declare (in) uvec2 arg0)\n"
3177 " (declare (in) uvec2 arg1))\n"
3178 " ((declare () bvec2 temp)\n"
3179 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
3180 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
3181 " (return (var_ref temp))))\n"
3182 "\n"
3183 " (signature bvec3\n"
3184 " (parameters\n"
3185 " (declare (in) uvec3 arg0)\n"
3186 " (declare (in) uvec3 arg1))\n"
3187 " ((declare () bvec3 temp)\n"
3188 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
3189 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
3190 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
3191 " (return (var_ref temp))))\n"
3192 "\n"
3193 " (signature bvec4\n"
3194 " (parameters\n"
3195 " (declare (in) uvec4 arg0)\n"
3196 " (declare (in) uvec4 arg1))\n"
3197 " ((declare () bvec4 temp)\n"
3198 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
3199 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
3200 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
3201 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool >= (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
3202 " (return (var_ref temp))))\n"
3203 "))\n"
3204 ""
3205;
3206static const char *builtin_texture3DProjLod =
3207 "((function texture3DProjLod\n"
3208 " (signature vec4\n"
3209 " (parameters\n"
3210 " (declare (in) sampler3D sampler)\n"
3211 " (declare (in) vec4 P) \n"
3212 " (declare (in) float lod) )\n"
3213 " ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
3214 "\n"
3215 "))\n"
3216 ""
3217;
3218static const char *builtin_tan =
3219 "((function tan\n"
3220 " (signature float\n"
3221 " (parameters\n"
3222 " (declare (in) float angle))\n"
3223 " ((return (expression float / (expression float sin (var_ref angle)) (expression float cos (var_ref angle))))))\n"
3224 "\n"
3225 " (signature vec2\n"
3226 " (parameters\n"
3227 " (declare (in) vec2 angle))\n"
3228 " ((return (expression vec2 / (expression vec2 sin (var_ref angle)) (expression vec2 cos (var_ref angle))))))\n"
3229 "\n"
3230 " (signature vec3\n"
3231 " (parameters\n"
3232 " (declare (in) vec3 angle))\n"
3233 " ((return (expression vec3 / (expression vec3 sin (var_ref angle)) (expression vec3 cos (var_ref angle))))))\n"
3234 "\n"
3235 " (signature vec4\n"
3236 " (parameters\n"
3237 " (declare (in) vec4 angle))\n"
3238 " ((return (expression vec4 / (expression vec4 sin (var_ref angle)) (expression vec4 cos (var_ref angle))))))\n"
3239 "))\n"
3240 ""
3241;
3242static const char *builtin_any =
3243 "((function any\n"
3244 " (signature bool\n"
3245 " (parameters\n"
3246 " (declare (in) bvec2 arg0))\n"
3247 " ((return (expression bool || (swiz x (var_ref arg0))(swiz y (var_ref arg0))))))\n"
3248 "\n"
3249 " (signature bool\n"
3250 " (parameters\n"
3251 " (declare (in) bvec3 arg0))\n"
3252 " ((return (expression bool || (expression bool || (swiz x (var_ref arg0))(swiz y (var_ref arg0))) (swiz z (var_ref arg0))))))\n"
3253 "\n"
3254 " (signature bool\n"
3255 " (parameters\n"
3256 " (declare (in) bvec4 arg0))\n"
3257 " ((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"
3258 "))\n"
3259 ""
3260;
3261static const char *builtin_normalize =
3262 "((function normalize\n"
3263 " (signature float\n"
3264 " (parameters\n"
3265 " (declare (in) float arg0))\n"
3266 " ((return (expression float * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
3267 "\n"
3268 " (signature vec2\n"
3269 " (parameters\n"
3270 " (declare (in) vec2 arg0))\n"
3271 " ((return (expression vec2 * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
3272 "\n"
3273 " (signature vec3\n"
3274 " (parameters\n"
3275 " (declare (in) vec3 arg0))\n"
3276 " ((return (expression vec3 * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
3277 "\n"
3278 " (signature vec4\n"
3279 " (parameters\n"
3280 " (declare (in) vec4 arg0))\n"
3281 " ((return (expression vec4 * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
3282 "))\n"
3283 ""
3284;
3285static const char *builtin_shadow1DProj =
3286 "((function shadow1DProj\n"
3287 " (signature vec4\n"
3288 " (parameters\n"
3289 " (declare (in) sampler1DShadow sampler)\n"
3290 " (declare (in) vec4 P) )\n"
3291 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) ))))\n"
3292 "\n"
3293 " (signature vec4\n"
3294 " (parameters\n"
3295 " (declare (in) sampler1DShadow sampler)\n"
3296 " (declare (in) vec4 P) \n"
3297 " (declare (in) float bias) )\n"
3298 " ((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"
3299 "\n"
3300 "))\n"
3301 ""
3302;
3303static const char *builtin_floor =
3304 "((function floor\n"
3305 " (signature float\n"
3306 " (parameters\n"
3307 " (declare (in) float arg0))\n"
3308 " ((return (expression float floor (var_ref arg0)))))\n"
3309 "\n"
3310 " (signature vec2\n"
3311 " (parameters\n"
3312 " (declare (in) vec2 arg0))\n"
3313 " ((return (expression vec2 floor (var_ref arg0)))))\n"
3314 "\n"
3315 " (signature vec3\n"
3316 " (parameters\n"
3317 " (declare (in) vec3 arg0))\n"
3318 " ((return (expression vec3 floor (var_ref arg0)))))\n"
3319 "\n"
3320 " (signature vec4\n"
3321 " (parameters\n"
3322 " (declare (in) vec4 arg0))\n"
3323 " ((return (expression vec4 floor (var_ref arg0)))))\n"
3324 "))\n"
3325 ""
3326;
3327static const char *builtin_cross =
3328 "((function cross\n"
3329 " (signature vec3\n"
3330 " (parameters\n"
3331 " (declare (in) vec3 arg0)\n"
3332 " (declare (in) vec3 arg1))\n"
3333 " ((return (expression vec3 cross (var_ref arg0) (var_ref arg1)))))\n"
3334 "))\n"
3335 ""
3336;
3337static const char *builtin_sqrt =
3338 "((function sqrt\n"
3339 " (signature float\n"
3340 " (parameters\n"
3341 " (declare (in) float arg0))\n"
3342 " ((return (expression float sqrt (var_ref arg0)))))\n"
3343 "\n"
3344 " (signature vec2\n"
3345 " (parameters\n"
3346 " (declare (in) vec2 arg0))\n"
3347 " ((return (expression vec2 sqrt (var_ref arg0)))))\n"
3348 "\n"
3349 " (signature vec3\n"
3350 " (parameters\n"
3351 " (declare (in) vec3 arg0))\n"
3352 " ((return (expression vec3 sqrt (var_ref arg0)))))\n"
3353 "\n"
3354 " (signature vec4\n"
3355 " (parameters\n"
3356 " (declare (in) vec4 arg0))\n"
3357 " ((return (expression vec4 sqrt (var_ref arg0)))))\n"
3358 "))\n"
3359 ""
3360;
3361static const char *builtin_mix =
3362 "((function mix\n"
3363 " (signature float\n"
3364 " (parameters\n"
3365 " (declare (in) float arg0)\n"
3366 " (declare (in) float arg1)\n"
3367 " (declare (in) float arg2))\n"
3368 " ((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"
3369 "\n"
3370 " (signature vec2\n"
3371 " (parameters\n"
3372 " (declare (in) vec2 arg0)\n"
3373 " (declare (in) vec2 arg1)\n"
3374 " (declare (in) vec2 arg2))\n"
3375 " ((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"
3376 "\n"
3377 " (signature vec3\n"
3378 " (parameters\n"
3379 " (declare (in) vec3 arg0)\n"
3380 " (declare (in) vec3 arg1)\n"
3381 " (declare (in) vec3 arg2))\n"
3382 " ((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"
3383 "\n"
3384 " (signature vec4\n"
3385 " (parameters\n"
3386 " (declare (in) vec4 arg0)\n"
3387 " (declare (in) vec4 arg1)\n"
3388 " (declare (in) vec4 arg2))\n"
3389 " ((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"
3390 "\n"
3391 " (signature vec2\n"
3392 " (parameters\n"
3393 " (declare (in) vec2 arg0)\n"
3394 " (declare (in) vec2 arg1)\n"
3395 " (declare (in) float arg2))\n"
3396 " ((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"
3397 "\n"
3398 " (signature vec3\n"
3399 " (parameters\n"
3400 " (declare (in) vec3 arg0)\n"
3401 " (declare (in) vec3 arg1)\n"
3402 " (declare (in) float arg2))\n"
3403 " ((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"
3404 "\n"
3405 " (signature vec4\n"
3406 " (parameters\n"
3407 " (declare (in) vec4 arg0)\n"
3408 " (declare (in) vec4 arg1)\n"
3409 " (declare (in) float arg2))\n"
3410 " ((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"
3411 "\n"
3412 " (signature float\n"
3413 " (parameters\n"
3414 " (declare (in) float v1)\n"
3415 " (declare (in) float v2)\n"
3416 " (declare (in) bool a))\n"
3417 " ((assign (var_ref a) (var_ref v1) (var_ref v2))\n"
3418 " (return (var_ref v1))))\n"
3419 "\n"
3420 " (signature vec2\n"
3421 " (parameters\n"
3422 " (declare (in) vec2 v1)\n"
3423 " (declare (in) vec2 v2)\n"
3424 " (declare (in) bvec2 a))\n"
3425 " ((assign (swiz x (var_ref a)) (swiz x (var_ref v1)) (swiz x (var_ref v2)))\n"
3426 " (assign (swiz y (var_ref a)) (swiz y (var_ref v1)) (swiz y (var_ref v2)))\n"
3427 " (return (var_ref v1))))\n"
3428 "\n"
3429 " (signature vec3\n"
3430 " (parameters\n"
3431 " (declare (in) vec3 v1)\n"
3432 " (declare (in) vec3 v2)\n"
3433 " (declare (in) bvec3 a))\n"
3434 " ((assign (swiz x (var_ref a)) (swiz x (var_ref v1)) (swiz x (var_ref v2)))\n"
3435 " (assign (swiz y (var_ref a)) (swiz y (var_ref v1)) (swiz y (var_ref v2)))\n"
3436 " (assign (swiz z (var_ref a)) (swiz z (var_ref v1)) (swiz z (var_ref v2)))\n"
3437 " (return (var_ref v1))))\n"
3438 "\n"
3439 " (signature vec4\n"
3440 " (parameters\n"
3441 " (declare (in) vec4 v1)\n"
3442 " (declare (in) vec4 v2)\n"
3443 " (declare (in) bvec4 a))\n"
3444 " ((assign (swiz x (var_ref a)) (swiz x (var_ref v1)) (swiz x (var_ref v2)))\n"
3445 " (assign (swiz y (var_ref a)) (swiz y (var_ref v1)) (swiz y (var_ref v2)))\n"
3446 " (assign (swiz z (var_ref a)) (swiz z (var_ref v1)) (swiz z (var_ref v2)))\n"
3447 " (assign (swiz w (var_ref a)) (swiz w (var_ref v1)) (swiz w (var_ref v2)))\n"
3448 " (return (var_ref v1))))\n"
3449 "))\n"
3450 ""
3451;
3452static const char *builtin_shadow1DArrayLod =
3453 "((function shadow1DArrayLod\n"
3454 " (signature vec4\n"
3455 " (parameters\n"
3456 " (declare (in) sampler1DArrayShadow sampler)\n"
3457 " (declare (in) vec3 P) \n"
3458 " (declare (in) float lod) )\n"
3459 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref lod) ))))\n"
3460 "\n"
3461 "))\n"
3462 ""
3463;
3464static const char *builtin_ftransform =
3465 "((declare (uniform) mat4 gl_ModelViewProjectionMatrix)\n"
3466 " (declare (in) vec4 gl_Vertex)\n"
3467 " (function ftransform\n"
3468 " (signature vec4\n"
3469 " (parameters)\n"
3470 " ((return (expression vec4 *\n"
3471 " (var_ref gl_ModelViewProjectionMatrix)\n"
3472 " (var_ref gl_Vertex)))))\n"
3473 "))\n"
3474 ""
3475;
3476static const char *builtin_sin =
3477 "((function sin\n"
3478 " (signature float\n"
3479 " (parameters\n"
3480 " (declare (in) float angle))\n"
3481 " ((return (expression float sin (var_ref angle)))))\n"
3482 "\n"
3483 " (signature vec2\n"
3484 " (parameters\n"
3485 " (declare (in) vec2 angle))\n"
3486 " ((return (expression vec2 sin (var_ref angle)))))\n"
3487 "\n"
3488 " (signature vec3\n"
3489 " (parameters\n"
3490 " (declare (in) vec3 angle))\n"
3491 " ((return (expression vec3 sin (var_ref angle)))))\n"
3492 "\n"
3493 " (signature vec4\n"
3494 " (parameters\n"
3495 " (declare (in) vec4 angle))\n"
3496 " ((return (expression vec4 sin (var_ref angle)))))\n"
3497 "))\n"
3498 ""
3499;
3500static const char *builtin_shadow2D =
3501 "((function shadow2D\n"
3502 " (signature vec4\n"
3503 " (parameters\n"
3504 " (declare (in) sampler2DShadow sampler)\n"
3505 " (declare (in) vec3 P) )\n"
3506 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) ))))\n"
3507 "\n"
3508 " (signature vec4\n"
3509 " (parameters\n"
3510 " (declare (in) sampler2DShadow sampler)\n"
3511 " (declare (in) vec3 P) \n"
3512 " (declare (in) float bias) )\n"
3513 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref bias) ))))\n"
3514 "\n"
3515 "))\n"
3516 ""
3517;
3518static const char *builtin_shadow2DLod =
3519 "((function shadow2DLod\n"
3520 " (signature vec4\n"
3521 " (parameters\n"
3522 " (declare (in) sampler2DShadow sampler)\n"
3523 " (declare (in) vec3 P) \n"
3524 " (declare (in) float lod) )\n"
3525 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref lod) ))))\n"
3526 "\n"
3527 "))\n"
3528 ""
3529;
3530static const char *builtin_shadow2DRectProj =
3531 "((function shadow2DRectProj\n"
3532 " (signature vec4\n"
3533 " (parameters\n"
3534 " (declare (in) sampler2DRectShadow sampler)\n"
3535 " (declare (in) vec4 P) )\n"
3536 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) ))))\n"
3537 "\n"
3538 "))\n"
3539 ""
3540;
3541static const char *builtin_atan =
Eric Anholt60fa1a92010-05-19 12:44:23 -07003542 "((function atan\n"
3543 " (signature float\n"
3544 " (parameters\n"
3545 " (declare (in) float x))\n"
3546 " ((return (call asin ((expression float *\n"
3547 " (var_ref x)\n"
3548 " (expression float rsq\n"
3549 " (expression float +\n"
3550 " (expression float *\n"
3551 " (var_ref x)\n"
3552 " (var_ref x))\n"
3553 " (constant float (1.0))))))))))\n"
3554 "\n"
3555 " (signature vec2\n"
3556 " (parameters\n"
3557 " (declare (in) vec2 y_over_x))\n"
3558 " ((return (call asin ((expression vec2 *\n"
3559 " (var_ref y_over_x)\n"
3560 " (expression vec2 rsq\n"
3561 " (expression vec2 +\n"
3562 " (expression vec2 *\n"
3563 " (var_ref y_over_x)\n"
3564 " (var_ref y_over_x))\n"
3565 " (constant float (1.0))))))))))\n"
3566 "\n"
3567 " (signature vec3\n"
3568 " (parameters\n"
3569 " (declare (in) vec3 y_over_x))\n"
3570 " ((return (call asin ((expression vec3 *\n"
3571 " (var_ref y_over_x)\n"
3572 " (expression vec3 rsq\n"
3573 " (expression vec3 +\n"
3574 " (expression vec3 *\n"
3575 " (var_ref y_over_x)\n"
3576 " (var_ref y_over_x))\n"
3577 " (constant float (1.0))))))))))\n"
3578 "\n"
3579 " (signature vec4\n"
3580 " (parameters\n"
3581 " (declare (in) vec4 y_over_x))\n"
3582 " ((return (call asin ((expression vec4 *\n"
3583 " (var_ref y_over_x)\n"
3584 " (expression vec4 rsq\n"
3585 " (expression vec4 +\n"
3586 " (expression vec4 *\n"
3587 " (var_ref y_over_x)\n"
3588 " (var_ref y_over_x))\n"
3589 " (constant float (1.0))))))))))\n"
3590 "\n"
Eric Anholt3fa1b852010-07-30 10:20:34 -07003591 " (signature float\n"
3592 " (parameters\n"
3593 " (declare (in ) float y)\n"
3594 " (declare (in ) float x)\n"
3595 " )\n"
3596 " (\n"
3597 " (declare () float r)\n"
3598 " (declare ( ) float abs_retval)\n"
3599 " (assign (constant bool (1)) (var_ref abs_retval) (call abs ((var_ref x) ))\n"
3600 ") \n"
3601 " (if (expression bool > (var_ref abs_retval) (constant float (0.000100)) ) (\n"
3602 " (declare ( ) float atan_retval)\n"
3603 " (assign (constant bool (1)) (var_ref atan_retval) (call atan ((expression float / (var_ref y) (var_ref x) ) ))\n"
3604 ") \n"
3605 " (assign (constant bool (1)) (var_ref r) (var_ref atan_retval) ) \n"
3606 " (if (expression bool < (var_ref x) (constant float (0.000000)) ) (\n"
3607 " (if (expression bool >= (var_ref y) (constant float (0.000000)) ) (\n"
3608 " (declare ( ) float assignment_tmp)\n"
3609 " (assign (constant bool (1)) (var_ref assignment_tmp) (expression float + (var_ref r) (constant float (3.141593)) ) ) \n"
3610 " (assign (constant bool (1)) (var_ref r) (var_ref assignment_tmp) ) \n"
3611 " )\n"
3612 " (\n"
3613 " (declare ( ) float assignment_tmp)\n"
3614 " (assign (constant bool (1)) (var_ref assignment_tmp) (expression float - (var_ref r) (constant float (3.141593)) ) ) \n"
3615 " (assign (constant bool (1)) (var_ref r) (var_ref assignment_tmp) ) \n"
3616 " ))\n"
3617 "\n"
3618 " )\n"
3619 " (\n"
3620 " ))\n"
3621 "\n"
3622 " )\n"
3623 " (\n"
3624 " (if (expression bool >= (var_ref y) (constant float (0.000000)) ) (\n"
3625 " (assign (constant bool (1)) (var_ref r) (constant float (1.570796)) ) \n"
3626 " )\n"
3627 " (\n"
3628 " (assign (constant bool (1)) (var_ref r) (constant float (-1.570796)) ) \n"
3629 " ))\n"
3630 "\n"
3631 " ))\n"
3632 "\n"
3633 " (return (var_ref r) )\n"
3634 " ))\n"
3635 "\n"
3636 "\n"
Eric Anholt60fa1a92010-05-19 12:44:23 -07003637 "\n"
3638 " (signature vec2\n"
3639 " (parameters\n"
3640 " (declare (in) vec2 y)\n"
3641 " (declare (in) vec2 x))\n"
3642 " ((declare () vec2 r)\n"
Eric Anholt3fa1b852010-07-30 10:20:34 -07003643 " (assign (constant bool (1))\n"
3644 " (swiz x (var_ref r))\n"
3645 " (call atan ((swiz x (var_ref y))\n"
3646 " (swiz x (var_ref x)))))\n"
3647 " (assign (constant bool (1))\n"
3648 " (swiz y (var_ref r))\n"
3649 " (call atan ((swiz y (var_ref y))\n"
3650 " (swiz y (var_ref x)))))\n"
Eric Anholt60fa1a92010-05-19 12:44:23 -07003651 " (return (var_ref r))))\n"
3652 "\n"
3653 " (signature vec3\n"
3654 " (parameters\n"
3655 " (declare (in) vec3 y)\n"
3656 " (declare (in) vec3 x))\n"
3657 " ((declare () vec3 r)\n"
Eric Anholt3fa1b852010-07-30 10:20:34 -07003658 " (assign (constant bool (1))\n"
3659 " (swiz x (var_ref r))\n"
3660 " (call atan ((swiz x (var_ref y))\n"
3661 " (swiz x (var_ref x)))))\n"
3662 " (assign (constant bool (1))\n"
3663 " (swiz y (var_ref r))\n"
3664 " (call atan ((swiz y (var_ref y))\n"
3665 " (swiz y (var_ref x)))))\n"
3666 " (assign (constant bool (1))\n"
3667 " (swiz z (var_ref r))\n"
3668 " (call atan ((swiz z (var_ref y))\n"
3669 " (swiz z (var_ref x)))))\n"
Eric Anholt60fa1a92010-05-19 12:44:23 -07003670 " (return (var_ref r))))\n"
3671 "\n"
3672 " (signature vec4\n"
3673 " (parameters\n"
3674 " (declare (in) vec4 y)\n"
3675 " (declare (in) vec4 x))\n"
3676 " ((declare () vec4 r)\n"
Eric Anholt3fa1b852010-07-30 10:20:34 -07003677 " (assign (constant bool (1))\n"
3678 " (swiz x (var_ref r))\n"
3679 " (call atan ((swiz x (var_ref y))\n"
3680 " (swiz x (var_ref x)))))\n"
3681 " (assign (constant bool (1))\n"
3682 " (swiz y (var_ref r))\n"
3683 " (call atan ((swiz y (var_ref y))\n"
3684 " (swiz y (var_ref x)))))\n"
3685 " (assign (constant bool (1))\n"
3686 " (swiz z (var_ref r))\n"
3687 " (call atan ((swiz z (var_ref y))\n"
3688 " (swiz z (var_ref x)))))\n"
3689 " (assign (constant bool (1))\n"
3690 " (swiz w (var_ref r))\n"
3691 " (call atan ((swiz w (var_ref y))\n"
3692 " (swiz w (var_ref x)))))\n"
3693 " (return (var_ref r)))))\n"
Eric Anholt60fa1a92010-05-19 12:44:23 -07003694 "\n"
3695 "))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003696 ""
3697;
3698static const char *builtin_max =
Kenneth Graunkeb3262122010-04-28 23:01:33 -07003699 "((function max\n"
3700 " (signature float\n"
3701 " (parameters\n"
3702 " (declare (in) float arg0)\n"
3703 " (declare (in) float arg1))\n"
3704 " ((return (expression float max (var_ref arg0) (var_ref arg1)))))\n"
3705 "\n"
3706 " (signature vec2\n"
3707 " (parameters\n"
3708 " (declare (in) vec2 arg0)\n"
3709 " (declare (in) vec2 arg1))\n"
3710 " ((return (expression vec2 max (var_ref arg0) (var_ref arg1)))))\n"
3711 "\n"
3712 " (signature vec3\n"
3713 " (parameters\n"
3714 " (declare (in) vec3 arg0)\n"
3715 " (declare (in) vec3 arg1))\n"
3716 " ((return (expression vec3 max (var_ref arg0) (var_ref arg1)))))\n"
3717 "\n"
3718 " (signature vec4\n"
3719 " (parameters\n"
3720 " (declare (in) vec4 arg0)\n"
3721 " (declare (in) vec4 arg1))\n"
3722 " ((return (expression vec4 max (var_ref arg0) (var_ref arg1)))))\n"
Kenneth Graunke76796ed2010-06-09 13:05:40 -07003723 "\n"
3724 " (signature vec2\n"
3725 " (parameters\n"
3726 " (declare (in) vec2 arg0)\n"
3727 " (declare (in) float arg1))\n"
Kenneth Graunke53120802010-07-12 13:54:36 -07003728 " ((return (expression vec2 max (var_ref arg0) (var_ref arg1)))))\n"
Kenneth Graunke76796ed2010-06-09 13:05:40 -07003729 "\n"
3730 " (signature vec3\n"
3731 " (parameters\n"
3732 " (declare (in) vec3 arg0)\n"
3733 " (declare (in) float arg1))\n"
Kenneth Graunke53120802010-07-12 13:54:36 -07003734 " ((return (expression vec3 max (var_ref arg0) (var_ref arg1)))))\n"
Kenneth Graunkecdf17262010-06-09 13:10:00 -07003735 "\n"
Kenneth Graunke76796ed2010-06-09 13:05:40 -07003736 " (signature vec4\n"
3737 " (parameters\n"
3738 " (declare (in) vec4 arg0)\n"
3739 " (declare (in) float arg1))\n"
Kenneth Graunke53120802010-07-12 13:54:36 -07003740 " ((return (expression vec4 max (var_ref arg0) (var_ref arg1)))))\n"
Kenneth Graunkeb3262122010-04-28 23:01:33 -07003741 "\n"
Kenneth Graunkeaf057032010-06-09 16:14:45 -07003742 " (signature int\n"
3743 " (parameters\n"
3744 " (declare (in) int arg0)\n"
3745 " (declare (in) int arg1))\n"
3746 " ((return (expression int max (var_ref arg0) (var_ref arg1)))))\n"
3747 "\n"
3748 " (signature ivec2\n"
3749 " (parameters\n"
3750 " (declare (in) ivec2 arg0)\n"
3751 " (declare (in) ivec2 arg1))\n"
3752 " ((return (expression ivec2 max (var_ref arg0) (var_ref arg1)))))\n"
3753 "\n"
3754 " (signature ivec3\n"
3755 " (parameters\n"
3756 " (declare (in) ivec3 arg0)\n"
3757 " (declare (in) ivec3 arg1))\n"
3758 " ((return (expression ivec3 max (var_ref arg0) (var_ref arg1)))))\n"
3759 "\n"
3760 " (signature ivec4\n"
3761 " (parameters\n"
3762 " (declare (in) ivec4 arg0)\n"
3763 " (declare (in) ivec4 arg1))\n"
3764 " ((return (expression ivec4 max (var_ref arg0) (var_ref arg1)))))\n"
3765 "\n"
3766 " (signature ivec2\n"
3767 " (parameters\n"
3768 " (declare (in) ivec2 arg0)\n"
3769 " (declare (in) int arg1))\n"
Kenneth Graunke53120802010-07-12 13:54:36 -07003770 " ((return (expression ivec2 max (var_ref arg0) (var_ref arg1)))))\n"
Kenneth Graunkeaf057032010-06-09 16:14:45 -07003771 "\n"
3772 " (signature ivec3\n"
3773 " (parameters\n"
3774 " (declare (in) ivec3 arg0)\n"
3775 " (declare (in) int arg1))\n"
Kenneth Graunke53120802010-07-12 13:54:36 -07003776 " ((return (expression ivec3 max (var_ref arg0) (var_ref arg1)))))\n"
Kenneth Graunkeaf057032010-06-09 16:14:45 -07003777 "\n"
3778 " (signature ivec4\n"
3779 " (parameters\n"
3780 " (declare (in) ivec4 arg0)\n"
3781 " (declare (in) int arg1))\n"
Kenneth Graunke53120802010-07-12 13:54:36 -07003782 " ((return (expression ivec4 max (var_ref arg0) (var_ref arg1)))))\n"
Kenneth Graunkeaf057032010-06-09 16:14:45 -07003783 "\n"
3784 " (signature uint\n"
3785 " (parameters\n"
3786 " (declare (in) uint arg0)\n"
3787 " (declare (in) uint arg1))\n"
3788 " ((return (expression uint max (var_ref arg0) (var_ref arg1)))))\n"
3789 "\n"
3790 " (signature uvec2\n"
3791 " (parameters\n"
3792 " (declare (in) uvec2 arg0)\n"
3793 " (declare (in) uvec2 arg1))\n"
3794 " ((return (expression uvec2 max (var_ref arg0) (var_ref arg1)))))\n"
3795 "\n"
3796 " (signature uvec3\n"
3797 " (parameters\n"
3798 " (declare (in) uvec3 arg0)\n"
3799 " (declare (in) uvec3 arg1))\n"
3800 " ((return (expression uvec3 max (var_ref arg0) (var_ref arg1)))))\n"
3801 "\n"
3802 " (signature uvec4\n"
3803 " (parameters\n"
3804 " (declare (in) uvec4 arg0)\n"
3805 " (declare (in) uvec4 arg1))\n"
3806 " ((return (expression uvec4 max (var_ref arg0) (var_ref arg1)))))\n"
3807 "\n"
3808 " (signature uvec2\n"
3809 " (parameters\n"
3810 " (declare (in) uvec2 arg0)\n"
3811 " (declare (in) uint arg1))\n"
Kenneth Graunke53120802010-07-12 13:54:36 -07003812 " ((return (expression uvec2 max (var_ref arg0) (var_ref arg1)))))\n"
Kenneth Graunkeaf057032010-06-09 16:14:45 -07003813 "\n"
3814 " (signature uvec3\n"
3815 " (parameters\n"
3816 " (declare (in) uvec3 arg0)\n"
3817 " (declare (in) uint arg1))\n"
Kenneth Graunke53120802010-07-12 13:54:36 -07003818 " ((return (expression uvec3 max (var_ref arg0) (var_ref arg1)))))\n"
Kenneth Graunkeaf057032010-06-09 16:14:45 -07003819 "\n"
3820 " (signature uvec4\n"
3821 " (parameters\n"
3822 " (declare (in) uvec4 arg0)\n"
3823 " (declare (in) uint arg1))\n"
Kenneth Graunke53120802010-07-12 13:54:36 -07003824 " ((return (expression uvec4 max (var_ref arg0) (var_ref arg1)))))\n"
Kenneth Graunkeaf057032010-06-09 16:14:45 -07003825 "))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003826 ""
3827;
3828static const char *builtin_reflect =
3829 "((function reflect\n"
Kenneth Graunke0a715272010-07-21 17:33:57 -07003830 " (signature float\n"
3831 " (parameters\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003832 " (declare (in) float i)\n"
3833 " (declare (in) float n))\n"
3834 " ((return (expression float -\n"
3835 " (var_ref i)\n"
3836 " (expression float *\n"
3837 " (constant float (2.0))\n"
3838 " (expression float *\n"
3839 " (expression float dot\n"
3840 " (var_ref n)\n"
3841 " (var_ref i))\n"
3842 " (var_ref n)))))))\n"
Kenneth Graunke0a715272010-07-21 17:33:57 -07003843 "\n"
3844 " (signature vec2\n"
3845 " (parameters\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003846 " (declare (in) vec2 i)\n"
3847 " (declare (in) vec2 n))\n"
3848 " ((return (expression vec2 -\n"
3849 " (var_ref i)\n"
3850 " (expression vec2 *\n"
3851 " (constant float (2.0))\n"
3852 " (expression vec2 *\n"
3853 " (expression float dot\n"
3854 " (var_ref n)\n"
3855 " (var_ref i))\n"
3856 " (var_ref n)))))))\n"
Kenneth Graunke0a715272010-07-21 17:33:57 -07003857 "\n"
3858 " (signature vec3\n"
3859 " (parameters\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003860 " (declare (in) vec3 i)\n"
3861 " (declare (in) vec3 n))\n"
3862 " ((return (expression vec3 -\n"
3863 " (var_ref i)\n"
3864 " (expression vec3 *\n"
3865 " (constant float (2.0))\n"
3866 " (expression vec3 *\n"
3867 " (expression float dot\n"
3868 " (var_ref n)\n"
3869 " (var_ref i))\n"
3870 " (var_ref n)))))))\n"
Kenneth Graunke0a715272010-07-21 17:33:57 -07003871 "\n"
3872 " (signature vec4\n"
3873 " (parameters\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003874 " (declare (in) vec4 i)\n"
3875 " (declare (in) vec4 n))\n"
3876 " ((return (expression vec4 -\n"
3877 " (var_ref i)\n"
3878 " (expression vec4 *\n"
3879 " (constant float (2.0))\n"
3880 " (expression vec4 *\n"
3881 " (expression float dot\n"
3882 " (var_ref n)\n"
3883 " (var_ref i))\n"
3884 " (var_ref n)))))))\n"
3885 "\n"
Kenneth Graunke0a715272010-07-21 17:33:57 -07003886 "))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003887 ""
3888;
3889static const char *builtin_texture3D =
3890 "((function texture3D\n"
Kenneth Graunkec9aabc82010-06-09 16:08:36 -07003891 " (signature vec4\n"
3892 " (parameters\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003893 " (declare (in) sampler3D sampler)\n"
3894 " (declare (in) vec3 P) )\n"
3895 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3896 "\n"
Kenneth Graunkec9aabc82010-06-09 16:08:36 -07003897 " (signature vec4\n"
3898 " (parameters\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003899 " (declare (in) sampler3D sampler)\n"
3900 " (declare (in) vec3 P) \n"
3901 " (declare (in) float bias) )\n"
3902 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3903 "\n"
Kenneth Graunkec9aabc82010-06-09 16:08:36 -07003904 "))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003905 ""
3906;
3907static const char *builtin_texelFetch =
Kenneth Graunke4b0029a2010-06-08 16:29:17 -07003908 "((function texelFetch\n"
3909 " (signature vec4\n"
3910 " (parameters\n"
3911 " (declare (in) sampler1D sampler)\n"
3912 " (declare (in) int P) \n"
3913 " (declare (in) int lod) )\n"
3914 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3915 "\n"
3916 " (signature ivec4\n"
3917 " (parameters\n"
3918 " (declare (in) isampler1D sampler)\n"
3919 " (declare (in) int P) \n"
3920 " (declare (in) int lod) )\n"
3921 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3922 "\n"
3923 " (signature uvec4\n"
3924 " (parameters\n"
3925 " (declare (in) usampler1D sampler)\n"
3926 " (declare (in) int P) \n"
3927 " (declare (in) int lod) )\n"
3928 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3929 "\n"
3930 " (signature vec4\n"
3931 " (parameters\n"
3932 " (declare (in) sampler2D sampler)\n"
3933 " (declare (in) ivec2 P) \n"
3934 " (declare (in) int lod) )\n"
3935 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3936 "\n"
3937 " (signature ivec4\n"
3938 " (parameters\n"
3939 " (declare (in) isampler2D sampler)\n"
3940 " (declare (in) ivec2 P) \n"
3941 " (declare (in) int lod) )\n"
3942 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3943 "\n"
3944 " (signature uvec4\n"
3945 " (parameters\n"
3946 " (declare (in) usampler2D sampler)\n"
3947 " (declare (in) ivec2 P) \n"
3948 " (declare (in) int lod) )\n"
3949 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3950 "\n"
3951 " (signature vec4\n"
3952 " (parameters\n"
3953 " (declare (in) sampler3D sampler)\n"
3954 " (declare (in) ivec3 P) \n"
3955 " (declare (in) int lod) )\n"
3956 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3957 "\n"
3958 " (signature ivec4\n"
3959 " (parameters\n"
3960 " (declare (in) isampler3D sampler)\n"
3961 " (declare (in) ivec3 P) \n"
3962 " (declare (in) int lod) )\n"
3963 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3964 "\n"
3965 " (signature uvec4\n"
3966 " (parameters\n"
3967 " (declare (in) usampler3D sampler)\n"
3968 " (declare (in) ivec3 P) \n"
3969 " (declare (in) int lod) )\n"
3970 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3971 "\n"
3972 " (signature vec4\n"
3973 " (parameters\n"
3974 " (declare (in) sampler1DArray sampler)\n"
3975 " (declare (in) ivec2 P) \n"
3976 " (declare (in) int lod) )\n"
3977 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3978 "\n"
3979 " (signature ivec4\n"
3980 " (parameters\n"
3981 " (declare (in) isampler1DArray sampler)\n"
3982 " (declare (in) ivec2 P) \n"
3983 " (declare (in) int lod) )\n"
3984 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3985 "\n"
3986 " (signature uvec4\n"
3987 " (parameters\n"
3988 " (declare (in) usampler1DArray sampler)\n"
3989 " (declare (in) ivec2 P) \n"
3990 " (declare (in) int lod) )\n"
3991 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3992 "\n"
3993 " (signature vec4\n"
3994 " (parameters\n"
3995 " (declare (in) sampler2DArray sampler)\n"
3996 " (declare (in) ivec3 P) \n"
3997 " (declare (in) int lod) )\n"
3998 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3999 "\n"
4000 " (signature ivec4\n"
4001 " (parameters\n"
4002 " (declare (in) isampler2DArray sampler)\n"
4003 " (declare (in) ivec3 P) \n"
4004 " (declare (in) int lod) )\n"
4005 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
4006 "\n"
4007 " (signature uvec4\n"
4008 " (parameters\n"
4009 " (declare (in) usampler2DArray sampler)\n"
4010 " (declare (in) ivec3 P) \n"
4011 " (declare (in) int lod) )\n"
4012 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
4013 "\n"
4014 "))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004015 ""
4016;
4017static const char *builtin_noise4 =
4018 "((function noise4\n"
Kenneth Graunke4b0029a2010-06-08 16:29:17 -07004019 " (signature vec4\n"
4020 " (parameters\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004021 " (declare (in) float x))\n"
4022 " ((return (constant vec4 (0 0 0 0)))))\n"
4023 " (signature vec4\n"
Kenneth Graunke4b0029a2010-06-08 16:29:17 -07004024 " (parameters\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004025 " (declare (in) vec2 x))\n"
4026 " ((return (constant vec4 (0 0 0 0)))))\n"
4027 " (signature vec4\n"
Kenneth Graunke4b0029a2010-06-08 16:29:17 -07004028 " (parameters\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004029 " (declare (in) vec3 x))\n"
4030 " ((return (constant vec4 (0 0 0 0)))))\n"
4031 " (signature vec4\n"
4032 " (parameters\n"
4033 " (declare (in) vec4 x))\n"
4034 " ((return (constant vec4 (0 0 0 0)))))\n"
4035 "))\n"
4036 ""
4037;
4038static const char *builtin_notEqual =
4039 "((function notEqual\n"
4040 " (signature bvec2\n"
4041 " (parameters\n"
4042 " (declare (in) vec2 arg0)\n"
4043 " (declare (in) vec2 arg1))\n"
4044 " ((declare () bvec2 temp)\n"
4045 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
4046 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
4047 " (return (var_ref temp))))\n"
4048 "\n"
4049 " (signature bvec3\n"
4050 " (parameters\n"
4051 " (declare (in) vec3 arg0)\n"
4052 " (declare (in) vec3 arg1))\n"
4053 " ((declare () bvec3 temp)\n"
4054 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
4055 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
4056 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
4057 " (return (var_ref temp))))\n"
4058 "\n"
4059 " (signature bvec4\n"
4060 " (parameters\n"
4061 " (declare (in) vec4 arg0)\n"
4062 " (declare (in) vec4 arg1))\n"
4063 " ((declare () bvec4 temp)\n"
4064 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
4065 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
4066 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
4067 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool != (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
4068 " (return (var_ref temp))))\n"
4069 "\n"
4070 " (signature bvec2\n"
4071 " (parameters\n"
4072 " (declare (in) ivec2 arg0)\n"
4073 " (declare (in) ivec2 arg1))\n"
4074 " ((declare () bvec2 temp)\n"
4075 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
4076 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
4077 " (return (var_ref temp))))\n"
4078 "\n"
4079 " (signature bvec3\n"
4080 " (parameters\n"
4081 " (declare (in) ivec3 arg0)\n"
4082 " (declare (in) ivec3 arg1))\n"
4083 " ((declare () bvec3 temp)\n"
4084 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
4085 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
4086 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
4087 " (return (var_ref temp))))\n"
4088 "\n"
4089 " (signature bvec4\n"
4090 " (parameters\n"
4091 " (declare (in) ivec4 arg0)\n"
4092 " (declare (in) ivec4 arg1))\n"
4093 " ((declare () bvec4 temp)\n"
4094 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
4095 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
4096 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
4097 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool != (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
4098 " (return (var_ref temp))))\n"
4099 "\n"
4100 " (signature bvec2\n"
4101 " (parameters\n"
4102 " (declare (in) uvec2 arg0)\n"
4103 " (declare (in) uvec2 arg1))\n"
4104 " ((declare () bvec2 temp)\n"
4105 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
4106 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
4107 " (return (var_ref temp))))\n"
4108 "\n"
4109 " (signature bvec3\n"
4110 " (parameters\n"
4111 " (declare (in) uvec3 arg0)\n"
4112 " (declare (in) uvec3 arg1))\n"
4113 " ((declare () bvec3 temp)\n"
4114 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
4115 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
4116 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
4117 " (return (var_ref temp))))\n"
4118 "\n"
4119 " (signature bvec4\n"
4120 " (parameters\n"
4121 " (declare (in) uvec4 arg0)\n"
4122 " (declare (in) uvec4 arg1))\n"
4123 " ((declare () bvec4 temp)\n"
4124 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
4125 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
4126 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
4127 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool != (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
4128 " (return (var_ref temp))))\n"
4129 "))\n"
4130 ""
4131;
4132static const char *builtin_outerProduct =
4133 "((function outerProduct\n"
4134 " (signature mat2\n"
4135 " (parameters\n"
4136 " (declare (in) vec2 u)\n"
4137 " (declare (in) vec2 v))\n"
4138 " ((declare () mat2 m)\n"
4139 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))\n"
4140 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))\n"
4141 " (return (var_ref m))))\n"
4142 "\n"
4143 " (signature mat2x3\n"
4144 " (parameters\n"
4145 " (declare (in) vec3 u)\n"
4146 " (declare (in) vec2 v))\n"
4147 " ((declare () mat2x3 m)\n"
4148 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))\n"
4149 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))\n"
4150 " (return (var_ref m))))\n"
4151 "\n"
4152 " (signature mat2x4\n"
4153 " (parameters\n"
4154 " (declare (in) vec4 u)\n"
4155 " (declare (in) vec2 v))\n"
4156 " ((declare () mat2x4 m)\n"
4157 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))\n"
4158 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))\n"
4159 " (return (var_ref m))))\n"
4160 "\n"
4161 " (signature mat3x2\n"
4162 " (parameters\n"
4163 " (declare (in) vec2 u)\n"
4164 " (declare (in) vec3 v))\n"
4165 " ((declare () mat3x2 m)\n"
4166 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))\n"
4167 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))\n"
4168 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (2))) (expression vec2 * (var_ref u) (swiz z (var_ref v))))\n"
4169 " (return (var_ref m))\n"
4170 " ))\n"
4171 "\n"
4172 " (signature mat3\n"
4173 " (parameters\n"
4174 " (declare (in) vec3 u)\n"
4175 " (declare (in) vec3 v))\n"
4176 " ((declare () mat3 m)\n"
4177 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))\n"
4178 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))\n"
4179 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (2))) (expression vec3 * (var_ref u) (swiz z (var_ref v))))\n"
4180 " (return (var_ref m))))\n"
4181 "\n"
4182 " (signature mat3x4\n"
4183 " (parameters\n"
4184 " (declare (in) vec4 u)\n"
4185 " (declare (in) vec3 v))\n"
4186 " ((declare () mat3x4 m)\n"
4187 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))\n"
4188 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))\n"
4189 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (2))) (expression vec4 * (var_ref u) (swiz z (var_ref v))))\n"
4190 " (return (var_ref m))))\n"
4191 "\n"
4192 " (signature mat4x2\n"
4193 " (parameters\n"
4194 " (declare (in) vec2 u)\n"
4195 " (declare (in) vec4 v))\n"
4196 " ((declare () mat4x2 m)\n"
4197 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))\n"
4198 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))\n"
4199 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (2))) (expression vec2 * (var_ref u) (swiz z (var_ref v))))\n"
4200 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (3))) (expression vec2 * (var_ref u) (swiz w (var_ref v))))\n"
4201 " (return (var_ref m))))\n"
4202 "\n"
4203 " (signature mat4x3\n"
4204 " (parameters\n"
4205 " (declare (in) vec3 u)\n"
4206 " (declare (in) vec4 v))\n"
4207 " ((declare () mat4x3 m)\n"
4208 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))\n"
4209 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))\n"
4210 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (2))) (expression vec3 * (var_ref u) (swiz z (var_ref v))))\n"
4211 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (3))) (expression vec3 * (var_ref u) (swiz w (var_ref v))))\n"
4212 " (return (var_ref m))))\n"
4213 "\n"
4214 " (signature mat4\n"
4215 " (parameters\n"
4216 " (declare (in) vec4 u)\n"
4217 " (declare (in) vec4 v))\n"
4218 " ((declare () mat4 m)\n"
4219 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))\n"
4220 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))\n"
4221 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (2))) (expression vec4 * (var_ref u) (swiz z (var_ref v))))\n"
4222 " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (3))) (expression vec4 * (var_ref u) (swiz w (var_ref v))))\n"
4223 " (return (var_ref m))))\n"
4224 "))\n"
4225 ""
4226;
4227static const char *builtin_shadow1D =
4228 "((function shadow1D\n"
4229 " (signature vec4\n"
4230 " (parameters\n"
4231 " (declare (in) sampler1DShadow sampler)\n"
4232 " (declare (in) vec3 P) )\n"
4233 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) ))))\n"
Kenneth Graunke4b0029a2010-06-08 16:29:17 -07004234 "\n"
4235 " (signature vec4\n"
4236 " (parameters\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004237 " (declare (in) sampler1DShadow sampler)\n"
4238 " (declare (in) vec3 P) \n"
4239 " (declare (in) float bias) )\n"
4240 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref bias) ))))\n"
Kenneth Graunke4b0029a2010-06-08 16:29:17 -07004241 "\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004242 "))\n"
4243 ""
4244;
4245static const char *builtin_noise1 =
4246 "((function noise1\n"
4247 " (signature float\n"
Kenneth Graunke4b0029a2010-06-08 16:29:17 -07004248 " (parameters\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004249 " (declare (in) float x))\n"
4250 " ((return (constant float (0)))))\n"
4251 " (signature float\n"
4252 " (parameters\n"
4253 " (declare (in) vec2 x))\n"
4254 " ((return (constant float (0)))))\n"
4255 " (signature float\n"
4256 " (parameters\n"
4257 " (declare (in) vec3 x))\n"
4258 " ((return (constant float (0)))))\n"
4259 " (signature float\n"
4260 " (parameters\n"
4261 " (declare (in) vec4 x))\n"
4262 " ((return (constant float (0)))))\n"
4263 "))\n"
4264 ""
4265;
4266static const char *builtin_refract =
4267 "((function refract\n"
4268 " (signature float\n"
4269 " (parameters\n"
4270 " (declare (in) float i)\n"
4271 " (declare (in) float n)\n"
4272 " (declare (in) float eta))\n"
4273 " ((declare () float k)\n"
4274 " (assign (constant bool (1)) (var_ref k)\n"
4275 " (expression float - (constant float (1.0))\n"
4276 " (expression float * (var_ref eta)\n"
4277 " (expression float * (var_ref eta)\n"
4278 " (expression float - (constant float (1.0))\n"
4279 " (expression float * \n"
4280 " (expression float dot (var_ref n) (var_ref i))\n"
4281 " (expression float dot (var_ref n) (var_ref i))))))))\n"
4282 " (if (expression bool < (var_ref k) (constant float (0.0)))\n"
4283 " ((return (constant float (0.0))))\n"
4284 " ((return (expression float -\n"
4285 " (expression float * (var_ref eta) (var_ref i))\n"
4286 " (expression float *\n"
4287 " (expression float +\n"
4288 " (expression float * (var_ref eta)\n"
4289 " (expression float dot (var_ref n) (var_ref i)))\n"
4290 " (expression float sqrt (var_ref k)))\n"
4291 " (var_ref n))))))))\n"
Kenneth Graunke4b0029a2010-06-08 16:29:17 -07004292 "\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004293 " (signature vec2\n"
Kenneth Graunke4b0029a2010-06-08 16:29:17 -07004294 " (parameters\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004295 " (declare (in) vec2 i)\n"
4296 " (declare (in) vec2 n)\n"
4297 " (declare (in) float eta))\n"
4298 " ((declare () float k)\n"
4299 " (assign (constant bool (1)) (var_ref k)\n"
4300 " (expression float - (constant float (1.0))\n"
4301 " (expression float * (var_ref eta)\n"
4302 " (expression float * (var_ref eta)\n"
4303 " (expression float - (constant float (1.0))\n"
4304 " (expression float * \n"
4305 " (expression float dot (var_ref n) (var_ref i))\n"
4306 " (expression float dot (var_ref n) (var_ref i))))))))\n"
4307 " (if (expression bool < (var_ref k) (constant float (0.0)))\n"
4308 " ((return (constant vec2 (0.0 0.0))))\n"
4309 " ((return (expression vec2 -\n"
4310 " (expression vec2 * (var_ref eta) (var_ref i))\n"
4311 " (expression vec2 *\n"
4312 " (expression float +\n"
4313 " (expression float * (var_ref eta)\n"
4314 " (expression float dot (var_ref n) (var_ref i)))\n"
4315 " (expression float sqrt (var_ref k)))\n"
4316 " (var_ref n))))))))\n"
4317 "\n"
4318 " (signature vec3\n"
4319 " (parameters\n"
4320 " (declare (in) vec3 i)\n"
4321 " (declare (in) vec3 n)\n"
4322 " (declare (in) float eta))\n"
4323 " ((declare () float k)\n"
4324 " (assign (constant bool (1)) (var_ref k)\n"
4325 " (expression float - (constant float (1.0))\n"
4326 " (expression float * (var_ref eta)\n"
4327 " (expression float * (var_ref eta)\n"
4328 " (expression float - (constant float (1.0))\n"
4329 " (expression float * \n"
4330 " (expression float dot (var_ref n) (var_ref i))\n"
4331 " (expression float dot (var_ref n) (var_ref i))))))))\n"
4332 " (if (expression bool < (var_ref k) (constant float (0.0)))\n"
4333 " ((return (constant vec3 (0.0 0.0 0.0))))\n"
4334 " ((return (expression vec3 -\n"
4335 " (expression vec3 * (var_ref eta) (var_ref i))\n"
4336 " (expression vec3 *\n"
4337 " (expression float +\n"
4338 " (expression float * (var_ref eta)\n"
4339 " (expression float dot (var_ref n) (var_ref i)))\n"
4340 " (expression float sqrt (var_ref k)))\n"
4341 " (var_ref n))))))))\n"
Kenneth Graunke4b0029a2010-06-08 16:29:17 -07004342 "\n"
4343 " (signature vec4\n"
4344 " (parameters\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004345 " (declare (in) vec4 i)\n"
4346 " (declare (in) vec4 n)\n"
4347 " (declare (in) float eta))\n"
4348 " ((declare () float k)\n"
4349 " (assign (constant bool (1)) (var_ref k)\n"
4350 " (expression float - (constant float (1.0))\n"
4351 " (expression float * (var_ref eta)\n"
4352 " (expression float * (var_ref eta)\n"
4353 " (expression float - (constant float (1.0))\n"
4354 " (expression float * \n"
4355 " (expression float dot (var_ref n) (var_ref i))\n"
4356 " (expression float dot (var_ref n) (var_ref i))))))))\n"
4357 " (if (expression bool < (var_ref k) (constant float (0.0)))\n"
4358 " ((return (constant vec4 (0.0 0.0 0.0 0.0))))\n"
4359 " ((return (expression vec4 -\n"
4360 " (expression vec4 * (var_ref eta) (var_ref i))\n"
4361 " (expression vec4 *\n"
4362 " (expression float +\n"
4363 " (expression float * (var_ref eta)\n"
4364 " (expression float dot (var_ref n) (var_ref i)))\n"
4365 " (expression float sqrt (var_ref k)))\n"
4366 " (var_ref n))))))))\n"
4367 "\n"
4368 "))\n"
4369 ""
4370;
4371static const char *builtin_noise3 =
4372 "((function noise3\n"
4373 " (signature vec3\n"
4374 " (parameters\n"
4375 " (declare (in) float x))\n"
4376 " ((return (constant vec3 (0 0 0)))))\n"
4377 " (signature vec3\n"
4378 " (parameters\n"
4379 " (declare (in) vec2 x))\n"
4380 " ((return (constant vec3 (0 0 0)))))\n"
4381 " (signature vec3\n"
4382 " (parameters\n"
4383 " (declare (in) vec3 x))\n"
4384 " ((return (constant vec3 (0 0 0)))))\n"
4385 " (signature vec3\n"
4386 " (parameters\n"
4387 " (declare (in) vec4 x))\n"
4388 " ((return (constant vec3 (0 0 0)))))\n"
4389 "))\n"
4390 ""
4391;
4392static const char *builtin_min =
4393 "((function min\n"
4394 " (signature float\n"
4395 " (parameters\n"
4396 " (declare (in) float arg0)\n"
4397 " (declare (in) float arg1))\n"
4398 " ((return (expression float min (var_ref arg0) (var_ref arg1)))))\n"
4399 "\n"
4400 " (signature vec2\n"
4401 " (parameters\n"
4402 " (declare (in) vec2 arg0)\n"
4403 " (declare (in) vec2 arg1))\n"
4404 " ((return (expression vec2 min (var_ref arg0) (var_ref arg1)))))\n"
4405 "\n"
4406 " (signature vec3\n"
4407 " (parameters\n"
4408 " (declare (in) vec3 arg0)\n"
4409 " (declare (in) vec3 arg1))\n"
4410 " ((return (expression vec3 min (var_ref arg0) (var_ref arg1)))))\n"
4411 "\n"
4412 " (signature vec4\n"
4413 " (parameters\n"
4414 " (declare (in) vec4 arg0)\n"
4415 " (declare (in) vec4 arg1))\n"
4416 " ((return (expression vec4 min (var_ref arg0) (var_ref arg1)))))\n"
4417 "\n"
4418 " (signature vec2\n"
4419 " (parameters\n"
4420 " (declare (in) vec2 arg0)\n"
4421 " (declare (in) float arg1))\n"
4422 " ((return (expression vec2 min (var_ref arg0) (var_ref arg1)))))\n"
4423 "\n"
4424 " (signature vec3\n"
4425 " (parameters\n"
4426 " (declare (in) vec3 arg0)\n"
4427 " (declare (in) float arg1))\n"
4428 " ((return (expression vec3 min (var_ref arg0) (var_ref arg1)))))\n"
4429 "\n"
4430 " (signature vec4\n"
4431 " (parameters\n"
4432 " (declare (in) vec4 arg0)\n"
4433 " (declare (in) float arg1))\n"
4434 " ((return (expression vec4 min (var_ref arg0) (var_ref arg1)))))\n"
4435 "\n"
4436 " (signature int\n"
4437 " (parameters\n"
4438 " (declare (in) int arg0)\n"
4439 " (declare (in) int arg1))\n"
4440 " ((return (expression int min (var_ref arg0) (var_ref arg1)))))\n"
4441 "\n"
4442 " (signature ivec2\n"
4443 " (parameters\n"
4444 " (declare (in) ivec2 arg0)\n"
4445 " (declare (in) ivec2 arg1))\n"
4446 " ((return (expression ivec2 min (var_ref arg0) (var_ref arg1)))))\n"
4447 "\n"
4448 " (signature ivec3\n"
4449 " (parameters\n"
4450 " (declare (in) ivec3 arg0)\n"
4451 " (declare (in) ivec3 arg1))\n"
4452 " ((return (expression ivec3 min (var_ref arg0) (var_ref arg1)))))\n"
Kenneth Graunke4b0029a2010-06-08 16:29:17 -07004453 "\n"
4454 " (signature ivec4\n"
4455 " (parameters\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004456 " (declare (in) ivec4 arg0)\n"
4457 " (declare (in) ivec4 arg1))\n"
4458 " ((return (expression ivec4 min (var_ref arg0) (var_ref arg1)))))\n"
4459 "\n"
4460 " (signature ivec2\n"
4461 " (parameters\n"
4462 " (declare (in) ivec2 arg0)\n"
4463 " (declare (in) int arg1))\n"
4464 " ((return (expression ivec2 min (var_ref arg0) (var_ref arg1)))))\n"
4465 "\n"
4466 " (signature ivec3\n"
4467 " (parameters\n"
4468 " (declare (in) ivec3 arg0)\n"
4469 " (declare (in) int arg1))\n"
4470 " ((return (expression ivec3 min (var_ref arg0) (var_ref arg1)))))\n"
4471 "\n"
4472 " (signature ivec4\n"
4473 " (parameters\n"
4474 " (declare (in) ivec4 arg0)\n"
4475 " (declare (in) int arg1))\n"
4476 " ((return (expression ivec4 min (var_ref arg0) (var_ref arg1)))))\n"
4477 "\n"
4478 " (signature uint\n"
4479 " (parameters\n"
4480 " (declare (in) uint arg0)\n"
4481 " (declare (in) uint arg1))\n"
4482 " ((return (expression uint min (var_ref arg0) (var_ref arg1)))))\n"
4483 "\n"
4484 " (signature uvec2\n"
4485 " (parameters\n"
4486 " (declare (in) uvec2 arg0)\n"
4487 " (declare (in) uvec2 arg1))\n"
4488 " ((return (expression uvec2 min (var_ref arg0) (var_ref arg1)))))\n"
4489 "\n"
4490 " (signature uvec3\n"
4491 " (parameters\n"
4492 " (declare (in) uvec3 arg0)\n"
4493 " (declare (in) uvec3 arg1))\n"
4494 " ((return (expression uvec3 min (var_ref arg0) (var_ref arg1)))))\n"
Kenneth Graunke4b0029a2010-06-08 16:29:17 -07004495 "\n"
4496 " (signature uvec4\n"
4497 " (parameters\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004498 " (declare (in) uvec4 arg0)\n"
4499 " (declare (in) uvec4 arg1))\n"
4500 " ((return (expression uvec4 min (var_ref arg0) (var_ref arg1)))))\n"
Kenneth Graunke4b0029a2010-06-08 16:29:17 -07004501 "\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004502 " (signature uvec2\n"
4503 " (parameters\n"
4504 " (declare (in) uvec2 arg0)\n"
4505 " (declare (in) uint arg1))\n"
4506 " ((return (expression uvec2 min (var_ref arg0) (var_ref arg1)))))\n"
4507 "\n"
4508 " (signature uvec3\n"
4509 " (parameters\n"
4510 " (declare (in) uvec3 arg0)\n"
4511 " (declare (in) uint arg1))\n"
4512 " ((return (expression uvec3 min (var_ref arg0) (var_ref arg1)))))\n"
4513 "\n"
4514 " (signature uvec4\n"
4515 " (parameters\n"
4516 " (declare (in) uvec4 arg0)\n"
4517 " (declare (in) uint arg1))\n"
4518 " ((return (expression uvec4 min (var_ref arg0) (var_ref arg1)))))\n"
4519 "))\n"
4520 ""
4521;
4522static const char *builtin_textureCube =
4523 "((function textureCube\n"
Kenneth Graunke4b0029a2010-06-08 16:29:17 -07004524 " (signature vec4\n"
4525 " (parameters\n"
4526 " (declare (in) samplerCube sampler)\n"
4527 " (declare (in) vec3 P) )\n"
4528 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
4529 "\n"
Kenneth Graunke4b0029a2010-06-08 16:29:17 -07004530 " (signature vec4\n"
4531 " (parameters\n"
4532 " (declare (in) samplerCube sampler)\n"
4533 " (declare (in) vec3 P) \n"
4534 " (declare (in) float bias) )\n"
4535 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
4536 "\n"
Kenneth Graunke4b0029a2010-06-08 16:29:17 -07004537 "))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004538 ""
4539;
4540static const char *builtin_shadow1DArray =
4541 "((function shadow1DArray\n"
Kenneth Graunke4b0029a2010-06-08 16:29:17 -07004542 " (signature vec4\n"
4543 " (parameters\n"
4544 " (declare (in) sampler1DArrayShadow sampler)\n"
4545 " (declare (in) vec3 P) )\n"
4546 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) ))))\n"
4547 "\n"
Kenneth Graunke4b0029a2010-06-08 16:29:17 -07004548 " (signature vec4\n"
4549 " (parameters\n"
4550 " (declare (in) sampler1DArrayShadow sampler)\n"
4551 " (declare (in) vec3 P) \n"
4552 " (declare (in) float bias) )\n"
4553 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref bias) ))))\n"
4554 "\n"
4555 "))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004556 ""
4557;
4558static const char *builtin_exp =
4559 "((function exp\n"
4560 " (signature float\n"
4561 " (parameters\n"
4562 " (declare (in) float arg0))\n"
4563 " ((return (expression float exp (var_ref arg0)))))\n"
4564 "\n"
4565 " (signature vec2\n"
4566 " (parameters\n"
4567 " (declare (in) vec2 arg0))\n"
4568 " ((return (expression vec2 exp (var_ref arg0)))))\n"
4569 "\n"
4570 " (signature vec3\n"
4571 " (parameters\n"
4572 " (declare (in) vec3 arg0))\n"
4573 " ((return (expression vec3 exp (var_ref arg0)))))\n"
4574 "\n"
4575 " (signature vec4\n"
4576 " (parameters\n"
4577 " (declare (in) vec4 arg0))\n"
4578 " ((return (expression vec4 exp (var_ref arg0)))))\n"
4579 "))\n"
4580 ""
4581;
4582static const char *builtin_greaterThan =
4583 "((function greaterThan\n"
4584 " (signature bvec2\n"
4585 " (parameters\n"
4586 " (declare (in) vec2 arg0)\n"
4587 " (declare (in) vec2 arg1))\n"
4588 " ((declare () bvec2 temp)\n"
4589 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
4590 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
4591 " (return (var_ref temp))))\n"
4592 "\n"
4593 " (signature bvec3\n"
4594 " (parameters\n"
4595 " (declare (in) vec3 arg0)\n"
4596 " (declare (in) vec3 arg1))\n"
4597 " ((declare () bvec3 temp)\n"
4598 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
4599 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
4600 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
4601 " (return (var_ref temp))))\n"
4602 "\n"
4603 " (signature bvec4\n"
4604 " (parameters\n"
4605 " (declare (in) vec4 arg0)\n"
4606 " (declare (in) vec4 arg1))\n"
4607 " ((declare () bvec4 temp)\n"
4608 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
4609 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
4610 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
4611 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool > (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
4612 " (return (var_ref temp))))\n"
4613 "\n"
4614 " (signature bvec2\n"
4615 " (parameters\n"
4616 " (declare (in) ivec2 arg0)\n"
4617 " (declare (in) ivec2 arg1))\n"
4618 " ((declare () bvec2 temp)\n"
4619 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
4620 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
4621 " (return (var_ref temp))))\n"
4622 "\n"
4623 " (signature bvec3\n"
4624 " (parameters\n"
4625 " (declare (in) ivec3 arg0)\n"
4626 " (declare (in) ivec3 arg1))\n"
4627 " ((declare () bvec3 temp)\n"
4628 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
4629 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
4630 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
4631 " (return (var_ref temp))))\n"
4632 "\n"
4633 " (signature bvec4\n"
4634 " (parameters\n"
4635 " (declare (in) ivec4 arg0)\n"
4636 " (declare (in) ivec4 arg1))\n"
4637 " ((declare () bvec4 temp)\n"
4638 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
4639 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
4640 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
4641 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool > (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
4642 " (return (var_ref temp))))\n"
4643 "\n"
4644 " (signature bvec2\n"
4645 " (parameters\n"
4646 " (declare (in) uvec2 arg0)\n"
4647 " (declare (in) uvec2 arg1))\n"
4648 " ((declare () bvec2 temp)\n"
4649 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
4650 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
4651 " (return (var_ref temp))))\n"
4652 "\n"
4653 " (signature bvec3\n"
4654 " (parameters\n"
4655 " (declare (in) uvec3 arg0)\n"
4656 " (declare (in) uvec3 arg1))\n"
4657 " ((declare () bvec3 temp)\n"
4658 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
4659 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
4660 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
4661 " (return (var_ref temp))))\n"
4662 "\n"
4663 " (signature bvec4\n"
4664 " (parameters\n"
4665 " (declare (in) uvec4 arg0)\n"
4666 " (declare (in) uvec4 arg1))\n"
4667 " ((declare () bvec4 temp)\n"
4668 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
4669 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
4670 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
4671 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool > (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
4672 " (return (var_ref temp))))\n"
4673 "))\n"
4674 ""
4675;
4676static const char *builtin_texture2DLod =
4677 "((function texture2DLod\n"
4678 " (signature vec4\n"
4679 " (parameters\n"
4680 " (declare (in) sampler2D sampler)\n"
4681 " (declare (in) vec2 P) \n"
4682 " (declare (in) float lod) )\n"
4683 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4684 "\n"
4685 "))\n"
4686 ""
4687;
4688static const char *builtin_dot =
4689 "((function dot\n"
4690 " (signature float\n"
4691 " (parameters\n"
4692 " (declare (in) float arg0)\n"
4693 " (declare (in) float arg1))\n"
4694 " ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
4695 "\n"
4696 " (signature float\n"
4697 " (parameters\n"
4698 " (declare (in) vec2 arg0)\n"
4699 " (declare (in) vec2 arg1))\n"
4700 " ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
4701 "\n"
4702 " (signature float\n"
4703 " (parameters\n"
4704 " (declare (in) vec3 arg0)\n"
4705 " (declare (in) vec3 arg1))\n"
4706 " ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
4707 "\n"
4708 " (signature float\n"
4709 " (parameters\n"
4710 " (declare (in) vec4 arg0)\n"
4711 " (declare (in) vec4 arg1))\n"
4712 " ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
4713 "))\n"
4714 ""
4715;
4716static const char *prototypes_for_120_vert =
4717 "(\n"
4718 "(function radians\n"
4719 " (signature float\n"
4720 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004721 " (declare (in) float degrees))\n"
4722 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004723 " (signature vec2\n"
4724 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004725 " (declare (in) vec2 degrees))\n"
4726 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004727 " (signature vec3\n"
4728 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004729 " (declare (in) vec3 degrees))\n"
4730 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004731 " (signature vec4\n"
4732 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004733 " (declare (in) vec4 degrees))\n"
4734 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004735 "(function degrees\n"
4736 " (signature float\n"
4737 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004738 " (declare (in) float radians))\n"
4739 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004740 " (signature vec2\n"
4741 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004742 " (declare (in) vec2 radians))\n"
4743 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004744 " (signature vec3\n"
4745 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004746 " (declare (in) vec3 radians))\n"
4747 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004748 " (signature vec4\n"
4749 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004750 " (declare (in) vec4 radians))\n"
4751 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004752 "(function sin\n"
4753 " (signature float\n"
4754 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004755 " (declare (in) float angle))\n"
4756 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004757 " (signature vec2\n"
4758 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004759 " (declare (in) vec2 angle))\n"
4760 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004761 " (signature vec3\n"
4762 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004763 " (declare (in) vec3 angle))\n"
4764 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004765 " (signature vec4\n"
4766 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004767 " (declare (in) vec4 angle))\n"
4768 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004769 "(function cos\n"
4770 " (signature float\n"
4771 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004772 " (declare (in) float angle))\n"
4773 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004774 " (signature vec2\n"
4775 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004776 " (declare (in) vec2 angle))\n"
4777 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004778 " (signature vec3\n"
4779 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004780 " (declare (in) vec3 angle))\n"
4781 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004782 " (signature vec4\n"
4783 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004784 " (declare (in) vec4 angle))\n"
4785 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004786 "(function tan\n"
4787 " (signature float\n"
4788 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004789 " (declare (in) float angle))\n"
4790 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004791 " (signature vec2\n"
4792 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004793 " (declare (in) vec2 angle))\n"
4794 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004795 " (signature vec3\n"
4796 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004797 " (declare (in) vec3 angle))\n"
4798 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004799 " (signature vec4\n"
4800 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004801 " (declare (in) vec4 angle))\n"
4802 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004803 "(function asin\n"
4804 " (signature float\n"
4805 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004806 " (declare (in) float angle))\n"
4807 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004808 " (signature vec2\n"
4809 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004810 " (declare (in) vec2 angle))\n"
4811 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004812 " (signature vec3\n"
4813 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004814 " (declare (in) vec3 angle))\n"
4815 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004816 " (signature vec4\n"
4817 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004818 " (declare (in) vec4 angle))\n"
4819 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004820 "(function acos\n"
4821 " (signature float\n"
4822 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004823 " (declare (in) float angle))\n"
4824 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004825 " (signature vec2\n"
4826 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004827 " (declare (in) vec2 angle))\n"
4828 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004829 " (signature vec3\n"
4830 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004831 " (declare (in) vec3 angle))\n"
4832 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004833 " (signature vec4\n"
4834 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004835 " (declare (in) vec4 angle))\n"
4836 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004837 "(function atan\n"
4838 " (signature float\n"
4839 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004840 " (declare (in) float y)\n"
4841 " (declare (in) float x))\n"
4842 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004843 " (signature vec2\n"
4844 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004845 " (declare (in) vec2 y)\n"
4846 " (declare (in) vec2 x))\n"
4847 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004848 " (signature vec3\n"
4849 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004850 " (declare (in) vec3 y)\n"
4851 " (declare (in) vec3 x))\n"
4852 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004853 " (signature vec4\n"
4854 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004855 " (declare (in) vec4 y)\n"
4856 " (declare (in) vec4 x))\n"
4857 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004858 " (signature float\n"
4859 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004860 " (declare (in) float y_over_x))\n"
4861 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004862 " (signature vec2\n"
4863 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004864 " (declare (in) vec2 y_over_x))\n"
4865 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004866 " (signature vec3\n"
4867 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004868 " (declare (in) vec3 y_over_x))\n"
4869 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004870 " (signature vec4\n"
4871 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004872 " (declare (in) vec4 y_over_x))\n"
4873 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004874 "(function pow\n"
4875 " (signature float\n"
4876 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004877 " (declare (in) float x)\n"
4878 " (declare (in) float y))\n"
4879 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004880 " (signature vec2\n"
4881 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004882 " (declare (in) vec2 x)\n"
4883 " (declare (in) vec2 y))\n"
4884 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004885 " (signature vec3\n"
4886 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004887 " (declare (in) vec3 x)\n"
4888 " (declare (in) vec3 y))\n"
4889 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004890 " (signature vec4\n"
4891 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004892 " (declare (in) vec4 x)\n"
4893 " (declare (in) vec4 y))\n"
4894 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004895 "(function exp\n"
4896 " (signature float\n"
4897 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004898 " (declare (in) float x))\n"
4899 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004900 " (signature vec2\n"
4901 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004902 " (declare (in) vec2 x))\n"
4903 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004904 " (signature vec3\n"
4905 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004906 " (declare (in) vec3 x))\n"
4907 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004908 " (signature vec4\n"
4909 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004910 " (declare (in) vec4 x))\n"
4911 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004912 "(function log\n"
4913 " (signature float\n"
4914 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004915 " (declare (in) float x))\n"
4916 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004917 " (signature vec2\n"
4918 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004919 " (declare (in) vec2 x))\n"
4920 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004921 " (signature vec3\n"
4922 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004923 " (declare (in) vec3 x))\n"
4924 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004925 " (signature vec4\n"
4926 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004927 " (declare (in) vec4 x))\n"
4928 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004929 "(function exp2\n"
4930 " (signature float\n"
4931 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004932 " (declare (in) float x))\n"
4933 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004934 " (signature vec2\n"
4935 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004936 " (declare (in) vec2 x))\n"
4937 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004938 " (signature vec3\n"
4939 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004940 " (declare (in) vec3 x))\n"
4941 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004942 " (signature vec4\n"
4943 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004944 " (declare (in) vec4 x))\n"
4945 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004946 "(function log2\n"
4947 " (signature float\n"
4948 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004949 " (declare (in) float x))\n"
4950 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004951 " (signature vec2\n"
4952 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004953 " (declare (in) vec2 x))\n"
4954 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004955 " (signature vec3\n"
4956 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004957 " (declare (in) vec3 x))\n"
4958 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004959 " (signature vec4\n"
4960 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004961 " (declare (in) vec4 x))\n"
4962 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004963 "(function sqrt\n"
4964 " (signature float\n"
4965 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004966 " (declare (in) float x))\n"
4967 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004968 " (signature vec2\n"
4969 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004970 " (declare (in) vec2 x))\n"
4971 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004972 " (signature vec3\n"
4973 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004974 " (declare (in) vec3 x))\n"
4975 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004976 " (signature vec4\n"
4977 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004978 " (declare (in) vec4 x))\n"
4979 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004980 "(function inversesqrt\n"
4981 " (signature float\n"
4982 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004983 " (declare (in) float x))\n"
4984 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004985 " (signature vec2\n"
4986 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004987 " (declare (in) vec2 x))\n"
4988 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004989 " (signature vec3\n"
4990 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004991 " (declare (in) vec3 x))\n"
4992 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004993 " (signature vec4\n"
4994 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07004995 " (declare (in) vec4 x))\n"
4996 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004997 "(function abs\n"
4998 " (signature float\n"
4999 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005000 " (declare (in) float x))\n"
5001 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005002 " (signature vec2\n"
5003 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005004 " (declare (in) vec2 x))\n"
5005 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005006 " (signature vec3\n"
5007 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005008 " (declare (in) vec3 x))\n"
5009 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005010 " (signature vec4\n"
5011 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005012 " (declare (in) vec4 x))\n"
5013 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005014 "(function sign\n"
5015 " (signature float\n"
5016 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005017 " (declare (in) float x))\n"
5018 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005019 " (signature vec2\n"
5020 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005021 " (declare (in) vec2 x))\n"
5022 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005023 " (signature vec3\n"
5024 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005025 " (declare (in) vec3 x))\n"
5026 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005027 " (signature vec4\n"
5028 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005029 " (declare (in) vec4 x))\n"
5030 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005031 "(function floor\n"
5032 " (signature float\n"
5033 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005034 " (declare (in) float x))\n"
5035 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005036 " (signature vec2\n"
5037 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005038 " (declare (in) vec2 x))\n"
5039 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005040 " (signature vec3\n"
5041 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005042 " (declare (in) vec3 x))\n"
5043 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005044 " (signature vec4\n"
5045 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005046 " (declare (in) vec4 x))\n"
5047 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005048 "(function ceil\n"
5049 " (signature float\n"
5050 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005051 " (declare (in) float x))\n"
5052 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005053 " (signature vec2\n"
5054 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005055 " (declare (in) vec2 x))\n"
5056 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005057 " (signature vec3\n"
5058 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005059 " (declare (in) vec3 x))\n"
5060 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005061 " (signature vec4\n"
5062 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005063 " (declare (in) vec4 x))\n"
5064 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005065 "(function fract\n"
5066 " (signature float\n"
5067 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005068 " (declare (in) float x))\n"
5069 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005070 " (signature vec2\n"
5071 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005072 " (declare (in) vec2 x))\n"
5073 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005074 " (signature vec3\n"
5075 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005076 " (declare (in) vec3 x))\n"
5077 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005078 " (signature vec4\n"
5079 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005080 " (declare (in) vec4 x))\n"
5081 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005082 "(function mod\n"
5083 " (signature float\n"
5084 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005085 " (declare (in) float x)\n"
5086 " (declare (in) float y))\n"
5087 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005088 " (signature vec2\n"
5089 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005090 " (declare (in) vec2 x)\n"
5091 " (declare (in) float y))\n"
5092 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005093 " (signature vec3\n"
5094 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005095 " (declare (in) vec3 x)\n"
5096 " (declare (in) float y))\n"
5097 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005098 " (signature vec4\n"
5099 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005100 " (declare (in) vec4 x)\n"
5101 " (declare (in) float y))\n"
5102 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005103 " (signature vec2\n"
5104 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005105 " (declare (in) vec2 x)\n"
5106 " (declare (in) vec2 y))\n"
5107 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005108 " (signature vec3\n"
5109 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005110 " (declare (in) vec3 x)\n"
5111 " (declare (in) vec3 y))\n"
5112 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005113 " (signature vec4\n"
5114 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005115 " (declare (in) vec4 x)\n"
5116 " (declare (in) vec4 y))\n"
5117 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005118 "(function min\n"
5119 " (signature float\n"
5120 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005121 " (declare (in) float x)\n"
5122 " (declare (in) float y))\n"
5123 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005124 " (signature vec2\n"
5125 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005126 " (declare (in) vec2 x)\n"
5127 " (declare (in) vec2 y))\n"
5128 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005129 " (signature vec3\n"
5130 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005131 " (declare (in) vec3 x)\n"
5132 " (declare (in) vec3 y))\n"
5133 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005134 " (signature vec4\n"
5135 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005136 " (declare (in) vec4 x)\n"
5137 " (declare (in) vec4 y))\n"
5138 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005139 " (signature vec2\n"
5140 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005141 " (declare (in) vec2 x)\n"
5142 " (declare (in) float y))\n"
5143 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005144 " (signature vec3\n"
5145 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005146 " (declare (in) vec3 x)\n"
5147 " (declare (in) float y))\n"
5148 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005149 " (signature vec4\n"
5150 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005151 " (declare (in) vec4 x)\n"
5152 " (declare (in) float y))\n"
5153 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005154 "(function max\n"
5155 " (signature float\n"
5156 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005157 " (declare (in) float x)\n"
5158 " (declare (in) float y))\n"
5159 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005160 " (signature vec2\n"
5161 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005162 " (declare (in) vec2 x)\n"
5163 " (declare (in) vec2 y))\n"
5164 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005165 " (signature vec3\n"
5166 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005167 " (declare (in) vec3 x)\n"
5168 " (declare (in) vec3 y))\n"
5169 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005170 " (signature vec4\n"
5171 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005172 " (declare (in) vec4 x)\n"
5173 " (declare (in) vec4 y))\n"
5174 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005175 " (signature vec2\n"
5176 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005177 " (declare (in) vec2 x)\n"
5178 " (declare (in) float y))\n"
5179 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005180 " (signature vec3\n"
5181 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005182 " (declare (in) vec3 x)\n"
5183 " (declare (in) float y))\n"
5184 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005185 " (signature vec4\n"
5186 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005187 " (declare (in) vec4 x)\n"
5188 " (declare (in) float y))\n"
5189 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005190 "(function clamp\n"
5191 " (signature float\n"
5192 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005193 " (declare (in) float x)\n"
5194 " (declare (in) float minVal)\n"
5195 " (declare (in) float maxVal))\n"
5196 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005197 " (signature vec2\n"
5198 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005199 " (declare (in) vec2 x)\n"
5200 " (declare (in) vec2 minVal)\n"
5201 " (declare (in) vec2 maxVal))\n"
5202 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005203 " (signature vec3\n"
5204 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005205 " (declare (in) vec3 x)\n"
5206 " (declare (in) vec3 minVal)\n"
5207 " (declare (in) vec3 maxVal))\n"
5208 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005209 " (signature vec4\n"
5210 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005211 " (declare (in) vec4 x)\n"
5212 " (declare (in) vec4 minVal)\n"
5213 " (declare (in) vec4 maxVal))\n"
5214 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005215 " (signature vec2\n"
5216 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005217 " (declare (in) vec2 x)\n"
5218 " (declare (in) float minVal)\n"
5219 " (declare (in) float maxVal))\n"
5220 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005221 " (signature vec3\n"
5222 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005223 " (declare (in) vec3 x)\n"
5224 " (declare (in) float minVal)\n"
5225 " (declare (in) float maxVal))\n"
5226 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005227 " (signature vec4\n"
5228 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005229 " (declare (in) vec4 x)\n"
5230 " (declare (in) float minVal)\n"
5231 " (declare (in) float maxVal))\n"
5232 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005233 "(function mix\n"
5234 " (signature float\n"
5235 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005236 " (declare (in) float x)\n"
5237 " (declare (in) float y)\n"
5238 " (declare (in) float a))\n"
5239 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005240 " (signature vec2\n"
5241 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005242 " (declare (in) vec2 x)\n"
5243 " (declare (in) vec2 y)\n"
5244 " (declare (in) vec2 a))\n"
5245 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005246 " (signature vec3\n"
5247 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005248 " (declare (in) vec3 x)\n"
5249 " (declare (in) vec3 y)\n"
5250 " (declare (in) vec3 a))\n"
5251 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005252 " (signature vec4\n"
5253 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005254 " (declare (in) vec4 x)\n"
5255 " (declare (in) vec4 y)\n"
5256 " (declare (in) vec4 a))\n"
5257 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005258 " (signature vec2\n"
5259 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005260 " (declare (in) vec2 x)\n"
5261 " (declare (in) vec2 y)\n"
5262 " (declare (in) float a))\n"
5263 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005264 " (signature vec3\n"
5265 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005266 " (declare (in) vec3 x)\n"
5267 " (declare (in) vec3 y)\n"
5268 " (declare (in) float a))\n"
5269 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005270 " (signature vec4\n"
5271 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005272 " (declare (in) vec4 x)\n"
5273 " (declare (in) vec4 y)\n"
5274 " (declare (in) float a))\n"
5275 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005276 "(function step\n"
5277 " (signature float\n"
5278 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005279 " (declare (in) float edge)\n"
5280 " (declare (in) float x))\n"
5281 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005282 " (signature vec2\n"
5283 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005284 " (declare (in) vec2 edge)\n"
5285 " (declare (in) vec2 x))\n"
5286 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005287 " (signature vec3\n"
5288 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005289 " (declare (in) vec3 edge)\n"
5290 " (declare (in) vec3 x))\n"
5291 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005292 " (signature vec4\n"
5293 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005294 " (declare (in) vec4 edge)\n"
5295 " (declare (in) vec4 x))\n"
5296 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005297 " (signature vec2\n"
5298 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005299 " (declare (in) float edge)\n"
5300 " (declare (in) vec2 x))\n"
5301 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005302 " (signature vec3\n"
5303 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005304 " (declare (in) float edge)\n"
5305 " (declare (in) vec3 x))\n"
5306 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005307 " (signature vec4\n"
5308 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005309 " (declare (in) float edge)\n"
5310 " (declare (in) vec4 x))\n"
5311 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005312 "(function smoothstep\n"
5313 " (signature float\n"
5314 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005315 " (declare (in) float edge0)\n"
5316 " (declare (in) float edge1)\n"
5317 " (declare (in) float x))\n"
5318 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005319 " (signature vec2\n"
5320 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005321 " (declare (in) vec2 edge0)\n"
5322 " (declare (in) vec2 edge1)\n"
5323 " (declare (in) vec2 x))\n"
5324 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005325 " (signature vec3\n"
5326 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005327 " (declare (in) vec3 edge0)\n"
5328 " (declare (in) vec3 edge1)\n"
5329 " (declare (in) vec3 x))\n"
5330 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005331 " (signature vec4\n"
5332 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005333 " (declare (in) vec4 edge0)\n"
5334 " (declare (in) vec4 edge1)\n"
5335 " (declare (in) vec4 x))\n"
5336 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005337 " (signature vec2\n"
5338 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005339 " (declare (in) float edge0)\n"
5340 " (declare (in) float edge1)\n"
5341 " (declare (in) vec2 x))\n"
5342 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005343 " (signature vec3\n"
5344 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005345 " (declare (in) float edge0)\n"
5346 " (declare (in) float edge1)\n"
5347 " (declare (in) vec3 x))\n"
5348 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005349 " (signature vec4\n"
5350 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005351 " (declare (in) float edge0)\n"
5352 " (declare (in) float edge1)\n"
5353 " (declare (in) vec4 x))\n"
5354 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005355 "(function length\n"
5356 " (signature float\n"
5357 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005358 " (declare (in) float x))\n"
5359 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005360 " (signature float\n"
5361 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005362 " (declare (in) vec2 x))\n"
5363 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005364 " (signature float\n"
5365 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005366 " (declare (in) vec3 x))\n"
5367 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005368 " (signature float\n"
5369 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005370 " (declare (in) vec4 x))\n"
5371 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005372 "(function distance\n"
5373 " (signature float\n"
5374 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005375 " (declare (in) float p0)\n"
5376 " (declare (in) float p1))\n"
5377 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005378 " (signature float\n"
5379 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005380 " (declare (in) vec2 p0)\n"
5381 " (declare (in) vec2 p1))\n"
5382 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005383 " (signature float\n"
5384 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005385 " (declare (in) vec3 p0)\n"
5386 " (declare (in) vec3 p1))\n"
5387 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005388 " (signature float\n"
5389 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005390 " (declare (in) vec4 p0)\n"
5391 " (declare (in) vec4 p1))\n"
5392 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005393 "(function dot\n"
5394 " (signature float\n"
5395 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005396 " (declare (in) float x)\n"
5397 " (declare (in) float y))\n"
5398 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005399 " (signature float\n"
5400 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005401 " (declare (in) vec2 x)\n"
5402 " (declare (in) vec2 y))\n"
5403 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005404 " (signature float\n"
5405 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005406 " (declare (in) vec3 x)\n"
5407 " (declare (in) vec3 y))\n"
5408 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005409 " (signature float\n"
5410 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005411 " (declare (in) vec4 x)\n"
5412 " (declare (in) vec4 y))\n"
5413 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005414 "(function cross\n"
5415 " (signature vec3\n"
5416 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005417 " (declare (in) vec3 x)\n"
5418 " (declare (in) vec3 y))\n"
5419 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005420 "(function normalize\n"
5421 " (signature float\n"
5422 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005423 " (declare (in) float x))\n"
5424 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005425 " (signature vec2\n"
5426 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005427 " (declare (in) vec2 x))\n"
5428 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005429 " (signature vec3\n"
5430 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005431 " (declare (in) vec3 x))\n"
5432 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005433 " (signature vec4\n"
5434 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005435 " (declare (in) vec4 x))\n"
5436 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005437 "(function ftransform\n"
5438 " (signature vec4\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005439 " (parameters)\n"
5440 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005441 "(function faceforward\n"
5442 " (signature float\n"
5443 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005444 " (declare (in) float N)\n"
5445 " (declare (in) float I)\n"
5446 " (declare (in) float Nref))\n"
5447 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005448 " (signature vec2\n"
5449 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005450 " (declare (in) vec2 N)\n"
5451 " (declare (in) vec2 I)\n"
5452 " (declare (in) vec2 Nref))\n"
5453 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005454 " (signature vec3\n"
5455 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005456 " (declare (in) vec3 N)\n"
5457 " (declare (in) vec3 I)\n"
5458 " (declare (in) vec3 Nref))\n"
5459 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005460 " (signature vec4\n"
5461 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005462 " (declare (in) vec4 N)\n"
5463 " (declare (in) vec4 I)\n"
5464 " (declare (in) vec4 Nref))\n"
5465 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005466 "(function reflect\n"
5467 " (signature float\n"
5468 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005469 " (declare (in) float I)\n"
5470 " (declare (in) float N))\n"
5471 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005472 " (signature vec2\n"
5473 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005474 " (declare (in) vec2 I)\n"
5475 " (declare (in) vec2 N))\n"
5476 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005477 " (signature vec3\n"
5478 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005479 " (declare (in) vec3 I)\n"
5480 " (declare (in) vec3 N))\n"
5481 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005482 " (signature vec4\n"
5483 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005484 " (declare (in) vec4 I)\n"
5485 " (declare (in) vec4 N))\n"
5486 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005487 "(function refract\n"
5488 " (signature float\n"
5489 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005490 " (declare (in) float I)\n"
5491 " (declare (in) float N)\n"
5492 " (declare (in) float eta))\n"
5493 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005494 " (signature vec2\n"
5495 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005496 " (declare (in) vec2 I)\n"
5497 " (declare (in) vec2 N)\n"
5498 " (declare (in) float eta))\n"
5499 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005500 " (signature vec3\n"
5501 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005502 " (declare (in) vec3 I)\n"
5503 " (declare (in) vec3 N)\n"
5504 " (declare (in) float eta))\n"
5505 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005506 " (signature vec4\n"
5507 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005508 " (declare (in) vec4 I)\n"
5509 " (declare (in) vec4 N)\n"
5510 " (declare (in) float eta))\n"
5511 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005512 "(function matrixCompMult\n"
5513 " (signature mat2\n"
5514 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005515 " (declare (in) mat2 x)\n"
5516 " (declare (in) mat2 y))\n"
5517 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005518 " (signature mat3\n"
5519 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005520 " (declare (in) mat3 x)\n"
5521 " (declare (in) mat3 y))\n"
5522 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005523 " (signature mat4\n"
5524 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005525 " (declare (in) mat4 x)\n"
5526 " (declare (in) mat4 y))\n"
5527 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005528 " (signature mat2x3\n"
5529 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005530 " (declare (in) mat2x3 x)\n"
5531 " (declare (in) mat2x3 y))\n"
5532 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005533 " (signature mat2x4\n"
5534 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005535 " (declare (in) mat2x4 x)\n"
5536 " (declare (in) mat2x4 y))\n"
5537 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005538 " (signature mat3x2\n"
5539 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005540 " (declare (in) mat3x2 x)\n"
5541 " (declare (in) mat3x2 y))\n"
5542 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005543 " (signature mat3x4\n"
5544 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005545 " (declare (in) mat3x4 x)\n"
5546 " (declare (in) mat3x4 y))\n"
5547 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005548 " (signature mat4x2\n"
5549 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005550 " (declare (in) mat4x2 x)\n"
5551 " (declare (in) mat4x2 y))\n"
5552 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005553 " (signature mat4x3\n"
5554 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005555 " (declare (in) mat4x3 x)\n"
5556 " (declare (in) mat4x3 y))\n"
5557 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005558 "(function outerProduct\n"
5559 " (signature mat2\n"
5560 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005561 " (declare (in) vec2 c)\n"
5562 " (declare (in) vec2 r))\n"
5563 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005564 " (signature mat3\n"
5565 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005566 " (declare (in) vec3 c)\n"
5567 " (declare (in) vec3 r))\n"
5568 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005569 " (signature mat4\n"
5570 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005571 " (declare (in) vec4 c)\n"
5572 " (declare (in) vec4 r))\n"
5573 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005574 " (signature mat2x3\n"
5575 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005576 " (declare (in) vec3 c)\n"
5577 " (declare (in) vec2 r))\n"
5578 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005579 " (signature mat3x2\n"
5580 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005581 " (declare (in) vec2 c)\n"
5582 " (declare (in) vec3 r))\n"
5583 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005584 " (signature mat2x4\n"
5585 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005586 " (declare (in) vec4 c)\n"
5587 " (declare (in) vec2 r))\n"
5588 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005589 " (signature mat4x2\n"
5590 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005591 " (declare (in) vec2 c)\n"
5592 " (declare (in) vec4 r))\n"
5593 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005594 " (signature mat3x4\n"
5595 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005596 " (declare (in) vec4 c)\n"
5597 " (declare (in) vec3 r))\n"
5598 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005599 " (signature mat4x3\n"
5600 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005601 " (declare (in) vec3 c)\n"
5602 " (declare (in) vec4 r))\n"
5603 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005604 "(function transpose\n"
5605 " (signature mat2\n"
5606 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005607 " (declare (in) mat2 m))\n"
5608 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005609 " (signature mat3\n"
5610 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005611 " (declare (in) mat3 m))\n"
5612 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005613 " (signature mat4\n"
5614 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005615 " (declare (in) mat4 m))\n"
5616 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005617 " (signature mat2x3\n"
5618 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005619 " (declare (in) mat3x2 m))\n"
5620 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005621 " (signature mat3x2\n"
5622 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005623 " (declare (in) mat2x3 m))\n"
5624 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005625 " (signature mat2x4\n"
5626 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005627 " (declare (in) mat4x2 m))\n"
5628 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005629 " (signature mat4x2\n"
5630 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005631 " (declare (in) mat2x4 m))\n"
5632 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005633 " (signature mat3x4\n"
5634 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005635 " (declare (in) mat4x3 m))\n"
5636 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005637 " (signature mat4x3\n"
5638 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005639 " (declare (in) mat3x4 m))\n"
5640 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005641 "(function lessThan\n"
5642 " (signature bvec2\n"
5643 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005644 " (declare (in) vec2 x)\n"
5645 " (declare (in) vec2 y))\n"
5646 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005647 " (signature bvec3\n"
5648 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005649 " (declare (in) vec3 x)\n"
5650 " (declare (in) vec3 y))\n"
5651 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005652 " (signature bvec4\n"
5653 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005654 " (declare (in) vec4 x)\n"
5655 " (declare (in) vec4 y))\n"
5656 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005657 " (signature bvec2\n"
5658 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005659 " (declare (in) ivec2 x)\n"
5660 " (declare (in) ivec2 y))\n"
5661 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005662 " (signature bvec3\n"
5663 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005664 " (declare (in) ivec3 x)\n"
5665 " (declare (in) ivec3 y))\n"
5666 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005667 " (signature bvec4\n"
5668 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005669 " (declare (in) ivec4 x)\n"
5670 " (declare (in) ivec4 y))\n"
5671 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005672 "(function lessThanEqual\n"
5673 " (signature bvec2\n"
5674 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005675 " (declare (in) vec2 x)\n"
5676 " (declare (in) vec2 y))\n"
5677 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005678 " (signature bvec3\n"
5679 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005680 " (declare (in) vec3 x)\n"
5681 " (declare (in) vec3 y))\n"
5682 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005683 " (signature bvec4\n"
5684 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005685 " (declare (in) vec4 x)\n"
5686 " (declare (in) vec4 y))\n"
5687 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005688 " (signature bvec2\n"
5689 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005690 " (declare (in) ivec2 x)\n"
5691 " (declare (in) ivec2 y))\n"
5692 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005693 " (signature bvec3\n"
5694 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005695 " (declare (in) ivec3 x)\n"
5696 " (declare (in) ivec3 y))\n"
5697 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005698 " (signature bvec4\n"
5699 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005700 " (declare (in) ivec4 x)\n"
5701 " (declare (in) ivec4 y))\n"
5702 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005703 "(function greaterThan\n"
5704 " (signature bvec2\n"
5705 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005706 " (declare (in) vec2 x)\n"
5707 " (declare (in) vec2 y))\n"
5708 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005709 " (signature bvec3\n"
5710 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005711 " (declare (in) vec3 x)\n"
5712 " (declare (in) vec3 y))\n"
5713 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005714 " (signature bvec4\n"
5715 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005716 " (declare (in) vec4 x)\n"
5717 " (declare (in) vec4 y))\n"
5718 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005719 " (signature bvec2\n"
5720 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005721 " (declare (in) ivec2 x)\n"
5722 " (declare (in) ivec2 y))\n"
5723 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005724 " (signature bvec3\n"
5725 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005726 " (declare (in) ivec3 x)\n"
5727 " (declare (in) ivec3 y))\n"
5728 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005729 " (signature bvec4\n"
5730 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005731 " (declare (in) ivec4 x)\n"
5732 " (declare (in) ivec4 y))\n"
5733 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005734 "(function greaterThanEqual\n"
5735 " (signature bvec2\n"
5736 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005737 " (declare (in) vec2 x)\n"
5738 " (declare (in) vec2 y))\n"
5739 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005740 " (signature bvec3\n"
5741 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005742 " (declare (in) vec3 x)\n"
5743 " (declare (in) vec3 y))\n"
5744 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005745 " (signature bvec4\n"
5746 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005747 " (declare (in) vec4 x)\n"
5748 " (declare (in) vec4 y))\n"
5749 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005750 " (signature bvec2\n"
5751 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005752 " (declare (in) ivec2 x)\n"
5753 " (declare (in) ivec2 y))\n"
5754 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005755 " (signature bvec3\n"
5756 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005757 " (declare (in) ivec3 x)\n"
5758 " (declare (in) ivec3 y))\n"
5759 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005760 " (signature bvec4\n"
5761 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005762 " (declare (in) ivec4 x)\n"
5763 " (declare (in) ivec4 y))\n"
5764 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005765 "(function equal\n"
5766 " (signature bvec2\n"
5767 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005768 " (declare (in) vec2 x)\n"
5769 " (declare (in) vec2 y))\n"
5770 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005771 " (signature bvec3\n"
5772 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005773 " (declare (in) vec3 x)\n"
5774 " (declare (in) vec3 y))\n"
5775 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005776 " (signature bvec4\n"
5777 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005778 " (declare (in) vec4 x)\n"
5779 " (declare (in) vec4 y))\n"
5780 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005781 " (signature bvec2\n"
5782 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005783 " (declare (in) ivec2 x)\n"
5784 " (declare (in) ivec2 y))\n"
5785 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005786 " (signature bvec3\n"
5787 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005788 " (declare (in) ivec3 x)\n"
5789 " (declare (in) ivec3 y))\n"
5790 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005791 " (signature bvec4\n"
5792 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005793 " (declare (in) ivec4 x)\n"
5794 " (declare (in) ivec4 y))\n"
5795 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005796 " (signature bvec2\n"
5797 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005798 " (declare (in) bvec2 x)\n"
5799 " (declare (in) bvec2 y))\n"
5800 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005801 " (signature bvec3\n"
5802 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005803 " (declare (in) bvec3 x)\n"
5804 " (declare (in) bvec3 y))\n"
5805 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005806 " (signature bvec4\n"
5807 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005808 " (declare (in) bvec4 x)\n"
5809 " (declare (in) bvec4 y))\n"
5810 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005811 "(function notEqual\n"
5812 " (signature bvec2\n"
5813 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005814 " (declare (in) vec2 x)\n"
5815 " (declare (in) vec2 y))\n"
5816 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005817 " (signature bvec3\n"
5818 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005819 " (declare (in) vec3 x)\n"
5820 " (declare (in) vec3 y))\n"
5821 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005822 " (signature bvec4\n"
5823 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005824 " (declare (in) vec4 x)\n"
5825 " (declare (in) vec4 y))\n"
5826 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005827 " (signature bvec2\n"
5828 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005829 " (declare (in) ivec2 x)\n"
5830 " (declare (in) ivec2 y))\n"
5831 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005832 " (signature bvec3\n"
5833 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005834 " (declare (in) ivec3 x)\n"
5835 " (declare (in) ivec3 y))\n"
5836 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005837 " (signature bvec4\n"
5838 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005839 " (declare (in) ivec4 x)\n"
5840 " (declare (in) ivec4 y))\n"
5841 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005842 " (signature bvec2\n"
5843 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005844 " (declare (in) bvec2 x)\n"
5845 " (declare (in) bvec2 y))\n"
5846 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005847 " (signature bvec3\n"
5848 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005849 " (declare (in) bvec3 x)\n"
5850 " (declare (in) bvec3 y))\n"
5851 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005852 " (signature bvec4\n"
5853 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005854 " (declare (in) bvec4 x)\n"
5855 " (declare (in) bvec4 y))\n"
5856 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005857 "(function any\n"
5858 " (signature bool\n"
5859 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005860 " (declare (in) bvec2 x))\n"
5861 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005862 " (signature bool\n"
5863 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005864 " (declare (in) bvec3 x))\n"
5865 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005866 " (signature bool\n"
5867 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005868 " (declare (in) bvec4 x))\n"
5869 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005870 "(function all\n"
5871 " (signature bool\n"
5872 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005873 " (declare (in) bvec2 x))\n"
5874 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005875 " (signature bool\n"
5876 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005877 " (declare (in) bvec3 x))\n"
5878 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005879 " (signature bool\n"
5880 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005881 " (declare (in) bvec4 x))\n"
5882 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005883 "(function not\n"
5884 " (signature bvec2\n"
5885 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005886 " (declare (in) bvec2 x))\n"
5887 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005888 " (signature bvec3\n"
5889 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005890 " (declare (in) bvec3 x))\n"
5891 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005892 " (signature bvec4\n"
5893 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005894 " (declare (in) bvec4 x))\n"
5895 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005896 "(function texture1D\n"
5897 " (signature vec4\n"
5898 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005899 " (declare (in) sampler1D sampler)\n"
5900 " (declare (in) float coord))\n"
5901 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005902 "(function texture1DProj\n"
5903 " (signature vec4\n"
5904 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005905 " (declare (in) sampler1D sampler)\n"
5906 " (declare (in) vec2 coord))\n"
5907 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005908 " (signature vec4\n"
5909 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005910 " (declare (in) sampler1D sampler)\n"
5911 " (declare (in) vec4 coord))\n"
5912 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005913 "(function texture1DLod\n"
5914 " (signature vec4\n"
5915 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005916 " (declare (in) sampler1D sampler)\n"
5917 " (declare (in) float coord)\n"
5918 " (declare (in) float lod))\n"
5919 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005920 "(function texture1DProjLod\n"
5921 " (signature vec4\n"
5922 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005923 " (declare (in) sampler1D sampler)\n"
5924 " (declare (in) vec2 coord)\n"
5925 " (declare (in) float lod))\n"
5926 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005927 " (signature vec4\n"
5928 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005929 " (declare (in) sampler1D sampler)\n"
5930 " (declare (in) vec4 coord)\n"
5931 " (declare (in) float lod))\n"
5932 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005933 "(function texture2D\n"
5934 " (signature vec4\n"
5935 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005936 " (declare (in) sampler2D sampler)\n"
5937 " (declare (in) vec2 coord))\n"
5938 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005939 "(function texture2DProj\n"
5940 " (signature vec4\n"
5941 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005942 " (declare (in) sampler2D sampler)\n"
5943 " (declare (in) vec3 coord))\n"
5944 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005945 " (signature vec4\n"
5946 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005947 " (declare (in) sampler2D sampler)\n"
5948 " (declare (in) vec4 coord))\n"
5949 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005950 "(function texture2DLod\n"
5951 " (signature vec4\n"
5952 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005953 " (declare (in) sampler2D sampler)\n"
5954 " (declare (in) vec2 coord)\n"
5955 " (declare (in) float lod))\n"
5956 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005957 "(function texture2DProjLod\n"
5958 " (signature vec4\n"
5959 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005960 " (declare (in) sampler2D sampler)\n"
5961 " (declare (in) vec3 coord)\n"
5962 " (declare (in) float lod))\n"
5963 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005964 " (signature vec4\n"
5965 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005966 " (declare (in) sampler2D sampler)\n"
5967 " (declare (in) vec4 coord)\n"
5968 " (declare (in) float lod))\n"
5969 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005970 "(function texture3D\n"
5971 " (signature vec4\n"
5972 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005973 " (declare (in) sampler3D sampler)\n"
5974 " (declare (in) vec3 coord))\n"
5975 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005976 "(function texture3DProj\n"
5977 " (signature vec4\n"
5978 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005979 " (declare (in) sampler3D sampler)\n"
5980 " (declare (in) vec4 coord))\n"
5981 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005982 "(function texture3DLod\n"
5983 " (signature vec4\n"
5984 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005985 " (declare (in) sampler3D sampler)\n"
5986 " (declare (in) vec3 coord)\n"
5987 " (declare (in) float lod))\n"
5988 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005989 "(function texture3DProjLod\n"
5990 " (signature vec4\n"
5991 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005992 " (declare (in) sampler3D sampler)\n"
5993 " (declare (in) vec4 coord)\n"
5994 " (declare (in) float lod))\n"
5995 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07005996 "(function textureCube\n"
5997 " (signature vec4\n"
5998 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07005999 " (declare (in) samplerCube sampler)\n"
6000 " (declare (in) vec3 coord))\n"
6001 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006002 "(function textureCubeLod\n"
6003 " (signature vec4\n"
6004 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006005 " (declare (in) samplerCube sampler)\n"
6006 " (declare (in) vec3 coord)\n"
6007 " (declare (in) float lod))\n"
6008 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006009 "(function shadow1D\n"
6010 " (signature vec4\n"
6011 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006012 " (declare (in) sampler1DShadow sampler)\n"
6013 " (declare (in) vec3 coord))\n"
6014 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006015 "(function shadow2D\n"
6016 " (signature vec4\n"
6017 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006018 " (declare (in) sampler2DShadow sampler)\n"
6019 " (declare (in) vec3 coord))\n"
6020 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006021 "(function shadow1DProj\n"
6022 " (signature vec4\n"
6023 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006024 " (declare (in) sampler1DShadow sampler)\n"
6025 " (declare (in) vec4 coord))\n"
6026 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006027 "(function shadow2DProj\n"
6028 " (signature vec4\n"
6029 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006030 " (declare (in) sampler2DShadow sampler)\n"
6031 " (declare (in) vec4 coord))\n"
6032 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006033 "(function shadow1DLod\n"
6034 " (signature vec4\n"
6035 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006036 " (declare (in) sampler1DShadow sampler)\n"
6037 " (declare (in) vec3 coord)\n"
6038 " (declare (in) float lod))\n"
6039 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006040 "(function shadow2DLod\n"
6041 " (signature vec4\n"
6042 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006043 " (declare (in) sampler2DShadow sampler)\n"
6044 " (declare (in) vec3 coord)\n"
6045 " (declare (in) float lod))\n"
6046 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006047 "(function shadow1DProjLod\n"
6048 " (signature vec4\n"
6049 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006050 " (declare (in) sampler1DShadow sampler)\n"
6051 " (declare (in) vec4 coord)\n"
6052 " (declare (in) float lod))\n"
6053 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006054 "(function shadow2DProjLod\n"
6055 " (signature vec4\n"
6056 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006057 " (declare (in) sampler2DShadow sampler)\n"
6058 " (declare (in) vec4 coord)\n"
6059 " (declare (in) float lod))\n"
6060 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006061 "(function noise1\n"
6062 " (signature float\n"
6063 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006064 " (declare (in) float x))\n"
6065 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006066 " (signature float\n"
6067 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006068 " (declare (in) vec2 x))\n"
6069 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006070 " (signature float\n"
6071 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006072 " (declare (in) vec3 x))\n"
6073 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006074 " (signature float\n"
6075 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006076 " (declare (in) vec4 x))\n"
6077 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006078 "(function noise2\n"
6079 " (signature vec2\n"
6080 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006081 " (declare (in) float x))\n"
6082 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006083 " (signature vec2\n"
6084 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006085 " (declare (in) vec2 x))\n"
6086 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006087 " (signature vec2\n"
6088 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006089 " (declare (in) vec3 x))\n"
6090 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006091 " (signature vec2\n"
6092 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006093 " (declare (in) vec4 x))\n"
6094 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006095 "(function noise3\n"
6096 " (signature vec3\n"
6097 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006098 " (declare (in) float x))\n"
6099 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006100 " (signature vec3\n"
6101 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006102 " (declare (in) vec2 x))\n"
6103 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006104 " (signature vec3\n"
6105 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006106 " (declare (in) vec3 x))\n"
6107 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006108 " (signature vec3\n"
6109 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006110 " (declare (in) vec4 x))\n"
6111 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006112 "(function noise4\n"
6113 " (signature vec4\n"
6114 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006115 " (declare (in) float x))\n"
6116 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006117 " (signature vec4\n"
6118 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006119 " (declare (in) vec2 x))\n"
6120 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006121 " (signature vec4\n"
6122 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006123 " (declare (in) vec3 x))\n"
6124 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006125 " (signature vec4\n"
6126 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006127 " (declare (in) vec4 x))\n"
6128 " ())))"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006129;
6130static const char *functions_for_120_vert [] = {
6131 builtin_clamp,
6132 builtin_matrixCompMult,
6133 builtin_shadow2DProjLod,
6134 builtin_noise2,
6135 builtin_texture3DProjLod,
6136 builtin_pow,
6137 builtin_texture2DProj,
6138 builtin_greaterThanEqual,
6139 builtin_sign,
6140 builtin_texture3DProj,
6141 builtin_texture2D,
6142 builtin_equal,
6143 builtin_faceforward,
6144 builtin_tan,
6145 builtin_shadow2DProj,
6146 builtin_shadow1DProjLod,
6147 builtin_any,
6148 builtin_shadow1DProj,
6149 builtin_normalize,
6150 builtin_asin,
6151 builtin_texture1DProj,
6152 builtin_log,
6153 builtin_floor,
6154 builtin_exp2,
6155 builtin_lessThan,
6156 builtin_cross,
6157 builtin_sqrt,
6158 builtin_texture3DLod,
6159 builtin_fract,
6160 builtin_abs,
6161 builtin_degrees,
6162 builtin_shadow1DLod,
6163 builtin_ftransform,
6164 builtin_sin,
6165 builtin_shadow2D,
6166 builtin_shadow2DLod,
6167 builtin_all,
6168 builtin_log2,
6169 builtin_atan,
6170 builtin_notEqual,
6171 builtin_max,
6172 builtin_lessThanEqual,
6173 builtin_transpose,
6174 builtin_outerProduct,
6175 builtin_ceil,
6176 builtin_reflect,
6177 builtin_textureCubeLod,
6178 builtin_step,
6179 builtin_texture1D,
6180 builtin_greaterThan,
6181 builtin_texture3D,
6182 builtin_not,
6183 builtin_texture2DProjLod,
6184 builtin_inversesqrt,
6185 builtin_mod,
6186 builtin_noise4,
6187 builtin_distance,
6188 builtin_cos,
6189 builtin_shadow1D,
6190 builtin_noise1,
6191 builtin_refract,
6192 builtin_noise3,
6193 builtin_texture2DLod,
6194 builtin_min,
6195 builtin_radians,
6196 builtin_smoothstep,
6197 builtin_texture1DProjLod,
6198 builtin_textureCube,
6199 builtin_length,
6200 builtin_texture1DLod,
6201 builtin_exp,
6202 builtin_acos,
6203 builtin_mix,
6204 builtin_dot,
Kenneth Graunke4b0029a2010-06-08 16:29:17 -07006205};
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006206static const char *prototypes_for_EXT_texture_array_frag =
6207 "(\n"
6208 "(function texture1DArray\n"
6209 " (signature vec4\n"
6210 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006211 " (declare (in) sampler1DArray sampler)\n"
6212 " (declare (in) vec2 coord))\n"
6213 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006214 " (signature vec4\n"
6215 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006216 " (declare (in) sampler1DArray sampler)\n"
6217 " (declare (in) vec2 coord)\n"
6218 " (declare (in) float bias))\n"
6219 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006220 "(function texture2DArray\n"
6221 " (signature vec4\n"
6222 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006223 " (declare (in) sampler2DArray sampler)\n"
6224 " (declare (in) vec3 coord))\n"
6225 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006226 " (signature vec4\n"
6227 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006228 " (declare (in) sampler2DArray sampler)\n"
6229 " (declare (in) vec3 coord)\n"
6230 " (declare (in) float bias))\n"
6231 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006232 "(function shadow1DArray\n"
6233 " (signature vec4\n"
6234 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006235 " (declare (in) sampler1DArrayShadow sampler)\n"
6236 " (declare (in) vec3 coord))\n"
6237 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006238 " (signature vec4\n"
6239 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006240 " (declare (in) sampler1DArrayShadow sampler)\n"
6241 " (declare (in) vec3 coord)\n"
6242 " (declare (in) float bias))\n"
6243 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006244 "(function shadow2DArray\n"
6245 " (signature vec4\n"
6246 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006247 " (declare (in) sampler2DArrayShadow sampler)\n"
6248 " (declare (in) vec4 coord))\n"
6249 " ())))"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006250;
6251static const char *functions_for_EXT_texture_array_frag [] = {
6252 builtin_shadow2DArray,
6253 builtin_shadow1DArray,
6254 builtin_texture1DArray,
6255 builtin_texture2DArray,
6256};
6257static const char *prototypes_for_110_vert =
6258 "(\n"
6259 "(function radians\n"
6260 " (signature float\n"
6261 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006262 " (declare (in) float degrees))\n"
6263 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006264 " (signature vec2\n"
6265 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006266 " (declare (in) vec2 degrees))\n"
6267 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006268 " (signature vec3\n"
6269 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006270 " (declare (in) vec3 degrees))\n"
6271 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006272 " (signature vec4\n"
6273 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006274 " (declare (in) vec4 degrees))\n"
6275 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006276 "(function degrees\n"
6277 " (signature float\n"
6278 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006279 " (declare (in) float radians))\n"
6280 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006281 " (signature vec2\n"
6282 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006283 " (declare (in) vec2 radians))\n"
6284 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006285 " (signature vec3\n"
6286 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006287 " (declare (in) vec3 radians))\n"
6288 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006289 " (signature vec4\n"
6290 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006291 " (declare (in) vec4 radians))\n"
6292 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006293 "(function sin\n"
6294 " (signature float\n"
6295 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006296 " (declare (in) float angle))\n"
6297 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006298 " (signature vec2\n"
6299 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006300 " (declare (in) vec2 angle))\n"
6301 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006302 " (signature vec3\n"
6303 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006304 " (declare (in) vec3 angle))\n"
6305 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006306 " (signature vec4\n"
6307 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006308 " (declare (in) vec4 angle))\n"
6309 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006310 "(function cos\n"
6311 " (signature float\n"
6312 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006313 " (declare (in) float angle))\n"
6314 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006315 " (signature vec2\n"
6316 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006317 " (declare (in) vec2 angle))\n"
6318 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006319 " (signature vec3\n"
6320 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006321 " (declare (in) vec3 angle))\n"
6322 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006323 " (signature vec4\n"
6324 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006325 " (declare (in) vec4 angle))\n"
6326 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006327 "(function tan\n"
6328 " (signature float\n"
6329 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006330 " (declare (in) float angle))\n"
6331 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006332 " (signature vec2\n"
6333 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006334 " (declare (in) vec2 angle))\n"
6335 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006336 " (signature vec3\n"
6337 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006338 " (declare (in) vec3 angle))\n"
6339 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006340 " (signature vec4\n"
6341 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006342 " (declare (in) vec4 angle))\n"
6343 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006344 "(function asin\n"
6345 " (signature float\n"
6346 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006347 " (declare (in) float angle))\n"
6348 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006349 " (signature vec2\n"
6350 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006351 " (declare (in) vec2 angle))\n"
6352 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006353 " (signature vec3\n"
6354 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006355 " (declare (in) vec3 angle))\n"
6356 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006357 " (signature vec4\n"
6358 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006359 " (declare (in) vec4 angle))\n"
6360 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006361 "(function acos\n"
6362 " (signature float\n"
6363 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006364 " (declare (in) float angle))\n"
6365 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006366 " (signature vec2\n"
6367 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006368 " (declare (in) vec2 angle))\n"
6369 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006370 " (signature vec3\n"
6371 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006372 " (declare (in) vec3 angle))\n"
6373 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006374 " (signature vec4\n"
6375 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006376 " (declare (in) vec4 angle))\n"
6377 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006378 "(function atan\n"
6379 " (signature float\n"
6380 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006381 " (declare (in) float y)\n"
6382 " (declare (in) float x))\n"
6383 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006384 " (signature vec2\n"
6385 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006386 " (declare (in) vec2 y)\n"
6387 " (declare (in) vec2 x))\n"
6388 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006389 " (signature vec3\n"
6390 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006391 " (declare (in) vec3 y)\n"
6392 " (declare (in) vec3 x))\n"
6393 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006394 " (signature vec4\n"
6395 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006396 " (declare (in) vec4 y)\n"
6397 " (declare (in) vec4 x))\n"
6398 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006399 " (signature float\n"
6400 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006401 " (declare (in) float y_over_x))\n"
6402 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006403 " (signature vec2\n"
6404 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006405 " (declare (in) vec2 y_over_x))\n"
6406 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006407 " (signature vec3\n"
6408 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006409 " (declare (in) vec3 y_over_x))\n"
6410 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006411 " (signature vec4\n"
6412 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006413 " (declare (in) vec4 y_over_x))\n"
6414 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006415 "(function pow\n"
6416 " (signature float\n"
6417 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006418 " (declare (in) float x)\n"
6419 " (declare (in) float y))\n"
6420 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006421 " (signature vec2\n"
6422 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006423 " (declare (in) vec2 x)\n"
6424 " (declare (in) vec2 y))\n"
6425 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006426 " (signature vec3\n"
6427 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006428 " (declare (in) vec3 x)\n"
6429 " (declare (in) vec3 y))\n"
6430 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006431 " (signature vec4\n"
6432 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006433 " (declare (in) vec4 x)\n"
6434 " (declare (in) vec4 y))\n"
6435 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006436 "(function exp\n"
6437 " (signature float\n"
6438 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006439 " (declare (in) float x))\n"
6440 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006441 " (signature vec2\n"
6442 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006443 " (declare (in) vec2 x))\n"
6444 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006445 " (signature vec3\n"
6446 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006447 " (declare (in) vec3 x))\n"
6448 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006449 " (signature vec4\n"
6450 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006451 " (declare (in) vec4 x))\n"
6452 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006453 "(function log\n"
6454 " (signature float\n"
6455 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006456 " (declare (in) float x))\n"
6457 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006458 " (signature vec2\n"
6459 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006460 " (declare (in) vec2 x))\n"
6461 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006462 " (signature vec3\n"
6463 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006464 " (declare (in) vec3 x))\n"
6465 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006466 " (signature vec4\n"
6467 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006468 " (declare (in) vec4 x))\n"
6469 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006470 "(function exp2\n"
6471 " (signature float\n"
6472 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006473 " (declare (in) float x))\n"
6474 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006475 " (signature vec2\n"
6476 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006477 " (declare (in) vec2 x))\n"
6478 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006479 " (signature vec3\n"
6480 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006481 " (declare (in) vec3 x))\n"
6482 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006483 " (signature vec4\n"
6484 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006485 " (declare (in) vec4 x))\n"
6486 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006487 "(function log2\n"
6488 " (signature float\n"
6489 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006490 " (declare (in) float x))\n"
6491 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006492 " (signature vec2\n"
6493 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006494 " (declare (in) vec2 x))\n"
6495 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006496 " (signature vec3\n"
6497 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006498 " (declare (in) vec3 x))\n"
6499 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006500 " (signature vec4\n"
6501 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006502 " (declare (in) vec4 x))\n"
6503 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006504 "(function sqrt\n"
6505 " (signature float\n"
6506 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006507 " (declare (in) float x))\n"
6508 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006509 " (signature vec2\n"
6510 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006511 " (declare (in) vec2 x))\n"
6512 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006513 " (signature vec3\n"
6514 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006515 " (declare (in) vec3 x))\n"
6516 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006517 " (signature vec4\n"
6518 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006519 " (declare (in) vec4 x))\n"
6520 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006521 "(function inversesqrt\n"
6522 " (signature float\n"
6523 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006524 " (declare (in) float x))\n"
6525 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006526 " (signature vec2\n"
6527 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006528 " (declare (in) vec2 x))\n"
6529 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006530 " (signature vec3\n"
6531 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006532 " (declare (in) vec3 x))\n"
6533 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006534 " (signature vec4\n"
6535 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006536 " (declare (in) vec4 x))\n"
6537 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006538 "(function abs\n"
6539 " (signature float\n"
6540 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006541 " (declare (in) float x))\n"
6542 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006543 " (signature vec2\n"
6544 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006545 " (declare (in) vec2 x))\n"
6546 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006547 " (signature vec3\n"
6548 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006549 " (declare (in) vec3 x))\n"
6550 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006551 " (signature vec4\n"
6552 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006553 " (declare (in) vec4 x))\n"
6554 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006555 "(function sign\n"
6556 " (signature float\n"
6557 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006558 " (declare (in) float x))\n"
6559 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006560 " (signature vec2\n"
6561 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006562 " (declare (in) vec2 x))\n"
6563 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006564 " (signature vec3\n"
6565 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006566 " (declare (in) vec3 x))\n"
6567 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006568 " (signature vec4\n"
6569 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006570 " (declare (in) vec4 x))\n"
6571 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006572 "(function floor\n"
6573 " (signature float\n"
6574 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006575 " (declare (in) float x))\n"
6576 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006577 " (signature vec2\n"
6578 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006579 " (declare (in) vec2 x))\n"
6580 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006581 " (signature vec3\n"
6582 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006583 " (declare (in) vec3 x))\n"
6584 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006585 " (signature vec4\n"
6586 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006587 " (declare (in) vec4 x))\n"
6588 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006589 "(function ceil\n"
6590 " (signature float\n"
6591 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006592 " (declare (in) float x))\n"
6593 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006594 " (signature vec2\n"
6595 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006596 " (declare (in) vec2 x))\n"
6597 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006598 " (signature vec3\n"
6599 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006600 " (declare (in) vec3 x))\n"
6601 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006602 " (signature vec4\n"
6603 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006604 " (declare (in) vec4 x))\n"
6605 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006606 "(function fract\n"
6607 " (signature float\n"
6608 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006609 " (declare (in) float x))\n"
6610 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006611 " (signature vec2\n"
6612 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006613 " (declare (in) vec2 x))\n"
6614 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006615 " (signature vec3\n"
6616 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006617 " (declare (in) vec3 x))\n"
6618 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006619 " (signature vec4\n"
6620 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006621 " (declare (in) vec4 x))\n"
6622 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006623 "(function mod\n"
6624 " (signature float\n"
6625 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006626 " (declare (in) float x)\n"
6627 " (declare (in) float y))\n"
6628 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006629 " (signature vec2\n"
6630 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006631 " (declare (in) vec2 x)\n"
6632 " (declare (in) float y))\n"
6633 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006634 " (signature vec3\n"
6635 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006636 " (declare (in) vec3 x)\n"
6637 " (declare (in) float y))\n"
6638 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006639 " (signature vec4\n"
6640 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006641 " (declare (in) vec4 x)\n"
6642 " (declare (in) float y))\n"
6643 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006644 " (signature vec2\n"
6645 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006646 " (declare (in) vec2 x)\n"
6647 " (declare (in) vec2 y))\n"
6648 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006649 " (signature vec3\n"
6650 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006651 " (declare (in) vec3 x)\n"
6652 " (declare (in) vec3 y))\n"
6653 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006654 " (signature vec4\n"
6655 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006656 " (declare (in) vec4 x)\n"
6657 " (declare (in) vec4 y))\n"
6658 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006659 "(function min\n"
6660 " (signature float\n"
6661 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006662 " (declare (in) float x)\n"
6663 " (declare (in) float y))\n"
6664 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006665 " (signature vec2\n"
6666 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006667 " (declare (in) vec2 x)\n"
6668 " (declare (in) vec2 y))\n"
6669 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006670 " (signature vec3\n"
6671 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006672 " (declare (in) vec3 x)\n"
6673 " (declare (in) vec3 y))\n"
6674 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006675 " (signature vec4\n"
6676 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006677 " (declare (in) vec4 x)\n"
6678 " (declare (in) vec4 y))\n"
6679 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006680 " (signature vec2\n"
6681 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006682 " (declare (in) vec2 x)\n"
6683 " (declare (in) float y))\n"
6684 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006685 " (signature vec3\n"
6686 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006687 " (declare (in) vec3 x)\n"
6688 " (declare (in) float y))\n"
6689 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006690 " (signature vec4\n"
6691 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006692 " (declare (in) vec4 x)\n"
6693 " (declare (in) float y))\n"
6694 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006695 "(function max\n"
6696 " (signature float\n"
6697 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006698 " (declare (in) float x)\n"
6699 " (declare (in) float y))\n"
6700 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006701 " (signature vec2\n"
6702 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006703 " (declare (in) vec2 x)\n"
6704 " (declare (in) vec2 y))\n"
6705 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006706 " (signature vec3\n"
6707 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006708 " (declare (in) vec3 x)\n"
6709 " (declare (in) vec3 y))\n"
6710 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006711 " (signature vec4\n"
6712 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006713 " (declare (in) vec4 x)\n"
6714 " (declare (in) vec4 y))\n"
6715 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006716 " (signature vec2\n"
6717 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006718 " (declare (in) vec2 x)\n"
6719 " (declare (in) float y))\n"
6720 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006721 " (signature vec3\n"
6722 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006723 " (declare (in) vec3 x)\n"
6724 " (declare (in) float y))\n"
6725 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006726 " (signature vec4\n"
6727 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006728 " (declare (in) vec4 x)\n"
6729 " (declare (in) float y))\n"
6730 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006731 "(function clamp\n"
6732 " (signature float\n"
6733 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006734 " (declare (in) float x)\n"
6735 " (declare (in) float minVal)\n"
6736 " (declare (in) float maxVal))\n"
6737 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006738 " (signature vec2\n"
6739 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006740 " (declare (in) vec2 x)\n"
6741 " (declare (in) vec2 minVal)\n"
6742 " (declare (in) vec2 maxVal))\n"
6743 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006744 " (signature vec3\n"
6745 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006746 " (declare (in) vec3 x)\n"
6747 " (declare (in) vec3 minVal)\n"
6748 " (declare (in) vec3 maxVal))\n"
6749 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006750 " (signature vec4\n"
6751 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006752 " (declare (in) vec4 x)\n"
6753 " (declare (in) vec4 minVal)\n"
6754 " (declare (in) vec4 maxVal))\n"
6755 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006756 " (signature vec2\n"
6757 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006758 " (declare (in) vec2 x)\n"
6759 " (declare (in) float minVal)\n"
6760 " (declare (in) float maxVal))\n"
6761 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006762 " (signature vec3\n"
6763 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006764 " (declare (in) vec3 x)\n"
6765 " (declare (in) float minVal)\n"
6766 " (declare (in) float maxVal))\n"
6767 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006768 " (signature vec4\n"
6769 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006770 " (declare (in) vec4 x)\n"
6771 " (declare (in) float minVal)\n"
6772 " (declare (in) float maxVal))\n"
6773 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006774 "(function mix\n"
6775 " (signature float\n"
6776 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006777 " (declare (in) float x)\n"
6778 " (declare (in) float y)\n"
6779 " (declare (in) float a))\n"
6780 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006781 " (signature vec2\n"
6782 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006783 " (declare (in) vec2 x)\n"
6784 " (declare (in) vec2 y)\n"
6785 " (declare (in) vec2 a))\n"
6786 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006787 " (signature vec3\n"
6788 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006789 " (declare (in) vec3 x)\n"
6790 " (declare (in) vec3 y)\n"
6791 " (declare (in) vec3 a))\n"
6792 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006793 " (signature vec4\n"
6794 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006795 " (declare (in) vec4 x)\n"
6796 " (declare (in) vec4 y)\n"
6797 " (declare (in) vec4 a))\n"
6798 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006799 " (signature vec2\n"
6800 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006801 " (declare (in) vec2 x)\n"
6802 " (declare (in) vec2 y)\n"
6803 " (declare (in) float a))\n"
6804 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006805 " (signature vec3\n"
6806 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006807 " (declare (in) vec3 x)\n"
6808 " (declare (in) vec3 y)\n"
6809 " (declare (in) float a))\n"
6810 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006811 " (signature vec4\n"
6812 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006813 " (declare (in) vec4 x)\n"
6814 " (declare (in) vec4 y)\n"
6815 " (declare (in) float a))\n"
6816 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006817 "(function step\n"
6818 " (signature float\n"
6819 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006820 " (declare (in) float edge)\n"
6821 " (declare (in) float x))\n"
6822 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006823 " (signature vec2\n"
6824 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006825 " (declare (in) vec2 edge)\n"
6826 " (declare (in) vec2 x))\n"
6827 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006828 " (signature vec3\n"
6829 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006830 " (declare (in) vec3 edge)\n"
6831 " (declare (in) vec3 x))\n"
6832 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006833 " (signature vec4\n"
6834 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006835 " (declare (in) vec4 edge)\n"
6836 " (declare (in) vec4 x))\n"
6837 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006838 " (signature vec2\n"
6839 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006840 " (declare (in) float edge)\n"
6841 " (declare (in) vec2 x))\n"
6842 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006843 " (signature vec3\n"
6844 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006845 " (declare (in) float edge)\n"
6846 " (declare (in) vec3 x))\n"
6847 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006848 " (signature vec4\n"
6849 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006850 " (declare (in) float edge)\n"
6851 " (declare (in) vec4 x))\n"
6852 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006853 "(function smoothstep\n"
6854 " (signature float\n"
6855 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006856 " (declare (in) float edge0)\n"
6857 " (declare (in) float edge1)\n"
6858 " (declare (in) float x))\n"
6859 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006860 " (signature vec2\n"
6861 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006862 " (declare (in) vec2 edge0)\n"
6863 " (declare (in) vec2 edge1)\n"
6864 " (declare (in) vec2 x))\n"
6865 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006866 " (signature vec3\n"
6867 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006868 " (declare (in) vec3 edge0)\n"
6869 " (declare (in) vec3 edge1)\n"
6870 " (declare (in) vec3 x))\n"
6871 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006872 " (signature vec4\n"
6873 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006874 " (declare (in) vec4 edge0)\n"
6875 " (declare (in) vec4 edge1)\n"
6876 " (declare (in) vec4 x))\n"
6877 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006878 " (signature vec2\n"
6879 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006880 " (declare (in) float edge0)\n"
6881 " (declare (in) float edge1)\n"
6882 " (declare (in) vec2 x))\n"
6883 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006884 " (signature vec3\n"
6885 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006886 " (declare (in) float edge0)\n"
6887 " (declare (in) float edge1)\n"
6888 " (declare (in) vec3 x))\n"
6889 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006890 " (signature vec4\n"
6891 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006892 " (declare (in) float edge0)\n"
6893 " (declare (in) float edge1)\n"
6894 " (declare (in) vec4 x))\n"
6895 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006896 "(function length\n"
6897 " (signature float\n"
6898 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006899 " (declare (in) float x))\n"
6900 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006901 " (signature float\n"
6902 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006903 " (declare (in) vec2 x))\n"
6904 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006905 " (signature float\n"
6906 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006907 " (declare (in) vec3 x))\n"
6908 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006909 " (signature float\n"
6910 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006911 " (declare (in) vec4 x))\n"
6912 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006913 "(function distance\n"
6914 " (signature float\n"
6915 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006916 " (declare (in) float p0)\n"
6917 " (declare (in) float p1))\n"
6918 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006919 " (signature float\n"
6920 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006921 " (declare (in) vec2 p0)\n"
6922 " (declare (in) vec2 p1))\n"
6923 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006924 " (signature float\n"
6925 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006926 " (declare (in) vec3 p0)\n"
6927 " (declare (in) vec3 p1))\n"
6928 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006929 " (signature float\n"
6930 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006931 " (declare (in) vec4 p0)\n"
6932 " (declare (in) vec4 p1))\n"
6933 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006934 "(function dot\n"
6935 " (signature float\n"
6936 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006937 " (declare (in) float x)\n"
6938 " (declare (in) float y))\n"
6939 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006940 " (signature float\n"
6941 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006942 " (declare (in) vec2 x)\n"
6943 " (declare (in) vec2 y))\n"
6944 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006945 " (signature float\n"
6946 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006947 " (declare (in) vec3 x)\n"
6948 " (declare (in) vec3 y))\n"
6949 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006950 " (signature float\n"
6951 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006952 " (declare (in) vec4 x)\n"
6953 " (declare (in) vec4 y))\n"
6954 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006955 "(function cross\n"
6956 " (signature vec3\n"
6957 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006958 " (declare (in) vec3 x)\n"
6959 " (declare (in) vec3 y))\n"
6960 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006961 "(function normalize\n"
6962 " (signature float\n"
6963 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006964 " (declare (in) float x))\n"
6965 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006966 " (signature vec2\n"
6967 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006968 " (declare (in) vec2 x))\n"
6969 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006970 " (signature vec3\n"
6971 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006972 " (declare (in) vec3 x))\n"
6973 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006974 " (signature vec4\n"
6975 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006976 " (declare (in) vec4 x))\n"
6977 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006978 "(function ftransform\n"
6979 " (signature vec4\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006980 " (parameters)\n"
6981 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006982 "(function faceforward\n"
6983 " (signature float\n"
6984 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006985 " (declare (in) float N)\n"
6986 " (declare (in) float I)\n"
6987 " (declare (in) float Nref))\n"
6988 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006989 " (signature vec2\n"
6990 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006991 " (declare (in) vec2 N)\n"
6992 " (declare (in) vec2 I)\n"
6993 " (declare (in) vec2 Nref))\n"
6994 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07006995 " (signature vec3\n"
6996 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07006997 " (declare (in) vec3 N)\n"
6998 " (declare (in) vec3 I)\n"
6999 " (declare (in) vec3 Nref))\n"
7000 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007001 " (signature vec4\n"
7002 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007003 " (declare (in) vec4 N)\n"
7004 " (declare (in) vec4 I)\n"
7005 " (declare (in) vec4 Nref))\n"
7006 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007007 "(function reflect\n"
7008 " (signature float\n"
7009 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007010 " (declare (in) float I)\n"
7011 " (declare (in) float N))\n"
7012 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007013 " (signature vec2\n"
7014 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007015 " (declare (in) vec2 I)\n"
7016 " (declare (in) vec2 N))\n"
7017 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007018 " (signature vec3\n"
7019 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007020 " (declare (in) vec3 I)\n"
7021 " (declare (in) vec3 N))\n"
7022 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007023 " (signature vec4\n"
7024 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007025 " (declare (in) vec4 I)\n"
7026 " (declare (in) vec4 N))\n"
7027 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007028 "(function refract\n"
7029 " (signature float\n"
7030 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007031 " (declare (in) float I)\n"
7032 " (declare (in) float N)\n"
7033 " (declare (in) float eta))\n"
7034 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007035 " (signature vec2\n"
7036 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007037 " (declare (in) vec2 I)\n"
7038 " (declare (in) vec2 N)\n"
7039 " (declare (in) float eta))\n"
7040 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007041 " (signature vec3\n"
7042 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007043 " (declare (in) vec3 I)\n"
7044 " (declare (in) vec3 N)\n"
7045 " (declare (in) float eta))\n"
7046 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007047 " (signature vec4\n"
7048 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007049 " (declare (in) vec4 I)\n"
7050 " (declare (in) vec4 N)\n"
7051 " (declare (in) float eta))\n"
7052 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007053 "(function matrixCompMult\n"
7054 " (signature mat2\n"
7055 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007056 " (declare (in) mat2 x)\n"
7057 " (declare (in) mat2 y))\n"
7058 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007059 " (signature mat3\n"
7060 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007061 " (declare (in) mat3 x)\n"
7062 " (declare (in) mat3 y))\n"
7063 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007064 " (signature mat4\n"
7065 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007066 " (declare (in) mat4 x)\n"
7067 " (declare (in) mat4 y))\n"
7068 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007069 "(function lessThan\n"
7070 " (signature bvec2\n"
7071 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007072 " (declare (in) vec2 x)\n"
7073 " (declare (in) vec2 y))\n"
7074 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007075 " (signature bvec3\n"
7076 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007077 " (declare (in) vec3 x)\n"
7078 " (declare (in) vec3 y))\n"
7079 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007080 " (signature bvec4\n"
7081 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007082 " (declare (in) vec4 x)\n"
7083 " (declare (in) vec4 y))\n"
7084 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007085 " (signature bvec2\n"
7086 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007087 " (declare (in) ivec2 x)\n"
7088 " (declare (in) ivec2 y))\n"
7089 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007090 " (signature bvec3\n"
7091 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007092 " (declare (in) ivec3 x)\n"
7093 " (declare (in) ivec3 y))\n"
7094 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007095 " (signature bvec4\n"
7096 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007097 " (declare (in) ivec4 x)\n"
7098 " (declare (in) ivec4 y))\n"
7099 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007100 "(function lessThanEqual\n"
7101 " (signature bvec2\n"
7102 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007103 " (declare (in) vec2 x)\n"
7104 " (declare (in) vec2 y))\n"
7105 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007106 " (signature bvec3\n"
7107 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007108 " (declare (in) vec3 x)\n"
7109 " (declare (in) vec3 y))\n"
7110 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007111 " (signature bvec4\n"
7112 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007113 " (declare (in) vec4 x)\n"
7114 " (declare (in) vec4 y))\n"
7115 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007116 " (signature bvec2\n"
7117 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007118 " (declare (in) ivec2 x)\n"
7119 " (declare (in) ivec2 y))\n"
7120 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007121 " (signature bvec3\n"
7122 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007123 " (declare (in) ivec3 x)\n"
7124 " (declare (in) ivec3 y))\n"
7125 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007126 " (signature bvec4\n"
7127 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007128 " (declare (in) ivec4 x)\n"
7129 " (declare (in) ivec4 y))\n"
7130 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007131 "(function greaterThan\n"
7132 " (signature bvec2\n"
7133 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007134 " (declare (in) vec2 x)\n"
7135 " (declare (in) vec2 y))\n"
7136 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007137 " (signature bvec3\n"
7138 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007139 " (declare (in) vec3 x)\n"
7140 " (declare (in) vec3 y))\n"
7141 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007142 " (signature bvec4\n"
7143 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007144 " (declare (in) vec4 x)\n"
7145 " (declare (in) vec4 y))\n"
7146 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007147 " (signature bvec2\n"
7148 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007149 " (declare (in) ivec2 x)\n"
7150 " (declare (in) ivec2 y))\n"
7151 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007152 " (signature bvec3\n"
7153 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007154 " (declare (in) ivec3 x)\n"
7155 " (declare (in) ivec3 y))\n"
7156 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007157 " (signature bvec4\n"
7158 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007159 " (declare (in) ivec4 x)\n"
7160 " (declare (in) ivec4 y))\n"
7161 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007162 "(function greaterThanEqual\n"
7163 " (signature bvec2\n"
7164 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007165 " (declare (in) vec2 x)\n"
7166 " (declare (in) vec2 y))\n"
7167 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007168 " (signature bvec3\n"
7169 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007170 " (declare (in) vec3 x)\n"
7171 " (declare (in) vec3 y))\n"
7172 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007173 " (signature bvec4\n"
7174 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007175 " (declare (in) vec4 x)\n"
7176 " (declare (in) vec4 y))\n"
7177 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007178 " (signature bvec2\n"
7179 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007180 " (declare (in) ivec2 x)\n"
7181 " (declare (in) ivec2 y))\n"
7182 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007183 " (signature bvec3\n"
7184 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007185 " (declare (in) ivec3 x)\n"
7186 " (declare (in) ivec3 y))\n"
7187 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007188 " (signature bvec4\n"
7189 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007190 " (declare (in) ivec4 x)\n"
7191 " (declare (in) ivec4 y))\n"
7192 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007193 "(function equal\n"
7194 " (signature bvec2\n"
7195 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007196 " (declare (in) vec2 x)\n"
7197 " (declare (in) vec2 y))\n"
7198 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007199 " (signature bvec3\n"
7200 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007201 " (declare (in) vec3 x)\n"
7202 " (declare (in) vec3 y))\n"
7203 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007204 " (signature bvec4\n"
7205 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007206 " (declare (in) vec4 x)\n"
7207 " (declare (in) vec4 y))\n"
7208 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007209 " (signature bvec2\n"
7210 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007211 " (declare (in) ivec2 x)\n"
7212 " (declare (in) ivec2 y))\n"
7213 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007214 " (signature bvec3\n"
7215 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007216 " (declare (in) ivec3 x)\n"
7217 " (declare (in) ivec3 y))\n"
7218 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007219 " (signature bvec4\n"
7220 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007221 " (declare (in) ivec4 x)\n"
7222 " (declare (in) ivec4 y))\n"
7223 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007224 " (signature bvec2\n"
7225 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007226 " (declare (in) bvec2 x)\n"
7227 " (declare (in) bvec2 y))\n"
7228 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007229 " (signature bvec3\n"
7230 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007231 " (declare (in) bvec3 x)\n"
7232 " (declare (in) bvec3 y))\n"
7233 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007234 " (signature bvec4\n"
7235 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007236 " (declare (in) bvec4 x)\n"
7237 " (declare (in) bvec4 y))\n"
7238 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007239 "(function notEqual\n"
7240 " (signature bvec2\n"
7241 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007242 " (declare (in) vec2 x)\n"
7243 " (declare (in) vec2 y))\n"
7244 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007245 " (signature bvec3\n"
7246 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007247 " (declare (in) vec3 x)\n"
7248 " (declare (in) vec3 y))\n"
7249 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007250 " (signature bvec4\n"
7251 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007252 " (declare (in) vec4 x)\n"
7253 " (declare (in) vec4 y))\n"
7254 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007255 " (signature bvec2\n"
7256 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007257 " (declare (in) ivec2 x)\n"
7258 " (declare (in) ivec2 y))\n"
7259 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007260 " (signature bvec3\n"
7261 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007262 " (declare (in) ivec3 x)\n"
7263 " (declare (in) ivec3 y))\n"
7264 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007265 " (signature bvec4\n"
7266 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007267 " (declare (in) ivec4 x)\n"
7268 " (declare (in) ivec4 y))\n"
7269 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007270 " (signature bvec2\n"
7271 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007272 " (declare (in) bvec2 x)\n"
7273 " (declare (in) bvec2 y))\n"
7274 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007275 " (signature bvec3\n"
7276 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007277 " (declare (in) bvec3 x)\n"
7278 " (declare (in) bvec3 y))\n"
7279 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007280 " (signature bvec4\n"
7281 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007282 " (declare (in) bvec4 x)\n"
7283 " (declare (in) bvec4 y))\n"
7284 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007285 "(function any\n"
7286 " (signature bool\n"
7287 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007288 " (declare (in) bvec2 x))\n"
7289 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007290 " (signature bool\n"
7291 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007292 " (declare (in) bvec3 x))\n"
7293 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007294 " (signature bool\n"
7295 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007296 " (declare (in) bvec4 x))\n"
7297 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007298 "(function all\n"
7299 " (signature bool\n"
7300 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007301 " (declare (in) bvec2 x))\n"
7302 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007303 " (signature bool\n"
7304 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007305 " (declare (in) bvec3 x))\n"
7306 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007307 " (signature bool\n"
7308 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007309 " (declare (in) bvec4 x))\n"
7310 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007311 "(function not\n"
7312 " (signature bvec2\n"
7313 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007314 " (declare (in) bvec2 x))\n"
7315 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007316 " (signature bvec3\n"
7317 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007318 " (declare (in) bvec3 x))\n"
7319 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007320 " (signature bvec4\n"
7321 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007322 " (declare (in) bvec4 x))\n"
7323 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007324 "(function texture1D\n"
7325 " (signature vec4\n"
7326 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007327 " (declare (in) sampler1D sampler)\n"
7328 " (declare (in) float coord))\n"
7329 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007330 "(function texture1DProj\n"
7331 " (signature vec4\n"
7332 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007333 " (declare (in) sampler1D sampler)\n"
7334 " (declare (in) vec2 coord))\n"
7335 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007336 " (signature vec4\n"
7337 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007338 " (declare (in) sampler1D sampler)\n"
7339 " (declare (in) vec4 coord))\n"
7340 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007341 "(function texture1DLod\n"
7342 " (signature vec4\n"
7343 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007344 " (declare (in) sampler1D sampler)\n"
7345 " (declare (in) float coord)\n"
7346 " (declare (in) float lod))\n"
7347 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007348 "(function texture1DProjLod\n"
7349 " (signature vec4\n"
7350 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007351 " (declare (in) sampler1D sampler)\n"
7352 " (declare (in) vec2 coord)\n"
7353 " (declare (in) float lod))\n"
7354 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007355 " (signature vec4\n"
7356 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007357 " (declare (in) sampler1D sampler)\n"
7358 " (declare (in) vec4 coord)\n"
7359 " (declare (in) float lod))\n"
7360 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007361 "(function texture2D\n"
7362 " (signature vec4\n"
7363 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007364 " (declare (in) sampler2D sampler)\n"
7365 " (declare (in) vec2 coord))\n"
7366 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007367 "(function texture2DProj\n"
7368 " (signature vec4\n"
7369 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007370 " (declare (in) sampler2D sampler)\n"
7371 " (declare (in) vec3 coord))\n"
7372 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007373 " (signature vec4\n"
7374 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007375 " (declare (in) sampler2D sampler)\n"
7376 " (declare (in) vec4 coord))\n"
7377 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007378 "(function texture2DLod\n"
7379 " (signature vec4\n"
7380 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007381 " (declare (in) sampler2D sampler)\n"
7382 " (declare (in) vec2 coord)\n"
7383 " (declare (in) float lod))\n"
7384 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007385 "(function texture2DProjLod\n"
7386 " (signature vec4\n"
7387 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007388 " (declare (in) sampler2D sampler)\n"
7389 " (declare (in) vec3 coord)\n"
7390 " (declare (in) float lod))\n"
7391 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007392 " (signature vec4\n"
7393 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007394 " (declare (in) sampler2D sampler)\n"
7395 " (declare (in) vec4 coord)\n"
7396 " (declare (in) float lod))\n"
7397 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007398 "(function texture3D\n"
7399 " (signature vec4\n"
7400 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007401 " (declare (in) sampler3D sampler)\n"
7402 " (declare (in) vec3 coord))\n"
7403 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007404 "(function texture3DProj\n"
7405 " (signature vec4\n"
7406 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007407 " (declare (in) sampler3D sampler)\n"
7408 " (declare (in) vec4 coord))\n"
7409 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007410 "(function texture3DLod\n"
7411 " (signature vec4\n"
7412 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007413 " (declare (in) sampler3D sampler)\n"
7414 " (declare (in) vec3 coord)\n"
7415 " (declare (in) float lod))\n"
7416 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007417 "(function texture3DProjLod\n"
7418 " (signature vec4\n"
7419 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007420 " (declare (in) sampler3D sampler)\n"
7421 " (declare (in) vec4 coord)\n"
7422 " (declare (in) float lod))\n"
7423 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007424 "(function textureCube\n"
7425 " (signature vec4\n"
7426 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007427 " (declare (in) samplerCube sampler)\n"
7428 " (declare (in) vec3 coord))\n"
7429 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007430 "(function textureCubeLod\n"
7431 " (signature vec4\n"
7432 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007433 " (declare (in) samplerCube sampler)\n"
7434 " (declare (in) vec3 coord)\n"
7435 " (declare (in) float lod))\n"
7436 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007437 "(function shadow1D\n"
7438 " (signature vec4\n"
7439 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007440 " (declare (in) sampler1DShadow sampler)\n"
7441 " (declare (in) vec3 coord))\n"
7442 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007443 "(function shadow2D\n"
7444 " (signature vec4\n"
7445 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007446 " (declare (in) sampler2DShadow sampler)\n"
7447 " (declare (in) vec3 coord))\n"
7448 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007449 "(function shadow1DProj\n"
7450 " (signature vec4\n"
7451 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007452 " (declare (in) sampler1DShadow sampler)\n"
7453 " (declare (in) vec4 coord))\n"
7454 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007455 "(function shadow2DProj\n"
7456 " (signature vec4\n"
7457 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007458 " (declare (in) sampler2DShadow sampler)\n"
7459 " (declare (in) vec4 coord))\n"
7460 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007461 "(function shadow1DLod\n"
7462 " (signature vec4\n"
7463 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007464 " (declare (in) sampler1DShadow sampler)\n"
7465 " (declare (in) vec3 coord)\n"
7466 " (declare (in) float lod))\n"
7467 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007468 "(function shadow2DLod\n"
7469 " (signature vec4\n"
7470 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007471 " (declare (in) sampler2DShadow sampler)\n"
7472 " (declare (in) vec3 coord)\n"
7473 " (declare (in) float lod))\n"
7474 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007475 "(function shadow1DProjLod\n"
7476 " (signature vec4\n"
7477 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007478 " (declare (in) sampler1DShadow sampler)\n"
7479 " (declare (in) vec4 coord)\n"
7480 " (declare (in) float lod))\n"
7481 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007482 "(function shadow2DProjLod\n"
7483 " (signature vec4\n"
7484 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007485 " (declare (in) sampler2DShadow sampler)\n"
7486 " (declare (in) vec4 coord)\n"
7487 " (declare (in) float lod))\n"
7488 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007489 "(function noise1\n"
7490 " (signature float\n"
7491 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007492 " (declare (in) float x))\n"
7493 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007494 " (signature float\n"
7495 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007496 " (declare (in) vec2 x))\n"
7497 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007498 " (signature float\n"
7499 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007500 " (declare (in) vec3 x))\n"
7501 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007502 " (signature float\n"
7503 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007504 " (declare (in) vec4 x))\n"
7505 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007506 "(function noise2\n"
7507 " (signature vec2\n"
7508 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007509 " (declare (in) float x))\n"
7510 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007511 " (signature vec2\n"
7512 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007513 " (declare (in) vec2 x))\n"
7514 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007515 " (signature vec2\n"
7516 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007517 " (declare (in) vec3 x))\n"
7518 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007519 " (signature vec2\n"
7520 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007521 " (declare (in) vec4 x))\n"
7522 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007523 "(function noise3\n"
7524 " (signature vec3\n"
7525 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007526 " (declare (in) float x))\n"
7527 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007528 " (signature vec3\n"
7529 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007530 " (declare (in) vec2 x))\n"
7531 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007532 " (signature vec3\n"
7533 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007534 " (declare (in) vec3 x))\n"
7535 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007536 " (signature vec3\n"
7537 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007538 " (declare (in) vec4 x))\n"
7539 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007540 "(function noise4\n"
7541 " (signature vec4\n"
7542 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007543 " (declare (in) float x))\n"
7544 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007545 " (signature vec4\n"
7546 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007547 " (declare (in) vec2 x))\n"
7548 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007549 " (signature vec4\n"
7550 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007551 " (declare (in) vec3 x))\n"
7552 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007553 " (signature vec4\n"
7554 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007555 " (declare (in) vec4 x))\n"
7556 " ())))"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007557;
7558static const char *functions_for_110_vert [] = {
7559 builtin_clamp,
7560 builtin_matrixCompMult,
7561 builtin_shadow2DProjLod,
7562 builtin_noise2,
7563 builtin_texture3DProjLod,
7564 builtin_pow,
7565 builtin_texture2DProj,
7566 builtin_greaterThanEqual,
7567 builtin_sign,
7568 builtin_texture3DProj,
7569 builtin_texture2D,
7570 builtin_equal,
7571 builtin_faceforward,
7572 builtin_tan,
7573 builtin_shadow2DProj,
7574 builtin_shadow1DProjLod,
7575 builtin_any,
7576 builtin_normalize,
7577 builtin_asin,
7578 builtin_texture1DProj,
7579 builtin_log,
7580 builtin_floor,
7581 builtin_exp2,
7582 builtin_lessThan,
7583 builtin_cross,
7584 builtin_sqrt,
7585 builtin_texture3DLod,
7586 builtin_fract,
7587 builtin_abs,
7588 builtin_degrees,
7589 builtin_shadow1DLod,
7590 builtin_ftransform,
7591 builtin_sin,
7592 builtin_shadow2D,
7593 builtin_shadow2DLod,
7594 builtin_all,
7595 builtin_log2,
7596 builtin_atan,
7597 builtin_notEqual,
7598 builtin_max,
7599 builtin_lessThanEqual,
7600 builtin_shadow1DProj,
7601 builtin_ceil,
7602 builtin_reflect,
7603 builtin_textureCubeLod,
7604 builtin_step,
7605 builtin_texture1D,
7606 builtin_greaterThan,
7607 builtin_texture3D,
7608 builtin_not,
7609 builtin_texture2DProjLod,
7610 builtin_inversesqrt,
7611 builtin_mod,
7612 builtin_noise4,
7613 builtin_distance,
7614 builtin_cos,
7615 builtin_shadow1D,
7616 builtin_noise1,
7617 builtin_refract,
7618 builtin_noise3,
7619 builtin_texture2DLod,
7620 builtin_min,
7621 builtin_radians,
7622 builtin_smoothstep,
7623 builtin_texture1DProjLod,
7624 builtin_textureCube,
7625 builtin_length,
7626 builtin_texture1DLod,
7627 builtin_exp,
7628 builtin_acos,
7629 builtin_mix,
7630 builtin_dot,
7631};
7632static const char *prototypes_for_110_frag =
7633 "(\n"
7634 "(function radians\n"
7635 " (signature float\n"
7636 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007637 " (declare (in) float degrees))\n"
7638 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007639 " (signature vec2\n"
7640 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007641 " (declare (in) vec2 degrees))\n"
7642 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007643 " (signature vec3\n"
7644 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007645 " (declare (in) vec3 degrees))\n"
7646 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007647 " (signature vec4\n"
7648 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007649 " (declare (in) vec4 degrees))\n"
7650 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007651 "(function degrees\n"
7652 " (signature float\n"
7653 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007654 " (declare (in) float radians))\n"
7655 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007656 " (signature vec2\n"
7657 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007658 " (declare (in) vec2 radians))\n"
7659 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007660 " (signature vec3\n"
7661 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007662 " (declare (in) vec3 radians))\n"
7663 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007664 " (signature vec4\n"
7665 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007666 " (declare (in) vec4 radians))\n"
7667 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007668 "(function sin\n"
7669 " (signature float\n"
7670 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007671 " (declare (in) float angle))\n"
7672 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007673 " (signature vec2\n"
7674 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007675 " (declare (in) vec2 angle))\n"
7676 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007677 " (signature vec3\n"
7678 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007679 " (declare (in) vec3 angle))\n"
7680 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007681 " (signature vec4\n"
7682 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007683 " (declare (in) vec4 angle))\n"
7684 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007685 "(function cos\n"
7686 " (signature float\n"
7687 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007688 " (declare (in) float angle))\n"
7689 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007690 " (signature vec2\n"
7691 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007692 " (declare (in) vec2 angle))\n"
7693 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007694 " (signature vec3\n"
7695 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007696 " (declare (in) vec3 angle))\n"
7697 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007698 " (signature vec4\n"
7699 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007700 " (declare (in) vec4 angle))\n"
7701 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007702 "(function tan\n"
7703 " (signature float\n"
7704 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007705 " (declare (in) float angle))\n"
7706 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007707 " (signature vec2\n"
7708 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007709 " (declare (in) vec2 angle))\n"
7710 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007711 " (signature vec3\n"
7712 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007713 " (declare (in) vec3 angle))\n"
7714 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007715 " (signature vec4\n"
7716 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007717 " (declare (in) vec4 angle))\n"
7718 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007719 "(function asin\n"
7720 " (signature float\n"
7721 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007722 " (declare (in) float angle))\n"
7723 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007724 " (signature vec2\n"
7725 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007726 " (declare (in) vec2 angle))\n"
7727 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007728 " (signature vec3\n"
7729 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007730 " (declare (in) vec3 angle))\n"
7731 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007732 " (signature vec4\n"
7733 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007734 " (declare (in) vec4 angle))\n"
7735 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007736 "(function acos\n"
7737 " (signature float\n"
7738 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007739 " (declare (in) float angle))\n"
7740 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007741 " (signature vec2\n"
7742 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007743 " (declare (in) vec2 angle))\n"
7744 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007745 " (signature vec3\n"
7746 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007747 " (declare (in) vec3 angle))\n"
7748 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007749 " (signature vec4\n"
7750 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007751 " (declare (in) vec4 angle))\n"
7752 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007753 "(function atan\n"
7754 " (signature float\n"
7755 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007756 " (declare (in) float y)\n"
7757 " (declare (in) float x))\n"
7758 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007759 " (signature vec2\n"
7760 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007761 " (declare (in) vec2 y)\n"
7762 " (declare (in) vec2 x))\n"
7763 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007764 " (signature vec3\n"
7765 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007766 " (declare (in) vec3 y)\n"
7767 " (declare (in) vec3 x))\n"
7768 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007769 " (signature vec4\n"
7770 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007771 " (declare (in) vec4 y)\n"
7772 " (declare (in) vec4 x))\n"
7773 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007774 " (signature float\n"
7775 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007776 " (declare (in) float y_over_x))\n"
7777 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007778 " (signature vec2\n"
7779 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007780 " (declare (in) vec2 y_over_x))\n"
7781 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007782 " (signature vec3\n"
7783 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007784 " (declare (in) vec3 y_over_x))\n"
7785 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007786 " (signature vec4\n"
7787 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007788 " (declare (in) vec4 y_over_x))\n"
7789 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007790 "(function pow\n"
7791 " (signature float\n"
7792 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007793 " (declare (in) float x)\n"
7794 " (declare (in) float y))\n"
7795 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007796 " (signature vec2\n"
7797 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007798 " (declare (in) vec2 x)\n"
7799 " (declare (in) vec2 y))\n"
7800 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007801 " (signature vec3\n"
7802 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007803 " (declare (in) vec3 x)\n"
7804 " (declare (in) vec3 y))\n"
7805 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007806 " (signature vec4\n"
7807 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007808 " (declare (in) vec4 x)\n"
7809 " (declare (in) vec4 y))\n"
7810 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007811 "(function exp\n"
7812 " (signature float\n"
7813 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007814 " (declare (in) float x))\n"
7815 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007816 " (signature vec2\n"
7817 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007818 " (declare (in) vec2 x))\n"
7819 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007820 " (signature vec3\n"
7821 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007822 " (declare (in) vec3 x))\n"
7823 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007824 " (signature vec4\n"
7825 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007826 " (declare (in) vec4 x))\n"
7827 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007828 "(function log\n"
7829 " (signature float\n"
7830 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007831 " (declare (in) float x))\n"
7832 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007833 " (signature vec2\n"
7834 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007835 " (declare (in) vec2 x))\n"
7836 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007837 " (signature vec3\n"
7838 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007839 " (declare (in) vec3 x))\n"
7840 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007841 " (signature vec4\n"
7842 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007843 " (declare (in) vec4 x))\n"
7844 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007845 "(function exp2\n"
7846 " (signature float\n"
7847 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007848 " (declare (in) float x))\n"
7849 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007850 " (signature vec2\n"
7851 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007852 " (declare (in) vec2 x))\n"
7853 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007854 " (signature vec3\n"
7855 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007856 " (declare (in) vec3 x))\n"
7857 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007858 " (signature vec4\n"
7859 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007860 " (declare (in) vec4 x))\n"
7861 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007862 "(function log2\n"
7863 " (signature float\n"
7864 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007865 " (declare (in) float x))\n"
7866 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007867 " (signature vec2\n"
7868 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007869 " (declare (in) vec2 x))\n"
7870 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007871 " (signature vec3\n"
7872 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007873 " (declare (in) vec3 x))\n"
7874 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007875 " (signature vec4\n"
7876 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007877 " (declare (in) vec4 x))\n"
7878 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007879 "(function sqrt\n"
7880 " (signature float\n"
7881 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007882 " (declare (in) float x))\n"
7883 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007884 " (signature vec2\n"
7885 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007886 " (declare (in) vec2 x))\n"
7887 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007888 " (signature vec3\n"
7889 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007890 " (declare (in) vec3 x))\n"
7891 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007892 " (signature vec4\n"
7893 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007894 " (declare (in) vec4 x))\n"
7895 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007896 "(function inversesqrt\n"
7897 " (signature float\n"
7898 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007899 " (declare (in) float x))\n"
7900 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007901 " (signature vec2\n"
7902 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007903 " (declare (in) vec2 x))\n"
7904 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007905 " (signature vec3\n"
7906 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007907 " (declare (in) vec3 x))\n"
7908 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007909 " (signature vec4\n"
7910 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007911 " (declare (in) vec4 x))\n"
7912 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007913 "(function abs\n"
7914 " (signature float\n"
7915 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007916 " (declare (in) float x))\n"
7917 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007918 " (signature vec2\n"
7919 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007920 " (declare (in) vec2 x))\n"
7921 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007922 " (signature vec3\n"
7923 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007924 " (declare (in) vec3 x))\n"
7925 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007926 " (signature vec4\n"
7927 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007928 " (declare (in) vec4 x))\n"
7929 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007930 "(function sign\n"
7931 " (signature float\n"
7932 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007933 " (declare (in) float x))\n"
7934 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007935 " (signature vec2\n"
7936 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007937 " (declare (in) vec2 x))\n"
7938 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007939 " (signature vec3\n"
7940 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007941 " (declare (in) vec3 x))\n"
7942 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007943 " (signature vec4\n"
7944 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007945 " (declare (in) vec4 x))\n"
7946 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007947 "(function floor\n"
7948 " (signature float\n"
7949 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007950 " (declare (in) float x))\n"
7951 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007952 " (signature vec2\n"
7953 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007954 " (declare (in) vec2 x))\n"
7955 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007956 " (signature vec3\n"
7957 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007958 " (declare (in) vec3 x))\n"
7959 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007960 " (signature vec4\n"
7961 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007962 " (declare (in) vec4 x))\n"
7963 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007964 "(function ceil\n"
7965 " (signature float\n"
7966 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007967 " (declare (in) float x))\n"
7968 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007969 " (signature vec2\n"
7970 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007971 " (declare (in) vec2 x))\n"
7972 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007973 " (signature vec3\n"
7974 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007975 " (declare (in) vec3 x))\n"
7976 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007977 " (signature vec4\n"
7978 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007979 " (declare (in) vec4 x))\n"
7980 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007981 "(function fract\n"
7982 " (signature float\n"
7983 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007984 " (declare (in) float x))\n"
7985 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007986 " (signature vec2\n"
7987 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007988 " (declare (in) vec2 x))\n"
7989 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007990 " (signature vec3\n"
7991 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007992 " (declare (in) vec3 x))\n"
7993 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007994 " (signature vec4\n"
7995 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07007996 " (declare (in) vec4 x))\n"
7997 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07007998 "(function mod\n"
7999 " (signature float\n"
8000 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008001 " (declare (in) float x)\n"
8002 " (declare (in) float y))\n"
8003 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008004 " (signature vec2\n"
8005 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008006 " (declare (in) vec2 x)\n"
8007 " (declare (in) float y))\n"
8008 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008009 " (signature vec3\n"
8010 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008011 " (declare (in) vec3 x)\n"
8012 " (declare (in) float y))\n"
8013 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008014 " (signature vec4\n"
8015 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008016 " (declare (in) vec4 x)\n"
8017 " (declare (in) float y))\n"
8018 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008019 " (signature vec2\n"
8020 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008021 " (declare (in) vec2 x)\n"
8022 " (declare (in) vec2 y))\n"
8023 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008024 " (signature vec3\n"
8025 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008026 " (declare (in) vec3 x)\n"
8027 " (declare (in) vec3 y))\n"
8028 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008029 " (signature vec4\n"
8030 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008031 " (declare (in) vec4 x)\n"
8032 " (declare (in) vec4 y))\n"
8033 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008034 "(function min\n"
8035 " (signature float\n"
8036 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008037 " (declare (in) float x)\n"
8038 " (declare (in) float y))\n"
8039 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008040 " (signature vec2\n"
8041 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008042 " (declare (in) vec2 x)\n"
8043 " (declare (in) vec2 y))\n"
8044 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008045 " (signature vec3\n"
8046 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008047 " (declare (in) vec3 x)\n"
8048 " (declare (in) vec3 y))\n"
8049 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008050 " (signature vec4\n"
8051 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008052 " (declare (in) vec4 x)\n"
8053 " (declare (in) vec4 y))\n"
8054 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008055 " (signature vec2\n"
8056 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008057 " (declare (in) vec2 x)\n"
8058 " (declare (in) float y))\n"
8059 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008060 " (signature vec3\n"
8061 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008062 " (declare (in) vec3 x)\n"
8063 " (declare (in) float y))\n"
8064 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008065 " (signature vec4\n"
8066 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008067 " (declare (in) vec4 x)\n"
8068 " (declare (in) float y))\n"
8069 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008070 "(function max\n"
8071 " (signature float\n"
8072 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008073 " (declare (in) float x)\n"
8074 " (declare (in) float y))\n"
8075 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008076 " (signature vec2\n"
8077 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008078 " (declare (in) vec2 x)\n"
8079 " (declare (in) vec2 y))\n"
8080 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008081 " (signature vec3\n"
8082 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008083 " (declare (in) vec3 x)\n"
8084 " (declare (in) vec3 y))\n"
8085 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008086 " (signature vec4\n"
8087 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008088 " (declare (in) vec4 x)\n"
8089 " (declare (in) vec4 y))\n"
8090 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008091 " (signature vec2\n"
8092 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008093 " (declare (in) vec2 x)\n"
8094 " (declare (in) float y))\n"
8095 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008096 " (signature vec3\n"
8097 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008098 " (declare (in) vec3 x)\n"
8099 " (declare (in) float y))\n"
8100 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008101 " (signature vec4\n"
8102 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008103 " (declare (in) vec4 x)\n"
8104 " (declare (in) float y))\n"
8105 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008106 "(function clamp\n"
8107 " (signature float\n"
8108 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008109 " (declare (in) float x)\n"
8110 " (declare (in) float minVal)\n"
8111 " (declare (in) float maxVal))\n"
8112 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008113 " (signature vec2\n"
8114 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008115 " (declare (in) vec2 x)\n"
8116 " (declare (in) vec2 minVal)\n"
8117 " (declare (in) vec2 maxVal))\n"
8118 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008119 " (signature vec3\n"
8120 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008121 " (declare (in) vec3 x)\n"
8122 " (declare (in) vec3 minVal)\n"
8123 " (declare (in) vec3 maxVal))\n"
8124 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008125 " (signature vec4\n"
8126 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008127 " (declare (in) vec4 x)\n"
8128 " (declare (in) vec4 minVal)\n"
8129 " (declare (in) vec4 maxVal))\n"
8130 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008131 " (signature vec2\n"
8132 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008133 " (declare (in) vec2 x)\n"
8134 " (declare (in) float minVal)\n"
8135 " (declare (in) float maxVal))\n"
8136 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008137 " (signature vec3\n"
8138 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008139 " (declare (in) vec3 x)\n"
8140 " (declare (in) float minVal)\n"
8141 " (declare (in) float maxVal))\n"
8142 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008143 " (signature vec4\n"
8144 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008145 " (declare (in) vec4 x)\n"
8146 " (declare (in) float minVal)\n"
8147 " (declare (in) float maxVal))\n"
8148 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008149 "(function mix\n"
8150 " (signature float\n"
8151 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008152 " (declare (in) float x)\n"
8153 " (declare (in) float y)\n"
8154 " (declare (in) float a))\n"
8155 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008156 " (signature vec2\n"
8157 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008158 " (declare (in) vec2 x)\n"
8159 " (declare (in) vec2 y)\n"
8160 " (declare (in) vec2 a))\n"
8161 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008162 " (signature vec3\n"
8163 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008164 " (declare (in) vec3 x)\n"
8165 " (declare (in) vec3 y)\n"
8166 " (declare (in) vec3 a))\n"
8167 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008168 " (signature vec4\n"
8169 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008170 " (declare (in) vec4 x)\n"
8171 " (declare (in) vec4 y)\n"
8172 " (declare (in) vec4 a))\n"
8173 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008174 " (signature vec2\n"
8175 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008176 " (declare (in) vec2 x)\n"
8177 " (declare (in) vec2 y)\n"
8178 " (declare (in) float a))\n"
8179 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008180 " (signature vec3\n"
8181 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008182 " (declare (in) vec3 x)\n"
8183 " (declare (in) vec3 y)\n"
8184 " (declare (in) float a))\n"
8185 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008186 " (signature vec4\n"
8187 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008188 " (declare (in) vec4 x)\n"
8189 " (declare (in) vec4 y)\n"
8190 " (declare (in) float a))\n"
8191 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008192 "(function step\n"
8193 " (signature float\n"
8194 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008195 " (declare (in) float edge)\n"
8196 " (declare (in) float x))\n"
8197 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008198 " (signature vec2\n"
8199 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008200 " (declare (in) vec2 edge)\n"
8201 " (declare (in) vec2 x))\n"
8202 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008203 " (signature vec3\n"
8204 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008205 " (declare (in) vec3 edge)\n"
8206 " (declare (in) vec3 x))\n"
8207 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008208 " (signature vec4\n"
8209 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008210 " (declare (in) vec4 edge)\n"
8211 " (declare (in) vec4 x))\n"
8212 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008213 " (signature vec2\n"
8214 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008215 " (declare (in) float edge)\n"
8216 " (declare (in) vec2 x))\n"
8217 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008218 " (signature vec3\n"
8219 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008220 " (declare (in) float edge)\n"
8221 " (declare (in) vec3 x))\n"
8222 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008223 " (signature vec4\n"
8224 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008225 " (declare (in) float edge)\n"
8226 " (declare (in) vec4 x))\n"
8227 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008228 "(function smoothstep\n"
8229 " (signature float\n"
8230 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008231 " (declare (in) float edge0)\n"
8232 " (declare (in) float edge1)\n"
8233 " (declare (in) float x))\n"
8234 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008235 " (signature vec2\n"
8236 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008237 " (declare (in) vec2 edge0)\n"
8238 " (declare (in) vec2 edge1)\n"
8239 " (declare (in) vec2 x))\n"
8240 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008241 " (signature vec3\n"
8242 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008243 " (declare (in) vec3 edge0)\n"
8244 " (declare (in) vec3 edge1)\n"
8245 " (declare (in) vec3 x))\n"
8246 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008247 " (signature vec4\n"
8248 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008249 " (declare (in) vec4 edge0)\n"
8250 " (declare (in) vec4 edge1)\n"
8251 " (declare (in) vec4 x))\n"
8252 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008253 " (signature vec2\n"
8254 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008255 " (declare (in) float edge0)\n"
8256 " (declare (in) float edge1)\n"
8257 " (declare (in) vec2 x))\n"
8258 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008259 " (signature vec3\n"
8260 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008261 " (declare (in) float edge0)\n"
8262 " (declare (in) float edge1)\n"
8263 " (declare (in) vec3 x))\n"
8264 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008265 " (signature vec4\n"
8266 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008267 " (declare (in) float edge0)\n"
8268 " (declare (in) float edge1)\n"
8269 " (declare (in) vec4 x))\n"
8270 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008271 "(function length\n"
8272 " (signature float\n"
8273 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008274 " (declare (in) float x))\n"
8275 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008276 " (signature float\n"
8277 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008278 " (declare (in) vec2 x))\n"
8279 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008280 " (signature float\n"
8281 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008282 " (declare (in) vec3 x))\n"
8283 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008284 " (signature float\n"
8285 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008286 " (declare (in) vec4 x))\n"
8287 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008288 "(function distance\n"
8289 " (signature float\n"
8290 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008291 " (declare (in) float p0)\n"
8292 " (declare (in) float p1))\n"
8293 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008294 " (signature float\n"
8295 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008296 " (declare (in) vec2 p0)\n"
8297 " (declare (in) vec2 p1))\n"
8298 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008299 " (signature float\n"
8300 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008301 " (declare (in) vec3 p0)\n"
8302 " (declare (in) vec3 p1))\n"
8303 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008304 " (signature float\n"
8305 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008306 " (declare (in) vec4 p0)\n"
8307 " (declare (in) vec4 p1))\n"
8308 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008309 "(function dot\n"
8310 " (signature float\n"
8311 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008312 " (declare (in) float x)\n"
8313 " (declare (in) float y))\n"
8314 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008315 " (signature float\n"
8316 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008317 " (declare (in) vec2 x)\n"
8318 " (declare (in) vec2 y))\n"
8319 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008320 " (signature float\n"
8321 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008322 " (declare (in) vec3 x)\n"
8323 " (declare (in) vec3 y))\n"
8324 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008325 " (signature float\n"
8326 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008327 " (declare (in) vec4 x)\n"
8328 " (declare (in) vec4 y))\n"
8329 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008330 "(function cross\n"
8331 " (signature vec3\n"
8332 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008333 " (declare (in) vec3 x)\n"
8334 " (declare (in) vec3 y))\n"
8335 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008336 "(function normalize\n"
8337 " (signature float\n"
8338 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008339 " (declare (in) float x))\n"
8340 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008341 " (signature vec2\n"
8342 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008343 " (declare (in) vec2 x))\n"
8344 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008345 " (signature vec3\n"
8346 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008347 " (declare (in) vec3 x))\n"
8348 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008349 " (signature vec4\n"
8350 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008351 " (declare (in) vec4 x))\n"
8352 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008353 "(function faceforward\n"
8354 " (signature float\n"
8355 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008356 " (declare (in) float N)\n"
8357 " (declare (in) float I)\n"
8358 " (declare (in) float Nref))\n"
8359 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008360 " (signature vec2\n"
8361 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008362 " (declare (in) vec2 N)\n"
8363 " (declare (in) vec2 I)\n"
8364 " (declare (in) vec2 Nref))\n"
8365 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008366 " (signature vec3\n"
8367 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008368 " (declare (in) vec3 N)\n"
8369 " (declare (in) vec3 I)\n"
8370 " (declare (in) vec3 Nref))\n"
8371 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008372 " (signature vec4\n"
8373 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008374 " (declare (in) vec4 N)\n"
8375 " (declare (in) vec4 I)\n"
8376 " (declare (in) vec4 Nref))\n"
8377 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008378 "(function reflect\n"
8379 " (signature float\n"
8380 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008381 " (declare (in) float I)\n"
8382 " (declare (in) float N))\n"
8383 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008384 " (signature vec2\n"
8385 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008386 " (declare (in) vec2 I)\n"
8387 " (declare (in) vec2 N))\n"
8388 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008389 " (signature vec3\n"
8390 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008391 " (declare (in) vec3 I)\n"
8392 " (declare (in) vec3 N))\n"
8393 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008394 " (signature vec4\n"
8395 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008396 " (declare (in) vec4 I)\n"
8397 " (declare (in) vec4 N))\n"
8398 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008399 "(function refract\n"
8400 " (signature float\n"
8401 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008402 " (declare (in) float I)\n"
8403 " (declare (in) float N)\n"
8404 " (declare (in) float eta))\n"
8405 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008406 " (signature vec2\n"
8407 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008408 " (declare (in) vec2 I)\n"
8409 " (declare (in) vec2 N)\n"
8410 " (declare (in) float eta))\n"
8411 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008412 " (signature vec3\n"
8413 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008414 " (declare (in) vec3 I)\n"
8415 " (declare (in) vec3 N)\n"
8416 " (declare (in) float eta))\n"
8417 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008418 " (signature vec4\n"
8419 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008420 " (declare (in) vec4 I)\n"
8421 " (declare (in) vec4 N)\n"
8422 " (declare (in) float eta))\n"
8423 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008424 "(function matrixCompMult\n"
8425 " (signature mat2\n"
8426 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008427 " (declare (in) mat2 x)\n"
8428 " (declare (in) mat2 y))\n"
8429 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008430 " (signature mat3\n"
8431 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008432 " (declare (in) mat3 x)\n"
8433 " (declare (in) mat3 y))\n"
8434 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008435 " (signature mat4\n"
8436 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008437 " (declare (in) mat4 x)\n"
8438 " (declare (in) mat4 y))\n"
8439 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008440 "(function lessThan\n"
8441 " (signature bvec2\n"
8442 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008443 " (declare (in) vec2 x)\n"
8444 " (declare (in) vec2 y))\n"
8445 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008446 " (signature bvec3\n"
8447 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008448 " (declare (in) vec3 x)\n"
8449 " (declare (in) vec3 y))\n"
8450 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008451 " (signature bvec4\n"
8452 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008453 " (declare (in) vec4 x)\n"
8454 " (declare (in) vec4 y))\n"
8455 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008456 " (signature bvec2\n"
8457 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008458 " (declare (in) ivec2 x)\n"
8459 " (declare (in) ivec2 y))\n"
8460 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008461 " (signature bvec3\n"
8462 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008463 " (declare (in) ivec3 x)\n"
8464 " (declare (in) ivec3 y))\n"
8465 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008466 " (signature bvec4\n"
8467 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008468 " (declare (in) ivec4 x)\n"
8469 " (declare (in) ivec4 y))\n"
8470 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008471 "(function lessThanEqual\n"
8472 " (signature bvec2\n"
8473 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008474 " (declare (in) vec2 x)\n"
8475 " (declare (in) vec2 y))\n"
8476 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008477 " (signature bvec3\n"
8478 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008479 " (declare (in) vec3 x)\n"
8480 " (declare (in) vec3 y))\n"
8481 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008482 " (signature bvec4\n"
8483 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008484 " (declare (in) vec4 x)\n"
8485 " (declare (in) vec4 y))\n"
8486 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008487 " (signature bvec2\n"
8488 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008489 " (declare (in) ivec2 x)\n"
8490 " (declare (in) ivec2 y))\n"
8491 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008492 " (signature bvec3\n"
8493 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008494 " (declare (in) ivec3 x)\n"
8495 " (declare (in) ivec3 y))\n"
8496 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008497 " (signature bvec4\n"
8498 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008499 " (declare (in) ivec4 x)\n"
8500 " (declare (in) ivec4 y))\n"
8501 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008502 "(function greaterThan\n"
8503 " (signature bvec2\n"
8504 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008505 " (declare (in) vec2 x)\n"
8506 " (declare (in) vec2 y))\n"
8507 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008508 " (signature bvec3\n"
8509 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008510 " (declare (in) vec3 x)\n"
8511 " (declare (in) vec3 y))\n"
8512 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008513 " (signature bvec4\n"
8514 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008515 " (declare (in) vec4 x)\n"
8516 " (declare (in) vec4 y))\n"
8517 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008518 " (signature bvec2\n"
8519 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008520 " (declare (in) ivec2 x)\n"
8521 " (declare (in) ivec2 y))\n"
8522 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008523 " (signature bvec3\n"
8524 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008525 " (declare (in) ivec3 x)\n"
8526 " (declare (in) ivec3 y))\n"
8527 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008528 " (signature bvec4\n"
8529 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008530 " (declare (in) ivec4 x)\n"
8531 " (declare (in) ivec4 y))\n"
8532 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008533 "(function greaterThanEqual\n"
8534 " (signature bvec2\n"
8535 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008536 " (declare (in) vec2 x)\n"
8537 " (declare (in) vec2 y))\n"
8538 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008539 " (signature bvec3\n"
8540 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008541 " (declare (in) vec3 x)\n"
8542 " (declare (in) vec3 y))\n"
8543 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008544 " (signature bvec4\n"
8545 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008546 " (declare (in) vec4 x)\n"
8547 " (declare (in) vec4 y))\n"
8548 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008549 " (signature bvec2\n"
8550 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008551 " (declare (in) ivec2 x)\n"
8552 " (declare (in) ivec2 y))\n"
8553 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008554 " (signature bvec3\n"
8555 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008556 " (declare (in) ivec3 x)\n"
8557 " (declare (in) ivec3 y))\n"
8558 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008559 " (signature bvec4\n"
8560 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008561 " (declare (in) ivec4 x)\n"
8562 " (declare (in) ivec4 y))\n"
8563 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008564 "(function equal\n"
8565 " (signature bvec2\n"
8566 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008567 " (declare (in) vec2 x)\n"
8568 " (declare (in) vec2 y))\n"
8569 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008570 " (signature bvec3\n"
8571 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008572 " (declare (in) vec3 x)\n"
8573 " (declare (in) vec3 y))\n"
8574 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008575 " (signature bvec4\n"
8576 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008577 " (declare (in) vec4 x)\n"
8578 " (declare (in) vec4 y))\n"
8579 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008580 " (signature bvec2\n"
8581 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008582 " (declare (in) ivec2 x)\n"
8583 " (declare (in) ivec2 y))\n"
8584 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008585 " (signature bvec3\n"
8586 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008587 " (declare (in) ivec3 x)\n"
8588 " (declare (in) ivec3 y))\n"
8589 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008590 " (signature bvec4\n"
8591 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008592 " (declare (in) ivec4 x)\n"
8593 " (declare (in) ivec4 y))\n"
8594 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008595 " (signature bvec2\n"
8596 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008597 " (declare (in) bvec2 x)\n"
8598 " (declare (in) bvec2 y))\n"
8599 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008600 " (signature bvec3\n"
8601 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008602 " (declare (in) bvec3 x)\n"
8603 " (declare (in) bvec3 y))\n"
8604 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008605 " (signature bvec4\n"
8606 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008607 " (declare (in) bvec4 x)\n"
8608 " (declare (in) bvec4 y))\n"
8609 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008610 "(function notEqual\n"
8611 " (signature bvec2\n"
8612 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008613 " (declare (in) vec2 x)\n"
8614 " (declare (in) vec2 y))\n"
8615 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008616 " (signature bvec3\n"
8617 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008618 " (declare (in) vec3 x)\n"
8619 " (declare (in) vec3 y))\n"
8620 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008621 " (signature bvec4\n"
8622 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008623 " (declare (in) vec4 x)\n"
8624 " (declare (in) vec4 y))\n"
8625 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008626 " (signature bvec2\n"
8627 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008628 " (declare (in) ivec2 x)\n"
8629 " (declare (in) ivec2 y))\n"
8630 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008631 " (signature bvec3\n"
8632 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008633 " (declare (in) ivec3 x)\n"
8634 " (declare (in) ivec3 y))\n"
8635 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008636 " (signature bvec4\n"
8637 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008638 " (declare (in) ivec4 x)\n"
8639 " (declare (in) ivec4 y))\n"
8640 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008641 " (signature bvec2\n"
8642 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008643 " (declare (in) bvec2 x)\n"
8644 " (declare (in) bvec2 y))\n"
8645 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008646 " (signature bvec3\n"
8647 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008648 " (declare (in) bvec3 x)\n"
8649 " (declare (in) bvec3 y))\n"
8650 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008651 " (signature bvec4\n"
8652 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008653 " (declare (in) bvec4 x)\n"
8654 " (declare (in) bvec4 y))\n"
8655 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008656 "(function any\n"
8657 " (signature bool\n"
8658 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008659 " (declare (in) bvec2 x))\n"
8660 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008661 " (signature bool\n"
8662 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008663 " (declare (in) bvec3 x))\n"
8664 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008665 " (signature bool\n"
8666 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008667 " (declare (in) bvec4 x))\n"
8668 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008669 "(function all\n"
8670 " (signature bool\n"
8671 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008672 " (declare (in) bvec2 x))\n"
8673 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008674 " (signature bool\n"
8675 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008676 " (declare (in) bvec3 x))\n"
8677 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008678 " (signature bool\n"
8679 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008680 " (declare (in) bvec4 x))\n"
8681 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008682 "(function not\n"
8683 " (signature bvec2\n"
8684 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008685 " (declare (in) bvec2 x))\n"
8686 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008687 " (signature bvec3\n"
8688 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008689 " (declare (in) bvec3 x))\n"
8690 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008691 " (signature bvec4\n"
8692 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008693 " (declare (in) bvec4 x))\n"
8694 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008695 "(function texture1D\n"
8696 " (signature vec4\n"
8697 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008698 " (declare (in) sampler1D sampler)\n"
8699 " (declare (in) float coord))\n"
8700 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008701 " (signature vec4\n"
8702 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008703 " (declare (in) sampler1D sampler)\n"
8704 " (declare (in) float coord)\n"
8705 " (declare (in) float bias))\n"
8706 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008707 "(function texture1DProj\n"
8708 " (signature vec4\n"
8709 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008710 " (declare (in) sampler1D sampler)\n"
8711 " (declare (in) vec2 coord))\n"
8712 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008713 " (signature vec4\n"
8714 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008715 " (declare (in) sampler1D sampler)\n"
8716 " (declare (in) vec4 coord))\n"
8717 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008718 " (signature vec4\n"
8719 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008720 " (declare (in) sampler1D sampler)\n"
8721 " (declare (in) vec2 coord)\n"
8722 " (declare (in) float bias))\n"
8723 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008724 " (signature vec4\n"
8725 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008726 " (declare (in) sampler1D sampler)\n"
8727 " (declare (in) vec4 coord)\n"
8728 " (declare (in) float bias))\n"
8729 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008730 "(function texture2D\n"
8731 " (signature vec4\n"
8732 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008733 " (declare (in) sampler2D sampler)\n"
8734 " (declare (in) vec2 coord))\n"
8735 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008736 " (signature vec4\n"
8737 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008738 " (declare (in) sampler2D sampler)\n"
8739 " (declare (in) vec2 coord)\n"
8740 " (declare (in) float bias))\n"
8741 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008742 "(function texture2DProj\n"
8743 " (signature vec4\n"
8744 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008745 " (declare (in) sampler2D sampler)\n"
8746 " (declare (in) vec3 coord))\n"
8747 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008748 " (signature vec4\n"
8749 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008750 " (declare (in) sampler2D sampler)\n"
8751 " (declare (in) vec4 coord))\n"
8752 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008753 " (signature vec4\n"
8754 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008755 " (declare (in) sampler2D sampler)\n"
8756 " (declare (in) vec3 coord)\n"
8757 " (declare (in) float bias))\n"
8758 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008759 " (signature vec4\n"
8760 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008761 " (declare (in) sampler2D sampler)\n"
8762 " (declare (in) vec4 coord)\n"
8763 " (declare (in) float bias))\n"
8764 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008765 "(function texture3D\n"
8766 " (signature vec4\n"
8767 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008768 " (declare (in) sampler3D sampler)\n"
8769 " (declare (in) vec3 coord))\n"
8770 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008771 " (signature vec4\n"
8772 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008773 " (declare (in) sampler3D sampler)\n"
8774 " (declare (in) vec3 coord)\n"
8775 " (declare (in) float bias))\n"
8776 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008777 "(function texture3DProj\n"
8778 " (signature vec4\n"
8779 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008780 " (declare (in) sampler3D sampler)\n"
8781 " (declare (in) vec4 coord))\n"
8782 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008783 " (signature vec4\n"
8784 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008785 " (declare (in) sampler3D sampler)\n"
8786 " (declare (in) vec4 coord)\n"
8787 " (declare (in) float bias))\n"
8788 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008789 "(function textureCube\n"
8790 " (signature vec4\n"
8791 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008792 " (declare (in) samplerCube sampler)\n"
8793 " (declare (in) vec3 coord))\n"
8794 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008795 " (signature vec4\n"
8796 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008797 " (declare (in) samplerCube sampler)\n"
8798 " (declare (in) vec3 coord)\n"
8799 " (declare (in) float bias))\n"
8800 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008801 "(function shadow1D\n"
8802 " (signature vec4\n"
8803 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008804 " (declare (in) sampler1DShadow sampler)\n"
8805 " (declare (in) vec3 coord))\n"
8806 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008807 " (signature vec4\n"
8808 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008809 " (declare (in) sampler1DShadow sampler)\n"
8810 " (declare (in) vec3 coord)\n"
8811 " (declare (in) float bias))\n"
8812 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008813 "(function shadow2D\n"
8814 " (signature vec4\n"
8815 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008816 " (declare (in) sampler2DShadow sampler)\n"
8817 " (declare (in) vec3 coord))\n"
8818 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008819 " (signature vec4\n"
8820 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008821 " (declare (in) sampler2DShadow sampler)\n"
8822 " (declare (in) vec3 coord)\n"
8823 " (declare (in) float bias))\n"
8824 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008825 "(function shadow1DProj\n"
8826 " (signature vec4\n"
8827 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008828 " (declare (in) sampler1DShadow sampler)\n"
8829 " (declare (in) vec4 coord))\n"
8830 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008831 " (signature vec4\n"
8832 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008833 " (declare (in) sampler1DShadow sampler)\n"
8834 " (declare (in) vec4 coord)\n"
8835 " (declare (in) float bias))\n"
8836 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008837 "(function shadow2DProj\n"
8838 " (signature vec4\n"
8839 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008840 " (declare (in) sampler2DShadow sampler)\n"
8841 " (declare (in) vec4 coord))\n"
8842 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008843 " (signature vec4\n"
8844 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008845 " (declare (in) sampler2DShadow sampler)\n"
8846 " (declare (in) vec4 coord)\n"
8847 " (declare (in) float bias))\n"
8848 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008849 "(function dFdx\n"
8850 " (signature float\n"
8851 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008852 " (declare (in) float p))\n"
8853 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008854 " (signature vec2\n"
8855 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008856 " (declare (in) vec2 p))\n"
8857 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008858 " (signature vec3\n"
8859 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008860 " (declare (in) vec3 p))\n"
8861 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008862 " (signature vec4\n"
8863 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008864 " (declare (in) vec4 p))\n"
8865 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008866 "(function dFdy\n"
8867 " (signature float\n"
8868 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008869 " (declare (in) float p))\n"
8870 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008871 " (signature vec2\n"
8872 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008873 " (declare (in) vec2 p))\n"
8874 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008875 " (signature vec3\n"
8876 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008877 " (declare (in) vec3 p))\n"
8878 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008879 " (signature vec4\n"
8880 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008881 " (declare (in) vec4 p))\n"
8882 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008883 "(function fwidth\n"
8884 " (signature float\n"
8885 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008886 " (declare (in) float p))\n"
8887 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008888 " (signature vec2\n"
8889 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008890 " (declare (in) vec2 p))\n"
8891 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008892 " (signature vec3\n"
8893 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008894 " (declare (in) vec3 p))\n"
8895 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008896 " (signature vec4\n"
8897 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008898 " (declare (in) vec4 p))\n"
8899 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008900 "(function noise1\n"
8901 " (signature float\n"
8902 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008903 " (declare (in) float x))\n"
8904 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008905 " (signature float\n"
8906 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008907 " (declare (in) vec2 x))\n"
8908 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008909 " (signature float\n"
8910 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008911 " (declare (in) vec3 x))\n"
8912 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008913 " (signature float\n"
8914 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008915 " (declare (in) vec4 x))\n"
8916 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008917 "(function noise2\n"
8918 " (signature vec2\n"
8919 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008920 " (declare (in) float x))\n"
8921 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008922 " (signature vec2\n"
8923 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008924 " (declare (in) vec2 x))\n"
8925 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008926 " (signature vec2\n"
8927 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008928 " (declare (in) vec3 x))\n"
8929 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008930 " (signature vec2\n"
8931 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008932 " (declare (in) vec4 x))\n"
8933 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008934 "(function noise3\n"
8935 " (signature vec3\n"
8936 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008937 " (declare (in) float x))\n"
8938 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008939 " (signature vec3\n"
8940 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008941 " (declare (in) vec2 x))\n"
8942 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008943 " (signature vec3\n"
8944 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008945 " (declare (in) vec3 x))\n"
8946 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008947 " (signature vec3\n"
8948 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008949 " (declare (in) vec4 x))\n"
8950 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008951 "(function noise4\n"
8952 " (signature vec4\n"
8953 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008954 " (declare (in) float x))\n"
8955 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008956 " (signature vec4\n"
8957 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008958 " (declare (in) vec2 x))\n"
8959 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008960 " (signature vec4\n"
8961 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008962 " (declare (in) vec3 x))\n"
8963 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008964 " (signature vec4\n"
8965 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07008966 " (declare (in) vec4 x))\n"
8967 " ())))"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008968;
8969static const char *functions_for_110_frag [] = {
8970 builtin_clamp,
8971 builtin_matrixCompMult,
8972 builtin_noise2,
8973 builtin_pow,
8974 builtin_texture2DProj,
8975 builtin_fwidth,
8976 builtin_greaterThanEqual,
8977 builtin_sign,
8978 builtin_texture3DProj,
8979 builtin_texture2D,
8980 builtin_equal,
8981 builtin_faceforward,
8982 builtin_tan,
8983 builtin_any,
8984 builtin_normalize,
8985 builtin_asin,
8986 builtin_texture1DProj,
8987 builtin_log,
8988 builtin_floor,
8989 builtin_exp2,
8990 builtin_lessThan,
8991 builtin_cross,
8992 builtin_sqrt,
8993 builtin_shadow2DProj,
8994 builtin_fract,
8995 builtin_abs,
8996 builtin_degrees,
8997 builtin_dFdx,
8998 builtin_sin,
8999 builtin_shadow2D,
9000 builtin_all,
9001 builtin_log2,
9002 builtin_atan,
9003 builtin_notEqual,
9004 builtin_max,
9005 builtin_lessThanEqual,
9006 builtin_shadow1DProj,
9007 builtin_ceil,
9008 builtin_reflect,
9009 builtin_step,
9010 builtin_texture1D,
9011 builtin_greaterThan,
9012 builtin_texture3D,
9013 builtin_not,
9014 builtin_inversesqrt,
9015 builtin_mod,
9016 builtin_noise4,
9017 builtin_distance,
9018 builtin_cos,
9019 builtin_shadow1D,
9020 builtin_noise1,
9021 builtin_refract,
9022 builtin_noise3,
9023 builtin_min,
9024 builtin_radians,
9025 builtin_smoothstep,
9026 builtin_textureCube,
9027 builtin_length,
9028 builtin_dFdy,
9029 builtin_exp,
9030 builtin_acos,
9031 builtin_mix,
9032 builtin_dot,
9033};
9034static const char *prototypes_for_EXT_texture_array_vert =
9035 "(\n"
9036 "(function texture1DArray\n"
9037 " (signature vec4\n"
9038 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009039 " (declare (in) sampler1DArray sampler)\n"
9040 " (declare (in) vec2 coord))\n"
9041 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009042 "(function texture1DArrayLod\n"
9043 " (signature vec4\n"
9044 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009045 " (declare (in) sampler1DArray sampler)\n"
9046 " (declare (in) vec2 coord)\n"
9047 " (declare (in) float lod))\n"
9048 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009049 "(function texture2DArray\n"
9050 " (signature vec4\n"
9051 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009052 " (declare (in) sampler2DArray sampler)\n"
9053 " (declare (in) vec3 coord))\n"
9054 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009055 "(function texture2DArrayLod\n"
9056 " (signature vec4\n"
9057 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009058 " (declare (in) sampler2DArray sampler)\n"
9059 " (declare (in) vec3 coord)\n"
9060 " (declare (in) float lod))\n"
9061 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009062 "(function shadow1DArray\n"
9063 " (signature vec4\n"
9064 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009065 " (declare (in) sampler1DArrayShadow sampler)\n"
9066 " (declare (in) vec3 coord))\n"
9067 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009068 "(function shadow1DArrayLod\n"
9069 " (signature vec4\n"
9070 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009071 " (declare (in) sampler1DArrayShadow sampler)\n"
9072 " (declare (in) vec3 coord)\n"
9073 " (declare (in) float lod))\n"
9074 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009075 "(function shadow2DArray\n"
9076 " (signature vec4\n"
9077 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009078 " (declare (in) sampler2DArrayShadow sampler)\n"
9079 " (declare (in) vec4 coord))\n"
9080 " ())))"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009081;
9082static const char *functions_for_EXT_texture_array_vert [] = {
9083 builtin_texture1DArrayLod,
9084 builtin_shadow2DArray,
9085 builtin_texture2DArrayLod,
9086 builtin_shadow1DArrayLod,
9087 builtin_shadow1DArray,
9088 builtin_texture2DArray,
9089 builtin_texture1DArray,
9090};
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009091static const char *prototypes_for_130_frag =
9092 "(\n"
9093 "(function radians\n"
9094 " (signature float\n"
9095 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009096 " (declare (in) float degrees))\n"
9097 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009098 " (signature vec2\n"
9099 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009100 " (declare (in) vec2 degrees))\n"
9101 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009102 " (signature vec3\n"
9103 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009104 " (declare (in) vec3 degrees))\n"
9105 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009106 " (signature vec4\n"
9107 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009108 " (declare (in) vec4 degrees))\n"
9109 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009110 "(function degrees\n"
9111 " (signature float\n"
9112 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009113 " (declare (in) float radians))\n"
9114 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009115 " (signature vec2\n"
9116 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009117 " (declare (in) vec2 radians))\n"
9118 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009119 " (signature vec3\n"
9120 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009121 " (declare (in) vec3 radians))\n"
9122 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009123 " (signature vec4\n"
9124 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009125 " (declare (in) vec4 radians))\n"
9126 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009127 "(function sin\n"
9128 " (signature float\n"
9129 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009130 " (declare (in) float angle))\n"
9131 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009132 " (signature vec2\n"
9133 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009134 " (declare (in) vec2 angle))\n"
9135 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009136 " (signature vec3\n"
9137 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009138 " (declare (in) vec3 angle))\n"
9139 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009140 " (signature vec4\n"
9141 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009142 " (declare (in) vec4 angle))\n"
9143 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009144 "(function cos\n"
9145 " (signature float\n"
9146 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009147 " (declare (in) float angle))\n"
9148 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009149 " (signature vec2\n"
9150 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009151 " (declare (in) vec2 angle))\n"
9152 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009153 " (signature vec3\n"
9154 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009155 " (declare (in) vec3 angle))\n"
9156 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009157 " (signature vec4\n"
9158 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009159 " (declare (in) vec4 angle))\n"
9160 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009161 "(function tan\n"
9162 " (signature float\n"
9163 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009164 " (declare (in) float angle))\n"
9165 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009166 " (signature vec2\n"
9167 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009168 " (declare (in) vec2 angle))\n"
9169 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009170 " (signature vec3\n"
9171 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009172 " (declare (in) vec3 angle))\n"
9173 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009174 " (signature vec4\n"
9175 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009176 " (declare (in) vec4 angle))\n"
9177 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009178 "(function asin\n"
9179 " (signature float\n"
9180 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009181 " (declare (in) float angle))\n"
9182 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009183 " (signature vec2\n"
9184 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009185 " (declare (in) vec2 angle))\n"
9186 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009187 " (signature vec3\n"
9188 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009189 " (declare (in) vec3 angle))\n"
9190 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009191 " (signature vec4\n"
9192 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009193 " (declare (in) vec4 angle))\n"
9194 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009195 "(function acos\n"
9196 " (signature float\n"
9197 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009198 " (declare (in) float angle))\n"
9199 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009200 " (signature vec2\n"
9201 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009202 " (declare (in) vec2 angle))\n"
9203 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009204 " (signature vec3\n"
9205 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009206 " (declare (in) vec3 angle))\n"
9207 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009208 " (signature vec4\n"
9209 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009210 " (declare (in) vec4 angle))\n"
9211 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009212 "(function atan\n"
9213 " (signature float\n"
9214 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009215 " (declare (in) float y)\n"
9216 " (declare (in) float x))\n"
9217 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009218 " (signature vec2\n"
9219 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009220 " (declare (in) vec2 y)\n"
9221 " (declare (in) vec2 x))\n"
9222 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009223 " (signature vec3\n"
9224 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009225 " (declare (in) vec3 y)\n"
9226 " (declare (in) vec3 x))\n"
9227 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009228 " (signature vec4\n"
9229 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009230 " (declare (in) vec4 y)\n"
9231 " (declare (in) vec4 x))\n"
9232 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009233 " (signature float\n"
9234 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009235 " (declare (in) float y_over_x))\n"
9236 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009237 " (signature vec2\n"
9238 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009239 " (declare (in) vec2 y_over_x))\n"
9240 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009241 " (signature vec3\n"
9242 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009243 " (declare (in) vec3 y_over_x))\n"
9244 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009245 " (signature vec4\n"
9246 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009247 " (declare (in) vec4 y_over_x))\n"
9248 " ()))\n"
9249 "(function sinh\n"
9250 " (signature float\n"
9251 " (parameters\n"
9252 " (declare (in) float x))\n"
9253 " ())\n"
9254 " (signature vec2\n"
9255 " (parameters\n"
9256 " (declare (in) vec2 x))\n"
9257 " ())\n"
9258 " (signature vec3\n"
9259 " (parameters\n"
9260 " (declare (in) vec3 x))\n"
9261 " ())\n"
9262 " (signature vec4\n"
9263 " (parameters\n"
9264 " (declare (in) vec4 x))\n"
9265 " ()))\n"
9266 "(function cosh\n"
9267 " (signature float\n"
9268 " (parameters\n"
9269 " (declare (in) float x))\n"
9270 " ())\n"
9271 " (signature vec2\n"
9272 " (parameters\n"
9273 " (declare (in) vec2 x))\n"
9274 " ())\n"
9275 " (signature vec3\n"
9276 " (parameters\n"
9277 " (declare (in) vec3 x))\n"
9278 " ())\n"
9279 " (signature vec4\n"
9280 " (parameters\n"
9281 " (declare (in) vec4 x))\n"
9282 " ()))\n"
9283 "(function tanh\n"
9284 " (signature float\n"
9285 " (parameters\n"
9286 " (declare (in) float x))\n"
9287 " ())\n"
9288 " (signature vec2\n"
9289 " (parameters\n"
9290 " (declare (in) vec2 x))\n"
9291 " ())\n"
9292 " (signature vec3\n"
9293 " (parameters\n"
9294 " (declare (in) vec3 x))\n"
9295 " ())\n"
9296 " (signature vec4\n"
9297 " (parameters\n"
9298 " (declare (in) vec4 x))\n"
9299 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009300 "(function pow\n"
9301 " (signature float\n"
9302 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009303 " (declare (in) float x)\n"
9304 " (declare (in) float y))\n"
9305 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009306 " (signature vec2\n"
9307 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009308 " (declare (in) vec2 x)\n"
9309 " (declare (in) vec2 y))\n"
9310 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009311 " (signature vec3\n"
9312 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009313 " (declare (in) vec3 x)\n"
9314 " (declare (in) vec3 y))\n"
9315 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009316 " (signature vec4\n"
9317 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009318 " (declare (in) vec4 x)\n"
9319 " (declare (in) vec4 y))\n"
9320 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009321 "(function exp\n"
9322 " (signature float\n"
9323 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009324 " (declare (in) float x))\n"
9325 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009326 " (signature vec2\n"
9327 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009328 " (declare (in) vec2 x))\n"
9329 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009330 " (signature vec3\n"
9331 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009332 " (declare (in) vec3 x))\n"
9333 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009334 " (signature vec4\n"
9335 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009336 " (declare (in) vec4 x))\n"
9337 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009338 "(function log\n"
9339 " (signature float\n"
9340 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009341 " (declare (in) float x))\n"
9342 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009343 " (signature vec2\n"
9344 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009345 " (declare (in) vec2 x))\n"
9346 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009347 " (signature vec3\n"
9348 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009349 " (declare (in) vec3 x))\n"
9350 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009351 " (signature vec4\n"
9352 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009353 " (declare (in) vec4 x))\n"
9354 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009355 "(function exp2\n"
9356 " (signature float\n"
9357 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009358 " (declare (in) float x))\n"
9359 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009360 " (signature vec2\n"
9361 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009362 " (declare (in) vec2 x))\n"
9363 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009364 " (signature vec3\n"
9365 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009366 " (declare (in) vec3 x))\n"
9367 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009368 " (signature vec4\n"
9369 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009370 " (declare (in) vec4 x))\n"
9371 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009372 "(function log2\n"
9373 " (signature float\n"
9374 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009375 " (declare (in) float x))\n"
9376 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009377 " (signature vec2\n"
9378 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009379 " (declare (in) vec2 x))\n"
9380 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009381 " (signature vec3\n"
9382 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009383 " (declare (in) vec3 x))\n"
9384 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009385 " (signature vec4\n"
9386 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009387 " (declare (in) vec4 x))\n"
9388 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009389 "(function sqrt\n"
9390 " (signature float\n"
9391 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009392 " (declare (in) float x))\n"
9393 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009394 " (signature vec2\n"
9395 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009396 " (declare (in) vec2 x))\n"
9397 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009398 " (signature vec3\n"
9399 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009400 " (declare (in) vec3 x))\n"
9401 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009402 " (signature vec4\n"
9403 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009404 " (declare (in) vec4 x))\n"
9405 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009406 "(function inversesqrt\n"
9407 " (signature float\n"
9408 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009409 " (declare (in) float x))\n"
9410 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009411 " (signature vec2\n"
9412 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009413 " (declare (in) vec2 x))\n"
9414 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009415 " (signature vec3\n"
9416 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009417 " (declare (in) vec3 x))\n"
9418 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009419 " (signature vec4\n"
9420 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009421 " (declare (in) vec4 x))\n"
9422 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009423 "(function abs\n"
9424 " (signature float\n"
9425 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009426 " (declare (in) float x))\n"
9427 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009428 " (signature vec2\n"
9429 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009430 " (declare (in) vec2 x))\n"
9431 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009432 " (signature vec3\n"
9433 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009434 " (declare (in) vec3 x))\n"
9435 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009436 " (signature vec4\n"
9437 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009438 " (declare (in) vec4 x))\n"
9439 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009440 " (signature int\n"
9441 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009442 " (declare (in) int x))\n"
9443 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009444 " (signature ivec2\n"
9445 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009446 " (declare (in) ivec2 x))\n"
9447 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009448 " (signature ivec3\n"
9449 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009450 " (declare (in) ivec3 x))\n"
9451 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009452 " (signature ivec4\n"
9453 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009454 " (declare (in) ivec4 x))\n"
9455 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009456 "(function sign\n"
9457 " (signature float\n"
9458 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009459 " (declare (in) float x))\n"
9460 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009461 " (signature vec2\n"
9462 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009463 " (declare (in) vec2 x))\n"
9464 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009465 " (signature vec3\n"
9466 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009467 " (declare (in) vec3 x))\n"
9468 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009469 " (signature vec4\n"
9470 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009471 " (declare (in) vec4 x))\n"
9472 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009473 " (signature int\n"
9474 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009475 " (declare (in) int x))\n"
9476 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009477 " (signature ivec2\n"
9478 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009479 " (declare (in) ivec2 x))\n"
9480 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009481 " (signature ivec3\n"
9482 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009483 " (declare (in) ivec3 x))\n"
9484 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009485 " (signature ivec4\n"
9486 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009487 " (declare (in) ivec4 x))\n"
9488 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009489 "(function floor\n"
9490 " (signature float\n"
9491 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009492 " (declare (in) float x))\n"
9493 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009494 " (signature vec2\n"
9495 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009496 " (declare (in) vec2 x))\n"
9497 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009498 " (signature vec3\n"
9499 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009500 " (declare (in) vec3 x))\n"
9501 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009502 " (signature vec4\n"
9503 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009504 " (declare (in) vec4 x))\n"
9505 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009506 "(function ceil\n"
9507 " (signature float\n"
9508 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009509 " (declare (in) float x))\n"
9510 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009511 " (signature vec2\n"
9512 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009513 " (declare (in) vec2 x))\n"
9514 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009515 " (signature vec3\n"
9516 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009517 " (declare (in) vec3 x))\n"
9518 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009519 " (signature vec4\n"
9520 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009521 " (declare (in) vec4 x))\n"
9522 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009523 "(function fract\n"
9524 " (signature float\n"
9525 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009526 " (declare (in) float x))\n"
9527 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009528 " (signature vec2\n"
9529 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009530 " (declare (in) vec2 x))\n"
9531 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009532 " (signature vec3\n"
9533 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009534 " (declare (in) vec3 x))\n"
9535 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009536 " (signature vec4\n"
9537 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009538 " (declare (in) vec4 x))\n"
9539 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009540 "(function mod\n"
9541 " (signature float\n"
9542 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009543 " (declare (in) float x)\n"
9544 " (declare (in) float y))\n"
9545 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009546 " (signature vec2\n"
9547 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009548 " (declare (in) vec2 x)\n"
9549 " (declare (in) float y))\n"
9550 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009551 " (signature vec3\n"
9552 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009553 " (declare (in) vec3 x)\n"
9554 " (declare (in) float y))\n"
9555 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009556 " (signature vec4\n"
9557 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009558 " (declare (in) vec4 x)\n"
9559 " (declare (in) float y))\n"
9560 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009561 " (signature vec2\n"
9562 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009563 " (declare (in) vec2 x)\n"
9564 " (declare (in) vec2 y))\n"
9565 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009566 " (signature vec3\n"
9567 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009568 " (declare (in) vec3 x)\n"
9569 " (declare (in) vec3 y))\n"
9570 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009571 " (signature vec4\n"
9572 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009573 " (declare (in) vec4 x)\n"
9574 " (declare (in) vec4 y))\n"
9575 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009576 "(function min\n"
9577 " (signature float\n"
9578 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009579 " (declare (in) float x)\n"
9580 " (declare (in) float y))\n"
9581 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009582 " (signature vec2\n"
9583 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009584 " (declare (in) vec2 x)\n"
9585 " (declare (in) vec2 y))\n"
9586 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009587 " (signature vec3\n"
9588 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009589 " (declare (in) vec3 x)\n"
9590 " (declare (in) vec3 y))\n"
9591 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009592 " (signature vec4\n"
9593 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009594 " (declare (in) vec4 x)\n"
9595 " (declare (in) vec4 y))\n"
9596 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009597 " (signature vec2\n"
9598 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009599 " (declare (in) vec2 x)\n"
9600 " (declare (in) float y))\n"
9601 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009602 " (signature vec3\n"
9603 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009604 " (declare (in) vec3 x)\n"
9605 " (declare (in) float y))\n"
9606 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009607 " (signature vec4\n"
9608 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009609 " (declare (in) vec4 x)\n"
9610 " (declare (in) float y))\n"
9611 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009612 " (signature int\n"
9613 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009614 " (declare (in) int x)\n"
9615 " (declare (in) int y))\n"
9616 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009617 " (signature ivec2\n"
9618 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009619 " (declare (in) ivec2 x)\n"
9620 " (declare (in) ivec2 y))\n"
9621 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009622 " (signature ivec3\n"
9623 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009624 " (declare (in) ivec3 x)\n"
9625 " (declare (in) ivec3 y))\n"
9626 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009627 " (signature ivec4\n"
9628 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009629 " (declare (in) ivec4 x)\n"
9630 " (declare (in) ivec4 y))\n"
9631 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009632 " (signature ivec2\n"
9633 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009634 " (declare (in) ivec2 x)\n"
9635 " (declare (in) int y))\n"
9636 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009637 " (signature ivec3\n"
9638 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009639 " (declare (in) ivec3 x)\n"
9640 " (declare (in) int y))\n"
9641 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009642 " (signature ivec4\n"
9643 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009644 " (declare (in) ivec4 x)\n"
9645 " (declare (in) int y))\n"
9646 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009647 " (signature uint\n"
9648 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009649 " (declare (in) uint x)\n"
9650 " (declare (in) uint y))\n"
9651 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009652 " (signature uvec2\n"
9653 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009654 " (declare (in) uvec2 x)\n"
9655 " (declare (in) uvec2 y))\n"
9656 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009657 " (signature uvec3\n"
9658 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009659 " (declare (in) uvec3 x)\n"
9660 " (declare (in) uvec3 y))\n"
9661 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009662 " (signature uvec4\n"
9663 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009664 " (declare (in) uvec4 x)\n"
9665 " (declare (in) uvec4 y))\n"
9666 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009667 " (signature uvec2\n"
9668 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009669 " (declare (in) uvec2 x)\n"
9670 " (declare (in) uint y))\n"
9671 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009672 " (signature uvec3\n"
9673 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009674 " (declare (in) uvec3 x)\n"
9675 " (declare (in) uint y))\n"
9676 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009677 " (signature uvec4\n"
9678 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009679 " (declare (in) uvec4 x)\n"
9680 " (declare (in) uint y))\n"
9681 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009682 "(function max\n"
9683 " (signature float\n"
9684 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009685 " (declare (in) float x)\n"
9686 " (declare (in) float y))\n"
9687 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009688 " (signature vec2\n"
9689 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009690 " (declare (in) vec2 x)\n"
9691 " (declare (in) vec2 y))\n"
9692 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009693 " (signature vec3\n"
9694 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009695 " (declare (in) vec3 x)\n"
9696 " (declare (in) vec3 y))\n"
9697 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009698 " (signature vec4\n"
9699 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009700 " (declare (in) vec4 x)\n"
9701 " (declare (in) vec4 y))\n"
9702 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009703 " (signature vec2\n"
9704 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009705 " (declare (in) vec2 x)\n"
9706 " (declare (in) float y))\n"
9707 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009708 " (signature vec3\n"
9709 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009710 " (declare (in) vec3 x)\n"
9711 " (declare (in) float y))\n"
9712 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009713 " (signature vec4\n"
9714 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009715 " (declare (in) vec4 x)\n"
9716 " (declare (in) float y))\n"
9717 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009718 " (signature int\n"
9719 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009720 " (declare (in) int x)\n"
9721 " (declare (in) int y))\n"
9722 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009723 " (signature ivec2\n"
9724 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009725 " (declare (in) ivec2 x)\n"
9726 " (declare (in) ivec2 y))\n"
9727 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009728 " (signature ivec3\n"
9729 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009730 " (declare (in) ivec3 x)\n"
9731 " (declare (in) ivec3 y))\n"
9732 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009733 " (signature ivec4\n"
9734 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009735 " (declare (in) ivec4 x)\n"
9736 " (declare (in) ivec4 y))\n"
9737 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009738 " (signature ivec2\n"
9739 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009740 " (declare (in) ivec2 x)\n"
9741 " (declare (in) int y))\n"
9742 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009743 " (signature ivec3\n"
9744 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009745 " (declare (in) ivec3 x)\n"
9746 " (declare (in) int y))\n"
9747 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009748 " (signature ivec4\n"
9749 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009750 " (declare (in) ivec4 x)\n"
9751 " (declare (in) int y))\n"
9752 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009753 " (signature uint\n"
9754 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009755 " (declare (in) uint x)\n"
9756 " (declare (in) uint y))\n"
9757 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009758 " (signature uvec2\n"
9759 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009760 " (declare (in) uvec2 x)\n"
9761 " (declare (in) uvec2 y))\n"
9762 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009763 " (signature uvec3\n"
9764 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009765 " (declare (in) uvec3 x)\n"
9766 " (declare (in) uvec3 y))\n"
9767 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009768 " (signature uvec4\n"
9769 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009770 " (declare (in) uvec4 x)\n"
9771 " (declare (in) uvec4 y))\n"
9772 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009773 " (signature uvec2\n"
9774 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009775 " (declare (in) uvec2 x)\n"
9776 " (declare (in) uint y))\n"
9777 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009778 " (signature uvec3\n"
9779 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009780 " (declare (in) uvec3 x)\n"
9781 " (declare (in) uint y))\n"
9782 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009783 " (signature uvec4\n"
9784 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009785 " (declare (in) uvec4 x)\n"
9786 " (declare (in) uint y))\n"
9787 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009788 "(function clamp\n"
9789 " (signature float\n"
9790 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009791 " (declare (in) float x)\n"
9792 " (declare (in) float minVal)\n"
9793 " (declare (in) float maxVal))\n"
9794 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009795 " (signature vec2\n"
9796 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009797 " (declare (in) vec2 x)\n"
9798 " (declare (in) vec2 minVal)\n"
9799 " (declare (in) vec2 maxVal))\n"
9800 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009801 " (signature vec3\n"
9802 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009803 " (declare (in) vec3 x)\n"
9804 " (declare (in) vec3 minVal)\n"
9805 " (declare (in) vec3 maxVal))\n"
9806 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009807 " (signature vec4\n"
9808 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009809 " (declare (in) vec4 x)\n"
9810 " (declare (in) vec4 minVal)\n"
9811 " (declare (in) vec4 maxVal))\n"
9812 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009813 " (signature vec2\n"
9814 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009815 " (declare (in) vec2 x)\n"
9816 " (declare (in) float minVal)\n"
9817 " (declare (in) float maxVal))\n"
9818 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009819 " (signature vec3\n"
9820 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009821 " (declare (in) vec3 x)\n"
9822 " (declare (in) float minVal)\n"
9823 " (declare (in) float maxVal))\n"
9824 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009825 " (signature vec4\n"
9826 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009827 " (declare (in) vec4 x)\n"
9828 " (declare (in) float minVal)\n"
9829 " (declare (in) float maxVal))\n"
9830 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009831 " (signature int\n"
9832 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009833 " (declare (in) int x)\n"
9834 " (declare (in) int minVal)\n"
9835 " (declare (in) int maxVal))\n"
9836 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009837 " (signature ivec2\n"
9838 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009839 " (declare (in) ivec2 x)\n"
9840 " (declare (in) ivec2 minVal)\n"
9841 " (declare (in) ivec2 maxVal))\n"
9842 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009843 " (signature ivec3\n"
9844 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009845 " (declare (in) ivec3 x)\n"
9846 " (declare (in) ivec3 minVal)\n"
9847 " (declare (in) ivec3 maxVal))\n"
9848 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009849 " (signature ivec4\n"
9850 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009851 " (declare (in) ivec4 x)\n"
9852 " (declare (in) ivec4 minVal)\n"
9853 " (declare (in) ivec4 maxVal))\n"
9854 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009855 " (signature ivec2\n"
9856 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009857 " (declare (in) ivec2 x)\n"
9858 " (declare (in) int minVal)\n"
9859 " (declare (in) int maxVal))\n"
9860 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009861 " (signature ivec3\n"
9862 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009863 " (declare (in) ivec3 x)\n"
9864 " (declare (in) int minVal)\n"
9865 " (declare (in) int maxVal))\n"
9866 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009867 " (signature ivec4\n"
9868 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009869 " (declare (in) ivec4 x)\n"
9870 " (declare (in) int minVal)\n"
9871 " (declare (in) int maxVal))\n"
9872 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009873 " (signature uint\n"
9874 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009875 " (declare (in) uint x)\n"
9876 " (declare (in) uint minVal)\n"
9877 " (declare (in) uint maxVal))\n"
9878 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009879 " (signature uvec2\n"
9880 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009881 " (declare (in) uvec2 x)\n"
9882 " (declare (in) uvec2 minVal)\n"
9883 " (declare (in) uvec2 maxVal))\n"
9884 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009885 " (signature uvec3\n"
9886 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009887 " (declare (in) uvec3 x)\n"
9888 " (declare (in) uvec3 minVal)\n"
9889 " (declare (in) uvec3 maxVal))\n"
9890 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009891 " (signature uvec4\n"
9892 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009893 " (declare (in) uvec4 x)\n"
9894 " (declare (in) uvec4 minVal)\n"
9895 " (declare (in) uvec4 maxVal))\n"
9896 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009897 " (signature uvec2\n"
9898 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009899 " (declare (in) uvec2 x)\n"
9900 " (declare (in) uint minVal)\n"
9901 " (declare (in) uint maxVal))\n"
9902 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009903 " (signature uvec3\n"
9904 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009905 " (declare (in) uvec3 x)\n"
9906 " (declare (in) uint minVal)\n"
9907 " (declare (in) uint maxVal))\n"
9908 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009909 " (signature uvec4\n"
9910 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009911 " (declare (in) uvec4 x)\n"
9912 " (declare (in) uint minVal)\n"
9913 " (declare (in) uint maxVal))\n"
9914 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009915 "(function mix\n"
9916 " (signature float\n"
9917 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009918 " (declare (in) float x)\n"
9919 " (declare (in) float y)\n"
9920 " (declare (in) float a))\n"
9921 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009922 " (signature vec2\n"
9923 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009924 " (declare (in) vec2 x)\n"
9925 " (declare (in) vec2 y)\n"
9926 " (declare (in) vec2 a))\n"
9927 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009928 " (signature vec3\n"
9929 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009930 " (declare (in) vec3 x)\n"
9931 " (declare (in) vec3 y)\n"
9932 " (declare (in) vec3 a))\n"
9933 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009934 " (signature vec4\n"
9935 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009936 " (declare (in) vec4 x)\n"
9937 " (declare (in) vec4 y)\n"
9938 " (declare (in) vec4 a))\n"
9939 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009940 " (signature vec2\n"
9941 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009942 " (declare (in) vec2 x)\n"
9943 " (declare (in) vec2 y)\n"
9944 " (declare (in) float a))\n"
9945 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009946 " (signature vec3\n"
9947 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009948 " (declare (in) vec3 x)\n"
9949 " (declare (in) vec3 y)\n"
9950 " (declare (in) float a))\n"
9951 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009952 " (signature vec4\n"
9953 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009954 " (declare (in) vec4 x)\n"
9955 " (declare (in) vec4 y)\n"
9956 " (declare (in) float a))\n"
9957 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009958 "(function step\n"
9959 " (signature float\n"
9960 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009961 " (declare (in) float edge)\n"
9962 " (declare (in) float x))\n"
9963 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009964 " (signature vec2\n"
9965 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009966 " (declare (in) vec2 edge)\n"
9967 " (declare (in) vec2 x))\n"
9968 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009969 " (signature vec3\n"
9970 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009971 " (declare (in) vec3 edge)\n"
9972 " (declare (in) vec3 x))\n"
9973 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009974 " (signature vec4\n"
9975 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009976 " (declare (in) vec4 edge)\n"
9977 " (declare (in) vec4 x))\n"
9978 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009979 " (signature vec2\n"
9980 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009981 " (declare (in) float edge)\n"
9982 " (declare (in) vec2 x))\n"
9983 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009984 " (signature vec3\n"
9985 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009986 " (declare (in) float edge)\n"
9987 " (declare (in) vec3 x))\n"
9988 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009989 " (signature vec4\n"
9990 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009991 " (declare (in) float edge)\n"
9992 " (declare (in) vec4 x))\n"
9993 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -07009994 "(function smoothstep\n"
9995 " (signature float\n"
9996 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -07009997 " (declare (in) float edge0)\n"
9998 " (declare (in) float edge1)\n"
9999 " (declare (in) float x))\n"
10000 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010001 " (signature vec2\n"
10002 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010003 " (declare (in) vec2 edge0)\n"
10004 " (declare (in) vec2 edge1)\n"
10005 " (declare (in) vec2 x))\n"
10006 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010007 " (signature vec3\n"
10008 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010009 " (declare (in) vec3 edge0)\n"
10010 " (declare (in) vec3 edge1)\n"
10011 " (declare (in) vec3 x))\n"
10012 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010013 " (signature vec4\n"
10014 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010015 " (declare (in) vec4 edge0)\n"
10016 " (declare (in) vec4 edge1)\n"
10017 " (declare (in) vec4 x))\n"
10018 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010019 " (signature vec2\n"
10020 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010021 " (declare (in) float edge0)\n"
10022 " (declare (in) float edge1)\n"
10023 " (declare (in) vec2 x))\n"
10024 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010025 " (signature vec3\n"
10026 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010027 " (declare (in) float edge0)\n"
10028 " (declare (in) float edge1)\n"
10029 " (declare (in) vec3 x))\n"
10030 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010031 " (signature vec4\n"
10032 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010033 " (declare (in) float edge0)\n"
10034 " (declare (in) float edge1)\n"
10035 " (declare (in) vec4 x))\n"
10036 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010037 "(function length\n"
10038 " (signature float\n"
10039 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010040 " (declare (in) float x))\n"
10041 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010042 " (signature float\n"
10043 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010044 " (declare (in) vec2 x))\n"
10045 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010046 " (signature float\n"
10047 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010048 " (declare (in) vec3 x))\n"
10049 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010050 " (signature float\n"
10051 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010052 " (declare (in) vec4 x))\n"
10053 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010054 "(function distance\n"
10055 " (signature float\n"
10056 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010057 " (declare (in) float p0)\n"
10058 " (declare (in) float p1))\n"
10059 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010060 " (signature float\n"
10061 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010062 " (declare (in) vec2 p0)\n"
10063 " (declare (in) vec2 p1))\n"
10064 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010065 " (signature float\n"
10066 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010067 " (declare (in) vec3 p0)\n"
10068 " (declare (in) vec3 p1))\n"
10069 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010070 " (signature float\n"
10071 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010072 " (declare (in) vec4 p0)\n"
10073 " (declare (in) vec4 p1))\n"
10074 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010075 "(function dot\n"
10076 " (signature float\n"
10077 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010078 " (declare (in) float x)\n"
10079 " (declare (in) float y))\n"
10080 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010081 " (signature float\n"
10082 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010083 " (declare (in) vec2 x)\n"
10084 " (declare (in) vec2 y))\n"
10085 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010086 " (signature float\n"
10087 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010088 " (declare (in) vec3 x)\n"
10089 " (declare (in) vec3 y))\n"
10090 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010091 " (signature float\n"
10092 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010093 " (declare (in) vec4 x)\n"
10094 " (declare (in) vec4 y))\n"
10095 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010096 "(function cross\n"
10097 " (signature vec3\n"
10098 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010099 " (declare (in) vec3 x)\n"
10100 " (declare (in) vec3 y))\n"
10101 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010102 "(function normalize\n"
10103 " (signature float\n"
10104 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010105 " (declare (in) float x))\n"
10106 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010107 " (signature vec2\n"
10108 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010109 " (declare (in) vec2 x))\n"
10110 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010111 " (signature vec3\n"
10112 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010113 " (declare (in) vec3 x))\n"
10114 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010115 " (signature vec4\n"
10116 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010117 " (declare (in) vec4 x))\n"
10118 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010119 "(function faceforward\n"
10120 " (signature float\n"
10121 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010122 " (declare (in) float N)\n"
10123 " (declare (in) float I)\n"
10124 " (declare (in) float Nref))\n"
10125 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010126 " (signature vec2\n"
10127 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010128 " (declare (in) vec2 N)\n"
10129 " (declare (in) vec2 I)\n"
10130 " (declare (in) vec2 Nref))\n"
10131 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010132 " (signature vec3\n"
10133 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010134 " (declare (in) vec3 N)\n"
10135 " (declare (in) vec3 I)\n"
10136 " (declare (in) vec3 Nref))\n"
10137 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010138 " (signature vec4\n"
10139 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010140 " (declare (in) vec4 N)\n"
10141 " (declare (in) vec4 I)\n"
10142 " (declare (in) vec4 Nref))\n"
10143 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010144 "(function reflect\n"
10145 " (signature float\n"
10146 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010147 " (declare (in) float I)\n"
10148 " (declare (in) float N))\n"
10149 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010150 " (signature vec2\n"
10151 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010152 " (declare (in) vec2 I)\n"
10153 " (declare (in) vec2 N))\n"
10154 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010155 " (signature vec3\n"
10156 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010157 " (declare (in) vec3 I)\n"
10158 " (declare (in) vec3 N))\n"
10159 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010160 " (signature vec4\n"
10161 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010162 " (declare (in) vec4 I)\n"
10163 " (declare (in) vec4 N))\n"
10164 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010165 "(function refract\n"
10166 " (signature float\n"
10167 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010168 " (declare (in) float I)\n"
10169 " (declare (in) float N)\n"
10170 " (declare (in) float eta))\n"
10171 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010172 " (signature vec2\n"
10173 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010174 " (declare (in) vec2 I)\n"
10175 " (declare (in) vec2 N)\n"
10176 " (declare (in) float eta))\n"
10177 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010178 " (signature vec3\n"
10179 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010180 " (declare (in) vec3 I)\n"
10181 " (declare (in) vec3 N)\n"
10182 " (declare (in) float eta))\n"
10183 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010184 " (signature vec4\n"
10185 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010186 " (declare (in) vec4 I)\n"
10187 " (declare (in) vec4 N)\n"
10188 " (declare (in) float eta))\n"
10189 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010190 "(function matrixCompMult\n"
10191 " (signature mat2\n"
10192 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010193 " (declare (in) mat2 x)\n"
10194 " (declare (in) mat2 y))\n"
10195 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010196 " (signature mat3\n"
10197 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010198 " (declare (in) mat3 x)\n"
10199 " (declare (in) mat3 y))\n"
10200 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010201 " (signature mat4\n"
10202 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010203 " (declare (in) mat4 x)\n"
10204 " (declare (in) mat4 y))\n"
10205 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010206 " (signature mat2x3\n"
10207 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010208 " (declare (in) mat2x3 x)\n"
10209 " (declare (in) mat2x3 y))\n"
10210 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010211 " (signature mat2x4\n"
10212 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010213 " (declare (in) mat2x4 x)\n"
10214 " (declare (in) mat2x4 y))\n"
10215 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010216 " (signature mat3x2\n"
10217 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010218 " (declare (in) mat3x2 x)\n"
10219 " (declare (in) mat3x2 y))\n"
10220 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010221 " (signature mat3x4\n"
10222 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010223 " (declare (in) mat3x4 x)\n"
10224 " (declare (in) mat3x4 y))\n"
10225 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010226 " (signature mat4x2\n"
10227 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010228 " (declare (in) mat4x2 x)\n"
10229 " (declare (in) mat4x2 y))\n"
10230 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010231 " (signature mat4x3\n"
10232 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010233 " (declare (in) mat4x3 x)\n"
10234 " (declare (in) mat4x3 y))\n"
10235 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010236 "(function outerProduct\n"
10237 " (signature mat2\n"
10238 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010239 " (declare (in) vec2 c)\n"
10240 " (declare (in) vec2 r))\n"
10241 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010242 " (signature mat3\n"
10243 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010244 " (declare (in) vec3 c)\n"
10245 " (declare (in) vec3 r))\n"
10246 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010247 " (signature mat4\n"
10248 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010249 " (declare (in) vec4 c)\n"
10250 " (declare (in) vec4 r))\n"
10251 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010252 " (signature mat2x3\n"
10253 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010254 " (declare (in) vec3 c)\n"
10255 " (declare (in) vec2 r))\n"
10256 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010257 " (signature mat3x2\n"
10258 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010259 " (declare (in) vec2 c)\n"
10260 " (declare (in) vec3 r))\n"
10261 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010262 " (signature mat2x4\n"
10263 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010264 " (declare (in) vec4 c)\n"
10265 " (declare (in) vec2 r))\n"
10266 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010267 " (signature mat4x2\n"
10268 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010269 " (declare (in) vec2 c)\n"
10270 " (declare (in) vec4 r))\n"
10271 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010272 " (signature mat3x4\n"
10273 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010274 " (declare (in) vec4 c)\n"
10275 " (declare (in) vec3 r))\n"
10276 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010277 " (signature mat4x3\n"
10278 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010279 " (declare (in) vec3 c)\n"
10280 " (declare (in) vec4 r))\n"
10281 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010282 "(function transpose\n"
10283 " (signature mat2\n"
10284 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010285 " (declare (in) mat2 m))\n"
10286 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010287 " (signature mat3\n"
10288 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010289 " (declare (in) mat3 m))\n"
10290 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010291 " (signature mat4\n"
10292 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010293 " (declare (in) mat4 m))\n"
10294 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010295 " (signature mat2x3\n"
10296 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010297 " (declare (in) mat3x2 m))\n"
10298 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010299 " (signature mat3x2\n"
10300 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010301 " (declare (in) mat2x3 m))\n"
10302 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010303 " (signature mat2x4\n"
10304 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010305 " (declare (in) mat4x2 m))\n"
10306 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010307 " (signature mat4x2\n"
10308 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010309 " (declare (in) mat2x4 m))\n"
10310 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010311 " (signature mat3x4\n"
10312 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010313 " (declare (in) mat4x3 m))\n"
10314 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010315 " (signature mat4x3\n"
10316 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010317 " (declare (in) mat3x4 m))\n"
10318 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010319 "(function lessThan\n"
10320 " (signature bvec2\n"
10321 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010322 " (declare (in) vec2 x)\n"
10323 " (declare (in) vec2 y))\n"
10324 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010325 " (signature bvec3\n"
10326 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010327 " (declare (in) vec3 x)\n"
10328 " (declare (in) vec3 y))\n"
10329 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010330 " (signature bvec4\n"
10331 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010332 " (declare (in) vec4 x)\n"
10333 " (declare (in) vec4 y))\n"
10334 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010335 " (signature bvec2\n"
10336 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010337 " (declare (in) ivec2 x)\n"
10338 " (declare (in) ivec2 y))\n"
10339 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010340 " (signature bvec3\n"
10341 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010342 " (declare (in) ivec3 x)\n"
10343 " (declare (in) ivec3 y))\n"
10344 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010345 " (signature bvec4\n"
10346 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010347 " (declare (in) ivec4 x)\n"
10348 " (declare (in) ivec4 y))\n"
10349 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010350 " (signature bvec2\n"
10351 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010352 " (declare (in) uvec2 x)\n"
10353 " (declare (in) uvec2 y))\n"
10354 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010355 " (signature bvec3\n"
10356 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010357 " (declare (in) uvec3 x)\n"
10358 " (declare (in) uvec3 y))\n"
10359 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010360 " (signature bvec4\n"
10361 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010362 " (declare (in) uvec4 x)\n"
10363 " (declare (in) uvec4 y))\n"
10364 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010365 "(function lessThanEqual\n"
10366 " (signature bvec2\n"
10367 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010368 " (declare (in) vec2 x)\n"
10369 " (declare (in) vec2 y))\n"
10370 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010371 " (signature bvec3\n"
10372 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010373 " (declare (in) vec3 x)\n"
10374 " (declare (in) vec3 y))\n"
10375 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010376 " (signature bvec4\n"
10377 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010378 " (declare (in) vec4 x)\n"
10379 " (declare (in) vec4 y))\n"
10380 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010381 " (signature bvec2\n"
10382 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010383 " (declare (in) ivec2 x)\n"
10384 " (declare (in) ivec2 y))\n"
10385 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010386 " (signature bvec3\n"
10387 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010388 " (declare (in) ivec3 x)\n"
10389 " (declare (in) ivec3 y))\n"
10390 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010391 " (signature bvec4\n"
10392 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010393 " (declare (in) ivec4 x)\n"
10394 " (declare (in) ivec4 y))\n"
10395 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010396 " (signature bvec2\n"
10397 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010398 " (declare (in) uvec2 x)\n"
10399 " (declare (in) uvec2 y))\n"
10400 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010401 " (signature bvec3\n"
10402 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010403 " (declare (in) uvec3 x)\n"
10404 " (declare (in) uvec3 y))\n"
10405 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010406 " (signature bvec4\n"
10407 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010408 " (declare (in) uvec4 x)\n"
10409 " (declare (in) uvec4 y))\n"
10410 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010411 "(function greaterThan\n"
10412 " (signature bvec2\n"
10413 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010414 " (declare (in) vec2 x)\n"
10415 " (declare (in) vec2 y))\n"
10416 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010417 " (signature bvec3\n"
10418 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010419 " (declare (in) vec3 x)\n"
10420 " (declare (in) vec3 y))\n"
10421 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010422 " (signature bvec4\n"
10423 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010424 " (declare (in) vec4 x)\n"
10425 " (declare (in) vec4 y))\n"
10426 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010427 " (signature bvec2\n"
10428 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010429 " (declare (in) ivec2 x)\n"
10430 " (declare (in) ivec2 y))\n"
10431 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010432 " (signature bvec3\n"
10433 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010434 " (declare (in) ivec3 x)\n"
10435 " (declare (in) ivec3 y))\n"
10436 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010437 " (signature bvec4\n"
10438 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010439 " (declare (in) ivec4 x)\n"
10440 " (declare (in) ivec4 y))\n"
10441 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010442 " (signature bvec2\n"
10443 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010444 " (declare (in) uvec2 x)\n"
10445 " (declare (in) uvec2 y))\n"
10446 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010447 " (signature bvec3\n"
10448 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010449 " (declare (in) uvec3 x)\n"
10450 " (declare (in) uvec3 y))\n"
10451 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010452 " (signature bvec4\n"
10453 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010454 " (declare (in) uvec4 x)\n"
10455 " (declare (in) uvec4 y))\n"
10456 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010457 "(function greaterThanEqual\n"
10458 " (signature bvec2\n"
10459 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010460 " (declare (in) vec2 x)\n"
10461 " (declare (in) vec2 y))\n"
10462 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010463 " (signature bvec3\n"
10464 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010465 " (declare (in) vec3 x)\n"
10466 " (declare (in) vec3 y))\n"
10467 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010468 " (signature bvec4\n"
10469 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010470 " (declare (in) vec4 x)\n"
10471 " (declare (in) vec4 y))\n"
10472 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010473 " (signature bvec2\n"
10474 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010475 " (declare (in) ivec2 x)\n"
10476 " (declare (in) ivec2 y))\n"
10477 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010478 " (signature bvec3\n"
10479 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010480 " (declare (in) ivec3 x)\n"
10481 " (declare (in) ivec3 y))\n"
10482 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010483 " (signature bvec4\n"
10484 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010485 " (declare (in) ivec4 x)\n"
10486 " (declare (in) ivec4 y))\n"
10487 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010488 " (signature bvec2\n"
10489 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010490 " (declare (in) uvec2 x)\n"
10491 " (declare (in) uvec2 y))\n"
10492 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010493 " (signature bvec3\n"
10494 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010495 " (declare (in) uvec3 x)\n"
10496 " (declare (in) uvec3 y))\n"
10497 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010498 " (signature bvec4\n"
10499 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010500 " (declare (in) uvec4 x)\n"
10501 " (declare (in) uvec4 y))\n"
10502 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010503 "(function equal\n"
10504 " (signature bvec2\n"
10505 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010506 " (declare (in) vec2 x)\n"
10507 " (declare (in) vec2 y))\n"
10508 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010509 " (signature bvec3\n"
10510 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010511 " (declare (in) vec3 x)\n"
10512 " (declare (in) vec3 y))\n"
10513 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010514 " (signature bvec4\n"
10515 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010516 " (declare (in) vec4 x)\n"
10517 " (declare (in) vec4 y))\n"
10518 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010519 " (signature bvec2\n"
10520 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010521 " (declare (in) ivec2 x)\n"
10522 " (declare (in) ivec2 y))\n"
10523 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010524 " (signature bvec3\n"
10525 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010526 " (declare (in) ivec3 x)\n"
10527 " (declare (in) ivec3 y))\n"
10528 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010529 " (signature bvec4\n"
10530 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010531 " (declare (in) ivec4 x)\n"
10532 " (declare (in) ivec4 y))\n"
10533 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010534 " (signature bvec2\n"
10535 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010536 " (declare (in) uvec2 x)\n"
10537 " (declare (in) uvec2 y))\n"
10538 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010539 " (signature bvec3\n"
10540 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010541 " (declare (in) uvec3 x)\n"
10542 " (declare (in) uvec3 y))\n"
10543 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010544 " (signature bvec4\n"
10545 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010546 " (declare (in) uvec4 x)\n"
10547 " (declare (in) uvec4 y))\n"
10548 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010549 " (signature bvec2\n"
10550 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010551 " (declare (in) bvec2 x)\n"
10552 " (declare (in) bvec2 y))\n"
10553 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010554 " (signature bvec3\n"
10555 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010556 " (declare (in) bvec3 x)\n"
10557 " (declare (in) bvec3 y))\n"
10558 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010559 " (signature bvec4\n"
10560 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010561 " (declare (in) bvec4 x)\n"
10562 " (declare (in) bvec4 y))\n"
10563 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010564 "(function notEqual\n"
10565 " (signature bvec2\n"
10566 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010567 " (declare (in) vec2 x)\n"
10568 " (declare (in) vec2 y))\n"
10569 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010570 " (signature bvec3\n"
10571 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010572 " (declare (in) vec3 x)\n"
10573 " (declare (in) vec3 y))\n"
10574 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010575 " (signature bvec4\n"
10576 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010577 " (declare (in) vec4 x)\n"
10578 " (declare (in) vec4 y))\n"
10579 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010580 " (signature bvec2\n"
10581 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010582 " (declare (in) ivec2 x)\n"
10583 " (declare (in) ivec2 y))\n"
10584 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010585 " (signature bvec3\n"
10586 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010587 " (declare (in) ivec3 x)\n"
10588 " (declare (in) ivec3 y))\n"
10589 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010590 " (signature bvec4\n"
10591 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010592 " (declare (in) ivec4 x)\n"
10593 " (declare (in) ivec4 y))\n"
10594 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010595 " (signature bvec2\n"
10596 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010597 " (declare (in) uvec2 x)\n"
10598 " (declare (in) uvec2 y))\n"
10599 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010600 " (signature bvec3\n"
10601 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010602 " (declare (in) uvec3 x)\n"
10603 " (declare (in) uvec3 y))\n"
10604 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010605 " (signature bvec4\n"
10606 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010607 " (declare (in) uvec4 x)\n"
10608 " (declare (in) uvec4 y))\n"
10609 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010610 " (signature bvec2\n"
10611 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010612 " (declare (in) bvec2 x)\n"
10613 " (declare (in) bvec2 y))\n"
10614 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010615 " (signature bvec3\n"
10616 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010617 " (declare (in) bvec3 x)\n"
10618 " (declare (in) bvec3 y))\n"
10619 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010620 " (signature bvec4\n"
10621 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010622 " (declare (in) bvec4 x)\n"
10623 " (declare (in) bvec4 y))\n"
10624 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010625 "(function any\n"
10626 " (signature bool\n"
10627 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010628 " (declare (in) bvec2 x))\n"
10629 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010630 " (signature bool\n"
10631 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010632 " (declare (in) bvec3 x))\n"
10633 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010634 " (signature bool\n"
10635 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010636 " (declare (in) bvec4 x))\n"
10637 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010638 "(function all\n"
10639 " (signature bool\n"
10640 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010641 " (declare (in) bvec2 x))\n"
10642 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010643 " (signature bool\n"
10644 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010645 " (declare (in) bvec3 x))\n"
10646 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010647 " (signature bool\n"
10648 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010649 " (declare (in) bvec4 x))\n"
10650 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010651 "(function not\n"
10652 " (signature bvec2\n"
10653 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010654 " (declare (in) bvec2 x))\n"
10655 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010656 " (signature bvec3\n"
10657 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010658 " (declare (in) bvec3 x))\n"
10659 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010660 " (signature bvec4\n"
10661 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010662 " (declare (in) bvec4 x))\n"
10663 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010664 "(function texture\n"
10665 " (signature vec4\n"
10666 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010667 " (declare (in) sampler1D sampler)\n"
10668 " (declare (in) float P))\n"
10669 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010670 " (signature ivec4\n"
10671 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010672 " (declare (in) isampler1D sampler)\n"
10673 " (declare (in) float P))\n"
10674 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010675 " (signature uvec4\n"
10676 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010677 " (declare (in) usampler1D sampler)\n"
10678 " (declare (in) float P))\n"
10679 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010680 " (signature vec4\n"
10681 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010682 " (declare (in) sampler2D sampler)\n"
10683 " (declare (in) vec2 P))\n"
10684 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010685 " (signature ivec4\n"
10686 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010687 " (declare (in) isampler2D sampler)\n"
10688 " (declare (in) vec2 P))\n"
10689 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010690 " (signature uvec4\n"
10691 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010692 " (declare (in) usampler2D sampler)\n"
10693 " (declare (in) vec2 P))\n"
10694 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010695 " (signature vec4\n"
10696 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010697 " (declare (in) sampler3D sampler)\n"
10698 " (declare (in) vec3 P))\n"
10699 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010700 " (signature ivec4\n"
10701 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010702 " (declare (in) isampler3D sampler)\n"
10703 " (declare (in) vec3 P))\n"
10704 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010705 " (signature uvec4\n"
10706 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010707 " (declare (in) usampler3D sampler)\n"
10708 " (declare (in) vec3 P))\n"
10709 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010710 " (signature vec4\n"
10711 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010712 " (declare (in) samplerCube sampler)\n"
10713 " (declare (in) vec3 P))\n"
10714 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010715 " (signature ivec4\n"
10716 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010717 " (declare (in) isamplerCube sampler)\n"
10718 " (declare (in) vec3 P))\n"
10719 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010720 " (signature uvec4\n"
10721 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010722 " (declare (in) usamplerCube sampler)\n"
10723 " (declare (in) vec3 P))\n"
10724 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010725 " (signature float\n"
10726 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010727 " (declare (in) sampler1DShadow sampler)\n"
10728 " (declare (in) vec3 P))\n"
10729 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010730 " (signature float\n"
10731 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010732 " (declare (in) sampler2DShadow sampler)\n"
10733 " (declare (in) vec3 P))\n"
10734 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010735 " (signature float\n"
10736 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010737 " (declare (in) samplerCubeShadow sampler)\n"
10738 " (declare (in) vec4 P))\n"
10739 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010740 " (signature vec4\n"
10741 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010742 " (declare (in) sampler1DArray sampler)\n"
10743 " (declare (in) vec2 P))\n"
10744 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010745 " (signature ivec4\n"
10746 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010747 " (declare (in) isampler1DArray sampler)\n"
10748 " (declare (in) vec2 P))\n"
10749 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010750 " (signature uvec4\n"
10751 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010752 " (declare (in) usampler1DArray sampler)\n"
10753 " (declare (in) vec2 P))\n"
10754 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010755 " (signature vec4\n"
10756 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010757 " (declare (in) sampler2DArray sampler)\n"
10758 " (declare (in) vec3 P))\n"
10759 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010760 " (signature ivec4\n"
10761 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010762 " (declare (in) isampler2DArray sampler)\n"
10763 " (declare (in) vec3 P))\n"
10764 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010765 " (signature uvec4\n"
10766 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010767 " (declare (in) usampler2DArray sampler)\n"
10768 " (declare (in) vec3 P))\n"
10769 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010770 " (signature float\n"
10771 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010772 " (declare (in) sampler1DArrayShadow sampler)\n"
10773 " (declare (in) vec3 P))\n"
10774 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010775 " (signature float\n"
10776 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010777 " (declare (in) sampler2DArrayShadow sampler)\n"
10778 " (declare (in) vec4 P))\n"
10779 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010780 " (signature vec4\n"
10781 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010782 " (declare (in) sampler1D sampler)\n"
10783 " (declare (in) float P)\n"
10784 " (declare (in) float bias))\n"
10785 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010786 " (signature ivec4\n"
10787 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010788 " (declare (in) isampler1D sampler)\n"
10789 " (declare (in) float P)\n"
10790 " (declare (in) float bias))\n"
10791 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010792 " (signature uvec4\n"
10793 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010794 " (declare (in) usampler1D sampler)\n"
10795 " (declare (in) float P)\n"
10796 " (declare (in) float bias))\n"
10797 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010798 " (signature vec4\n"
10799 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010800 " (declare (in) sampler2D sampler)\n"
10801 " (declare (in) vec2 P)\n"
10802 " (declare (in) float bias))\n"
10803 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010804 " (signature ivec4\n"
10805 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010806 " (declare (in) isampler2D sampler)\n"
10807 " (declare (in) vec2 P)\n"
10808 " (declare (in) float bias))\n"
10809 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010810 " (signature uvec4\n"
10811 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010812 " (declare (in) usampler2D sampler)\n"
10813 " (declare (in) vec2 P)\n"
10814 " (declare (in) float bias))\n"
10815 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010816 " (signature vec4\n"
10817 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010818 " (declare (in) sampler3D sampler)\n"
10819 " (declare (in) vec3 P)\n"
10820 " (declare (in) float bias))\n"
10821 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010822 " (signature ivec4\n"
10823 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010824 " (declare (in) isampler3D sampler)\n"
10825 " (declare (in) vec3 P)\n"
10826 " (declare (in) float bias))\n"
10827 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010828 " (signature uvec4\n"
10829 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010830 " (declare (in) usampler3D sampler)\n"
10831 " (declare (in) vec3 P)\n"
10832 " (declare (in) float bias))\n"
10833 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010834 " (signature vec4\n"
10835 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010836 " (declare (in) samplerCube sampler)\n"
10837 " (declare (in) vec3 P)\n"
10838 " (declare (in) float bias))\n"
10839 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010840 " (signature ivec4\n"
10841 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010842 " (declare (in) isamplerCube sampler)\n"
10843 " (declare (in) vec3 P)\n"
10844 " (declare (in) float bias))\n"
10845 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010846 " (signature uvec4\n"
10847 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010848 " (declare (in) usamplerCube sampler)\n"
10849 " (declare (in) vec3 P)\n"
10850 " (declare (in) float bias))\n"
10851 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010852 " (signature float\n"
10853 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010854 " (declare (in) sampler1DShadow sampler)\n"
10855 " (declare (in) vec3 P)\n"
10856 " (declare (in) float bias))\n"
10857 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010858 " (signature float\n"
10859 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010860 " (declare (in) sampler2DShadow sampler)\n"
10861 " (declare (in) vec3 P)\n"
10862 " (declare (in) float bias))\n"
10863 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010864 " (signature float\n"
10865 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010866 " (declare (in) samplerCubeShadow sampler)\n"
10867 " (declare (in) vec4 P)\n"
10868 " (declare (in) float bias))\n"
10869 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010870 " (signature vec4\n"
10871 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010872 " (declare (in) sampler1DArray sampler)\n"
10873 " (declare (in) vec2 P)\n"
10874 " (declare (in) float bias))\n"
10875 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010876 " (signature ivec4\n"
10877 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010878 " (declare (in) isampler1DArray sampler)\n"
10879 " (declare (in) vec2 P)\n"
10880 " (declare (in) float bias))\n"
10881 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010882 " (signature uvec4\n"
10883 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010884 " (declare (in) usampler1DArray sampler)\n"
10885 " (declare (in) vec2 P)\n"
10886 " (declare (in) float bias))\n"
10887 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010888 " (signature vec4\n"
10889 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010890 " (declare (in) sampler2DArray sampler)\n"
10891 " (declare (in) vec3 P)\n"
10892 " (declare (in) float bias))\n"
10893 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010894 " (signature ivec4\n"
10895 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010896 " (declare (in) isampler2DArray sampler)\n"
10897 " (declare (in) vec3 P)\n"
10898 " (declare (in) float bias))\n"
10899 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010900 " (signature uvec4\n"
10901 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010902 " (declare (in) usampler2DArray sampler)\n"
10903 " (declare (in) vec3 P)\n"
10904 " (declare (in) float bias))\n"
10905 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010906 " (signature float\n"
10907 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010908 " (declare (in) sampler1DArrayShadow sampler)\n"
10909 " (declare (in) vec3 P)\n"
10910 " (declare (in) float bias))\n"
10911 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010912 "(function textureProj\n"
10913 " (signature vec4\n"
10914 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010915 " (declare (in) sampler1D sampler)\n"
10916 " (declare (in) vec2 P))\n"
10917 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010918 " (signature ivec4\n"
10919 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010920 " (declare (in) isampler1D sampler)\n"
10921 " (declare (in) vec2 P))\n"
10922 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010923 " (signature uvec4\n"
10924 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010925 " (declare (in) usampler1D sampler)\n"
10926 " (declare (in) vec2 P))\n"
10927 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010928 " (signature vec4\n"
10929 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010930 " (declare (in) sampler1D sampler)\n"
10931 " (declare (in) vec4 P))\n"
10932 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010933 " (signature ivec4\n"
10934 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010935 " (declare (in) isampler1D sampler)\n"
10936 " (declare (in) vec4 P))\n"
10937 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010938 " (signature uvec4\n"
10939 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010940 " (declare (in) usampler1D sampler)\n"
10941 " (declare (in) vec4 P))\n"
10942 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010943 " (signature vec4\n"
10944 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010945 " (declare (in) sampler2D sampler)\n"
10946 " (declare (in) vec3 P))\n"
10947 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010948 " (signature ivec4\n"
10949 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010950 " (declare (in) isampler2D sampler)\n"
10951 " (declare (in) vec3 P))\n"
10952 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010953 " (signature uvec4\n"
10954 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010955 " (declare (in) usampler2D sampler)\n"
10956 " (declare (in) vec3 P))\n"
10957 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010958 " (signature vec4\n"
10959 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010960 " (declare (in) sampler2D sampler)\n"
10961 " (declare (in) vec4 P))\n"
10962 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010963 " (signature ivec4\n"
10964 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010965 " (declare (in) isampler2D sampler)\n"
10966 " (declare (in) vec4 P))\n"
10967 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010968 " (signature uvec4\n"
10969 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010970 " (declare (in) usampler2D sampler)\n"
10971 " (declare (in) vec4 P))\n"
10972 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010973 " (signature vec4\n"
10974 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010975 " (declare (in) sampler3D sampler)\n"
10976 " (declare (in) vec4 P))\n"
10977 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010978 " (signature ivec4\n"
10979 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010980 " (declare (in) isampler3D sampler)\n"
10981 " (declare (in) vec4 P))\n"
10982 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010983 " (signature uvec4\n"
10984 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010985 " (declare (in) usampler3D sampler)\n"
10986 " (declare (in) vec4 P))\n"
10987 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010988 " (signature float\n"
10989 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010990 " (declare (in) sampler1DShadow sampler)\n"
10991 " (declare (in) vec4 P))\n"
10992 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010993 " (signature float\n"
10994 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070010995 " (declare (in) sampler2DShadow sampler)\n"
10996 " (declare (in) vec4 P))\n"
10997 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070010998 " (signature vec4\n"
10999 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011000 " (declare (in) sampler1D sampler)\n"
11001 " (declare (in) vec2 P)\n"
11002 " (declare (in) float bias))\n"
11003 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011004 " (signature ivec4\n"
11005 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011006 " (declare (in) isampler1D sampler)\n"
11007 " (declare (in) vec2 P)\n"
11008 " (declare (in) float bias))\n"
11009 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011010 " (signature uvec4\n"
11011 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011012 " (declare (in) usampler1D sampler)\n"
11013 " (declare (in) vec2 P)\n"
11014 " (declare (in) float bias))\n"
11015 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011016 " (signature vec4\n"
11017 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011018 " (declare (in) sampler1D sampler)\n"
11019 " (declare (in) vec4 P)\n"
11020 " (declare (in) float bias))\n"
11021 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011022 " (signature ivec4\n"
11023 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011024 " (declare (in) isampler1D sampler)\n"
11025 " (declare (in) vec4 P)\n"
11026 " (declare (in) float bias))\n"
11027 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011028 " (signature uvec4\n"
11029 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011030 " (declare (in) usampler1D sampler)\n"
11031 " (declare (in) vec4 P)\n"
11032 " (declare (in) float bias))\n"
11033 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011034 " (signature vec4\n"
11035 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011036 " (declare (in) sampler2D sampler)\n"
11037 " (declare (in) vec3 P)\n"
11038 " (declare (in) float bias))\n"
11039 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011040 " (signature ivec4\n"
11041 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011042 " (declare (in) isampler2D sampler)\n"
11043 " (declare (in) vec3 P)\n"
11044 " (declare (in) float bias))\n"
11045 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011046 " (signature uvec4\n"
11047 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011048 " (declare (in) usampler2D sampler)\n"
11049 " (declare (in) vec3 P)\n"
11050 " (declare (in) float bias))\n"
11051 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011052 " (signature vec4\n"
11053 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011054 " (declare (in) sampler2D sampler)\n"
11055 " (declare (in) vec4 P)\n"
11056 " (declare (in) float bias))\n"
11057 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011058 " (signature ivec4\n"
11059 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011060 " (declare (in) isampler2D sampler)\n"
11061 " (declare (in) vec4 P)\n"
11062 " (declare (in) float bias))\n"
11063 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011064 " (signature uvec4\n"
11065 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011066 " (declare (in) usampler2D sampler)\n"
11067 " (declare (in) vec4 P)\n"
11068 " (declare (in) float bias))\n"
11069 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011070 " (signature vec4\n"
11071 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011072 " (declare (in) sampler3D sampler)\n"
11073 " (declare (in) vec4 P)\n"
11074 " (declare (in) float bias))\n"
11075 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011076 " (signature ivec4\n"
11077 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011078 " (declare (in) isampler3D sampler)\n"
11079 " (declare (in) vec4 P)\n"
11080 " (declare (in) float bias))\n"
11081 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011082 " (signature uvec4\n"
11083 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011084 " (declare (in) usampler3D sampler)\n"
11085 " (declare (in) vec4 P)\n"
11086 " (declare (in) float bias))\n"
11087 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011088 " (signature float\n"
11089 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011090 " (declare (in) sampler1DShadow sampler)\n"
11091 " (declare (in) vec4 P)\n"
11092 " (declare (in) float bias))\n"
11093 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011094 " (signature float\n"
11095 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011096 " (declare (in) sampler2DShadow sampler)\n"
11097 " (declare (in) vec4 P)\n"
11098 " (declare (in) float bias))\n"
11099 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011100 "(function textureLod\n"
11101 " (signature vec4\n"
11102 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011103 " (declare (in) sampler1D sampler)\n"
11104 " (declare (in) float P)\n"
11105 " (declare (in) float lod))\n"
11106 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011107 " (signature ivec4\n"
11108 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011109 " (declare (in) isampler1D sampler)\n"
11110 " (declare (in) float P)\n"
11111 " (declare (in) float lod))\n"
11112 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011113 " (signature uvec4\n"
11114 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011115 " (declare (in) usampler1D sampler)\n"
11116 " (declare (in) float P)\n"
11117 " (declare (in) float lod))\n"
11118 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011119 " (signature vec4\n"
11120 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011121 " (declare (in) sampler2D sampler)\n"
11122 " (declare (in) vec2 P)\n"
11123 " (declare (in) float lod))\n"
11124 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011125 " (signature ivec4\n"
11126 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011127 " (declare (in) isampler2D sampler)\n"
11128 " (declare (in) vec2 P)\n"
11129 " (declare (in) float lod))\n"
11130 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011131 " (signature uvec4\n"
11132 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011133 " (declare (in) usampler2D sampler)\n"
11134 " (declare (in) vec2 P)\n"
11135 " (declare (in) float lod))\n"
11136 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011137 " (signature vec4\n"
11138 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011139 " (declare (in) sampler3D sampler)\n"
11140 " (declare (in) vec3 P)\n"
11141 " (declare (in) float lod))\n"
11142 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011143 " (signature ivec4\n"
11144 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011145 " (declare (in) isampler3D sampler)\n"
11146 " (declare (in) vec3 P)\n"
11147 " (declare (in) float lod))\n"
11148 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011149 " (signature uvec4\n"
11150 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011151 " (declare (in) usampler3D sampler)\n"
11152 " (declare (in) vec3 P)\n"
11153 " (declare (in) float lod))\n"
11154 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011155 " (signature vec4\n"
11156 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011157 " (declare (in) samplerCube sampler)\n"
11158 " (declare (in) vec3 P)\n"
11159 " (declare (in) float lod))\n"
11160 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011161 " (signature ivec4\n"
11162 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011163 " (declare (in) isamplerCube sampler)\n"
11164 " (declare (in) vec3 P)\n"
11165 " (declare (in) float lod))\n"
11166 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011167 " (signature uvec4\n"
11168 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011169 " (declare (in) usamplerCube sampler)\n"
11170 " (declare (in) vec3 P)\n"
11171 " (declare (in) float lod))\n"
11172 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011173 " (signature float\n"
11174 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011175 " (declare (in) sampler1DShadow sampler)\n"
11176 " (declare (in) vec3 P)\n"
11177 " (declare (in) float lod))\n"
11178 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011179 " (signature float\n"
11180 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011181 " (declare (in) sampler2DShadow sampler)\n"
11182 " (declare (in) vec3 P)\n"
11183 " (declare (in) float lod))\n"
11184 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011185 " (signature vec4\n"
11186 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011187 " (declare (in) sampler1DArray sampler)\n"
11188 " (declare (in) vec2 P)\n"
11189 " (declare (in) float lod))\n"
11190 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011191 " (signature ivec4\n"
11192 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011193 " (declare (in) isampler1DArray sampler)\n"
11194 " (declare (in) vec2 P)\n"
11195 " (declare (in) float lod))\n"
11196 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011197 " (signature uvec4\n"
11198 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011199 " (declare (in) usampler1DArray sampler)\n"
11200 " (declare (in) vec2 P)\n"
11201 " (declare (in) float lod))\n"
11202 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011203 " (signature vec4\n"
11204 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011205 " (declare (in) sampler2DArray sampler)\n"
11206 " (declare (in) vec3 P)\n"
11207 " (declare (in) float lod))\n"
11208 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011209 " (signature ivec4\n"
11210 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011211 " (declare (in) isampler2DArray sampler)\n"
11212 " (declare (in) vec3 P)\n"
11213 " (declare (in) float lod))\n"
11214 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011215 " (signature uvec4\n"
11216 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011217 " (declare (in) usampler2DArray sampler)\n"
11218 " (declare (in) vec3 P)\n"
11219 " (declare (in) float lod))\n"
11220 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011221 " (signature float\n"
11222 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011223 " (declare (in) sampler1DArrayShadow sampler)\n"
11224 " (declare (in) vec3 P)\n"
11225 " (declare (in) float lod))\n"
11226 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011227 "(function texelFetch\n"
11228 " (signature vec4\n"
11229 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011230 " (declare (in) sampler1D sampler)\n"
11231 " (declare (in) int P)\n"
11232 " (declare (in) int lod))\n"
11233 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011234 " (signature ivec4\n"
11235 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011236 " (declare (in) isampler1D sampler)\n"
11237 " (declare (in) int P)\n"
11238 " (declare (in) int lod))\n"
11239 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011240 " (signature uvec4\n"
11241 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011242 " (declare (in) usampler1D sampler)\n"
11243 " (declare (in) int P)\n"
11244 " (declare (in) int lod))\n"
11245 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011246 " (signature vec4\n"
11247 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011248 " (declare (in) sampler2D sampler)\n"
11249 " (declare (in) ivec2 P)\n"
11250 " (declare (in) int lod))\n"
11251 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011252 " (signature ivec4\n"
11253 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011254 " (declare (in) isampler2D sampler)\n"
11255 " (declare (in) ivec2 P)\n"
11256 " (declare (in) int lod))\n"
11257 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011258 " (signature uvec4\n"
11259 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011260 " (declare (in) usampler2D sampler)\n"
11261 " (declare (in) ivec2 P)\n"
11262 " (declare (in) int lod))\n"
11263 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011264 " (signature vec4\n"
11265 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011266 " (declare (in) sampler3D sampler)\n"
11267 " (declare (in) ivec3 P)\n"
11268 " (declare (in) int lod))\n"
11269 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011270 " (signature ivec4\n"
11271 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011272 " (declare (in) isampler3D sampler)\n"
11273 " (declare (in) ivec3 P)\n"
11274 " (declare (in) int lod))\n"
11275 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011276 " (signature uvec4\n"
11277 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011278 " (declare (in) usampler3D sampler)\n"
11279 " (declare (in) ivec3 P)\n"
11280 " (declare (in) int lod))\n"
11281 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011282 " (signature vec4\n"
11283 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011284 " (declare (in) sampler1DArray sampler)\n"
11285 " (declare (in) ivec2 P)\n"
11286 " (declare (in) int lod))\n"
11287 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011288 " (signature ivec4\n"
11289 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011290 " (declare (in) isampler1DArray sampler)\n"
11291 " (declare (in) ivec2 P)\n"
11292 " (declare (in) int lod))\n"
11293 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011294 " (signature uvec4\n"
11295 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011296 " (declare (in) usampler1DArray sampler)\n"
11297 " (declare (in) ivec2 P)\n"
11298 " (declare (in) int lod))\n"
11299 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011300 " (signature vec4\n"
11301 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011302 " (declare (in) sampler2DArray sampler)\n"
11303 " (declare (in) ivec3 P)\n"
11304 " (declare (in) int lod))\n"
11305 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011306 " (signature ivec4\n"
11307 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011308 " (declare (in) isampler2DArray sampler)\n"
11309 " (declare (in) ivec3 P)\n"
11310 " (declare (in) int lod))\n"
11311 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011312 " (signature uvec4\n"
11313 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011314 " (declare (in) usampler2DArray sampler)\n"
11315 " (declare (in) ivec3 P)\n"
11316 " (declare (in) int lod))\n"
11317 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011318 "(function textureProjLod\n"
11319 " (signature vec4\n"
11320 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011321 " (declare (in) sampler1D sampler)\n"
11322 " (declare (in) vec2 P)\n"
11323 " (declare (in) float lod))\n"
11324 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011325 " (signature ivec4\n"
11326 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011327 " (declare (in) isampler1D sampler)\n"
11328 " (declare (in) vec2 P)\n"
11329 " (declare (in) float lod))\n"
11330 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011331 " (signature uvec4\n"
11332 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011333 " (declare (in) usampler1D sampler)\n"
11334 " (declare (in) vec2 P)\n"
11335 " (declare (in) float lod))\n"
11336 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011337 " (signature vec4\n"
11338 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011339 " (declare (in) sampler1D sampler)\n"
11340 " (declare (in) vec4 P)\n"
11341 " (declare (in) float lod))\n"
11342 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011343 " (signature ivec4\n"
11344 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011345 " (declare (in) isampler1D sampler)\n"
11346 " (declare (in) vec4 P)\n"
11347 " (declare (in) float lod))\n"
11348 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011349 " (signature uvec4\n"
11350 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011351 " (declare (in) usampler1D sampler)\n"
11352 " (declare (in) vec4 P)\n"
11353 " (declare (in) float lod))\n"
11354 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011355 " (signature vec4\n"
11356 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011357 " (declare (in) sampler2D sampler)\n"
11358 " (declare (in) vec3 P)\n"
11359 " (declare (in) float lod))\n"
11360 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011361 " (signature ivec4\n"
11362 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011363 " (declare (in) isampler2D sampler)\n"
11364 " (declare (in) vec3 P)\n"
11365 " (declare (in) float lod))\n"
11366 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011367 " (signature uvec4\n"
11368 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011369 " (declare (in) usampler2D sampler)\n"
11370 " (declare (in) vec3 P)\n"
11371 " (declare (in) float lod))\n"
11372 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011373 " (signature vec4\n"
11374 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011375 " (declare (in) sampler2D sampler)\n"
11376 " (declare (in) vec4 P)\n"
11377 " (declare (in) float lod))\n"
11378 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011379 " (signature ivec4\n"
11380 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011381 " (declare (in) isampler2D sampler)\n"
11382 " (declare (in) vec4 P)\n"
11383 " (declare (in) float lod))\n"
11384 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011385 " (signature uvec4\n"
11386 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011387 " (declare (in) usampler2D sampler)\n"
11388 " (declare (in) vec4 P)\n"
11389 " (declare (in) float lod))\n"
11390 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011391 " (signature vec4\n"
11392 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011393 " (declare (in) sampler3D sampler)\n"
11394 " (declare (in) vec4 P)\n"
11395 " (declare (in) float lod))\n"
11396 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011397 " (signature ivec4\n"
11398 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011399 " (declare (in) isampler3D sampler)\n"
11400 " (declare (in) vec4 P)\n"
11401 " (declare (in) float lod))\n"
11402 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011403 " (signature uvec4\n"
11404 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011405 " (declare (in) usampler3D sampler)\n"
11406 " (declare (in) vec4 P)\n"
11407 " (declare (in) float lod))\n"
11408 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011409 " (signature float\n"
11410 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011411 " (declare (in) sampler1DShadow sampler)\n"
11412 " (declare (in) vec4 P)\n"
11413 " (declare (in) float lod))\n"
11414 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011415 " (signature float\n"
11416 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011417 " (declare (in) sampler2DShadow sampler)\n"
11418 " (declare (in) vec4 P)\n"
11419 " (declare (in) float lod))\n"
11420 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011421 "(function textureGrad\n"
11422 " (signature vec4\n"
11423 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011424 " (declare (in) sampler1D sampler)\n"
11425 " (declare (in) float P)\n"
11426 " (declare (in) float dPdx)\n"
11427 " (declare (in) float dPdy))\n"
11428 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011429 " (signature ivec4\n"
11430 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011431 " (declare (in) isampler1D sampler)\n"
11432 " (declare (in) float P)\n"
11433 " (declare (in) float dPdx)\n"
11434 " (declare (in) float dPdy))\n"
11435 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011436 " (signature uvec4\n"
11437 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011438 " (declare (in) usampler1D sampler)\n"
11439 " (declare (in) float P)\n"
11440 " (declare (in) float dPdx)\n"
11441 " (declare (in) float dPdy))\n"
11442 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011443 " (signature vec4\n"
11444 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011445 " (declare (in) sampler2D sampler)\n"
11446 " (declare (in) vec2 P)\n"
11447 " (declare (in) vec2 dPdx)\n"
11448 " (declare (in) vec2 dPdy))\n"
11449 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011450 " (signature ivec4\n"
11451 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011452 " (declare (in) isampler2D sampler)\n"
11453 " (declare (in) vec2 P)\n"
11454 " (declare (in) vec2 dPdx)\n"
11455 " (declare (in) vec2 dPdy))\n"
11456 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011457 " (signature uvec4\n"
11458 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011459 " (declare (in) usampler2D sampler)\n"
11460 " (declare (in) vec2 P)\n"
11461 " (declare (in) vec2 dPdx)\n"
11462 " (declare (in) vec2 dPdy))\n"
11463 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011464 " (signature vec4\n"
11465 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011466 " (declare (in) sampler3D sampler)\n"
11467 " (declare (in) vec3 P)\n"
11468 " (declare (in) vec3 dPdx)\n"
11469 " (declare (in) vec3 dPdy))\n"
11470 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011471 " (signature ivec4\n"
11472 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011473 " (declare (in) isampler3D sampler)\n"
11474 " (declare (in) vec3 P)\n"
11475 " (declare (in) vec3 dPdx)\n"
11476 " (declare (in) vec3 dPdy))\n"
11477 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011478 " (signature uvec4\n"
11479 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011480 " (declare (in) usampler3D sampler)\n"
11481 " (declare (in) vec3 P)\n"
11482 " (declare (in) vec3 dPdx)\n"
11483 " (declare (in) vec3 dPdy))\n"
11484 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011485 " (signature vec4\n"
11486 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011487 " (declare (in) samplerCube sampler)\n"
11488 " (declare (in) vec3 P)\n"
11489 " (declare (in) vec3 dPdx)\n"
11490 " (declare (in) vec3 dPdy))\n"
11491 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011492 " (signature ivec4\n"
11493 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011494 " (declare (in) isamplerCube sampler)\n"
11495 " (declare (in) vec3 P)\n"
11496 " (declare (in) vec3 dPdx)\n"
11497 " (declare (in) vec3 dPdy))\n"
11498 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011499 " (signature uvec4\n"
11500 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011501 " (declare (in) usamplerCube sampler)\n"
11502 " (declare (in) vec3 P)\n"
11503 " (declare (in) vec3 dPdx)\n"
11504 " (declare (in) vec3 dPdy))\n"
11505 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011506 " (signature float\n"
11507 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011508 " (declare (in) sampler1DShadow sampler)\n"
11509 " (declare (in) vec3 P)\n"
11510 " (declare (in) float dPdx)\n"
11511 " (declare (in) float dPdy))\n"
11512 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011513 " (signature float\n"
11514 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011515 " (declare (in) sampler2DShadow sampler)\n"
11516 " (declare (in) vec3 P)\n"
11517 " (declare (in) vec2 dPdx)\n"
11518 " (declare (in) vec2 dPdy))\n"
11519 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011520 " (signature float\n"
11521 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011522 " (declare (in) samplerCubeShadow sampler)\n"
11523 " (declare (in) vec4 P)\n"
11524 " (declare (in) vec3 dPdx)\n"
11525 " (declare (in) vec3 dPdy))\n"
11526 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011527 " (signature vec4\n"
11528 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011529 " (declare (in) sampler1DArray sampler)\n"
11530 " (declare (in) vec2 P)\n"
11531 " (declare (in) float dPdx)\n"
11532 " (declare (in) float dPdy))\n"
11533 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011534 " (signature ivec4\n"
11535 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011536 " (declare (in) isampler1DArray sampler)\n"
11537 " (declare (in) vec2 P)\n"
11538 " (declare (in) float dPdx)\n"
11539 " (declare (in) float dPdy))\n"
11540 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011541 " (signature uvec4\n"
11542 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011543 " (declare (in) usampler1DArray sampler)\n"
11544 " (declare (in) vec2 P)\n"
11545 " (declare (in) float dPdx)\n"
11546 " (declare (in) float dPdy))\n"
11547 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011548 " (signature vec4\n"
11549 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011550 " (declare (in) sampler2DArray sampler)\n"
11551 " (declare (in) vec3 P)\n"
11552 " (declare (in) vec2 dPdx)\n"
11553 " (declare (in) vec2 dPdy))\n"
11554 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011555 " (signature ivec4\n"
11556 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011557 " (declare (in) isampler2DArray sampler)\n"
11558 " (declare (in) vec3 P)\n"
11559 " (declare (in) vec2 dPdx)\n"
11560 " (declare (in) vec2 dPdy))\n"
11561 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011562 " (signature uvec4\n"
11563 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011564 " (declare (in) usampler2DArray sampler)\n"
11565 " (declare (in) vec3 P)\n"
11566 " (declare (in) vec2 dPdx)\n"
11567 " (declare (in) vec2 dPdy))\n"
11568 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011569 " (signature float\n"
11570 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011571 " (declare (in) sampler1DArrayShadow sampler)\n"
11572 " (declare (in) vec3 P)\n"
11573 " (declare (in) float dPdx)\n"
11574 " (declare (in) float dPdy))\n"
11575 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011576 " (signature float\n"
11577 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011578 " (declare (in) sampler2DArrayShadow sampler)\n"
11579 " (declare (in) vec4 P)\n"
11580 " (declare (in) vec2 dPdx)\n"
11581 " (declare (in) vec2 dPdy))\n"
11582 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011583 "(function textureProjGrad\n"
11584 " (signature vec4\n"
11585 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011586 " (declare (in) sampler1D sampler)\n"
11587 " (declare (in) vec2 P)\n"
11588 " (declare (in) float dPdx)\n"
11589 " (declare (in) float dPdy))\n"
11590 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011591 " (signature ivec4\n"
11592 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011593 " (declare (in) isampler1D sampler)\n"
11594 " (declare (in) vec2 P)\n"
11595 " (declare (in) float dPdx)\n"
11596 " (declare (in) float dPdy))\n"
11597 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011598 " (signature uvec4\n"
11599 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011600 " (declare (in) usampler1D sampler)\n"
11601 " (declare (in) vec2 P)\n"
11602 " (declare (in) float dPdx)\n"
11603 " (declare (in) float dPdy))\n"
11604 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011605 " (signature vec4\n"
11606 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011607 " (declare (in) sampler1D sampler)\n"
11608 " (declare (in) vec4 P)\n"
11609 " (declare (in) float dPdx)\n"
11610 " (declare (in) float dPdy))\n"
11611 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011612 " (signature ivec4\n"
11613 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011614 " (declare (in) isampler1D sampler)\n"
11615 " (declare (in) vec4 P)\n"
11616 " (declare (in) float dPdx)\n"
11617 " (declare (in) float dPdy))\n"
11618 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011619 " (signature uvec4\n"
11620 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011621 " (declare (in) usampler1D sampler)\n"
11622 " (declare (in) vec4 P)\n"
11623 " (declare (in) float dPdx)\n"
11624 " (declare (in) float dPdy))\n"
11625 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011626 " (signature vec4\n"
11627 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011628 " (declare (in) sampler2D sampler)\n"
11629 " (declare (in) vec3 P)\n"
11630 " (declare (in) vec2 dPdx)\n"
11631 " (declare (in) vec2 dPdy))\n"
11632 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011633 " (signature ivec4\n"
11634 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011635 " (declare (in) isampler2D sampler)\n"
11636 " (declare (in) vec3 P)\n"
11637 " (declare (in) vec2 dPdx)\n"
11638 " (declare (in) vec2 dPdy))\n"
11639 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011640 " (signature uvec4\n"
11641 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011642 " (declare (in) usampler2D sampler)\n"
11643 " (declare (in) vec3 P)\n"
11644 " (declare (in) vec2 dPdx)\n"
11645 " (declare (in) vec2 dPdy))\n"
11646 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011647 " (signature vec4\n"
11648 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011649 " (declare (in) sampler2D sampler)\n"
11650 " (declare (in) vec4 P)\n"
11651 " (declare (in) vec2 dPdx)\n"
11652 " (declare (in) vec2 dPdy))\n"
11653 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011654 " (signature ivec4\n"
11655 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011656 " (declare (in) isampler2D sampler)\n"
11657 " (declare (in) vec4 P)\n"
11658 " (declare (in) vec2 dPdx)\n"
11659 " (declare (in) vec2 dPdy))\n"
11660 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011661 " (signature uvec4\n"
11662 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011663 " (declare (in) usampler2D sampler)\n"
11664 " (declare (in) vec4 P)\n"
11665 " (declare (in) vec2 dPdx)\n"
11666 " (declare (in) vec2 dPdy))\n"
11667 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011668 " (signature vec4\n"
11669 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011670 " (declare (in) sampler3D sampler)\n"
11671 " (declare (in) vec4 P)\n"
11672 " (declare (in) vec3 dPdx)\n"
11673 " (declare (in) vec3 dPdy))\n"
11674 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011675 " (signature ivec4\n"
11676 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011677 " (declare (in) isampler3D sampler)\n"
11678 " (declare (in) vec4 P)\n"
11679 " (declare (in) vec3 dPdx)\n"
11680 " (declare (in) vec3 dPdy))\n"
11681 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011682 " (signature uvec4\n"
11683 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011684 " (declare (in) usampler3D sampler)\n"
11685 " (declare (in) vec4 P)\n"
11686 " (declare (in) vec3 dPdx)\n"
11687 " (declare (in) vec3 dPdy))\n"
11688 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011689 " (signature float\n"
11690 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011691 " (declare (in) sampler1DShadow sampler)\n"
11692 " (declare (in) vec4 P)\n"
11693 " (declare (in) float dPdx)\n"
11694 " (declare (in) float dPdy))\n"
11695 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011696 " (signature float\n"
11697 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011698 " (declare (in) sampler2DShadow sampler)\n"
11699 " (declare (in) vec4 P)\n"
11700 " (declare (in) vec2 dPdx)\n"
11701 " (declare (in) vec2 dPdy))\n"
11702 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011703 "(function texture1D\n"
11704 " (signature vec4\n"
11705 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011706 " (declare (in) sampler1D sampler)\n"
11707 " (declare (in) float coord))\n"
11708 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011709 " (signature vec4\n"
11710 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011711 " (declare (in) sampler1D sampler)\n"
11712 " (declare (in) float coord)\n"
11713 " (declare (in) float bias))\n"
11714 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011715 "(function texture1DProj\n"
11716 " (signature vec4\n"
11717 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011718 " (declare (in) sampler1D sampler)\n"
11719 " (declare (in) vec2 coord))\n"
11720 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011721 " (signature vec4\n"
11722 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011723 " (declare (in) sampler1D sampler)\n"
11724 " (declare (in) vec4 coord))\n"
11725 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011726 " (signature vec4\n"
11727 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011728 " (declare (in) sampler1D sampler)\n"
11729 " (declare (in) vec2 coord)\n"
11730 " (declare (in) float bias))\n"
11731 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011732 " (signature vec4\n"
11733 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011734 " (declare (in) sampler1D sampler)\n"
11735 " (declare (in) vec4 coord)\n"
11736 " (declare (in) float bias))\n"
11737 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011738 "(function texture1DLod\n"
11739 " (signature vec4\n"
11740 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011741 " (declare (in) sampler1D sampler)\n"
11742 " (declare (in) float coord)\n"
11743 " (declare (in) float lod))\n"
11744 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011745 "(function texture1DProjLod\n"
11746 " (signature vec4\n"
11747 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011748 " (declare (in) sampler1D sampler)\n"
11749 " (declare (in) vec2 coord)\n"
11750 " (declare (in) float lod))\n"
11751 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011752 " (signature vec4\n"
11753 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011754 " (declare (in) sampler1D sampler)\n"
11755 " (declare (in) vec4 coord)\n"
11756 " (declare (in) float lod))\n"
11757 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011758 "(function texture2D\n"
11759 " (signature vec4\n"
11760 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011761 " (declare (in) sampler2D sampler)\n"
11762 " (declare (in) vec2 coord))\n"
11763 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011764 " (signature vec4\n"
11765 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011766 " (declare (in) sampler2D sampler)\n"
11767 " (declare (in) vec2 coord)\n"
11768 " (declare (in) float bias))\n"
11769 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011770 "(function texture2DProj\n"
11771 " (signature vec4\n"
11772 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011773 " (declare (in) sampler2D sampler)\n"
11774 " (declare (in) vec3 coord))\n"
11775 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011776 " (signature vec4\n"
11777 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011778 " (declare (in) sampler2D sampler)\n"
11779 " (declare (in) vec4 coord))\n"
11780 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011781 " (signature vec4\n"
11782 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011783 " (declare (in) sampler2D sampler)\n"
11784 " (declare (in) vec3 coord)\n"
11785 " (declare (in) float bias))\n"
11786 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011787 " (signature vec4\n"
11788 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011789 " (declare (in) sampler2D sampler)\n"
11790 " (declare (in) vec4 coord)\n"
11791 " (declare (in) float bias))\n"
11792 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011793 "(function texture2DLod\n"
11794 " (signature vec4\n"
11795 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011796 " (declare (in) sampler2D sampler)\n"
11797 " (declare (in) vec2 coord)\n"
11798 " (declare (in) float lod))\n"
11799 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011800 "(function texture2DProjLod\n"
11801 " (signature vec4\n"
11802 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011803 " (declare (in) sampler2D sampler)\n"
11804 " (declare (in) vec3 coord)\n"
11805 " (declare (in) float lod))\n"
11806 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011807 " (signature vec4\n"
11808 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011809 " (declare (in) sampler2D sampler)\n"
11810 " (declare (in) vec4 coord)\n"
11811 " (declare (in) float lod))\n"
11812 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011813 "(function texture3D\n"
11814 " (signature vec4\n"
11815 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011816 " (declare (in) sampler3D sampler)\n"
11817 " (declare (in) vec3 coord))\n"
11818 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011819 " (signature vec4\n"
11820 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011821 " (declare (in) sampler3D sampler)\n"
11822 " (declare (in) vec3 coord)\n"
11823 " (declare (in) float bias))\n"
11824 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011825 "(function texture3DProj\n"
11826 " (signature vec4\n"
11827 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011828 " (declare (in) sampler3D sampler)\n"
11829 " (declare (in) vec4 coord))\n"
11830 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011831 " (signature vec4\n"
11832 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011833 " (declare (in) sampler3D sampler)\n"
11834 " (declare (in) vec4 coord)\n"
11835 " (declare (in) float bias))\n"
11836 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011837 "(function texture3DLod\n"
11838 " (signature vec4\n"
11839 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011840 " (declare (in) sampler3D sampler)\n"
11841 " (declare (in) vec3 coord)\n"
11842 " (declare (in) float lod))\n"
11843 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011844 "(function texture3DProjLod\n"
11845 " (signature vec4\n"
11846 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011847 " (declare (in) sampler3D sampler)\n"
11848 " (declare (in) vec4 coord)\n"
11849 " (declare (in) float lod))\n"
11850 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011851 "(function textureCube\n"
11852 " (signature vec4\n"
11853 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011854 " (declare (in) samplerCube sampler)\n"
11855 " (declare (in) vec3 coord))\n"
11856 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011857 " (signature vec4\n"
11858 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011859 " (declare (in) samplerCube sampler)\n"
11860 " (declare (in) vec3 coord)\n"
11861 " (declare (in) float bias))\n"
11862 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011863 "(function textureCubeLod\n"
11864 " (signature vec4\n"
11865 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011866 " (declare (in) samplerCube sampler)\n"
11867 " (declare (in) vec3 coord)\n"
11868 " (declare (in) float lod))\n"
11869 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011870 "(function shadow1D\n"
11871 " (signature vec4\n"
11872 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011873 " (declare (in) sampler1DShadow sampler)\n"
11874 " (declare (in) vec3 coord))\n"
11875 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011876 " (signature vec4\n"
11877 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011878 " (declare (in) sampler1DShadow sampler)\n"
11879 " (declare (in) vec3 coord)\n"
11880 " (declare (in) float bias))\n"
11881 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011882 "(function shadow2D\n"
11883 " (signature vec4\n"
11884 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011885 " (declare (in) sampler2DShadow sampler)\n"
11886 " (declare (in) vec3 coord))\n"
11887 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011888 " (signature vec4\n"
11889 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011890 " (declare (in) sampler2DShadow sampler)\n"
11891 " (declare (in) vec3 coord)\n"
11892 " (declare (in) float bias))\n"
11893 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011894 "(function shadow1DProj\n"
11895 " (signature vec4\n"
11896 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011897 " (declare (in) sampler1DShadow sampler)\n"
11898 " (declare (in) vec4 coord))\n"
11899 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011900 " (signature vec4\n"
11901 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011902 " (declare (in) sampler1DShadow sampler)\n"
11903 " (declare (in) vec4 coord)\n"
11904 " (declare (in) float bias))\n"
11905 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011906 "(function shadow2DProj\n"
11907 " (signature vec4\n"
11908 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011909 " (declare (in) sampler2DShadow sampler)\n"
11910 " (declare (in) vec4 coord))\n"
11911 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011912 " (signature vec4\n"
11913 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011914 " (declare (in) sampler2DShadow sampler)\n"
11915 " (declare (in) vec4 coord)\n"
11916 " (declare (in) float bias))\n"
11917 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011918 "(function shadow1DLod\n"
11919 " (signature vec4\n"
11920 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011921 " (declare (in) sampler1DShadow sampler)\n"
11922 " (declare (in) vec3 coord)\n"
11923 " (declare (in) float lod))\n"
11924 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011925 "(function shadow2DLod\n"
11926 " (signature vec4\n"
11927 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011928 " (declare (in) sampler2DShadow sampler)\n"
11929 " (declare (in) vec3 coord)\n"
11930 " (declare (in) float lod))\n"
11931 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011932 "(function shadow1DProjLod\n"
11933 " (signature vec4\n"
11934 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011935 " (declare (in) sampler1DShadow sampler)\n"
11936 " (declare (in) vec4 coord)\n"
11937 " (declare (in) float lod))\n"
11938 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011939 "(function shadow2DProjLod\n"
11940 " (signature vec4\n"
11941 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011942 " (declare (in) sampler2DShadow sampler)\n"
11943 " (declare (in) vec4 coord)\n"
11944 " (declare (in) float lod))\n"
11945 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011946 "(function dFdx\n"
11947 " (signature float\n"
11948 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011949 " (declare (in) float p))\n"
11950 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011951 " (signature vec2\n"
11952 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011953 " (declare (in) vec2 p))\n"
11954 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011955 " (signature vec3\n"
11956 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011957 " (declare (in) vec3 p))\n"
11958 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011959 " (signature vec4\n"
11960 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011961 " (declare (in) vec4 p))\n"
11962 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011963 "(function dFdy\n"
11964 " (signature float\n"
11965 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011966 " (declare (in) float p))\n"
11967 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011968 " (signature vec2\n"
11969 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011970 " (declare (in) vec2 p))\n"
11971 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011972 " (signature vec3\n"
11973 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011974 " (declare (in) vec3 p))\n"
11975 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011976 " (signature vec4\n"
11977 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011978 " (declare (in) vec4 p))\n"
11979 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011980 "(function fwidth\n"
11981 " (signature float\n"
11982 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011983 " (declare (in) float p))\n"
11984 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011985 " (signature vec2\n"
11986 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011987 " (declare (in) vec2 p))\n"
11988 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011989 " (signature vec3\n"
11990 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011991 " (declare (in) vec3 p))\n"
11992 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011993 " (signature vec4\n"
11994 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011995 " (declare (in) vec4 p))\n"
11996 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070011997 "(function noise1\n"
11998 " (signature float\n"
11999 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012000 " (declare (in) float x))\n"
12001 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012002 " (signature float\n"
12003 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012004 " (declare (in) vec2 x))\n"
12005 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012006 " (signature float\n"
12007 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012008 " (declare (in) vec3 x))\n"
12009 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012010 " (signature float\n"
12011 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012012 " (declare (in) vec4 x))\n"
12013 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012014 "(function noise2\n"
12015 " (signature vec2\n"
12016 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012017 " (declare (in) float x))\n"
12018 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012019 " (signature vec2\n"
12020 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012021 " (declare (in) vec2 x))\n"
12022 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012023 " (signature vec2\n"
12024 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012025 " (declare (in) vec3 x))\n"
12026 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012027 " (signature vec2\n"
12028 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012029 " (declare (in) vec4 x))\n"
12030 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012031 "(function noise3\n"
12032 " (signature vec3\n"
12033 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012034 " (declare (in) float x))\n"
12035 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012036 " (signature vec3\n"
12037 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012038 " (declare (in) vec2 x))\n"
12039 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012040 " (signature vec3\n"
12041 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012042 " (declare (in) vec3 x))\n"
12043 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012044 " (signature vec3\n"
12045 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012046 " (declare (in) vec4 x))\n"
12047 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012048 "(function noise4\n"
12049 " (signature vec4\n"
12050 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012051 " (declare (in) float x))\n"
12052 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012053 " (signature vec4\n"
12054 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012055 " (declare (in) vec2 x))\n"
12056 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012057 " (signature vec4\n"
12058 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012059 " (declare (in) vec3 x))\n"
12060 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012061 " (signature vec4\n"
12062 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012063 " (declare (in) vec4 x))\n"
12064 " ())))"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012065;
12066static const char *functions_for_130_frag [] = {
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012067 builtin_all,
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012068 builtin_textureProj,
12069 builtin_fwidth,
12070 builtin_texture2DProj,
12071 builtin_shadow1DProjLod,
12072 builtin_texture3DLod,
12073 builtin_mix,
12074 builtin_texture,
12075 builtin_degrees,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012076 builtin_ceil,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012077 builtin_texture1D,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012078 builtin_not,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012079 builtin_mod,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012080 builtin_radians,
12081 builtin_smoothstep,
12082 builtin_textureProjGrad,
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012083 builtin_lessThan,
12084 builtin_dFdy,
12085 builtin_textureGrad,
12086 builtin_clamp,
12087 builtin_cosh,
12088 builtin_asin,
12089 builtin_texture1DProj,
12090 builtin_dFdx,
12091 builtin_shadow2DProj,
12092 builtin_textureLod,
12093 builtin_faceforward,
12094 builtin_abs,
12095 builtin_log2,
12096 builtin_lessThanEqual,
12097 builtin_transpose,
12098 builtin_step,
12099 builtin_sinh,
12100 builtin_cos,
12101 builtin_shadow2DProjLod,
12102 builtin_equal,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012103 builtin_length,
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012104 builtin_texelFetch,
12105 builtin_matrixCompMult,
12106 builtin_pow,
12107 builtin_texture2DProjLod,
12108 builtin_textureProjLod,
12109 builtin_log,
12110 builtin_exp2,
12111 builtin_fract,
12112 builtin_shadow1DLod,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012113 builtin_texture1DLod,
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012114 builtin_greaterThan,
12115 builtin_texture3DProj,
12116 builtin_sign,
12117 builtin_inversesqrt,
12118 builtin_distance,
12119 builtin_refract,
12120 builtin_tanh,
12121 builtin_texture1DProjLod,
12122 builtin_texture2D,
12123 builtin_greaterThanEqual,
12124 builtin_texture3DProjLod,
12125 builtin_tan,
12126 builtin_any,
12127 builtin_normalize,
12128 builtin_shadow1DProj,
12129 builtin_floor,
12130 builtin_cross,
12131 builtin_sqrt,
12132 builtin_textureCubeLod,
12133 builtin_sin,
12134 builtin_shadow2D,
12135 builtin_shadow2DLod,
12136 builtin_atan,
12137 builtin_max,
12138 builtin_reflect,
12139 builtin_texture3D,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012140 builtin_acos,
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012141 builtin_noise4,
12142 builtin_notEqual,
12143 builtin_outerProduct,
12144 builtin_shadow1D,
12145 builtin_noise1,
12146 builtin_noise2,
12147 builtin_noise3,
12148 builtin_min,
12149 builtin_textureCube,
12150 builtin_exp,
12151 builtin_texture2DLod,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012152 builtin_dot,
12153};
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012154static const char *prototypes_for_ARB_texture_rectangle_vert =
12155 "(\n"
12156 "(function texture2DRect\n"
12157 " (signature vec4\n"
12158 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012159 " (declare (in) sampler2DRect sampler)\n"
12160 " (declare (in) vec2 coord))\n"
12161 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012162 "(function texture2DRectProj\n"
12163 " (signature vec4\n"
12164 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012165 " (declare (in) sampler2DRect sampler)\n"
12166 " (declare (in) vec3 coord))\n"
12167 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012168 " (signature vec4\n"
12169 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012170 " (declare (in) sampler2DRect sampler)\n"
12171 " (declare (in) vec4 coord))\n"
12172 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012173 "(function shadow2DRect\n"
12174 " (signature vec4\n"
12175 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012176 " (declare (in) sampler2DRectShadow sampler)\n"
12177 " (declare (in) vec3 coord))\n"
12178 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012179 "(function shadow2DRectProj\n"
12180 " (signature vec4\n"
12181 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012182 " (declare (in) sampler2DRectShadow sampler)\n"
12183 " (declare (in) vec4 coord))\n"
12184 " ())))"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012185;
12186static const char *functions_for_ARB_texture_rectangle_vert [] = {
12187 builtin_texture2DRect,
12188 builtin_shadow2DRectProj,
12189 builtin_shadow2DRect,
12190 builtin_texture2DRectProj,
12191};
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012192static const char *prototypes_for_130_vert =
12193 "(\n"
12194 "(function radians\n"
12195 " (signature float\n"
12196 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012197 " (declare (in) float degrees))\n"
12198 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012199 " (signature vec2\n"
12200 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012201 " (declare (in) vec2 degrees))\n"
12202 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012203 " (signature vec3\n"
12204 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012205 " (declare (in) vec3 degrees))\n"
12206 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012207 " (signature vec4\n"
12208 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012209 " (declare (in) vec4 degrees))\n"
12210 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012211 "(function degrees\n"
12212 " (signature float\n"
12213 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012214 " (declare (in) float radians))\n"
12215 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012216 " (signature vec2\n"
12217 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012218 " (declare (in) vec2 radians))\n"
12219 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012220 " (signature vec3\n"
12221 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012222 " (declare (in) vec3 radians))\n"
12223 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012224 " (signature vec4\n"
12225 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012226 " (declare (in) vec4 radians))\n"
12227 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012228 "(function sin\n"
12229 " (signature float\n"
12230 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012231 " (declare (in) float angle))\n"
12232 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012233 " (signature vec2\n"
12234 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012235 " (declare (in) vec2 angle))\n"
12236 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012237 " (signature vec3\n"
12238 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012239 " (declare (in) vec3 angle))\n"
12240 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012241 " (signature vec4\n"
12242 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012243 " (declare (in) vec4 angle))\n"
12244 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012245 "(function cos\n"
12246 " (signature float\n"
12247 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012248 " (declare (in) float angle))\n"
12249 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012250 " (signature vec2\n"
12251 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012252 " (declare (in) vec2 angle))\n"
12253 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012254 " (signature vec3\n"
12255 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012256 " (declare (in) vec3 angle))\n"
12257 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012258 " (signature vec4\n"
12259 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012260 " (declare (in) vec4 angle))\n"
12261 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012262 "(function tan\n"
12263 " (signature float\n"
12264 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012265 " (declare (in) float angle))\n"
12266 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012267 " (signature vec2\n"
12268 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012269 " (declare (in) vec2 angle))\n"
12270 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012271 " (signature vec3\n"
12272 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012273 " (declare (in) vec3 angle))\n"
12274 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012275 " (signature vec4\n"
12276 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012277 " (declare (in) vec4 angle))\n"
12278 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012279 "(function asin\n"
12280 " (signature float\n"
12281 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012282 " (declare (in) float angle))\n"
12283 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012284 " (signature vec2\n"
12285 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012286 " (declare (in) vec2 angle))\n"
12287 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012288 " (signature vec3\n"
12289 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012290 " (declare (in) vec3 angle))\n"
12291 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012292 " (signature vec4\n"
12293 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012294 " (declare (in) vec4 angle))\n"
12295 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012296 "(function acos\n"
12297 " (signature float\n"
12298 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012299 " (declare (in) float angle))\n"
12300 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012301 " (signature vec2\n"
12302 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012303 " (declare (in) vec2 angle))\n"
12304 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012305 " (signature vec3\n"
12306 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012307 " (declare (in) vec3 angle))\n"
12308 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012309 " (signature vec4\n"
12310 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012311 " (declare (in) vec4 angle))\n"
12312 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012313 "(function atan\n"
12314 " (signature float\n"
12315 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012316 " (declare (in) float y)\n"
12317 " (declare (in) float x))\n"
12318 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012319 " (signature vec2\n"
12320 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012321 " (declare (in) vec2 y)\n"
12322 " (declare (in) vec2 x))\n"
12323 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012324 " (signature vec3\n"
12325 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012326 " (declare (in) vec3 y)\n"
12327 " (declare (in) vec3 x))\n"
12328 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012329 " (signature vec4\n"
12330 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012331 " (declare (in) vec4 y)\n"
12332 " (declare (in) vec4 x))\n"
12333 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012334 " (signature float\n"
12335 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012336 " (declare (in) float y_over_x))\n"
12337 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012338 " (signature vec2\n"
12339 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012340 " (declare (in) vec2 y_over_x))\n"
12341 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012342 " (signature vec3\n"
12343 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012344 " (declare (in) vec3 y_over_x))\n"
12345 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012346 " (signature vec4\n"
12347 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012348 " (declare (in) vec4 y_over_x))\n"
12349 " ()))\n"
12350 "(function sinh\n"
12351 " (signature float\n"
12352 " (parameters\n"
12353 " (declare (in) float x))\n"
12354 " ())\n"
12355 " (signature vec2\n"
12356 " (parameters\n"
12357 " (declare (in) vec2 x))\n"
12358 " ())\n"
12359 " (signature vec3\n"
12360 " (parameters\n"
12361 " (declare (in) vec3 x))\n"
12362 " ())\n"
12363 " (signature vec4\n"
12364 " (parameters\n"
12365 " (declare (in) vec4 x))\n"
12366 " ()))\n"
12367 "(function cosh\n"
12368 " (signature float\n"
12369 " (parameters\n"
12370 " (declare (in) float x))\n"
12371 " ())\n"
12372 " (signature vec2\n"
12373 " (parameters\n"
12374 " (declare (in) vec2 x))\n"
12375 " ())\n"
12376 " (signature vec3\n"
12377 " (parameters\n"
12378 " (declare (in) vec3 x))\n"
12379 " ())\n"
12380 " (signature vec4\n"
12381 " (parameters\n"
12382 " (declare (in) vec4 x))\n"
12383 " ()))\n"
12384 "(function tanh\n"
12385 " (signature float\n"
12386 " (parameters\n"
12387 " (declare (in) float x))\n"
12388 " ())\n"
12389 " (signature vec2\n"
12390 " (parameters\n"
12391 " (declare (in) vec2 x))\n"
12392 " ())\n"
12393 " (signature vec3\n"
12394 " (parameters\n"
12395 " (declare (in) vec3 x))\n"
12396 " ())\n"
12397 " (signature vec4\n"
12398 " (parameters\n"
12399 " (declare (in) vec4 x))\n"
12400 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012401 "(function pow\n"
12402 " (signature float\n"
12403 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012404 " (declare (in) float x)\n"
12405 " (declare (in) float y))\n"
12406 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012407 " (signature vec2\n"
12408 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012409 " (declare (in) vec2 x)\n"
12410 " (declare (in) vec2 y))\n"
12411 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012412 " (signature vec3\n"
12413 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012414 " (declare (in) vec3 x)\n"
12415 " (declare (in) vec3 y))\n"
12416 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012417 " (signature vec4\n"
12418 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012419 " (declare (in) vec4 x)\n"
12420 " (declare (in) vec4 y))\n"
12421 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012422 "(function exp\n"
12423 " (signature float\n"
12424 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012425 " (declare (in) float x))\n"
12426 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012427 " (signature vec2\n"
12428 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012429 " (declare (in) vec2 x))\n"
12430 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012431 " (signature vec3\n"
12432 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012433 " (declare (in) vec3 x))\n"
12434 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012435 " (signature vec4\n"
12436 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012437 " (declare (in) vec4 x))\n"
12438 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012439 "(function log\n"
12440 " (signature float\n"
12441 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012442 " (declare (in) float x))\n"
12443 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012444 " (signature vec2\n"
12445 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012446 " (declare (in) vec2 x))\n"
12447 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012448 " (signature vec3\n"
12449 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012450 " (declare (in) vec3 x))\n"
12451 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012452 " (signature vec4\n"
12453 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012454 " (declare (in) vec4 x))\n"
12455 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012456 "(function exp2\n"
12457 " (signature float\n"
12458 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012459 " (declare (in) float x))\n"
12460 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012461 " (signature vec2\n"
12462 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012463 " (declare (in) vec2 x))\n"
12464 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012465 " (signature vec3\n"
12466 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012467 " (declare (in) vec3 x))\n"
12468 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012469 " (signature vec4\n"
12470 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012471 " (declare (in) vec4 x))\n"
12472 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012473 "(function log2\n"
12474 " (signature float\n"
12475 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012476 " (declare (in) float x))\n"
12477 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012478 " (signature vec2\n"
12479 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012480 " (declare (in) vec2 x))\n"
12481 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012482 " (signature vec3\n"
12483 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012484 " (declare (in) vec3 x))\n"
12485 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012486 " (signature vec4\n"
12487 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012488 " (declare (in) vec4 x))\n"
12489 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012490 "(function sqrt\n"
12491 " (signature float\n"
12492 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012493 " (declare (in) float x))\n"
12494 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012495 " (signature vec2\n"
12496 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012497 " (declare (in) vec2 x))\n"
12498 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012499 " (signature vec3\n"
12500 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012501 " (declare (in) vec3 x))\n"
12502 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012503 " (signature vec4\n"
12504 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012505 " (declare (in) vec4 x))\n"
12506 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012507 "(function inversesqrt\n"
12508 " (signature float\n"
12509 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012510 " (declare (in) float x))\n"
12511 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012512 " (signature vec2\n"
12513 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012514 " (declare (in) vec2 x))\n"
12515 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012516 " (signature vec3\n"
12517 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012518 " (declare (in) vec3 x))\n"
12519 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012520 " (signature vec4\n"
12521 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012522 " (declare (in) vec4 x))\n"
12523 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012524 "(function abs\n"
12525 " (signature float\n"
12526 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012527 " (declare (in) float x))\n"
12528 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012529 " (signature vec2\n"
12530 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012531 " (declare (in) vec2 x))\n"
12532 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012533 " (signature vec3\n"
12534 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012535 " (declare (in) vec3 x))\n"
12536 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012537 " (signature vec4\n"
12538 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012539 " (declare (in) vec4 x))\n"
12540 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012541 " (signature int\n"
12542 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012543 " (declare (in) int x))\n"
12544 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012545 " (signature ivec2\n"
12546 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012547 " (declare (in) ivec2 x))\n"
12548 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012549 " (signature ivec3\n"
12550 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012551 " (declare (in) ivec3 x))\n"
12552 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012553 " (signature ivec4\n"
12554 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012555 " (declare (in) ivec4 x))\n"
12556 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012557 "(function sign\n"
12558 " (signature float\n"
12559 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012560 " (declare (in) float x))\n"
12561 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012562 " (signature vec2\n"
12563 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012564 " (declare (in) vec2 x))\n"
12565 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012566 " (signature vec3\n"
12567 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012568 " (declare (in) vec3 x))\n"
12569 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012570 " (signature vec4\n"
12571 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012572 " (declare (in) vec4 x))\n"
12573 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012574 " (signature int\n"
12575 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012576 " (declare (in) int x))\n"
12577 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012578 " (signature ivec2\n"
12579 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012580 " (declare (in) ivec2 x))\n"
12581 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012582 " (signature ivec3\n"
12583 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012584 " (declare (in) ivec3 x))\n"
12585 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012586 " (signature ivec4\n"
12587 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012588 " (declare (in) ivec4 x))\n"
12589 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012590 "(function floor\n"
12591 " (signature float\n"
12592 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012593 " (declare (in) float x))\n"
12594 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012595 " (signature vec2\n"
12596 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012597 " (declare (in) vec2 x))\n"
12598 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012599 " (signature vec3\n"
12600 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012601 " (declare (in) vec3 x))\n"
12602 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012603 " (signature vec4\n"
12604 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012605 " (declare (in) vec4 x))\n"
12606 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012607 "(function ceil\n"
12608 " (signature float\n"
12609 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012610 " (declare (in) float x))\n"
12611 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012612 " (signature vec2\n"
12613 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012614 " (declare (in) vec2 x))\n"
12615 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012616 " (signature vec3\n"
12617 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012618 " (declare (in) vec3 x))\n"
12619 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012620 " (signature vec4\n"
12621 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012622 " (declare (in) vec4 x))\n"
12623 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012624 "(function fract\n"
12625 " (signature float\n"
12626 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012627 " (declare (in) float x))\n"
12628 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012629 " (signature vec2\n"
12630 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012631 " (declare (in) vec2 x))\n"
12632 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012633 " (signature vec3\n"
12634 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012635 " (declare (in) vec3 x))\n"
12636 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012637 " (signature vec4\n"
12638 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012639 " (declare (in) vec4 x))\n"
12640 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012641 "(function mod\n"
12642 " (signature float\n"
12643 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012644 " (declare (in) float x)\n"
12645 " (declare (in) float y))\n"
12646 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012647 " (signature vec2\n"
12648 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012649 " (declare (in) vec2 x)\n"
12650 " (declare (in) float y))\n"
12651 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012652 " (signature vec3\n"
12653 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012654 " (declare (in) vec3 x)\n"
12655 " (declare (in) float y))\n"
12656 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012657 " (signature vec4\n"
12658 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012659 " (declare (in) vec4 x)\n"
12660 " (declare (in) float y))\n"
12661 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012662 " (signature vec2\n"
12663 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012664 " (declare (in) vec2 x)\n"
12665 " (declare (in) vec2 y))\n"
12666 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012667 " (signature vec3\n"
12668 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012669 " (declare (in) vec3 x)\n"
12670 " (declare (in) vec3 y))\n"
12671 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012672 " (signature vec4\n"
12673 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012674 " (declare (in) vec4 x)\n"
12675 " (declare (in) vec4 y))\n"
12676 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012677 "(function min\n"
12678 " (signature float\n"
12679 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012680 " (declare (in) float x)\n"
12681 " (declare (in) float y))\n"
12682 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012683 " (signature vec2\n"
12684 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012685 " (declare (in) vec2 x)\n"
12686 " (declare (in) vec2 y))\n"
12687 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012688 " (signature vec3\n"
12689 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012690 " (declare (in) vec3 x)\n"
12691 " (declare (in) vec3 y))\n"
12692 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012693 " (signature vec4\n"
12694 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012695 " (declare (in) vec4 x)\n"
12696 " (declare (in) vec4 y))\n"
12697 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012698 " (signature vec2\n"
12699 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012700 " (declare (in) vec2 x)\n"
12701 " (declare (in) float y))\n"
12702 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012703 " (signature vec3\n"
12704 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012705 " (declare (in) vec3 x)\n"
12706 " (declare (in) float y))\n"
12707 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012708 " (signature vec4\n"
12709 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012710 " (declare (in) vec4 x)\n"
12711 " (declare (in) float y))\n"
12712 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012713 " (signature int\n"
12714 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012715 " (declare (in) int x)\n"
12716 " (declare (in) int y))\n"
12717 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012718 " (signature ivec2\n"
12719 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012720 " (declare (in) ivec2 x)\n"
12721 " (declare (in) ivec2 y))\n"
12722 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012723 " (signature ivec3\n"
12724 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012725 " (declare (in) ivec3 x)\n"
12726 " (declare (in) ivec3 y))\n"
12727 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012728 " (signature ivec4\n"
12729 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012730 " (declare (in) ivec4 x)\n"
12731 " (declare (in) ivec4 y))\n"
12732 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012733 " (signature ivec2\n"
12734 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012735 " (declare (in) ivec2 x)\n"
12736 " (declare (in) int y))\n"
12737 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012738 " (signature ivec3\n"
12739 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012740 " (declare (in) ivec3 x)\n"
12741 " (declare (in) int y))\n"
12742 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012743 " (signature ivec4\n"
12744 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012745 " (declare (in) ivec4 x)\n"
12746 " (declare (in) int y))\n"
12747 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012748 " (signature uint\n"
12749 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012750 " (declare (in) uint x)\n"
12751 " (declare (in) uint y))\n"
12752 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012753 " (signature uvec2\n"
12754 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012755 " (declare (in) uvec2 x)\n"
12756 " (declare (in) uvec2 y))\n"
12757 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012758 " (signature uvec3\n"
12759 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012760 " (declare (in) uvec3 x)\n"
12761 " (declare (in) uvec3 y))\n"
12762 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012763 " (signature uvec4\n"
12764 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012765 " (declare (in) uvec4 x)\n"
12766 " (declare (in) uvec4 y))\n"
12767 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012768 " (signature uvec2\n"
12769 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012770 " (declare (in) uvec2 x)\n"
12771 " (declare (in) uint y))\n"
12772 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012773 " (signature uvec3\n"
12774 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012775 " (declare (in) uvec3 x)\n"
12776 " (declare (in) uint y))\n"
12777 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012778 " (signature uvec4\n"
12779 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012780 " (declare (in) uvec4 x)\n"
12781 " (declare (in) uint y))\n"
12782 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012783 "(function max\n"
12784 " (signature float\n"
12785 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012786 " (declare (in) float x)\n"
12787 " (declare (in) float y))\n"
12788 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012789 " (signature vec2\n"
12790 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012791 " (declare (in) vec2 x)\n"
12792 " (declare (in) vec2 y))\n"
12793 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012794 " (signature vec3\n"
12795 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012796 " (declare (in) vec3 x)\n"
12797 " (declare (in) vec3 y))\n"
12798 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012799 " (signature vec4\n"
12800 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012801 " (declare (in) vec4 x)\n"
12802 " (declare (in) vec4 y))\n"
12803 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012804 " (signature vec2\n"
12805 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012806 " (declare (in) vec2 x)\n"
12807 " (declare (in) float y))\n"
12808 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012809 " (signature vec3\n"
12810 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012811 " (declare (in) vec3 x)\n"
12812 " (declare (in) float y))\n"
12813 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012814 " (signature vec4\n"
12815 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012816 " (declare (in) vec4 x)\n"
12817 " (declare (in) float y))\n"
12818 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012819 " (signature int\n"
12820 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012821 " (declare (in) int x)\n"
12822 " (declare (in) int y))\n"
12823 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012824 " (signature ivec2\n"
12825 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012826 " (declare (in) ivec2 x)\n"
12827 " (declare (in) ivec2 y))\n"
12828 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012829 " (signature ivec3\n"
12830 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012831 " (declare (in) ivec3 x)\n"
12832 " (declare (in) ivec3 y))\n"
12833 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012834 " (signature ivec4\n"
12835 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012836 " (declare (in) ivec4 x)\n"
12837 " (declare (in) ivec4 y))\n"
12838 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012839 " (signature ivec2\n"
12840 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012841 " (declare (in) ivec2 x)\n"
12842 " (declare (in) int y))\n"
12843 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012844 " (signature ivec3\n"
12845 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012846 " (declare (in) ivec3 x)\n"
12847 " (declare (in) int y))\n"
12848 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012849 " (signature ivec4\n"
12850 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012851 " (declare (in) ivec4 x)\n"
12852 " (declare (in) int y))\n"
12853 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012854 " (signature uint\n"
12855 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012856 " (declare (in) uint x)\n"
12857 " (declare (in) uint y))\n"
12858 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012859 " (signature uvec2\n"
12860 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012861 " (declare (in) uvec2 x)\n"
12862 " (declare (in) uvec2 y))\n"
12863 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012864 " (signature uvec3\n"
12865 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012866 " (declare (in) uvec3 x)\n"
12867 " (declare (in) uvec3 y))\n"
12868 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012869 " (signature uvec4\n"
12870 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012871 " (declare (in) uvec4 x)\n"
12872 " (declare (in) uvec4 y))\n"
12873 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012874 " (signature uvec2\n"
12875 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012876 " (declare (in) uvec2 x)\n"
12877 " (declare (in) uint y))\n"
12878 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012879 " (signature uvec3\n"
12880 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012881 " (declare (in) uvec3 x)\n"
12882 " (declare (in) uint y))\n"
12883 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012884 " (signature uvec4\n"
12885 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012886 " (declare (in) uvec4 x)\n"
12887 " (declare (in) uint y))\n"
12888 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012889 "(function clamp\n"
12890 " (signature float\n"
12891 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012892 " (declare (in) float x)\n"
12893 " (declare (in) float minVal)\n"
12894 " (declare (in) float maxVal))\n"
12895 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012896 " (signature vec2\n"
12897 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012898 " (declare (in) vec2 x)\n"
12899 " (declare (in) vec2 minVal)\n"
12900 " (declare (in) vec2 maxVal))\n"
12901 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012902 " (signature vec3\n"
12903 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012904 " (declare (in) vec3 x)\n"
12905 " (declare (in) vec3 minVal)\n"
12906 " (declare (in) vec3 maxVal))\n"
12907 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012908 " (signature vec4\n"
12909 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012910 " (declare (in) vec4 x)\n"
12911 " (declare (in) vec4 minVal)\n"
12912 " (declare (in) vec4 maxVal))\n"
12913 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012914 " (signature vec2\n"
12915 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012916 " (declare (in) vec2 x)\n"
12917 " (declare (in) float minVal)\n"
12918 " (declare (in) float maxVal))\n"
12919 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012920 " (signature vec3\n"
12921 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012922 " (declare (in) vec3 x)\n"
12923 " (declare (in) float minVal)\n"
12924 " (declare (in) float maxVal))\n"
12925 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012926 " (signature vec4\n"
12927 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012928 " (declare (in) vec4 x)\n"
12929 " (declare (in) float minVal)\n"
12930 " (declare (in) float maxVal))\n"
12931 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012932 " (signature int\n"
12933 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012934 " (declare (in) int x)\n"
12935 " (declare (in) int minVal)\n"
12936 " (declare (in) int maxVal))\n"
12937 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012938 " (signature ivec2\n"
12939 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012940 " (declare (in) ivec2 x)\n"
12941 " (declare (in) ivec2 minVal)\n"
12942 " (declare (in) ivec2 maxVal))\n"
12943 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012944 " (signature ivec3\n"
12945 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012946 " (declare (in) ivec3 x)\n"
12947 " (declare (in) ivec3 minVal)\n"
12948 " (declare (in) ivec3 maxVal))\n"
12949 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012950 " (signature ivec4\n"
12951 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012952 " (declare (in) ivec4 x)\n"
12953 " (declare (in) ivec4 minVal)\n"
12954 " (declare (in) ivec4 maxVal))\n"
12955 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012956 " (signature ivec2\n"
12957 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012958 " (declare (in) ivec2 x)\n"
12959 " (declare (in) int minVal)\n"
12960 " (declare (in) int maxVal))\n"
12961 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012962 " (signature ivec3\n"
12963 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012964 " (declare (in) ivec3 x)\n"
12965 " (declare (in) int minVal)\n"
12966 " (declare (in) int maxVal))\n"
12967 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012968 " (signature ivec4\n"
12969 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012970 " (declare (in) ivec4 x)\n"
12971 " (declare (in) int minVal)\n"
12972 " (declare (in) int maxVal))\n"
12973 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012974 " (signature uint\n"
12975 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012976 " (declare (in) uint x)\n"
12977 " (declare (in) uint minVal)\n"
12978 " (declare (in) uint maxVal))\n"
12979 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012980 " (signature uvec2\n"
12981 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012982 " (declare (in) uvec2 x)\n"
12983 " (declare (in) uvec2 minVal)\n"
12984 " (declare (in) uvec2 maxVal))\n"
12985 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012986 " (signature uvec3\n"
12987 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012988 " (declare (in) uvec3 x)\n"
12989 " (declare (in) uvec3 minVal)\n"
12990 " (declare (in) uvec3 maxVal))\n"
12991 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012992 " (signature uvec4\n"
12993 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012994 " (declare (in) uvec4 x)\n"
12995 " (declare (in) uvec4 minVal)\n"
12996 " (declare (in) uvec4 maxVal))\n"
12997 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070012998 " (signature uvec2\n"
12999 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013000 " (declare (in) uvec2 x)\n"
13001 " (declare (in) uint minVal)\n"
13002 " (declare (in) uint maxVal))\n"
13003 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013004 " (signature uvec3\n"
13005 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013006 " (declare (in) uvec3 x)\n"
13007 " (declare (in) uint minVal)\n"
13008 " (declare (in) uint maxVal))\n"
13009 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013010 " (signature uvec4\n"
13011 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013012 " (declare (in) uvec4 x)\n"
13013 " (declare (in) uint minVal)\n"
13014 " (declare (in) uint maxVal))\n"
13015 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013016 "(function mix\n"
13017 " (signature float\n"
13018 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013019 " (declare (in) float x)\n"
13020 " (declare (in) float y)\n"
13021 " (declare (in) float a))\n"
13022 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013023 " (signature vec2\n"
13024 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013025 " (declare (in) vec2 x)\n"
13026 " (declare (in) vec2 y)\n"
13027 " (declare (in) vec2 a))\n"
13028 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013029 " (signature vec3\n"
13030 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013031 " (declare (in) vec3 x)\n"
13032 " (declare (in) vec3 y)\n"
13033 " (declare (in) vec3 a))\n"
13034 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013035 " (signature vec4\n"
13036 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013037 " (declare (in) vec4 x)\n"
13038 " (declare (in) vec4 y)\n"
13039 " (declare (in) vec4 a))\n"
13040 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013041 " (signature vec2\n"
13042 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013043 " (declare (in) vec2 x)\n"
13044 " (declare (in) vec2 y)\n"
13045 " (declare (in) float a))\n"
13046 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013047 " (signature vec3\n"
13048 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013049 " (declare (in) vec3 x)\n"
13050 " (declare (in) vec3 y)\n"
13051 " (declare (in) float a))\n"
13052 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013053 " (signature vec4\n"
13054 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013055 " (declare (in) vec4 x)\n"
13056 " (declare (in) vec4 y)\n"
13057 " (declare (in) float a))\n"
13058 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013059 "(function step\n"
13060 " (signature float\n"
13061 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013062 " (declare (in) float edge)\n"
13063 " (declare (in) float x))\n"
13064 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013065 " (signature vec2\n"
13066 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013067 " (declare (in) vec2 edge)\n"
13068 " (declare (in) vec2 x))\n"
13069 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013070 " (signature vec3\n"
13071 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013072 " (declare (in) vec3 edge)\n"
13073 " (declare (in) vec3 x))\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 edge)\n"
13078 " (declare (in) vec4 x))\n"
13079 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013080 " (signature vec2\n"
13081 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013082 " (declare (in) float edge)\n"
13083 " (declare (in) vec2 x))\n"
13084 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013085 " (signature vec3\n"
13086 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013087 " (declare (in) float edge)\n"
13088 " (declare (in) vec3 x))\n"
13089 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013090 " (signature vec4\n"
13091 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013092 " (declare (in) float edge)\n"
13093 " (declare (in) vec4 x))\n"
13094 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013095 "(function smoothstep\n"
13096 " (signature float\n"
13097 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013098 " (declare (in) float edge0)\n"
13099 " (declare (in) float edge1)\n"
13100 " (declare (in) float x))\n"
13101 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013102 " (signature vec2\n"
13103 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013104 " (declare (in) vec2 edge0)\n"
13105 " (declare (in) vec2 edge1)\n"
13106 " (declare (in) vec2 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 edge0)\n"
13111 " (declare (in) vec3 edge1)\n"
13112 " (declare (in) vec3 x))\n"
13113 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013114 " (signature vec4\n"
13115 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013116 " (declare (in) vec4 edge0)\n"
13117 " (declare (in) vec4 edge1)\n"
13118 " (declare (in) vec4 x))\n"
13119 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013120 " (signature vec2\n"
13121 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013122 " (declare (in) float edge0)\n"
13123 " (declare (in) float edge1)\n"
13124 " (declare (in) vec2 x))\n"
13125 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013126 " (signature vec3\n"
13127 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013128 " (declare (in) float edge0)\n"
13129 " (declare (in) float edge1)\n"
13130 " (declare (in) vec3 x))\n"
13131 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013132 " (signature vec4\n"
13133 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013134 " (declare (in) float edge0)\n"
13135 " (declare (in) float edge1)\n"
13136 " (declare (in) vec4 x))\n"
13137 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013138 "(function length\n"
13139 " (signature float\n"
13140 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013141 " (declare (in) float x))\n"
13142 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013143 " (signature float\n"
13144 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013145 " (declare (in) vec2 x))\n"
13146 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013147 " (signature float\n"
13148 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013149 " (declare (in) vec3 x))\n"
13150 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013151 " (signature float\n"
13152 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013153 " (declare (in) vec4 x))\n"
13154 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013155 "(function distance\n"
13156 " (signature float\n"
13157 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013158 " (declare (in) float p0)\n"
13159 " (declare (in) float p1))\n"
13160 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013161 " (signature float\n"
13162 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013163 " (declare (in) vec2 p0)\n"
13164 " (declare (in) vec2 p1))\n"
13165 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013166 " (signature float\n"
13167 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013168 " (declare (in) vec3 p0)\n"
13169 " (declare (in) vec3 p1))\n"
13170 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013171 " (signature float\n"
13172 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013173 " (declare (in) vec4 p0)\n"
13174 " (declare (in) vec4 p1))\n"
13175 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013176 "(function dot\n"
13177 " (signature float\n"
13178 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013179 " (declare (in) float x)\n"
13180 " (declare (in) float y))\n"
13181 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013182 " (signature float\n"
13183 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013184 " (declare (in) vec2 x)\n"
13185 " (declare (in) vec2 y))\n"
13186 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013187 " (signature float\n"
13188 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013189 " (declare (in) vec3 x)\n"
13190 " (declare (in) vec3 y))\n"
13191 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013192 " (signature float\n"
13193 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013194 " (declare (in) vec4 x)\n"
13195 " (declare (in) vec4 y))\n"
13196 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013197 "(function cross\n"
13198 " (signature vec3\n"
13199 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013200 " (declare (in) vec3 x)\n"
13201 " (declare (in) vec3 y))\n"
13202 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013203 "(function normalize\n"
13204 " (signature float\n"
13205 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013206 " (declare (in) float x))\n"
13207 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013208 " (signature vec2\n"
13209 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013210 " (declare (in) vec2 x))\n"
13211 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013212 " (signature vec3\n"
13213 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013214 " (declare (in) vec3 x))\n"
13215 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013216 " (signature vec4\n"
13217 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013218 " (declare (in) vec4 x))\n"
13219 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013220 "(function ftransform\n"
13221 " (signature vec4\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013222 " (parameters)\n"
13223 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013224 "(function faceforward\n"
13225 " (signature float\n"
13226 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013227 " (declare (in) float N)\n"
13228 " (declare (in) float I)\n"
13229 " (declare (in) float Nref))\n"
13230 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013231 " (signature vec2\n"
13232 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013233 " (declare (in) vec2 N)\n"
13234 " (declare (in) vec2 I)\n"
13235 " (declare (in) vec2 Nref))\n"
13236 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013237 " (signature vec3\n"
13238 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013239 " (declare (in) vec3 N)\n"
13240 " (declare (in) vec3 I)\n"
13241 " (declare (in) vec3 Nref))\n"
13242 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013243 " (signature vec4\n"
13244 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013245 " (declare (in) vec4 N)\n"
13246 " (declare (in) vec4 I)\n"
13247 " (declare (in) vec4 Nref))\n"
13248 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013249 "(function reflect\n"
13250 " (signature float\n"
13251 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013252 " (declare (in) float I)\n"
13253 " (declare (in) float N))\n"
13254 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013255 " (signature vec2\n"
13256 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013257 " (declare (in) vec2 I)\n"
13258 " (declare (in) vec2 N))\n"
13259 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013260 " (signature vec3\n"
13261 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013262 " (declare (in) vec3 I)\n"
13263 " (declare (in) vec3 N))\n"
13264 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013265 " (signature vec4\n"
13266 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013267 " (declare (in) vec4 I)\n"
13268 " (declare (in) vec4 N))\n"
13269 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013270 "(function refract\n"
13271 " (signature float\n"
13272 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013273 " (declare (in) float I)\n"
13274 " (declare (in) float N)\n"
13275 " (declare (in) float eta))\n"
13276 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013277 " (signature vec2\n"
13278 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013279 " (declare (in) vec2 I)\n"
13280 " (declare (in) vec2 N)\n"
13281 " (declare (in) float eta))\n"
13282 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013283 " (signature vec3\n"
13284 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013285 " (declare (in) vec3 I)\n"
13286 " (declare (in) vec3 N)\n"
13287 " (declare (in) float eta))\n"
13288 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013289 " (signature vec4\n"
13290 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013291 " (declare (in) vec4 I)\n"
13292 " (declare (in) vec4 N)\n"
13293 " (declare (in) float eta))\n"
13294 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013295 "(function matrixCompMult\n"
13296 " (signature mat2\n"
13297 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013298 " (declare (in) mat2 x)\n"
13299 " (declare (in) mat2 y))\n"
13300 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013301 " (signature mat3\n"
13302 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013303 " (declare (in) mat3 x)\n"
13304 " (declare (in) mat3 y))\n"
13305 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013306 " (signature mat4\n"
13307 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013308 " (declare (in) mat4 x)\n"
13309 " (declare (in) mat4 y))\n"
13310 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013311 " (signature mat2x3\n"
13312 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013313 " (declare (in) mat2x3 x)\n"
13314 " (declare (in) mat2x3 y))\n"
13315 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013316 " (signature mat2x4\n"
13317 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013318 " (declare (in) mat2x4 x)\n"
13319 " (declare (in) mat2x4 y))\n"
13320 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013321 " (signature mat3x2\n"
13322 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013323 " (declare (in) mat3x2 x)\n"
13324 " (declare (in) mat3x2 y))\n"
13325 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013326 " (signature mat3x4\n"
13327 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013328 " (declare (in) mat3x4 x)\n"
13329 " (declare (in) mat3x4 y))\n"
13330 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013331 " (signature mat4x2\n"
13332 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013333 " (declare (in) mat4x2 x)\n"
13334 " (declare (in) mat4x2 y))\n"
13335 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013336 " (signature mat4x3\n"
13337 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013338 " (declare (in) mat4x3 x)\n"
13339 " (declare (in) mat4x3 y))\n"
13340 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013341 "(function outerProduct\n"
13342 " (signature mat2\n"
13343 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013344 " (declare (in) vec2 c)\n"
13345 " (declare (in) vec2 r))\n"
13346 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013347 " (signature mat3\n"
13348 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013349 " (declare (in) vec3 c)\n"
13350 " (declare (in) vec3 r))\n"
13351 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013352 " (signature mat4\n"
13353 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013354 " (declare (in) vec4 c)\n"
13355 " (declare (in) vec4 r))\n"
13356 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013357 " (signature mat2x3\n"
13358 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013359 " (declare (in) vec3 c)\n"
13360 " (declare (in) vec2 r))\n"
13361 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013362 " (signature mat3x2\n"
13363 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013364 " (declare (in) vec2 c)\n"
13365 " (declare (in) vec3 r))\n"
13366 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013367 " (signature mat2x4\n"
13368 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013369 " (declare (in) vec4 c)\n"
13370 " (declare (in) vec2 r))\n"
13371 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013372 " (signature mat4x2\n"
13373 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013374 " (declare (in) vec2 c)\n"
13375 " (declare (in) vec4 r))\n"
13376 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013377 " (signature mat3x4\n"
13378 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013379 " (declare (in) vec4 c)\n"
13380 " (declare (in) vec3 r))\n"
13381 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013382 " (signature mat4x3\n"
13383 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013384 " (declare (in) vec3 c)\n"
13385 " (declare (in) vec4 r))\n"
13386 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013387 "(function transpose\n"
13388 " (signature mat2\n"
13389 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013390 " (declare (in) mat2 m))\n"
13391 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013392 " (signature mat3\n"
13393 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013394 " (declare (in) mat3 m))\n"
13395 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013396 " (signature mat4\n"
13397 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013398 " (declare (in) mat4 m))\n"
13399 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013400 " (signature mat2x3\n"
13401 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013402 " (declare (in) mat3x2 m))\n"
13403 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013404 " (signature mat3x2\n"
13405 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013406 " (declare (in) mat2x3 m))\n"
13407 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013408 " (signature mat2x4\n"
13409 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013410 " (declare (in) mat4x2 m))\n"
13411 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013412 " (signature mat4x2\n"
13413 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013414 " (declare (in) mat2x4 m))\n"
13415 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013416 " (signature mat3x4\n"
13417 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013418 " (declare (in) mat4x3 m))\n"
13419 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013420 " (signature mat4x3\n"
13421 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013422 " (declare (in) mat3x4 m))\n"
13423 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013424 "(function lessThan\n"
13425 " (signature bvec2\n"
13426 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013427 " (declare (in) vec2 x)\n"
13428 " (declare (in) vec2 y))\n"
13429 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013430 " (signature bvec3\n"
13431 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013432 " (declare (in) vec3 x)\n"
13433 " (declare (in) vec3 y))\n"
13434 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013435 " (signature bvec4\n"
13436 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013437 " (declare (in) vec4 x)\n"
13438 " (declare (in) vec4 y))\n"
13439 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013440 " (signature bvec2\n"
13441 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013442 " (declare (in) ivec2 x)\n"
13443 " (declare (in) ivec2 y))\n"
13444 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013445 " (signature bvec3\n"
13446 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013447 " (declare (in) ivec3 x)\n"
13448 " (declare (in) ivec3 y))\n"
13449 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013450 " (signature bvec4\n"
13451 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013452 " (declare (in) ivec4 x)\n"
13453 " (declare (in) ivec4 y))\n"
13454 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013455 " (signature bvec2\n"
13456 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013457 " (declare (in) uvec2 x)\n"
13458 " (declare (in) uvec2 y))\n"
13459 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013460 " (signature bvec3\n"
13461 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013462 " (declare (in) uvec3 x)\n"
13463 " (declare (in) uvec3 y))\n"
13464 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013465 " (signature bvec4\n"
13466 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013467 " (declare (in) uvec4 x)\n"
13468 " (declare (in) uvec4 y))\n"
13469 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013470 "(function lessThanEqual\n"
13471 " (signature bvec2\n"
13472 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013473 " (declare (in) vec2 x)\n"
13474 " (declare (in) vec2 y))\n"
13475 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013476 " (signature bvec3\n"
13477 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013478 " (declare (in) vec3 x)\n"
13479 " (declare (in) vec3 y))\n"
13480 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013481 " (signature bvec4\n"
13482 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013483 " (declare (in) vec4 x)\n"
13484 " (declare (in) vec4 y))\n"
13485 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013486 " (signature bvec2\n"
13487 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013488 " (declare (in) ivec2 x)\n"
13489 " (declare (in) ivec2 y))\n"
13490 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013491 " (signature bvec3\n"
13492 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013493 " (declare (in) ivec3 x)\n"
13494 " (declare (in) ivec3 y))\n"
13495 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013496 " (signature bvec4\n"
13497 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013498 " (declare (in) ivec4 x)\n"
13499 " (declare (in) ivec4 y))\n"
13500 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013501 " (signature bvec2\n"
13502 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013503 " (declare (in) uvec2 x)\n"
13504 " (declare (in) uvec2 y))\n"
13505 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013506 " (signature bvec3\n"
13507 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013508 " (declare (in) uvec3 x)\n"
13509 " (declare (in) uvec3 y))\n"
13510 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013511 " (signature bvec4\n"
13512 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013513 " (declare (in) uvec4 x)\n"
13514 " (declare (in) uvec4 y))\n"
13515 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013516 "(function greaterThan\n"
13517 " (signature bvec2\n"
13518 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013519 " (declare (in) vec2 x)\n"
13520 " (declare (in) vec2 y))\n"
13521 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013522 " (signature bvec3\n"
13523 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013524 " (declare (in) vec3 x)\n"
13525 " (declare (in) vec3 y))\n"
13526 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013527 " (signature bvec4\n"
13528 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013529 " (declare (in) vec4 x)\n"
13530 " (declare (in) vec4 y))\n"
13531 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013532 " (signature bvec2\n"
13533 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013534 " (declare (in) ivec2 x)\n"
13535 " (declare (in) ivec2 y))\n"
13536 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013537 " (signature bvec3\n"
13538 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013539 " (declare (in) ivec3 x)\n"
13540 " (declare (in) ivec3 y))\n"
13541 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013542 " (signature bvec4\n"
13543 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013544 " (declare (in) ivec4 x)\n"
13545 " (declare (in) ivec4 y))\n"
13546 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013547 " (signature bvec2\n"
13548 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013549 " (declare (in) uvec2 x)\n"
13550 " (declare (in) uvec2 y))\n"
13551 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013552 " (signature bvec3\n"
13553 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013554 " (declare (in) uvec3 x)\n"
13555 " (declare (in) uvec3 y))\n"
13556 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013557 " (signature bvec4\n"
13558 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013559 " (declare (in) uvec4 x)\n"
13560 " (declare (in) uvec4 y))\n"
13561 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013562 "(function greaterThanEqual\n"
13563 " (signature bvec2\n"
13564 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013565 " (declare (in) vec2 x)\n"
13566 " (declare (in) vec2 y))\n"
13567 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013568 " (signature bvec3\n"
13569 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013570 " (declare (in) vec3 x)\n"
13571 " (declare (in) vec3 y))\n"
13572 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013573 " (signature bvec4\n"
13574 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013575 " (declare (in) vec4 x)\n"
13576 " (declare (in) vec4 y))\n"
13577 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013578 " (signature bvec2\n"
13579 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013580 " (declare (in) ivec2 x)\n"
13581 " (declare (in) ivec2 y))\n"
13582 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013583 " (signature bvec3\n"
13584 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013585 " (declare (in) ivec3 x)\n"
13586 " (declare (in) ivec3 y))\n"
13587 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013588 " (signature bvec4\n"
13589 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013590 " (declare (in) ivec4 x)\n"
13591 " (declare (in) ivec4 y))\n"
13592 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013593 " (signature bvec2\n"
13594 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013595 " (declare (in) uvec2 x)\n"
13596 " (declare (in) uvec2 y))\n"
13597 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013598 " (signature bvec3\n"
13599 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013600 " (declare (in) uvec3 x)\n"
13601 " (declare (in) uvec3 y))\n"
13602 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013603 " (signature bvec4\n"
13604 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013605 " (declare (in) uvec4 x)\n"
13606 " (declare (in) uvec4 y))\n"
13607 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013608 "(function equal\n"
13609 " (signature bvec2\n"
13610 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013611 " (declare (in) vec2 x)\n"
13612 " (declare (in) vec2 y))\n"
13613 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013614 " (signature bvec3\n"
13615 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013616 " (declare (in) vec3 x)\n"
13617 " (declare (in) vec3 y))\n"
13618 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013619 " (signature bvec4\n"
13620 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013621 " (declare (in) vec4 x)\n"
13622 " (declare (in) vec4 y))\n"
13623 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013624 " (signature bvec2\n"
13625 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013626 " (declare (in) ivec2 x)\n"
13627 " (declare (in) ivec2 y))\n"
13628 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013629 " (signature bvec3\n"
13630 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013631 " (declare (in) ivec3 x)\n"
13632 " (declare (in) ivec3 y))\n"
13633 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013634 " (signature bvec4\n"
13635 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013636 " (declare (in) ivec4 x)\n"
13637 " (declare (in) ivec4 y))\n"
13638 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013639 " (signature bvec2\n"
13640 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013641 " (declare (in) uvec2 x)\n"
13642 " (declare (in) uvec2 y))\n"
13643 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013644 " (signature bvec3\n"
13645 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013646 " (declare (in) uvec3 x)\n"
13647 " (declare (in) uvec3 y))\n"
13648 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013649 " (signature bvec4\n"
13650 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013651 " (declare (in) uvec4 x)\n"
13652 " (declare (in) uvec4 y))\n"
13653 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013654 " (signature bvec2\n"
13655 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013656 " (declare (in) bvec2 x)\n"
13657 " (declare (in) bvec2 y))\n"
13658 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013659 " (signature bvec3\n"
13660 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013661 " (declare (in) bvec3 x)\n"
13662 " (declare (in) bvec3 y))\n"
13663 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013664 " (signature bvec4\n"
13665 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013666 " (declare (in) bvec4 x)\n"
13667 " (declare (in) bvec4 y))\n"
13668 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013669 "(function notEqual\n"
13670 " (signature bvec2\n"
13671 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013672 " (declare (in) vec2 x)\n"
13673 " (declare (in) vec2 y))\n"
13674 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013675 " (signature bvec3\n"
13676 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013677 " (declare (in) vec3 x)\n"
13678 " (declare (in) vec3 y))\n"
13679 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013680 " (signature bvec4\n"
13681 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013682 " (declare (in) vec4 x)\n"
13683 " (declare (in) vec4 y))\n"
13684 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013685 " (signature bvec2\n"
13686 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013687 " (declare (in) ivec2 x)\n"
13688 " (declare (in) ivec2 y))\n"
13689 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013690 " (signature bvec3\n"
13691 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013692 " (declare (in) ivec3 x)\n"
13693 " (declare (in) ivec3 y))\n"
13694 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013695 " (signature bvec4\n"
13696 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013697 " (declare (in) ivec4 x)\n"
13698 " (declare (in) ivec4 y))\n"
13699 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013700 " (signature bvec2\n"
13701 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013702 " (declare (in) uvec2 x)\n"
13703 " (declare (in) uvec2 y))\n"
13704 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013705 " (signature bvec3\n"
13706 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013707 " (declare (in) uvec3 x)\n"
13708 " (declare (in) uvec3 y))\n"
13709 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013710 " (signature bvec4\n"
13711 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013712 " (declare (in) uvec4 x)\n"
13713 " (declare (in) uvec4 y))\n"
13714 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013715 " (signature bvec2\n"
13716 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013717 " (declare (in) bvec2 x)\n"
13718 " (declare (in) bvec2 y))\n"
13719 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013720 " (signature bvec3\n"
13721 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013722 " (declare (in) bvec3 x)\n"
13723 " (declare (in) bvec3 y))\n"
13724 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013725 " (signature bvec4\n"
13726 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013727 " (declare (in) bvec4 x)\n"
13728 " (declare (in) bvec4 y))\n"
13729 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013730 "(function any\n"
13731 " (signature bool\n"
13732 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013733 " (declare (in) bvec2 x))\n"
13734 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013735 " (signature bool\n"
13736 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013737 " (declare (in) bvec3 x))\n"
13738 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013739 " (signature bool\n"
13740 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013741 " (declare (in) bvec4 x))\n"
13742 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013743 "(function all\n"
13744 " (signature bool\n"
13745 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013746 " (declare (in) bvec2 x))\n"
13747 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013748 " (signature bool\n"
13749 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013750 " (declare (in) bvec3 x))\n"
13751 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013752 " (signature bool\n"
13753 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013754 " (declare (in) bvec4 x))\n"
13755 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013756 "(function not\n"
13757 " (signature bvec2\n"
13758 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013759 " (declare (in) bvec2 x))\n"
13760 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013761 " (signature bvec3\n"
13762 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013763 " (declare (in) bvec3 x))\n"
13764 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013765 " (signature bvec4\n"
13766 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013767 " (declare (in) bvec4 x))\n"
13768 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013769 "(function texture\n"
13770 " (signature vec4\n"
13771 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013772 " (declare (in) sampler1D sampler)\n"
13773 " (declare (in) float P))\n"
13774 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013775 " (signature ivec4\n"
13776 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013777 " (declare (in) isampler1D sampler)\n"
13778 " (declare (in) float P))\n"
13779 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013780 " (signature uvec4\n"
13781 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013782 " (declare (in) usampler1D sampler)\n"
13783 " (declare (in) float P))\n"
13784 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013785 " (signature vec4\n"
13786 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013787 " (declare (in) sampler2D sampler)\n"
13788 " (declare (in) vec2 P))\n"
13789 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013790 " (signature ivec4\n"
13791 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013792 " (declare (in) isampler2D sampler)\n"
13793 " (declare (in) vec2 P))\n"
13794 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013795 " (signature uvec4\n"
13796 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013797 " (declare (in) usampler2D sampler)\n"
13798 " (declare (in) vec2 P))\n"
13799 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013800 " (signature vec4\n"
13801 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013802 " (declare (in) sampler3D sampler)\n"
13803 " (declare (in) vec3 P))\n"
13804 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013805 " (signature ivec4\n"
13806 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013807 " (declare (in) isampler3D sampler)\n"
13808 " (declare (in) vec3 P))\n"
13809 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013810 " (signature uvec4\n"
13811 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013812 " (declare (in) usampler3D sampler)\n"
13813 " (declare (in) vec3 P))\n"
13814 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013815 " (signature vec4\n"
13816 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013817 " (declare (in) samplerCube sampler)\n"
13818 " (declare (in) vec3 P))\n"
13819 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013820 " (signature ivec4\n"
13821 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013822 " (declare (in) isamplerCube sampler)\n"
13823 " (declare (in) vec3 P))\n"
13824 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013825 " (signature uvec4\n"
13826 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013827 " (declare (in) usamplerCube sampler)\n"
13828 " (declare (in) vec3 P))\n"
13829 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013830 " (signature float\n"
13831 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013832 " (declare (in) sampler1DShadow sampler)\n"
13833 " (declare (in) vec3 P))\n"
13834 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013835 " (signature float\n"
13836 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013837 " (declare (in) sampler2DShadow sampler)\n"
13838 " (declare (in) vec3 P))\n"
13839 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013840 " (signature float\n"
13841 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013842 " (declare (in) samplerCubeShadow sampler)\n"
13843 " (declare (in) vec4 P))\n"
13844 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013845 " (signature vec4\n"
13846 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013847 " (declare (in) sampler1DArray sampler)\n"
13848 " (declare (in) vec2 P))\n"
13849 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013850 " (signature ivec4\n"
13851 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013852 " (declare (in) isampler1DArray sampler)\n"
13853 " (declare (in) vec2 P))\n"
13854 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013855 " (signature uvec4\n"
13856 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013857 " (declare (in) usampler1DArray sampler)\n"
13858 " (declare (in) vec2 P))\n"
13859 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013860 " (signature vec4\n"
13861 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013862 " (declare (in) sampler2DArray sampler)\n"
13863 " (declare (in) vec3 P))\n"
13864 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013865 " (signature ivec4\n"
13866 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013867 " (declare (in) isampler2DArray sampler)\n"
13868 " (declare (in) vec3 P))\n"
13869 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013870 " (signature uvec4\n"
13871 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013872 " (declare (in) usampler2DArray sampler)\n"
13873 " (declare (in) vec3 P))\n"
13874 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013875 " (signature float\n"
13876 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013877 " (declare (in) sampler1DArrayShadow sampler)\n"
13878 " (declare (in) vec3 P))\n"
13879 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013880 " (signature float\n"
13881 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013882 " (declare (in) sampler2DArrayShadow sampler)\n"
13883 " (declare (in) vec4 P))\n"
13884 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013885 " (signature vec4\n"
13886 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013887 " (declare (in) sampler1D sampler)\n"
13888 " (declare (in) float P)\n"
13889 " (declare (in) float bias))\n"
13890 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013891 " (signature ivec4\n"
13892 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013893 " (declare (in) isampler1D sampler)\n"
13894 " (declare (in) float P)\n"
13895 " (declare (in) float bias))\n"
13896 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013897 " (signature uvec4\n"
13898 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013899 " (declare (in) usampler1D sampler)\n"
13900 " (declare (in) float P)\n"
13901 " (declare (in) float bias))\n"
13902 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013903 " (signature vec4\n"
13904 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013905 " (declare (in) sampler2D sampler)\n"
13906 " (declare (in) vec2 P)\n"
13907 " (declare (in) float bias))\n"
13908 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013909 " (signature ivec4\n"
13910 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013911 " (declare (in) isampler2D sampler)\n"
13912 " (declare (in) vec2 P)\n"
13913 " (declare (in) float bias))\n"
13914 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013915 " (signature uvec4\n"
13916 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013917 " (declare (in) usampler2D sampler)\n"
13918 " (declare (in) vec2 P)\n"
13919 " (declare (in) float bias))\n"
13920 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013921 " (signature vec4\n"
13922 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013923 " (declare (in) sampler3D sampler)\n"
13924 " (declare (in) vec3 P)\n"
13925 " (declare (in) float bias))\n"
13926 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013927 " (signature ivec4\n"
13928 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013929 " (declare (in) isampler3D sampler)\n"
13930 " (declare (in) vec3 P)\n"
13931 " (declare (in) float bias))\n"
13932 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013933 " (signature uvec4\n"
13934 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013935 " (declare (in) usampler3D sampler)\n"
13936 " (declare (in) vec3 P)\n"
13937 " (declare (in) float bias))\n"
13938 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013939 " (signature vec4\n"
13940 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013941 " (declare (in) samplerCube sampler)\n"
13942 " (declare (in) vec3 P)\n"
13943 " (declare (in) float bias))\n"
13944 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013945 " (signature ivec4\n"
13946 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013947 " (declare (in) isamplerCube sampler)\n"
13948 " (declare (in) vec3 P)\n"
13949 " (declare (in) float bias))\n"
13950 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013951 " (signature uvec4\n"
13952 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013953 " (declare (in) usamplerCube sampler)\n"
13954 " (declare (in) vec3 P)\n"
13955 " (declare (in) float bias))\n"
13956 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013957 " (signature float\n"
13958 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013959 " (declare (in) sampler1DShadow sampler)\n"
13960 " (declare (in) vec3 P)\n"
13961 " (declare (in) float bias))\n"
13962 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013963 " (signature float\n"
13964 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013965 " (declare (in) sampler2DShadow sampler)\n"
13966 " (declare (in) vec3 P)\n"
13967 " (declare (in) float bias))\n"
13968 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013969 " (signature float\n"
13970 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013971 " (declare (in) samplerCubeShadow sampler)\n"
13972 " (declare (in) vec4 P)\n"
13973 " (declare (in) float bias))\n"
13974 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013975 " (signature vec4\n"
13976 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013977 " (declare (in) sampler1DArray sampler)\n"
13978 " (declare (in) vec2 P)\n"
13979 " (declare (in) float bias))\n"
13980 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013981 " (signature ivec4\n"
13982 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013983 " (declare (in) isampler1DArray sampler)\n"
13984 " (declare (in) vec2 P)\n"
13985 " (declare (in) float bias))\n"
13986 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013987 " (signature uvec4\n"
13988 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013989 " (declare (in) usampler1DArray sampler)\n"
13990 " (declare (in) vec2 P)\n"
13991 " (declare (in) float bias))\n"
13992 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013993 " (signature vec4\n"
13994 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013995 " (declare (in) sampler2DArray sampler)\n"
13996 " (declare (in) vec3 P)\n"
13997 " (declare (in) float bias))\n"
13998 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013999 " (signature ivec4\n"
14000 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014001 " (declare (in) isampler2DArray sampler)\n"
14002 " (declare (in) vec3 P)\n"
14003 " (declare (in) float bias))\n"
14004 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014005 " (signature uvec4\n"
14006 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014007 " (declare (in) usampler2DArray sampler)\n"
14008 " (declare (in) vec3 P)\n"
14009 " (declare (in) float bias))\n"
14010 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014011 " (signature float\n"
14012 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014013 " (declare (in) sampler1DArrayShadow sampler)\n"
14014 " (declare (in) vec3 P)\n"
14015 " (declare (in) float bias))\n"
14016 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014017 "(function textureProj\n"
14018 " (signature vec4\n"
14019 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014020 " (declare (in) sampler1D sampler)\n"
14021 " (declare (in) vec2 P))\n"
14022 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014023 " (signature ivec4\n"
14024 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014025 " (declare (in) isampler1D sampler)\n"
14026 " (declare (in) vec2 P))\n"
14027 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014028 " (signature uvec4\n"
14029 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014030 " (declare (in) usampler1D sampler)\n"
14031 " (declare (in) vec2 P))\n"
14032 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014033 " (signature vec4\n"
14034 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014035 " (declare (in) sampler1D sampler)\n"
14036 " (declare (in) vec4 P))\n"
14037 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014038 " (signature ivec4\n"
14039 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014040 " (declare (in) isampler1D sampler)\n"
14041 " (declare (in) vec4 P))\n"
14042 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014043 " (signature uvec4\n"
14044 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014045 " (declare (in) usampler1D sampler)\n"
14046 " (declare (in) vec4 P))\n"
14047 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014048 " (signature vec4\n"
14049 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014050 " (declare (in) sampler2D sampler)\n"
14051 " (declare (in) vec3 P))\n"
14052 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014053 " (signature ivec4\n"
14054 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014055 " (declare (in) isampler2D sampler)\n"
14056 " (declare (in) vec3 P))\n"
14057 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014058 " (signature uvec4\n"
14059 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014060 " (declare (in) usampler2D sampler)\n"
14061 " (declare (in) vec3 P))\n"
14062 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014063 " (signature vec4\n"
14064 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014065 " (declare (in) sampler2D sampler)\n"
14066 " (declare (in) vec4 P))\n"
14067 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014068 " (signature ivec4\n"
14069 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014070 " (declare (in) isampler2D sampler)\n"
14071 " (declare (in) vec4 P))\n"
14072 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014073 " (signature uvec4\n"
14074 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014075 " (declare (in) usampler2D sampler)\n"
14076 " (declare (in) vec4 P))\n"
14077 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014078 " (signature vec4\n"
14079 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014080 " (declare (in) sampler3D sampler)\n"
14081 " (declare (in) vec4 P))\n"
14082 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014083 " (signature ivec4\n"
14084 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014085 " (declare (in) isampler3D sampler)\n"
14086 " (declare (in) vec4 P))\n"
14087 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014088 " (signature uvec4\n"
14089 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014090 " (declare (in) usampler3D sampler)\n"
14091 " (declare (in) vec4 P))\n"
14092 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014093 " (signature float\n"
14094 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014095 " (declare (in) sampler1DShadow sampler)\n"
14096 " (declare (in) vec4 P))\n"
14097 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014098 " (signature float\n"
14099 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014100 " (declare (in) sampler2DShadow sampler)\n"
14101 " (declare (in) vec4 P))\n"
14102 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014103 " (signature vec4\n"
14104 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014105 " (declare (in) sampler1D sampler)\n"
14106 " (declare (in) vec2 P)\n"
14107 " (declare (in) float bias))\n"
14108 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014109 " (signature ivec4\n"
14110 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014111 " (declare (in) isampler1D sampler)\n"
14112 " (declare (in) vec2 P)\n"
14113 " (declare (in) float bias))\n"
14114 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014115 " (signature uvec4\n"
14116 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014117 " (declare (in) usampler1D sampler)\n"
14118 " (declare (in) vec2 P)\n"
14119 " (declare (in) float bias))\n"
14120 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014121 " (signature vec4\n"
14122 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014123 " (declare (in) sampler1D sampler)\n"
14124 " (declare (in) vec4 P)\n"
14125 " (declare (in) float bias))\n"
14126 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014127 " (signature ivec4\n"
14128 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014129 " (declare (in) isampler1D sampler)\n"
14130 " (declare (in) vec4 P)\n"
14131 " (declare (in) float bias))\n"
14132 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014133 " (signature uvec4\n"
14134 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014135 " (declare (in) usampler1D sampler)\n"
14136 " (declare (in) vec4 P)\n"
14137 " (declare (in) float bias))\n"
14138 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014139 " (signature vec4\n"
14140 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014141 " (declare (in) sampler2D sampler)\n"
14142 " (declare (in) vec3 P)\n"
14143 " (declare (in) float bias))\n"
14144 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014145 " (signature ivec4\n"
14146 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014147 " (declare (in) isampler2D sampler)\n"
14148 " (declare (in) vec3 P)\n"
14149 " (declare (in) float bias))\n"
14150 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014151 " (signature uvec4\n"
14152 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014153 " (declare (in) usampler2D sampler)\n"
14154 " (declare (in) vec3 P)\n"
14155 " (declare (in) float bias))\n"
14156 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014157 " (signature vec4\n"
14158 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014159 " (declare (in) sampler2D sampler)\n"
14160 " (declare (in) vec4 P)\n"
14161 " (declare (in) float bias))\n"
14162 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014163 " (signature ivec4\n"
14164 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014165 " (declare (in) isampler2D sampler)\n"
14166 " (declare (in) vec4 P)\n"
14167 " (declare (in) float bias))\n"
14168 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014169 " (signature uvec4\n"
14170 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014171 " (declare (in) usampler2D sampler)\n"
14172 " (declare (in) vec4 P)\n"
14173 " (declare (in) float bias))\n"
14174 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014175 " (signature vec4\n"
14176 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014177 " (declare (in) sampler3D sampler)\n"
14178 " (declare (in) vec4 P)\n"
14179 " (declare (in) float bias))\n"
14180 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014181 " (signature ivec4\n"
14182 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014183 " (declare (in) isampler3D sampler)\n"
14184 " (declare (in) vec4 P)\n"
14185 " (declare (in) float bias))\n"
14186 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014187 " (signature uvec4\n"
14188 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014189 " (declare (in) usampler3D sampler)\n"
14190 " (declare (in) vec4 P)\n"
14191 " (declare (in) float bias))\n"
14192 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014193 " (signature float\n"
14194 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014195 " (declare (in) sampler1DShadow sampler)\n"
14196 " (declare (in) vec4 P)\n"
14197 " (declare (in) float bias))\n"
14198 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014199 " (signature float\n"
14200 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014201 " (declare (in) sampler2DShadow sampler)\n"
14202 " (declare (in) vec4 P)\n"
14203 " (declare (in) float bias))\n"
14204 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014205 "(function textureLod\n"
14206 " (signature vec4\n"
14207 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014208 " (declare (in) sampler1D sampler)\n"
14209 " (declare (in) float P)\n"
14210 " (declare (in) float lod))\n"
14211 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014212 " (signature ivec4\n"
14213 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014214 " (declare (in) isampler1D sampler)\n"
14215 " (declare (in) float P)\n"
14216 " (declare (in) float lod))\n"
14217 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014218 " (signature uvec4\n"
14219 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014220 " (declare (in) usampler1D sampler)\n"
14221 " (declare (in) float P)\n"
14222 " (declare (in) float lod))\n"
14223 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014224 " (signature vec4\n"
14225 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014226 " (declare (in) sampler2D sampler)\n"
14227 " (declare (in) vec2 P)\n"
14228 " (declare (in) float lod))\n"
14229 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014230 " (signature ivec4\n"
14231 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014232 " (declare (in) isampler2D sampler)\n"
14233 " (declare (in) vec2 P)\n"
14234 " (declare (in) float lod))\n"
14235 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014236 " (signature uvec4\n"
14237 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014238 " (declare (in) usampler2D sampler)\n"
14239 " (declare (in) vec2 P)\n"
14240 " (declare (in) float lod))\n"
14241 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014242 " (signature vec4\n"
14243 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014244 " (declare (in) sampler3D sampler)\n"
14245 " (declare (in) vec3 P)\n"
14246 " (declare (in) float lod))\n"
14247 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014248 " (signature ivec4\n"
14249 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014250 " (declare (in) isampler3D sampler)\n"
14251 " (declare (in) vec3 P)\n"
14252 " (declare (in) float lod))\n"
14253 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014254 " (signature uvec4\n"
14255 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014256 " (declare (in) usampler3D sampler)\n"
14257 " (declare (in) vec3 P)\n"
14258 " (declare (in) float lod))\n"
14259 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014260 " (signature vec4\n"
14261 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014262 " (declare (in) samplerCube sampler)\n"
14263 " (declare (in) vec3 P)\n"
14264 " (declare (in) float lod))\n"
14265 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014266 " (signature ivec4\n"
14267 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014268 " (declare (in) isamplerCube sampler)\n"
14269 " (declare (in) vec3 P)\n"
14270 " (declare (in) float lod))\n"
14271 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014272 " (signature uvec4\n"
14273 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014274 " (declare (in) usamplerCube sampler)\n"
14275 " (declare (in) vec3 P)\n"
14276 " (declare (in) float lod))\n"
14277 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014278 " (signature float\n"
14279 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014280 " (declare (in) sampler1DShadow sampler)\n"
14281 " (declare (in) vec3 P)\n"
14282 " (declare (in) float lod))\n"
14283 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014284 " (signature float\n"
14285 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014286 " (declare (in) sampler2DShadow sampler)\n"
14287 " (declare (in) vec3 P)\n"
14288 " (declare (in) float lod))\n"
14289 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014290 " (signature vec4\n"
14291 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014292 " (declare (in) sampler1DArray sampler)\n"
14293 " (declare (in) vec2 P)\n"
14294 " (declare (in) float lod))\n"
14295 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014296 " (signature ivec4\n"
14297 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014298 " (declare (in) isampler1DArray sampler)\n"
14299 " (declare (in) vec2 P)\n"
14300 " (declare (in) float lod))\n"
14301 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014302 " (signature uvec4\n"
14303 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014304 " (declare (in) usampler1DArray sampler)\n"
14305 " (declare (in) vec2 P)\n"
14306 " (declare (in) float lod))\n"
14307 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014308 " (signature vec4\n"
14309 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014310 " (declare (in) sampler2DArray sampler)\n"
14311 " (declare (in) vec3 P)\n"
14312 " (declare (in) float lod))\n"
14313 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014314 " (signature ivec4\n"
14315 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014316 " (declare (in) isampler2DArray sampler)\n"
14317 " (declare (in) vec3 P)\n"
14318 " (declare (in) float lod))\n"
14319 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014320 " (signature uvec4\n"
14321 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014322 " (declare (in) usampler2DArray sampler)\n"
14323 " (declare (in) vec3 P)\n"
14324 " (declare (in) float lod))\n"
14325 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014326 " (signature float\n"
14327 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014328 " (declare (in) sampler1DArrayShadow sampler)\n"
14329 " (declare (in) vec3 P)\n"
14330 " (declare (in) float lod))\n"
14331 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014332 "(function texelFetch\n"
14333 " (signature vec4\n"
14334 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014335 " (declare (in) sampler1D sampler)\n"
14336 " (declare (in) int P)\n"
14337 " (declare (in) int lod))\n"
14338 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014339 " (signature ivec4\n"
14340 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014341 " (declare (in) isampler1D sampler)\n"
14342 " (declare (in) int P)\n"
14343 " (declare (in) int lod))\n"
14344 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014345 " (signature uvec4\n"
14346 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014347 " (declare (in) usampler1D sampler)\n"
14348 " (declare (in) int P)\n"
14349 " (declare (in) int lod))\n"
14350 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014351 " (signature vec4\n"
14352 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014353 " (declare (in) sampler2D sampler)\n"
14354 " (declare (in) ivec2 P)\n"
14355 " (declare (in) int lod))\n"
14356 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014357 " (signature ivec4\n"
14358 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014359 " (declare (in) isampler2D sampler)\n"
14360 " (declare (in) ivec2 P)\n"
14361 " (declare (in) int lod))\n"
14362 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014363 " (signature uvec4\n"
14364 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014365 " (declare (in) usampler2D sampler)\n"
14366 " (declare (in) ivec2 P)\n"
14367 " (declare (in) int lod))\n"
14368 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014369 " (signature vec4\n"
14370 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014371 " (declare (in) sampler3D sampler)\n"
14372 " (declare (in) ivec3 P)\n"
14373 " (declare (in) int lod))\n"
14374 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014375 " (signature ivec4\n"
14376 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014377 " (declare (in) isampler3D sampler)\n"
14378 " (declare (in) ivec3 P)\n"
14379 " (declare (in) int lod))\n"
14380 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014381 " (signature uvec4\n"
14382 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014383 " (declare (in) usampler3D sampler)\n"
14384 " (declare (in) ivec3 P)\n"
14385 " (declare (in) int lod))\n"
14386 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014387 " (signature vec4\n"
14388 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014389 " (declare (in) sampler1DArray sampler)\n"
14390 " (declare (in) ivec2 P)\n"
14391 " (declare (in) int lod))\n"
14392 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014393 " (signature ivec4\n"
14394 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014395 " (declare (in) isampler1DArray sampler)\n"
14396 " (declare (in) ivec2 P)\n"
14397 " (declare (in) int lod))\n"
14398 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014399 " (signature uvec4\n"
14400 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014401 " (declare (in) usampler1DArray sampler)\n"
14402 " (declare (in) ivec2 P)\n"
14403 " (declare (in) int lod))\n"
14404 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014405 " (signature vec4\n"
14406 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014407 " (declare (in) sampler2DArray sampler)\n"
14408 " (declare (in) ivec3 P)\n"
14409 " (declare (in) int lod))\n"
14410 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014411 " (signature ivec4\n"
14412 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014413 " (declare (in) isampler2DArray sampler)\n"
14414 " (declare (in) ivec3 P)\n"
14415 " (declare (in) int lod))\n"
14416 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014417 " (signature uvec4\n"
14418 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014419 " (declare (in) usampler2DArray sampler)\n"
14420 " (declare (in) ivec3 P)\n"
14421 " (declare (in) int lod))\n"
14422 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014423 "(function textureProjLod\n"
14424 " (signature vec4\n"
14425 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014426 " (declare (in) sampler1D sampler)\n"
14427 " (declare (in) vec2 P)\n"
14428 " (declare (in) float lod))\n"
14429 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014430 " (signature ivec4\n"
14431 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014432 " (declare (in) isampler1D sampler)\n"
14433 " (declare (in) vec2 P)\n"
14434 " (declare (in) float lod))\n"
14435 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014436 " (signature uvec4\n"
14437 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014438 " (declare (in) usampler1D sampler)\n"
14439 " (declare (in) vec2 P)\n"
14440 " (declare (in) float lod))\n"
14441 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014442 " (signature vec4\n"
14443 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014444 " (declare (in) sampler1D sampler)\n"
14445 " (declare (in) vec4 P)\n"
14446 " (declare (in) float lod))\n"
14447 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014448 " (signature ivec4\n"
14449 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014450 " (declare (in) isampler1D sampler)\n"
14451 " (declare (in) vec4 P)\n"
14452 " (declare (in) float lod))\n"
14453 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014454 " (signature uvec4\n"
14455 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014456 " (declare (in) usampler1D sampler)\n"
14457 " (declare (in) vec4 P)\n"
14458 " (declare (in) float lod))\n"
14459 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014460 " (signature vec4\n"
14461 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014462 " (declare (in) sampler2D sampler)\n"
14463 " (declare (in) vec3 P)\n"
14464 " (declare (in) float lod))\n"
14465 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014466 " (signature ivec4\n"
14467 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014468 " (declare (in) isampler2D sampler)\n"
14469 " (declare (in) vec3 P)\n"
14470 " (declare (in) float lod))\n"
14471 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014472 " (signature uvec4\n"
14473 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014474 " (declare (in) usampler2D sampler)\n"
14475 " (declare (in) vec3 P)\n"
14476 " (declare (in) float lod))\n"
14477 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014478 " (signature vec4\n"
14479 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014480 " (declare (in) sampler2D sampler)\n"
14481 " (declare (in) vec4 P)\n"
14482 " (declare (in) float lod))\n"
14483 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014484 " (signature ivec4\n"
14485 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014486 " (declare (in) isampler2D sampler)\n"
14487 " (declare (in) vec4 P)\n"
14488 " (declare (in) float lod))\n"
14489 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014490 " (signature uvec4\n"
14491 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014492 " (declare (in) usampler2D sampler)\n"
14493 " (declare (in) vec4 P)\n"
14494 " (declare (in) float lod))\n"
14495 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014496 " (signature vec4\n"
14497 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014498 " (declare (in) sampler3D sampler)\n"
14499 " (declare (in) vec4 P)\n"
14500 " (declare (in) float lod))\n"
14501 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014502 " (signature ivec4\n"
14503 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014504 " (declare (in) isampler3D sampler)\n"
14505 " (declare (in) vec4 P)\n"
14506 " (declare (in) float lod))\n"
14507 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014508 " (signature uvec4\n"
14509 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014510 " (declare (in) usampler3D sampler)\n"
14511 " (declare (in) vec4 P)\n"
14512 " (declare (in) float lod))\n"
14513 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014514 " (signature float\n"
14515 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014516 " (declare (in) sampler1DShadow sampler)\n"
14517 " (declare (in) vec4 P)\n"
14518 " (declare (in) float lod))\n"
14519 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014520 " (signature float\n"
14521 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014522 " (declare (in) sampler2DShadow sampler)\n"
14523 " (declare (in) vec4 P)\n"
14524 " (declare (in) float lod))\n"
14525 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014526 "(function textureGrad\n"
14527 " (signature vec4\n"
14528 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014529 " (declare (in) sampler1D sampler)\n"
14530 " (declare (in) float P)\n"
14531 " (declare (in) float dPdx)\n"
14532 " (declare (in) float dPdy))\n"
14533 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014534 " (signature ivec4\n"
14535 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014536 " (declare (in) isampler1D sampler)\n"
14537 " (declare (in) float P)\n"
14538 " (declare (in) float dPdx)\n"
14539 " (declare (in) float dPdy))\n"
14540 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014541 " (signature uvec4\n"
14542 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014543 " (declare (in) usampler1D sampler)\n"
14544 " (declare (in) float P)\n"
14545 " (declare (in) float dPdx)\n"
14546 " (declare (in) float dPdy))\n"
14547 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014548 " (signature vec4\n"
14549 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014550 " (declare (in) sampler2D sampler)\n"
14551 " (declare (in) vec2 P)\n"
14552 " (declare (in) vec2 dPdx)\n"
14553 " (declare (in) vec2 dPdy))\n"
14554 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014555 " (signature ivec4\n"
14556 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014557 " (declare (in) isampler2D sampler)\n"
14558 " (declare (in) vec2 P)\n"
14559 " (declare (in) vec2 dPdx)\n"
14560 " (declare (in) vec2 dPdy))\n"
14561 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014562 " (signature uvec4\n"
14563 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014564 " (declare (in) usampler2D sampler)\n"
14565 " (declare (in) vec2 P)\n"
14566 " (declare (in) vec2 dPdx)\n"
14567 " (declare (in) vec2 dPdy))\n"
14568 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014569 " (signature vec4\n"
14570 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014571 " (declare (in) sampler3D sampler)\n"
14572 " (declare (in) vec3 P)\n"
14573 " (declare (in) vec3 dPdx)\n"
14574 " (declare (in) vec3 dPdy))\n"
14575 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014576 " (signature ivec4\n"
14577 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014578 " (declare (in) isampler3D sampler)\n"
14579 " (declare (in) vec3 P)\n"
14580 " (declare (in) vec3 dPdx)\n"
14581 " (declare (in) vec3 dPdy))\n"
14582 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014583 " (signature uvec4\n"
14584 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014585 " (declare (in) usampler3D sampler)\n"
14586 " (declare (in) vec3 P)\n"
14587 " (declare (in) vec3 dPdx)\n"
14588 " (declare (in) vec3 dPdy))\n"
14589 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014590 " (signature vec4\n"
14591 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014592 " (declare (in) samplerCube sampler)\n"
14593 " (declare (in) vec3 P)\n"
14594 " (declare (in) vec3 dPdx)\n"
14595 " (declare (in) vec3 dPdy))\n"
14596 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014597 " (signature ivec4\n"
14598 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014599 " (declare (in) isamplerCube sampler)\n"
14600 " (declare (in) vec3 P)\n"
14601 " (declare (in) vec3 dPdx)\n"
14602 " (declare (in) vec3 dPdy))\n"
14603 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014604 " (signature uvec4\n"
14605 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014606 " (declare (in) usamplerCube sampler)\n"
14607 " (declare (in) vec3 P)\n"
14608 " (declare (in) vec3 dPdx)\n"
14609 " (declare (in) vec3 dPdy))\n"
14610 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014611 " (signature float\n"
14612 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014613 " (declare (in) sampler1DShadow sampler)\n"
14614 " (declare (in) vec3 P)\n"
14615 " (declare (in) float dPdx)\n"
14616 " (declare (in) float dPdy))\n"
14617 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014618 " (signature float\n"
14619 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014620 " (declare (in) sampler2DShadow sampler)\n"
14621 " (declare (in) vec3 P)\n"
14622 " (declare (in) vec2 dPdx)\n"
14623 " (declare (in) vec2 dPdy))\n"
14624 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014625 " (signature float\n"
14626 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014627 " (declare (in) samplerCubeShadow sampler)\n"
14628 " (declare (in) vec4 P)\n"
14629 " (declare (in) vec3 dPdx)\n"
14630 " (declare (in) vec3 dPdy))\n"
14631 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014632 " (signature vec4\n"
14633 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014634 " (declare (in) sampler1DArray sampler)\n"
14635 " (declare (in) vec2 P)\n"
14636 " (declare (in) float dPdx)\n"
14637 " (declare (in) float dPdy))\n"
14638 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014639 " (signature ivec4\n"
14640 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014641 " (declare (in) isampler1DArray sampler)\n"
14642 " (declare (in) vec2 P)\n"
14643 " (declare (in) float dPdx)\n"
14644 " (declare (in) float dPdy))\n"
14645 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014646 " (signature uvec4\n"
14647 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014648 " (declare (in) usampler1DArray sampler)\n"
14649 " (declare (in) vec2 P)\n"
14650 " (declare (in) float dPdx)\n"
14651 " (declare (in) float dPdy))\n"
14652 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014653 " (signature vec4\n"
14654 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014655 " (declare (in) sampler2DArray sampler)\n"
14656 " (declare (in) vec3 P)\n"
14657 " (declare (in) vec2 dPdx)\n"
14658 " (declare (in) vec2 dPdy))\n"
14659 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014660 " (signature ivec4\n"
14661 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014662 " (declare (in) isampler2DArray sampler)\n"
14663 " (declare (in) vec3 P)\n"
14664 " (declare (in) vec2 dPdx)\n"
14665 " (declare (in) vec2 dPdy))\n"
14666 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014667 " (signature uvec4\n"
14668 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014669 " (declare (in) usampler2DArray sampler)\n"
14670 " (declare (in) vec3 P)\n"
14671 " (declare (in) vec2 dPdx)\n"
14672 " (declare (in) vec2 dPdy))\n"
14673 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014674 " (signature float\n"
14675 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014676 " (declare (in) sampler1DArrayShadow sampler)\n"
14677 " (declare (in) vec3 P)\n"
14678 " (declare (in) float dPdx)\n"
14679 " (declare (in) float dPdy))\n"
14680 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014681 " (signature float\n"
14682 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014683 " (declare (in) sampler2DArrayShadow sampler)\n"
14684 " (declare (in) vec4 P)\n"
14685 " (declare (in) vec2 dPdx)\n"
14686 " (declare (in) vec2 dPdy))\n"
14687 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014688 "(function textureProjGrad\n"
14689 " (signature vec4\n"
14690 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014691 " (declare (in) sampler1D sampler)\n"
14692 " (declare (in) vec2 P)\n"
14693 " (declare (in) float dPdx)\n"
14694 " (declare (in) float dPdy))\n"
14695 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014696 " (signature ivec4\n"
14697 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014698 " (declare (in) isampler1D sampler)\n"
14699 " (declare (in) vec2 P)\n"
14700 " (declare (in) float dPdx)\n"
14701 " (declare (in) float dPdy))\n"
14702 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014703 " (signature uvec4\n"
14704 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014705 " (declare (in) usampler1D sampler)\n"
14706 " (declare (in) vec2 P)\n"
14707 " (declare (in) float dPdx)\n"
14708 " (declare (in) float dPdy))\n"
14709 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014710 " (signature vec4\n"
14711 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014712 " (declare (in) sampler1D sampler)\n"
14713 " (declare (in) vec4 P)\n"
14714 " (declare (in) float dPdx)\n"
14715 " (declare (in) float dPdy))\n"
14716 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014717 " (signature ivec4\n"
14718 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014719 " (declare (in) isampler1D sampler)\n"
14720 " (declare (in) vec4 P)\n"
14721 " (declare (in) float dPdx)\n"
14722 " (declare (in) float dPdy))\n"
14723 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014724 " (signature uvec4\n"
14725 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014726 " (declare (in) usampler1D sampler)\n"
14727 " (declare (in) vec4 P)\n"
14728 " (declare (in) float dPdx)\n"
14729 " (declare (in) float dPdy))\n"
14730 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014731 " (signature vec4\n"
14732 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014733 " (declare (in) sampler2D sampler)\n"
14734 " (declare (in) vec3 P)\n"
14735 " (declare (in) vec2 dPdx)\n"
14736 " (declare (in) vec2 dPdy))\n"
14737 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014738 " (signature ivec4\n"
14739 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014740 " (declare (in) isampler2D sampler)\n"
14741 " (declare (in) vec3 P)\n"
14742 " (declare (in) vec2 dPdx)\n"
14743 " (declare (in) vec2 dPdy))\n"
14744 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014745 " (signature uvec4\n"
14746 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014747 " (declare (in) usampler2D sampler)\n"
14748 " (declare (in) vec3 P)\n"
14749 " (declare (in) vec2 dPdx)\n"
14750 " (declare (in) vec2 dPdy))\n"
14751 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014752 " (signature vec4\n"
14753 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014754 " (declare (in) sampler2D sampler)\n"
14755 " (declare (in) vec4 P)\n"
14756 " (declare (in) vec2 dPdx)\n"
14757 " (declare (in) vec2 dPdy))\n"
14758 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014759 " (signature ivec4\n"
14760 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014761 " (declare (in) isampler2D sampler)\n"
14762 " (declare (in) vec4 P)\n"
14763 " (declare (in) vec2 dPdx)\n"
14764 " (declare (in) vec2 dPdy))\n"
14765 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014766 " (signature uvec4\n"
14767 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014768 " (declare (in) usampler2D sampler)\n"
14769 " (declare (in) vec4 P)\n"
14770 " (declare (in) vec2 dPdx)\n"
14771 " (declare (in) vec2 dPdy))\n"
14772 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014773 " (signature vec4\n"
14774 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014775 " (declare (in) sampler3D sampler)\n"
14776 " (declare (in) vec4 P)\n"
14777 " (declare (in) vec3 dPdx)\n"
14778 " (declare (in) vec3 dPdy))\n"
14779 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014780 " (signature ivec4\n"
14781 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014782 " (declare (in) isampler3D sampler)\n"
14783 " (declare (in) vec4 P)\n"
14784 " (declare (in) vec3 dPdx)\n"
14785 " (declare (in) vec3 dPdy))\n"
14786 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014787 " (signature uvec4\n"
14788 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014789 " (declare (in) usampler3D sampler)\n"
14790 " (declare (in) vec4 P)\n"
14791 " (declare (in) vec3 dPdx)\n"
14792 " (declare (in) vec3 dPdy))\n"
14793 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014794 " (signature float\n"
14795 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014796 " (declare (in) sampler1DShadow sampler)\n"
14797 " (declare (in) vec4 P)\n"
14798 " (declare (in) float dPdx)\n"
14799 " (declare (in) float dPdy))\n"
14800 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014801 " (signature float\n"
14802 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014803 " (declare (in) sampler2DShadow sampler)\n"
14804 " (declare (in) vec4 P)\n"
14805 " (declare (in) vec2 dPdx)\n"
14806 " (declare (in) vec2 dPdy))\n"
14807 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014808 "(function texture1D\n"
14809 " (signature vec4\n"
14810 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014811 " (declare (in) sampler1D sampler)\n"
14812 " (declare (in) float coord))\n"
14813 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014814 " (signature vec4\n"
14815 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014816 " (declare (in) sampler1D sampler)\n"
14817 " (declare (in) float coord)\n"
14818 " (declare (in) float bias))\n"
14819 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014820 "(function texture1DProj\n"
14821 " (signature vec4\n"
14822 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014823 " (declare (in) sampler1D sampler)\n"
14824 " (declare (in) vec2 coord))\n"
14825 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014826 " (signature vec4\n"
14827 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014828 " (declare (in) sampler1D sampler)\n"
14829 " (declare (in) vec4 coord))\n"
14830 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014831 " (signature vec4\n"
14832 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014833 " (declare (in) sampler1D sampler)\n"
14834 " (declare (in) vec2 coord)\n"
14835 " (declare (in) float bias))\n"
14836 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014837 " (signature vec4\n"
14838 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014839 " (declare (in) sampler1D sampler)\n"
14840 " (declare (in) vec4 coord)\n"
14841 " (declare (in) float bias))\n"
14842 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014843 "(function texture1DLod\n"
14844 " (signature vec4\n"
14845 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014846 " (declare (in) sampler1D sampler)\n"
14847 " (declare (in) float coord)\n"
14848 " (declare (in) float lod))\n"
14849 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014850 "(function texture1DProjLod\n"
14851 " (signature vec4\n"
14852 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014853 " (declare (in) sampler1D sampler)\n"
14854 " (declare (in) vec2 coord)\n"
14855 " (declare (in) float lod))\n"
14856 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014857 " (signature vec4\n"
14858 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014859 " (declare (in) sampler1D sampler)\n"
14860 " (declare (in) vec4 coord)\n"
14861 " (declare (in) float lod))\n"
14862 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014863 "(function texture2D\n"
14864 " (signature vec4\n"
14865 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014866 " (declare (in) sampler2D sampler)\n"
14867 " (declare (in) vec2 coord))\n"
14868 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014869 " (signature vec4\n"
14870 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014871 " (declare (in) sampler2D sampler)\n"
14872 " (declare (in) vec2 coord)\n"
14873 " (declare (in) float bias))\n"
14874 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014875 "(function texture2DProj\n"
14876 " (signature vec4\n"
14877 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014878 " (declare (in) sampler2D sampler)\n"
14879 " (declare (in) vec3 coord))\n"
14880 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014881 " (signature vec4\n"
14882 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014883 " (declare (in) sampler2D sampler)\n"
14884 " (declare (in) vec4 coord))\n"
14885 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014886 " (signature vec4\n"
14887 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014888 " (declare (in) sampler2D sampler)\n"
14889 " (declare (in) vec3 coord)\n"
14890 " (declare (in) float bias))\n"
14891 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014892 " (signature vec4\n"
14893 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014894 " (declare (in) sampler2D sampler)\n"
14895 " (declare (in) vec4 coord)\n"
14896 " (declare (in) float bias))\n"
14897 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014898 "(function texture2DLod\n"
14899 " (signature vec4\n"
14900 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014901 " (declare (in) sampler2D sampler)\n"
14902 " (declare (in) vec2 coord)\n"
14903 " (declare (in) float lod))\n"
14904 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014905 "(function texture2DProjLod\n"
14906 " (signature vec4\n"
14907 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014908 " (declare (in) sampler2D sampler)\n"
14909 " (declare (in) vec3 coord)\n"
14910 " (declare (in) float lod))\n"
14911 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014912 " (signature vec4\n"
14913 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014914 " (declare (in) sampler2D sampler)\n"
14915 " (declare (in) vec4 coord)\n"
14916 " (declare (in) float lod))\n"
14917 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014918 "(function texture3D\n"
14919 " (signature vec4\n"
14920 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014921 " (declare (in) sampler3D sampler)\n"
14922 " (declare (in) vec3 coord))\n"
14923 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014924 " (signature vec4\n"
14925 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014926 " (declare (in) sampler3D sampler)\n"
14927 " (declare (in) vec3 coord)\n"
14928 " (declare (in) float bias))\n"
14929 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014930 "(function texture3DProj\n"
14931 " (signature vec4\n"
14932 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014933 " (declare (in) sampler3D sampler)\n"
14934 " (declare (in) vec4 coord))\n"
14935 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014936 " (signature vec4\n"
14937 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014938 " (declare (in) sampler3D sampler)\n"
14939 " (declare (in) vec4 coord)\n"
14940 " (declare (in) float bias))\n"
14941 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014942 "(function texture3DLod\n"
14943 " (signature vec4\n"
14944 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014945 " (declare (in) sampler3D sampler)\n"
14946 " (declare (in) vec3 coord)\n"
14947 " (declare (in) float lod))\n"
14948 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014949 "(function texture3DProjLod\n"
14950 " (signature vec4\n"
14951 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014952 " (declare (in) sampler3D sampler)\n"
14953 " (declare (in) vec4 coord)\n"
14954 " (declare (in) float lod))\n"
14955 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014956 "(function textureCube\n"
14957 " (signature vec4\n"
14958 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014959 " (declare (in) samplerCube sampler)\n"
14960 " (declare (in) vec3 coord))\n"
14961 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014962 " (signature vec4\n"
14963 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014964 " (declare (in) samplerCube sampler)\n"
14965 " (declare (in) vec3 coord)\n"
14966 " (declare (in) float bias))\n"
14967 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014968 "(function textureCubeLod\n"
14969 " (signature vec4\n"
14970 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014971 " (declare (in) samplerCube sampler)\n"
14972 " (declare (in) vec3 coord)\n"
14973 " (declare (in) float lod))\n"
14974 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014975 "(function shadow1D\n"
14976 " (signature vec4\n"
14977 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014978 " (declare (in) sampler1DShadow sampler)\n"
14979 " (declare (in) vec3 coord))\n"
14980 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014981 " (signature vec4\n"
14982 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014983 " (declare (in) sampler1DShadow sampler)\n"
14984 " (declare (in) vec3 coord)\n"
14985 " (declare (in) float bias))\n"
14986 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014987 "(function shadow2D\n"
14988 " (signature vec4\n"
14989 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014990 " (declare (in) sampler2DShadow sampler)\n"
14991 " (declare (in) vec3 coord))\n"
14992 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014993 " (signature vec4\n"
14994 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070014995 " (declare (in) sampler2DShadow sampler)\n"
14996 " (declare (in) vec3 coord)\n"
14997 " (declare (in) float bias))\n"
14998 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070014999 "(function shadow1DProj\n"
15000 " (signature vec4\n"
15001 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015002 " (declare (in) sampler1DShadow sampler)\n"
15003 " (declare (in) vec4 coord))\n"
15004 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015005 " (signature vec4\n"
15006 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015007 " (declare (in) sampler1DShadow sampler)\n"
15008 " (declare (in) vec4 coord)\n"
15009 " (declare (in) float bias))\n"
15010 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015011 "(function shadow2DProj\n"
15012 " (signature vec4\n"
15013 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015014 " (declare (in) sampler2DShadow sampler)\n"
15015 " (declare (in) vec4 coord))\n"
15016 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015017 " (signature vec4\n"
15018 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015019 " (declare (in) sampler2DShadow sampler)\n"
15020 " (declare (in) vec4 coord)\n"
15021 " (declare (in) float bias))\n"
15022 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015023 "(function shadow1DLod\n"
15024 " (signature vec4\n"
15025 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015026 " (declare (in) sampler1DShadow sampler)\n"
15027 " (declare (in) vec3 coord)\n"
15028 " (declare (in) float lod))\n"
15029 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015030 "(function shadow2DLod\n"
15031 " (signature vec4\n"
15032 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015033 " (declare (in) sampler2DShadow sampler)\n"
15034 " (declare (in) vec3 coord)\n"
15035 " (declare (in) float lod))\n"
15036 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015037 "(function shadow1DProjLod\n"
15038 " (signature vec4\n"
15039 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015040 " (declare (in) sampler1DShadow sampler)\n"
15041 " (declare (in) vec4 coord)\n"
15042 " (declare (in) float lod))\n"
15043 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015044 "(function shadow2DProjLod\n"
15045 " (signature vec4\n"
15046 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015047 " (declare (in) sampler2DShadow sampler)\n"
15048 " (declare (in) vec4 coord)\n"
15049 " (declare (in) float lod))\n"
15050 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015051 "(function noise1\n"
15052 " (signature float\n"
15053 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015054 " (declare (in) float x))\n"
15055 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015056 " (signature float\n"
15057 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015058 " (declare (in) vec2 x))\n"
15059 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015060 " (signature float\n"
15061 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015062 " (declare (in) vec3 x))\n"
15063 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015064 " (signature float\n"
15065 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015066 " (declare (in) vec4 x))\n"
15067 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015068 "(function noise2\n"
15069 " (signature vec2\n"
15070 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015071 " (declare (in) float x))\n"
15072 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015073 " (signature vec2\n"
15074 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015075 " (declare (in) vec2 x))\n"
15076 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015077 " (signature vec2\n"
15078 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015079 " (declare (in) vec3 x))\n"
15080 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015081 " (signature vec2\n"
15082 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015083 " (declare (in) vec4 x))\n"
15084 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015085 "(function noise3\n"
15086 " (signature vec3\n"
15087 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015088 " (declare (in) float x))\n"
15089 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015090 " (signature vec3\n"
15091 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015092 " (declare (in) vec2 x))\n"
15093 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015094 " (signature vec3\n"
15095 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015096 " (declare (in) vec3 x))\n"
15097 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015098 " (signature vec3\n"
15099 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015100 " (declare (in) vec4 x))\n"
15101 " ()))\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015102 "(function noise4\n"
15103 " (signature vec4\n"
15104 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015105 " (declare (in) float x))\n"
15106 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015107 " (signature vec4\n"
15108 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015109 " (declare (in) vec2 x))\n"
15110 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015111 " (signature vec4\n"
15112 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015113 " (declare (in) vec3 x))\n"
15114 " ())\n"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015115 " (signature vec4\n"
15116 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015117 " (declare (in) vec4 x))\n"
15118 " ())))"
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015119;
15120static const char *functions_for_130_vert [] = {
15121 builtin_clamp,
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015122 builtin_shadow2DLod,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015123 builtin_matrixCompMult,
15124 builtin_textureProj,
15125 builtin_noise2,
15126 builtin_texture3DProjLod,
15127 builtin_pow,
15128 builtin_texture2DProj,
15129 builtin_greaterThanEqual,
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015130 builtin_cosh,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015131 builtin_texture3DProj,
15132 builtin_textureProjLod,
15133 builtin_texture,
15134 builtin_texture2D,
15135 builtin_equal,
15136 builtin_faceforward,
15137 builtin_tan,
15138 builtin_shadow2DProj,
15139 builtin_shadow1DProjLod,
15140 builtin_any,
15141 builtin_shadow1DProj,
15142 builtin_normalize,
15143 builtin_asin,
15144 builtin_texture1DProj,
15145 builtin_log,
15146 builtin_floor,
15147 builtin_exp2,
15148 builtin_lessThan,
15149 builtin_cross,
15150 builtin_sqrt,
15151 builtin_texture3DLod,
15152 builtin_textureLod,
15153 builtin_fract,
15154 builtin_abs,
15155 builtin_degrees,
15156 builtin_shadow1DLod,
15157 builtin_ftransform,
15158 builtin_sin,
15159 builtin_shadow2D,
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015160 builtin_noise3,
15161 builtin_texture2DProjLod,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015162 builtin_all,
15163 builtin_log2,
15164 builtin_textureGrad,
15165 builtin_atan,
15166 builtin_notEqual,
15167 builtin_max,
15168 builtin_lessThanEqual,
15169 builtin_transpose,
15170 builtin_outerProduct,
15171 builtin_ceil,
15172 builtin_reflect,
15173 builtin_textureCubeLod,
15174 builtin_step,
15175 builtin_texture1D,
15176 builtin_greaterThan,
15177 builtin_texture3D,
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015178 builtin_sinh,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015179 builtin_shadow2DProjLod,
15180 builtin_not,
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015181 builtin_sign,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015182 builtin_inversesqrt,
15183 builtin_mod,
15184 builtin_noise4,
15185 builtin_distance,
15186 builtin_cos,
15187 builtin_shadow1D,
15188 builtin_noise1,
15189 builtin_refract,
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015190 builtin_tanh,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070015191 builtin_texelFetch,
15192 builtin_min,
15193 builtin_radians,
15194 builtin_smoothstep,
15195 builtin_textureProjGrad,
15196 builtin_texture1DProjLod,
15197 builtin_textureCube,
15198 builtin_length,
15199 builtin_texture1DLod,
15200 builtin_texture2DLod,
15201 builtin_exp,
15202 builtin_acos,
15203 builtin_mix,
15204 builtin_dot,
15205};
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015206static const char *prototypes_for_ARB_texture_rectangle_frag =
15207 "(\n"
15208 "(function texture2DRect\n"
15209 " (signature vec4\n"
15210 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015211 " (declare (in) sampler2DRect sampler)\n"
15212 " (declare (in) vec2 coord))\n"
15213 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015214 "(function texture2DRectProj\n"
15215 " (signature vec4\n"
15216 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015217 " (declare (in) sampler2DRect sampler)\n"
15218 " (declare (in) vec3 coord))\n"
15219 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015220 " (signature vec4\n"
15221 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015222 " (declare (in) sampler2DRect sampler)\n"
15223 " (declare (in) vec4 coord))\n"
15224 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015225 "(function shadow2DRect\n"
15226 " (signature vec4\n"
15227 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015228 " (declare (in) sampler2DRectShadow sampler)\n"
15229 " (declare (in) vec3 coord))\n"
15230 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015231 "(function shadow2DRectProj\n"
15232 " (signature vec4\n"
15233 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015234 " (declare (in) sampler2DRectShadow sampler)\n"
15235 " (declare (in) vec4 coord))\n"
15236 " ())))"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015237;
15238static const char *functions_for_ARB_texture_rectangle_frag [] = {
15239 builtin_texture2DRect,
15240 builtin_shadow2DRectProj,
15241 builtin_shadow2DRect,
15242 builtin_texture2DRectProj,
15243};
15244static const char *prototypes_for_120_frag =
15245 "(\n"
15246 "(function radians\n"
15247 " (signature float\n"
15248 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015249 " (declare (in) float degrees))\n"
15250 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015251 " (signature vec2\n"
15252 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015253 " (declare (in) vec2 degrees))\n"
15254 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015255 " (signature vec3\n"
15256 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015257 " (declare (in) vec3 degrees))\n"
15258 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015259 " (signature vec4\n"
15260 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015261 " (declare (in) vec4 degrees))\n"
15262 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015263 "(function degrees\n"
15264 " (signature float\n"
15265 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015266 " (declare (in) float radians))\n"
15267 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015268 " (signature vec2\n"
15269 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015270 " (declare (in) vec2 radians))\n"
15271 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015272 " (signature vec3\n"
15273 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015274 " (declare (in) vec3 radians))\n"
15275 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015276 " (signature vec4\n"
15277 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015278 " (declare (in) vec4 radians))\n"
15279 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015280 "(function sin\n"
15281 " (signature float\n"
15282 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015283 " (declare (in) float angle))\n"
15284 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015285 " (signature vec2\n"
15286 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015287 " (declare (in) vec2 angle))\n"
15288 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015289 " (signature vec3\n"
15290 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015291 " (declare (in) vec3 angle))\n"
15292 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015293 " (signature vec4\n"
15294 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015295 " (declare (in) vec4 angle))\n"
15296 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015297 "(function cos\n"
15298 " (signature float\n"
15299 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015300 " (declare (in) float angle))\n"
15301 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015302 " (signature vec2\n"
15303 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015304 " (declare (in) vec2 angle))\n"
15305 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015306 " (signature vec3\n"
15307 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015308 " (declare (in) vec3 angle))\n"
15309 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015310 " (signature vec4\n"
15311 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015312 " (declare (in) vec4 angle))\n"
15313 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015314 "(function tan\n"
15315 " (signature float\n"
15316 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015317 " (declare (in) float angle))\n"
15318 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015319 " (signature vec2\n"
15320 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015321 " (declare (in) vec2 angle))\n"
15322 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015323 " (signature vec3\n"
15324 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015325 " (declare (in) vec3 angle))\n"
15326 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015327 " (signature vec4\n"
15328 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015329 " (declare (in) vec4 angle))\n"
15330 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015331 "(function asin\n"
15332 " (signature float\n"
15333 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015334 " (declare (in) float angle))\n"
15335 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015336 " (signature vec2\n"
15337 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015338 " (declare (in) vec2 angle))\n"
15339 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015340 " (signature vec3\n"
15341 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015342 " (declare (in) vec3 angle))\n"
15343 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015344 " (signature vec4\n"
15345 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015346 " (declare (in) vec4 angle))\n"
15347 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015348 "(function acos\n"
15349 " (signature float\n"
15350 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015351 " (declare (in) float angle))\n"
15352 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015353 " (signature vec2\n"
15354 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015355 " (declare (in) vec2 angle))\n"
15356 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015357 " (signature vec3\n"
15358 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015359 " (declare (in) vec3 angle))\n"
15360 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015361 " (signature vec4\n"
15362 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015363 " (declare (in) vec4 angle))\n"
15364 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015365 "(function atan\n"
15366 " (signature float\n"
15367 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015368 " (declare (in) float y)\n"
15369 " (declare (in) float x))\n"
15370 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015371 " (signature vec2\n"
15372 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015373 " (declare (in) vec2 y)\n"
15374 " (declare (in) vec2 x))\n"
15375 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015376 " (signature vec3\n"
15377 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015378 " (declare (in) vec3 y)\n"
15379 " (declare (in) vec3 x))\n"
15380 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015381 " (signature vec4\n"
15382 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015383 " (declare (in) vec4 y)\n"
15384 " (declare (in) vec4 x))\n"
15385 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015386 " (signature float\n"
15387 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015388 " (declare (in) float y_over_x))\n"
15389 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015390 " (signature vec2\n"
15391 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015392 " (declare (in) vec2 y_over_x))\n"
15393 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015394 " (signature vec3\n"
15395 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015396 " (declare (in) vec3 y_over_x))\n"
15397 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015398 " (signature vec4\n"
15399 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015400 " (declare (in) vec4 y_over_x))\n"
15401 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015402 "(function pow\n"
15403 " (signature float\n"
15404 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015405 " (declare (in) float x)\n"
15406 " (declare (in) float y))\n"
15407 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015408 " (signature vec2\n"
15409 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015410 " (declare (in) vec2 x)\n"
15411 " (declare (in) vec2 y))\n"
15412 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015413 " (signature vec3\n"
15414 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015415 " (declare (in) vec3 x)\n"
15416 " (declare (in) vec3 y))\n"
15417 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015418 " (signature vec4\n"
15419 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015420 " (declare (in) vec4 x)\n"
15421 " (declare (in) vec4 y))\n"
15422 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015423 "(function exp\n"
15424 " (signature float\n"
15425 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015426 " (declare (in) float x))\n"
15427 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015428 " (signature vec2\n"
15429 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015430 " (declare (in) vec2 x))\n"
15431 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015432 " (signature vec3\n"
15433 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015434 " (declare (in) vec3 x))\n"
15435 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015436 " (signature vec4\n"
15437 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015438 " (declare (in) vec4 x))\n"
15439 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015440 "(function log\n"
15441 " (signature float\n"
15442 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015443 " (declare (in) float x))\n"
15444 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015445 " (signature vec2\n"
15446 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015447 " (declare (in) vec2 x))\n"
15448 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015449 " (signature vec3\n"
15450 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015451 " (declare (in) vec3 x))\n"
15452 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015453 " (signature vec4\n"
15454 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015455 " (declare (in) vec4 x))\n"
15456 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015457 "(function exp2\n"
15458 " (signature float\n"
15459 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015460 " (declare (in) float x))\n"
15461 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015462 " (signature vec2\n"
15463 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015464 " (declare (in) vec2 x))\n"
15465 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015466 " (signature vec3\n"
15467 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015468 " (declare (in) vec3 x))\n"
15469 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015470 " (signature vec4\n"
15471 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015472 " (declare (in) vec4 x))\n"
15473 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015474 "(function log2\n"
15475 " (signature float\n"
15476 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015477 " (declare (in) float x))\n"
15478 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015479 " (signature vec2\n"
15480 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015481 " (declare (in) vec2 x))\n"
15482 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015483 " (signature vec3\n"
15484 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015485 " (declare (in) vec3 x))\n"
15486 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015487 " (signature vec4\n"
15488 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015489 " (declare (in) vec4 x))\n"
15490 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015491 "(function sqrt\n"
15492 " (signature float\n"
15493 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015494 " (declare (in) float x))\n"
15495 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015496 " (signature vec2\n"
15497 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015498 " (declare (in) vec2 x))\n"
15499 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015500 " (signature vec3\n"
15501 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015502 " (declare (in) vec3 x))\n"
15503 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015504 " (signature vec4\n"
15505 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015506 " (declare (in) vec4 x))\n"
15507 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015508 "(function inversesqrt\n"
15509 " (signature float\n"
15510 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015511 " (declare (in) float x))\n"
15512 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015513 " (signature vec2\n"
15514 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015515 " (declare (in) vec2 x))\n"
15516 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015517 " (signature vec3\n"
15518 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015519 " (declare (in) vec3 x))\n"
15520 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015521 " (signature vec4\n"
15522 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015523 " (declare (in) vec4 x))\n"
15524 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015525 "(function abs\n"
15526 " (signature float\n"
15527 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015528 " (declare (in) float x))\n"
15529 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015530 " (signature vec2\n"
15531 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015532 " (declare (in) vec2 x))\n"
15533 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015534 " (signature vec3\n"
15535 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015536 " (declare (in) vec3 x))\n"
15537 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015538 " (signature vec4\n"
15539 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015540 " (declare (in) vec4 x))\n"
15541 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015542 "(function sign\n"
15543 " (signature float\n"
15544 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015545 " (declare (in) float x))\n"
15546 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015547 " (signature vec2\n"
15548 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015549 " (declare (in) vec2 x))\n"
15550 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015551 " (signature vec3\n"
15552 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015553 " (declare (in) vec3 x))\n"
15554 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015555 " (signature vec4\n"
15556 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015557 " (declare (in) vec4 x))\n"
15558 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015559 "(function floor\n"
15560 " (signature float\n"
15561 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015562 " (declare (in) float x))\n"
15563 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015564 " (signature vec2\n"
15565 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015566 " (declare (in) vec2 x))\n"
15567 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015568 " (signature vec3\n"
15569 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015570 " (declare (in) vec3 x))\n"
15571 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015572 " (signature vec4\n"
15573 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015574 " (declare (in) vec4 x))\n"
15575 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015576 "(function ceil\n"
15577 " (signature float\n"
15578 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015579 " (declare (in) float x))\n"
15580 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015581 " (signature vec2\n"
15582 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015583 " (declare (in) vec2 x))\n"
15584 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015585 " (signature vec3\n"
15586 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015587 " (declare (in) vec3 x))\n"
15588 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015589 " (signature vec4\n"
15590 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015591 " (declare (in) vec4 x))\n"
15592 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015593 "(function fract\n"
15594 " (signature float\n"
15595 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015596 " (declare (in) float x))\n"
15597 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015598 " (signature vec2\n"
15599 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015600 " (declare (in) vec2 x))\n"
15601 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015602 " (signature vec3\n"
15603 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015604 " (declare (in) vec3 x))\n"
15605 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015606 " (signature vec4\n"
15607 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015608 " (declare (in) vec4 x))\n"
15609 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015610 "(function mod\n"
15611 " (signature float\n"
15612 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015613 " (declare (in) float x)\n"
15614 " (declare (in) float y))\n"
15615 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015616 " (signature vec2\n"
15617 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015618 " (declare (in) vec2 x)\n"
15619 " (declare (in) float y))\n"
15620 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015621 " (signature vec3\n"
15622 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015623 " (declare (in) vec3 x)\n"
15624 " (declare (in) float y))\n"
15625 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015626 " (signature vec4\n"
15627 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015628 " (declare (in) vec4 x)\n"
15629 " (declare (in) float y))\n"
15630 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015631 " (signature vec2\n"
15632 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015633 " (declare (in) vec2 x)\n"
15634 " (declare (in) vec2 y))\n"
15635 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015636 " (signature vec3\n"
15637 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015638 " (declare (in) vec3 x)\n"
15639 " (declare (in) vec3 y))\n"
15640 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015641 " (signature vec4\n"
15642 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015643 " (declare (in) vec4 x)\n"
15644 " (declare (in) vec4 y))\n"
15645 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015646 "(function min\n"
15647 " (signature float\n"
15648 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015649 " (declare (in) float x)\n"
15650 " (declare (in) float y))\n"
15651 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015652 " (signature vec2\n"
15653 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015654 " (declare (in) vec2 x)\n"
15655 " (declare (in) vec2 y))\n"
15656 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015657 " (signature vec3\n"
15658 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015659 " (declare (in) vec3 x)\n"
15660 " (declare (in) vec3 y))\n"
15661 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015662 " (signature vec4\n"
15663 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015664 " (declare (in) vec4 x)\n"
15665 " (declare (in) vec4 y))\n"
15666 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015667 " (signature vec2\n"
15668 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015669 " (declare (in) vec2 x)\n"
15670 " (declare (in) float y))\n"
15671 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015672 " (signature vec3\n"
15673 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015674 " (declare (in) vec3 x)\n"
15675 " (declare (in) float y))\n"
15676 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015677 " (signature vec4\n"
15678 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015679 " (declare (in) vec4 x)\n"
15680 " (declare (in) float y))\n"
15681 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015682 "(function max\n"
15683 " (signature float\n"
15684 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015685 " (declare (in) float x)\n"
15686 " (declare (in) float y))\n"
15687 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015688 " (signature vec2\n"
15689 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015690 " (declare (in) vec2 x)\n"
15691 " (declare (in) vec2 y))\n"
15692 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015693 " (signature vec3\n"
15694 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015695 " (declare (in) vec3 x)\n"
15696 " (declare (in) vec3 y))\n"
15697 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015698 " (signature vec4\n"
15699 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015700 " (declare (in) vec4 x)\n"
15701 " (declare (in) vec4 y))\n"
15702 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015703 " (signature vec2\n"
15704 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015705 " (declare (in) vec2 x)\n"
15706 " (declare (in) float y))\n"
15707 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015708 " (signature vec3\n"
15709 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015710 " (declare (in) vec3 x)\n"
15711 " (declare (in) float y))\n"
15712 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015713 " (signature vec4\n"
15714 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015715 " (declare (in) vec4 x)\n"
15716 " (declare (in) float y))\n"
15717 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015718 "(function clamp\n"
15719 " (signature float\n"
15720 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015721 " (declare (in) float x)\n"
15722 " (declare (in) float minVal)\n"
15723 " (declare (in) float maxVal))\n"
15724 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015725 " (signature vec2\n"
15726 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015727 " (declare (in) vec2 x)\n"
15728 " (declare (in) vec2 minVal)\n"
15729 " (declare (in) vec2 maxVal))\n"
15730 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015731 " (signature vec3\n"
15732 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015733 " (declare (in) vec3 x)\n"
15734 " (declare (in) vec3 minVal)\n"
15735 " (declare (in) vec3 maxVal))\n"
15736 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015737 " (signature vec4\n"
15738 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015739 " (declare (in) vec4 x)\n"
15740 " (declare (in) vec4 minVal)\n"
15741 " (declare (in) vec4 maxVal))\n"
15742 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015743 " (signature vec2\n"
15744 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015745 " (declare (in) vec2 x)\n"
15746 " (declare (in) float minVal)\n"
15747 " (declare (in) float maxVal))\n"
15748 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015749 " (signature vec3\n"
15750 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015751 " (declare (in) vec3 x)\n"
15752 " (declare (in) float minVal)\n"
15753 " (declare (in) float maxVal))\n"
15754 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015755 " (signature vec4\n"
15756 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015757 " (declare (in) vec4 x)\n"
15758 " (declare (in) float minVal)\n"
15759 " (declare (in) float maxVal))\n"
15760 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015761 "(function mix\n"
15762 " (signature float\n"
15763 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015764 " (declare (in) float x)\n"
15765 " (declare (in) float y)\n"
15766 " (declare (in) float a))\n"
15767 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015768 " (signature vec2\n"
15769 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015770 " (declare (in) vec2 x)\n"
15771 " (declare (in) vec2 y)\n"
15772 " (declare (in) vec2 a))\n"
15773 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015774 " (signature vec3\n"
15775 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015776 " (declare (in) vec3 x)\n"
15777 " (declare (in) vec3 y)\n"
15778 " (declare (in) vec3 a))\n"
15779 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015780 " (signature vec4\n"
15781 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015782 " (declare (in) vec4 x)\n"
15783 " (declare (in) vec4 y)\n"
15784 " (declare (in) vec4 a))\n"
15785 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015786 " (signature vec2\n"
15787 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015788 " (declare (in) vec2 x)\n"
15789 " (declare (in) vec2 y)\n"
15790 " (declare (in) float a))\n"
15791 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015792 " (signature vec3\n"
15793 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015794 " (declare (in) vec3 x)\n"
15795 " (declare (in) vec3 y)\n"
15796 " (declare (in) float a))\n"
15797 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015798 " (signature vec4\n"
15799 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015800 " (declare (in) vec4 x)\n"
15801 " (declare (in) vec4 y)\n"
15802 " (declare (in) float a))\n"
15803 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015804 "(function step\n"
15805 " (signature float\n"
15806 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015807 " (declare (in) float edge)\n"
15808 " (declare (in) float x))\n"
15809 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015810 " (signature vec2\n"
15811 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015812 " (declare (in) vec2 edge)\n"
15813 " (declare (in) vec2 x))\n"
15814 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015815 " (signature vec3\n"
15816 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015817 " (declare (in) vec3 edge)\n"
15818 " (declare (in) vec3 x))\n"
15819 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015820 " (signature vec4\n"
15821 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015822 " (declare (in) vec4 edge)\n"
15823 " (declare (in) vec4 x))\n"
15824 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015825 " (signature vec2\n"
15826 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015827 " (declare (in) float edge)\n"
15828 " (declare (in) vec2 x))\n"
15829 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015830 " (signature vec3\n"
15831 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015832 " (declare (in) float edge)\n"
15833 " (declare (in) vec3 x))\n"
15834 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015835 " (signature vec4\n"
15836 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015837 " (declare (in) float edge)\n"
15838 " (declare (in) vec4 x))\n"
15839 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015840 "(function smoothstep\n"
15841 " (signature float\n"
15842 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015843 " (declare (in) float edge0)\n"
15844 " (declare (in) float edge1)\n"
15845 " (declare (in) float x))\n"
15846 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015847 " (signature vec2\n"
15848 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015849 " (declare (in) vec2 edge0)\n"
15850 " (declare (in) vec2 edge1)\n"
15851 " (declare (in) vec2 x))\n"
15852 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015853 " (signature vec3\n"
15854 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015855 " (declare (in) vec3 edge0)\n"
15856 " (declare (in) vec3 edge1)\n"
15857 " (declare (in) vec3 x))\n"
15858 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015859 " (signature vec4\n"
15860 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015861 " (declare (in) vec4 edge0)\n"
15862 " (declare (in) vec4 edge1)\n"
15863 " (declare (in) vec4 x))\n"
15864 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015865 " (signature vec2\n"
15866 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015867 " (declare (in) float edge0)\n"
15868 " (declare (in) float edge1)\n"
15869 " (declare (in) vec2 x))\n"
15870 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015871 " (signature vec3\n"
15872 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015873 " (declare (in) float edge0)\n"
15874 " (declare (in) float edge1)\n"
15875 " (declare (in) vec3 x))\n"
15876 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015877 " (signature vec4\n"
15878 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015879 " (declare (in) float edge0)\n"
15880 " (declare (in) float edge1)\n"
15881 " (declare (in) vec4 x))\n"
15882 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015883 "(function length\n"
15884 " (signature float\n"
15885 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015886 " (declare (in) float x))\n"
15887 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015888 " (signature float\n"
15889 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015890 " (declare (in) vec2 x))\n"
15891 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015892 " (signature float\n"
15893 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015894 " (declare (in) vec3 x))\n"
15895 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015896 " (signature float\n"
15897 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015898 " (declare (in) vec4 x))\n"
15899 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015900 "(function distance\n"
15901 " (signature float\n"
15902 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015903 " (declare (in) float p0)\n"
15904 " (declare (in) float p1))\n"
15905 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015906 " (signature float\n"
15907 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015908 " (declare (in) vec2 p0)\n"
15909 " (declare (in) vec2 p1))\n"
15910 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015911 " (signature float\n"
15912 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015913 " (declare (in) vec3 p0)\n"
15914 " (declare (in) vec3 p1))\n"
15915 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015916 " (signature float\n"
15917 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015918 " (declare (in) vec4 p0)\n"
15919 " (declare (in) vec4 p1))\n"
15920 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015921 "(function dot\n"
15922 " (signature float\n"
15923 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015924 " (declare (in) float x)\n"
15925 " (declare (in) float y))\n"
15926 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015927 " (signature float\n"
15928 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015929 " (declare (in) vec2 x)\n"
15930 " (declare (in) vec2 y))\n"
15931 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015932 " (signature float\n"
15933 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015934 " (declare (in) vec3 x)\n"
15935 " (declare (in) vec3 y))\n"
15936 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015937 " (signature float\n"
15938 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015939 " (declare (in) vec4 x)\n"
15940 " (declare (in) vec4 y))\n"
15941 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015942 "(function cross\n"
15943 " (signature vec3\n"
15944 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015945 " (declare (in) vec3 x)\n"
15946 " (declare (in) vec3 y))\n"
15947 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015948 "(function normalize\n"
15949 " (signature float\n"
15950 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015951 " (declare (in) float x))\n"
15952 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015953 " (signature vec2\n"
15954 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015955 " (declare (in) vec2 x))\n"
15956 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015957 " (signature vec3\n"
15958 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015959 " (declare (in) vec3 x))\n"
15960 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015961 " (signature vec4\n"
15962 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015963 " (declare (in) vec4 x))\n"
15964 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015965 "(function faceforward\n"
15966 " (signature float\n"
15967 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015968 " (declare (in) float N)\n"
15969 " (declare (in) float I)\n"
15970 " (declare (in) float Nref))\n"
15971 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015972 " (signature vec2\n"
15973 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015974 " (declare (in) vec2 N)\n"
15975 " (declare (in) vec2 I)\n"
15976 " (declare (in) vec2 Nref))\n"
15977 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015978 " (signature vec3\n"
15979 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015980 " (declare (in) vec3 N)\n"
15981 " (declare (in) vec3 I)\n"
15982 " (declare (in) vec3 Nref))\n"
15983 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015984 " (signature vec4\n"
15985 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015986 " (declare (in) vec4 N)\n"
15987 " (declare (in) vec4 I)\n"
15988 " (declare (in) vec4 Nref))\n"
15989 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015990 "(function reflect\n"
15991 " (signature float\n"
15992 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015993 " (declare (in) float I)\n"
15994 " (declare (in) float N))\n"
15995 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070015996 " (signature vec2\n"
15997 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070015998 " (declare (in) vec2 I)\n"
15999 " (declare (in) vec2 N))\n"
16000 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016001 " (signature vec3\n"
16002 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016003 " (declare (in) vec3 I)\n"
16004 " (declare (in) vec3 N))\n"
16005 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016006 " (signature vec4\n"
16007 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016008 " (declare (in) vec4 I)\n"
16009 " (declare (in) vec4 N))\n"
16010 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016011 "(function refract\n"
16012 " (signature float\n"
16013 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016014 " (declare (in) float I)\n"
16015 " (declare (in) float N)\n"
16016 " (declare (in) float eta))\n"
16017 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016018 " (signature vec2\n"
16019 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016020 " (declare (in) vec2 I)\n"
16021 " (declare (in) vec2 N)\n"
16022 " (declare (in) float eta))\n"
16023 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016024 " (signature vec3\n"
16025 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016026 " (declare (in) vec3 I)\n"
16027 " (declare (in) vec3 N)\n"
16028 " (declare (in) float eta))\n"
16029 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016030 " (signature vec4\n"
16031 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016032 " (declare (in) vec4 I)\n"
16033 " (declare (in) vec4 N)\n"
16034 " (declare (in) float eta))\n"
16035 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016036 "(function matrixCompMult\n"
16037 " (signature mat2\n"
16038 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016039 " (declare (in) mat2 x)\n"
16040 " (declare (in) mat2 y))\n"
16041 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016042 " (signature mat3\n"
16043 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016044 " (declare (in) mat3 x)\n"
16045 " (declare (in) mat3 y))\n"
16046 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016047 " (signature mat4\n"
16048 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016049 " (declare (in) mat4 x)\n"
16050 " (declare (in) mat4 y))\n"
16051 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016052 " (signature mat2x3\n"
16053 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016054 " (declare (in) mat2x3 x)\n"
16055 " (declare (in) mat2x3 y))\n"
16056 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016057 " (signature mat2x4\n"
16058 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016059 " (declare (in) mat2x4 x)\n"
16060 " (declare (in) mat2x4 y))\n"
16061 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016062 " (signature mat3x2\n"
16063 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016064 " (declare (in) mat3x2 x)\n"
16065 " (declare (in) mat3x2 y))\n"
16066 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016067 " (signature mat3x4\n"
16068 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016069 " (declare (in) mat3x4 x)\n"
16070 " (declare (in) mat3x4 y))\n"
16071 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016072 " (signature mat4x2\n"
16073 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016074 " (declare (in) mat4x2 x)\n"
16075 " (declare (in) mat4x2 y))\n"
16076 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016077 " (signature mat4x3\n"
16078 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016079 " (declare (in) mat4x3 x)\n"
16080 " (declare (in) mat4x3 y))\n"
16081 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016082 "(function outerProduct\n"
16083 " (signature mat2\n"
16084 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016085 " (declare (in) vec2 c)\n"
16086 " (declare (in) vec2 r))\n"
16087 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016088 " (signature mat3\n"
16089 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016090 " (declare (in) vec3 c)\n"
16091 " (declare (in) vec3 r))\n"
16092 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016093 " (signature mat4\n"
16094 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016095 " (declare (in) vec4 c)\n"
16096 " (declare (in) vec4 r))\n"
16097 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016098 " (signature mat2x3\n"
16099 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016100 " (declare (in) vec3 c)\n"
16101 " (declare (in) vec2 r))\n"
16102 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016103 " (signature mat3x2\n"
16104 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016105 " (declare (in) vec2 c)\n"
16106 " (declare (in) vec3 r))\n"
16107 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016108 " (signature mat2x4\n"
16109 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016110 " (declare (in) vec4 c)\n"
16111 " (declare (in) vec2 r))\n"
16112 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016113 " (signature mat4x2\n"
16114 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016115 " (declare (in) vec2 c)\n"
16116 " (declare (in) vec4 r))\n"
16117 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016118 " (signature mat3x4\n"
16119 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016120 " (declare (in) vec4 c)\n"
16121 " (declare (in) vec3 r))\n"
16122 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016123 " (signature mat4x3\n"
16124 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016125 " (declare (in) vec3 c)\n"
16126 " (declare (in) vec4 r))\n"
16127 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016128 "(function transpose\n"
16129 " (signature mat2\n"
16130 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016131 " (declare (in) mat2 m))\n"
16132 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016133 " (signature mat3\n"
16134 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016135 " (declare (in) mat3 m))\n"
16136 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016137 " (signature mat4\n"
16138 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016139 " (declare (in) mat4 m))\n"
16140 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016141 " (signature mat2x3\n"
16142 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016143 " (declare (in) mat3x2 m))\n"
16144 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016145 " (signature mat3x2\n"
16146 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016147 " (declare (in) mat2x3 m))\n"
16148 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016149 " (signature mat2x4\n"
16150 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016151 " (declare (in) mat4x2 m))\n"
16152 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016153 " (signature mat4x2\n"
16154 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016155 " (declare (in) mat2x4 m))\n"
16156 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016157 " (signature mat3x4\n"
16158 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016159 " (declare (in) mat4x3 m))\n"
16160 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016161 " (signature mat4x3\n"
16162 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016163 " (declare (in) mat3x4 m))\n"
16164 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016165 "(function lessThan\n"
16166 " (signature bvec2\n"
16167 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016168 " (declare (in) vec2 x)\n"
16169 " (declare (in) vec2 y))\n"
16170 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016171 " (signature bvec3\n"
16172 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016173 " (declare (in) vec3 x)\n"
16174 " (declare (in) vec3 y))\n"
16175 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016176 " (signature bvec4\n"
16177 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016178 " (declare (in) vec4 x)\n"
16179 " (declare (in) vec4 y))\n"
16180 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016181 " (signature bvec2\n"
16182 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016183 " (declare (in) ivec2 x)\n"
16184 " (declare (in) ivec2 y))\n"
16185 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016186 " (signature bvec3\n"
16187 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016188 " (declare (in) ivec3 x)\n"
16189 " (declare (in) ivec3 y))\n"
16190 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016191 " (signature bvec4\n"
16192 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016193 " (declare (in) ivec4 x)\n"
16194 " (declare (in) ivec4 y))\n"
16195 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016196 "(function lessThanEqual\n"
16197 " (signature bvec2\n"
16198 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016199 " (declare (in) vec2 x)\n"
16200 " (declare (in) vec2 y))\n"
16201 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016202 " (signature bvec3\n"
16203 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016204 " (declare (in) vec3 x)\n"
16205 " (declare (in) vec3 y))\n"
16206 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016207 " (signature bvec4\n"
16208 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016209 " (declare (in) vec4 x)\n"
16210 " (declare (in) vec4 y))\n"
16211 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016212 " (signature bvec2\n"
16213 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016214 " (declare (in) ivec2 x)\n"
16215 " (declare (in) ivec2 y))\n"
16216 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016217 " (signature bvec3\n"
16218 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016219 " (declare (in) ivec3 x)\n"
16220 " (declare (in) ivec3 y))\n"
16221 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016222 " (signature bvec4\n"
16223 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016224 " (declare (in) ivec4 x)\n"
16225 " (declare (in) ivec4 y))\n"
16226 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016227 "(function greaterThan\n"
16228 " (signature bvec2\n"
16229 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016230 " (declare (in) vec2 x)\n"
16231 " (declare (in) vec2 y))\n"
16232 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016233 " (signature bvec3\n"
16234 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016235 " (declare (in) vec3 x)\n"
16236 " (declare (in) vec3 y))\n"
16237 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016238 " (signature bvec4\n"
16239 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016240 " (declare (in) vec4 x)\n"
16241 " (declare (in) vec4 y))\n"
16242 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016243 " (signature bvec2\n"
16244 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016245 " (declare (in) ivec2 x)\n"
16246 " (declare (in) ivec2 y))\n"
16247 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016248 " (signature bvec3\n"
16249 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016250 " (declare (in) ivec3 x)\n"
16251 " (declare (in) ivec3 y))\n"
16252 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016253 " (signature bvec4\n"
16254 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016255 " (declare (in) ivec4 x)\n"
16256 " (declare (in) ivec4 y))\n"
16257 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016258 "(function greaterThanEqual\n"
16259 " (signature bvec2\n"
16260 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016261 " (declare (in) vec2 x)\n"
16262 " (declare (in) vec2 y))\n"
16263 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016264 " (signature bvec3\n"
16265 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016266 " (declare (in) vec3 x)\n"
16267 " (declare (in) vec3 y))\n"
16268 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016269 " (signature bvec4\n"
16270 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016271 " (declare (in) vec4 x)\n"
16272 " (declare (in) vec4 y))\n"
16273 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016274 " (signature bvec2\n"
16275 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016276 " (declare (in) ivec2 x)\n"
16277 " (declare (in) ivec2 y))\n"
16278 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016279 " (signature bvec3\n"
16280 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016281 " (declare (in) ivec3 x)\n"
16282 " (declare (in) ivec3 y))\n"
16283 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016284 " (signature bvec4\n"
16285 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016286 " (declare (in) ivec4 x)\n"
16287 " (declare (in) ivec4 y))\n"
16288 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016289 "(function equal\n"
16290 " (signature bvec2\n"
16291 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016292 " (declare (in) vec2 x)\n"
16293 " (declare (in) vec2 y))\n"
16294 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016295 " (signature bvec3\n"
16296 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016297 " (declare (in) vec3 x)\n"
16298 " (declare (in) vec3 y))\n"
16299 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016300 " (signature bvec4\n"
16301 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016302 " (declare (in) vec4 x)\n"
16303 " (declare (in) vec4 y))\n"
16304 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016305 " (signature bvec2\n"
16306 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016307 " (declare (in) ivec2 x)\n"
16308 " (declare (in) ivec2 y))\n"
16309 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016310 " (signature bvec3\n"
16311 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016312 " (declare (in) ivec3 x)\n"
16313 " (declare (in) ivec3 y))\n"
16314 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016315 " (signature bvec4\n"
16316 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016317 " (declare (in) ivec4 x)\n"
16318 " (declare (in) ivec4 y))\n"
16319 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016320 " (signature bvec2\n"
16321 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016322 " (declare (in) bvec2 x)\n"
16323 " (declare (in) bvec2 y))\n"
16324 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016325 " (signature bvec3\n"
16326 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016327 " (declare (in) bvec3 x)\n"
16328 " (declare (in) bvec3 y))\n"
16329 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016330 " (signature bvec4\n"
16331 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016332 " (declare (in) bvec4 x)\n"
16333 " (declare (in) bvec4 y))\n"
16334 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016335 "(function notEqual\n"
16336 " (signature bvec2\n"
16337 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016338 " (declare (in) vec2 x)\n"
16339 " (declare (in) vec2 y))\n"
16340 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016341 " (signature bvec3\n"
16342 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016343 " (declare (in) vec3 x)\n"
16344 " (declare (in) vec3 y))\n"
16345 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016346 " (signature bvec4\n"
16347 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016348 " (declare (in) vec4 x)\n"
16349 " (declare (in) vec4 y))\n"
16350 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016351 " (signature bvec2\n"
16352 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016353 " (declare (in) ivec2 x)\n"
16354 " (declare (in) ivec2 y))\n"
16355 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016356 " (signature bvec3\n"
16357 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016358 " (declare (in) ivec3 x)\n"
16359 " (declare (in) ivec3 y))\n"
16360 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016361 " (signature bvec4\n"
16362 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016363 " (declare (in) ivec4 x)\n"
16364 " (declare (in) ivec4 y))\n"
16365 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016366 " (signature bvec2\n"
16367 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016368 " (declare (in) bvec2 x)\n"
16369 " (declare (in) bvec2 y))\n"
16370 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016371 " (signature bvec3\n"
16372 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016373 " (declare (in) bvec3 x)\n"
16374 " (declare (in) bvec3 y))\n"
16375 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016376 " (signature bvec4\n"
16377 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016378 " (declare (in) bvec4 x)\n"
16379 " (declare (in) bvec4 y))\n"
16380 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016381 "(function any\n"
16382 " (signature bool\n"
16383 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016384 " (declare (in) bvec2 x))\n"
16385 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016386 " (signature bool\n"
16387 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016388 " (declare (in) bvec3 x))\n"
16389 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016390 " (signature bool\n"
16391 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016392 " (declare (in) bvec4 x))\n"
16393 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016394 "(function all\n"
16395 " (signature bool\n"
16396 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016397 " (declare (in) bvec2 x))\n"
16398 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016399 " (signature bool\n"
16400 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016401 " (declare (in) bvec3 x))\n"
16402 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016403 " (signature bool\n"
16404 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016405 " (declare (in) bvec4 x))\n"
16406 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016407 "(function not\n"
16408 " (signature bvec2\n"
16409 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016410 " (declare (in) bvec2 x))\n"
16411 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016412 " (signature bvec3\n"
16413 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016414 " (declare (in) bvec3 x))\n"
16415 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016416 " (signature bvec4\n"
16417 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016418 " (declare (in) bvec4 x))\n"
16419 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016420 "(function texture1D\n"
16421 " (signature vec4\n"
16422 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016423 " (declare (in) sampler1D sampler)\n"
16424 " (declare (in) float coord))\n"
16425 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016426 " (signature vec4\n"
16427 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016428 " (declare (in) sampler1D sampler)\n"
16429 " (declare (in) float coord)\n"
16430 " (declare (in) float bias))\n"
16431 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016432 "(function texture1DProj\n"
16433 " (signature vec4\n"
16434 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016435 " (declare (in) sampler1D sampler)\n"
16436 " (declare (in) vec2 coord))\n"
16437 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016438 " (signature vec4\n"
16439 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016440 " (declare (in) sampler1D sampler)\n"
16441 " (declare (in) vec4 coord))\n"
16442 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016443 " (signature vec4\n"
16444 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016445 " (declare (in) sampler1D sampler)\n"
16446 " (declare (in) vec2 coord)\n"
16447 " (declare (in) float bias))\n"
16448 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016449 " (signature vec4\n"
16450 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016451 " (declare (in) sampler1D sampler)\n"
16452 " (declare (in) vec4 coord)\n"
16453 " (declare (in) float bias))\n"
16454 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016455 "(function texture2D\n"
16456 " (signature vec4\n"
16457 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016458 " (declare (in) sampler2D sampler)\n"
16459 " (declare (in) vec2 coord))\n"
16460 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016461 " (signature vec4\n"
16462 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016463 " (declare (in) sampler2D sampler)\n"
16464 " (declare (in) vec2 coord)\n"
16465 " (declare (in) float bias))\n"
16466 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016467 "(function texture2DProj\n"
16468 " (signature vec4\n"
16469 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016470 " (declare (in) sampler2D sampler)\n"
16471 " (declare (in) vec3 coord))\n"
16472 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016473 " (signature vec4\n"
16474 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016475 " (declare (in) sampler2D sampler)\n"
16476 " (declare (in) vec4 coord))\n"
16477 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016478 " (signature vec4\n"
16479 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016480 " (declare (in) sampler2D sampler)\n"
16481 " (declare (in) vec3 coord)\n"
16482 " (declare (in) float bias))\n"
16483 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016484 " (signature vec4\n"
16485 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016486 " (declare (in) sampler2D sampler)\n"
16487 " (declare (in) vec4 coord)\n"
16488 " (declare (in) float bias))\n"
16489 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016490 "(function texture3D\n"
16491 " (signature vec4\n"
16492 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016493 " (declare (in) sampler3D sampler)\n"
16494 " (declare (in) vec3 coord))\n"
16495 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016496 " (signature vec4\n"
16497 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016498 " (declare (in) sampler3D sampler)\n"
16499 " (declare (in) vec3 coord)\n"
16500 " (declare (in) float bias))\n"
16501 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016502 "(function texture3DProj\n"
16503 " (signature vec4\n"
16504 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016505 " (declare (in) sampler3D sampler)\n"
16506 " (declare (in) vec4 coord))\n"
16507 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016508 " (signature vec4\n"
16509 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016510 " (declare (in) sampler3D sampler)\n"
16511 " (declare (in) vec4 coord)\n"
16512 " (declare (in) float bias))\n"
16513 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016514 "(function textureCube\n"
16515 " (signature vec4\n"
16516 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016517 " (declare (in) samplerCube sampler)\n"
16518 " (declare (in) vec3 coord))\n"
16519 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016520 " (signature vec4\n"
16521 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016522 " (declare (in) samplerCube sampler)\n"
16523 " (declare (in) vec3 coord)\n"
16524 " (declare (in) float bias))\n"
16525 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016526 "(function shadow1D\n"
16527 " (signature vec4\n"
16528 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016529 " (declare (in) sampler1DShadow sampler)\n"
16530 " (declare (in) vec3 coord))\n"
16531 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016532 " (signature vec4\n"
16533 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016534 " (declare (in) sampler1DShadow sampler)\n"
16535 " (declare (in) vec3 coord)\n"
16536 " (declare (in) float bias))\n"
16537 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016538 "(function shadow2D\n"
16539 " (signature vec4\n"
16540 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016541 " (declare (in) sampler2DShadow sampler)\n"
16542 " (declare (in) vec3 coord))\n"
16543 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016544 " (signature vec4\n"
16545 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016546 " (declare (in) sampler2DShadow sampler)\n"
16547 " (declare (in) vec3 coord)\n"
16548 " (declare (in) float bias))\n"
16549 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016550 "(function shadow1DProj\n"
16551 " (signature vec4\n"
16552 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016553 " (declare (in) sampler1DShadow sampler)\n"
16554 " (declare (in) vec4 coord))\n"
16555 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016556 " (signature vec4\n"
16557 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016558 " (declare (in) sampler1DShadow sampler)\n"
16559 " (declare (in) vec4 coord)\n"
16560 " (declare (in) float bias))\n"
16561 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016562 "(function shadow2DProj\n"
16563 " (signature vec4\n"
16564 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016565 " (declare (in) sampler2DShadow sampler)\n"
16566 " (declare (in) vec4 coord))\n"
16567 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016568 " (signature vec4\n"
16569 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016570 " (declare (in) sampler2DShadow sampler)\n"
16571 " (declare (in) vec4 coord)\n"
16572 " (declare (in) float bias))\n"
16573 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016574 "(function dFdx\n"
16575 " (signature float\n"
16576 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016577 " (declare (in) float p))\n"
16578 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016579 " (signature vec2\n"
16580 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016581 " (declare (in) vec2 p))\n"
16582 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016583 " (signature vec3\n"
16584 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016585 " (declare (in) vec3 p))\n"
16586 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016587 " (signature vec4\n"
16588 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016589 " (declare (in) vec4 p))\n"
16590 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016591 "(function dFdy\n"
16592 " (signature float\n"
16593 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016594 " (declare (in) float p))\n"
16595 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016596 " (signature vec2\n"
16597 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016598 " (declare (in) vec2 p))\n"
16599 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016600 " (signature vec3\n"
16601 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016602 " (declare (in) vec3 p))\n"
16603 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016604 " (signature vec4\n"
16605 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016606 " (declare (in) vec4 p))\n"
16607 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016608 "(function fwidth\n"
16609 " (signature float\n"
16610 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016611 " (declare (in) float p))\n"
16612 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016613 " (signature vec2\n"
16614 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016615 " (declare (in) vec2 p))\n"
16616 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016617 " (signature vec3\n"
16618 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016619 " (declare (in) vec3 p))\n"
16620 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016621 " (signature vec4\n"
16622 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016623 " (declare (in) vec4 p))\n"
16624 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016625 "(function noise1\n"
16626 " (signature float\n"
16627 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016628 " (declare (in) float x))\n"
16629 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016630 " (signature float\n"
16631 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016632 " (declare (in) vec2 x))\n"
16633 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016634 " (signature float\n"
16635 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016636 " (declare (in) vec3 x))\n"
16637 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016638 " (signature float\n"
16639 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016640 " (declare (in) vec4 x))\n"
16641 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016642 "(function noise2\n"
16643 " (signature vec2\n"
16644 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016645 " (declare (in) float x))\n"
16646 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016647 " (signature vec2\n"
16648 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016649 " (declare (in) vec2 x))\n"
16650 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016651 " (signature vec2\n"
16652 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016653 " (declare (in) vec3 x))\n"
16654 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016655 " (signature vec2\n"
16656 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016657 " (declare (in) vec4 x))\n"
16658 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016659 "(function noise3\n"
16660 " (signature vec3\n"
16661 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016662 " (declare (in) float x))\n"
16663 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016664 " (signature vec3\n"
16665 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016666 " (declare (in) vec2 x))\n"
16667 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016668 " (signature vec3\n"
16669 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016670 " (declare (in) vec3 x))\n"
16671 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016672 " (signature vec3\n"
16673 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016674 " (declare (in) vec4 x))\n"
16675 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016676 "(function noise4\n"
16677 " (signature vec4\n"
16678 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016679 " (declare (in) float x))\n"
16680 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016681 " (signature vec4\n"
16682 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016683 " (declare (in) vec2 x))\n"
16684 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016685 " (signature vec4\n"
16686 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016687 " (declare (in) vec3 x))\n"
16688 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016689 " (signature vec4\n"
16690 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070016691 " (declare (in) vec4 x))\n"
16692 " ())))"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016693;
16694static const char *functions_for_120_frag [] = {
16695 builtin_clamp,
16696 builtin_matrixCompMult,
16697 builtin_noise2,
16698 builtin_pow,
16699 builtin_texture2DProj,
16700 builtin_fwidth,
16701 builtin_greaterThanEqual,
16702 builtin_sign,
16703 builtin_texture3DProj,
16704 builtin_texture2D,
16705 builtin_equal,
16706 builtin_faceforward,
16707 builtin_tan,
16708 builtin_any,
16709 builtin_shadow1DProj,
16710 builtin_normalize,
16711 builtin_asin,
16712 builtin_texture1DProj,
16713 builtin_log,
16714 builtin_floor,
16715 builtin_exp2,
16716 builtin_lessThan,
16717 builtin_cross,
16718 builtin_sqrt,
16719 builtin_shadow2DProj,
16720 builtin_fract,
16721 builtin_abs,
16722 builtin_degrees,
16723 builtin_dFdx,
16724 builtin_sin,
16725 builtin_shadow2D,
16726 builtin_all,
16727 builtin_log2,
16728 builtin_atan,
16729 builtin_notEqual,
16730 builtin_max,
16731 builtin_lessThanEqual,
16732 builtin_transpose,
16733 builtin_outerProduct,
16734 builtin_ceil,
16735 builtin_reflect,
16736 builtin_step,
16737 builtin_texture1D,
16738 builtin_greaterThan,
16739 builtin_texture3D,
16740 builtin_not,
16741 builtin_inversesqrt,
16742 builtin_mod,
16743 builtin_noise4,
16744 builtin_distance,
16745 builtin_cos,
16746 builtin_shadow1D,
16747 builtin_noise1,
16748 builtin_refract,
16749 builtin_noise3,
16750 builtin_min,
16751 builtin_radians,
16752 builtin_smoothstep,
16753 builtin_textureCube,
16754 builtin_length,
16755 builtin_dFdy,
16756 builtin_exp,
16757 builtin_acos,
16758 builtin_mix,
16759 builtin_dot,
Kenneth Graunkeb3262122010-04-28 23:01:33 -070016760};
Eric Anholtc22c4002010-03-26 18:20:30 -070016761
Ian Romanickd5be2ac2010-07-20 11:29:46 -070016762void *builtin_mem_ctx = NULL;
16763
16764void
16765_mesa_glsl_release_functions(void)
16766{
16767 talloc_free(builtin_mem_ctx);
16768}
16769
Eric Anholtc22c4002010-03-26 18:20:30 -070016770void
16771_mesa_glsl_initialize_functions(exec_list *instructions,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016772 struct _mesa_glsl_parse_state *state)
Eric Anholtc22c4002010-03-26 18:20:30 -070016773{
Ian Romanickd5be2ac2010-07-20 11:29:46 -070016774 if (builtin_mem_ctx == NULL)
16775 builtin_mem_ctx = talloc_init("GLSL built-in functions");
Kenneth Graunkeb3262122010-04-28 23:01:33 -070016776
Ian Romanickd5be2ac2010-07-20 11:29:46 -070016777 state->num_builtins_to_link = 0;
Kenneth Graunke4b0029a2010-06-08 16:29:17 -070016778
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016779 if (state->target == vertex_shader && state->language_version == 120) {
16780 static gl_shader *sh = NULL;
Ian Romanickd5be2ac2010-07-20 11:29:46 -070016781 if (sh == NULL) {
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016782 sh = read_builtins(GL_VERTEX_SHADER,
16783 prototypes_for_120_vert,
16784 functions_for_120_vert,
16785 Elements(functions_for_120_vert ));
16786 talloc_steal(builtin_mem_ctx, sh);
Ian Romanickd5be2ac2010-07-20 11:29:46 -070016787 }
Eric Anholtda46e5f2010-05-19 13:57:01 -070016788
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016789 import_prototypes(sh->ir, instructions, state->symbols,
16790 state);
Ian Romanickd5be2ac2010-07-20 11:29:46 -070016791 state->builtins_to_link[state->num_builtins_to_link] = sh;
16792 state->num_builtins_to_link++;
16793 }
16794
16795 if (state->target == fragment_shader && state->EXT_texture_array_enable) {
16796 static gl_shader *sh = NULL;
Ian Romanickd5be2ac2010-07-20 11:29:46 -070016797 if (sh == NULL) {
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016798 sh = read_builtins(GL_VERTEX_SHADER,
16799 prototypes_for_EXT_texture_array_frag,
16800 functions_for_EXT_texture_array_frag,
16801 Elements(functions_for_EXT_texture_array_frag ));
16802 talloc_steal(builtin_mem_ctx, sh);
Ian Romanickd5be2ac2010-07-20 11:29:46 -070016803 }
16804
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016805 import_prototypes(sh->ir, instructions, state->symbols,
16806 state);
16807 state->builtins_to_link[state->num_builtins_to_link] = sh;
16808 state->num_builtins_to_link++;
16809 }
16810
16811 if (state->target == vertex_shader && state->language_version == 110) {
16812 static gl_shader *sh = NULL;
16813 if (sh == NULL) {
16814 sh = read_builtins(GL_VERTEX_SHADER,
16815 prototypes_for_110_vert,
16816 functions_for_110_vert,
16817 Elements(functions_for_110_vert ));
16818 talloc_steal(builtin_mem_ctx, sh);
16819 }
16820
16821 import_prototypes(sh->ir, instructions, state->symbols,
16822 state);
16823 state->builtins_to_link[state->num_builtins_to_link] = sh;
16824 state->num_builtins_to_link++;
16825 }
16826
16827 if (state->target == fragment_shader && state->language_version == 110) {
16828 static gl_shader *sh = NULL;
16829 if (sh == NULL) {
16830 sh = read_builtins(GL_VERTEX_SHADER,
16831 prototypes_for_110_frag,
16832 functions_for_110_frag,
16833 Elements(functions_for_110_frag ));
16834 talloc_steal(builtin_mem_ctx, sh);
16835 }
16836
16837 import_prototypes(sh->ir, instructions, state->symbols,
16838 state);
16839 state->builtins_to_link[state->num_builtins_to_link] = sh;
16840 state->num_builtins_to_link++;
16841 }
16842
16843 if (state->target == vertex_shader && state->EXT_texture_array_enable) {
16844 static gl_shader *sh = NULL;
16845 if (sh == NULL) {
16846 sh = read_builtins(GL_VERTEX_SHADER,
16847 prototypes_for_EXT_texture_array_vert,
16848 functions_for_EXT_texture_array_vert,
16849 Elements(functions_for_EXT_texture_array_vert ));
16850 talloc_steal(builtin_mem_ctx, sh);
16851 }
16852
16853 import_prototypes(sh->ir, instructions, state->symbols,
16854 state);
16855 state->builtins_to_link[state->num_builtins_to_link] = sh;
16856 state->num_builtins_to_link++;
16857 }
16858
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016859 if (state->target == fragment_shader && state->language_version == 130) {
16860 static gl_shader *sh = NULL;
16861 if (sh == NULL) {
16862 sh = read_builtins(GL_VERTEX_SHADER,
16863 prototypes_for_130_frag,
16864 functions_for_130_frag,
16865 Elements(functions_for_130_frag ));
16866 talloc_steal(builtin_mem_ctx, sh);
16867 }
16868
16869 import_prototypes(sh->ir, instructions, state->symbols,
16870 state);
16871 state->builtins_to_link[state->num_builtins_to_link] = sh;
16872 state->num_builtins_to_link++;
16873 }
16874
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016875 if (state->target == vertex_shader && state->ARB_texture_rectangle_enable) {
16876 static gl_shader *sh = NULL;
16877 if (sh == NULL) {
16878 sh = read_builtins(GL_VERTEX_SHADER,
16879 prototypes_for_ARB_texture_rectangle_vert,
16880 functions_for_ARB_texture_rectangle_vert,
16881 Elements(functions_for_ARB_texture_rectangle_vert ));
16882 talloc_steal(builtin_mem_ctx, sh);
16883 }
16884
16885 import_prototypes(sh->ir, instructions, state->symbols,
16886 state);
16887 state->builtins_to_link[state->num_builtins_to_link] = sh;
16888 state->num_builtins_to_link++;
16889 }
16890
Kenneth Graunkea433cd22010-08-16 15:18:23 -070016891 if (state->target == vertex_shader && state->language_version == 130) {
16892 static gl_shader *sh = NULL;
16893 if (sh == NULL) {
16894 sh = read_builtins(GL_VERTEX_SHADER,
16895 prototypes_for_130_vert,
16896 functions_for_130_vert,
16897 Elements(functions_for_130_vert ));
16898 talloc_steal(builtin_mem_ctx, sh);
16899 }
16900
16901 import_prototypes(sh->ir, instructions, state->symbols,
16902 state);
16903 state->builtins_to_link[state->num_builtins_to_link] = sh;
16904 state->num_builtins_to_link++;
16905 }
16906
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070016907 if (state->target == fragment_shader && state->ARB_texture_rectangle_enable) {
16908 static gl_shader *sh = NULL;
16909 if (sh == NULL) {
16910 sh = read_builtins(GL_VERTEX_SHADER,
16911 prototypes_for_ARB_texture_rectangle_frag,
16912 functions_for_ARB_texture_rectangle_frag,
16913 Elements(functions_for_ARB_texture_rectangle_frag ));
16914 talloc_steal(builtin_mem_ctx, sh);
16915 }
16916
16917 import_prototypes(sh->ir, instructions, state->symbols,
16918 state);
16919 state->builtins_to_link[state->num_builtins_to_link] = sh;
16920 state->num_builtins_to_link++;
16921 }
16922
16923 if (state->target == fragment_shader && state->language_version == 120) {
16924 static gl_shader *sh = NULL;
16925 if (sh == NULL) {
16926 sh = read_builtins(GL_VERTEX_SHADER,
16927 prototypes_for_120_frag,
16928 functions_for_120_frag,
16929 Elements(functions_for_120_frag ));
16930 talloc_steal(builtin_mem_ctx, sh);
16931 }
16932
16933 import_prototypes(sh->ir, instructions, state->symbols,
16934 state);
Ian Romanickd5be2ac2010-07-20 11:29:46 -070016935 state->builtins_to_link[state->num_builtins_to_link] = sh;
16936 state->num_builtins_to_link++;
16937 }
Kenneth Graunke4b0029a2010-06-08 16:29:17 -070016938
Eric Anholtc22c4002010-03-26 18:20:30 -070016939}