summaryrefslogtreecommitdiff
path: root/src/glsl/builtin_function.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/glsl/builtin_function.cpp')
-rw-r--r--src/glsl/builtin_function.cpp24404
1 files changed, 24404 insertions, 0 deletions
diff --git a/src/glsl/builtin_function.cpp b/src/glsl/builtin_function.cpp
new file mode 100644
index 0000000000..652e4f61bb
--- /dev/null
+++ b/src/glsl/builtin_function.cpp
@@ -0,0 +1,24404 @@
+/* DO NOT MODIFY - automatically generated by generate_builtins.py */
+/*
+ * Copyright © 2010 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+#include <stdio.h>
+#include "main/compiler.h"
+#include "glsl_parser_extras.h"
+#include "ir_reader.h"
+#include "program.h"
+#include "ast.h"
+
+extern "C" struct gl_shader *
+_mesa_new_shader(GLcontext *ctx, GLuint name, GLenum type);
+
+gl_shader *
+read_builtins(GLenum target, const char *protos, const char **functions, unsigned count)
+{
+ gl_shader *sh = _mesa_new_shader(NULL, 0, target);
+ struct _mesa_glsl_parse_state *st =
+ new(sh) _mesa_glsl_parse_state(NULL, target, sh);
+
+ st->language_version = 130;
+ st->ARB_texture_rectangle_enable = true;
+ st->EXT_texture_array_enable = true;
+ _mesa_glsl_initialize_types(st);
+
+ sh->ir = new(sh) exec_list;
+ sh->symbols = st->symbols;
+
+ /* Read the IR containing the prototypes */
+ _mesa_glsl_read_ir(st, sh->ir, protos, true);
+
+ /* Read ALL the function bodies, telling the IR reader not to scan for
+ * prototypes (we've already created them). The IR reader will skip any
+ * signature that does not already exist as a prototype.
+ */
+ for (unsigned i = 0; i < count; i++) {
+ _mesa_glsl_read_ir(st, sh->ir, functions[i], false);
+
+ if (st->error) {
+ printf("error reading builtin: %.35s ...\n", functions[i]);
+ talloc_free(sh);
+ return NULL;
+ }
+ }
+
+ reparent_ir(sh->ir, sh);
+ delete st;
+
+ return sh;
+}
+
+static const char *builtin_all =
+ "((function all\n"
+ " (signature bool\n"
+ " (parameters\n"
+ " (declare (in) bvec2 arg0))\n"
+ " ((return (expression bool && (swiz x (var_ref arg0))(swiz y (var_ref arg0))))))\n"
+ "\n"
+ " (signature bool\n"
+ " (parameters\n"
+ " (declare (in) bvec3 arg0))\n"
+ " ((return (expression bool && (expression bool && (swiz x (var_ref arg0))(swiz y (var_ref arg0))) (swiz z (var_ref arg0))))))\n"
+ "\n"
+ " (signature bool\n"
+ " (parameters\n"
+ " (declare (in) bvec4 arg0))\n"
+ " ((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"
+ "))\n"
+ ""
+;
+static const char *builtin_textureProj =
+ "((function textureProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler1D sampler)\n"
+ " (declare (in) vec2 P) )\n"
+ " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler1D sampler)\n"
+ " (declare (in) vec2 P) )\n"
+ " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler1D sampler)\n"
+ " (declare (in) vec2 P) )\n"
+ " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler1D sampler)\n"
+ " (declare (in) vec4 P) )\n"
+ " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler1D sampler)\n"
+ " (declare (in) vec4 P) )\n"
+ " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler1D sampler)\n"
+ " (declare (in) vec4 P) )\n"
+ " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler2D sampler)\n"
+ " (declare (in) vec3 P) )\n"
+ " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler2D sampler)\n"
+ " (declare (in) vec3 P) )\n"
+ " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler2D sampler)\n"
+ " (declare (in) vec3 P) )\n"
+ " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler2D sampler)\n"
+ " (declare (in) vec4 P) )\n"
+ " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler2D sampler)\n"
+ " (declare (in) vec4 P) )\n"
+ " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler2D sampler)\n"
+ " (declare (in) vec4 P) )\n"
+ " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler3D sampler)\n"
+ " (declare (in) vec4 P) )\n"
+ " ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler3D sampler)\n"
+ " (declare (in) vec4 P) )\n"
+ " ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler3D sampler)\n"
+ " (declare (in) vec4 P) )\n"
+ " ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler1D sampler)\n"
+ " (declare (in) vec2 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler1D sampler)\n"
+ " (declare (in) vec2 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler1D sampler)\n"
+ " (declare (in) vec2 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler1D sampler)\n"
+ " (declare (in) vec4 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler1D sampler)\n"
+ " (declare (in) vec4 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler1D sampler)\n"
+ " (declare (in) vec4 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler2D sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler2D sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler2D sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler2D sampler)\n"
+ " (declare (in) vec4 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler2D sampler)\n"
+ " (declare (in) vec4 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler2D sampler)\n"
+ " (declare (in) vec4 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler3D sampler)\n"
+ " (declare (in) vec4 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler3D sampler)\n"
+ " (declare (in) vec4 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler3D sampler)\n"
+ " (declare (in) vec4 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_fwidth =
+ "((function fwidth\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) float p))\n"
+ " ((return (expression float +\n"
+ " (expression float abs (expression float dFdx (var_ref p)))\n"
+ " (expression float abs (expression float dFdy (var_ref p)))))))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 p))\n"
+ " ((return (expression vec2 +\n"
+ " (expression vec2 abs (expression vec2 dFdx (var_ref p)))\n"
+ " (expression vec2 abs (expression vec2 dFdy (var_ref p)))))))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 p))\n"
+ " ((return (expression vec3 +\n"
+ " (expression vec3 abs (expression vec3 dFdx (var_ref p)))\n"
+ " (expression vec3 abs (expression vec3 dFdy (var_ref p)))))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 p))\n"
+ " ((return (expression vec4 +\n"
+ " (expression vec4 abs (expression vec4 dFdx (var_ref p)))\n"
+ " (expression vec4 abs (expression vec4 dFdy (var_ref p)))))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_texture2DProj =
+ "((function texture2DProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler2D sampler)\n"
+ " (declare (in) vec3 P) )\n"
+ " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler2D sampler)\n"
+ " (declare (in) vec4 P) )\n"
+ " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler2D sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler2D sampler)\n"
+ " (declare (in) vec4 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_shadow1DProjLod =
+ "((function shadow1DProjLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler1DShadow sampler)\n"
+ " (declare (in) vec4 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((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"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_texture3DLod =
+ "((function texture3DLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler3D sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_textureCubeLod =
+ "((function textureCubeLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) samplerCube sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_texture =
+ "((function texture\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler1D sampler)\n"
+ " (declare (in) float P) )\n"
+ " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler1D sampler)\n"
+ " (declare (in) float P) )\n"
+ " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler1D sampler)\n"
+ " (declare (in) float P) )\n"
+ " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler2D sampler)\n"
+ " (declare (in) vec2 P) )\n"
+ " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler2D sampler)\n"
+ " (declare (in) vec2 P) )\n"
+ " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler2D sampler)\n"
+ " (declare (in) vec2 P) )\n"
+ " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler3D sampler)\n"
+ " (declare (in) vec3 P) )\n"
+ " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler3D sampler)\n"
+ " (declare (in) vec3 P) )\n"
+ " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler3D sampler)\n"
+ " (declare (in) vec3 P) )\n"
+ " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) samplerCube sampler)\n"
+ " (declare (in) vec3 P) )\n"
+ " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isamplerCube sampler)\n"
+ " (declare (in) vec3 P) )\n"
+ " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usamplerCube sampler)\n"
+ " (declare (in) vec3 P) )\n"
+ " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler1DArray sampler)\n"
+ " (declare (in) vec2 P) )\n"
+ " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler1DArray sampler)\n"
+ " (declare (in) vec2 P) )\n"
+ " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler1DArray sampler)\n"
+ " (declare (in) vec2 P) )\n"
+ " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler2DArray sampler)\n"
+ " (declare (in) vec3 P) )\n"
+ " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler2DArray sampler)\n"
+ " (declare (in) vec3 P) )\n"
+ " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler2DArray sampler)\n"
+ " (declare (in) vec3 P) )\n"
+ " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler1D sampler)\n"
+ " (declare (in) float P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler1D sampler)\n"
+ " (declare (in) float P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler1D sampler)\n"
+ " (declare (in) float P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler2D sampler)\n"
+ " (declare (in) vec2 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler2D sampler)\n"
+ " (declare (in) vec2 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler2D sampler)\n"
+ " (declare (in) vec2 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler3D sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler3D sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler3D sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) samplerCube sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isamplerCube sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usamplerCube sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler1DArray sampler)\n"
+ " (declare (in) vec2 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler1DArray sampler)\n"
+ " (declare (in) vec2 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler1DArray sampler)\n"
+ " (declare (in) vec2 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler2DArray sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler2DArray sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler2DArray sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_degrees =
+ "((function degrees\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) float arg0))\n"
+ " ((return (expression float * (var_ref arg0) (constant float (57.295780))))))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 arg0))\n"
+ " ((return (expression vec2 * (var_ref arg0) (constant float (57.295780))))))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 arg0))\n"
+ " ((return (expression vec3 * (var_ref arg0) (constant float (57.295780))))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 arg0))\n"
+ " ((return (expression vec4 * (var_ref arg0) (constant float (57.295780))))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_texture2DArrayLod =
+ "((function texture2DArrayLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler2DArray sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_ceil =
+ "((function ceil\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) float arg0))\n"
+ " ((return (expression float ceil (var_ref arg0)))))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 arg0))\n"
+ " ((return (expression vec2 ceil (var_ref arg0)))))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 arg0))\n"
+ " ((return (expression vec3 ceil (var_ref arg0)))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 arg0))\n"
+ " ((return (expression vec4 ceil (var_ref arg0)))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_texture1D =
+ "((function texture1D\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler1D sampler)\n"
+ " (declare (in) float P) )\n"
+ " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler1D sampler)\n"
+ " (declare (in) float P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_not =
+ "((function not\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in) bvec2 arg0))\n"
+ " ((return (expression bvec2 ! (var_ref arg0)))))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in) bvec3 arg0))\n"
+ " ((return (expression bvec3 ! (var_ref arg0)))))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in) bvec4 arg0))\n"
+ " ((return (expression bvec4 ! (var_ref arg0)))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_texture2DRectProj =
+ "((function texture2DRectProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler2DRect sampler)\n"
+ " (declare (in) vec3 P) )\n"
+ " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler2DRect sampler)\n"
+ " (declare (in) vec4 P) )\n"
+ " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_mod =
+ "((function mod\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) float arg0)\n"
+ " (declare (in) float arg1))\n"
+ " ((return (expression float % (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 arg0)\n"
+ " (declare (in) vec2 arg1))\n"
+ " ((return (expression vec2 % (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 arg0)\n"
+ " (declare (in) vec3 arg1))\n"
+ " ((return (expression vec3 % (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 arg0)\n"
+ " (declare (in) vec4 arg1))\n"
+ " ((return (expression vec4 % (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 arg0)\n"
+ " (declare (in) float arg1))\n"
+ " ((return (expression vec2 % (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 arg0)\n"
+ " (declare (in) float arg1))\n"
+ " ((return (expression vec3 % (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 arg0)\n"
+ " (declare (in) float arg1))\n"
+ " ((return (expression vec4 % (var_ref arg0) (var_ref arg1)))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_radians =
+ "((function radians\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) float arg0))\n"
+ " ((return (expression float * (var_ref arg0) (constant float (0.017453))))))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 arg0))\n"
+ " ((return (expression vec2 * (var_ref arg0) (constant float (0.017453))))))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 arg0))\n"
+ " ((return (expression vec3 * (var_ref arg0) (constant float (0.017453))))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 arg0))\n"
+ " ((return (expression vec4 * (var_ref arg0) (constant float (0.017453))))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_smoothstep =
+ "((function smoothstep\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) float edge0)\n"
+ " (declare (in) float edge1)\n"
+ " (declare (in) float x))\n"
+ " ((declare () float t)\n"
+ "\n"
+ " (assign (constant bool (1)) (var_ref t)\n"
+ " (expression float max\n"
+ " (expression float min\n"
+ " (expression float / (expression float - (var_ref x) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
+ " (constant float (1.0)))\n"
+ " (constant float (0.0))))\n"
+ " (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"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) float edge0)\n"
+ " (declare (in) float edge1)\n"
+ " (declare (in) vec2 x))\n"
+ " ((declare () vec2 t)\n"
+ " (declare () vec2 retval)\n"
+ "\n"
+ " (assign (constant bool (1)) (swiz x (var_ref t))\n"
+ " (expression float max\n"
+ " (expression float min\n"
+ " (expression float / (expression float - (swiz x (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
+ " (constant float (1.0)))\n"
+ " (constant float (0.0))))\n"
+ " (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"
+ "\n"
+ " (assign (constant bool (1)) (swiz y (var_ref t))\n"
+ " (expression float max\n"
+ " (expression float min\n"
+ " (expression float / (expression float - (swiz y (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
+ " (constant float (1.0)))\n"
+ " (constant float (0.0))))\n"
+ " (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"
+ " (return (var_ref retval))\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) float edge0)\n"
+ " (declare (in) float edge1)\n"
+ " (declare (in) vec3 x))\n"
+ " ((declare () vec3 t)\n"
+ " (declare () vec3 retval)\n"
+ "\n"
+ " (assign (constant bool (1)) (swiz x (var_ref t))\n"
+ " (expression float max\n"
+ " (expression float min\n"
+ " (expression float / (expression float - (swiz x (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
+ " (constant float (1.0)))\n"
+ " (constant float (0.0))))\n"
+ " (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"
+ "\n"
+ " (assign (constant bool (1)) (swiz y (var_ref t))\n"
+ " (expression float max\n"
+ " (expression float min\n"
+ " (expression float / (expression float - (swiz y (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
+ " (constant float (1.0)))\n"
+ " (constant float (0.0))))\n"
+ " (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"
+ "\n"
+ " (assign (constant bool (1)) (swiz z (var_ref t))\n"
+ " (expression float max\n"
+ " (expression float min\n"
+ " (expression float / (expression float - (swiz z (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
+ " (constant float (1.0)))\n"
+ " (constant float (0.0))))\n"
+ " (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"
+ " (return (var_ref retval))\n"
+ " ))\n"
+ "\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) float edge0)\n"
+ " (declare (in) float edge1)\n"
+ " (declare (in) vec4 x))\n"
+ " ((declare () vec4 t)\n"
+ " (declare () vec4 retval)\n"
+ "\n"
+ " (assign (constant bool (1)) (swiz x (var_ref t))\n"
+ " (expression float max\n"
+ " (expression float min\n"
+ " (expression float / (expression float - (swiz x (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
+ " (constant float (1.0)))\n"
+ " (constant float (0.0))))\n"
+ " (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"
+ "\n"
+ " (assign (constant bool (1)) (swiz y (var_ref t))\n"
+ " (expression float max\n"
+ " (expression float min\n"
+ " (expression float / (expression float - (swiz y (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
+ " (constant float (1.0)))\n"
+ " (constant float (0.0))))\n"
+ " (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"
+ "\n"
+ " (assign (constant bool (1)) (swiz z (var_ref t))\n"
+ " (expression float max\n"
+ " (expression float min\n"
+ " (expression float / (expression float - (swiz z (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
+ " (constant float (1.0)))\n"
+ " (constant float (0.0))))\n"
+ " (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"
+ "\n"
+ " (assign (constant bool (1)) (swiz w (var_ref t))\n"
+ " (expression float max\n"
+ " (expression float min\n"
+ " (expression float / (expression float - (swiz w (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
+ " (constant float (1.0)))\n"
+ " (constant float (0.0))))\n"
+ " (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"
+ " (return (var_ref retval))\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 edge0)\n"
+ " (declare (in) vec2 edge1)\n"
+ " (declare (in) vec2 x))\n"
+ " ((return (expression vec2 max\n"
+ " (expression vec2 min\n"
+ " (expression vec2 / (expression vec2 - (var_ref x) (var_ref edge0)) (expression vec2 - (var_ref edge1) (var_ref edge0)))\n"
+ " (constant vec2 (1.0 1.0)))\n"
+ " (constant vec2 (0.0 0.0))))))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 edge0)\n"
+ " (declare (in) vec3 edge1)\n"
+ " (declare (in) vec3 x))\n"
+ " ((return (expression vec3 max\n"
+ " (expression vec3 min\n"
+ " (expression vec3 / (expression vec3 - (var_ref x) (var_ref edge0)) (expression vec3 - (var_ref edge1) (var_ref edge0)))\n"
+ " (constant vec3 (1.0 1.0 1.0)))\n"
+ " (constant vec3 (0.0 0.0 0.0))))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 edge0)\n"
+ " (declare (in) vec4 edge1)\n"
+ " (declare (in) vec4 x))\n"
+ " ((return (expression vec4 max\n"
+ " (expression vec4 min\n"
+ " (expression vec4 / (expression vec4 - (var_ref x) (var_ref edge0)) (expression vec4 - (var_ref edge1) (var_ref edge0)))\n"
+ " (constant vec4 (1.0 1.0 1.0 1.0)))\n"
+ " (constant vec4 (0.0 0.0 0.0 0.0))))))\n"
+ "))\n"
+ "\n"
+ ""
+;
+static const char *builtin_textureProjGrad =
+ "((function textureProjGrad\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler1D sampler)\n"
+ " (declare (in) vec2 P) \n"
+ " (declare (in) float dPdx) \n"
+ " (declare (in) float dPdy) )\n"
+ " ((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"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler1D sampler)\n"
+ " (declare (in) vec2 P) \n"
+ " (declare (in) float dPdx) \n"
+ " (declare (in) float dPdy) )\n"
+ " ((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"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler1D sampler)\n"
+ " (declare (in) vec2 P) \n"
+ " (declare (in) float dPdx) \n"
+ " (declare (in) float dPdy) )\n"
+ " ((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"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler1D sampler)\n"
+ " (declare (in) vec4 P) \n"
+ " (declare (in) float dPdx) \n"
+ " (declare (in) float dPdy) )\n"
+ " ((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"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler1D sampler)\n"
+ " (declare (in) vec4 P) \n"
+ " (declare (in) float dPdx) \n"
+ " (declare (in) float dPdy) )\n"
+ " ((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"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler1D sampler)\n"
+ " (declare (in) vec4 P) \n"
+ " (declare (in) float dPdx) \n"
+ " (declare (in) float dPdy) )\n"
+ " ((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"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler2D sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) vec2 dPdx) \n"
+ " (declare (in) vec2 dPdy) )\n"
+ " ((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"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler2D sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) vec2 dPdx) \n"
+ " (declare (in) vec2 dPdy) )\n"
+ " ((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"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler2D sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) vec2 dPdx) \n"
+ " (declare (in) vec2 dPdy) )\n"
+ " ((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"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler2D sampler)\n"
+ " (declare (in) vec4 P) \n"
+ " (declare (in) vec2 dPdx) \n"
+ " (declare (in) vec2 dPdy) )\n"
+ " ((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"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler2D sampler)\n"
+ " (declare (in) vec4 P) \n"
+ " (declare (in) vec2 dPdx) \n"
+ " (declare (in) vec2 dPdy) )\n"
+ " ((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"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler2D sampler)\n"
+ " (declare (in) vec4 P) \n"
+ " (declare (in) vec2 dPdx) \n"
+ " (declare (in) vec2 dPdy) )\n"
+ " ((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"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler3D sampler)\n"
+ " (declare (in) vec4 P) \n"
+ " (declare (in) vec3 dPdx) \n"
+ " (declare (in) vec3 dPdy) )\n"
+ " ((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"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler3D sampler)\n"
+ " (declare (in) vec4 P) \n"
+ " (declare (in) vec3 dPdx) \n"
+ " (declare (in) vec3 dPdy) )\n"
+ " ((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"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler3D sampler)\n"
+ " (declare (in) vec4 P) \n"
+ " (declare (in) vec3 dPdx) \n"
+ " (declare (in) vec3 dPdy) )\n"
+ " ((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"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_dFdx =
+ "((function dFdx\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) float p))\n"
+ " ((return (expression float dFdx (var_ref p)))))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 p))\n"
+ " ((return (expression vec2 dFdx (var_ref p)))))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 p))\n"
+ " ((return (expression vec3 dFdx (var_ref p)))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 p))\n"
+ " ((return (expression vec4 dFdx (var_ref p)))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_dFdy =
+ "((function dFdy\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) float p))\n"
+ " ((return (expression float dFdy (var_ref p)))))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 p))\n"
+ " ((return (expression vec2 dFdy (var_ref p)))))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 p))\n"
+ " ((return (expression vec3 dFdy (var_ref p)))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 p))\n"
+ " ((return (expression vec4 dFdy (var_ref p)))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_textureGrad =
+ "((function textureGrad\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler1D sampler)\n"
+ " (declare (in) float P) \n"
+ " (declare (in) float dPdx) \n"
+ " (declare (in) float dPdy) )\n"
+ " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler1D sampler)\n"
+ " (declare (in) float P) \n"
+ " (declare (in) float dPdx) \n"
+ " (declare (in) float dPdy) )\n"
+ " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler1D sampler)\n"
+ " (declare (in) float P) \n"
+ " (declare (in) float dPdx) \n"
+ " (declare (in) float dPdy) )\n"
+ " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler2D sampler)\n"
+ " (declare (in) vec2 P) \n"
+ " (declare (in) vec2 dPdx) \n"
+ " (declare (in) vec2 dPdy) )\n"
+ " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler2D sampler)\n"
+ " (declare (in) vec2 P) \n"
+ " (declare (in) vec2 dPdx) \n"
+ " (declare (in) vec2 dPdy) )\n"
+ " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler2D sampler)\n"
+ " (declare (in) vec2 P) \n"
+ " (declare (in) vec2 dPdx) \n"
+ " (declare (in) vec2 dPdy) )\n"
+ " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler3D sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) vec3 dPdx) \n"
+ " (declare (in) vec3 dPdy) )\n"
+ " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler3D sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) vec3 dPdx) \n"
+ " (declare (in) vec3 dPdy) )\n"
+ " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler3D sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) vec3 dPdx) \n"
+ " (declare (in) vec3 dPdy) )\n"
+ " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) samplerCube sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) vec3 dPdx) \n"
+ " (declare (in) vec3 dPdy) )\n"
+ " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isamplerCube sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) vec3 dPdx) \n"
+ " (declare (in) vec3 dPdy) )\n"
+ " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usamplerCube sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) vec3 dPdx) \n"
+ " (declare (in) vec3 dPdy) )\n"
+ " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler1DArray sampler)\n"
+ " (declare (in) vec2 P) \n"
+ " (declare (in) vec2 dPdx) \n"
+ " (declare (in) vec2 dPdy) )\n"
+ " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler1DArray sampler)\n"
+ " (declare (in) vec2 P) \n"
+ " (declare (in) vec2 dPdx) \n"
+ " (declare (in) vec2 dPdy) )\n"
+ " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler1DArray sampler)\n"
+ " (declare (in) vec2 P) \n"
+ " (declare (in) vec2 dPdx) \n"
+ " (declare (in) vec2 dPdy) )\n"
+ " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler2DArray sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) vec3 dPdx) \n"
+ " (declare (in) vec3 dPdy) )\n"
+ " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler2DArray sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) vec3 dPdx) \n"
+ " (declare (in) vec3 dPdy) )\n"
+ " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler2DArray sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) vec3 dPdx) \n"
+ " (declare (in) vec3 dPdy) )\n"
+ " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_clamp =
+ "((function clamp\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) float arg0)\n"
+ " (declare (in) float arg1)\n"
+ " (declare (in) float arg2))\n"
+ " ((return (expression float max (expression float min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 arg0)\n"
+ " (declare (in) vec2 arg1)\n"
+ " (declare (in) vec2 arg2))\n"
+ " ((return (expression vec2 max (expression vec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 arg0)\n"
+ " (declare (in) vec3 arg1)\n"
+ " (declare (in) vec3 arg2))\n"
+ " ((return (expression vec3 max (expression vec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 arg0)\n"
+ " (declare (in) vec4 arg1)\n"
+ " (declare (in) vec4 arg2))\n"
+ " ((return (expression vec4 max (expression vec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 arg0)\n"
+ " (declare (in) float arg1)\n"
+ " (declare (in) float arg2))\n"
+ " ((return (expression vec2 max (expression vec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 arg0)\n"
+ " (declare (in) float arg1)\n"
+ " (declare (in) float arg2))\n"
+ " ((return (expression vec3 max (expression vec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 arg0)\n"
+ " (declare (in) float arg1)\n"
+ " (declare (in) float arg2))\n"
+ " ((return (expression vec4 max (expression vec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
+ "\n"
+ " (signature int\n"
+ " (parameters\n"
+ " (declare (in) int arg0)\n"
+ " (declare (in) int arg1)\n"
+ " (declare (in) int arg2))\n"
+ " ((return (expression int max (expression int min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
+ "\n"
+ " (signature ivec2\n"
+ " (parameters\n"
+ " (declare (in) ivec2 arg0)\n"
+ " (declare (in) ivec2 arg1)\n"
+ " (declare (in) ivec2 arg2))\n"
+ " ((return (expression ivec2 max (expression ivec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
+ "\n"
+ " (signature ivec3\n"
+ " (parameters\n"
+ " (declare (in) ivec3 arg0)\n"
+ " (declare (in) ivec3 arg1)\n"
+ " (declare (in) ivec3 arg2))\n"
+ " ((return (expression ivec3 max (expression ivec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) ivec4 arg0)\n"
+ " (declare (in) ivec4 arg1)\n"
+ " (declare (in) ivec4 arg2))\n"
+ " ((return (expression ivec4 max (expression ivec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
+ "\n"
+ " (signature ivec2\n"
+ " (parameters\n"
+ " (declare (in) ivec2 arg0)\n"
+ " (declare (in) int arg1)\n"
+ " (declare (in) int arg2))\n"
+ " ((return (expression ivec2 max (expression ivec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
+ "\n"
+ " (signature ivec3\n"
+ " (parameters\n"
+ " (declare (in) ivec3 arg0)\n"
+ " (declare (in) int arg1)\n"
+ " (declare (in) int arg2))\n"
+ " ((return (expression ivec3 max (expression ivec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) ivec4 arg0)\n"
+ " (declare (in) int arg1)\n"
+ " (declare (in) int arg2))\n"
+ " ((return (expression ivec4 max (expression ivec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
+ "\n"
+ " (signature uint\n"
+ " (parameters\n"
+ " (declare (in) uint arg0)\n"
+ " (declare (in) uint arg1)\n"
+ " (declare (in) uint arg2))\n"
+ " ((return (expression uint max (expression uint min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
+ "\n"
+ " (signature uvec2\n"
+ " (parameters\n"
+ " (declare (in) uvec2 arg0)\n"
+ " (declare (in) uvec2 arg1)\n"
+ " (declare (in) uvec2 arg2))\n"
+ " ((return (expression uvec2 max (expression uvec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
+ "\n"
+ " (signature uvec3\n"
+ " (parameters\n"
+ " (declare (in) uvec3 arg0)\n"
+ " (declare (in) uvec3 arg1)\n"
+ " (declare (in) uvec3 arg2))\n"
+ " ((return (expression uvec3 max (expression uvec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) uvec4 arg0)\n"
+ " (declare (in) uvec4 arg1)\n"
+ " (declare (in) uvec4 arg2))\n"
+ " ((return (expression uvec4 max (expression uvec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
+ "\n"
+ " (signature uvec2\n"
+ " (parameters\n"
+ " (declare (in) uvec2 arg0)\n"
+ " (declare (in) uint arg1)\n"
+ " (declare (in) uint arg2))\n"
+ " ((return (expression uvec2 max (expression uvec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
+ "\n"
+ " (signature uvec3\n"
+ " (parameters\n"
+ " (declare (in) uvec3 arg0)\n"
+ " (declare (in) uint arg1)\n"
+ " (declare (in) uint arg2))\n"
+ " ((return (expression uvec3 max (expression uvec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) uvec4 arg0)\n"
+ " (declare (in) uint arg1)\n"
+ " (declare (in) uint arg2))\n"
+ " ((return (expression uvec4 max (expression uvec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_texture2DRect =
+ "((function texture2DRect\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler2DRect sampler)\n"
+ " (declare (in) vec2 P) )\n"
+ " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_cosh =
+ "((function cosh\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) float x))\n"
+ " ((return (expression float * (constant float (0.5))\n"
+ " (expression float +\n"
+ " (expression float exp (var_ref x))\n"
+ " (expression float exp (expression float neg (var_ref x))))))))\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 x))\n"
+ " ((return (expression vec2 * (constant vec2 (0.5))\n"
+ " (expression vec2 +\n"
+ " (expression vec2 exp (var_ref x))\n"
+ " (expression vec2 exp (expression vec2 neg (var_ref x))))))))\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 x))\n"
+ " ((return (expression vec3 * (constant vec3 (0.5))\n"
+ " (expression vec3 +\n"
+ " (expression vec3 exp (var_ref x))\n"
+ " (expression vec3 exp (expression vec3 neg (var_ref x))))))))\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 x))\n"
+ " ((return (expression vec4 * (constant vec4 (0.5))\n"
+ " (expression vec4 +\n"
+ " (expression vec4 exp (var_ref x))\n"
+ " (expression vec4 exp (expression vec4 neg (var_ref x))))))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_texture1DArrayLod =
+ "((function texture1DArrayLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler1DArray sampler)\n"
+ " (declare (in) vec2 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_asin =
+ "((function asin\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) float x))\n"
+ " ((return (expression float *\n"
+ " (expression float sign (var_ref x))\n"
+ " (expression float -\n"
+ " (expression float *\n"
+ " (constant float (3.1415926))\n"
+ " (constant float (0.5)))\n"
+ " (expression float *\n"
+ " (expression float sqrt\n"
+ " (expression float -\n"
+ " (constant float (1.0))\n"
+ " (expression float abs (var_ref x))))\n"
+ " (expression float +\n"
+ " (constant float (1.5707288))\n"
+ " (expression float *\n"
+ " (expression float abs (var_ref x))\n"
+ " (expression float +\n"
+ " (constant float (-0.2121144))\n"
+ " (expression float *\n"
+ " (constant float (0.0742610))\n"
+ " (expression float abs (var_ref x))))))))))))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 x))\n"
+ " ((return (expression vec2 *\n"
+ " (expression vec2 sign (var_ref x))\n"
+ " (expression vec2 -\n"
+ " (expression float *\n"
+ " (constant float (3.1415926))\n"
+ " (constant float (0.5)))\n"
+ " (expression vec2 *\n"
+ " (expression vec2 sqrt\n"
+ " (expression vec2 -\n"
+ " (constant float (1.0))\n"
+ " (expression vec2 abs (var_ref x))))\n"
+ " (expression vec2 +\n"
+ " (constant float (1.5707288))\n"
+ " (expression vec2 *\n"
+ " (expression vec2 abs (var_ref x))\n"
+ " (expression vec2 +\n"
+ " (constant float (-0.2121144))\n"
+ " (expression vec2 *\n"
+ " (constant float (0.0742610))\n"
+ " (expression vec2 abs (var_ref x))))))))))))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 x))\n"
+ " ((return (expression vec3 *\n"
+ " (expression vec3 sign (var_ref x))\n"
+ " (expression vec3 -\n"
+ " (expression float *\n"
+ " (constant float (3.1415926))\n"
+ " (constant float (0.5)))\n"
+ " (expression vec3 *\n"
+ " (expression vec3 sqrt\n"
+ " (expression vec3 -\n"
+ " (constant float (1.0))\n"
+ " (expression vec3 abs (var_ref x))))\n"
+ " (expression vec3 +\n"
+ " (constant float (1.5707288))\n"
+ " (expression vec3 *\n"
+ " (expression vec3 abs (var_ref x))\n"
+ " (expression vec3 +\n"
+ " (constant float (-0.2121144))\n"
+ " (expression vec3 *\n"
+ " (constant float (0.0742610))\n"
+ " (expression vec3 abs (var_ref x))))))))))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 x))\n"
+ " ((return (expression vec4 *\n"
+ " (expression vec4 sign (var_ref x))\n"
+ " (expression vec4 -\n"
+ " (expression float *\n"
+ " (constant float (3.1415926))\n"
+ " (constant float (0.5)))\n"
+ " (expression vec4 *\n"
+ " (expression vec4 sqrt\n"
+ " (expression vec4 -\n"
+ " (constant float (1.0))\n"
+ " (expression vec4 abs (var_ref x))))\n"
+ " (expression vec4 +\n"
+ " (constant float (1.5707288))\n"
+ " (expression vec4 *\n"
+ " (expression vec4 abs (var_ref x))\n"
+ " (expression vec4 +\n"
+ " (constant float (-0.2121144))\n"
+ " (expression vec4 *\n"
+ " (constant float (0.0742610))\n"
+ " (expression vec4 abs (var_ref x))))))))))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_texture1DProj =
+ "((function texture1DProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler1D sampler)\n"
+ " (declare (in) vec2 P) )\n"
+ " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler1D sampler)\n"
+ " (declare (in) vec4 P) )\n"
+ " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler1D sampler)\n"
+ " (declare (in) vec2 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler1D sampler)\n"
+ " (declare (in) vec4 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_lessThan =
+ "((function lessThan\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 arg0)\n"
+ " (declare (in) vec2 arg1))\n"
+ " ((declare () bvec2 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 arg0)\n"
+ " (declare (in) vec3 arg1))\n"
+ " ((declare () bvec3 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 arg0)\n"
+ " (declare (in) vec4 arg1))\n"
+ " ((declare () bvec4 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool < (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in) ivec2 arg0)\n"
+ " (declare (in) ivec2 arg1))\n"
+ " ((declare () bvec2 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in) ivec3 arg0)\n"
+ " (declare (in) ivec3 arg1))\n"
+ " ((declare () bvec3 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in) ivec4 arg0)\n"
+ " (declare (in) ivec4 arg1))\n"
+ " ((declare () bvec4 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool < (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in) uvec2 arg0)\n"
+ " (declare (in) uvec2 arg1))\n"
+ " ((declare () bvec2 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in) uvec3 arg0)\n"
+ " (declare (in) uvec3 arg1))\n"
+ " ((declare () bvec3 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in) uvec4 arg0)\n"
+ " (declare (in) uvec4 arg1))\n"
+ " ((declare () bvec4 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool < (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool < (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool < (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool < (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_shadow2DProj =
+ "((function shadow2DProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler2DShadow sampler)\n"
+ " (declare (in) vec4 P) )\n"
+ " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler2DShadow sampler)\n"
+ " (declare (in) vec4 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((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"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_textureLod =
+ "((function textureLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler1D sampler)\n"
+ " (declare (in) float P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler1D sampler)\n"
+ " (declare (in) float P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler1D sampler)\n"
+ " (declare (in) float P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler2D sampler)\n"
+ " (declare (in) vec2 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler2D sampler)\n"
+ " (declare (in) vec2 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler2D sampler)\n"
+ " (declare (in) vec2 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler3D sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler3D sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler3D sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) samplerCube sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isamplerCube sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usamplerCube sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler1DArray sampler)\n"
+ " (declare (in) vec2 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler1DArray sampler)\n"
+ " (declare (in) vec2 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler1DArray sampler)\n"
+ " (declare (in) vec2 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler2DArray sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler2DArray sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler2DArray sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_faceforward =
+ "((function faceforward\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) float N)\n"
+ " (declare (in) float I)\n"
+ " (declare (in) float Nref))\n"
+ " ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n"
+ " ((return (var_ref N)))\n"
+ " ((return (expression float neg (var_ref N)))))))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 N)\n"
+ " (declare (in) vec2 I)\n"
+ " (declare (in) vec2 Nref))\n"
+ " ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n"
+ " ((return (var_ref N)))\n"
+ " ((return (expression vec2 neg (var_ref N)))))))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 N)\n"
+ " (declare (in) vec3 I)\n"
+ " (declare (in) vec3 Nref))\n"
+ " ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n"
+ " ((return (var_ref N)))\n"
+ " ((return (expression vec3 neg (var_ref N)))))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 N)\n"
+ " (declare (in) vec4 I)\n"
+ " (declare (in) vec4 Nref))\n"
+ " ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n"
+ " ((return (var_ref N)))\n"
+ " ((return (expression vec4 neg (var_ref N)))))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_abs =
+ "((function abs\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) float arg0))\n"
+ " ((return (expression float abs (var_ref arg0)))))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 arg0))\n"
+ " ((return (expression vec2 abs (var_ref arg0)))))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 arg0))\n"
+ " ((return (expression vec3 abs (var_ref arg0)))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 arg0))\n"
+ " ((return (expression vec4 abs (var_ref arg0)))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_log2 =
+ "((function log2\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) float arg0))\n"
+ " ((return (expression float log2 (var_ref arg0)))))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 arg0))\n"
+ " ((return (expression vec2 log2 (var_ref arg0)))))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 arg0))\n"
+ " ((return (expression vec3 log2 (var_ref arg0)))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 arg0))\n"
+ " ((return (expression vec4 log2 (var_ref arg0)))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_shadow2DRect =
+ "((function shadow2DRect\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler2DRectShadow sampler)\n"
+ " (declare (in) vec3 P) )\n"
+ " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) ))))\n"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_lessThanEqual =
+ "((function lessThanEqual\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 arg0)\n"
+ " (declare (in) vec2 arg1))\n"
+ " ((declare () bvec2 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 arg0)\n"
+ " (declare (in) vec3 arg1))\n"
+ " ((declare () bvec3 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 arg0)\n"
+ " (declare (in) vec4 arg1))\n"
+ " ((declare () bvec4 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool <= (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in) ivec2 arg0)\n"
+ " (declare (in) ivec2 arg1))\n"
+ " ((declare () bvec2 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in) ivec3 arg0)\n"
+ " (declare (in) ivec3 arg1))\n"
+ " ((declare () bvec3 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in) ivec4 arg0)\n"
+ " (declare (in) ivec4 arg1))\n"
+ " ((declare () bvec4 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool <= (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in) uvec2 arg0)\n"
+ " (declare (in) uvec2 arg1))\n"
+ " ((declare () bvec2 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in) uvec3 arg0)\n"
+ " (declare (in) uvec3 arg1))\n"
+ " ((declare () bvec3 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in) uvec4 arg0)\n"
+ " (declare (in) uvec4 arg1))\n"
+ " ((declare () bvec4 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool <= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool <= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool <= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool <= (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_transpose =
+ "((function transpose\n"
+ " (signature mat2\n"
+ " (parameters\n"
+ " (declare (in) mat2 m))\n"
+ " ((declare () mat2 t)\n"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ "(return (var_ref t))))\n"
+ "\n"
+ " (signature mat3x2\n"
+ " (parameters\n"
+ " (declare (in) mat2x3 m))\n"
+ " ((declare () mat3x2 t)\n"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ "(return (var_ref t))))\n"
+ "\n"
+ " (signature mat4x2\n"
+ " (parameters\n"
+ " (declare (in) mat2x4 m))\n"
+ " ((declare () mat4x2 t)\n"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ "(return (var_ref t))))\n"
+ "\n"
+ " (signature mat2x3\n"
+ " (parameters\n"
+ " (declare (in) mat3x2 m))\n"
+ " ((declare () mat2x3 t)\n"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ "(return (var_ref t))))\n"
+ "\n"
+ " (signature mat3\n"
+ " (parameters\n"
+ " (declare (in) mat3 m))\n"
+ " ((declare () mat3 t)\n"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ "(return (var_ref t))))\n"
+ "\n"
+ " (signature mat4x3\n"
+ " (parameters\n"
+ " (declare (in) mat3x4 m))\n"
+ " ((declare () mat4x3 t)\n"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ "(return (var_ref t))))\n"
+ "\n"
+ " (signature mat2x4\n"
+ " (parameters\n"
+ " (declare (in) mat4x2 m))\n"
+ " ((declare () mat2x4 t)\n"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ "(return (var_ref t))))\n"
+ "\n"
+ " (signature mat3x4\n"
+ " (parameters\n"
+ " (declare (in) mat4x3 m))\n"
+ " ((declare () mat3x4 t)\n"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ "(return (var_ref t))))\n"
+ "\n"
+ " (signature mat4\n"
+ " (parameters\n"
+ " (declare (in) mat4 m))\n"
+ " ((declare () mat4 t)\n"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ "(return (var_ref t))))\n"
+ ")\n"
+ "\n"
+ ")\n"
+ "\n"
+ ""
+;
+static const char *builtin_step =
+ "((function step\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) float edge)\n"
+ " (declare (in) float x))\n"
+ " ((return (expression float b2f (expression bool >= (var_ref x) (var_ref edge))))))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) float edge)\n"
+ " (declare (in) vec2 x))\n"
+ " ((declare () vec2 t)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref t)) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge))))\n"
+ " (assign (constant bool (1)) (swiz y (var_ref t)) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge))))\n"
+ " (return (var_ref t))))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) float edge)\n"
+ " (declare (in) vec3 x))\n"
+ " ((declare () vec3 t)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref t)) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge))))\n"
+ " (assign (constant bool (1)) (swiz y (var_ref t)) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge))))\n"
+ " (assign (constant bool (1)) (swiz z (var_ref t)) (expression float b2f (expression bool >= (swiz z (var_ref x))(var_ref edge))))\n"
+ " (return (var_ref t))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) float edge)\n"
+ " (declare (in) vec4 x))\n"
+ " ((declare () vec4 t)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref t)) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge))))\n"
+ " (assign (constant bool (1)) (swiz y (var_ref t)) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge))))\n"
+ " (assign (constant bool (1)) (swiz z (var_ref t)) (expression float b2f (expression bool >= (swiz z (var_ref x))(var_ref edge))))\n"
+ " (assign (constant bool (1)) (swiz w (var_ref t)) (expression float b2f (expression bool >= (swiz w (var_ref x))(var_ref edge))))\n"
+ " (return (var_ref t))))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 edge)\n"
+ " (declare (in) vec2 x))\n"
+ " ((declare () vec2 t)\n"
+ " (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"
+ " (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"
+ " (return (var_ref t))))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 edge)\n"
+ " (declare (in) vec3 x))\n"
+ " ((declare () vec3 t)\n"
+ " (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"
+ " (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"
+ " (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"
+ " (return (var_ref t))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 edge)\n"
+ " (declare (in) vec4 x))\n"
+ " ((declare () vec4 t)\n"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ " (return (var_ref t))))\n"
+ "))\n"
+ "\n"
+ ""
+;
+static const char *builtin_sinh =
+ "((function sinh\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) float x))\n"
+ " ((return (expression float * (constant float (0.5))\n"
+ " (expression float -\n"
+ " (expression float exp (var_ref x))\n"
+ " (expression float exp (expression float neg (var_ref x))))))))\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 x))\n"
+ " ((return (expression vec2 * (constant vec2 (0.5))\n"
+ " (expression vec2 -\n"
+ " (expression vec2 exp (var_ref x))\n"
+ " (expression vec2 exp (expression vec2 neg (var_ref x))))))))\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 x))\n"
+ " ((return (expression vec3 * (constant vec3 (0.5))\n"
+ " (expression vec3 -\n"
+ " (expression vec3 exp (var_ref x))\n"
+ " (expression vec3 exp (expression vec3 neg (var_ref x))))))))\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 x))\n"
+ " ((return (expression vec4 * (constant vec4 (0.5))\n"
+ " (expression vec4 -\n"
+ " (expression vec4 exp (var_ref x))\n"
+ " (expression vec4 exp (expression vec4 neg (var_ref x))))))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_cos =
+ "((function cos\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) float angle))\n"
+ " ((return (expression float cos (var_ref angle)))))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 angle))\n"
+ " ((return (expression vec2 cos (var_ref angle)))))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 angle))\n"
+ " ((return (expression vec3 cos (var_ref angle)))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 angle))\n"
+ " ((return (expression vec4 cos (var_ref angle)))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_shadow2DProjLod =
+ "((function shadow2DProjLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler2DShadow sampler)\n"
+ " (declare (in) vec4 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((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"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_shadow2DArray =
+ "((function shadow2DArray\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler2DArrayShadow sampler)\n"
+ " (declare (in) vec4 P) )\n"
+ " ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) 1 (swiz w (var_ref P)) ))))\n"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_equal =
+ "((function equal\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 arg0)\n"
+ " (declare (in) vec2 arg1))\n"
+ " ((declare () bvec2 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 arg0)\n"
+ " (declare (in) vec3 arg1))\n"
+ " ((declare () bvec3 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 arg0)\n"
+ " (declare (in) vec4 arg1))\n"
+ " ((declare () bvec4 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool == (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in) ivec2 arg0)\n"
+ " (declare (in) ivec2 arg1))\n"
+ " ((declare () bvec2 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in) ivec3 arg0)\n"
+ " (declare (in) ivec3 arg1))\n"
+ " ((declare () bvec3 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in) ivec4 arg0)\n"
+ " (declare (in) ivec4 arg1))\n"
+ " ((declare () bvec4 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool == (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in) uvec2 arg0)\n"
+ " (declare (in) uvec2 arg1))\n"
+ " ((declare () bvec2 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in) uvec3 arg0)\n"
+ " (declare (in) uvec3 arg1))\n"
+ " ((declare () bvec3 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in) uvec4 arg0)\n"
+ " (declare (in) uvec4 arg1))\n"
+ " ((declare () bvec4 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool == (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_length =
+ "((function length\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) float arg0))\n"
+ " ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) vec2 arg0))\n"
+ " ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) vec3 arg0))\n"
+ " ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) vec4 arg0))\n"
+ " ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_acos =
+ "((function acos\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) float x))\n"
+ " ((return (expression float - (constant float (1.5707963))\n"
+ " (call asin ((var_ref x)))))))\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 x))\n"
+ " ((return (expression vec2 - (constant float (1.5707963))\n"
+ " (call asin ((var_ref x)))))))\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 x))\n"
+ " ((return (expression vec3 - (constant float (1.5707963))\n"
+ " (call asin ((var_ref x)))))))\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 x))\n"
+ " ((return (expression vec4 - (constant float (1.5707963))\n"
+ " (call asin ((var_ref x)))))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_matrixCompMult =
+ "((function matrixCompMult\n"
+ " (signature mat2\n"
+ " (parameters\n"
+ " (declare (in) mat2 x)\n"
+ " (declare (in) mat2 y))\n"
+ " ((declare () mat2 z)\n"
+ " (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"
+ " (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"
+ "(return (var_ref z))))\n"
+ "\n"
+ " (signature mat3\n"
+ " (parameters\n"
+ " (declare (in) mat3 x)\n"
+ " (declare (in) mat3 y))\n"
+ " ((declare () mat3 z)\n"
+ " (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"
+ " (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"
+ " (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"
+ "(return (var_ref z))))\n"
+ "\n"
+ " (signature mat4\n"
+ " (parameters\n"
+ " (declare (in) mat4 x)\n"
+ " (declare (in) mat4 y))\n"
+ " ((declare () mat4 z)\n"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ "(return (var_ref z))))\n"
+ "\n"
+ " (signature mat2x3\n"
+ " (parameters\n"
+ " (declare (in) mat2x3 x)\n"
+ " (declare (in) mat2x3 y))\n"
+ " ((declare () mat2x3 z)\n"
+ " (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"
+ " (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"
+ "(return (var_ref z))))\n"
+ "\n"
+ " (signature mat3x2\n"
+ " (parameters\n"
+ " (declare (in) mat3x2 x)\n"
+ " (declare (in) mat3x2 y))\n"
+ " ((declare () mat3x2 z)\n"
+ " (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"
+ " (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"
+ " (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"
+ "(return (var_ref z))))\n"
+ "\n"
+ " (signature mat2x4\n"
+ " (parameters\n"
+ " (declare (in) mat2x4 x)\n"
+ " (declare (in) mat2x4 y))\n"
+ " ((declare () mat2x4 z)\n"
+ " (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"
+ " (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"
+ "(return (var_ref z))))\n"
+ "\n"
+ " (signature mat4x2\n"
+ " (parameters\n"
+ " (declare (in) mat4x2 x)\n"
+ " (declare (in) mat4x2 y))\n"
+ " ((declare () mat4x2 z)\n"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ "(return (var_ref z))))\n"
+ "\n"
+ " (signature mat3x4\n"
+ " (parameters\n"
+ " (declare (in) mat3x4 x)\n"
+ " (declare (in) mat3x4 y))\n"
+ " ((declare () mat3x4 z)\n"
+ " (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"
+ " (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"
+ " (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"
+ "(return (var_ref z))))\n"
+ "\n"
+ " (signature mat4x3\n"
+ " (parameters\n"
+ " (declare (in) mat4x3 x)\n"
+ " (declare (in) mat4x3 y))\n"
+ " ((declare () mat4x3 z)\n"
+ " (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"
+ " (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"
+ " (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"
+ " (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"
+ "(return (var_ref z))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_pow =
+ "((function pow\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) float arg0)\n"
+ " (declare (in) float arg1))\n"
+ " ((return (expression float pow (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 arg0)\n"
+ " (declare (in) vec2 arg1))\n"
+ " ((return (expression vec2 pow (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 arg0)\n"
+ " (declare (in) vec3 arg1))\n"
+ " ((return (expression vec3 pow (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 arg0)\n"
+ " (declare (in) vec4 arg1))\n"
+ " ((return (expression vec4 pow (var_ref arg0) (var_ref arg1)))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_texture2DProjLod =
+ "((function texture2DProjLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler2D sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler2D sampler)\n"
+ " (declare (in) vec4 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_textureProjLod =
+ "((function textureProjLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler1D sampler)\n"
+ " (declare (in) vec2 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler1D sampler)\n"
+ " (declare (in) vec2 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler1D sampler)\n"
+ " (declare (in) vec2 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler1D sampler)\n"
+ " (declare (in) vec4 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler1D sampler)\n"
+ " (declare (in) vec4 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler1D sampler)\n"
+ " (declare (in) vec4 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler2D sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler2D sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler2D sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler2D sampler)\n"
+ " (declare (in) vec4 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler2D sampler)\n"
+ " (declare (in) vec4 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler2D sampler)\n"
+ " (declare (in) vec4 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler3D sampler)\n"
+ " (declare (in) vec4 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler3D sampler)\n"
+ " (declare (in) vec4 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler3D sampler)\n"
+ " (declare (in) vec4 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_log =
+ "((function log\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) float arg0))\n"
+ " ((return (expression float log (var_ref arg0)))))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 arg0))\n"
+ " ((return (expression vec2 log (var_ref arg0)))))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 arg0))\n"
+ " ((return (expression vec3 log (var_ref arg0)))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 arg0))\n"
+ " ((return (expression vec4 log (var_ref arg0)))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_exp2 =
+ "((function exp2\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) float arg0))\n"
+ " ((return (expression float exp2 (var_ref arg0)))))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 arg0))\n"
+ " ((return (expression vec2 exp2 (var_ref arg0)))))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 arg0))\n"
+ " ((return (expression vec3 exp2 (var_ref arg0)))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 arg0))\n"
+ " ((return (expression vec4 exp2 (var_ref arg0)))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_fract =
+ "((function fract\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) float x))\n"
+ " ((return (expression float fract (var_ref x)))))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 x))\n"
+ " ((return (expression vec2 fract (var_ref x)))))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 x))\n"
+ " ((return (expression vec3 fract (var_ref x)))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 x))\n"
+ " ((return (expression vec4 fract (var_ref x)))))\n"
+ "))\n"
+ "\n"
+ ""
+;
+static const char *builtin_shadow1DLod =
+ "((function shadow1DLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler1DShadow sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref lod) ))))\n"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_texture1DLod =
+ "((function texture1DLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler1D sampler)\n"
+ " (declare (in) float P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_texture2DArray =
+ "((function texture2DArray\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler2DArray sampler)\n"
+ " (declare (in) vec3 P) )\n"
+ " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler2DArray sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_texture3DProj =
+ "((function texture3DProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler3D sampler)\n"
+ " (declare (in) vec4 P) )\n"
+ " ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler3D sampler)\n"
+ " (declare (in) vec4 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_sign =
+ "((function sign\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) float x))\n"
+ " ((return (expression float sign (var_ref x)))))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 x))\n"
+ " ((return (expression vec2 sign (var_ref x)))))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 x))\n"
+ " ((return (expression vec3 sign (var_ref x)))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 x))\n"
+ " ((return (expression vec4 sign (var_ref x)))))\n"
+ "\n"
+ " (signature int\n"
+ " (parameters\n"
+ " (declare (in) int x))\n"
+ " ((return (expression int sign (var_ref x)))))\n"
+ "\n"
+ " (signature ivec2\n"
+ " (parameters\n"
+ " (declare (in) ivec2 x))\n"
+ " ((return (expression ivec2 sign (var_ref x)))))\n"
+ "\n"
+ " (signature ivec3\n"
+ " (parameters\n"
+ " (declare (in) ivec3 x))\n"
+ " ((return (expression ivec3 sign (var_ref x)))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) ivec4 x))\n"
+ " ((return (expression ivec4 sign (var_ref x)))))\n"
+ "))\n"
+ "\n"
+ ""
+;
+static const char *builtin_inversesqrt =
+ "((function inversesqrt\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) float arg0))\n"
+ " ((return (expression float rsq (var_ref arg0)))))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 arg0))\n"
+ " ((return (expression vec2 rsq (var_ref arg0)))))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 arg0))\n"
+ " ((return (expression vec3 rsq (var_ref arg0)))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 arg0))\n"
+ " ((return (expression vec4 rsq (var_ref arg0)))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_distance =
+ "((function distance\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) float p0)\n"
+ " (declare (in) float p1))\n"
+ " ((declare () float p)\n"
+ " (assign (constant bool (1)) (var_ref p) (expression float - (var_ref p0) (var_ref p1)))\n"
+ " (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) vec2 p0)\n"
+ " (declare (in) vec2 p1))\n"
+ " ((declare () vec2 p)\n"
+ " (assign (constant bool (1)) (var_ref p) (expression vec2 - (var_ref p0) (var_ref p1)))\n"
+ " (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) vec3 p0)\n"
+ " (declare (in) vec3 p1))\n"
+ " ((declare () vec3 p)\n"
+ " (assign (constant bool (1)) (var_ref p) (expression vec3 - (var_ref p0) (var_ref p1)))\n"
+ " (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) vec4 p0)\n"
+ " (declare (in) vec4 p1))\n"
+ " ((declare () vec4 p)\n"
+ " (assign (constant bool (1)) (var_ref p) (expression vec4 - (var_ref p0) (var_ref p1)))\n"
+ " (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_noise2 =
+ "((function noise2\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) float x))\n"
+ " ((return (constant vec2 (0 0)))))\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 x))\n"
+ " ((return (constant vec2 (0 0)))))\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec3 x))\n"
+ " ((return (constant vec2 (0 0)))))\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec4 x))\n"
+ " ((return (constant vec2 (0 0)))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_tanh =
+ "((function tanh\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) float x))\n"
+ " ((return (expression float /\n"
+ " (expression float -\n"
+ " (expression float exp (var_ref x))\n"
+ " (expression float exp (expression float neg (var_ref x))))\n"
+ " (expression float +\n"
+ " (expression float exp (var_ref x))\n"
+ " (expression float exp (expression float neg (var_ref x))))))))\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 x))\n"
+ " ((return (expression vec2 /\n"
+ " (expression vec2 -\n"
+ " (expression vec2 exp (var_ref x))\n"
+ " (expression vec2 exp (expression vec2 neg (var_ref x))))\n"
+ " (expression vec2 +\n"
+ " (expression vec2 exp (var_ref x))\n"
+ " (expression vec2 exp (expression vec2 neg (var_ref x))))))))\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 x))\n"
+ " ((return (expression vec3 /\n"
+ " (expression vec3 -\n"
+ " (expression vec3 exp (var_ref x))\n"
+ " (expression vec3 exp (expression vec3 neg (var_ref x))))\n"
+ " (expression vec3 +\n"
+ " (expression vec3 exp (var_ref x))\n"
+ " (expression vec3 exp (expression vec3 neg (var_ref x))))))))\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 x))\n"
+ " ((return (expression vec4 /\n"
+ " (expression vec4 -\n"
+ " (expression vec4 exp (var_ref x))\n"
+ " (expression vec4 exp (expression vec4 neg (var_ref x))))\n"
+ " (expression vec4 +\n"
+ " (expression vec4 exp (var_ref x))\n"
+ " (expression vec4 exp (expression vec4 neg (var_ref x))))))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_texture1DProjLod =
+ "((function texture1DProjLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler1D sampler)\n"
+ " (declare (in) vec2 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler1D sampler)\n"
+ " (declare (in) vec4 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_texture1DArray =
+ "((function texture1DArray\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler1DArray sampler)\n"
+ " (declare (in) vec2 P) )\n"
+ " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler1DArray sampler)\n"
+ " (declare (in) vec2 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_texture2D =
+ "((function texture2D\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler2D sampler)\n"
+ " (declare (in) vec2 P) )\n"
+ " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler2D sampler)\n"
+ " (declare (in) vec2 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_greaterThanEqual =
+ "((function greaterThanEqual\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 arg0)\n"
+ " (declare (in) vec2 arg1))\n"
+ " ((declare () bvec2 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 arg0)\n"
+ " (declare (in) vec3 arg1))\n"
+ " ((declare () bvec3 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 arg0)\n"
+ " (declare (in) vec4 arg1))\n"
+ " ((declare () bvec4 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool >= (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in) ivec2 arg0)\n"
+ " (declare (in) ivec2 arg1))\n"
+ " ((declare () bvec2 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in) ivec3 arg0)\n"
+ " (declare (in) ivec3 arg1))\n"
+ " ((declare () bvec3 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in) ivec4 arg0)\n"
+ " (declare (in) ivec4 arg1))\n"
+ " ((declare () bvec4 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool >= (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in) uvec2 arg0)\n"
+ " (declare (in) uvec2 arg1))\n"
+ " ((declare () bvec2 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in) uvec3 arg0)\n"
+ " (declare (in) uvec3 arg1))\n"
+ " ((declare () bvec3 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in) uvec4 arg0)\n"
+ " (declare (in) uvec4 arg1))\n"
+ " ((declare () bvec4 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool >= (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool >= (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool >= (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool >= (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_texture3DProjLod =
+ "((function texture3DProjLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler3D sampler)\n"
+ " (declare (in) vec4 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_tan =
+ "((function tan\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) float angle))\n"
+ " ((return (expression float / (expression float sin (var_ref angle)) (expression float cos (var_ref angle))))))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 angle))\n"
+ " ((return (expression vec2 / (expression vec2 sin (var_ref angle)) (expression vec2 cos (var_ref angle))))))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 angle))\n"
+ " ((return (expression vec3 / (expression vec3 sin (var_ref angle)) (expression vec3 cos (var_ref angle))))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 angle))\n"
+ " ((return (expression vec4 / (expression vec4 sin (var_ref angle)) (expression vec4 cos (var_ref angle))))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_any =
+ "((function any\n"
+ " (signature bool\n"
+ " (parameters\n"
+ " (declare (in) bvec2 arg0))\n"
+ " ((return (expression bool || (swiz x (var_ref arg0))(swiz y (var_ref arg0))))))\n"
+ "\n"
+ " (signature bool\n"
+ " (parameters\n"
+ " (declare (in) bvec3 arg0))\n"
+ " ((return (expression bool || (expression bool || (swiz x (var_ref arg0))(swiz y (var_ref arg0))) (swiz z (var_ref arg0))))))\n"
+ "\n"
+ " (signature bool\n"
+ " (parameters\n"
+ " (declare (in) bvec4 arg0))\n"
+ " ((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"
+ "))\n"
+ ""
+;
+static const char *builtin_normalize =
+ "((function normalize\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) float arg0))\n"
+ " ((return (expression float * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 arg0))\n"
+ " ((return (expression vec2 * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 arg0))\n"
+ " ((return (expression vec3 * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 arg0))\n"
+ " ((return (expression vec4 * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_shadow1DProj =
+ "((function shadow1DProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler1DShadow sampler)\n"
+ " (declare (in) vec4 P) )\n"
+ " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler1DShadow sampler)\n"
+ " (declare (in) vec4 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((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"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_floor =
+ "((function floor\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) float arg0))\n"
+ " ((return (expression float floor (var_ref arg0)))))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 arg0))\n"
+ " ((return (expression vec2 floor (var_ref arg0)))))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 arg0))\n"
+ " ((return (expression vec3 floor (var_ref arg0)))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 arg0))\n"
+ " ((return (expression vec4 floor (var_ref arg0)))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_cross =
+ "((function cross\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 arg0)\n"
+ " (declare (in) vec3 arg1))\n"
+ " ((return (expression vec3 cross (var_ref arg0) (var_ref arg1)))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_sqrt =
+ "((function sqrt\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) float arg0))\n"
+ " ((return (expression float sqrt (var_ref arg0)))))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 arg0))\n"
+ " ((return (expression vec2 sqrt (var_ref arg0)))))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 arg0))\n"
+ " ((return (expression vec3 sqrt (var_ref arg0)))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 arg0))\n"
+ " ((return (expression vec4 sqrt (var_ref arg0)))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_mix =
+ "((function mix\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) float arg0)\n"
+ " (declare (in) float arg1)\n"
+ " (declare (in) float arg2))\n"
+ " ((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"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 arg0)\n"
+ " (declare (in) vec2 arg1)\n"
+ " (declare (in) vec2 arg2))\n"
+ " ((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"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 arg0)\n"
+ " (declare (in) vec3 arg1)\n"
+ " (declare (in) vec3 arg2))\n"
+ " ((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"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 arg0)\n"
+ " (declare (in) vec4 arg1)\n"
+ " (declare (in) vec4 arg2))\n"
+ " ((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"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 arg0)\n"
+ " (declare (in) vec2 arg1)\n"
+ " (declare (in) float arg2))\n"
+ " ((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"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 arg0)\n"
+ " (declare (in) vec3 arg1)\n"
+ " (declare (in) float arg2))\n"
+ " ((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"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 arg0)\n"
+ " (declare (in) vec4 arg1)\n"
+ " (declare (in) float arg2))\n"
+ " ((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"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) float v1)\n"
+ " (declare (in) float v2)\n"
+ " (declare (in) bool a))\n"
+ " ((assign (var_ref a) (var_ref v1) (var_ref v2))\n"
+ " (return (var_ref v1))))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 v1)\n"
+ " (declare (in) vec2 v2)\n"
+ " (declare (in) bvec2 a))\n"
+ " ((assign (swiz x (var_ref a)) (swiz x (var_ref v1)) (swiz x (var_ref v2)))\n"
+ " (assign (swiz y (var_ref a)) (swiz y (var_ref v1)) (swiz y (var_ref v2)))\n"
+ " (return (var_ref v1))))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 v1)\n"
+ " (declare (in) vec3 v2)\n"
+ " (declare (in) bvec3 a))\n"
+ " ((assign (swiz x (var_ref a)) (swiz x (var_ref v1)) (swiz x (var_ref v2)))\n"
+ " (assign (swiz y (var_ref a)) (swiz y (var_ref v1)) (swiz y (var_ref v2)))\n"
+ " (assign (swiz z (var_ref a)) (swiz z (var_ref v1)) (swiz z (var_ref v2)))\n"
+ " (return (var_ref v1))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 v1)\n"
+ " (declare (in) vec4 v2)\n"
+ " (declare (in) bvec4 a))\n"
+ " ((assign (swiz x (var_ref a)) (swiz x (var_ref v1)) (swiz x (var_ref v2)))\n"
+ " (assign (swiz y (var_ref a)) (swiz y (var_ref v1)) (swiz y (var_ref v2)))\n"
+ " (assign (swiz z (var_ref a)) (swiz z (var_ref v1)) (swiz z (var_ref v2)))\n"
+ " (assign (swiz w (var_ref a)) (swiz w (var_ref v1)) (swiz w (var_ref v2)))\n"
+ " (return (var_ref v1))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_shadow1DArrayLod =
+ "((function shadow1DArrayLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler1DArrayShadow sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref lod) ))))\n"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_ftransform =
+ "((declare (uniform) mat4 gl_ModelViewProjectionMatrix)\n"
+ " (declare (in) vec4 gl_Vertex)\n"
+ " (function ftransform\n"
+ " (signature vec4\n"
+ " (parameters)\n"
+ " ((return (expression vec4 *\n"
+ " (var_ref gl_ModelViewProjectionMatrix)\n"
+ " (var_ref gl_Vertex)))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_sin =
+ "((function sin\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) float angle))\n"
+ " ((return (expression float sin (var_ref angle)))))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 angle))\n"
+ " ((return (expression vec2 sin (var_ref angle)))))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 angle))\n"
+ " ((return (expression vec3 sin (var_ref angle)))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 angle))\n"
+ " ((return (expression vec4 sin (var_ref angle)))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_shadow2D =
+ "((function shadow2D\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler2DShadow sampler)\n"
+ " (declare (in) vec3 P) )\n"
+ " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler2DShadow sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref bias) ))))\n"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_shadow2DLod =
+ "((function shadow2DLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler2DShadow sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref lod) ))))\n"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_shadow2DRectProj =
+ "((function shadow2DRectProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler2DRectShadow sampler)\n"
+ " (declare (in) vec4 P) )\n"
+ " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) ))))\n"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_atan =
+ "((function atan\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) float x))\n"
+ " ((return (call asin ((expression float *\n"
+ " (var_ref x)\n"
+ " (expression float rsq\n"
+ " (expression float +\n"
+ " (expression float *\n"
+ " (var_ref x)\n"
+ " (var_ref x))\n"
+ " (constant float (1.0))))))))))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 y_over_x))\n"
+ " ((return (call asin ((expression vec2 *\n"
+ " (var_ref y_over_x)\n"
+ " (expression vec2 rsq\n"
+ " (expression vec2 +\n"
+ " (expression vec2 *\n"
+ " (var_ref y_over_x)\n"
+ " (var_ref y_over_x))\n"
+ " (constant float (1.0))))))))))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 y_over_x))\n"
+ " ((return (call asin ((expression vec3 *\n"
+ " (var_ref y_over_x)\n"
+ " (expression vec3 rsq\n"
+ " (expression vec3 +\n"
+ " (expression vec3 *\n"
+ " (var_ref y_over_x)\n"
+ " (var_ref y_over_x))\n"
+ " (constant float (1.0))))))))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 y_over_x))\n"
+ " ((return (call asin ((expression vec4 *\n"
+ " (var_ref y_over_x)\n"
+ " (expression vec4 rsq\n"
+ " (expression vec4 +\n"
+ " (expression vec4 *\n"
+ " (var_ref y_over_x)\n"
+ " (var_ref y_over_x))\n"
+ " (constant float (1.0))))))))))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float y)\n"
+ " (declare (in ) float x)\n"
+ " )\n"
+ " (\n"
+ " (declare () float r)\n"
+ " (declare ( ) float abs_retval)\n"
+ " (assign (constant bool (1)) (var_ref abs_retval) (call abs ((var_ref x) ))\n"
+ ") \n"
+ " (if (expression bool > (var_ref abs_retval) (constant float (0.000100)) ) (\n"
+ " (declare ( ) float atan_retval)\n"
+ " (assign (constant bool (1)) (var_ref atan_retval) (call atan ((expression float / (var_ref y) (var_ref x) ) ))\n"
+ ") \n"
+ " (assign (constant bool (1)) (var_ref r) (var_ref atan_retval) ) \n"
+ " (if (expression bool < (var_ref x) (constant float (0.000000)) ) (\n"
+ " (if (expression bool >= (var_ref y) (constant float (0.000000)) ) (\n"
+ " (declare ( ) float assignment_tmp)\n"
+ " (assign (constant bool (1)) (var_ref assignment_tmp) (expression float + (var_ref r) (constant float (3.141593)) ) ) \n"
+ " (assign (constant bool (1)) (var_ref r) (var_ref assignment_tmp) ) \n"
+ " )\n"
+ " (\n"
+ " (declare ( ) float assignment_tmp)\n"
+ " (assign (constant bool (1)) (var_ref assignment_tmp) (expression float - (var_ref r) (constant float (3.141593)) ) ) \n"
+ " (assign (constant bool (1)) (var_ref r) (var_ref assignment_tmp) ) \n"
+ " ))\n"
+ "\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " )\n"
+ " (\n"
+ " (if (expression bool >= (var_ref y) (constant float (0.000000)) ) (\n"
+ " (assign (constant bool (1)) (var_ref r) (constant float (1.570796)) ) \n"
+ " )\n"
+ " (\n"
+ " (assign (constant bool (1)) (var_ref r) (constant float (-1.570796)) ) \n"
+ " ))\n"
+ "\n"
+ " ))\n"
+ "\n"
+ " (return (var_ref r) )\n"
+ " ))\n"
+ "\n"
+ "\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 y)\n"
+ " (declare (in) vec2 x))\n"
+ " ((declare () vec2 r)\n"
+ " (assign (constant bool (1))\n"
+ " (swiz x (var_ref r))\n"
+ " (call atan ((swiz x (var_ref y))\n"
+ " (swiz x (var_ref x)))))\n"
+ " (assign (constant bool (1))\n"
+ " (swiz y (var_ref r))\n"
+ " (call atan ((swiz y (var_ref y))\n"
+ " (swiz y (var_ref x)))))\n"
+ " (return (var_ref r))))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 y)\n"
+ " (declare (in) vec3 x))\n"
+ " ((declare () vec3 r)\n"
+ " (assign (constant bool (1))\n"
+ " (swiz x (var_ref r))\n"
+ " (call atan ((swiz x (var_ref y))\n"
+ " (swiz x (var_ref x)))))\n"
+ " (assign (constant bool (1))\n"
+ " (swiz y (var_ref r))\n"
+ " (call atan ((swiz y (var_ref y))\n"
+ " (swiz y (var_ref x)))))\n"
+ " (assign (constant bool (1))\n"
+ " (swiz z (var_ref r))\n"
+ " (call atan ((swiz z (var_ref y))\n"
+ " (swiz z (var_ref x)))))\n"
+ " (return (var_ref r))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 y)\n"
+ " (declare (in) vec4 x))\n"
+ " ((declare () vec4 r)\n"
+ " (assign (constant bool (1))\n"
+ " (swiz x (var_ref r))\n"
+ " (call atan ((swiz x (var_ref y))\n"
+ " (swiz x (var_ref x)))))\n"
+ " (assign (constant bool (1))\n"
+ " (swiz y (var_ref r))\n"
+ " (call atan ((swiz y (var_ref y))\n"
+ " (swiz y (var_ref x)))))\n"
+ " (assign (constant bool (1))\n"
+ " (swiz z (var_ref r))\n"
+ " (call atan ((swiz z (var_ref y))\n"
+ " (swiz z (var_ref x)))))\n"
+ " (assign (constant bool (1))\n"
+ " (swiz w (var_ref r))\n"
+ " (call atan ((swiz w (var_ref y))\n"
+ " (swiz w (var_ref x)))))\n"
+ " (return (var_ref r)))))\n"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_max =
+ "((function max\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) float arg0)\n"
+ " (declare (in) float arg1))\n"
+ " ((return (expression float max (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 arg0)\n"
+ " (declare (in) vec2 arg1))\n"
+ " ((return (expression vec2 max (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 arg0)\n"
+ " (declare (in) vec3 arg1))\n"
+ " ((return (expression vec3 max (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 arg0)\n"
+ " (declare (in) vec4 arg1))\n"
+ " ((return (expression vec4 max (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 arg0)\n"
+ " (declare (in) float arg1))\n"
+ " ((return (expression vec2 max (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 arg0)\n"
+ " (declare (in) float arg1))\n"
+ " ((return (expression vec3 max (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 arg0)\n"
+ " (declare (in) float arg1))\n"
+ " ((return (expression vec4 max (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature int\n"
+ " (parameters\n"
+ " (declare (in) int arg0)\n"
+ " (declare (in) int arg1))\n"
+ " ((return (expression int max (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature ivec2\n"
+ " (parameters\n"
+ " (declare (in) ivec2 arg0)\n"
+ " (declare (in) ivec2 arg1))\n"
+ " ((return (expression ivec2 max (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature ivec3\n"
+ " (parameters\n"
+ " (declare (in) ivec3 arg0)\n"
+ " (declare (in) ivec3 arg1))\n"
+ " ((return (expression ivec3 max (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) ivec4 arg0)\n"
+ " (declare (in) ivec4 arg1))\n"
+ " ((return (expression ivec4 max (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature ivec2\n"
+ " (parameters\n"
+ " (declare (in) ivec2 arg0)\n"
+ " (declare (in) int arg1))\n"
+ " ((return (expression ivec2 max (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature ivec3\n"
+ " (parameters\n"
+ " (declare (in) ivec3 arg0)\n"
+ " (declare (in) int arg1))\n"
+ " ((return (expression ivec3 max (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) ivec4 arg0)\n"
+ " (declare (in) int arg1))\n"
+ " ((return (expression ivec4 max (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature uint\n"
+ " (parameters\n"
+ " (declare (in) uint arg0)\n"
+ " (declare (in) uint arg1))\n"
+ " ((return (expression uint max (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature uvec2\n"
+ " (parameters\n"
+ " (declare (in) uvec2 arg0)\n"
+ " (declare (in) uvec2 arg1))\n"
+ " ((return (expression uvec2 max (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature uvec3\n"
+ " (parameters\n"
+ " (declare (in) uvec3 arg0)\n"
+ " (declare (in) uvec3 arg1))\n"
+ " ((return (expression uvec3 max (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) uvec4 arg0)\n"
+ " (declare (in) uvec4 arg1))\n"
+ " ((return (expression uvec4 max (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature uvec2\n"
+ " (parameters\n"
+ " (declare (in) uvec2 arg0)\n"
+ " (declare (in) uint arg1))\n"
+ " ((return (expression uvec2 max (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature uvec3\n"
+ " (parameters\n"
+ " (declare (in) uvec3 arg0)\n"
+ " (declare (in) uint arg1))\n"
+ " ((return (expression uvec3 max (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) uvec4 arg0)\n"
+ " (declare (in) uint arg1))\n"
+ " ((return (expression uvec4 max (var_ref arg0) (var_ref arg1)))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_reflect =
+ "((function reflect\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) float i)\n"
+ " (declare (in) float n))\n"
+ " ((return (expression float -\n"
+ " (var_ref i)\n"
+ " (expression float *\n"
+ " (constant float (2.0))\n"
+ " (expression float *\n"
+ " (expression float dot\n"
+ " (var_ref n)\n"
+ " (var_ref i))\n"
+ " (var_ref n)))))))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 i)\n"
+ " (declare (in) vec2 n))\n"
+ " ((return (expression vec2 -\n"
+ " (var_ref i)\n"
+ " (expression vec2 *\n"
+ " (constant float (2.0))\n"
+ " (expression vec2 *\n"
+ " (expression float dot\n"
+ " (var_ref n)\n"
+ " (var_ref i))\n"
+ " (var_ref n)))))))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 i)\n"
+ " (declare (in) vec3 n))\n"
+ " ((return (expression vec3 -\n"
+ " (var_ref i)\n"
+ " (expression vec3 *\n"
+ " (constant float (2.0))\n"
+ " (expression vec3 *\n"
+ " (expression float dot\n"
+ " (var_ref n)\n"
+ " (var_ref i))\n"
+ " (var_ref n)))))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 i)\n"
+ " (declare (in) vec4 n))\n"
+ " ((return (expression vec4 -\n"
+ " (var_ref i)\n"
+ " (expression vec4 *\n"
+ " (constant float (2.0))\n"
+ " (expression vec4 *\n"
+ " (expression float dot\n"
+ " (var_ref n)\n"
+ " (var_ref i))\n"
+ " (var_ref n)))))))\n"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_texture3D =
+ "((function texture3D\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler3D sampler)\n"
+ " (declare (in) vec3 P) )\n"
+ " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler3D sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_texelFetch =
+ "((function texelFetch\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler1D sampler)\n"
+ " (declare (in) int P) \n"
+ " (declare (in) int lod) )\n"
+ " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler1D sampler)\n"
+ " (declare (in) int P) \n"
+ " (declare (in) int lod) )\n"
+ " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler1D sampler)\n"
+ " (declare (in) int P) \n"
+ " (declare (in) int lod) )\n"
+ " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler2D sampler)\n"
+ " (declare (in) ivec2 P) \n"
+ " (declare (in) int lod) )\n"
+ " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler2D sampler)\n"
+ " (declare (in) ivec2 P) \n"
+ " (declare (in) int lod) )\n"
+ " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler2D sampler)\n"
+ " (declare (in) ivec2 P) \n"
+ " (declare (in) int lod) )\n"
+ " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler3D sampler)\n"
+ " (declare (in) ivec3 P) \n"
+ " (declare (in) int lod) )\n"
+ " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler3D sampler)\n"
+ " (declare (in) ivec3 P) \n"
+ " (declare (in) int lod) )\n"
+ " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler3D sampler)\n"
+ " (declare (in) ivec3 P) \n"
+ " (declare (in) int lod) )\n"
+ " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler1DArray sampler)\n"
+ " (declare (in) ivec2 P) \n"
+ " (declare (in) int lod) )\n"
+ " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler1DArray sampler)\n"
+ " (declare (in) ivec2 P) \n"
+ " (declare (in) int lod) )\n"
+ " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler1DArray sampler)\n"
+ " (declare (in) ivec2 P) \n"
+ " (declare (in) int lod) )\n"
+ " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler2DArray sampler)\n"
+ " (declare (in) ivec3 P) \n"
+ " (declare (in) int lod) )\n"
+ " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) isampler2DArray sampler)\n"
+ " (declare (in) ivec3 P) \n"
+ " (declare (in) int lod) )\n"
+ " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) usampler2DArray sampler)\n"
+ " (declare (in) ivec3 P) \n"
+ " (declare (in) int lod) )\n"
+ " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_noise4 =
+ "((function noise4\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) float x))\n"
+ " ((return (constant vec4 (0 0 0 0)))))\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec2 x))\n"
+ " ((return (constant vec4 (0 0 0 0)))))\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec3 x))\n"
+ " ((return (constant vec4 (0 0 0 0)))))\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 x))\n"
+ " ((return (constant vec4 (0 0 0 0)))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_notEqual =
+ "((function notEqual\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 arg0)\n"
+ " (declare (in) vec2 arg1))\n"
+ " ((declare () bvec2 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 arg0)\n"
+ " (declare (in) vec3 arg1))\n"
+ " ((declare () bvec3 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
+ " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 arg0)\n"
+ " (declare (in) vec4 arg1))\n"
+ " ((declare () bvec4 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
+ " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
+ " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool != (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in) ivec2 arg0)\n"
+ " (declare (in) ivec2 arg1))\n"
+ " ((declare () bvec2 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in) ivec3 arg0)\n"
+ " (declare (in) ivec3 arg1))\n"
+ " ((declare () bvec3 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
+ " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in) ivec4 arg0)\n"
+ " (declare (in) ivec4 arg1))\n"
+ " ((declare () bvec4 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
+ " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
+ " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool != (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in) uvec2 arg0)\n"
+ " (declare (in) uvec2 arg1))\n"
+ " ((declare () bvec2 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in) uvec3 arg0)\n"
+ " (declare (in) uvec3 arg1))\n"
+ " ((declare () bvec3 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in) uvec4 arg0)\n"
+ " (declare (in) uvec4 arg1))\n"
+ " ((declare () bvec4 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool != (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_outerProduct =
+ "((function outerProduct\n"
+ " (signature mat2\n"
+ " (parameters\n"
+ " (declare (in) vec2 u)\n"
+ " (declare (in) vec2 v))\n"
+ " ((declare () mat2 m)\n"
+ " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))\n"
+ " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))\n"
+ " (return (var_ref m))))\n"
+ "\n"
+ " (signature mat2x3\n"
+ " (parameters\n"
+ " (declare (in) vec3 u)\n"
+ " (declare (in) vec2 v))\n"
+ " ((declare () mat2x3 m)\n"
+ " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))\n"
+ " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))\n"
+ " (return (var_ref m))))\n"
+ "\n"
+ " (signature mat2x4\n"
+ " (parameters\n"
+ " (declare (in) vec4 u)\n"
+ " (declare (in) vec2 v))\n"
+ " ((declare () mat2x4 m)\n"
+ " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))\n"
+ " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))\n"
+ " (return (var_ref m))))\n"
+ "\n"
+ " (signature mat3x2\n"
+ " (parameters\n"
+ " (declare (in) vec2 u)\n"
+ " (declare (in) vec3 v))\n"
+ " ((declare () mat3x2 m)\n"
+ " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))\n"
+ " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))\n"
+ " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (2))) (expression vec2 * (var_ref u) (swiz z (var_ref v))))\n"
+ " (return (var_ref m))\n"
+ " ))\n"
+ "\n"
+ " (signature mat3\n"
+ " (parameters\n"
+ " (declare (in) vec3 u)\n"
+ " (declare (in) vec3 v))\n"
+ " ((declare () mat3 m)\n"
+ " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))\n"
+ " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))\n"
+ " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (2))) (expression vec3 * (var_ref u) (swiz z (var_ref v))))\n"
+ " (return (var_ref m))))\n"
+ "\n"
+ " (signature mat3x4\n"
+ " (parameters\n"
+ " (declare (in) vec4 u)\n"
+ " (declare (in) vec3 v))\n"
+ " ((declare () mat3x4 m)\n"
+ " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))\n"
+ " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))\n"
+ " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (2))) (expression vec4 * (var_ref u) (swiz z (var_ref v))))\n"
+ " (return (var_ref m))))\n"
+ "\n"
+ " (signature mat4x2\n"
+ " (parameters\n"
+ " (declare (in) vec2 u)\n"
+ " (declare (in) vec4 v))\n"
+ " ((declare () mat4x2 m)\n"
+ " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))\n"
+ " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))\n"
+ " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (2))) (expression vec2 * (var_ref u) (swiz z (var_ref v))))\n"
+ " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (3))) (expression vec2 * (var_ref u) (swiz w (var_ref v))))\n"
+ " (return (var_ref m))))\n"
+ "\n"
+ " (signature mat4x3\n"
+ " (parameters\n"
+ " (declare (in) vec3 u)\n"
+ " (declare (in) vec4 v))\n"
+ " ((declare () mat4x3 m)\n"
+ " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))\n"
+ " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))\n"
+ " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (2))) (expression vec3 * (var_ref u) (swiz z (var_ref v))))\n"
+ " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (3))) (expression vec3 * (var_ref u) (swiz w (var_ref v))))\n"
+ " (return (var_ref m))))\n"
+ "\n"
+ " (signature mat4\n"
+ " (parameters\n"
+ " (declare (in) vec4 u)\n"
+ " (declare (in) vec4 v))\n"
+ " ((declare () mat4 m)\n"
+ " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))\n"
+ " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))\n"
+ " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (2))) (expression vec4 * (var_ref u) (swiz z (var_ref v))))\n"
+ " (assign (constant bool (1)) (array_ref (var_ref m) (constant int (3))) (expression vec4 * (var_ref u) (swiz w (var_ref v))))\n"
+ " (return (var_ref m))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_shadow1D =
+ "((function shadow1D\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler1DShadow sampler)\n"
+ " (declare (in) vec3 P) )\n"
+ " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler1DShadow sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref bias) ))))\n"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_noise1 =
+ "((function noise1\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) float x))\n"
+ " ((return (constant float (0)))))\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) vec2 x))\n"
+ " ((return (constant float (0)))))\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) vec3 x))\n"
+ " ((return (constant float (0)))))\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) vec4 x))\n"
+ " ((return (constant float (0)))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_refract =
+ "((function refract\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) float i)\n"
+ " (declare (in) float n)\n"
+ " (declare (in) float eta))\n"
+ " ((declare () float k)\n"
+ " (assign (constant bool (1)) (var_ref k)\n"
+ " (expression float - (constant float (1.0))\n"
+ " (expression float * (var_ref eta)\n"
+ " (expression float * (var_ref eta)\n"
+ " (expression float - (constant float (1.0))\n"
+ " (expression float * \n"
+ " (expression float dot (var_ref n) (var_ref i))\n"
+ " (expression float dot (var_ref n) (var_ref i))))))))\n"
+ " (if (expression bool < (var_ref k) (constant float (0.0)))\n"
+ " ((return (constant float (0.0))))\n"
+ " ((return (expression float -\n"
+ " (expression float * (var_ref eta) (var_ref i))\n"
+ " (expression float *\n"
+ " (expression float +\n"
+ " (expression float * (var_ref eta)\n"
+ " (expression float dot (var_ref n) (var_ref i)))\n"
+ " (expression float sqrt (var_ref k)))\n"
+ " (var_ref n))))))))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 i)\n"
+ " (declare (in) vec2 n)\n"
+ " (declare (in) float eta))\n"
+ " ((declare () float k)\n"
+ " (assign (constant bool (1)) (var_ref k)\n"
+ " (expression float - (constant float (1.0))\n"
+ " (expression float * (var_ref eta)\n"
+ " (expression float * (var_ref eta)\n"
+ " (expression float - (constant float (1.0))\n"
+ " (expression float * \n"
+ " (expression float dot (var_ref n) (var_ref i))\n"
+ " (expression float dot (var_ref n) (var_ref i))))))))\n"
+ " (if (expression bool < (var_ref k) (constant float (0.0)))\n"
+ " ((return (constant vec2 (0.0 0.0))))\n"
+ " ((return (expression vec2 -\n"
+ " (expression vec2 * (var_ref eta) (var_ref i))\n"
+ " (expression vec2 *\n"
+ " (expression float +\n"
+ " (expression float * (var_ref eta)\n"
+ " (expression float dot (var_ref n) (var_ref i)))\n"
+ " (expression float sqrt (var_ref k)))\n"
+ " (var_ref n))))))))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 i)\n"
+ " (declare (in) vec3 n)\n"
+ " (declare (in) float eta))\n"
+ " ((declare () float k)\n"
+ " (assign (constant bool (1)) (var_ref k)\n"
+ " (expression float - (constant float (1.0))\n"
+ " (expression float * (var_ref eta)\n"
+ " (expression float * (var_ref eta)\n"
+ " (expression float - (constant float (1.0))\n"
+ " (expression float * \n"
+ " (expression float dot (var_ref n) (var_ref i))\n"
+ " (expression float dot (var_ref n) (var_ref i))))))))\n"
+ " (if (expression bool < (var_ref k) (constant float (0.0)))\n"
+ " ((return (constant vec3 (0.0 0.0 0.0))))\n"
+ " ((return (expression vec3 -\n"
+ " (expression vec3 * (var_ref eta) (var_ref i))\n"
+ " (expression vec3 *\n"
+ " (expression float +\n"
+ " (expression float * (var_ref eta)\n"
+ " (expression float dot (var_ref n) (var_ref i)))\n"
+ " (expression float sqrt (var_ref k)))\n"
+ " (var_ref n))))))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 i)\n"
+ " (declare (in) vec4 n)\n"
+ " (declare (in) float eta))\n"
+ " ((declare () float k)\n"
+ " (assign (constant bool (1)) (var_ref k)\n"
+ " (expression float - (constant float (1.0))\n"
+ " (expression float * (var_ref eta)\n"
+ " (expression float * (var_ref eta)\n"
+ " (expression float - (constant float (1.0))\n"
+ " (expression float * \n"
+ " (expression float dot (var_ref n) (var_ref i))\n"
+ " (expression float dot (var_ref n) (var_ref i))))))))\n"
+ " (if (expression bool < (var_ref k) (constant float (0.0)))\n"
+ " ((return (constant vec4 (0.0 0.0 0.0 0.0))))\n"
+ " ((return (expression vec4 -\n"
+ " (expression vec4 * (var_ref eta) (var_ref i))\n"
+ " (expression vec4 *\n"
+ " (expression float +\n"
+ " (expression float * (var_ref eta)\n"
+ " (expression float dot (var_ref n) (var_ref i)))\n"
+ " (expression float sqrt (var_ref k)))\n"
+ " (var_ref n))))))))\n"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_noise3 =
+ "((function noise3\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) float x))\n"
+ " ((return (constant vec3 (0 0 0)))))\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec2 x))\n"
+ " ((return (constant vec3 (0 0 0)))))\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 x))\n"
+ " ((return (constant vec3 (0 0 0)))))\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec4 x))\n"
+ " ((return (constant vec3 (0 0 0)))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_min =
+ "((function min\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) float arg0)\n"
+ " (declare (in) float arg1))\n"
+ " ((return (expression float min (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 arg0)\n"
+ " (declare (in) vec2 arg1))\n"
+ " ((return (expression vec2 min (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 arg0)\n"
+ " (declare (in) vec3 arg1))\n"
+ " ((return (expression vec3 min (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 arg0)\n"
+ " (declare (in) vec4 arg1))\n"
+ " ((return (expression vec4 min (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 arg0)\n"
+ " (declare (in) float arg1))\n"
+ " ((return (expression vec2 min (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 arg0)\n"
+ " (declare (in) float arg1))\n"
+ " ((return (expression vec3 min (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 arg0)\n"
+ " (declare (in) float arg1))\n"
+ " ((return (expression vec4 min (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature int\n"
+ " (parameters\n"
+ " (declare (in) int arg0)\n"
+ " (declare (in) int arg1))\n"
+ " ((return (expression int min (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature ivec2\n"
+ " (parameters\n"
+ " (declare (in) ivec2 arg0)\n"
+ " (declare (in) ivec2 arg1))\n"
+ " ((return (expression ivec2 min (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature ivec3\n"
+ " (parameters\n"
+ " (declare (in) ivec3 arg0)\n"
+ " (declare (in) ivec3 arg1))\n"
+ " ((return (expression ivec3 min (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) ivec4 arg0)\n"
+ " (declare (in) ivec4 arg1))\n"
+ " ((return (expression ivec4 min (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature ivec2\n"
+ " (parameters\n"
+ " (declare (in) ivec2 arg0)\n"
+ " (declare (in) int arg1))\n"
+ " ((return (expression ivec2 min (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature ivec3\n"
+ " (parameters\n"
+ " (declare (in) ivec3 arg0)\n"
+ " (declare (in) int arg1))\n"
+ " ((return (expression ivec3 min (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in) ivec4 arg0)\n"
+ " (declare (in) int arg1))\n"
+ " ((return (expression ivec4 min (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature uint\n"
+ " (parameters\n"
+ " (declare (in) uint arg0)\n"
+ " (declare (in) uint arg1))\n"
+ " ((return (expression uint min (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature uvec2\n"
+ " (parameters\n"
+ " (declare (in) uvec2 arg0)\n"
+ " (declare (in) uvec2 arg1))\n"
+ " ((return (expression uvec2 min (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature uvec3\n"
+ " (parameters\n"
+ " (declare (in) uvec3 arg0)\n"
+ " (declare (in) uvec3 arg1))\n"
+ " ((return (expression uvec3 min (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) uvec4 arg0)\n"
+ " (declare (in) uvec4 arg1))\n"
+ " ((return (expression uvec4 min (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature uvec2\n"
+ " (parameters\n"
+ " (declare (in) uvec2 arg0)\n"
+ " (declare (in) uint arg1))\n"
+ " ((return (expression uvec2 min (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature uvec3\n"
+ " (parameters\n"
+ " (declare (in) uvec3 arg0)\n"
+ " (declare (in) uint arg1))\n"
+ " ((return (expression uvec3 min (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in) uvec4 arg0)\n"
+ " (declare (in) uint arg1))\n"
+ " ((return (expression uvec4 min (var_ref arg0) (var_ref arg1)))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_textureCube =
+ "((function textureCube\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) samplerCube sampler)\n"
+ " (declare (in) vec3 P) )\n"
+ " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) samplerCube sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_shadow1DArray =
+ "((function shadow1DArray\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler1DArrayShadow sampler)\n"
+ " (declare (in) vec3 P) )\n"
+ " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) ))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler1DArrayShadow sampler)\n"
+ " (declare (in) vec3 P) \n"
+ " (declare (in) float bias) )\n"
+ " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref bias) ))))\n"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_exp =
+ "((function exp\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) float arg0))\n"
+ " ((return (expression float exp (var_ref arg0)))))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 arg0))\n"
+ " ((return (expression vec2 exp (var_ref arg0)))))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 arg0))\n"
+ " ((return (expression vec3 exp (var_ref arg0)))))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 arg0))\n"
+ " ((return (expression vec4 exp (var_ref arg0)))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_greaterThan =
+ "((function greaterThan\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in) vec2 arg0)\n"
+ " (declare (in) vec2 arg1))\n"
+ " ((declare () bvec2 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in) vec3 arg0)\n"
+ " (declare (in) vec3 arg1))\n"
+ " ((declare () bvec3 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in) vec4 arg0)\n"
+ " (declare (in) vec4 arg1))\n"
+ " ((declare () bvec4 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool > (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in) ivec2 arg0)\n"
+ " (declare (in) ivec2 arg1))\n"
+ " ((declare () bvec2 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in) ivec3 arg0)\n"
+ " (declare (in) ivec3 arg1))\n"
+ " ((declare () bvec3 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in) ivec4 arg0)\n"
+ " (declare (in) ivec4 arg1))\n"
+ " ((declare () bvec4 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool > (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in) uvec2 arg0)\n"
+ " (declare (in) uvec2 arg1))\n"
+ " ((declare () bvec2 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in) uvec3 arg0)\n"
+ " (declare (in) uvec3 arg1))\n"
+ " ((declare () bvec3 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in) uvec4 arg0)\n"
+ " (declare (in) uvec4 arg1))\n"
+ " ((declare () bvec4 temp)\n"
+ " (assign (constant bool (1)) (swiz x (var_ref temp)) (expression bool > (swiz x (var_ref arg0))(swiz x (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz y (var_ref temp)) (expression bool > (swiz y (var_ref arg0))(swiz y (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz z (var_ref temp)) (expression bool > (swiz z (var_ref arg0))(swiz z (var_ref arg1)))) \n"
+ " (assign (constant bool (1)) (swiz w (var_ref temp)) (expression bool > (swiz w (var_ref arg0))(swiz w (var_ref arg1)))) \n"
+ " (return (var_ref temp))))\n"
+ "))\n"
+ ""
+;
+static const char *builtin_texture2DLod =
+ "((function texture2DLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in) sampler2D sampler)\n"
+ " (declare (in) vec2 P) \n"
+ " (declare (in) float lod) )\n"
+ " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
+ "\n"
+ "))\n"
+ ""
+;
+static const char *builtin_dot =
+ "((function dot\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) float arg0)\n"
+ " (declare (in) float arg1))\n"
+ " ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) vec2 arg0)\n"
+ " (declare (in) vec2 arg1))\n"
+ " ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) vec3 arg0)\n"
+ " (declare (in) vec3 arg1))\n"
+ " ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in) vec4 arg0)\n"
+ " (declare (in) vec4 arg1))\n"
+ " ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
+ "))\n"
+ ""
+;
+static const char *prototypes_for_120_vert =
+ "(\n"
+ "(function radians\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float degrees@0x13d20b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 degrees@0x13d2430)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 degrees@0x13d2610)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 degrees@0x13d27f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function degrees\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float radians@0x13d29d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 radians@0x13d2d50)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 radians@0x13d2f30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 radians@0x13d3110)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function sin\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float angle@0x13d32f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 angle@0x13d3670)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 angle@0x13d3850)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 angle@0x13d3a30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function cos\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float angle@0x13d3c10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 angle@0x13d3f90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 angle@0x13d4170)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 angle@0x13d4350)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function tan\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float angle@0x13d4530)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 angle@0x13d48b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 angle@0x13d4a90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 angle@0x13d4c70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function asin\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float angle@0x13d4e50)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 angle@0x13d51d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 angle@0x13d53b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 angle@0x13d5590)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function acos\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float angle@0x13d5770)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 angle@0x13d5af0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 angle@0x13d5cd0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 angle@0x13d5eb0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function atan\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float y@0x13d6090)\n"
+ " (declare (in ) float x@0x13d61a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 y@0x13d6520)\n"
+ " (declare (in ) vec2 x@0x13d6630)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 y@0x13d6810)\n"
+ " (declare (in ) vec3 x@0x13d6920)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 y@0x13d6b00)\n"
+ " (declare (in ) vec4 x@0x13d6c10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float y_over_x@0x13d6df0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 y_over_x@0x13d6fe0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 y_over_x@0x13d71d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 y_over_x@0x13d73c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function pow\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x13d75b0)\n"
+ " (declare (in ) float y@0x13d76c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x13d7a40)\n"
+ " (declare (in ) vec2 y@0x13d7b50)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x13d7d30)\n"
+ " (declare (in ) vec3 y@0x13d7e40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x13d8020)\n"
+ " (declare (in ) vec4 y@0x13d8130)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function exp\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x13d8310)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x13d8690)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x13d8870)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x13d8a50)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function log\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x13d8c30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x13d8fb0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x13d9190)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x13d9370)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function exp2\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x13d9550)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x13d98d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x13d9ab0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x13d9c90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function log2\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x13d9e70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x13da1f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x13da3d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x13da5b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function sqrt\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x13da790)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x13dab10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x13dacf0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x13daed0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function inversesqrt\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x13db0b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x13db440)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x13db620)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x13db800)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function abs\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x13db9e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x13dbd60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x13dbf40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x13dc120)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function sign\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x13dc300)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x13dc680)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x13dc860)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x13dca40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function floor\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x13dcc20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x13dcfa0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x13dd180)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x13dd360)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function ceil\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x13dd540)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x13dd8c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x13ddaa0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x13ddc80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function fract\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x13dde60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x13de1e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x13de3c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x13de5a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function mod\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x13de780)\n"
+ " (declare (in ) float y@0x13de890)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x13dec10)\n"
+ " (declare (in ) float y@0x13ded20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x13def00)\n"
+ " (declare (in ) float y@0x13df010)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x13df1f0)\n"
+ " (declare (in ) float y@0x13df300)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x13df4e0)\n"
+ " (declare (in ) vec2 y@0x13df5f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x13df7d0)\n"
+ " (declare (in ) vec3 y@0x13df8e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x13dfac0)\n"
+ " (declare (in ) vec4 y@0x13dfbd0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function min\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x13dfdb0)\n"
+ " (declare (in ) float y@0x13dfec0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x13e0240)\n"
+ " (declare (in ) vec2 y@0x13e0350)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x13e0530)\n"
+ " (declare (in ) vec3 y@0x13e0640)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x13e0820)\n"
+ " (declare (in ) vec4 y@0x13e0930)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x13e0b10)\n"
+ " (declare (in ) float y@0x13e0c20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x13e0e00)\n"
+ " (declare (in ) float y@0x13e0f10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x13e10f0)\n"
+ " (declare (in ) float y@0x13e1200)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function max\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x13e13e0)\n"
+ " (declare (in ) float y@0x13e14f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x13e1870)\n"
+ " (declare (in ) vec2 y@0x13e1980)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x13e1b60)\n"
+ " (declare (in ) vec3 y@0x13e1c70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x13e1e50)\n"
+ " (declare (in ) vec4 y@0x13e1f60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x13e2140)\n"
+ " (declare (in ) float y@0x13e2250)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x13e2430)\n"
+ " (declare (in ) float y@0x13e2540)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x13e2720)\n"
+ " (declare (in ) float y@0x13e2830)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function clamp\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x13e2a10)\n"
+ " (declare (in ) float minVal@0x13e2b20)\n"
+ " (declare (in ) float maxVal@0x13e2c30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x13e2fb0)\n"
+ " (declare (in ) vec2 minVal@0x13e30c0)\n"
+ " (declare (in ) vec2 maxVal@0x13e31d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x13e33b0)\n"
+ " (declare (in ) vec3 minVal@0x13e34c0)\n"
+ " (declare (in ) vec3 maxVal@0x13e35d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x13e37b0)\n"
+ " (declare (in ) vec4 minVal@0x13e38c0)\n"
+ " (declare (in ) vec4 maxVal@0x13e39d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x13e3bb0)\n"
+ " (declare (in ) float minVal@0x13e3cc0)\n"
+ " (declare (in ) float maxVal@0x13e3dd0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x13e3fb0)\n"
+ " (declare (in ) float minVal@0x13e40c0)\n"
+ " (declare (in ) float maxVal@0x13e41d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x13e43b0)\n"
+ " (declare (in ) float minVal@0x13e44c0)\n"
+ " (declare (in ) float maxVal@0x13e45d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function mix\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x13e47b0)\n"
+ " (declare (in ) float y@0x13e48c0)\n"
+ " (declare (in ) float a@0x13e49d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x13e4d50)\n"
+ " (declare (in ) vec2 y@0x13e4e60)\n"
+ " (declare (in ) vec2 a@0x13e4f70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x13e5150)\n"
+ " (declare (in ) vec3 y@0x13e5260)\n"
+ " (declare (in ) vec3 a@0x13e5370)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x13e5550)\n"
+ " (declare (in ) vec4 y@0x13e5660)\n"
+ " (declare (in ) vec4 a@0x13e5770)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x13e5950)\n"
+ " (declare (in ) vec2 y@0x13e5a60)\n"
+ " (declare (in ) float a@0x13e5b70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x13e5d50)\n"
+ " (declare (in ) vec3 y@0x13e5e60)\n"
+ " (declare (in ) float a@0x13e5f70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x13e6150)\n"
+ " (declare (in ) vec4 y@0x13e6260)\n"
+ " (declare (in ) float a@0x13e6370)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function step\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float edge@0x13e6550)\n"
+ " (declare (in ) float x@0x13e6660)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 edge@0x13e69e0)\n"
+ " (declare (in ) vec2 x@0x13e6af0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 edge@0x13e6cd0)\n"
+ " (declare (in ) vec3 x@0x13e6de0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 edge@0x13e6fc0)\n"
+ " (declare (in ) vec4 x@0x13e70d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) float edge@0x13e72b0)\n"
+ " (declare (in ) vec2 x@0x13e73c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) float edge@0x13e75a0)\n"
+ " (declare (in ) vec3 x@0x13e76b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) float edge@0x13e7890)\n"
+ " (declare (in ) vec4 x@0x13e79a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function smoothstep\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float edge0@0x13e7b80)\n"
+ " (declare (in ) float edge1@0x13e7c90)\n"
+ " (declare (in ) float x@0x13e7da0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 edge0@0x13e8130)\n"
+ " (declare (in ) vec2 edge1@0x13e8240)\n"
+ " (declare (in ) vec2 x@0x13e8350)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 edge0@0x13e8530)\n"
+ " (declare (in ) vec3 edge1@0x13e8640)\n"
+ " (declare (in ) vec3 x@0x13e8750)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 edge0@0x13e8930)\n"
+ " (declare (in ) vec4 edge1@0x13e8a40)\n"
+ " (declare (in ) vec4 x@0x13e8b50)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) float edge0@0x13e8d30)\n"
+ " (declare (in ) float edge1@0x13e8e40)\n"
+ " (declare (in ) vec2 x@0x13e8f50)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) float edge0@0x13e9130)\n"
+ " (declare (in ) float edge1@0x13e9240)\n"
+ " (declare (in ) vec3 x@0x13e9350)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) float edge0@0x13e9530)\n"
+ " (declare (in ) float edge1@0x13e9640)\n"
+ " (declare (in ) vec4 x@0x13e9750)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function length\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x13e9930)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x13e9cb0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x13e9e90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x13ea070)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function distance\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float p0@0x13ea250)\n"
+ " (declare (in ) float p1@0x13ea360)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec2 p0@0x13ea6f0)\n"
+ " (declare (in ) vec2 p1@0x13ea800)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec3 p0@0x13ea9e0)\n"
+ " (declare (in ) vec3 p1@0x13eaaf0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec4 p0@0x13eacd0)\n"
+ " (declare (in ) vec4 p1@0x13eade0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function dot\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x13eafc0)\n"
+ " (declare (in ) float y@0x13eb0d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x13eb450)\n"
+ " (declare (in ) vec2 y@0x13eb560)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x13eb740)\n"
+ " (declare (in ) vec3 y@0x13eb850)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x13eba30)\n"
+ " (declare (in ) vec4 y@0x13ebb40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function cross\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x13ebd20)\n"
+ " (declare (in ) vec3 y@0x13ebe30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function normalize\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x13ec1b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x13ec540)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x13ec720)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x13ec900)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function ftransform\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function faceforward\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float N@0x13ecd60)\n"
+ " (declare (in ) float I@0x13ece70)\n"
+ " (declare (in ) float Nref@0x13ecf80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 N@0x13ed310)\n"
+ " (declare (in ) vec2 I@0x13ed420)\n"
+ " (declare (in ) vec2 Nref@0x13ed530)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 N@0x13ed710)\n"
+ " (declare (in ) vec3 I@0x13ed820)\n"
+ " (declare (in ) vec3 Nref@0x13ed930)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 N@0x13edb10)\n"
+ " (declare (in ) vec4 I@0x13edc20)\n"
+ " (declare (in ) vec4 Nref@0x13edd30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function reflect\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float I@0x13edf10)\n"
+ " (declare (in ) float N@0x13ee020)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 I@0x13ee3a0)\n"
+ " (declare (in ) vec2 N@0x13ee4b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 I@0x13ee690)\n"
+ " (declare (in ) vec3 N@0x13ee7a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 I@0x13ee980)\n"
+ " (declare (in ) vec4 N@0x13eea90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function refract\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float I@0x13eec70)\n"
+ " (declare (in ) float N@0x13eed80)\n"
+ " (declare (in ) float eta@0x13eee90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 I@0x13ef210)\n"
+ " (declare (in ) vec2 N@0x13ef320)\n"
+ " (declare (in ) float eta@0x13ef430)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 I@0x13ef610)\n"
+ " (declare (in ) vec3 N@0x13ef720)\n"
+ " (declare (in ) float eta@0x13ef830)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 I@0x13efa10)\n"
+ " (declare (in ) vec4 N@0x13efb20)\n"
+ " (declare (in ) float eta@0x13efc30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function matrixCompMult\n"
+ " (signature mat2\n"
+ " (parameters\n"
+ " (declare (in ) mat2 x@0x13efe10)\n"
+ " (declare (in ) mat2 y@0x13eff20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat3\n"
+ " (parameters\n"
+ " (declare (in ) mat3 x@0x13f02b0)\n"
+ " (declare (in ) mat3 y@0x13f03c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat4\n"
+ " (parameters\n"
+ " (declare (in ) mat4 x@0x13f05a0)\n"
+ " (declare (in ) mat4 y@0x13f06b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat2x3\n"
+ " (parameters\n"
+ " (declare (in ) mat2x3 x@0x13f0890)\n"
+ " (declare (in ) mat2x3 y@0x13f09a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat2x4\n"
+ " (parameters\n"
+ " (declare (in ) mat2x4 x@0x13f0b80)\n"
+ " (declare (in ) mat2x4 y@0x13f0c90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat3x2\n"
+ " (parameters\n"
+ " (declare (in ) mat3x2 x@0x13f0e70)\n"
+ " (declare (in ) mat3x2 y@0x13f0f80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat3x4\n"
+ " (parameters\n"
+ " (declare (in ) mat3x4 x@0x13f1160)\n"
+ " (declare (in ) mat3x4 y@0x13f1270)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat4x2\n"
+ " (parameters\n"
+ " (declare (in ) mat4x2 x@0x13f1450)\n"
+ " (declare (in ) mat4x2 y@0x13f1560)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat4x3\n"
+ " (parameters\n"
+ " (declare (in ) mat4x3 x@0x13f1740)\n"
+ " (declare (in ) mat4x3 y@0x13f1850)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function outerProduct\n"
+ " (signature mat2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 c@0x13f1a30)\n"
+ " (declare (in ) vec2 r@0x13f1b40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 c@0x13f1ed0)\n"
+ " (declare (in ) vec3 r@0x13f1fe0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 c@0x13f21c0)\n"
+ " (declare (in ) vec4 r@0x13f22d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat2x3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 c@0x13f24b0)\n"
+ " (declare (in ) vec2 r@0x13f25c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat3x2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 c@0x13f27a0)\n"
+ " (declare (in ) vec3 r@0x13f28b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat2x4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 c@0x13f2a90)\n"
+ " (declare (in ) vec2 r@0x13f2ba0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat4x2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 c@0x13f2d80)\n"
+ " (declare (in ) vec4 r@0x13f2e90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat3x4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 c@0x13f3070)\n"
+ " (declare (in ) vec3 r@0x13f3180)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat4x3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 c@0x13f3360)\n"
+ " (declare (in ) vec4 r@0x13f3470)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function transpose\n"
+ " (signature mat2\n"
+ " (parameters\n"
+ " (declare (in ) mat2 m@0x13f3650)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat3\n"
+ " (parameters\n"
+ " (declare (in ) mat3 m@0x13f39e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat4\n"
+ " (parameters\n"
+ " (declare (in ) mat4 m@0x13f3bc0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat2x3\n"
+ " (parameters\n"
+ " (declare (in ) mat3x2 m@0x13f3da0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat3x2\n"
+ " (parameters\n"
+ " (declare (in ) mat2x3 m@0x13f3f80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat2x4\n"
+ " (parameters\n"
+ " (declare (in ) mat4x2 m@0x13f4160)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat4x2\n"
+ " (parameters\n"
+ " (declare (in ) mat2x4 m@0x13f4340)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat3x4\n"
+ " (parameters\n"
+ " (declare (in ) mat4x3 m@0x13f4520)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat4x3\n"
+ " (parameters\n"
+ " (declare (in ) mat3x4 m@0x13f4700)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function lessThan\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x13f48e0)\n"
+ " (declare (in ) vec2 y@0x13f49f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x13f4d80)\n"
+ " (declare (in ) vec3 y@0x13f4e90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x13f5070)\n"
+ " (declare (in ) vec4 y@0x13f5180)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x13f5360)\n"
+ " (declare (in ) ivec2 y@0x13f5470)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x13f5650)\n"
+ " (declare (in ) ivec3 y@0x13f5760)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x13f5940)\n"
+ " (declare (in ) ivec4 y@0x13f5a50)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function lessThanEqual\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x13f5c30)\n"
+ " (declare (in ) vec2 y@0x13f5d40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x13f60d0)\n"
+ " (declare (in ) vec3 y@0x13f61e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x13f63c0)\n"
+ " (declare (in ) vec4 y@0x13f64d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x13f66b0)\n"
+ " (declare (in ) ivec2 y@0x13f67c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x13f69a0)\n"
+ " (declare (in ) ivec3 y@0x13f6ab0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x13f6c90)\n"
+ " (declare (in ) ivec4 y@0x13f6da0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function greaterThan\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x13f6f80)\n"
+ " (declare (in ) vec2 y@0x13f7090)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x13f7420)\n"
+ " (declare (in ) vec3 y@0x13f7530)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x13f7710)\n"
+ " (declare (in ) vec4 y@0x13f7820)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x13f7a00)\n"
+ " (declare (in ) ivec2 y@0x13f7b10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x13f7cf0)\n"
+ " (declare (in ) ivec3 y@0x13f7e00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x13f7fe0)\n"
+ " (declare (in ) ivec4 y@0x13f80f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function greaterThanEqual\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x13f82d0)\n"
+ " (declare (in ) vec2 y@0x13f83e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x13f8770)\n"
+ " (declare (in ) vec3 y@0x13f8880)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x13f8a60)\n"
+ " (declare (in ) vec4 y@0x13f8b70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x13f8d50)\n"
+ " (declare (in ) ivec2 y@0x13f8e60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x13f9040)\n"
+ " (declare (in ) ivec3 y@0x13f9150)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x13f9330)\n"
+ " (declare (in ) ivec4 y@0x13f9440)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function equal\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x13f9620)\n"
+ " (declare (in ) vec2 y@0x13f9730)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x13f9ab0)\n"
+ " (declare (in ) vec3 y@0x13f9bc0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x13f9da0)\n"
+ " (declare (in ) vec4 y@0x13f9eb0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x13fa090)\n"
+ " (declare (in ) ivec2 y@0x13fa1a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x13fa380)\n"
+ " (declare (in ) ivec3 y@0x13fa490)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x13fa670)\n"
+ " (declare (in ) ivec4 y@0x13fa780)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) bvec2 x@0x13fa960)\n"
+ " (declare (in ) bvec2 y@0x13faa70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) bvec3 x@0x13fac50)\n"
+ " (declare (in ) bvec3 y@0x13fad60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) bvec4 x@0x13faf40)\n"
+ " (declare (in ) bvec4 y@0x13fb050)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function notEqual\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x13fb230)\n"
+ " (declare (in ) vec2 y@0x13fb340)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x13fb6d0)\n"
+ " (declare (in ) vec3 y@0x13fb7e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x13fb9c0)\n"
+ " (declare (in ) vec4 y@0x13fbad0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x13fbcb0)\n"
+ " (declare (in ) ivec2 y@0x13fbdc0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x13fbfa0)\n"
+ " (declare (in ) ivec3 y@0x13fc0b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x13fc290)\n"
+ " (declare (in ) ivec4 y@0x13fc3a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) bvec2 x@0x13fc580)\n"
+ " (declare (in ) bvec2 y@0x13fc690)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) bvec3 x@0x13fc870)\n"
+ " (declare (in ) bvec3 y@0x13fc980)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) bvec4 x@0x13fcb60)\n"
+ " (declare (in ) bvec4 y@0x13fcc70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function any\n"
+ " (signature bool\n"
+ " (parameters\n"
+ " (declare (in ) bvec2 x@0x13fce50)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bool\n"
+ " (parameters\n"
+ " (declare (in ) bvec3 x@0x13fd1d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bool\n"
+ " (parameters\n"
+ " (declare (in ) bvec4 x@0x13fd3b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function all\n"
+ " (signature bool\n"
+ " (parameters\n"
+ " (declare (in ) bvec2 x@0x13fd590)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bool\n"
+ " (parameters\n"
+ " (declare (in ) bvec3 x@0x13fd910)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bool\n"
+ " (parameters\n"
+ " (declare (in ) bvec4 x@0x13fdaf0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function not\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) bvec2 x@0x13fdcd0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) bvec3 x@0x13fe050)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) bvec4 x@0x13fe230)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture1D\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x13fe410)\n"
+ " (declare (in ) float coord@0x13fe520)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture1DProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x13fe8b0)\n"
+ " (declare (in ) vec2 coord@0x13fe9c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x13fed50)\n"
+ " (declare (in ) vec4 coord@0x13fee60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture1DLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x13ff040)\n"
+ " (declare (in ) float coord@0x13ff150)\n"
+ " (declare (in ) float lod@0x13ff260)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture1DProjLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x13ff5f0)\n"
+ " (declare (in ) vec2 coord@0x13ff700)\n"
+ " (declare (in ) float lod@0x13ff810)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x13ffba0)\n"
+ " (declare (in ) vec4 coord@0x13ffcb0)\n"
+ " (declare (in ) float lod@0x13ffdc0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture2D\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x13fffa0)\n"
+ " (declare (in ) vec2 coord@0x14000b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture2DProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x1400440)\n"
+ " (declare (in ) vec3 coord@0x1400550)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x14008e0)\n"
+ " (declare (in ) vec4 coord@0x14009f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture2DLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x1400bd0)\n"
+ " (declare (in ) vec2 coord@0x1400ce0)\n"
+ " (declare (in ) float lod@0x1400df0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture2DProjLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x1401180)\n"
+ " (declare (in ) vec3 coord@0x1401290)\n"
+ " (declare (in ) float lod@0x14013a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x1401730)\n"
+ " (declare (in ) vec4 coord@0x1401840)\n"
+ " (declare (in ) float lod@0x1401950)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture3D\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0x1401b30)\n"
+ " (declare (in ) vec3 coord@0x1401c40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture3DProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0x1401fd0)\n"
+ " (declare (in ) vec4 coord@0x14020e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture3DLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0x1402470)\n"
+ " (declare (in ) vec3 coord@0x1402580)\n"
+ " (declare (in ) float lod@0x1402690)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture3DProjLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0x1402a20)\n"
+ " (declare (in ) vec4 coord@0x1402b30)\n"
+ " (declare (in ) float lod@0x1402c40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function textureCube\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) samplerCube sampler@0x1402fd0)\n"
+ " (declare (in ) vec3 coord@0x14030e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function textureCubeLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) samplerCube sampler@0x1403470)\n"
+ " (declare (in ) vec3 coord@0x1403580)\n"
+ " (declare (in ) float lod@0x1403690)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow1D\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0x1403a20)\n"
+ " (declare (in ) vec3 coord@0x1403b30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow2D\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0x1403ec0)\n"
+ " (declare (in ) vec3 coord@0x1403fd0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow1DProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0x1404360)\n"
+ " (declare (in ) vec4 coord@0x1404470)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow2DProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0x1404800)\n"
+ " (declare (in ) vec4 coord@0x1404910)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow1DLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0x1404ca0)\n"
+ " (declare (in ) vec3 coord@0x1404db0)\n"
+ " (declare (in ) float lod@0x1404ec0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow2DLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0x1405250)\n"
+ " (declare (in ) vec3 coord@0x1405360)\n"
+ " (declare (in ) float lod@0x1405470)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow1DProjLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0x1405800)\n"
+ " (declare (in ) vec4 coord@0x1405910)\n"
+ " (declare (in ) float lod@0x1405a20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow2DProjLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0x1405db0)\n"
+ " (declare (in ) vec4 coord@0x1405ec0)\n"
+ " (declare (in ) float lod@0x1405fd0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function noise1\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1406360)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x14066e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x14068c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1406aa0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function noise2\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1406c80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1407000)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x14071e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x14073c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function noise3\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x14075a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1407920)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1407b00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1407ce0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function noise4\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1407ec0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1408240)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1408420)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1408600)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "\n"
+ ")"
+;
+static const char *functions_for_120_vert [] = {
+ builtin_clamp,
+ builtin_matrixCompMult,
+ builtin_shadow2DProjLod,
+ builtin_noise2,
+ builtin_texture3DProjLod,
+ builtin_pow,
+ builtin_texture2DProj,
+ builtin_greaterThanEqual,
+ builtin_sign,
+ builtin_texture3DProj,
+ builtin_texture2D,
+ builtin_equal,
+ builtin_faceforward,
+ builtin_tan,
+ builtin_shadow2DProj,
+ builtin_shadow1DProjLod,
+ builtin_any,
+ builtin_shadow1DProj,
+ builtin_normalize,
+ builtin_asin,
+ builtin_texture1DProj,
+ builtin_log,
+ builtin_floor,
+ builtin_exp2,
+ builtin_lessThan,
+ builtin_cross,
+ builtin_sqrt,
+ builtin_texture3DLod,
+ builtin_fract,
+ builtin_abs,
+ builtin_degrees,
+ builtin_shadow1DLod,
+ builtin_ftransform,
+ builtin_sin,
+ builtin_shadow2D,
+ builtin_shadow2DLod,
+ builtin_all,
+ builtin_log2,
+ builtin_atan,
+ builtin_notEqual,
+ builtin_max,
+ builtin_lessThanEqual,
+ builtin_transpose,
+ builtin_outerProduct,
+ builtin_ceil,
+ builtin_reflect,
+ builtin_textureCubeLod,
+ builtin_step,
+ builtin_texture1D,
+ builtin_greaterThan,
+ builtin_texture3D,
+ builtin_not,
+ builtin_texture2DProjLod,
+ builtin_inversesqrt,
+ builtin_mod,
+ builtin_noise4,
+ builtin_distance,
+ builtin_cos,
+ builtin_shadow1D,
+ builtin_noise1,
+ builtin_refract,
+ builtin_noise3,
+ builtin_texture2DLod,
+ builtin_min,
+ builtin_radians,
+ builtin_smoothstep,
+ builtin_texture1DProjLod,
+ builtin_textureCube,
+ builtin_length,
+ builtin_texture1DLod,
+ builtin_exp,
+ builtin_acos,
+ builtin_mix,
+ builtin_dot,
+};
+static const char *prototypes_for_EXT_texture_array_frag =
+ "(\n"
+ "(function texture1DArray\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DArray sampler@0xbe3bd0)\n"
+ " (declare (in ) vec2 coord@0xbe3ce0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DArray sampler@0xbe4070)\n"
+ " (declare (in ) vec2 coord@0xbe4180)\n"
+ " (declare (in ) float bias@0xbe4290)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture2DArray\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DArray sampler@0xbe4470)\n"
+ " (declare (in ) vec2 coord@0xbe4580)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DArray sampler@0xbe4910)\n"
+ " (declare (in ) vec2 coord@0xbe4a20)\n"
+ " (declare (in ) float bias@0xbe4b30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow1DArray\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DArrayShadow sampler@0xbe4d10)\n"
+ " (declare (in ) vec3 coord@0xbe4e20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DArrayShadow sampler@0xbe51b0)\n"
+ " (declare (in ) vec3 coord@0xbe52c0)\n"
+ " (declare (in ) float bias@0xbe53d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow2DArray\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DArrayShadow sampler@0xbe55b0)\n"
+ " (declare (in ) vec4 coord@0xbe56c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "\n"
+ ")"
+;
+static const char *functions_for_EXT_texture_array_frag [] = {
+ builtin_shadow2DArray,
+ builtin_shadow1DArray,
+ builtin_texture1DArray,
+ builtin_texture2DArray,
+};
+static const char *prototypes_for_110_vert =
+ "(\n"
+ "(function radians\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float degrees@0x1aa51c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 degrees@0x1aa5540)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 degrees@0x1aa5720)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 degrees@0x1aa5900)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function degrees\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float radians@0x1aa5ae0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 radians@0x1aa5e60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 radians@0x1aa6040)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 radians@0x1aa6220)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function sin\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float angle@0x1aa6400)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 angle@0x1aa6780)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 angle@0x1aa6960)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 angle@0x1aa6b40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function cos\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float angle@0x1aa6d20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 angle@0x1aa70a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 angle@0x1aa7280)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 angle@0x1aa7460)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function tan\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float angle@0x1aa7640)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 angle@0x1aa79c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 angle@0x1aa7ba0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 angle@0x1aa7d80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function asin\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float angle@0x1aa7f60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 angle@0x1aa82e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 angle@0x1aa84c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 angle@0x1aa86a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function acos\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float angle@0x1aa8880)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 angle@0x1aa8c00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 angle@0x1aa8de0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 angle@0x1aa8fc0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function atan\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float y@0x1aa91a0)\n"
+ " (declare (in ) float x@0x1aa92b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 y@0x1aa9630)\n"
+ " (declare (in ) vec2 x@0x1aa9740)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 y@0x1aa9920)\n"
+ " (declare (in ) vec3 x@0x1aa9a30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 y@0x1aa9c10)\n"
+ " (declare (in ) vec4 x@0x1aa9d20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float y_over_x@0x1aa9f00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 y_over_x@0x1aaa0f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 y_over_x@0x1aaa2e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 y_over_x@0x1aaa4d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function pow\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1aaa6c0)\n"
+ " (declare (in ) float y@0x1aaa7d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1aaab50)\n"
+ " (declare (in ) vec2 y@0x1aaac60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1aaae40)\n"
+ " (declare (in ) vec3 y@0x1aaaf50)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1aab130)\n"
+ " (declare (in ) vec4 y@0x1aab240)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function exp\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1aab420)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1aab7a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1aab980)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1aabb60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function log\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1aabd40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1aac0c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1aac2a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1aac480)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function exp2\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1aac660)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1aac9e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1aacbc0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1aacda0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function log2\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1aacf80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1aad300)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1aad4e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1aad6c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function sqrt\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1aad8a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1aadc20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1aade00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1aadfe0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function inversesqrt\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1aae1c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1aae550)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1aae730)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1aae910)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function abs\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1aaeaf0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1aaee70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1aaf050)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1aaf230)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function sign\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1aaf410)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1aaf790)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1aaf970)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1aafb50)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function floor\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1aafd30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1ab00b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1ab0290)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1ab0470)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function ceil\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1ab0650)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1ab09d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1ab0bb0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1ab0d90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function fract\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1ab0f70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1ab12f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1ab14d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1ab16b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function mod\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1ab1890)\n"
+ " (declare (in ) float y@0x1ab19a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1ab1d20)\n"
+ " (declare (in ) float y@0x1ab1e30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1ab2010)\n"
+ " (declare (in ) float y@0x1ab2120)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1ab2300)\n"
+ " (declare (in ) float y@0x1ab2410)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1ab25f0)\n"
+ " (declare (in ) vec2 y@0x1ab2700)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1ab28e0)\n"
+ " (declare (in ) vec3 y@0x1ab29f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1ab2bd0)\n"
+ " (declare (in ) vec4 y@0x1ab2ce0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function min\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1ab2ec0)\n"
+ " (declare (in ) float y@0x1ab2fd0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1ab3350)\n"
+ " (declare (in ) vec2 y@0x1ab3460)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1ab3640)\n"
+ " (declare (in ) vec3 y@0x1ab3750)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1ab3930)\n"
+ " (declare (in ) vec4 y@0x1ab3a40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1ab3c20)\n"
+ " (declare (in ) float y@0x1ab3d30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1ab3f10)\n"
+ " (declare (in ) float y@0x1ab4020)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1ab4200)\n"
+ " (declare (in ) float y@0x1ab4310)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function max\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1ab44f0)\n"
+ " (declare (in ) float y@0x1ab4600)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1ab4980)\n"
+ " (declare (in ) vec2 y@0x1ab4a90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1ab4c70)\n"
+ " (declare (in ) vec3 y@0x1ab4d80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1ab4f60)\n"
+ " (declare (in ) vec4 y@0x1ab5070)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1ab5250)\n"
+ " (declare (in ) float y@0x1ab5360)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1ab5540)\n"
+ " (declare (in ) float y@0x1ab5650)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1ab5830)\n"
+ " (declare (in ) float y@0x1ab5940)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function clamp\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1ab5b20)\n"
+ " (declare (in ) float minVal@0x1ab5c30)\n"
+ " (declare (in ) float maxVal@0x1ab5d40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1ab60c0)\n"
+ " (declare (in ) vec2 minVal@0x1ab61d0)\n"
+ " (declare (in ) vec2 maxVal@0x1ab62e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1ab64c0)\n"
+ " (declare (in ) vec3 minVal@0x1ab65d0)\n"
+ " (declare (in ) vec3 maxVal@0x1ab66e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1ab68c0)\n"
+ " (declare (in ) vec4 minVal@0x1ab69d0)\n"
+ " (declare (in ) vec4 maxVal@0x1ab6ae0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1ab6cc0)\n"
+ " (declare (in ) float minVal@0x1ab6dd0)\n"
+ " (declare (in ) float maxVal@0x1ab6ee0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1ab70c0)\n"
+ " (declare (in ) float minVal@0x1ab71d0)\n"
+ " (declare (in ) float maxVal@0x1ab72e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1ab74c0)\n"
+ " (declare (in ) float minVal@0x1ab75d0)\n"
+ " (declare (in ) float maxVal@0x1ab76e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function mix\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1ab78c0)\n"
+ " (declare (in ) float y@0x1ab79d0)\n"
+ " (declare (in ) float a@0x1ab7ae0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1ab7e60)\n"
+ " (declare (in ) vec2 y@0x1ab7f70)\n"
+ " (declare (in ) vec2 a@0x1ab8080)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1ab8260)\n"
+ " (declare (in ) vec3 y@0x1ab8370)\n"
+ " (declare (in ) vec3 a@0x1ab8480)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1ab8660)\n"
+ " (declare (in ) vec4 y@0x1ab8770)\n"
+ " (declare (in ) vec4 a@0x1ab8880)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1ab8a60)\n"
+ " (declare (in ) vec2 y@0x1ab8b70)\n"
+ " (declare (in ) float a@0x1ab8c80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1ab8e60)\n"
+ " (declare (in ) vec3 y@0x1ab8f70)\n"
+ " (declare (in ) float a@0x1ab9080)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1ab9260)\n"
+ " (declare (in ) vec4 y@0x1ab9370)\n"
+ " (declare (in ) float a@0x1ab9480)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function step\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float edge@0x1ab9660)\n"
+ " (declare (in ) float x@0x1ab9770)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 edge@0x1ab9af0)\n"
+ " (declare (in ) vec2 x@0x1ab9c00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 edge@0x1ab9de0)\n"
+ " (declare (in ) vec3 x@0x1ab9ef0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 edge@0x1aba0d0)\n"
+ " (declare (in ) vec4 x@0x1aba1e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) float edge@0x1aba3c0)\n"
+ " (declare (in ) vec2 x@0x1aba4d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) float edge@0x1aba6b0)\n"
+ " (declare (in ) vec3 x@0x1aba7c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) float edge@0x1aba9a0)\n"
+ " (declare (in ) vec4 x@0x1abaab0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function smoothstep\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float edge0@0x1abac90)\n"
+ " (declare (in ) float edge1@0x1abada0)\n"
+ " (declare (in ) float x@0x1abaeb0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 edge0@0x1abb240)\n"
+ " (declare (in ) vec2 edge1@0x1abb350)\n"
+ " (declare (in ) vec2 x@0x1abb460)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 edge0@0x1abb640)\n"
+ " (declare (in ) vec3 edge1@0x1abb750)\n"
+ " (declare (in ) vec3 x@0x1abb860)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 edge0@0x1abba40)\n"
+ " (declare (in ) vec4 edge1@0x1abbb50)\n"
+ " (declare (in ) vec4 x@0x1abbc60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) float edge0@0x1abbe40)\n"
+ " (declare (in ) float edge1@0x1abbf50)\n"
+ " (declare (in ) vec2 x@0x1abc060)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) float edge0@0x1abc240)\n"
+ " (declare (in ) float edge1@0x1abc350)\n"
+ " (declare (in ) vec3 x@0x1abc460)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) float edge0@0x1abc640)\n"
+ " (declare (in ) float edge1@0x1abc750)\n"
+ " (declare (in ) vec4 x@0x1abc860)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function length\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1abca40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1abcdc0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1abcfa0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1abd180)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function distance\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float p0@0x1abd360)\n"
+ " (declare (in ) float p1@0x1abd470)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec2 p0@0x1abd800)\n"
+ " (declare (in ) vec2 p1@0x1abd910)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec3 p0@0x1abdaf0)\n"
+ " (declare (in ) vec3 p1@0x1abdc00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec4 p0@0x1abdde0)\n"
+ " (declare (in ) vec4 p1@0x1abdef0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function dot\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1abe0d0)\n"
+ " (declare (in ) float y@0x1abe1e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1abe560)\n"
+ " (declare (in ) vec2 y@0x1abe670)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1abe850)\n"
+ " (declare (in ) vec3 y@0x1abe960)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1abeb40)\n"
+ " (declare (in ) vec4 y@0x1abec50)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function cross\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1abee30)\n"
+ " (declare (in ) vec3 y@0x1abef40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function normalize\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1abf2c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1abf650)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1abf830)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1abfa10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function ftransform\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function faceforward\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float N@0x1abfe70)\n"
+ " (declare (in ) float I@0x1abff80)\n"
+ " (declare (in ) float Nref@0x1ac0090)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 N@0x1ac0420)\n"
+ " (declare (in ) vec2 I@0x1ac0530)\n"
+ " (declare (in ) vec2 Nref@0x1ac0640)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 N@0x1ac0820)\n"
+ " (declare (in ) vec3 I@0x1ac0930)\n"
+ " (declare (in ) vec3 Nref@0x1ac0a40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 N@0x1ac0c20)\n"
+ " (declare (in ) vec4 I@0x1ac0d30)\n"
+ " (declare (in ) vec4 Nref@0x1ac0e40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function reflect\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float I@0x1ac1020)\n"
+ " (declare (in ) float N@0x1ac1130)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 I@0x1ac14b0)\n"
+ " (declare (in ) vec2 N@0x1ac15c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 I@0x1ac17a0)\n"
+ " (declare (in ) vec3 N@0x1ac18b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 I@0x1ac1a90)\n"
+ " (declare (in ) vec4 N@0x1ac1ba0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function refract\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float I@0x1ac1d80)\n"
+ " (declare (in ) float N@0x1ac1e90)\n"
+ " (declare (in ) float eta@0x1ac1fa0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 I@0x1ac2320)\n"
+ " (declare (in ) vec2 N@0x1ac2430)\n"
+ " (declare (in ) float eta@0x1ac2540)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 I@0x1ac2720)\n"
+ " (declare (in ) vec3 N@0x1ac2830)\n"
+ " (declare (in ) float eta@0x1ac2940)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 I@0x1ac2b20)\n"
+ " (declare (in ) vec4 N@0x1ac2c30)\n"
+ " (declare (in ) float eta@0x1ac2d40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function matrixCompMult\n"
+ " (signature mat2\n"
+ " (parameters\n"
+ " (declare (in ) mat2 x@0x1ac2f20)\n"
+ " (declare (in ) mat2 y@0x1ac3030)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat3\n"
+ " (parameters\n"
+ " (declare (in ) mat3 x@0x1ac33c0)\n"
+ " (declare (in ) mat3 y@0x1ac34d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat4\n"
+ " (parameters\n"
+ " (declare (in ) mat4 x@0x1ac36b0)\n"
+ " (declare (in ) mat4 y@0x1ac37c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function lessThan\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1ac39a0)\n"
+ " (declare (in ) vec2 y@0x1ac3ab0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1ac3e40)\n"
+ " (declare (in ) vec3 y@0x1ac3f50)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1ac4130)\n"
+ " (declare (in ) vec4 y@0x1ac4240)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x1ac4420)\n"
+ " (declare (in ) ivec2 y@0x1ac4530)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x1ac4710)\n"
+ " (declare (in ) ivec3 y@0x1ac4820)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x1ac4a00)\n"
+ " (declare (in ) ivec4 y@0x1ac4b10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function lessThanEqual\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1ac4cf0)\n"
+ " (declare (in ) vec2 y@0x1ac4e00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1ac5190)\n"
+ " (declare (in ) vec3 y@0x1ac52a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1ac5480)\n"
+ " (declare (in ) vec4 y@0x1ac5590)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x1ac5770)\n"
+ " (declare (in ) ivec2 y@0x1ac5880)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x1ac5a60)\n"
+ " (declare (in ) ivec3 y@0x1ac5b70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x1ac5d50)\n"
+ " (declare (in ) ivec4 y@0x1ac5e60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function greaterThan\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1ac6040)\n"
+ " (declare (in ) vec2 y@0x1ac6150)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1ac64e0)\n"
+ " (declare (in ) vec3 y@0x1ac65f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1ac67d0)\n"
+ " (declare (in ) vec4 y@0x1ac68e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x1ac6ac0)\n"
+ " (declare (in ) ivec2 y@0x1ac6bd0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x1ac6db0)\n"
+ " (declare (in ) ivec3 y@0x1ac6ec0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x1ac70a0)\n"
+ " (declare (in ) ivec4 y@0x1ac71b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function greaterThanEqual\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1ac7390)\n"
+ " (declare (in ) vec2 y@0x1ac74a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1ac7830)\n"
+ " (declare (in ) vec3 y@0x1ac7940)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1ac7b20)\n"
+ " (declare (in ) vec4 y@0x1ac7c30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x1ac7e10)\n"
+ " (declare (in ) ivec2 y@0x1ac7f20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x1ac8100)\n"
+ " (declare (in ) ivec3 y@0x1ac8210)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x1ac83f0)\n"
+ " (declare (in ) ivec4 y@0x1ac8500)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function equal\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1ac86e0)\n"
+ " (declare (in ) vec2 y@0x1ac87f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1ac8b70)\n"
+ " (declare (in ) vec3 y@0x1ac8c80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1ac8e60)\n"
+ " (declare (in ) vec4 y@0x1ac8f70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x1ac9150)\n"
+ " (declare (in ) ivec2 y@0x1ac9260)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x1ac9440)\n"
+ " (declare (in ) ivec3 y@0x1ac9550)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x1ac9730)\n"
+ " (declare (in ) ivec4 y@0x1ac9840)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) bvec2 x@0x1ac9a20)\n"
+ " (declare (in ) bvec2 y@0x1ac9b30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) bvec3 x@0x1ac9d10)\n"
+ " (declare (in ) bvec3 y@0x1ac9e20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) bvec4 x@0x1aca000)\n"
+ " (declare (in ) bvec4 y@0x1aca110)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function notEqual\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1aca2f0)\n"
+ " (declare (in ) vec2 y@0x1aca400)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1aca790)\n"
+ " (declare (in ) vec3 y@0x1aca8a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1acaa80)\n"
+ " (declare (in ) vec4 y@0x1acab90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x1acad70)\n"
+ " (declare (in ) ivec2 y@0x1acae80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x1acb060)\n"
+ " (declare (in ) ivec3 y@0x1acb170)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x1acb350)\n"
+ " (declare (in ) ivec4 y@0x1acb460)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) bvec2 x@0x1acb640)\n"
+ " (declare (in ) bvec2 y@0x1acb750)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) bvec3 x@0x1acb930)\n"
+ " (declare (in ) bvec3 y@0x1acba40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) bvec4 x@0x1acbc20)\n"
+ " (declare (in ) bvec4 y@0x1acbd30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function any\n"
+ " (signature bool\n"
+ " (parameters\n"
+ " (declare (in ) bvec2 x@0x1acbf10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bool\n"
+ " (parameters\n"
+ " (declare (in ) bvec3 x@0x1acc290)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bool\n"
+ " (parameters\n"
+ " (declare (in ) bvec4 x@0x1acc470)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function all\n"
+ " (signature bool\n"
+ " (parameters\n"
+ " (declare (in ) bvec2 x@0x1acc650)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bool\n"
+ " (parameters\n"
+ " (declare (in ) bvec3 x@0x1acc9d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bool\n"
+ " (parameters\n"
+ " (declare (in ) bvec4 x@0x1accbb0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function not\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) bvec2 x@0x1accd90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) bvec3 x@0x1acd110)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) bvec4 x@0x1acd2f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture1D\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x1acd4d0)\n"
+ " (declare (in ) float coord@0x1acd5e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture1DProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x1acd970)\n"
+ " (declare (in ) vec2 coord@0x1acda80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x1acde10)\n"
+ " (declare (in ) vec4 coord@0x1acdf20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture1DLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x1ace100)\n"
+ " (declare (in ) float coord@0x1ace210)\n"
+ " (declare (in ) float lod@0x1ace320)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture1DProjLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x1ace6b0)\n"
+ " (declare (in ) vec2 coord@0x1ace7c0)\n"
+ " (declare (in ) float lod@0x1ace8d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x1acec60)\n"
+ " (declare (in ) vec4 coord@0x1aced70)\n"
+ " (declare (in ) float lod@0x1acee80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture2D\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x1acf060)\n"
+ " (declare (in ) vec2 coord@0x1acf170)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture2DProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x1acf500)\n"
+ " (declare (in ) vec3 coord@0x1acf610)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x1acf9a0)\n"
+ " (declare (in ) vec4 coord@0x1acfab0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture2DLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x1acfc90)\n"
+ " (declare (in ) vec2 coord@0x1acfda0)\n"
+ " (declare (in ) float lod@0x1acfeb0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture2DProjLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x1ad0240)\n"
+ " (declare (in ) vec3 coord@0x1ad0350)\n"
+ " (declare (in ) float lod@0x1ad0460)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x1ad07f0)\n"
+ " (declare (in ) vec4 coord@0x1ad0900)\n"
+ " (declare (in ) float lod@0x1ad0a10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture3D\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0x1ad0bf0)\n"
+ " (declare (in ) vec3 coord@0x1ad0d00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture3DProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0x1ad1090)\n"
+ " (declare (in ) vec4 coord@0x1ad11a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture3DLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0x1ad1530)\n"
+ " (declare (in ) vec3 coord@0x1ad1640)\n"
+ " (declare (in ) float lod@0x1ad1750)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture3DProjLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0x1ad1ae0)\n"
+ " (declare (in ) vec4 coord@0x1ad1bf0)\n"
+ " (declare (in ) float lod@0x1ad1d00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function textureCube\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) samplerCube sampler@0x1ad2090)\n"
+ " (declare (in ) vec3 coord@0x1ad21a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function textureCubeLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) samplerCube sampler@0x1ad2530)\n"
+ " (declare (in ) vec3 coord@0x1ad2640)\n"
+ " (declare (in ) float lod@0x1ad2750)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow1D\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0x1ad2ae0)\n"
+ " (declare (in ) vec3 coord@0x1ad2bf0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow2D\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0x1ad2f80)\n"
+ " (declare (in ) vec3 coord@0x1ad3090)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow1DProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0x1ad3420)\n"
+ " (declare (in ) vec4 coord@0x1ad3530)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow2DProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0x1ad38c0)\n"
+ " (declare (in ) vec4 coord@0x1ad39d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow1DLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0x1ad3d60)\n"
+ " (declare (in ) vec3 coord@0x1ad3e70)\n"
+ " (declare (in ) float lod@0x1ad3f80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow2DLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0x1ad4310)\n"
+ " (declare (in ) vec3 coord@0x1ad4420)\n"
+ " (declare (in ) float lod@0x1ad4530)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow1DProjLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0x1ad48c0)\n"
+ " (declare (in ) vec4 coord@0x1ad49d0)\n"
+ " (declare (in ) float lod@0x1ad4ae0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow2DProjLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0x1ad4e70)\n"
+ " (declare (in ) vec4 coord@0x1ad4f80)\n"
+ " (declare (in ) float lod@0x1ad5090)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function noise1\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1ad5420)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1ad57a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1ad5980)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1ad5b60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function noise2\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1ad5d40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1ad60c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1ad62a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1ad6480)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function noise3\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1ad6660)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1ad69e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1ad6bc0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1ad6da0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function noise4\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1ad6f80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1ad7300)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1ad74e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1ad76c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "\n"
+ ")"
+;
+static const char *functions_for_110_vert [] = {
+ builtin_clamp,
+ builtin_matrixCompMult,
+ builtin_shadow2DProjLod,
+ builtin_noise2,
+ builtin_texture3DProjLod,
+ builtin_pow,
+ builtin_texture2DProj,
+ builtin_greaterThanEqual,
+ builtin_sign,
+ builtin_texture3DProj,
+ builtin_texture2D,
+ builtin_equal,
+ builtin_faceforward,
+ builtin_tan,
+ builtin_shadow2DProj,
+ builtin_shadow1DProjLod,
+ builtin_any,
+ builtin_normalize,
+ builtin_asin,
+ builtin_texture1DProj,
+ builtin_log,
+ builtin_floor,
+ builtin_exp2,
+ builtin_lessThan,
+ builtin_cross,
+ builtin_sqrt,
+ builtin_texture3DLod,
+ builtin_fract,
+ builtin_abs,
+ builtin_degrees,
+ builtin_shadow1DLod,
+ builtin_ftransform,
+ builtin_sin,
+ builtin_shadow2D,
+ builtin_shadow2DLod,
+ builtin_all,
+ builtin_log2,
+ builtin_atan,
+ builtin_notEqual,
+ builtin_max,
+ builtin_lessThanEqual,
+ builtin_shadow1DProj,
+ builtin_ceil,
+ builtin_reflect,
+ builtin_textureCubeLod,
+ builtin_step,
+ builtin_texture1D,
+ builtin_greaterThan,
+ builtin_texture3D,
+ builtin_not,
+ builtin_texture2DProjLod,
+ builtin_inversesqrt,
+ builtin_mod,
+ builtin_noise4,
+ builtin_distance,
+ builtin_cos,
+ builtin_shadow1D,
+ builtin_noise1,
+ builtin_refract,
+ builtin_noise3,
+ builtin_texture2DLod,
+ builtin_min,
+ builtin_radians,
+ builtin_smoothstep,
+ builtin_texture1DProjLod,
+ builtin_textureCube,
+ builtin_length,
+ builtin_texture1DLod,
+ builtin_exp,
+ builtin_acos,
+ builtin_mix,
+ builtin_dot,
+};
+static const char *prototypes_for_110_frag =
+ "(\n"
+ "(function radians\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float degrees@0x26c9280)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 degrees@0x26c9600)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 degrees@0x26c97e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 degrees@0x26c99c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function degrees\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float radians@0x26c9ba0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 radians@0x26c9f20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 radians@0x26ca100)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 radians@0x26ca2e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function sin\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float angle@0x26ca4c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 angle@0x26ca840)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 angle@0x26caa20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 angle@0x26cac00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function cos\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float angle@0x26cade0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 angle@0x26cb160)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 angle@0x26cb340)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 angle@0x26cb520)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function tan\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float angle@0x26cb700)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 angle@0x26cba80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 angle@0x26cbc60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 angle@0x26cbe40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function asin\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float angle@0x26cc020)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 angle@0x26cc3a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 angle@0x26cc580)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 angle@0x26cc760)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function acos\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float angle@0x26cc940)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 angle@0x26cccc0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 angle@0x26ccea0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 angle@0x26cd080)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function atan\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float y@0x26cd260)\n"
+ " (declare (in ) float x@0x26cd370)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 y@0x26cd6f0)\n"
+ " (declare (in ) vec2 x@0x26cd800)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 y@0x26cd9e0)\n"
+ " (declare (in ) vec3 x@0x26cdaf0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 y@0x26cdcd0)\n"
+ " (declare (in ) vec4 x@0x26cdde0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float y_over_x@0x26cdfc0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 y_over_x@0x26ce1b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 y_over_x@0x26ce3a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 y_over_x@0x26ce590)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function pow\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x26ce780)\n"
+ " (declare (in ) float y@0x26ce890)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x26cec10)\n"
+ " (declare (in ) vec2 y@0x26ced20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x26cef00)\n"
+ " (declare (in ) vec3 y@0x26cf010)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x26cf1f0)\n"
+ " (declare (in ) vec4 y@0x26cf300)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function exp\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x26cf4e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x26cf860)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x26cfa40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x26cfc20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function log\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x26cfe00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x26d0180)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x26d0360)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x26d0540)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function exp2\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x26d0720)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x26d0aa0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x26d0c80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x26d0e60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function log2\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x26d1040)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x26d13c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x26d15a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x26d1780)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function sqrt\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x26d1960)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x26d1ce0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x26d1ec0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x26d20a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function inversesqrt\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x26d2280)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x26d2610)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x26d27f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x26d29d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function abs\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x26d2bb0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x26d2f30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x26d3110)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x26d32f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function sign\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x26d34d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x26d3850)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x26d3a30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x26d3c10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function floor\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x26d3df0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x26d4170)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x26d4350)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x26d4530)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function ceil\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x26d4710)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x26d4a90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x26d4c70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x26d4e50)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function fract\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x26d5030)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x26d53b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x26d5590)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x26d5770)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function mod\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x26d5950)\n"
+ " (declare (in ) float y@0x26d5a60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x26d5de0)\n"
+ " (declare (in ) float y@0x26d5ef0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x26d60d0)\n"
+ " (declare (in ) float y@0x26d61e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x26d63c0)\n"
+ " (declare (in ) float y@0x26d64d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x26d66b0)\n"
+ " (declare (in ) vec2 y@0x26d67c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x26d69a0)\n"
+ " (declare (in ) vec3 y@0x26d6ab0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x26d6c90)\n"
+ " (declare (in ) vec4 y@0x26d6da0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function min\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x26d6f80)\n"
+ " (declare (in ) float y@0x26d7090)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x26d7410)\n"
+ " (declare (in ) vec2 y@0x26d7520)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x26d7700)\n"
+ " (declare (in ) vec3 y@0x26d7810)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x26d79f0)\n"
+ " (declare (in ) vec4 y@0x26d7b00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x26d7ce0)\n"
+ " (declare (in ) float y@0x26d7df0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x26d7fd0)\n"
+ " (declare (in ) float y@0x26d80e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x26d82c0)\n"
+ " (declare (in ) float y@0x26d83d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function max\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x26d85b0)\n"
+ " (declare (in ) float y@0x26d86c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x26d8a40)\n"
+ " (declare (in ) vec2 y@0x26d8b50)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x26d8d30)\n"
+ " (declare (in ) vec3 y@0x26d8e40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x26d9020)\n"
+ " (declare (in ) vec4 y@0x26d9130)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x26d9310)\n"
+ " (declare (in ) float y@0x26d9420)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x26d9600)\n"
+ " (declare (in ) float y@0x26d9710)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x26d98f0)\n"
+ " (declare (in ) float y@0x26d9a00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function clamp\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x26d9be0)\n"
+ " (declare (in ) float minVal@0x26d9cf0)\n"
+ " (declare (in ) float maxVal@0x26d9e00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x26da180)\n"
+ " (declare (in ) vec2 minVal@0x26da290)\n"
+ " (declare (in ) vec2 maxVal@0x26da3a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x26da580)\n"
+ " (declare (in ) vec3 minVal@0x26da690)\n"
+ " (declare (in ) vec3 maxVal@0x26da7a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x26da980)\n"
+ " (declare (in ) vec4 minVal@0x26daa90)\n"
+ " (declare (in ) vec4 maxVal@0x26daba0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x26dad80)\n"
+ " (declare (in ) float minVal@0x26dae90)\n"
+ " (declare (in ) float maxVal@0x26dafa0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x26db180)\n"
+ " (declare (in ) float minVal@0x26db290)\n"
+ " (declare (in ) float maxVal@0x26db3a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x26db580)\n"
+ " (declare (in ) float minVal@0x26db690)\n"
+ " (declare (in ) float maxVal@0x26db7a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function mix\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x26db980)\n"
+ " (declare (in ) float y@0x26dba90)\n"
+ " (declare (in ) float a@0x26dbba0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x26dbf20)\n"
+ " (declare (in ) vec2 y@0x26dc030)\n"
+ " (declare (in ) vec2 a@0x26dc140)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x26dc320)\n"
+ " (declare (in ) vec3 y@0x26dc430)\n"
+ " (declare (in ) vec3 a@0x26dc540)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x26dc720)\n"
+ " (declare (in ) vec4 y@0x26dc830)\n"
+ " (declare (in ) vec4 a@0x26dc940)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x26dcb20)\n"
+ " (declare (in ) vec2 y@0x26dcc30)\n"
+ " (declare (in ) float a@0x26dcd40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x26dcf20)\n"
+ " (declare (in ) vec3 y@0x26dd030)\n"
+ " (declare (in ) float a@0x26dd140)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x26dd320)\n"
+ " (declare (in ) vec4 y@0x26dd430)\n"
+ " (declare (in ) float a@0x26dd540)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function step\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float edge@0x26dd720)\n"
+ " (declare (in ) float x@0x26dd830)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 edge@0x26ddbb0)\n"
+ " (declare (in ) vec2 x@0x26ddcc0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 edge@0x26ddea0)\n"
+ " (declare (in ) vec3 x@0x26ddfb0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 edge@0x26de190)\n"
+ " (declare (in ) vec4 x@0x26de2a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) float edge@0x26de480)\n"
+ " (declare (in ) vec2 x@0x26de590)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) float edge@0x26de770)\n"
+ " (declare (in ) vec3 x@0x26de880)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) float edge@0x26dea60)\n"
+ " (declare (in ) vec4 x@0x26deb70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function smoothstep\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float edge0@0x26ded50)\n"
+ " (declare (in ) float edge1@0x26dee60)\n"
+ " (declare (in ) float x@0x26def70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 edge0@0x26df300)\n"
+ " (declare (in ) vec2 edge1@0x26df410)\n"
+ " (declare (in ) vec2 x@0x26df520)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 edge0@0x26df700)\n"
+ " (declare (in ) vec3 edge1@0x26df810)\n"
+ " (declare (in ) vec3 x@0x26df920)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 edge0@0x26dfb00)\n"
+ " (declare (in ) vec4 edge1@0x26dfc10)\n"
+ " (declare (in ) vec4 x@0x26dfd20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) float edge0@0x26dff00)\n"
+ " (declare (in ) float edge1@0x26e0010)\n"
+ " (declare (in ) vec2 x@0x26e0120)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) float edge0@0x26e0300)\n"
+ " (declare (in ) float edge1@0x26e0410)\n"
+ " (declare (in ) vec3 x@0x26e0520)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) float edge0@0x26e0700)\n"
+ " (declare (in ) float edge1@0x26e0810)\n"
+ " (declare (in ) vec4 x@0x26e0920)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function length\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x26e0b00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x26e0e80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x26e1060)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x26e1240)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function distance\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float p0@0x26e1420)\n"
+ " (declare (in ) float p1@0x26e1530)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec2 p0@0x26e18c0)\n"
+ " (declare (in ) vec2 p1@0x26e19d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec3 p0@0x26e1bb0)\n"
+ " (declare (in ) vec3 p1@0x26e1cc0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec4 p0@0x26e1ea0)\n"
+ " (declare (in ) vec4 p1@0x26e1fb0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function dot\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x26e2190)\n"
+ " (declare (in ) float y@0x26e22a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x26e2620)\n"
+ " (declare (in ) vec2 y@0x26e2730)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x26e2910)\n"
+ " (declare (in ) vec3 y@0x26e2a20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x26e2c00)\n"
+ " (declare (in ) vec4 y@0x26e2d10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function cross\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x26e2ef0)\n"
+ " (declare (in ) vec3 y@0x26e3000)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function normalize\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x26e3380)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x26e3710)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x26e38f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x26e3ad0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function faceforward\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float N@0x26e3cb0)\n"
+ " (declare (in ) float I@0x26e3dc0)\n"
+ " (declare (in ) float Nref@0x26e3ed0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 N@0x26e4260)\n"
+ " (declare (in ) vec2 I@0x26e4370)\n"
+ " (declare (in ) vec2 Nref@0x26e4480)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 N@0x26e4660)\n"
+ " (declare (in ) vec3 I@0x26e4770)\n"
+ " (declare (in ) vec3 Nref@0x26e4880)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 N@0x26e4a60)\n"
+ " (declare (in ) vec4 I@0x26e4b70)\n"
+ " (declare (in ) vec4 Nref@0x26e4c80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function reflect\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float I@0x26e4e60)\n"
+ " (declare (in ) float N@0x26e4f70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 I@0x26e52f0)\n"
+ " (declare (in ) vec2 N@0x26e5400)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 I@0x26e55e0)\n"
+ " (declare (in ) vec3 N@0x26e56f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 I@0x26e58d0)\n"
+ " (declare (in ) vec4 N@0x26e59e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function refract\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float I@0x26e5bc0)\n"
+ " (declare (in ) float N@0x26e5cd0)\n"
+ " (declare (in ) float eta@0x26e5de0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 I@0x26e6160)\n"
+ " (declare (in ) vec2 N@0x26e6270)\n"
+ " (declare (in ) float eta@0x26e6380)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 I@0x26e6560)\n"
+ " (declare (in ) vec3 N@0x26e6670)\n"
+ " (declare (in ) float eta@0x26e6780)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 I@0x26e6960)\n"
+ " (declare (in ) vec4 N@0x26e6a70)\n"
+ " (declare (in ) float eta@0x26e6b80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function matrixCompMult\n"
+ " (signature mat2\n"
+ " (parameters\n"
+ " (declare (in ) mat2 x@0x26e6d60)\n"
+ " (declare (in ) mat2 y@0x26e6e70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat3\n"
+ " (parameters\n"
+ " (declare (in ) mat3 x@0x26e7200)\n"
+ " (declare (in ) mat3 y@0x26e7310)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat4\n"
+ " (parameters\n"
+ " (declare (in ) mat4 x@0x26e74f0)\n"
+ " (declare (in ) mat4 y@0x26e7600)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function lessThan\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x26e77e0)\n"
+ " (declare (in ) vec2 y@0x26e78f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x26e7c80)\n"
+ " (declare (in ) vec3 y@0x26e7d90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x26e7f70)\n"
+ " (declare (in ) vec4 y@0x26e8080)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x26e8260)\n"
+ " (declare (in ) ivec2 y@0x26e8370)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x26e8550)\n"
+ " (declare (in ) ivec3 y@0x26e8660)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x26e8840)\n"
+ " (declare (in ) ivec4 y@0x26e8950)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function lessThanEqual\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x26e8b30)\n"
+ " (declare (in ) vec2 y@0x26e8c40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x26e8fd0)\n"
+ " (declare (in ) vec3 y@0x26e90e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x26e92c0)\n"
+ " (declare (in ) vec4 y@0x26e93d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x26e95b0)\n"
+ " (declare (in ) ivec2 y@0x26e96c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x26e98a0)\n"
+ " (declare (in ) ivec3 y@0x26e99b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x26e9b90)\n"
+ " (declare (in ) ivec4 y@0x26e9ca0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function greaterThan\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x26e9e80)\n"
+ " (declare (in ) vec2 y@0x26e9f90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x26ea320)\n"
+ " (declare (in ) vec3 y@0x26ea430)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x26ea610)\n"
+ " (declare (in ) vec4 y@0x26ea720)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x26ea900)\n"
+ " (declare (in ) ivec2 y@0x26eaa10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x26eabf0)\n"
+ " (declare (in ) ivec3 y@0x26ead00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x26eaee0)\n"
+ " (declare (in ) ivec4 y@0x26eaff0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function greaterThanEqual\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x26eb1d0)\n"
+ " (declare (in ) vec2 y@0x26eb2e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x26eb670)\n"
+ " (declare (in ) vec3 y@0x26eb780)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x26eb960)\n"
+ " (declare (in ) vec4 y@0x26eba70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x26ebc50)\n"
+ " (declare (in ) ivec2 y@0x26ebd60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x26ebf40)\n"
+ " (declare (in ) ivec3 y@0x26ec050)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x26ec230)\n"
+ " (declare (in ) ivec4 y@0x26ec340)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function equal\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x26ec520)\n"
+ " (declare (in ) vec2 y@0x26ec630)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x26ec9b0)\n"
+ " (declare (in ) vec3 y@0x26ecac0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x26ecca0)\n"
+ " (declare (in ) vec4 y@0x26ecdb0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x26ecf90)\n"
+ " (declare (in ) ivec2 y@0x26ed0a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x26ed280)\n"
+ " (declare (in ) ivec3 y@0x26ed390)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x26ed570)\n"
+ " (declare (in ) ivec4 y@0x26ed680)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) bvec2 x@0x26ed860)\n"
+ " (declare (in ) bvec2 y@0x26ed970)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) bvec3 x@0x26edb50)\n"
+ " (declare (in ) bvec3 y@0x26edc60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) bvec4 x@0x26ede40)\n"
+ " (declare (in ) bvec4 y@0x26edf50)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function notEqual\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x26ee130)\n"
+ " (declare (in ) vec2 y@0x26ee240)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x26ee5d0)\n"
+ " (declare (in ) vec3 y@0x26ee6e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x26ee8c0)\n"
+ " (declare (in ) vec4 y@0x26ee9d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x26eebb0)\n"
+ " (declare (in ) ivec2 y@0x26eecc0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x26eeea0)\n"
+ " (declare (in ) ivec3 y@0x26eefb0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x26ef190)\n"
+ " (declare (in ) ivec4 y@0x26ef2a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) bvec2 x@0x26ef480)\n"
+ " (declare (in ) bvec2 y@0x26ef590)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) bvec3 x@0x26ef770)\n"
+ " (declare (in ) bvec3 y@0x26ef880)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) bvec4 x@0x26efa60)\n"
+ " (declare (in ) bvec4 y@0x26efb70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function any\n"
+ " (signature bool\n"
+ " (parameters\n"
+ " (declare (in ) bvec2 x@0x26efd50)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bool\n"
+ " (parameters\n"
+ " (declare (in ) bvec3 x@0x26f00d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bool\n"
+ " (parameters\n"
+ " (declare (in ) bvec4 x@0x26f02b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function all\n"
+ " (signature bool\n"
+ " (parameters\n"
+ " (declare (in ) bvec2 x@0x26f0490)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bool\n"
+ " (parameters\n"
+ " (declare (in ) bvec3 x@0x26f0810)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bool\n"
+ " (parameters\n"
+ " (declare (in ) bvec4 x@0x26f09f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function not\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) bvec2 x@0x26f0bd0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) bvec3 x@0x26f0f50)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) bvec4 x@0x26f1130)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture1D\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x26f1310)\n"
+ " (declare (in ) float coord@0x26f1420)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x26f1f40)\n"
+ " (declare (in ) float coord@0x26f2050)\n"
+ " (declare (in ) float bias@0x26f2160)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture1DProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x26f17b0)\n"
+ " (declare (in ) vec2 coord@0x26f18c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x26f1c50)\n"
+ " (declare (in ) vec4 coord@0x26f1d60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x26f2340)\n"
+ " (declare (in ) vec2 coord@0x26f2450)\n"
+ " (declare (in ) float bias@0x26f2560)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x26f2740)\n"
+ " (declare (in ) vec4 coord@0x26f2850)\n"
+ " (declare (in ) float bias@0x26f2960)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture2D\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x26f2b40)\n"
+ " (declare (in ) vec2 coord@0x26f2c50)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x26f3770)\n"
+ " (declare (in ) vec2 coord@0x26f3880)\n"
+ " (declare (in ) float bias@0x26f3990)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture2DProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x26f2fe0)\n"
+ " (declare (in ) vec3 coord@0x26f30f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x26f3480)\n"
+ " (declare (in ) vec4 coord@0x26f3590)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x26f3b70)\n"
+ " (declare (in ) vec3 coord@0x26f3c80)\n"
+ " (declare (in ) float bias@0x26f3d90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x26f3f70)\n"
+ " (declare (in ) vec4 coord@0x26f4080)\n"
+ " (declare (in ) float bias@0x26f4190)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture3D\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0x26f4370)\n"
+ " (declare (in ) vec3 coord@0x26f4480)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0x26f4cb0)\n"
+ " (declare (in ) vec3 coord@0x26f4dc0)\n"
+ " (declare (in ) float bias@0x26f4ed0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture3DProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0x26f4810)\n"
+ " (declare (in ) vec4 coord@0x26f4920)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0x26f50b0)\n"
+ " (declare (in ) vec4 coord@0x26f51c0)\n"
+ " (declare (in ) float bias@0x26f52d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function textureCube\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) samplerCube sampler@0x26f54b0)\n"
+ " (declare (in ) vec3 coord@0x26f55c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) samplerCube sampler@0x26f5950)\n"
+ " (declare (in ) vec3 coord@0x26f5a60)\n"
+ " (declare (in ) float bias@0x26f5b70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow1D\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0x26f5d50)\n"
+ " (declare (in ) vec3 coord@0x26f5e60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0x26f6fd0)\n"
+ " (declare (in ) vec3 coord@0x26f70e0)\n"
+ " (declare (in ) float bias@0x26f71f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow2D\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0x26f61f0)\n"
+ " (declare (in ) vec3 coord@0x26f6300)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0x26f73d0)\n"
+ " (declare (in ) vec3 coord@0x26f74e0)\n"
+ " (declare (in ) float bias@0x26f75f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow1DProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0x26f6690)\n"
+ " (declare (in ) vec4 coord@0x26f67a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0x26f77d0)\n"
+ " (declare (in ) vec4 coord@0x26f78e0)\n"
+ " (declare (in ) float bias@0x26f79f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow2DProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0x26f6b30)\n"
+ " (declare (in ) vec4 coord@0x26f6c40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0x26f7bd0)\n"
+ " (declare (in ) vec4 coord@0x26f7ce0)\n"
+ " (declare (in ) float bias@0x26f7df0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function dFdx\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float p@0x26f7fd0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 p@0x26f8350)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 p@0x26f8530)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 p@0x26f8710)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function dFdy\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float p@0x26f88f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 p@0x26f8c70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 p@0x26f8e50)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 p@0x26f9030)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function fwidth\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float p@0x26f9210)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 p@0x26f9590)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 p@0x26f9770)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 p@0x26f9950)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function noise1\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x26f9b30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x26f9eb0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x26fa090)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x26fa270)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function noise2\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x26fa450)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x26fa7d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x26fa9b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x26fab90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function noise3\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x26fad70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x26fb0f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x26fb2d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x26fb4b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function noise4\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x26fb690)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x26fba10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x26fbbf0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x26fbdd0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "\n"
+ ")"
+;
+static const char *functions_for_110_frag [] = {
+ builtin_clamp,
+ builtin_matrixCompMult,
+ builtin_noise2,
+ builtin_pow,
+ builtin_texture2DProj,
+ builtin_fwidth,
+ builtin_greaterThanEqual,
+ builtin_sign,
+ builtin_texture3DProj,
+ builtin_texture2D,
+ builtin_equal,
+ builtin_faceforward,
+ builtin_tan,
+ builtin_any,
+ builtin_normalize,
+ builtin_asin,
+ builtin_texture1DProj,
+ builtin_log,
+ builtin_floor,
+ builtin_exp2,
+ builtin_lessThan,
+ builtin_cross,
+ builtin_sqrt,
+ builtin_shadow2DProj,
+ builtin_fract,
+ builtin_abs,
+ builtin_degrees,
+ builtin_dFdx,
+ builtin_sin,
+ builtin_shadow2D,
+ builtin_all,
+ builtin_log2,
+ builtin_atan,
+ builtin_notEqual,
+ builtin_max,
+ builtin_lessThanEqual,
+ builtin_shadow1DProj,
+ builtin_ceil,
+ builtin_reflect,
+ builtin_step,
+ builtin_texture1D,
+ builtin_greaterThan,
+ builtin_texture3D,
+ builtin_not,
+ builtin_inversesqrt,
+ builtin_mod,
+ builtin_noise4,
+ builtin_distance,
+ builtin_cos,
+ builtin_shadow1D,
+ builtin_noise1,
+ builtin_refract,
+ builtin_noise3,
+ builtin_min,
+ builtin_radians,
+ builtin_smoothstep,
+ builtin_textureCube,
+ builtin_length,
+ builtin_dFdy,
+ builtin_exp,
+ builtin_acos,
+ builtin_mix,
+ builtin_dot,
+};
+static const char *prototypes_for_EXT_texture_array_vert =
+ "(\n"
+ "(function texture1DArray\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DArray sampler@0x2378290)\n"
+ " (declare (in ) vec2 coord@0x23783a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture1DArrayLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DArray sampler@0x2378730)\n"
+ " (declare (in ) vec2 coord@0x2378840)\n"
+ " (declare (in ) float lod@0x2378950)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture2DArray\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DArray sampler@0x2378ce0)\n"
+ " (declare (in ) vec2 coord@0x2378df0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture2DArrayLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DArray sampler@0x2379180)\n"
+ " (declare (in ) vec2 coord@0x2379290)\n"
+ " (declare (in ) float lod@0x23793a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow1DArray\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DArrayShadow sampler@0x2379730)\n"
+ " (declare (in ) vec3 coord@0x2379840)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow1DArrayLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DArrayShadow sampler@0x2379bd0)\n"
+ " (declare (in ) vec3 coord@0x2379ce0)\n"
+ " (declare (in ) float lod@0x2379df0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow2DArray\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DArrayShadow sampler@0x237a180)\n"
+ " (declare (in ) vec4 coord@0x237a290)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "\n"
+ ")"
+;
+static const char *functions_for_EXT_texture_array_vert [] = {
+ builtin_texture1DArrayLod,
+ builtin_shadow2DArray,
+ builtin_texture2DArrayLod,
+ builtin_shadow1DArrayLod,
+ builtin_shadow1DArray,
+ builtin_texture2DArray,
+ builtin_texture1DArray,
+};
+static const char *prototypes_for_130_frag =
+ "(\n"
+ "(function radians\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float degrees@0x141d070)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 degrees@0x141d3f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 degrees@0x141d5d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 degrees@0x141d7b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function degrees\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float radians@0x141d990)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 radians@0x141dd10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 radians@0x141def0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 radians@0x141e0d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function sin\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float angle@0x141e2b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 angle@0x141e630)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 angle@0x141e810)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 angle@0x141e9f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function cos\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float angle@0x141ebd0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 angle@0x141ef50)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 angle@0x141f130)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 angle@0x141f310)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function tan\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float angle@0x141f4f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 angle@0x141f870)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 angle@0x141fa50)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 angle@0x141fc30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function asin\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float angle@0x141fe10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 angle@0x1420190)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 angle@0x1420370)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 angle@0x1420550)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function acos\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float angle@0x1420730)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 angle@0x1420ab0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 angle@0x1420c90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 angle@0x1420e70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function atan\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float y@0x1421050)\n"
+ " (declare (in ) float x@0x1421160)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 y@0x14214e0)\n"
+ " (declare (in ) vec2 x@0x14215f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 y@0x14217d0)\n"
+ " (declare (in ) vec3 x@0x14218e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 y@0x1421ac0)\n"
+ " (declare (in ) vec4 x@0x1421bd0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float y_over_x@0x1421db0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 y_over_x@0x1421fa0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 y_over_x@0x1422190)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 y_over_x@0x1422380)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function pow\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1422570)\n"
+ " (declare (in ) float y@0x1422680)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1422a00)\n"
+ " (declare (in ) vec2 y@0x1422b10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1422cf0)\n"
+ " (declare (in ) vec3 y@0x1422e00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1422fe0)\n"
+ " (declare (in ) vec4 y@0x14230f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function exp\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x14232d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1423650)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1423830)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1423a10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function log\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1423bf0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1423f70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1424150)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1424330)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function exp2\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1424510)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1424890)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1424a70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1424c50)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function log2\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1424e30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x14251b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1425390)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1425570)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function sqrt\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1425750)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1425ad0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1425cb0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1425e90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function inversesqrt\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1426070)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1426400)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x14265e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x14267c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function abs\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x14269a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1426d20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1426f00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x14270e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature int\n"
+ " (parameters\n"
+ " (declare (in ) int x@0x14272c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x14274a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x1427680)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x1427860)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function sign\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1427a40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1427dc0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1427fa0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1428180)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature int\n"
+ " (parameters\n"
+ " (declare (in ) int x@0x1428360)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x1428540)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x1428720)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x1428900)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function floor\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1428ae0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1428e60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1429040)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1429220)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function ceil\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1429400)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1429780)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1429960)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1429b40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function fract\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1429d20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x142a0a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x142a280)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x142a460)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function mod\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x142a640)\n"
+ " (declare (in ) float y@0x142a750)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x142aad0)\n"
+ " (declare (in ) float y@0x142abe0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x142adc0)\n"
+ " (declare (in ) float y@0x142aed0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x142b0b0)\n"
+ " (declare (in ) float y@0x142b1c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x142b3a0)\n"
+ " (declare (in ) vec2 y@0x142b4b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x142b690)\n"
+ " (declare (in ) vec3 y@0x142b7a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x142b980)\n"
+ " (declare (in ) vec4 y@0x142ba90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function min\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x142bc70)\n"
+ " (declare (in ) float y@0x142bd80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x142c100)\n"
+ " (declare (in ) vec2 y@0x142c210)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x142c3f0)\n"
+ " (declare (in ) vec3 y@0x142c500)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x142c6e0)\n"
+ " (declare (in ) vec4 y@0x142c7f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x142c9d0)\n"
+ " (declare (in ) float y@0x142cae0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x142ccc0)\n"
+ " (declare (in ) float y@0x142cdd0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x142cfb0)\n"
+ " (declare (in ) float y@0x142d0c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature int\n"
+ " (parameters\n"
+ " (declare (in ) int x@0x142d2a0)\n"
+ " (declare (in ) int y@0x142d3b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x142d590)\n"
+ " (declare (in ) ivec2 y@0x142d6a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x142d880)\n"
+ " (declare (in ) ivec3 y@0x142d990)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x142db70)\n"
+ " (declare (in ) ivec4 y@0x142dc80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x142de60)\n"
+ " (declare (in ) int y@0x142df70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x142e150)\n"
+ " (declare (in ) int y@0x142e260)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x142e440)\n"
+ " (declare (in ) int y@0x142e550)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uint\n"
+ " (parameters\n"
+ " (declare (in ) uint x@0x142e730)\n"
+ " (declare (in ) uint y@0x142e840)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec2\n"
+ " (parameters\n"
+ " (declare (in ) uvec2 x@0x142ea20)\n"
+ " (declare (in ) uvec2 y@0x142eb30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec3\n"
+ " (parameters\n"
+ " (declare (in ) uvec3 x@0x142ed10)\n"
+ " (declare (in ) uvec3 y@0x142ee20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) uvec4 x@0x142f000)\n"
+ " (declare (in ) uvec4 y@0x142f110)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec2\n"
+ " (parameters\n"
+ " (declare (in ) uvec2 x@0x142f2f0)\n"
+ " (declare (in ) uint y@0x142f400)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec3\n"
+ " (parameters\n"
+ " (declare (in ) uvec3 x@0x142f5e0)\n"
+ " (declare (in ) uint y@0x142f6f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) uvec4 x@0x142f8d0)\n"
+ " (declare (in ) uint y@0x142f9e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function max\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x142fbc0)\n"
+ " (declare (in ) float y@0x142fcd0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1430050)\n"
+ " (declare (in ) vec2 y@0x1430160)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1430340)\n"
+ " (declare (in ) vec3 y@0x1430450)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1430630)\n"
+ " (declare (in ) vec4 y@0x1430740)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1430920)\n"
+ " (declare (in ) float y@0x1430a30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1430c10)\n"
+ " (declare (in ) float y@0x1430d20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1430f00)\n"
+ " (declare (in ) float y@0x1431010)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature int\n"
+ " (parameters\n"
+ " (declare (in ) int x@0x14311f0)\n"
+ " (declare (in ) int y@0x1431300)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x14314e0)\n"
+ " (declare (in ) ivec2 y@0x14315f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x14317d0)\n"
+ " (declare (in ) ivec3 y@0x14318e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x1431ac0)\n"
+ " (declare (in ) ivec4 y@0x1431bd0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x1431db0)\n"
+ " (declare (in ) int y@0x1431ec0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x14320a0)\n"
+ " (declare (in ) int y@0x14321b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x1432390)\n"
+ " (declare (in ) int y@0x14324a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uint\n"
+ " (parameters\n"
+ " (declare (in ) uint x@0x1432680)\n"
+ " (declare (in ) uint y@0x1432790)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec2\n"
+ " (parameters\n"
+ " (declare (in ) uvec2 x@0x1432970)\n"
+ " (declare (in ) uvec2 y@0x1432a80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec3\n"
+ " (parameters\n"
+ " (declare (in ) uvec3 x@0x1432c60)\n"
+ " (declare (in ) uvec3 y@0x1432d70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) uvec4 x@0x1432f50)\n"
+ " (declare (in ) uvec4 y@0x1433060)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec2\n"
+ " (parameters\n"
+ " (declare (in ) uvec2 x@0x1433240)\n"
+ " (declare (in ) uint y@0x1433350)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec3\n"
+ " (parameters\n"
+ " (declare (in ) uvec3 x@0x1433530)\n"
+ " (declare (in ) uint y@0x1433640)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) uvec4 x@0x1433820)\n"
+ " (declare (in ) uint y@0x1433930)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function clamp\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1433b10)\n"
+ " (declare (in ) float minVal@0x1433c20)\n"
+ " (declare (in ) float maxVal@0x1433d30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x14340b0)\n"
+ " (declare (in ) vec2 minVal@0x14341c0)\n"
+ " (declare (in ) vec2 maxVal@0x14342d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x14344b0)\n"
+ " (declare (in ) vec3 minVal@0x14345c0)\n"
+ " (declare (in ) vec3 maxVal@0x14346d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x14348b0)\n"
+ " (declare (in ) vec4 minVal@0x14349c0)\n"
+ " (declare (in ) vec4 maxVal@0x1434ad0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1434cb0)\n"
+ " (declare (in ) float minVal@0x1434dc0)\n"
+ " (declare (in ) float maxVal@0x1434ed0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x14350b0)\n"
+ " (declare (in ) float minVal@0x14351c0)\n"
+ " (declare (in ) float maxVal@0x14352d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x14354b0)\n"
+ " (declare (in ) float minVal@0x14355c0)\n"
+ " (declare (in ) float maxVal@0x14356d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature int\n"
+ " (parameters\n"
+ " (declare (in ) int x@0x14358b0)\n"
+ " (declare (in ) int minVal@0x14359c0)\n"
+ " (declare (in ) int maxVal@0x1435ad0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x1435cb0)\n"
+ " (declare (in ) ivec2 minVal@0x1435dc0)\n"
+ " (declare (in ) ivec2 maxVal@0x1435ed0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x14360b0)\n"
+ " (declare (in ) ivec3 minVal@0x14361c0)\n"
+ " (declare (in ) ivec3 maxVal@0x14362d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x14364b0)\n"
+ " (declare (in ) ivec4 minVal@0x14365c0)\n"
+ " (declare (in ) ivec4 maxVal@0x14366d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x14368b0)\n"
+ " (declare (in ) int minVal@0x14369c0)\n"
+ " (declare (in ) int maxVal@0x1436ad0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x1436cb0)\n"
+ " (declare (in ) int minVal@0x1436dc0)\n"
+ " (declare (in ) int maxVal@0x1436ed0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x14370b0)\n"
+ " (declare (in ) int minVal@0x14371c0)\n"
+ " (declare (in ) int maxVal@0x14372d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uint\n"
+ " (parameters\n"
+ " (declare (in ) uint x@0x14374b0)\n"
+ " (declare (in ) uint minVal@0x14375c0)\n"
+ " (declare (in ) uint maxVal@0x14376d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec2\n"
+ " (parameters\n"
+ " (declare (in ) uvec2 x@0x14378b0)\n"
+ " (declare (in ) uvec2 minVal@0x14379c0)\n"
+ " (declare (in ) uvec2 maxVal@0x1437ad0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec3\n"
+ " (parameters\n"
+ " (declare (in ) uvec3 x@0x1437cb0)\n"
+ " (declare (in ) uvec3 minVal@0x1437dc0)\n"
+ " (declare (in ) uvec3 maxVal@0x1437ed0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) uvec4 x@0x14380b0)\n"
+ " (declare (in ) uvec4 minVal@0x14381c0)\n"
+ " (declare (in ) uvec4 maxVal@0x14382d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec2\n"
+ " (parameters\n"
+ " (declare (in ) uvec2 x@0x14384b0)\n"
+ " (declare (in ) uint minVal@0x14385c0)\n"
+ " (declare (in ) uint maxVal@0x14386d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec3\n"
+ " (parameters\n"
+ " (declare (in ) uvec3 x@0x14388b0)\n"
+ " (declare (in ) uint minVal@0x14389c0)\n"
+ " (declare (in ) uint maxVal@0x1438ad0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) uvec4 x@0x1438cb0)\n"
+ " (declare (in ) uint minVal@0x1438dc0)\n"
+ " (declare (in ) uint maxVal@0x1438ed0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function mix\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x14390b0)\n"
+ " (declare (in ) float y@0x14391c0)\n"
+ " (declare (in ) float a@0x14392d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1439650)\n"
+ " (declare (in ) vec2 y@0x1439760)\n"
+ " (declare (in ) vec2 a@0x1439870)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1439a50)\n"
+ " (declare (in ) vec3 y@0x1439b60)\n"
+ " (declare (in ) vec3 a@0x1439c70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1439e50)\n"
+ " (declare (in ) vec4 y@0x1439f60)\n"
+ " (declare (in ) vec4 a@0x143a070)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x143a250)\n"
+ " (declare (in ) vec2 y@0x143a360)\n"
+ " (declare (in ) float a@0x143a470)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x143a650)\n"
+ " (declare (in ) vec3 y@0x143a760)\n"
+ " (declare (in ) float a@0x143a870)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x143aa50)\n"
+ " (declare (in ) vec4 y@0x143ab60)\n"
+ " (declare (in ) float a@0x143ac70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function step\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float edge@0x143ae50)\n"
+ " (declare (in ) float x@0x143af60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 edge@0x143b2e0)\n"
+ " (declare (in ) vec2 x@0x143b3f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 edge@0x143b5d0)\n"
+ " (declare (in ) vec3 x@0x143b6e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 edge@0x143b8c0)\n"
+ " (declare (in ) vec4 x@0x143b9d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) float edge@0x143bbb0)\n"
+ " (declare (in ) vec2 x@0x143bcc0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) float edge@0x143bea0)\n"
+ " (declare (in ) vec3 x@0x143bfb0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) float edge@0x143c190)\n"
+ " (declare (in ) vec4 x@0x143c2a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function smoothstep\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float edge0@0x143c480)\n"
+ " (declare (in ) float edge1@0x143c590)\n"
+ " (declare (in ) float x@0x143c6a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 edge0@0x143ca30)\n"
+ " (declare (in ) vec2 edge1@0x143cb40)\n"
+ " (declare (in ) vec2 x@0x143cc50)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 edge0@0x143ce30)\n"
+ " (declare (in ) vec3 edge1@0x143cf40)\n"
+ " (declare (in ) vec3 x@0x143d050)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 edge0@0x143d230)\n"
+ " (declare (in ) vec4 edge1@0x143d340)\n"
+ " (declare (in ) vec4 x@0x143d450)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) float edge0@0x143d630)\n"
+ " (declare (in ) float edge1@0x143d740)\n"
+ " (declare (in ) vec2 x@0x143d850)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) float edge0@0x143da30)\n"
+ " (declare (in ) float edge1@0x143db40)\n"
+ " (declare (in ) vec3 x@0x143dc50)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) float edge0@0x143de30)\n"
+ " (declare (in ) float edge1@0x143df40)\n"
+ " (declare (in ) vec4 x@0x143e050)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function length\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x143e230)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x143e5b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x143e790)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x143e970)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function distance\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float p0@0x143eb50)\n"
+ " (declare (in ) float p1@0x143ec60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec2 p0@0x143eff0)\n"
+ " (declare (in ) vec2 p1@0x143f100)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec3 p0@0x143f2e0)\n"
+ " (declare (in ) vec3 p1@0x143f3f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec4 p0@0x143f5d0)\n"
+ " (declare (in ) vec4 p1@0x143f6e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function dot\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x143f8c0)\n"
+ " (declare (in ) float y@0x143f9d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x143fd50)\n"
+ " (declare (in ) vec2 y@0x143fe60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1440040)\n"
+ " (declare (in ) vec3 y@0x1440150)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1440330)\n"
+ " (declare (in ) vec4 y@0x1440440)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function cross\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1440620)\n"
+ " (declare (in ) vec3 y@0x1440730)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function normalize\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1440ab0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1440e40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1441020)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1441200)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function faceforward\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float N@0x14413e0)\n"
+ " (declare (in ) float I@0x14414f0)\n"
+ " (declare (in ) float Nref@0x1441600)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 N@0x1441990)\n"
+ " (declare (in ) vec2 I@0x1441aa0)\n"
+ " (declare (in ) vec2 Nref@0x1441bb0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 N@0x1441d90)\n"
+ " (declare (in ) vec3 I@0x1441ea0)\n"
+ " (declare (in ) vec3 Nref@0x1441fb0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 N@0x1442190)\n"
+ " (declare (in ) vec4 I@0x14422a0)\n"
+ " (declare (in ) vec4 Nref@0x14423b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function reflect\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float I@0x1442590)\n"
+ " (declare (in ) float N@0x14426a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 I@0x1442a20)\n"
+ " (declare (in ) vec2 N@0x1442b30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 I@0x1442d10)\n"
+ " (declare (in ) vec3 N@0x1442e20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 I@0x1443000)\n"
+ " (declare (in ) vec4 N@0x1443110)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function refract\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float I@0x14432f0)\n"
+ " (declare (in ) float N@0x1443400)\n"
+ " (declare (in ) float eta@0x1443510)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 I@0x1443890)\n"
+ " (declare (in ) vec2 N@0x14439a0)\n"
+ " (declare (in ) float eta@0x1443ab0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 I@0x1443c90)\n"
+ " (declare (in ) vec3 N@0x1443da0)\n"
+ " (declare (in ) float eta@0x1443eb0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 I@0x1444090)\n"
+ " (declare (in ) vec4 N@0x14441a0)\n"
+ " (declare (in ) float eta@0x14442b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function matrixCompMult\n"
+ " (signature mat2\n"
+ " (parameters\n"
+ " (declare (in ) mat2 x@0x1444490)\n"
+ " (declare (in ) mat2 y@0x14445a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat3\n"
+ " (parameters\n"
+ " (declare (in ) mat3 x@0x1444930)\n"
+ " (declare (in ) mat3 y@0x1444a40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat4\n"
+ " (parameters\n"
+ " (declare (in ) mat4 x@0x1444c20)\n"
+ " (declare (in ) mat4 y@0x1444d30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat2x3\n"
+ " (parameters\n"
+ " (declare (in ) mat2x3 x@0x1444f10)\n"
+ " (declare (in ) mat2x3 y@0x1445020)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat2x4\n"
+ " (parameters\n"
+ " (declare (in ) mat2x4 x@0x1445200)\n"
+ " (declare (in ) mat2x4 y@0x1445310)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat3x2\n"
+ " (parameters\n"
+ " (declare (in ) mat3x2 x@0x14454f0)\n"
+ " (declare (in ) mat3x2 y@0x1445600)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat3x4\n"
+ " (parameters\n"
+ " (declare (in ) mat3x4 x@0x14457e0)\n"
+ " (declare (in ) mat3x4 y@0x14458f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat4x2\n"
+ " (parameters\n"
+ " (declare (in ) mat4x2 x@0x1445ad0)\n"
+ " (declare (in ) mat4x2 y@0x1445be0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat4x3\n"
+ " (parameters\n"
+ " (declare (in ) mat4x3 x@0x1445dc0)\n"
+ " (declare (in ) mat4x3 y@0x1445ed0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function outerProduct\n"
+ " (signature mat2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 c@0x14460b0)\n"
+ " (declare (in ) vec2 r@0x14461c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 c@0x1446550)\n"
+ " (declare (in ) vec3 r@0x1446660)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 c@0x1446840)\n"
+ " (declare (in ) vec4 r@0x1446950)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat2x3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 c@0x1446b30)\n"
+ " (declare (in ) vec2 r@0x1446c40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat3x2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 c@0x1446e20)\n"
+ " (declare (in ) vec3 r@0x1446f30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat2x4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 c@0x1447110)\n"
+ " (declare (in ) vec2 r@0x1447220)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat4x2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 c@0x1447400)\n"
+ " (declare (in ) vec4 r@0x1447510)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat3x4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 c@0x14476f0)\n"
+ " (declare (in ) vec3 r@0x1447800)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat4x3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 c@0x14479e0)\n"
+ " (declare (in ) vec4 r@0x1447af0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function transpose\n"
+ " (signature mat2\n"
+ " (parameters\n"
+ " (declare (in ) mat2 m@0x1447cd0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat3\n"
+ " (parameters\n"
+ " (declare (in ) mat3 m@0x1448060)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat4\n"
+ " (parameters\n"
+ " (declare (in ) mat4 m@0x1448240)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat2x3\n"
+ " (parameters\n"
+ " (declare (in ) mat3x2 m@0x1448420)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat3x2\n"
+ " (parameters\n"
+ " (declare (in ) mat2x3 m@0x1448600)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat2x4\n"
+ " (parameters\n"
+ " (declare (in ) mat4x2 m@0x14487e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat4x2\n"
+ " (parameters\n"
+ " (declare (in ) mat2x4 m@0x14489c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat3x4\n"
+ " (parameters\n"
+ " (declare (in ) mat4x3 m@0x1448ba0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat4x3\n"
+ " (parameters\n"
+ " (declare (in ) mat3x4 m@0x1448d80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function lessThan\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1448f60)\n"
+ " (declare (in ) vec2 y@0x1449070)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1449400)\n"
+ " (declare (in ) vec3 y@0x1449510)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x14496f0)\n"
+ " (declare (in ) vec4 y@0x1449800)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x14499e0)\n"
+ " (declare (in ) ivec2 y@0x1449af0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x1449cd0)\n"
+ " (declare (in ) ivec3 y@0x1449de0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x1449fc0)\n"
+ " (declare (in ) ivec4 y@0x144a0d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) uvec2 x@0x144a2b0)\n"
+ " (declare (in ) uvec2 y@0x144a3c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) uvec3 x@0x144a5a0)\n"
+ " (declare (in ) uvec3 y@0x144a6b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) uvec4 x@0x144a890)\n"
+ " (declare (in ) uvec4 y@0x144a9a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function lessThanEqual\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x144ab80)\n"
+ " (declare (in ) vec2 y@0x144ac90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x144b020)\n"
+ " (declare (in ) vec3 y@0x144b130)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x144b310)\n"
+ " (declare (in ) vec4 y@0x144b420)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x144b600)\n"
+ " (declare (in ) ivec2 y@0x144b710)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x144b8f0)\n"
+ " (declare (in ) ivec3 y@0x144ba00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x144bbe0)\n"
+ " (declare (in ) ivec4 y@0x144bcf0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) uvec2 x@0x144bed0)\n"
+ " (declare (in ) uvec2 y@0x144bfe0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) uvec3 x@0x144c1c0)\n"
+ " (declare (in ) uvec3 y@0x144c2d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) uvec4 x@0x144c4b0)\n"
+ " (declare (in ) uvec4 y@0x144c5c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function greaterThan\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x144c7a0)\n"
+ " (declare (in ) vec2 y@0x144c8b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x144cc40)\n"
+ " (declare (in ) vec3 y@0x144cd50)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x144cf30)\n"
+ " (declare (in ) vec4 y@0x144d040)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x144d220)\n"
+ " (declare (in ) ivec2 y@0x144d330)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x144d510)\n"
+ " (declare (in ) ivec3 y@0x144d620)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x144d800)\n"
+ " (declare (in ) ivec4 y@0x144d910)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) uvec2 x@0x144daf0)\n"
+ " (declare (in ) uvec2 y@0x144dc00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) uvec3 x@0x144dde0)\n"
+ " (declare (in ) uvec3 y@0x144def0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) uvec4 x@0x144e0d0)\n"
+ " (declare (in ) uvec4 y@0x144e1e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function greaterThanEqual\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x144e3c0)\n"
+ " (declare (in ) vec2 y@0x144e4d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x144e860)\n"
+ " (declare (in ) vec3 y@0x144e970)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x144eb50)\n"
+ " (declare (in ) vec4 y@0x144ec60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x144ee40)\n"
+ " (declare (in ) ivec2 y@0x144ef50)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x144f130)\n"
+ " (declare (in ) ivec3 y@0x144f240)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x144f420)\n"
+ " (declare (in ) ivec4 y@0x144f530)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) uvec2 x@0x144f710)\n"
+ " (declare (in ) uvec2 y@0x144f820)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) uvec3 x@0x144fa00)\n"
+ " (declare (in ) uvec3 y@0x144fb10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) uvec4 x@0x144fcf0)\n"
+ " (declare (in ) uvec4 y@0x144fe00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function equal\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x144ffe0)\n"
+ " (declare (in ) vec2 y@0x14500f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1450470)\n"
+ " (declare (in ) vec3 y@0x1450580)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1450760)\n"
+ " (declare (in ) vec4 y@0x1450870)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x1450a50)\n"
+ " (declare (in ) ivec2 y@0x1450b60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x1450d40)\n"
+ " (declare (in ) ivec3 y@0x1450e50)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x1451030)\n"
+ " (declare (in ) ivec4 y@0x1451140)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) uvec2 x@0x1451320)\n"
+ " (declare (in ) uvec2 y@0x1451430)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) uvec3 x@0x1451610)\n"
+ " (declare (in ) uvec3 y@0x1451720)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) uvec4 x@0x1451900)\n"
+ " (declare (in ) uvec4 y@0x1451a10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) bvec2 x@0x1451bf0)\n"
+ " (declare (in ) bvec2 y@0x1451d00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) bvec3 x@0x1451ee0)\n"
+ " (declare (in ) bvec3 y@0x1451ff0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) bvec4 x@0x14521d0)\n"
+ " (declare (in ) bvec4 y@0x14522e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function notEqual\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x14524c0)\n"
+ " (declare (in ) vec2 y@0x14525d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1452960)\n"
+ " (declare (in ) vec3 y@0x1452a70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1452c50)\n"
+ " (declare (in ) vec4 y@0x1452d60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x1452f40)\n"
+ " (declare (in ) ivec2 y@0x1453050)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x1453230)\n"
+ " (declare (in ) ivec3 y@0x1453340)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x1453520)\n"
+ " (declare (in ) ivec4 y@0x1453630)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) uvec2 x@0x1453810)\n"
+ " (declare (in ) uvec2 y@0x1453920)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) uvec3 x@0x1453b00)\n"
+ " (declare (in ) uvec3 y@0x1453c10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) uvec4 x@0x1453df0)\n"
+ " (declare (in ) uvec4 y@0x1453f00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) bvec2 x@0x14540e0)\n"
+ " (declare (in ) bvec2 y@0x14541f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) bvec3 x@0x14543d0)\n"
+ " (declare (in ) bvec3 y@0x14544e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) bvec4 x@0x14546c0)\n"
+ " (declare (in ) bvec4 y@0x14547d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function any\n"
+ " (signature bool\n"
+ " (parameters\n"
+ " (declare (in ) bvec2 x@0x14549b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bool\n"
+ " (parameters\n"
+ " (declare (in ) bvec3 x@0x1454d30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bool\n"
+ " (parameters\n"
+ " (declare (in ) bvec4 x@0x1454f10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function all\n"
+ " (signature bool\n"
+ " (parameters\n"
+ " (declare (in ) bvec2 x@0x14550f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bool\n"
+ " (parameters\n"
+ " (declare (in ) bvec3 x@0x1455470)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bool\n"
+ " (parameters\n"
+ " (declare (in ) bvec4 x@0x1455650)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function not\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) bvec2 x@0x1455830)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) bvec3 x@0x1455bb0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) bvec4 x@0x1455d90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x1455f70)\n"
+ " (declare (in ) float P@0x1456080)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler1D sampler@0x1456400)\n"
+ " (declare (in ) float P@0x1456510)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler1D sampler@0x14566f0)\n"
+ " (declare (in ) float P@0x1456800)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x14569e0)\n"
+ " (declare (in ) vec2 P@0x1456af0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler2D sampler@0x1456cd0)\n"
+ " (declare (in ) vec2 P@0x1456de0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler2D sampler@0x1456fc0)\n"
+ " (declare (in ) vec2 P@0x14570d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0x14572b0)\n"
+ " (declare (in ) vec3 P@0x14573c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler3D sampler@0x14575a0)\n"
+ " (declare (in ) vec3 P@0x14576b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler3D sampler@0x1457890)\n"
+ " (declare (in ) vec3 P@0x14579a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) samplerCube sampler@0x1457b80)\n"
+ " (declare (in ) vec3 P@0x1457c90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isamplerCube sampler@0x1457e70)\n"
+ " (declare (in ) vec3 P@0x1457f80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usamplerCube sampler@0x1458160)\n"
+ " (declare (in ) vec3 P@0x1458270)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0x1458450)\n"
+ " (declare (in ) vec3 P@0x1458560)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0x1458740)\n"
+ " (declare (in ) vec3 P@0x1458850)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) samplerCubeShadow sampler@0x1458a30)\n"
+ " (declare (in ) vec4 P@0x1458b40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DArray sampler@0x1458d20)\n"
+ " (declare (in ) vec2 P@0x1458e30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler1DArray sampler@0x1459010)\n"
+ " (declare (in ) vec2 P@0x1459120)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler1DArray sampler@0x1459300)\n"
+ " (declare (in ) vec2 P@0x1459410)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DArray sampler@0x14595f0)\n"
+ " (declare (in ) vec3 P@0x1459700)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler2DArray sampler@0x14598e0)\n"
+ " (declare (in ) vec3 P@0x14599f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler2DArray sampler@0x1459bd0)\n"
+ " (declare (in ) vec3 P@0x1459ce0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DArrayShadow sampler@0x1459ec0)\n"
+ " (declare (in ) vec3 P@0x1459fd0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DArrayShadow sampler@0x145a1b0)\n"
+ " (declare (in ) vec4 P@0x145a2c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x145a4a0)\n"
+ " (declare (in ) float P@0x145a5b0)\n"
+ " (declare (in ) float bias@0x145a6c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler1D sampler@0x145a8a0)\n"
+ " (declare (in ) float P@0x145a9b0)\n"
+ " (declare (in ) float bias@0x145aac0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler1D sampler@0x145aca0)\n"
+ " (declare (in ) float P@0x145adb0)\n"
+ " (declare (in ) float bias@0x145aec0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x145b0a0)\n"
+ " (declare (in ) vec2 P@0x145b1b0)\n"
+ " (declare (in ) float bias@0x145b2c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler2D sampler@0x145b4a0)\n"
+ " (declare (in ) vec2 P@0x145b5b0)\n"
+ " (declare (in ) float bias@0x145b6c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler2D sampler@0x145b8a0)\n"
+ " (declare (in ) vec2 P@0x145b9b0)\n"
+ " (declare (in ) float bias@0x145bac0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0x145bca0)\n"
+ " (declare (in ) vec3 P@0x145bdb0)\n"
+ " (declare (in ) float bias@0x145bec0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler3D sampler@0x145c0a0)\n"
+ " (declare (in ) vec3 P@0x145c1b0)\n"
+ " (declare (in ) float bias@0x145c2c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler3D sampler@0x145c4a0)\n"
+ " (declare (in ) vec3 P@0x145c5b0)\n"
+ " (declare (in ) float bias@0x145c6c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) samplerCube sampler@0x145c8a0)\n"
+ " (declare (in ) vec3 P@0x145c9b0)\n"
+ " (declare (in ) float bias@0x145cac0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isamplerCube sampler@0x145cca0)\n"
+ " (declare (in ) vec3 P@0x145cdb0)\n"
+ " (declare (in ) float bias@0x145cec0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usamplerCube sampler@0x145d0a0)\n"
+ " (declare (in ) vec3 P@0x145d1b0)\n"
+ " (declare (in ) float bias@0x145d2c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0x145d4a0)\n"
+ " (declare (in ) vec3 P@0x145d5b0)\n"
+ " (declare (in ) float bias@0x145d6c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0x145d8a0)\n"
+ " (declare (in ) vec3 P@0x145d9b0)\n"
+ " (declare (in ) float bias@0x145dac0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) samplerCubeShadow sampler@0x145dca0)\n"
+ " (declare (in ) vec4 P@0x145ddb0)\n"
+ " (declare (in ) float bias@0x145dec0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DArray sampler@0x145e0a0)\n"
+ " (declare (in ) vec2 P@0x145e1b0)\n"
+ " (declare (in ) float bias@0x145e2c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler1DArray sampler@0x145e4a0)\n"
+ " (declare (in ) vec2 P@0x145e5b0)\n"
+ " (declare (in ) float bias@0x145e6c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler1DArray sampler@0x145e8a0)\n"
+ " (declare (in ) vec2 P@0x145e9b0)\n"
+ " (declare (in ) float bias@0x145eac0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DArray sampler@0x145eca0)\n"
+ " (declare (in ) vec3 P@0x145edb0)\n"
+ " (declare (in ) float bias@0x145eec0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler2DArray sampler@0x145f0a0)\n"
+ " (declare (in ) vec3 P@0x145f1b0)\n"
+ " (declare (in ) float bias@0x145f2c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler2DArray sampler@0x145f4a0)\n"
+ " (declare (in ) vec3 P@0x145f5b0)\n"
+ " (declare (in ) float bias@0x145f6c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DArrayShadow sampler@0x145f8a0)\n"
+ " (declare (in ) vec3 P@0x145f9b0)\n"
+ " (declare (in ) float bias@0x145fac0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function textureProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x145fca0)\n"
+ " (declare (in ) vec2 P@0x145fdb0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler1D sampler@0x1460140)\n"
+ " (declare (in ) vec2 P@0x1460250)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler1D sampler@0x1460430)\n"
+ " (declare (in ) vec2 P@0x1460540)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x1460720)\n"
+ " (declare (in ) vec4 P@0x1460830)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler1D sampler@0x1460a10)\n"
+ " (declare (in ) vec4 P@0x1460b20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler1D sampler@0x1460d00)\n"
+ " (declare (in ) vec4 P@0x1460e10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x1460ff0)\n"
+ " (declare (in ) vec3 P@0x1461100)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler2D sampler@0x14612e0)\n"
+ " (declare (in ) vec3 P@0x14613f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler2D sampler@0x14615d0)\n"
+ " (declare (in ) vec3 P@0x14616e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x14618c0)\n"
+ " (declare (in ) vec4 P@0x14619d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler2D sampler@0x1461bb0)\n"
+ " (declare (in ) vec4 P@0x1461cc0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler2D sampler@0x1461ea0)\n"
+ " (declare (in ) vec4 P@0x1461fb0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0x1462190)\n"
+ " (declare (in ) vec4 P@0x14622a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler3D sampler@0x1462480)\n"
+ " (declare (in ) vec4 P@0x1462590)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler3D sampler@0x1462770)\n"
+ " (declare (in ) vec4 P@0x1462880)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0x1462a60)\n"
+ " (declare (in ) vec4 P@0x1462b70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0x1462d50)\n"
+ " (declare (in ) vec4 P@0x1462e60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x1463040)\n"
+ " (declare (in ) vec2 P@0x1463150)\n"
+ " (declare (in ) float bias@0x1463260)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler1D sampler@0x1463440)\n"
+ " (declare (in ) vec2 P@0x1463550)\n"
+ " (declare (in ) float bias@0x1463660)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler1D sampler@0x1463840)\n"
+ " (declare (in ) vec2 P@0x1463950)\n"
+ " (declare (in ) float bias@0x1463a60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x1463c40)\n"
+ " (declare (in ) vec4 P@0x1463d50)\n"
+ " (declare (in ) float bias@0x1463e60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler1D sampler@0x1464040)\n"
+ " (declare (in ) vec4 P@0x1464150)\n"
+ " (declare (in ) float bias@0x1464260)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler1D sampler@0x1464440)\n"
+ " (declare (in ) vec4 P@0x1464550)\n"
+ " (declare (in ) float bias@0x1464660)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x1464840)\n"
+ " (declare (in ) vec3 P@0x1464950)\n"
+ " (declare (in ) float bias@0x1464a60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler2D sampler@0x1464c40)\n"
+ " (declare (in ) vec3 P@0x1464d50)\n"
+ " (declare (in ) float bias@0x1464e60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler2D sampler@0x1465040)\n"
+ " (declare (in ) vec3 P@0x1465150)\n"
+ " (declare (in ) float bias@0x1465260)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x1465440)\n"
+ " (declare (in ) vec4 P@0x1465550)\n"
+ " (declare (in ) float bias@0x1465660)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler2D sampler@0x1465840)\n"
+ " (declare (in ) vec4 P@0x1465950)\n"
+ " (declare (in ) float bias@0x1465a60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler2D sampler@0x1465c40)\n"
+ " (declare (in ) vec4 P@0x1465d50)\n"
+ " (declare (in ) float bias@0x1465e60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0x1466040)\n"
+ " (declare (in ) vec4 P@0x1466150)\n"
+ " (declare (in ) float bias@0x1466260)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler3D sampler@0x1466440)\n"
+ " (declare (in ) vec4 P@0x1466550)\n"
+ " (declare (in ) float bias@0x1466660)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler3D sampler@0x1466840)\n"
+ " (declare (in ) vec4 P@0x1466950)\n"
+ " (declare (in ) float bias@0x1466a60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0x1466c40)\n"
+ " (declare (in ) vec4 P@0x1466d50)\n"
+ " (declare (in ) float bias@0x1466e60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0x1467040)\n"
+ " (declare (in ) vec4 P@0x1467150)\n"
+ " (declare (in ) float bias@0x1467260)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function textureLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x1467440)\n"
+ " (declare (in ) float P@0x1467550)\n"
+ " (declare (in ) float lod@0x1467660)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler1D sampler@0x14679f0)\n"
+ " (declare (in ) float P@0x1467b00)\n"
+ " (declare (in ) float lod@0x1467c10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler1D sampler@0x1467df0)\n"
+ " (declare (in ) float P@0x1467f00)\n"
+ " (declare (in ) float lod@0x1468010)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x14681f0)\n"
+ " (declare (in ) vec2 P@0x1468300)\n"
+ " (declare (in ) float lod@0x1468410)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler2D sampler@0x14685f0)\n"
+ " (declare (in ) vec2 P@0x1468700)\n"
+ " (declare (in ) float lod@0x1468810)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler2D sampler@0x14689f0)\n"
+ " (declare (in ) vec2 P@0x1468b00)\n"
+ " (declare (in ) float lod@0x1468c10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0x1468df0)\n"
+ " (declare (in ) vec3 P@0x1468f00)\n"
+ " (declare (in ) float lod@0x1469010)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler3D sampler@0x14691f0)\n"
+ " (declare (in ) vec3 P@0x1469300)\n"
+ " (declare (in ) float lod@0x1469410)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler3D sampler@0x14695f0)\n"
+ " (declare (in ) vec3 P@0x1469700)\n"
+ " (declare (in ) float lod@0x1469810)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) samplerCube sampler@0x14699f0)\n"
+ " (declare (in ) vec3 P@0x1469b00)\n"
+ " (declare (in ) float lod@0x1469c10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isamplerCube sampler@0x1469df0)\n"
+ " (declare (in ) vec3 P@0x1469f00)\n"
+ " (declare (in ) float lod@0x146a010)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usamplerCube sampler@0x146a1f0)\n"
+ " (declare (in ) vec3 P@0x146a300)\n"
+ " (declare (in ) float lod@0x146a410)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0x146a5f0)\n"
+ " (declare (in ) vec3 P@0x146a700)\n"
+ " (declare (in ) float lod@0x146a810)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0x146a9f0)\n"
+ " (declare (in ) vec3 P@0x146ab00)\n"
+ " (declare (in ) float lod@0x146ac10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DArray sampler@0x146adf0)\n"
+ " (declare (in ) vec2 P@0x146af00)\n"
+ " (declare (in ) float lod@0x146b010)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler1DArray sampler@0x146b1f0)\n"
+ " (declare (in ) vec2 P@0x146b300)\n"
+ " (declare (in ) float lod@0x146b410)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler1DArray sampler@0x146b5f0)\n"
+ " (declare (in ) vec2 P@0x146b700)\n"
+ " (declare (in ) float lod@0x146b810)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DArray sampler@0x146b9f0)\n"
+ " (declare (in ) vec3 P@0x146bb00)\n"
+ " (declare (in ) float lod@0x146bc10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler2DArray sampler@0x146bdf0)\n"
+ " (declare (in ) vec3 P@0x146bf00)\n"
+ " (declare (in ) float lod@0x146c010)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler2DArray sampler@0x146c1f0)\n"
+ " (declare (in ) vec3 P@0x146c300)\n"
+ " (declare (in ) float lod@0x146c410)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DArrayShadow sampler@0x146c5f0)\n"
+ " (declare (in ) vec3 P@0x146c700)\n"
+ " (declare (in ) float lod@0x146c810)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texelFetch\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x146c9f0)\n"
+ " (declare (in ) int P@0x146cb00)\n"
+ " (declare (in ) int lod@0x146cc10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler1D sampler@0x146cfa0)\n"
+ " (declare (in ) int P@0x146d0b0)\n"
+ " (declare (in ) int lod@0x146d1c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler1D sampler@0x146d3a0)\n"
+ " (declare (in ) int P@0x146d4b0)\n"
+ " (declare (in ) int lod@0x146d5c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x146d7a0)\n"
+ " (declare (in ) ivec2 P@0x146d8b0)\n"
+ " (declare (in ) int lod@0x146d9c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler2D sampler@0x146dba0)\n"
+ " (declare (in ) ivec2 P@0x146dcb0)\n"
+ " (declare (in ) int lod@0x146ddc0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler2D sampler@0x146dfa0)\n"
+ " (declare (in ) ivec2 P@0x146e0b0)\n"
+ " (declare (in ) int lod@0x146e1c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0x146e3a0)\n"
+ " (declare (in ) ivec3 P@0x146e4b0)\n"
+ " (declare (in ) int lod@0x146e5c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler3D sampler@0x146e7a0)\n"
+ " (declare (in ) ivec3 P@0x146e8b0)\n"
+ " (declare (in ) int lod@0x146e9c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler3D sampler@0x146eba0)\n"
+ " (declare (in ) ivec3 P@0x146ecb0)\n"
+ " (declare (in ) int lod@0x146edc0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DArray sampler@0x146efa0)\n"
+ " (declare (in ) ivec2 P@0x146f0b0)\n"
+ " (declare (in ) int lod@0x146f1c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler1DArray sampler@0x146f3a0)\n"
+ " (declare (in ) ivec2 P@0x146f4b0)\n"
+ " (declare (in ) int lod@0x146f5c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler1DArray sampler@0x146f7a0)\n"
+ " (declare (in ) ivec2 P@0x146f8b0)\n"
+ " (declare (in ) int lod@0x146f9c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DArray sampler@0x146fba0)\n"
+ " (declare (in ) ivec3 P@0x146fcb0)\n"
+ " (declare (in ) int lod@0x146fdc0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler2DArray sampler@0x146ffa0)\n"
+ " (declare (in ) ivec3 P@0x14700b0)\n"
+ " (declare (in ) int lod@0x14701c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler2DArray sampler@0x14703a0)\n"
+ " (declare (in ) ivec3 P@0x14704b0)\n"
+ " (declare (in ) int lod@0x14705c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function textureProjLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x14707a0)\n"
+ " (declare (in ) vec2 P@0x14708b0)\n"
+ " (declare (in ) float lod@0x14709c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler1D sampler@0x1470d50)\n"
+ " (declare (in ) vec2 P@0x1470e60)\n"
+ " (declare (in ) float lod@0x1470f70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler1D sampler@0x1471150)\n"
+ " (declare (in ) vec2 P@0x1471260)\n"
+ " (declare (in ) float lod@0x1471370)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x1471550)\n"
+ " (declare (in ) vec4 P@0x1471660)\n"
+ " (declare (in ) float lod@0x1471770)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler1D sampler@0x1471950)\n"
+ " (declare (in ) vec4 P@0x1471a60)\n"
+ " (declare (in ) float lod@0x1471b70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler1D sampler@0x1471d50)\n"
+ " (declare (in ) vec4 P@0x1471e60)\n"
+ " (declare (in ) float lod@0x1471f70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x1472150)\n"
+ " (declare (in ) vec3 P@0x1472260)\n"
+ " (declare (in ) float lod@0x1472370)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler2D sampler@0x1472550)\n"
+ " (declare (in ) vec3 P@0x1472660)\n"
+ " (declare (in ) float lod@0x1472770)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler2D sampler@0x1472950)\n"
+ " (declare (in ) vec3 P@0x1472a60)\n"
+ " (declare (in ) float lod@0x1472b70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x1472d50)\n"
+ " (declare (in ) vec4 P@0x1472e60)\n"
+ " (declare (in ) float lod@0x1472f70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler2D sampler@0x1473150)\n"
+ " (declare (in ) vec4 P@0x1473260)\n"
+ " (declare (in ) float lod@0x1473370)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler2D sampler@0x1473550)\n"
+ " (declare (in ) vec4 P@0x1473660)\n"
+ " (declare (in ) float lod@0x1473770)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0x1473950)\n"
+ " (declare (in ) vec4 P@0x1473a60)\n"
+ " (declare (in ) float lod@0x1473b70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler3D sampler@0x1473d50)\n"
+ " (declare (in ) vec4 P@0x1473e60)\n"
+ " (declare (in ) float lod@0x1473f70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler3D sampler@0x1474150)\n"
+ " (declare (in ) vec4 P@0x1474260)\n"
+ " (declare (in ) float lod@0x1474370)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0x1474550)\n"
+ " (declare (in ) vec4 P@0x1474660)\n"
+ " (declare (in ) float lod@0x1474770)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0x1474950)\n"
+ " (declare (in ) vec4 P@0x1474a60)\n"
+ " (declare (in ) float lod@0x1474b70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function textureGrad\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x1474d50)\n"
+ " (declare (in ) float P@0x1474e60)\n"
+ " (declare (in ) float dPdx@0x1474f70)\n"
+ " (declare (in ) float dPdy@0x1475080)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler1D sampler@0x1475410)\n"
+ " (declare (in ) float P@0x1475520)\n"
+ " (declare (in ) float dPdx@0x1475630)\n"
+ " (declare (in ) float dPdy@0x1475740)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler1D sampler@0x1475920)\n"
+ " (declare (in ) float P@0x1475a30)\n"
+ " (declare (in ) float dPdx@0x1475b40)\n"
+ " (declare (in ) float dPdy@0x1475c50)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x1475e30)\n"
+ " (declare (in ) vec2 P@0x1475f40)\n"
+ " (declare (in ) vec2 dPdx@0x1476050)\n"
+ " (declare (in ) vec2 dPdy@0x1476160)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler2D sampler@0x1476340)\n"
+ " (declare (in ) vec2 P@0x1476450)\n"
+ " (declare (in ) vec2 dPdx@0x1476560)\n"
+ " (declare (in ) vec2 dPdy@0x1476670)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler2D sampler@0x1476850)\n"
+ " (declare (in ) vec2 P@0x1476960)\n"
+ " (declare (in ) vec2 dPdx@0x1476a70)\n"
+ " (declare (in ) vec2 dPdy@0x1476b80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0x1476d60)\n"
+ " (declare (in ) vec3 P@0x1476e70)\n"
+ " (declare (in ) vec3 dPdx@0x1476f80)\n"
+ " (declare (in ) vec3 dPdy@0x1477090)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler3D sampler@0x1477270)\n"
+ " (declare (in ) vec3 P@0x1477380)\n"
+ " (declare (in ) vec3 dPdx@0x1477490)\n"
+ " (declare (in ) vec3 dPdy@0x14775a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler3D sampler@0x1477780)\n"
+ " (declare (in ) vec3 P@0x1477890)\n"
+ " (declare (in ) vec3 dPdx@0x14779a0)\n"
+ " (declare (in ) vec3 dPdy@0x1477ab0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) samplerCube sampler@0x1477c90)\n"
+ " (declare (in ) vec3 P@0x1477da0)\n"
+ " (declare (in ) vec3 dPdx@0x1477eb0)\n"
+ " (declare (in ) vec3 dPdy@0x1477fc0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isamplerCube sampler@0x14781a0)\n"
+ " (declare (in ) vec3 P@0x14782b0)\n"
+ " (declare (in ) vec3 dPdx@0x14783c0)\n"
+ " (declare (in ) vec3 dPdy@0x14784d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usamplerCube sampler@0x14786b0)\n"
+ " (declare (in ) vec3 P@0x14787c0)\n"
+ " (declare (in ) vec3 dPdx@0x14788d0)\n"
+ " (declare (in ) vec3 dPdy@0x14789e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0x1478bc0)\n"
+ " (declare (in ) vec3 P@0x1478cd0)\n"
+ " (declare (in ) float dPdx@0x1478de0)\n"
+ " (declare (in ) float dPdy@0x1478ef0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0x14790d0)\n"
+ " (declare (in ) vec3 P@0x14791e0)\n"
+ " (declare (in ) vec2 dPdx@0x14792f0)\n"
+ " (declare (in ) vec2 dPdy@0x1479400)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) samplerCubeShadow sampler@0x14795e0)\n"
+ " (declare (in ) vec4 P@0x14796f0)\n"
+ " (declare (in ) vec3 dPdx@0x1479800)\n"
+ " (declare (in ) vec3 dPdy@0x1479910)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DArray sampler@0x1479af0)\n"
+ " (declare (in ) vec2 P@0x1479c00)\n"
+ " (declare (in ) float dPdx@0x1479d10)\n"
+ " (declare (in ) float dPdy@0x1479e20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler1DArray sampler@0x147a000)\n"
+ " (declare (in ) vec2 P@0x147a110)\n"
+ " (declare (in ) float dPdx@0x147a220)\n"
+ " (declare (in ) float dPdy@0x147a330)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler1DArray sampler@0x147a510)\n"
+ " (declare (in ) vec2 P@0x147a620)\n"
+ " (declare (in ) float dPdx@0x147a730)\n"
+ " (declare (in ) float dPdy@0x147a840)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DArray sampler@0x147aa20)\n"
+ " (declare (in ) vec3 P@0x147ab30)\n"
+ " (declare (in ) vec2 dPdx@0x147ac40)\n"
+ " (declare (in ) vec2 dPdy@0x147ad50)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler2DArray sampler@0x147af30)\n"
+ " (declare (in ) vec3 P@0x147b040)\n"
+ " (declare (in ) vec2 dPdx@0x147b150)\n"
+ " (declare (in ) vec2 dPdy@0x147b260)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler2DArray sampler@0x147b440)\n"
+ " (declare (in ) vec3 P@0x147b550)\n"
+ " (declare (in ) vec2 dPdx@0x147b660)\n"
+ " (declare (in ) vec2 dPdy@0x147b770)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DArrayShadow sampler@0x147b950)\n"
+ " (declare (in ) vec3 P@0x147ba60)\n"
+ " (declare (in ) float dPdx@0x147bb70)\n"
+ " (declare (in ) float dPdy@0x147bc80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DArrayShadow sampler@0x147be60)\n"
+ " (declare (in ) vec4 P@0x147bf70)\n"
+ " (declare (in ) vec2 dPdx@0x147c080)\n"
+ " (declare (in ) vec2 dPdy@0x147c190)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function textureProjGrad\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x147c370)\n"
+ " (declare (in ) vec2 P@0x147c480)\n"
+ " (declare (in ) float dPdx@0x147c590)\n"
+ " (declare (in ) float dPdy@0x147c6a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler1D sampler@0x147ca30)\n"
+ " (declare (in ) vec2 P@0x147cb40)\n"
+ " (declare (in ) float dPdx@0x147cc50)\n"
+ " (declare (in ) float dPdy@0x147cd60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler1D sampler@0x147cf40)\n"
+ " (declare (in ) vec2 P@0x147d050)\n"
+ " (declare (in ) float dPdx@0x147d160)\n"
+ " (declare (in ) float dPdy@0x147d270)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x147d450)\n"
+ " (declare (in ) vec4 P@0x147d560)\n"
+ " (declare (in ) float dPdx@0x147d670)\n"
+ " (declare (in ) float dPdy@0x147d780)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler1D sampler@0x147d960)\n"
+ " (declare (in ) vec4 P@0x147da70)\n"
+ " (declare (in ) float dPdx@0x147db80)\n"
+ " (declare (in ) float dPdy@0x147dc90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler1D sampler@0x147de70)\n"
+ " (declare (in ) vec4 P@0x147df80)\n"
+ " (declare (in ) float dPdx@0x147e090)\n"
+ " (declare (in ) float dPdy@0x147e1a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x147e380)\n"
+ " (declare (in ) vec3 P@0x147e490)\n"
+ " (declare (in ) vec2 dPdx@0x147e5a0)\n"
+ " (declare (in ) vec2 dPdy@0x147e6b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler2D sampler@0x147e890)\n"
+ " (declare (in ) vec3 P@0x147e9a0)\n"
+ " (declare (in ) vec2 dPdx@0x147eab0)\n"
+ " (declare (in ) vec2 dPdy@0x147ebc0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler2D sampler@0x147eda0)\n"
+ " (declare (in ) vec3 P@0x147eeb0)\n"
+ " (declare (in ) vec2 dPdx@0x147efc0)\n"
+ " (declare (in ) vec2 dPdy@0x147f0d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x147f2b0)\n"
+ " (declare (in ) vec4 P@0x147f3c0)\n"
+ " (declare (in ) vec2 dPdx@0x147f4d0)\n"
+ " (declare (in ) vec2 dPdy@0x147f5e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler2D sampler@0x147f7c0)\n"
+ " (declare (in ) vec4 P@0x147f8d0)\n"
+ " (declare (in ) vec2 dPdx@0x147f9e0)\n"
+ " (declare (in ) vec2 dPdy@0x147faf0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler2D sampler@0x147fcd0)\n"
+ " (declare (in ) vec4 P@0x147fde0)\n"
+ " (declare (in ) vec2 dPdx@0x147fef0)\n"
+ " (declare (in ) vec2 dPdy@0x1480000)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0x14801e0)\n"
+ " (declare (in ) vec4 P@0x14802f0)\n"
+ " (declare (in ) vec3 dPdx@0x1480400)\n"
+ " (declare (in ) vec3 dPdy@0x1480510)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler3D sampler@0x14806f0)\n"
+ " (declare (in ) vec4 P@0x1480800)\n"
+ " (declare (in ) vec3 dPdx@0x1480910)\n"
+ " (declare (in ) vec3 dPdy@0x1480a20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler3D sampler@0x1480c00)\n"
+ " (declare (in ) vec4 P@0x1480d10)\n"
+ " (declare (in ) vec3 dPdx@0x1480e20)\n"
+ " (declare (in ) vec3 dPdy@0x1480f30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0x1481110)\n"
+ " (declare (in ) vec4 P@0x1481220)\n"
+ " (declare (in ) float dPdx@0x1481330)\n"
+ " (declare (in ) float dPdy@0x1481440)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0x1481620)\n"
+ " (declare (in ) vec4 P@0x1481730)\n"
+ " (declare (in ) vec2 dPdx@0x1481840)\n"
+ " (declare (in ) vec2 dPdy@0x1481950)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture1D\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x1481b30)\n"
+ " (declare (in ) float coord@0x1481c40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x1482760)\n"
+ " (declare (in ) float coord@0x1482870)\n"
+ " (declare (in ) float bias@0x1482980)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture1DProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x1481fd0)\n"
+ " (declare (in ) vec2 coord@0x14820e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x1482470)\n"
+ " (declare (in ) vec4 coord@0x1482580)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x1482b60)\n"
+ " (declare (in ) vec2 coord@0x1482c70)\n"
+ " (declare (in ) float bias@0x1482d80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x1482f60)\n"
+ " (declare (in ) vec4 coord@0x1483070)\n"
+ " (declare (in ) float bias@0x1483180)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture1DLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x1483360)\n"
+ " (declare (in ) float coord@0x1483470)\n"
+ " (declare (in ) float lod@0x1483580)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture1DProjLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x1483910)\n"
+ " (declare (in ) vec2 coord@0x1483a20)\n"
+ " (declare (in ) float lod@0x1483b30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x1483ec0)\n"
+ " (declare (in ) vec4 coord@0x1483fd0)\n"
+ " (declare (in ) float lod@0x14840e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture2D\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x14842c0)\n"
+ " (declare (in ) vec2 coord@0x14843d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x1484ef0)\n"
+ " (declare (in ) vec2 coord@0x1485000)\n"
+ " (declare (in ) float bias@0x1485110)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture2DProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x1484760)\n"
+ " (declare (in ) vec3 coord@0x1484870)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x1484c00)\n"
+ " (declare (in ) vec4 coord@0x1484d10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x14852f0)\n"
+ " (declare (in ) vec3 coord@0x1485400)\n"
+ " (declare (in ) float bias@0x1485510)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x14856f0)\n"
+ " (declare (in ) vec4 coord@0x1485800)\n"
+ " (declare (in ) float bias@0x1485910)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture2DLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x1485af0)\n"
+ " (declare (in ) vec2 coord@0x1485c00)\n"
+ " (declare (in ) float lod@0x1485d10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture2DProjLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x14860a0)\n"
+ " (declare (in ) vec3 coord@0x14861b0)\n"
+ " (declare (in ) float lod@0x14862c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x1486650)\n"
+ " (declare (in ) vec4 coord@0x1486760)\n"
+ " (declare (in ) float lod@0x1486870)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture3D\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0x1486a50)\n"
+ " (declare (in ) vec3 coord@0x1486b60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0x1487390)\n"
+ " (declare (in ) vec3 coord@0x14874a0)\n"
+ " (declare (in ) float bias@0x14875b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture3DProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0x1486ef0)\n"
+ " (declare (in ) vec4 coord@0x1487000)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0x1487790)\n"
+ " (declare (in ) vec4 coord@0x14878a0)\n"
+ " (declare (in ) float bias@0x14879b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture3DLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0x1487b90)\n"
+ " (declare (in ) vec3 coord@0x1487ca0)\n"
+ " (declare (in ) float lod@0x1487db0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture3DProjLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0x1488140)\n"
+ " (declare (in ) vec4 coord@0x1488250)\n"
+ " (declare (in ) float lod@0x1488360)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function textureCube\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) samplerCube sampler@0x14886f0)\n"
+ " (declare (in ) vec3 coord@0x1488800)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) samplerCube sampler@0x1488b90)\n"
+ " (declare (in ) vec3 coord@0x1488ca0)\n"
+ " (declare (in ) float bias@0x1488db0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function textureCubeLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) samplerCube sampler@0x1488f90)\n"
+ " (declare (in ) vec3 coord@0x14890a0)\n"
+ " (declare (in ) float lod@0x14891b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow1D\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0x1489540)\n"
+ " (declare (in ) vec3 coord@0x1489650)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0x148a7c0)\n"
+ " (declare (in ) vec3 coord@0x148a8d0)\n"
+ " (declare (in ) float bias@0x148a9e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow2D\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0x14899e0)\n"
+ " (declare (in ) vec3 coord@0x1489af0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0x148abc0)\n"
+ " (declare (in ) vec3 coord@0x148acd0)\n"
+ " (declare (in ) float bias@0x148ade0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow1DProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0x1489e80)\n"
+ " (declare (in ) vec4 coord@0x1489f90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0x148afc0)\n"
+ " (declare (in ) vec4 coord@0x148b0d0)\n"
+ " (declare (in ) float bias@0x148b1e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow2DProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0x148a320)\n"
+ " (declare (in ) vec4 coord@0x148a430)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0x148b3c0)\n"
+ " (declare (in ) vec4 coord@0x148b4d0)\n"
+ " (declare (in ) float bias@0x148b5e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow1DLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0x148b7c0)\n"
+ " (declare (in ) vec3 coord@0x148b8d0)\n"
+ " (declare (in ) float lod@0x148b9e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow2DLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0x148bd70)\n"
+ " (declare (in ) vec3 coord@0x148be80)\n"
+ " (declare (in ) float lod@0x148bf90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow1DProjLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0x148c320)\n"
+ " (declare (in ) vec4 coord@0x148c430)\n"
+ " (declare (in ) float lod@0x148c540)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow2DProjLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0x148c8d0)\n"
+ " (declare (in ) vec4 coord@0x148c9e0)\n"
+ " (declare (in ) float lod@0x148caf0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function dFdx\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float p@0x148ce80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 p@0x148d200)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 p@0x148d3e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 p@0x148d5c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function dFdy\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float p@0x148d7a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 p@0x148db20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 p@0x148dd00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 p@0x148dee0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function fwidth\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float p@0x148e0c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 p@0x148e440)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 p@0x148e620)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 p@0x148e800)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function noise1\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x148e9e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x148ed60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x148ef40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x148f120)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function noise2\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x148f300)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x148f680)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x148f860)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x148fa40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function noise3\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x148fc20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x148ffa0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1490180)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1490360)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function noise4\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1490540)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x14908c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1490aa0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1490c80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "\n"
+ ")"
+;
+static const char *functions_for_130_frag [] = {
+ builtin_clamp,
+ builtin_matrixCompMult,
+ builtin_textureProj,
+ builtin_noise2,
+ builtin_texture3DProjLod,
+ builtin_pow,
+ builtin_texture2DProj,
+ builtin_fwidth,
+ builtin_greaterThanEqual,
+ builtin_sign,
+ builtin_texture3DProj,
+ builtin_textureProjLod,
+ builtin_texture,
+ builtin_texture2D,
+ builtin_equal,
+ builtin_faceforward,
+ builtin_tan,
+ builtin_shadow2DProj,
+ builtin_shadow1DProjLod,
+ builtin_any,
+ builtin_shadow1DProj,
+ builtin_normalize,
+ builtin_asin,
+ builtin_texture1DProj,
+ builtin_log,
+ builtin_floor,
+ builtin_exp2,
+ builtin_lessThan,
+ builtin_cross,
+ builtin_sqrt,
+ builtin_texture3DLod,
+ builtin_textureLod,
+ builtin_fract,
+ builtin_abs,
+ builtin_degrees,
+ builtin_shadow1DLod,
+ builtin_dFdx,
+ builtin_sin,
+ builtin_shadow2D,
+ builtin_shadow2DLod,
+ builtin_all,
+ builtin_log2,
+ builtin_textureGrad,
+ builtin_atan,
+ builtin_notEqual,
+ builtin_max,
+ builtin_lessThanEqual,
+ builtin_transpose,
+ builtin_outerProduct,
+ builtin_ceil,
+ builtin_reflect,
+ builtin_textureCubeLod,
+ builtin_step,
+ builtin_texture1D,
+ builtin_greaterThan,
+ builtin_texture3D,
+ builtin_shadow2DProjLod,
+ builtin_not,
+ builtin_texture2DProjLod,
+ builtin_dFdy,
+ builtin_inversesqrt,
+ builtin_mod,
+ builtin_noise4,
+ builtin_distance,
+ builtin_cos,
+ builtin_shadow1D,
+ builtin_noise1,
+ builtin_refract,
+ builtin_noise3,
+ builtin_texelFetch,
+ builtin_min,
+ builtin_radians,
+ builtin_smoothstep,
+ builtin_textureProjGrad,
+ builtin_texture1DProjLod,
+ builtin_textureCube,
+ builtin_length,
+ builtin_texture1DLod,
+ builtin_texture2DLod,
+ builtin_exp,
+ builtin_acos,
+ builtin_mix,
+ builtin_dot,
+};
+static const char *prototypes_for_ARB_texture_rectangle_vert =
+ "(\n"
+ "(function texture2DRect\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DRect sampler@0x9f07b0)\n"
+ " (declare (in ) vec2 coord@0x9f08c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture2DRectProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DRect sampler@0x9f0c50)\n"
+ " (declare (in ) vec3 coord@0x9f0d60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DRect sampler@0x9f10f0)\n"
+ " (declare (in ) vec4 coord@0x9f1200)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow2DRect\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DRectShadow sampler@0x9f13e0)\n"
+ " (declare (in ) vec3 coord@0x9f14f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow2DRectProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DRectShadow sampler@0x9f1880)\n"
+ " (declare (in ) vec4 coord@0x9f1990)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "\n"
+ ")"
+;
+static const char *functions_for_ARB_texture_rectangle_vert [] = {
+ builtin_texture2DRect,
+ builtin_shadow2DRectProj,
+ builtin_shadow2DRect,
+ builtin_texture2DRectProj,
+};
+static const char *prototypes_for_130_vert =
+ "(\n"
+ "(function radians\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float degrees@0x16a1fa0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 degrees@0x16a2320)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 degrees@0x16a2500)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 degrees@0x16a26e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function degrees\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float radians@0x16a28c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 radians@0x16a2c40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 radians@0x16a2e20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 radians@0x16a3000)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function sin\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float angle@0x16a31e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 angle@0x16a3560)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 angle@0x16a3740)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 angle@0x16a3920)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function cos\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float angle@0x16a3b00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 angle@0x16a3e80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 angle@0x16a4060)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 angle@0x16a4240)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function tan\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float angle@0x16a4420)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 angle@0x16a47a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 angle@0x16a4980)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 angle@0x16a4b60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function asin\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float angle@0x16a4d40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 angle@0x16a50c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 angle@0x16a52a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 angle@0x16a5480)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function acos\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float angle@0x16a5660)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 angle@0x16a59e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 angle@0x16a5bc0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 angle@0x16a5da0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function atan\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float y@0x16a5f80)\n"
+ " (declare (in ) float x@0x16a6090)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 y@0x16a6410)\n"
+ " (declare (in ) vec2 x@0x16a6520)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 y@0x16a6700)\n"
+ " (declare (in ) vec3 x@0x16a6810)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 y@0x16a69f0)\n"
+ " (declare (in ) vec4 x@0x16a6b00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float y_over_x@0x16a6ce0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 y_over_x@0x16a6ed0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 y_over_x@0x16a70c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 y_over_x@0x16a72b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function pow\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x16a74a0)\n"
+ " (declare (in ) float y@0x16a75b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x16a7930)\n"
+ " (declare (in ) vec2 y@0x16a7a40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x16a7c20)\n"
+ " (declare (in ) vec3 y@0x16a7d30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x16a7f10)\n"
+ " (declare (in ) vec4 y@0x16a8020)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function exp\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x16a8200)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x16a8580)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x16a8760)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x16a8940)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function log\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x16a8b20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x16a8ea0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x16a9080)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x16a9260)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function exp2\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x16a9440)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x16a97c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x16a99a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x16a9b80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function log2\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x16a9d60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x16aa0e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x16aa2c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x16aa4a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function sqrt\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x16aa680)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x16aaa00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x16aabe0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x16aadc0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function inversesqrt\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x16aafa0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x16ab330)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x16ab510)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x16ab6f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function abs\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x16ab8d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x16abc50)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x16abe30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x16ac010)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature int\n"
+ " (parameters\n"
+ " (declare (in ) int x@0x16ac1f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x16ac3d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x16ac5b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x16ac790)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function sign\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x16ac970)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x16accf0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x16aced0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x16ad0b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature int\n"
+ " (parameters\n"
+ " (declare (in ) int x@0x16ad290)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x16ad470)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x16ad650)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x16ad830)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function floor\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x16ada10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x16add90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x16adf70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x16ae150)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function ceil\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x16ae330)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x16ae6b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x16ae890)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x16aea70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function fract\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x16aec50)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x16aefd0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x16af1b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x16af390)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function mod\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x16af570)\n"
+ " (declare (in ) float y@0x16af680)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x16afa00)\n"
+ " (declare (in ) float y@0x16afb10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x16afcf0)\n"
+ " (declare (in ) float y@0x16afe00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x16affe0)\n"
+ " (declare (in ) float y@0x16b00f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x16b02d0)\n"
+ " (declare (in ) vec2 y@0x16b03e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x16b05c0)\n"
+ " (declare (in ) vec3 y@0x16b06d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x16b08b0)\n"
+ " (declare (in ) vec4 y@0x16b09c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function min\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x16b0ba0)\n"
+ " (declare (in ) float y@0x16b0cb0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x16b1030)\n"
+ " (declare (in ) vec2 y@0x16b1140)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x16b1320)\n"
+ " (declare (in ) vec3 y@0x16b1430)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x16b1610)\n"
+ " (declare (in ) vec4 y@0x16b1720)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x16b1900)\n"
+ " (declare (in ) float y@0x16b1a10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x16b1bf0)\n"
+ " (declare (in ) float y@0x16b1d00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x16b1ee0)\n"
+ " (declare (in ) float y@0x16b1ff0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature int\n"
+ " (parameters\n"
+ " (declare (in ) int x@0x16b21d0)\n"
+ " (declare (in ) int y@0x16b22e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x16b24c0)\n"
+ " (declare (in ) ivec2 y@0x16b25d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x16b27b0)\n"
+ " (declare (in ) ivec3 y@0x16b28c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x16b2aa0)\n"
+ " (declare (in ) ivec4 y@0x16b2bb0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x16b2d90)\n"
+ " (declare (in ) int y@0x16b2ea0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x16b3080)\n"
+ " (declare (in ) int y@0x16b3190)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x16b3370)\n"
+ " (declare (in ) int y@0x16b3480)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uint\n"
+ " (parameters\n"
+ " (declare (in ) uint x@0x16b3660)\n"
+ " (declare (in ) uint y@0x16b3770)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec2\n"
+ " (parameters\n"
+ " (declare (in ) uvec2 x@0x16b3950)\n"
+ " (declare (in ) uvec2 y@0x16b3a60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec3\n"
+ " (parameters\n"
+ " (declare (in ) uvec3 x@0x16b3c40)\n"
+ " (declare (in ) uvec3 y@0x16b3d50)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) uvec4 x@0x16b3f30)\n"
+ " (declare (in ) uvec4 y@0x16b4040)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec2\n"
+ " (parameters\n"
+ " (declare (in ) uvec2 x@0x16b4220)\n"
+ " (declare (in ) uint y@0x16b4330)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec3\n"
+ " (parameters\n"
+ " (declare (in ) uvec3 x@0x16b4510)\n"
+ " (declare (in ) uint y@0x16b4620)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) uvec4 x@0x16b4800)\n"
+ " (declare (in ) uint y@0x16b4910)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function max\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x16b4af0)\n"
+ " (declare (in ) float y@0x16b4c00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x16b4f80)\n"
+ " (declare (in ) vec2 y@0x16b5090)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x16b5270)\n"
+ " (declare (in ) vec3 y@0x16b5380)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x16b5560)\n"
+ " (declare (in ) vec4 y@0x16b5670)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x16b5850)\n"
+ " (declare (in ) float y@0x16b5960)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x16b5b40)\n"
+ " (declare (in ) float y@0x16b5c50)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x16b5e30)\n"
+ " (declare (in ) float y@0x16b5f40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature int\n"
+ " (parameters\n"
+ " (declare (in ) int x@0x16b6120)\n"
+ " (declare (in ) int y@0x16b6230)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x16b6410)\n"
+ " (declare (in ) ivec2 y@0x16b6520)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x16b6700)\n"
+ " (declare (in ) ivec3 y@0x16b6810)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x16b69f0)\n"
+ " (declare (in ) ivec4 y@0x16b6b00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x16b6ce0)\n"
+ " (declare (in ) int y@0x16b6df0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x16b6fd0)\n"
+ " (declare (in ) int y@0x16b70e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x16b72c0)\n"
+ " (declare (in ) int y@0x16b73d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uint\n"
+ " (parameters\n"
+ " (declare (in ) uint x@0x16b75b0)\n"
+ " (declare (in ) uint y@0x16b76c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec2\n"
+ " (parameters\n"
+ " (declare (in ) uvec2 x@0x16b78a0)\n"
+ " (declare (in ) uvec2 y@0x16b79b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec3\n"
+ " (parameters\n"
+ " (declare (in ) uvec3 x@0x16b7b90)\n"
+ " (declare (in ) uvec3 y@0x16b7ca0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) uvec4 x@0x16b7e80)\n"
+ " (declare (in ) uvec4 y@0x16b7f90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec2\n"
+ " (parameters\n"
+ " (declare (in ) uvec2 x@0x16b8170)\n"
+ " (declare (in ) uint y@0x16b8280)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec3\n"
+ " (parameters\n"
+ " (declare (in ) uvec3 x@0x16b8460)\n"
+ " (declare (in ) uint y@0x16b8570)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) uvec4 x@0x16b8750)\n"
+ " (declare (in ) uint y@0x16b8860)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function clamp\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x16b8a40)\n"
+ " (declare (in ) float minVal@0x16b8b50)\n"
+ " (declare (in ) float maxVal@0x16b8c60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x16b8fe0)\n"
+ " (declare (in ) vec2 minVal@0x16b90f0)\n"
+ " (declare (in ) vec2 maxVal@0x16b9200)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x16b93e0)\n"
+ " (declare (in ) vec3 minVal@0x16b94f0)\n"
+ " (declare (in ) vec3 maxVal@0x16b9600)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x16b97e0)\n"
+ " (declare (in ) vec4 minVal@0x16b98f0)\n"
+ " (declare (in ) vec4 maxVal@0x16b9a00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x16b9be0)\n"
+ " (declare (in ) float minVal@0x16b9cf0)\n"
+ " (declare (in ) float maxVal@0x16b9e00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x16b9fe0)\n"
+ " (declare (in ) float minVal@0x16ba0f0)\n"
+ " (declare (in ) float maxVal@0x16ba200)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x16ba3e0)\n"
+ " (declare (in ) float minVal@0x16ba4f0)\n"
+ " (declare (in ) float maxVal@0x16ba600)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature int\n"
+ " (parameters\n"
+ " (declare (in ) int x@0x16ba7e0)\n"
+ " (declare (in ) int minVal@0x16ba8f0)\n"
+ " (declare (in ) int maxVal@0x16baa00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x16babe0)\n"
+ " (declare (in ) ivec2 minVal@0x16bacf0)\n"
+ " (declare (in ) ivec2 maxVal@0x16bae00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x16bafe0)\n"
+ " (declare (in ) ivec3 minVal@0x16bb0f0)\n"
+ " (declare (in ) ivec3 maxVal@0x16bb200)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x16bb3e0)\n"
+ " (declare (in ) ivec4 minVal@0x16bb4f0)\n"
+ " (declare (in ) ivec4 maxVal@0x16bb600)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x16bb7e0)\n"
+ " (declare (in ) int minVal@0x16bb8f0)\n"
+ " (declare (in ) int maxVal@0x16bba00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x16bbbe0)\n"
+ " (declare (in ) int minVal@0x16bbcf0)\n"
+ " (declare (in ) int maxVal@0x16bbe00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x16bbfe0)\n"
+ " (declare (in ) int minVal@0x16bc0f0)\n"
+ " (declare (in ) int maxVal@0x16bc200)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uint\n"
+ " (parameters\n"
+ " (declare (in ) uint x@0x16bc3e0)\n"
+ " (declare (in ) uint minVal@0x16bc4f0)\n"
+ " (declare (in ) uint maxVal@0x16bc600)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec2\n"
+ " (parameters\n"
+ " (declare (in ) uvec2 x@0x16bc7e0)\n"
+ " (declare (in ) uvec2 minVal@0x16bc8f0)\n"
+ " (declare (in ) uvec2 maxVal@0x16bca00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec3\n"
+ " (parameters\n"
+ " (declare (in ) uvec3 x@0x16bcbe0)\n"
+ " (declare (in ) uvec3 minVal@0x16bccf0)\n"
+ " (declare (in ) uvec3 maxVal@0x16bce00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) uvec4 x@0x16bcfe0)\n"
+ " (declare (in ) uvec4 minVal@0x16bd0f0)\n"
+ " (declare (in ) uvec4 maxVal@0x16bd200)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec2\n"
+ " (parameters\n"
+ " (declare (in ) uvec2 x@0x16bd3e0)\n"
+ " (declare (in ) uint minVal@0x16bd4f0)\n"
+ " (declare (in ) uint maxVal@0x16bd600)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec3\n"
+ " (parameters\n"
+ " (declare (in ) uvec3 x@0x16bd7e0)\n"
+ " (declare (in ) uint minVal@0x16bd8f0)\n"
+ " (declare (in ) uint maxVal@0x16bda00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) uvec4 x@0x16bdbe0)\n"
+ " (declare (in ) uint minVal@0x16bdcf0)\n"
+ " (declare (in ) uint maxVal@0x16bde00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function mix\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x16bdfe0)\n"
+ " (declare (in ) float y@0x16be0f0)\n"
+ " (declare (in ) float a@0x16be200)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x16be580)\n"
+ " (declare (in ) vec2 y@0x16be690)\n"
+ " (declare (in ) vec2 a@0x16be7a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x16be980)\n"
+ " (declare (in ) vec3 y@0x16bea90)\n"
+ " (declare (in ) vec3 a@0x16beba0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x16bed80)\n"
+ " (declare (in ) vec4 y@0x16bee90)\n"
+ " (declare (in ) vec4 a@0x16befa0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x16bf180)\n"
+ " (declare (in ) vec2 y@0x16bf290)\n"
+ " (declare (in ) float a@0x16bf3a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x16bf580)\n"
+ " (declare (in ) vec3 y@0x16bf690)\n"
+ " (declare (in ) float a@0x16bf7a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x16bf980)\n"
+ " (declare (in ) vec4 y@0x16bfa90)\n"
+ " (declare (in ) float a@0x16bfba0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function step\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float edge@0x16bfd80)\n"
+ " (declare (in ) float x@0x16bfe90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 edge@0x16c0210)\n"
+ " (declare (in ) vec2 x@0x16c0320)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 edge@0x16c0500)\n"
+ " (declare (in ) vec3 x@0x16c0610)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 edge@0x16c07f0)\n"
+ " (declare (in ) vec4 x@0x16c0900)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) float edge@0x16c0ae0)\n"
+ " (declare (in ) vec2 x@0x16c0bf0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) float edge@0x16c0dd0)\n"
+ " (declare (in ) vec3 x@0x16c0ee0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) float edge@0x16c10c0)\n"
+ " (declare (in ) vec4 x@0x16c11d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function smoothstep\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float edge0@0x16c13b0)\n"
+ " (declare (in ) float edge1@0x16c14c0)\n"
+ " (declare (in ) float x@0x16c15d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 edge0@0x16c1960)\n"
+ " (declare (in ) vec2 edge1@0x16c1a70)\n"
+ " (declare (in ) vec2 x@0x16c1b80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 edge0@0x16c1d60)\n"
+ " (declare (in ) vec3 edge1@0x16c1e70)\n"
+ " (declare (in ) vec3 x@0x16c1f80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 edge0@0x16c2160)\n"
+ " (declare (in ) vec4 edge1@0x16c2270)\n"
+ " (declare (in ) vec4 x@0x16c2380)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) float edge0@0x16c2560)\n"
+ " (declare (in ) float edge1@0x16c2670)\n"
+ " (declare (in ) vec2 x@0x16c2780)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) float edge0@0x16c2960)\n"
+ " (declare (in ) float edge1@0x16c2a70)\n"
+ " (declare (in ) vec3 x@0x16c2b80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) float edge0@0x16c2d60)\n"
+ " (declare (in ) float edge1@0x16c2e70)\n"
+ " (declare (in ) vec4 x@0x16c2f80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function length\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x16c3160)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x16c34e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x16c36c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x16c38a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function distance\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float p0@0x16c3a80)\n"
+ " (declare (in ) float p1@0x16c3b90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec2 p0@0x16c3f20)\n"
+ " (declare (in ) vec2 p1@0x16c4030)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec3 p0@0x16c4210)\n"
+ " (declare (in ) vec3 p1@0x16c4320)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec4 p0@0x16c4500)\n"
+ " (declare (in ) vec4 p1@0x16c4610)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function dot\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x16c47f0)\n"
+ " (declare (in ) float y@0x16c4900)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x16c4c80)\n"
+ " (declare (in ) vec2 y@0x16c4d90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x16c4f70)\n"
+ " (declare (in ) vec3 y@0x16c5080)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x16c5260)\n"
+ " (declare (in ) vec4 y@0x16c5370)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function cross\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x16c5550)\n"
+ " (declare (in ) vec3 y@0x16c5660)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function normalize\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x16c59e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x16c5d70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x16c5f50)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x16c6130)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function ftransform\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function faceforward\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float N@0x16c6590)\n"
+ " (declare (in ) float I@0x16c66a0)\n"
+ " (declare (in ) float Nref@0x16c67b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 N@0x16c6b40)\n"
+ " (declare (in ) vec2 I@0x16c6c50)\n"
+ " (declare (in ) vec2 Nref@0x16c6d60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 N@0x16c6f40)\n"
+ " (declare (in ) vec3 I@0x16c7050)\n"
+ " (declare (in ) vec3 Nref@0x16c7160)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 N@0x16c7340)\n"
+ " (declare (in ) vec4 I@0x16c7450)\n"
+ " (declare (in ) vec4 Nref@0x16c7560)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function reflect\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float I@0x16c7740)\n"
+ " (declare (in ) float N@0x16c7850)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 I@0x16c7bd0)\n"
+ " (declare (in ) vec2 N@0x16c7ce0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 I@0x16c7ec0)\n"
+ " (declare (in ) vec3 N@0x16c7fd0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 I@0x16c81b0)\n"
+ " (declare (in ) vec4 N@0x16c82c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function refract\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float I@0x16c84a0)\n"
+ " (declare (in ) float N@0x16c85b0)\n"
+ " (declare (in ) float eta@0x16c86c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 I@0x16c8a40)\n"
+ " (declare (in ) vec2 N@0x16c8b50)\n"
+ " (declare (in ) float eta@0x16c8c60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 I@0x16c8e40)\n"
+ " (declare (in ) vec3 N@0x16c8f50)\n"
+ " (declare (in ) float eta@0x16c9060)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 I@0x16c9240)\n"
+ " (declare (in ) vec4 N@0x16c9350)\n"
+ " (declare (in ) float eta@0x16c9460)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function matrixCompMult\n"
+ " (signature mat2\n"
+ " (parameters\n"
+ " (declare (in ) mat2 x@0x16c9640)\n"
+ " (declare (in ) mat2 y@0x16c9750)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat3\n"
+ " (parameters\n"
+ " (declare (in ) mat3 x@0x16c9ae0)\n"
+ " (declare (in ) mat3 y@0x16c9bf0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat4\n"
+ " (parameters\n"
+ " (declare (in ) mat4 x@0x16c9dd0)\n"
+ " (declare (in ) mat4 y@0x16c9ee0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat2x3\n"
+ " (parameters\n"
+ " (declare (in ) mat2x3 x@0x16ca0c0)\n"
+ " (declare (in ) mat2x3 y@0x16ca1d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat2x4\n"
+ " (parameters\n"
+ " (declare (in ) mat2x4 x@0x16ca3b0)\n"
+ " (declare (in ) mat2x4 y@0x16ca4c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat3x2\n"
+ " (parameters\n"
+ " (declare (in ) mat3x2 x@0x16ca6a0)\n"
+ " (declare (in ) mat3x2 y@0x16ca7b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat3x4\n"
+ " (parameters\n"
+ " (declare (in ) mat3x4 x@0x16ca990)\n"
+ " (declare (in ) mat3x4 y@0x16caaa0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat4x2\n"
+ " (parameters\n"
+ " (declare (in ) mat4x2 x@0x16cac80)\n"
+ " (declare (in ) mat4x2 y@0x16cad90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat4x3\n"
+ " (parameters\n"
+ " (declare (in ) mat4x3 x@0x16caf70)\n"
+ " (declare (in ) mat4x3 y@0x16cb080)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function outerProduct\n"
+ " (signature mat2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 c@0x16cb260)\n"
+ " (declare (in ) vec2 r@0x16cb370)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 c@0x16cb700)\n"
+ " (declare (in ) vec3 r@0x16cb810)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 c@0x16cb9f0)\n"
+ " (declare (in ) vec4 r@0x16cbb00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat2x3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 c@0x16cbce0)\n"
+ " (declare (in ) vec2 r@0x16cbdf0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat3x2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 c@0x16cbfd0)\n"
+ " (declare (in ) vec3 r@0x16cc0e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat2x4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 c@0x16cc2c0)\n"
+ " (declare (in ) vec2 r@0x16cc3d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat4x2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 c@0x16cc5b0)\n"
+ " (declare (in ) vec4 r@0x16cc6c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat3x4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 c@0x16cc8a0)\n"
+ " (declare (in ) vec3 r@0x16cc9b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat4x3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 c@0x16ccb90)\n"
+ " (declare (in ) vec4 r@0x16ccca0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function transpose\n"
+ " (signature mat2\n"
+ " (parameters\n"
+ " (declare (in ) mat2 m@0x16cce80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat3\n"
+ " (parameters\n"
+ " (declare (in ) mat3 m@0x16cd210)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat4\n"
+ " (parameters\n"
+ " (declare (in ) mat4 m@0x16cd3f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat2x3\n"
+ " (parameters\n"
+ " (declare (in ) mat3x2 m@0x16cd5d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat3x2\n"
+ " (parameters\n"
+ " (declare (in ) mat2x3 m@0x16cd7b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat2x4\n"
+ " (parameters\n"
+ " (declare (in ) mat4x2 m@0x16cd990)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat4x2\n"
+ " (parameters\n"
+ " (declare (in ) mat2x4 m@0x16cdb70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat3x4\n"
+ " (parameters\n"
+ " (declare (in ) mat4x3 m@0x16cdd50)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat4x3\n"
+ " (parameters\n"
+ " (declare (in ) mat3x4 m@0x16cdf30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function lessThan\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x16ce110)\n"
+ " (declare (in ) vec2 y@0x16ce220)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x16ce5b0)\n"
+ " (declare (in ) vec3 y@0x16ce6c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x16ce8a0)\n"
+ " (declare (in ) vec4 y@0x16ce9b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x16ceb90)\n"
+ " (declare (in ) ivec2 y@0x16ceca0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x16cee80)\n"
+ " (declare (in ) ivec3 y@0x16cef90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x16cf170)\n"
+ " (declare (in ) ivec4 y@0x16cf280)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) uvec2 x@0x16cf460)\n"
+ " (declare (in ) uvec2 y@0x16cf570)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) uvec3 x@0x16cf750)\n"
+ " (declare (in ) uvec3 y@0x16cf860)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) uvec4 x@0x16cfa40)\n"
+ " (declare (in ) uvec4 y@0x16cfb50)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function lessThanEqual\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x16cfd30)\n"
+ " (declare (in ) vec2 y@0x16cfe40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x16d01d0)\n"
+ " (declare (in ) vec3 y@0x16d02e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x16d04c0)\n"
+ " (declare (in ) vec4 y@0x16d05d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x16d07b0)\n"
+ " (declare (in ) ivec2 y@0x16d08c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x16d0aa0)\n"
+ " (declare (in ) ivec3 y@0x16d0bb0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x16d0d90)\n"
+ " (declare (in ) ivec4 y@0x16d0ea0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) uvec2 x@0x16d1080)\n"
+ " (declare (in ) uvec2 y@0x16d1190)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) uvec3 x@0x16d1370)\n"
+ " (declare (in ) uvec3 y@0x16d1480)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) uvec4 x@0x16d1660)\n"
+ " (declare (in ) uvec4 y@0x16d1770)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function greaterThan\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x16d1950)\n"
+ " (declare (in ) vec2 y@0x16d1a60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x16d1df0)\n"
+ " (declare (in ) vec3 y@0x16d1f00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x16d20e0)\n"
+ " (declare (in ) vec4 y@0x16d21f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x16d23d0)\n"
+ " (declare (in ) ivec2 y@0x16d24e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x16d26c0)\n"
+ " (declare (in ) ivec3 y@0x16d27d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x16d29b0)\n"
+ " (declare (in ) ivec4 y@0x16d2ac0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) uvec2 x@0x16d2ca0)\n"
+ " (declare (in ) uvec2 y@0x16d2db0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) uvec3 x@0x16d2f90)\n"
+ " (declare (in ) uvec3 y@0x16d30a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) uvec4 x@0x16d3280)\n"
+ " (declare (in ) uvec4 y@0x16d3390)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function greaterThanEqual\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x16d3570)\n"
+ " (declare (in ) vec2 y@0x16d3680)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x16d3a10)\n"
+ " (declare (in ) vec3 y@0x16d3b20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x16d3d00)\n"
+ " (declare (in ) vec4 y@0x16d3e10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x16d3ff0)\n"
+ " (declare (in ) ivec2 y@0x16d4100)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x16d42e0)\n"
+ " (declare (in ) ivec3 y@0x16d43f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x16d45d0)\n"
+ " (declare (in ) ivec4 y@0x16d46e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) uvec2 x@0x16d48c0)\n"
+ " (declare (in ) uvec2 y@0x16d49d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) uvec3 x@0x16d4bb0)\n"
+ " (declare (in ) uvec3 y@0x16d4cc0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) uvec4 x@0x16d4ea0)\n"
+ " (declare (in ) uvec4 y@0x16d4fb0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function equal\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x16d5190)\n"
+ " (declare (in ) vec2 y@0x16d52a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x16d5620)\n"
+ " (declare (in ) vec3 y@0x16d5730)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x16d5910)\n"
+ " (declare (in ) vec4 y@0x16d5a20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x16d5c00)\n"
+ " (declare (in ) ivec2 y@0x16d5d10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x16d5ef0)\n"
+ " (declare (in ) ivec3 y@0x16d6000)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x16d61e0)\n"
+ " (declare (in ) ivec4 y@0x16d62f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) uvec2 x@0x16d64d0)\n"
+ " (declare (in ) uvec2 y@0x16d65e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) uvec3 x@0x16d67c0)\n"
+ " (declare (in ) uvec3 y@0x16d68d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) uvec4 x@0x16d6ab0)\n"
+ " (declare (in ) uvec4 y@0x16d6bc0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) bvec2 x@0x16d6da0)\n"
+ " (declare (in ) bvec2 y@0x16d6eb0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) bvec3 x@0x16d7090)\n"
+ " (declare (in ) bvec3 y@0x16d71a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) bvec4 x@0x16d7380)\n"
+ " (declare (in ) bvec4 y@0x16d7490)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function notEqual\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x16d7670)\n"
+ " (declare (in ) vec2 y@0x16d7780)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x16d7b10)\n"
+ " (declare (in ) vec3 y@0x16d7c20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x16d7e00)\n"
+ " (declare (in ) vec4 y@0x16d7f10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0x16d80f0)\n"
+ " (declare (in ) ivec2 y@0x16d8200)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0x16d83e0)\n"
+ " (declare (in ) ivec3 y@0x16d84f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0x16d86d0)\n"
+ " (declare (in ) ivec4 y@0x16d87e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) uvec2 x@0x16d89c0)\n"
+ " (declare (in ) uvec2 y@0x16d8ad0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) uvec3 x@0x16d8cb0)\n"
+ " (declare (in ) uvec3 y@0x16d8dc0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) uvec4 x@0x16d8fa0)\n"
+ " (declare (in ) uvec4 y@0x16d90b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) bvec2 x@0x16d9290)\n"
+ " (declare (in ) bvec2 y@0x16d93a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) bvec3 x@0x16d9580)\n"
+ " (declare (in ) bvec3 y@0x16d9690)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) bvec4 x@0x16d9870)\n"
+ " (declare (in ) bvec4 y@0x16d9980)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function any\n"
+ " (signature bool\n"
+ " (parameters\n"
+ " (declare (in ) bvec2 x@0x16d9b60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bool\n"
+ " (parameters\n"
+ " (declare (in ) bvec3 x@0x16d9ee0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bool\n"
+ " (parameters\n"
+ " (declare (in ) bvec4 x@0x16da0c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function all\n"
+ " (signature bool\n"
+ " (parameters\n"
+ " (declare (in ) bvec2 x@0x16da2a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bool\n"
+ " (parameters\n"
+ " (declare (in ) bvec3 x@0x16da620)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bool\n"
+ " (parameters\n"
+ " (declare (in ) bvec4 x@0x16da800)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function not\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) bvec2 x@0x16da9e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) bvec3 x@0x16dad60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) bvec4 x@0x16daf40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x16db120)\n"
+ " (declare (in ) float P@0x16db230)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler1D sampler@0x16db5b0)\n"
+ " (declare (in ) float P@0x16db6c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler1D sampler@0x16db8a0)\n"
+ " (declare (in ) float P@0x16db9b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x16dbb90)\n"
+ " (declare (in ) vec2 P@0x16dbca0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler2D sampler@0x16dbe80)\n"
+ " (declare (in ) vec2 P@0x16dbf90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler2D sampler@0x16dc170)\n"
+ " (declare (in ) vec2 P@0x16dc280)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0x16dc460)\n"
+ " (declare (in ) vec3 P@0x16dc570)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler3D sampler@0x16dc750)\n"
+ " (declare (in ) vec3 P@0x16dc860)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler3D sampler@0x16dca40)\n"
+ " (declare (in ) vec3 P@0x16dcb50)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) samplerCube sampler@0x16dcd30)\n"
+ " (declare (in ) vec3 P@0x16dce40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isamplerCube sampler@0x16dd020)\n"
+ " (declare (in ) vec3 P@0x16dd130)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usamplerCube sampler@0x16dd310)\n"
+ " (declare (in ) vec3 P@0x16dd420)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0x16dd600)\n"
+ " (declare (in ) vec3 P@0x16dd710)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0x16dd8f0)\n"
+ " (declare (in ) vec3 P@0x16dda00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) samplerCubeShadow sampler@0x16ddbe0)\n"
+ " (declare (in ) vec4 P@0x16ddcf0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DArray sampler@0x16dded0)\n"
+ " (declare (in ) vec2 P@0x16ddfe0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler1DArray sampler@0x16de1c0)\n"
+ " (declare (in ) vec2 P@0x16de2d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler1DArray sampler@0x16de4b0)\n"
+ " (declare (in ) vec2 P@0x16de5c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DArray sampler@0x16de7a0)\n"
+ " (declare (in ) vec3 P@0x16de8b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler2DArray sampler@0x16dea90)\n"
+ " (declare (in ) vec3 P@0x16deba0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler2DArray sampler@0x16ded80)\n"
+ " (declare (in ) vec3 P@0x16dee90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DArrayShadow sampler@0x16df070)\n"
+ " (declare (in ) vec3 P@0x16df180)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DArrayShadow sampler@0x16df360)\n"
+ " (declare (in ) vec4 P@0x16df470)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x16df650)\n"
+ " (declare (in ) float P@0x16df760)\n"
+ " (declare (in ) float bias@0x16df870)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler1D sampler@0x16dfa50)\n"
+ " (declare (in ) float P@0x16dfb60)\n"
+ " (declare (in ) float bias@0x16dfc70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler1D sampler@0x16dfe50)\n"
+ " (declare (in ) float P@0x16dff60)\n"
+ " (declare (in ) float bias@0x16e0070)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x16e0250)\n"
+ " (declare (in ) vec2 P@0x16e0360)\n"
+ " (declare (in ) float bias@0x16e0470)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler2D sampler@0x16e0650)\n"
+ " (declare (in ) vec2 P@0x16e0760)\n"
+ " (declare (in ) float bias@0x16e0870)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler2D sampler@0x16e0a50)\n"
+ " (declare (in ) vec2 P@0x16e0b60)\n"
+ " (declare (in ) float bias@0x16e0c70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0x16e0e50)\n"
+ " (declare (in ) vec3 P@0x16e0f60)\n"
+ " (declare (in ) float bias@0x16e1070)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler3D sampler@0x16e1250)\n"
+ " (declare (in ) vec3 P@0x16e1360)\n"
+ " (declare (in ) float bias@0x16e1470)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler3D sampler@0x16e1650)\n"
+ " (declare (in ) vec3 P@0x16e1760)\n"
+ " (declare (in ) float bias@0x16e1870)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) samplerCube sampler@0x16e1a50)\n"
+ " (declare (in ) vec3 P@0x16e1b60)\n"
+ " (declare (in ) float bias@0x16e1c70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isamplerCube sampler@0x16e1e50)\n"
+ " (declare (in ) vec3 P@0x16e1f60)\n"
+ " (declare (in ) float bias@0x16e2070)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usamplerCube sampler@0x16e2250)\n"
+ " (declare (in ) vec3 P@0x16e2360)\n"
+ " (declare (in ) float bias@0x16e2470)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0x16e2650)\n"
+ " (declare (in ) vec3 P@0x16e2760)\n"
+ " (declare (in ) float bias@0x16e2870)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0x16e2a50)\n"
+ " (declare (in ) vec3 P@0x16e2b60)\n"
+ " (declare (in ) float bias@0x16e2c70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) samplerCubeShadow sampler@0x16e2e50)\n"
+ " (declare (in ) vec4 P@0x16e2f60)\n"
+ " (declare (in ) float bias@0x16e3070)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DArray sampler@0x16e3250)\n"
+ " (declare (in ) vec2 P@0x16e3360)\n"
+ " (declare (in ) float bias@0x16e3470)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler1DArray sampler@0x16e3650)\n"
+ " (declare (in ) vec2 P@0x16e3760)\n"
+ " (declare (in ) float bias@0x16e3870)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler1DArray sampler@0x16e3a50)\n"
+ " (declare (in ) vec2 P@0x16e3b60)\n"
+ " (declare (in ) float bias@0x16e3c70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DArray sampler@0x16e3e50)\n"
+ " (declare (in ) vec3 P@0x16e3f60)\n"
+ " (declare (in ) float bias@0x16e4070)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler2DArray sampler@0x16e4250)\n"
+ " (declare (in ) vec3 P@0x16e4360)\n"
+ " (declare (in ) float bias@0x16e4470)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler2DArray sampler@0x16e4650)\n"
+ " (declare (in ) vec3 P@0x16e4760)\n"
+ " (declare (in ) float bias@0x16e4870)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DArrayShadow sampler@0x16e4a50)\n"
+ " (declare (in ) vec3 P@0x16e4b60)\n"
+ " (declare (in ) float bias@0x16e4c70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function textureProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x16e4e50)\n"
+ " (declare (in ) vec2 P@0x16e4f60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler1D sampler@0x16e52f0)\n"
+ " (declare (in ) vec2 P@0x16e5400)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler1D sampler@0x16e55e0)\n"
+ " (declare (in ) vec2 P@0x16e56f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x16e58d0)\n"
+ " (declare (in ) vec4 P@0x16e59e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler1D sampler@0x16e5bc0)\n"
+ " (declare (in ) vec4 P@0x16e5cd0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler1D sampler@0x16e5eb0)\n"
+ " (declare (in ) vec4 P@0x16e5fc0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x16e61a0)\n"
+ " (declare (in ) vec3 P@0x16e62b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler2D sampler@0x16e6490)\n"
+ " (declare (in ) vec3 P@0x16e65a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler2D sampler@0x16e6780)\n"
+ " (declare (in ) vec3 P@0x16e6890)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x16e6a70)\n"
+ " (declare (in ) vec4 P@0x16e6b80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler2D sampler@0x16e6d60)\n"
+ " (declare (in ) vec4 P@0x16e6e70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler2D sampler@0x16e7050)\n"
+ " (declare (in ) vec4 P@0x16e7160)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0x16e7340)\n"
+ " (declare (in ) vec4 P@0x16e7450)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler3D sampler@0x16e7630)\n"
+ " (declare (in ) vec4 P@0x16e7740)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler3D sampler@0x16e7920)\n"
+ " (declare (in ) vec4 P@0x16e7a30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0x16e7c10)\n"
+ " (declare (in ) vec4 P@0x16e7d20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0x16e7f00)\n"
+ " (declare (in ) vec4 P@0x16e8010)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x16e81f0)\n"
+ " (declare (in ) vec2 P@0x16e8300)\n"
+ " (declare (in ) float bias@0x16e8410)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler1D sampler@0x16e85f0)\n"
+ " (declare (in ) vec2 P@0x16e8700)\n"
+ " (declare (in ) float bias@0x16e8810)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler1D sampler@0x16e89f0)\n"
+ " (declare (in ) vec2 P@0x16e8b00)\n"
+ " (declare (in ) float bias@0x16e8c10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x16e8df0)\n"
+ " (declare (in ) vec4 P@0x16e8f00)\n"
+ " (declare (in ) float bias@0x16e9010)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler1D sampler@0x16e91f0)\n"
+ " (declare (in ) vec4 P@0x16e9300)\n"
+ " (declare (in ) float bias@0x16e9410)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler1D sampler@0x16e95f0)\n"
+ " (declare (in ) vec4 P@0x16e9700)\n"
+ " (declare (in ) float bias@0x16e9810)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x16e99f0)\n"
+ " (declare (in ) vec3 P@0x16e9b00)\n"
+ " (declare (in ) float bias@0x16e9c10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler2D sampler@0x16e9df0)\n"
+ " (declare (in ) vec3 P@0x16e9f00)\n"
+ " (declare (in ) float bias@0x16ea010)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler2D sampler@0x16ea1f0)\n"
+ " (declare (in ) vec3 P@0x16ea300)\n"
+ " (declare (in ) float bias@0x16ea410)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x16ea5f0)\n"
+ " (declare (in ) vec4 P@0x16ea700)\n"
+ " (declare (in ) float bias@0x16ea810)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler2D sampler@0x16ea9f0)\n"
+ " (declare (in ) vec4 P@0x16eab00)\n"
+ " (declare (in ) float bias@0x16eac10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler2D sampler@0x16eadf0)\n"
+ " (declare (in ) vec4 P@0x16eaf00)\n"
+ " (declare (in ) float bias@0x16eb010)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0x16eb1f0)\n"
+ " (declare (in ) vec4 P@0x16eb300)\n"
+ " (declare (in ) float bias@0x16eb410)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler3D sampler@0x16eb5f0)\n"
+ " (declare (in ) vec4 P@0x16eb700)\n"
+ " (declare (in ) float bias@0x16eb810)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler3D sampler@0x16eb9f0)\n"
+ " (declare (in ) vec4 P@0x16ebb00)\n"
+ " (declare (in ) float bias@0x16ebc10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0x16ebdf0)\n"
+ " (declare (in ) vec4 P@0x16ebf00)\n"
+ " (declare (in ) float bias@0x16ec010)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0x16ec1f0)\n"
+ " (declare (in ) vec4 P@0x16ec300)\n"
+ " (declare (in ) float bias@0x16ec410)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function textureLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x16ec5f0)\n"
+ " (declare (in ) float P@0x16ec700)\n"
+ " (declare (in ) float lod@0x16ec810)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler1D sampler@0x16ecba0)\n"
+ " (declare (in ) float P@0x16eccb0)\n"
+ " (declare (in ) float lod@0x16ecdc0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler1D sampler@0x16ecfa0)\n"
+ " (declare (in ) float P@0x16ed0b0)\n"
+ " (declare (in ) float lod@0x16ed1c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x16ed3a0)\n"
+ " (declare (in ) vec2 P@0x16ed4b0)\n"
+ " (declare (in ) float lod@0x16ed5c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler2D sampler@0x16ed7a0)\n"
+ " (declare (in ) vec2 P@0x16ed8b0)\n"
+ " (declare (in ) float lod@0x16ed9c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler2D sampler@0x16edba0)\n"
+ " (declare (in ) vec2 P@0x16edcb0)\n"
+ " (declare (in ) float lod@0x16eddc0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0x16edfa0)\n"
+ " (declare (in ) vec3 P@0x16ee0b0)\n"
+ " (declare (in ) float lod@0x16ee1c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler3D sampler@0x16ee3a0)\n"
+ " (declare (in ) vec3 P@0x16ee4b0)\n"
+ " (declare (in ) float lod@0x16ee5c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler3D sampler@0x16ee7a0)\n"
+ " (declare (in ) vec3 P@0x16ee8b0)\n"
+ " (declare (in ) float lod@0x16ee9c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) samplerCube sampler@0x16eeba0)\n"
+ " (declare (in ) vec3 P@0x16eecb0)\n"
+ " (declare (in ) float lod@0x16eedc0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isamplerCube sampler@0x16eefa0)\n"
+ " (declare (in ) vec3 P@0x16ef0b0)\n"
+ " (declare (in ) float lod@0x16ef1c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usamplerCube sampler@0x16ef3a0)\n"
+ " (declare (in ) vec3 P@0x16ef4b0)\n"
+ " (declare (in ) float lod@0x16ef5c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0x16ef7a0)\n"
+ " (declare (in ) vec3 P@0x16ef8b0)\n"
+ " (declare (in ) float lod@0x16ef9c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0x16efba0)\n"
+ " (declare (in ) vec3 P@0x16efcb0)\n"
+ " (declare (in ) float lod@0x16efdc0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DArray sampler@0x16effa0)\n"
+ " (declare (in ) vec2 P@0x16f00b0)\n"
+ " (declare (in ) float lod@0x16f01c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler1DArray sampler@0x16f03a0)\n"
+ " (declare (in ) vec2 P@0x16f04b0)\n"
+ " (declare (in ) float lod@0x16f05c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler1DArray sampler@0x16f07a0)\n"
+ " (declare (in ) vec2 P@0x16f08b0)\n"
+ " (declare (in ) float lod@0x16f09c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DArray sampler@0x16f0ba0)\n"
+ " (declare (in ) vec3 P@0x16f0cb0)\n"
+ " (declare (in ) float lod@0x16f0dc0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler2DArray sampler@0x16f0fa0)\n"
+ " (declare (in ) vec3 P@0x16f10b0)\n"
+ " (declare (in ) float lod@0x16f11c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler2DArray sampler@0x16f13a0)\n"
+ " (declare (in ) vec3 P@0x16f14b0)\n"
+ " (declare (in ) float lod@0x16f15c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DArrayShadow sampler@0x16f17a0)\n"
+ " (declare (in ) vec3 P@0x16f18b0)\n"
+ " (declare (in ) float lod@0x16f19c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texelFetch\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x16f1ba0)\n"
+ " (declare (in ) int P@0x16f1cb0)\n"
+ " (declare (in ) int lod@0x16f1dc0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler1D sampler@0x16f2150)\n"
+ " (declare (in ) int P@0x16f2260)\n"
+ " (declare (in ) int lod@0x16f2370)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler1D sampler@0x16f2550)\n"
+ " (declare (in ) int P@0x16f2660)\n"
+ " (declare (in ) int lod@0x16f2770)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x16f2950)\n"
+ " (declare (in ) ivec2 P@0x16f2a60)\n"
+ " (declare (in ) int lod@0x16f2b70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler2D sampler@0x16f2d50)\n"
+ " (declare (in ) ivec2 P@0x16f2e60)\n"
+ " (declare (in ) int lod@0x16f2f70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler2D sampler@0x16f3150)\n"
+ " (declare (in ) ivec2 P@0x16f3260)\n"
+ " (declare (in ) int lod@0x16f3370)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0x16f3550)\n"
+ " (declare (in ) ivec3 P@0x16f3660)\n"
+ " (declare (in ) int lod@0x16f3770)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler3D sampler@0x16f3950)\n"
+ " (declare (in ) ivec3 P@0x16f3a60)\n"
+ " (declare (in ) int lod@0x16f3b70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler3D sampler@0x16f3d50)\n"
+ " (declare (in ) ivec3 P@0x16f3e60)\n"
+ " (declare (in ) int lod@0x16f3f70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DArray sampler@0x16f4150)\n"
+ " (declare (in ) ivec2 P@0x16f4260)\n"
+ " (declare (in ) int lod@0x16f4370)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler1DArray sampler@0x16f4550)\n"
+ " (declare (in ) ivec2 P@0x16f4660)\n"
+ " (declare (in ) int lod@0x16f4770)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler1DArray sampler@0x16f4950)\n"
+ " (declare (in ) ivec2 P@0x16f4a60)\n"
+ " (declare (in ) int lod@0x16f4b70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DArray sampler@0x16f4d50)\n"
+ " (declare (in ) ivec3 P@0x16f4e60)\n"
+ " (declare (in ) int lod@0x16f4f70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler2DArray sampler@0x16f5150)\n"
+ " (declare (in ) ivec3 P@0x16f5260)\n"
+ " (declare (in ) int lod@0x16f5370)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler2DArray sampler@0x16f5550)\n"
+ " (declare (in ) ivec3 P@0x16f5660)\n"
+ " (declare (in ) int lod@0x16f5770)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function textureProjLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x16f5950)\n"
+ " (declare (in ) vec2 P@0x16f5a60)\n"
+ " (declare (in ) float lod@0x16f5b70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler1D sampler@0x16f5f00)\n"
+ " (declare (in ) vec2 P@0x16f6010)\n"
+ " (declare (in ) float lod@0x16f6120)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler1D sampler@0x16f6300)\n"
+ " (declare (in ) vec2 P@0x16f6410)\n"
+ " (declare (in ) float lod@0x16f6520)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x16f6700)\n"
+ " (declare (in ) vec4 P@0x16f6810)\n"
+ " (declare (in ) float lod@0x16f6920)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler1D sampler@0x16f6b00)\n"
+ " (declare (in ) vec4 P@0x16f6c10)\n"
+ " (declare (in ) float lod@0x16f6d20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler1D sampler@0x16f6f00)\n"
+ " (declare (in ) vec4 P@0x16f7010)\n"
+ " (declare (in ) float lod@0x16f7120)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x16f7300)\n"
+ " (declare (in ) vec3 P@0x16f7410)\n"
+ " (declare (in ) float lod@0x16f7520)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler2D sampler@0x16f7700)\n"
+ " (declare (in ) vec3 P@0x16f7810)\n"
+ " (declare (in ) float lod@0x16f7920)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler2D sampler@0x16f7b00)\n"
+ " (declare (in ) vec3 P@0x16f7c10)\n"
+ " (declare (in ) float lod@0x16f7d20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x16f7f00)\n"
+ " (declare (in ) vec4 P@0x16f8010)\n"
+ " (declare (in ) float lod@0x16f8120)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler2D sampler@0x16f8300)\n"
+ " (declare (in ) vec4 P@0x16f8410)\n"
+ " (declare (in ) float lod@0x16f8520)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler2D sampler@0x16f8700)\n"
+ " (declare (in ) vec4 P@0x16f8810)\n"
+ " (declare (in ) float lod@0x16f8920)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0x16f8b00)\n"
+ " (declare (in ) vec4 P@0x16f8c10)\n"
+ " (declare (in ) float lod@0x16f8d20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler3D sampler@0x16f8f00)\n"
+ " (declare (in ) vec4 P@0x16f9010)\n"
+ " (declare (in ) float lod@0x16f9120)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler3D sampler@0x16f9300)\n"
+ " (declare (in ) vec4 P@0x16f9410)\n"
+ " (declare (in ) float lod@0x16f9520)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0x16f9700)\n"
+ " (declare (in ) vec4 P@0x16f9810)\n"
+ " (declare (in ) float lod@0x16f9920)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0x16f9b00)\n"
+ " (declare (in ) vec4 P@0x16f9c10)\n"
+ " (declare (in ) float lod@0x16f9d20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function textureGrad\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x16f9f00)\n"
+ " (declare (in ) float P@0x16fa010)\n"
+ " (declare (in ) float dPdx@0x16fa120)\n"
+ " (declare (in ) float dPdy@0x16fa230)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler1D sampler@0x16fa5c0)\n"
+ " (declare (in ) float P@0x16fa6d0)\n"
+ " (declare (in ) float dPdx@0x16fa7e0)\n"
+ " (declare (in ) float dPdy@0x16fa8f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler1D sampler@0x16faad0)\n"
+ " (declare (in ) float P@0x16fabe0)\n"
+ " (declare (in ) float dPdx@0x16facf0)\n"
+ " (declare (in ) float dPdy@0x16fae00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x16fafe0)\n"
+ " (declare (in ) vec2 P@0x16fb0f0)\n"
+ " (declare (in ) vec2 dPdx@0x16fb200)\n"
+ " (declare (in ) vec2 dPdy@0x16fb310)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler2D sampler@0x16fb4f0)\n"
+ " (declare (in ) vec2 P@0x16fb600)\n"
+ " (declare (in ) vec2 dPdx@0x16fb710)\n"
+ " (declare (in ) vec2 dPdy@0x16fb820)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler2D sampler@0x16fba00)\n"
+ " (declare (in ) vec2 P@0x16fbb10)\n"
+ " (declare (in ) vec2 dPdx@0x16fbc20)\n"
+ " (declare (in ) vec2 dPdy@0x16fbd30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0x16fbf10)\n"
+ " (declare (in ) vec3 P@0x16fc020)\n"
+ " (declare (in ) vec3 dPdx@0x16fc130)\n"
+ " (declare (in ) vec3 dPdy@0x16fc240)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler3D sampler@0x16fc420)\n"
+ " (declare (in ) vec3 P@0x16fc530)\n"
+ " (declare (in ) vec3 dPdx@0x16fc640)\n"
+ " (declare (in ) vec3 dPdy@0x16fc750)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler3D sampler@0x16fc930)\n"
+ " (declare (in ) vec3 P@0x16fca40)\n"
+ " (declare (in ) vec3 dPdx@0x16fcb50)\n"
+ " (declare (in ) vec3 dPdy@0x16fcc60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) samplerCube sampler@0x16fce40)\n"
+ " (declare (in ) vec3 P@0x16fcf50)\n"
+ " (declare (in ) vec3 dPdx@0x16fd060)\n"
+ " (declare (in ) vec3 dPdy@0x16fd170)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isamplerCube sampler@0x16fd350)\n"
+ " (declare (in ) vec3 P@0x16fd460)\n"
+ " (declare (in ) vec3 dPdx@0x16fd570)\n"
+ " (declare (in ) vec3 dPdy@0x16fd680)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usamplerCube sampler@0x16fd860)\n"
+ " (declare (in ) vec3 P@0x16fd970)\n"
+ " (declare (in ) vec3 dPdx@0x16fda80)\n"
+ " (declare (in ) vec3 dPdy@0x16fdb90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0x16fdd70)\n"
+ " (declare (in ) vec3 P@0x16fde80)\n"
+ " (declare (in ) float dPdx@0x16fdf90)\n"
+ " (declare (in ) float dPdy@0x16fe0a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0x16fe280)\n"
+ " (declare (in ) vec3 P@0x16fe390)\n"
+ " (declare (in ) vec2 dPdx@0x16fe4a0)\n"
+ " (declare (in ) vec2 dPdy@0x16fe5b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) samplerCubeShadow sampler@0x16fe790)\n"
+ " (declare (in ) vec4 P@0x16fe8a0)\n"
+ " (declare (in ) vec3 dPdx@0x16fe9b0)\n"
+ " (declare (in ) vec3 dPdy@0x16feac0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DArray sampler@0x16feca0)\n"
+ " (declare (in ) vec2 P@0x16fedb0)\n"
+ " (declare (in ) float dPdx@0x16feec0)\n"
+ " (declare (in ) float dPdy@0x16fefd0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler1DArray sampler@0x16ff1b0)\n"
+ " (declare (in ) vec2 P@0x16ff2c0)\n"
+ " (declare (in ) float dPdx@0x16ff3d0)\n"
+ " (declare (in ) float dPdy@0x16ff4e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler1DArray sampler@0x16ff6c0)\n"
+ " (declare (in ) vec2 P@0x16ff7d0)\n"
+ " (declare (in ) float dPdx@0x16ff8e0)\n"
+ " (declare (in ) float dPdy@0x16ff9f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DArray sampler@0x16ffbd0)\n"
+ " (declare (in ) vec3 P@0x16ffce0)\n"
+ " (declare (in ) vec2 dPdx@0x16ffdf0)\n"
+ " (declare (in ) vec2 dPdy@0x16fff00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler2DArray sampler@0x17000e0)\n"
+ " (declare (in ) vec3 P@0x17001f0)\n"
+ " (declare (in ) vec2 dPdx@0x1700300)\n"
+ " (declare (in ) vec2 dPdy@0x1700410)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler2DArray sampler@0x17005f0)\n"
+ " (declare (in ) vec3 P@0x1700700)\n"
+ " (declare (in ) vec2 dPdx@0x1700810)\n"
+ " (declare (in ) vec2 dPdy@0x1700920)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DArrayShadow sampler@0x1700b00)\n"
+ " (declare (in ) vec3 P@0x1700c10)\n"
+ " (declare (in ) float dPdx@0x1700d20)\n"
+ " (declare (in ) float dPdy@0x1700e30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DArrayShadow sampler@0x1701010)\n"
+ " (declare (in ) vec4 P@0x1701120)\n"
+ " (declare (in ) vec2 dPdx@0x1701230)\n"
+ " (declare (in ) vec2 dPdy@0x1701340)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function textureProjGrad\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x1701520)\n"
+ " (declare (in ) vec2 P@0x1701630)\n"
+ " (declare (in ) float dPdx@0x1701740)\n"
+ " (declare (in ) float dPdy@0x1701850)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler1D sampler@0x1701be0)\n"
+ " (declare (in ) vec2 P@0x1701cf0)\n"
+ " (declare (in ) float dPdx@0x1701e00)\n"
+ " (declare (in ) float dPdy@0x1701f10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler1D sampler@0x17020f0)\n"
+ " (declare (in ) vec2 P@0x1702200)\n"
+ " (declare (in ) float dPdx@0x1702310)\n"
+ " (declare (in ) float dPdy@0x1702420)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x1702600)\n"
+ " (declare (in ) vec4 P@0x1702710)\n"
+ " (declare (in ) float dPdx@0x1702820)\n"
+ " (declare (in ) float dPdy@0x1702930)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler1D sampler@0x1702b10)\n"
+ " (declare (in ) vec4 P@0x1702c20)\n"
+ " (declare (in ) float dPdx@0x1702d30)\n"
+ " (declare (in ) float dPdy@0x1702e40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler1D sampler@0x1703020)\n"
+ " (declare (in ) vec4 P@0x1703130)\n"
+ " (declare (in ) float dPdx@0x1703240)\n"
+ " (declare (in ) float dPdy@0x1703350)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x1703530)\n"
+ " (declare (in ) vec3 P@0x1703640)\n"
+ " (declare (in ) vec2 dPdx@0x1703750)\n"
+ " (declare (in ) vec2 dPdy@0x1703860)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler2D sampler@0x1703a40)\n"
+ " (declare (in ) vec3 P@0x1703b50)\n"
+ " (declare (in ) vec2 dPdx@0x1703c60)\n"
+ " (declare (in ) vec2 dPdy@0x1703d70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler2D sampler@0x1703f50)\n"
+ " (declare (in ) vec3 P@0x1704060)\n"
+ " (declare (in ) vec2 dPdx@0x1704170)\n"
+ " (declare (in ) vec2 dPdy@0x1704280)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x1704460)\n"
+ " (declare (in ) vec4 P@0x1704570)\n"
+ " (declare (in ) vec2 dPdx@0x1704680)\n"
+ " (declare (in ) vec2 dPdy@0x1704790)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler2D sampler@0x1704970)\n"
+ " (declare (in ) vec4 P@0x1704a80)\n"
+ " (declare (in ) vec2 dPdx@0x1704b90)\n"
+ " (declare (in ) vec2 dPdy@0x1704ca0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler2D sampler@0x1704e80)\n"
+ " (declare (in ) vec4 P@0x1704f90)\n"
+ " (declare (in ) vec2 dPdx@0x17050a0)\n"
+ " (declare (in ) vec2 dPdy@0x17051b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0x1705390)\n"
+ " (declare (in ) vec4 P@0x17054a0)\n"
+ " (declare (in ) vec3 dPdx@0x17055b0)\n"
+ " (declare (in ) vec3 dPdy@0x17056c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature ivec4\n"
+ " (parameters\n"
+ " (declare (in ) isampler3D sampler@0x17058a0)\n"
+ " (declare (in ) vec4 P@0x17059b0)\n"
+ " (declare (in ) vec3 dPdx@0x1705ac0)\n"
+ " (declare (in ) vec3 dPdy@0x1705bd0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature uvec4\n"
+ " (parameters\n"
+ " (declare (in ) usampler3D sampler@0x1705db0)\n"
+ " (declare (in ) vec4 P@0x1705ec0)\n"
+ " (declare (in ) vec3 dPdx@0x1705fd0)\n"
+ " (declare (in ) vec3 dPdy@0x17060e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0x17062c0)\n"
+ " (declare (in ) vec4 P@0x17063d0)\n"
+ " (declare (in ) float dPdx@0x17064e0)\n"
+ " (declare (in ) float dPdy@0x17065f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0x17067d0)\n"
+ " (declare (in ) vec4 P@0x17068e0)\n"
+ " (declare (in ) vec2 dPdx@0x17069f0)\n"
+ " (declare (in ) vec2 dPdy@0x1706b00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture1D\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x1706ce0)\n"
+ " (declare (in ) float coord@0x1706df0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x1707910)\n"
+ " (declare (in ) float coord@0x1707a20)\n"
+ " (declare (in ) float bias@0x1707b30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture1DProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x1707180)\n"
+ " (declare (in ) vec2 coord@0x1707290)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x1707620)\n"
+ " (declare (in ) vec4 coord@0x1707730)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x1707d10)\n"
+ " (declare (in ) vec2 coord@0x1707e20)\n"
+ " (declare (in ) float bias@0x1707f30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x1708110)\n"
+ " (declare (in ) vec4 coord@0x1708220)\n"
+ " (declare (in ) float bias@0x1708330)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture1DLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x1708510)\n"
+ " (declare (in ) float coord@0x1708620)\n"
+ " (declare (in ) float lod@0x1708730)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture1DProjLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x1708ac0)\n"
+ " (declare (in ) vec2 coord@0x1708bd0)\n"
+ " (declare (in ) float lod@0x1708ce0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0x1709070)\n"
+ " (declare (in ) vec4 coord@0x1709180)\n"
+ " (declare (in ) float lod@0x1709290)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture2D\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x1709470)\n"
+ " (declare (in ) vec2 coord@0x1709580)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x170a0a0)\n"
+ " (declare (in ) vec2 coord@0x170a1b0)\n"
+ " (declare (in ) float bias@0x170a2c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture2DProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x1709910)\n"
+ " (declare (in ) vec3 coord@0x1709a20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x1709db0)\n"
+ " (declare (in ) vec4 coord@0x1709ec0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x170a4a0)\n"
+ " (declare (in ) vec3 coord@0x170a5b0)\n"
+ " (declare (in ) float bias@0x170a6c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x170a8a0)\n"
+ " (declare (in ) vec4 coord@0x170a9b0)\n"
+ " (declare (in ) float bias@0x170aac0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture2DLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x170aca0)\n"
+ " (declare (in ) vec2 coord@0x170adb0)\n"
+ " (declare (in ) float lod@0x170aec0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture2DProjLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x170b250)\n"
+ " (declare (in ) vec3 coord@0x170b360)\n"
+ " (declare (in ) float lod@0x170b470)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0x170b800)\n"
+ " (declare (in ) vec4 coord@0x170b910)\n"
+ " (declare (in ) float lod@0x170ba20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture3D\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0x170bc00)\n"
+ " (declare (in ) vec3 coord@0x170bd10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0x170c540)\n"
+ " (declare (in ) vec3 coord@0x170c650)\n"
+ " (declare (in ) float bias@0x170c760)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture3DProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0x170c0a0)\n"
+ " (declare (in ) vec4 coord@0x170c1b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0x170c940)\n"
+ " (declare (in ) vec4 coord@0x170ca50)\n"
+ " (declare (in ) float bias@0x170cb60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture3DLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0x170cd40)\n"
+ " (declare (in ) vec3 coord@0x170ce50)\n"
+ " (declare (in ) float lod@0x170cf60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture3DProjLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0x170d2f0)\n"
+ " (declare (in ) vec4 coord@0x170d400)\n"
+ " (declare (in ) float lod@0x170d510)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function textureCube\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) samplerCube sampler@0x170d8a0)\n"
+ " (declare (in ) vec3 coord@0x170d9b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) samplerCube sampler@0x170dd40)\n"
+ " (declare (in ) vec3 coord@0x170de50)\n"
+ " (declare (in ) float bias@0x170df60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function textureCubeLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) samplerCube sampler@0x170e140)\n"
+ " (declare (in ) vec3 coord@0x170e250)\n"
+ " (declare (in ) float lod@0x170e360)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow1D\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0x170e6f0)\n"
+ " (declare (in ) vec3 coord@0x170e800)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0x170f970)\n"
+ " (declare (in ) vec3 coord@0x170fa80)\n"
+ " (declare (in ) float bias@0x170fb90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow2D\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0x170eb90)\n"
+ " (declare (in ) vec3 coord@0x170eca0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0x170fd70)\n"
+ " (declare (in ) vec3 coord@0x170fe80)\n"
+ " (declare (in ) float bias@0x170ff90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow1DProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0x170f030)\n"
+ " (declare (in ) vec4 coord@0x170f140)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0x1710170)\n"
+ " (declare (in ) vec4 coord@0x1710280)\n"
+ " (declare (in ) float bias@0x1710390)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow2DProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0x170f4d0)\n"
+ " (declare (in ) vec4 coord@0x170f5e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0x1710570)\n"
+ " (declare (in ) vec4 coord@0x1710680)\n"
+ " (declare (in ) float bias@0x1710790)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow1DLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0x1710970)\n"
+ " (declare (in ) vec3 coord@0x1710a80)\n"
+ " (declare (in ) float lod@0x1710b90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow2DLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0x1710f20)\n"
+ " (declare (in ) vec3 coord@0x1711030)\n"
+ " (declare (in ) float lod@0x1711140)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow1DProjLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0x17114d0)\n"
+ " (declare (in ) vec4 coord@0x17115e0)\n"
+ " (declare (in ) float lod@0x17116f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow2DProjLod\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0x1711a80)\n"
+ " (declare (in ) vec4 coord@0x1711b90)\n"
+ " (declare (in ) float lod@0x1711ca0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function noise1\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1712030)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x17123b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1712590)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1712770)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function noise2\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1712950)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1712cd0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x1712eb0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x1713090)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function noise3\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1713270)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x17135f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x17137d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x17139b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function noise4\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) float x@0x1713b90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0x1713f10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0x17140f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0x17142d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "\n"
+ ")"
+;
+static const char *functions_for_130_vert [] = {
+ builtin_clamp,
+ builtin_matrixCompMult,
+ builtin_textureProj,
+ builtin_noise2,
+ builtin_texture3DProjLod,
+ builtin_pow,
+ builtin_texture2DProj,
+ builtin_greaterThanEqual,
+ builtin_sign,
+ builtin_texture3DProj,
+ builtin_textureProjLod,
+ builtin_texture,
+ builtin_texture2D,
+ builtin_equal,
+ builtin_faceforward,
+ builtin_tan,
+ builtin_shadow2DProj,
+ builtin_shadow1DProjLod,
+ builtin_any,
+ builtin_shadow1DProj,
+ builtin_normalize,
+ builtin_asin,
+ builtin_texture1DProj,
+ builtin_log,
+ builtin_floor,
+ builtin_exp2,
+ builtin_lessThan,
+ builtin_cross,
+ builtin_sqrt,
+ builtin_texture3DLod,
+ builtin_textureLod,
+ builtin_fract,
+ builtin_abs,
+ builtin_degrees,
+ builtin_shadow1DLod,
+ builtin_ftransform,
+ builtin_sin,
+ builtin_shadow2D,
+ builtin_shadow2DLod,
+ builtin_all,
+ builtin_log2,
+ builtin_textureGrad,
+ builtin_atan,
+ builtin_notEqual,
+ builtin_max,
+ builtin_lessThanEqual,
+ builtin_transpose,
+ builtin_outerProduct,
+ builtin_ceil,
+ builtin_reflect,
+ builtin_textureCubeLod,
+ builtin_step,
+ builtin_texture1D,
+ builtin_greaterThan,
+ builtin_texture3D,
+ builtin_shadow2DProjLod,
+ builtin_not,
+ builtin_texture2DProjLod,
+ builtin_inversesqrt,
+ builtin_mod,
+ builtin_noise4,
+ builtin_distance,
+ builtin_cos,
+ builtin_shadow1D,
+ builtin_noise1,
+ builtin_refract,
+ builtin_noise3,
+ builtin_texelFetch,
+ builtin_min,
+ builtin_radians,
+ builtin_smoothstep,
+ builtin_textureProjGrad,
+ builtin_texture1DProjLod,
+ builtin_textureCube,
+ builtin_length,
+ builtin_texture1DLod,
+ builtin_texture2DLod,
+ builtin_exp,
+ builtin_acos,
+ builtin_mix,
+ builtin_dot,
+};
+static const char *prototypes_for_ARB_texture_rectangle_frag =
+ "(\n"
+ "(function texture2DRect\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DRect sampler@0x225e0f0)\n"
+ " (declare (in ) vec2 coord@0x225e200)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture2DRectProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DRect sampler@0x225e590)\n"
+ " (declare (in ) vec3 coord@0x225e6a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DRect sampler@0x225ea30)\n"
+ " (declare (in ) vec4 coord@0x225eb40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow2DRect\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DRectShadow sampler@0x225ed20)\n"
+ " (declare (in ) vec3 coord@0x225ee30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow2DRectProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DRectShadow sampler@0x225f1c0)\n"
+ " (declare (in ) vec4 coord@0x225f2d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "\n"
+ ")"
+;
+static const char *functions_for_ARB_texture_rectangle_frag [] = {
+ builtin_texture2DRect,
+ builtin_shadow2DRectProj,
+ builtin_shadow2DRect,
+ builtin_texture2DRectProj,
+};
+static const char *prototypes_for_120_frag =
+ "(\n"
+ "(function radians\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float degrees@0xaf8340)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 degrees@0xaf86c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 degrees@0xaf88a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 degrees@0xaf8a80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function degrees\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float radians@0xaf8c60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 radians@0xaf8fe0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 radians@0xaf91c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 radians@0xaf93a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function sin\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float angle@0xaf9580)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 angle@0xaf9900)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 angle@0xaf9ae0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 angle@0xaf9cc0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function cos\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float angle@0xaf9ea0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 angle@0xafa220)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 angle@0xafa400)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 angle@0xafa5e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function tan\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float angle@0xafa7c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 angle@0xafab40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 angle@0xafad20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 angle@0xafaf00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function asin\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float angle@0xafb0e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 angle@0xafb460)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 angle@0xafb640)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 angle@0xafb820)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function acos\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float angle@0xafba00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 angle@0xafbd80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 angle@0xafbf60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 angle@0xafc140)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function atan\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float y@0xafc320)\n"
+ " (declare (in ) float x@0xafc430)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 y@0xafc7b0)\n"
+ " (declare (in ) vec2 x@0xafc8c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 y@0xafcaa0)\n"
+ " (declare (in ) vec3 x@0xafcbb0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 y@0xafcd90)\n"
+ " (declare (in ) vec4 x@0xafcea0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float y_over_x@0xafd080)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 y_over_x@0xafd270)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 y_over_x@0xafd460)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 y_over_x@0xafd650)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function pow\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0xafd840)\n"
+ " (declare (in ) float y@0xafd950)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0xafdcd0)\n"
+ " (declare (in ) vec2 y@0xafdde0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0xafdfc0)\n"
+ " (declare (in ) vec3 y@0xafe0d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0xafe2b0)\n"
+ " (declare (in ) vec4 y@0xafe3c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function exp\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0xafe5a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0xafe920)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0xafeb00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0xafece0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function log\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0xafeec0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0xaff240)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0xaff420)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0xaff600)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function exp2\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0xaff7e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0xaffb60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0xaffd40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0xafff20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function log2\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0xb00100)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0xb00480)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0xb00660)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0xb00840)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function sqrt\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0xb00a20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0xb00da0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0xb00f80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0xb01160)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function inversesqrt\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0xb01340)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0xb016d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0xb018b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0xb01a90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function abs\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0xb01c70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0xb01ff0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0xb021d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0xb023b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function sign\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0xb02590)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0xb02910)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0xb02af0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0xb02cd0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function floor\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0xb02eb0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0xb03230)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0xb03410)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0xb035f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function ceil\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0xb037d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0xb03b50)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0xb03d30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0xb03f10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function fract\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0xb040f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0xb04470)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0xb04650)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0xb04830)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function mod\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0xb04a10)\n"
+ " (declare (in ) float y@0xb04b20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0xb04ea0)\n"
+ " (declare (in ) float y@0xb04fb0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0xb05190)\n"
+ " (declare (in ) float y@0xb052a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0xb05480)\n"
+ " (declare (in ) float y@0xb05590)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0xb05770)\n"
+ " (declare (in ) vec2 y@0xb05880)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0xb05a60)\n"
+ " (declare (in ) vec3 y@0xb05b70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0xb05d50)\n"
+ " (declare (in ) vec4 y@0xb05e60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function min\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0xb06040)\n"
+ " (declare (in ) float y@0xb06150)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0xb064d0)\n"
+ " (declare (in ) vec2 y@0xb065e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0xb067c0)\n"
+ " (declare (in ) vec3 y@0xb068d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0xb06ab0)\n"
+ " (declare (in ) vec4 y@0xb06bc0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0xb06da0)\n"
+ " (declare (in ) float y@0xb06eb0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0xb07090)\n"
+ " (declare (in ) float y@0xb071a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0xb07380)\n"
+ " (declare (in ) float y@0xb07490)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function max\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0xb07670)\n"
+ " (declare (in ) float y@0xb07780)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0xb07b00)\n"
+ " (declare (in ) vec2 y@0xb07c10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0xb07df0)\n"
+ " (declare (in ) vec3 y@0xb07f00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0xb080e0)\n"
+ " (declare (in ) vec4 y@0xb081f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0xb083d0)\n"
+ " (declare (in ) float y@0xb084e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0xb086c0)\n"
+ " (declare (in ) float y@0xb087d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0xb089b0)\n"
+ " (declare (in ) float y@0xb08ac0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function clamp\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0xb08ca0)\n"
+ " (declare (in ) float minVal@0xb08db0)\n"
+ " (declare (in ) float maxVal@0xb08ec0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0xb09240)\n"
+ " (declare (in ) vec2 minVal@0xb09350)\n"
+ " (declare (in ) vec2 maxVal@0xb09460)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0xb09640)\n"
+ " (declare (in ) vec3 minVal@0xb09750)\n"
+ " (declare (in ) vec3 maxVal@0xb09860)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0xb09a40)\n"
+ " (declare (in ) vec4 minVal@0xb09b50)\n"
+ " (declare (in ) vec4 maxVal@0xb09c60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0xb09e40)\n"
+ " (declare (in ) float minVal@0xb09f50)\n"
+ " (declare (in ) float maxVal@0xb0a060)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0xb0a240)\n"
+ " (declare (in ) float minVal@0xb0a350)\n"
+ " (declare (in ) float maxVal@0xb0a460)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0xb0a640)\n"
+ " (declare (in ) float minVal@0xb0a750)\n"
+ " (declare (in ) float maxVal@0xb0a860)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function mix\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0xb0aa40)\n"
+ " (declare (in ) float y@0xb0ab50)\n"
+ " (declare (in ) float a@0xb0ac60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0xb0afe0)\n"
+ " (declare (in ) vec2 y@0xb0b0f0)\n"
+ " (declare (in ) vec2 a@0xb0b200)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0xb0b3e0)\n"
+ " (declare (in ) vec3 y@0xb0b4f0)\n"
+ " (declare (in ) vec3 a@0xb0b600)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0xb0b7e0)\n"
+ " (declare (in ) vec4 y@0xb0b8f0)\n"
+ " (declare (in ) vec4 a@0xb0ba00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0xb0bbe0)\n"
+ " (declare (in ) vec2 y@0xb0bcf0)\n"
+ " (declare (in ) float a@0xb0be00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0xb0bfe0)\n"
+ " (declare (in ) vec3 y@0xb0c0f0)\n"
+ " (declare (in ) float a@0xb0c200)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0xb0c3e0)\n"
+ " (declare (in ) vec4 y@0xb0c4f0)\n"
+ " (declare (in ) float a@0xb0c600)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function step\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float edge@0xb0c7e0)\n"
+ " (declare (in ) float x@0xb0c8f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 edge@0xb0cc70)\n"
+ " (declare (in ) vec2 x@0xb0cd80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 edge@0xb0cf60)\n"
+ " (declare (in ) vec3 x@0xb0d070)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 edge@0xb0d250)\n"
+ " (declare (in ) vec4 x@0xb0d360)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) float edge@0xb0d540)\n"
+ " (declare (in ) vec2 x@0xb0d650)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) float edge@0xb0d830)\n"
+ " (declare (in ) vec3 x@0xb0d940)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) float edge@0xb0db20)\n"
+ " (declare (in ) vec4 x@0xb0dc30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function smoothstep\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float edge0@0xb0de10)\n"
+ " (declare (in ) float edge1@0xb0df20)\n"
+ " (declare (in ) float x@0xb0e030)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 edge0@0xb0e3c0)\n"
+ " (declare (in ) vec2 edge1@0xb0e4d0)\n"
+ " (declare (in ) vec2 x@0xb0e5e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 edge0@0xb0e7c0)\n"
+ " (declare (in ) vec3 edge1@0xb0e8d0)\n"
+ " (declare (in ) vec3 x@0xb0e9e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 edge0@0xb0ebc0)\n"
+ " (declare (in ) vec4 edge1@0xb0ecd0)\n"
+ " (declare (in ) vec4 x@0xb0ede0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) float edge0@0xb0efc0)\n"
+ " (declare (in ) float edge1@0xb0f0d0)\n"
+ " (declare (in ) vec2 x@0xb0f1e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) float edge0@0xb0f3c0)\n"
+ " (declare (in ) float edge1@0xb0f4d0)\n"
+ " (declare (in ) vec3 x@0xb0f5e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) float edge0@0xb0f7c0)\n"
+ " (declare (in ) float edge1@0xb0f8d0)\n"
+ " (declare (in ) vec4 x@0xb0f9e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function length\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0xb0fbc0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0xb0ff40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0xb10120)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0xb10300)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function distance\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float p0@0xb104e0)\n"
+ " (declare (in ) float p1@0xb105f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec2 p0@0xb10980)\n"
+ " (declare (in ) vec2 p1@0xb10a90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec3 p0@0xb10c70)\n"
+ " (declare (in ) vec3 p1@0xb10d80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec4 p0@0xb10f60)\n"
+ " (declare (in ) vec4 p1@0xb11070)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function dot\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0xb11250)\n"
+ " (declare (in ) float y@0xb11360)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0xb116e0)\n"
+ " (declare (in ) vec2 y@0xb117f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0xb119d0)\n"
+ " (declare (in ) vec3 y@0xb11ae0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0xb11cc0)\n"
+ " (declare (in ) vec4 y@0xb11dd0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function cross\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0xb11fb0)\n"
+ " (declare (in ) vec3 y@0xb120c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function normalize\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0xb12440)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0xb127d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0xb129b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0xb12b90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function faceforward\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float N@0xb12d70)\n"
+ " (declare (in ) float I@0xb12e80)\n"
+ " (declare (in ) float Nref@0xb12f90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 N@0xb13320)\n"
+ " (declare (in ) vec2 I@0xb13430)\n"
+ " (declare (in ) vec2 Nref@0xb13540)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 N@0xb13720)\n"
+ " (declare (in ) vec3 I@0xb13830)\n"
+ " (declare (in ) vec3 Nref@0xb13940)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 N@0xb13b20)\n"
+ " (declare (in ) vec4 I@0xb13c30)\n"
+ " (declare (in ) vec4 Nref@0xb13d40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function reflect\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float I@0xb13f20)\n"
+ " (declare (in ) float N@0xb14030)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 I@0xb143b0)\n"
+ " (declare (in ) vec2 N@0xb144c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 I@0xb146a0)\n"
+ " (declare (in ) vec3 N@0xb147b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 I@0xb14990)\n"
+ " (declare (in ) vec4 N@0xb14aa0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function refract\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float I@0xb14c80)\n"
+ " (declare (in ) float N@0xb14d90)\n"
+ " (declare (in ) float eta@0xb14ea0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 I@0xb15220)\n"
+ " (declare (in ) vec2 N@0xb15330)\n"
+ " (declare (in ) float eta@0xb15440)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 I@0xb15620)\n"
+ " (declare (in ) vec3 N@0xb15730)\n"
+ " (declare (in ) float eta@0xb15840)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 I@0xb15a20)\n"
+ " (declare (in ) vec4 N@0xb15b30)\n"
+ " (declare (in ) float eta@0xb15c40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function matrixCompMult\n"
+ " (signature mat2\n"
+ " (parameters\n"
+ " (declare (in ) mat2 x@0xb15e20)\n"
+ " (declare (in ) mat2 y@0xb15f30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat3\n"
+ " (parameters\n"
+ " (declare (in ) mat3 x@0xb162c0)\n"
+ " (declare (in ) mat3 y@0xb163d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat4\n"
+ " (parameters\n"
+ " (declare (in ) mat4 x@0xb165b0)\n"
+ " (declare (in ) mat4 y@0xb166c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat2x3\n"
+ " (parameters\n"
+ " (declare (in ) mat2x3 x@0xb168a0)\n"
+ " (declare (in ) mat2x3 y@0xb169b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat2x4\n"
+ " (parameters\n"
+ " (declare (in ) mat2x4 x@0xb16b90)\n"
+ " (declare (in ) mat2x4 y@0xb16ca0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat3x2\n"
+ " (parameters\n"
+ " (declare (in ) mat3x2 x@0xb16e80)\n"
+ " (declare (in ) mat3x2 y@0xb16f90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat3x4\n"
+ " (parameters\n"
+ " (declare (in ) mat3x4 x@0xb17170)\n"
+ " (declare (in ) mat3x4 y@0xb17280)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat4x2\n"
+ " (parameters\n"
+ " (declare (in ) mat4x2 x@0xb17460)\n"
+ " (declare (in ) mat4x2 y@0xb17570)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat4x3\n"
+ " (parameters\n"
+ " (declare (in ) mat4x3 x@0xb17750)\n"
+ " (declare (in ) mat4x3 y@0xb17860)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function outerProduct\n"
+ " (signature mat2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 c@0xb17a40)\n"
+ " (declare (in ) vec2 r@0xb17b50)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 c@0xb17ee0)\n"
+ " (declare (in ) vec3 r@0xb17ff0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 c@0xb181d0)\n"
+ " (declare (in ) vec4 r@0xb182e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat2x3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 c@0xb184c0)\n"
+ " (declare (in ) vec2 r@0xb185d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat3x2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 c@0xb187b0)\n"
+ " (declare (in ) vec3 r@0xb188c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat2x4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 c@0xb18aa0)\n"
+ " (declare (in ) vec2 r@0xb18bb0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat4x2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 c@0xb18d90)\n"
+ " (declare (in ) vec4 r@0xb18ea0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat3x4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 c@0xb19080)\n"
+ " (declare (in ) vec3 r@0xb19190)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat4x3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 c@0xb19370)\n"
+ " (declare (in ) vec4 r@0xb19480)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function transpose\n"
+ " (signature mat2\n"
+ " (parameters\n"
+ " (declare (in ) mat2 m@0xb19660)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat3\n"
+ " (parameters\n"
+ " (declare (in ) mat3 m@0xb199f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat4\n"
+ " (parameters\n"
+ " (declare (in ) mat4 m@0xb19bd0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat2x3\n"
+ " (parameters\n"
+ " (declare (in ) mat3x2 m@0xb19db0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat3x2\n"
+ " (parameters\n"
+ " (declare (in ) mat2x3 m@0xb19f90)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat2x4\n"
+ " (parameters\n"
+ " (declare (in ) mat4x2 m@0xb1a170)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat4x2\n"
+ " (parameters\n"
+ " (declare (in ) mat2x4 m@0xb1a350)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat3x4\n"
+ " (parameters\n"
+ " (declare (in ) mat4x3 m@0xb1a530)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature mat4x3\n"
+ " (parameters\n"
+ " (declare (in ) mat3x4 m@0xb1a710)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function lessThan\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0xb1a8f0)\n"
+ " (declare (in ) vec2 y@0xb1aa00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0xb1ad90)\n"
+ " (declare (in ) vec3 y@0xb1aea0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0xb1b080)\n"
+ " (declare (in ) vec4 y@0xb1b190)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0xb1b370)\n"
+ " (declare (in ) ivec2 y@0xb1b480)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0xb1b660)\n"
+ " (declare (in ) ivec3 y@0xb1b770)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0xb1b950)\n"
+ " (declare (in ) ivec4 y@0xb1ba60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function lessThanEqual\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0xb1bc40)\n"
+ " (declare (in ) vec2 y@0xb1bd50)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0xb1c0e0)\n"
+ " (declare (in ) vec3 y@0xb1c1f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0xb1c3d0)\n"
+ " (declare (in ) vec4 y@0xb1c4e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0xb1c6c0)\n"
+ " (declare (in ) ivec2 y@0xb1c7d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0xb1c9b0)\n"
+ " (declare (in ) ivec3 y@0xb1cac0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0xb1cca0)\n"
+ " (declare (in ) ivec4 y@0xb1cdb0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function greaterThan\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0xb1cf90)\n"
+ " (declare (in ) vec2 y@0xb1d0a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0xb1d430)\n"
+ " (declare (in ) vec3 y@0xb1d540)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0xb1d720)\n"
+ " (declare (in ) vec4 y@0xb1d830)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0xb1da10)\n"
+ " (declare (in ) ivec2 y@0xb1db20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0xb1dd00)\n"
+ " (declare (in ) ivec3 y@0xb1de10)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0xb1dff0)\n"
+ " (declare (in ) ivec4 y@0xb1e100)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function greaterThanEqual\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0xb1e2e0)\n"
+ " (declare (in ) vec2 y@0xb1e3f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0xb1e780)\n"
+ " (declare (in ) vec3 y@0xb1e890)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0xb1ea70)\n"
+ " (declare (in ) vec4 y@0xb1eb80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0xb1ed60)\n"
+ " (declare (in ) ivec2 y@0xb1ee70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0xb1f050)\n"
+ " (declare (in ) ivec3 y@0xb1f160)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0xb1f340)\n"
+ " (declare (in ) ivec4 y@0xb1f450)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function equal\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0xb1f630)\n"
+ " (declare (in ) vec2 y@0xb1f740)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0xb1fac0)\n"
+ " (declare (in ) vec3 y@0xb1fbd0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0xb1fdb0)\n"
+ " (declare (in ) vec4 y@0xb1fec0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0xb200a0)\n"
+ " (declare (in ) ivec2 y@0xb201b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0xb20390)\n"
+ " (declare (in ) ivec3 y@0xb204a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0xb20680)\n"
+ " (declare (in ) ivec4 y@0xb20790)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) bvec2 x@0xb20970)\n"
+ " (declare (in ) bvec2 y@0xb20a80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) bvec3 x@0xb20c60)\n"
+ " (declare (in ) bvec3 y@0xb20d70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) bvec4 x@0xb20f50)\n"
+ " (declare (in ) bvec4 y@0xb21060)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function notEqual\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0xb21240)\n"
+ " (declare (in ) vec2 y@0xb21350)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0xb216e0)\n"
+ " (declare (in ) vec3 y@0xb217f0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0xb219d0)\n"
+ " (declare (in ) vec4 y@0xb21ae0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) ivec2 x@0xb21cc0)\n"
+ " (declare (in ) ivec2 y@0xb21dd0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) ivec3 x@0xb21fb0)\n"
+ " (declare (in ) ivec3 y@0xb220c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) ivec4 x@0xb222a0)\n"
+ " (declare (in ) ivec4 y@0xb223b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) bvec2 x@0xb22590)\n"
+ " (declare (in ) bvec2 y@0xb226a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) bvec3 x@0xb22880)\n"
+ " (declare (in ) bvec3 y@0xb22990)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) bvec4 x@0xb22b70)\n"
+ " (declare (in ) bvec4 y@0xb22c80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function any\n"
+ " (signature bool\n"
+ " (parameters\n"
+ " (declare (in ) bvec2 x@0xb22e60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bool\n"
+ " (parameters\n"
+ " (declare (in ) bvec3 x@0xb231e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bool\n"
+ " (parameters\n"
+ " (declare (in ) bvec4 x@0xb233c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function all\n"
+ " (signature bool\n"
+ " (parameters\n"
+ " (declare (in ) bvec2 x@0xb235a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bool\n"
+ " (parameters\n"
+ " (declare (in ) bvec3 x@0xb23920)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bool\n"
+ " (parameters\n"
+ " (declare (in ) bvec4 x@0xb23b00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function not\n"
+ " (signature bvec2\n"
+ " (parameters\n"
+ " (declare (in ) bvec2 x@0xb23ce0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec3\n"
+ " (parameters\n"
+ " (declare (in ) bvec3 x@0xb24060)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature bvec4\n"
+ " (parameters\n"
+ " (declare (in ) bvec4 x@0xb24240)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture1D\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0xb24420)\n"
+ " (declare (in ) float coord@0xb24530)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0xb25050)\n"
+ " (declare (in ) float coord@0xb25160)\n"
+ " (declare (in ) float bias@0xb25270)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture1DProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0xb248c0)\n"
+ " (declare (in ) vec2 coord@0xb249d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0xb24d60)\n"
+ " (declare (in ) vec4 coord@0xb24e70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0xb25450)\n"
+ " (declare (in ) vec2 coord@0xb25560)\n"
+ " (declare (in ) float bias@0xb25670)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1D sampler@0xb25850)\n"
+ " (declare (in ) vec4 coord@0xb25960)\n"
+ " (declare (in ) float bias@0xb25a70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture2D\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0xb25c50)\n"
+ " (declare (in ) vec2 coord@0xb25d60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0xb26880)\n"
+ " (declare (in ) vec2 coord@0xb26990)\n"
+ " (declare (in ) float bias@0xb26aa0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture2DProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0xb260f0)\n"
+ " (declare (in ) vec3 coord@0xb26200)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0xb26590)\n"
+ " (declare (in ) vec4 coord@0xb266a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0xb26c80)\n"
+ " (declare (in ) vec3 coord@0xb26d90)\n"
+ " (declare (in ) float bias@0xb26ea0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2D sampler@0xb27080)\n"
+ " (declare (in ) vec4 coord@0xb27190)\n"
+ " (declare (in ) float bias@0xb272a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture3D\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0xb27480)\n"
+ " (declare (in ) vec3 coord@0xb27590)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0xb27dc0)\n"
+ " (declare (in ) vec3 coord@0xb27ed0)\n"
+ " (declare (in ) float bias@0xb27fe0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function texture3DProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0xb27920)\n"
+ " (declare (in ) vec4 coord@0xb27a30)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler3D sampler@0xb281c0)\n"
+ " (declare (in ) vec4 coord@0xb282d0)\n"
+ " (declare (in ) float bias@0xb283e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function textureCube\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) samplerCube sampler@0xb285c0)\n"
+ " (declare (in ) vec3 coord@0xb286d0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) samplerCube sampler@0xb28a60)\n"
+ " (declare (in ) vec3 coord@0xb28b70)\n"
+ " (declare (in ) float bias@0xb28c80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow1D\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0xb28e60)\n"
+ " (declare (in ) vec3 coord@0xb28f70)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0xb2a0e0)\n"
+ " (declare (in ) vec3 coord@0xb2a1f0)\n"
+ " (declare (in ) float bias@0xb2a300)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow2D\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0xb29300)\n"
+ " (declare (in ) vec3 coord@0xb29410)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0xb2a4e0)\n"
+ " (declare (in ) vec3 coord@0xb2a5f0)\n"
+ " (declare (in ) float bias@0xb2a700)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow1DProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0xb297a0)\n"
+ " (declare (in ) vec4 coord@0xb298b0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler1DShadow sampler@0xb2a8e0)\n"
+ " (declare (in ) vec4 coord@0xb2a9f0)\n"
+ " (declare (in ) float bias@0xb2ab00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function shadow2DProj\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0xb29c40)\n"
+ " (declare (in ) vec4 coord@0xb29d50)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) sampler2DShadow sampler@0xb2ace0)\n"
+ " (declare (in ) vec4 coord@0xb2adf0)\n"
+ " (declare (in ) float bias@0xb2af00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function dFdx\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float p@0xb2b0e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 p@0xb2b460)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 p@0xb2b640)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 p@0xb2b820)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function dFdy\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float p@0xb2ba00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 p@0xb2bd80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 p@0xb2bf60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 p@0xb2c140)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function fwidth\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float p@0xb2c320)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 p@0xb2c6a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 p@0xb2c880)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 p@0xb2ca60)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function noise1\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) float x@0xb2cc40)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0xb2cfc0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0xb2d1a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature float\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0xb2d380)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function noise2\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) float x@0xb2d560)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0xb2d8e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0xb2dac0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec2\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0xb2dca0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function noise3\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) float x@0xb2de80)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0xb2e200)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0xb2e3e0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec3\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0xb2e5c0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "(function noise4\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) float x@0xb2e7a0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec2 x@0xb2eb20)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec3 x@0xb2ed00)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ " (signature vec4\n"
+ " (parameters\n"
+ " (declare (in ) vec4 x@0xb2eee0)\n"
+ " )\n"
+ " (\n"
+ " ))\n"
+ "\n"
+ ")\n"
+ "\n"
+ "\n"
+ ")"
+;
+static const char *functions_for_120_frag [] = {
+ builtin_clamp,
+ builtin_matrixCompMult,
+ builtin_noise2,
+ builtin_pow,
+ builtin_texture2DProj,
+ builtin_fwidth,
+ builtin_greaterThanEqual,
+ builtin_sign,
+ builtin_texture3DProj,
+ builtin_texture2D,
+ builtin_equal,
+ builtin_faceforward,
+ builtin_tan,
+ builtin_any,
+ builtin_shadow1DProj,
+ builtin_normalize,
+ builtin_asin,
+ builtin_texture1DProj,
+ builtin_log,
+ builtin_floor,
+ builtin_exp2,
+ builtin_lessThan,
+ builtin_cross,
+ builtin_sqrt,
+ builtin_shadow2DProj,
+ builtin_fract,
+ builtin_abs,
+ builtin_degrees,
+ builtin_dFdx,
+ builtin_sin,
+ builtin_shadow2D,
+ builtin_all,
+ builtin_log2,
+ builtin_atan,
+ builtin_notEqual,
+ builtin_max,
+ builtin_lessThanEqual,
+ builtin_transpose,
+ builtin_outerProduct,
+ builtin_ceil,
+ builtin_reflect,
+ builtin_step,
+ builtin_texture1D,
+ builtin_greaterThan,
+ builtin_texture3D,
+ builtin_not,
+ builtin_inversesqrt,
+ builtin_mod,
+ builtin_noise4,
+ builtin_distance,
+ builtin_cos,
+ builtin_shadow1D,
+ builtin_noise1,
+ builtin_refract,
+ builtin_noise3,
+ builtin_min,
+ builtin_radians,
+ builtin_smoothstep,
+ builtin_textureCube,
+ builtin_length,
+ builtin_dFdy,
+ builtin_exp,
+ builtin_acos,
+ builtin_mix,
+ builtin_dot,
+};
+
+void *builtin_mem_ctx = NULL;
+
+void
+_mesa_glsl_release_functions(void)
+{
+ talloc_free(builtin_mem_ctx);
+}
+
+void
+_mesa_glsl_initialize_functions(exec_list *instructions,
+ struct _mesa_glsl_parse_state *state)
+{
+ if (builtin_mem_ctx == NULL)
+ builtin_mem_ctx = talloc_init("GLSL built-in functions");
+
+ state->num_builtins_to_link = 0;
+
+ if (state->target == vertex_shader && state->language_version == 120) {
+ static gl_shader *sh = NULL;
+ if (sh == NULL) {
+ sh = read_builtins(GL_VERTEX_SHADER,
+ prototypes_for_120_vert,
+ functions_for_120_vert,
+ Elements(functions_for_120_vert ));
+ talloc_steal(builtin_mem_ctx, sh);
+ }
+
+ import_prototypes(sh->ir, instructions, state->symbols,
+ state);
+ state->builtins_to_link[state->num_builtins_to_link] = sh;
+ state->num_builtins_to_link++;
+ }
+
+ if (state->target == fragment_shader && state->EXT_texture_array_enable) {
+ static gl_shader *sh = NULL;
+ if (sh == NULL) {
+ sh = read_builtins(GL_VERTEX_SHADER,
+ prototypes_for_EXT_texture_array_frag,
+ functions_for_EXT_texture_array_frag,
+ Elements(functions_for_EXT_texture_array_frag ));
+ talloc_steal(builtin_mem_ctx, sh);
+ }
+
+ import_prototypes(sh->ir, instructions, state->symbols,
+ state);
+ state->builtins_to_link[state->num_builtins_to_link] = sh;
+ state->num_builtins_to_link++;
+ }
+
+ if (state->target == vertex_shader && state->language_version == 110) {
+ static gl_shader *sh = NULL;
+ if (sh == NULL) {
+ sh = read_builtins(GL_VERTEX_SHADER,
+ prototypes_for_110_vert,
+ functions_for_110_vert,
+ Elements(functions_for_110_vert ));
+ talloc_steal(builtin_mem_ctx, sh);
+ }
+
+ import_prototypes(sh->ir, instructions, state->symbols,
+ state);
+ state->builtins_to_link[state->num_builtins_to_link] = sh;
+ state->num_builtins_to_link++;
+ }
+
+ if (state->target == fragment_shader && state->language_version == 110) {
+ static gl_shader *sh = NULL;
+ if (sh == NULL) {
+ sh = read_builtins(GL_VERTEX_SHADER,
+ prototypes_for_110_frag,
+ functions_for_110_frag,
+ Elements(functions_for_110_frag ));
+ talloc_steal(builtin_mem_ctx, sh);
+ }
+
+ import_prototypes(sh->ir, instructions, state->symbols,
+ state);
+ state->builtins_to_link[state->num_builtins_to_link] = sh;
+ state->num_builtins_to_link++;
+ }
+
+ if (state->target == vertex_shader && state->EXT_texture_array_enable) {
+ static gl_shader *sh = NULL;
+ if (sh == NULL) {
+ sh = read_builtins(GL_VERTEX_SHADER,
+ prototypes_for_EXT_texture_array_vert,
+ functions_for_EXT_texture_array_vert,
+ Elements(functions_for_EXT_texture_array_vert ));
+ talloc_steal(builtin_mem_ctx, sh);
+ }
+
+ import_prototypes(sh->ir, instructions, state->symbols,
+ state);
+ state->builtins_to_link[state->num_builtins_to_link] = sh;
+ state->num_builtins_to_link++;
+ }
+
+ if (state->target == fragment_shader && state->language_version == 130) {
+ static gl_shader *sh = NULL;
+ if (sh == NULL) {
+ sh = read_builtins(GL_VERTEX_SHADER,
+ prototypes_for_130_frag,
+ functions_for_130_frag,
+ Elements(functions_for_130_frag ));
+ talloc_steal(builtin_mem_ctx, sh);
+ }
+
+ import_prototypes(sh->ir, instructions, state->symbols,
+ state);
+ state->builtins_to_link[state->num_builtins_to_link] = sh;
+ state->num_builtins_to_link++;
+ }
+
+ if (state->target == vertex_shader && state->ARB_texture_rectangle_enable) {
+ static gl_shader *sh = NULL;
+ if (sh == NULL) {
+ sh = read_builtins(GL_VERTEX_SHADER,
+ prototypes_for_ARB_texture_rectangle_vert,
+ functions_for_ARB_texture_rectangle_vert,
+ Elements(functions_for_ARB_texture_rectangle_vert ));
+ talloc_steal(builtin_mem_ctx, sh);
+ }
+
+ import_prototypes(sh->ir, instructions, state->symbols,
+ state);
+ state->builtins_to_link[state->num_builtins_to_link] = sh;
+ state->num_builtins_to_link++;
+ }
+
+ if (state->target == vertex_shader && state->language_version == 130) {
+ static gl_shader *sh = NULL;
+ if (sh == NULL) {
+ sh = read_builtins(GL_VERTEX_SHADER,
+ prototypes_for_130_vert,
+ functions_for_130_vert,
+ Elements(functions_for_130_vert ));
+ talloc_steal(builtin_mem_ctx, sh);
+ }
+
+ import_prototypes(sh->ir, instructions, state->symbols,
+ state);
+ state->builtins_to_link[state->num_builtins_to_link] = sh;
+ state->num_builtins_to_link++;
+ }
+
+ if (state->target == fragment_shader && state->ARB_texture_rectangle_enable) {
+ static gl_shader *sh = NULL;
+ if (sh == NULL) {
+ sh = read_builtins(GL_VERTEX_SHADER,
+ prototypes_for_ARB_texture_rectangle_frag,
+ functions_for_ARB_texture_rectangle_frag,
+ Elements(functions_for_ARB_texture_rectangle_frag ));
+ talloc_steal(builtin_mem_ctx, sh);
+ }
+
+ import_prototypes(sh->ir, instructions, state->symbols,
+ state);
+ state->builtins_to_link[state->num_builtins_to_link] = sh;
+ state->num_builtins_to_link++;
+ }
+
+ if (state->target == fragment_shader && state->language_version == 120) {
+ static gl_shader *sh = NULL;
+ if (sh == NULL) {
+ sh = read_builtins(GL_VERTEX_SHADER,
+ prototypes_for_120_frag,
+ functions_for_120_frag,
+ Elements(functions_for_120_frag ));
+ talloc_steal(builtin_mem_ctx, sh);
+ }
+
+ import_prototypes(sh->ir, instructions, state->symbols,
+ state);
+ state->builtins_to_link[state->num_builtins_to_link] = sh;
+ state->num_builtins_to_link++;
+ }
+
+}