/* 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 #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@0x1db60b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 degrees@0x1db6430)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 degrees@0x1db6610)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 degrees@0x1db67f0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function degrees\n" " (signature float\n" " (parameters\n" " (declare (in ) float radians@0x1db69d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 radians@0x1db6d50)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 radians@0x1db6f30)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 radians@0x1db7110)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function sin\n" " (signature float\n" " (parameters\n" " (declare (in ) float angle@0x1db72f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 angle@0x1db7670)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 angle@0x1db7850)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 angle@0x1db7a30)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function cos\n" " (signature float\n" " (parameters\n" " (declare (in ) float angle@0x1db7c10)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 angle@0x1db7f90)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 angle@0x1db8170)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 angle@0x1db8350)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function tan\n" " (signature float\n" " (parameters\n" " (declare (in ) float angle@0x1db8530)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 angle@0x1db88b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 angle@0x1db8a90)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 angle@0x1db8c70)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function asin\n" " (signature float\n" " (parameters\n" " (declare (in ) float angle@0x1db8e50)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 angle@0x1db91d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 angle@0x1db93b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 angle@0x1db9590)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function acos\n" " (signature float\n" " (parameters\n" " (declare (in ) float angle@0x1db9770)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 angle@0x1db9af0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 angle@0x1db9cd0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 angle@0x1db9eb0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function atan\n" " (signature float\n" " (parameters\n" " (declare (in ) float y@0x1dba090)\n" " (declare (in ) float x@0x1dba1a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 y@0x1dba520)\n" " (declare (in ) vec2 x@0x1dba630)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 y@0x1dba810)\n" " (declare (in ) vec3 x@0x1dba920)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 y@0x1dbab00)\n" " (declare (in ) vec4 x@0x1dbac10)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) float y_over_x@0x1dbadf0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 y_over_x@0x1dbafe0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 y_over_x@0x1dbb1d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 y_over_x@0x1dbb3c0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function pow\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x1dbb5b0)\n" " (declare (in ) float y@0x1dbb6c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1dbba40)\n" " (declare (in ) vec2 y@0x1dbbb50)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1dbbd30)\n" " (declare (in ) vec3 y@0x1dbbe40)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1dbc020)\n" " (declare (in ) vec4 y@0x1dbc130)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function exp\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x1dbc310)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1dbc690)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1dbc870)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1dbca50)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function log\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x1dbcc30)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1dbcfb0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1dbd190)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1dbd370)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function exp2\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x1dbd550)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1dbd8d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1dbdab0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1dbdc90)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function log2\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x1dbde70)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1dbe1f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1dbe3d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1dbe5b0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function sqrt\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x1dbe790)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1dbeb10)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1dbecf0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1dbeed0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function inversesqrt\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x1dbf0b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1dbf440)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1dbf620)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1dbf800)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function abs\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x1dbf9e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1dbfd60)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1dbff40)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1dc0120)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function sign\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x1dc0300)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1dc0680)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1dc0860)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1dc0a40)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function floor\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x1dc0c20)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1dc0fa0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1dc1180)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1dc1360)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function ceil\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x1dc1540)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1dc18c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1dc1aa0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1dc1c80)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function fract\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x1dc1e60)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1dc21e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1dc23c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1dc25a0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function mod\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x1dc2780)\n" " (declare (in ) float y@0x1dc2890)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1dc2c10)\n" " (declare (in ) float y@0x1dc2d20)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1dc2f00)\n" " (declare (in ) float y@0x1dc3010)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1dc31f0)\n" " (declare (in ) float y@0x1dc3300)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1dc34e0)\n" " (declare (in ) vec2 y@0x1dc35f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1dc37d0)\n" " (declare (in ) vec3 y@0x1dc38e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1dc3ac0)\n" " (declare (in ) vec4 y@0x1dc3bd0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function min\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x1dc3db0)\n" " (declare (in ) float y@0x1dc3ec0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1dc4240)\n" " (declare (in ) vec2 y@0x1dc4350)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1dc4530)\n" " (declare (in ) vec3 y@0x1dc4640)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1dc4820)\n" " (declare (in ) vec4 y@0x1dc4930)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1dc4b10)\n" " (declare (in ) float y@0x1dc4c20)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1dc4e00)\n" " (declare (in ) float y@0x1dc4f10)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1dc50f0)\n" " (declare (in ) float y@0x1dc5200)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function max\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x1dc53e0)\n" " (declare (in ) float y@0x1dc54f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1dc5870)\n" " (declare (in ) vec2 y@0x1dc5980)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1dc5b60)\n" " (declare (in ) vec3 y@0x1dc5c70)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1dc5e50)\n" " (declare (in ) vec4 y@0x1dc5f60)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1dc6140)\n" " (declare (in ) float y@0x1dc6250)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1dc6430)\n" " (declare (in ) float y@0x1dc6540)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1dc6720)\n" " (declare (in ) float y@0x1dc6830)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function clamp\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x1dc6a10)\n" " (declare (in ) float minVal@0x1dc6b20)\n" " (declare (in ) float maxVal@0x1dc6c30)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1dc6fb0)\n" " (declare (in ) vec2 minVal@0x1dc70c0)\n" " (declare (in ) vec2 maxVal@0x1dc71d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1dc73b0)\n" " (declare (in ) vec3 minVal@0x1dc74c0)\n" " (declare (in ) vec3 maxVal@0x1dc75d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1dc77b0)\n" " (declare (in ) vec4 minVal@0x1dc78c0)\n" " (declare (in ) vec4 maxVal@0x1dc79d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1dc7bb0)\n" " (declare (in ) float minVal@0x1dc7cc0)\n" " (declare (in ) float maxVal@0x1dc7dd0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1dc7fb0)\n" " (declare (in ) float minVal@0x1dc80c0)\n" " (declare (in ) float maxVal@0x1dc81d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1dc83b0)\n" " (declare (in ) float minVal@0x1dc84c0)\n" " (declare (in ) float maxVal@0x1dc85d0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function mix\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x1dc87b0)\n" " (declare (in ) float y@0x1dc88c0)\n" " (declare (in ) float a@0x1dc89d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1dc8d50)\n" " (declare (in ) vec2 y@0x1dc8e60)\n" " (declare (in ) vec2 a@0x1dc8f70)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1dc9150)\n" " (declare (in ) vec3 y@0x1dc9260)\n" " (declare (in ) vec3 a@0x1dc9370)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1dc9550)\n" " (declare (in ) vec4 y@0x1dc9660)\n" " (declare (in ) vec4 a@0x1dc9770)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1dc9950)\n" " (declare (in ) vec2 y@0x1dc9a60)\n" " (declare (in ) float a@0x1dc9b70)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1dc9d50)\n" " (declare (in ) vec3 y@0x1dc9e60)\n" " (declare (in ) float a@0x1dc9f70)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1dca150)\n" " (declare (in ) vec4 y@0x1dca260)\n" " (declare (in ) float a@0x1dca370)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function step\n" " (signature float\n" " (parameters\n" " (declare (in ) float edge@0x1dca550)\n" " (declare (in ) float x@0x1dca660)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 edge@0x1dca9e0)\n" " (declare (in ) vec2 x@0x1dcaaf0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 edge@0x1dcacd0)\n" " (declare (in ) vec3 x@0x1dcade0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 edge@0x1dcafc0)\n" " (declare (in ) vec4 x@0x1dcb0d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) float edge@0x1dcb2b0)\n" " (declare (in ) vec2 x@0x1dcb3c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) float edge@0x1dcb5a0)\n" " (declare (in ) vec3 x@0x1dcb6b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) float edge@0x1dcb890)\n" " (declare (in ) vec4 x@0x1dcb9a0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function smoothstep\n" " (signature float\n" " (parameters\n" " (declare (in ) float edge0@0x1dcbb80)\n" " (declare (in ) float edge1@0x1dcbc90)\n" " (declare (in ) float x@0x1dcbda0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 edge0@0x1dcc130)\n" " (declare (in ) vec2 edge1@0x1dcc240)\n" " (declare (in ) vec2 x@0x1dcc350)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 edge0@0x1dcc530)\n" " (declare (in ) vec3 edge1@0x1dcc640)\n" " (declare (in ) vec3 x@0x1dcc750)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 edge0@0x1dcc930)\n" " (declare (in ) vec4 edge1@0x1dcca40)\n" " (declare (in ) vec4 x@0x1dccb50)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) float edge0@0x1dccd30)\n" " (declare (in ) float edge1@0x1dcce40)\n" " (declare (in ) vec2 x@0x1dccf50)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) float edge0@0x1dcd130)\n" " (declare (in ) float edge1@0x1dcd240)\n" " (declare (in ) vec3 x@0x1dcd350)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) float edge0@0x1dcd530)\n" " (declare (in ) float edge1@0x1dcd640)\n" " (declare (in ) vec4 x@0x1dcd750)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function length\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x1dcd930)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec2 x@0x1dcdcb0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec3 x@0x1dcde90)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec4 x@0x1dce070)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function distance\n" " (signature float\n" " (parameters\n" " (declare (in ) float p0@0x1dce250)\n" " (declare (in ) float p1@0x1dce360)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec2 p0@0x1dce6f0)\n" " (declare (in ) vec2 p1@0x1dce800)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec3 p0@0x1dce9e0)\n" " (declare (in ) vec3 p1@0x1dceaf0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec4 p0@0x1dcecd0)\n" " (declare (in ) vec4 p1@0x1dcede0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function dot\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x1dcefc0)\n" " (declare (in ) float y@0x1dcf0d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec2 x@0x1dcf450)\n" " (declare (in ) vec2 y@0x1dcf560)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec3 x@0x1dcf740)\n" " (declare (in ) vec3 y@0x1dcf850)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec4 x@0x1dcfa30)\n" " (declare (in ) vec4 y@0x1dcfb40)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function cross\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1dcfd20)\n" " (declare (in ) vec3 y@0x1dcfe30)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function normalize\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x1dd01b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1dd0540)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1dd0720)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1dd0900)\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@0x1dd0d60)\n" " (declare (in ) float I@0x1dd0e70)\n" " (declare (in ) float Nref@0x1dd0f80)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 N@0x1dd1310)\n" " (declare (in ) vec2 I@0x1dd1420)\n" " (declare (in ) vec2 Nref@0x1dd1530)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 N@0x1dd1710)\n" " (declare (in ) vec3 I@0x1dd1820)\n" " (declare (in ) vec3 Nref@0x1dd1930)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 N@0x1dd1b10)\n" " (declare (in ) vec4 I@0x1dd1c20)\n" " (declare (in ) vec4 Nref@0x1dd1d30)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function reflect\n" " (signature float\n" " (parameters\n" " (declare (in ) float I@0x1dd1f10)\n" " (declare (in ) float N@0x1dd2020)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 I@0x1dd23a0)\n" " (declare (in ) vec2 N@0x1dd24b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 I@0x1dd2690)\n" " (declare (in ) vec3 N@0x1dd27a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 I@0x1dd2980)\n" " (declare (in ) vec4 N@0x1dd2a90)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function refract\n" " (signature float\n" " (parameters\n" " (declare (in ) float I@0x1dd2c70)\n" " (declare (in ) float N@0x1dd2d80)\n" " (declare (in ) float eta@0x1dd2e90)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 I@0x1dd3210)\n" " (declare (in ) vec2 N@0x1dd3320)\n" " (declare (in ) float eta@0x1dd3430)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 I@0x1dd3610)\n" " (declare (in ) vec3 N@0x1dd3720)\n" " (declare (in ) float eta@0x1dd3830)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 I@0x1dd3a10)\n" " (declare (in ) vec4 N@0x1dd3b20)\n" " (declare (in ) float eta@0x1dd3c30)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function matrixCompMult\n" " (signature mat2\n" " (parameters\n" " (declare (in ) mat2 x@0x1dd3e10)\n" " (declare (in ) mat2 y@0x1dd3f20)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat3\n" " (parameters\n" " (declare (in ) mat3 x@0x1dd42b0)\n" " (declare (in ) mat3 y@0x1dd43c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat4\n" " (parameters\n" " (declare (in ) mat4 x@0x1dd45a0)\n" " (declare (in ) mat4 y@0x1dd46b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat2x3\n" " (parameters\n" " (declare (in ) mat2x3 x@0x1dd4890)\n" " (declare (in ) mat2x3 y@0x1dd49a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat2x4\n" " (parameters\n" " (declare (in ) mat2x4 x@0x1dd4b80)\n" " (declare (in ) mat2x4 y@0x1dd4c90)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat3x2\n" " (parameters\n" " (declare (in ) mat3x2 x@0x1dd4e70)\n" " (declare (in ) mat3x2 y@0x1dd4f80)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat3x4\n" " (parameters\n" " (declare (in ) mat3x4 x@0x1dd5160)\n" " (declare (in ) mat3x4 y@0x1dd5270)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat4x2\n" " (parameters\n" " (declare (in ) mat4x2 x@0x1dd5450)\n" " (declare (in ) mat4x2 y@0x1dd5560)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat4x3\n" " (parameters\n" " (declare (in ) mat4x3 x@0x1dd5740)\n" " (declare (in ) mat4x3 y@0x1dd5850)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function outerProduct\n" " (signature mat2\n" " (parameters\n" " (declare (in ) vec2 c@0x1dd5a30)\n" " (declare (in ) vec2 r@0x1dd5b40)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat3\n" " (parameters\n" " (declare (in ) vec3 c@0x1dd5ed0)\n" " (declare (in ) vec3 r@0x1dd5fe0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat4\n" " (parameters\n" " (declare (in ) vec4 c@0x1dd61c0)\n" " (declare (in ) vec4 r@0x1dd62d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat2x3\n" " (parameters\n" " (declare (in ) vec3 c@0x1dd64b0)\n" " (declare (in ) vec2 r@0x1dd65c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat3x2\n" " (parameters\n" " (declare (in ) vec2 c@0x1dd67a0)\n" " (declare (in ) vec3 r@0x1dd68b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat2x4\n" " (parameters\n" " (declare (in ) vec4 c@0x1dd6a90)\n" " (declare (in ) vec2 r@0x1dd6ba0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat4x2\n" " (parameters\n" " (declare (in ) vec2 c@0x1dd6d80)\n" " (declare (in ) vec4 r@0x1dd6e90)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat3x4\n" " (parameters\n" " (declare (in ) vec4 c@0x1dd7070)\n" " (declare (in ) vec3 r@0x1dd7180)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat4x3\n" " (parameters\n" " (declare (in ) vec3 c@0x1dd7360)\n" " (declare (in ) vec4 r@0x1dd7470)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function transpose\n" " (signature mat2\n" " (parameters\n" " (declare (in ) mat2 m@0x1dd7650)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat3\n" " (parameters\n" " (declare (in ) mat3 m@0x1dd79e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat4\n" " (parameters\n" " (declare (in ) mat4 m@0x1dd7bc0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat2x3\n" " (parameters\n" " (declare (in ) mat3x2 m@0x1dd7da0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat3x2\n" " (parameters\n" " (declare (in ) mat2x3 m@0x1dd7f80)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat2x4\n" " (parameters\n" " (declare (in ) mat4x2 m@0x1dd8160)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat4x2\n" " (parameters\n" " (declare (in ) mat2x4 m@0x1dd8340)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat3x4\n" " (parameters\n" " (declare (in ) mat4x3 m@0x1dd8520)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat4x3\n" " (parameters\n" " (declare (in ) mat3x4 m@0x1dd8700)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function lessThan\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1dd88e0)\n" " (declare (in ) vec2 y@0x1dd89f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1dd8d80)\n" " (declare (in ) vec3 y@0x1dd8e90)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1dd9070)\n" " (declare (in ) vec4 y@0x1dd9180)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x1dd9360)\n" " (declare (in ) ivec2 y@0x1dd9470)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x1dd9650)\n" " (declare (in ) ivec3 y@0x1dd9760)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x1dd9940)\n" " (declare (in ) ivec4 y@0x1dd9a50)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function lessThanEqual\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1dd9c30)\n" " (declare (in ) vec2 y@0x1dd9d40)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1dda0d0)\n" " (declare (in ) vec3 y@0x1dda1e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1dda3c0)\n" " (declare (in ) vec4 y@0x1dda4d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x1dda6b0)\n" " (declare (in ) ivec2 y@0x1dda7c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x1dda9a0)\n" " (declare (in ) ivec3 y@0x1ddaab0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x1ddac90)\n" " (declare (in ) ivec4 y@0x1ddada0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function greaterThan\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1ddaf80)\n" " (declare (in ) vec2 y@0x1ddb090)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1ddb420)\n" " (declare (in ) vec3 y@0x1ddb530)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1ddb710)\n" " (declare (in ) vec4 y@0x1ddb820)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x1ddba00)\n" " (declare (in ) ivec2 y@0x1ddbb10)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x1ddbcf0)\n" " (declare (in ) ivec3 y@0x1ddbe00)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x1ddbfe0)\n" " (declare (in ) ivec4 y@0x1ddc0f0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function greaterThanEqual\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1ddc2d0)\n" " (declare (in ) vec2 y@0x1ddc3e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1ddc770)\n" " (declare (in ) vec3 y@0x1ddc880)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1ddca60)\n" " (declare (in ) vec4 y@0x1ddcb70)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x1ddcd50)\n" " (declare (in ) ivec2 y@0x1ddce60)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x1ddd040)\n" " (declare (in ) ivec3 y@0x1ddd150)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x1ddd330)\n" " (declare (in ) ivec4 y@0x1ddd440)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function equal\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1ddd620)\n" " (declare (in ) vec2 y@0x1ddd730)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1dddab0)\n" " (declare (in ) vec3 y@0x1dddbc0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1dddda0)\n" " (declare (in ) vec4 y@0x1dddeb0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x1dde090)\n" " (declare (in ) ivec2 y@0x1dde1a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x1dde380)\n" " (declare (in ) ivec3 y@0x1dde490)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x1dde670)\n" " (declare (in ) ivec4 y@0x1dde780)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) bvec2 x@0x1dde960)\n" " (declare (in ) bvec2 y@0x1ddea70)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) bvec3 x@0x1ddec50)\n" " (declare (in ) bvec3 y@0x1dded60)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) bvec4 x@0x1ddef40)\n" " (declare (in ) bvec4 y@0x1ddf050)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function notEqual\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1ddf230)\n" " (declare (in ) vec2 y@0x1ddf340)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1ddf6d0)\n" " (declare (in ) vec3 y@0x1ddf7e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1ddf9c0)\n" " (declare (in ) vec4 y@0x1ddfad0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x1ddfcb0)\n" " (declare (in ) ivec2 y@0x1ddfdc0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x1ddffa0)\n" " (declare (in ) ivec3 y@0x1de00b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x1de0290)\n" " (declare (in ) ivec4 y@0x1de03a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) bvec2 x@0x1de0580)\n" " (declare (in ) bvec2 y@0x1de0690)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) bvec3 x@0x1de0870)\n" " (declare (in ) bvec3 y@0x1de0980)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) bvec4 x@0x1de0b60)\n" " (declare (in ) bvec4 y@0x1de0c70)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function any\n" " (signature bool\n" " (parameters\n" " (declare (in ) bvec2 x@0x1de0e50)\n" " )\n" " (\n" " ))\n" "\n" " (signature bool\n" " (parameters\n" " (declare (in ) bvec3 x@0x1de11d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bool\n" " (parameters\n" " (declare (in ) bvec4 x@0x1de13b0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function all\n" " (signature bool\n" " (parameters\n" " (declare (in ) bvec2 x@0x1de1590)\n" " )\n" " (\n" " ))\n" "\n" " (signature bool\n" " (parameters\n" " (declare (in ) bvec3 x@0x1de1910)\n" " )\n" " (\n" " ))\n" "\n" " (signature bool\n" " (parameters\n" " (declare (in ) bvec4 x@0x1de1af0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function not\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) bvec2 x@0x1de1cd0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) bvec3 x@0x1de2050)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) bvec4 x@0x1de2230)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture1D\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1de2410)\n" " (declare (in ) float coord@0x1de2520)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture1DProj\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1de28b0)\n" " (declare (in ) vec2 coord@0x1de29c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1de2d50)\n" " (declare (in ) vec4 coord@0x1de2e60)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture1DLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1de3040)\n" " (declare (in ) float coord@0x1de3150)\n" " (declare (in ) float lod@0x1de3260)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture1DProjLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1de35f0)\n" " (declare (in ) vec2 coord@0x1de3700)\n" " (declare (in ) float lod@0x1de3810)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1de3ba0)\n" " (declare (in ) vec4 coord@0x1de3cb0)\n" " (declare (in ) float lod@0x1de3dc0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture2D\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x1de3fa0)\n" " (declare (in ) vec2 coord@0x1de40b0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture2DProj\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x1de4440)\n" " (declare (in ) vec3 coord@0x1de4550)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x1de48e0)\n" " (declare (in ) vec4 coord@0x1de49f0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture2DLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x1de4bd0)\n" " (declare (in ) vec2 coord@0x1de4ce0)\n" " (declare (in ) float lod@0x1de4df0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture2DProjLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x1de5180)\n" " (declare (in ) vec3 coord@0x1de5290)\n" " (declare (in ) float lod@0x1de53a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x1de5730)\n" " (declare (in ) vec4 coord@0x1de5840)\n" " (declare (in ) float lod@0x1de5950)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture3D\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x1de5b30)\n" " (declare (in ) vec3 coord@0x1de5c40)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture3DProj\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x1de5fd0)\n" " (declare (in ) vec4 coord@0x1de60e0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture3DLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x1de6470)\n" " (declare (in ) vec3 coord@0x1de6580)\n" " (declare (in ) float lod@0x1de6690)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture3DProjLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x1de6a20)\n" " (declare (in ) vec4 coord@0x1de6b30)\n" " (declare (in ) float lod@0x1de6c40)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function textureCube\n" " (signature vec4\n" " (parameters\n" " (declare (in ) samplerCube sampler@0x1de6fd0)\n" " (declare (in ) vec3 coord@0x1de70e0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function textureCubeLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) samplerCube sampler@0x1de7470)\n" " (declare (in ) vec3 coord@0x1de7580)\n" " (declare (in ) float lod@0x1de7690)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow1D\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x1de7a20)\n" " (declare (in ) vec3 coord@0x1de7b30)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow2D\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x1de7ec0)\n" " (declare (in ) vec3 coord@0x1de7fd0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow1DProj\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x1de8360)\n" " (declare (in ) vec4 coord@0x1de8470)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow2DProj\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x1de8800)\n" " (declare (in ) vec4 coord@0x1de8910)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow1DLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x1de8ca0)\n" " (declare (in ) vec3 coord@0x1de8db0)\n" " (declare (in ) float lod@0x1de8ec0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow2DLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x1de9250)\n" " (declare (in ) vec3 coord@0x1de9360)\n" " (declare (in ) float lod@0x1de9470)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow1DProjLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x1de9800)\n" " (declare (in ) vec4 coord@0x1de9910)\n" " (declare (in ) float lod@0x1de9a20)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow2DProjLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x1de9db0)\n" " (declare (in ) vec4 coord@0x1de9ec0)\n" " (declare (in ) float lod@0x1de9fd0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function noise1\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x1dea360)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec2 x@0x1dea6e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec3 x@0x1dea8c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec4 x@0x1deaaa0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function noise2\n" " (signature vec2\n" " (parameters\n" " (declare (in ) float x@0x1deac80)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1deb000)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec3 x@0x1deb1e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec4 x@0x1deb3c0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function noise3\n" " (signature vec3\n" " (parameters\n" " (declare (in ) float x@0x1deb5a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec2 x@0x1deb920)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1debb00)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec4 x@0x1debce0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function noise4\n" " (signature vec4\n" " (parameters\n" " (declare (in ) float x@0x1debec0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec2 x@0x1dec240)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec3 x@0x1dec420)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1dec600)\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@0xd79bd0)\n" " (declare (in ) vec2 coord@0xd79ce0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DArray sampler@0xd7a070)\n" " (declare (in ) vec2 coord@0xd7a180)\n" " (declare (in ) float bias@0xd7a290)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture2DArray\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DArray sampler@0xd7a470)\n" " (declare (in ) vec3 coord@0xd7a580)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DArray sampler@0xd7a910)\n" " (declare (in ) vec3 coord@0xd7aa20)\n" " (declare (in ) float bias@0xd7ab30)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow1DArray\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DArrayShadow sampler@0xd7ad10)\n" " (declare (in ) vec3 coord@0xd7ae20)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DArrayShadow sampler@0xd7b1b0)\n" " (declare (in ) vec3 coord@0xd7b2c0)\n" " (declare (in ) float bias@0xd7b3d0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow2DArray\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DArrayShadow sampler@0xd7b5b0)\n" " (declare (in ) vec4 coord@0xd7b6c0)\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@0x26861c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 degrees@0x2686540)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 degrees@0x2686720)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 degrees@0x2686900)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function degrees\n" " (signature float\n" " (parameters\n" " (declare (in ) float radians@0x2686ae0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 radians@0x2686e60)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 radians@0x2687040)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 radians@0x2687220)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function sin\n" " (signature float\n" " (parameters\n" " (declare (in ) float angle@0x2687400)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 angle@0x2687780)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 angle@0x2687960)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 angle@0x2687b40)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function cos\n" " (signature float\n" " (parameters\n" " (declare (in ) float angle@0x2687d20)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 angle@0x26880a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 angle@0x2688280)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 angle@0x2688460)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function tan\n" " (signature float\n" " (parameters\n" " (declare (in ) float angle@0x2688640)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 angle@0x26889c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 angle@0x2688ba0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 angle@0x2688d80)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function asin\n" " (signature float\n" " (parameters\n" " (declare (in ) float angle@0x2688f60)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 angle@0x26892e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 angle@0x26894c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 angle@0x26896a0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function acos\n" " (signature float\n" " (parameters\n" " (declare (in ) float angle@0x2689880)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 angle@0x2689c00)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 angle@0x2689de0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 angle@0x2689fc0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function atan\n" " (signature float\n" " (parameters\n" " (declare (in ) float y@0x268a1a0)\n" " (declare (in ) float x@0x268a2b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 y@0x268a630)\n" " (declare (in ) vec2 x@0x268a740)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 y@0x268a920)\n" " (declare (in ) vec3 x@0x268aa30)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 y@0x268ac10)\n" " (declare (in ) vec4 x@0x268ad20)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) float y_over_x@0x268af00)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 y_over_x@0x268b0f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 y_over_x@0x268b2e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 y_over_x@0x268b4d0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function pow\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x268b6c0)\n" " (declare (in ) float y@0x268b7d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x268bb50)\n" " (declare (in ) vec2 y@0x268bc60)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x268be40)\n" " (declare (in ) vec3 y@0x268bf50)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x268c130)\n" " (declare (in ) vec4 y@0x268c240)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function exp\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x268c420)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x268c7a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x268c980)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x268cb60)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function log\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x268cd40)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x268d0c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x268d2a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x268d480)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function exp2\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x268d660)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x268d9e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x268dbc0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x268dda0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function log2\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x268df80)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x268e300)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x268e4e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x268e6c0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function sqrt\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x268e8a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x268ec20)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x268ee00)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x268efe0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function inversesqrt\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x268f1c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x268f550)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x268f730)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x268f910)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function abs\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x268faf0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x268fe70)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x2690050)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x2690230)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function sign\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x2690410)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x2690790)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x2690970)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x2690b50)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function floor\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x2690d30)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x26910b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x2691290)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x2691470)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function ceil\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x2691650)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x26919d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x2691bb0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x2691d90)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function fract\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x2691f70)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x26922f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x26924d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x26926b0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function mod\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x2692890)\n" " (declare (in ) float y@0x26929a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x2692d20)\n" " (declare (in ) float y@0x2692e30)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x2693010)\n" " (declare (in ) float y@0x2693120)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x2693300)\n" " (declare (in ) float y@0x2693410)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x26935f0)\n" " (declare (in ) vec2 y@0x2693700)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x26938e0)\n" " (declare (in ) vec3 y@0x26939f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x2693bd0)\n" " (declare (in ) vec4 y@0x2693ce0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function min\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x2693ec0)\n" " (declare (in ) float y@0x2693fd0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x2694350)\n" " (declare (in ) vec2 y@0x2694460)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x2694640)\n" " (declare (in ) vec3 y@0x2694750)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x2694930)\n" " (declare (in ) vec4 y@0x2694a40)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x2694c20)\n" " (declare (in ) float y@0x2694d30)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x2694f10)\n" " (declare (in ) float y@0x2695020)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x2695200)\n" " (declare (in ) float y@0x2695310)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function max\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x26954f0)\n" " (declare (in ) float y@0x2695600)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x2695980)\n" " (declare (in ) vec2 y@0x2695a90)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x2695c70)\n" " (declare (in ) vec3 y@0x2695d80)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x2695f60)\n" " (declare (in ) vec4 y@0x2696070)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x2696250)\n" " (declare (in ) float y@0x2696360)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x2696540)\n" " (declare (in ) float y@0x2696650)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x2696830)\n" " (declare (in ) float y@0x2696940)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function clamp\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x2696b20)\n" " (declare (in ) float minVal@0x2696c30)\n" " (declare (in ) float maxVal@0x2696d40)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x26970c0)\n" " (declare (in ) vec2 minVal@0x26971d0)\n" " (declare (in ) vec2 maxVal@0x26972e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x26974c0)\n" " (declare (in ) vec3 minVal@0x26975d0)\n" " (declare (in ) vec3 maxVal@0x26976e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x26978c0)\n" " (declare (in ) vec4 minVal@0x26979d0)\n" " (declare (in ) vec4 maxVal@0x2697ae0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x2697cc0)\n" " (declare (in ) float minVal@0x2697dd0)\n" " (declare (in ) float maxVal@0x2697ee0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x26980c0)\n" " (declare (in ) float minVal@0x26981d0)\n" " (declare (in ) float maxVal@0x26982e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x26984c0)\n" " (declare (in ) float minVal@0x26985d0)\n" " (declare (in ) float maxVal@0x26986e0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function mix\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x26988c0)\n" " (declare (in ) float y@0x26989d0)\n" " (declare (in ) float a@0x2698ae0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x2698e60)\n" " (declare (in ) vec2 y@0x2698f70)\n" " (declare (in ) vec2 a@0x2699080)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x2699260)\n" " (declare (in ) vec3 y@0x2699370)\n" " (declare (in ) vec3 a@0x2699480)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x2699660)\n" " (declare (in ) vec4 y@0x2699770)\n" " (declare (in ) vec4 a@0x2699880)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x2699a60)\n" " (declare (in ) vec2 y@0x2699b70)\n" " (declare (in ) float a@0x2699c80)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x2699e60)\n" " (declare (in ) vec3 y@0x2699f70)\n" " (declare (in ) float a@0x269a080)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x269a260)\n" " (declare (in ) vec4 y@0x269a370)\n" " (declare (in ) float a@0x269a480)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function step\n" " (signature float\n" " (parameters\n" " (declare (in ) float edge@0x269a660)\n" " (declare (in ) float x@0x269a770)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 edge@0x269aaf0)\n" " (declare (in ) vec2 x@0x269ac00)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 edge@0x269ade0)\n" " (declare (in ) vec3 x@0x269aef0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 edge@0x269b0d0)\n" " (declare (in ) vec4 x@0x269b1e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) float edge@0x269b3c0)\n" " (declare (in ) vec2 x@0x269b4d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) float edge@0x269b6b0)\n" " (declare (in ) vec3 x@0x269b7c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) float edge@0x269b9a0)\n" " (declare (in ) vec4 x@0x269bab0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function smoothstep\n" " (signature float\n" " (parameters\n" " (declare (in ) float edge0@0x269bc90)\n" " (declare (in ) float edge1@0x269bda0)\n" " (declare (in ) float x@0x269beb0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 edge0@0x269c240)\n" " (declare (in ) vec2 edge1@0x269c350)\n" " (declare (in ) vec2 x@0x269c460)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 edge0@0x269c640)\n" " (declare (in ) vec3 edge1@0x269c750)\n" " (declare (in ) vec3 x@0x269c860)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 edge0@0x269ca40)\n" " (declare (in ) vec4 edge1@0x269cb50)\n" " (declare (in ) vec4 x@0x269cc60)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) float edge0@0x269ce40)\n" " (declare (in ) float edge1@0x269cf50)\n" " (declare (in ) vec2 x@0x269d060)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) float edge0@0x269d240)\n" " (declare (in ) float edge1@0x269d350)\n" " (declare (in ) vec3 x@0x269d460)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) float edge0@0x269d640)\n" " (declare (in ) float edge1@0x269d750)\n" " (declare (in ) vec4 x@0x269d860)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function length\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x269da40)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec2 x@0x269ddc0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec3 x@0x269dfa0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec4 x@0x269e180)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function distance\n" " (signature float\n" " (parameters\n" " (declare (in ) float p0@0x269e360)\n" " (declare (in ) float p1@0x269e470)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec2 p0@0x269e800)\n" " (declare (in ) vec2 p1@0x269e910)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec3 p0@0x269eaf0)\n" " (declare (in ) vec3 p1@0x269ec00)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec4 p0@0x269ede0)\n" " (declare (in ) vec4 p1@0x269eef0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function dot\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x269f0d0)\n" " (declare (in ) float y@0x269f1e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec2 x@0x269f560)\n" " (declare (in ) vec2 y@0x269f670)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec3 x@0x269f850)\n" " (declare (in ) vec3 y@0x269f960)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec4 x@0x269fb40)\n" " (declare (in ) vec4 y@0x269fc50)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function cross\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x269fe30)\n" " (declare (in ) vec3 y@0x269ff40)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function normalize\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x26a02c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x26a0650)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x26a0830)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x26a0a10)\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@0x26a0e70)\n" " (declare (in ) float I@0x26a0f80)\n" " (declare (in ) float Nref@0x26a1090)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 N@0x26a1420)\n" " (declare (in ) vec2 I@0x26a1530)\n" " (declare (in ) vec2 Nref@0x26a1640)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 N@0x26a1820)\n" " (declare (in ) vec3 I@0x26a1930)\n" " (declare (in ) vec3 Nref@0x26a1a40)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 N@0x26a1c20)\n" " (declare (in ) vec4 I@0x26a1d30)\n" " (declare (in ) vec4 Nref@0x26a1e40)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function reflect\n" " (signature float\n" " (parameters\n" " (declare (in ) float I@0x26a2020)\n" " (declare (in ) float N@0x26a2130)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 I@0x26a24b0)\n" " (declare (in ) vec2 N@0x26a25c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 I@0x26a27a0)\n" " (declare (in ) vec3 N@0x26a28b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 I@0x26a2a90)\n" " (declare (in ) vec4 N@0x26a2ba0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function refract\n" " (signature float\n" " (parameters\n" " (declare (in ) float I@0x26a2d80)\n" " (declare (in ) float N@0x26a2e90)\n" " (declare (in ) float eta@0x26a2fa0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 I@0x26a3320)\n" " (declare (in ) vec2 N@0x26a3430)\n" " (declare (in ) float eta@0x26a3540)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 I@0x26a3720)\n" " (declare (in ) vec3 N@0x26a3830)\n" " (declare (in ) float eta@0x26a3940)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 I@0x26a3b20)\n" " (declare (in ) vec4 N@0x26a3c30)\n" " (declare (in ) float eta@0x26a3d40)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function matrixCompMult\n" " (signature mat2\n" " (parameters\n" " (declare (in ) mat2 x@0x26a3f20)\n" " (declare (in ) mat2 y@0x26a4030)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat3\n" " (parameters\n" " (declare (in ) mat3 x@0x26a43c0)\n" " (declare (in ) mat3 y@0x26a44d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat4\n" " (parameters\n" " (declare (in ) mat4 x@0x26a46b0)\n" " (declare (in ) mat4 y@0x26a47c0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function lessThan\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) vec2 x@0x26a49a0)\n" " (declare (in ) vec2 y@0x26a4ab0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) vec3 x@0x26a4e40)\n" " (declare (in ) vec3 y@0x26a4f50)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) vec4 x@0x26a5130)\n" " (declare (in ) vec4 y@0x26a5240)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x26a5420)\n" " (declare (in ) ivec2 y@0x26a5530)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x26a5710)\n" " (declare (in ) ivec3 y@0x26a5820)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x26a5a00)\n" " (declare (in ) ivec4 y@0x26a5b10)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function lessThanEqual\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) vec2 x@0x26a5cf0)\n" " (declare (in ) vec2 y@0x26a5e00)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) vec3 x@0x26a6190)\n" " (declare (in ) vec3 y@0x26a62a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) vec4 x@0x26a6480)\n" " (declare (in ) vec4 y@0x26a6590)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x26a6770)\n" " (declare (in ) ivec2 y@0x26a6880)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x26a6a60)\n" " (declare (in ) ivec3 y@0x26a6b70)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x26a6d50)\n" " (declare (in ) ivec4 y@0x26a6e60)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function greaterThan\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) vec2 x@0x26a7040)\n" " (declare (in ) vec2 y@0x26a7150)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) vec3 x@0x26a74e0)\n" " (declare (in ) vec3 y@0x26a75f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) vec4 x@0x26a77d0)\n" " (declare (in ) vec4 y@0x26a78e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x26a7ac0)\n" " (declare (in ) ivec2 y@0x26a7bd0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x26a7db0)\n" " (declare (in ) ivec3 y@0x26a7ec0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x26a80a0)\n" " (declare (in ) ivec4 y@0x26a81b0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function greaterThanEqual\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) vec2 x@0x26a8390)\n" " (declare (in ) vec2 y@0x26a84a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) vec3 x@0x26a8830)\n" " (declare (in ) vec3 y@0x26a8940)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) vec4 x@0x26a8b20)\n" " (declare (in ) vec4 y@0x26a8c30)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x26a8e10)\n" " (declare (in ) ivec2 y@0x26a8f20)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x26a9100)\n" " (declare (in ) ivec3 y@0x26a9210)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x26a93f0)\n" " (declare (in ) ivec4 y@0x26a9500)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function equal\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) vec2 x@0x26a96e0)\n" " (declare (in ) vec2 y@0x26a97f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) vec3 x@0x26a9b70)\n" " (declare (in ) vec3 y@0x26a9c80)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) vec4 x@0x26a9e60)\n" " (declare (in ) vec4 y@0x26a9f70)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x26aa150)\n" " (declare (in ) ivec2 y@0x26aa260)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x26aa440)\n" " (declare (in ) ivec3 y@0x26aa550)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x26aa730)\n" " (declare (in ) ivec4 y@0x26aa840)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) bvec2 x@0x26aaa20)\n" " (declare (in ) bvec2 y@0x26aab30)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) bvec3 x@0x26aad10)\n" " (declare (in ) bvec3 y@0x26aae20)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) bvec4 x@0x26ab000)\n" " (declare (in ) bvec4 y@0x26ab110)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function notEqual\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) vec2 x@0x26ab2f0)\n" " (declare (in ) vec2 y@0x26ab400)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) vec3 x@0x26ab790)\n" " (declare (in ) vec3 y@0x26ab8a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) vec4 x@0x26aba80)\n" " (declare (in ) vec4 y@0x26abb90)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x26abd70)\n" " (declare (in ) ivec2 y@0x26abe80)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x26ac060)\n" " (declare (in ) ivec3 y@0x26ac170)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x26ac350)\n" " (declare (in ) ivec4 y@0x26ac460)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) bvec2 x@0x26ac640)\n" " (declare (in ) bvec2 y@0x26ac750)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) bvec3 x@0x26ac930)\n" " (declare (in ) bvec3 y@0x26aca40)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) bvec4 x@0x26acc20)\n" " (declare (in ) bvec4 y@0x26acd30)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function any\n" " (signature bool\n" " (parameters\n" " (declare (in ) bvec2 x@0x26acf10)\n" " )\n" " (\n" " ))\n" "\n" " (signature bool\n" " (parameters\n" " (declare (in ) bvec3 x@0x26ad290)\n" " )\n" " (\n" " ))\n" "\n" " (signature bool\n" " (parameters\n" " (declare (in ) bvec4 x@0x26ad470)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function all\n" " (signature bool\n" " (parameters\n" " (declare (in ) bvec2 x@0x26ad650)\n" " )\n" " (\n" " ))\n" "\n" " (signature bool\n" " (parameters\n" " (declare (in ) bvec3 x@0x26ad9d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bool\n" " (parameters\n" " (declare (in ) bvec4 x@0x26adbb0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function not\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) bvec2 x@0x26add90)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) bvec3 x@0x26ae110)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) bvec4 x@0x26ae2f0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture1D\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x26ae4d0)\n" " (declare (in ) float coord@0x26ae5e0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture1DProj\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x26ae970)\n" " (declare (in ) vec2 coord@0x26aea80)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x26aee10)\n" " (declare (in ) vec4 coord@0x26aef20)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture1DLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x26af100)\n" " (declare (in ) float coord@0x26af210)\n" " (declare (in ) float lod@0x26af320)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture1DProjLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x26af6b0)\n" " (declare (in ) vec2 coord@0x26af7c0)\n" " (declare (in ) float lod@0x26af8d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x26afc60)\n" " (declare (in ) vec4 coord@0x26afd70)\n" " (declare (in ) float lod@0x26afe80)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture2D\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x26b0060)\n" " (declare (in ) vec2 coord@0x26b0170)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture2DProj\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x26b0500)\n" " (declare (in ) vec3 coord@0x26b0610)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x26b09a0)\n" " (declare (in ) vec4 coord@0x26b0ab0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture2DLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x26b0c90)\n" " (declare (in ) vec2 coord@0x26b0da0)\n" " (declare (in ) float lod@0x26b0eb0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture2DProjLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x26b1240)\n" " (declare (in ) vec3 coord@0x26b1350)\n" " (declare (in ) float lod@0x26b1460)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x26b17f0)\n" " (declare (in ) vec4 coord@0x26b1900)\n" " (declare (in ) float lod@0x26b1a10)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture3D\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x26b1bf0)\n" " (declare (in ) vec3 coord@0x26b1d00)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture3DProj\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x26b2090)\n" " (declare (in ) vec4 coord@0x26b21a0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture3DLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x26b2530)\n" " (declare (in ) vec3 coord@0x26b2640)\n" " (declare (in ) float lod@0x26b2750)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture3DProjLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x26b2ae0)\n" " (declare (in ) vec4 coord@0x26b2bf0)\n" " (declare (in ) float lod@0x26b2d00)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function textureCube\n" " (signature vec4\n" " (parameters\n" " (declare (in ) samplerCube sampler@0x26b3090)\n" " (declare (in ) vec3 coord@0x26b31a0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function textureCubeLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) samplerCube sampler@0x26b3530)\n" " (declare (in ) vec3 coord@0x26b3640)\n" " (declare (in ) float lod@0x26b3750)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow1D\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x26b3ae0)\n" " (declare (in ) vec3 coord@0x26b3bf0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow2D\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x26b3f80)\n" " (declare (in ) vec3 coord@0x26b4090)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow1DProj\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x26b4420)\n" " (declare (in ) vec4 coord@0x26b4530)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow2DProj\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x26b48c0)\n" " (declare (in ) vec4 coord@0x26b49d0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow1DLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x26b4d60)\n" " (declare (in ) vec3 coord@0x26b4e70)\n" " (declare (in ) float lod@0x26b4f80)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow2DLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x26b5310)\n" " (declare (in ) vec3 coord@0x26b5420)\n" " (declare (in ) float lod@0x26b5530)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow1DProjLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x26b58c0)\n" " (declare (in ) vec4 coord@0x26b59d0)\n" " (declare (in ) float lod@0x26b5ae0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow2DProjLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x26b5e70)\n" " (declare (in ) vec4 coord@0x26b5f80)\n" " (declare (in ) float lod@0x26b6090)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function noise1\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x26b6420)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec2 x@0x26b67a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec3 x@0x26b6980)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec4 x@0x26b6b60)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function noise2\n" " (signature vec2\n" " (parameters\n" " (declare (in ) float x@0x26b6d40)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x26b70c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec3 x@0x26b72a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec4 x@0x26b7480)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function noise3\n" " (signature vec3\n" " (parameters\n" " (declare (in ) float x@0x26b7660)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec2 x@0x26b79e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x26b7bc0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec4 x@0x26b7da0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function noise4\n" " (signature vec4\n" " (parameters\n" " (declare (in ) float x@0x26b7f80)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec2 x@0x26b8300)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec3 x@0x26b84e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x26b86c0)\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@0x25c3280)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 degrees@0x25c3600)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 degrees@0x25c37e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 degrees@0x25c39c0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function degrees\n" " (signature float\n" " (parameters\n" " (declare (in ) float radians@0x25c3ba0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 radians@0x25c3f20)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 radians@0x25c4100)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 radians@0x25c42e0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function sin\n" " (signature float\n" " (parameters\n" " (declare (in ) float angle@0x25c44c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 angle@0x25c4840)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 angle@0x25c4a20)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 angle@0x25c4c00)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function cos\n" " (signature float\n" " (parameters\n" " (declare (in ) float angle@0x25c4de0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 angle@0x25c5160)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 angle@0x25c5340)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 angle@0x25c5520)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function tan\n" " (signature float\n" " (parameters\n" " (declare (in ) float angle@0x25c5700)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 angle@0x25c5a80)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 angle@0x25c5c60)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 angle@0x25c5e40)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function asin\n" " (signature float\n" " (parameters\n" " (declare (in ) float angle@0x25c6020)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 angle@0x25c63a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 angle@0x25c6580)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 angle@0x25c6760)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function acos\n" " (signature float\n" " (parameters\n" " (declare (in ) float angle@0x25c6940)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 angle@0x25c6cc0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 angle@0x25c6ea0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 angle@0x25c7080)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function atan\n" " (signature float\n" " (parameters\n" " (declare (in ) float y@0x25c7260)\n" " (declare (in ) float x@0x25c7370)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 y@0x25c76f0)\n" " (declare (in ) vec2 x@0x25c7800)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 y@0x25c79e0)\n" " (declare (in ) vec3 x@0x25c7af0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 y@0x25c7cd0)\n" " (declare (in ) vec4 x@0x25c7de0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) float y_over_x@0x25c7fc0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 y_over_x@0x25c81b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 y_over_x@0x25c83a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 y_over_x@0x25c8590)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function pow\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x25c8780)\n" " (declare (in ) float y@0x25c8890)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x25c8c10)\n" " (declare (in ) vec2 y@0x25c8d20)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x25c8f00)\n" " (declare (in ) vec3 y@0x25c9010)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x25c91f0)\n" " (declare (in ) vec4 y@0x25c9300)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function exp\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x25c94e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x25c9860)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x25c9a40)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x25c9c20)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function log\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x25c9e00)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x25ca180)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x25ca360)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x25ca540)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function exp2\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x25ca720)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x25caaa0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x25cac80)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x25cae60)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function log2\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x25cb040)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x25cb3c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x25cb5a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x25cb780)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function sqrt\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x25cb960)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x25cbce0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x25cbec0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x25cc0a0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function inversesqrt\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x25cc280)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x25cc610)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x25cc7f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x25cc9d0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function abs\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x25ccbb0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x25ccf30)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x25cd110)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x25cd2f0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function sign\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x25cd4d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x25cd850)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x25cda30)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x25cdc10)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function floor\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x25cddf0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x25ce170)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x25ce350)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x25ce530)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function ceil\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x25ce710)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x25cea90)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x25cec70)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x25cee50)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function fract\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x25cf030)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x25cf3b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x25cf590)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x25cf770)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function mod\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x25cf950)\n" " (declare (in ) float y@0x25cfa60)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x25cfde0)\n" " (declare (in ) float y@0x25cfef0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x25d00d0)\n" " (declare (in ) float y@0x25d01e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x25d03c0)\n" " (declare (in ) float y@0x25d04d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x25d06b0)\n" " (declare (in ) vec2 y@0x25d07c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x25d09a0)\n" " (declare (in ) vec3 y@0x25d0ab0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x25d0c90)\n" " (declare (in ) vec4 y@0x25d0da0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function min\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x25d0f80)\n" " (declare (in ) float y@0x25d1090)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x25d1410)\n" " (declare (in ) vec2 y@0x25d1520)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x25d1700)\n" " (declare (in ) vec3 y@0x25d1810)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x25d19f0)\n" " (declare (in ) vec4 y@0x25d1b00)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x25d1ce0)\n" " (declare (in ) float y@0x25d1df0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x25d1fd0)\n" " (declare (in ) float y@0x25d20e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x25d22c0)\n" " (declare (in ) float y@0x25d23d0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function max\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x25d25b0)\n" " (declare (in ) float y@0x25d26c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x25d2a40)\n" " (declare (in ) vec2 y@0x25d2b50)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x25d2d30)\n" " (declare (in ) vec3 y@0x25d2e40)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x25d3020)\n" " (declare (in ) vec4 y@0x25d3130)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x25d3310)\n" " (declare (in ) float y@0x25d3420)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x25d3600)\n" " (declare (in ) float y@0x25d3710)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x25d38f0)\n" " (declare (in ) float y@0x25d3a00)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function clamp\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x25d3be0)\n" " (declare (in ) float minVal@0x25d3cf0)\n" " (declare (in ) float maxVal@0x25d3e00)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x25d4180)\n" " (declare (in ) vec2 minVal@0x25d4290)\n" " (declare (in ) vec2 maxVal@0x25d43a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x25d4580)\n" " (declare (in ) vec3 minVal@0x25d4690)\n" " (declare (in ) vec3 maxVal@0x25d47a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x25d4980)\n" " (declare (in ) vec4 minVal@0x25d4a90)\n" " (declare (in ) vec4 maxVal@0x25d4ba0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x25d4d80)\n" " (declare (in ) float minVal@0x25d4e90)\n" " (declare (in ) float maxVal@0x25d4fa0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x25d5180)\n" " (declare (in ) float minVal@0x25d5290)\n" " (declare (in ) float maxVal@0x25d53a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x25d5580)\n" " (declare (in ) float minVal@0x25d5690)\n" " (declare (in ) float maxVal@0x25d57a0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function mix\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x25d5980)\n" " (declare (in ) float y@0x25d5a90)\n" " (declare (in ) float a@0x25d5ba0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x25d5f20)\n" " (declare (in ) vec2 y@0x25d6030)\n" " (declare (in ) vec2 a@0x25d6140)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x25d6320)\n" " (declare (in ) vec3 y@0x25d6430)\n" " (declare (in ) vec3 a@0x25d6540)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x25d6720)\n" " (declare (in ) vec4 y@0x25d6830)\n" " (declare (in ) vec4 a@0x25d6940)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x25d6b20)\n" " (declare (in ) vec2 y@0x25d6c30)\n" " (declare (in ) float a@0x25d6d40)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x25d6f20)\n" " (declare (in ) vec3 y@0x25d7030)\n" " (declare (in ) float a@0x25d7140)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x25d7320)\n" " (declare (in ) vec4 y@0x25d7430)\n" " (declare (in ) float a@0x25d7540)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function step\n" " (signature float\n" " (parameters\n" " (declare (in ) float edge@0x25d7720)\n" " (declare (in ) float x@0x25d7830)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 edge@0x25d7bb0)\n" " (declare (in ) vec2 x@0x25d7cc0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 edge@0x25d7ea0)\n" " (declare (in ) vec3 x@0x25d7fb0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 edge@0x25d8190)\n" " (declare (in ) vec4 x@0x25d82a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) float edge@0x25d8480)\n" " (declare (in ) vec2 x@0x25d8590)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) float edge@0x25d8770)\n" " (declare (in ) vec3 x@0x25d8880)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) float edge@0x25d8a60)\n" " (declare (in ) vec4 x@0x25d8b70)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function smoothstep\n" " (signature float\n" " (parameters\n" " (declare (in ) float edge0@0x25d8d50)\n" " (declare (in ) float edge1@0x25d8e60)\n" " (declare (in ) float x@0x25d8f70)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 edge0@0x25d9300)\n" " (declare (in ) vec2 edge1@0x25d9410)\n" " (declare (in ) vec2 x@0x25d9520)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 edge0@0x25d9700)\n" " (declare (in ) vec3 edge1@0x25d9810)\n" " (declare (in ) vec3 x@0x25d9920)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 edge0@0x25d9b00)\n" " (declare (in ) vec4 edge1@0x25d9c10)\n" " (declare (in ) vec4 x@0x25d9d20)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) float edge0@0x25d9f00)\n" " (declare (in ) float edge1@0x25da010)\n" " (declare (in ) vec2 x@0x25da120)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) float edge0@0x25da300)\n" " (declare (in ) float edge1@0x25da410)\n" " (declare (in ) vec3 x@0x25da520)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) float edge0@0x25da700)\n" " (declare (in ) float edge1@0x25da810)\n" " (declare (in ) vec4 x@0x25da920)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function length\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x25dab00)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec2 x@0x25dae80)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec3 x@0x25db060)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec4 x@0x25db240)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function distance\n" " (signature float\n" " (parameters\n" " (declare (in ) float p0@0x25db420)\n" " (declare (in ) float p1@0x25db530)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec2 p0@0x25db8c0)\n" " (declare (in ) vec2 p1@0x25db9d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec3 p0@0x25dbbb0)\n" " (declare (in ) vec3 p1@0x25dbcc0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec4 p0@0x25dbea0)\n" " (declare (in ) vec4 p1@0x25dbfb0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function dot\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x25dc190)\n" " (declare (in ) float y@0x25dc2a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec2 x@0x25dc620)\n" " (declare (in ) vec2 y@0x25dc730)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec3 x@0x25dc910)\n" " (declare (in ) vec3 y@0x25dca20)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec4 x@0x25dcc00)\n" " (declare (in ) vec4 y@0x25dcd10)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function cross\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x25dcef0)\n" " (declare (in ) vec3 y@0x25dd000)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function normalize\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x25dd380)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x25dd710)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x25dd8f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x25ddad0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function faceforward\n" " (signature float\n" " (parameters\n" " (declare (in ) float N@0x25ddcb0)\n" " (declare (in ) float I@0x25dddc0)\n" " (declare (in ) float Nref@0x25dded0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 N@0x25de260)\n" " (declare (in ) vec2 I@0x25de370)\n" " (declare (in ) vec2 Nref@0x25de480)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 N@0x25de660)\n" " (declare (in ) vec3 I@0x25de770)\n" " (declare (in ) vec3 Nref@0x25de880)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 N@0x25dea60)\n" " (declare (in ) vec4 I@0x25deb70)\n" " (declare (in ) vec4 Nref@0x25dec80)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function reflect\n" " (signature float\n" " (parameters\n" " (declare (in ) float I@0x25dee60)\n" " (declare (in ) float N@0x25def70)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 I@0x25df2f0)\n" " (declare (in ) vec2 N@0x25df400)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 I@0x25df5e0)\n" " (declare (in ) vec3 N@0x25df6f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 I@0x25df8d0)\n" " (declare (in ) vec4 N@0x25df9e0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function refract\n" " (signature float\n" " (parameters\n" " (declare (in ) float I@0x25dfbc0)\n" " (declare (in ) float N@0x25dfcd0)\n" " (declare (in ) float eta@0x25dfde0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 I@0x25e0160)\n" " (declare (in ) vec2 N@0x25e0270)\n" " (declare (in ) float eta@0x25e0380)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 I@0x25e0560)\n" " (declare (in ) vec3 N@0x25e0670)\n" " (declare (in ) float eta@0x25e0780)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 I@0x25e0960)\n" " (declare (in ) vec4 N@0x25e0a70)\n" " (declare (in ) float eta@0x25e0b80)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function matrixCompMult\n" " (signature mat2\n" " (parameters\n" " (declare (in ) mat2 x@0x25e0d60)\n" " (declare (in ) mat2 y@0x25e0e70)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat3\n" " (parameters\n" " (declare (in ) mat3 x@0x25e1200)\n" " (declare (in ) mat3 y@0x25e1310)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat4\n" " (parameters\n" " (declare (in ) mat4 x@0x25e14f0)\n" " (declare (in ) mat4 y@0x25e1600)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function lessThan\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) vec2 x@0x25e17e0)\n" " (declare (in ) vec2 y@0x25e18f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) vec3 x@0x25e1c80)\n" " (declare (in ) vec3 y@0x25e1d90)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) vec4 x@0x25e1f70)\n" " (declare (in ) vec4 y@0x25e2080)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x25e2260)\n" " (declare (in ) ivec2 y@0x25e2370)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x25e2550)\n" " (declare (in ) ivec3 y@0x25e2660)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x25e2840)\n" " (declare (in ) ivec4 y@0x25e2950)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function lessThanEqual\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) vec2 x@0x25e2b30)\n" " (declare (in ) vec2 y@0x25e2c40)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) vec3 x@0x25e2fd0)\n" " (declare (in ) vec3 y@0x25e30e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) vec4 x@0x25e32c0)\n" " (declare (in ) vec4 y@0x25e33d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x25e35b0)\n" " (declare (in ) ivec2 y@0x25e36c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x25e38a0)\n" " (declare (in ) ivec3 y@0x25e39b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x25e3b90)\n" " (declare (in ) ivec4 y@0x25e3ca0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function greaterThan\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) vec2 x@0x25e3e80)\n" " (declare (in ) vec2 y@0x25e3f90)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) vec3 x@0x25e4320)\n" " (declare (in ) vec3 y@0x25e4430)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) vec4 x@0x25e4610)\n" " (declare (in ) vec4 y@0x25e4720)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x25e4900)\n" " (declare (in ) ivec2 y@0x25e4a10)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x25e4bf0)\n" " (declare (in ) ivec3 y@0x25e4d00)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x25e4ee0)\n" " (declare (in ) ivec4 y@0x25e4ff0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function greaterThanEqual\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) vec2 x@0x25e51d0)\n" " (declare (in ) vec2 y@0x25e52e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) vec3 x@0x25e5670)\n" " (declare (in ) vec3 y@0x25e5780)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) vec4 x@0x25e5960)\n" " (declare (in ) vec4 y@0x25e5a70)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x25e5c50)\n" " (declare (in ) ivec2 y@0x25e5d60)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x25e5f40)\n" " (declare (in ) ivec3 y@0x25e6050)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x25e6230)\n" " (declare (in ) ivec4 y@0x25e6340)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function equal\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) vec2 x@0x25e6520)\n" " (declare (in ) vec2 y@0x25e6630)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) vec3 x@0x25e69b0)\n" " (declare (in ) vec3 y@0x25e6ac0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) vec4 x@0x25e6ca0)\n" " (declare (in ) vec4 y@0x25e6db0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x25e6f90)\n" " (declare (in ) ivec2 y@0x25e70a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x25e7280)\n" " (declare (in ) ivec3 y@0x25e7390)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x25e7570)\n" " (declare (in ) ivec4 y@0x25e7680)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) bvec2 x@0x25e7860)\n" " (declare (in ) bvec2 y@0x25e7970)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) bvec3 x@0x25e7b50)\n" " (declare (in ) bvec3 y@0x25e7c60)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) bvec4 x@0x25e7e40)\n" " (declare (in ) bvec4 y@0x25e7f50)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function notEqual\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) vec2 x@0x25e8130)\n" " (declare (in ) vec2 y@0x25e8240)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) vec3 x@0x25e85d0)\n" " (declare (in ) vec3 y@0x25e86e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) vec4 x@0x25e88c0)\n" " (declare (in ) vec4 y@0x25e89d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x25e8bb0)\n" " (declare (in ) ivec2 y@0x25e8cc0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x25e8ea0)\n" " (declare (in ) ivec3 y@0x25e8fb0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x25e9190)\n" " (declare (in ) ivec4 y@0x25e92a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) bvec2 x@0x25e9480)\n" " (declare (in ) bvec2 y@0x25e9590)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) bvec3 x@0x25e9770)\n" " (declare (in ) bvec3 y@0x25e9880)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) bvec4 x@0x25e9a60)\n" " (declare (in ) bvec4 y@0x25e9b70)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function any\n" " (signature bool\n" " (parameters\n" " (declare (in ) bvec2 x@0x25e9d50)\n" " )\n" " (\n" " ))\n" "\n" " (signature bool\n" " (parameters\n" " (declare (in ) bvec3 x@0x25ea0d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bool\n" " (parameters\n" " (declare (in ) bvec4 x@0x25ea2b0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function all\n" " (signature bool\n" " (parameters\n" " (declare (in ) bvec2 x@0x25ea490)\n" " )\n" " (\n" " ))\n" "\n" " (signature bool\n" " (parameters\n" " (declare (in ) bvec3 x@0x25ea810)\n" " )\n" " (\n" " ))\n" "\n" " (signature bool\n" " (parameters\n" " (declare (in ) bvec4 x@0x25ea9f0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function not\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) bvec2 x@0x25eabd0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) bvec3 x@0x25eaf50)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) bvec4 x@0x25eb130)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture1D\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x25eb310)\n" " (declare (in ) float coord@0x25eb420)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x25ebf40)\n" " (declare (in ) float coord@0x25ec050)\n" " (declare (in ) float bias@0x25ec160)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture1DProj\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x25eb7b0)\n" " (declare (in ) vec2 coord@0x25eb8c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x25ebc50)\n" " (declare (in ) vec4 coord@0x25ebd60)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x25ec340)\n" " (declare (in ) vec2 coord@0x25ec450)\n" " (declare (in ) float bias@0x25ec560)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x25ec740)\n" " (declare (in ) vec4 coord@0x25ec850)\n" " (declare (in ) float bias@0x25ec960)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture2D\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x25ecb40)\n" " (declare (in ) vec2 coord@0x25ecc50)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x25ed770)\n" " (declare (in ) vec2 coord@0x25ed880)\n" " (declare (in ) float bias@0x25ed990)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture2DProj\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x25ecfe0)\n" " (declare (in ) vec3 coord@0x25ed0f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x25ed480)\n" " (declare (in ) vec4 coord@0x25ed590)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x25edb70)\n" " (declare (in ) vec3 coord@0x25edc80)\n" " (declare (in ) float bias@0x25edd90)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x25edf70)\n" " (declare (in ) vec4 coord@0x25ee080)\n" " (declare (in ) float bias@0x25ee190)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture3D\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x25ee370)\n" " (declare (in ) vec3 coord@0x25ee480)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x25eecb0)\n" " (declare (in ) vec3 coord@0x25eedc0)\n" " (declare (in ) float bias@0x25eeed0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture3DProj\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x25ee810)\n" " (declare (in ) vec4 coord@0x25ee920)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x25ef0b0)\n" " (declare (in ) vec4 coord@0x25ef1c0)\n" " (declare (in ) float bias@0x25ef2d0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function textureCube\n" " (signature vec4\n" " (parameters\n" " (declare (in ) samplerCube sampler@0x25ef4b0)\n" " (declare (in ) vec3 coord@0x25ef5c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) samplerCube sampler@0x25ef950)\n" " (declare (in ) vec3 coord@0x25efa60)\n" " (declare (in ) float bias@0x25efb70)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow1D\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x25efd50)\n" " (declare (in ) vec3 coord@0x25efe60)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x25f0fd0)\n" " (declare (in ) vec3 coord@0x25f10e0)\n" " (declare (in ) float bias@0x25f11f0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow2D\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x25f01f0)\n" " (declare (in ) vec3 coord@0x25f0300)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x25f13d0)\n" " (declare (in ) vec3 coord@0x25f14e0)\n" " (declare (in ) float bias@0x25f15f0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow1DProj\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x25f0690)\n" " (declare (in ) vec4 coord@0x25f07a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x25f17d0)\n" " (declare (in ) vec4 coord@0x25f18e0)\n" " (declare (in ) float bias@0x25f19f0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow2DProj\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x25f0b30)\n" " (declare (in ) vec4 coord@0x25f0c40)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x25f1bd0)\n" " (declare (in ) vec4 coord@0x25f1ce0)\n" " (declare (in ) float bias@0x25f1df0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function dFdx\n" " (signature float\n" " (parameters\n" " (declare (in ) float p@0x25f1fd0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 p@0x25f2350)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 p@0x25f2530)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 p@0x25f2710)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function dFdy\n" " (signature float\n" " (parameters\n" " (declare (in ) float p@0x25f28f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 p@0x25f2c70)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 p@0x25f2e50)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 p@0x25f3030)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function fwidth\n" " (signature float\n" " (parameters\n" " (declare (in ) float p@0x25f3210)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 p@0x25f3590)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 p@0x25f3770)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 p@0x25f3950)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function noise1\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x25f3b30)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec2 x@0x25f3eb0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec3 x@0x25f4090)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec4 x@0x25f4270)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function noise2\n" " (signature vec2\n" " (parameters\n" " (declare (in ) float x@0x25f4450)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x25f47d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec3 x@0x25f49b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec4 x@0x25f4b90)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function noise3\n" " (signature vec3\n" " (parameters\n" " (declare (in ) float x@0x25f4d70)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec2 x@0x25f50f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x25f52d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec4 x@0x25f54b0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function noise4\n" " (signature vec4\n" " (parameters\n" " (declare (in ) float x@0x25f5690)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec2 x@0x25f5a10)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec3 x@0x25f5bf0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x25f5dd0)\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@0x1bf6290)\n" " (declare (in ) vec2 coord@0x1bf63a0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture1DArrayLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DArray sampler@0x1bf6730)\n" " (declare (in ) vec2 coord@0x1bf6840)\n" " (declare (in ) float lod@0x1bf6950)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture2DArray\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DArray sampler@0x1bf6ce0)\n" " (declare (in ) vec3 coord@0x1bf6df0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture2DArrayLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DArray sampler@0x1bf7180)\n" " (declare (in ) vec3 coord@0x1bf7290)\n" " (declare (in ) float lod@0x1bf73a0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow1DArray\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DArrayShadow sampler@0x1bf7730)\n" " (declare (in ) vec3 coord@0x1bf7840)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow1DArrayLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DArrayShadow sampler@0x1bf7bd0)\n" " (declare (in ) vec3 coord@0x1bf7ce0)\n" " (declare (in ) float lod@0x1bf7df0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow2DArray\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DArrayShadow sampler@0x1bf8180)\n" " (declare (in ) vec4 coord@0x1bf8290)\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@0x15ce070)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 degrees@0x15ce3f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 degrees@0x15ce5d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 degrees@0x15ce7b0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function degrees\n" " (signature float\n" " (parameters\n" " (declare (in ) float radians@0x15ce990)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 radians@0x15ced10)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 radians@0x15ceef0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 radians@0x15cf0d0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function sin\n" " (signature float\n" " (parameters\n" " (declare (in ) float angle@0x15cf2b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 angle@0x15cf630)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 angle@0x15cf810)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 angle@0x15cf9f0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function cos\n" " (signature float\n" " (parameters\n" " (declare (in ) float angle@0x15cfbd0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 angle@0x15cff50)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 angle@0x15d0130)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 angle@0x15d0310)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function tan\n" " (signature float\n" " (parameters\n" " (declare (in ) float angle@0x15d04f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 angle@0x15d0870)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 angle@0x15d0a50)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 angle@0x15d0c30)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function asin\n" " (signature float\n" " (parameters\n" " (declare (in ) float angle@0x15d0e10)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 angle@0x15d1190)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 angle@0x15d1370)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 angle@0x15d1550)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function acos\n" " (signature float\n" " (parameters\n" " (declare (in ) float angle@0x15d1730)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 angle@0x15d1ab0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 angle@0x15d1c90)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 angle@0x15d1e70)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function atan\n" " (signature float\n" " (parameters\n" " (declare (in ) float y@0x15d2050)\n" " (declare (in ) float x@0x15d2160)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 y@0x15d24e0)\n" " (declare (in ) vec2 x@0x15d25f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 y@0x15d27d0)\n" " (declare (in ) vec3 x@0x15d28e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 y@0x15d2ac0)\n" " (declare (in ) vec4 x@0x15d2bd0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) float y_over_x@0x15d2db0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 y_over_x@0x15d2fa0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 y_over_x@0x15d3190)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 y_over_x@0x15d3380)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function pow\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x15d3570)\n" " (declare (in ) float y@0x15d3680)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x15d3a00)\n" " (declare (in ) vec2 y@0x15d3b10)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x15d3cf0)\n" " (declare (in ) vec3 y@0x15d3e00)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x15d3fe0)\n" " (declare (in ) vec4 y@0x15d40f0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function exp\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x15d42d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x15d4650)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x15d4830)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x15d4a10)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function log\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x15d4bf0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x15d4f70)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x15d5150)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x15d5330)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function exp2\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x15d5510)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x15d5890)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x15d5a70)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x15d5c50)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function log2\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x15d5e30)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x15d61b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x15d6390)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x15d6570)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function sqrt\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x15d6750)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x15d6ad0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x15d6cb0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x15d6e90)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function inversesqrt\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x15d7070)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x15d7400)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x15d75e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x15d77c0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function abs\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x15d79a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x15d7d20)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x15d7f00)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x15d80e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature int\n" " (parameters\n" " (declare (in ) int x@0x15d82c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x15d84a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x15d8680)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x15d8860)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function sign\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x15d8a40)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x15d8dc0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x15d8fa0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x15d9180)\n" " )\n" " (\n" " ))\n" "\n" " (signature int\n" " (parameters\n" " (declare (in ) int x@0x15d9360)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x15d9540)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x15d9720)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x15d9900)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function floor\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x15d9ae0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x15d9e60)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x15da040)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x15da220)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function ceil\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x15da400)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x15da780)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x15da960)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x15dab40)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function fract\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x15dad20)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x15db0a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x15db280)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x15db460)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function mod\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x15db640)\n" " (declare (in ) float y@0x15db750)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x15dbad0)\n" " (declare (in ) float y@0x15dbbe0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x15dbdc0)\n" " (declare (in ) float y@0x15dbed0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x15dc0b0)\n" " (declare (in ) float y@0x15dc1c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x15dc3a0)\n" " (declare (in ) vec2 y@0x15dc4b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x15dc690)\n" " (declare (in ) vec3 y@0x15dc7a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x15dc980)\n" " (declare (in ) vec4 y@0x15dca90)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function min\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x15dcc70)\n" " (declare (in ) float y@0x15dcd80)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x15dd100)\n" " (declare (in ) vec2 y@0x15dd210)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x15dd3f0)\n" " (declare (in ) vec3 y@0x15dd500)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x15dd6e0)\n" " (declare (in ) vec4 y@0x15dd7f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x15dd9d0)\n" " (declare (in ) float y@0x15ddae0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x15ddcc0)\n" " (declare (in ) float y@0x15dddd0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x15ddfb0)\n" " (declare (in ) float y@0x15de0c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature int\n" " (parameters\n" " (declare (in ) int x@0x15de2a0)\n" " (declare (in ) int y@0x15de3b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x15de590)\n" " (declare (in ) ivec2 y@0x15de6a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x15de880)\n" " (declare (in ) ivec3 y@0x15de990)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x15deb70)\n" " (declare (in ) ivec4 y@0x15dec80)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x15dee60)\n" " (declare (in ) int y@0x15def70)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x15df150)\n" " (declare (in ) int y@0x15df260)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x15df440)\n" " (declare (in ) int y@0x15df550)\n" " )\n" " (\n" " ))\n" "\n" " (signature uint\n" " (parameters\n" " (declare (in ) uint x@0x15df730)\n" " (declare (in ) uint y@0x15df840)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec2\n" " (parameters\n" " (declare (in ) uvec2 x@0x15dfa20)\n" " (declare (in ) uvec2 y@0x15dfb30)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec3\n" " (parameters\n" " (declare (in ) uvec3 x@0x15dfd10)\n" " (declare (in ) uvec3 y@0x15dfe20)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) uvec4 x@0x15e0000)\n" " (declare (in ) uvec4 y@0x15e0110)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec2\n" " (parameters\n" " (declare (in ) uvec2 x@0x15e02f0)\n" " (declare (in ) uint y@0x15e0400)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec3\n" " (parameters\n" " (declare (in ) uvec3 x@0x15e05e0)\n" " (declare (in ) uint y@0x15e06f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) uvec4 x@0x15e08d0)\n" " (declare (in ) uint y@0x15e09e0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function max\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x15e0bc0)\n" " (declare (in ) float y@0x15e0cd0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x15e1050)\n" " (declare (in ) vec2 y@0x15e1160)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x15e1340)\n" " (declare (in ) vec3 y@0x15e1450)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x15e1630)\n" " (declare (in ) vec4 y@0x15e1740)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x15e1920)\n" " (declare (in ) float y@0x15e1a30)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x15e1c10)\n" " (declare (in ) float y@0x15e1d20)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x15e1f00)\n" " (declare (in ) float y@0x15e2010)\n" " )\n" " (\n" " ))\n" "\n" " (signature int\n" " (parameters\n" " (declare (in ) int x@0x15e21f0)\n" " (declare (in ) int y@0x15e2300)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x15e24e0)\n" " (declare (in ) ivec2 y@0x15e25f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x15e27d0)\n" " (declare (in ) ivec3 y@0x15e28e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x15e2ac0)\n" " (declare (in ) ivec4 y@0x15e2bd0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x15e2db0)\n" " (declare (in ) int y@0x15e2ec0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x15e30a0)\n" " (declare (in ) int y@0x15e31b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x15e3390)\n" " (declare (in ) int y@0x15e34a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uint\n" " (parameters\n" " (declare (in ) uint x@0x15e3680)\n" " (declare (in ) uint y@0x15e3790)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec2\n" " (parameters\n" " (declare (in ) uvec2 x@0x15e3970)\n" " (declare (in ) uvec2 y@0x15e3a80)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec3\n" " (parameters\n" " (declare (in ) uvec3 x@0x15e3c60)\n" " (declare (in ) uvec3 y@0x15e3d70)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) uvec4 x@0x15e3f50)\n" " (declare (in ) uvec4 y@0x15e4060)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec2\n" " (parameters\n" " (declare (in ) uvec2 x@0x15e4240)\n" " (declare (in ) uint y@0x15e4350)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec3\n" " (parameters\n" " (declare (in ) uvec3 x@0x15e4530)\n" " (declare (in ) uint y@0x15e4640)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) uvec4 x@0x15e4820)\n" " (declare (in ) uint y@0x15e4930)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function clamp\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x15e4b10)\n" " (declare (in ) float minVal@0x15e4c20)\n" " (declare (in ) float maxVal@0x15e4d30)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x15e50b0)\n" " (declare (in ) vec2 minVal@0x15e51c0)\n" " (declare (in ) vec2 maxVal@0x15e52d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x15e54b0)\n" " (declare (in ) vec3 minVal@0x15e55c0)\n" " (declare (in ) vec3 maxVal@0x15e56d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x15e58b0)\n" " (declare (in ) vec4 minVal@0x15e59c0)\n" " (declare (in ) vec4 maxVal@0x15e5ad0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x15e5cb0)\n" " (declare (in ) float minVal@0x15e5dc0)\n" " (declare (in ) float maxVal@0x15e5ed0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x15e60b0)\n" " (declare (in ) float minVal@0x15e61c0)\n" " (declare (in ) float maxVal@0x15e62d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x15e64b0)\n" " (declare (in ) float minVal@0x15e65c0)\n" " (declare (in ) float maxVal@0x15e66d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature int\n" " (parameters\n" " (declare (in ) int x@0x15e68b0)\n" " (declare (in ) int minVal@0x15e69c0)\n" " (declare (in ) int maxVal@0x15e6ad0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x15e6cb0)\n" " (declare (in ) ivec2 minVal@0x15e6dc0)\n" " (declare (in ) ivec2 maxVal@0x15e6ed0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x15e70b0)\n" " (declare (in ) ivec3 minVal@0x15e71c0)\n" " (declare (in ) ivec3 maxVal@0x15e72d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x15e74b0)\n" " (declare (in ) ivec4 minVal@0x15e75c0)\n" " (declare (in ) ivec4 maxVal@0x15e76d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x15e78b0)\n" " (declare (in ) int minVal@0x15e79c0)\n" " (declare (in ) int maxVal@0x15e7ad0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x15e7cb0)\n" " (declare (in ) int minVal@0x15e7dc0)\n" " (declare (in ) int maxVal@0x15e7ed0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x15e80b0)\n" " (declare (in ) int minVal@0x15e81c0)\n" " (declare (in ) int maxVal@0x15e82d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uint\n" " (parameters\n" " (declare (in ) uint x@0x15e84b0)\n" " (declare (in ) uint minVal@0x15e85c0)\n" " (declare (in ) uint maxVal@0x15e86d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec2\n" " (parameters\n" " (declare (in ) uvec2 x@0x15e88b0)\n" " (declare (in ) uvec2 minVal@0x15e89c0)\n" " (declare (in ) uvec2 maxVal@0x15e8ad0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec3\n" " (parameters\n" " (declare (in ) uvec3 x@0x15e8cb0)\n" " (declare (in ) uvec3 minVal@0x15e8dc0)\n" " (declare (in ) uvec3 maxVal@0x15e8ed0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) uvec4 x@0x15e90b0)\n" " (declare (in ) uvec4 minVal@0x15e91c0)\n" " (declare (in ) uvec4 maxVal@0x15e92d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec2\n" " (parameters\n" " (declare (in ) uvec2 x@0x15e94b0)\n" " (declare (in ) uint minVal@0x15e95c0)\n" " (declare (in ) uint maxVal@0x15e96d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec3\n" " (parameters\n" " (declare (in ) uvec3 x@0x15e98b0)\n" " (declare (in ) uint minVal@0x15e99c0)\n" " (declare (in ) uint maxVal@0x15e9ad0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) uvec4 x@0x15e9cb0)\n" " (declare (in ) uint minVal@0x15e9dc0)\n" " (declare (in ) uint maxVal@0x15e9ed0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function mix\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x15ea0b0)\n" " (declare (in ) float y@0x15ea1c0)\n" " (declare (in ) float a@0x15ea2d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x15ea650)\n" " (declare (in ) vec2 y@0x15ea760)\n" " (declare (in ) vec2 a@0x15ea870)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x15eaa50)\n" " (declare (in ) vec3 y@0x15eab60)\n" " (declare (in ) vec3 a@0x15eac70)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x15eae50)\n" " (declare (in ) vec4 y@0x15eaf60)\n" " (declare (in ) vec4 a@0x15eb070)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x15eb250)\n" " (declare (in ) vec2 y@0x15eb360)\n" " (declare (in ) float a@0x15eb470)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x15eb650)\n" " (declare (in ) vec3 y@0x15eb760)\n" " (declare (in ) float a@0x15eb870)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x15eba50)\n" " (declare (in ) vec4 y@0x15ebb60)\n" " (declare (in ) float a@0x15ebc70)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function step\n" " (signature float\n" " (parameters\n" " (declare (in ) float edge@0x15ebe50)\n" " (declare (in ) float x@0x15ebf60)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 edge@0x15ec2e0)\n" " (declare (in ) vec2 x@0x15ec3f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 edge@0x15ec5d0)\n" " (declare (in ) vec3 x@0x15ec6e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 edge@0x15ec8c0)\n" " (declare (in ) vec4 x@0x15ec9d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) float edge@0x15ecbb0)\n" " (declare (in ) vec2 x@0x15eccc0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) float edge@0x15ecea0)\n" " (declare (in ) vec3 x@0x15ecfb0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) float edge@0x15ed190)\n" " (declare (in ) vec4 x@0x15ed2a0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function smoothstep\n" " (signature float\n" " (parameters\n" " (declare (in ) float edge0@0x15ed480)\n" " (declare (in ) float edge1@0x15ed590)\n" " (declare (in ) float x@0x15ed6a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 edge0@0x15eda30)\n" " (declare (in ) vec2 edge1@0x15edb40)\n" " (declare (in ) vec2 x@0x15edc50)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 edge0@0x15ede30)\n" " (declare (in ) vec3 edge1@0x15edf40)\n" " (declare (in ) vec3 x@0x15ee050)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 edge0@0x15ee230)\n" " (declare (in ) vec4 edge1@0x15ee340)\n" " (declare (in ) vec4 x@0x15ee450)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) float edge0@0x15ee630)\n" " (declare (in ) float edge1@0x15ee740)\n" " (declare (in ) vec2 x@0x15ee850)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) float edge0@0x15eea30)\n" " (declare (in ) float edge1@0x15eeb40)\n" " (declare (in ) vec3 x@0x15eec50)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) float edge0@0x15eee30)\n" " (declare (in ) float edge1@0x15eef40)\n" " (declare (in ) vec4 x@0x15ef050)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function length\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x15ef230)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec2 x@0x15ef5b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec3 x@0x15ef790)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec4 x@0x15ef970)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function distance\n" " (signature float\n" " (parameters\n" " (declare (in ) float p0@0x15efb50)\n" " (declare (in ) float p1@0x15efc60)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec2 p0@0x15efff0)\n" " (declare (in ) vec2 p1@0x15f0100)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec3 p0@0x15f02e0)\n" " (declare (in ) vec3 p1@0x15f03f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec4 p0@0x15f05d0)\n" " (declare (in ) vec4 p1@0x15f06e0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function dot\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x15f08c0)\n" " (declare (in ) float y@0x15f09d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec2 x@0x15f0d50)\n" " (declare (in ) vec2 y@0x15f0e60)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec3 x@0x15f1040)\n" " (declare (in ) vec3 y@0x15f1150)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec4 x@0x15f1330)\n" " (declare (in ) vec4 y@0x15f1440)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function cross\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x15f1620)\n" " (declare (in ) vec3 y@0x15f1730)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function normalize\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x15f1ab0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x15f1e40)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x15f2020)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x15f2200)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function faceforward\n" " (signature float\n" " (parameters\n" " (declare (in ) float N@0x15f23e0)\n" " (declare (in ) float I@0x15f24f0)\n" " (declare (in ) float Nref@0x15f2600)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 N@0x15f2990)\n" " (declare (in ) vec2 I@0x15f2aa0)\n" " (declare (in ) vec2 Nref@0x15f2bb0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 N@0x15f2d90)\n" " (declare (in ) vec3 I@0x15f2ea0)\n" " (declare (in ) vec3 Nref@0x15f2fb0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 N@0x15f3190)\n" " (declare (in ) vec4 I@0x15f32a0)\n" " (declare (in ) vec4 Nref@0x15f33b0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function reflect\n" " (signature float\n" " (parameters\n" " (declare (in ) float I@0x15f3590)\n" " (declare (in ) float N@0x15f36a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 I@0x15f3a20)\n" " (declare (in ) vec2 N@0x15f3b30)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 I@0x15f3d10)\n" " (declare (in ) vec3 N@0x15f3e20)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 I@0x15f4000)\n" " (declare (in ) vec4 N@0x15f4110)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function refract\n" " (signature float\n" " (parameters\n" " (declare (in ) float I@0x15f42f0)\n" " (declare (in ) float N@0x15f4400)\n" " (declare (in ) float eta@0x15f4510)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 I@0x15f4890)\n" " (declare (in ) vec2 N@0x15f49a0)\n" " (declare (in ) float eta@0x15f4ab0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 I@0x15f4c90)\n" " (declare (in ) vec3 N@0x15f4da0)\n" " (declare (in ) float eta@0x15f4eb0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 I@0x15f5090)\n" " (declare (in ) vec4 N@0x15f51a0)\n" " (declare (in ) float eta@0x15f52b0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function matrixCompMult\n" " (signature mat2\n" " (parameters\n" " (declare (in ) mat2 x@0x15f5490)\n" " (declare (in ) mat2 y@0x15f55a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat3\n" " (parameters\n" " (declare (in ) mat3 x@0x15f5930)\n" " (declare (in ) mat3 y@0x15f5a40)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat4\n" " (parameters\n" " (declare (in ) mat4 x@0x15f5c20)\n" " (declare (in ) mat4 y@0x15f5d30)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat2x3\n" " (parameters\n" " (declare (in ) mat2x3 x@0x15f5f10)\n" " (declare (in ) mat2x3 y@0x15f6020)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat2x4\n" " (parameters\n" " (declare (in ) mat2x4 x@0x15f6200)\n" " (declare (in ) mat2x4 y@0x15f6310)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat3x2\n" " (parameters\n" " (declare (in ) mat3x2 x@0x15f64f0)\n" " (declare (in ) mat3x2 y@0x15f6600)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat3x4\n" " (parameters\n" " (declare (in ) mat3x4 x@0x15f67e0)\n" " (declare (in ) mat3x4 y@0x15f68f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat4x2\n" " (parameters\n" " (declare (in ) mat4x2 x@0x15f6ad0)\n" " (declare (in ) mat4x2 y@0x15f6be0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat4x3\n" " (parameters\n" " (declare (in ) mat4x3 x@0x15f6dc0)\n" " (declare (in ) mat4x3 y@0x15f6ed0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function outerProduct\n" " (signature mat2\n" " (parameters\n" " (declare (in ) vec2 c@0x15f70b0)\n" " (declare (in ) vec2 r@0x15f71c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat3\n" " (parameters\n" " (declare (in ) vec3 c@0x15f7550)\n" " (declare (in ) vec3 r@0x15f7660)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat4\n" " (parameters\n" " (declare (in ) vec4 c@0x15f7840)\n" " (declare (in ) vec4 r@0x15f7950)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat2x3\n" " (parameters\n" " (declare (in ) vec3 c@0x15f7b30)\n" " (declare (in ) vec2 r@0x15f7c40)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat3x2\n" " (parameters\n" " (declare (in ) vec2 c@0x15f7e20)\n" " (declare (in ) vec3 r@0x15f7f30)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat2x4\n" " (parameters\n" " (declare (in ) vec4 c@0x15f8110)\n" " (declare (in ) vec2 r@0x15f8220)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat4x2\n" " (parameters\n" " (declare (in ) vec2 c@0x15f8400)\n" " (declare (in ) vec4 r@0x15f8510)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat3x4\n" " (parameters\n" " (declare (in ) vec4 c@0x15f86f0)\n" " (declare (in ) vec3 r@0x15f8800)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat4x3\n" " (parameters\n" " (declare (in ) vec3 c@0x15f89e0)\n" " (declare (in ) vec4 r@0x15f8af0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function transpose\n" " (signature mat2\n" " (parameters\n" " (declare (in ) mat2 m@0x15f8cd0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat3\n" " (parameters\n" " (declare (in ) mat3 m@0x15f9060)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat4\n" " (parameters\n" " (declare (in ) mat4 m@0x15f9240)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat2x3\n" " (parameters\n" " (declare (in ) mat3x2 m@0x15f9420)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat3x2\n" " (parameters\n" " (declare (in ) mat2x3 m@0x15f9600)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat2x4\n" " (parameters\n" " (declare (in ) mat4x2 m@0x15f97e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat4x2\n" " (parameters\n" " (declare (in ) mat2x4 m@0x15f99c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat3x4\n" " (parameters\n" " (declare (in ) mat4x3 m@0x15f9ba0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat4x3\n" " (parameters\n" " (declare (in ) mat3x4 m@0x15f9d80)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function lessThan\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) vec2 x@0x15f9f60)\n" " (declare (in ) vec2 y@0x15fa070)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) vec3 x@0x15fa400)\n" " (declare (in ) vec3 y@0x15fa510)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) vec4 x@0x15fa6f0)\n" " (declare (in ) vec4 y@0x15fa800)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x15fa9e0)\n" " (declare (in ) ivec2 y@0x15faaf0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x15facd0)\n" " (declare (in ) ivec3 y@0x15fade0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x15fafc0)\n" " (declare (in ) ivec4 y@0x15fb0d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) uvec2 x@0x15fb2b0)\n" " (declare (in ) uvec2 y@0x15fb3c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) uvec3 x@0x15fb5a0)\n" " (declare (in ) uvec3 y@0x15fb6b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) uvec4 x@0x15fb890)\n" " (declare (in ) uvec4 y@0x15fb9a0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function lessThanEqual\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) vec2 x@0x15fbb80)\n" " (declare (in ) vec2 y@0x15fbc90)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) vec3 x@0x15fc020)\n" " (declare (in ) vec3 y@0x15fc130)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) vec4 x@0x15fc310)\n" " (declare (in ) vec4 y@0x15fc420)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x15fc600)\n" " (declare (in ) ivec2 y@0x15fc710)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x15fc8f0)\n" " (declare (in ) ivec3 y@0x15fca00)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x15fcbe0)\n" " (declare (in ) ivec4 y@0x15fccf0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) uvec2 x@0x15fced0)\n" " (declare (in ) uvec2 y@0x15fcfe0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) uvec3 x@0x15fd1c0)\n" " (declare (in ) uvec3 y@0x15fd2d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) uvec4 x@0x15fd4b0)\n" " (declare (in ) uvec4 y@0x15fd5c0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function greaterThan\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) vec2 x@0x15fd7a0)\n" " (declare (in ) vec2 y@0x15fd8b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) vec3 x@0x15fdc40)\n" " (declare (in ) vec3 y@0x15fdd50)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) vec4 x@0x15fdf30)\n" " (declare (in ) vec4 y@0x15fe040)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x15fe220)\n" " (declare (in ) ivec2 y@0x15fe330)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x15fe510)\n" " (declare (in ) ivec3 y@0x15fe620)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x15fe800)\n" " (declare (in ) ivec4 y@0x15fe910)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) uvec2 x@0x15feaf0)\n" " (declare (in ) uvec2 y@0x15fec00)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) uvec3 x@0x15fede0)\n" " (declare (in ) uvec3 y@0x15feef0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) uvec4 x@0x15ff0d0)\n" " (declare (in ) uvec4 y@0x15ff1e0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function greaterThanEqual\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) vec2 x@0x15ff3c0)\n" " (declare (in ) vec2 y@0x15ff4d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) vec3 x@0x15ff860)\n" " (declare (in ) vec3 y@0x15ff970)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) vec4 x@0x15ffb50)\n" " (declare (in ) vec4 y@0x15ffc60)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x15ffe40)\n" " (declare (in ) ivec2 y@0x15fff50)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x1600130)\n" " (declare (in ) ivec3 y@0x1600240)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x1600420)\n" " (declare (in ) ivec4 y@0x1600530)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) uvec2 x@0x1600710)\n" " (declare (in ) uvec2 y@0x1600820)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) uvec3 x@0x1600a00)\n" " (declare (in ) uvec3 y@0x1600b10)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) uvec4 x@0x1600cf0)\n" " (declare (in ) uvec4 y@0x1600e00)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function equal\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1600fe0)\n" " (declare (in ) vec2 y@0x16010f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1601470)\n" " (declare (in ) vec3 y@0x1601580)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1601760)\n" " (declare (in ) vec4 y@0x1601870)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x1601a50)\n" " (declare (in ) ivec2 y@0x1601b60)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x1601d40)\n" " (declare (in ) ivec3 y@0x1601e50)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x1602030)\n" " (declare (in ) ivec4 y@0x1602140)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) uvec2 x@0x1602320)\n" " (declare (in ) uvec2 y@0x1602430)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) uvec3 x@0x1602610)\n" " (declare (in ) uvec3 y@0x1602720)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) uvec4 x@0x1602900)\n" " (declare (in ) uvec4 y@0x1602a10)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) bvec2 x@0x1602bf0)\n" " (declare (in ) bvec2 y@0x1602d00)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) bvec3 x@0x1602ee0)\n" " (declare (in ) bvec3 y@0x1602ff0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) bvec4 x@0x16031d0)\n" " (declare (in ) bvec4 y@0x16032e0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function notEqual\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) vec2 x@0x16034c0)\n" " (declare (in ) vec2 y@0x16035d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1603960)\n" " (declare (in ) vec3 y@0x1603a70)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1603c50)\n" " (declare (in ) vec4 y@0x1603d60)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x1603f40)\n" " (declare (in ) ivec2 y@0x1604050)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x1604230)\n" " (declare (in ) ivec3 y@0x1604340)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x1604520)\n" " (declare (in ) ivec4 y@0x1604630)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) uvec2 x@0x1604810)\n" " (declare (in ) uvec2 y@0x1604920)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) uvec3 x@0x1604b00)\n" " (declare (in ) uvec3 y@0x1604c10)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) uvec4 x@0x1604df0)\n" " (declare (in ) uvec4 y@0x1604f00)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) bvec2 x@0x16050e0)\n" " (declare (in ) bvec2 y@0x16051f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) bvec3 x@0x16053d0)\n" " (declare (in ) bvec3 y@0x16054e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) bvec4 x@0x16056c0)\n" " (declare (in ) bvec4 y@0x16057d0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function any\n" " (signature bool\n" " (parameters\n" " (declare (in ) bvec2 x@0x16059b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bool\n" " (parameters\n" " (declare (in ) bvec3 x@0x1605d30)\n" " )\n" " (\n" " ))\n" "\n" " (signature bool\n" " (parameters\n" " (declare (in ) bvec4 x@0x1605f10)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function all\n" " (signature bool\n" " (parameters\n" " (declare (in ) bvec2 x@0x16060f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bool\n" " (parameters\n" " (declare (in ) bvec3 x@0x1606470)\n" " )\n" " (\n" " ))\n" "\n" " (signature bool\n" " (parameters\n" " (declare (in ) bvec4 x@0x1606650)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function not\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) bvec2 x@0x1606830)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) bvec3 x@0x1606bb0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) bvec4 x@0x1606d90)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1606f70)\n" " (declare (in ) float P@0x1607080)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler1D sampler@0x1607400)\n" " (declare (in ) float P@0x1607510)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler1D sampler@0x16076f0)\n" " (declare (in ) float P@0x1607800)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x16079e0)\n" " (declare (in ) vec2 P@0x1607af0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler2D sampler@0x1607cd0)\n" " (declare (in ) vec2 P@0x1607de0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler2D sampler@0x1607fc0)\n" " (declare (in ) vec2 P@0x16080d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x16082b0)\n" " (declare (in ) vec3 P@0x16083c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler3D sampler@0x16085a0)\n" " (declare (in ) vec3 P@0x16086b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler3D sampler@0x1608890)\n" " (declare (in ) vec3 P@0x16089a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) samplerCube sampler@0x1608b80)\n" " (declare (in ) vec3 P@0x1608c90)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isamplerCube sampler@0x1608e70)\n" " (declare (in ) vec3 P@0x1608f80)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usamplerCube sampler@0x1609160)\n" " (declare (in ) vec3 P@0x1609270)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x1609450)\n" " (declare (in ) vec3 P@0x1609560)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x1609740)\n" " (declare (in ) vec3 P@0x1609850)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) samplerCubeShadow sampler@0x1609a30)\n" " (declare (in ) vec4 P@0x1609b40)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DArray sampler@0x1609d20)\n" " (declare (in ) vec2 P@0x1609e30)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler1DArray sampler@0x160a010)\n" " (declare (in ) vec2 P@0x160a120)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler1DArray sampler@0x160a300)\n" " (declare (in ) vec2 P@0x160a410)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DArray sampler@0x160a5f0)\n" " (declare (in ) vec3 P@0x160a700)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler2DArray sampler@0x160a8e0)\n" " (declare (in ) vec3 P@0x160a9f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler2DArray sampler@0x160abd0)\n" " (declare (in ) vec3 P@0x160ace0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler1DArrayShadow sampler@0x160aec0)\n" " (declare (in ) vec3 P@0x160afd0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler2DArrayShadow sampler@0x160b1b0)\n" " (declare (in ) vec4 P@0x160b2c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x160b4a0)\n" " (declare (in ) float P@0x160b5b0)\n" " (declare (in ) float bias@0x160b6c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler1D sampler@0x160b8a0)\n" " (declare (in ) float P@0x160b9b0)\n" " (declare (in ) float bias@0x160bac0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler1D sampler@0x160bca0)\n" " (declare (in ) float P@0x160bdb0)\n" " (declare (in ) float bias@0x160bec0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x160c0a0)\n" " (declare (in ) vec2 P@0x160c1b0)\n" " (declare (in ) float bias@0x160c2c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler2D sampler@0x160c4a0)\n" " (declare (in ) vec2 P@0x160c5b0)\n" " (declare (in ) float bias@0x160c6c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler2D sampler@0x160c8a0)\n" " (declare (in ) vec2 P@0x160c9b0)\n" " (declare (in ) float bias@0x160cac0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x160cca0)\n" " (declare (in ) vec3 P@0x160cdb0)\n" " (declare (in ) float bias@0x160cec0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler3D sampler@0x160d0a0)\n" " (declare (in ) vec3 P@0x160d1b0)\n" " (declare (in ) float bias@0x160d2c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler3D sampler@0x160d4a0)\n" " (declare (in ) vec3 P@0x160d5b0)\n" " (declare (in ) float bias@0x160d6c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) samplerCube sampler@0x160d8a0)\n" " (declare (in ) vec3 P@0x160d9b0)\n" " (declare (in ) float bias@0x160dac0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isamplerCube sampler@0x160dca0)\n" " (declare (in ) vec3 P@0x160ddb0)\n" " (declare (in ) float bias@0x160dec0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usamplerCube sampler@0x160e0a0)\n" " (declare (in ) vec3 P@0x160e1b0)\n" " (declare (in ) float bias@0x160e2c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x160e4a0)\n" " (declare (in ) vec3 P@0x160e5b0)\n" " (declare (in ) float bias@0x160e6c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x160e8a0)\n" " (declare (in ) vec3 P@0x160e9b0)\n" " (declare (in ) float bias@0x160eac0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) samplerCubeShadow sampler@0x160eca0)\n" " (declare (in ) vec4 P@0x160edb0)\n" " (declare (in ) float bias@0x160eec0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DArray sampler@0x160f0a0)\n" " (declare (in ) vec2 P@0x160f1b0)\n" " (declare (in ) float bias@0x160f2c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler1DArray sampler@0x160f4a0)\n" " (declare (in ) vec2 P@0x160f5b0)\n" " (declare (in ) float bias@0x160f6c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler1DArray sampler@0x160f8a0)\n" " (declare (in ) vec2 P@0x160f9b0)\n" " (declare (in ) float bias@0x160fac0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DArray sampler@0x160fca0)\n" " (declare (in ) vec3 P@0x160fdb0)\n" " (declare (in ) float bias@0x160fec0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler2DArray sampler@0x16100a0)\n" " (declare (in ) vec3 P@0x16101b0)\n" " (declare (in ) float bias@0x16102c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler2DArray sampler@0x16104a0)\n" " (declare (in ) vec3 P@0x16105b0)\n" " (declare (in ) float bias@0x16106c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler1DArrayShadow sampler@0x16108a0)\n" " (declare (in ) vec3 P@0x16109b0)\n" " (declare (in ) float bias@0x1610ac0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function textureProj\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1610ca0)\n" " (declare (in ) vec2 P@0x1610db0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler1D sampler@0x1611140)\n" " (declare (in ) vec2 P@0x1611250)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler1D sampler@0x1611430)\n" " (declare (in ) vec2 P@0x1611540)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1611720)\n" " (declare (in ) vec4 P@0x1611830)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler1D sampler@0x1611a10)\n" " (declare (in ) vec4 P@0x1611b20)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler1D sampler@0x1611d00)\n" " (declare (in ) vec4 P@0x1611e10)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x1611ff0)\n" " (declare (in ) vec3 P@0x1612100)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler2D sampler@0x16122e0)\n" " (declare (in ) vec3 P@0x16123f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler2D sampler@0x16125d0)\n" " (declare (in ) vec3 P@0x16126e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x16128c0)\n" " (declare (in ) vec4 P@0x16129d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler2D sampler@0x1612bb0)\n" " (declare (in ) vec4 P@0x1612cc0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler2D sampler@0x1612ea0)\n" " (declare (in ) vec4 P@0x1612fb0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x1613190)\n" " (declare (in ) vec4 P@0x16132a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler3D sampler@0x1613480)\n" " (declare (in ) vec4 P@0x1613590)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler3D sampler@0x1613770)\n" " (declare (in ) vec4 P@0x1613880)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x1613a60)\n" " (declare (in ) vec4 P@0x1613b70)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x1613d50)\n" " (declare (in ) vec4 P@0x1613e60)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1614040)\n" " (declare (in ) vec2 P@0x1614150)\n" " (declare (in ) float bias@0x1614260)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler1D sampler@0x1614440)\n" " (declare (in ) vec2 P@0x1614550)\n" " (declare (in ) float bias@0x1614660)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler1D sampler@0x1614840)\n" " (declare (in ) vec2 P@0x1614950)\n" " (declare (in ) float bias@0x1614a60)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1614c40)\n" " (declare (in ) vec4 P@0x1614d50)\n" " (declare (in ) float bias@0x1614e60)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler1D sampler@0x1615040)\n" " (declare (in ) vec4 P@0x1615150)\n" " (declare (in ) float bias@0x1615260)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler1D sampler@0x1615440)\n" " (declare (in ) vec4 P@0x1615550)\n" " (declare (in ) float bias@0x1615660)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x1615840)\n" " (declare (in ) vec3 P@0x1615950)\n" " (declare (in ) float bias@0x1615a60)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler2D sampler@0x1615c40)\n" " (declare (in ) vec3 P@0x1615d50)\n" " (declare (in ) float bias@0x1615e60)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler2D sampler@0x1616040)\n" " (declare (in ) vec3 P@0x1616150)\n" " (declare (in ) float bias@0x1616260)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x1616440)\n" " (declare (in ) vec4 P@0x1616550)\n" " (declare (in ) float bias@0x1616660)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler2D sampler@0x1616840)\n" " (declare (in ) vec4 P@0x1616950)\n" " (declare (in ) float bias@0x1616a60)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler2D sampler@0x1616c40)\n" " (declare (in ) vec4 P@0x1616d50)\n" " (declare (in ) float bias@0x1616e60)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x1617040)\n" " (declare (in ) vec4 P@0x1617150)\n" " (declare (in ) float bias@0x1617260)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler3D sampler@0x1617440)\n" " (declare (in ) vec4 P@0x1617550)\n" " (declare (in ) float bias@0x1617660)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler3D sampler@0x1617840)\n" " (declare (in ) vec4 P@0x1617950)\n" " (declare (in ) float bias@0x1617a60)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x1617c40)\n" " (declare (in ) vec4 P@0x1617d50)\n" " (declare (in ) float bias@0x1617e60)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x1618040)\n" " (declare (in ) vec4 P@0x1618150)\n" " (declare (in ) float bias@0x1618260)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function textureLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1618440)\n" " (declare (in ) float P@0x1618550)\n" " (declare (in ) float lod@0x1618660)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler1D sampler@0x16189f0)\n" " (declare (in ) float P@0x1618b00)\n" " (declare (in ) float lod@0x1618c10)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler1D sampler@0x1618df0)\n" " (declare (in ) float P@0x1618f00)\n" " (declare (in ) float lod@0x1619010)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x16191f0)\n" " (declare (in ) vec2 P@0x1619300)\n" " (declare (in ) float lod@0x1619410)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler2D sampler@0x16195f0)\n" " (declare (in ) vec2 P@0x1619700)\n" " (declare (in ) float lod@0x1619810)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler2D sampler@0x16199f0)\n" " (declare (in ) vec2 P@0x1619b00)\n" " (declare (in ) float lod@0x1619c10)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x1619df0)\n" " (declare (in ) vec3 P@0x1619f00)\n" " (declare (in ) float lod@0x161a010)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler3D sampler@0x161a1f0)\n" " (declare (in ) vec3 P@0x161a300)\n" " (declare (in ) float lod@0x161a410)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler3D sampler@0x161a5f0)\n" " (declare (in ) vec3 P@0x161a700)\n" " (declare (in ) float lod@0x161a810)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) samplerCube sampler@0x161a9f0)\n" " (declare (in ) vec3 P@0x161ab00)\n" " (declare (in ) float lod@0x161ac10)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isamplerCube sampler@0x161adf0)\n" " (declare (in ) vec3 P@0x161af00)\n" " (declare (in ) float lod@0x161b010)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usamplerCube sampler@0x161b1f0)\n" " (declare (in ) vec3 P@0x161b300)\n" " (declare (in ) float lod@0x161b410)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x161b5f0)\n" " (declare (in ) vec3 P@0x161b700)\n" " (declare (in ) float lod@0x161b810)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x161b9f0)\n" " (declare (in ) vec3 P@0x161bb00)\n" " (declare (in ) float lod@0x161bc10)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DArray sampler@0x161bdf0)\n" " (declare (in ) vec2 P@0x161bf00)\n" " (declare (in ) float lod@0x161c010)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler1DArray sampler@0x161c1f0)\n" " (declare (in ) vec2 P@0x161c300)\n" " (declare (in ) float lod@0x161c410)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler1DArray sampler@0x161c5f0)\n" " (declare (in ) vec2 P@0x161c700)\n" " (declare (in ) float lod@0x161c810)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DArray sampler@0x161c9f0)\n" " (declare (in ) vec3 P@0x161cb00)\n" " (declare (in ) float lod@0x161cc10)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler2DArray sampler@0x161cdf0)\n" " (declare (in ) vec3 P@0x161cf00)\n" " (declare (in ) float lod@0x161d010)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler2DArray sampler@0x161d1f0)\n" " (declare (in ) vec3 P@0x161d300)\n" " (declare (in ) float lod@0x161d410)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler1DArrayShadow sampler@0x161d5f0)\n" " (declare (in ) vec3 P@0x161d700)\n" " (declare (in ) float lod@0x161d810)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texelFetch\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x161d9f0)\n" " (declare (in ) int P@0x161db00)\n" " (declare (in ) int lod@0x161dc10)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler1D sampler@0x161dfa0)\n" " (declare (in ) int P@0x161e0b0)\n" " (declare (in ) int lod@0x161e1c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler1D sampler@0x161e3a0)\n" " (declare (in ) int P@0x161e4b0)\n" " (declare (in ) int lod@0x161e5c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x161e7a0)\n" " (declare (in ) ivec2 P@0x161e8b0)\n" " (declare (in ) int lod@0x161e9c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler2D sampler@0x161eba0)\n" " (declare (in ) ivec2 P@0x161ecb0)\n" " (declare (in ) int lod@0x161edc0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler2D sampler@0x161efa0)\n" " (declare (in ) ivec2 P@0x161f0b0)\n" " (declare (in ) int lod@0x161f1c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x161f3a0)\n" " (declare (in ) ivec3 P@0x161f4b0)\n" " (declare (in ) int lod@0x161f5c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler3D sampler@0x161f7a0)\n" " (declare (in ) ivec3 P@0x161f8b0)\n" " (declare (in ) int lod@0x161f9c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler3D sampler@0x161fba0)\n" " (declare (in ) ivec3 P@0x161fcb0)\n" " (declare (in ) int lod@0x161fdc0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DArray sampler@0x161ffa0)\n" " (declare (in ) ivec2 P@0x16200b0)\n" " (declare (in ) int lod@0x16201c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler1DArray sampler@0x16203a0)\n" " (declare (in ) ivec2 P@0x16204b0)\n" " (declare (in ) int lod@0x16205c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler1DArray sampler@0x16207a0)\n" " (declare (in ) ivec2 P@0x16208b0)\n" " (declare (in ) int lod@0x16209c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DArray sampler@0x1620ba0)\n" " (declare (in ) ivec3 P@0x1620cb0)\n" " (declare (in ) int lod@0x1620dc0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler2DArray sampler@0x1620fa0)\n" " (declare (in ) ivec3 P@0x16210b0)\n" " (declare (in ) int lod@0x16211c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler2DArray sampler@0x16213a0)\n" " (declare (in ) ivec3 P@0x16214b0)\n" " (declare (in ) int lod@0x16215c0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function textureProjLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x16217a0)\n" " (declare (in ) vec2 P@0x16218b0)\n" " (declare (in ) float lod@0x16219c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler1D sampler@0x1621d50)\n" " (declare (in ) vec2 P@0x1621e60)\n" " (declare (in ) float lod@0x1621f70)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler1D sampler@0x1622150)\n" " (declare (in ) vec2 P@0x1622260)\n" " (declare (in ) float lod@0x1622370)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1622550)\n" " (declare (in ) vec4 P@0x1622660)\n" " (declare (in ) float lod@0x1622770)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler1D sampler@0x1622950)\n" " (declare (in ) vec4 P@0x1622a60)\n" " (declare (in ) float lod@0x1622b70)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler1D sampler@0x1622d50)\n" " (declare (in ) vec4 P@0x1622e60)\n" " (declare (in ) float lod@0x1622f70)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x1623150)\n" " (declare (in ) vec3 P@0x1623260)\n" " (declare (in ) float lod@0x1623370)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler2D sampler@0x1623550)\n" " (declare (in ) vec3 P@0x1623660)\n" " (declare (in ) float lod@0x1623770)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler2D sampler@0x1623950)\n" " (declare (in ) vec3 P@0x1623a60)\n" " (declare (in ) float lod@0x1623b70)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x1623d50)\n" " (declare (in ) vec4 P@0x1623e60)\n" " (declare (in ) float lod@0x1623f70)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler2D sampler@0x1624150)\n" " (declare (in ) vec4 P@0x1624260)\n" " (declare (in ) float lod@0x1624370)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler2D sampler@0x1624550)\n" " (declare (in ) vec4 P@0x1624660)\n" " (declare (in ) float lod@0x1624770)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x1624950)\n" " (declare (in ) vec4 P@0x1624a60)\n" " (declare (in ) float lod@0x1624b70)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler3D sampler@0x1624d50)\n" " (declare (in ) vec4 P@0x1624e60)\n" " (declare (in ) float lod@0x1624f70)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler3D sampler@0x1625150)\n" " (declare (in ) vec4 P@0x1625260)\n" " (declare (in ) float lod@0x1625370)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x1625550)\n" " (declare (in ) vec4 P@0x1625660)\n" " (declare (in ) float lod@0x1625770)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x1625950)\n" " (declare (in ) vec4 P@0x1625a60)\n" " (declare (in ) float lod@0x1625b70)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function textureGrad\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1625d50)\n" " (declare (in ) float P@0x1625e60)\n" " (declare (in ) float dPdx@0x1625f70)\n" " (declare (in ) float dPdy@0x1626080)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler1D sampler@0x1626410)\n" " (declare (in ) float P@0x1626520)\n" " (declare (in ) float dPdx@0x1626630)\n" " (declare (in ) float dPdy@0x1626740)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler1D sampler@0x1626920)\n" " (declare (in ) float P@0x1626a30)\n" " (declare (in ) float dPdx@0x1626b40)\n" " (declare (in ) float dPdy@0x1626c50)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x1626e30)\n" " (declare (in ) vec2 P@0x1626f40)\n" " (declare (in ) vec2 dPdx@0x1627050)\n" " (declare (in ) vec2 dPdy@0x1627160)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler2D sampler@0x1627340)\n" " (declare (in ) vec2 P@0x1627450)\n" " (declare (in ) vec2 dPdx@0x1627560)\n" " (declare (in ) vec2 dPdy@0x1627670)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler2D sampler@0x1627850)\n" " (declare (in ) vec2 P@0x1627960)\n" " (declare (in ) vec2 dPdx@0x1627a70)\n" " (declare (in ) vec2 dPdy@0x1627b80)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x1627d60)\n" " (declare (in ) vec3 P@0x1627e70)\n" " (declare (in ) vec3 dPdx@0x1627f80)\n" " (declare (in ) vec3 dPdy@0x1628090)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler3D sampler@0x1628270)\n" " (declare (in ) vec3 P@0x1628380)\n" " (declare (in ) vec3 dPdx@0x1628490)\n" " (declare (in ) vec3 dPdy@0x16285a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler3D sampler@0x1628780)\n" " (declare (in ) vec3 P@0x1628890)\n" " (declare (in ) vec3 dPdx@0x16289a0)\n" " (declare (in ) vec3 dPdy@0x1628ab0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) samplerCube sampler@0x1628c90)\n" " (declare (in ) vec3 P@0x1628da0)\n" " (declare (in ) vec3 dPdx@0x1628eb0)\n" " (declare (in ) vec3 dPdy@0x1628fc0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isamplerCube sampler@0x16291a0)\n" " (declare (in ) vec3 P@0x16292b0)\n" " (declare (in ) vec3 dPdx@0x16293c0)\n" " (declare (in ) vec3 dPdy@0x16294d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usamplerCube sampler@0x16296b0)\n" " (declare (in ) vec3 P@0x16297c0)\n" " (declare (in ) vec3 dPdx@0x16298d0)\n" " (declare (in ) vec3 dPdy@0x16299e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x1629bc0)\n" " (declare (in ) vec3 P@0x1629cd0)\n" " (declare (in ) float dPdx@0x1629de0)\n" " (declare (in ) float dPdy@0x1629ef0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x162a0d0)\n" " (declare (in ) vec3 P@0x162a1e0)\n" " (declare (in ) vec2 dPdx@0x162a2f0)\n" " (declare (in ) vec2 dPdy@0x162a400)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) samplerCubeShadow sampler@0x162a5e0)\n" " (declare (in ) vec4 P@0x162a6f0)\n" " (declare (in ) vec3 dPdx@0x162a800)\n" " (declare (in ) vec3 dPdy@0x162a910)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DArray sampler@0x162aaf0)\n" " (declare (in ) vec2 P@0x162ac00)\n" " (declare (in ) float dPdx@0x162ad10)\n" " (declare (in ) float dPdy@0x162ae20)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler1DArray sampler@0x162b000)\n" " (declare (in ) vec2 P@0x162b110)\n" " (declare (in ) float dPdx@0x162b220)\n" " (declare (in ) float dPdy@0x162b330)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler1DArray sampler@0x162b510)\n" " (declare (in ) vec2 P@0x162b620)\n" " (declare (in ) float dPdx@0x162b730)\n" " (declare (in ) float dPdy@0x162b840)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DArray sampler@0x162ba20)\n" " (declare (in ) vec3 P@0x162bb30)\n" " (declare (in ) vec2 dPdx@0x162bc40)\n" " (declare (in ) vec2 dPdy@0x162bd50)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler2DArray sampler@0x162bf30)\n" " (declare (in ) vec3 P@0x162c040)\n" " (declare (in ) vec2 dPdx@0x162c150)\n" " (declare (in ) vec2 dPdy@0x162c260)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler2DArray sampler@0x162c440)\n" " (declare (in ) vec3 P@0x162c550)\n" " (declare (in ) vec2 dPdx@0x162c660)\n" " (declare (in ) vec2 dPdy@0x162c770)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler1DArrayShadow sampler@0x162c950)\n" " (declare (in ) vec3 P@0x162ca60)\n" " (declare (in ) float dPdx@0x162cb70)\n" " (declare (in ) float dPdy@0x162cc80)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler2DArrayShadow sampler@0x162ce60)\n" " (declare (in ) vec4 P@0x162cf70)\n" " (declare (in ) vec2 dPdx@0x162d080)\n" " (declare (in ) vec2 dPdy@0x162d190)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function textureProjGrad\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x162d370)\n" " (declare (in ) vec2 P@0x162d480)\n" " (declare (in ) float dPdx@0x162d590)\n" " (declare (in ) float dPdy@0x162d6a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler1D sampler@0x162da30)\n" " (declare (in ) vec2 P@0x162db40)\n" " (declare (in ) float dPdx@0x162dc50)\n" " (declare (in ) float dPdy@0x162dd60)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler1D sampler@0x162df40)\n" " (declare (in ) vec2 P@0x162e050)\n" " (declare (in ) float dPdx@0x162e160)\n" " (declare (in ) float dPdy@0x162e270)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x162e450)\n" " (declare (in ) vec4 P@0x162e560)\n" " (declare (in ) float dPdx@0x162e670)\n" " (declare (in ) float dPdy@0x162e780)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler1D sampler@0x162e960)\n" " (declare (in ) vec4 P@0x162ea70)\n" " (declare (in ) float dPdx@0x162eb80)\n" " (declare (in ) float dPdy@0x162ec90)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler1D sampler@0x162ee70)\n" " (declare (in ) vec4 P@0x162ef80)\n" " (declare (in ) float dPdx@0x162f090)\n" " (declare (in ) float dPdy@0x162f1a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x162f380)\n" " (declare (in ) vec3 P@0x162f490)\n" " (declare (in ) vec2 dPdx@0x162f5a0)\n" " (declare (in ) vec2 dPdy@0x162f6b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler2D sampler@0x162f890)\n" " (declare (in ) vec3 P@0x162f9a0)\n" " (declare (in ) vec2 dPdx@0x162fab0)\n" " (declare (in ) vec2 dPdy@0x162fbc0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler2D sampler@0x162fda0)\n" " (declare (in ) vec3 P@0x162feb0)\n" " (declare (in ) vec2 dPdx@0x162ffc0)\n" " (declare (in ) vec2 dPdy@0x16300d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x16302b0)\n" " (declare (in ) vec4 P@0x16303c0)\n" " (declare (in ) vec2 dPdx@0x16304d0)\n" " (declare (in ) vec2 dPdy@0x16305e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler2D sampler@0x16307c0)\n" " (declare (in ) vec4 P@0x16308d0)\n" " (declare (in ) vec2 dPdx@0x16309e0)\n" " (declare (in ) vec2 dPdy@0x1630af0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler2D sampler@0x1630cd0)\n" " (declare (in ) vec4 P@0x1630de0)\n" " (declare (in ) vec2 dPdx@0x1630ef0)\n" " (declare (in ) vec2 dPdy@0x1631000)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x16311e0)\n" " (declare (in ) vec4 P@0x16312f0)\n" " (declare (in ) vec3 dPdx@0x1631400)\n" " (declare (in ) vec3 dPdy@0x1631510)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler3D sampler@0x16316f0)\n" " (declare (in ) vec4 P@0x1631800)\n" " (declare (in ) vec3 dPdx@0x1631910)\n" " (declare (in ) vec3 dPdy@0x1631a20)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler3D sampler@0x1631c00)\n" " (declare (in ) vec4 P@0x1631d10)\n" " (declare (in ) vec3 dPdx@0x1631e20)\n" " (declare (in ) vec3 dPdy@0x1631f30)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x1632110)\n" " (declare (in ) vec4 P@0x1632220)\n" " (declare (in ) float dPdx@0x1632330)\n" " (declare (in ) float dPdy@0x1632440)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x1632620)\n" " (declare (in ) vec4 P@0x1632730)\n" " (declare (in ) vec2 dPdx@0x1632840)\n" " (declare (in ) vec2 dPdy@0x1632950)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture1D\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1632b30)\n" " (declare (in ) float coord@0x1632c40)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1633760)\n" " (declare (in ) float coord@0x1633870)\n" " (declare (in ) float bias@0x1633980)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture1DProj\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1632fd0)\n" " (declare (in ) vec2 coord@0x16330e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1633470)\n" " (declare (in ) vec4 coord@0x1633580)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1633b60)\n" " (declare (in ) vec2 coord@0x1633c70)\n" " (declare (in ) float bias@0x1633d80)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1633f60)\n" " (declare (in ) vec4 coord@0x1634070)\n" " (declare (in ) float bias@0x1634180)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture1DLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1634360)\n" " (declare (in ) float coord@0x1634470)\n" " (declare (in ) float lod@0x1634580)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture1DProjLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1634910)\n" " (declare (in ) vec2 coord@0x1634a20)\n" " (declare (in ) float lod@0x1634b30)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1634ec0)\n" " (declare (in ) vec4 coord@0x1634fd0)\n" " (declare (in ) float lod@0x16350e0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture2D\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x16352c0)\n" " (declare (in ) vec2 coord@0x16353d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x1635ef0)\n" " (declare (in ) vec2 coord@0x1636000)\n" " (declare (in ) float bias@0x1636110)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture2DProj\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x1635760)\n" " (declare (in ) vec3 coord@0x1635870)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x1635c00)\n" " (declare (in ) vec4 coord@0x1635d10)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x16362f0)\n" " (declare (in ) vec3 coord@0x1636400)\n" " (declare (in ) float bias@0x1636510)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x16366f0)\n" " (declare (in ) vec4 coord@0x1636800)\n" " (declare (in ) float bias@0x1636910)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture2DLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x1636af0)\n" " (declare (in ) vec2 coord@0x1636c00)\n" " (declare (in ) float lod@0x1636d10)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture2DProjLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x16370a0)\n" " (declare (in ) vec3 coord@0x16371b0)\n" " (declare (in ) float lod@0x16372c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x1637650)\n" " (declare (in ) vec4 coord@0x1637760)\n" " (declare (in ) float lod@0x1637870)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture3D\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x1637a50)\n" " (declare (in ) vec3 coord@0x1637b60)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x1638390)\n" " (declare (in ) vec3 coord@0x16384a0)\n" " (declare (in ) float bias@0x16385b0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture3DProj\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x1637ef0)\n" " (declare (in ) vec4 coord@0x1638000)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x1638790)\n" " (declare (in ) vec4 coord@0x16388a0)\n" " (declare (in ) float bias@0x16389b0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture3DLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x1638b90)\n" " (declare (in ) vec3 coord@0x1638ca0)\n" " (declare (in ) float lod@0x1638db0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture3DProjLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x1639140)\n" " (declare (in ) vec4 coord@0x1639250)\n" " (declare (in ) float lod@0x1639360)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function textureCube\n" " (signature vec4\n" " (parameters\n" " (declare (in ) samplerCube sampler@0x16396f0)\n" " (declare (in ) vec3 coord@0x1639800)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) samplerCube sampler@0x1639b90)\n" " (declare (in ) vec3 coord@0x1639ca0)\n" " (declare (in ) float bias@0x1639db0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function textureCubeLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) samplerCube sampler@0x1639f90)\n" " (declare (in ) vec3 coord@0x163a0a0)\n" " (declare (in ) float lod@0x163a1b0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow1D\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x163a540)\n" " (declare (in ) vec3 coord@0x163a650)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x163b7c0)\n" " (declare (in ) vec3 coord@0x163b8d0)\n" " (declare (in ) float bias@0x163b9e0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow2D\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x163a9e0)\n" " (declare (in ) vec3 coord@0x163aaf0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x163bbc0)\n" " (declare (in ) vec3 coord@0x163bcd0)\n" " (declare (in ) float bias@0x163bde0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow1DProj\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x163ae80)\n" " (declare (in ) vec4 coord@0x163af90)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x163bfc0)\n" " (declare (in ) vec4 coord@0x163c0d0)\n" " (declare (in ) float bias@0x163c1e0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow2DProj\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x163b320)\n" " (declare (in ) vec4 coord@0x163b430)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x163c3c0)\n" " (declare (in ) vec4 coord@0x163c4d0)\n" " (declare (in ) float bias@0x163c5e0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow1DLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x163c7c0)\n" " (declare (in ) vec3 coord@0x163c8d0)\n" " (declare (in ) float lod@0x163c9e0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow2DLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x163cd70)\n" " (declare (in ) vec3 coord@0x163ce80)\n" " (declare (in ) float lod@0x163cf90)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow1DProjLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x163d320)\n" " (declare (in ) vec4 coord@0x163d430)\n" " (declare (in ) float lod@0x163d540)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow2DProjLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x163d8d0)\n" " (declare (in ) vec4 coord@0x163d9e0)\n" " (declare (in ) float lod@0x163daf0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function dFdx\n" " (signature float\n" " (parameters\n" " (declare (in ) float p@0x163de80)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 p@0x163e200)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 p@0x163e3e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 p@0x163e5c0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function dFdy\n" " (signature float\n" " (parameters\n" " (declare (in ) float p@0x163e7a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 p@0x163eb20)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 p@0x163ed00)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 p@0x163eee0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function fwidth\n" " (signature float\n" " (parameters\n" " (declare (in ) float p@0x163f0c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 p@0x163f440)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 p@0x163f620)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 p@0x163f800)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function noise1\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x163f9e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec2 x@0x163fd60)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec3 x@0x163ff40)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec4 x@0x1640120)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function noise2\n" " (signature vec2\n" " (parameters\n" " (declare (in ) float x@0x1640300)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1640680)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec3 x@0x1640860)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec4 x@0x1640a40)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function noise3\n" " (signature vec3\n" " (parameters\n" " (declare (in ) float x@0x1640c20)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec2 x@0x1640fa0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1641180)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec4 x@0x1641360)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function noise4\n" " (signature vec4\n" " (parameters\n" " (declare (in ) float x@0x1641540)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec2 x@0x16418c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec3 x@0x1641aa0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1641c80)\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@0x7e97b0)\n" " (declare (in ) vec2 coord@0x7e98c0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture2DRectProj\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DRect sampler@0x7e9c50)\n" " (declare (in ) vec3 coord@0x7e9d60)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DRect sampler@0x7ea0f0)\n" " (declare (in ) vec4 coord@0x7ea200)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow2DRect\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DRectShadow sampler@0x7ea3e0)\n" " (declare (in ) vec3 coord@0x7ea4f0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow2DRectProj\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DRectShadow sampler@0x7ea880)\n" " (declare (in ) vec4 coord@0x7ea990)\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@0x1e1bfa0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 degrees@0x1e1c320)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 degrees@0x1e1c500)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 degrees@0x1e1c6e0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function degrees\n" " (signature float\n" " (parameters\n" " (declare (in ) float radians@0x1e1c8c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 radians@0x1e1cc40)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 radians@0x1e1ce20)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 radians@0x1e1d000)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function sin\n" " (signature float\n" " (parameters\n" " (declare (in ) float angle@0x1e1d1e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 angle@0x1e1d560)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 angle@0x1e1d740)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 angle@0x1e1d920)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function cos\n" " (signature float\n" " (parameters\n" " (declare (in ) float angle@0x1e1db00)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 angle@0x1e1de80)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 angle@0x1e1e060)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 angle@0x1e1e240)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function tan\n" " (signature float\n" " (parameters\n" " (declare (in ) float angle@0x1e1e420)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 angle@0x1e1e7a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 angle@0x1e1e980)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 angle@0x1e1eb60)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function asin\n" " (signature float\n" " (parameters\n" " (declare (in ) float angle@0x1e1ed40)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 angle@0x1e1f0c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 angle@0x1e1f2a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 angle@0x1e1f480)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function acos\n" " (signature float\n" " (parameters\n" " (declare (in ) float angle@0x1e1f660)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 angle@0x1e1f9e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 angle@0x1e1fbc0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 angle@0x1e1fda0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function atan\n" " (signature float\n" " (parameters\n" " (declare (in ) float y@0x1e1ff80)\n" " (declare (in ) float x@0x1e20090)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 y@0x1e20410)\n" " (declare (in ) vec2 x@0x1e20520)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 y@0x1e20700)\n" " (declare (in ) vec3 x@0x1e20810)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 y@0x1e209f0)\n" " (declare (in ) vec4 x@0x1e20b00)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) float y_over_x@0x1e20ce0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 y_over_x@0x1e20ed0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 y_over_x@0x1e210c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 y_over_x@0x1e212b0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function pow\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x1e214a0)\n" " (declare (in ) float y@0x1e215b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1e21930)\n" " (declare (in ) vec2 y@0x1e21a40)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1e21c20)\n" " (declare (in ) vec3 y@0x1e21d30)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1e21f10)\n" " (declare (in ) vec4 y@0x1e22020)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function exp\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x1e22200)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1e22580)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1e22760)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1e22940)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function log\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x1e22b20)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1e22ea0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1e23080)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1e23260)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function exp2\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x1e23440)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1e237c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1e239a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1e23b80)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function log2\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x1e23d60)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1e240e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1e242c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1e244a0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function sqrt\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x1e24680)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1e24a00)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1e24be0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1e24dc0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function inversesqrt\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x1e24fa0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1e25330)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1e25510)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1e256f0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function abs\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x1e258d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1e25c50)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1e25e30)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1e26010)\n" " )\n" " (\n" " ))\n" "\n" " (signature int\n" " (parameters\n" " (declare (in ) int x@0x1e261f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x1e263d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x1e265b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x1e26790)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function sign\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x1e26970)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1e26cf0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1e26ed0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1e270b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature int\n" " (parameters\n" " (declare (in ) int x@0x1e27290)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x1e27470)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x1e27650)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x1e27830)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function floor\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x1e27a10)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1e27d90)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1e27f70)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1e28150)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function ceil\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x1e28330)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1e286b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1e28890)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1e28a70)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function fract\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x1e28c50)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1e28fd0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1e291b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1e29390)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function mod\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x1e29570)\n" " (declare (in ) float y@0x1e29680)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1e29a00)\n" " (declare (in ) float y@0x1e29b10)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1e29cf0)\n" " (declare (in ) float y@0x1e29e00)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1e29fe0)\n" " (declare (in ) float y@0x1e2a0f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1e2a2d0)\n" " (declare (in ) vec2 y@0x1e2a3e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1e2a5c0)\n" " (declare (in ) vec3 y@0x1e2a6d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1e2a8b0)\n" " (declare (in ) vec4 y@0x1e2a9c0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function min\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x1e2aba0)\n" " (declare (in ) float y@0x1e2acb0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1e2b030)\n" " (declare (in ) vec2 y@0x1e2b140)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1e2b320)\n" " (declare (in ) vec3 y@0x1e2b430)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1e2b610)\n" " (declare (in ) vec4 y@0x1e2b720)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1e2b900)\n" " (declare (in ) float y@0x1e2ba10)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1e2bbf0)\n" " (declare (in ) float y@0x1e2bd00)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1e2bee0)\n" " (declare (in ) float y@0x1e2bff0)\n" " )\n" " (\n" " ))\n" "\n" " (signature int\n" " (parameters\n" " (declare (in ) int x@0x1e2c1d0)\n" " (declare (in ) int y@0x1e2c2e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x1e2c4c0)\n" " (declare (in ) ivec2 y@0x1e2c5d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x1e2c7b0)\n" " (declare (in ) ivec3 y@0x1e2c8c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x1e2caa0)\n" " (declare (in ) ivec4 y@0x1e2cbb0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x1e2cd90)\n" " (declare (in ) int y@0x1e2cea0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x1e2d080)\n" " (declare (in ) int y@0x1e2d190)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x1e2d370)\n" " (declare (in ) int y@0x1e2d480)\n" " )\n" " (\n" " ))\n" "\n" " (signature uint\n" " (parameters\n" " (declare (in ) uint x@0x1e2d660)\n" " (declare (in ) uint y@0x1e2d770)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec2\n" " (parameters\n" " (declare (in ) uvec2 x@0x1e2d950)\n" " (declare (in ) uvec2 y@0x1e2da60)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec3\n" " (parameters\n" " (declare (in ) uvec3 x@0x1e2dc40)\n" " (declare (in ) uvec3 y@0x1e2dd50)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) uvec4 x@0x1e2df30)\n" " (declare (in ) uvec4 y@0x1e2e040)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec2\n" " (parameters\n" " (declare (in ) uvec2 x@0x1e2e220)\n" " (declare (in ) uint y@0x1e2e330)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec3\n" " (parameters\n" " (declare (in ) uvec3 x@0x1e2e510)\n" " (declare (in ) uint y@0x1e2e620)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) uvec4 x@0x1e2e800)\n" " (declare (in ) uint y@0x1e2e910)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function max\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x1e2eaf0)\n" " (declare (in ) float y@0x1e2ec00)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1e2ef80)\n" " (declare (in ) vec2 y@0x1e2f090)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1e2f270)\n" " (declare (in ) vec3 y@0x1e2f380)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1e2f560)\n" " (declare (in ) vec4 y@0x1e2f670)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1e2f850)\n" " (declare (in ) float y@0x1e2f960)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1e2fb40)\n" " (declare (in ) float y@0x1e2fc50)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1e2fe30)\n" " (declare (in ) float y@0x1e2ff40)\n" " )\n" " (\n" " ))\n" "\n" " (signature int\n" " (parameters\n" " (declare (in ) int x@0x1e30120)\n" " (declare (in ) int y@0x1e30230)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x1e30410)\n" " (declare (in ) ivec2 y@0x1e30520)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x1e30700)\n" " (declare (in ) ivec3 y@0x1e30810)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x1e309f0)\n" " (declare (in ) ivec4 y@0x1e30b00)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x1e30ce0)\n" " (declare (in ) int y@0x1e30df0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x1e30fd0)\n" " (declare (in ) int y@0x1e310e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x1e312c0)\n" " (declare (in ) int y@0x1e313d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uint\n" " (parameters\n" " (declare (in ) uint x@0x1e315b0)\n" " (declare (in ) uint y@0x1e316c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec2\n" " (parameters\n" " (declare (in ) uvec2 x@0x1e318a0)\n" " (declare (in ) uvec2 y@0x1e319b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec3\n" " (parameters\n" " (declare (in ) uvec3 x@0x1e31b90)\n" " (declare (in ) uvec3 y@0x1e31ca0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) uvec4 x@0x1e31e80)\n" " (declare (in ) uvec4 y@0x1e31f90)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec2\n" " (parameters\n" " (declare (in ) uvec2 x@0x1e32170)\n" " (declare (in ) uint y@0x1e32280)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec3\n" " (parameters\n" " (declare (in ) uvec3 x@0x1e32460)\n" " (declare (in ) uint y@0x1e32570)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) uvec4 x@0x1e32750)\n" " (declare (in ) uint y@0x1e32860)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function clamp\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x1e32a40)\n" " (declare (in ) float minVal@0x1e32b50)\n" " (declare (in ) float maxVal@0x1e32c60)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1e32fe0)\n" " (declare (in ) vec2 minVal@0x1e330f0)\n" " (declare (in ) vec2 maxVal@0x1e33200)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1e333e0)\n" " (declare (in ) vec3 minVal@0x1e334f0)\n" " (declare (in ) vec3 maxVal@0x1e33600)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1e337e0)\n" " (declare (in ) vec4 minVal@0x1e338f0)\n" " (declare (in ) vec4 maxVal@0x1e33a00)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1e33be0)\n" " (declare (in ) float minVal@0x1e33cf0)\n" " (declare (in ) float maxVal@0x1e33e00)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1e33fe0)\n" " (declare (in ) float minVal@0x1e340f0)\n" " (declare (in ) float maxVal@0x1e34200)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1e343e0)\n" " (declare (in ) float minVal@0x1e344f0)\n" " (declare (in ) float maxVal@0x1e34600)\n" " )\n" " (\n" " ))\n" "\n" " (signature int\n" " (parameters\n" " (declare (in ) int x@0x1e347e0)\n" " (declare (in ) int minVal@0x1e348f0)\n" " (declare (in ) int maxVal@0x1e34a00)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x1e34be0)\n" " (declare (in ) ivec2 minVal@0x1e34cf0)\n" " (declare (in ) ivec2 maxVal@0x1e34e00)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x1e34fe0)\n" " (declare (in ) ivec3 minVal@0x1e350f0)\n" " (declare (in ) ivec3 maxVal@0x1e35200)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x1e353e0)\n" " (declare (in ) ivec4 minVal@0x1e354f0)\n" " (declare (in ) ivec4 maxVal@0x1e35600)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x1e357e0)\n" " (declare (in ) int minVal@0x1e358f0)\n" " (declare (in ) int maxVal@0x1e35a00)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x1e35be0)\n" " (declare (in ) int minVal@0x1e35cf0)\n" " (declare (in ) int maxVal@0x1e35e00)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x1e35fe0)\n" " (declare (in ) int minVal@0x1e360f0)\n" " (declare (in ) int maxVal@0x1e36200)\n" " )\n" " (\n" " ))\n" "\n" " (signature uint\n" " (parameters\n" " (declare (in ) uint x@0x1e363e0)\n" " (declare (in ) uint minVal@0x1e364f0)\n" " (declare (in ) uint maxVal@0x1e36600)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec2\n" " (parameters\n" " (declare (in ) uvec2 x@0x1e367e0)\n" " (declare (in ) uvec2 minVal@0x1e368f0)\n" " (declare (in ) uvec2 maxVal@0x1e36a00)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec3\n" " (parameters\n" " (declare (in ) uvec3 x@0x1e36be0)\n" " (declare (in ) uvec3 minVal@0x1e36cf0)\n" " (declare (in ) uvec3 maxVal@0x1e36e00)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) uvec4 x@0x1e36fe0)\n" " (declare (in ) uvec4 minVal@0x1e370f0)\n" " (declare (in ) uvec4 maxVal@0x1e37200)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec2\n" " (parameters\n" " (declare (in ) uvec2 x@0x1e373e0)\n" " (declare (in ) uint minVal@0x1e374f0)\n" " (declare (in ) uint maxVal@0x1e37600)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec3\n" " (parameters\n" " (declare (in ) uvec3 x@0x1e377e0)\n" " (declare (in ) uint minVal@0x1e378f0)\n" " (declare (in ) uint maxVal@0x1e37a00)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) uvec4 x@0x1e37be0)\n" " (declare (in ) uint minVal@0x1e37cf0)\n" " (declare (in ) uint maxVal@0x1e37e00)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function mix\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x1e37fe0)\n" " (declare (in ) float y@0x1e380f0)\n" " (declare (in ) float a@0x1e38200)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1e38580)\n" " (declare (in ) vec2 y@0x1e38690)\n" " (declare (in ) vec2 a@0x1e387a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1e38980)\n" " (declare (in ) vec3 y@0x1e38a90)\n" " (declare (in ) vec3 a@0x1e38ba0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1e38d80)\n" " (declare (in ) vec4 y@0x1e38e90)\n" " (declare (in ) vec4 a@0x1e38fa0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1e39180)\n" " (declare (in ) vec2 y@0x1e39290)\n" " (declare (in ) float a@0x1e393a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1e39580)\n" " (declare (in ) vec3 y@0x1e39690)\n" " (declare (in ) float a@0x1e397a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1e39980)\n" " (declare (in ) vec4 y@0x1e39a90)\n" " (declare (in ) float a@0x1e39ba0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function step\n" " (signature float\n" " (parameters\n" " (declare (in ) float edge@0x1e39d80)\n" " (declare (in ) float x@0x1e39e90)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 edge@0x1e3a210)\n" " (declare (in ) vec2 x@0x1e3a320)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 edge@0x1e3a500)\n" " (declare (in ) vec3 x@0x1e3a610)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 edge@0x1e3a7f0)\n" " (declare (in ) vec4 x@0x1e3a900)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) float edge@0x1e3aae0)\n" " (declare (in ) vec2 x@0x1e3abf0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) float edge@0x1e3add0)\n" " (declare (in ) vec3 x@0x1e3aee0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) float edge@0x1e3b0c0)\n" " (declare (in ) vec4 x@0x1e3b1d0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function smoothstep\n" " (signature float\n" " (parameters\n" " (declare (in ) float edge0@0x1e3b3b0)\n" " (declare (in ) float edge1@0x1e3b4c0)\n" " (declare (in ) float x@0x1e3b5d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 edge0@0x1e3b960)\n" " (declare (in ) vec2 edge1@0x1e3ba70)\n" " (declare (in ) vec2 x@0x1e3bb80)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 edge0@0x1e3bd60)\n" " (declare (in ) vec3 edge1@0x1e3be70)\n" " (declare (in ) vec3 x@0x1e3bf80)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 edge0@0x1e3c160)\n" " (declare (in ) vec4 edge1@0x1e3c270)\n" " (declare (in ) vec4 x@0x1e3c380)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) float edge0@0x1e3c560)\n" " (declare (in ) float edge1@0x1e3c670)\n" " (declare (in ) vec2 x@0x1e3c780)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) float edge0@0x1e3c960)\n" " (declare (in ) float edge1@0x1e3ca70)\n" " (declare (in ) vec3 x@0x1e3cb80)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) float edge0@0x1e3cd60)\n" " (declare (in ) float edge1@0x1e3ce70)\n" " (declare (in ) vec4 x@0x1e3cf80)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function length\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x1e3d160)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec2 x@0x1e3d4e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec3 x@0x1e3d6c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec4 x@0x1e3d8a0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function distance\n" " (signature float\n" " (parameters\n" " (declare (in ) float p0@0x1e3da80)\n" " (declare (in ) float p1@0x1e3db90)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec2 p0@0x1e3df20)\n" " (declare (in ) vec2 p1@0x1e3e030)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec3 p0@0x1e3e210)\n" " (declare (in ) vec3 p1@0x1e3e320)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec4 p0@0x1e3e500)\n" " (declare (in ) vec4 p1@0x1e3e610)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function dot\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x1e3e7f0)\n" " (declare (in ) float y@0x1e3e900)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec2 x@0x1e3ec80)\n" " (declare (in ) vec2 y@0x1e3ed90)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec3 x@0x1e3ef70)\n" " (declare (in ) vec3 y@0x1e3f080)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec4 x@0x1e3f260)\n" " (declare (in ) vec4 y@0x1e3f370)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function cross\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1e3f550)\n" " (declare (in ) vec3 y@0x1e3f660)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function normalize\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x1e3f9e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1e3fd70)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1e3ff50)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1e40130)\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@0x1e40590)\n" " (declare (in ) float I@0x1e406a0)\n" " (declare (in ) float Nref@0x1e407b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 N@0x1e40b40)\n" " (declare (in ) vec2 I@0x1e40c50)\n" " (declare (in ) vec2 Nref@0x1e40d60)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 N@0x1e40f40)\n" " (declare (in ) vec3 I@0x1e41050)\n" " (declare (in ) vec3 Nref@0x1e41160)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 N@0x1e41340)\n" " (declare (in ) vec4 I@0x1e41450)\n" " (declare (in ) vec4 Nref@0x1e41560)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function reflect\n" " (signature float\n" " (parameters\n" " (declare (in ) float I@0x1e41740)\n" " (declare (in ) float N@0x1e41850)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 I@0x1e41bd0)\n" " (declare (in ) vec2 N@0x1e41ce0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 I@0x1e41ec0)\n" " (declare (in ) vec3 N@0x1e41fd0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 I@0x1e421b0)\n" " (declare (in ) vec4 N@0x1e422c0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function refract\n" " (signature float\n" " (parameters\n" " (declare (in ) float I@0x1e424a0)\n" " (declare (in ) float N@0x1e425b0)\n" " (declare (in ) float eta@0x1e426c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 I@0x1e42a40)\n" " (declare (in ) vec2 N@0x1e42b50)\n" " (declare (in ) float eta@0x1e42c60)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 I@0x1e42e40)\n" " (declare (in ) vec3 N@0x1e42f50)\n" " (declare (in ) float eta@0x1e43060)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 I@0x1e43240)\n" " (declare (in ) vec4 N@0x1e43350)\n" " (declare (in ) float eta@0x1e43460)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function matrixCompMult\n" " (signature mat2\n" " (parameters\n" " (declare (in ) mat2 x@0x1e43640)\n" " (declare (in ) mat2 y@0x1e43750)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat3\n" " (parameters\n" " (declare (in ) mat3 x@0x1e43ae0)\n" " (declare (in ) mat3 y@0x1e43bf0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat4\n" " (parameters\n" " (declare (in ) mat4 x@0x1e43dd0)\n" " (declare (in ) mat4 y@0x1e43ee0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat2x3\n" " (parameters\n" " (declare (in ) mat2x3 x@0x1e440c0)\n" " (declare (in ) mat2x3 y@0x1e441d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat2x4\n" " (parameters\n" " (declare (in ) mat2x4 x@0x1e443b0)\n" " (declare (in ) mat2x4 y@0x1e444c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat3x2\n" " (parameters\n" " (declare (in ) mat3x2 x@0x1e446a0)\n" " (declare (in ) mat3x2 y@0x1e447b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat3x4\n" " (parameters\n" " (declare (in ) mat3x4 x@0x1e44990)\n" " (declare (in ) mat3x4 y@0x1e44aa0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat4x2\n" " (parameters\n" " (declare (in ) mat4x2 x@0x1e44c80)\n" " (declare (in ) mat4x2 y@0x1e44d90)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat4x3\n" " (parameters\n" " (declare (in ) mat4x3 x@0x1e44f70)\n" " (declare (in ) mat4x3 y@0x1e45080)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function outerProduct\n" " (signature mat2\n" " (parameters\n" " (declare (in ) vec2 c@0x1e45260)\n" " (declare (in ) vec2 r@0x1e45370)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat3\n" " (parameters\n" " (declare (in ) vec3 c@0x1e45700)\n" " (declare (in ) vec3 r@0x1e45810)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat4\n" " (parameters\n" " (declare (in ) vec4 c@0x1e459f0)\n" " (declare (in ) vec4 r@0x1e45b00)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat2x3\n" " (parameters\n" " (declare (in ) vec3 c@0x1e45ce0)\n" " (declare (in ) vec2 r@0x1e45df0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat3x2\n" " (parameters\n" " (declare (in ) vec2 c@0x1e45fd0)\n" " (declare (in ) vec3 r@0x1e460e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat2x4\n" " (parameters\n" " (declare (in ) vec4 c@0x1e462c0)\n" " (declare (in ) vec2 r@0x1e463d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat4x2\n" " (parameters\n" " (declare (in ) vec2 c@0x1e465b0)\n" " (declare (in ) vec4 r@0x1e466c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat3x4\n" " (parameters\n" " (declare (in ) vec4 c@0x1e468a0)\n" " (declare (in ) vec3 r@0x1e469b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat4x3\n" " (parameters\n" " (declare (in ) vec3 c@0x1e46b90)\n" " (declare (in ) vec4 r@0x1e46ca0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function transpose\n" " (signature mat2\n" " (parameters\n" " (declare (in ) mat2 m@0x1e46e80)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat3\n" " (parameters\n" " (declare (in ) mat3 m@0x1e47210)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat4\n" " (parameters\n" " (declare (in ) mat4 m@0x1e473f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat2x3\n" " (parameters\n" " (declare (in ) mat3x2 m@0x1e475d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat3x2\n" " (parameters\n" " (declare (in ) mat2x3 m@0x1e477b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat2x4\n" " (parameters\n" " (declare (in ) mat4x2 m@0x1e47990)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat4x2\n" " (parameters\n" " (declare (in ) mat2x4 m@0x1e47b70)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat3x4\n" " (parameters\n" " (declare (in ) mat4x3 m@0x1e47d50)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat4x3\n" " (parameters\n" " (declare (in ) mat3x4 m@0x1e47f30)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function lessThan\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1e48110)\n" " (declare (in ) vec2 y@0x1e48220)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1e485b0)\n" " (declare (in ) vec3 y@0x1e486c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1e488a0)\n" " (declare (in ) vec4 y@0x1e489b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x1e48b90)\n" " (declare (in ) ivec2 y@0x1e48ca0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x1e48e80)\n" " (declare (in ) ivec3 y@0x1e48f90)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x1e49170)\n" " (declare (in ) ivec4 y@0x1e49280)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) uvec2 x@0x1e49460)\n" " (declare (in ) uvec2 y@0x1e49570)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) uvec3 x@0x1e49750)\n" " (declare (in ) uvec3 y@0x1e49860)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) uvec4 x@0x1e49a40)\n" " (declare (in ) uvec4 y@0x1e49b50)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function lessThanEqual\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1e49d30)\n" " (declare (in ) vec2 y@0x1e49e40)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1e4a1d0)\n" " (declare (in ) vec3 y@0x1e4a2e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1e4a4c0)\n" " (declare (in ) vec4 y@0x1e4a5d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x1e4a7b0)\n" " (declare (in ) ivec2 y@0x1e4a8c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x1e4aaa0)\n" " (declare (in ) ivec3 y@0x1e4abb0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x1e4ad90)\n" " (declare (in ) ivec4 y@0x1e4aea0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) uvec2 x@0x1e4b080)\n" " (declare (in ) uvec2 y@0x1e4b190)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) uvec3 x@0x1e4b370)\n" " (declare (in ) uvec3 y@0x1e4b480)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) uvec4 x@0x1e4b660)\n" " (declare (in ) uvec4 y@0x1e4b770)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function greaterThan\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1e4b950)\n" " (declare (in ) vec2 y@0x1e4ba60)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1e4bdf0)\n" " (declare (in ) vec3 y@0x1e4bf00)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1e4c0e0)\n" " (declare (in ) vec4 y@0x1e4c1f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x1e4c3d0)\n" " (declare (in ) ivec2 y@0x1e4c4e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x1e4c6c0)\n" " (declare (in ) ivec3 y@0x1e4c7d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x1e4c9b0)\n" " (declare (in ) ivec4 y@0x1e4cac0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) uvec2 x@0x1e4cca0)\n" " (declare (in ) uvec2 y@0x1e4cdb0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) uvec3 x@0x1e4cf90)\n" " (declare (in ) uvec3 y@0x1e4d0a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) uvec4 x@0x1e4d280)\n" " (declare (in ) uvec4 y@0x1e4d390)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function greaterThanEqual\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1e4d570)\n" " (declare (in ) vec2 y@0x1e4d680)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1e4da10)\n" " (declare (in ) vec3 y@0x1e4db20)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1e4dd00)\n" " (declare (in ) vec4 y@0x1e4de10)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x1e4dff0)\n" " (declare (in ) ivec2 y@0x1e4e100)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x1e4e2e0)\n" " (declare (in ) ivec3 y@0x1e4e3f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x1e4e5d0)\n" " (declare (in ) ivec4 y@0x1e4e6e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) uvec2 x@0x1e4e8c0)\n" " (declare (in ) uvec2 y@0x1e4e9d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) uvec3 x@0x1e4ebb0)\n" " (declare (in ) uvec3 y@0x1e4ecc0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) uvec4 x@0x1e4eea0)\n" " (declare (in ) uvec4 y@0x1e4efb0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function equal\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1e4f190)\n" " (declare (in ) vec2 y@0x1e4f2a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1e4f620)\n" " (declare (in ) vec3 y@0x1e4f730)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1e4f910)\n" " (declare (in ) vec4 y@0x1e4fa20)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x1e4fc00)\n" " (declare (in ) ivec2 y@0x1e4fd10)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x1e4fef0)\n" " (declare (in ) ivec3 y@0x1e50000)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x1e501e0)\n" " (declare (in ) ivec4 y@0x1e502f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) uvec2 x@0x1e504d0)\n" " (declare (in ) uvec2 y@0x1e505e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) uvec3 x@0x1e507c0)\n" " (declare (in ) uvec3 y@0x1e508d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) uvec4 x@0x1e50ab0)\n" " (declare (in ) uvec4 y@0x1e50bc0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) bvec2 x@0x1e50da0)\n" " (declare (in ) bvec2 y@0x1e50eb0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) bvec3 x@0x1e51090)\n" " (declare (in ) bvec3 y@0x1e511a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) bvec4 x@0x1e51380)\n" " (declare (in ) bvec4 y@0x1e51490)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function notEqual\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1e51670)\n" " (declare (in ) vec2 y@0x1e51780)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1e51b10)\n" " (declare (in ) vec3 y@0x1e51c20)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1e51e00)\n" " (declare (in ) vec4 y@0x1e51f10)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x1e520f0)\n" " (declare (in ) ivec2 y@0x1e52200)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x1e523e0)\n" " (declare (in ) ivec3 y@0x1e524f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x1e526d0)\n" " (declare (in ) ivec4 y@0x1e527e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) uvec2 x@0x1e529c0)\n" " (declare (in ) uvec2 y@0x1e52ad0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) uvec3 x@0x1e52cb0)\n" " (declare (in ) uvec3 y@0x1e52dc0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) uvec4 x@0x1e52fa0)\n" " (declare (in ) uvec4 y@0x1e530b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) bvec2 x@0x1e53290)\n" " (declare (in ) bvec2 y@0x1e533a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) bvec3 x@0x1e53580)\n" " (declare (in ) bvec3 y@0x1e53690)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) bvec4 x@0x1e53870)\n" " (declare (in ) bvec4 y@0x1e53980)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function any\n" " (signature bool\n" " (parameters\n" " (declare (in ) bvec2 x@0x1e53b60)\n" " )\n" " (\n" " ))\n" "\n" " (signature bool\n" " (parameters\n" " (declare (in ) bvec3 x@0x1e53ee0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bool\n" " (parameters\n" " (declare (in ) bvec4 x@0x1e540c0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function all\n" " (signature bool\n" " (parameters\n" " (declare (in ) bvec2 x@0x1e542a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bool\n" " (parameters\n" " (declare (in ) bvec3 x@0x1e54620)\n" " )\n" " (\n" " ))\n" "\n" " (signature bool\n" " (parameters\n" " (declare (in ) bvec4 x@0x1e54800)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function not\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) bvec2 x@0x1e549e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) bvec3 x@0x1e54d60)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) bvec4 x@0x1e54f40)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1e55120)\n" " (declare (in ) float P@0x1e55230)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler1D sampler@0x1e555b0)\n" " (declare (in ) float P@0x1e556c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler1D sampler@0x1e558a0)\n" " (declare (in ) float P@0x1e559b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x1e55b90)\n" " (declare (in ) vec2 P@0x1e55ca0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler2D sampler@0x1e55e80)\n" " (declare (in ) vec2 P@0x1e55f90)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler2D sampler@0x1e56170)\n" " (declare (in ) vec2 P@0x1e56280)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x1e56460)\n" " (declare (in ) vec3 P@0x1e56570)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler3D sampler@0x1e56750)\n" " (declare (in ) vec3 P@0x1e56860)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler3D sampler@0x1e56a40)\n" " (declare (in ) vec3 P@0x1e56b50)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) samplerCube sampler@0x1e56d30)\n" " (declare (in ) vec3 P@0x1e56e40)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isamplerCube sampler@0x1e57020)\n" " (declare (in ) vec3 P@0x1e57130)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usamplerCube sampler@0x1e57310)\n" " (declare (in ) vec3 P@0x1e57420)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x1e57600)\n" " (declare (in ) vec3 P@0x1e57710)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x1e578f0)\n" " (declare (in ) vec3 P@0x1e57a00)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) samplerCubeShadow sampler@0x1e57be0)\n" " (declare (in ) vec4 P@0x1e57cf0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DArray sampler@0x1e57ed0)\n" " (declare (in ) vec2 P@0x1e57fe0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler1DArray sampler@0x1e581c0)\n" " (declare (in ) vec2 P@0x1e582d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler1DArray sampler@0x1e584b0)\n" " (declare (in ) vec2 P@0x1e585c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DArray sampler@0x1e587a0)\n" " (declare (in ) vec3 P@0x1e588b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler2DArray sampler@0x1e58a90)\n" " (declare (in ) vec3 P@0x1e58ba0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler2DArray sampler@0x1e58d80)\n" " (declare (in ) vec3 P@0x1e58e90)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler1DArrayShadow sampler@0x1e59070)\n" " (declare (in ) vec3 P@0x1e59180)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler2DArrayShadow sampler@0x1e59360)\n" " (declare (in ) vec4 P@0x1e59470)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1e59650)\n" " (declare (in ) float P@0x1e59760)\n" " (declare (in ) float bias@0x1e59870)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler1D sampler@0x1e59a50)\n" " (declare (in ) float P@0x1e59b60)\n" " (declare (in ) float bias@0x1e59c70)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler1D sampler@0x1e59e50)\n" " (declare (in ) float P@0x1e59f60)\n" " (declare (in ) float bias@0x1e5a070)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x1e5a250)\n" " (declare (in ) vec2 P@0x1e5a360)\n" " (declare (in ) float bias@0x1e5a470)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler2D sampler@0x1e5a650)\n" " (declare (in ) vec2 P@0x1e5a760)\n" " (declare (in ) float bias@0x1e5a870)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler2D sampler@0x1e5aa50)\n" " (declare (in ) vec2 P@0x1e5ab60)\n" " (declare (in ) float bias@0x1e5ac70)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x1e5ae50)\n" " (declare (in ) vec3 P@0x1e5af60)\n" " (declare (in ) float bias@0x1e5b070)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler3D sampler@0x1e5b250)\n" " (declare (in ) vec3 P@0x1e5b360)\n" " (declare (in ) float bias@0x1e5b470)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler3D sampler@0x1e5b650)\n" " (declare (in ) vec3 P@0x1e5b760)\n" " (declare (in ) float bias@0x1e5b870)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) samplerCube sampler@0x1e5ba50)\n" " (declare (in ) vec3 P@0x1e5bb60)\n" " (declare (in ) float bias@0x1e5bc70)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isamplerCube sampler@0x1e5be50)\n" " (declare (in ) vec3 P@0x1e5bf60)\n" " (declare (in ) float bias@0x1e5c070)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usamplerCube sampler@0x1e5c250)\n" " (declare (in ) vec3 P@0x1e5c360)\n" " (declare (in ) float bias@0x1e5c470)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x1e5c650)\n" " (declare (in ) vec3 P@0x1e5c760)\n" " (declare (in ) float bias@0x1e5c870)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x1e5ca50)\n" " (declare (in ) vec3 P@0x1e5cb60)\n" " (declare (in ) float bias@0x1e5cc70)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) samplerCubeShadow sampler@0x1e5ce50)\n" " (declare (in ) vec4 P@0x1e5cf60)\n" " (declare (in ) float bias@0x1e5d070)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DArray sampler@0x1e5d250)\n" " (declare (in ) vec2 P@0x1e5d360)\n" " (declare (in ) float bias@0x1e5d470)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler1DArray sampler@0x1e5d650)\n" " (declare (in ) vec2 P@0x1e5d760)\n" " (declare (in ) float bias@0x1e5d870)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler1DArray sampler@0x1e5da50)\n" " (declare (in ) vec2 P@0x1e5db60)\n" " (declare (in ) float bias@0x1e5dc70)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DArray sampler@0x1e5de50)\n" " (declare (in ) vec3 P@0x1e5df60)\n" " (declare (in ) float bias@0x1e5e070)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler2DArray sampler@0x1e5e250)\n" " (declare (in ) vec3 P@0x1e5e360)\n" " (declare (in ) float bias@0x1e5e470)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler2DArray sampler@0x1e5e650)\n" " (declare (in ) vec3 P@0x1e5e760)\n" " (declare (in ) float bias@0x1e5e870)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler1DArrayShadow sampler@0x1e5ea50)\n" " (declare (in ) vec3 P@0x1e5eb60)\n" " (declare (in ) float bias@0x1e5ec70)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function textureProj\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1e5ee50)\n" " (declare (in ) vec2 P@0x1e5ef60)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler1D sampler@0x1e5f2f0)\n" " (declare (in ) vec2 P@0x1e5f400)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler1D sampler@0x1e5f5e0)\n" " (declare (in ) vec2 P@0x1e5f6f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1e5f8d0)\n" " (declare (in ) vec4 P@0x1e5f9e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler1D sampler@0x1e5fbc0)\n" " (declare (in ) vec4 P@0x1e5fcd0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler1D sampler@0x1e5feb0)\n" " (declare (in ) vec4 P@0x1e5ffc0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x1e601a0)\n" " (declare (in ) vec3 P@0x1e602b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler2D sampler@0x1e60490)\n" " (declare (in ) vec3 P@0x1e605a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler2D sampler@0x1e60780)\n" " (declare (in ) vec3 P@0x1e60890)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x1e60a70)\n" " (declare (in ) vec4 P@0x1e60b80)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler2D sampler@0x1e60d60)\n" " (declare (in ) vec4 P@0x1e60e70)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler2D sampler@0x1e61050)\n" " (declare (in ) vec4 P@0x1e61160)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x1e61340)\n" " (declare (in ) vec4 P@0x1e61450)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler3D sampler@0x1e61630)\n" " (declare (in ) vec4 P@0x1e61740)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler3D sampler@0x1e61920)\n" " (declare (in ) vec4 P@0x1e61a30)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x1e61c10)\n" " (declare (in ) vec4 P@0x1e61d20)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x1e61f00)\n" " (declare (in ) vec4 P@0x1e62010)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1e621f0)\n" " (declare (in ) vec2 P@0x1e62300)\n" " (declare (in ) float bias@0x1e62410)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler1D sampler@0x1e625f0)\n" " (declare (in ) vec2 P@0x1e62700)\n" " (declare (in ) float bias@0x1e62810)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler1D sampler@0x1e629f0)\n" " (declare (in ) vec2 P@0x1e62b00)\n" " (declare (in ) float bias@0x1e62c10)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1e62df0)\n" " (declare (in ) vec4 P@0x1e62f00)\n" " (declare (in ) float bias@0x1e63010)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler1D sampler@0x1e631f0)\n" " (declare (in ) vec4 P@0x1e63300)\n" " (declare (in ) float bias@0x1e63410)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler1D sampler@0x1e635f0)\n" " (declare (in ) vec4 P@0x1e63700)\n" " (declare (in ) float bias@0x1e63810)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x1e639f0)\n" " (declare (in ) vec3 P@0x1e63b00)\n" " (declare (in ) float bias@0x1e63c10)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler2D sampler@0x1e63df0)\n" " (declare (in ) vec3 P@0x1e63f00)\n" " (declare (in ) float bias@0x1e64010)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler2D sampler@0x1e641f0)\n" " (declare (in ) vec3 P@0x1e64300)\n" " (declare (in ) float bias@0x1e64410)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x1e645f0)\n" " (declare (in ) vec4 P@0x1e64700)\n" " (declare (in ) float bias@0x1e64810)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler2D sampler@0x1e649f0)\n" " (declare (in ) vec4 P@0x1e64b00)\n" " (declare (in ) float bias@0x1e64c10)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler2D sampler@0x1e64df0)\n" " (declare (in ) vec4 P@0x1e64f00)\n" " (declare (in ) float bias@0x1e65010)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x1e651f0)\n" " (declare (in ) vec4 P@0x1e65300)\n" " (declare (in ) float bias@0x1e65410)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler3D sampler@0x1e655f0)\n" " (declare (in ) vec4 P@0x1e65700)\n" " (declare (in ) float bias@0x1e65810)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler3D sampler@0x1e659f0)\n" " (declare (in ) vec4 P@0x1e65b00)\n" " (declare (in ) float bias@0x1e65c10)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x1e65df0)\n" " (declare (in ) vec4 P@0x1e65f00)\n" " (declare (in ) float bias@0x1e66010)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x1e661f0)\n" " (declare (in ) vec4 P@0x1e66300)\n" " (declare (in ) float bias@0x1e66410)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function textureLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1e665f0)\n" " (declare (in ) float P@0x1e66700)\n" " (declare (in ) float lod@0x1e66810)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler1D sampler@0x1e66ba0)\n" " (declare (in ) float P@0x1e66cb0)\n" " (declare (in ) float lod@0x1e66dc0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler1D sampler@0x1e66fa0)\n" " (declare (in ) float P@0x1e670b0)\n" " (declare (in ) float lod@0x1e671c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x1e673a0)\n" " (declare (in ) vec2 P@0x1e674b0)\n" " (declare (in ) float lod@0x1e675c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler2D sampler@0x1e677a0)\n" " (declare (in ) vec2 P@0x1e678b0)\n" " (declare (in ) float lod@0x1e679c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler2D sampler@0x1e67ba0)\n" " (declare (in ) vec2 P@0x1e67cb0)\n" " (declare (in ) float lod@0x1e67dc0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x1e67fa0)\n" " (declare (in ) vec3 P@0x1e680b0)\n" " (declare (in ) float lod@0x1e681c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler3D sampler@0x1e683a0)\n" " (declare (in ) vec3 P@0x1e684b0)\n" " (declare (in ) float lod@0x1e685c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler3D sampler@0x1e687a0)\n" " (declare (in ) vec3 P@0x1e688b0)\n" " (declare (in ) float lod@0x1e689c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) samplerCube sampler@0x1e68ba0)\n" " (declare (in ) vec3 P@0x1e68cb0)\n" " (declare (in ) float lod@0x1e68dc0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isamplerCube sampler@0x1e68fa0)\n" " (declare (in ) vec3 P@0x1e690b0)\n" " (declare (in ) float lod@0x1e691c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usamplerCube sampler@0x1e693a0)\n" " (declare (in ) vec3 P@0x1e694b0)\n" " (declare (in ) float lod@0x1e695c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x1e697a0)\n" " (declare (in ) vec3 P@0x1e698b0)\n" " (declare (in ) float lod@0x1e699c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x1e69ba0)\n" " (declare (in ) vec3 P@0x1e69cb0)\n" " (declare (in ) float lod@0x1e69dc0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DArray sampler@0x1e69fa0)\n" " (declare (in ) vec2 P@0x1e6a0b0)\n" " (declare (in ) float lod@0x1e6a1c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler1DArray sampler@0x1e6a3a0)\n" " (declare (in ) vec2 P@0x1e6a4b0)\n" " (declare (in ) float lod@0x1e6a5c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler1DArray sampler@0x1e6a7a0)\n" " (declare (in ) vec2 P@0x1e6a8b0)\n" " (declare (in ) float lod@0x1e6a9c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DArray sampler@0x1e6aba0)\n" " (declare (in ) vec3 P@0x1e6acb0)\n" " (declare (in ) float lod@0x1e6adc0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler2DArray sampler@0x1e6afa0)\n" " (declare (in ) vec3 P@0x1e6b0b0)\n" " (declare (in ) float lod@0x1e6b1c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler2DArray sampler@0x1e6b3a0)\n" " (declare (in ) vec3 P@0x1e6b4b0)\n" " (declare (in ) float lod@0x1e6b5c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler1DArrayShadow sampler@0x1e6b7a0)\n" " (declare (in ) vec3 P@0x1e6b8b0)\n" " (declare (in ) float lod@0x1e6b9c0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texelFetch\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1e6bba0)\n" " (declare (in ) int P@0x1e6bcb0)\n" " (declare (in ) int lod@0x1e6bdc0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler1D sampler@0x1e6c150)\n" " (declare (in ) int P@0x1e6c260)\n" " (declare (in ) int lod@0x1e6c370)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler1D sampler@0x1e6c550)\n" " (declare (in ) int P@0x1e6c660)\n" " (declare (in ) int lod@0x1e6c770)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x1e6c950)\n" " (declare (in ) ivec2 P@0x1e6ca60)\n" " (declare (in ) int lod@0x1e6cb70)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler2D sampler@0x1e6cd50)\n" " (declare (in ) ivec2 P@0x1e6ce60)\n" " (declare (in ) int lod@0x1e6cf70)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler2D sampler@0x1e6d150)\n" " (declare (in ) ivec2 P@0x1e6d260)\n" " (declare (in ) int lod@0x1e6d370)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x1e6d550)\n" " (declare (in ) ivec3 P@0x1e6d660)\n" " (declare (in ) int lod@0x1e6d770)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler3D sampler@0x1e6d950)\n" " (declare (in ) ivec3 P@0x1e6da60)\n" " (declare (in ) int lod@0x1e6db70)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler3D sampler@0x1e6dd50)\n" " (declare (in ) ivec3 P@0x1e6de60)\n" " (declare (in ) int lod@0x1e6df70)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DArray sampler@0x1e6e150)\n" " (declare (in ) ivec2 P@0x1e6e260)\n" " (declare (in ) int lod@0x1e6e370)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler1DArray sampler@0x1e6e550)\n" " (declare (in ) ivec2 P@0x1e6e660)\n" " (declare (in ) int lod@0x1e6e770)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler1DArray sampler@0x1e6e950)\n" " (declare (in ) ivec2 P@0x1e6ea60)\n" " (declare (in ) int lod@0x1e6eb70)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DArray sampler@0x1e6ed50)\n" " (declare (in ) ivec3 P@0x1e6ee60)\n" " (declare (in ) int lod@0x1e6ef70)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler2DArray sampler@0x1e6f150)\n" " (declare (in ) ivec3 P@0x1e6f260)\n" " (declare (in ) int lod@0x1e6f370)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler2DArray sampler@0x1e6f550)\n" " (declare (in ) ivec3 P@0x1e6f660)\n" " (declare (in ) int lod@0x1e6f770)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function textureProjLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1e6f950)\n" " (declare (in ) vec2 P@0x1e6fa60)\n" " (declare (in ) float lod@0x1e6fb70)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler1D sampler@0x1e6ff00)\n" " (declare (in ) vec2 P@0x1e70010)\n" " (declare (in ) float lod@0x1e70120)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler1D sampler@0x1e70300)\n" " (declare (in ) vec2 P@0x1e70410)\n" " (declare (in ) float lod@0x1e70520)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1e70700)\n" " (declare (in ) vec4 P@0x1e70810)\n" " (declare (in ) float lod@0x1e70920)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler1D sampler@0x1e70b00)\n" " (declare (in ) vec4 P@0x1e70c10)\n" " (declare (in ) float lod@0x1e70d20)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler1D sampler@0x1e70f00)\n" " (declare (in ) vec4 P@0x1e71010)\n" " (declare (in ) float lod@0x1e71120)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x1e71300)\n" " (declare (in ) vec3 P@0x1e71410)\n" " (declare (in ) float lod@0x1e71520)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler2D sampler@0x1e71700)\n" " (declare (in ) vec3 P@0x1e71810)\n" " (declare (in ) float lod@0x1e71920)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler2D sampler@0x1e71b00)\n" " (declare (in ) vec3 P@0x1e71c10)\n" " (declare (in ) float lod@0x1e71d20)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x1e71f00)\n" " (declare (in ) vec4 P@0x1e72010)\n" " (declare (in ) float lod@0x1e72120)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler2D sampler@0x1e72300)\n" " (declare (in ) vec4 P@0x1e72410)\n" " (declare (in ) float lod@0x1e72520)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler2D sampler@0x1e72700)\n" " (declare (in ) vec4 P@0x1e72810)\n" " (declare (in ) float lod@0x1e72920)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x1e72b00)\n" " (declare (in ) vec4 P@0x1e72c10)\n" " (declare (in ) float lod@0x1e72d20)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler3D sampler@0x1e72f00)\n" " (declare (in ) vec4 P@0x1e73010)\n" " (declare (in ) float lod@0x1e73120)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler3D sampler@0x1e73300)\n" " (declare (in ) vec4 P@0x1e73410)\n" " (declare (in ) float lod@0x1e73520)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x1e73700)\n" " (declare (in ) vec4 P@0x1e73810)\n" " (declare (in ) float lod@0x1e73920)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x1e73b00)\n" " (declare (in ) vec4 P@0x1e73c10)\n" " (declare (in ) float lod@0x1e73d20)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function textureGrad\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1e73f00)\n" " (declare (in ) float P@0x1e74010)\n" " (declare (in ) float dPdx@0x1e74120)\n" " (declare (in ) float dPdy@0x1e74230)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler1D sampler@0x1e745c0)\n" " (declare (in ) float P@0x1e746d0)\n" " (declare (in ) float dPdx@0x1e747e0)\n" " (declare (in ) float dPdy@0x1e748f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler1D sampler@0x1e74ad0)\n" " (declare (in ) float P@0x1e74be0)\n" " (declare (in ) float dPdx@0x1e74cf0)\n" " (declare (in ) float dPdy@0x1e74e00)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x1e74fe0)\n" " (declare (in ) vec2 P@0x1e750f0)\n" " (declare (in ) vec2 dPdx@0x1e75200)\n" " (declare (in ) vec2 dPdy@0x1e75310)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler2D sampler@0x1e754f0)\n" " (declare (in ) vec2 P@0x1e75600)\n" " (declare (in ) vec2 dPdx@0x1e75710)\n" " (declare (in ) vec2 dPdy@0x1e75820)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler2D sampler@0x1e75a00)\n" " (declare (in ) vec2 P@0x1e75b10)\n" " (declare (in ) vec2 dPdx@0x1e75c20)\n" " (declare (in ) vec2 dPdy@0x1e75d30)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x1e75f10)\n" " (declare (in ) vec3 P@0x1e76020)\n" " (declare (in ) vec3 dPdx@0x1e76130)\n" " (declare (in ) vec3 dPdy@0x1e76240)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler3D sampler@0x1e76420)\n" " (declare (in ) vec3 P@0x1e76530)\n" " (declare (in ) vec3 dPdx@0x1e76640)\n" " (declare (in ) vec3 dPdy@0x1e76750)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler3D sampler@0x1e76930)\n" " (declare (in ) vec3 P@0x1e76a40)\n" " (declare (in ) vec3 dPdx@0x1e76b50)\n" " (declare (in ) vec3 dPdy@0x1e76c60)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) samplerCube sampler@0x1e76e40)\n" " (declare (in ) vec3 P@0x1e76f50)\n" " (declare (in ) vec3 dPdx@0x1e77060)\n" " (declare (in ) vec3 dPdy@0x1e77170)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isamplerCube sampler@0x1e77350)\n" " (declare (in ) vec3 P@0x1e77460)\n" " (declare (in ) vec3 dPdx@0x1e77570)\n" " (declare (in ) vec3 dPdy@0x1e77680)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usamplerCube sampler@0x1e77860)\n" " (declare (in ) vec3 P@0x1e77970)\n" " (declare (in ) vec3 dPdx@0x1e77a80)\n" " (declare (in ) vec3 dPdy@0x1e77b90)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x1e77d70)\n" " (declare (in ) vec3 P@0x1e77e80)\n" " (declare (in ) float dPdx@0x1e77f90)\n" " (declare (in ) float dPdy@0x1e780a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x1e78280)\n" " (declare (in ) vec3 P@0x1e78390)\n" " (declare (in ) vec2 dPdx@0x1e784a0)\n" " (declare (in ) vec2 dPdy@0x1e785b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) samplerCubeShadow sampler@0x1e78790)\n" " (declare (in ) vec4 P@0x1e788a0)\n" " (declare (in ) vec3 dPdx@0x1e789b0)\n" " (declare (in ) vec3 dPdy@0x1e78ac0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DArray sampler@0x1e78ca0)\n" " (declare (in ) vec2 P@0x1e78db0)\n" " (declare (in ) float dPdx@0x1e78ec0)\n" " (declare (in ) float dPdy@0x1e78fd0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler1DArray sampler@0x1e791b0)\n" " (declare (in ) vec2 P@0x1e792c0)\n" " (declare (in ) float dPdx@0x1e793d0)\n" " (declare (in ) float dPdy@0x1e794e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler1DArray sampler@0x1e796c0)\n" " (declare (in ) vec2 P@0x1e797d0)\n" " (declare (in ) float dPdx@0x1e798e0)\n" " (declare (in ) float dPdy@0x1e799f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DArray sampler@0x1e79bd0)\n" " (declare (in ) vec3 P@0x1e79ce0)\n" " (declare (in ) vec2 dPdx@0x1e79df0)\n" " (declare (in ) vec2 dPdy@0x1e79f00)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler2DArray sampler@0x1e7a0e0)\n" " (declare (in ) vec3 P@0x1e7a1f0)\n" " (declare (in ) vec2 dPdx@0x1e7a300)\n" " (declare (in ) vec2 dPdy@0x1e7a410)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler2DArray sampler@0x1e7a5f0)\n" " (declare (in ) vec3 P@0x1e7a700)\n" " (declare (in ) vec2 dPdx@0x1e7a810)\n" " (declare (in ) vec2 dPdy@0x1e7a920)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler1DArrayShadow sampler@0x1e7ab00)\n" " (declare (in ) vec3 P@0x1e7ac10)\n" " (declare (in ) float dPdx@0x1e7ad20)\n" " (declare (in ) float dPdy@0x1e7ae30)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler2DArrayShadow sampler@0x1e7b010)\n" " (declare (in ) vec4 P@0x1e7b120)\n" " (declare (in ) vec2 dPdx@0x1e7b230)\n" " (declare (in ) vec2 dPdy@0x1e7b340)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function textureProjGrad\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1e7b520)\n" " (declare (in ) vec2 P@0x1e7b630)\n" " (declare (in ) float dPdx@0x1e7b740)\n" " (declare (in ) float dPdy@0x1e7b850)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler1D sampler@0x1e7bbe0)\n" " (declare (in ) vec2 P@0x1e7bcf0)\n" " (declare (in ) float dPdx@0x1e7be00)\n" " (declare (in ) float dPdy@0x1e7bf10)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler1D sampler@0x1e7c0f0)\n" " (declare (in ) vec2 P@0x1e7c200)\n" " (declare (in ) float dPdx@0x1e7c310)\n" " (declare (in ) float dPdy@0x1e7c420)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1e7c600)\n" " (declare (in ) vec4 P@0x1e7c710)\n" " (declare (in ) float dPdx@0x1e7c820)\n" " (declare (in ) float dPdy@0x1e7c930)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler1D sampler@0x1e7cb10)\n" " (declare (in ) vec4 P@0x1e7cc20)\n" " (declare (in ) float dPdx@0x1e7cd30)\n" " (declare (in ) float dPdy@0x1e7ce40)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler1D sampler@0x1e7d020)\n" " (declare (in ) vec4 P@0x1e7d130)\n" " (declare (in ) float dPdx@0x1e7d240)\n" " (declare (in ) float dPdy@0x1e7d350)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x1e7d530)\n" " (declare (in ) vec3 P@0x1e7d640)\n" " (declare (in ) vec2 dPdx@0x1e7d750)\n" " (declare (in ) vec2 dPdy@0x1e7d860)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler2D sampler@0x1e7da40)\n" " (declare (in ) vec3 P@0x1e7db50)\n" " (declare (in ) vec2 dPdx@0x1e7dc60)\n" " (declare (in ) vec2 dPdy@0x1e7dd70)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler2D sampler@0x1e7df50)\n" " (declare (in ) vec3 P@0x1e7e060)\n" " (declare (in ) vec2 dPdx@0x1e7e170)\n" " (declare (in ) vec2 dPdy@0x1e7e280)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x1e7e460)\n" " (declare (in ) vec4 P@0x1e7e570)\n" " (declare (in ) vec2 dPdx@0x1e7e680)\n" " (declare (in ) vec2 dPdy@0x1e7e790)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler2D sampler@0x1e7e970)\n" " (declare (in ) vec4 P@0x1e7ea80)\n" " (declare (in ) vec2 dPdx@0x1e7eb90)\n" " (declare (in ) vec2 dPdy@0x1e7eca0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler2D sampler@0x1e7ee80)\n" " (declare (in ) vec4 P@0x1e7ef90)\n" " (declare (in ) vec2 dPdx@0x1e7f0a0)\n" " (declare (in ) vec2 dPdy@0x1e7f1b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x1e7f390)\n" " (declare (in ) vec4 P@0x1e7f4a0)\n" " (declare (in ) vec3 dPdx@0x1e7f5b0)\n" " (declare (in ) vec3 dPdy@0x1e7f6c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature ivec4\n" " (parameters\n" " (declare (in ) isampler3D sampler@0x1e7f8a0)\n" " (declare (in ) vec4 P@0x1e7f9b0)\n" " (declare (in ) vec3 dPdx@0x1e7fac0)\n" " (declare (in ) vec3 dPdy@0x1e7fbd0)\n" " )\n" " (\n" " ))\n" "\n" " (signature uvec4\n" " (parameters\n" " (declare (in ) usampler3D sampler@0x1e7fdb0)\n" " (declare (in ) vec4 P@0x1e7fec0)\n" " (declare (in ) vec3 dPdx@0x1e7ffd0)\n" " (declare (in ) vec3 dPdy@0x1e800e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x1e802c0)\n" " (declare (in ) vec4 P@0x1e803d0)\n" " (declare (in ) float dPdx@0x1e804e0)\n" " (declare (in ) float dPdy@0x1e805f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x1e807d0)\n" " (declare (in ) vec4 P@0x1e808e0)\n" " (declare (in ) vec2 dPdx@0x1e809f0)\n" " (declare (in ) vec2 dPdy@0x1e80b00)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture1D\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1e80ce0)\n" " (declare (in ) float coord@0x1e80df0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1e81910)\n" " (declare (in ) float coord@0x1e81a20)\n" " (declare (in ) float bias@0x1e81b30)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture1DProj\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1e81180)\n" " (declare (in ) vec2 coord@0x1e81290)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1e81620)\n" " (declare (in ) vec4 coord@0x1e81730)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1e81d10)\n" " (declare (in ) vec2 coord@0x1e81e20)\n" " (declare (in ) float bias@0x1e81f30)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1e82110)\n" " (declare (in ) vec4 coord@0x1e82220)\n" " (declare (in ) float bias@0x1e82330)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture1DLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1e82510)\n" " (declare (in ) float coord@0x1e82620)\n" " (declare (in ) float lod@0x1e82730)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture1DProjLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1e82ac0)\n" " (declare (in ) vec2 coord@0x1e82bd0)\n" " (declare (in ) float lod@0x1e82ce0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x1e83070)\n" " (declare (in ) vec4 coord@0x1e83180)\n" " (declare (in ) float lod@0x1e83290)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture2D\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x1e83470)\n" " (declare (in ) vec2 coord@0x1e83580)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x1e840a0)\n" " (declare (in ) vec2 coord@0x1e841b0)\n" " (declare (in ) float bias@0x1e842c0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture2DProj\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x1e83910)\n" " (declare (in ) vec3 coord@0x1e83a20)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x1e83db0)\n" " (declare (in ) vec4 coord@0x1e83ec0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x1e844a0)\n" " (declare (in ) vec3 coord@0x1e845b0)\n" " (declare (in ) float bias@0x1e846c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x1e848a0)\n" " (declare (in ) vec4 coord@0x1e849b0)\n" " (declare (in ) float bias@0x1e84ac0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture2DLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x1e84ca0)\n" " (declare (in ) vec2 coord@0x1e84db0)\n" " (declare (in ) float lod@0x1e84ec0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture2DProjLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x1e85250)\n" " (declare (in ) vec3 coord@0x1e85360)\n" " (declare (in ) float lod@0x1e85470)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x1e85800)\n" " (declare (in ) vec4 coord@0x1e85910)\n" " (declare (in ) float lod@0x1e85a20)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture3D\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x1e85c00)\n" " (declare (in ) vec3 coord@0x1e85d10)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x1e86540)\n" " (declare (in ) vec3 coord@0x1e86650)\n" " (declare (in ) float bias@0x1e86760)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture3DProj\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x1e860a0)\n" " (declare (in ) vec4 coord@0x1e861b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x1e86940)\n" " (declare (in ) vec4 coord@0x1e86a50)\n" " (declare (in ) float bias@0x1e86b60)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture3DLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x1e86d40)\n" " (declare (in ) vec3 coord@0x1e86e50)\n" " (declare (in ) float lod@0x1e86f60)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture3DProjLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x1e872f0)\n" " (declare (in ) vec4 coord@0x1e87400)\n" " (declare (in ) float lod@0x1e87510)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function textureCube\n" " (signature vec4\n" " (parameters\n" " (declare (in ) samplerCube sampler@0x1e878a0)\n" " (declare (in ) vec3 coord@0x1e879b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) samplerCube sampler@0x1e87d40)\n" " (declare (in ) vec3 coord@0x1e87e50)\n" " (declare (in ) float bias@0x1e87f60)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function textureCubeLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) samplerCube sampler@0x1e88140)\n" " (declare (in ) vec3 coord@0x1e88250)\n" " (declare (in ) float lod@0x1e88360)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow1D\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x1e886f0)\n" " (declare (in ) vec3 coord@0x1e88800)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x1e89970)\n" " (declare (in ) vec3 coord@0x1e89a80)\n" " (declare (in ) float bias@0x1e89b90)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow2D\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x1e88b90)\n" " (declare (in ) vec3 coord@0x1e88ca0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x1e89d70)\n" " (declare (in ) vec3 coord@0x1e89e80)\n" " (declare (in ) float bias@0x1e89f90)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow1DProj\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x1e89030)\n" " (declare (in ) vec4 coord@0x1e89140)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x1e8a170)\n" " (declare (in ) vec4 coord@0x1e8a280)\n" " (declare (in ) float bias@0x1e8a390)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow2DProj\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x1e894d0)\n" " (declare (in ) vec4 coord@0x1e895e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x1e8a570)\n" " (declare (in ) vec4 coord@0x1e8a680)\n" " (declare (in ) float bias@0x1e8a790)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow1DLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x1e8a970)\n" " (declare (in ) vec3 coord@0x1e8aa80)\n" " (declare (in ) float lod@0x1e8ab90)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow2DLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x1e8af20)\n" " (declare (in ) vec3 coord@0x1e8b030)\n" " (declare (in ) float lod@0x1e8b140)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow1DProjLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x1e8b4d0)\n" " (declare (in ) vec4 coord@0x1e8b5e0)\n" " (declare (in ) float lod@0x1e8b6f0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow2DProjLod\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x1e8ba80)\n" " (declare (in ) vec4 coord@0x1e8bb90)\n" " (declare (in ) float lod@0x1e8bca0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function noise1\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x1e8c030)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec2 x@0x1e8c3b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec3 x@0x1e8c590)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec4 x@0x1e8c770)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function noise2\n" " (signature vec2\n" " (parameters\n" " (declare (in ) float x@0x1e8c950)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x1e8ccd0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec3 x@0x1e8ceb0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec4 x@0x1e8d090)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function noise3\n" " (signature vec3\n" " (parameters\n" " (declare (in ) float x@0x1e8d270)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec2 x@0x1e8d5f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x1e8d7d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec4 x@0x1e8d9b0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function noise4\n" " (signature vec4\n" " (parameters\n" " (declare (in ) float x@0x1e8db90)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec2 x@0x1e8df10)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec3 x@0x1e8e0f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x1e8e2d0)\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@0xd610f0)\n" " (declare (in ) vec2 coord@0xd61200)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture2DRectProj\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DRect sampler@0xd61590)\n" " (declare (in ) vec3 coord@0xd616a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DRect sampler@0xd61a30)\n" " (declare (in ) vec4 coord@0xd61b40)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow2DRect\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DRectShadow sampler@0xd61d20)\n" " (declare (in ) vec3 coord@0xd61e30)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow2DRectProj\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DRectShadow sampler@0xd621c0)\n" " (declare (in ) vec4 coord@0xd622d0)\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@0x20d2340)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 degrees@0x20d26c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 degrees@0x20d28a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 degrees@0x20d2a80)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function degrees\n" " (signature float\n" " (parameters\n" " (declare (in ) float radians@0x20d2c60)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 radians@0x20d2fe0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 radians@0x20d31c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 radians@0x20d33a0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function sin\n" " (signature float\n" " (parameters\n" " (declare (in ) float angle@0x20d3580)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 angle@0x20d3900)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 angle@0x20d3ae0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 angle@0x20d3cc0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function cos\n" " (signature float\n" " (parameters\n" " (declare (in ) float angle@0x20d3ea0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 angle@0x20d4220)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 angle@0x20d4400)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 angle@0x20d45e0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function tan\n" " (signature float\n" " (parameters\n" " (declare (in ) float angle@0x20d47c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 angle@0x20d4b40)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 angle@0x20d4d20)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 angle@0x20d4f00)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function asin\n" " (signature float\n" " (parameters\n" " (declare (in ) float angle@0x20d50e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 angle@0x20d5460)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 angle@0x20d5640)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 angle@0x20d5820)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function acos\n" " (signature float\n" " (parameters\n" " (declare (in ) float angle@0x20d5a00)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 angle@0x20d5d80)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 angle@0x20d5f60)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 angle@0x20d6140)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function atan\n" " (signature float\n" " (parameters\n" " (declare (in ) float y@0x20d6320)\n" " (declare (in ) float x@0x20d6430)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 y@0x20d67b0)\n" " (declare (in ) vec2 x@0x20d68c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 y@0x20d6aa0)\n" " (declare (in ) vec3 x@0x20d6bb0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 y@0x20d6d90)\n" " (declare (in ) vec4 x@0x20d6ea0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) float y_over_x@0x20d7080)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 y_over_x@0x20d7270)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 y_over_x@0x20d7460)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 y_over_x@0x20d7650)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function pow\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x20d7840)\n" " (declare (in ) float y@0x20d7950)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x20d7cd0)\n" " (declare (in ) vec2 y@0x20d7de0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x20d7fc0)\n" " (declare (in ) vec3 y@0x20d80d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x20d82b0)\n" " (declare (in ) vec4 y@0x20d83c0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function exp\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x20d85a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x20d8920)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x20d8b00)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x20d8ce0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function log\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x20d8ec0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x20d9240)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x20d9420)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x20d9600)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function exp2\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x20d97e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x20d9b60)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x20d9d40)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x20d9f20)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function log2\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x20da100)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x20da480)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x20da660)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x20da840)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function sqrt\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x20daa20)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x20dada0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x20daf80)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x20db160)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function inversesqrt\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x20db340)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x20db6d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x20db8b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x20dba90)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function abs\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x20dbc70)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x20dbff0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x20dc1d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x20dc3b0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function sign\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x20dc590)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x20dc910)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x20dcaf0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x20dccd0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function floor\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x20dceb0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x20dd230)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x20dd410)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x20dd5f0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function ceil\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x20dd7d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x20ddb50)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x20ddd30)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x20ddf10)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function fract\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x20de0f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x20de470)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x20de650)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x20de830)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function mod\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x20dea10)\n" " (declare (in ) float y@0x20deb20)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x20deea0)\n" " (declare (in ) float y@0x20defb0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x20df190)\n" " (declare (in ) float y@0x20df2a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x20df480)\n" " (declare (in ) float y@0x20df590)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x20df770)\n" " (declare (in ) vec2 y@0x20df880)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x20dfa60)\n" " (declare (in ) vec3 y@0x20dfb70)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x20dfd50)\n" " (declare (in ) vec4 y@0x20dfe60)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function min\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x20e0040)\n" " (declare (in ) float y@0x20e0150)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x20e04d0)\n" " (declare (in ) vec2 y@0x20e05e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x20e07c0)\n" " (declare (in ) vec3 y@0x20e08d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x20e0ab0)\n" " (declare (in ) vec4 y@0x20e0bc0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x20e0da0)\n" " (declare (in ) float y@0x20e0eb0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x20e1090)\n" " (declare (in ) float y@0x20e11a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x20e1380)\n" " (declare (in ) float y@0x20e1490)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function max\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x20e1670)\n" " (declare (in ) float y@0x20e1780)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x20e1b00)\n" " (declare (in ) vec2 y@0x20e1c10)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x20e1df0)\n" " (declare (in ) vec3 y@0x20e1f00)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x20e20e0)\n" " (declare (in ) vec4 y@0x20e21f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x20e23d0)\n" " (declare (in ) float y@0x20e24e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x20e26c0)\n" " (declare (in ) float y@0x20e27d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x20e29b0)\n" " (declare (in ) float y@0x20e2ac0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function clamp\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x20e2ca0)\n" " (declare (in ) float minVal@0x20e2db0)\n" " (declare (in ) float maxVal@0x20e2ec0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x20e3240)\n" " (declare (in ) vec2 minVal@0x20e3350)\n" " (declare (in ) vec2 maxVal@0x20e3460)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x20e3640)\n" " (declare (in ) vec3 minVal@0x20e3750)\n" " (declare (in ) vec3 maxVal@0x20e3860)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x20e3a40)\n" " (declare (in ) vec4 minVal@0x20e3b50)\n" " (declare (in ) vec4 maxVal@0x20e3c60)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x20e3e40)\n" " (declare (in ) float minVal@0x20e3f50)\n" " (declare (in ) float maxVal@0x20e4060)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x20e4240)\n" " (declare (in ) float minVal@0x20e4350)\n" " (declare (in ) float maxVal@0x20e4460)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x20e4640)\n" " (declare (in ) float minVal@0x20e4750)\n" " (declare (in ) float maxVal@0x20e4860)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function mix\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x20e4a40)\n" " (declare (in ) float y@0x20e4b50)\n" " (declare (in ) float a@0x20e4c60)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x20e4fe0)\n" " (declare (in ) vec2 y@0x20e50f0)\n" " (declare (in ) vec2 a@0x20e5200)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x20e53e0)\n" " (declare (in ) vec3 y@0x20e54f0)\n" " (declare (in ) vec3 a@0x20e5600)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x20e57e0)\n" " (declare (in ) vec4 y@0x20e58f0)\n" " (declare (in ) vec4 a@0x20e5a00)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x20e5be0)\n" " (declare (in ) vec2 y@0x20e5cf0)\n" " (declare (in ) float a@0x20e5e00)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x20e5fe0)\n" " (declare (in ) vec3 y@0x20e60f0)\n" " (declare (in ) float a@0x20e6200)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x20e63e0)\n" " (declare (in ) vec4 y@0x20e64f0)\n" " (declare (in ) float a@0x20e6600)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function step\n" " (signature float\n" " (parameters\n" " (declare (in ) float edge@0x20e67e0)\n" " (declare (in ) float x@0x20e68f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 edge@0x20e6c70)\n" " (declare (in ) vec2 x@0x20e6d80)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 edge@0x20e6f60)\n" " (declare (in ) vec3 x@0x20e7070)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 edge@0x20e7250)\n" " (declare (in ) vec4 x@0x20e7360)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) float edge@0x20e7540)\n" " (declare (in ) vec2 x@0x20e7650)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) float edge@0x20e7830)\n" " (declare (in ) vec3 x@0x20e7940)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) float edge@0x20e7b20)\n" " (declare (in ) vec4 x@0x20e7c30)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function smoothstep\n" " (signature float\n" " (parameters\n" " (declare (in ) float edge0@0x20e7e10)\n" " (declare (in ) float edge1@0x20e7f20)\n" " (declare (in ) float x@0x20e8030)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 edge0@0x20e83c0)\n" " (declare (in ) vec2 edge1@0x20e84d0)\n" " (declare (in ) vec2 x@0x20e85e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 edge0@0x20e87c0)\n" " (declare (in ) vec3 edge1@0x20e88d0)\n" " (declare (in ) vec3 x@0x20e89e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 edge0@0x20e8bc0)\n" " (declare (in ) vec4 edge1@0x20e8cd0)\n" " (declare (in ) vec4 x@0x20e8de0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) float edge0@0x20e8fc0)\n" " (declare (in ) float edge1@0x20e90d0)\n" " (declare (in ) vec2 x@0x20e91e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) float edge0@0x20e93c0)\n" " (declare (in ) float edge1@0x20e94d0)\n" " (declare (in ) vec3 x@0x20e95e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) float edge0@0x20e97c0)\n" " (declare (in ) float edge1@0x20e98d0)\n" " (declare (in ) vec4 x@0x20e99e0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function length\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x20e9bc0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec2 x@0x20e9f40)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec3 x@0x20ea120)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec4 x@0x20ea300)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function distance\n" " (signature float\n" " (parameters\n" " (declare (in ) float p0@0x20ea4e0)\n" " (declare (in ) float p1@0x20ea5f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec2 p0@0x20ea980)\n" " (declare (in ) vec2 p1@0x20eaa90)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec3 p0@0x20eac70)\n" " (declare (in ) vec3 p1@0x20ead80)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec4 p0@0x20eaf60)\n" " (declare (in ) vec4 p1@0x20eb070)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function dot\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x20eb250)\n" " (declare (in ) float y@0x20eb360)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec2 x@0x20eb6e0)\n" " (declare (in ) vec2 y@0x20eb7f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec3 x@0x20eb9d0)\n" " (declare (in ) vec3 y@0x20ebae0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec4 x@0x20ebcc0)\n" " (declare (in ) vec4 y@0x20ebdd0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function cross\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x20ebfb0)\n" " (declare (in ) vec3 y@0x20ec0c0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function normalize\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x20ec440)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x20ec7d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x20ec9b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x20ecb90)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function faceforward\n" " (signature float\n" " (parameters\n" " (declare (in ) float N@0x20ecd70)\n" " (declare (in ) float I@0x20ece80)\n" " (declare (in ) float Nref@0x20ecf90)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 N@0x20ed320)\n" " (declare (in ) vec2 I@0x20ed430)\n" " (declare (in ) vec2 Nref@0x20ed540)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 N@0x20ed720)\n" " (declare (in ) vec3 I@0x20ed830)\n" " (declare (in ) vec3 Nref@0x20ed940)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 N@0x20edb20)\n" " (declare (in ) vec4 I@0x20edc30)\n" " (declare (in ) vec4 Nref@0x20edd40)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function reflect\n" " (signature float\n" " (parameters\n" " (declare (in ) float I@0x20edf20)\n" " (declare (in ) float N@0x20ee030)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 I@0x20ee3b0)\n" " (declare (in ) vec2 N@0x20ee4c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 I@0x20ee6a0)\n" " (declare (in ) vec3 N@0x20ee7b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 I@0x20ee990)\n" " (declare (in ) vec4 N@0x20eeaa0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function refract\n" " (signature float\n" " (parameters\n" " (declare (in ) float I@0x20eec80)\n" " (declare (in ) float N@0x20eed90)\n" " (declare (in ) float eta@0x20eeea0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 I@0x20ef220)\n" " (declare (in ) vec2 N@0x20ef330)\n" " (declare (in ) float eta@0x20ef440)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 I@0x20ef620)\n" " (declare (in ) vec3 N@0x20ef730)\n" " (declare (in ) float eta@0x20ef840)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 I@0x20efa20)\n" " (declare (in ) vec4 N@0x20efb30)\n" " (declare (in ) float eta@0x20efc40)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function matrixCompMult\n" " (signature mat2\n" " (parameters\n" " (declare (in ) mat2 x@0x20efe20)\n" " (declare (in ) mat2 y@0x20eff30)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat3\n" " (parameters\n" " (declare (in ) mat3 x@0x20f02c0)\n" " (declare (in ) mat3 y@0x20f03d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat4\n" " (parameters\n" " (declare (in ) mat4 x@0x20f05b0)\n" " (declare (in ) mat4 y@0x20f06c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat2x3\n" " (parameters\n" " (declare (in ) mat2x3 x@0x20f08a0)\n" " (declare (in ) mat2x3 y@0x20f09b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat2x4\n" " (parameters\n" " (declare (in ) mat2x4 x@0x20f0b90)\n" " (declare (in ) mat2x4 y@0x20f0ca0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat3x2\n" " (parameters\n" " (declare (in ) mat3x2 x@0x20f0e80)\n" " (declare (in ) mat3x2 y@0x20f0f90)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat3x4\n" " (parameters\n" " (declare (in ) mat3x4 x@0x20f1170)\n" " (declare (in ) mat3x4 y@0x20f1280)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat4x2\n" " (parameters\n" " (declare (in ) mat4x2 x@0x20f1460)\n" " (declare (in ) mat4x2 y@0x20f1570)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat4x3\n" " (parameters\n" " (declare (in ) mat4x3 x@0x20f1750)\n" " (declare (in ) mat4x3 y@0x20f1860)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function outerProduct\n" " (signature mat2\n" " (parameters\n" " (declare (in ) vec2 c@0x20f1a40)\n" " (declare (in ) vec2 r@0x20f1b50)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat3\n" " (parameters\n" " (declare (in ) vec3 c@0x20f1ee0)\n" " (declare (in ) vec3 r@0x20f1ff0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat4\n" " (parameters\n" " (declare (in ) vec4 c@0x20f21d0)\n" " (declare (in ) vec4 r@0x20f22e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat2x3\n" " (parameters\n" " (declare (in ) vec3 c@0x20f24c0)\n" " (declare (in ) vec2 r@0x20f25d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat3x2\n" " (parameters\n" " (declare (in ) vec2 c@0x20f27b0)\n" " (declare (in ) vec3 r@0x20f28c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat2x4\n" " (parameters\n" " (declare (in ) vec4 c@0x20f2aa0)\n" " (declare (in ) vec2 r@0x20f2bb0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat4x2\n" " (parameters\n" " (declare (in ) vec2 c@0x20f2d90)\n" " (declare (in ) vec4 r@0x20f2ea0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat3x4\n" " (parameters\n" " (declare (in ) vec4 c@0x20f3080)\n" " (declare (in ) vec3 r@0x20f3190)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat4x3\n" " (parameters\n" " (declare (in ) vec3 c@0x20f3370)\n" " (declare (in ) vec4 r@0x20f3480)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function transpose\n" " (signature mat2\n" " (parameters\n" " (declare (in ) mat2 m@0x20f3660)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat3\n" " (parameters\n" " (declare (in ) mat3 m@0x20f39f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat4\n" " (parameters\n" " (declare (in ) mat4 m@0x20f3bd0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat2x3\n" " (parameters\n" " (declare (in ) mat3x2 m@0x20f3db0)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat3x2\n" " (parameters\n" " (declare (in ) mat2x3 m@0x20f3f90)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat2x4\n" " (parameters\n" " (declare (in ) mat4x2 m@0x20f4170)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat4x2\n" " (parameters\n" " (declare (in ) mat2x4 m@0x20f4350)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat3x4\n" " (parameters\n" " (declare (in ) mat4x3 m@0x20f4530)\n" " )\n" " (\n" " ))\n" "\n" " (signature mat4x3\n" " (parameters\n" " (declare (in ) mat3x4 m@0x20f4710)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function lessThan\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) vec2 x@0x20f48f0)\n" " (declare (in ) vec2 y@0x20f4a00)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) vec3 x@0x20f4d90)\n" " (declare (in ) vec3 y@0x20f4ea0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) vec4 x@0x20f5080)\n" " (declare (in ) vec4 y@0x20f5190)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x20f5370)\n" " (declare (in ) ivec2 y@0x20f5480)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x20f5660)\n" " (declare (in ) ivec3 y@0x20f5770)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x20f5950)\n" " (declare (in ) ivec4 y@0x20f5a60)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function lessThanEqual\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) vec2 x@0x20f5c40)\n" " (declare (in ) vec2 y@0x20f5d50)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) vec3 x@0x20f60e0)\n" " (declare (in ) vec3 y@0x20f61f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) vec4 x@0x20f63d0)\n" " (declare (in ) vec4 y@0x20f64e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x20f66c0)\n" " (declare (in ) ivec2 y@0x20f67d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x20f69b0)\n" " (declare (in ) ivec3 y@0x20f6ac0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x20f6ca0)\n" " (declare (in ) ivec4 y@0x20f6db0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function greaterThan\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) vec2 x@0x20f6f90)\n" " (declare (in ) vec2 y@0x20f70a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) vec3 x@0x20f7430)\n" " (declare (in ) vec3 y@0x20f7540)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) vec4 x@0x20f7720)\n" " (declare (in ) vec4 y@0x20f7830)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x20f7a10)\n" " (declare (in ) ivec2 y@0x20f7b20)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x20f7d00)\n" " (declare (in ) ivec3 y@0x20f7e10)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x20f7ff0)\n" " (declare (in ) ivec4 y@0x20f8100)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function greaterThanEqual\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) vec2 x@0x20f82e0)\n" " (declare (in ) vec2 y@0x20f83f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) vec3 x@0x20f8780)\n" " (declare (in ) vec3 y@0x20f8890)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) vec4 x@0x20f8a70)\n" " (declare (in ) vec4 y@0x20f8b80)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x20f8d60)\n" " (declare (in ) ivec2 y@0x20f8e70)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x20f9050)\n" " (declare (in ) ivec3 y@0x20f9160)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x20f9340)\n" " (declare (in ) ivec4 y@0x20f9450)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function equal\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) vec2 x@0x20f9630)\n" " (declare (in ) vec2 y@0x20f9740)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) vec3 x@0x20f9ac0)\n" " (declare (in ) vec3 y@0x20f9bd0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) vec4 x@0x20f9db0)\n" " (declare (in ) vec4 y@0x20f9ec0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x20fa0a0)\n" " (declare (in ) ivec2 y@0x20fa1b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x20fa390)\n" " (declare (in ) ivec3 y@0x20fa4a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x20fa680)\n" " (declare (in ) ivec4 y@0x20fa790)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) bvec2 x@0x20fa970)\n" " (declare (in ) bvec2 y@0x20faa80)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) bvec3 x@0x20fac60)\n" " (declare (in ) bvec3 y@0x20fad70)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) bvec4 x@0x20faf50)\n" " (declare (in ) bvec4 y@0x20fb060)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function notEqual\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) vec2 x@0x20fb240)\n" " (declare (in ) vec2 y@0x20fb350)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) vec3 x@0x20fb6e0)\n" " (declare (in ) vec3 y@0x20fb7f0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) vec4 x@0x20fb9d0)\n" " (declare (in ) vec4 y@0x20fbae0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) ivec2 x@0x20fbcc0)\n" " (declare (in ) ivec2 y@0x20fbdd0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) ivec3 x@0x20fbfb0)\n" " (declare (in ) ivec3 y@0x20fc0c0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) ivec4 x@0x20fc2a0)\n" " (declare (in ) ivec4 y@0x20fc3b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) bvec2 x@0x20fc590)\n" " (declare (in ) bvec2 y@0x20fc6a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) bvec3 x@0x20fc880)\n" " (declare (in ) bvec3 y@0x20fc990)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) bvec4 x@0x20fcb70)\n" " (declare (in ) bvec4 y@0x20fcc80)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function any\n" " (signature bool\n" " (parameters\n" " (declare (in ) bvec2 x@0x20fce60)\n" " )\n" " (\n" " ))\n" "\n" " (signature bool\n" " (parameters\n" " (declare (in ) bvec3 x@0x20fd1e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bool\n" " (parameters\n" " (declare (in ) bvec4 x@0x20fd3c0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function all\n" " (signature bool\n" " (parameters\n" " (declare (in ) bvec2 x@0x20fd5a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bool\n" " (parameters\n" " (declare (in ) bvec3 x@0x20fd920)\n" " )\n" " (\n" " ))\n" "\n" " (signature bool\n" " (parameters\n" " (declare (in ) bvec4 x@0x20fdb00)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function not\n" " (signature bvec2\n" " (parameters\n" " (declare (in ) bvec2 x@0x20fdce0)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec3\n" " (parameters\n" " (declare (in ) bvec3 x@0x20fe060)\n" " )\n" " (\n" " ))\n" "\n" " (signature bvec4\n" " (parameters\n" " (declare (in ) bvec4 x@0x20fe240)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture1D\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x20fe420)\n" " (declare (in ) float coord@0x20fe530)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x20ff050)\n" " (declare (in ) float coord@0x20ff160)\n" " (declare (in ) float bias@0x20ff270)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture1DProj\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x20fe8c0)\n" " (declare (in ) vec2 coord@0x20fe9d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x20fed60)\n" " (declare (in ) vec4 coord@0x20fee70)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x20ff450)\n" " (declare (in ) vec2 coord@0x20ff560)\n" " (declare (in ) float bias@0x20ff670)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1D sampler@0x20ff850)\n" " (declare (in ) vec4 coord@0x20ff960)\n" " (declare (in ) float bias@0x20ffa70)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture2D\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x20ffc50)\n" " (declare (in ) vec2 coord@0x20ffd60)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x2100880)\n" " (declare (in ) vec2 coord@0x2100990)\n" " (declare (in ) float bias@0x2100aa0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture2DProj\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x21000f0)\n" " (declare (in ) vec3 coord@0x2100200)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x2100590)\n" " (declare (in ) vec4 coord@0x21006a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x2100c80)\n" " (declare (in ) vec3 coord@0x2100d90)\n" " (declare (in ) float bias@0x2100ea0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2D sampler@0x2101080)\n" " (declare (in ) vec4 coord@0x2101190)\n" " (declare (in ) float bias@0x21012a0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture3D\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x2101480)\n" " (declare (in ) vec3 coord@0x2101590)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x2101dc0)\n" " (declare (in ) vec3 coord@0x2101ed0)\n" " (declare (in ) float bias@0x2101fe0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function texture3DProj\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x2101920)\n" " (declare (in ) vec4 coord@0x2101a30)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler3D sampler@0x21021c0)\n" " (declare (in ) vec4 coord@0x21022d0)\n" " (declare (in ) float bias@0x21023e0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function textureCube\n" " (signature vec4\n" " (parameters\n" " (declare (in ) samplerCube sampler@0x21025c0)\n" " (declare (in ) vec3 coord@0x21026d0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) samplerCube sampler@0x2102a60)\n" " (declare (in ) vec3 coord@0x2102b70)\n" " (declare (in ) float bias@0x2102c80)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow1D\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x2102e60)\n" " (declare (in ) vec3 coord@0x2102f70)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x21040e0)\n" " (declare (in ) vec3 coord@0x21041f0)\n" " (declare (in ) float bias@0x2104300)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow2D\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x2103300)\n" " (declare (in ) vec3 coord@0x2103410)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x21044e0)\n" " (declare (in ) vec3 coord@0x21045f0)\n" " (declare (in ) float bias@0x2104700)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow1DProj\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x21037a0)\n" " (declare (in ) vec4 coord@0x21038b0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler1DShadow sampler@0x21048e0)\n" " (declare (in ) vec4 coord@0x21049f0)\n" " (declare (in ) float bias@0x2104b00)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function shadow2DProj\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x2103c40)\n" " (declare (in ) vec4 coord@0x2103d50)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) sampler2DShadow sampler@0x2104ce0)\n" " (declare (in ) vec4 coord@0x2104df0)\n" " (declare (in ) float bias@0x2104f00)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function dFdx\n" " (signature float\n" " (parameters\n" " (declare (in ) float p@0x21050e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 p@0x2105460)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 p@0x2105640)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 p@0x2105820)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function dFdy\n" " (signature float\n" " (parameters\n" " (declare (in ) float p@0x2105a00)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 p@0x2105d80)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 p@0x2105f60)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 p@0x2106140)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function fwidth\n" " (signature float\n" " (parameters\n" " (declare (in ) float p@0x2106320)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 p@0x21066a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 p@0x2106880)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 p@0x2106a60)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function noise1\n" " (signature float\n" " (parameters\n" " (declare (in ) float x@0x2106c40)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec2 x@0x2106fc0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec3 x@0x21071a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature float\n" " (parameters\n" " (declare (in ) vec4 x@0x2107380)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function noise2\n" " (signature vec2\n" " (parameters\n" " (declare (in ) float x@0x2107560)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec2 x@0x21078e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec3 x@0x2107ac0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec2\n" " (parameters\n" " (declare (in ) vec4 x@0x2107ca0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function noise3\n" " (signature vec3\n" " (parameters\n" " (declare (in ) float x@0x2107e80)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec2 x@0x2108200)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec3 x@0x21083e0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec3\n" " (parameters\n" " (declare (in ) vec4 x@0x21085c0)\n" " )\n" " (\n" " ))\n" "\n" ")\n" "\n" "(function noise4\n" " (signature vec4\n" " (parameters\n" " (declare (in ) float x@0x21087a0)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec2 x@0x2108b20)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec3 x@0x2108d00)\n" " )\n" " (\n" " ))\n" "\n" " (signature vec4\n" " (parameters\n" " (declare (in ) vec4 x@0x2108ee0)\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++; } }