1 /* DO NOT MODIFY - automatically generated by generate_builtins.pl */
3 * Copyright © 2010 Intel Corporation
5 * Permission is hereby granted, free of charge, to any person obtaining a
6 * copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
12 * The above copyright notice and this permission notice (including the next
13 * paragraph) shall be included in all copies or substantial portions of the
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22 * DEALINGS IN THE SOFTWARE.
26 #include "glsl_parser_extras.h"
27 #include "ir_reader.h"
30 read_builtins(_mesa_glsl_parse_state
*st
, exec_list
*instructions
,
31 const char **functions
, unsigned count
)
36 for (unsigned i
= 0; i
< count
; i
++) {
37 _mesa_glsl_read_ir(st
, instructions
, functions
[i
]);
40 printf("error reading builtin: %.35s ...\n", functions
[i
]);
46 /* Version 110 builtins */
48 static const char *builtins_110_abs
= {
52 " (declare (in) float arg0))\n"
53 " ((return (expression float abs (var_ref arg0)))))\n"
57 " (declare (in) vec2 arg0))\n"
58 " ((return (expression vec2 abs (var_ref arg0)))))\n"
62 " (declare (in) vec3 arg0))\n"
63 " ((return (expression vec3 abs (var_ref arg0)))))\n"
67 " (declare (in) vec4 arg0))\n"
68 " ((return (expression vec4 abs (var_ref arg0)))))\n"
72 static const char *builtins_110_all
= {
76 " (declare (in) bvec2 arg0))\n"
77 " ((return (expression bool && (swiz x (var_ref arg0))(swiz y (var_ref arg0))))))\n"
81 " (declare (in) bvec3 arg0))\n"
82 " ((return (expression bool && (expression bool && (swiz x (var_ref arg0))(swiz y (var_ref arg0))) (swiz z (var_ref arg0))))))\n"
86 " (declare (in) bvec4 arg0))\n"
87 " ((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"
91 static const char *builtins_110_any
= {
95 " (declare (in) bvec2 arg0))\n"
96 " ((return (expression bool || (swiz x (var_ref arg0))(swiz y (var_ref arg0))))))\n"
100 " (declare (in) bvec3 arg0))\n"
101 " ((return (expression bool || (expression bool || (swiz x (var_ref arg0))(swiz y (var_ref arg0))) (swiz z (var_ref arg0))))))\n"
105 " (declare (in) bvec4 arg0))\n"
106 " ((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"
110 static const char *builtins_110_ceil
= {
112 " (signature float\n"
114 " (declare (in) float arg0))\n"
115 " ((return (expression float ceil (var_ref arg0)))))\n"
119 " (declare (in) vec2 arg0))\n"
120 " ((return (expression vec2 ceil (var_ref arg0)))))\n"
124 " (declare (in) vec3 arg0))\n"
125 " ((return (expression vec3 ceil (var_ref arg0)))))\n"
129 " (declare (in) vec4 arg0))\n"
130 " ((return (expression vec4 ceil (var_ref arg0)))))\n"
134 static const char *builtins_110_clamp
= {
136 " (signature float\n"
138 " (declare (in) float arg0)\n"
139 " (declare (in) float arg1)\n"
140 " (declare (in) float arg2))\n"
141 " ((return (expression float max (expression float min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
145 " (declare (in) vec2 arg0)\n"
146 " (declare (in) vec2 arg1)\n"
147 " (declare (in) vec2 arg2))\n"
148 " ((return (expression vec2 max (expression vec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
152 " (declare (in) vec3 arg0)\n"
153 " (declare (in) vec3 arg1)\n"
154 " (declare (in) vec3 arg2))\n"
155 " ((return (expression vec3 max (expression vec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
159 " (declare (in) vec4 arg0)\n"
160 " (declare (in) vec4 arg1)\n"
161 " (declare (in) vec4 arg2))\n"
162 " ((return (expression vec4 max (expression vec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
166 static const char *builtins_110_degrees
= {
167 "((function degrees\n"
168 " (signature float\n"
170 " (declare (in) float arg0))\n"
171 " ((return (expression float * (var_ref arg0) (constant float (57.295780))))))\n"
175 " (declare (in) vec2 arg0))\n"
176 " ((return (expression vec2 * (var_ref arg0) (constant float (57.295780))))))\n"
180 " (declare (in) vec3 arg0))\n"
181 " ((return (expression vec3 * (var_ref arg0) (constant float (57.295780))))))\n"
185 " (declare (in) vec4 arg0))\n"
186 " ((return (expression vec4 * (var_ref arg0) (constant float (57.295780))))))\n"
190 static const char *builtins_110_dot
= {
192 " (signature float\n"
194 " (declare (in) float arg0)\n"
195 " (declare (in) float arg1))\n"
196 " ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
198 " (signature float\n"
200 " (declare (in) vec2 arg0)\n"
201 " (declare (in) vec2 arg1))\n"
202 " ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
204 " (signature float\n"
206 " (declare (in) vec3 arg0)\n"
207 " (declare (in) vec3 arg1))\n"
208 " ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
210 " (signature float\n"
212 " (declare (in) vec4 arg0)\n"
213 " (declare (in) vec4 arg1))\n"
214 " ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
218 static const char *builtins_110_equal
= {
220 " (signature bvec2\n"
222 " (declare (in) vec2 arg0)\n"
223 " (declare (in) vec2 arg1))\n"
224 " ((declare () bvec2 temp)\n"
225 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression float == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
226 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression float == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
227 " (return (var_ref temp))))\n"
229 " (signature bvec3\n"
231 " (declare (in) vec3 arg0)\n"
232 " (declare (in) vec3 arg1))\n"
233 " ((declare () bvec3 temp)\n"
234 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression float == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
235 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression float == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
236 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression float == (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
237 " (return (var_ref temp))))\n"
239 " (signature bvec4\n"
241 " (declare (in) vec4 arg0)\n"
242 " (declare (in) vec4 arg1))\n"
243 " ((declare () bvec4 temp)\n"
244 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression float == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
245 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression float == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
246 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression float == (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
247 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression float == (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
248 " (return (var_ref temp))))\n"
250 " (signature bvec2\n"
252 " (declare (in) ivec2 arg0)\n"
253 " (declare (in) ivec2 arg1))\n"
254 " ((declare () bvec2 temp)\n"
255 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression int == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
256 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression int == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
257 " (return (var_ref temp))))\n"
259 " (signature bvec3\n"
261 " (declare (in) ivec3 arg0)\n"
262 " (declare (in) ivec3 arg1))\n"
263 " ((declare () bvec3 temp)\n"
264 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression int == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
265 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression int == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
266 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression int == (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
267 " (return (var_ref temp))))\n"
269 " (signature bvec4\n"
271 " (declare (in) ivec4 arg0)\n"
272 " (declare (in) ivec4 arg1))\n"
273 " ((declare () bvec4 temp)\n"
274 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression int == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
275 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression int == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
276 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression int == (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
277 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression int == (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
278 " (return (var_ref temp))))\n"
282 static const char *builtins_110_exp
= {
284 " (signature float\n"
286 " (declare (in) float arg0))\n"
287 " ((return (expression float exp (var_ref arg0)))))\n"
291 " (declare (in) vec2 arg0))\n"
292 " ((return (expression vec2 exp (var_ref arg0)))))\n"
296 " (declare (in) vec3 arg0))\n"
297 " ((return (expression vec3 exp (var_ref arg0)))))\n"
301 " (declare (in) vec4 arg0))\n"
302 " ((return (expression vec4 exp (var_ref arg0)))))\n"
306 static const char *builtins_110_exp2
= {
308 " (signature float\n"
310 " (declare (in) float arg0))\n"
311 " ((return (expression float exp2 (var_ref arg0)))))\n"
315 " (declare (in) vec2 arg0))\n"
316 " ((return (expression vec2 exp2 (var_ref arg0)))))\n"
320 " (declare (in) vec3 arg0))\n"
321 " ((return (expression vec3 exp2 (var_ref arg0)))))\n"
325 " (declare (in) vec4 arg0))\n"
326 " ((return (expression vec4 exp2 (var_ref arg0)))))\n"
330 static const char *builtins_110_floor
= {
332 " (signature float\n"
334 " (declare (in) float arg0))\n"
335 " ((return (expression float floor (var_ref arg0)))))\n"
339 " (declare (in) vec2 arg0))\n"
340 " ((return (expression vec2 floor (var_ref arg0)))))\n"
344 " (declare (in) vec3 arg0))\n"
345 " ((return (expression vec3 floor (var_ref arg0)))))\n"
349 " (declare (in) vec4 arg0))\n"
350 " ((return (expression vec4 floor (var_ref arg0)))))\n"
354 static const char *builtins_110_greaterThan
= {
355 "((function greaterThan\n"
356 " (signature bvec2\n"
358 " (declare (in) vec2 arg0)\n"
359 " (declare (in) vec2 arg1))\n"
360 " ((declare () bvec2 temp)\n"
361 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression float > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
362 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression float > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
363 " (return (var_ref temp))))\n"
365 " (signature bvec3\n"
367 " (declare (in) vec3 arg0)\n"
368 " (declare (in) vec3 arg1))\n"
369 " ((declare () bvec3 temp)\n"
370 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression float > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
371 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression float > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
372 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression float > (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
373 " (return (var_ref temp))))\n"
375 " (signature bvec4\n"
377 " (declare (in) vec4 arg0)\n"
378 " (declare (in) vec4 arg1))\n"
379 " ((declare () bvec4 temp)\n"
380 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression float > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
381 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression float > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
382 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression float > (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
383 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression float > (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
384 " (return (var_ref temp))))\n"
386 " (signature bvec2\n"
388 " (declare (in) ivec2 arg0)\n"
389 " (declare (in) ivec2 arg1))\n"
390 " ((declare () bvec2 temp)\n"
391 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression int > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
392 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression int > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
393 " (return (var_ref temp))))\n"
395 " (signature bvec3\n"
397 " (declare (in) ivec3 arg0)\n"
398 " (declare (in) ivec3 arg1))\n"
399 " ((declare () bvec3 temp)\n"
400 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression int > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
401 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression int > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
402 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression int > (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
403 " (return (var_ref temp))))\n"
405 " (signature bvec4\n"
407 " (declare (in) ivec4 arg0)\n"
408 " (declare (in) ivec4 arg1))\n"
409 " ((declare () bvec4 temp)\n"
410 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression int > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
411 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression int > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
412 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression int > (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
413 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression int > (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
414 " (return (var_ref temp))))\n"
418 static const char *builtins_110_greaterThanEqual
= {
419 "((function greaterThanEqual\n"
420 " (signature bvec2\n"
422 " (declare (in) vec2 arg0)\n"
423 " (declare (in) vec2 arg1))\n"
424 " ((declare () bvec2 temp)\n"
425 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression float >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
426 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression float >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
427 " (return (var_ref temp))))\n"
429 " (signature bvec3\n"
431 " (declare (in) vec3 arg0)\n"
432 " (declare (in) vec3 arg1))\n"
433 " ((declare () bvec3 temp)\n"
434 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression float >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
435 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression float >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
436 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression float >= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
437 " (return (var_ref temp))))\n"
439 " (signature bvec4\n"
441 " (declare (in) vec4 arg0)\n"
442 " (declare (in) vec4 arg1))\n"
443 " ((declare () bvec4 temp)\n"
444 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression float >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
445 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression float >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
446 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression float >= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
447 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression float >= (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
448 " (return (var_ref temp))))\n"
450 " (signature bvec2\n"
452 " (declare (in) ivec2 arg0)\n"
453 " (declare (in) ivec2 arg1))\n"
454 " ((declare () bvec2 temp)\n"
455 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression int >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
456 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression int >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
457 " (return (var_ref temp))))\n"
459 " (signature bvec3\n"
461 " (declare (in) ivec3 arg0)\n"
462 " (declare (in) ivec3 arg1))\n"
463 " ((declare () bvec3 temp)\n"
464 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression int >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
465 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression int >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
466 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression int >= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
467 " (return (var_ref temp))))\n"
469 " (signature bvec4\n"
471 " (declare (in) ivec4 arg0)\n"
472 " (declare (in) ivec4 arg1))\n"
473 " ((declare () bvec4 temp)\n"
474 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression int >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
475 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression int >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
476 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression int >= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
477 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression int >= (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
478 " (return (var_ref temp))))\n"
482 static const char *builtins_110_inversesqrt
= {
483 "((function inversesqrt\n"
484 " (signature float\n"
486 " (declare (in) float arg0))\n"
487 " ((return (expression float rsq (var_ref arg0)))))\n"
491 " (declare (in) vec2 arg0))\n"
492 " ((return (expression vec2 rsq (var_ref arg0)))))\n"
496 " (declare (in) vec3 arg0))\n"
497 " ((return (expression vec3 rsq (var_ref arg0)))))\n"
501 " (declare (in) vec4 arg0))\n"
502 " ((return (expression vec4 rsq (var_ref arg0)))))\n"
506 static const char *builtins_110_length
= {
507 "((function length\n"
508 " (signature float\n"
510 " (declare (in) float arg0))\n"
511 " ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
513 " (signature float\n"
515 " (declare (in) vec2 arg0))\n"
516 " ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
518 " (signature float\n"
520 " (declare (in) vec3 arg0))\n"
521 " ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
523 " (signature float\n"
525 " (declare (in) vec4 arg0))\n"
526 " ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
530 static const char *builtins_110_lessThan
= {
531 "((function lessThan\n"
532 " (signature bvec2\n"
534 " (declare (in) vec2 arg0)\n"
535 " (declare (in) vec2 arg1))\n"
536 " ((declare () bvec2 temp)\n"
537 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression float < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
538 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression float < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
539 " (return (var_ref temp))))\n"
541 " (signature bvec3\n"
543 " (declare (in) vec3 arg0)\n"
544 " (declare (in) vec3 arg1))\n"
545 " ((declare () bvec3 temp)\n"
546 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression float < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
547 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression float < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
548 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression float < (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
549 " (return (var_ref temp))))\n"
551 " (signature bvec4\n"
553 " (declare (in) vec4 arg0)\n"
554 " (declare (in) vec4 arg1))\n"
555 " ((declare () bvec4 temp)\n"
556 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression float < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
557 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression float < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
558 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression float < (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
559 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression float < (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
560 " (return (var_ref temp))))\n"
562 " (signature bvec2\n"
564 " (declare (in) ivec2 arg0)\n"
565 " (declare (in) ivec2 arg1))\n"
566 " ((declare () bvec2 temp)\n"
567 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression int < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
568 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression int < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
569 " (return (var_ref temp))))\n"
571 " (signature bvec3\n"
573 " (declare (in) ivec3 arg0)\n"
574 " (declare (in) ivec3 arg1))\n"
575 " ((declare () bvec3 temp)\n"
576 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression int < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
577 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression int < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
578 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression int < (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
579 " (return (var_ref temp))))\n"
581 " (signature bvec4\n"
583 " (declare (in) ivec4 arg0)\n"
584 " (declare (in) ivec4 arg1))\n"
585 " ((declare () bvec4 temp)\n"
586 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression int < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
587 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression int < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
588 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression int < (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
589 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression int < (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
590 " (return (var_ref temp))))\n"
594 static const char *builtins_110_lessThanEqual
= {
595 "((function lessThanEqual\n"
596 " (signature bvec2\n"
598 " (declare (in) vec2 arg0)\n"
599 " (declare (in) vec2 arg1))\n"
600 " ((declare () bvec2 temp)\n"
601 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression float <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
602 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression float <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
603 " (return (var_ref temp))))\n"
605 " (signature bvec3\n"
607 " (declare (in) vec3 arg0)\n"
608 " (declare (in) vec3 arg1))\n"
609 " ((declare () bvec3 temp)\n"
610 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression float <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
611 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression float <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
612 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression float <= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
613 " (return (var_ref temp))))\n"
615 " (signature bvec4\n"
617 " (declare (in) vec4 arg0)\n"
618 " (declare (in) vec4 arg1))\n"
619 " ((declare () bvec4 temp)\n"
620 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression float <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
621 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression float <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
622 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression float <= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
623 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression float <= (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
624 " (return (var_ref temp))))\n"
626 " (signature bvec2\n"
628 " (declare (in) ivec2 arg0)\n"
629 " (declare (in) ivec2 arg1))\n"
630 " ((declare () bvec2 temp)\n"
631 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression int <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
632 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression int <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
633 " (return (var_ref temp))))\n"
635 " (signature bvec3\n"
637 " (declare (in) ivec3 arg0)\n"
638 " (declare (in) ivec3 arg1))\n"
639 " ((declare () bvec3 temp)\n"
640 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression int <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
641 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression int <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
642 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression int <= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
643 " (return (var_ref temp))))\n"
645 " (signature bvec4\n"
647 " (declare (in) ivec4 arg0)\n"
648 " (declare (in) ivec4 arg1))\n"
649 " ((declare () bvec4 temp)\n"
650 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression int <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
651 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression int <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
652 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression int <= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
653 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression int <= (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
654 " (return (var_ref temp))))\n"
658 static const char *builtins_110_log
= {
660 " (signature float\n"
662 " (declare (in) float arg0))\n"
663 " ((return (expression float log (var_ref arg0)))))\n"
667 " (declare (in) vec2 arg0))\n"
668 " ((return (expression vec2 log (var_ref arg0)))))\n"
672 " (declare (in) vec3 arg0))\n"
673 " ((return (expression vec3 log (var_ref arg0)))))\n"
677 " (declare (in) vec4 arg0))\n"
678 " ((return (expression vec4 log (var_ref arg0)))))\n"
682 static const char *builtins_110_log2
= {
684 " (signature float\n"
686 " (declare (in) float arg0))\n"
687 " ((return (expression float log2 (var_ref arg0)))))\n"
691 " (declare (in) vec2 arg0))\n"
692 " ((return (expression vec2 log2 (var_ref arg0)))))\n"
696 " (declare (in) vec3 arg0))\n"
697 " ((return (expression vec3 log2 (var_ref arg0)))))\n"
701 " (declare (in) vec4 arg0))\n"
702 " ((return (expression vec4 log2 (var_ref arg0)))))\n"
706 static const char *builtins_110_max
= {
708 " (signature float\n"
710 " (declare (in) float arg0)\n"
711 " (declare (in) float arg1))\n"
712 " ((return (expression float max (var_ref arg0) (var_ref arg1)))))\n"
716 " (declare (in) vec2 arg0)\n"
717 " (declare (in) vec2 arg1))\n"
718 " ((return (expression vec2 max (var_ref arg0) (var_ref arg1)))))\n"
722 " (declare (in) vec3 arg0)\n"
723 " (declare (in) vec3 arg1))\n"
724 " ((return (expression vec3 max (var_ref arg0) (var_ref arg1)))))\n"
728 " (declare (in) vec4 arg0)\n"
729 " (declare (in) vec4 arg1))\n"
730 " ((return (expression vec4 max (var_ref arg0) (var_ref arg1)))))\n"
734 static const char *builtins_110_min
= {
736 " (signature float\n"
738 " (declare (in) float arg0)\n"
739 " (declare (in) float arg1))\n"
740 " ((return (expression float min (var_ref arg0) (var_ref arg1)))))\n"
744 " (declare (in) vec2 arg0)\n"
745 " (declare (in) vec2 arg1))\n"
746 " ((return (expression vec2 min (var_ref arg0) (var_ref arg1)))))\n"
750 " (declare (in) vec3 arg0)\n"
751 " (declare (in) vec3 arg1))\n"
752 " ((return (expression vec3 min (var_ref arg0) (var_ref arg1)))))\n"
756 " (declare (in) vec4 arg0)\n"
757 " (declare (in) vec4 arg1))\n"
758 " ((return (expression vec4 min (var_ref arg0) (var_ref arg1)))))\n"
762 static const char *builtins_110_mix
= {
764 " (signature float\n"
766 " (declare (in) float arg0)\n"
767 " (declare (in) float arg1)\n"
768 " (declare (in) float arg2))\n"
769 " ((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"
773 " (declare (in) vec2 arg0)\n"
774 " (declare (in) vec2 arg1)\n"
775 " (declare (in) vec2 arg2))\n"
776 " ((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"
780 " (declare (in) vec3 arg0)\n"
781 " (declare (in) vec3 arg1)\n"
782 " (declare (in) vec3 arg2))\n"
783 " ((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"
787 " (declare (in) vec4 arg0)\n"
788 " (declare (in) vec4 arg1)\n"
789 " (declare (in) vec4 arg2))\n"
790 " ((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"
794 static const char *builtins_110_mod
= {
796 " (signature float\n"
798 " (declare (in) float arg0)\n"
799 " (declare (in) float arg1))\n"
800 " ((return (expression float % (var_ref arg0) (var_ref arg1)))))\n"
804 " (declare (in) vec2 arg0)\n"
805 " (declare (in) vec2 arg1))\n"
806 " ((return (expression vec2 % (var_ref arg0) (var_ref arg1)))))\n"
810 " (declare (in) vec3 arg0)\n"
811 " (declare (in) vec3 arg1))\n"
812 " ((return (expression vec3 % (var_ref arg0) (var_ref arg1)))))\n"
816 " (declare (in) vec4 arg0)\n"
817 " (declare (in) vec4 arg1))\n"
818 " ((return (expression vec4 % (var_ref arg0) (var_ref arg1)))))\n"
822 static const char *builtins_110_normalize
= {
823 "((function normalize\n"
824 " (signature float\n"
826 " (declare (in) float arg0))\n"
827 " ((return (expression float * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
831 " (declare (in) vec2 arg0))\n"
832 " ((return (expression vec2 * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
836 " (declare (in) vec3 arg0))\n"
837 " ((return (expression vec3 * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
841 " (declare (in) vec4 arg0))\n"
842 " ((return (expression vec4 * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
846 static const char *builtins_110_not
= {
848 " (signature bvec2\n"
850 " (declare (in) bvec2 arg0))\n"
851 " ((return (expression bvec2 ! (var_ref arg0)))))\n"
853 " (signature bvec3\n"
855 " (declare (in) bvec3 arg0))\n"
856 " ((return (expression bvec3 ! (var_ref arg0)))))\n"
858 " (signature bvec4\n"
860 " (declare (in) bvec4 arg0))\n"
861 " ((return (expression bvec4 ! (var_ref arg0)))))\n"
865 static const char *builtins_110_notEqual
= {
866 "((function notEqual\n"
867 " (signature bvec2\n"
869 " (declare (in) vec2 arg0)\n"
870 " (declare (in) vec2 arg1))\n"
871 " ((declare () bvec2 temp)\n"
872 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression float != (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
873 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression float != (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
874 " (return (var_ref temp))))\n"
876 " (signature bvec3\n"
878 " (declare (in) vec3 arg0)\n"
879 " (declare (in) vec3 arg1))\n"
880 " ((declare () bvec3 temp)\n"
881 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression float != (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
882 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression float != (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
883 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression float != (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
884 " (return (var_ref temp))))\n"
886 " (signature bvec4\n"
888 " (declare (in) vec4 arg0)\n"
889 " (declare (in) vec4 arg1))\n"
890 " ((declare () bvec4 temp)\n"
891 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression float != (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
892 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression float != (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
893 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression float != (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
894 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression float != (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
895 " (return (var_ref temp))))\n"
897 " (signature bvec2\n"
899 " (declare (in) ivec2 arg0)\n"
900 " (declare (in) ivec2 arg1))\n"
901 " ((declare () bvec2 temp)\n"
902 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression int != (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
903 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression int != (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
904 " (return (var_ref temp))))\n"
906 " (signature bvec3\n"
908 " (declare (in) ivec3 arg0)\n"
909 " (declare (in) ivec3 arg1))\n"
910 " ((declare () bvec3 temp)\n"
911 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression int != (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
912 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression int != (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
913 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression int != (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
914 " (return (var_ref temp))))\n"
916 " (signature bvec4\n"
918 " (declare (in) ivec4 arg0)\n"
919 " (declare (in) ivec4 arg1))\n"
920 " ((declare () bvec4 temp)\n"
921 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression int != (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
922 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression int != (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
923 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression int != (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
924 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression int != (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
925 " (return (var_ref temp))))\n"
929 static const char *builtins_110_pow
= {
931 " (signature float\n"
933 " (declare (in) float arg0)\n"
934 " (declare (in) float arg1))\n"
935 " ((return (expression float pow (var_ref arg0) (var_ref arg1)))))\n"
939 " (declare (in) vec2 arg0)\n"
940 " (declare (in) vec2 arg1))\n"
941 " ((return (expression vec2 pow (var_ref arg0) (var_ref arg1)))))\n"
945 " (declare (in) vec3 arg0)\n"
946 " (declare (in) vec3 arg1))\n"
947 " ((return (expression vec3 pow (var_ref arg0) (var_ref arg1)))))\n"
951 " (declare (in) vec4 arg0)\n"
952 " (declare (in) vec4 arg1))\n"
953 " ((return (expression vec4 pow (var_ref arg0) (var_ref arg1)))))\n"
957 static const char *builtins_110_radians
= {
958 "((function radians\n"
959 " (signature float\n"
961 " (declare (in) float arg0))\n"
962 " ((return (expression float * (var_ref arg0) (constant float (0.017453))))))\n"
966 " (declare (in) vec2 arg0))\n"
967 " ((return (expression vec2 * (var_ref arg0) (constant float (0.017453))))))\n"
971 " (declare (in) vec3 arg0))\n"
972 " ((return (expression vec3 * (var_ref arg0) (constant float (0.017453))))))\n"
976 " (declare (in) vec4 arg0))\n"
977 " ((return (expression vec4 * (var_ref arg0) (constant float (0.017453))))))\n"
981 static const char *builtins_110_sqrt
= {
983 " (signature float\n"
985 " (declare (in) float arg0))\n"
986 " ((return (expression float sqrt (var_ref arg0)))))\n"
990 " (declare (in) vec2 arg0))\n"
991 " ((return (expression vec2 sqrt (var_ref arg0)))))\n"
995 " (declare (in) vec3 arg0))\n"
996 " ((return (expression vec3 sqrt (var_ref arg0)))))\n"
1000 " (declare (in) vec4 arg0))\n"
1001 " ((return (expression vec4 sqrt (var_ref arg0)))))\n"
1005 static const char *functions_for_110
[] = {
1011 builtins_110_degrees
,
1017 builtins_110_greaterThan
,
1018 builtins_110_greaterThanEqual
,
1019 builtins_110_inversesqrt
,
1020 builtins_110_length
,
1021 builtins_110_lessThan
,
1022 builtins_110_lessThanEqual
,
1029 builtins_110_normalize
,
1031 builtins_110_notEqual
,
1033 builtins_110_radians
,
1037 /* Version 130 builtins */
1039 static const char *builtins_130_equal
= {
1040 "((function equal\n"
1041 " (signature bvec2\n"
1043 " (declare (in) uvec2 arg0)\n"
1044 " (declare (in) uvec2 arg1))\n"
1045 " ((declare () bvec2 temp)\n"
1046 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression uint == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1047 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression uint == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1048 " (return (var_ref temp))))\n"
1050 " (signature bvec3\n"
1052 " (declare (in) uvec3 arg0)\n"
1053 " (declare (in) uvec3 arg1))\n"
1054 " ((declare () bvec3 temp)\n"
1055 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression uint == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1056 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression uint == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1057 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression uint == (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1058 " (return (var_ref temp))))\n"
1060 " (signature bvec4\n"
1062 " (declare (in) uvec4 arg0)\n"
1063 " (declare (in) uvec4 arg1))\n"
1064 " ((declare () bvec4 temp)\n"
1065 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression uint == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1066 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression uint == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1067 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression uint == (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1068 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression uint == (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1069 " (return (var_ref temp))))\n"
1073 static const char *builtins_130_greaterThan
= {
1074 "((function greaterThan\n"
1075 " (signature bvec2\n"
1077 " (declare (in) uvec2 arg0)\n"
1078 " (declare (in) uvec2 arg1))\n"
1079 " ((declare () bvec2 temp)\n"
1080 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression uint > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1081 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression uint > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1082 " (return (var_ref temp))))\n"
1084 " (signature bvec3\n"
1086 " (declare (in) uvec3 arg0)\n"
1087 " (declare (in) uvec3 arg1))\n"
1088 " ((declare () bvec3 temp)\n"
1089 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression uint > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1090 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression uint > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1091 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression uint > (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1092 " (return (var_ref temp))))\n"
1094 " (signature bvec4\n"
1096 " (declare (in) uvec4 arg0)\n"
1097 " (declare (in) uvec4 arg1))\n"
1098 " ((declare () bvec4 temp)\n"
1099 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression uint > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1100 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression uint > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1101 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression uint > (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1102 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression uint > (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1103 " (return (var_ref temp))))\n"
1107 static const char *builtins_130_greaterThanEqual
= {
1108 "((function greaterThanEqual\n"
1109 " (signature bvec2\n"
1111 " (declare (in) uvec2 arg0)\n"
1112 " (declare (in) uvec2 arg1))\n"
1113 " ((declare () bvec2 temp)\n"
1114 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression uint >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1115 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression uint >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1116 " (return (var_ref temp))))\n"
1118 " (signature bvec3\n"
1120 " (declare (in) uvec3 arg0)\n"
1121 " (declare (in) uvec3 arg1))\n"
1122 " ((declare () bvec3 temp)\n"
1123 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression uint >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1124 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression uint >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1125 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression uint >= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1126 " (return (var_ref temp))))\n"
1128 " (signature bvec4\n"
1130 " (declare (in) uvec4 arg0)\n"
1131 " (declare (in) uvec4 arg1))\n"
1132 " ((declare () bvec4 temp)\n"
1133 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression uint >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1134 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression uint >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1135 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression uint >= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1136 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression uint >= (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1137 " (return (var_ref temp))))\n"
1141 static const char *builtins_130_lessThan
= {
1142 "((function lessThan\n"
1143 " (signature bvec2\n"
1145 " (declare (in) uvec2 arg0)\n"
1146 " (declare (in) uvec2 arg1))\n"
1147 " ((declare () bvec2 temp)\n"
1148 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression uint < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1149 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression uint < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1150 " (return (var_ref temp))))\n"
1152 " (signature bvec3\n"
1154 " (declare (in) uvec3 arg0)\n"
1155 " (declare (in) uvec3 arg1))\n"
1156 " ((declare () bvec3 temp)\n"
1157 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression uint < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1158 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression uint < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1159 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression uint < (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1160 " (return (var_ref temp))))\n"
1162 " (signature bvec4\n"
1164 " (declare (in) uvec4 arg0)\n"
1165 " (declare (in) uvec4 arg1))\n"
1166 " ((declare () bvec4 temp)\n"
1167 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression uint < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1168 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression uint < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1169 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression uint < (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1170 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression uint < (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1171 " (return (var_ref temp))))\n"
1175 static const char *builtins_130_lessThanEqual
= {
1176 "((function lessThanEqual\n"
1177 " (signature bvec2\n"
1179 " (declare (in) uvec2 arg0)\n"
1180 " (declare (in) uvec2 arg1))\n"
1181 " ((declare () bvec2 temp)\n"
1182 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression uint <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1183 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression uint <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1184 " (return (var_ref temp))))\n"
1186 " (signature bvec3\n"
1188 " (declare (in) uvec3 arg0)\n"
1189 " (declare (in) uvec3 arg1))\n"
1190 " ((declare () bvec3 temp)\n"
1191 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression uint <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1192 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression uint <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1193 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression uint <= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1194 " (return (var_ref temp))))\n"
1196 " (signature bvec4\n"
1198 " (declare (in) uvec4 arg0)\n"
1199 " (declare (in) uvec4 arg1))\n"
1200 " ((declare () bvec4 temp)\n"
1201 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression uint <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1202 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression uint <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1203 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression uint <= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1204 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression uint <= (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1205 " (return (var_ref temp))))\n"
1209 static const char *builtins_130_notEqual
= {
1210 "((function notEqual\n"
1211 " (signature bvec2\n"
1213 " (declare (in) uvec2 arg0)\n"
1214 " (declare (in) uvec2 arg1))\n"
1215 " ((declare () bvec2 temp)\n"
1216 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression uint != (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1217 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression uint != (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1218 " (return (var_ref temp))))\n"
1220 " (signature bvec3\n"
1222 " (declare (in) uvec3 arg0)\n"
1223 " (declare (in) uvec3 arg1))\n"
1224 " ((declare () bvec3 temp)\n"
1225 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression uint != (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1226 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression uint != (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1227 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression uint != (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1228 " (return (var_ref temp))))\n"
1230 " (signature bvec4\n"
1232 " (declare (in) uvec4 arg0)\n"
1233 " (declare (in) uvec4 arg1))\n"
1234 " ((declare () bvec4 temp)\n"
1235 " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression uint != (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
1236 " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression uint != (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
1237 " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression uint != (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
1238 " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression uint != (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
1239 " (return (var_ref temp))))\n"
1243 static const char *functions_for_130
[] = {
1245 builtins_130_greaterThan
,
1246 builtins_130_greaterThanEqual
,
1247 builtins_130_lessThan
,
1248 builtins_130_lessThanEqual
,
1249 builtins_130_notEqual
,
1253 _mesa_glsl_initialize_functions(exec_list
*instructions
,
1254 struct _mesa_glsl_parse_state
*state
)
1256 if (state
->language_version
>= 110)
1257 read_builtins(state
, instructions
, functions_for_110
,
1258 sizeof(functions_for_110
) / sizeof(const char *));
1260 if (state
->language_version
>= 130)
1261 read_builtins(state
, instructions
, functions_for_130
,
1262 sizeof(functions_for_130
) / sizeof(const char *));