[Mesa-dev] [PATCH 21/21] glsl: Delete old built-in function generation code.

Kenneth Graunke kenneth at whitecape.org
Wed Sep 4 15:22:44 PDT 2013


None of this is used anymore.

Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
---
 src/glsl/builtins/glsl/determinant.glsl            |   71 --
 src/glsl/builtins/glsl/inverse.glsl                |  106 --
 src/glsl/builtins/ir/EmitVertex.ir                 |    5 -
 src/glsl/builtins/ir/EndPrimitive.ir               |    5 -
 src/glsl/builtins/ir/abs.ir                        |   41 -
 src/glsl/builtins/ir/acos.ir                       |   29 -
 src/glsl/builtins/ir/acosh.ir                      |   21 -
 src/glsl/builtins/ir/all.ir                        |   16 -
 src/glsl/builtins/ir/any.ir                        |   16 -
 src/glsl/builtins/ir/asin.ir                       |  109 ---
 src/glsl/builtins/ir/asinh.ir                      |   53 -
 src/glsl/builtins/ir/atan.ir                       |  134 ---
 src/glsl/builtins/ir/atanh.ir                      |   37 -
 src/glsl/builtins/ir/bitCount.ir                   |   41 -
 src/glsl/builtins/ir/bitfieldExtract.ir            |   57 --
 src/glsl/builtins/ir/bitfieldInsert.ir             |   65 --
 src/glsl/builtins/ir/bitfieldReverse.ir            |   41 -
 src/glsl/builtins/ir/ceil.ir                       |   21 -
 src/glsl/builtins/ir/clamp.ir                      |  148 ---
 src/glsl/builtins/ir/cos.ir                        |   21 -
 src/glsl/builtins/ir/cosh.ir                       |   30 -
 src/glsl/builtins/ir/cross.ir                      |    9 -
 src/glsl/builtins/ir/dFdx.ir                       |   21 -
 src/glsl/builtins/ir/dFdy.ir                       |   21 -
 src/glsl/builtins/ir/degrees.ir                    |   21 -
 src/glsl/builtins/ir/distance.ir                   |   31 -
 src/glsl/builtins/ir/dot.ir                        |   25 -
 src/glsl/builtins/ir/equal.ir                      |   73 --
 src/glsl/builtins/ir/exp.ir                        |   21 -
 src/glsl/builtins/ir/exp2.ir                       |   21 -
 src/glsl/builtins/ir/faceforward.ir                |   37 -
 src/glsl/builtins/ir/findLSB.ir                    |   41 -
 src/glsl/builtins/ir/findMSB.ir                    |   41 -
 src/glsl/builtins/ir/floatBitsToInt.ir             |   21 -
 src/glsl/builtins/ir/floatBitsToUint.ir            |   21 -
 src/glsl/builtins/ir/floor.ir                      |   21 -
 src/glsl/builtins/ir/fma.ir                        |   29 -
 src/glsl/builtins/ir/fract.ir                      |   22 -
 src/glsl/builtins/ir/ftransform.ir                 |    9 -
 src/glsl/builtins/ir/fwidth.ir                     |   29 -
 src/glsl/builtins/ir/greaterThan.ir                |   55 --
 src/glsl/builtins/ir/greaterThanEqual.ir           |   55 --
 src/glsl/builtins/ir/intBitsToFloat.ir             |   21 -
 src/glsl/builtins/ir/inversesqrt.ir                |   21 -
 src/glsl/builtins/ir/isinf.ir                      |   17 -
 src/glsl/builtins/ir/isnan.ir                      |   17 -
 src/glsl/builtins/ir/length.ir                     |   21 -
 src/glsl/builtins/ir/lessThan.ir                   |   55 --
 src/glsl/builtins/ir/lessThanEqual.ir              |   55 --
 src/glsl/builtins/ir/log.ir                        |   21 -
 src/glsl/builtins/ir/log2.ir                       |   21 -
 src/glsl/builtins/ir/matrixCompMult.ir             |   91 --
 src/glsl/builtins/ir/max.ir                        |  127 ---
 src/glsl/builtins/ir/min.ir                        |  127 ---
 src/glsl/builtins/ir/mix.ir                        |   88 --
 src/glsl/builtins/ir/mod.ir                        |   43 -
 src/glsl/builtins/ir/modf.ir                       |   37 -
 src/glsl/builtins/ir/noise1.ir                     |   18 -
 src/glsl/builtins/ir/noise2.ir                     |   61 --
 src/glsl/builtins/ir/noise3.ir                     |   73 --
 src/glsl/builtins/ir/noise4.ir                     |   97 --
 src/glsl/builtins/ir/normalize.ir                  |   21 -
 src/glsl/builtins/ir/not.ir                        |   16 -
 src/glsl/builtins/ir/notEqual.ir                   |   73 --
 src/glsl/builtins/ir/outerProduct.ir               |   92 --
 src/glsl/builtins/ir/packHalf2x16.ir               |    6 -
 src/glsl/builtins/ir/packSnorm2x16.ir              |    6 -
 src/glsl/builtins/ir/packSnorm4x8.ir               |    6 -
 src/glsl/builtins/ir/packUnorm2x16.ir              |    6 -
 src/glsl/builtins/ir/packUnorm4x8.ir               |    6 -
 src/glsl/builtins/ir/pow.ir                        |   25 -
 src/glsl/builtins/ir/radians.ir                    |   21 -
 src/glsl/builtins/ir/reflect.ir                    |   58 --
 src/glsl/builtins/ir/refract.ir                    |  102 --
 src/glsl/builtins/ir/round.ir                      |   21 -
 src/glsl/builtins/ir/roundEven.ir                  |   21 -
 src/glsl/builtins/ir/sign.ir                       |   42 -
 src/glsl/builtins/ir/sin.ir                        |   21 -
 src/glsl/builtins/ir/sinh.ir                       |   30 -
 src/glsl/builtins/ir/smoothstep.ir                 |  100 --
 src/glsl/builtins/ir/sqrt.ir                       |   21 -
 src/glsl/builtins/ir/step.ir                       |   68 --
 src/glsl/builtins/ir/tan.ir                        |   21 -
 src/glsl/builtins/ir/tanh.ir                       |   42 -
 src/glsl/builtins/ir/transpose.ir                  |  139 ---
 src/glsl/builtins/ir/trunc.ir                      |   21 -
 src/glsl/builtins/ir/uintBitsToFloat.ir            |   21 -
 src/glsl/builtins/ir/unpackHalf2x16.ir             |    6 -
 src/glsl/builtins/ir/unpackSnorm2x16.ir            |    6 -
 src/glsl/builtins/ir/unpackSnorm4x8.ir             |    6 -
 src/glsl/builtins/ir/unpackUnorm2x16.ir            |    6 -
 src/glsl/builtins/ir/unpackUnorm4x8.ir             |    6 -
 src/glsl/builtins/profiles/100es.frag              |    8 -
 src/glsl/builtins/profiles/100es.glsl              |  296 ------
 src/glsl/builtins/profiles/100es.vert              |    6 -
 src/glsl/builtins/profiles/110.frag                |   40 -
 src/glsl/builtins/profiles/110.glsl                |  332 -------
 src/glsl/builtins/profiles/110.vert                |   25 -
 src/glsl/builtins/profiles/120.frag                |   39 -
 src/glsl/builtins/profiles/120.glsl                |  364 -------
 src/glsl/builtins/profiles/120.vert                |   21 -
 src/glsl/builtins/profiles/130.frag                |  141 ---
 src/glsl/builtins/profiles/130.glsl                |  904 -----------------
 src/glsl/builtins/profiles/130.vert                |    2 -
 src/glsl/builtins/profiles/140.frag                |  140 ---
 src/glsl/builtins/profiles/140.glsl                |  989 -------------------
 src/glsl/builtins/profiles/150.frag                |  140 ---
 src/glsl/builtins/profiles/150.geom                |    3 -
 src/glsl/builtins/profiles/150.glsl                | 1009 -------------------
 src/glsl/builtins/profiles/300es.frag              |   85 --
 src/glsl/builtins/profiles/300es.glsl              |  749 --------------
 src/glsl/builtins/profiles/330.frag                |  140 ---
 src/glsl/builtins/profiles/330.glsl                | 1029 --------------------
 src/glsl/builtins/profiles/ARB_gpu_shader5.glsl    |   81 --
 .../builtins/profiles/ARB_shader_bit_encoding.glsl |   22 -
 .../builtins/profiles/ARB_shader_texture_lod.frag  |   17 -
 .../builtins/profiles/ARB_shader_texture_lod.glsl  |   46 -
 .../profiles/ARB_shading_language_packing.glsl     |   14 -
 .../profiles/ARB_texture_cube_map_array.frag       |    6 -
 .../profiles/ARB_texture_cube_map_array.glsl       |   20 -
 .../builtins/profiles/ARB_texture_multisample.glsl |   18 -
 .../builtins/profiles/ARB_texture_query_lod.frag   |   38 -
 .../builtins/profiles/ARB_texture_rectangle.glsl   |    7 -
 src/glsl/builtins/profiles/EXT_texture_array.frag  |   11 -
 src/glsl/builtins/profiles/EXT_texture_array.geom  |   12 -
 src/glsl/builtins/profiles/EXT_texture_array.vert  |   11 -
 .../builtins/profiles/OES_EGL_image_external.glsl  |    7 -
 .../profiles/OES_standard_derivatives.frag         |   21 -
 src/glsl/builtins/profiles/OES_texture_3D.frag     |    8 -
 src/glsl/builtins/profiles/OES_texture_3D.vert     |    7 -
 src/glsl/builtins/tools/generate_builtins.py       |  306 ------
 .../builtins/tools/generate_matrixCompMultGLSL.py  |   28 -
 .../builtins/tools/generate_outerProductGLSL.py    |   23 -
 src/glsl/builtins/tools/generate_transposeGLSL.py  |   28 -
 src/glsl/builtins/tools/texture_builtins.py        |  664 -------------
 135 files changed, 11595 deletions(-)
 delete mode 100644 src/glsl/builtins/glsl/determinant.glsl
 delete mode 100644 src/glsl/builtins/glsl/inverse.glsl
 delete mode 100644 src/glsl/builtins/ir/EmitVertex.ir
 delete mode 100644 src/glsl/builtins/ir/EndPrimitive.ir
 delete mode 100644 src/glsl/builtins/ir/abs.ir
 delete mode 100644 src/glsl/builtins/ir/acos.ir
 delete mode 100644 src/glsl/builtins/ir/acosh.ir
 delete mode 100644 src/glsl/builtins/ir/all.ir
 delete mode 100644 src/glsl/builtins/ir/any.ir
 delete mode 100644 src/glsl/builtins/ir/asin.ir
 delete mode 100644 src/glsl/builtins/ir/asinh.ir
 delete mode 100644 src/glsl/builtins/ir/atan.ir
 delete mode 100644 src/glsl/builtins/ir/atanh.ir
 delete mode 100644 src/glsl/builtins/ir/bitCount.ir
 delete mode 100644 src/glsl/builtins/ir/bitfieldExtract.ir
 delete mode 100644 src/glsl/builtins/ir/bitfieldInsert.ir
 delete mode 100644 src/glsl/builtins/ir/bitfieldReverse.ir
 delete mode 100644 src/glsl/builtins/ir/ceil.ir
 delete mode 100644 src/glsl/builtins/ir/clamp.ir
 delete mode 100644 src/glsl/builtins/ir/cos.ir
 delete mode 100644 src/glsl/builtins/ir/cosh.ir
 delete mode 100644 src/glsl/builtins/ir/cross.ir
 delete mode 100644 src/glsl/builtins/ir/dFdx.ir
 delete mode 100644 src/glsl/builtins/ir/dFdy.ir
 delete mode 100644 src/glsl/builtins/ir/degrees.ir
 delete mode 100644 src/glsl/builtins/ir/distance.ir
 delete mode 100644 src/glsl/builtins/ir/dot.ir
 delete mode 100644 src/glsl/builtins/ir/equal.ir
 delete mode 100644 src/glsl/builtins/ir/exp.ir
 delete mode 100644 src/glsl/builtins/ir/exp2.ir
 delete mode 100644 src/glsl/builtins/ir/faceforward.ir
 delete mode 100644 src/glsl/builtins/ir/findLSB.ir
 delete mode 100644 src/glsl/builtins/ir/findMSB.ir
 delete mode 100644 src/glsl/builtins/ir/floatBitsToInt.ir
 delete mode 100644 src/glsl/builtins/ir/floatBitsToUint.ir
 delete mode 100644 src/glsl/builtins/ir/floor.ir
 delete mode 100644 src/glsl/builtins/ir/fma.ir
 delete mode 100644 src/glsl/builtins/ir/fract.ir
 delete mode 100644 src/glsl/builtins/ir/ftransform.ir
 delete mode 100644 src/glsl/builtins/ir/fwidth.ir
 delete mode 100644 src/glsl/builtins/ir/greaterThan.ir
 delete mode 100644 src/glsl/builtins/ir/greaterThanEqual.ir
 delete mode 100644 src/glsl/builtins/ir/intBitsToFloat.ir
 delete mode 100644 src/glsl/builtins/ir/inversesqrt.ir
 delete mode 100644 src/glsl/builtins/ir/isinf.ir
 delete mode 100644 src/glsl/builtins/ir/isnan.ir
 delete mode 100644 src/glsl/builtins/ir/length.ir
 delete mode 100644 src/glsl/builtins/ir/lessThan.ir
 delete mode 100644 src/glsl/builtins/ir/lessThanEqual.ir
 delete mode 100644 src/glsl/builtins/ir/log.ir
 delete mode 100644 src/glsl/builtins/ir/log2.ir
 delete mode 100644 src/glsl/builtins/ir/matrixCompMult.ir
 delete mode 100644 src/glsl/builtins/ir/max.ir
 delete mode 100644 src/glsl/builtins/ir/min.ir
 delete mode 100644 src/glsl/builtins/ir/mix.ir
 delete mode 100644 src/glsl/builtins/ir/mod.ir
 delete mode 100644 src/glsl/builtins/ir/modf.ir
 delete mode 100644 src/glsl/builtins/ir/noise1.ir
 delete mode 100644 src/glsl/builtins/ir/noise2.ir
 delete mode 100644 src/glsl/builtins/ir/noise3.ir
 delete mode 100644 src/glsl/builtins/ir/noise4.ir
 delete mode 100644 src/glsl/builtins/ir/normalize.ir
 delete mode 100644 src/glsl/builtins/ir/not.ir
 delete mode 100644 src/glsl/builtins/ir/notEqual.ir
 delete mode 100644 src/glsl/builtins/ir/outerProduct.ir
 delete mode 100644 src/glsl/builtins/ir/packHalf2x16.ir
 delete mode 100644 src/glsl/builtins/ir/packSnorm2x16.ir
 delete mode 100644 src/glsl/builtins/ir/packSnorm4x8.ir
 delete mode 100644 src/glsl/builtins/ir/packUnorm2x16.ir
 delete mode 100644 src/glsl/builtins/ir/packUnorm4x8.ir
 delete mode 100644 src/glsl/builtins/ir/pow.ir
 delete mode 100644 src/glsl/builtins/ir/radians.ir
 delete mode 100644 src/glsl/builtins/ir/reflect.ir
 delete mode 100644 src/glsl/builtins/ir/refract.ir
 delete mode 100644 src/glsl/builtins/ir/round.ir
 delete mode 100644 src/glsl/builtins/ir/roundEven.ir
 delete mode 100644 src/glsl/builtins/ir/sign.ir
 delete mode 100644 src/glsl/builtins/ir/sin.ir
 delete mode 100644 src/glsl/builtins/ir/sinh.ir
 delete mode 100644 src/glsl/builtins/ir/smoothstep.ir
 delete mode 100644 src/glsl/builtins/ir/sqrt.ir
 delete mode 100644 src/glsl/builtins/ir/step.ir
 delete mode 100644 src/glsl/builtins/ir/tan.ir
 delete mode 100644 src/glsl/builtins/ir/tanh.ir
 delete mode 100644 src/glsl/builtins/ir/transpose.ir
 delete mode 100644 src/glsl/builtins/ir/trunc.ir
 delete mode 100644 src/glsl/builtins/ir/uintBitsToFloat.ir
 delete mode 100644 src/glsl/builtins/ir/unpackHalf2x16.ir
 delete mode 100644 src/glsl/builtins/ir/unpackSnorm2x16.ir
 delete mode 100644 src/glsl/builtins/ir/unpackSnorm4x8.ir
 delete mode 100644 src/glsl/builtins/ir/unpackUnorm2x16.ir
 delete mode 100644 src/glsl/builtins/ir/unpackUnorm4x8.ir
 delete mode 100644 src/glsl/builtins/profiles/100es.frag
 delete mode 100644 src/glsl/builtins/profiles/100es.glsl
 delete mode 100644 src/glsl/builtins/profiles/100es.vert
 delete mode 100644 src/glsl/builtins/profiles/110.frag
 delete mode 100644 src/glsl/builtins/profiles/110.glsl
 delete mode 100644 src/glsl/builtins/profiles/110.vert
 delete mode 100644 src/glsl/builtins/profiles/120.frag
 delete mode 100644 src/glsl/builtins/profiles/120.glsl
 delete mode 100644 src/glsl/builtins/profiles/120.vert
 delete mode 100644 src/glsl/builtins/profiles/130.frag
 delete mode 100644 src/glsl/builtins/profiles/130.glsl
 delete mode 100644 src/glsl/builtins/profiles/130.vert
 delete mode 100644 src/glsl/builtins/profiles/140.frag
 delete mode 100644 src/glsl/builtins/profiles/140.glsl
 delete mode 100644 src/glsl/builtins/profiles/150.frag
 delete mode 100644 src/glsl/builtins/profiles/150.geom
 delete mode 100644 src/glsl/builtins/profiles/150.glsl
 delete mode 100644 src/glsl/builtins/profiles/300es.frag
 delete mode 100644 src/glsl/builtins/profiles/300es.glsl
 delete mode 100644 src/glsl/builtins/profiles/330.frag
 delete mode 100644 src/glsl/builtins/profiles/330.glsl
 delete mode 100644 src/glsl/builtins/profiles/ARB_gpu_shader5.glsl
 delete mode 100644 src/glsl/builtins/profiles/ARB_shader_bit_encoding.glsl
 delete mode 100644 src/glsl/builtins/profiles/ARB_shader_texture_lod.frag
 delete mode 100644 src/glsl/builtins/profiles/ARB_shader_texture_lod.glsl
 delete mode 100644 src/glsl/builtins/profiles/ARB_shading_language_packing.glsl
 delete mode 100644 src/glsl/builtins/profiles/ARB_texture_cube_map_array.frag
 delete mode 100644 src/glsl/builtins/profiles/ARB_texture_cube_map_array.glsl
 delete mode 100644 src/glsl/builtins/profiles/ARB_texture_multisample.glsl
 delete mode 100644 src/glsl/builtins/profiles/ARB_texture_query_lod.frag
 delete mode 100644 src/glsl/builtins/profiles/ARB_texture_rectangle.glsl
 delete mode 100644 src/glsl/builtins/profiles/EXT_texture_array.frag
 delete mode 100644 src/glsl/builtins/profiles/EXT_texture_array.geom
 delete mode 100644 src/glsl/builtins/profiles/EXT_texture_array.vert
 delete mode 100644 src/glsl/builtins/profiles/OES_EGL_image_external.glsl
 delete mode 100644 src/glsl/builtins/profiles/OES_standard_derivatives.frag
 delete mode 100644 src/glsl/builtins/profiles/OES_texture_3D.frag
 delete mode 100644 src/glsl/builtins/profiles/OES_texture_3D.vert
 delete mode 100755 src/glsl/builtins/tools/generate_builtins.py
 delete mode 100755 src/glsl/builtins/tools/generate_matrixCompMultGLSL.py
 delete mode 100755 src/glsl/builtins/tools/generate_outerProductGLSL.py
 delete mode 100755 src/glsl/builtins/tools/generate_transposeGLSL.py
 delete mode 100755 src/glsl/builtins/tools/texture_builtins.py

diff --git a/src/glsl/builtins/glsl/determinant.glsl b/src/glsl/builtins/glsl/determinant.glsl
deleted file mode 100644
index 84f3872..0000000
--- a/src/glsl/builtins/glsl/determinant.glsl
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright © 2012 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.
- */
-
-#version 120
-
-// Forward declaration because builtins don't know about other builtins.
-float dot(vec4, vec4);
-
-float determinant(mat2 m)
-{
-   return m[0][0] * m[1][1] - m[1][0] * m[0][1];
-}
-
-float determinant(mat3 m)
-{
-   return (+ m[0][0] * (m[1][1] * m[2][2] - m[1][2] * m[2][1])
-           - m[0][1] * (m[1][0] * m[2][2] - m[1][2] * m[2][0])
-           + m[0][2] * (m[1][0] * m[2][1] - m[1][1] * m[2][0]));
-}
-
-float determinant(mat4 m)
-{
-   float SubFactor00 = m[2][2] * m[3][3] - m[3][2] * m[2][3];
-   float SubFactor01 = m[2][1] * m[3][3] - m[3][1] * m[2][3];
-   float SubFactor02 = m[2][1] * m[3][2] - m[3][1] * m[2][2];
-   float SubFactor03 = m[2][0] * m[3][3] - m[3][0] * m[2][3];
-   float SubFactor04 = m[2][0] * m[3][2] - m[3][0] * m[2][2];
-   float SubFactor05 = m[2][0] * m[3][1] - m[3][0] * m[2][1];
-   float SubFactor06 = m[1][2] * m[3][3] - m[3][2] * m[1][3];
-   float SubFactor07 = m[1][1] * m[3][3] - m[3][1] * m[1][3];
-   float SubFactor08 = m[1][1] * m[3][2] - m[3][1] * m[1][2];
-   float SubFactor09 = m[1][0] * m[3][3] - m[3][0] * m[1][3];
-   float SubFactor10 = m[1][0] * m[3][2] - m[3][0] * m[1][2];
-   float SubFactor11 = m[1][1] * m[3][3] - m[3][1] * m[1][3];
-   float SubFactor12 = m[1][0] * m[3][1] - m[3][0] * m[1][1];
-   float SubFactor13 = m[1][2] * m[2][3] - m[2][2] * m[1][3];
-   float SubFactor14 = m[1][1] * m[2][3] - m[2][1] * m[1][3];
-   float SubFactor15 = m[1][1] * m[2][2] - m[2][1] * m[1][2];
-   float SubFactor16 = m[1][0] * m[2][3] - m[2][0] * m[1][3];
-   float SubFactor17 = m[1][0] * m[2][2] - m[2][0] * m[1][2];
-   float SubFactor18 = m[1][0] * m[2][1] - m[2][0] * m[1][1];
-
-   vec4 adj_0;
-
-   adj_0[0] = + (m[1][1] * SubFactor00 - m[1][2] * SubFactor01 + m[1][3] * SubFactor02);
-   adj_0[1] = - (m[1][0] * SubFactor00 - m[1][2] * SubFactor03 + m[1][3] * SubFactor04);
-   adj_0[2] = + (m[1][0] * SubFactor01 - m[1][1] * SubFactor03 + m[1][3] * SubFactor05);
-   adj_0[3] = - (m[1][0] * SubFactor02 - m[1][1] * SubFactor04 + m[1][2] * SubFactor05);
-
-   return dot(m[0], adj_0);
-}
diff --git a/src/glsl/builtins/glsl/inverse.glsl b/src/glsl/builtins/glsl/inverse.glsl
deleted file mode 100644
index ffb84f9..0000000
--- a/src/glsl/builtins/glsl/inverse.glsl
+++ /dev/null
@@ -1,106 +0,0 @@
-/* Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
- * Copyright © 2012 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 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.
- */
-
-#version 120
-mat2 inverse(mat2 m)
-{
-   mat2 adj;
-   adj[0][0] = m[1][1];
-   adj[0][1] = -m[0][1];
-   adj[1][0] = -m[1][0];
-   adj[1][1] = m[0][0];
-   float det = m[0][0] * m[1][1] - m[1][0] * m[0][1];
-   return adj / det;
-}
-
-mat3 inverse(mat3 m)
-{
-   mat3 adj;
-   adj[0][0] = + (m[1][1] * m[2][2] - m[2][1] * m[1][2]);
-   adj[1][0] = - (m[1][0] * m[2][2] - m[2][0] * m[1][2]);
-   adj[2][0] = + (m[1][0] * m[2][1] - m[2][0] * m[1][1]);
-   adj[0][1] = - (m[0][1] * m[2][2] - m[2][1] * m[0][2]);
-   adj[1][1] = + (m[0][0] * m[2][2] - m[2][0] * m[0][2]);
-   adj[2][1] = - (m[0][0] * m[2][1] - m[2][0] * m[0][1]);
-   adj[0][2] = + (m[0][1] * m[1][2] - m[1][1] * m[0][2]);
-   adj[1][2] = - (m[0][0] * m[1][2] - m[1][0] * m[0][2]);
-   adj[2][2] = + (m[0][0] * m[1][1] - m[1][0] * m[0][1]);
-
-   float det = (+ m[0][0] * (m[1][1] * m[2][2] - m[1][2] * m[2][1])
-		- m[0][1] * (m[1][0] * m[2][2] - m[1][2] * m[2][0])
-		+ m[0][2] * (m[1][0] * m[2][1] - m[1][1] * m[2][0]));
-
-   return adj / det;
-}
-
-mat4 inverse(mat4 m)
-{
-   float SubFactor00 = m[2][2] * m[3][3] - m[3][2] * m[2][3];
-   float SubFactor01 = m[2][1] * m[3][3] - m[3][1] * m[2][3];
-   float SubFactor02 = m[2][1] * m[3][2] - m[3][1] * m[2][2];
-   float SubFactor03 = m[2][0] * m[3][3] - m[3][0] * m[2][3];
-   float SubFactor04 = m[2][0] * m[3][2] - m[3][0] * m[2][2];
-   float SubFactor05 = m[2][0] * m[3][1] - m[3][0] * m[2][1];
-   float SubFactor06 = m[1][2] * m[3][3] - m[3][2] * m[1][3];
-   float SubFactor07 = m[1][1] * m[3][3] - m[3][1] * m[1][3];
-   float SubFactor08 = m[1][1] * m[3][2] - m[3][1] * m[1][2];
-   float SubFactor09 = m[1][0] * m[3][3] - m[3][0] * m[1][3];
-   float SubFactor10 = m[1][0] * m[3][2] - m[3][0] * m[1][2];
-   float SubFactor11 = m[1][1] * m[3][3] - m[3][1] * m[1][3];
-   float SubFactor12 = m[1][0] * m[3][1] - m[3][0] * m[1][1];
-   float SubFactor13 = m[1][2] * m[2][3] - m[2][2] * m[1][3];
-   float SubFactor14 = m[1][1] * m[2][3] - m[2][1] * m[1][3];
-   float SubFactor15 = m[1][1] * m[2][2] - m[2][1] * m[1][2];
-   float SubFactor16 = m[1][0] * m[2][3] - m[2][0] * m[1][3];
-   float SubFactor17 = m[1][0] * m[2][2] - m[2][0] * m[1][2];
-   float SubFactor18 = m[1][0] * m[2][1] - m[2][0] * m[1][1];
-
-   mat4 adj;
-
-   adj[0][0] = + (m[1][1] * SubFactor00 - m[1][2] * SubFactor01 + m[1][3] * SubFactor02);
-   adj[1][0] = - (m[1][0] * SubFactor00 - m[1][2] * SubFactor03 + m[1][3] * SubFactor04);
-   adj[2][0] = + (m[1][0] * SubFactor01 - m[1][1] * SubFactor03 + m[1][3] * SubFactor05);
-   adj[3][0] = - (m[1][0] * SubFactor02 - m[1][1] * SubFactor04 + m[1][2] * SubFactor05);
-
-   adj[0][1] = - (m[0][1] * SubFactor00 - m[0][2] * SubFactor01 + m[0][3] * SubFactor02);
-   adj[1][1] = + (m[0][0] * SubFactor00 - m[0][2] * SubFactor03 + m[0][3] * SubFactor04);
-   adj[2][1] = - (m[0][0] * SubFactor01 - m[0][1] * SubFactor03 + m[0][3] * SubFactor05);
-   adj[3][1] = + (m[0][0] * SubFactor02 - m[0][1] * SubFactor04 + m[0][2] * SubFactor05);
-
-   adj[0][2] = + (m[0][1] * SubFactor06 - m[0][2] * SubFactor07 + m[0][3] * SubFactor08);
-   adj[1][2] = - (m[0][0] * SubFactor06 - m[0][2] * SubFactor09 + m[0][3] * SubFactor10);
-   adj[2][2] = + (m[0][0] * SubFactor11 - m[0][1] * SubFactor09 + m[0][3] * SubFactor12);
-   adj[3][2] = - (m[0][0] * SubFactor08 - m[0][1] * SubFactor10 + m[0][2] * SubFactor12);
-
-   adj[0][3] = - (m[0][1] * SubFactor13 - m[0][2] * SubFactor14 + m[0][3] * SubFactor15);
-   adj[1][3] = + (m[0][0] * SubFactor13 - m[0][2] * SubFactor16 + m[0][3] * SubFactor17);
-   adj[2][3] = - (m[0][0] * SubFactor14 - m[0][1] * SubFactor16 + m[0][3] * SubFactor18);
-   adj[3][3] = + (m[0][0] * SubFactor15 - m[0][1] * SubFactor17 + m[0][2] * SubFactor18);
-
-   float det = (+ m[0][0] * adj[0][0]
-		+ m[0][1] * adj[1][0]
-		+ m[0][2] * adj[2][0]
-		+ m[0][3] * adj[3][0]);
-
-   return adj / det;
-}
-
diff --git a/src/glsl/builtins/ir/EmitVertex.ir b/src/glsl/builtins/ir/EmitVertex.ir
deleted file mode 100644
index 8ffb6c4..0000000
--- a/src/glsl/builtins/ir/EmitVertex.ir
+++ /dev/null
@@ -1,5 +0,0 @@
-((function EmitVertex
-  (signature void
-    (parameters)
-    ((emit-vertex)))
-))
diff --git a/src/glsl/builtins/ir/EndPrimitive.ir b/src/glsl/builtins/ir/EndPrimitive.ir
deleted file mode 100644
index ed7e12a..0000000
--- a/src/glsl/builtins/ir/EndPrimitive.ir
+++ /dev/null
@@ -1,5 +0,0 @@
-((function EndPrimitive
-  (signature void
-    (parameters)
-    ((end-primitive)))
-))
diff --git a/src/glsl/builtins/ir/abs.ir b/src/glsl/builtins/ir/abs.ir
deleted file mode 100644
index d07d1d9..0000000
--- a/src/glsl/builtins/ir/abs.ir
+++ /dev/null
@@ -1,41 +0,0 @@
-((function abs
-   (signature float
-     (parameters
-       (declare (in) float arg0))
-     ((return (expression float abs (var_ref arg0)))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 arg0))
-     ((return (expression vec2 abs (var_ref arg0)))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 arg0))
-     ((return (expression vec3 abs (var_ref arg0)))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 arg0))
-     ((return (expression vec4 abs (var_ref arg0)))))
-
-   (signature int
-     (parameters
-       (declare (in) int arg0))
-     ((return (expression int abs (var_ref arg0)))))
-
-   (signature ivec2
-     (parameters
-       (declare (in) ivec2 arg0))
-     ((return (expression ivec2 abs (var_ref arg0)))))
-
-   (signature ivec3
-     (parameters
-       (declare (in) ivec3 arg0))
-     ((return (expression ivec3 abs (var_ref arg0)))))
-
-   (signature ivec4
-     (parameters
-       (declare (in) ivec4 arg0))
-     ((return (expression ivec4 abs (var_ref arg0)))))
-))
diff --git a/src/glsl/builtins/ir/acos.ir b/src/glsl/builtins/ir/acos.ir
deleted file mode 100644
index 8c3797e..0000000
--- a/src/glsl/builtins/ir/acos.ir
+++ /dev/null
@@ -1,29 +0,0 @@
-((function acos
-   (signature float
-     (parameters
-       (declare (in) float x))
-     ((declare () float s)
-      (call asin (var_ref s) ((var_ref x)))
-      (return (expression float - (constant float (1.5707964)) (var_ref s)))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 x))
-     ((declare () vec2 s)
-      (call asin (var_ref s) ((var_ref x)))
-      (return (expression vec2 - (constant float (1.5707964)) (var_ref s)))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 x))
-     ((declare () vec3 s)
-      (call asin (var_ref s) ((var_ref x)))
-      (return (expression vec3 - (constant float (1.5707964)) (var_ref s)))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 x))
-     ((declare () vec4 s)
-      (call asin (var_ref s) ((var_ref x)))
-      (return (expression vec4 - (constant float (1.5707964)) (var_ref s)))))
-))
diff --git a/src/glsl/builtins/ir/acosh.ir b/src/glsl/builtins/ir/acosh.ir
deleted file mode 100644
index 9a4c291..0000000
--- a/src/glsl/builtins/ir/acosh.ir
+++ /dev/null
@@ -1,21 +0,0 @@
-((function acosh
-   (signature float
-     (parameters
-       (declare (in) float x))
-     ((return (expression float log (expression float + (var_ref x) (expression float sqrt (expression float - (expression float * (var_ref x) (var_ref x)) (constant float (1)))))))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 x))
-     ((return (expression vec2 log (expression vec2 + (var_ref x) (expression vec2 sqrt (expression vec2 - (expression vec2 * (var_ref x) (var_ref x)) (constant float (1)))))))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 x))
-     ((return (expression vec3 log (expression vec3 + (var_ref x) (expression vec3 sqrt (expression vec3 - (expression vec3 * (var_ref x) (var_ref x)) (constant float (1)))))))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 x))
-     ((return (expression vec4 log (expression vec4 + (var_ref x) (expression vec4 sqrt (expression vec4 - (expression vec4 * (var_ref x) (var_ref x)) (constant float (1)))))))))
-))
diff --git a/src/glsl/builtins/ir/all.ir b/src/glsl/builtins/ir/all.ir
deleted file mode 100644
index 2cac0df..0000000
--- a/src/glsl/builtins/ir/all.ir
+++ /dev/null
@@ -1,16 +0,0 @@
-((function all
-   (signature bool
-     (parameters
-       (declare (in) bvec2 arg0))
-     ((return (expression bool && (swiz x (var_ref arg0))(swiz y (var_ref arg0))))))
-
-   (signature bool
-     (parameters
-       (declare (in) bvec3 arg0))
-     ((return (expression bool && (expression bool && (swiz x (var_ref arg0))(swiz y (var_ref arg0))) (swiz z (var_ref arg0))))))
-
-   (signature bool
-     (parameters
-       (declare (in) bvec4 arg0))
-     ((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))))))
-))
diff --git a/src/glsl/builtins/ir/any.ir b/src/glsl/builtins/ir/any.ir
deleted file mode 100644
index cc6038a..0000000
--- a/src/glsl/builtins/ir/any.ir
+++ /dev/null
@@ -1,16 +0,0 @@
-((function any
-   (signature bool
-     (parameters
-       (declare (in) bvec2 arg0))
-     ((return (expression bool any (var_ref arg0)))))
-
-   (signature bool
-     (parameters
-       (declare (in) bvec3 arg0))
-     ((return (expression bool any (var_ref arg0)))))
-
-   (signature bool
-     (parameters
-       (declare (in) bvec4 arg0))
-     ((return (expression bool any (var_ref arg0)))))
-))
diff --git a/src/glsl/builtins/ir/asin.ir b/src/glsl/builtins/ir/asin.ir
deleted file mode 100644
index 45d9e67..0000000
--- a/src/glsl/builtins/ir/asin.ir
+++ /dev/null
@@ -1,109 +0,0 @@
-((function asin
-   (signature float
-     (parameters
-       (declare (in) float x))
-     ((return (expression float *
-	       (expression float sign (var_ref x))
-	       (expression float -
-		(constant float (1.5707964))
-		(expression float *
-		 (expression float sqrt
-		  (expression float -
-		   (constant float (1.0))
-		   (expression float abs (var_ref x))))
-		 (expression float +
-		  (constant float (1.5707964))
-		  (expression float *
-		   (expression float abs (var_ref x))
-		   (expression float +
-		    (constant float (-0.21460183))
-		    (expression float *
-		     (expression float abs (var_ref x))
-                     (expression float +
-                      (constant float (0.086566724))
-                      (expression float *
-                       (expression float abs (var_ref x))
-                       (constant float (-0.03102955))
-		     ))))))))))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 x))
-     ((return (expression vec2 *
-	       (expression vec2 sign (var_ref x))
-	       (expression vec2 -
-		(constant float (1.5707964))
-		(expression vec2 *
-		 (expression vec2 sqrt
-		  (expression vec2 -
-		   (constant float (1.0))
-		   (expression vec2 abs (var_ref x))))
-		 (expression vec2 +
-		  (constant float (1.5707964))
-		  (expression vec2 *
-		   (expression vec2 abs (var_ref x))
-		   (expression vec2 +
-		    (constant float (-0.21460183))
-		    (expression vec2 *
-		     (expression vec2 abs (var_ref x))
-                     (expression vec2 +
-                      (constant float (0.086566724))
-                      (expression vec2 *
-                       (expression vec2 abs (var_ref x))
-                       (constant float (-0.03102955))
-		     ))))))))))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 x))
-     ((return (expression vec3 *
-	       (expression vec3 sign (var_ref x))
-	       (expression vec3 -
-		(constant float (1.5707964))
-		(expression vec3 *
-		 (expression vec3 sqrt
-		  (expression vec3 -
-		   (constant float (1.0))
-		   (expression vec3 abs (var_ref x))))
-		 (expression vec3 +
-		  (constant float (1.5707964))
-		  (expression vec3 *
-		   (expression vec3 abs (var_ref x))
-		   (expression vec3 +
-		    (constant float (-0.21460183))
-		    (expression vec3 *
-		     (expression vec3 abs (var_ref x))
-                     (expression vec3 +
-                      (constant float (0.086566724))
-                      (expression vec3 *
-                       (expression vec3 abs (var_ref x))
-                       (constant float (-0.03102955))
-		     ))))))))))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 x))
-     ((return (expression vec4 *
-	       (expression vec4 sign (var_ref x))
-	       (expression vec4 -
-		(constant float (1.5707964))
-		(expression vec4 *
-		 (expression vec4 sqrt
-		  (expression vec4 -
-		   (constant float (1.0))
-		   (expression vec4 abs (var_ref x))))
-		 (expression vec4 +
-		  (constant float (1.5707964))
-		  (expression vec4 *
-		   (expression vec4 abs (var_ref x))
-		   (expression vec4 +
-		    (constant float (-0.21460183))
-		    (expression vec4 *
-		     (expression vec4 abs (var_ref x))
-                     (expression vec4 +
-                      (constant float (0.086566724))
-                      (expression vec4 *
-                       (expression vec4 abs (var_ref x))
-                       (constant float (-0.03102955))
-		     ))))))))))))
-))
diff --git a/src/glsl/builtins/ir/asinh.ir b/src/glsl/builtins/ir/asinh.ir
deleted file mode 100644
index d2dc710..0000000
--- a/src/glsl/builtins/ir/asinh.ir
+++ /dev/null
@@ -1,53 +0,0 @@
-((function asinh
-   (signature float
-     (parameters
-       (declare (in) float x))
-     ((return (expression float *
-               (expression float sign (var_ref x))
-               (expression float log
-                (expression float +
-                 (expression float abs (var_ref x))
-                 (expression float sqrt
-                  (expression float +
-                   (expression float * (var_ref x) (var_ref x))
-                   (constant float (1))))))))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 x))
-     ((return (expression vec2 *
-               (expression vec2 sign (var_ref x))
-               (expression vec2 log
-                (expression vec2 +
-                 (expression vec2 abs (var_ref x))
-                 (expression vec2 sqrt
-                  (expression vec2 +
-                   (expression vec2 * (var_ref x) (var_ref x))
-                   (constant float (1))))))))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 x))
-     ((return (expression vec3 *
-               (expression vec3 sign (var_ref x))
-               (expression vec3 log
-                (expression vec3 +
-                 (expression vec3 abs (var_ref x))
-                 (expression vec3 sqrt
-                  (expression vec3 +
-                   (expression vec3 * (var_ref x) (var_ref x))
-                   (constant float (1))))))))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 x))
-     ((return (expression vec4 *
-               (expression vec4 sign (var_ref x))
-               (expression vec4 log
-                (expression vec4 +
-                 (expression vec4 abs (var_ref x))
-                 (expression vec4 sqrt
-                  (expression vec4 +
-                   (expression vec4 * (var_ref x) (var_ref x))
-                   (constant float (1))))))))))
-))
diff --git a/src/glsl/builtins/ir/atan.ir b/src/glsl/builtins/ir/atan.ir
deleted file mode 100644
index a9dc08e..0000000
--- a/src/glsl/builtins/ir/atan.ir
+++ /dev/null
@@ -1,134 +0,0 @@
-((function atan
-   (signature float
-     (parameters
-       (declare (in) float y_over_x))
-     ((declare () float s)
-      (call asin (var_ref s)
-			  ((expression float *
-			   (var_ref y_over_x)
-			   (expression float rsq
-			    (expression float +
-			     (expression float *
-			      (var_ref y_over_x)
-			      (var_ref y_over_x))
-			     (constant float (1.0)))))))
-      (return (var_ref s))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 y_over_x))
-     ((declare () vec2 s)
-      (call asin (var_ref s)
-			  ((expression vec2 *
-			   (var_ref y_over_x)
-			   (expression vec2 rsq
-			    (expression vec2 +
-			     (expression vec2 *
-			      (var_ref y_over_x)
-			      (var_ref y_over_x))
-			     (constant float (1.0)))))))
-      (return (var_ref s))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 y_over_x))
-     ((declare () vec3 s)
-      (call asin (var_ref s)
-			  ((expression vec3 *
-			   (var_ref y_over_x)
-			   (expression vec3 rsq
-			    (expression vec3 +
-			     (expression vec3 *
-			      (var_ref y_over_x)
-			      (var_ref y_over_x))
-			     (constant float (1.0)))))))
-      (return (var_ref s))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 y_over_x))
-     ((declare () vec4 s)
-      (call asin (var_ref s)
-			  ((expression vec4 *
-			   (var_ref y_over_x)
-			   (expression vec4 rsq
-			    (expression vec4 +
-			     (expression vec4 *
-			      (var_ref y_over_x)
-			      (var_ref y_over_x))
-			     (constant float (1.0)))))))
-      (return (var_ref s))))
-
-  (signature float
-    (parameters
-      (declare (in ) float y)
-      (declare (in ) float x)
-    )
-    (
-      (declare () float r)
-      (if (expression bool >
-           (expression float abs (var_ref x))
-           (expression float * (constant float (1.0e-8)) (expression float abs (var_ref y)))) (
-        (call atan (var_ref r) ((expression float / (var_ref y) (var_ref x))))
-        (if (expression bool < (var_ref x) (constant float (0.000000)) ) (
-          (if (expression bool >= (var_ref y) (constant float (0.000000)) )
-              ((assign (x) (var_ref r) (expression float + (var_ref r) (constant float (3.141593)))))
-              ((assign (x) (var_ref r) (expression float - (var_ref r) (constant float (3.141593))))))
-        )
-        (
-        ))
-      )
-      (
-        (declare () float sgn)
-        (assign (x) (var_ref sgn) (expression float sign (var_ref y)))
-        (assign (x) (var_ref r) (expression float * (var_ref sgn) (constant float (1.5707965))))
-      ))
-
-      (return (var_ref r) )
-    ))
-
-
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 y)
-       (declare (in) vec2 x))
-     ((declare () vec2 r)
-      (declare () float temp)
-      (call atan (var_ref temp) ((swiz x (var_ref y)) (swiz x (var_ref x))))
-      (assign (x) (var_ref r) (var_ref temp))
-      (call atan (var_ref temp) ((swiz y (var_ref y)) (swiz y (var_ref x))))
-      (assign (y) (var_ref r) (var_ref temp))
-      (return (var_ref r))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 y)
-       (declare (in) vec3 x))
-     ((declare () vec3 r)
-      (declare () float temp)
-      (call atan (var_ref temp) ((swiz x (var_ref y)) (swiz x (var_ref x))))
-      (assign (x) (var_ref r) (var_ref temp))
-      (call atan (var_ref temp) ((swiz y (var_ref y)) (swiz y (var_ref x))))
-      (assign (y) (var_ref r) (var_ref temp))
-      (call atan (var_ref temp) ((swiz z (var_ref y)) (swiz z (var_ref x))))
-      (assign (z) (var_ref r) (var_ref temp))
-      (return (var_ref r))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 y)
-       (declare (in) vec4 x))
-     ((declare () vec4 r)
-      (declare () float temp)
-      (call atan (var_ref temp) ((swiz x (var_ref y)) (swiz x (var_ref x))))
-      (assign (x) (var_ref r) (var_ref temp))
-      (call atan (var_ref temp) ((swiz y (var_ref y)) (swiz y (var_ref x))))
-      (assign (y) (var_ref r) (var_ref temp))
-      (call atan (var_ref temp) ((swiz z (var_ref y)) (swiz z (var_ref x))))
-      (assign (z) (var_ref r) (var_ref temp))
-      (call atan (var_ref temp) ((swiz w (var_ref y)) (swiz w (var_ref x))))
-      (assign (w) (var_ref r) (var_ref temp))
-      (return (var_ref r))))
-
-))
diff --git a/src/glsl/builtins/ir/atanh.ir b/src/glsl/builtins/ir/atanh.ir
deleted file mode 100644
index 5ef3596..0000000
--- a/src/glsl/builtins/ir/atanh.ir
+++ /dev/null
@@ -1,37 +0,0 @@
-((function atanh
-   (signature float
-     (parameters
-       (declare (in) float x))
-     ((return (expression float * (constant float (0.5))
-                (expression float log
-		  (expression float /
-                    (expression float + (constant float (1)) (var_ref x))
-                    (expression float - (constant float (1)) (var_ref x))))))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 x))
-     ((return (expression vec2 * (constant float (0.5))
-                (expression vec2 log
-		  (expression vec2 /
-                    (expression vec2 + (constant float (1)) (var_ref x))
-                    (expression vec2 - (constant float (1)) (var_ref x))))))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 x))
-     ((return (expression vec3 * (constant float (0.5))
-                (expression vec3 log
-		  (expression vec3 /
-                    (expression vec3 + (constant float (1)) (var_ref x))
-                    (expression vec3 - (constant float (1)) (var_ref x))))))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 x))
-     ((return (expression vec4 * (constant float (0.5))
-                (expression vec4 log
-		  (expression vec4 /
-                    (expression vec4 + (constant float (1)) (var_ref x))
-                    (expression vec4 - (constant float (1)) (var_ref x))))))))
-))
diff --git a/src/glsl/builtins/ir/bitCount.ir b/src/glsl/builtins/ir/bitCount.ir
deleted file mode 100644
index 71fcae2..0000000
--- a/src/glsl/builtins/ir/bitCount.ir
+++ /dev/null
@@ -1,41 +0,0 @@
-((function bitCount
-   (signature int
-     (parameters
-       (declare (in) int value))
-     ((return (expression int bit_count (var_ref value)))))
-
-   (signature ivec2
-     (parameters
-       (declare (in) ivec2 value))
-     ((return (expression ivec2 bit_count (var_ref value)))))
-
-   (signature ivec3
-     (parameters
-       (declare (in) ivec3 value))
-     ((return (expression ivec3 bit_count (var_ref value)))))
-
-   (signature ivec4
-     (parameters
-       (declare (in) ivec4 value))
-     ((return (expression ivec4 bit_count (var_ref value)))))
-
-   (signature int
-     (parameters
-       (declare (in) uint value))
-     ((return (expression int bit_count (var_ref value)))))
-
-   (signature ivec2
-     (parameters
-       (declare (in) uvec2 value))
-     ((return (expression ivec2 bit_count (var_ref value)))))
-
-   (signature ivec3
-     (parameters
-       (declare (in) uvec3 value))
-     ((return (expression ivec3 bit_count (var_ref value)))))
-
-   (signature ivec4
-     (parameters
-       (declare (in) uvec4 value))
-     ((return (expression ivec4 bit_count (var_ref value)))))
-))
diff --git a/src/glsl/builtins/ir/bitfieldExtract.ir b/src/glsl/builtins/ir/bitfieldExtract.ir
deleted file mode 100644
index 0491c82..0000000
--- a/src/glsl/builtins/ir/bitfieldExtract.ir
+++ /dev/null
@@ -1,57 +0,0 @@
-((function bitfieldExtract
-   (signature int
-     (parameters
-       (declare (in) int value)
-       (declare (in) int offset)
-       (declare (in) int bits))
-     ((return (expression int bitfield_extract (var_ref value) (var_ref offset) (var_ref bits)))))
-
-   (signature ivec2
-     (parameters
-       (declare (in) ivec2 value)
-       (declare (in) int offset)
-       (declare (in) int bits))
-     ((return (expression ivec2 bitfield_extract (var_ref value) (var_ref offset) (var_ref bits)))))
-
-   (signature ivec3
-     (parameters
-       (declare (in) ivec3 value)
-       (declare (in) int offset)
-       (declare (in) int bits))
-     ((return (expression ivec3 bitfield_extract (var_ref value) (var_ref offset) (var_ref bits)))))
-
-   (signature ivec4
-     (parameters
-       (declare (in) ivec4 value)
-       (declare (in) int offset)
-       (declare (in) int bits))
-     ((return (expression ivec4 bitfield_extract (var_ref value) (var_ref offset) (var_ref bits)))))
-
-   (signature uint
-     (parameters
-       (declare (in) uint value)
-       (declare (in) int offset)
-       (declare (in) int bits))
-     ((return (expression uint bitfield_extract (var_ref value) (var_ref offset) (var_ref bits)))))
-
-   (signature uvec2
-     (parameters
-       (declare (in) uvec2 value)
-       (declare (in) int offset)
-       (declare (in) int bits))
-     ((return (expression uvec2 bitfield_extract (var_ref value) (var_ref offset) (var_ref bits)))))
-
-   (signature uvec3
-     (parameters
-       (declare (in) uvec3 value)
-       (declare (in) int offset)
-       (declare (in) int bits))
-     ((return (expression uvec3 bitfield_extract (var_ref value) (var_ref offset) (var_ref bits)))))
-
-   (signature uvec4
-     (parameters
-       (declare (in) uvec4 value)
-       (declare (in) int offset)
-       (declare (in) int bits))
-     ((return (expression uvec4 bitfield_extract (var_ref value) (var_ref offset) (var_ref bits)))))
-))
diff --git a/src/glsl/builtins/ir/bitfieldInsert.ir b/src/glsl/builtins/ir/bitfieldInsert.ir
deleted file mode 100644
index 2bb4442..0000000
--- a/src/glsl/builtins/ir/bitfieldInsert.ir
+++ /dev/null
@@ -1,65 +0,0 @@
-((function bitfieldInsert
-   (signature int
-     (parameters
-       (declare (in) int base)
-       (declare (in) int insert)
-       (declare (in) int offset)
-       (declare (in) int bits))
-     ((return (expression int bitfield_insert (var_ref base) (var_ref insert) (var_ref offset) (var_ref bits)))))
-
-   (signature ivec2
-     (parameters
-       (declare (in) ivec2 base)
-       (declare (in) ivec2 insert)
-       (declare (in) int offset)
-       (declare (in) int bits))
-     ((return (expression ivec2 bitfield_insert (var_ref base) (var_ref insert) (var_ref offset) (var_ref bits)))))
-
-   (signature ivec3
-     (parameters
-       (declare (in) ivec3 base)
-       (declare (in) ivec3 insert)
-       (declare (in) int offset)
-       (declare (in) int bits))
-     ((return (expression ivec3 bitfield_insert (var_ref base) (var_ref insert) (var_ref offset) (var_ref bits)))))
-
-   (signature ivec4
-     (parameters
-       (declare (in) ivec4 base)
-       (declare (in) ivec4 insert)
-       (declare (in) int offset)
-       (declare (in) int bits))
-     ((return (expression ivec4 bitfield_insert (var_ref base) (var_ref insert) (var_ref offset) (var_ref bits)))))
-
-   (signature uint
-     (parameters
-       (declare (in) uint base)
-       (declare (in) uint insert)
-       (declare (in) int offset)
-       (declare (in) int bits))
-     ((return (expression uint bitfield_insert (var_ref base) (var_ref insert) (var_ref offset) (var_ref bits)))))
-
-   (signature uvec2
-     (parameters
-       (declare (in) uvec2 base)
-       (declare (in) uvec2 insert)
-       (declare (in) int offset)
-       (declare (in) int bits))
-     ((return (expression uvec2 bitfield_insert (var_ref base) (var_ref insert) (var_ref offset) (var_ref bits)))))
-
-   (signature uvec3
-     (parameters
-       (declare (in) uvec3 base)
-       (declare (in) uvec3 insert)
-       (declare (in) int offset)
-       (declare (in) int bits))
-     ((return (expression uvec3 bitfield_insert (var_ref base) (var_ref insert) (var_ref offset) (var_ref bits)))))
-
-   (signature uvec4
-     (parameters
-       (declare (in) uvec4 base)
-       (declare (in) uvec4 insert)
-       (declare (in) int offset)
-       (declare (in) int bits))
-     ((return (expression uvec4 bitfield_insert (var_ref base) (var_ref insert) (var_ref offset) (var_ref bits)))))
-))
diff --git a/src/glsl/builtins/ir/bitfieldReverse.ir b/src/glsl/builtins/ir/bitfieldReverse.ir
deleted file mode 100644
index f05c119..0000000
--- a/src/glsl/builtins/ir/bitfieldReverse.ir
+++ /dev/null
@@ -1,41 +0,0 @@
-((function bitfieldReverse
-   (signature int
-     (parameters
-       (declare (in) int value))
-     ((return (expression int bitfield_reverse (var_ref value)))))
-
-   (signature ivec2
-     (parameters
-       (declare (in) ivec2 value))
-     ((return (expression ivec2 bitfield_reverse (var_ref value)))))
-
-   (signature ivec3
-     (parameters
-       (declare (in) ivec3 value))
-     ((return (expression ivec3 bitfield_reverse (var_ref value)))))
-
-   (signature ivec4
-     (parameters
-       (declare (in) ivec4 value))
-     ((return (expression ivec4 bitfield_reverse (var_ref value)))))
-
-   (signature uint
-     (parameters
-       (declare (in) uint value))
-     ((return (expression uint bitfield_reverse (var_ref value)))))
-
-   (signature uvec2
-     (parameters
-       (declare (in) uvec2 value))
-     ((return (expression uvec2 bitfield_reverse (var_ref value)))))
-
-   (signature uvec3
-     (parameters
-       (declare (in) uvec3 value))
-     ((return (expression uvec3 bitfield_reverse (var_ref value)))))
-
-   (signature uvec4
-     (parameters
-       (declare (in) uvec4 value))
-     ((return (expression uvec4 bitfield_reverse (var_ref value)))))
-))
diff --git a/src/glsl/builtins/ir/ceil.ir b/src/glsl/builtins/ir/ceil.ir
deleted file mode 100644
index a26a775..0000000
--- a/src/glsl/builtins/ir/ceil.ir
+++ /dev/null
@@ -1,21 +0,0 @@
-((function ceil
-   (signature float
-     (parameters
-       (declare (in) float arg0))
-     ((return (expression float ceil (var_ref arg0)))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 arg0))
-     ((return (expression vec2 ceil (var_ref arg0)))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 arg0))
-     ((return (expression vec3 ceil (var_ref arg0)))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 arg0))
-     ((return (expression vec4 ceil (var_ref arg0)))))
-))
diff --git a/src/glsl/builtins/ir/clamp.ir b/src/glsl/builtins/ir/clamp.ir
deleted file mode 100644
index 2bdc466..0000000
--- a/src/glsl/builtins/ir/clamp.ir
+++ /dev/null
@@ -1,148 +0,0 @@
-((function clamp
-   (signature float
-     (parameters
-       (declare (in) float arg0)
-       (declare (in) float arg1)
-       (declare (in) float arg2))
-     ((return (expression float max (expression float min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 arg0)
-       (declare (in) vec2 arg1)
-       (declare (in) vec2 arg2))
-     ((return (expression vec2 max (expression vec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 arg0)
-       (declare (in) vec3 arg1)
-       (declare (in) vec3 arg2))
-     ((return (expression vec3 max (expression vec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 arg0)
-       (declare (in) vec4 arg1)
-       (declare (in) vec4 arg2))
-     ((return (expression vec4 max (expression vec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2  arg0)
-       (declare (in) float arg1)
-       (declare (in) float arg2))
-     ((return (expression vec2 max (expression vec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3  arg0)
-       (declare (in) float arg1)
-       (declare (in) float arg2))
-     ((return (expression vec3 max (expression vec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4  arg0)
-       (declare (in) float arg1)
-       (declare (in) float arg2))
-     ((return (expression vec4 max (expression vec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))
-
-   (signature int
-     (parameters
-       (declare (in) int arg0)
-       (declare (in) int arg1)
-       (declare (in) int arg2))
-     ((return (expression int max (expression int min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))
-
-   (signature ivec2
-     (parameters
-       (declare (in) ivec2 arg0)
-       (declare (in) ivec2 arg1)
-       (declare (in) ivec2 arg2))
-     ((return (expression ivec2 max (expression ivec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))
-
-   (signature ivec3
-     (parameters
-       (declare (in) ivec3 arg0)
-       (declare (in) ivec3 arg1)
-       (declare (in) ivec3 arg2))
-     ((return (expression ivec3 max (expression ivec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))
-
-   (signature ivec4
-     (parameters
-       (declare (in) ivec4 arg0)
-       (declare (in) ivec4 arg1)
-       (declare (in) ivec4 arg2))
-     ((return (expression ivec4 max (expression ivec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))
-
-   (signature ivec2
-     (parameters
-       (declare (in) ivec2 arg0)
-       (declare (in) int arg1)
-       (declare (in) int arg2))
-     ((return (expression ivec2 max (expression ivec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))
-
-   (signature ivec3
-     (parameters
-       (declare (in) ivec3 arg0)
-       (declare (in) int arg1)
-       (declare (in) int arg2))
-     ((return (expression ivec3 max (expression ivec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))
-
-   (signature ivec4
-     (parameters
-       (declare (in) ivec4 arg0)
-       (declare (in) int arg1)
-       (declare (in) int arg2))
-     ((return (expression ivec4 max (expression ivec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))
-
-   (signature uint
-     (parameters
-       (declare (in) uint arg0)
-       (declare (in) uint arg1)
-       (declare (in) uint arg2))
-     ((return (expression uint max (expression uint min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))
-
-   (signature uvec2
-     (parameters
-       (declare (in) uvec2 arg0)
-       (declare (in) uvec2 arg1)
-       (declare (in) uvec2 arg2))
-     ((return (expression uvec2 max (expression uvec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))
-
-   (signature uvec3
-     (parameters
-       (declare (in) uvec3 arg0)
-       (declare (in) uvec3 arg1)
-       (declare (in) uvec3 arg2))
-     ((return (expression uvec3 max (expression uvec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))
-
-   (signature uvec4
-     (parameters
-       (declare (in) uvec4 arg0)
-       (declare (in) uvec4 arg1)
-       (declare (in) uvec4 arg2))
-     ((return (expression uvec4 max (expression uvec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))
-
-   (signature uvec2
-     (parameters
-       (declare (in) uvec2 arg0)
-       (declare (in) uint arg1)
-       (declare (in) uint arg2))
-     ((return (expression uvec2 max (expression uvec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))
-
-   (signature uvec3
-     (parameters
-       (declare (in) uvec3 arg0)
-       (declare (in) uint arg1)
-       (declare (in) uint arg2))
-     ((return (expression uvec3 max (expression uvec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))
-
-   (signature uvec4
-     (parameters
-       (declare (in) uvec4 arg0)
-       (declare (in) uint arg1)
-       (declare (in) uint arg2))
-     ((return (expression uvec4 max (expression uvec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))
-))
diff --git a/src/glsl/builtins/ir/cos.ir b/src/glsl/builtins/ir/cos.ir
deleted file mode 100644
index 88f266e..0000000
--- a/src/glsl/builtins/ir/cos.ir
+++ /dev/null
@@ -1,21 +0,0 @@
-((function cos
-   (signature float
-     (parameters
-       (declare (in) float angle))
-     ((return (expression float cos (var_ref angle)))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 angle))
-     ((return (expression vec2 cos (var_ref angle)))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 angle))
-     ((return (expression vec3 cos (var_ref angle)))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 angle))
-     ((return (expression vec4 cos (var_ref angle)))))
-))
diff --git a/src/glsl/builtins/ir/cosh.ir b/src/glsl/builtins/ir/cosh.ir
deleted file mode 100644
index 9457431..0000000
--- a/src/glsl/builtins/ir/cosh.ir
+++ /dev/null
@@ -1,30 +0,0 @@
-((function cosh
-   (signature float
-     (parameters
-       (declare (in) float x))
-     ((return (expression float * (constant float (0.5))
-                (expression float +
-		  (expression float exp (var_ref x))
-		  (expression float exp (expression float neg (var_ref x))))))))
-   (signature vec2
-     (parameters
-       (declare (in) vec2 x))
-     ((return (expression vec2 * (constant float (0.5))
-                (expression vec2 +
-		  (expression vec2 exp (var_ref x))
-		  (expression vec2 exp (expression vec2 neg (var_ref x))))))))
-   (signature vec3
-     (parameters
-       (declare (in) vec3 x))
-     ((return (expression vec3 * (constant float (0.5))
-                (expression vec3 +
-		  (expression vec3 exp (var_ref x))
-		  (expression vec3 exp (expression vec3 neg (var_ref x))))))))
-   (signature vec4
-     (parameters
-       (declare (in) vec4 x))
-     ((return (expression vec4 * (constant float (0.5))
-                (expression vec4 +
-		  (expression vec4 exp (var_ref x))
-		  (expression vec4 exp (expression vec4 neg (var_ref x))))))))
-))
diff --git a/src/glsl/builtins/ir/cross.ir b/src/glsl/builtins/ir/cross.ir
deleted file mode 100644
index 02991fe..0000000
--- a/src/glsl/builtins/ir/cross.ir
+++ /dev/null
@@ -1,9 +0,0 @@
-((function cross
-   (signature vec3
-     (parameters
-       (declare (in) vec3 a)
-       (declare (in) vec3 b))
-     ((return (expression vec3 -
-        (expression vec3 * (swiz yzx (var_ref a)) (swiz zxy (var_ref b)))
-        (expression vec3 * (swiz zxy (var_ref a)) (swiz yzx (var_ref b)))))))
-))
diff --git a/src/glsl/builtins/ir/dFdx.ir b/src/glsl/builtins/ir/dFdx.ir
deleted file mode 100644
index 30594d3..0000000
--- a/src/glsl/builtins/ir/dFdx.ir
+++ /dev/null
@@ -1,21 +0,0 @@
-((function dFdx
-   (signature float
-     (parameters
-       (declare (in) float p))
-     ((return (expression float dFdx (var_ref p)))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 p))
-     ((return (expression vec2 dFdx (var_ref p)))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 p))
-     ((return (expression vec3 dFdx (var_ref p)))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 p))
-     ((return (expression vec4 dFdx (var_ref p)))))
-))
diff --git a/src/glsl/builtins/ir/dFdy.ir b/src/glsl/builtins/ir/dFdy.ir
deleted file mode 100644
index fb5798d..0000000
--- a/src/glsl/builtins/ir/dFdy.ir
+++ /dev/null
@@ -1,21 +0,0 @@
-((function dFdy
-   (signature float
-     (parameters
-       (declare (in) float p))
-     ((return (expression float dFdy (var_ref p)))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 p))
-     ((return (expression vec2 dFdy (var_ref p)))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 p))
-     ((return (expression vec3 dFdy (var_ref p)))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 p))
-     ((return (expression vec4 dFdy (var_ref p)))))
-))
diff --git a/src/glsl/builtins/ir/degrees.ir b/src/glsl/builtins/ir/degrees.ir
deleted file mode 100644
index dc0d7b9..0000000
--- a/src/glsl/builtins/ir/degrees.ir
+++ /dev/null
@@ -1,21 +0,0 @@
-((function degrees
-   (signature float
-     (parameters
-       (declare (in) float arg0))
-     ((return (expression float * (var_ref arg0) (constant float (57.295780))))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 arg0))
-     ((return (expression vec2 * (var_ref arg0) (constant float (57.295780))))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 arg0))
-     ((return (expression vec3 * (var_ref arg0) (constant float (57.295780))))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 arg0))
-     ((return (expression vec4 * (var_ref arg0) (constant float (57.295780))))))
-))
diff --git a/src/glsl/builtins/ir/distance.ir b/src/glsl/builtins/ir/distance.ir
deleted file mode 100644
index c249f8c..0000000
--- a/src/glsl/builtins/ir/distance.ir
+++ /dev/null
@@ -1,31 +0,0 @@
-((function distance
-   (signature float
-     (parameters
-       (declare (in) float p0)
-       (declare (in) float p1))
-     ((return (expression float abs (expression float - (var_ref p0) (var_ref p1))))))
-
-   (signature float
-     (parameters
-       (declare (in) vec2 p0)
-       (declare (in) vec2 p1))
-     ((declare () vec2 p)
-      (assign (xy) (var_ref p) (expression vec2 - (var_ref p0) (var_ref p1)))
-      (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))
-
-   (signature float
-     (parameters
-       (declare (in) vec3 p0)
-       (declare (in) vec3 p1))
-     ((declare () vec3 p)
-      (assign (xyz) (var_ref p) (expression vec3 - (var_ref p0) (var_ref p1)))
-      (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))
-
-   (signature float
-     (parameters
-       (declare (in) vec4 p0)
-       (declare (in) vec4 p1))
-     ((declare () vec4 p)
-      (assign (xyzw) (var_ref p) (expression vec4 - (var_ref p0) (var_ref p1)))
-      (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))
-))
diff --git a/src/glsl/builtins/ir/dot.ir b/src/glsl/builtins/ir/dot.ir
deleted file mode 100644
index 1f27f32..0000000
--- a/src/glsl/builtins/ir/dot.ir
+++ /dev/null
@@ -1,25 +0,0 @@
-((function dot
-   (signature float
-     (parameters
-       (declare (in) float arg0)
-       (declare (in) float arg1))
-     ((return (expression float * (var_ref arg0) (var_ref arg1)))))
-
-   (signature float
-     (parameters
-       (declare (in) vec2 arg0)
-       (declare (in) vec2 arg1))
-     ((return (expression float dot (var_ref arg0) (var_ref arg1)))))
-
-   (signature float
-     (parameters
-       (declare (in) vec3 arg0)
-       (declare (in) vec3 arg1))
-     ((return (expression float dot (var_ref arg0) (var_ref arg1)))))
-
-   (signature float
-     (parameters
-       (declare (in) vec4 arg0)
-       (declare (in) vec4 arg1))
-     ((return (expression float dot (var_ref arg0) (var_ref arg1)))))
-))
diff --git a/src/glsl/builtins/ir/equal.ir b/src/glsl/builtins/ir/equal.ir
deleted file mode 100644
index a414b3e..0000000
--- a/src/glsl/builtins/ir/equal.ir
+++ /dev/null
@@ -1,73 +0,0 @@
-((function equal
-   (signature bvec2
-     (parameters
-       (declare (in) vec2 arg0)
-       (declare (in) vec2 arg1))
-     ((return (expression bvec2 == (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec3
-     (parameters
-       (declare (in) vec3 arg0)
-       (declare (in) vec3 arg1))
-     ((return (expression bvec3 == (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec4
-     (parameters
-       (declare (in) vec4 arg0)
-       (declare (in) vec4 arg1))
-     ((return (expression bvec4 == (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec2
-     (parameters
-       (declare (in) bvec2 arg0)
-       (declare (in) bvec2 arg1))
-     ((return (expression bvec2 == (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec3
-     (parameters
-       (declare (in) bvec3 arg0)
-       (declare (in) bvec3 arg1))
-     ((return (expression bvec3 == (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec4
-     (parameters
-       (declare (in) bvec4 arg0)
-       (declare (in) bvec4 arg1))
-     ((return (expression bvec4 == (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec2
-     (parameters
-       (declare (in) ivec2 arg0)
-       (declare (in) ivec2 arg1))
-     ((return (expression bvec2 == (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec3
-     (parameters
-       (declare (in) ivec3 arg0)
-       (declare (in) ivec3 arg1))
-     ((return (expression bvec3 == (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec4
-     (parameters
-       (declare (in) ivec4 arg0)
-       (declare (in) ivec4 arg1))
-     ((return (expression bvec4 == (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec2
-     (parameters
-       (declare (in) uvec2 arg0)
-       (declare (in) uvec2 arg1))
-     ((return (expression bvec2 == (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec3
-     (parameters
-       (declare (in) uvec3 arg0)
-       (declare (in) uvec3 arg1))
-     ((return (expression bvec3 == (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec4
-     (parameters
-       (declare (in) uvec4 arg0)
-       (declare (in) uvec4 arg1))
-     ((return (expression bvec4 == (var_ref arg0) (var_ref arg1)))))
-))
diff --git a/src/glsl/builtins/ir/exp.ir b/src/glsl/builtins/ir/exp.ir
deleted file mode 100644
index a73bd6a..0000000
--- a/src/glsl/builtins/ir/exp.ir
+++ /dev/null
@@ -1,21 +0,0 @@
-((function exp
-   (signature float
-     (parameters
-       (declare (in) float arg0))
-     ((return (expression float exp (var_ref arg0)))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 arg0))
-     ((return (expression vec2 exp (var_ref arg0)))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 arg0))
-     ((return (expression vec3 exp (var_ref arg0)))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 arg0))
-     ((return (expression vec4 exp (var_ref arg0)))))
-))
diff --git a/src/glsl/builtins/ir/exp2.ir b/src/glsl/builtins/ir/exp2.ir
deleted file mode 100644
index a842d3f..0000000
--- a/src/glsl/builtins/ir/exp2.ir
+++ /dev/null
@@ -1,21 +0,0 @@
-((function exp2
-   (signature float
-     (parameters
-       (declare (in) float arg0))
-     ((return (expression float exp2 (var_ref arg0)))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 arg0))
-     ((return (expression vec2 exp2 (var_ref arg0)))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 arg0))
-     ((return (expression vec3 exp2 (var_ref arg0)))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 arg0))
-     ((return (expression vec4 exp2 (var_ref arg0)))))
-))
diff --git a/src/glsl/builtins/ir/faceforward.ir b/src/glsl/builtins/ir/faceforward.ir
deleted file mode 100644
index 35b7957..0000000
--- a/src/glsl/builtins/ir/faceforward.ir
+++ /dev/null
@@ -1,37 +0,0 @@
-((function faceforward
-   (signature float
-     (parameters
-       (declare (in) float N)
-       (declare (in) float I)
-       (declare (in) float Nref))
-     ((if (expression bool < (expression float * (var_ref Nref) (var_ref I)) (constant float (0)))
-          ((return (var_ref N)))
-	  ((return (expression float neg (var_ref N)))))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 N)
-       (declare (in) vec2 I)
-       (declare (in) vec2 Nref))
-     ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))
-          ((return (var_ref N)))
-	  ((return (expression vec2 neg (var_ref N)))))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 N)
-       (declare (in) vec3 I)
-       (declare (in) vec3 Nref))
-     ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))
-          ((return (var_ref N)))
-	  ((return (expression vec3 neg (var_ref N)))))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 N)
-       (declare (in) vec4 I)
-       (declare (in) vec4 Nref))
-     ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))
-          ((return (var_ref N)))
-	  ((return (expression vec4 neg (var_ref N)))))))
-))
diff --git a/src/glsl/builtins/ir/findLSB.ir b/src/glsl/builtins/ir/findLSB.ir
deleted file mode 100644
index 2ddbb7f..0000000
--- a/src/glsl/builtins/ir/findLSB.ir
+++ /dev/null
@@ -1,41 +0,0 @@
-((function findLSB
-   (signature int
-     (parameters
-       (declare (in) int value))
-     ((return (expression int find_lsb (var_ref value)))))
-
-   (signature ivec2
-     (parameters
-       (declare (in) ivec2 value))
-     ((return (expression ivec2 find_lsb (var_ref value)))))
-
-   (signature ivec3
-     (parameters
-       (declare (in) ivec3 value))
-     ((return (expression ivec3 find_lsb (var_ref value)))))
-
-   (signature ivec4
-     (parameters
-       (declare (in) ivec4 value))
-     ((return (expression ivec4 find_lsb (var_ref value)))))
-
-   (signature int
-     (parameters
-       (declare (in) uint value))
-     ((return (expression int find_lsb (var_ref value)))))
-
-   (signature ivec2
-     (parameters
-       (declare (in) uvec2 value))
-     ((return (expression ivec2 find_lsb (var_ref value)))))
-
-   (signature ivec3
-     (parameters
-       (declare (in) uvec3 value))
-     ((return (expression ivec3 find_lsb (var_ref value)))))
-
-   (signature ivec4
-     (parameters
-       (declare (in) uvec4 value))
-     ((return (expression ivec4 find_lsb (var_ref value)))))
-))
diff --git a/src/glsl/builtins/ir/findMSB.ir b/src/glsl/builtins/ir/findMSB.ir
deleted file mode 100644
index 24e270f..0000000
--- a/src/glsl/builtins/ir/findMSB.ir
+++ /dev/null
@@ -1,41 +0,0 @@
-((function findMSB
-   (signature int
-     (parameters
-       (declare (in) int value))
-     ((return (expression int find_msb (var_ref value)))))
-
-   (signature ivec2
-     (parameters
-       (declare (in) ivec2 value))
-     ((return (expression ivec2 find_msb (var_ref value)))))
-
-   (signature ivec3
-     (parameters
-       (declare (in) ivec3 value))
-     ((return (expression ivec3 find_msb (var_ref value)))))
-
-   (signature ivec4
-     (parameters
-       (declare (in) ivec4 value))
-     ((return (expression ivec4 find_msb (var_ref value)))))
-
-   (signature int
-     (parameters
-       (declare (in) uint value))
-     ((return (expression int find_msb (var_ref value)))))
-
-   (signature ivec2
-     (parameters
-       (declare (in) uvec2 value))
-     ((return (expression ivec2 find_msb (var_ref value)))))
-
-   (signature ivec3
-     (parameters
-       (declare (in) uvec3 value))
-     ((return (expression ivec3 find_msb (var_ref value)))))
-
-   (signature ivec4
-     (parameters
-       (declare (in) uvec4 value))
-     ((return (expression ivec4 find_msb (var_ref value)))))
-))
diff --git a/src/glsl/builtins/ir/floatBitsToInt.ir b/src/glsl/builtins/ir/floatBitsToInt.ir
deleted file mode 100644
index a5db4b3..0000000
--- a/src/glsl/builtins/ir/floatBitsToInt.ir
+++ /dev/null
@@ -1,21 +0,0 @@
-((function floatBitsToInt
-   (signature int
-     (parameters
-       (declare (in) float arg))
-     ((return (expression int bitcast_f2i (var_ref arg)))))
-
-   (signature ivec2
-     (parameters
-       (declare (in) vec2 arg))
-     ((return (expression ivec2 bitcast_f2i (var_ref arg)))))
-
-   (signature ivec3
-     (parameters
-       (declare (in) vec3 arg))
-     ((return (expression ivec3 bitcast_f2i (var_ref arg)))))
-
-   (signature ivec4
-     (parameters
-       (declare (in) vec4 arg))
-     ((return (expression ivec4 bitcast_f2i (var_ref arg)))))
-))
diff --git a/src/glsl/builtins/ir/floatBitsToUint.ir b/src/glsl/builtins/ir/floatBitsToUint.ir
deleted file mode 100644
index 09463bd..0000000
--- a/src/glsl/builtins/ir/floatBitsToUint.ir
+++ /dev/null
@@ -1,21 +0,0 @@
-((function floatBitsToUint
-   (signature uint
-     (parameters
-       (declare (in) float arg))
-     ((return (expression uint bitcast_f2u (var_ref arg)))))
-
-   (signature uvec2
-     (parameters
-       (declare (in) vec2 arg))
-     ((return (expression uvec2 bitcast_f2u (var_ref arg)))))
-
-   (signature uvec3
-     (parameters
-       (declare (in) vec3 arg))
-     ((return (expression uvec3 bitcast_f2u (var_ref arg)))))
-
-   (signature uvec4
-     (parameters
-       (declare (in) vec4 arg))
-     ((return (expression uvec4 bitcast_f2u (var_ref arg)))))
-))
diff --git a/src/glsl/builtins/ir/floor.ir b/src/glsl/builtins/ir/floor.ir
deleted file mode 100644
index 8dd8052..0000000
--- a/src/glsl/builtins/ir/floor.ir
+++ /dev/null
@@ -1,21 +0,0 @@
-((function floor
-   (signature float
-     (parameters
-       (declare (in) float arg0))
-     ((return (expression float floor (var_ref arg0)))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 arg0))
-     ((return (expression vec2 floor (var_ref arg0)))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 arg0))
-     ((return (expression vec3 floor (var_ref arg0)))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 arg0))
-     ((return (expression vec4 floor (var_ref arg0)))))
-))
diff --git a/src/glsl/builtins/ir/fma.ir b/src/glsl/builtins/ir/fma.ir
deleted file mode 100644
index c369563..0000000
--- a/src/glsl/builtins/ir/fma.ir
+++ /dev/null
@@ -1,29 +0,0 @@
-((function fma
-   (signature float
-     (parameters
-       (declare (in) float a)
-       (declare (in) float b)
-       (declare (in) float c))
-     ((return (expression float fma (var_ref a) (var_ref b) (var_ref c)))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 a)
-       (declare (in) vec2 b)
-       (declare (in) vec2 c))
-     ((return (expression vec2 fma (var_ref a) (var_ref b) (var_ref c)))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 a)
-       (declare (in) vec3 b)
-       (declare (in) vec3 c))
-     ((return (expression vec3 fma (var_ref a) (var_ref b) (var_ref c)))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 a)
-       (declare (in) vec4 b)
-       (declare (in) vec4 c))
-     ((return (expression vec4 fma (var_ref a) (var_ref b) (var_ref c)))))
-))
diff --git a/src/glsl/builtins/ir/fract.ir b/src/glsl/builtins/ir/fract.ir
deleted file mode 100644
index 3f0763d..0000000
--- a/src/glsl/builtins/ir/fract.ir
+++ /dev/null
@@ -1,22 +0,0 @@
-((function fract
-   (signature float
-     (parameters
-       (declare (in) float x))
-     ((return (expression float fract (var_ref x)))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 x))
-     ((return (expression vec2 fract (var_ref x)))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 x))
-     ((return (expression vec3 fract (var_ref x)))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 x))
-     ((return (expression vec4 fract (var_ref x)))))
-))
-
diff --git a/src/glsl/builtins/ir/ftransform.ir b/src/glsl/builtins/ir/ftransform.ir
deleted file mode 100644
index 9ca63dc..0000000
--- a/src/glsl/builtins/ir/ftransform.ir
+++ /dev/null
@@ -1,9 +0,0 @@
-((declare (uniform) mat4 gl_ModelViewProjectionMatrix)
- (declare (in) vec4 gl_Vertex)
- (function ftransform
-   (signature vec4
-     (parameters)
-    ((return (expression vec4 *
-	      (var_ref gl_ModelViewProjectionMatrix)
-	      (var_ref gl_Vertex)))))
-))
diff --git a/src/glsl/builtins/ir/fwidth.ir b/src/glsl/builtins/ir/fwidth.ir
deleted file mode 100644
index 385e05d..0000000
--- a/src/glsl/builtins/ir/fwidth.ir
+++ /dev/null
@@ -1,29 +0,0 @@
-((function fwidth
-   (signature float
-     (parameters
-       (declare (in) float p))
-     ((return (expression float +
-                (expression float abs (expression float dFdx (var_ref p)))
-                (expression float abs (expression float dFdy (var_ref p)))))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 p))
-     ((return (expression vec2 +
-                (expression vec2 abs (expression vec2 dFdx (var_ref p)))
-                (expression vec2 abs (expression vec2 dFdy (var_ref p)))))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 p))
-     ((return (expression vec3 +
-                (expression vec3 abs (expression vec3 dFdx (var_ref p)))
-                (expression vec3 abs (expression vec3 dFdy (var_ref p)))))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 p))
-     ((return (expression vec4 +
-                (expression vec4 abs (expression vec4 dFdx (var_ref p)))
-                (expression vec4 abs (expression vec4 dFdy (var_ref p)))))))
-))
diff --git a/src/glsl/builtins/ir/greaterThan.ir b/src/glsl/builtins/ir/greaterThan.ir
deleted file mode 100644
index 18af865..0000000
--- a/src/glsl/builtins/ir/greaterThan.ir
+++ /dev/null
@@ -1,55 +0,0 @@
-((function greaterThan
-   (signature bvec2
-     (parameters
-       (declare (in) vec2 arg0)
-       (declare (in) vec2 arg1))
-     ((return (expression bvec2 > (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec3
-     (parameters
-       (declare (in) vec3 arg0)
-       (declare (in) vec3 arg1))
-     ((return (expression bvec3 > (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec4
-     (parameters
-       (declare (in) vec4 arg0)
-       (declare (in) vec4 arg1))
-     ((return (expression bvec4 > (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec2
-     (parameters
-       (declare (in) ivec2 arg0)
-       (declare (in) ivec2 arg1))
-     ((return (expression bvec2 > (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec3
-     (parameters
-       (declare (in) ivec3 arg0)
-       (declare (in) ivec3 arg1))
-     ((return (expression bvec3 > (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec4
-     (parameters
-       (declare (in) ivec4 arg0)
-       (declare (in) ivec4 arg1))
-     ((return (expression bvec4 > (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec2
-     (parameters
-       (declare (in) uvec2 arg0)
-       (declare (in) uvec2 arg1))
-     ((return (expression bvec2 > (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec3
-     (parameters
-       (declare (in) uvec3 arg0)
-       (declare (in) uvec3 arg1))
-     ((return (expression bvec3 > (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec4
-     (parameters
-       (declare (in) uvec4 arg0)
-       (declare (in) uvec4 arg1))
-     ((return (expression bvec4 > (var_ref arg0) (var_ref arg1)))))
-))
diff --git a/src/glsl/builtins/ir/greaterThanEqual.ir b/src/glsl/builtins/ir/greaterThanEqual.ir
deleted file mode 100644
index 6d3bc89..0000000
--- a/src/glsl/builtins/ir/greaterThanEqual.ir
+++ /dev/null
@@ -1,55 +0,0 @@
-((function greaterThanEqual
-   (signature bvec2
-     (parameters
-       (declare (in) vec2 arg0)
-       (declare (in) vec2 arg1))
-     ((return (expression bvec2 >= (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec3
-     (parameters
-       (declare (in) vec3 arg0)
-       (declare (in) vec3 arg1))
-     ((return (expression bvec3 >= (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec4
-     (parameters
-       (declare (in) vec4 arg0)
-       (declare (in) vec4 arg1))
-     ((return (expression bvec4 >= (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec2
-     (parameters
-       (declare (in) ivec2 arg0)
-       (declare (in) ivec2 arg1))
-     ((return (expression bvec2 >= (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec3
-     (parameters
-       (declare (in) ivec3 arg0)
-       (declare (in) ivec3 arg1))
-     ((return (expression bvec3 >= (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec4
-     (parameters
-       (declare (in) ivec4 arg0)
-       (declare (in) ivec4 arg1))
-     ((return (expression bvec4 >= (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec2
-     (parameters
-       (declare (in) uvec2 arg0)
-       (declare (in) uvec2 arg1))
-     ((return (expression bvec2 >= (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec3
-     (parameters
-       (declare (in) uvec3 arg0)
-       (declare (in) uvec3 arg1))
-     ((return (expression bvec3 >= (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec4
-     (parameters
-       (declare (in) uvec4 arg0)
-       (declare (in) uvec4 arg1))
-     ((return (expression bvec4 >= (var_ref arg0) (var_ref arg1)))))
-))
diff --git a/src/glsl/builtins/ir/intBitsToFloat.ir b/src/glsl/builtins/ir/intBitsToFloat.ir
deleted file mode 100644
index cc6aafe..0000000
--- a/src/glsl/builtins/ir/intBitsToFloat.ir
+++ /dev/null
@@ -1,21 +0,0 @@
-((function intBitsToFloat
-   (signature float
-     (parameters
-       (declare (in) int arg))
-     ((return (expression float bitcast_i2f (var_ref arg)))))
-
-   (signature vec2
-     (parameters
-       (declare (in) ivec2 arg))
-     ((return (expression vec2 bitcast_i2f (var_ref arg)))))
-
-   (signature vec3
-     (parameters
-       (declare (in) ivec3 arg))
-     ((return (expression vec3 bitcast_i2f (var_ref arg)))))
-
-   (signature vec4
-     (parameters
-       (declare (in) ivec4 arg))
-     ((return (expression vec4 bitcast_i2f (var_ref arg)))))
-))
diff --git a/src/glsl/builtins/ir/inversesqrt.ir b/src/glsl/builtins/ir/inversesqrt.ir
deleted file mode 100644
index 5b66d2b..0000000
--- a/src/glsl/builtins/ir/inversesqrt.ir
+++ /dev/null
@@ -1,21 +0,0 @@
-((function inversesqrt
-   (signature float
-     (parameters
-       (declare (in) float arg0))
-     ((return (expression float rsq (var_ref arg0)))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 arg0))
-     ((return (expression vec2 rsq (var_ref arg0)))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 arg0))
-     ((return (expression vec3 rsq (var_ref arg0)))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 arg0))
-     ((return (expression vec4 rsq (var_ref arg0)))))
-))
diff --git a/src/glsl/builtins/ir/isinf.ir b/src/glsl/builtins/ir/isinf.ir
deleted file mode 100644
index 92922f6..0000000
--- a/src/glsl/builtins/ir/isinf.ir
+++ /dev/null
@@ -1,17 +0,0 @@
-((function isinf
-   (signature bool
-     (parameters
-       (declare (in) float x))
-     ((return (expression bool == (expression float abs (var_ref x)) (constant float (+INF))))))
-   (signature bvec2
-     (parameters
-       (declare (in) vec2 x))
-     ((return (expression bvec2 == (expression vec2 abs (var_ref x)) (constant vec2 (+INF +INF))))))
-   (signature bvec3
-     (parameters
-       (declare (in) vec3 x))
-     ((return (expression bvec3 == (expression vec3 abs (var_ref x)) (constant vec3 (+INF +INF +INF))))))
-   (signature bvec4
-     (parameters
-       (declare (in) vec4 x))
-     ((return (expression bvec4 == (expression vec4 abs (var_ref x)) (constant vec4 (+INF +INF +INF +INF))))))))
diff --git a/src/glsl/builtins/ir/isnan.ir b/src/glsl/builtins/ir/isnan.ir
deleted file mode 100644
index b67349f..0000000
--- a/src/glsl/builtins/ir/isnan.ir
+++ /dev/null
@@ -1,17 +0,0 @@
-((function isnan
-   (signature bool
-     (parameters
-       (declare (in) float x))
-     ((return (expression bool != (var_ref x) (var_ref x)))))
-   (signature bvec2
-     (parameters
-       (declare (in) vec2 x))
-     ((return (expression bvec2 != (var_ref x) (var_ref x)))))
-   (signature bvec3
-     (parameters
-       (declare (in) vec3 x))
-     ((return (expression bvec3 != (var_ref x) (var_ref x)))))
-   (signature bvec4
-     (parameters
-       (declare (in) vec4 x))
-     ((return (expression bvec4 != (var_ref x) (var_ref x)))))))
diff --git a/src/glsl/builtins/ir/length.ir b/src/glsl/builtins/ir/length.ir
deleted file mode 100644
index b72334e..0000000
--- a/src/glsl/builtins/ir/length.ir
+++ /dev/null
@@ -1,21 +0,0 @@
-((function length
-   (signature float
-     (parameters
-       (declare (in) float arg0))
-     ((return (expression float abs (var_ref arg0)))))
-
-   (signature float
-     (parameters
-       (declare (in) vec2 arg0))
-     ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))
-
-   (signature float
-     (parameters
-       (declare (in) vec3 arg0))
-     ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))
-
-   (signature float
-     (parameters
-       (declare (in) vec4 arg0))
-     ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))
-))
diff --git a/src/glsl/builtins/ir/lessThan.ir b/src/glsl/builtins/ir/lessThan.ir
deleted file mode 100644
index 8401fe9..0000000
--- a/src/glsl/builtins/ir/lessThan.ir
+++ /dev/null
@@ -1,55 +0,0 @@
-((function lessThan
-   (signature bvec2
-     (parameters
-       (declare (in) vec2 arg0)
-       (declare (in) vec2 arg1))
-     ((return (expression bvec2 < (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec3
-     (parameters
-       (declare (in) vec3 arg0)
-       (declare (in) vec3 arg1))
-     ((return (expression bvec3 < (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec4
-     (parameters
-       (declare (in) vec4 arg0)
-       (declare (in) vec4 arg1))
-     ((return (expression bvec4 < (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec2
-     (parameters
-       (declare (in) ivec2 arg0)
-       (declare (in) ivec2 arg1))
-     ((return (expression bvec2 < (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec3
-     (parameters
-       (declare (in) ivec3 arg0)
-       (declare (in) ivec3 arg1))
-     ((return (expression bvec3 < (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec4
-     (parameters
-       (declare (in) ivec4 arg0)
-       (declare (in) ivec4 arg1))
-     ((return (expression bvec4 < (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec2
-     (parameters
-       (declare (in) uvec2 arg0)
-       (declare (in) uvec2 arg1))
-     ((return (expression bvec2 < (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec3
-     (parameters
-       (declare (in) uvec3 arg0)
-       (declare (in) uvec3 arg1))
-     ((return (expression bvec3 < (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec4
-     (parameters
-       (declare (in) uvec4 arg0)
-       (declare (in) uvec4 arg1))
-     ((return (expression bvec4 < (var_ref arg0) (var_ref arg1)))))
-))
diff --git a/src/glsl/builtins/ir/lessThanEqual.ir b/src/glsl/builtins/ir/lessThanEqual.ir
deleted file mode 100644
index c1cdd3f..0000000
--- a/src/glsl/builtins/ir/lessThanEqual.ir
+++ /dev/null
@@ -1,55 +0,0 @@
-((function lessThanEqual
-   (signature bvec2
-     (parameters
-       (declare (in) vec2 arg0)
-       (declare (in) vec2 arg1))
-     ((return (expression bvec2 <= (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec3
-     (parameters
-       (declare (in) vec3 arg0)
-       (declare (in) vec3 arg1))
-     ((return (expression bvec3 <= (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec4
-     (parameters
-       (declare (in) vec4 arg0)
-       (declare (in) vec4 arg1))
-     ((return (expression bvec4 <= (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec2
-     (parameters
-       (declare (in) ivec2 arg0)
-       (declare (in) ivec2 arg1))
-     ((return (expression bvec2 <= (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec3
-     (parameters
-       (declare (in) ivec3 arg0)
-       (declare (in) ivec3 arg1))
-     ((return (expression bvec3 <= (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec4
-     (parameters
-       (declare (in) ivec4 arg0)
-       (declare (in) ivec4 arg1))
-     ((return (expression bvec4 <= (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec2
-     (parameters
-       (declare (in) uvec2 arg0)
-       (declare (in) uvec2 arg1))
-     ((return (expression bvec2 <= (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec3
-     (parameters
-       (declare (in) uvec3 arg0)
-       (declare (in) uvec3 arg1))
-     ((return (expression bvec3 <= (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec4
-     (parameters
-       (declare (in) uvec4 arg0)
-       (declare (in) uvec4 arg1))
-     ((return (expression bvec4 <= (var_ref arg0) (var_ref arg1)))))
-))
diff --git a/src/glsl/builtins/ir/log.ir b/src/glsl/builtins/ir/log.ir
deleted file mode 100644
index d168abb..0000000
--- a/src/glsl/builtins/ir/log.ir
+++ /dev/null
@@ -1,21 +0,0 @@
-((function log
-   (signature float
-     (parameters
-       (declare (in) float arg0))
-     ((return (expression float log (var_ref arg0)))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 arg0))
-     ((return (expression vec2 log (var_ref arg0)))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 arg0))
-     ((return (expression vec3 log (var_ref arg0)))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 arg0))
-     ((return (expression vec4 log (var_ref arg0)))))
-))
diff --git a/src/glsl/builtins/ir/log2.ir b/src/glsl/builtins/ir/log2.ir
deleted file mode 100644
index b96c627..0000000
--- a/src/glsl/builtins/ir/log2.ir
+++ /dev/null
@@ -1,21 +0,0 @@
-((function log2
-   (signature float
-     (parameters
-       (declare (in) float arg0))
-     ((return (expression float log2 (var_ref arg0)))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 arg0))
-     ((return (expression vec2 log2 (var_ref arg0)))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 arg0))
-     ((return (expression vec3 log2 (var_ref arg0)))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 arg0))
-     ((return (expression vec4 log2 (var_ref arg0)))))
-))
diff --git a/src/glsl/builtins/ir/matrixCompMult.ir b/src/glsl/builtins/ir/matrixCompMult.ir
deleted file mode 100644
index 2400f11..0000000
--- a/src/glsl/builtins/ir/matrixCompMult.ir
+++ /dev/null
@@ -1,91 +0,0 @@
-((function matrixCompMult
-   (signature mat2
-     (parameters
-       (declare (in) mat2 x)
-       (declare (in) mat2 y))
-     ((declare () mat2 z)
-      (assign (xy) (array_ref (var_ref z) (constant int (0)))  (expression vec2 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))
-      (assign (xy) (array_ref (var_ref z) (constant int (1)))  (expression vec2 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))
-(return (var_ref z))))
-
-   (signature mat3
-     (parameters
-       (declare (in) mat3 x)
-       (declare (in) mat3 y))
-     ((declare () mat3 z)
-      (assign (xyz) (array_ref (var_ref z) (constant int (0)))  (expression vec3 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))
-      (assign (xyz) (array_ref (var_ref z) (constant int (1)))  (expression vec3 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))
-      (assign (xyz) (array_ref (var_ref z) (constant int (2)))  (expression vec3 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2)))))
-(return (var_ref z))))
-
-   (signature mat4
-     (parameters
-       (declare (in) mat4 x)
-       (declare (in) mat4 y))
-     ((declare () mat4 z)
-      (assign (xyzw) (array_ref (var_ref z) (constant int (0)))  (expression vec4 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))
-      (assign (xyzw) (array_ref (var_ref z) (constant int (1)))  (expression vec4 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))
-      (assign (xyzw) (array_ref (var_ref z) (constant int (2)))  (expression vec4 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2)))))
-      (assign (xyzw) (array_ref (var_ref z) (constant int (3)))  (expression vec4 * (array_ref (var_ref x) (constant int (3))) (array_ref (var_ref y) (constant int (3)))))
-(return (var_ref z))))
-
-   (signature mat2x3
-     (parameters
-       (declare (in) mat2x3 x)
-       (declare (in) mat2x3 y))
-     ((declare () mat2x3 z)
-      (assign (xyz) (array_ref (var_ref z) (constant int (0)))  (expression vec3 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))
-      (assign (xyz) (array_ref (var_ref z) (constant int (1)))  (expression vec3 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))
-(return (var_ref z))))
-
-   (signature mat3x2
-     (parameters
-       (declare (in) mat3x2 x)
-       (declare (in) mat3x2 y))
-     ((declare () mat3x2 z)
-      (assign (xy) (array_ref (var_ref z) (constant int (0)))  (expression vec2 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))
-      (assign (xy) (array_ref (var_ref z) (constant int (1)))  (expression vec2 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))
-      (assign (xy) (array_ref (var_ref z) (constant int (2)))  (expression vec2 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2)))))
-(return (var_ref z))))
-
-   (signature mat2x4
-     (parameters
-       (declare (in) mat2x4 x)
-       (declare (in) mat2x4 y))
-     ((declare () mat2x4 z)
-      (assign (xyzw) (array_ref (var_ref z) (constant int (0)))  (expression vec4 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))
-      (assign (xyzw) (array_ref (var_ref z) (constant int (1)))  (expression vec4 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))
-(return (var_ref z))))
-
-   (signature mat4x2
-     (parameters
-       (declare (in) mat4x2 x)
-       (declare (in) mat4x2 y))
-     ((declare () mat4x2 z)
-      (assign (xy) (array_ref (var_ref z) (constant int (0)))  (expression vec2 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))
-      (assign (xy) (array_ref (var_ref z) (constant int (1)))  (expression vec2 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))
-      (assign (xy) (array_ref (var_ref z) (constant int (2)))  (expression vec2 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2)))))
-      (assign (xy) (array_ref (var_ref z) (constant int (3)))  (expression vec2 * (array_ref (var_ref x) (constant int (3))) (array_ref (var_ref y) (constant int (3)))))
-(return (var_ref z))))
-
-   (signature mat3x4
-     (parameters
-       (declare (in) mat3x4 x)
-       (declare (in) mat3x4 y))
-     ((declare () mat3x4 z)
-      (assign (xyzw) (array_ref (var_ref z) (constant int (0)))  (expression vec4 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))
-      (assign (xyzw) (array_ref (var_ref z) (constant int (1)))  (expression vec4 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))
-      (assign (xyzw) (array_ref (var_ref z) (constant int (2)))  (expression vec4 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2)))))
-(return (var_ref z))))
-
-   (signature mat4x3
-     (parameters
-       (declare (in) mat4x3 x)
-       (declare (in) mat4x3 y))
-     ((declare () mat4x3 z)
-      (assign (xyz) (array_ref (var_ref z) (constant int (0)))  (expression vec3 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))
-      (assign (xyz) (array_ref (var_ref z) (constant int (1)))  (expression vec3 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))
-      (assign (xyz) (array_ref (var_ref z) (constant int (2)))  (expression vec3 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2)))))
-      (assign (xyz) (array_ref (var_ref z) (constant int (3)))  (expression vec3 * (array_ref (var_ref x) (constant int (3))) (array_ref (var_ref y) (constant int (3)))))
-(return (var_ref z))))
-))
diff --git a/src/glsl/builtins/ir/max.ir b/src/glsl/builtins/ir/max.ir
deleted file mode 100644
index 2b5a028..0000000
--- a/src/glsl/builtins/ir/max.ir
+++ /dev/null
@@ -1,127 +0,0 @@
-((function max
-   (signature float
-     (parameters
-       (declare (in) float arg0)
-       (declare (in) float arg1))
-     ((return (expression float max (var_ref arg0) (var_ref arg1)))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 arg0)
-       (declare (in) vec2 arg1))
-     ((return (expression vec2 max (var_ref arg0) (var_ref arg1)))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 arg0)
-       (declare (in) vec3 arg1))
-     ((return (expression vec3 max (var_ref arg0) (var_ref arg1)))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 arg0)
-       (declare (in) vec4 arg1))
-     ((return (expression vec4 max (var_ref arg0) (var_ref arg1)))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2  arg0)
-       (declare (in) float arg1))
-     ((return (expression vec2 max (var_ref arg0) (var_ref arg1)))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3  arg0)
-       (declare (in) float arg1))
-     ((return (expression vec3 max (var_ref arg0) (var_ref arg1)))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4  arg0)
-       (declare (in) float arg1))
-     ((return (expression vec4 max (var_ref arg0) (var_ref arg1)))))
-
-   (signature int
-     (parameters
-       (declare (in) int arg0)
-       (declare (in) int arg1))
-     ((return (expression int max (var_ref arg0) (var_ref arg1)))))
-
-   (signature ivec2
-     (parameters
-       (declare (in) ivec2 arg0)
-       (declare (in) ivec2 arg1))
-     ((return (expression ivec2 max (var_ref arg0) (var_ref arg1)))))
-
-   (signature ivec3
-     (parameters
-       (declare (in) ivec3 arg0)
-       (declare (in) ivec3 arg1))
-     ((return (expression ivec3 max (var_ref arg0) (var_ref arg1)))))
-
-   (signature ivec4
-     (parameters
-       (declare (in) ivec4 arg0)
-       (declare (in) ivec4 arg1))
-     ((return (expression ivec4 max (var_ref arg0) (var_ref arg1)))))
-
-   (signature ivec2
-     (parameters
-       (declare (in) ivec2  arg0)
-       (declare (in) int arg1))
-     ((return (expression ivec2 max (var_ref arg0) (var_ref arg1)))))
-
-   (signature ivec3
-     (parameters
-       (declare (in) ivec3  arg0)
-       (declare (in) int arg1))
-     ((return (expression ivec3 max (var_ref arg0) (var_ref arg1)))))
-
-   (signature ivec4
-     (parameters
-       (declare (in) ivec4  arg0)
-       (declare (in) int arg1))
-     ((return (expression ivec4 max (var_ref arg0) (var_ref arg1)))))
-
-   (signature uint
-     (parameters
-       (declare (in) uint arg0)
-       (declare (in) uint arg1))
-     ((return (expression uint max (var_ref arg0) (var_ref arg1)))))
-
-   (signature uvec2
-     (parameters
-       (declare (in) uvec2 arg0)
-       (declare (in) uvec2 arg1))
-     ((return (expression uvec2 max (var_ref arg0) (var_ref arg1)))))
-
-   (signature uvec3
-     (parameters
-       (declare (in) uvec3 arg0)
-       (declare (in) uvec3 arg1))
-     ((return (expression uvec3 max (var_ref arg0) (var_ref arg1)))))
-
-   (signature uvec4
-     (parameters
-       (declare (in) uvec4 arg0)
-       (declare (in) uvec4 arg1))
-     ((return (expression uvec4 max (var_ref arg0) (var_ref arg1)))))
-
-   (signature uvec2
-     (parameters
-       (declare (in) uvec2  arg0)
-       (declare (in) uint arg1))
-     ((return (expression uvec2 max (var_ref arg0) (var_ref arg1)))))
-
-   (signature uvec3
-     (parameters
-       (declare (in) uvec3  arg0)
-       (declare (in) uint arg1))
-     ((return (expression uvec3 max (var_ref arg0) (var_ref arg1)))))
-
-   (signature uvec4
-     (parameters
-       (declare (in) uvec4  arg0)
-       (declare (in) uint arg1))
-     ((return (expression uvec4 max (var_ref arg0) (var_ref arg1)))))
-))
diff --git a/src/glsl/builtins/ir/min.ir b/src/glsl/builtins/ir/min.ir
deleted file mode 100644
index 2deef11..0000000
--- a/src/glsl/builtins/ir/min.ir
+++ /dev/null
@@ -1,127 +0,0 @@
-((function min
-   (signature float
-     (parameters
-       (declare (in) float arg0)
-       (declare (in) float arg1))
-     ((return (expression float min (var_ref arg0) (var_ref arg1)))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 arg0)
-       (declare (in) vec2 arg1))
-     ((return (expression vec2 min (var_ref arg0) (var_ref arg1)))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 arg0)
-       (declare (in) vec3 arg1))
-     ((return (expression vec3 min (var_ref arg0) (var_ref arg1)))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 arg0)
-       (declare (in) vec4 arg1))
-     ((return (expression vec4 min (var_ref arg0) (var_ref arg1)))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2  arg0)
-       (declare (in) float arg1))
-     ((return (expression vec2 min (var_ref arg0) (var_ref arg1)))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3  arg0)
-       (declare (in) float arg1))
-     ((return (expression vec3 min (var_ref arg0) (var_ref arg1)))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4  arg0)
-       (declare (in) float arg1))
-     ((return (expression vec4 min (var_ref arg0) (var_ref arg1)))))
-
-   (signature int
-     (parameters
-       (declare (in) int arg0)
-       (declare (in) int arg1))
-     ((return (expression int min (var_ref arg0) (var_ref arg1)))))
-
-   (signature ivec2
-     (parameters
-       (declare (in) ivec2 arg0)
-       (declare (in) ivec2 arg1))
-     ((return (expression ivec2 min (var_ref arg0) (var_ref arg1)))))
-
-   (signature ivec3
-     (parameters
-       (declare (in) ivec3 arg0)
-       (declare (in) ivec3 arg1))
-     ((return (expression ivec3 min (var_ref arg0) (var_ref arg1)))))
-
-   (signature ivec4
-     (parameters
-       (declare (in) ivec4 arg0)
-       (declare (in) ivec4 arg1))
-     ((return (expression ivec4 min (var_ref arg0) (var_ref arg1)))))
-
-   (signature ivec2
-     (parameters
-       (declare (in) ivec2  arg0)
-       (declare (in) int arg1))
-     ((return (expression ivec2 min (var_ref arg0) (var_ref arg1)))))
-
-   (signature ivec3
-     (parameters
-       (declare (in) ivec3  arg0)
-       (declare (in) int arg1))
-     ((return (expression ivec3 min (var_ref arg0) (var_ref arg1)))))
-
-   (signature ivec4
-     (parameters
-       (declare (in) ivec4  arg0)
-       (declare (in) int arg1))
-     ((return (expression ivec4 min (var_ref arg0) (var_ref arg1)))))
-
-   (signature uint
-     (parameters
-       (declare (in) uint arg0)
-       (declare (in) uint arg1))
-     ((return (expression uint min (var_ref arg0) (var_ref arg1)))))
-
-   (signature uvec2
-     (parameters
-       (declare (in) uvec2 arg0)
-       (declare (in) uvec2 arg1))
-     ((return (expression uvec2 min (var_ref arg0) (var_ref arg1)))))
-
-   (signature uvec3
-     (parameters
-       (declare (in) uvec3 arg0)
-       (declare (in) uvec3 arg1))
-     ((return (expression uvec3 min (var_ref arg0) (var_ref arg1)))))
-
-   (signature uvec4
-     (parameters
-       (declare (in) uvec4 arg0)
-       (declare (in) uvec4 arg1))
-     ((return (expression uvec4 min (var_ref arg0) (var_ref arg1)))))
-
-   (signature uvec2
-     (parameters
-       (declare (in) uvec2  arg0)
-       (declare (in) uint arg1))
-     ((return (expression uvec2 min (var_ref arg0) (var_ref arg1)))))
-
-   (signature uvec3
-     (parameters
-       (declare (in) uvec3  arg0)
-       (declare (in) uint arg1))
-     ((return (expression uvec3 min (var_ref arg0) (var_ref arg1)))))
-
-   (signature uvec4
-     (parameters
-       (declare (in) uvec4  arg0)
-       (declare (in) uint arg1))
-     ((return (expression uvec4 min (var_ref arg0) (var_ref arg1)))))
-))
diff --git a/src/glsl/builtins/ir/mix.ir b/src/glsl/builtins/ir/mix.ir
deleted file mode 100644
index e666532..0000000
--- a/src/glsl/builtins/ir/mix.ir
+++ /dev/null
@@ -1,88 +0,0 @@
-((function mix
-   (signature float
-     (parameters
-       (declare (in) float arg0)
-       (declare (in) float arg1)
-       (declare (in) float arg2))
-     ((return (expression float lrp (var_ref arg0) (var_ref arg1) (var_ref arg2)))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 arg0)
-       (declare (in) vec2 arg1)
-       (declare (in) vec2 arg2))
-     ((return (expression vec2 lrp (var_ref arg0) (var_ref arg1) (var_ref arg2)))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 arg0)
-       (declare (in) vec3 arg1)
-       (declare (in) vec3 arg2))
-     ((return (expression vec3 lrp (var_ref arg0) (var_ref arg1) (var_ref arg2)))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 arg0)
-       (declare (in) vec4 arg1)
-       (declare (in) vec4 arg2))
-     ((return (expression vec4 lrp (var_ref arg0) (var_ref arg1) (var_ref arg2)))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 arg0)
-       (declare (in) vec2 arg1)
-       (declare (in) float arg2))
-     ((return (expression vec2 lrp (var_ref arg0) (var_ref arg1) (var_ref arg2)))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 arg0)
-       (declare (in) vec3 arg1)
-       (declare (in) float arg2))
-     ((return (expression vec3 lrp (var_ref arg0) (var_ref arg1) (var_ref arg2)))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 arg0)
-       (declare (in) vec4 arg1)
-       (declare (in) float arg2))
-     ((return (expression vec4 lrp (var_ref arg0) (var_ref arg1) (var_ref arg2)))))
-
-   (signature float
-     (parameters
-       (declare (in) float v1)
-       (declare (in) float v2)
-       (declare (in) bool  a))
-     ((assign (var_ref a) (x) (var_ref v1) (var_ref v2))
-      (return (var_ref v1))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 v1)
-       (declare (in) vec2 v2)
-       (declare (in) bvec2 a))
-     ((assign (swiz x (var_ref a)) (x) (var_ref v1) (swiz x (var_ref v2)))
-      (assign (swiz y (var_ref a)) (y) (var_ref v1) (swiz y (var_ref v2)))
-      (return (var_ref v1))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 v1)
-       (declare (in) vec3 v2)
-       (declare (in) bvec3 a))
-     ((assign (swiz x (var_ref a)) (x) (var_ref v1) (swiz x (var_ref v2)))
-      (assign (swiz y (var_ref a)) (y) (var_ref v1) (swiz y (var_ref v2)))
-      (assign (swiz z (var_ref a)) (z) (var_ref v1) (swiz z (var_ref v2)))
-      (return (var_ref v1))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 v1)
-       (declare (in) vec4 v2)
-       (declare (in) bvec4 a))
-     ((assign (swiz x (var_ref a)) (x) (var_ref v1) (swiz x (var_ref v2)))
-      (assign (swiz y (var_ref a)) (y) (var_ref v1) (swiz y (var_ref v2)))
-      (assign (swiz z (var_ref a)) (z) (var_ref v1) (swiz z (var_ref v2)))
-      (assign (swiz w (var_ref a)) (w) (var_ref v1) (swiz w (var_ref v2)))
-      (return (var_ref v1))))
-))
diff --git a/src/glsl/builtins/ir/mod.ir b/src/glsl/builtins/ir/mod.ir
deleted file mode 100644
index aeaea24..0000000
--- a/src/glsl/builtins/ir/mod.ir
+++ /dev/null
@@ -1,43 +0,0 @@
-((function mod
-   (signature float
-     (parameters
-       (declare (in) float arg0)
-       (declare (in) float arg1))
-     ((return (expression float % (var_ref arg0) (var_ref arg1)))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 arg0)
-       (declare (in) vec2 arg1))
-     ((return (expression vec2 % (var_ref arg0) (var_ref arg1)))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 arg0)
-       (declare (in) vec3 arg1))
-     ((return (expression vec3 % (var_ref arg0) (var_ref arg1)))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 arg0)
-       (declare (in) vec4 arg1))
-     ((return (expression vec4 % (var_ref arg0) (var_ref arg1)))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2  arg0)
-       (declare (in) float arg1))
-     ((return (expression vec2 % (var_ref arg0) (var_ref arg1)))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3  arg0)
-       (declare (in) float arg1))
-     ((return (expression vec3 % (var_ref arg0) (var_ref arg1)))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4  arg0)
-       (declare (in) float arg1))
-     ((return (expression vec4 % (var_ref arg0) (var_ref arg1)))))
-))
diff --git a/src/glsl/builtins/ir/modf.ir b/src/glsl/builtins/ir/modf.ir
deleted file mode 100644
index f4f6315..0000000
--- a/src/glsl/builtins/ir/modf.ir
+++ /dev/null
@@ -1,37 +0,0 @@
-((function modf
-   (signature float
-     (parameters
-       (declare (in)  float x)
-       (declare (out) float i))
-     ((declare () float t)
-      (assign (x) (var_ref t) (expression float trunc (var_ref x)))
-      (assign (x) (var_ref i) (var_ref t))
-      (return (expression float - (var_ref x) (var_ref t)))))
-
-   (signature vec2
-     (parameters
-       (declare (in)  vec2 x)
-       (declare (out) vec2 i))
-     ((declare () vec2 t)
-      (assign (xy) (var_ref t) (expression vec2 trunc (var_ref x)))
-      (assign (xy) (var_ref i) (var_ref t))
-      (return (expression vec2 - (var_ref x) (var_ref t)))))
-
-   (signature vec3
-     (parameters
-       (declare (in)  vec3 x)
-       (declare (out) vec3 i))
-     ((declare () vec3 t)
-      (assign (xyz) (var_ref t) (expression vec3 trunc (var_ref x)))
-      (assign (xyz) (var_ref i) (var_ref t))
-      (return (expression vec3 - (var_ref x) (var_ref t)))))
-
-   (signature vec4
-     (parameters
-       (declare (in)  vec4 x)
-       (declare (out) vec4 i))
-     ((declare () vec4 t)
-      (assign (xyzw) (var_ref t) (expression vec4 trunc (var_ref x)))
-      (assign (xyzw) (var_ref i) (var_ref t))
-      (return (expression vec4 - (var_ref x) (var_ref t)))))
-))
diff --git a/src/glsl/builtins/ir/noise1.ir b/src/glsl/builtins/ir/noise1.ir
deleted file mode 100644
index 1155056..0000000
--- a/src/glsl/builtins/ir/noise1.ir
+++ /dev/null
@@ -1,18 +0,0 @@
-((function noise1
-   (signature float
-     (parameters
-       (declare (in) float x))
-     ((return (expression float noise (var_ref x)))))
-   (signature float
-     (parameters
-       (declare (in) vec2 x))
-     ((return (expression float noise (var_ref x)))))
-   (signature float
-     (parameters
-       (declare (in) vec3 x))
-     ((return (expression float noise (var_ref x)))))
-   (signature float
-     (parameters
-       (declare (in) vec4 x))
-     ((return (expression float noise (var_ref x)))))
-))
diff --git a/src/glsl/builtins/ir/noise2.ir b/src/glsl/builtins/ir/noise2.ir
deleted file mode 100644
index d336614..0000000
--- a/src/glsl/builtins/ir/noise2.ir
+++ /dev/null
@@ -1,61 +0,0 @@
-((function noise2
-  (signature vec2
-    (parameters (declare (in) vec4 p))
-    (
-      (declare () float a)
-      (declare () float b)
-      (declare () vec2 t)
-
-      (assign (x) (var_ref a) (expression float noise (var_ref p)))
-      (assign (x) (var_ref b) (expression float noise (expression vec4 + (var_ref p) (constant vec4 (601.0 313.0 29.0 277.0)))))
-      (assign (x) (var_ref t) (var_ref a))
-      (assign (y) (var_ref t) (var_ref b))
-      (return (var_ref t))
-    ))
-
-  (signature vec2
-    (parameters (declare (in) vec3 p))
-    (
-      (declare () float a)
-      (declare () float b)
-      (declare () vec2 t)
-
-      (assign (x) (var_ref a) (expression float noise (var_ref p)))
-      (assign (x) (var_ref b) (expression float noise (expression vec3 + (var_ref p) (constant vec3 (601.0 313.0 29.0)))))
-      (assign (x) (var_ref t) (var_ref a))
-      (assign (y) (var_ref t) (var_ref b))
-      (return (var_ref t))
-    ))
-
-  (signature vec2
-    (parameters
-      (declare (in ) vec2 p)
-    )
-    (
-      (declare () float a)
-      (declare () float b)
-      (declare () vec2 t)
-
-      (assign (x) (var_ref a) (expression float noise (var_ref p)))
-      (assign (x) (var_ref b) (expression float noise (expression vec2 + (var_ref p) (constant vec2 (601.0 313.0)))))
-      (assign (x) (var_ref t) (var_ref a))
-      (assign (y) (var_ref t) (var_ref b))
-      (return (var_ref t))
-    ))
-
-  (signature vec2
-    (parameters
-      (declare (in ) float p)
-    )
-    (
-      (declare () float a)
-      (declare () float b)
-      (declare () vec2 t)
-
-      (assign (x) (var_ref a) (expression float noise (var_ref p)))
-      (assign (x) (var_ref b) (expression float noise (expression float + (var_ref p) (constant float (601.0)))))
-      (assign (x) (var_ref t) (var_ref a))
-      (assign (y) (var_ref t) (var_ref b))
-      (return (var_ref t))
-    ))
-))
diff --git a/src/glsl/builtins/ir/noise3.ir b/src/glsl/builtins/ir/noise3.ir
deleted file mode 100644
index 1d8aa3f..0000000
--- a/src/glsl/builtins/ir/noise3.ir
+++ /dev/null
@@ -1,73 +0,0 @@
-((function noise3
-  (signature vec3
-    (parameters (declare (in) vec4 p))
-    (
-      (declare () float a)
-      (declare () float b)
-      (declare () float c)
-      (declare () vec3 t)
-
-      (assign (x) (var_ref a) (expression float noise (var_ref p)))
-      (assign (x) (var_ref b) (expression float noise (expression vec4 + (var_ref p) (constant vec4 (601.0 313.0 29.0 277.0)))))
-      (assign (x) (var_ref c) (expression float noise (expression vec4 + (var_ref p) (constant vec4 (1559.0 113.0 1861.0 797.0)))))
-
-      (assign (x) (var_ref t) (var_ref a))
-      (assign (y) (var_ref t) (var_ref b))
-      (assign (z) (var_ref t) (var_ref c))
-      (return (var_ref t))
-    ))
-
-  (signature vec3
-    (parameters (declare (in) vec3 p))
-    (
-      (declare () float a)
-      (declare () float b)
-      (declare () float c)
-      (declare () vec3 t)
-
-      (assign (x) (var_ref a) (expression float noise (var_ref p)))
-      (assign (x) (var_ref b) (expression float noise (expression vec3 + (var_ref p) (constant vec3 (601.0 313.0 29.0)))))
-      (assign (x) (var_ref c) (expression float noise (expression vec3 + (var_ref p) (constant vec3 (1559.0 113.0 1861.0)))))
-
-      (assign (x) (var_ref t) (var_ref a))
-      (assign (y) (var_ref t) (var_ref b))
-      (assign (z) (var_ref t) (var_ref c))
-      (return (var_ref t))
-    ))
-
-  (signature vec3
-    (parameters (declare (in) vec2 p))
-    (
-      (declare () float a)
-      (declare () float b)
-      (declare () float c)
-      (declare () vec3 t)
-
-      (assign (x) (var_ref a) (expression float noise (var_ref p)))
-      (assign (x) (var_ref b) (expression float noise (expression vec2 + (var_ref p) (constant vec2 (601.0 313.0)))))
-      (assign (x) (var_ref c) (expression float noise (expression vec2 + (var_ref p) (constant vec2 (1559.0 113.0)))))
-
-      (assign (x) (var_ref t) (var_ref a))
-      (assign (y) (var_ref t) (var_ref b))
-      (assign (z) (var_ref t) (var_ref c))
-      (return (var_ref t))
-    ))
-
-  (signature vec3
-    (parameters (declare (in) float p))
-    (
-      (declare () float a)
-      (declare () float b)
-      (declare () float c)
-      (declare () vec3 t)
-
-      (assign (x) (var_ref a) (expression float noise (var_ref p)))
-      (assign (x) (var_ref b) (expression float noise (expression float + (var_ref p) (constant float (601.0)))))
-      (assign (x) (var_ref c) (expression float noise (expression float + (var_ref p) (constant float (1559.0)))))
-
-      (assign (x) (var_ref t) (var_ref a))
-      (assign (y) (var_ref t) (var_ref b))
-      (assign (z) (var_ref t) (var_ref c))
-      (return (var_ref t))
-    ))
-))
diff --git a/src/glsl/builtins/ir/noise4.ir b/src/glsl/builtins/ir/noise4.ir
deleted file mode 100644
index 4949696..0000000
--- a/src/glsl/builtins/ir/noise4.ir
+++ /dev/null
@@ -1,97 +0,0 @@
-((function noise4
-  (signature vec4
-    (parameters (declare (in) vec4 p))
-    (
-      (declare () float _x)
-      (declare () float _y)
-      (declare () float _z)
-      (declare () float _w)
-      (declare () vec4 _r)
-
-      (declare () vec4 _p)
-      (assign (xyzw) (var_ref _p) (expression vec4 + (var_ref p) (constant vec4 (1559.0 113.0 1861.0 797.0))) )
-
-      (assign (x) (var_ref _x) (expression float noise(var_ref p)))
-      (assign (x) (var_ref _y) (expression float noise(expression vec4 + (var_ref p) (constant vec4 (601.0 313.0 29.0 277.0)))))
-      (assign (x) (var_ref _z) (expression float noise(var_ref _p)))
-      (assign (x) (var_ref _w) (expression float noise(expression vec4 + (var_ref _p) (constant vec4 (601.0 313.0 29.0 277.0)))))
-
-      (assign (x) (var_ref _r) (var_ref _x))
-      (assign (y) (var_ref _r) (var_ref _y))
-      (assign (z) (var_ref _r) (var_ref _z))
-      (assign (w) (var_ref _r) (var_ref _w))
-      (return (var_ref _r))
-    ))
-
-  (signature vec4
-    (parameters (declare (in) vec3 p))
-    (
-      (declare () float _x)
-      (declare () float _y)
-      (declare () float _z)
-      (declare () float _w)
-      (declare () vec4 _r)
-
-      (declare () vec3 _p)
-      (assign (xyz) (var_ref _p) (expression vec3 + (var_ref p) (constant vec3 (1559.0 113.0 1861.0))) )
-
-      (assign (x) (var_ref _x) (expression float noise(var_ref p)))
-      (assign (x) (var_ref _y) (expression float noise(expression vec3 + (var_ref p) (constant vec3 (601.0 313.0 29.0)))))
-      (assign (x) (var_ref _z) (expression float noise(var_ref _p)))
-      (assign (x) (var_ref _w) (expression float noise(expression vec3 + (var_ref _p) (constant vec3 (601.0 313.0 29.0)))))
-
-      (assign (x) (var_ref _r) (var_ref _x))
-      (assign (y) (var_ref _r) (var_ref _y))
-      (assign (z) (var_ref _r) (var_ref _z))
-      (assign (w) (var_ref _r) (var_ref _w))
-      (return (var_ref _r))
-    ))
-
-  (signature vec4
-    (parameters (declare (in) vec2 p))
-    (
-      (declare () float _x)
-      (declare () float _y)
-      (declare () float _z)
-      (declare () float _w)
-      (declare () vec4 _r)
-
-      (declare () vec2 _p)
-      (assign (xy) (var_ref _p) (expression vec2 + (var_ref p) (constant vec2 (1559.0 113.0))) )
-
-      (assign (x) (var_ref _x) (expression float noise(var_ref p)))
-      (assign (x) (var_ref _y) (expression float noise(expression vec2 + (var_ref p) (constant vec2 (601.0 313.0)))))
-      (assign (x) (var_ref _z) (expression float noise(var_ref _p)))
-      (assign (x) (var_ref _w) (expression float noise(expression vec2 + (var_ref _p) (constant vec2 (601.0 313.0)))))
-
-      (assign (x) (var_ref _r) (var_ref _x))
-      (assign (y) (var_ref _r) (var_ref _y))
-      (assign (z) (var_ref _r) (var_ref _z))
-      (assign (w) (var_ref _r) (var_ref _w))
-      (return (var_ref _r))
-    ))
-
-  (signature vec4
-    (parameters (declare (in) float p))
-    (
-      (declare () float _x)
-      (declare () float _y)
-      (declare () float _z)
-      (declare () float _w)
-      (declare () vec4 _r)
-
-      (declare () float _p)
-      (assign (x) (var_ref _p) (expression float + (var_ref p) (constant float (1559.0))) )
-
-      (assign (x) (var_ref _x) (expression float noise(var_ref p)))
-      (assign (x) (var_ref _y) (expression float noise(expression float + (var_ref p) (constant float (601.0)))))
-      (assign (x) (var_ref _z) (expression float noise(var_ref _p)))
-      (assign (x) (var_ref _w) (expression float noise(expression float + (var_ref _p) (constant float (601.0)))))
-
-      (assign (x) (var_ref _r) (var_ref _x))
-      (assign (y) (var_ref _r) (var_ref _y))
-      (assign (z) (var_ref _r) (var_ref _z))
-      (assign (w) (var_ref _r) (var_ref _w))
-      (return (var_ref _r))
-    ))
-))
diff --git a/src/glsl/builtins/ir/normalize.ir b/src/glsl/builtins/ir/normalize.ir
deleted file mode 100644
index 0de0db0..0000000
--- a/src/glsl/builtins/ir/normalize.ir
+++ /dev/null
@@ -1,21 +0,0 @@
-((function normalize
-   (signature float
-     (parameters
-       (declare (in) float arg0))
-     ((return (expression float sign (var_ref arg0)))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 arg0))
-     ((return (expression vec2 * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 arg0))
-     ((return (expression vec3 * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 arg0))
-     ((return (expression vec4 * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))
-))
diff --git a/src/glsl/builtins/ir/not.ir b/src/glsl/builtins/ir/not.ir
deleted file mode 100644
index b696b06..0000000
--- a/src/glsl/builtins/ir/not.ir
+++ /dev/null
@@ -1,16 +0,0 @@
-((function not
-   (signature bvec2
-     (parameters
-       (declare (in) bvec2 arg0))
-     ((return (expression bvec2 ! (var_ref arg0)))))
-
-   (signature bvec3
-     (parameters
-       (declare (in) bvec3 arg0))
-     ((return (expression bvec3 ! (var_ref arg0)))))
-
-   (signature bvec4
-     (parameters
-       (declare (in) bvec4 arg0))
-     ((return (expression bvec4 ! (var_ref arg0)))))
-))
diff --git a/src/glsl/builtins/ir/notEqual.ir b/src/glsl/builtins/ir/notEqual.ir
deleted file mode 100644
index abaf191..0000000
--- a/src/glsl/builtins/ir/notEqual.ir
+++ /dev/null
@@ -1,73 +0,0 @@
-((function notEqual
-   (signature bvec2
-     (parameters
-       (declare (in) vec2 arg0)
-       (declare (in) vec2 arg1))
-     ((return (expression bvec2 != (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec3
-     (parameters
-       (declare (in) vec3 arg0)
-       (declare (in) vec3 arg1))
-     ((return (expression bvec3 != (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec4
-     (parameters
-       (declare (in) vec4 arg0)
-       (declare (in) vec4 arg1))
-     ((return (expression bvec4 != (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec2
-     (parameters
-       (declare (in) bvec2 arg0)
-       (declare (in) bvec2 arg1))
-     ((return (expression bvec2 != (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec3
-     (parameters
-       (declare (in) bvec3 arg0)
-       (declare (in) bvec3 arg1))
-     ((return (expression bvec3 != (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec4
-     (parameters
-       (declare (in) bvec4 arg0)
-       (declare (in) bvec4 arg1))
-     ((return (expression bvec4 != (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec2
-     (parameters
-       (declare (in) ivec2 arg0)
-       (declare (in) ivec2 arg1))
-     ((return (expression bvec2 != (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec3
-     (parameters
-       (declare (in) ivec3 arg0)
-       (declare (in) ivec3 arg1))
-     ((return (expression bvec3 != (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec4
-     (parameters
-       (declare (in) ivec4 arg0)
-       (declare (in) ivec4 arg1))
-     ((return (expression bvec4 != (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec2
-     (parameters
-       (declare (in) uvec2 arg0)
-       (declare (in) uvec2 arg1))
-     ((return (expression bvec2 != (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec3
-     (parameters
-       (declare (in) uvec3 arg0)
-       (declare (in) uvec3 arg1))
-     ((return (expression bvec3 != (var_ref arg0) (var_ref arg1)))))
-
-   (signature bvec4
-     (parameters
-       (declare (in) uvec4 arg0)
-       (declare (in) uvec4 arg1))
-     ((return (expression bvec4 != (var_ref arg0) (var_ref arg1)))))
-))
diff --git a/src/glsl/builtins/ir/outerProduct.ir b/src/glsl/builtins/ir/outerProduct.ir
deleted file mode 100644
index 0e3f375..0000000
--- a/src/glsl/builtins/ir/outerProduct.ir
+++ /dev/null
@@ -1,92 +0,0 @@
-((function outerProduct
-   (signature mat2
-     (parameters
-       (declare (in) vec2 u)
-       (declare (in) vec2 v))
-     ((declare () mat2 m)
-      (assign (xy) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))
-      (assign (xy) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))
-      (return (var_ref m))))
-
-   (signature mat2x3
-     (parameters
-       (declare (in) vec3 u)
-       (declare (in) vec2 v))
-     ((declare () mat2x3 m)
-      (assign (xyz) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))
-      (assign (xyz) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))
-      (return (var_ref m))))
-
-   (signature mat2x4
-     (parameters
-       (declare (in) vec4 u)
-       (declare (in) vec2 v))
-     ((declare () mat2x4 m)
-      (assign (xyzw) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))
-      (assign (xyzw) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))
-      (return (var_ref m))))
-
-   (signature mat3x2
-     (parameters
-       (declare (in) vec2 u)
-       (declare (in) vec3 v))
-     ((declare () mat3x2 m)
-      (assign (xy) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))
-      (assign (xy) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))
-      (assign (xy) (array_ref (var_ref m) (constant int (2))) (expression vec2 * (var_ref u) (swiz z (var_ref v))))
-      (return (var_ref m))
- ))
-
-   (signature mat3
-     (parameters
-       (declare (in) vec3 u)
-       (declare (in) vec3 v))
-     ((declare () mat3 m)
-      (assign (xyz) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))
-      (assign (xyz) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))
-      (assign (xyz) (array_ref (var_ref m) (constant int (2))) (expression vec3 * (var_ref u) (swiz z (var_ref v))))
-      (return (var_ref m))))
-
-   (signature mat3x4
-     (parameters
-       (declare (in) vec4 u)
-       (declare (in) vec3 v))
-     ((declare () mat3x4 m)
-      (assign (xyzw) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))
-      (assign (xyzw) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))
-      (assign (xyzw) (array_ref (var_ref m) (constant int (2))) (expression vec4 * (var_ref u) (swiz z (var_ref v))))
-      (return (var_ref m))))
-
-   (signature mat4x2
-     (parameters
-       (declare (in) vec2 u)
-       (declare (in) vec4 v))
-     ((declare () mat4x2 m)
-      (assign (xy) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))
-      (assign (xy) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))
-      (assign (xy) (array_ref (var_ref m) (constant int (2))) (expression vec2 * (var_ref u) (swiz z (var_ref v))))
-      (assign (xy) (array_ref (var_ref m) (constant int (3))) (expression vec2 * (var_ref u) (swiz w (var_ref v))))
-      (return (var_ref m))))
-
-   (signature mat4x3
-     (parameters
-       (declare (in) vec3 u)
-       (declare (in) vec4 v))
-     ((declare () mat4x3 m)
-      (assign (xyz) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))
-      (assign (xyz) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))
-      (assign (xyz) (array_ref (var_ref m) (constant int (2))) (expression vec3 * (var_ref u) (swiz z (var_ref v))))
-      (assign (xyz) (array_ref (var_ref m) (constant int (3))) (expression vec3 * (var_ref u) (swiz w (var_ref v))))
-      (return (var_ref m))))
-
-   (signature mat4
-     (parameters
-       (declare (in) vec4 u)
-       (declare (in) vec4 v))
-     ((declare () mat4 m)
-      (assign (xyzw) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))
-      (assign (xyzw) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))
-      (assign (xyzw) (array_ref (var_ref m) (constant int (2))) (expression vec4 * (var_ref u) (swiz z (var_ref v))))
-      (assign (xyzw) (array_ref (var_ref m) (constant int (3))) (expression vec4 * (var_ref u) (swiz w (var_ref v))))
-      (return (var_ref m))))
-))
diff --git a/src/glsl/builtins/ir/packHalf2x16.ir b/src/glsl/builtins/ir/packHalf2x16.ir
deleted file mode 100644
index 2f85407..0000000
--- a/src/glsl/builtins/ir/packHalf2x16.ir
+++ /dev/null
@@ -1,6 +0,0 @@
-((function packHalf2x16
-   (signature uint
-     (parameters
-       (declare (in) vec2 arg0))
-     ((return (expression uint packHalf2x16 (var_ref arg0)))))
-))
diff --git a/src/glsl/builtins/ir/packSnorm2x16.ir b/src/glsl/builtins/ir/packSnorm2x16.ir
deleted file mode 100644
index b4575d2..0000000
--- a/src/glsl/builtins/ir/packSnorm2x16.ir
+++ /dev/null
@@ -1,6 +0,0 @@
-((function packSnorm2x16
-   (signature uint
-     (parameters
-       (declare (in) vec2 arg0))
-     ((return (expression uint packSnorm2x16 (var_ref arg0)))))
-))
diff --git a/src/glsl/builtins/ir/packSnorm4x8.ir b/src/glsl/builtins/ir/packSnorm4x8.ir
deleted file mode 100644
index a153aa9..0000000
--- a/src/glsl/builtins/ir/packSnorm4x8.ir
+++ /dev/null
@@ -1,6 +0,0 @@
-((function packSnorm4x8
-   (signature uint
-     (parameters
-       (declare (in) vec4 arg0))
-     ((return (expression uint packSnorm4x8 (var_ref arg0)))))
-))
diff --git a/src/glsl/builtins/ir/packUnorm2x16.ir b/src/glsl/builtins/ir/packUnorm2x16.ir
deleted file mode 100644
index c809f2d..0000000
--- a/src/glsl/builtins/ir/packUnorm2x16.ir
+++ /dev/null
@@ -1,6 +0,0 @@
-((function packUnorm2x16
-   (signature uint
-     (parameters
-       (declare (in) vec2 arg0))
-     ((return (expression uint packUnorm2x16 (var_ref arg0)))))
-))
diff --git a/src/glsl/builtins/ir/packUnorm4x8.ir b/src/glsl/builtins/ir/packUnorm4x8.ir
deleted file mode 100644
index 3a8e46c..0000000
--- a/src/glsl/builtins/ir/packUnorm4x8.ir
+++ /dev/null
@@ -1,6 +0,0 @@
-((function packUnorm4x8
-   (signature uint
-     (parameters
-       (declare (in) vec4 arg0))
-     ((return (expression uint packUnorm4x8 (var_ref arg0)))))
-))
diff --git a/src/glsl/builtins/ir/pow.ir b/src/glsl/builtins/ir/pow.ir
deleted file mode 100644
index a61bc44..0000000
--- a/src/glsl/builtins/ir/pow.ir
+++ /dev/null
@@ -1,25 +0,0 @@
-((function pow
-   (signature float
-     (parameters
-       (declare (in) float arg0)
-       (declare (in) float arg1))
-     ((return (expression float pow (var_ref arg0) (var_ref arg1)))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 arg0)
-       (declare (in) vec2 arg1))
-     ((return (expression vec2 pow (var_ref arg0) (var_ref arg1)))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 arg0)
-       (declare (in) vec3 arg1))
-     ((return (expression vec3 pow (var_ref arg0) (var_ref arg1)))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 arg0)
-       (declare (in) vec4 arg1))
-     ((return (expression vec4 pow (var_ref arg0) (var_ref arg1)))))
-))
diff --git a/src/glsl/builtins/ir/radians.ir b/src/glsl/builtins/ir/radians.ir
deleted file mode 100644
index a419101..0000000
--- a/src/glsl/builtins/ir/radians.ir
+++ /dev/null
@@ -1,21 +0,0 @@
-((function radians
-   (signature float
-     (parameters
-       (declare (in) float arg0))
-     ((return (expression float * (var_ref arg0) (constant float (0.0174532925))))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 arg0))
-     ((return (expression vec2 * (var_ref arg0) (constant float (0.0174532925))))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 arg0))
-     ((return (expression vec3 * (var_ref arg0) (constant float (0.0174532925))))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 arg0))
-     ((return (expression vec4 * (var_ref arg0) (constant float (0.0174532925))))))
-))
diff --git a/src/glsl/builtins/ir/reflect.ir b/src/glsl/builtins/ir/reflect.ir
deleted file mode 100644
index 1fa394e..0000000
--- a/src/glsl/builtins/ir/reflect.ir
+++ /dev/null
@@ -1,58 +0,0 @@
-((function reflect
-   (signature float
-     (parameters
-       (declare (in) float i)
-       (declare (in) float n))
-     ((return (expression float -
-	       (var_ref i)
-	       (expression float *
-		(constant float (2.0))
-		(expression float *
-		 (expression float *
-		  (var_ref n)
-		  (var_ref i))
-		 (var_ref n)))))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 i)
-       (declare (in) vec2 n))
-     ((return (expression vec2 -
-	       (var_ref i)
-	       (expression vec2 *
-		(constant float (2.0))
-		(expression vec2 *
-		 (expression float dot
-		  (var_ref n)
-		  (var_ref i))
-		 (var_ref n)))))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 i)
-       (declare (in) vec3 n))
-     ((return (expression vec3 -
-	       (var_ref i)
-	       (expression vec3 *
-		(constant float (2.0))
-		(expression vec3 *
-		 (expression float dot
-		  (var_ref n)
-		  (var_ref i))
-		 (var_ref n)))))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 i)
-       (declare (in) vec4 n))
-     ((return (expression vec4 -
-	       (var_ref i)
-	       (expression vec4 *
-		(constant float (2.0))
-		(expression vec4 *
-		 (expression float dot
-		  (var_ref n)
-		  (var_ref i))
-		 (var_ref n)))))))
-
-))
diff --git a/src/glsl/builtins/ir/refract.ir b/src/glsl/builtins/ir/refract.ir
deleted file mode 100644
index 60899f0..0000000
--- a/src/glsl/builtins/ir/refract.ir
+++ /dev/null
@@ -1,102 +0,0 @@
-((function refract
-   (signature float
-     (parameters
-       (declare (in) float i)
-       (declare (in) float n)
-       (declare (in) float eta))
-     ((declare () float k)
-      (assign (x) (var_ref k)
-              (expression float - (constant float (1.0))
-	        (expression float * (var_ref eta)
-	          (expression float * (var_ref eta)
-		    (expression float - (constant float (1.0))
-		      (expression float * 
-		        (expression float * (var_ref n) (var_ref i))
-		        (expression float * (var_ref n) (var_ref i))))))))
-      (if (expression bool < (var_ref k) (constant float (0.0)))
-          ((return (constant float (0.0))))
-	  ((return (expression float -
-	             (expression float * (var_ref eta) (var_ref i))
-		     (expression float *
-		       (expression float +
-		         (expression float * (var_ref eta)
-			   (expression float * (var_ref n) (var_ref i)))
-		         (expression float sqrt (var_ref k)))
-		       (var_ref n))))))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 i)
-       (declare (in) vec2 n)
-       (declare (in) float eta))
-     ((declare () float k)
-      (assign (x) (var_ref k)
-              (expression float - (constant float (1.0))
-	        (expression float * (var_ref eta)
-	          (expression float * (var_ref eta)
-		    (expression float - (constant float (1.0))
-		      (expression float * 
-		        (expression float dot (var_ref n) (var_ref i))
-		        (expression float dot (var_ref n) (var_ref i))))))))
-      (if (expression bool < (var_ref k) (constant float (0.0)))
-          ((return (constant vec2 (0.0 0.0))))
-	  ((return (expression vec2 -
-	             (expression vec2 * (var_ref eta) (var_ref i))
-		     (expression vec2 *
-		       (expression float +
-		         (expression float * (var_ref eta)
-			   (expression float dot (var_ref n) (var_ref i)))
-		         (expression float sqrt (var_ref k)))
-		       (var_ref n))))))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 i)
-       (declare (in) vec3 n)
-       (declare (in) float eta))
-     ((declare () float k)
-      (assign (x) (var_ref k)
-              (expression float - (constant float (1.0))
-	        (expression float * (var_ref eta)
-	          (expression float * (var_ref eta)
-		    (expression float - (constant float (1.0))
-		      (expression float * 
-		        (expression float dot (var_ref n) (var_ref i))
-		        (expression float dot (var_ref n) (var_ref i))))))))
-      (if (expression bool < (var_ref k) (constant float (0.0)))
-          ((return (constant vec3 (0.0 0.0 0.0))))
-	  ((return (expression vec3 -
-	             (expression vec3 * (var_ref eta) (var_ref i))
-		     (expression vec3 *
-		       (expression float +
-		         (expression float * (var_ref eta)
-			   (expression float dot (var_ref n) (var_ref i)))
-		         (expression float sqrt (var_ref k)))
-		       (var_ref n))))))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 i)
-       (declare (in) vec4 n)
-       (declare (in) float eta))
-     ((declare () float k)
-      (assign (x) (var_ref k)
-              (expression float - (constant float (1.0))
-	        (expression float * (var_ref eta)
-	          (expression float * (var_ref eta)
-		    (expression float - (constant float (1.0))
-		      (expression float * 
-		        (expression float dot (var_ref n) (var_ref i))
-		        (expression float dot (var_ref n) (var_ref i))))))))
-      (if (expression bool < (var_ref k) (constant float (0.0)))
-          ((return (constant vec4 (0.0 0.0 0.0 0.0))))
-	  ((return (expression vec4 -
-	             (expression vec4 * (var_ref eta) (var_ref i))
-		     (expression vec4 *
-		       (expression float +
-		         (expression float * (var_ref eta)
-			   (expression float dot (var_ref n) (var_ref i)))
-		         (expression float sqrt (var_ref k)))
-		       (var_ref n))))))))
-
-))
diff --git a/src/glsl/builtins/ir/round.ir b/src/glsl/builtins/ir/round.ir
deleted file mode 100644
index d0d425b..0000000
--- a/src/glsl/builtins/ir/round.ir
+++ /dev/null
@@ -1,21 +0,0 @@
-((function round
-   (signature float
-     (parameters
-       (declare (in) float arg0))
-     ((return (expression float round_even (var_ref arg0)))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 arg0))
-     ((return (expression vec2 round_even (var_ref arg0)))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 arg0))
-     ((return (expression vec3 round_even (var_ref arg0)))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 arg0))
-     ((return (expression vec4 round_even (var_ref arg0)))))
-))
diff --git a/src/glsl/builtins/ir/roundEven.ir b/src/glsl/builtins/ir/roundEven.ir
deleted file mode 100644
index a9c99b6..0000000
--- a/src/glsl/builtins/ir/roundEven.ir
+++ /dev/null
@@ -1,21 +0,0 @@
-((function roundEven
-   (signature float
-     (parameters
-       (declare (in) float arg0))
-     ((return (expression float round_even (var_ref arg0)))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 arg0))
-     ((return (expression vec2 round_even (var_ref arg0)))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 arg0))
-     ((return (expression vec3 round_even (var_ref arg0)))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 arg0))
-     ((return (expression vec4 round_even (var_ref arg0)))))
-))
diff --git a/src/glsl/builtins/ir/sign.ir b/src/glsl/builtins/ir/sign.ir
deleted file mode 100644
index 1f51718..0000000
--- a/src/glsl/builtins/ir/sign.ir
+++ /dev/null
@@ -1,42 +0,0 @@
-((function sign
-   (signature float
-     (parameters
-       (declare (in) float x))
-     ((return (expression float sign (var_ref x)))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 x))
-     ((return (expression vec2 sign (var_ref x)))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 x))
-     ((return (expression vec3 sign (var_ref x)))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 x))
-     ((return (expression vec4 sign (var_ref x)))))
-
-   (signature int
-     (parameters
-       (declare (in) int x))
-     ((return (expression int sign (var_ref x)))))
-
-   (signature ivec2
-     (parameters
-       (declare (in) ivec2 x))
-     ((return (expression ivec2 sign (var_ref x)))))
-
-   (signature ivec3
-     (parameters
-       (declare (in) ivec3 x))
-     ((return (expression ivec3 sign (var_ref x)))))
-
-   (signature ivec4
-     (parameters
-       (declare (in) ivec4 x))
-     ((return (expression ivec4 sign (var_ref x)))))
-))
-
diff --git a/src/glsl/builtins/ir/sin.ir b/src/glsl/builtins/ir/sin.ir
deleted file mode 100644
index e6009d8..0000000
--- a/src/glsl/builtins/ir/sin.ir
+++ /dev/null
@@ -1,21 +0,0 @@
-((function sin
-   (signature float
-     (parameters
-       (declare (in) float angle))
-     ((return (expression float sin (var_ref angle)))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 angle))
-     ((return (expression vec2 sin (var_ref angle)))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 angle))
-     ((return (expression vec3 sin (var_ref angle)))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 angle))
-     ((return (expression vec4 sin (var_ref angle)))))
-))
diff --git a/src/glsl/builtins/ir/sinh.ir b/src/glsl/builtins/ir/sinh.ir
deleted file mode 100644
index 31edd30..0000000
--- a/src/glsl/builtins/ir/sinh.ir
+++ /dev/null
@@ -1,30 +0,0 @@
-((function sinh
-   (signature float
-     (parameters
-       (declare (in) float x))
-     ((return (expression float * (constant float (0.5))
-                (expression float -
-		  (expression float exp (var_ref x))
-		  (expression float exp (expression float neg (var_ref x))))))))
-   (signature vec2
-     (parameters
-       (declare (in) vec2 x))
-     ((return (expression vec2 * (constant float (0.5))
-                (expression vec2 -
-		  (expression vec2 exp (var_ref x))
-		  (expression vec2 exp (expression vec2 neg (var_ref x))))))))
-   (signature vec3
-     (parameters
-       (declare (in) vec3 x))
-     ((return (expression vec3 * (constant float (0.5))
-                (expression vec3 -
-		  (expression vec3 exp (var_ref x))
-		  (expression vec3 exp (expression vec3 neg (var_ref x))))))))
-   (signature vec4
-     (parameters
-       (declare (in) vec4 x))
-     ((return (expression vec4 * (constant float (0.5))
-                (expression vec4 -
-		  (expression vec4 exp (var_ref x))
-		  (expression vec4 exp (expression vec4 neg (var_ref x))))))))
-))
diff --git a/src/glsl/builtins/ir/smoothstep.ir b/src/glsl/builtins/ir/smoothstep.ir
deleted file mode 100644
index 94c98b2..0000000
--- a/src/glsl/builtins/ir/smoothstep.ir
+++ /dev/null
@@ -1,100 +0,0 @@
-((function smoothstep
-   (signature float
-     (parameters
-       (declare (in) float edge0)
-       (declare (in) float edge1)
-       (declare (in) float x))
-     ((declare () float t)
-      (assign (x) (var_ref t)
-              (expression float max
-	                  (expression float min
-	                              (expression float / (expression float - (var_ref x) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))
-	                              (constant float (1.0)))
-	                  (constant float (0.0))))
-      (return (expression float * (var_ref t) (expression float * (var_ref t) (expression float - (constant float (3.0)) (expression float * (constant float (2.0)) (var_ref t))))))))
-   (signature vec2
-     (parameters
-       (declare (in) float edge0)
-       (declare (in) float edge1)
-       (declare (in) vec2 x))
-     ((declare () vec2 t)
-      (assign (xy) (var_ref t)
-              (expression vec2 max
-	                  (expression vec2 min
-	                              (expression vec2 / (expression vec2 - (var_ref x) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))
-	                              (constant float (1.0)))
-	                  (constant float (0.0))))
-      (return (expression vec2 * (var_ref t) (expression vec2 * (var_ref t) (expression vec2 - (constant float (3.0)) (expression vec2 * (constant float (2.0)) (var_ref t))))))))
-
-   (signature vec3
-     (parameters
-       (declare (in) float edge0)
-       (declare (in) float edge1)
-       (declare (in) vec3 x))
-     ((declare () vec3 t)
-      (assign (xyz) (var_ref t)
-              (expression vec3 max
-	                  (expression vec3 min
-	                              (expression vec3 / (expression vec3 - (var_ref x) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))
-	                              (constant float (1.0)))
-	                  (constant float (0.0))))
-      (return (expression vec3 * (var_ref t) (expression vec3 * (var_ref t) (expression vec3 - (constant float (3.0)) (expression vec3 * (constant float (2.0)) (var_ref t))))))))
-
-
-   (signature vec4
-     (parameters
-       (declare (in) float edge0)
-       (declare (in) float edge1)
-       (declare (in) vec4 x))
-     ((declare () vec4 t)
-      (assign (xyzw) (var_ref t)
-              (expression vec4 max
-	                  (expression vec4 min
-	                              (expression vec4 / (expression vec4 - (var_ref x) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))
-	                              (constant float (1.0)))
-	                  (constant float (0.0))))
-      (return (expression vec4 * (var_ref t) (expression vec4 * (var_ref t) (expression vec4 - (constant float (3.0)) (expression vec4 * (constant float (2.0)) (var_ref t))))))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 edge0)
-       (declare (in) vec2 edge1)
-       (declare (in) vec2 x))
-     ((declare () vec2 t)
-      (assign (xy) (var_ref t)
-              (expression vec2 max
-                          (expression vec2 min
-                                      (expression vec2 / (expression vec2 - (var_ref x) (var_ref edge0)) (expression vec2 - (var_ref edge1) (var_ref edge0)))
-                                      (constant float (1.0)))
-                          (constant float (0.0))))
-      (return (expression vec2 * (var_ref t) (expression vec2 * (var_ref t) (expression vec2 - (constant float (3.0)) (expression vec2 * (constant float (2.0)) (var_ref t))))))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 edge0)
-       (declare (in) vec3 edge1)
-       (declare (in) vec3 x))
-     ((declare () vec3 t)
-      (assign (xyz) (var_ref t)
-              (expression vec3 max
-                          (expression vec3 min
-                                      (expression vec3 / (expression vec3 - (var_ref x) (var_ref edge0)) (expression vec3 - (var_ref edge1) (var_ref edge0)))
-                                      (constant float (1.0)))
-                          (constant float (0.0))))
-      (return (expression vec3 * (var_ref t) (expression vec3 * (var_ref t) (expression vec3 - (constant float (3.0)) (expression vec3 * (constant float (2.0)) (var_ref t))))))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 edge0)
-       (declare (in) vec4 edge1)
-       (declare (in) vec4 x))
-     ((declare () vec4 t)
-      (assign (xyzw) (var_ref t)
-              (expression vec4 max
-                          (expression vec4 min
-                                      (expression vec4 / (expression vec4 - (var_ref x) (var_ref edge0)) (expression vec4 - (var_ref edge1) (var_ref edge0)))
-                                      (constant float (1.0)))
-                          (constant float (0.0))))
-      (return (expression vec4 * (var_ref t) (expression vec4 * (var_ref t) (expression vec4 - (constant float (3.0)) (expression vec4 * (constant float (2.0)) (var_ref t))))))))
-))
-
diff --git a/src/glsl/builtins/ir/sqrt.ir b/src/glsl/builtins/ir/sqrt.ir
deleted file mode 100644
index 0302d16..0000000
--- a/src/glsl/builtins/ir/sqrt.ir
+++ /dev/null
@@ -1,21 +0,0 @@
-((function sqrt
-   (signature float
-     (parameters
-       (declare (in) float arg0))
-     ((return (expression float sqrt (var_ref arg0)))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 arg0))
-     ((return (expression vec2 sqrt (var_ref arg0)))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 arg0))
-     ((return (expression vec3 sqrt (var_ref arg0)))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 arg0))
-     ((return (expression vec4 sqrt (var_ref arg0)))))
-))
diff --git a/src/glsl/builtins/ir/step.ir b/src/glsl/builtins/ir/step.ir
deleted file mode 100644
index efcd7bc..0000000
--- a/src/glsl/builtins/ir/step.ir
+++ /dev/null
@@ -1,68 +0,0 @@
-((function step
-   (signature float
-     (parameters
-       (declare (in) float edge)
-       (declare (in) float x))
-     ((return (expression float b2f (expression bool >= (var_ref x) (var_ref edge))))))
-
-   (signature vec2
-     (parameters
-       (declare (in) float edge)
-       (declare (in) vec2 x))
-     ((declare () vec2 t)
-      (assign (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge))))
-      (assign (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge))))
-      (return (var_ref t))))
-
-   (signature vec3
-     (parameters
-       (declare (in) float edge)
-       (declare (in) vec3 x))
-     ((declare () vec3 t)
-      (assign (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge))))
-      (assign (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge))))
-      (assign (z) (var_ref t) (expression float b2f (expression bool >= (swiz z (var_ref x))(var_ref edge))))
-      (return (var_ref t))))
-
-   (signature vec4
-     (parameters
-       (declare (in) float edge)
-       (declare (in) vec4 x))
-     ((declare () vec4 t)
-      (assign (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge))))
-      (assign (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge))))
-      (assign (z) (var_ref t) (expression float b2f (expression bool >= (swiz z (var_ref x))(var_ref edge))))
-      (assign (w) (var_ref t) (expression float b2f (expression bool >= (swiz w (var_ref x))(var_ref edge))))
-      (return (var_ref t))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 edge)
-       (declare (in) vec2 x))
-     ((declare () vec2 t)
-      (assign (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(swiz x (var_ref edge)))))
-      (assign (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(swiz y (var_ref edge)))))
-      (return (var_ref t))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 edge)
-       (declare (in) vec3 x))
-     ((declare () vec3 t)
-      (assign (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(swiz x (var_ref edge)))))
-      (assign (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(swiz y (var_ref edge)))))
-      (assign (z) (var_ref t) (expression float b2f (expression bool >= (swiz z (var_ref x))(swiz z (var_ref edge)))))
-      (return (var_ref t))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 edge)
-       (declare (in) vec4 x))
-     ((declare () vec4 t)
-      (assign (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(swiz x (var_ref edge)))))
-      (assign (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(swiz y (var_ref edge)))))
-      (assign (z) (var_ref t) (expression float b2f (expression bool >= (swiz z (var_ref x))(swiz z (var_ref edge)))))
-      (assign (w) (var_ref t) (expression float b2f (expression bool >= (swiz w (var_ref x))(swiz w (var_ref edge)))))
-      (return (var_ref t))))
-))
-
diff --git a/src/glsl/builtins/ir/tan.ir b/src/glsl/builtins/ir/tan.ir
deleted file mode 100644
index 9979863..0000000
--- a/src/glsl/builtins/ir/tan.ir
+++ /dev/null
@@ -1,21 +0,0 @@
-((function tan
-   (signature float
-     (parameters
-       (declare (in) float angle))
-     ((return (expression float / (expression float sin (var_ref angle)) (expression float cos (var_ref angle))))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 angle))
-     ((return (expression vec2 / (expression vec2 sin (var_ref angle)) (expression vec2 cos (var_ref angle))))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 angle))
-     ((return (expression vec3 / (expression vec3 sin (var_ref angle)) (expression vec3 cos (var_ref angle))))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 angle))
-     ((return (expression vec4 / (expression vec4 sin (var_ref angle)) (expression vec4 cos (var_ref angle))))))
-))
diff --git a/src/glsl/builtins/ir/tanh.ir b/src/glsl/builtins/ir/tanh.ir
deleted file mode 100644
index 3b7271b..0000000
--- a/src/glsl/builtins/ir/tanh.ir
+++ /dev/null
@@ -1,42 +0,0 @@
-((function tanh
-   (signature float
-     (parameters
-       (declare (in) float x))
-     ((return (expression float /
-                (expression float -
-		  (expression float exp (var_ref x))
-		  (expression float exp (expression float neg (var_ref x))))
-                (expression float +
-		  (expression float exp (var_ref x))
-		  (expression float exp (expression float neg (var_ref x))))))))
-   (signature vec2
-     (parameters
-       (declare (in) vec2 x))
-     ((return (expression vec2 /
-                (expression vec2 -
-		  (expression vec2 exp (var_ref x))
-		  (expression vec2 exp (expression vec2 neg (var_ref x))))
-                (expression vec2 +
-		  (expression vec2 exp (var_ref x))
-		  (expression vec2 exp (expression vec2 neg (var_ref x))))))))
-   (signature vec3
-     (parameters
-       (declare (in) vec3 x))
-     ((return (expression vec3 /
-                (expression vec3 -
-		  (expression vec3 exp (var_ref x))
-		  (expression vec3 exp (expression vec3 neg (var_ref x))))
-                (expression vec3 +
-		  (expression vec3 exp (var_ref x))
-		  (expression vec3 exp (expression vec3 neg (var_ref x))))))))
-   (signature vec4
-     (parameters
-       (declare (in) vec4 x))
-     ((return (expression vec4 /
-                (expression vec4 -
-		  (expression vec4 exp (var_ref x))
-		  (expression vec4 exp (expression vec4 neg (var_ref x))))
-                (expression vec4 +
-		  (expression vec4 exp (var_ref x))
-		  (expression vec4 exp (expression vec4 neg (var_ref x))))))))
-))
diff --git a/src/glsl/builtins/ir/transpose.ir b/src/glsl/builtins/ir/transpose.ir
deleted file mode 100644
index 043327d..0000000
--- a/src/glsl/builtins/ir/transpose.ir
+++ /dev/null
@@ -1,139 +0,0 @@
-((function transpose
-   (signature mat2
-     (parameters
-       (declare (in) mat2 m))
-     ((declare () mat2 t)
-      (assign (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))
-      (assign (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))
-      (assign (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))
-      (assign (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))
-(return (var_ref t))))
-
-   (signature mat3x2
-     (parameters
-       (declare (in) mat2x3 m))
-     ((declare () mat3x2 t)
-      (assign (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))
-      (assign (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))
-      (assign (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))
-      (assign (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))
-      (assign (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))
-      (assign (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))
-(return (var_ref t))))
-
-   (signature mat4x2
-     (parameters
-       (declare (in) mat2x4 m))
-     ((declare () mat4x2 t)
-      (assign (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))
-      (assign (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))
-      (assign (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))
-      (assign (x) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (0)))))
-      (assign (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))
-      (assign (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))
-      (assign (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))
-      (assign (y) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (1)))))
-(return (var_ref t))))
-
-   (signature mat2x3
-     (parameters
-       (declare (in) mat3x2 m))
-     ((declare () mat2x3 t)
-      (assign (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))
-      (assign (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))
-      (assign (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))
-      (assign (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))
-      (assign (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))
-      (assign (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))
-(return (var_ref t))))
-
-   (signature mat3
-     (parameters
-       (declare (in) mat3 m))
-     ((declare () mat3 t)
-      (assign (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))
-      (assign (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))
-      (assign (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))
-      (assign (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))
-      (assign (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))
-      (assign (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))
-      (assign (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))
-      (assign (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))
-      (assign (z) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (2)))))
-(return (var_ref t))))
-
-   (signature mat4x3
-     (parameters
-       (declare (in) mat3x4 m))
-     ((declare () mat4x3 t)
-      (assign (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))
-      (assign (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))
-      (assign (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))
-      (assign (x) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (0)))))
-      (assign (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))
-      (assign (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))
-      (assign (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))
-      (assign (y) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (1)))))
-      (assign (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))
-      (assign (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))
-      (assign (z) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (2)))))
-      (assign (z) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (2)))))
-(return (var_ref t))))
-
-   (signature mat2x4
-     (parameters
-       (declare (in) mat4x2 m))
-     ((declare () mat2x4 t)
-      (assign (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))
-      (assign (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))
-      (assign (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))
-      (assign (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))
-      (assign (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))
-      (assign (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))
-      (assign (w) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (3)))))
-      (assign (w) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (3)))))
-(return (var_ref t))))
-
-   (signature mat3x4
-     (parameters
-       (declare (in) mat4x3 m))
-     ((declare () mat3x4 t)
-      (assign (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))
-      (assign (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))
-      (assign (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))
-      (assign (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))
-      (assign (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))
-      (assign (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))
-      (assign (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))
-      (assign (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))
-      (assign (z) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (2)))))
-      (assign (w) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (3)))))
-      (assign (w) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (3)))))
-      (assign (w) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (3)))))
-(return (var_ref t))))
-
-   (signature mat4
-     (parameters
-       (declare (in) mat4 m))
-     ((declare () mat4 t)
-      (assign (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))
-      (assign (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))
-      (assign (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))
-      (assign (x) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (0)))))
-      (assign (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))
-      (assign (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))
-      (assign (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))
-      (assign (y) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (1)))))
-      (assign (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))
-      (assign (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))
-      (assign (z) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (2)))))
-      (assign (z) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (2)))))
-      (assign (w) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (3)))))
-      (assign (w) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (3)))))
-      (assign (w) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (3)))))
-      (assign (w) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (3)))))
-(return (var_ref t))))
-)
-
-)
-
diff --git a/src/glsl/builtins/ir/trunc.ir b/src/glsl/builtins/ir/trunc.ir
deleted file mode 100644
index d320a2a..0000000
--- a/src/glsl/builtins/ir/trunc.ir
+++ /dev/null
@@ -1,21 +0,0 @@
-((function trunc
-   (signature float
-     (parameters
-       (declare (in) float arg0))
-     ((return (expression float trunc (var_ref arg0)))))
-
-   (signature vec2
-     (parameters
-       (declare (in) vec2 arg0))
-     ((return (expression vec2 trunc (var_ref arg0)))))
-
-   (signature vec3
-     (parameters
-       (declare (in) vec3 arg0))
-     ((return (expression vec3 trunc (var_ref arg0)))))
-
-   (signature vec4
-     (parameters
-       (declare (in) vec4 arg0))
-     ((return (expression vec4 trunc (var_ref arg0)))))
-))
diff --git a/src/glsl/builtins/ir/uintBitsToFloat.ir b/src/glsl/builtins/ir/uintBitsToFloat.ir
deleted file mode 100644
index 1073d76..0000000
--- a/src/glsl/builtins/ir/uintBitsToFloat.ir
+++ /dev/null
@@ -1,21 +0,0 @@
-((function uintBitsToFloat
-   (signature float
-     (parameters
-       (declare (in) uint arg))
-     ((return (expression float bitcast_u2f (var_ref arg)))))
-
-   (signature vec2
-     (parameters
-       (declare (in) uvec2 arg))
-     ((return (expression vec2 bitcast_u2f (var_ref arg)))))
-
-   (signature vec3
-     (parameters
-       (declare (in) uvec3 arg))
-     ((return (expression vec3 bitcast_u2f (var_ref arg)))))
-
-   (signature vec4
-     (parameters
-       (declare (in) uvec4 arg))
-     ((return (expression vec4 bitcast_u2f (var_ref arg)))))
-))
diff --git a/src/glsl/builtins/ir/unpackHalf2x16.ir b/src/glsl/builtins/ir/unpackHalf2x16.ir
deleted file mode 100644
index f5b6fc2..0000000
--- a/src/glsl/builtins/ir/unpackHalf2x16.ir
+++ /dev/null
@@ -1,6 +0,0 @@
-((function unpackHalf2x16
-   (signature vec2
-     (parameters
-       (declare (in) uint arg0))
-     ((return (expression vec2 unpackHalf2x16 (var_ref arg0)))))
-))
diff --git a/src/glsl/builtins/ir/unpackSnorm2x16.ir b/src/glsl/builtins/ir/unpackSnorm2x16.ir
deleted file mode 100644
index 9092a06..0000000
--- a/src/glsl/builtins/ir/unpackSnorm2x16.ir
+++ /dev/null
@@ -1,6 +0,0 @@
-((function unpackSnorm2x16
-   (signature vec2
-     (parameters
-       (declare (in) uint arg0))
-     ((return (expression vec2 unpackSnorm2x16 (var_ref arg0)))))
-))
diff --git a/src/glsl/builtins/ir/unpackSnorm4x8.ir b/src/glsl/builtins/ir/unpackSnorm4x8.ir
deleted file mode 100644
index 3c6ed4a..0000000
--- a/src/glsl/builtins/ir/unpackSnorm4x8.ir
+++ /dev/null
@@ -1,6 +0,0 @@
-((function unpackSnorm4x8
-   (signature vec4
-     (parameters
-       (declare (in) uint arg0))
-     ((return (expression vec4 unpackSnorm4x8 (var_ref arg0)))))
-))
diff --git a/src/glsl/builtins/ir/unpackUnorm2x16.ir b/src/glsl/builtins/ir/unpackUnorm2x16.ir
deleted file mode 100644
index 935dc85..0000000
--- a/src/glsl/builtins/ir/unpackUnorm2x16.ir
+++ /dev/null
@@ -1,6 +0,0 @@
-((function unpackUnorm2x16
-   (signature vec2
-     (parameters
-       (declare (in) uint arg0))
-     ((return (expression vec2 unpackUnorm2x16 (var_ref arg0)))))
-))
diff --git a/src/glsl/builtins/ir/unpackUnorm4x8.ir b/src/glsl/builtins/ir/unpackUnorm4x8.ir
deleted file mode 100644
index e1dfd74..0000000
--- a/src/glsl/builtins/ir/unpackUnorm4x8.ir
+++ /dev/null
@@ -1,6 +0,0 @@
-((function unpackUnorm4x8
-   (signature vec4
-     (parameters
-       (declare (in) uint arg0))
-     ((return (expression vec4 unpackUnorm4x8 (var_ref arg0)))))
-))
diff --git a/src/glsl/builtins/profiles/100es.frag b/src/glsl/builtins/profiles/100es.frag
deleted file mode 100644
index 28c4527..0000000
--- a/src/glsl/builtins/profiles/100es.frag
+++ /dev/null
@@ -1,8 +0,0 @@
-#version 100
-precision highp float;
-
-vec4 texture2D       (sampler2D sampler, vec2 coord, float bias);
-vec4 texture2DProj   (sampler2D sampler, vec3 coord, float bias);
-vec4 texture2DProj   (sampler2D sampler, vec4 coord, float bias);
-
-vec4 textureCube     (samplerCube sampler, vec3 coord, float bias);
diff --git a/src/glsl/builtins/profiles/100es.glsl b/src/glsl/builtins/profiles/100es.glsl
deleted file mode 100644
index 0d60a7f..0000000
--- a/src/glsl/builtins/profiles/100es.glsl
+++ /dev/null
@@ -1,296 +0,0 @@
-#version 100
-/*
- * 8.1 - Angle and Trigonometry Functions
- */
-float radians(float degrees);
-vec2  radians(vec2  degrees);
-vec3  radians(vec3  degrees);
-vec4  radians(vec4  degrees);
-
-float degrees(float radians);
-vec2  degrees(vec2  radians);
-vec3  degrees(vec3  radians);
-vec4  degrees(vec4  radians);
-
-float sin(float angle);
-vec2  sin(vec2  angle);
-vec3  sin(vec3  angle);
-vec4  sin(vec4  angle);
-
-float cos(float angle);
-vec2  cos(vec2  angle);
-vec3  cos(vec3  angle);
-vec4  cos(vec4  angle);
-
-float tan(float angle);
-vec2  tan(vec2  angle);
-vec3  tan(vec3  angle);
-vec4  tan(vec4  angle);
-
-float asin(float angle);
-vec2  asin(vec2  angle);
-vec3  asin(vec3  angle);
-vec4  asin(vec4  angle);
-
-float acos(float angle);
-vec2  acos(vec2  angle);
-vec3  acos(vec3  angle);
-vec4  acos(vec4  angle);
-
-float atan(float y, float x);
-vec2  atan(vec2  y, vec2  x);
-vec3  atan(vec3  y, vec3  x);
-vec4  atan(vec4  y, vec4  x);
-
-float atan(float y_over_x);
-vec2  atan(vec2  y_over_x);
-vec3  atan(vec3  y_over_x);
-vec4  atan(vec4  y_over_x);
-
-/*
- * 8.2 - Exponential Functions
- */
-float pow(float x, float y);
-vec2  pow(vec2  x, vec2  y);
-vec3  pow(vec3  x, vec3  y);
-vec4  pow(vec4  x, vec4  y);
-
-float exp(float x);
-vec2  exp(vec2  x);
-vec3  exp(vec3  x);
-vec4  exp(vec4  x);
-
-float log(float x);
-vec2  log(vec2  x);
-vec3  log(vec3  x);
-vec4  log(vec4  x);
-
-float exp2(float x);
-vec2  exp2(vec2  x);
-vec3  exp2(vec3  x);
-vec4  exp2(vec4  x);
-
-float log2(float x);
-vec2  log2(vec2  x);
-vec3  log2(vec3  x);
-vec4  log2(vec4  x);
-
-float sqrt(float x);
-vec2  sqrt(vec2  x);
-vec3  sqrt(vec3  x);
-vec4  sqrt(vec4  x);
-
-float inversesqrt(float x);
-vec2  inversesqrt(vec2  x);
-vec3  inversesqrt(vec3  x);
-vec4  inversesqrt(vec4  x);
-
-/*
- * 8.3 - Common Functions
- */
-float abs(float x);
-vec2  abs(vec2  x);
-vec3  abs(vec3  x);
-vec4  abs(vec4  x);
-
-float sign(float x);
-vec2  sign(vec2  x);
-vec3  sign(vec3  x);
-vec4  sign(vec4  x);
-
-float floor(float x);
-vec2  floor(vec2  x);
-vec3  floor(vec3  x);
-vec4  floor(vec4  x);
-
-float ceil(float x);
-vec2  ceil(vec2  x);
-vec3  ceil(vec3  x);
-vec4  ceil(vec4  x);
-
-float fract(float x);
-vec2  fract(vec2  x);
-vec3  fract(vec3  x);
-vec4  fract(vec4  x);
-
-float mod(float x, float y);
-vec2  mod(vec2  x, float y);
-vec3  mod(vec3  x, float y);
-vec4  mod(vec4  x, float y);
-
-vec2  mod(vec2  x, vec2  y);
-vec3  mod(vec3  x, vec3  y);
-vec4  mod(vec4  x, vec4  y);
-
-float min(float x, float y);
-vec2  min(vec2  x, vec2  y);
-vec3  min(vec3  x, vec3  y);
-vec4  min(vec4  x, vec4  y);
-
-vec2  min(vec2  x, float y);
-vec3  min(vec3  x, float y);
-vec4  min(vec4  x, float y);
-
-float max(float x, float y);
-vec2  max(vec2  x, vec2  y);
-vec3  max(vec3  x, vec3  y);
-vec4  max(vec4  x, vec4  y);
-
-vec2  max(vec2  x, float y);
-vec3  max(vec3  x, float y);
-vec4  max(vec4  x, float y);
-
-float clamp(float x, float minVal, float maxVal);
-vec2  clamp(vec2  x, vec2  minVal, vec2  maxVal);
-vec3  clamp(vec3  x, vec3  minVal, vec3  maxVal);
-vec4  clamp(vec4  x, vec4  minVal, vec4  maxVal);
-
-vec2  clamp(vec2  x, float minVal, float maxVal);
-vec3  clamp(vec3  x, float minVal, float maxVal);
-vec4  clamp(vec4  x, float minVal, float maxVal);
-
-float mix(float x, float y, float a);
-vec2  mix(vec2  x, vec2  y, vec2  a);
-vec3  mix(vec3  x, vec3  y, vec3  a);
-vec4  mix(vec4  x, vec4  y, vec4  a);
-
-vec2  mix(vec2  x, vec2  y, float a);
-vec3  mix(vec3  x, vec3  y, float a);
-vec4  mix(vec4  x, vec4  y, float a);
-
-float step(float edge, float x);
-vec2  step(vec2  edge, vec2  x);
-vec3  step(vec3  edge, vec3  x);
-vec4  step(vec4  edge, vec4  x);
-
-vec2  step(float edge, vec2  x);
-vec3  step(float edge, vec3  x);
-vec4  step(float edge, vec4  x);
-
-float smoothstep(float edge0, float edge1, float x);
-vec2  smoothstep(vec2  edge0, vec2  edge1, vec2  x);
-vec3  smoothstep(vec3  edge0, vec3  edge1, vec3  x);
-vec4  smoothstep(vec4  edge0, vec4  edge1, vec4  x);
-
-vec2  smoothstep(float edge0, float edge1, vec2  x);
-vec3  smoothstep(float edge0, float edge1, vec3  x);
-vec4  smoothstep(float edge0, float edge1, vec4  x);
-
-/*
- * 8.4 - Geometric Functions
- */
-float length(float x);
-float length(vec2  x);
-float length(vec3  x);
-float length(vec4  x);
-
-float distance(float p0, float p1);
-float distance(vec2  p0, vec2  p1);
-float distance(vec3  p0, vec3  p1);
-float distance(vec4  p0, vec4  p1);
-
-float dot(float x, float y);
-float dot(vec2  x, vec2  y);
-float dot(vec3  x, vec3  y);
-float dot(vec4  x, vec4  y);
-
-vec3 cross(vec3 x, vec3 y);
-
-float normalize(float x);
-vec2  normalize(vec2  x);
-vec3  normalize(vec3  x);
-vec4  normalize(vec4  x);
-
-float faceforward(float N, float I, float Nref);
-vec2  faceforward(vec2  N, vec2  I, vec2  Nref);
-vec3  faceforward(vec3  N, vec3  I, vec3  Nref);
-vec4  faceforward(vec4  N, vec4  I, vec4  Nref);
-
-float reflect(float I, float N);
-vec2  reflect(vec2  I, vec2  N);
-vec3  reflect(vec3  I, vec3  N);
-vec4  reflect(vec4  I, vec4  N);
-
-float refract(float I, float N, float eta);
-vec2  refract(vec2  I, vec2  N, float eta);
-vec3  refract(vec3  I, vec3  N, float eta);
-vec4  refract(vec4  I, vec4  N, float eta);
-
-/*
- * 8.5 - Matrix Functions
- */
-mat2 matrixCompMult(mat2 x, mat2 y);
-mat3 matrixCompMult(mat3 x, mat3 y);
-mat4 matrixCompMult(mat4 x, mat4 y);
-
-/*
- * 8.6 - Vector Relational Functions
- */
-bvec2 lessThan( vec2 x,  vec2 y);
-bvec3 lessThan( vec3 x,  vec3 y);
-bvec4 lessThan( vec4 x,  vec4 y);
-bvec2 lessThan(ivec2 x, ivec2 y);
-bvec3 lessThan(ivec3 x, ivec3 y);
-bvec4 lessThan(ivec4 x, ivec4 y);
-
-bvec2 lessThanEqual( vec2 x,  vec2 y);
-bvec3 lessThanEqual( vec3 x,  vec3 y);
-bvec4 lessThanEqual( vec4 x,  vec4 y);
-bvec2 lessThanEqual(ivec2 x, ivec2 y);
-bvec3 lessThanEqual(ivec3 x, ivec3 y);
-bvec4 lessThanEqual(ivec4 x, ivec4 y);
-
-bvec2 greaterThan( vec2 x,  vec2 y);
-bvec3 greaterThan( vec3 x,  vec3 y);
-bvec4 greaterThan( vec4 x,  vec4 y);
-bvec2 greaterThan(ivec2 x, ivec2 y);
-bvec3 greaterThan(ivec3 x, ivec3 y);
-bvec4 greaterThan(ivec4 x, ivec4 y);
-
-bvec2 greaterThanEqual( vec2 x,  vec2 y);
-bvec3 greaterThanEqual( vec3 x,  vec3 y);
-bvec4 greaterThanEqual( vec4 x,  vec4 y);
-bvec2 greaterThanEqual(ivec2 x, ivec2 y);
-bvec3 greaterThanEqual(ivec3 x, ivec3 y);
-bvec4 greaterThanEqual(ivec4 x, ivec4 y);
-
-bvec2 equal( vec2 x,  vec2 y);
-bvec3 equal( vec3 x,  vec3 y);
-bvec4 equal( vec4 x,  vec4 y);
-bvec2 equal(ivec2 x, ivec2 y);
-bvec3 equal(ivec3 x, ivec3 y);
-bvec4 equal(ivec4 x, ivec4 y);
-bvec2 equal(bvec2 x, bvec2 y);
-bvec3 equal(bvec3 x, bvec3 y);
-bvec4 equal(bvec4 x, bvec4 y);
-
-bvec2 notEqual( vec2 x,  vec2 y);
-bvec3 notEqual( vec3 x,  vec3 y);
-bvec4 notEqual( vec4 x,  vec4 y);
-bvec2 notEqual(ivec2 x, ivec2 y);
-bvec3 notEqual(ivec3 x, ivec3 y);
-bvec4 notEqual(ivec4 x, ivec4 y);
-bvec2 notEqual(bvec2 x, bvec2 y);
-bvec3 notEqual(bvec3 x, bvec3 y);
-bvec4 notEqual(bvec4 x, bvec4 y);
-
-bool any(bvec2 x);
-bool any(bvec3 x);
-bool any(bvec4 x);
-
-bool all(bvec2 x);
-bool all(bvec3 x);
-bool all(bvec4 x);
-
-bvec2 not(bvec2 x);
-bvec3 not(bvec3 x);
-bvec4 not(bvec4 x);
-
-/*
- * 8.7 - Texture Lookup Functions
- */
-vec4 texture2D       (sampler2D sampler, vec2 coord);
-vec4 texture2DProj   (sampler2D sampler, vec3 coord);
-vec4 texture2DProj   (sampler2D sampler, vec4 coord);
-
-vec4 textureCube     (samplerCube sampler, vec3 coord);
diff --git a/src/glsl/builtins/profiles/100es.vert b/src/glsl/builtins/profiles/100es.vert
deleted file mode 100644
index 8f7ea61..0000000
--- a/src/glsl/builtins/profiles/100es.vert
+++ /dev/null
@@ -1,6 +0,0 @@
-#version 100
-vec4 texture2DLod    (sampler2D sampler, vec2 coord, float lod);
-vec4 texture2DProjLod(sampler2D sampler, vec3 coord, float lod);
-vec4 texture2DProjLod(sampler2D sampler, vec4 coord, float lod);
-
-vec4 textureCubeLod  (samplerCube sampler, vec3 coord, float lod);
diff --git a/src/glsl/builtins/profiles/110.frag b/src/glsl/builtins/profiles/110.frag
deleted file mode 100644
index cc1e342..0000000
--- a/src/glsl/builtins/profiles/110.frag
+++ /dev/null
@@ -1,40 +0,0 @@
-#version 110
-/*
- * 8.7 - Texture Lookup Functions
- * "The bias parameter is not accepted in a vertex shader."
- */
-vec4 texture1D       (sampler1D sampler, float coord, float bias);
-vec4 texture1DProj   (sampler1D sampler, vec2  coord, float bias);
-vec4 texture1DProj   (sampler1D sampler, vec4  coord, float bias);
-
-vec4 texture2D       (sampler2D sampler, vec2 coord, float bias);
-vec4 texture2DProj   (sampler2D sampler, vec3 coord, float bias);
-vec4 texture2DProj   (sampler2D sampler, vec4 coord, float bias);
-
-vec4 texture3D       (sampler3D sampler, vec3 coord, float bias);
-vec4 texture3DProj   (sampler3D sampler, vec4 coord, float bias);
-
-vec4 textureCube     (samplerCube sampler, vec3 coord, float bias);
-
-vec4 shadow1D       (sampler1DShadow sampler, vec3 coord, float bias);
-vec4 shadow2D       (sampler2DShadow sampler, vec3 coord, float bias);
-vec4 shadow1DProj   (sampler1DShadow sampler, vec4 coord, float bias);
-vec4 shadow2DProj   (sampler2DShadow sampler, vec4 coord, float bias);
-
-/*
- * 8.8 - Fragment Processing Functions
- */
-float dFdx(float p);
-vec2  dFdx(vec2  p);
-vec3  dFdx(vec3  p);
-vec4  dFdx(vec4  p);
-
-float dFdy(float p);
-vec2  dFdy(vec2  p);
-vec3  dFdy(vec3  p);
-vec4  dFdy(vec4  p);
-
-float fwidth(float p);
-vec2  fwidth(vec2  p);
-vec3  fwidth(vec3  p);
-vec4  fwidth(vec4  p);
diff --git a/src/glsl/builtins/profiles/110.glsl b/src/glsl/builtins/profiles/110.glsl
deleted file mode 100644
index 821978b..0000000
--- a/src/glsl/builtins/profiles/110.glsl
+++ /dev/null
@@ -1,332 +0,0 @@
-#version 110
-/*
- * 8.1 - Angle and Trigonometry Functions
- */
-float radians(float degrees);
-vec2  radians(vec2  degrees);
-vec3  radians(vec3  degrees);
-vec4  radians(vec4  degrees);
-
-float degrees(float radians);
-vec2  degrees(vec2  radians);
-vec3  degrees(vec3  radians);
-vec4  degrees(vec4  radians);
-
-float sin(float angle);
-vec2  sin(vec2  angle);
-vec3  sin(vec3  angle);
-vec4  sin(vec4  angle);
-
-float cos(float angle);
-vec2  cos(vec2  angle);
-vec3  cos(vec3  angle);
-vec4  cos(vec4  angle);
-
-float tan(float angle);
-vec2  tan(vec2  angle);
-vec3  tan(vec3  angle);
-vec4  tan(vec4  angle);
-
-float asin(float angle);
-vec2  asin(vec2  angle);
-vec3  asin(vec3  angle);
-vec4  asin(vec4  angle);
-
-float acos(float angle);
-vec2  acos(vec2  angle);
-vec3  acos(vec3  angle);
-vec4  acos(vec4  angle);
-
-float atan(float y, float x);
-vec2  atan(vec2  y, vec2  x);
-vec3  atan(vec3  y, vec3  x);
-vec4  atan(vec4  y, vec4  x);
-
-float atan(float y_over_x);
-vec2  atan(vec2  y_over_x);
-vec3  atan(vec3  y_over_x);
-vec4  atan(vec4  y_over_x);
-
-/*
- * 8.2 - Exponential Functions
- */
-float pow(float x, float y);
-vec2  pow(vec2  x, vec2  y);
-vec3  pow(vec3  x, vec3  y);
-vec4  pow(vec4  x, vec4  y);
-
-float exp(float x);
-vec2  exp(vec2  x);
-vec3  exp(vec3  x);
-vec4  exp(vec4  x);
-
-float log(float x);
-vec2  log(vec2  x);
-vec3  log(vec3  x);
-vec4  log(vec4  x);
-
-float exp2(float x);
-vec2  exp2(vec2  x);
-vec3  exp2(vec3  x);
-vec4  exp2(vec4  x);
-
-float log2(float x);
-vec2  log2(vec2  x);
-vec3  log2(vec3  x);
-vec4  log2(vec4  x);
-
-float sqrt(float x);
-vec2  sqrt(vec2  x);
-vec3  sqrt(vec3  x);
-vec4  sqrt(vec4  x);
-
-float inversesqrt(float x);
-vec2  inversesqrt(vec2  x);
-vec3  inversesqrt(vec3  x);
-vec4  inversesqrt(vec4  x);
-
-/*
- * 8.3 - Common Functions
- */
-float abs(float x);
-vec2  abs(vec2  x);
-vec3  abs(vec3  x);
-vec4  abs(vec4  x);
-
-float sign(float x);
-vec2  sign(vec2  x);
-vec3  sign(vec3  x);
-vec4  sign(vec4  x);
-
-float floor(float x);
-vec2  floor(vec2  x);
-vec3  floor(vec3  x);
-vec4  floor(vec4  x);
-
-float ceil(float x);
-vec2  ceil(vec2  x);
-vec3  ceil(vec3  x);
-vec4  ceil(vec4  x);
-
-float fract(float x);
-vec2  fract(vec2  x);
-vec3  fract(vec3  x);
-vec4  fract(vec4  x);
-
-float mod(float x, float y);
-vec2  mod(vec2  x, float y);
-vec3  mod(vec3  x, float y);
-vec4  mod(vec4  x, float y);
-
-vec2  mod(vec2  x, vec2  y);
-vec3  mod(vec3  x, vec3  y);
-vec4  mod(vec4  x, vec4  y);
-
-float min(float x, float y);
-vec2  min(vec2  x, vec2  y);
-vec3  min(vec3  x, vec3  y);
-vec4  min(vec4  x, vec4  y);
-
-vec2  min(vec2  x, float y);
-vec3  min(vec3  x, float y);
-vec4  min(vec4  x, float y);
-
-float max(float x, float y);
-vec2  max(vec2  x, vec2  y);
-vec3  max(vec3  x, vec3  y);
-vec4  max(vec4  x, vec4  y);
-
-vec2  max(vec2  x, float y);
-vec3  max(vec3  x, float y);
-vec4  max(vec4  x, float y);
-
-float clamp(float x, float minVal, float maxVal);
-vec2  clamp(vec2  x, vec2  minVal, vec2  maxVal);
-vec3  clamp(vec3  x, vec3  minVal, vec3  maxVal);
-vec4  clamp(vec4  x, vec4  minVal, vec4  maxVal);
-
-vec2  clamp(vec2  x, float minVal, float maxVal);
-vec3  clamp(vec3  x, float minVal, float maxVal);
-vec4  clamp(vec4  x, float minVal, float maxVal);
-
-float mix(float x, float y, float a);
-vec2  mix(vec2  x, vec2  y, vec2  a);
-vec3  mix(vec3  x, vec3  y, vec3  a);
-vec4  mix(vec4  x, vec4  y, vec4  a);
-
-vec2  mix(vec2  x, vec2  y, float a);
-vec3  mix(vec3  x, vec3  y, float a);
-vec4  mix(vec4  x, vec4  y, float a);
-
-float step(float edge, float x);
-vec2  step(vec2  edge, vec2  x);
-vec3  step(vec3  edge, vec3  x);
-vec4  step(vec4  edge, vec4  x);
-
-vec2  step(float edge, vec2  x);
-vec3  step(float edge, vec3  x);
-vec4  step(float edge, vec4  x);
-
-float smoothstep(float edge0, float edge1, float x);
-vec2  smoothstep(vec2  edge0, vec2  edge1, vec2  x);
-vec3  smoothstep(vec3  edge0, vec3  edge1, vec3  x);
-vec4  smoothstep(vec4  edge0, vec4  edge1, vec4  x);
-
-vec2  smoothstep(float edge0, float edge1, vec2  x);
-vec3  smoothstep(float edge0, float edge1, vec3  x);
-vec4  smoothstep(float edge0, float edge1, vec4  x);
-
-/*
- * 8.4 - Geometric Functions
- */
-float length(float x);
-float length(vec2  x);
-float length(vec3  x);
-float length(vec4  x);
-
-float distance(float p0, float p1);
-float distance(vec2  p0, vec2  p1);
-float distance(vec3  p0, vec3  p1);
-float distance(vec4  p0, vec4  p1);
-
-float dot(float x, float y);
-float dot(vec2  x, vec2  y);
-float dot(vec3  x, vec3  y);
-float dot(vec4  x, vec4  y);
-
-vec3 cross(vec3 x, vec3 y);
-
-float normalize(float x);
-vec2  normalize(vec2  x);
-vec3  normalize(vec3  x);
-vec4  normalize(vec4  x);
-
-float faceforward(float N, float I, float Nref);
-vec2  faceforward(vec2  N, vec2  I, vec2  Nref);
-vec3  faceforward(vec3  N, vec3  I, vec3  Nref);
-vec4  faceforward(vec4  N, vec4  I, vec4  Nref);
-
-float reflect(float I, float N);
-vec2  reflect(vec2  I, vec2  N);
-vec3  reflect(vec3  I, vec3  N);
-vec4  reflect(vec4  I, vec4  N);
-
-float refract(float I, float N, float eta);
-vec2  refract(vec2  I, vec2  N, float eta);
-vec3  refract(vec3  I, vec3  N, float eta);
-vec4  refract(vec4  I, vec4  N, float eta);
-
-
-/*
- * 8.5 - Matrix Functions
- */
-mat2 matrixCompMult(mat2 x, mat2 y);
-mat3 matrixCompMult(mat3 x, mat3 y);
-mat4 matrixCompMult(mat4 x, mat4 y);
-
-/*
- * 8.6 - Vector Relational Functions
- */
-bvec2 lessThan( vec2 x,  vec2 y);
-bvec3 lessThan( vec3 x,  vec3 y);
-bvec4 lessThan( vec4 x,  vec4 y);
-bvec2 lessThan(ivec2 x, ivec2 y);
-bvec3 lessThan(ivec3 x, ivec3 y);
-bvec4 lessThan(ivec4 x, ivec4 y);
-
-bvec2 lessThanEqual( vec2 x,  vec2 y);
-bvec3 lessThanEqual( vec3 x,  vec3 y);
-bvec4 lessThanEqual( vec4 x,  vec4 y);
-bvec2 lessThanEqual(ivec2 x, ivec2 y);
-bvec3 lessThanEqual(ivec3 x, ivec3 y);
-bvec4 lessThanEqual(ivec4 x, ivec4 y);
-
-bvec2 greaterThan( vec2 x,  vec2 y);
-bvec3 greaterThan( vec3 x,  vec3 y);
-bvec4 greaterThan( vec4 x,  vec4 y);
-bvec2 greaterThan(ivec2 x, ivec2 y);
-bvec3 greaterThan(ivec3 x, ivec3 y);
-bvec4 greaterThan(ivec4 x, ivec4 y);
-
-bvec2 greaterThanEqual( vec2 x,  vec2 y);
-bvec3 greaterThanEqual( vec3 x,  vec3 y);
-bvec4 greaterThanEqual( vec4 x,  vec4 y);
-bvec2 greaterThanEqual(ivec2 x, ivec2 y);
-bvec3 greaterThanEqual(ivec3 x, ivec3 y);
-bvec4 greaterThanEqual(ivec4 x, ivec4 y);
-
-bvec2 equal( vec2 x,  vec2 y);
-bvec3 equal( vec3 x,  vec3 y);
-bvec4 equal( vec4 x,  vec4 y);
-bvec2 equal(ivec2 x, ivec2 y);
-bvec3 equal(ivec3 x, ivec3 y);
-bvec4 equal(ivec4 x, ivec4 y);
-bvec2 equal(bvec2 x, bvec2 y);
-bvec3 equal(bvec3 x, bvec3 y);
-bvec4 equal(bvec4 x, bvec4 y);
-
-bvec2 notEqual( vec2 x,  vec2 y);
-bvec3 notEqual( vec3 x,  vec3 y);
-bvec4 notEqual( vec4 x,  vec4 y);
-bvec2 notEqual(ivec2 x, ivec2 y);
-bvec3 notEqual(ivec3 x, ivec3 y);
-bvec4 notEqual(ivec4 x, ivec4 y);
-bvec2 notEqual(bvec2 x, bvec2 y);
-bvec3 notEqual(bvec3 x, bvec3 y);
-bvec4 notEqual(bvec4 x, bvec4 y);
-
-bool any(bvec2 x);
-bool any(bvec3 x);
-bool any(bvec4 x);
-
-bool all(bvec2 x);
-bool all(bvec3 x);
-bool all(bvec4 x);
-
-bvec2 not(bvec2 x);
-bvec3 not(bvec3 x);
-bvec4 not(bvec4 x);
-
-/*
- * 8.7 - Texture Lookup Functions
- */
-vec4 texture1D       (sampler1D sampler, float coord);
-vec4 texture1DProj   (sampler1D sampler, vec2  coord);
-vec4 texture1DProj   (sampler1D sampler, vec4  coord);
-
-vec4 texture2D       (sampler2D sampler, vec2 coord);
-vec4 texture2DProj   (sampler2D sampler, vec3 coord);
-vec4 texture2DProj   (sampler2D sampler, vec4 coord);
-
-vec4 texture3D       (sampler3D sampler, vec3 coord);
-vec4 texture3DProj   (sampler3D sampler, vec4 coord);
-
-vec4 textureCube     (samplerCube sampler, vec3 coord);
-
-vec4 shadow1D       (sampler1DShadow sampler, vec3 coord);
-vec4 shadow2D       (sampler2DShadow sampler, vec3 coord);
-vec4 shadow1DProj   (sampler1DShadow sampler, vec4 coord);
-vec4 shadow2DProj   (sampler2DShadow sampler, vec4 coord);
-
-/*
- * 8.9 - Noise Functions
- */
-float noise1(float x);
-float noise1(vec2  x);
-float noise1(vec3  x);
-float noise1(vec4  x);
-
-vec2  noise2(float x);
-vec2  noise2(vec2  x);
-vec2  noise2(vec3  x);
-vec2  noise2(vec4  x);
-
-vec3  noise3(float x);
-vec3  noise3(vec2  x);
-vec3  noise3(vec3  x);
-vec3  noise3(vec4  x);
-
-vec4  noise4(float x);
-vec4  noise4(vec2  x);
-vec4  noise4(vec3  x);
-vec4  noise4(vec4  x);
diff --git a/src/glsl/builtins/profiles/110.vert b/src/glsl/builtins/profiles/110.vert
deleted file mode 100644
index 2d32341..0000000
--- a/src/glsl/builtins/profiles/110.vert
+++ /dev/null
@@ -1,25 +0,0 @@
-#version 110
-
-vec4 ftransform();
-
-/*
- * 8.7 - Texture Lookup Functions
- * "The built-ins suffixed with "Lod" are only allowed in a vertex shader."
- */
-vec4 texture1DLod    (sampler1D sampler, float coord, float lod);
-vec4 texture1DProjLod(sampler1D sampler, vec2  coord, float lod);
-vec4 texture1DProjLod(sampler1D sampler, vec4  coord, float lod);
-
-vec4 texture2DLod    (sampler2D sampler, vec2 coord, float lod);
-vec4 texture2DProjLod(sampler2D sampler, vec3 coord, float lod);
-vec4 texture2DProjLod(sampler2D sampler, vec4 coord, float lod);
-
-vec4 texture3DLod    (sampler3D sampler, vec3 coord, float lod);
-vec4 texture3DProjLod(sampler3D sampler, vec4 coord, float lod);
-
-vec4 textureCubeLod  (samplerCube sampler, vec3 coord, float lod);
-
-vec4 shadow1DLod    (sampler1DShadow sampler, vec3 coord, float lod);
-vec4 shadow2DLod    (sampler2DShadow sampler, vec3 coord, float lod);
-vec4 shadow1DProjLod(sampler1DShadow sampler, vec4 coord, float lod);
-vec4 shadow2DProjLod(sampler2DShadow sampler, vec4 coord, float lod);
diff --git a/src/glsl/builtins/profiles/120.frag b/src/glsl/builtins/profiles/120.frag
deleted file mode 100644
index 2080792..0000000
--- a/src/glsl/builtins/profiles/120.frag
+++ /dev/null
@@ -1,39 +0,0 @@
-#version 120
-/*
- * 8.7 - Texture Lookup Functions
- */
-vec4 texture1D       (sampler1D sampler, float coord, float bias);
-vec4 texture1DProj   (sampler1D sampler, vec2  coord, float bias);
-vec4 texture1DProj   (sampler1D sampler, vec4  coord, float bias);
-
-vec4 texture2D       (sampler2D sampler, vec2 coord, float bias);
-vec4 texture2DProj   (sampler2D sampler, vec3 coord, float bias);
-vec4 texture2DProj   (sampler2D sampler, vec4 coord, float bias);
-
-vec4 texture3D       (sampler3D sampler, vec3 coord, float bias);
-vec4 texture3DProj   (sampler3D sampler, vec4 coord, float bias);
-
-vec4 textureCube     (samplerCube sampler, vec3 coord, float bias);
-
-vec4 shadow1D       (sampler1DShadow sampler, vec3 coord, float bias);
-vec4 shadow2D       (sampler2DShadow sampler, vec3 coord, float bias);
-vec4 shadow1DProj   (sampler1DShadow sampler, vec4 coord, float bias);
-vec4 shadow2DProj   (sampler2DShadow sampler, vec4 coord, float bias);
-
-/*
- * 8.8 - Fragment Processing Functions
- */
-float dFdx(float p);
-vec2  dFdx(vec2  p);
-vec3  dFdx(vec3  p);
-vec4  dFdx(vec4  p);
-
-float dFdy(float p);
-vec2  dFdy(vec2  p);
-vec3  dFdy(vec3  p);
-vec4  dFdy(vec4  p);
-
-float fwidth(float p);
-vec2  fwidth(vec2  p);
-vec3  fwidth(vec3  p);
-vec4  fwidth(vec4  p);
diff --git a/src/glsl/builtins/profiles/120.glsl b/src/glsl/builtins/profiles/120.glsl
deleted file mode 100644
index c01d1dc..0000000
--- a/src/glsl/builtins/profiles/120.glsl
+++ /dev/null
@@ -1,364 +0,0 @@
-#version 120
-/*
- * 8.1 - Angle and Trigonometry Functions
- */
-float radians(float degrees);
-vec2  radians(vec2  degrees);
-vec3  radians(vec3  degrees);
-vec4  radians(vec4  degrees);
-
-float degrees(float radians);
-vec2  degrees(vec2  radians);
-vec3  degrees(vec3  radians);
-vec4  degrees(vec4  radians);
-
-float sin(float angle);
-vec2  sin(vec2  angle);
-vec3  sin(vec3  angle);
-vec4  sin(vec4  angle);
-
-float cos(float angle);
-vec2  cos(vec2  angle);
-vec3  cos(vec3  angle);
-vec4  cos(vec4  angle);
-
-float tan(float angle);
-vec2  tan(vec2  angle);
-vec3  tan(vec3  angle);
-vec4  tan(vec4  angle);
-
-float asin(float angle);
-vec2  asin(vec2  angle);
-vec3  asin(vec3  angle);
-vec4  asin(vec4  angle);
-
-float acos(float angle);
-vec2  acos(vec2  angle);
-vec3  acos(vec3  angle);
-vec4  acos(vec4  angle);
-
-float atan(float y, float x);
-vec2  atan(vec2  y, vec2  x);
-vec3  atan(vec3  y, vec3  x);
-vec4  atan(vec4  y, vec4  x);
-
-float atan(float y_over_x);
-vec2  atan(vec2  y_over_x);
-vec3  atan(vec3  y_over_x);
-vec4  atan(vec4  y_over_x);
-
-/*
- * 8.2 - Exponential Functions
- */
-float pow(float x, float y);
-vec2  pow(vec2  x, vec2  y);
-vec3  pow(vec3  x, vec3  y);
-vec4  pow(vec4  x, vec4  y);
-
-float exp(float x);
-vec2  exp(vec2  x);
-vec3  exp(vec3  x);
-vec4  exp(vec4  x);
-
-float log(float x);
-vec2  log(vec2  x);
-vec3  log(vec3  x);
-vec4  log(vec4  x);
-
-float exp2(float x);
-vec2  exp2(vec2  x);
-vec3  exp2(vec3  x);
-vec4  exp2(vec4  x);
-
-float log2(float x);
-vec2  log2(vec2  x);
-vec3  log2(vec3  x);
-vec4  log2(vec4  x);
-
-float sqrt(float x);
-vec2  sqrt(vec2  x);
-vec3  sqrt(vec3  x);
-vec4  sqrt(vec4  x);
-
-float inversesqrt(float x);
-vec2  inversesqrt(vec2  x);
-vec3  inversesqrt(vec3  x);
-vec4  inversesqrt(vec4  x);
-
-/*
- * 8.3 - Common Functions
- */
-float abs(float x);
-vec2  abs(vec2  x);
-vec3  abs(vec3  x);
-vec4  abs(vec4  x);
-
-float sign(float x);
-vec2  sign(vec2  x);
-vec3  sign(vec3  x);
-vec4  sign(vec4  x);
-
-float floor(float x);
-vec2  floor(vec2  x);
-vec3  floor(vec3  x);
-vec4  floor(vec4  x);
-
-float ceil(float x);
-vec2  ceil(vec2  x);
-vec3  ceil(vec3  x);
-vec4  ceil(vec4  x);
-
-float fract(float x);
-vec2  fract(vec2  x);
-vec3  fract(vec3  x);
-vec4  fract(vec4  x);
-
-float mod(float x, float y);
-vec2  mod(vec2  x, float y);
-vec3  mod(vec3  x, float y);
-vec4  mod(vec4  x, float y);
-
-vec2  mod(vec2  x, vec2  y);
-vec3  mod(vec3  x, vec3  y);
-vec4  mod(vec4  x, vec4  y);
-
-float min(float x, float y);
-vec2  min(vec2  x, vec2  y);
-vec3  min(vec3  x, vec3  y);
-vec4  min(vec4  x, vec4  y);
-
-vec2  min(vec2  x, float y);
-vec3  min(vec3  x, float y);
-vec4  min(vec4  x, float y);
-
-float max(float x, float y);
-vec2  max(vec2  x, vec2  y);
-vec3  max(vec3  x, vec3  y);
-vec4  max(vec4  x, vec4  y);
-
-vec2  max(vec2  x, float y);
-vec3  max(vec3  x, float y);
-vec4  max(vec4  x, float y);
-
-float clamp(float x, float minVal, float maxVal);
-vec2  clamp(vec2  x, vec2  minVal, vec2  maxVal);
-vec3  clamp(vec3  x, vec3  minVal, vec3  maxVal);
-vec4  clamp(vec4  x, vec4  minVal, vec4  maxVal);
-
-vec2  clamp(vec2  x, float minVal, float maxVal);
-vec3  clamp(vec3  x, float minVal, float maxVal);
-vec4  clamp(vec4  x, float minVal, float maxVal);
-
-float mix(float x, float y, float a);
-vec2  mix(vec2  x, vec2  y, vec2  a);
-vec3  mix(vec3  x, vec3  y, vec3  a);
-vec4  mix(vec4  x, vec4  y, vec4  a);
-
-vec2  mix(vec2  x, vec2  y, float a);
-vec3  mix(vec3  x, vec3  y, float a);
-vec4  mix(vec4  x, vec4  y, float a);
-
-float step(float edge, float x);
-vec2  step(vec2  edge, vec2  x);
-vec3  step(vec3  edge, vec3  x);
-vec4  step(vec4  edge, vec4  x);
-
-vec2  step(float edge, vec2  x);
-vec3  step(float edge, vec3  x);
-vec4  step(float edge, vec4  x);
-
-float smoothstep(float edge0, float edge1, float x);
-vec2  smoothstep(vec2  edge0, vec2  edge1, vec2  x);
-vec3  smoothstep(vec3  edge0, vec3  edge1, vec3  x);
-vec4  smoothstep(vec4  edge0, vec4  edge1, vec4  x);
-
-vec2  smoothstep(float edge0, float edge1, vec2  x);
-vec3  smoothstep(float edge0, float edge1, vec3  x);
-vec4  smoothstep(float edge0, float edge1, vec4  x);
-
-/*
- * 8.4 - Geometric Functions
- */
-float length(float x);
-float length(vec2  x);
-float length(vec3  x);
-float length(vec4  x);
-
-float distance(float p0, float p1);
-float distance(vec2  p0, vec2  p1);
-float distance(vec3  p0, vec3  p1);
-float distance(vec4  p0, vec4  p1);
-
-float dot(float x, float y);
-float dot(vec2  x, vec2  y);
-float dot(vec3  x, vec3  y);
-float dot(vec4  x, vec4  y);
-
-vec3 cross(vec3 x, vec3 y);
-
-float normalize(float x);
-vec2  normalize(vec2  x);
-vec3  normalize(vec3  x);
-vec4  normalize(vec4  x);
-
-float faceforward(float N, float I, float Nref);
-vec2  faceforward(vec2  N, vec2  I, vec2  Nref);
-vec3  faceforward(vec3  N, vec3  I, vec3  Nref);
-vec4  faceforward(vec4  N, vec4  I, vec4  Nref);
-
-float reflect(float I, float N);
-vec2  reflect(vec2  I, vec2  N);
-vec3  reflect(vec3  I, vec3  N);
-vec4  reflect(vec4  I, vec4  N);
-
-float refract(float I, float N, float eta);
-vec2  refract(vec2  I, vec2  N, float eta);
-vec3  refract(vec3  I, vec3  N, float eta);
-vec4  refract(vec4  I, vec4  N, float eta);
-
-
-/*
- * 8.5 - Matrix Functions
- */
-mat2   matrixCompMult(mat2   x, mat2   y);
-mat3   matrixCompMult(mat3   x, mat3   y);
-mat4   matrixCompMult(mat4   x, mat4   y);
-mat2x3 matrixCompMult(mat2x3 x, mat2x3 y);
-mat2x4 matrixCompMult(mat2x4 x, mat2x4 y);
-mat3x2 matrixCompMult(mat3x2 x, mat3x2 y);
-mat3x4 matrixCompMult(mat3x4 x, mat3x4 y);
-mat4x2 matrixCompMult(mat4x2 x, mat4x2 y);
-mat4x3 matrixCompMult(mat4x3 x, mat4x3 y);
-
-mat2   outerProduct(vec2 c, vec2 r);
-mat3   outerProduct(vec3 c, vec3 r);
-mat4   outerProduct(vec4 c, vec4 r);
-
-mat2x3 outerProduct(vec3 c, vec2 r);
-mat3x2 outerProduct(vec2 c, vec3 r);
-
-mat2x4 outerProduct(vec4 c, vec2 r);
-mat4x2 outerProduct(vec2 c, vec4 r);
-
-mat3x4 outerProduct(vec4 c, vec3 r);
-mat4x3 outerProduct(vec3 c, vec4 r);
-
-mat2   transpose(mat2 m);
-mat3   transpose(mat3 m);
-mat4   transpose(mat4 m);
-
-mat2x3 transpose(mat3x2 m);
-mat3x2 transpose(mat2x3 m);
-
-mat2x4 transpose(mat4x2 m);
-mat4x2 transpose(mat2x4 m);
-
-mat3x4 transpose(mat4x3 m);
-mat4x3 transpose(mat3x4 m);
-
-/*
- * 8.6 - Vector Relational Functions
- */
-bvec2 lessThan( vec2 x,  vec2 y);
-bvec3 lessThan( vec3 x,  vec3 y);
-bvec4 lessThan( vec4 x,  vec4 y);
-bvec2 lessThan(ivec2 x, ivec2 y);
-bvec3 lessThan(ivec3 x, ivec3 y);
-bvec4 lessThan(ivec4 x, ivec4 y);
-
-bvec2 lessThanEqual( vec2 x,  vec2 y);
-bvec3 lessThanEqual( vec3 x,  vec3 y);
-bvec4 lessThanEqual( vec4 x,  vec4 y);
-bvec2 lessThanEqual(ivec2 x, ivec2 y);
-bvec3 lessThanEqual(ivec3 x, ivec3 y);
-bvec4 lessThanEqual(ivec4 x, ivec4 y);
-
-bvec2 greaterThan( vec2 x,  vec2 y);
-bvec3 greaterThan( vec3 x,  vec3 y);
-bvec4 greaterThan( vec4 x,  vec4 y);
-bvec2 greaterThan(ivec2 x, ivec2 y);
-bvec3 greaterThan(ivec3 x, ivec3 y);
-bvec4 greaterThan(ivec4 x, ivec4 y);
-
-bvec2 greaterThanEqual( vec2 x,  vec2 y);
-bvec3 greaterThanEqual( vec3 x,  vec3 y);
-bvec4 greaterThanEqual( vec4 x,  vec4 y);
-bvec2 greaterThanEqual(ivec2 x, ivec2 y);
-bvec3 greaterThanEqual(ivec3 x, ivec3 y);
-bvec4 greaterThanEqual(ivec4 x, ivec4 y);
-
-bvec2 equal( vec2 x,  vec2 y);
-bvec3 equal( vec3 x,  vec3 y);
-bvec4 equal( vec4 x,  vec4 y);
-bvec2 equal(ivec2 x, ivec2 y);
-bvec3 equal(ivec3 x, ivec3 y);
-bvec4 equal(ivec4 x, ivec4 y);
-bvec2 equal(bvec2 x, bvec2 y);
-bvec3 equal(bvec3 x, bvec3 y);
-bvec4 equal(bvec4 x, bvec4 y);
-
-bvec2 notEqual( vec2 x,  vec2 y);
-bvec3 notEqual( vec3 x,  vec3 y);
-bvec4 notEqual( vec4 x,  vec4 y);
-bvec2 notEqual(ivec2 x, ivec2 y);
-bvec3 notEqual(ivec3 x, ivec3 y);
-bvec4 notEqual(ivec4 x, ivec4 y);
-bvec2 notEqual(bvec2 x, bvec2 y);
-bvec3 notEqual(bvec3 x, bvec3 y);
-bvec4 notEqual(bvec4 x, bvec4 y);
-
-bool any(bvec2 x);
-bool any(bvec3 x);
-bool any(bvec4 x);
-
-bool all(bvec2 x);
-bool all(bvec3 x);
-bool all(bvec4 x);
-
-bvec2 not(bvec2 x);
-bvec3 not(bvec3 x);
-bvec4 not(bvec4 x);
-
-/*
- * 8.7 - Texture Lookup Functions
- */
-vec4 texture1D       (sampler1D sampler, float coord);
-vec4 texture1DProj   (sampler1D sampler, vec2  coord);
-vec4 texture1DProj   (sampler1D sampler, vec4  coord);
-
-vec4 texture2D       (sampler2D sampler, vec2 coord);
-vec4 texture2DProj   (sampler2D sampler, vec3 coord);
-vec4 texture2DProj   (sampler2D sampler, vec4 coord);
-
-vec4 texture3D       (sampler3D sampler, vec3 coord);
-vec4 texture3DProj   (sampler3D sampler, vec4 coord);
-
-vec4 textureCube     (samplerCube sampler, vec3 coord);
-
-vec4 shadow1D       (sampler1DShadow sampler, vec3 coord);
-vec4 shadow2D       (sampler2DShadow sampler, vec3 coord);
-vec4 shadow1DProj   (sampler1DShadow sampler, vec4 coord);
-vec4 shadow2DProj   (sampler2DShadow sampler, vec4 coord);
-
-/*
- * 8.9 - Noise Functions
- */
-float noise1(float x);
-float noise1(vec2  x);
-float noise1(vec3  x);
-float noise1(vec4  x);
-
-vec2  noise2(float x);
-vec2  noise2(vec2  x);
-vec2  noise2(vec3  x);
-vec2  noise2(vec4  x);
-
-vec3  noise3(float x);
-vec3  noise3(vec2  x);
-vec3  noise3(vec3  x);
-vec3  noise3(vec4  x);
-
-vec4  noise4(float x);
-vec4  noise4(vec2  x);
-vec4  noise4(vec3  x);
-vec4  noise4(vec4  x);
diff --git a/src/glsl/builtins/profiles/120.vert b/src/glsl/builtins/profiles/120.vert
deleted file mode 100644
index 41a1d96..0000000
--- a/src/glsl/builtins/profiles/120.vert
+++ /dev/null
@@ -1,21 +0,0 @@
-#version 120
-
-vec4 ftransform();
-
-vec4 texture1DLod    (sampler1D sampler, float coord, float lod);
-vec4 texture1DProjLod(sampler1D sampler, vec2  coord, float lod);
-vec4 texture1DProjLod(sampler1D sampler, vec4  coord, float lod);
-
-vec4 texture2DLod    (sampler2D sampler, vec2 coord, float lod);
-vec4 texture2DProjLod(sampler2D sampler, vec3 coord, float lod);
-vec4 texture2DProjLod(sampler2D sampler, vec4 coord, float lod);
-
-vec4 texture3DLod    (sampler3D sampler, vec3 coord, float lod);
-vec4 texture3DProjLod(sampler3D sampler, vec4 coord, float lod);
-
-vec4 textureCubeLod  (samplerCube sampler, vec3 coord, float lod);
-
-vec4 shadow1DLod    (sampler1DShadow sampler, vec3 coord, float lod);
-vec4 shadow2DLod    (sampler2DShadow sampler, vec3 coord, float lod);
-vec4 shadow1DProjLod(sampler1DShadow sampler, vec4 coord, float lod);
-vec4 shadow2DProjLod(sampler2DShadow sampler, vec4 coord, float lod);
diff --git a/src/glsl/builtins/profiles/130.frag b/src/glsl/builtins/profiles/130.frag
deleted file mode 100644
index d0233b8..0000000
--- a/src/glsl/builtins/profiles/130.frag
+++ /dev/null
@@ -1,141 +0,0 @@
-#version 130
-
-/* texture - bias variants */
- vec4 texture( sampler1D sampler, float P, float bias);
-ivec4 texture(isampler1D sampler, float P, float bias);
-uvec4 texture(usampler1D sampler, float P, float bias);
-
- vec4 texture( sampler2D sampler, vec2 P, float bias);
-ivec4 texture(isampler2D sampler, vec2 P, float bias);
-uvec4 texture(usampler2D sampler, vec2 P, float bias);
-
- vec4 texture( sampler3D sampler, vec3 P, float bias);
-ivec4 texture(isampler3D sampler, vec3 P, float bias);
-uvec4 texture(usampler3D sampler, vec3 P, float bias);
-
- vec4 texture( samplerCube sampler, vec3 P, float bias);
-ivec4 texture(isamplerCube sampler, vec3 P, float bias);
-uvec4 texture(usamplerCube sampler, vec3 P, float bias);
-
-float texture(sampler1DShadow   sampler, vec3 P, float bias);
-float texture(sampler2DShadow   sampler, vec3 P, float bias);
-float texture(samplerCubeShadow sampler, vec4 P, float bias);
-
- vec4 texture( sampler1DArray sampler, vec2 P, float bias);
-ivec4 texture(isampler1DArray sampler, vec2 P, float bias);
-uvec4 texture(usampler1DArray sampler, vec2 P, float bias);
-
- vec4 texture( sampler2DArray sampler, vec3 P, float bias);
-ivec4 texture(isampler2DArray sampler, vec3 P, float bias);
-uvec4 texture(usampler2DArray sampler, vec3 P, float bias);
-
-float texture(sampler1DArrayShadow sampler, vec3 P, float bias);
-
-/* textureProj - bias variants */
- vec4 textureProj( sampler1D sampler, vec2 P, float bias);
-ivec4 textureProj(isampler1D sampler, vec2 P, float bias);
-uvec4 textureProj(usampler1D sampler, vec2 P, float bias);
- vec4 textureProj( sampler1D sampler, vec4 P, float bias);
-ivec4 textureProj(isampler1D sampler, vec4 P, float bias);
-uvec4 textureProj(usampler1D sampler, vec4 P, float bias);
-
- vec4 textureProj( sampler2D sampler, vec3 P, float bias);
-ivec4 textureProj(isampler2D sampler, vec3 P, float bias);
-uvec4 textureProj(usampler2D sampler, vec3 P, float bias);
- vec4 textureProj( sampler2D sampler, vec4 P, float bias);
-ivec4 textureProj(isampler2D sampler, vec4 P, float bias);
-uvec4 textureProj(usampler2D sampler, vec4 P, float bias);
-
- vec4 textureProj( sampler3D sampler, vec4 P, float bias);
-ivec4 textureProj(isampler3D sampler, vec4 P, float bias);
-uvec4 textureProj(usampler3D sampler, vec4 P, float bias);
-
-float textureProj(sampler1DShadow sampler, vec4 P, float bias);
-float textureProj(sampler2DShadow sampler, vec4 P, float bias);
-
-/* textureOffset - bias variants */
- vec4 textureOffset( sampler1D sampler, float P, int offset, float bias);
-ivec4 textureOffset(isampler1D sampler, float P, int offset, float bias);
-uvec4 textureOffset(usampler1D sampler, float P, int offset, float bias);
-
- vec4 textureOffset( sampler2D sampler, vec2 P, ivec2 offset, float bias);
-ivec4 textureOffset(isampler2D sampler, vec2 P, ivec2 offset, float bias);
-uvec4 textureOffset(usampler2D sampler, vec2 P, ivec2 offset, float bias);
-
- vec4 textureOffset( sampler3D sampler, vec3 P, ivec3 offset, float bias);
-ivec4 textureOffset(isampler3D sampler, vec3 P, ivec3 offset, float bias);
-uvec4 textureOffset(usampler3D sampler, vec3 P, ivec3 offset, float bias);
-
-float textureOffset(sampler1DShadow sampler, vec3 P, int offset, float bias);
-float textureOffset(sampler2DShadow sampler, vec3 P, ivec2 offset, float bias);
-
- vec4 textureOffset( sampler1DArray sampler, vec2 P, int offset, float bias);
-ivec4 textureOffset(isampler1DArray sampler, vec2 P, int offset, float bias);
-uvec4 textureOffset(usampler1DArray sampler, vec2 P, int offset, float bias);
-
- vec4 textureOffset( sampler2DArray sampler, vec3 P, ivec2 offset, float bias);
-ivec4 textureOffset(isampler2DArray sampler, vec3 P, ivec2 offset, float bias);
-uvec4 textureOffset(usampler2DArray sampler, vec3 P, ivec2 offset, float bias);
-
-float textureOffset(sampler1DArrayShadow samp, vec3 P, int offset, float bias);
-
-/* textureProjOffsetOffset - bias variants */
- vec4 textureProjOffset( sampler1D sampler, vec2 P, int offset, float bias);
-ivec4 textureProjOffset(isampler1D sampler, vec2 P, int offset, float bias);
-uvec4 textureProjOffset(usampler1D sampler, vec2 P, int offset, float bias);
- vec4 textureProjOffset( sampler1D sampler, vec4 P, int offset, float bias);
-ivec4 textureProjOffset(isampler1D sampler, vec4 P, int offset, float bias);
-uvec4 textureProjOffset(usampler1D sampler, vec4 P, int offset, float bias);
-
- vec4 textureProjOffset( sampler2D sampler, vec3 P, ivec2 offset, float bias);
-ivec4 textureProjOffset(isampler2D sampler, vec3 P, ivec2 offset, float bias);
-uvec4 textureProjOffset(usampler2D sampler, vec3 P, ivec2 offset, float bias);
- vec4 textureProjOffset( sampler2D sampler, vec4 P, ivec2 offset, float bias);
-ivec4 textureProjOffset(isampler2D sampler, vec4 P, ivec2 offset, float bias);
-uvec4 textureProjOffset(usampler2D sampler, vec4 P, ivec2 offset, float bias);
-
- vec4 textureProjOffset( sampler3D sampler, vec4 P, ivec3 offset, float bias);
-ivec4 textureProjOffset(isampler3D sampler, vec4 P, ivec3 offset, float bias);
-uvec4 textureProjOffset(usampler3D sampler, vec4 P, ivec3 offset, float bias);
-
-float textureProjOffset(sampler1DShadow s, vec4 P, int offset, float bias);
-float textureProjOffset(sampler2DShadow s, vec4 P, ivec2 offset, float bias);
-
-/*
- * The following texture functions are deprecated:
- */
-vec4 texture1D       (sampler1D sampler, float coord, float bias);
-vec4 texture1DProj   (sampler1D sampler, vec2  coord, float bias);
-vec4 texture1DProj   (sampler1D sampler, vec4  coord, float bias);
-
-vec4 texture2D       (sampler2D sampler, vec2 coord, float bias);
-vec4 texture2DProj   (sampler2D sampler, vec3 coord, float bias);
-vec4 texture2DProj   (sampler2D sampler, vec4 coord, float bias);
-
-vec4 texture3D       (sampler3D sampler, vec3 coord, float bias);
-vec4 texture3DProj   (sampler3D sampler, vec4 coord, float bias);
-
-vec4 textureCube     (samplerCube sampler, vec3 coord, float bias);
-
-vec4 shadow1D       (sampler1DShadow sampler, vec3 coord, float bias);
-vec4 shadow2D       (sampler2DShadow sampler, vec3 coord, float bias);
-vec4 shadow1DProj   (sampler1DShadow sampler, vec4 coord, float bias);
-vec4 shadow2DProj   (sampler2DShadow sampler, vec4 coord, float bias);
-
-/*
- * 8.8 - Fragment Processing Functions
- */
-float dFdx(float p);
-vec2  dFdx(vec2  p);
-vec3  dFdx(vec3  p);
-vec4  dFdx(vec4  p);
-
-float dFdy(float p);
-vec2  dFdy(vec2  p);
-vec3  dFdy(vec3  p);
-vec4  dFdy(vec4  p);
-
-float fwidth(float p);
-vec2  fwidth(vec2  p);
-vec3  fwidth(vec3  p);
-vec4  fwidth(vec4  p);
diff --git a/src/glsl/builtins/profiles/130.glsl b/src/glsl/builtins/profiles/130.glsl
deleted file mode 100644
index 15f973b..0000000
--- a/src/glsl/builtins/profiles/130.glsl
+++ /dev/null
@@ -1,904 +0,0 @@
-#version 130
-/*
- * 8.1 - Angle and Trigonometry Functions
- */
-float radians(float degrees);
-vec2  radians(vec2  degrees);
-vec3  radians(vec3  degrees);
-vec4  radians(vec4  degrees);
-
-float degrees(float radians);
-vec2  degrees(vec2  radians);
-vec3  degrees(vec3  radians);
-vec4  degrees(vec4  radians);
-
-float sin(float angle);
-vec2  sin(vec2  angle);
-vec3  sin(vec3  angle);
-vec4  sin(vec4  angle);
-
-float cos(float angle);
-vec2  cos(vec2  angle);
-vec3  cos(vec3  angle);
-vec4  cos(vec4  angle);
-
-float tan(float angle);
-vec2  tan(vec2  angle);
-vec3  tan(vec3  angle);
-vec4  tan(vec4  angle);
-
-float asin(float angle);
-vec2  asin(vec2  angle);
-vec3  asin(vec3  angle);
-vec4  asin(vec4  angle);
-
-float acos(float angle);
-vec2  acos(vec2  angle);
-vec3  acos(vec3  angle);
-vec4  acos(vec4  angle);
-
-float atan(float y, float x);
-vec2  atan(vec2  y, vec2  x);
-vec3  atan(vec3  y, vec3  x);
-vec4  atan(vec4  y, vec4  x);
-
-float atan(float y_over_x);
-vec2  atan(vec2  y_over_x);
-vec3  atan(vec3  y_over_x);
-vec4  atan(vec4  y_over_x);
-
-float sinh(float x);
-vec2  sinh(vec2  x);
-vec3  sinh(vec3  x);
-vec4  sinh(vec4  x);
-
-float cosh(float x);
-vec2  cosh(vec2  x);
-vec3  cosh(vec3  x);
-vec4  cosh(vec4  x);
-
-float tanh(float x);
-vec2  tanh(vec2  x);
-vec3  tanh(vec3  x);
-vec4  tanh(vec4  x);
-
-float asinh(float x);
-vec2  asinh(vec2  x);
-vec3  asinh(vec3  x);
-vec4  asinh(vec4  x);
-
-float acosh(float x);
-vec2  acosh(vec2  x);
-vec3  acosh(vec3  x);
-vec4  acosh(vec4  x);
-
-float atanh(float x);
-vec2  atanh(vec2  x);
-vec3  atanh(vec3  x);
-vec4  atanh(vec4  x);
-
-/*
- * 8.2 - Exponential Functions
- */
-float pow(float x, float y);
-vec2  pow(vec2  x, vec2  y);
-vec3  pow(vec3  x, vec3  y);
-vec4  pow(vec4  x, vec4  y);
-
-float exp(float x);
-vec2  exp(vec2  x);
-vec3  exp(vec3  x);
-vec4  exp(vec4  x);
-
-float log(float x);
-vec2  log(vec2  x);
-vec3  log(vec3  x);
-vec4  log(vec4  x);
-
-float exp2(float x);
-vec2  exp2(vec2  x);
-vec3  exp2(vec3  x);
-vec4  exp2(vec4  x);
-
-float log2(float x);
-vec2  log2(vec2  x);
-vec3  log2(vec3  x);
-vec4  log2(vec4  x);
-
-float sqrt(float x);
-vec2  sqrt(vec2  x);
-vec3  sqrt(vec3  x);
-vec4  sqrt(vec4  x);
-
-float inversesqrt(float x);
-vec2  inversesqrt(vec2  x);
-vec3  inversesqrt(vec3  x);
-vec4  inversesqrt(vec4  x);
-
-/*
- * 8.3 - Common Functions
- */
-float abs(float x);
-vec2  abs(vec2  x);
-vec3  abs(vec3  x);
-vec4  abs(vec4  x);
-int   abs(int   x);
-ivec2 abs(ivec2 x);
-ivec3 abs(ivec3 x);
-ivec4 abs(ivec4 x);
-
-float sign(float x);
-vec2  sign(vec2  x);
-vec3  sign(vec3  x);
-vec4  sign(vec4  x);
-int   sign(int   x);
-ivec2 sign(ivec2 x);
-ivec3 sign(ivec3 x);
-ivec4 sign(ivec4 x);
-
-float floor(float x);
-vec2  floor(vec2  x);
-vec3  floor(vec3  x);
-vec4  floor(vec4  x);
-
-float trunc(float x);
-vec2  trunc(vec2  x);
-vec3  trunc(vec3  x);
-vec4  trunc(vec4  x);
-
-float round(float x);
-vec2  round(vec2  x);
-vec3  round(vec3  x);
-vec4  round(vec4  x);
-
-float roundEven(float x);
-vec2  roundEven(vec2  x);
-vec3  roundEven(vec3  x);
-vec4  roundEven(vec4  x);
-
-float ceil(float x);
-vec2  ceil(vec2  x);
-vec3  ceil(vec3  x);
-vec4  ceil(vec4  x);
-
-float fract(float x);
-vec2  fract(vec2  x);
-vec3  fract(vec3  x);
-vec4  fract(vec4  x);
-
-float mod(float x, float y);
-vec2  mod(vec2  x, float y);
-vec3  mod(vec3  x, float y);
-vec4  mod(vec4  x, float y);
-
-vec2  mod(vec2  x, vec2  y);
-vec3  mod(vec3  x, vec3  y);
-vec4  mod(vec4  x, vec4  y);
-
-float modf(float x, out float i);
-vec2  modf(vec2  x, out vec2  i);
-vec3  modf(vec3  x, out vec3  i);
-vec4  modf(vec4  x, out vec4  i);
-
-float min(float x, float y);
-vec2  min(vec2  x, vec2  y);
-vec3  min(vec3  x, vec3  y);
-vec4  min(vec4  x, vec4  y);
-
-vec2  min(vec2  x, float y);
-vec3  min(vec3  x, float y);
-vec4  min(vec4  x, float y);
-
-int   min(int   x, int   y);
-ivec2 min(ivec2 x, ivec2 y);
-ivec3 min(ivec3 x, ivec3 y);
-ivec4 min(ivec4 x, ivec4 y);
-
-ivec2 min(ivec2 x, int   y);
-ivec3 min(ivec3 x, int   y);
-ivec4 min(ivec4 x, int   y);
-
-uint  min(uint  x, uint  y);
-uvec2 min(uvec2 x, uvec2 y);
-uvec3 min(uvec3 x, uvec3 y);
-uvec4 min(uvec4 x, uvec4 y);
-
-uvec2 min(uvec2 x, uint  y);
-uvec3 min(uvec3 x, uint  y);
-uvec4 min(uvec4 x, uint  y);
-
-float max(float x, float y);
-vec2  max(vec2  x, vec2  y);
-vec3  max(vec3  x, vec3  y);
-vec4  max(vec4  x, vec4  y);
-
-vec2  max(vec2  x, float y);
-vec3  max(vec3  x, float y);
-vec4  max(vec4  x, float y);
-
-int   max(int   x, int   y);
-ivec2 max(ivec2 x, ivec2 y);
-ivec3 max(ivec3 x, ivec3 y);
-ivec4 max(ivec4 x, ivec4 y);
-
-ivec2 max(ivec2 x, int   y);
-ivec3 max(ivec3 x, int   y);
-ivec4 max(ivec4 x, int   y);
-
-uint  max(uint  x, uint  y);
-uvec2 max(uvec2 x, uvec2 y);
-uvec3 max(uvec3 x, uvec3 y);
-uvec4 max(uvec4 x, uvec4 y);
-
-uvec2 max(uvec2 x, uint  y);
-uvec3 max(uvec3 x, uint  y);
-uvec4 max(uvec4 x, uint  y);
-
-float clamp(float x, float minVal, float maxVal);
-vec2  clamp(vec2  x, vec2  minVal, vec2  maxVal);
-vec3  clamp(vec3  x, vec3  minVal, vec3  maxVal);
-vec4  clamp(vec4  x, vec4  minVal, vec4  maxVal);
-
-vec2  clamp(vec2  x, float minVal, float maxVal);
-vec3  clamp(vec3  x, float minVal, float maxVal);
-vec4  clamp(vec4  x, float minVal, float maxVal);
-
-int   clamp(int   x, int   minVal, int   maxVal);
-ivec2 clamp(ivec2 x, ivec2 minVal, ivec2 maxVal);
-ivec3 clamp(ivec3 x, ivec3 minVal, ivec3 maxVal);
-ivec4 clamp(ivec4 x, ivec4 minVal, ivec4 maxVal);
-
-ivec2 clamp(ivec2 x, int   minVal, int   maxVal);
-ivec3 clamp(ivec3 x, int   minVal, int   maxVal);
-ivec4 clamp(ivec4 x, int   minVal, int   maxVal);
-
-uint  clamp(uint  x, uint  minVal, uint  maxVal);
-uvec2 clamp(uvec2 x, uvec2 minVal, uvec2 maxVal);
-uvec3 clamp(uvec3 x, uvec3 minVal, uvec3 maxVal);
-uvec4 clamp(uvec4 x, uvec4 minVal, uvec4 maxVal);
-
-uvec2 clamp(uvec2 x, uint  minVal, uint  maxVal);
-uvec3 clamp(uvec3 x, uint  minVal, uint  maxVal);
-uvec4 clamp(uvec4 x, uint  minVal, uint  maxVal);
-
-float mix(float x, float y, float a);
-vec2  mix(vec2  x, vec2  y, vec2  a);
-vec3  mix(vec3  x, vec3  y, vec3  a);
-vec4  mix(vec4  x, vec4  y, vec4  a);
-
-vec2  mix(vec2  x, vec2  y, float a);
-vec3  mix(vec3  x, vec3  y, float a);
-vec4  mix(vec4  x, vec4  y, float a);
-
-float mix(float x, float y, bool  a);
-vec2  mix(vec2  x, vec2  y, bvec2 a);
-vec3  mix(vec3  x, vec3  y, bvec3 a);
-vec4  mix(vec4  x, vec4  y, bvec4 a);
-
-float step(float edge, float x);
-vec2  step(vec2  edge, vec2  x);
-vec3  step(vec3  edge, vec3  x);
-vec4  step(vec4  edge, vec4  x);
-
-vec2  step(float edge, vec2  x);
-vec3  step(float edge, vec3  x);
-vec4  step(float edge, vec4  x);
-
-float smoothstep(float edge0, float edge1, float x);
-vec2  smoothstep(vec2  edge0, vec2  edge1, vec2  x);
-vec3  smoothstep(vec3  edge0, vec3  edge1, vec3  x);
-vec4  smoothstep(vec4  edge0, vec4  edge1, vec4  x);
-
-vec2  smoothstep(float edge0, float edge1, vec2  x);
-vec3  smoothstep(float edge0, float edge1, vec3  x);
-vec4  smoothstep(float edge0, float edge1, vec4  x);
-
-bool  isnan(float x);
-bvec2 isnan(vec2  x);
-bvec3 isnan(vec3  x);
-bvec4 isnan(vec4  x);
-
-bool  isinf(float x);
-bvec2 isinf(vec2  x);
-bvec3 isinf(vec3  x);
-bvec4 isinf(vec4  x);
-
-/*
- * 8.4 - Geometric Functions
- */
-float length(float x);
-float length(vec2  x);
-float length(vec3  x);
-float length(vec4  x);
-
-float distance(float p0, float p1);
-float distance(vec2  p0, vec2  p1);
-float distance(vec3  p0, vec3  p1);
-float distance(vec4  p0, vec4  p1);
-
-float dot(float x, float y);
-float dot(vec2  x, vec2  y);
-float dot(vec3  x, vec3  y);
-float dot(vec4  x, vec4  y);
-
-vec3 cross(vec3 x, vec3 y);
-
-float normalize(float x);
-vec2  normalize(vec2  x);
-vec3  normalize(vec3  x);
-vec4  normalize(vec4  x);
-
-float faceforward(float N, float I, float Nref);
-vec2  faceforward(vec2  N, vec2  I, vec2  Nref);
-vec3  faceforward(vec3  N, vec3  I, vec3  Nref);
-vec4  faceforward(vec4  N, vec4  I, vec4  Nref);
-
-float reflect(float I, float N);
-vec2  reflect(vec2  I, vec2  N);
-vec3  reflect(vec3  I, vec3  N);
-vec4  reflect(vec4  I, vec4  N);
-
-float refract(float I, float N, float eta);
-vec2  refract(vec2  I, vec2  N, float eta);
-vec3  refract(vec3  I, vec3  N, float eta);
-vec4  refract(vec4  I, vec4  N, float eta);
-
-
-/*
- * 8.5 - Matrix Functions
- */
-mat2   matrixCompMult(mat2   x, mat2   y);
-mat3   matrixCompMult(mat3   x, mat3   y);
-mat4   matrixCompMult(mat4   x, mat4   y);
-mat2x3 matrixCompMult(mat2x3 x, mat2x3 y);
-mat2x4 matrixCompMult(mat2x4 x, mat2x4 y);
-mat3x2 matrixCompMult(mat3x2 x, mat3x2 y);
-mat3x4 matrixCompMult(mat3x4 x, mat3x4 y);
-mat4x2 matrixCompMult(mat4x2 x, mat4x2 y);
-mat4x3 matrixCompMult(mat4x3 x, mat4x3 y);
-
-mat2   outerProduct(vec2 c, vec2 r);
-mat3   outerProduct(vec3 c, vec3 r);
-mat4   outerProduct(vec4 c, vec4 r);
-
-mat2x3 outerProduct(vec3 c, vec2 r);
-mat3x2 outerProduct(vec2 c, vec3 r);
-
-mat2x4 outerProduct(vec4 c, vec2 r);
-mat4x2 outerProduct(vec2 c, vec4 r);
-
-mat3x4 outerProduct(vec4 c, vec3 r);
-mat4x3 outerProduct(vec3 c, vec4 r);
-
-mat2   transpose(mat2 m);
-mat3   transpose(mat3 m);
-mat4   transpose(mat4 m);
-
-mat2x3 transpose(mat3x2 m);
-mat3x2 transpose(mat2x3 m);
-
-mat2x4 transpose(mat4x2 m);
-mat4x2 transpose(mat2x4 m);
-
-mat3x4 transpose(mat4x3 m);
-mat4x3 transpose(mat3x4 m);
-
-/*
- * 8.6 - Vector Relational Functions
- */
-bvec2 lessThan( vec2 x,  vec2 y);
-bvec3 lessThan( vec3 x,  vec3 y);
-bvec4 lessThan( vec4 x,  vec4 y);
-bvec2 lessThan(ivec2 x, ivec2 y);
-bvec3 lessThan(ivec3 x, ivec3 y);
-bvec4 lessThan(ivec4 x, ivec4 y);
-bvec2 lessThan(uvec2 x, uvec2 y);
-bvec3 lessThan(uvec3 x, uvec3 y);
-bvec4 lessThan(uvec4 x, uvec4 y);
-
-bvec2 lessThanEqual( vec2 x,  vec2 y);
-bvec3 lessThanEqual( vec3 x,  vec3 y);
-bvec4 lessThanEqual( vec4 x,  vec4 y);
-bvec2 lessThanEqual(ivec2 x, ivec2 y);
-bvec3 lessThanEqual(ivec3 x, ivec3 y);
-bvec4 lessThanEqual(ivec4 x, ivec4 y);
-bvec2 lessThanEqual(uvec2 x, uvec2 y);
-bvec3 lessThanEqual(uvec3 x, uvec3 y);
-bvec4 lessThanEqual(uvec4 x, uvec4 y);
-
-bvec2 greaterThan( vec2 x,  vec2 y);
-bvec3 greaterThan( vec3 x,  vec3 y);
-bvec4 greaterThan( vec4 x,  vec4 y);
-bvec2 greaterThan(ivec2 x, ivec2 y);
-bvec3 greaterThan(ivec3 x, ivec3 y);
-bvec4 greaterThan(ivec4 x, ivec4 y);
-bvec2 greaterThan(uvec2 x, uvec2 y);
-bvec3 greaterThan(uvec3 x, uvec3 y);
-bvec4 greaterThan(uvec4 x, uvec4 y);
-
-bvec2 greaterThanEqual( vec2 x,  vec2 y);
-bvec3 greaterThanEqual( vec3 x,  vec3 y);
-bvec4 greaterThanEqual( vec4 x,  vec4 y);
-bvec2 greaterThanEqual(ivec2 x, ivec2 y);
-bvec3 greaterThanEqual(ivec3 x, ivec3 y);
-bvec4 greaterThanEqual(ivec4 x, ivec4 y);
-bvec2 greaterThanEqual(uvec2 x, uvec2 y);
-bvec3 greaterThanEqual(uvec3 x, uvec3 y);
-bvec4 greaterThanEqual(uvec4 x, uvec4 y);
-
-bvec2 equal( vec2 x,  vec2 y);
-bvec3 equal( vec3 x,  vec3 y);
-bvec4 equal( vec4 x,  vec4 y);
-bvec2 equal(ivec2 x, ivec2 y);
-bvec3 equal(ivec3 x, ivec3 y);
-bvec4 equal(ivec4 x, ivec4 y);
-bvec2 equal(uvec2 x, uvec2 y);
-bvec3 equal(uvec3 x, uvec3 y);
-bvec4 equal(uvec4 x, uvec4 y);
-bvec2 equal(bvec2 x, bvec2 y);
-bvec3 equal(bvec3 x, bvec3 y);
-bvec4 equal(bvec4 x, bvec4 y);
-
-bvec2 notEqual( vec2 x,  vec2 y);
-bvec3 notEqual( vec3 x,  vec3 y);
-bvec4 notEqual( vec4 x,  vec4 y);
-bvec2 notEqual(ivec2 x, ivec2 y);
-bvec3 notEqual(ivec3 x, ivec3 y);
-bvec4 notEqual(ivec4 x, ivec4 y);
-bvec2 notEqual(uvec2 x, uvec2 y);
-bvec3 notEqual(uvec3 x, uvec3 y);
-bvec4 notEqual(uvec4 x, uvec4 y);
-bvec2 notEqual(bvec2 x, bvec2 y);
-bvec3 notEqual(bvec3 x, bvec3 y);
-bvec4 notEqual(bvec4 x, bvec4 y);
-
-bool any(bvec2 x);
-bool any(bvec3 x);
-bool any(bvec4 x);
-
-bool all(bvec2 x);
-bool all(bvec3 x);
-bool all(bvec4 x);
-
-bvec2 not(bvec2 x);
-bvec3 not(bvec3 x);
-bvec4 not(bvec4 x);
-
-/*
- * 8.7 - Texture Lookup Functions
- */
-
-/* textureSize */
-int   textureSize( sampler1D sampler, int lod);
-int   textureSize(isampler1D sampler, int lod);
-int   textureSize(usampler1D sampler, int lod);
-
-ivec2 textureSize( sampler2D sampler, int lod);
-ivec2 textureSize(isampler2D sampler, int lod);
-ivec2 textureSize(usampler2D sampler, int lod);
-
-ivec3 textureSize( sampler3D sampler, int lod);
-ivec3 textureSize(isampler3D sampler, int lod);
-ivec3 textureSize(usampler3D sampler, int lod);
-
-ivec2 textureSize( samplerCube sampler, int lod);
-ivec2 textureSize(isamplerCube sampler, int lod);
-ivec2 textureSize(usamplerCube sampler, int lod);
-
-int   textureSize(sampler1DShadow   sampler, int lod);
-ivec2 textureSize(sampler2DShadow   sampler, int lod);
-ivec2 textureSize(samplerCubeShadow sampler, int lod);
-
-ivec2 textureSize( sampler1DArray sampler, int lod);
-ivec2 textureSize(isampler1DArray sampler, int lod);
-ivec2 textureSize(usampler1DArray sampler, int lod);
-ivec3 textureSize( sampler2DArray sampler, int lod);
-ivec3 textureSize(isampler2DArray sampler, int lod);
-ivec3 textureSize(usampler2DArray sampler, int lod);
-
-ivec2 textureSize(sampler1DArrayShadow sampler, int lod);
-ivec3 textureSize(sampler2DArrayShadow sampler, int lod);
-
-/* texture - no bias */
- vec4 texture( sampler1D sampler, float P);
-ivec4 texture(isampler1D sampler, float P);
-uvec4 texture(usampler1D sampler, float P);
-
- vec4 texture( sampler2D sampler, vec2 P);
-ivec4 texture(isampler2D sampler, vec2 P);
-uvec4 texture(usampler2D sampler, vec2 P);
-
- vec4 texture( sampler3D sampler, vec3 P);
-ivec4 texture(isampler3D sampler, vec3 P);
-uvec4 texture(usampler3D sampler, vec3 P);
-
- vec4 texture( samplerCube sampler, vec3 P);
-ivec4 texture(isamplerCube sampler, vec3 P);
-uvec4 texture(usamplerCube sampler, vec3 P);
-
-float texture(sampler1DShadow   sampler, vec3 P);
-float texture(sampler2DShadow   sampler, vec3 P);
-float texture(samplerCubeShadow sampler, vec4 P);
-
- vec4 texture( sampler1DArray sampler, vec2 P);
-ivec4 texture(isampler1DArray sampler, vec2 P);
-uvec4 texture(usampler1DArray sampler, vec2 P);
-
- vec4 texture( sampler2DArray sampler, vec3 P);
-ivec4 texture(isampler2DArray sampler, vec3 P);
-uvec4 texture(usampler2DArray sampler, vec3 P);
-
-float texture(sampler1DArrayShadow sampler, vec3 P);
-float texture(sampler2DArrayShadow sampler, vec4 P);
-
-/* textureProj - no bias */
- vec4 textureProj( sampler1D sampler, vec2 P);
-ivec4 textureProj(isampler1D sampler, vec2 P);
-uvec4 textureProj(usampler1D sampler, vec2 P);
- vec4 textureProj( sampler1D sampler, vec4 P);
-ivec4 textureProj(isampler1D sampler, vec4 P);
-uvec4 textureProj(usampler1D sampler, vec4 P);
-
- vec4 textureProj( sampler2D sampler, vec3 P);
-ivec4 textureProj(isampler2D sampler, vec3 P);
-uvec4 textureProj(usampler2D sampler, vec3 P);
- vec4 textureProj( sampler2D sampler, vec4 P);
-ivec4 textureProj(isampler2D sampler, vec4 P);
-uvec4 textureProj(usampler2D sampler, vec4 P);
-
- vec4 textureProj( sampler3D sampler, vec4 P);
-ivec4 textureProj(isampler3D sampler, vec4 P);
-uvec4 textureProj(usampler3D sampler, vec4 P);
-
-float textureProj(sampler1DShadow sampler, vec4 P);
-float textureProj(sampler2DShadow sampler, vec4 P);
-
-/* textureLod */
- vec4 textureLod( sampler1D sampler, float P, float lod);
-ivec4 textureLod(isampler1D sampler, float P, float lod);
-uvec4 textureLod(usampler1D sampler, float P, float lod);
-
- vec4 textureLod( sampler2D sampler, vec2 P, float lod);
-ivec4 textureLod(isampler2D sampler, vec2 P, float lod);
-uvec4 textureLod(usampler2D sampler, vec2 P, float lod);
-
- vec4 textureLod( sampler3D sampler, vec3 P, float lod);
-ivec4 textureLod(isampler3D sampler, vec3 P, float lod);
-uvec4 textureLod(usampler3D sampler, vec3 P, float lod);
-
- vec4 textureLod( samplerCube sampler, vec3 P, float lod);
-ivec4 textureLod(isamplerCube sampler, vec3 P, float lod);
-uvec4 textureLod(usamplerCube sampler, vec3 P, float lod);
-
-float textureLod(sampler1DShadow sampler, vec3 P, float lod);
-float textureLod(sampler2DShadow sampler, vec3 P, float lod);
-
- vec4 textureLod( sampler1DArray sampler, vec2 P, float lod);
-ivec4 textureLod(isampler1DArray sampler, vec2 P, float lod);
-uvec4 textureLod(usampler1DArray sampler, vec2 P, float lod);
-
- vec4 textureLod( sampler2DArray sampler, vec3 P, float lod);
-ivec4 textureLod(isampler2DArray sampler, vec3 P, float lod);
-uvec4 textureLod(usampler2DArray sampler, vec3 P, float lod);
-
-float textureLod(sampler1DArrayShadow sampler, vec3 P, float lod);
-
-/* textureOffset - no bias */
- vec4 textureOffset( sampler1D sampler, float P, int offset);
-ivec4 textureOffset(isampler1D sampler, float P, int offset);
-uvec4 textureOffset(usampler1D sampler, float P, int offset);
-
- vec4 textureOffset( sampler2D sampler, vec2 P, ivec2 offset);
-ivec4 textureOffset(isampler2D sampler, vec2 P, ivec2 offset);
-uvec4 textureOffset(usampler2D sampler, vec2 P, ivec2 offset);
-
- vec4 textureOffset( sampler3D sampler, vec3 P, ivec3 offset);
-ivec4 textureOffset(isampler3D sampler, vec3 P, ivec3 offset);
-uvec4 textureOffset(usampler3D sampler, vec3 P, ivec3 offset);
-
-float textureOffset(sampler1DShadow sampler, vec3 P, int offset);
-float textureOffset(sampler2DShadow sampler, vec3 P, ivec2 offset);
-
- vec4 textureOffset( sampler1DArray sampler, vec2 P, int offset);
-ivec4 textureOffset(isampler1DArray sampler, vec2 P, int offset);
-uvec4 textureOffset(usampler1DArray sampler, vec2 P, int offset);
-
- vec4 textureOffset( sampler2DArray sampler, vec3 P, ivec2 offset);
-ivec4 textureOffset(isampler2DArray sampler, vec3 P, ivec2 offset);
-uvec4 textureOffset(usampler2DArray sampler, vec3 P, ivec2 offset);
-
-float textureOffset(sampler1DArrayShadow sampler, vec3 P, int offset);
-
-/* texelFetch */
- vec4 texelFetch( sampler1D sampler, int P, int lod);
-ivec4 texelFetch(isampler1D sampler, int P, int lod);
-uvec4 texelFetch(usampler1D sampler, int P, int lod);
-
- vec4 texelFetch( sampler2D sampler, ivec2 P, int lod);
-ivec4 texelFetch(isampler2D sampler, ivec2 P, int lod);
-uvec4 texelFetch(usampler2D sampler, ivec2 P, int lod);
-
- vec4 texelFetch( sampler3D sampler, ivec3 P, int lod);
-ivec4 texelFetch(isampler3D sampler, ivec3 P, int lod);
-uvec4 texelFetch(usampler3D sampler, ivec3 P, int lod);
-
- vec4 texelFetch( sampler1DArray sampler, ivec2 P, int lod);
-ivec4 texelFetch(isampler1DArray sampler, ivec2 P, int lod);
-uvec4 texelFetch(usampler1DArray sampler, ivec2 P, int lod);
-
- vec4 texelFetch( sampler2DArray sampler, ivec3 P, int lod);
-ivec4 texelFetch(isampler2DArray sampler, ivec3 P, int lod);
-uvec4 texelFetch(usampler2DArray sampler, ivec3 P, int lod);
-
-/* texelFetchOffset */
- vec4 texelFetchOffset( sampler1D sampler, int P, int lod, int offset);
-ivec4 texelFetchOffset(isampler1D sampler, int P, int lod, int offset);
-uvec4 texelFetchOffset(usampler1D sampler, int P, int lod, int offset);
-
- vec4 texelFetchOffset( sampler2D sampler, ivec2 P, int lod, ivec2 offset);
-ivec4 texelFetchOffset(isampler2D sampler, ivec2 P, int lod, ivec2 offset);
-uvec4 texelFetchOffset(usampler2D sampler, ivec2 P, int lod, ivec2 offset);
-
- vec4 texelFetchOffset( sampler3D sampler, ivec3 P, int lod, ivec3 offset);
-ivec4 texelFetchOffset(isampler3D sampler, ivec3 P, int lod, ivec3 offset);
-uvec4 texelFetchOffset(usampler3D sampler, ivec3 P, int lod, ivec3 offset);
-
- vec4 texelFetchOffset( sampler1DArray sampler, ivec2 P, int lod, int offset);
-ivec4 texelFetchOffset(isampler1DArray sampler, ivec2 P, int lod, int offset);
-uvec4 texelFetchOffset(usampler1DArray sampler, ivec2 P, int lod, int offset);
-
- vec4 texelFetchOffset( sampler2DArray sampler, ivec3 P, int lod, ivec2 offset);
-ivec4 texelFetchOffset(isampler2DArray sampler, ivec3 P, int lod, ivec2 offset);
-uvec4 texelFetchOffset(usampler2DArray sampler, ivec3 P, int lod, ivec2 offset);
-
-/* textureProjOffset - no bias */
- vec4 textureProjOffset( sampler1D sampler, vec2 P, int offset);
-ivec4 textureProjOffset(isampler1D sampler, vec2 P, int offset);
-uvec4 textureProjOffset(usampler1D sampler, vec2 P, int offset);
- vec4 textureProjOffset( sampler1D sampler, vec4 P, int offset);
-ivec4 textureProjOffset(isampler1D sampler, vec4 P, int offset);
-uvec4 textureProjOffset(usampler1D sampler, vec4 P, int offset);
-
- vec4 textureProjOffset( sampler2D sampler, vec3 P, ivec2 offset);
-ivec4 textureProjOffset(isampler2D sampler, vec3 P, ivec2 offset);
-uvec4 textureProjOffset(usampler2D sampler, vec3 P, ivec2 offset);
- vec4 textureProjOffset( sampler2D sampler, vec4 P, ivec2 offset);
-ivec4 textureProjOffset(isampler2D sampler, vec4 P, ivec2 offset);
-uvec4 textureProjOffset(usampler2D sampler, vec4 P, ivec2 offset);
-
- vec4 textureProjOffset( sampler3D sampler, vec4 P, ivec3 offset);
-ivec4 textureProjOffset(isampler3D sampler, vec4 P, ivec3 offset);
-uvec4 textureProjOffset(usampler3D sampler, vec4 P, ivec3 offset);
-
-float textureProjOffset(sampler1DShadow sampler, vec4 P, int offset);
-float textureProjOffset(sampler2DShadow sampler, vec4 P, ivec2 offset);
-
-/* textureLodOffset */
- vec4 textureLodOffset( sampler1D sampler, float P, float lod, int offset);
-ivec4 textureLodOffset(isampler1D sampler, float P, float lod, int offset);
-uvec4 textureLodOffset(usampler1D sampler, float P, float lod, int offset);
-
- vec4 textureLodOffset( sampler2D sampler, vec2 P, float lod, ivec2 offset);
-ivec4 textureLodOffset(isampler2D sampler, vec2 P, float lod, ivec2 offset);
-uvec4 textureLodOffset(usampler2D sampler, vec2 P, float lod, ivec2 offset);
-
- vec4 textureLodOffset( sampler3D sampler, vec3 P, float lod, ivec3 offset);
-ivec4 textureLodOffset(isampler3D sampler, vec3 P, float lod, ivec3 offset);
-uvec4 textureLodOffset(usampler3D sampler, vec3 P, float lod, ivec3 offset);
-
-float textureLodOffset(sampler1DShadow samp, vec3 P, float lod, int offset);
-float textureLodOffset(sampler2DShadow samp, vec3 P, float lod, ivec2 offset);
-
- vec4 textureLodOffset( sampler1DArray sampler, vec2 P, float lod, int offset);
-ivec4 textureLodOffset(isampler1DArray sampler, vec2 P, float lod, int offset);
-uvec4 textureLodOffset(usampler1DArray sampler, vec2 P, float lod, int offset);
-
- vec4 textureLodOffset( sampler2DArray samp, vec3 P, float lod, ivec2 offset);
-ivec4 textureLodOffset(isampler2DArray samp, vec3 P, float lod, ivec2 offset);
-uvec4 textureLodOffset(usampler2DArray samp, vec3 P, float lod, ivec2 offset);
-
-float textureLodOffset(sampler1DArrayShadow s, vec3 P, float lod, int offset);
-
-/* textureProjLod */
- vec4 textureProjLod( sampler1D sampler, vec2 P, float lod);
-ivec4 textureProjLod(isampler1D sampler, vec2 P, float lod);
-uvec4 textureProjLod(usampler1D sampler, vec2 P, float lod);
- vec4 textureProjLod( sampler1D sampler, vec4 P, float lod);
-ivec4 textureProjLod(isampler1D sampler, vec4 P, float lod);
-uvec4 textureProjLod(usampler1D sampler, vec4 P, float lod);
-
- vec4 textureProjLod( sampler2D sampler, vec3 P, float lod);
-ivec4 textureProjLod(isampler2D sampler, vec3 P, float lod);
-uvec4 textureProjLod(usampler2D sampler, vec3 P, float lod);
- vec4 textureProjLod( sampler2D sampler, vec4 P, float lod);
-ivec4 textureProjLod(isampler2D sampler, vec4 P, float lod);
-uvec4 textureProjLod(usampler2D sampler, vec4 P, float lod);
-
- vec4 textureProjLod( sampler3D sampler, vec4 P, float lod);
-ivec4 textureProjLod(isampler3D sampler, vec4 P, float lod);
-uvec4 textureProjLod(usampler3D sampler, vec4 P, float lod);
-
-float textureProjLod(sampler1DShadow sampler, vec4 P, float lod);
-float textureProjLod(sampler2DShadow sampler, vec4 P, float lod);
-
-/* textureProjLodOffset */
- vec4 textureProjLodOffset( sampler1D sampler, vec2 P, float lod, int offset);
-ivec4 textureProjLodOffset(isampler1D sampler, vec2 P, float lod, int offset);
-uvec4 textureProjLodOffset(usampler1D sampler, vec2 P, float lod, int offset);
- vec4 textureProjLodOffset( sampler1D sampler, vec4 P, float lod, int offset);
-ivec4 textureProjLodOffset(isampler1D sampler, vec4 P, float lod, int offset);
-uvec4 textureProjLodOffset(usampler1D sampler, vec4 P, float lod, int offset);
-
- vec4 textureProjLodOffset( sampler2D sampler, vec3 P, float lod, ivec2 offset);
-ivec4 textureProjLodOffset(isampler2D sampler, vec3 P, float lod, ivec2 offset);
-uvec4 textureProjLodOffset(usampler2D sampler, vec3 P, float lod, ivec2 offset);
- vec4 textureProjLodOffset( sampler2D sampler, vec4 P, float lod, ivec2 offset);
-ivec4 textureProjLodOffset(isampler2D sampler, vec4 P, float lod, ivec2 offset);
-uvec4 textureProjLodOffset(usampler2D sampler, vec4 P, float lod, ivec2 offset);
-
- vec4 textureProjLodOffset( sampler3D sampler, vec4 P, float lod, ivec3 offset);
-ivec4 textureProjLodOffset(isampler3D sampler, vec4 P, float lod, ivec3 offset);
-uvec4 textureProjLodOffset(usampler3D sampler, vec4 P, float lod, ivec3 offset);
-
-float textureProjLodOffset(sampler1DShadow s, vec4 P, float lod, int offset);
-float textureProjLodOffset(sampler2DShadow s, vec4 P, float lod, ivec2 offset);
-
-/* textureGrad */
- vec4 textureGrad( sampler1D sampler, float P, float dPdx, float dPdy);
-ivec4 textureGrad(isampler1D sampler, float P, float dPdx, float dPdy);
-uvec4 textureGrad(usampler1D sampler, float P, float dPdx, float dPdy);
-
- vec4 textureGrad( sampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy);
-ivec4 textureGrad(isampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy);
-uvec4 textureGrad(usampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy);
-
- vec4 textureGrad( sampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy);
-ivec4 textureGrad(isampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy);
-uvec4 textureGrad(usampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy);
-
- vec4 textureGrad( samplerCube sampler, vec3 P, vec3 dPdx, vec3 dPdy);
-ivec4 textureGrad(isamplerCube sampler, vec3 P, vec3 dPdx, vec3 dPdy);
-uvec4 textureGrad(usamplerCube sampler, vec3 P, vec3 dPdx, vec3 dPdy);
-
-float textureGrad(sampler1DShadow   sampler, vec3 P, float dPdx, float dPdy);
-float textureGrad(sampler2DShadow   sampler, vec3 P, vec2  dPdx, vec2  dPdy);
-float textureGrad(samplerCubeShadow sampler, vec4 P, vec3  dPdx, vec3  dPdy);
-
- vec4 textureGrad( sampler1DArray sampler, vec2 P, float dPdx, float dPdy);
-ivec4 textureGrad(isampler1DArray sampler, vec2 P, float dPdx, float dPdy);
-uvec4 textureGrad(usampler1DArray sampler, vec2 P, float dPdx, float dPdy);
-
- vec4 textureGrad( sampler2DArray sampler, vec3 P, vec2 dPdx, vec2 dPdy);
-ivec4 textureGrad(isampler2DArray sampler, vec3 P, vec2 dPdx, vec2 dPdy);
-uvec4 textureGrad(usampler2DArray sampler, vec3 P, vec2 dPdx, vec2 dPdy);
-
-float textureGrad(sampler1DArrayShadow sampler, vec3 P, float dPdx, float dPdy);
-float textureGrad(sampler2DArrayShadow sampler, vec4 P, vec2  dPdx, vec2  dPdy);
-
-/* textureGradOffset */
- vec4 textureGradOffset( sampler1D s, float P, float dx, float dy, int off);
-ivec4 textureGradOffset(isampler1D s, float P, float dx, float dy, int offset);
-uvec4 textureGradOffset(usampler1D s, float P, float dx, float dy, int offset);
-
- vec4 textureGradOffset( sampler2D s, vec2 P, vec2 dx, vec2 dy, ivec2 offset);
-ivec4 textureGradOffset(isampler2D s, vec2 P, vec2 dx, vec2 dy, ivec2 offset);
-uvec4 textureGradOffset(usampler2D s, vec2 P, vec2 dx, vec2 dy, ivec2 offset);
-
- vec4 textureGradOffset( sampler3D s, vec3 P, vec3 dx, vec3 dy, ivec3 offset);
-ivec4 textureGradOffset(isampler3D s, vec3 P, vec3 dx, vec3 dy, ivec3 offset);
-uvec4 textureGradOffset(usampler3D s, vec3 P, vec3 dx, vec3 dy, ivec3 offset);
-
-float textureGradOffset(sampler1DShadow s, vec3 P, float dx, float dy, int off);
-float textureGradOffset(sampler2DShadow s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
-
- vec4 textureGradOffset( sampler1DArray s, vec2 P, float dx, float dy, int off);
-ivec4 textureGradOffset(isampler1DArray s, vec2 P, float dx, float dy, int off);
-uvec4 textureGradOffset(usampler1DArray s, vec2 P, float dx, float dy, int off);
-
- vec4 textureGradOffset( sampler2DArray s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
-ivec4 textureGradOffset(isampler2DArray s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
-uvec4 textureGradOffset(usampler2DArray s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
-
-float textureGradOffset(sampler1DArrayShadow s, vec3 P, float dx, float dy, int o);
-float textureGradOffset(sampler2DArrayShadow s, vec4 P, vec2 dx, vec2 dy, ivec2 o);
-
-/* textureProjGrad */
- vec4 textureProjGrad( sampler1D sampler, vec2 P, float dPdx, float dPdy);
-ivec4 textureProjGrad(isampler1D sampler, vec2 P, float dPdx, float dPdy);
-uvec4 textureProjGrad(usampler1D sampler, vec2 P, float dPdx, float dPdy);
- vec4 textureProjGrad( sampler1D sampler, vec4 P, float dPdx, float dPdy);
-ivec4 textureProjGrad(isampler1D sampler, vec4 P, float dPdx, float dPdy);
-uvec4 textureProjGrad(usampler1D sampler, vec4 P, float dPdx, float dPdy);
-
- vec4 textureProjGrad( sampler2D sampler, vec3 P, vec2 dPdx, vec2 dPdy);
-ivec4 textureProjGrad(isampler2D sampler, vec3 P, vec2 dPdx, vec2 dPdy);
-uvec4 textureProjGrad(usampler2D sampler, vec3 P, vec2 dPdx, vec2 dPdy);
- vec4 textureProjGrad( sampler2D sampler, vec4 P, vec2 dPdx, vec2 dPdy);
-ivec4 textureProjGrad(isampler2D sampler, vec4 P, vec2 dPdx, vec2 dPdy);
-uvec4 textureProjGrad(usampler2D sampler, vec4 P, vec2 dPdx, vec2 dPdy);
-
- vec4 textureProjGrad( sampler3D sampler, vec4 P, vec3 dPdx, vec3 dPdy);
-ivec4 textureProjGrad(isampler3D sampler, vec4 P, vec3 dPdx, vec3 dPdy);
-uvec4 textureProjGrad(usampler3D sampler, vec4 P, vec3 dPdx, vec3 dPdy);
-
-float textureProjGrad(sampler1DShadow sampler, vec4 P, float dPdx, float dPdy);
-float textureProjGrad(sampler2DShadow sampler, vec4 P, vec2  dPdx, vec2  dPdy);
-
-/* textureProjGradOffset */
- vec4 textureProjGradOffset( sampler1D s, vec2 P, float dx, float dy, int off);
-ivec4 textureProjGradOffset(isampler1D s, vec2 P, float dx, float dy, int off);
-uvec4 textureProjGradOffset(usampler1D s, vec2 P, float dx, float dy, int off);
- vec4 textureProjGradOffset( sampler1D s, vec4 P, float dx, float dy, int off);
-ivec4 textureProjGradOffset(isampler1D s, vec4 P, float dx, float dy, int off);
-uvec4 textureProjGradOffset(usampler1D s, vec4 P, float dx, float dy, int off);
-
- vec4 textureProjGradOffset( sampler2D s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
-ivec4 textureProjGradOffset(isampler2D s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
-uvec4 textureProjGradOffset(usampler2D s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
- vec4 textureProjGradOffset( sampler2D s, vec4 P, vec2 dx, vec2 dy, ivec2 off);
-ivec4 textureProjGradOffset(isampler2D s, vec4 P, vec2 dx, vec2 dy, ivec2 off);
-uvec4 textureProjGradOffset(usampler2D s, vec4 P, vec2 dx, vec2 dy, ivec2 off);
-
- vec4 textureProjGradOffset( sampler3D s, vec4 P, vec3 dx, vec3 dy, ivec3 off);
-ivec4 textureProjGradOffset(isampler3D s, vec4 P, vec3 dx, vec3 dy, ivec3 off);
-uvec4 textureProjGradOffset(usampler3D s, vec4 P, vec3 dx, vec3 dy, ivec3 off);
-
-float textureProjGradOffset(sampler1DShadow s, vec4 P, float dx, float dy, int o);
-float textureProjGradOffset(sampler2DShadow s, vec4 P, vec2 dx, vec2 dy, ivec2 o);
-
-/*
- * The following texture functions are deprecated:
- */
-vec4 texture1D       (sampler1D sampler, float coord);
-vec4 texture1DProj   (sampler1D sampler, vec2  coord);
-vec4 texture1DProj   (sampler1D sampler, vec4  coord);
-vec4 texture1DLod    (sampler1D sampler, float coord, float lod);
-vec4 texture1DProjLod(sampler1D sampler, vec2  coord, float lod);
-vec4 texture1DProjLod(sampler1D sampler, vec4  coord, float lod);
-
-vec4 texture2D       (sampler2D sampler, vec2 coord);
-vec4 texture2DProj   (sampler2D sampler, vec3 coord);
-vec4 texture2DProj   (sampler2D sampler, vec4 coord);
-vec4 texture2DLod    (sampler2D sampler, vec2 coord, float lod);
-vec4 texture2DProjLod(sampler2D sampler, vec3 coord, float lod);
-vec4 texture2DProjLod(sampler2D sampler, vec4 coord, float lod);
-
-vec4 texture3D       (sampler3D sampler, vec3 coord);
-vec4 texture3DProj   (sampler3D sampler, vec4 coord);
-vec4 texture3DLod    (sampler3D sampler, vec3 coord, float lod);
-vec4 texture3DProjLod(sampler3D sampler, vec4 coord, float lod);
-
-vec4 textureCube     (samplerCube sampler, vec3 coord);
-vec4 textureCubeLod  (samplerCube sampler, vec3 coord, float lod);
-
-vec4 shadow1D       (sampler1DShadow sampler, vec3 coord);
-vec4 shadow2D       (sampler2DShadow sampler, vec3 coord);
-vec4 shadow1DProj   (sampler1DShadow sampler, vec4 coord);
-vec4 shadow2DProj   (sampler2DShadow sampler, vec4 coord);
-vec4 shadow1DLod    (sampler1DShadow sampler, vec3 coord, float lod);
-vec4 shadow2DLod    (sampler2DShadow sampler, vec3 coord, float lod);
-vec4 shadow1DProjLod(sampler1DShadow sampler, vec4 coord, float lod);
-vec4 shadow2DProjLod(sampler2DShadow sampler, vec4 coord, float lod);
-
-/*
- * 8.9 - Noise Functions
- */
-float noise1(float x);
-float noise1(vec2  x);
-float noise1(vec3  x);
-float noise1(vec4  x);
-
-vec2  noise2(float x);
-vec2  noise2(vec2  x);
-vec2  noise2(vec3  x);
-vec2  noise2(vec4  x);
-
-vec3  noise3(float x);
-vec3  noise3(vec2  x);
-vec3  noise3(vec3  x);
-vec3  noise3(vec4  x);
-
-vec4  noise4(float x);
-vec4  noise4(vec2  x);
-vec4  noise4(vec3  x);
-vec4  noise4(vec4  x);
diff --git a/src/glsl/builtins/profiles/130.vert b/src/glsl/builtins/profiles/130.vert
deleted file mode 100644
index 99d127e..0000000
--- a/src/glsl/builtins/profiles/130.vert
+++ /dev/null
@@ -1,2 +0,0 @@
-#version 130
-vec4 ftransform();
diff --git a/src/glsl/builtins/profiles/140.frag b/src/glsl/builtins/profiles/140.frag
deleted file mode 100644
index 2e50a15..0000000
--- a/src/glsl/builtins/profiles/140.frag
+++ /dev/null
@@ -1,140 +0,0 @@
-#version 140
-/* texture - bias variants */
- vec4 texture( sampler1D sampler, float P, float bias);
-ivec4 texture(isampler1D sampler, float P, float bias);
-uvec4 texture(usampler1D sampler, float P, float bias);
-
- vec4 texture( sampler2D sampler, vec2 P, float bias);
-ivec4 texture(isampler2D sampler, vec2 P, float bias);
-uvec4 texture(usampler2D sampler, vec2 P, float bias);
-
- vec4 texture( sampler3D sampler, vec3 P, float bias);
-ivec4 texture(isampler3D sampler, vec3 P, float bias);
-uvec4 texture(usampler3D sampler, vec3 P, float bias);
-
- vec4 texture( samplerCube sampler, vec3 P, float bias);
-ivec4 texture(isamplerCube sampler, vec3 P, float bias);
-uvec4 texture(usamplerCube sampler, vec3 P, float bias);
-
-float texture(sampler1DShadow   sampler, vec3 P, float bias);
-float texture(sampler2DShadow   sampler, vec3 P, float bias);
-float texture(samplerCubeShadow sampler, vec4 P, float bias);
-
- vec4 texture( sampler1DArray sampler, vec2 P, float bias);
-ivec4 texture(isampler1DArray sampler, vec2 P, float bias);
-uvec4 texture(usampler1DArray sampler, vec2 P, float bias);
-
- vec4 texture( sampler2DArray sampler, vec3 P, float bias);
-ivec4 texture(isampler2DArray sampler, vec3 P, float bias);
-uvec4 texture(usampler2DArray sampler, vec3 P, float bias);
-
-float texture(sampler1DArrayShadow sampler, vec3 P, float bias);
-
-/* textureProj - bias variants */
- vec4 textureProj( sampler1D sampler, vec2 P, float bias);
-ivec4 textureProj(isampler1D sampler, vec2 P, float bias);
-uvec4 textureProj(usampler1D sampler, vec2 P, float bias);
- vec4 textureProj( sampler1D sampler, vec4 P, float bias);
-ivec4 textureProj(isampler1D sampler, vec4 P, float bias);
-uvec4 textureProj(usampler1D sampler, vec4 P, float bias);
-
- vec4 textureProj( sampler2D sampler, vec3 P, float bias);
-ivec4 textureProj(isampler2D sampler, vec3 P, float bias);
-uvec4 textureProj(usampler2D sampler, vec3 P, float bias);
- vec4 textureProj( sampler2D sampler, vec4 P, float bias);
-ivec4 textureProj(isampler2D sampler, vec4 P, float bias);
-uvec4 textureProj(usampler2D sampler, vec4 P, float bias);
-
- vec4 textureProj( sampler3D sampler, vec4 P, float bias);
-ivec4 textureProj(isampler3D sampler, vec4 P, float bias);
-uvec4 textureProj(usampler3D sampler, vec4 P, float bias);
-
-float textureProj(sampler1DShadow sampler, vec4 P, float bias);
-float textureProj(sampler2DShadow sampler, vec4 P, float bias);
-
-/* textureOffset - bias variants */
- vec4 textureOffset( sampler1D sampler, float P, int offset, float bias);
-ivec4 textureOffset(isampler1D sampler, float P, int offset, float bias);
-uvec4 textureOffset(usampler1D sampler, float P, int offset, float bias);
-
- vec4 textureOffset( sampler2D sampler, vec2 P, ivec2 offset, float bias);
-ivec4 textureOffset(isampler2D sampler, vec2 P, ivec2 offset, float bias);
-uvec4 textureOffset(usampler2D sampler, vec2 P, ivec2 offset, float bias);
-
- vec4 textureOffset( sampler3D sampler, vec3 P, ivec3 offset, float bias);
-ivec4 textureOffset(isampler3D sampler, vec3 P, ivec3 offset, float bias);
-uvec4 textureOffset(usampler3D sampler, vec3 P, ivec3 offset, float bias);
-
-float textureOffset(sampler1DShadow sampler, vec3 P, int offset, float bias);
-float textureOffset(sampler2DShadow sampler, vec3 P, ivec2 offset, float bias);
-
- vec4 textureOffset( sampler1DArray sampler, vec2 P, int offset, float bias);
-ivec4 textureOffset(isampler1DArray sampler, vec2 P, int offset, float bias);
-uvec4 textureOffset(usampler1DArray sampler, vec2 P, int offset, float bias);
-
- vec4 textureOffset( sampler2DArray sampler, vec3 P, ivec2 offset, float bias);
-ivec4 textureOffset(isampler2DArray sampler, vec3 P, ivec2 offset, float bias);
-uvec4 textureOffset(usampler2DArray sampler, vec3 P, ivec2 offset, float bias);
-
-float textureOffset(sampler1DArrayShadow samp, vec3 P, int offset, float bias);
-
-/* textureProjOffsetOffset - bias variants */
- vec4 textureProjOffset( sampler1D sampler, vec2 P, int offset, float bias);
-ivec4 textureProjOffset(isampler1D sampler, vec2 P, int offset, float bias);
-uvec4 textureProjOffset(usampler1D sampler, vec2 P, int offset, float bias);
- vec4 textureProjOffset( sampler1D sampler, vec4 P, int offset, float bias);
-ivec4 textureProjOffset(isampler1D sampler, vec4 P, int offset, float bias);
-uvec4 textureProjOffset(usampler1D sampler, vec4 P, int offset, float bias);
-
- vec4 textureProjOffset( sampler2D sampler, vec3 P, ivec2 offset, float bias);
-ivec4 textureProjOffset(isampler2D sampler, vec3 P, ivec2 offset, float bias);
-uvec4 textureProjOffset(usampler2D sampler, vec3 P, ivec2 offset, float bias);
- vec4 textureProjOffset( sampler2D sampler, vec4 P, ivec2 offset, float bias);
-ivec4 textureProjOffset(isampler2D sampler, vec4 P, ivec2 offset, float bias);
-uvec4 textureProjOffset(usampler2D sampler, vec4 P, ivec2 offset, float bias);
-
- vec4 textureProjOffset( sampler3D sampler, vec4 P, ivec3 offset, float bias);
-ivec4 textureProjOffset(isampler3D sampler, vec4 P, ivec3 offset, float bias);
-uvec4 textureProjOffset(usampler3D sampler, vec4 P, ivec3 offset, float bias);
-
-float textureProjOffset(sampler1DShadow s, vec4 P, int offset, float bias);
-float textureProjOffset(sampler2DShadow s, vec4 P, ivec2 offset, float bias);
-
-/*
- * The following texture functions are deprecated:
- */
-vec4 texture1D       (sampler1D sampler, float coord, float bias);
-vec4 texture1DProj   (sampler1D sampler, vec2  coord, float bias);
-vec4 texture1DProj   (sampler1D sampler, vec4  coord, float bias);
-
-vec4 texture2D       (sampler2D sampler, vec2 coord, float bias);
-vec4 texture2DProj   (sampler2D sampler, vec3 coord, float bias);
-vec4 texture2DProj   (sampler2D sampler, vec4 coord, float bias);
-
-vec4 texture3D       (sampler3D sampler, vec3 coord, float bias);
-vec4 texture3DProj   (sampler3D sampler, vec4 coord, float bias);
-
-vec4 textureCube     (samplerCube sampler, vec3 coord, float bias);
-
-vec4 shadow1D       (sampler1DShadow sampler, vec3 coord, float bias);
-vec4 shadow2D       (sampler2DShadow sampler, vec3 coord, float bias);
-vec4 shadow1DProj   (sampler1DShadow sampler, vec4 coord, float bias);
-vec4 shadow2DProj   (sampler2DShadow sampler, vec4 coord, float bias);
-
-/*
- * 8.8 - Fragment Processing Functions
- */
-float dFdx(float p);
-vec2  dFdx(vec2  p);
-vec3  dFdx(vec3  p);
-vec4  dFdx(vec4  p);
-
-float dFdy(float p);
-vec2  dFdy(vec2  p);
-vec3  dFdy(vec3  p);
-vec4  dFdy(vec4  p);
-
-float fwidth(float p);
-vec2  fwidth(vec2  p);
-vec3  fwidth(vec3  p);
-vec4  fwidth(vec4  p);
diff --git a/src/glsl/builtins/profiles/140.glsl b/src/glsl/builtins/profiles/140.glsl
deleted file mode 100644
index 90e0481..0000000
--- a/src/glsl/builtins/profiles/140.glsl
+++ /dev/null
@@ -1,989 +0,0 @@
-#version 140
-/*
- * 8.1 - Angle and Trigonometry Functions
- */
-float radians(float degrees);
-vec2  radians(vec2  degrees);
-vec3  radians(vec3  degrees);
-vec4  radians(vec4  degrees);
-
-float degrees(float radians);
-vec2  degrees(vec2  radians);
-vec3  degrees(vec3  radians);
-vec4  degrees(vec4  radians);
-
-float sin(float angle);
-vec2  sin(vec2  angle);
-vec3  sin(vec3  angle);
-vec4  sin(vec4  angle);
-
-float cos(float angle);
-vec2  cos(vec2  angle);
-vec3  cos(vec3  angle);
-vec4  cos(vec4  angle);
-
-float tan(float angle);
-vec2  tan(vec2  angle);
-vec3  tan(vec3  angle);
-vec4  tan(vec4  angle);
-
-float asin(float angle);
-vec2  asin(vec2  angle);
-vec3  asin(vec3  angle);
-vec4  asin(vec4  angle);
-
-float acos(float angle);
-vec2  acos(vec2  angle);
-vec3  acos(vec3  angle);
-vec4  acos(vec4  angle);
-
-float atan(float y, float x);
-vec2  atan(vec2  y, vec2  x);
-vec3  atan(vec3  y, vec3  x);
-vec4  atan(vec4  y, vec4  x);
-
-float atan(float y_over_x);
-vec2  atan(vec2  y_over_x);
-vec3  atan(vec3  y_over_x);
-vec4  atan(vec4  y_over_x);
-
-float sinh(float x);
-vec2  sinh(vec2  x);
-vec3  sinh(vec3  x);
-vec4  sinh(vec4  x);
-
-float cosh(float x);
-vec2  cosh(vec2  x);
-vec3  cosh(vec3  x);
-vec4  cosh(vec4  x);
-
-float tanh(float x);
-vec2  tanh(vec2  x);
-vec3  tanh(vec3  x);
-vec4  tanh(vec4  x);
-
-float asinh(float x);
-vec2  asinh(vec2  x);
-vec3  asinh(vec3  x);
-vec4  asinh(vec4  x);
-
-float acosh(float x);
-vec2  acosh(vec2  x);
-vec3  acosh(vec3  x);
-vec4  acosh(vec4  x);
-
-float atanh(float x);
-vec2  atanh(vec2  x);
-vec3  atanh(vec3  x);
-vec4  atanh(vec4  x);
-
-/*
- * 8.2 - Exponential Functions
- */
-float pow(float x, float y);
-vec2  pow(vec2  x, vec2  y);
-vec3  pow(vec3  x, vec3  y);
-vec4  pow(vec4  x, vec4  y);
-
-float exp(float x);
-vec2  exp(vec2  x);
-vec3  exp(vec3  x);
-vec4  exp(vec4  x);
-
-float log(float x);
-vec2  log(vec2  x);
-vec3  log(vec3  x);
-vec4  log(vec4  x);
-
-float exp2(float x);
-vec2  exp2(vec2  x);
-vec3  exp2(vec3  x);
-vec4  exp2(vec4  x);
-
-float log2(float x);
-vec2  log2(vec2  x);
-vec3  log2(vec3  x);
-vec4  log2(vec4  x);
-
-float sqrt(float x);
-vec2  sqrt(vec2  x);
-vec3  sqrt(vec3  x);
-vec4  sqrt(vec4  x);
-
-float inversesqrt(float x);
-vec2  inversesqrt(vec2  x);
-vec3  inversesqrt(vec3  x);
-vec4  inversesqrt(vec4  x);
-
-/*
- * 8.3 - Common Functions
- */
-float abs(float x);
-vec2  abs(vec2  x);
-vec3  abs(vec3  x);
-vec4  abs(vec4  x);
-int   abs(int   x);
-ivec2 abs(ivec2 x);
-ivec3 abs(ivec3 x);
-ivec4 abs(ivec4 x);
-
-float sign(float x);
-vec2  sign(vec2  x);
-vec3  sign(vec3  x);
-vec4  sign(vec4  x);
-int   sign(int   x);
-ivec2 sign(ivec2 x);
-ivec3 sign(ivec3 x);
-ivec4 sign(ivec4 x);
-
-float floor(float x);
-vec2  floor(vec2  x);
-vec3  floor(vec3  x);
-vec4  floor(vec4  x);
-
-float trunc(float x);
-vec2  trunc(vec2  x);
-vec3  trunc(vec3  x);
-vec4  trunc(vec4  x);
-
-float round(float x);
-vec2  round(vec2  x);
-vec3  round(vec3  x);
-vec4  round(vec4  x);
-
-float roundEven(float x);
-vec2  roundEven(vec2  x);
-vec3  roundEven(vec3  x);
-vec4  roundEven(vec4  x);
-
-float ceil(float x);
-vec2  ceil(vec2  x);
-vec3  ceil(vec3  x);
-vec4  ceil(vec4  x);
-
-float fract(float x);
-vec2  fract(vec2  x);
-vec3  fract(vec3  x);
-vec4  fract(vec4  x);
-
-float mod(float x, float y);
-vec2  mod(vec2  x, float y);
-vec3  mod(vec3  x, float y);
-vec4  mod(vec4  x, float y);
-
-vec2  mod(vec2  x, vec2  y);
-vec3  mod(vec3  x, vec3  y);
-vec4  mod(vec4  x, vec4  y);
-
-float modf(float x, out float i);
-vec2  modf(vec2  x, out vec2  i);
-vec3  modf(vec3  x, out vec3  i);
-vec4  modf(vec4  x, out vec4  i);
-
-float min(float x, float y);
-vec2  min(vec2  x, vec2  y);
-vec3  min(vec3  x, vec3  y);
-vec4  min(vec4  x, vec4  y);
-
-vec2  min(vec2  x, float y);
-vec3  min(vec3  x, float y);
-vec4  min(vec4  x, float y);
-
-int   min(int   x, int   y);
-ivec2 min(ivec2 x, ivec2 y);
-ivec3 min(ivec3 x, ivec3 y);
-ivec4 min(ivec4 x, ivec4 y);
-
-ivec2 min(ivec2 x, int   y);
-ivec3 min(ivec3 x, int   y);
-ivec4 min(ivec4 x, int   y);
-
-uint  min(uint  x, uint  y);
-uvec2 min(uvec2 x, uvec2 y);
-uvec3 min(uvec3 x, uvec3 y);
-uvec4 min(uvec4 x, uvec4 y);
-
-uvec2 min(uvec2 x, uint  y);
-uvec3 min(uvec3 x, uint  y);
-uvec4 min(uvec4 x, uint  y);
-
-float max(float x, float y);
-vec2  max(vec2  x, vec2  y);
-vec3  max(vec3  x, vec3  y);
-vec4  max(vec4  x, vec4  y);
-
-vec2  max(vec2  x, float y);
-vec3  max(vec3  x, float y);
-vec4  max(vec4  x, float y);
-
-int   max(int   x, int   y);
-ivec2 max(ivec2 x, ivec2 y);
-ivec3 max(ivec3 x, ivec3 y);
-ivec4 max(ivec4 x, ivec4 y);
-
-ivec2 max(ivec2 x, int   y);
-ivec3 max(ivec3 x, int   y);
-ivec4 max(ivec4 x, int   y);
-
-uint  max(uint  x, uint  y);
-uvec2 max(uvec2 x, uvec2 y);
-uvec3 max(uvec3 x, uvec3 y);
-uvec4 max(uvec4 x, uvec4 y);
-
-uvec2 max(uvec2 x, uint  y);
-uvec3 max(uvec3 x, uint  y);
-uvec4 max(uvec4 x, uint  y);
-
-float clamp(float x, float minVal, float maxVal);
-vec2  clamp(vec2  x, vec2  minVal, vec2  maxVal);
-vec3  clamp(vec3  x, vec3  minVal, vec3  maxVal);
-vec4  clamp(vec4  x, vec4  minVal, vec4  maxVal);
-
-vec2  clamp(vec2  x, float minVal, float maxVal);
-vec3  clamp(vec3  x, float minVal, float maxVal);
-vec4  clamp(vec4  x, float minVal, float maxVal);
-
-int   clamp(int   x, int   minVal, int   maxVal);
-ivec2 clamp(ivec2 x, ivec2 minVal, ivec2 maxVal);
-ivec3 clamp(ivec3 x, ivec3 minVal, ivec3 maxVal);
-ivec4 clamp(ivec4 x, ivec4 minVal, ivec4 maxVal);
-
-ivec2 clamp(ivec2 x, int   minVal, int   maxVal);
-ivec3 clamp(ivec3 x, int   minVal, int   maxVal);
-ivec4 clamp(ivec4 x, int   minVal, int   maxVal);
-
-uint  clamp(uint  x, uint  minVal, uint  maxVal);
-uvec2 clamp(uvec2 x, uvec2 minVal, uvec2 maxVal);
-uvec3 clamp(uvec3 x, uvec3 minVal, uvec3 maxVal);
-uvec4 clamp(uvec4 x, uvec4 minVal, uvec4 maxVal);
-
-uvec2 clamp(uvec2 x, uint  minVal, uint  maxVal);
-uvec3 clamp(uvec3 x, uint  minVal, uint  maxVal);
-uvec4 clamp(uvec4 x, uint  minVal, uint  maxVal);
-
-float mix(float x, float y, float a);
-vec2  mix(vec2  x, vec2  y, vec2  a);
-vec3  mix(vec3  x, vec3  y, vec3  a);
-vec4  mix(vec4  x, vec4  y, vec4  a);
-
-vec2  mix(vec2  x, vec2  y, float a);
-vec3  mix(vec3  x, vec3  y, float a);
-vec4  mix(vec4  x, vec4  y, float a);
-
-float mix(float x, float y, bool  a);
-vec2  mix(vec2  x, vec2  y, bvec2 a);
-vec3  mix(vec3  x, vec3  y, bvec3 a);
-vec4  mix(vec4  x, vec4  y, bvec4 a);
-
-float step(float edge, float x);
-vec2  step(vec2  edge, vec2  x);
-vec3  step(vec3  edge, vec3  x);
-vec4  step(vec4  edge, vec4  x);
-
-vec2  step(float edge, vec2  x);
-vec3  step(float edge, vec3  x);
-vec4  step(float edge, vec4  x);
-
-float smoothstep(float edge0, float edge1, float x);
-vec2  smoothstep(vec2  edge0, vec2  edge1, vec2  x);
-vec3  smoothstep(vec3  edge0, vec3  edge1, vec3  x);
-vec4  smoothstep(vec4  edge0, vec4  edge1, vec4  x);
-
-vec2  smoothstep(float edge0, float edge1, vec2  x);
-vec3  smoothstep(float edge0, float edge1, vec3  x);
-vec4  smoothstep(float edge0, float edge1, vec4  x);
-
-bool  isnan(float x);
-bvec2 isnan(vec2  x);
-bvec3 isnan(vec3  x);
-bvec4 isnan(vec4  x);
-
-bool  isinf(float x);
-bvec2 isinf(vec2  x);
-bvec3 isinf(vec3  x);
-bvec4 isinf(vec4  x);
-
-/*
- * 8.4 - Geometric Functions
- */
-float length(float x);
-float length(vec2  x);
-float length(vec3  x);
-float length(vec4  x);
-
-float distance(float p0, float p1);
-float distance(vec2  p0, vec2  p1);
-float distance(vec3  p0, vec3  p1);
-float distance(vec4  p0, vec4  p1);
-
-float dot(float x, float y);
-float dot(vec2  x, vec2  y);
-float dot(vec3  x, vec3  y);
-float dot(vec4  x, vec4  y);
-
-vec3 cross(vec3 x, vec3 y);
-
-float normalize(float x);
-vec2  normalize(vec2  x);
-vec3  normalize(vec3  x);
-vec4  normalize(vec4  x);
-
-float faceforward(float N, float I, float Nref);
-vec2  faceforward(vec2  N, vec2  I, vec2  Nref);
-vec3  faceforward(vec3  N, vec3  I, vec3  Nref);
-vec4  faceforward(vec4  N, vec4  I, vec4  Nref);
-
-float reflect(float I, float N);
-vec2  reflect(vec2  I, vec2  N);
-vec3  reflect(vec3  I, vec3  N);
-vec4  reflect(vec4  I, vec4  N);
-
-float refract(float I, float N, float eta);
-vec2  refract(vec2  I, vec2  N, float eta);
-vec3  refract(vec3  I, vec3  N, float eta);
-vec4  refract(vec4  I, vec4  N, float eta);
-
-
-/*
- * 8.5 - Matrix Functions
- */
-mat2   matrixCompMult(mat2   x, mat2   y);
-mat3   matrixCompMult(mat3   x, mat3   y);
-mat4   matrixCompMult(mat4   x, mat4   y);
-mat2x3 matrixCompMult(mat2x3 x, mat2x3 y);
-mat2x4 matrixCompMult(mat2x4 x, mat2x4 y);
-mat3x2 matrixCompMult(mat3x2 x, mat3x2 y);
-mat3x4 matrixCompMult(mat3x4 x, mat3x4 y);
-mat4x2 matrixCompMult(mat4x2 x, mat4x2 y);
-mat4x3 matrixCompMult(mat4x3 x, mat4x3 y);
-
-mat2   outerProduct(vec2 c, vec2 r);
-mat3   outerProduct(vec3 c, vec3 r);
-mat4   outerProduct(vec4 c, vec4 r);
-
-mat2x3 outerProduct(vec3 c, vec2 r);
-mat3x2 outerProduct(vec2 c, vec3 r);
-
-mat2x4 outerProduct(vec4 c, vec2 r);
-mat4x2 outerProduct(vec2 c, vec4 r);
-
-mat3x4 outerProduct(vec4 c, vec3 r);
-mat4x3 outerProduct(vec3 c, vec4 r);
-
-mat2   transpose(mat2 m);
-mat3   transpose(mat3 m);
-mat4   transpose(mat4 m);
-
-mat2x3 transpose(mat3x2 m);
-mat3x2 transpose(mat2x3 m);
-
-mat2x4 transpose(mat4x2 m);
-mat4x2 transpose(mat2x4 m);
-
-mat3x4 transpose(mat4x3 m);
-mat4x3 transpose(mat3x4 m);
-
-mat2 inverse(mat2 m);
-mat3 inverse(mat3 m);
-mat4 inverse(mat4 m);
-
-/*
- * 8.6 - Vector Relational Functions
- */
-bvec2 lessThan( vec2 x,  vec2 y);
-bvec3 lessThan( vec3 x,  vec3 y);
-bvec4 lessThan( vec4 x,  vec4 y);
-bvec2 lessThan(ivec2 x, ivec2 y);
-bvec3 lessThan(ivec3 x, ivec3 y);
-bvec4 lessThan(ivec4 x, ivec4 y);
-bvec2 lessThan(uvec2 x, uvec2 y);
-bvec3 lessThan(uvec3 x, uvec3 y);
-bvec4 lessThan(uvec4 x, uvec4 y);
-
-bvec2 lessThanEqual( vec2 x,  vec2 y);
-bvec3 lessThanEqual( vec3 x,  vec3 y);
-bvec4 lessThanEqual( vec4 x,  vec4 y);
-bvec2 lessThanEqual(ivec2 x, ivec2 y);
-bvec3 lessThanEqual(ivec3 x, ivec3 y);
-bvec4 lessThanEqual(ivec4 x, ivec4 y);
-bvec2 lessThanEqual(uvec2 x, uvec2 y);
-bvec3 lessThanEqual(uvec3 x, uvec3 y);
-bvec4 lessThanEqual(uvec4 x, uvec4 y);
-
-bvec2 greaterThan( vec2 x,  vec2 y);
-bvec3 greaterThan( vec3 x,  vec3 y);
-bvec4 greaterThan( vec4 x,  vec4 y);
-bvec2 greaterThan(ivec2 x, ivec2 y);
-bvec3 greaterThan(ivec3 x, ivec3 y);
-bvec4 greaterThan(ivec4 x, ivec4 y);
-bvec2 greaterThan(uvec2 x, uvec2 y);
-bvec3 greaterThan(uvec3 x, uvec3 y);
-bvec4 greaterThan(uvec4 x, uvec4 y);
-
-bvec2 greaterThanEqual( vec2 x,  vec2 y);
-bvec3 greaterThanEqual( vec3 x,  vec3 y);
-bvec4 greaterThanEqual( vec4 x,  vec4 y);
-bvec2 greaterThanEqual(ivec2 x, ivec2 y);
-bvec3 greaterThanEqual(ivec3 x, ivec3 y);
-bvec4 greaterThanEqual(ivec4 x, ivec4 y);
-bvec2 greaterThanEqual(uvec2 x, uvec2 y);
-bvec3 greaterThanEqual(uvec3 x, uvec3 y);
-bvec4 greaterThanEqual(uvec4 x, uvec4 y);
-
-bvec2 equal( vec2 x,  vec2 y);
-bvec3 equal( vec3 x,  vec3 y);
-bvec4 equal( vec4 x,  vec4 y);
-bvec2 equal(ivec2 x, ivec2 y);
-bvec3 equal(ivec3 x, ivec3 y);
-bvec4 equal(ivec4 x, ivec4 y);
-bvec2 equal(uvec2 x, uvec2 y);
-bvec3 equal(uvec3 x, uvec3 y);
-bvec4 equal(uvec4 x, uvec4 y);
-bvec2 equal(bvec2 x, bvec2 y);
-bvec3 equal(bvec3 x, bvec3 y);
-bvec4 equal(bvec4 x, bvec4 y);
-
-bvec2 notEqual( vec2 x,  vec2 y);
-bvec3 notEqual( vec3 x,  vec3 y);
-bvec4 notEqual( vec4 x,  vec4 y);
-bvec2 notEqual(ivec2 x, ivec2 y);
-bvec3 notEqual(ivec3 x, ivec3 y);
-bvec4 notEqual(ivec4 x, ivec4 y);
-bvec2 notEqual(uvec2 x, uvec2 y);
-bvec3 notEqual(uvec3 x, uvec3 y);
-bvec4 notEqual(uvec4 x, uvec4 y);
-bvec2 notEqual(bvec2 x, bvec2 y);
-bvec3 notEqual(bvec3 x, bvec3 y);
-bvec4 notEqual(bvec4 x, bvec4 y);
-
-bool any(bvec2 x);
-bool any(bvec3 x);
-bool any(bvec4 x);
-
-bool all(bvec2 x);
-bool all(bvec3 x);
-bool all(bvec4 x);
-
-bvec2 not(bvec2 x);
-bvec3 not(bvec3 x);
-bvec4 not(bvec4 x);
-
-/*
- * 8.7 - Texture Lookup Functions
- */
-
-/* textureSize */
-int   textureSize( sampler1D sampler, int lod);
-int   textureSize(isampler1D sampler, int lod);
-int   textureSize(usampler1D sampler, int lod);
-
-ivec2 textureSize( sampler2D sampler, int lod);
-ivec2 textureSize(isampler2D sampler, int lod);
-ivec2 textureSize(usampler2D sampler, int lod);
-
-ivec3 textureSize( sampler3D sampler, int lod);
-ivec3 textureSize(isampler3D sampler, int lod);
-ivec3 textureSize(usampler3D sampler, int lod);
-
-ivec2 textureSize( samplerCube sampler, int lod);
-ivec2 textureSize(isamplerCube sampler, int lod);
-ivec2 textureSize(usamplerCube sampler, int lod);
-
-int   textureSize(sampler1DShadow   sampler, int lod);
-ivec2 textureSize(sampler2DShadow   sampler, int lod);
-ivec2 textureSize(samplerCubeShadow sampler, int lod);
-
-ivec2 textureSize( sampler1DArray sampler, int lod);
-ivec2 textureSize(isampler1DArray sampler, int lod);
-ivec2 textureSize(usampler1DArray sampler, int lod);
-ivec3 textureSize( sampler2DArray sampler, int lod);
-ivec3 textureSize(isampler2DArray sampler, int lod);
-ivec3 textureSize(usampler2DArray sampler, int lod);
-
-ivec2 textureSize(sampler1DArrayShadow sampler, int lod);
-ivec3 textureSize(sampler2DArrayShadow sampler, int lod);
-
-ivec2 textureSize(sampler2DRect sampler);
-ivec2 textureSize(isampler2DRect sampler);
-ivec2 textureSize(usampler2DRect sampler);
-ivec2 textureSize(sampler2DRectShadow sampler);
-
-int  textureSize( samplerBuffer sampler);
-int  textureSize(isamplerBuffer sampler);
-int  textureSize(usamplerBuffer sampler);
-
-/* texture - no bias */
- vec4 texture( sampler1D sampler, float P);
-ivec4 texture(isampler1D sampler, float P);
-uvec4 texture(usampler1D sampler, float P);
-
- vec4 texture( sampler2D sampler, vec2 P);
-ivec4 texture(isampler2D sampler, vec2 P);
-uvec4 texture(usampler2D sampler, vec2 P);
-
- vec4 texture( sampler3D sampler, vec3 P);
-ivec4 texture(isampler3D sampler, vec3 P);
-uvec4 texture(usampler3D sampler, vec3 P);
-
- vec4 texture( samplerCube sampler, vec3 P);
-ivec4 texture(isamplerCube sampler, vec3 P);
-uvec4 texture(usamplerCube sampler, vec3 P);
-
-float texture(sampler1DShadow   sampler, vec3 P);
-float texture(sampler2DShadow   sampler, vec3 P);
-float texture(samplerCubeShadow sampler, vec4 P);
-
- vec4 texture( sampler1DArray sampler, vec2 P);
-ivec4 texture(isampler1DArray sampler, vec2 P);
-uvec4 texture(usampler1DArray sampler, vec2 P);
-
- vec4 texture( sampler2DArray sampler, vec3 P);
-ivec4 texture(isampler2DArray sampler, vec3 P);
-uvec4 texture(usampler2DArray sampler, vec3 P);
-
-float texture(sampler1DArrayShadow sampler, vec3 P);
-float texture(sampler2DArrayShadow sampler, vec4 P);
-
- vec4 texture( sampler2DRect sampler, vec2 P);
-ivec4 texture(isampler2DRect sampler, vec2 P);
-uvec4 texture(usampler2DRect sampler, vec2 P);
-
-float texture(sampler2DRectShadow sampler, vec3 P);
-
-/* textureProj - no bias */
- vec4 textureProj( sampler1D sampler, vec2 P);
-ivec4 textureProj(isampler1D sampler, vec2 P);
-uvec4 textureProj(usampler1D sampler, vec2 P);
- vec4 textureProj( sampler1D sampler, vec4 P);
-ivec4 textureProj(isampler1D sampler, vec4 P);
-uvec4 textureProj(usampler1D sampler, vec4 P);
-
- vec4 textureProj( sampler2D sampler, vec3 P);
-ivec4 textureProj(isampler2D sampler, vec3 P);
-uvec4 textureProj(usampler2D sampler, vec3 P);
- vec4 textureProj( sampler2D sampler, vec4 P);
-ivec4 textureProj(isampler2D sampler, vec4 P);
-uvec4 textureProj(usampler2D sampler, vec4 P);
-
- vec4 textureProj( sampler3D sampler, vec4 P);
-ivec4 textureProj(isampler3D sampler, vec4 P);
-uvec4 textureProj(usampler3D sampler, vec4 P);
-
-float textureProj(sampler1DShadow sampler, vec4 P);
-float textureProj(sampler2DShadow sampler, vec4 P);
-
- vec4 textureProj( sampler2DRect sampler, vec3 P);
-ivec4 textureProj(isampler2DRect sampler, vec3 P);
-uvec4 textureProj(usampler2DRect sampler, vec3 P);
- vec4 textureProj( sampler2DRect sampler, vec4 P);
-ivec4 textureProj(isampler2DRect sampler, vec4 P);
-uvec4 textureProj(usampler2DRect sampler, vec4 P);
-
-float textureProj(sampler2DRectShadow sampler, vec4 P);
-
-/* textureLod */
- vec4 textureLod( sampler1D sampler, float P, float lod);
-ivec4 textureLod(isampler1D sampler, float P, float lod);
-uvec4 textureLod(usampler1D sampler, float P, float lod);
-
- vec4 textureLod( sampler2D sampler, vec2 P, float lod);
-ivec4 textureLod(isampler2D sampler, vec2 P, float lod);
-uvec4 textureLod(usampler2D sampler, vec2 P, float lod);
-
- vec4 textureLod( sampler3D sampler, vec3 P, float lod);
-ivec4 textureLod(isampler3D sampler, vec3 P, float lod);
-uvec4 textureLod(usampler3D sampler, vec3 P, float lod);
-
- vec4 textureLod( samplerCube sampler, vec3 P, float lod);
-ivec4 textureLod(isamplerCube sampler, vec3 P, float lod);
-uvec4 textureLod(usamplerCube sampler, vec3 P, float lod);
-
-float textureLod(sampler1DShadow sampler, vec3 P, float lod);
-float textureLod(sampler2DShadow sampler, vec3 P, float lod);
-
- vec4 textureLod( sampler1DArray sampler, vec2 P, float lod);
-ivec4 textureLod(isampler1DArray sampler, vec2 P, float lod);
-uvec4 textureLod(usampler1DArray sampler, vec2 P, float lod);
-
- vec4 textureLod( sampler2DArray sampler, vec3 P, float lod);
-ivec4 textureLod(isampler2DArray sampler, vec3 P, float lod);
-uvec4 textureLod(usampler2DArray sampler, vec3 P, float lod);
-
-float textureLod(sampler1DArrayShadow sampler, vec3 P, float lod);
-
-/* textureOffset - no bias */
- vec4 textureOffset( sampler1D sampler, float P, int offset);
-ivec4 textureOffset(isampler1D sampler, float P, int offset);
-uvec4 textureOffset(usampler1D sampler, float P, int offset);
-
- vec4 textureOffset( sampler2D sampler, vec2 P, ivec2 offset);
-ivec4 textureOffset(isampler2D sampler, vec2 P, ivec2 offset);
-uvec4 textureOffset(usampler2D sampler, vec2 P, ivec2 offset);
-
- vec4 textureOffset( sampler3D sampler, vec3 P, ivec3 offset);
-ivec4 textureOffset(isampler3D sampler, vec3 P, ivec3 offset);
-uvec4 textureOffset(usampler3D sampler, vec3 P, ivec3 offset);
-
- vec4 textureOffset( sampler2DRect sampler, vec2 P, ivec2 offset);
-ivec4 textureOffset(isampler2DRect sampler, vec2 P, ivec2 offset);
-uvec4 textureOffset(usampler2DRect sampler, vec2 P, ivec2 offset);
-
-float textureOffset(sampler2DRectShadow sampler, vec3 P, ivec2 offset);
-
-float textureOffset(sampler1DShadow sampler, vec3 P, int offset);
-float textureOffset(sampler2DShadow sampler, vec3 P, ivec2 offset);
-
- vec4 textureOffset( sampler1DArray sampler, vec2 P, int offset);
-ivec4 textureOffset(isampler1DArray sampler, vec2 P, int offset);
-uvec4 textureOffset(usampler1DArray sampler, vec2 P, int offset);
-
- vec4 textureOffset( sampler2DArray sampler, vec3 P, ivec2 offset);
-ivec4 textureOffset(isampler2DArray sampler, vec3 P, ivec2 offset);
-uvec4 textureOffset(usampler2DArray sampler, vec3 P, ivec2 offset);
-
-float textureOffset(sampler1DArrayShadow sampler, vec3 P, int offset);
-
-/* texelFetch */
- vec4 texelFetch( sampler1D sampler, int P, int lod);
-ivec4 texelFetch(isampler1D sampler, int P, int lod);
-uvec4 texelFetch(usampler1D sampler, int P, int lod);
-
- vec4 texelFetch( sampler2D sampler, ivec2 P, int lod);
-ivec4 texelFetch(isampler2D sampler, ivec2 P, int lod);
-uvec4 texelFetch(usampler2D sampler, ivec2 P, int lod);
-
- vec4 texelFetch( sampler3D sampler, ivec3 P, int lod);
-ivec4 texelFetch(isampler3D sampler, ivec3 P, int lod);
-uvec4 texelFetch(usampler3D sampler, ivec3 P, int lod);
-
- vec4 texelFetch( sampler2DRect sampler, ivec2 P);
-ivec4 texelFetch(isampler2DRect sampler, ivec2 P);
-uvec4 texelFetch(usampler2DRect sampler, ivec2 P);
-
- vec4 texelFetch( sampler1DArray sampler, ivec2 P, int lod);
-ivec4 texelFetch(isampler1DArray sampler, ivec2 P, int lod);
-uvec4 texelFetch(usampler1DArray sampler, ivec2 P, int lod);
-
- vec4 texelFetch( sampler2DArray sampler, ivec3 P, int lod);
-ivec4 texelFetch(isampler2DArray sampler, ivec3 P, int lod);
-uvec4 texelFetch(usampler2DArray sampler, ivec3 P, int lod);
-
- vec4 texelFetch( samplerBuffer sampler, int P);
-ivec4 texelFetch(isamplerBuffer sampler, int P);
-uvec4 texelFetch(usamplerBuffer sampler, int P);
-
-/* texelFetchOffset */
- vec4 texelFetchOffset( sampler1D sampler, int P, int lod, int offset);
-ivec4 texelFetchOffset(isampler1D sampler, int P, int lod, int offset);
-uvec4 texelFetchOffset(usampler1D sampler, int P, int lod, int offset);
-
- vec4 texelFetchOffset( sampler2D sampler, ivec2 P, int lod, ivec2 offset);
-ivec4 texelFetchOffset(isampler2D sampler, ivec2 P, int lod, ivec2 offset);
-uvec4 texelFetchOffset(usampler2D sampler, ivec2 P, int lod, ivec2 offset);
-
- vec4 texelFetchOffset( sampler3D sampler, ivec3 P, int lod, ivec3 offset);
-ivec4 texelFetchOffset(isampler3D sampler, ivec3 P, int lod, ivec3 offset);
-uvec4 texelFetchOffset(usampler3D sampler, ivec3 P, int lod, ivec3 offset);
-
- vec4 texelFetchOffset( sampler2DRect sampler, ivec2 P, ivec2 offset);
-ivec4 texelFetchOffset(isampler2DRect sampler, ivec2 P, ivec2 offset);
-uvec4 texelFetchOffset(usampler2DRect sampler, ivec2 P, ivec2 offset);
-
- vec4 texelFetchOffset( sampler1DArray sampler, ivec2 P, int lod, int offset);
-ivec4 texelFetchOffset(isampler1DArray sampler, ivec2 P, int lod, int offset);
-uvec4 texelFetchOffset(usampler1DArray sampler, ivec2 P, int lod, int offset);
-
- vec4 texelFetchOffset( sampler2DArray sampler, ivec3 P, int lod, ivec2 offset);
-ivec4 texelFetchOffset(isampler2DArray sampler, ivec3 P, int lod, ivec2 offset);
-uvec4 texelFetchOffset(usampler2DArray sampler, ivec3 P, int lod, ivec2 offset);
-
-/* textureProjOffset - no bias */
- vec4 textureProjOffset( sampler1D sampler, vec2 P, int offset);
-ivec4 textureProjOffset(isampler1D sampler, vec2 P, int offset);
-uvec4 textureProjOffset(usampler1D sampler, vec2 P, int offset);
- vec4 textureProjOffset( sampler1D sampler, vec4 P, int offset);
-ivec4 textureProjOffset(isampler1D sampler, vec4 P, int offset);
-uvec4 textureProjOffset(usampler1D sampler, vec4 P, int offset);
-
- vec4 textureProjOffset( sampler2D sampler, vec3 P, ivec2 offset);
-ivec4 textureProjOffset(isampler2D sampler, vec3 P, ivec2 offset);
-uvec4 textureProjOffset(usampler2D sampler, vec3 P, ivec2 offset);
- vec4 textureProjOffset( sampler2D sampler, vec4 P, ivec2 offset);
-ivec4 textureProjOffset(isampler2D sampler, vec4 P, ivec2 offset);
-uvec4 textureProjOffset(usampler2D sampler, vec4 P, ivec2 offset);
-
- vec4 textureProjOffset( sampler3D sampler, vec4 P, ivec3 offset);
-ivec4 textureProjOffset(isampler3D sampler, vec4 P, ivec3 offset);
-uvec4 textureProjOffset(usampler3D sampler, vec4 P, ivec3 offset);
-
- vec4 textureProjOffset( sampler2DRect sampler, vec3 P, ivec2 offset);
-ivec4 textureProjOffset(isampler2DRect sampler, vec3 P, ivec2 offset);
-uvec4 textureProjOffset(usampler2DRect sampler, vec3 P, ivec2 offset);
- vec4 textureProjOffset( sampler2DRect sampler, vec4 P, ivec2 offset);
-ivec4 textureProjOffset(isampler2DRect sampler, vec4 P, ivec2 offset);
-uvec4 textureProjOffset(usampler2DRect sampler, vec4 P, ivec2 offset);
-
-float textureProjOffset(sampler2DRectShadow sampler, vec4 P, ivec2 offset);
-
-float textureProjOffset(sampler1DShadow sampler, vec4 P, int offset);
-float textureProjOffset(sampler2DShadow sampler, vec4 P, ivec2 offset);
-
-/* textureLodOffset */
- vec4 textureLodOffset( sampler1D sampler, float P, float lod, int offset);
-ivec4 textureLodOffset(isampler1D sampler, float P, float lod, int offset);
-uvec4 textureLodOffset(usampler1D sampler, float P, float lod, int offset);
-
- vec4 textureLodOffset( sampler2D sampler, vec2 P, float lod, ivec2 offset);
-ivec4 textureLodOffset(isampler2D sampler, vec2 P, float lod, ivec2 offset);
-uvec4 textureLodOffset(usampler2D sampler, vec2 P, float lod, ivec2 offset);
-
- vec4 textureLodOffset( sampler3D sampler, vec3 P, float lod, ivec3 offset);
-ivec4 textureLodOffset(isampler3D sampler, vec3 P, float lod, ivec3 offset);
-uvec4 textureLodOffset(usampler3D sampler, vec3 P, float lod, ivec3 offset);
-
-float textureLodOffset(sampler1DShadow samp, vec3 P, float lod, int offset);
-float textureLodOffset(sampler2DShadow samp, vec3 P, float lod, ivec2 offset);
-
- vec4 textureLodOffset( sampler1DArray sampler, vec2 P, float lod, int offset);
-ivec4 textureLodOffset(isampler1DArray sampler, vec2 P, float lod, int offset);
-uvec4 textureLodOffset(usampler1DArray sampler, vec2 P, float lod, int offset);
-
- vec4 textureLodOffset( sampler2DArray samp, vec3 P, float lod, ivec2 offset);
-ivec4 textureLodOffset(isampler2DArray samp, vec3 P, float lod, ivec2 offset);
-uvec4 textureLodOffset(usampler2DArray samp, vec3 P, float lod, ivec2 offset);
-
-float textureLodOffset(sampler1DArrayShadow s, vec3 P, float lod, int offset);
-
-/* textureProjLod */
- vec4 textureProjLod( sampler1D sampler, vec2 P, float lod);
-ivec4 textureProjLod(isampler1D sampler, vec2 P, float lod);
-uvec4 textureProjLod(usampler1D sampler, vec2 P, float lod);
- vec4 textureProjLod( sampler1D sampler, vec4 P, float lod);
-ivec4 textureProjLod(isampler1D sampler, vec4 P, float lod);
-uvec4 textureProjLod(usampler1D sampler, vec4 P, float lod);
-
- vec4 textureProjLod( sampler2D sampler, vec3 P, float lod);
-ivec4 textureProjLod(isampler2D sampler, vec3 P, float lod);
-uvec4 textureProjLod(usampler2D sampler, vec3 P, float lod);
- vec4 textureProjLod( sampler2D sampler, vec4 P, float lod);
-ivec4 textureProjLod(isampler2D sampler, vec4 P, float lod);
-uvec4 textureProjLod(usampler2D sampler, vec4 P, float lod);
-
- vec4 textureProjLod( sampler3D sampler, vec4 P, float lod);
-ivec4 textureProjLod(isampler3D sampler, vec4 P, float lod);
-uvec4 textureProjLod(usampler3D sampler, vec4 P, float lod);
-
-float textureProjLod(sampler1DShadow sampler, vec4 P, float lod);
-float textureProjLod(sampler2DShadow sampler, vec4 P, float lod);
-
-/* textureProjLodOffset */
- vec4 textureProjLodOffset( sampler1D sampler, vec2 P, float lod, int offset);
-ivec4 textureProjLodOffset(isampler1D sampler, vec2 P, float lod, int offset);
-uvec4 textureProjLodOffset(usampler1D sampler, vec2 P, float lod, int offset);
- vec4 textureProjLodOffset( sampler1D sampler, vec4 P, float lod, int offset);
-ivec4 textureProjLodOffset(isampler1D sampler, vec4 P, float lod, int offset);
-uvec4 textureProjLodOffset(usampler1D sampler, vec4 P, float lod, int offset);
-
- vec4 textureProjLodOffset( sampler2D sampler, vec3 P, float lod, ivec2 offset);
-ivec4 textureProjLodOffset(isampler2D sampler, vec3 P, float lod, ivec2 offset);
-uvec4 textureProjLodOffset(usampler2D sampler, vec3 P, float lod, ivec2 offset);
- vec4 textureProjLodOffset( sampler2D sampler, vec4 P, float lod, ivec2 offset);
-ivec4 textureProjLodOffset(isampler2D sampler, vec4 P, float lod, ivec2 offset);
-uvec4 textureProjLodOffset(usampler2D sampler, vec4 P, float lod, ivec2 offset);
-
- vec4 textureProjLodOffset( sampler3D sampler, vec4 P, float lod, ivec3 offset);
-ivec4 textureProjLodOffset(isampler3D sampler, vec4 P, float lod, ivec3 offset);
-uvec4 textureProjLodOffset(usampler3D sampler, vec4 P, float lod, ivec3 offset);
-
-float textureProjLodOffset(sampler1DShadow s, vec4 P, float lod, int offset);
-float textureProjLodOffset(sampler2DShadow s, vec4 P, float lod, ivec2 offset);
-
-/* textureGrad */
- vec4 textureGrad( sampler1D sampler, float P, float dPdx, float dPdy);
-ivec4 textureGrad(isampler1D sampler, float P, float dPdx, float dPdy);
-uvec4 textureGrad(usampler1D sampler, float P, float dPdx, float dPdy);
-
- vec4 textureGrad( sampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy);
-ivec4 textureGrad(isampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy);
-uvec4 textureGrad(usampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy);
-
- vec4 textureGrad( sampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy);
-ivec4 textureGrad(isampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy);
-uvec4 textureGrad(usampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy);
-
- vec4 textureGrad( samplerCube sampler, vec3 P, vec3 dPdx, vec3 dPdy);
-ivec4 textureGrad(isamplerCube sampler, vec3 P, vec3 dPdx, vec3 dPdy);
-uvec4 textureGrad(usamplerCube sampler, vec3 P, vec3 dPdx, vec3 dPdy);
-
- vec4 textureGrad( sampler2DRect sampler, vec2 P, vec2 dPdx, vec2 dPdy);
-ivec4 textureGrad(isampler2DRect sampler, vec2 P, vec2 dPdx, vec2 dPdy);
-uvec4 textureGrad(usampler2DRect sampler, vec2 P, vec2 dPdx, vec2 dPdy);
-
-float textureGrad(sampler2DRectShadow   sampler, vec3 P, vec2  dPdx, vec2  dPdy);
-
-float textureGrad(sampler1DShadow   sampler, vec3 P, float dPdx, float dPdy);
-float textureGrad(sampler2DShadow   sampler, vec3 P, vec2  dPdx, vec2  dPdy);
-float textureGrad(samplerCubeShadow sampler, vec4 P, vec3  dPdx, vec3  dPdy);
-
- vec4 textureGrad( sampler1DArray sampler, vec2 P, float dPdx, float dPdy);
-ivec4 textureGrad(isampler1DArray sampler, vec2 P, float dPdx, float dPdy);
-uvec4 textureGrad(usampler1DArray sampler, vec2 P, float dPdx, float dPdy);
-
- vec4 textureGrad( sampler2DArray sampler, vec3 P, vec2 dPdx, vec2 dPdy);
-ivec4 textureGrad(isampler2DArray sampler, vec3 P, vec2 dPdx, vec2 dPdy);
-uvec4 textureGrad(usampler2DArray sampler, vec3 P, vec2 dPdx, vec2 dPdy);
-
-float textureGrad(sampler1DArrayShadow sampler, vec3 P, float dPdx, float dPdy);
-float textureGrad(sampler2DArrayShadow sampler, vec4 P, vec2  dPdx, vec2  dPdy);
-
-/* textureGradOffset */
- vec4 textureGradOffset( sampler1D s, float P, float dx, float dy, int off);
-ivec4 textureGradOffset(isampler1D s, float P, float dx, float dy, int offset);
-uvec4 textureGradOffset(usampler1D s, float P, float dx, float dy, int offset);
-
- vec4 textureGradOffset( sampler2D s, vec2 P, vec2 dx, vec2 dy, ivec2 offset);
-ivec4 textureGradOffset(isampler2D s, vec2 P, vec2 dx, vec2 dy, ivec2 offset);
-uvec4 textureGradOffset(usampler2D s, vec2 P, vec2 dx, vec2 dy, ivec2 offset);
-
- vec4 textureGradOffset( sampler3D s, vec3 P, vec3 dx, vec3 dy, ivec3 offset);
-ivec4 textureGradOffset(isampler3D s, vec3 P, vec3 dx, vec3 dy, ivec3 offset);
-uvec4 textureGradOffset(usampler3D s, vec3 P, vec3 dx, vec3 dy, ivec3 offset);
-
- vec4 textureGradOffset( sampler2DRect s, vec2 P, vec2 dx, vec2 dy, ivec2 offset);
-ivec4 textureGradOffset(isampler2DRect s, vec2 P, vec2 dx, vec2 dy, ivec2 offset);
-uvec4 textureGradOffset(usampler2DRect s, vec2 P, vec2 dx, vec2 dy, ivec2 offset);
-
-float textureGradOffset(sampler2DRectShadow s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
-
-float textureGradOffset(sampler1DShadow s, vec3 P, float dx, float dy, int off);
-float textureGradOffset(sampler2DShadow s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
-
- vec4 textureGradOffset( sampler1DArray s, vec2 P, float dx, float dy, int off);
-ivec4 textureGradOffset(isampler1DArray s, vec2 P, float dx, float dy, int off);
-uvec4 textureGradOffset(usampler1DArray s, vec2 P, float dx, float dy, int off);
-
- vec4 textureGradOffset( sampler2DArray s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
-ivec4 textureGradOffset(isampler2DArray s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
-uvec4 textureGradOffset(usampler2DArray s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
-
-float textureGradOffset(sampler1DArrayShadow s, vec3 P, float dx, float dy, int o);
-float textureGradOffset(sampler2DArrayShadow s, vec4 P, vec2 dx, vec2 dy, ivec2 o);
-
-/* textureProjGrad */
- vec4 textureProjGrad( sampler1D sampler, vec2 P, float dPdx, float dPdy);
-ivec4 textureProjGrad(isampler1D sampler, vec2 P, float dPdx, float dPdy);
-uvec4 textureProjGrad(usampler1D sampler, vec2 P, float dPdx, float dPdy);
- vec4 textureProjGrad( sampler1D sampler, vec4 P, float dPdx, float dPdy);
-ivec4 textureProjGrad(isampler1D sampler, vec4 P, float dPdx, float dPdy);
-uvec4 textureProjGrad(usampler1D sampler, vec4 P, float dPdx, float dPdy);
-
- vec4 textureProjGrad( sampler2D sampler, vec3 P, vec2 dPdx, vec2 dPdy);
-ivec4 textureProjGrad(isampler2D sampler, vec3 P, vec2 dPdx, vec2 dPdy);
-uvec4 textureProjGrad(usampler2D sampler, vec3 P, vec2 dPdx, vec2 dPdy);
- vec4 textureProjGrad( sampler2D sampler, vec4 P, vec2 dPdx, vec2 dPdy);
-ivec4 textureProjGrad(isampler2D sampler, vec4 P, vec2 dPdx, vec2 dPdy);
-uvec4 textureProjGrad(usampler2D sampler, vec4 P, vec2 dPdx, vec2 dPdy);
-
- vec4 textureProjGrad( sampler3D sampler, vec4 P, vec3 dPdx, vec3 dPdy);
-ivec4 textureProjGrad(isampler3D sampler, vec4 P, vec3 dPdx, vec3 dPdy);
-uvec4 textureProjGrad(usampler3D sampler, vec4 P, vec3 dPdx, vec3 dPdy);
-
- vec4 textureProjGrad( sampler2DRect sampler, vec3 P, vec2 dPdx, vec2 dPdy);
-ivec4 textureProjGrad(isampler2DRect sampler, vec3 P, vec2 dPdx, vec2 dPdy);
-uvec4 textureProjGrad(usampler2DRect sampler, vec3 P, vec2 dPdx, vec2 dPdy);
- vec4 textureProjGrad( sampler2DRect sampler, vec4 P, vec2 dPdx, vec2 dPdy);
-ivec4 textureProjGrad(isampler2DRect sampler, vec4 P, vec2 dPdx, vec2 dPdy);
-uvec4 textureProjGrad(usampler2DRect sampler, vec4 P, vec2 dPdx, vec2 dPdy);
-
-float textureProjGrad(sampler2DRectShadow sampler, vec4 P, vec2  dPdx, vec2  dPdy);
-
-float textureProjGrad(sampler1DShadow sampler, vec4 P, float dPdx, float dPdy);
-float textureProjGrad(sampler2DShadow sampler, vec4 P, vec2  dPdx, vec2  dPdy);
-
-/* textureProjGradOffset */
- vec4 textureProjGradOffset( sampler1D s, vec2 P, float dx, float dy, int off);
-ivec4 textureProjGradOffset(isampler1D s, vec2 P, float dx, float dy, int off);
-uvec4 textureProjGradOffset(usampler1D s, vec2 P, float dx, float dy, int off);
- vec4 textureProjGradOffset( sampler1D s, vec4 P, float dx, float dy, int off);
-ivec4 textureProjGradOffset(isampler1D s, vec4 P, float dx, float dy, int off);
-uvec4 textureProjGradOffset(usampler1D s, vec4 P, float dx, float dy, int off);
-
- vec4 textureProjGradOffset( sampler2D s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
-ivec4 textureProjGradOffset(isampler2D s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
-uvec4 textureProjGradOffset(usampler2D s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
- vec4 textureProjGradOffset( sampler2D s, vec4 P, vec2 dx, vec2 dy, ivec2 off);
-ivec4 textureProjGradOffset(isampler2D s, vec4 P, vec2 dx, vec2 dy, ivec2 off);
-uvec4 textureProjGradOffset(usampler2D s, vec4 P, vec2 dx, vec2 dy, ivec2 off);
-
- vec4 textureProjGradOffset( sampler2DRect s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
-ivec4 textureProjGradOffset(isampler2DRect s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
-uvec4 textureProjGradOffset(usampler2DRect s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
- vec4 textureProjGradOffset( sampler2DRect s, vec4 P, vec2 dx, vec2 dy, ivec2 off);
-ivec4 textureProjGradOffset(isampler2DRect s, vec4 P, vec2 dx, vec2 dy, ivec2 off);
-uvec4 textureProjGradOffset(usampler2DRect s, vec4 P, vec2 dx, vec2 dy, ivec2 off);
-
-float textureProjGradOffset(sampler2DRectShadow s, vec4 P, vec2 dx, vec2 dy, ivec2 o);
-
- vec4 textureProjGradOffset( sampler3D s, vec4 P, vec3 dx, vec3 dy, ivec3 off);
-ivec4 textureProjGradOffset(isampler3D s, vec4 P, vec3 dx, vec3 dy, ivec3 off);
-uvec4 textureProjGradOffset(usampler3D s, vec4 P, vec3 dx, vec3 dy, ivec3 off);
-
-float textureProjGradOffset(sampler1DShadow s, vec4 P, float dx, float dy, int o);
-float textureProjGradOffset(sampler2DShadow s, vec4 P, vec2 dx, vec2 dy, ivec2 o);
-
-/*
- * The following texture functions are deprecated:
- */
-vec4 texture1D       (sampler1D sampler, float coord);
-vec4 texture1DProj   (sampler1D sampler, vec2  coord);
-vec4 texture1DProj   (sampler1D sampler, vec4  coord);
-vec4 texture1DLod    (sampler1D sampler, float coord, float lod);
-vec4 texture1DProjLod(sampler1D sampler, vec2  coord, float lod);
-vec4 texture1DProjLod(sampler1D sampler, vec4  coord, float lod);
-
-vec4 texture2D       (sampler2D sampler, vec2 coord);
-vec4 texture2DProj   (sampler2D sampler, vec3 coord);
-vec4 texture2DProj   (sampler2D sampler, vec4 coord);
-vec4 texture2DLod    (sampler2D sampler, vec2 coord, float lod);
-vec4 texture2DProjLod(sampler2D sampler, vec3 coord, float lod);
-vec4 texture2DProjLod(sampler2D sampler, vec4 coord, float lod);
-
-vec4 texture3D       (sampler3D sampler, vec3 coord);
-vec4 texture3DProj   (sampler3D sampler, vec4 coord);
-vec4 texture3DLod    (sampler3D sampler, vec3 coord, float lod);
-vec4 texture3DProjLod(sampler3D sampler, vec4 coord, float lod);
-
-vec4 textureCube     (samplerCube sampler, vec3 coord);
-vec4 textureCubeLod  (samplerCube sampler, vec3 coord, float lod);
-
-vec4 shadow1D       (sampler1DShadow sampler, vec3 coord);
-vec4 shadow2D       (sampler2DShadow sampler, vec3 coord);
-vec4 shadow1DProj   (sampler1DShadow sampler, vec4 coord);
-vec4 shadow2DProj   (sampler2DShadow sampler, vec4 coord);
-vec4 shadow1DLod    (sampler1DShadow sampler, vec3 coord, float lod);
-vec4 shadow2DLod    (sampler2DShadow sampler, vec3 coord, float lod);
-vec4 shadow1DProjLod(sampler1DShadow sampler, vec4 coord, float lod);
-vec4 shadow2DProjLod(sampler2DShadow sampler, vec4 coord, float lod);
-
-/*
- * 8.9 - Noise Functions
- */
-float noise1(float x);
-float noise1(vec2  x);
-float noise1(vec3  x);
-float noise1(vec4  x);
-
-vec2  noise2(float x);
-vec2  noise2(vec2  x);
-vec2  noise2(vec3  x);
-vec2  noise2(vec4  x);
-
-vec3  noise3(float x);
-vec3  noise3(vec2  x);
-vec3  noise3(vec3  x);
-vec3  noise3(vec4  x);
-
-vec4  noise4(float x);
-vec4  noise4(vec2  x);
-vec4  noise4(vec3  x);
-vec4  noise4(vec4  x);
diff --git a/src/glsl/builtins/profiles/150.frag b/src/glsl/builtins/profiles/150.frag
deleted file mode 100644
index 7798e25..0000000
--- a/src/glsl/builtins/profiles/150.frag
+++ /dev/null
@@ -1,140 +0,0 @@
-#version 150
-/* texture - bias variants */
- vec4 texture( sampler1D sampler, float P, float bias);
-ivec4 texture(isampler1D sampler, float P, float bias);
-uvec4 texture(usampler1D sampler, float P, float bias);
-
- vec4 texture( sampler2D sampler, vec2 P, float bias);
-ivec4 texture(isampler2D sampler, vec2 P, float bias);
-uvec4 texture(usampler2D sampler, vec2 P, float bias);
-
- vec4 texture( sampler3D sampler, vec3 P, float bias);
-ivec4 texture(isampler3D sampler, vec3 P, float bias);
-uvec4 texture(usampler3D sampler, vec3 P, float bias);
-
- vec4 texture( samplerCube sampler, vec3 P, float bias);
-ivec4 texture(isamplerCube sampler, vec3 P, float bias);
-uvec4 texture(usamplerCube sampler, vec3 P, float bias);
-
-float texture(sampler1DShadow   sampler, vec3 P, float bias);
-float texture(sampler2DShadow   sampler, vec3 P, float bias);
-float texture(samplerCubeShadow sampler, vec4 P, float bias);
-
- vec4 texture( sampler1DArray sampler, vec2 P, float bias);
-ivec4 texture(isampler1DArray sampler, vec2 P, float bias);
-uvec4 texture(usampler1DArray sampler, vec2 P, float bias);
-
- vec4 texture( sampler2DArray sampler, vec3 P, float bias);
-ivec4 texture(isampler2DArray sampler, vec3 P, float bias);
-uvec4 texture(usampler2DArray sampler, vec3 P, float bias);
-
-float texture(sampler1DArrayShadow sampler, vec3 P, float bias);
-
-/* textureProj - bias variants */
- vec4 textureProj( sampler1D sampler, vec2 P, float bias);
-ivec4 textureProj(isampler1D sampler, vec2 P, float bias);
-uvec4 textureProj(usampler1D sampler, vec2 P, float bias);
- vec4 textureProj( sampler1D sampler, vec4 P, float bias);
-ivec4 textureProj(isampler1D sampler, vec4 P, float bias);
-uvec4 textureProj(usampler1D sampler, vec4 P, float bias);
-
- vec4 textureProj( sampler2D sampler, vec3 P, float bias);
-ivec4 textureProj(isampler2D sampler, vec3 P, float bias);
-uvec4 textureProj(usampler2D sampler, vec3 P, float bias);
- vec4 textureProj( sampler2D sampler, vec4 P, float bias);
-ivec4 textureProj(isampler2D sampler, vec4 P, float bias);
-uvec4 textureProj(usampler2D sampler, vec4 P, float bias);
-
- vec4 textureProj( sampler3D sampler, vec4 P, float bias);
-ivec4 textureProj(isampler3D sampler, vec4 P, float bias);
-uvec4 textureProj(usampler3D sampler, vec4 P, float bias);
-
-float textureProj(sampler1DShadow sampler, vec4 P, float bias);
-float textureProj(sampler2DShadow sampler, vec4 P, float bias);
-
-/* textureOffset - bias variants */
- vec4 textureOffset( sampler1D sampler, float P, int offset, float bias);
-ivec4 textureOffset(isampler1D sampler, float P, int offset, float bias);
-uvec4 textureOffset(usampler1D sampler, float P, int offset, float bias);
-
- vec4 textureOffset( sampler2D sampler, vec2 P, ivec2 offset, float bias);
-ivec4 textureOffset(isampler2D sampler, vec2 P, ivec2 offset, float bias);
-uvec4 textureOffset(usampler2D sampler, vec2 P, ivec2 offset, float bias);
-
- vec4 textureOffset( sampler3D sampler, vec3 P, ivec3 offset, float bias);
-ivec4 textureOffset(isampler3D sampler, vec3 P, ivec3 offset, float bias);
-uvec4 textureOffset(usampler3D sampler, vec3 P, ivec3 offset, float bias);
-
-float textureOffset(sampler1DShadow sampler, vec3 P, int offset, float bias);
-float textureOffset(sampler2DShadow sampler, vec3 P, ivec2 offset, float bias);
-
- vec4 textureOffset( sampler1DArray sampler, vec2 P, int offset, float bias);
-ivec4 textureOffset(isampler1DArray sampler, vec2 P, int offset, float bias);
-uvec4 textureOffset(usampler1DArray sampler, vec2 P, int offset, float bias);
-
- vec4 textureOffset( sampler2DArray sampler, vec3 P, ivec2 offset, float bias);
-ivec4 textureOffset(isampler2DArray sampler, vec3 P, ivec2 offset, float bias);
-uvec4 textureOffset(usampler2DArray sampler, vec3 P, ivec2 offset, float bias);
-
-float textureOffset(sampler1DArrayShadow samp, vec3 P, int offset, float bias);
-
-/* textureProjOffsetOffset - bias variants */
- vec4 textureProjOffset( sampler1D sampler, vec2 P, int offset, float bias);
-ivec4 textureProjOffset(isampler1D sampler, vec2 P, int offset, float bias);
-uvec4 textureProjOffset(usampler1D sampler, vec2 P, int offset, float bias);
- vec4 textureProjOffset( sampler1D sampler, vec4 P, int offset, float bias);
-ivec4 textureProjOffset(isampler1D sampler, vec4 P, int offset, float bias);
-uvec4 textureProjOffset(usampler1D sampler, vec4 P, int offset, float bias);
-
- vec4 textureProjOffset( sampler2D sampler, vec3 P, ivec2 offset, float bias);
-ivec4 textureProjOffset(isampler2D sampler, vec3 P, ivec2 offset, float bias);
-uvec4 textureProjOffset(usampler2D sampler, vec3 P, ivec2 offset, float bias);
- vec4 textureProjOffset( sampler2D sampler, vec4 P, ivec2 offset, float bias);
-ivec4 textureProjOffset(isampler2D sampler, vec4 P, ivec2 offset, float bias);
-uvec4 textureProjOffset(usampler2D sampler, vec4 P, ivec2 offset, float bias);
-
- vec4 textureProjOffset( sampler3D sampler, vec4 P, ivec3 offset, float bias);
-ivec4 textureProjOffset(isampler3D sampler, vec4 P, ivec3 offset, float bias);
-uvec4 textureProjOffset(usampler3D sampler, vec4 P, ivec3 offset, float bias);
-
-float textureProjOffset(sampler1DShadow s, vec4 P, int offset, float bias);
-float textureProjOffset(sampler2DShadow s, vec4 P, ivec2 offset, float bias);
-
-/*
- * The following texture functions are deprecated:
- */
-vec4 texture1D       (sampler1D sampler, float coord, float bias);
-vec4 texture1DProj   (sampler1D sampler, vec2  coord, float bias);
-vec4 texture1DProj   (sampler1D sampler, vec4  coord, float bias);
-
-vec4 texture2D       (sampler2D sampler, vec2 coord, float bias);
-vec4 texture2DProj   (sampler2D sampler, vec3 coord, float bias);
-vec4 texture2DProj   (sampler2D sampler, vec4 coord, float bias);
-
-vec4 texture3D       (sampler3D sampler, vec3 coord, float bias);
-vec4 texture3DProj   (sampler3D sampler, vec4 coord, float bias);
-
-vec4 textureCube     (samplerCube sampler, vec3 coord, float bias);
-
-vec4 shadow1D       (sampler1DShadow sampler, vec3 coord, float bias);
-vec4 shadow2D       (sampler2DShadow sampler, vec3 coord, float bias);
-vec4 shadow1DProj   (sampler1DShadow sampler, vec4 coord, float bias);
-vec4 shadow2DProj   (sampler2DShadow sampler, vec4 coord, float bias);
-
-/*
- * 8.8 - Fragment Processing Functions
- */
-float dFdx(float p);
-vec2  dFdx(vec2  p);
-vec3  dFdx(vec3  p);
-vec4  dFdx(vec4  p);
-
-float dFdy(float p);
-vec2  dFdy(vec2  p);
-vec3  dFdy(vec3  p);
-vec4  dFdy(vec4  p);
-
-float fwidth(float p);
-vec2  fwidth(vec2  p);
-vec3  fwidth(vec3  p);
-vec4  fwidth(vec4  p);
diff --git a/src/glsl/builtins/profiles/150.geom b/src/glsl/builtins/profiles/150.geom
deleted file mode 100644
index d2ab891..0000000
--- a/src/glsl/builtins/profiles/150.geom
+++ /dev/null
@@ -1,3 +0,0 @@
-#version 150
-void EmitVertex();
-void EndPrimitive();
diff --git a/src/glsl/builtins/profiles/150.glsl b/src/glsl/builtins/profiles/150.glsl
deleted file mode 100644
index 70c65f2..0000000
--- a/src/glsl/builtins/profiles/150.glsl
+++ /dev/null
@@ -1,1009 +0,0 @@
-#version 150
-/*
- * 8.1 - Angle and Trigonometry Functions
- */
-float radians(float degrees);
-vec2  radians(vec2  degrees);
-vec3  radians(vec3  degrees);
-vec4  radians(vec4  degrees);
-
-float degrees(float radians);
-vec2  degrees(vec2  radians);
-vec3  degrees(vec3  radians);
-vec4  degrees(vec4  radians);
-
-float sin(float angle);
-vec2  sin(vec2  angle);
-vec3  sin(vec3  angle);
-vec4  sin(vec4  angle);
-
-float cos(float angle);
-vec2  cos(vec2  angle);
-vec3  cos(vec3  angle);
-vec4  cos(vec4  angle);
-
-float tan(float angle);
-vec2  tan(vec2  angle);
-vec3  tan(vec3  angle);
-vec4  tan(vec4  angle);
-
-float asin(float angle);
-vec2  asin(vec2  angle);
-vec3  asin(vec3  angle);
-vec4  asin(vec4  angle);
-
-float acos(float angle);
-vec2  acos(vec2  angle);
-vec3  acos(vec3  angle);
-vec4  acos(vec4  angle);
-
-float atan(float y, float x);
-vec2  atan(vec2  y, vec2  x);
-vec3  atan(vec3  y, vec3  x);
-vec4  atan(vec4  y, vec4  x);
-
-float atan(float y_over_x);
-vec2  atan(vec2  y_over_x);
-vec3  atan(vec3  y_over_x);
-vec4  atan(vec4  y_over_x);
-
-float sinh(float x);
-vec2  sinh(vec2  x);
-vec3  sinh(vec3  x);
-vec4  sinh(vec4  x);
-
-float cosh(float x);
-vec2  cosh(vec2  x);
-vec3  cosh(vec3  x);
-vec4  cosh(vec4  x);
-
-float tanh(float x);
-vec2  tanh(vec2  x);
-vec3  tanh(vec3  x);
-vec4  tanh(vec4  x);
-
-float asinh(float x);
-vec2  asinh(vec2  x);
-vec3  asinh(vec3  x);
-vec4  asinh(vec4  x);
-
-float acosh(float x);
-vec2  acosh(vec2  x);
-vec3  acosh(vec3  x);
-vec4  acosh(vec4  x);
-
-float atanh(float x);
-vec2  atanh(vec2  x);
-vec3  atanh(vec3  x);
-vec4  atanh(vec4  x);
-
-/*
- * 8.2 - Exponential Functions
- */
-float pow(float x, float y);
-vec2  pow(vec2  x, vec2  y);
-vec3  pow(vec3  x, vec3  y);
-vec4  pow(vec4  x, vec4  y);
-
-float exp(float x);
-vec2  exp(vec2  x);
-vec3  exp(vec3  x);
-vec4  exp(vec4  x);
-
-float log(float x);
-vec2  log(vec2  x);
-vec3  log(vec3  x);
-vec4  log(vec4  x);
-
-float exp2(float x);
-vec2  exp2(vec2  x);
-vec3  exp2(vec3  x);
-vec4  exp2(vec4  x);
-
-float log2(float x);
-vec2  log2(vec2  x);
-vec3  log2(vec3  x);
-vec4  log2(vec4  x);
-
-float sqrt(float x);
-vec2  sqrt(vec2  x);
-vec3  sqrt(vec3  x);
-vec4  sqrt(vec4  x);
-
-float inversesqrt(float x);
-vec2  inversesqrt(vec2  x);
-vec3  inversesqrt(vec3  x);
-vec4  inversesqrt(vec4  x);
-
-/*
- * 8.3 - Common Functions
- */
-float abs(float x);
-vec2  abs(vec2  x);
-vec3  abs(vec3  x);
-vec4  abs(vec4  x);
-int   abs(int   x);
-ivec2 abs(ivec2 x);
-ivec3 abs(ivec3 x);
-ivec4 abs(ivec4 x);
-
-float sign(float x);
-vec2  sign(vec2  x);
-vec3  sign(vec3  x);
-vec4  sign(vec4  x);
-int   sign(int   x);
-ivec2 sign(ivec2 x);
-ivec3 sign(ivec3 x);
-ivec4 sign(ivec4 x);
-
-float floor(float x);
-vec2  floor(vec2  x);
-vec3  floor(vec3  x);
-vec4  floor(vec4  x);
-
-float trunc(float x);
-vec2  trunc(vec2  x);
-vec3  trunc(vec3  x);
-vec4  trunc(vec4  x);
-
-float round(float x);
-vec2  round(vec2  x);
-vec3  round(vec3  x);
-vec4  round(vec4  x);
-
-float roundEven(float x);
-vec2  roundEven(vec2  x);
-vec3  roundEven(vec3  x);
-vec4  roundEven(vec4  x);
-
-float ceil(float x);
-vec2  ceil(vec2  x);
-vec3  ceil(vec3  x);
-vec4  ceil(vec4  x);
-
-float fract(float x);
-vec2  fract(vec2  x);
-vec3  fract(vec3  x);
-vec4  fract(vec4  x);
-
-float mod(float x, float y);
-vec2  mod(vec2  x, float y);
-vec3  mod(vec3  x, float y);
-vec4  mod(vec4  x, float y);
-
-vec2  mod(vec2  x, vec2  y);
-vec3  mod(vec3  x, vec3  y);
-vec4  mod(vec4  x, vec4  y);
-
-float modf(float x, out float i);
-vec2  modf(vec2  x, out vec2  i);
-vec3  modf(vec3  x, out vec3  i);
-vec4  modf(vec4  x, out vec4  i);
-
-float min(float x, float y);
-vec2  min(vec2  x, vec2  y);
-vec3  min(vec3  x, vec3  y);
-vec4  min(vec4  x, vec4  y);
-
-vec2  min(vec2  x, float y);
-vec3  min(vec3  x, float y);
-vec4  min(vec4  x, float y);
-
-int   min(int   x, int   y);
-ivec2 min(ivec2 x, ivec2 y);
-ivec3 min(ivec3 x, ivec3 y);
-ivec4 min(ivec4 x, ivec4 y);
-
-ivec2 min(ivec2 x, int   y);
-ivec3 min(ivec3 x, int   y);
-ivec4 min(ivec4 x, int   y);
-
-uint  min(uint  x, uint  y);
-uvec2 min(uvec2 x, uvec2 y);
-uvec3 min(uvec3 x, uvec3 y);
-uvec4 min(uvec4 x, uvec4 y);
-
-uvec2 min(uvec2 x, uint  y);
-uvec3 min(uvec3 x, uint  y);
-uvec4 min(uvec4 x, uint  y);
-
-float max(float x, float y);
-vec2  max(vec2  x, vec2  y);
-vec3  max(vec3  x, vec3  y);
-vec4  max(vec4  x, vec4  y);
-
-vec2  max(vec2  x, float y);
-vec3  max(vec3  x, float y);
-vec4  max(vec4  x, float y);
-
-int   max(int   x, int   y);
-ivec2 max(ivec2 x, ivec2 y);
-ivec3 max(ivec3 x, ivec3 y);
-ivec4 max(ivec4 x, ivec4 y);
-
-ivec2 max(ivec2 x, int   y);
-ivec3 max(ivec3 x, int   y);
-ivec4 max(ivec4 x, int   y);
-
-uint  max(uint  x, uint  y);
-uvec2 max(uvec2 x, uvec2 y);
-uvec3 max(uvec3 x, uvec3 y);
-uvec4 max(uvec4 x, uvec4 y);
-
-uvec2 max(uvec2 x, uint  y);
-uvec3 max(uvec3 x, uint  y);
-uvec4 max(uvec4 x, uint  y);
-
-float clamp(float x, float minVal, float maxVal);
-vec2  clamp(vec2  x, vec2  minVal, vec2  maxVal);
-vec3  clamp(vec3  x, vec3  minVal, vec3  maxVal);
-vec4  clamp(vec4  x, vec4  minVal, vec4  maxVal);
-
-vec2  clamp(vec2  x, float minVal, float maxVal);
-vec3  clamp(vec3  x, float minVal, float maxVal);
-vec4  clamp(vec4  x, float minVal, float maxVal);
-
-int   clamp(int   x, int   minVal, int   maxVal);
-ivec2 clamp(ivec2 x, ivec2 minVal, ivec2 maxVal);
-ivec3 clamp(ivec3 x, ivec3 minVal, ivec3 maxVal);
-ivec4 clamp(ivec4 x, ivec4 minVal, ivec4 maxVal);
-
-ivec2 clamp(ivec2 x, int   minVal, int   maxVal);
-ivec3 clamp(ivec3 x, int   minVal, int   maxVal);
-ivec4 clamp(ivec4 x, int   minVal, int   maxVal);
-
-uint  clamp(uint  x, uint  minVal, uint  maxVal);
-uvec2 clamp(uvec2 x, uvec2 minVal, uvec2 maxVal);
-uvec3 clamp(uvec3 x, uvec3 minVal, uvec3 maxVal);
-uvec4 clamp(uvec4 x, uvec4 minVal, uvec4 maxVal);
-
-uvec2 clamp(uvec2 x, uint  minVal, uint  maxVal);
-uvec3 clamp(uvec3 x, uint  minVal, uint  maxVal);
-uvec4 clamp(uvec4 x, uint  minVal, uint  maxVal);
-
-float mix(float x, float y, float a);
-vec2  mix(vec2  x, vec2  y, vec2  a);
-vec3  mix(vec3  x, vec3  y, vec3  a);
-vec4  mix(vec4  x, vec4  y, vec4  a);
-
-vec2  mix(vec2  x, vec2  y, float a);
-vec3  mix(vec3  x, vec3  y, float a);
-vec4  mix(vec4  x, vec4  y, float a);
-
-float mix(float x, float y, bool  a);
-vec2  mix(vec2  x, vec2  y, bvec2 a);
-vec3  mix(vec3  x, vec3  y, bvec3 a);
-vec4  mix(vec4  x, vec4  y, bvec4 a);
-
-float step(float edge, float x);
-vec2  step(vec2  edge, vec2  x);
-vec3  step(vec3  edge, vec3  x);
-vec4  step(vec4  edge, vec4  x);
-
-vec2  step(float edge, vec2  x);
-vec3  step(float edge, vec3  x);
-vec4  step(float edge, vec4  x);
-
-float smoothstep(float edge0, float edge1, float x);
-vec2  smoothstep(vec2  edge0, vec2  edge1, vec2  x);
-vec3  smoothstep(vec3  edge0, vec3  edge1, vec3  x);
-vec4  smoothstep(vec4  edge0, vec4  edge1, vec4  x);
-
-vec2  smoothstep(float edge0, float edge1, vec2  x);
-vec3  smoothstep(float edge0, float edge1, vec3  x);
-vec4  smoothstep(float edge0, float edge1, vec4  x);
-
-bool  isnan(float x);
-bvec2 isnan(vec2  x);
-bvec3 isnan(vec3  x);
-bvec4 isnan(vec4  x);
-
-bool  isinf(float x);
-bvec2 isinf(vec2  x);
-bvec3 isinf(vec3  x);
-bvec4 isinf(vec4  x);
-
-/*
- * 8.4 - Geometric Functions
- */
-float length(float x);
-float length(vec2  x);
-float length(vec3  x);
-float length(vec4  x);
-
-float distance(float p0, float p1);
-float distance(vec2  p0, vec2  p1);
-float distance(vec3  p0, vec3  p1);
-float distance(vec4  p0, vec4  p1);
-
-float dot(float x, float y);
-float dot(vec2  x, vec2  y);
-float dot(vec3  x, vec3  y);
-float dot(vec4  x, vec4  y);
-
-vec3 cross(vec3 x, vec3 y);
-
-float normalize(float x);
-vec2  normalize(vec2  x);
-vec3  normalize(vec3  x);
-vec4  normalize(vec4  x);
-
-float faceforward(float N, float I, float Nref);
-vec2  faceforward(vec2  N, vec2  I, vec2  Nref);
-vec3  faceforward(vec3  N, vec3  I, vec3  Nref);
-vec4  faceforward(vec4  N, vec4  I, vec4  Nref);
-
-float reflect(float I, float N);
-vec2  reflect(vec2  I, vec2  N);
-vec3  reflect(vec3  I, vec3  N);
-vec4  reflect(vec4  I, vec4  N);
-
-float refract(float I, float N, float eta);
-vec2  refract(vec2  I, vec2  N, float eta);
-vec3  refract(vec3  I, vec3  N, float eta);
-vec4  refract(vec4  I, vec4  N, float eta);
-
-
-/*
- * 8.5 - Matrix Functions
- */
-mat2   matrixCompMult(mat2   x, mat2   y);
-mat3   matrixCompMult(mat3   x, mat3   y);
-mat4   matrixCompMult(mat4   x, mat4   y);
-mat2x3 matrixCompMult(mat2x3 x, mat2x3 y);
-mat2x4 matrixCompMult(mat2x4 x, mat2x4 y);
-mat3x2 matrixCompMult(mat3x2 x, mat3x2 y);
-mat3x4 matrixCompMult(mat3x4 x, mat3x4 y);
-mat4x2 matrixCompMult(mat4x2 x, mat4x2 y);
-mat4x3 matrixCompMult(mat4x3 x, mat4x3 y);
-
-mat2   outerProduct(vec2 c, vec2 r);
-mat3   outerProduct(vec3 c, vec3 r);
-mat4   outerProduct(vec4 c, vec4 r);
-
-mat2x3 outerProduct(vec3 c, vec2 r);
-mat3x2 outerProduct(vec2 c, vec3 r);
-
-mat2x4 outerProduct(vec4 c, vec2 r);
-mat4x2 outerProduct(vec2 c, vec4 r);
-
-mat3x4 outerProduct(vec4 c, vec3 r);
-mat4x3 outerProduct(vec3 c, vec4 r);
-
-mat2   transpose(mat2 m);
-mat3   transpose(mat3 m);
-mat4   transpose(mat4 m);
-
-mat2x3 transpose(mat3x2 m);
-mat3x2 transpose(mat2x3 m);
-
-mat2x4 transpose(mat4x2 m);
-mat4x2 transpose(mat2x4 m);
-
-mat3x4 transpose(mat4x3 m);
-mat4x3 transpose(mat3x4 m);
-
-float determinant(mat2 m);
-float determinant(mat3 m);
-float determinant(mat4 m);
-
-mat2 inverse(mat2 m);
-mat3 inverse(mat3 m);
-mat4 inverse(mat4 m);
-
-/*
- * 8.6 - Vector Relational Functions
- */
-bvec2 lessThan( vec2 x,  vec2 y);
-bvec3 lessThan( vec3 x,  vec3 y);
-bvec4 lessThan( vec4 x,  vec4 y);
-bvec2 lessThan(ivec2 x, ivec2 y);
-bvec3 lessThan(ivec3 x, ivec3 y);
-bvec4 lessThan(ivec4 x, ivec4 y);
-bvec2 lessThan(uvec2 x, uvec2 y);
-bvec3 lessThan(uvec3 x, uvec3 y);
-bvec4 lessThan(uvec4 x, uvec4 y);
-
-bvec2 lessThanEqual( vec2 x,  vec2 y);
-bvec3 lessThanEqual( vec3 x,  vec3 y);
-bvec4 lessThanEqual( vec4 x,  vec4 y);
-bvec2 lessThanEqual(ivec2 x, ivec2 y);
-bvec3 lessThanEqual(ivec3 x, ivec3 y);
-bvec4 lessThanEqual(ivec4 x, ivec4 y);
-bvec2 lessThanEqual(uvec2 x, uvec2 y);
-bvec3 lessThanEqual(uvec3 x, uvec3 y);
-bvec4 lessThanEqual(uvec4 x, uvec4 y);
-
-bvec2 greaterThan( vec2 x,  vec2 y);
-bvec3 greaterThan( vec3 x,  vec3 y);
-bvec4 greaterThan( vec4 x,  vec4 y);
-bvec2 greaterThan(ivec2 x, ivec2 y);
-bvec3 greaterThan(ivec3 x, ivec3 y);
-bvec4 greaterThan(ivec4 x, ivec4 y);
-bvec2 greaterThan(uvec2 x, uvec2 y);
-bvec3 greaterThan(uvec3 x, uvec3 y);
-bvec4 greaterThan(uvec4 x, uvec4 y);
-
-bvec2 greaterThanEqual( vec2 x,  vec2 y);
-bvec3 greaterThanEqual( vec3 x,  vec3 y);
-bvec4 greaterThanEqual( vec4 x,  vec4 y);
-bvec2 greaterThanEqual(ivec2 x, ivec2 y);
-bvec3 greaterThanEqual(ivec3 x, ivec3 y);
-bvec4 greaterThanEqual(ivec4 x, ivec4 y);
-bvec2 greaterThanEqual(uvec2 x, uvec2 y);
-bvec3 greaterThanEqual(uvec3 x, uvec3 y);
-bvec4 greaterThanEqual(uvec4 x, uvec4 y);
-
-bvec2 equal( vec2 x,  vec2 y);
-bvec3 equal( vec3 x,  vec3 y);
-bvec4 equal( vec4 x,  vec4 y);
-bvec2 equal(ivec2 x, ivec2 y);
-bvec3 equal(ivec3 x, ivec3 y);
-bvec4 equal(ivec4 x, ivec4 y);
-bvec2 equal(uvec2 x, uvec2 y);
-bvec3 equal(uvec3 x, uvec3 y);
-bvec4 equal(uvec4 x, uvec4 y);
-bvec2 equal(bvec2 x, bvec2 y);
-bvec3 equal(bvec3 x, bvec3 y);
-bvec4 equal(bvec4 x, bvec4 y);
-
-bvec2 notEqual( vec2 x,  vec2 y);
-bvec3 notEqual( vec3 x,  vec3 y);
-bvec4 notEqual( vec4 x,  vec4 y);
-bvec2 notEqual(ivec2 x, ivec2 y);
-bvec3 notEqual(ivec3 x, ivec3 y);
-bvec4 notEqual(ivec4 x, ivec4 y);
-bvec2 notEqual(uvec2 x, uvec2 y);
-bvec3 notEqual(uvec3 x, uvec3 y);
-bvec4 notEqual(uvec4 x, uvec4 y);
-bvec2 notEqual(bvec2 x, bvec2 y);
-bvec3 notEqual(bvec3 x, bvec3 y);
-bvec4 notEqual(bvec4 x, bvec4 y);
-
-bool any(bvec2 x);
-bool any(bvec3 x);
-bool any(bvec4 x);
-
-bool all(bvec2 x);
-bool all(bvec3 x);
-bool all(bvec4 x);
-
-bvec2 not(bvec2 x);
-bvec3 not(bvec3 x);
-bvec4 not(bvec4 x);
-
-/*
- * 8.7 - Texture Lookup Functions
- */
-
-/* textureSize */
-int   textureSize( sampler1D sampler, int lod);
-int   textureSize(isampler1D sampler, int lod);
-int   textureSize(usampler1D sampler, int lod);
-
-ivec2 textureSize( sampler2D sampler, int lod);
-ivec2 textureSize(isampler2D sampler, int lod);
-ivec2 textureSize(usampler2D sampler, int lod);
-
-ivec3 textureSize( sampler3D sampler, int lod);
-ivec3 textureSize(isampler3D sampler, int lod);
-ivec3 textureSize(usampler3D sampler, int lod);
-
-ivec2 textureSize( samplerCube sampler, int lod);
-ivec2 textureSize(isamplerCube sampler, int lod);
-ivec2 textureSize(usamplerCube sampler, int lod);
-
-int   textureSize(sampler1DShadow   sampler, int lod);
-ivec2 textureSize(sampler2DShadow   sampler, int lod);
-ivec2 textureSize(samplerCubeShadow sampler, int lod);
-
-ivec2 textureSize( sampler1DArray sampler, int lod);
-ivec2 textureSize(isampler1DArray sampler, int lod);
-ivec2 textureSize(usampler1DArray sampler, int lod);
-ivec3 textureSize( sampler2DArray sampler, int lod);
-ivec3 textureSize(isampler2DArray sampler, int lod);
-ivec3 textureSize(usampler2DArray sampler, int lod);
-
-ivec2 textureSize(sampler1DArrayShadow sampler, int lod);
-ivec3 textureSize(sampler2DArrayShadow sampler, int lod);
-
-ivec2 textureSize(sampler2DRect sampler);
-ivec2 textureSize(isampler2DRect sampler);
-ivec2 textureSize(usampler2DRect sampler);
-ivec2 textureSize(sampler2DRectShadow sampler);
-
-int  textureSize( samplerBuffer sampler);
-int  textureSize(isamplerBuffer sampler);
-int  textureSize(usamplerBuffer sampler);
-
-ivec2 textureSize( sampler2DMS sampler);
-ivec2 textureSize(isampler2DMS sampler);
-ivec2 textureSize(usampler2DMS sampler);
-
-ivec3 textureSize( sampler2DMSArray sampler);
-ivec3 textureSize(isampler2DMSArray sampler);
-ivec3 textureSize(usampler2DMSArray sampler);
-
-/* texture - no bias */
- vec4 texture( sampler1D sampler, float P);
-ivec4 texture(isampler1D sampler, float P);
-uvec4 texture(usampler1D sampler, float P);
-
- vec4 texture( sampler2D sampler, vec2 P);
-ivec4 texture(isampler2D sampler, vec2 P);
-uvec4 texture(usampler2D sampler, vec2 P);
-
- vec4 texture( sampler3D sampler, vec3 P);
-ivec4 texture(isampler3D sampler, vec3 P);
-uvec4 texture(usampler3D sampler, vec3 P);
-
- vec4 texture( samplerCube sampler, vec3 P);
-ivec4 texture(isamplerCube sampler, vec3 P);
-uvec4 texture(usamplerCube sampler, vec3 P);
-
-float texture(sampler1DShadow   sampler, vec3 P);
-float texture(sampler2DShadow   sampler, vec3 P);
-float texture(samplerCubeShadow sampler, vec4 P);
-
- vec4 texture( sampler1DArray sampler, vec2 P);
-ivec4 texture(isampler1DArray sampler, vec2 P);
-uvec4 texture(usampler1DArray sampler, vec2 P);
-
- vec4 texture( sampler2DArray sampler, vec3 P);
-ivec4 texture(isampler2DArray sampler, vec3 P);
-uvec4 texture(usampler2DArray sampler, vec3 P);
-
-float texture(sampler1DArrayShadow sampler, vec3 P);
-float texture(sampler2DArrayShadow sampler, vec4 P);
-
- vec4 texture( sampler2DRect sampler, vec2 P);
-ivec4 texture(isampler2DRect sampler, vec2 P);
-uvec4 texture(usampler2DRect sampler, vec2 P);
-
-float texture(sampler2DRectShadow sampler, vec3 P);
-
-/* textureProj - no bias */
- vec4 textureProj( sampler1D sampler, vec2 P);
-ivec4 textureProj(isampler1D sampler, vec2 P);
-uvec4 textureProj(usampler1D sampler, vec2 P);
- vec4 textureProj( sampler1D sampler, vec4 P);
-ivec4 textureProj(isampler1D sampler, vec4 P);
-uvec4 textureProj(usampler1D sampler, vec4 P);
-
- vec4 textureProj( sampler2D sampler, vec3 P);
-ivec4 textureProj(isampler2D sampler, vec3 P);
-uvec4 textureProj(usampler2D sampler, vec3 P);
- vec4 textureProj( sampler2D sampler, vec4 P);
-ivec4 textureProj(isampler2D sampler, vec4 P);
-uvec4 textureProj(usampler2D sampler, vec4 P);
-
- vec4 textureProj( sampler3D sampler, vec4 P);
-ivec4 textureProj(isampler3D sampler, vec4 P);
-uvec4 textureProj(usampler3D sampler, vec4 P);
-
-float textureProj(sampler1DShadow sampler, vec4 P);
-float textureProj(sampler2DShadow sampler, vec4 P);
-
- vec4 textureProj( sampler2DRect sampler, vec3 P);
-ivec4 textureProj(isampler2DRect sampler, vec3 P);
-uvec4 textureProj(usampler2DRect sampler, vec3 P);
- vec4 textureProj( sampler2DRect sampler, vec4 P);
-ivec4 textureProj(isampler2DRect sampler, vec4 P);
-uvec4 textureProj(usampler2DRect sampler, vec4 P);
-
-float textureProj(sampler2DRectShadow sampler, vec4 P);
-
-/* textureLod */
- vec4 textureLod( sampler1D sampler, float P, float lod);
-ivec4 textureLod(isampler1D sampler, float P, float lod);
-uvec4 textureLod(usampler1D sampler, float P, float lod);
-
- vec4 textureLod( sampler2D sampler, vec2 P, float lod);
-ivec4 textureLod(isampler2D sampler, vec2 P, float lod);
-uvec4 textureLod(usampler2D sampler, vec2 P, float lod);
-
- vec4 textureLod( sampler3D sampler, vec3 P, float lod);
-ivec4 textureLod(isampler3D sampler, vec3 P, float lod);
-uvec4 textureLod(usampler3D sampler, vec3 P, float lod);
-
- vec4 textureLod( samplerCube sampler, vec3 P, float lod);
-ivec4 textureLod(isamplerCube sampler, vec3 P, float lod);
-uvec4 textureLod(usamplerCube sampler, vec3 P, float lod);
-
-float textureLod(sampler1DShadow sampler, vec3 P, float lod);
-float textureLod(sampler2DShadow sampler, vec3 P, float lod);
-
- vec4 textureLod( sampler1DArray sampler, vec2 P, float lod);
-ivec4 textureLod(isampler1DArray sampler, vec2 P, float lod);
-uvec4 textureLod(usampler1DArray sampler, vec2 P, float lod);
-
- vec4 textureLod( sampler2DArray sampler, vec3 P, float lod);
-ivec4 textureLod(isampler2DArray sampler, vec3 P, float lod);
-uvec4 textureLod(usampler2DArray sampler, vec3 P, float lod);
-
-float textureLod(sampler1DArrayShadow sampler, vec3 P, float lod);
-
-/* textureOffset - no bias */
- vec4 textureOffset( sampler1D sampler, float P, int offset);
-ivec4 textureOffset(isampler1D sampler, float P, int offset);
-uvec4 textureOffset(usampler1D sampler, float P, int offset);
-
- vec4 textureOffset( sampler2D sampler, vec2 P, ivec2 offset);
-ivec4 textureOffset(isampler2D sampler, vec2 P, ivec2 offset);
-uvec4 textureOffset(usampler2D sampler, vec2 P, ivec2 offset);
-
- vec4 textureOffset( sampler3D sampler, vec3 P, ivec3 offset);
-ivec4 textureOffset(isampler3D sampler, vec3 P, ivec3 offset);
-uvec4 textureOffset(usampler3D sampler, vec3 P, ivec3 offset);
-
- vec4 textureOffset( sampler2DRect sampler, vec2 P, ivec2 offset);
-ivec4 textureOffset(isampler2DRect sampler, vec2 P, ivec2 offset);
-uvec4 textureOffset(usampler2DRect sampler, vec2 P, ivec2 offset);
-
-float textureOffset(sampler2DRectShadow sampler, vec3 P, ivec2 offset);
-
-float textureOffset(sampler1DShadow sampler, vec3 P, int offset);
-float textureOffset(sampler2DShadow sampler, vec3 P, ivec2 offset);
-
- vec4 textureOffset( sampler1DArray sampler, vec2 P, int offset);
-ivec4 textureOffset(isampler1DArray sampler, vec2 P, int offset);
-uvec4 textureOffset(usampler1DArray sampler, vec2 P, int offset);
-
- vec4 textureOffset( sampler2DArray sampler, vec3 P, ivec2 offset);
-ivec4 textureOffset(isampler2DArray sampler, vec3 P, ivec2 offset);
-uvec4 textureOffset(usampler2DArray sampler, vec3 P, ivec2 offset);
-
-float textureOffset(sampler1DArrayShadow sampler, vec3 P, int offset);
-
-/* texelFetch */
- vec4 texelFetch( sampler1D sampler, int P, int lod);
-ivec4 texelFetch(isampler1D sampler, int P, int lod);
-uvec4 texelFetch(usampler1D sampler, int P, int lod);
-
- vec4 texelFetch( sampler2D sampler, ivec2 P, int lod);
-ivec4 texelFetch(isampler2D sampler, ivec2 P, int lod);
-uvec4 texelFetch(usampler2D sampler, ivec2 P, int lod);
-
- vec4 texelFetch( sampler3D sampler, ivec3 P, int lod);
-ivec4 texelFetch(isampler3D sampler, ivec3 P, int lod);
-uvec4 texelFetch(usampler3D sampler, ivec3 P, int lod);
-
- vec4 texelFetch( sampler2DRect sampler, ivec2 P);
-ivec4 texelFetch(isampler2DRect sampler, ivec2 P);
-uvec4 texelFetch(usampler2DRect sampler, ivec2 P);
-
- vec4 texelFetch( sampler1DArray sampler, ivec2 P, int lod);
-ivec4 texelFetch(isampler1DArray sampler, ivec2 P, int lod);
-uvec4 texelFetch(usampler1DArray sampler, ivec2 P, int lod);
-
- vec4 texelFetch( sampler2DArray sampler, ivec3 P, int lod);
-ivec4 texelFetch(isampler2DArray sampler, ivec3 P, int lod);
-uvec4 texelFetch(usampler2DArray sampler, ivec3 P, int lod);
-
- vec4 texelFetch( samplerBuffer sampler, int P);
-ivec4 texelFetch(isamplerBuffer sampler, int P);
-uvec4 texelFetch(usamplerBuffer sampler, int P);
-
- vec4 texelFetch( sampler2DMS sampler, ivec2 P, int sample);
-ivec4 texelFetch(isampler2DMS sampler, ivec2 P, int sample);
-uvec4 texelFetch(usampler2DMS sampler, ivec2 P, int sample);
-
- vec4 texelFetch( sampler2DMSArray sampler, ivec3 P, int sample);
-ivec4 texelFetch(isampler2DMSArray sampler, ivec3 P, int sample);
-uvec4 texelFetch(usampler2DMSArray sampler, ivec3 P, int sample);
-
-/* texelFetchOffset */
- vec4 texelFetchOffset( sampler1D sampler, int P, int lod, int offset);
-ivec4 texelFetchOffset(isampler1D sampler, int P, int lod, int offset);
-uvec4 texelFetchOffset(usampler1D sampler, int P, int lod, int offset);
-
- vec4 texelFetchOffset( sampler2D sampler, ivec2 P, int lod, ivec2 offset);
-ivec4 texelFetchOffset(isampler2D sampler, ivec2 P, int lod, ivec2 offset);
-uvec4 texelFetchOffset(usampler2D sampler, ivec2 P, int lod, ivec2 offset);
-
- vec4 texelFetchOffset( sampler3D sampler, ivec3 P, int lod, ivec3 offset);
-ivec4 texelFetchOffset(isampler3D sampler, ivec3 P, int lod, ivec3 offset);
-uvec4 texelFetchOffset(usampler3D sampler, ivec3 P, int lod, ivec3 offset);
-
- vec4 texelFetchOffset( sampler2DRect sampler, ivec2 P, ivec2 offset);
-ivec4 texelFetchOffset(isampler2DRect sampler, ivec2 P, ivec2 offset);
-uvec4 texelFetchOffset(usampler2DRect sampler, ivec2 P, ivec2 offset);
-
- vec4 texelFetchOffset( sampler1DArray sampler, ivec2 P, int lod, int offset);
-ivec4 texelFetchOffset(isampler1DArray sampler, ivec2 P, int lod, int offset);
-uvec4 texelFetchOffset(usampler1DArray sampler, ivec2 P, int lod, int offset);
-
- vec4 texelFetchOffset( sampler2DArray sampler, ivec3 P, int lod, ivec2 offset);
-ivec4 texelFetchOffset(isampler2DArray sampler, ivec3 P, int lod, ivec2 offset);
-uvec4 texelFetchOffset(usampler2DArray sampler, ivec3 P, int lod, ivec2 offset);
-
-/* textureProjOffset - no bias */
- vec4 textureProjOffset( sampler1D sampler, vec2 P, int offset);
-ivec4 textureProjOffset(isampler1D sampler, vec2 P, int offset);
-uvec4 textureProjOffset(usampler1D sampler, vec2 P, int offset);
- vec4 textureProjOffset( sampler1D sampler, vec4 P, int offset);
-ivec4 textureProjOffset(isampler1D sampler, vec4 P, int offset);
-uvec4 textureProjOffset(usampler1D sampler, vec4 P, int offset);
-
- vec4 textureProjOffset( sampler2D sampler, vec3 P, ivec2 offset);
-ivec4 textureProjOffset(isampler2D sampler, vec3 P, ivec2 offset);
-uvec4 textureProjOffset(usampler2D sampler, vec3 P, ivec2 offset);
- vec4 textureProjOffset( sampler2D sampler, vec4 P, ivec2 offset);
-ivec4 textureProjOffset(isampler2D sampler, vec4 P, ivec2 offset);
-uvec4 textureProjOffset(usampler2D sampler, vec4 P, ivec2 offset);
-
- vec4 textureProjOffset( sampler3D sampler, vec4 P, ivec3 offset);
-ivec4 textureProjOffset(isampler3D sampler, vec4 P, ivec3 offset);
-uvec4 textureProjOffset(usampler3D sampler, vec4 P, ivec3 offset);
-
- vec4 textureProjOffset( sampler2DRect sampler, vec3 P, ivec2 offset);
-ivec4 textureProjOffset(isampler2DRect sampler, vec3 P, ivec2 offset);
-uvec4 textureProjOffset(usampler2DRect sampler, vec3 P, ivec2 offset);
- vec4 textureProjOffset( sampler2DRect sampler, vec4 P, ivec2 offset);
-ivec4 textureProjOffset(isampler2DRect sampler, vec4 P, ivec2 offset);
-uvec4 textureProjOffset(usampler2DRect sampler, vec4 P, ivec2 offset);
-
-float textureProjOffset(sampler2DRectShadow sampler, vec4 P, ivec2 offset);
-
-float textureProjOffset(sampler1DShadow sampler, vec4 P, int offset);
-float textureProjOffset(sampler2DShadow sampler, vec4 P, ivec2 offset);
-
-/* textureLodOffset */
- vec4 textureLodOffset( sampler1D sampler, float P, float lod, int offset);
-ivec4 textureLodOffset(isampler1D sampler, float P, float lod, int offset);
-uvec4 textureLodOffset(usampler1D sampler, float P, float lod, int offset);
-
- vec4 textureLodOffset( sampler2D sampler, vec2 P, float lod, ivec2 offset);
-ivec4 textureLodOffset(isampler2D sampler, vec2 P, float lod, ivec2 offset);
-uvec4 textureLodOffset(usampler2D sampler, vec2 P, float lod, ivec2 offset);
-
- vec4 textureLodOffset( sampler3D sampler, vec3 P, float lod, ivec3 offset);
-ivec4 textureLodOffset(isampler3D sampler, vec3 P, float lod, ivec3 offset);
-uvec4 textureLodOffset(usampler3D sampler, vec3 P, float lod, ivec3 offset);
-
-float textureLodOffset(sampler1DShadow samp, vec3 P, float lod, int offset);
-float textureLodOffset(sampler2DShadow samp, vec3 P, float lod, ivec2 offset);
-
- vec4 textureLodOffset( sampler1DArray sampler, vec2 P, float lod, int offset);
-ivec4 textureLodOffset(isampler1DArray sampler, vec2 P, float lod, int offset);
-uvec4 textureLodOffset(usampler1DArray sampler, vec2 P, float lod, int offset);
-
- vec4 textureLodOffset( sampler2DArray samp, vec3 P, float lod, ivec2 offset);
-ivec4 textureLodOffset(isampler2DArray samp, vec3 P, float lod, ivec2 offset);
-uvec4 textureLodOffset(usampler2DArray samp, vec3 P, float lod, ivec2 offset);
-
-float textureLodOffset(sampler1DArrayShadow s, vec3 P, float lod, int offset);
-
-/* textureProjLod */
- vec4 textureProjLod( sampler1D sampler, vec2 P, float lod);
-ivec4 textureProjLod(isampler1D sampler, vec2 P, float lod);
-uvec4 textureProjLod(usampler1D sampler, vec2 P, float lod);
- vec4 textureProjLod( sampler1D sampler, vec4 P, float lod);
-ivec4 textureProjLod(isampler1D sampler, vec4 P, float lod);
-uvec4 textureProjLod(usampler1D sampler, vec4 P, float lod);
-
- vec4 textureProjLod( sampler2D sampler, vec3 P, float lod);
-ivec4 textureProjLod(isampler2D sampler, vec3 P, float lod);
-uvec4 textureProjLod(usampler2D sampler, vec3 P, float lod);
- vec4 textureProjLod( sampler2D sampler, vec4 P, float lod);
-ivec4 textureProjLod(isampler2D sampler, vec4 P, float lod);
-uvec4 textureProjLod(usampler2D sampler, vec4 P, float lod);
-
- vec4 textureProjLod( sampler3D sampler, vec4 P, float lod);
-ivec4 textureProjLod(isampler3D sampler, vec4 P, float lod);
-uvec4 textureProjLod(usampler3D sampler, vec4 P, float lod);
-
-float textureProjLod(sampler1DShadow sampler, vec4 P, float lod);
-float textureProjLod(sampler2DShadow sampler, vec4 P, float lod);
-
-/* textureProjLodOffset */
- vec4 textureProjLodOffset( sampler1D sampler, vec2 P, float lod, int offset);
-ivec4 textureProjLodOffset(isampler1D sampler, vec2 P, float lod, int offset);
-uvec4 textureProjLodOffset(usampler1D sampler, vec2 P, float lod, int offset);
- vec4 textureProjLodOffset( sampler1D sampler, vec4 P, float lod, int offset);
-ivec4 textureProjLodOffset(isampler1D sampler, vec4 P, float lod, int offset);
-uvec4 textureProjLodOffset(usampler1D sampler, vec4 P, float lod, int offset);
-
- vec4 textureProjLodOffset( sampler2D sampler, vec3 P, float lod, ivec2 offset);
-ivec4 textureProjLodOffset(isampler2D sampler, vec3 P, float lod, ivec2 offset);
-uvec4 textureProjLodOffset(usampler2D sampler, vec3 P, float lod, ivec2 offset);
- vec4 textureProjLodOffset( sampler2D sampler, vec4 P, float lod, ivec2 offset);
-ivec4 textureProjLodOffset(isampler2D sampler, vec4 P, float lod, ivec2 offset);
-uvec4 textureProjLodOffset(usampler2D sampler, vec4 P, float lod, ivec2 offset);
-
- vec4 textureProjLodOffset( sampler3D sampler, vec4 P, float lod, ivec3 offset);
-ivec4 textureProjLodOffset(isampler3D sampler, vec4 P, float lod, ivec3 offset);
-uvec4 textureProjLodOffset(usampler3D sampler, vec4 P, float lod, ivec3 offset);
-
-float textureProjLodOffset(sampler1DShadow s, vec4 P, float lod, int offset);
-float textureProjLodOffset(sampler2DShadow s, vec4 P, float lod, ivec2 offset);
-
-/* textureGrad */
- vec4 textureGrad( sampler1D sampler, float P, float dPdx, float dPdy);
-ivec4 textureGrad(isampler1D sampler, float P, float dPdx, float dPdy);
-uvec4 textureGrad(usampler1D sampler, float P, float dPdx, float dPdy);
-
- vec4 textureGrad( sampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy);
-ivec4 textureGrad(isampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy);
-uvec4 textureGrad(usampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy);
-
- vec4 textureGrad( sampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy);
-ivec4 textureGrad(isampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy);
-uvec4 textureGrad(usampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy);
-
- vec4 textureGrad( samplerCube sampler, vec3 P, vec3 dPdx, vec3 dPdy);
-ivec4 textureGrad(isamplerCube sampler, vec3 P, vec3 dPdx, vec3 dPdy);
-uvec4 textureGrad(usamplerCube sampler, vec3 P, vec3 dPdx, vec3 dPdy);
-
- vec4 textureGrad( sampler2DRect sampler, vec2 P, vec2 dPdx, vec2 dPdy);
-ivec4 textureGrad(isampler2DRect sampler, vec2 P, vec2 dPdx, vec2 dPdy);
-uvec4 textureGrad(usampler2DRect sampler, vec2 P, vec2 dPdx, vec2 dPdy);
-
-float textureGrad(sampler2DRectShadow   sampler, vec3 P, vec2  dPdx, vec2  dPdy);
-
-float textureGrad(sampler1DShadow   sampler, vec3 P, float dPdx, float dPdy);
-float textureGrad(sampler2DShadow   sampler, vec3 P, vec2  dPdx, vec2  dPdy);
-float textureGrad(samplerCubeShadow sampler, vec4 P, vec3  dPdx, vec3  dPdy);
-
- vec4 textureGrad( sampler1DArray sampler, vec2 P, float dPdx, float dPdy);
-ivec4 textureGrad(isampler1DArray sampler, vec2 P, float dPdx, float dPdy);
-uvec4 textureGrad(usampler1DArray sampler, vec2 P, float dPdx, float dPdy);
-
- vec4 textureGrad( sampler2DArray sampler, vec3 P, vec2 dPdx, vec2 dPdy);
-ivec4 textureGrad(isampler2DArray sampler, vec3 P, vec2 dPdx, vec2 dPdy);
-uvec4 textureGrad(usampler2DArray sampler, vec3 P, vec2 dPdx, vec2 dPdy);
-
-float textureGrad(sampler1DArrayShadow sampler, vec3 P, float dPdx, float dPdy);
-float textureGrad(sampler2DArrayShadow sampler, vec4 P, vec2  dPdx, vec2  dPdy);
-
-/* textureGradOffset */
- vec4 textureGradOffset( sampler1D s, float P, float dx, float dy, int off);
-ivec4 textureGradOffset(isampler1D s, float P, float dx, float dy, int offset);
-uvec4 textureGradOffset(usampler1D s, float P, float dx, float dy, int offset);
-
- vec4 textureGradOffset( sampler2D s, vec2 P, vec2 dx, vec2 dy, ivec2 offset);
-ivec4 textureGradOffset(isampler2D s, vec2 P, vec2 dx, vec2 dy, ivec2 offset);
-uvec4 textureGradOffset(usampler2D s, vec2 P, vec2 dx, vec2 dy, ivec2 offset);
-
- vec4 textureGradOffset( sampler3D s, vec3 P, vec3 dx, vec3 dy, ivec3 offset);
-ivec4 textureGradOffset(isampler3D s, vec3 P, vec3 dx, vec3 dy, ivec3 offset);
-uvec4 textureGradOffset(usampler3D s, vec3 P, vec3 dx, vec3 dy, ivec3 offset);
-
- vec4 textureGradOffset( sampler2DRect s, vec2 P, vec2 dx, vec2 dy, ivec2 offset);
-ivec4 textureGradOffset(isampler2DRect s, vec2 P, vec2 dx, vec2 dy, ivec2 offset);
-uvec4 textureGradOffset(usampler2DRect s, vec2 P, vec2 dx, vec2 dy, ivec2 offset);
-
-float textureGradOffset(sampler2DRectShadow s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
-
-float textureGradOffset(sampler1DShadow s, vec3 P, float dx, float dy, int off);
-float textureGradOffset(sampler2DShadow s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
-
- vec4 textureGradOffset( sampler1DArray s, vec2 P, float dx, float dy, int off);
-ivec4 textureGradOffset(isampler1DArray s, vec2 P, float dx, float dy, int off);
-uvec4 textureGradOffset(usampler1DArray s, vec2 P, float dx, float dy, int off);
-
- vec4 textureGradOffset( sampler2DArray s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
-ivec4 textureGradOffset(isampler2DArray s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
-uvec4 textureGradOffset(usampler2DArray s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
-
-float textureGradOffset(sampler1DArrayShadow s, vec3 P, float dx, float dy, int o);
-float textureGradOffset(sampler2DArrayShadow s, vec4 P, vec2 dx, vec2 dy, ivec2 o);
-
-/* textureProjGrad */
- vec4 textureProjGrad( sampler1D sampler, vec2 P, float dPdx, float dPdy);
-ivec4 textureProjGrad(isampler1D sampler, vec2 P, float dPdx, float dPdy);
-uvec4 textureProjGrad(usampler1D sampler, vec2 P, float dPdx, float dPdy);
- vec4 textureProjGrad( sampler1D sampler, vec4 P, float dPdx, float dPdy);
-ivec4 textureProjGrad(isampler1D sampler, vec4 P, float dPdx, float dPdy);
-uvec4 textureProjGrad(usampler1D sampler, vec4 P, float dPdx, float dPdy);
-
- vec4 textureProjGrad( sampler2D sampler, vec3 P, vec2 dPdx, vec2 dPdy);
-ivec4 textureProjGrad(isampler2D sampler, vec3 P, vec2 dPdx, vec2 dPdy);
-uvec4 textureProjGrad(usampler2D sampler, vec3 P, vec2 dPdx, vec2 dPdy);
- vec4 textureProjGrad( sampler2D sampler, vec4 P, vec2 dPdx, vec2 dPdy);
-ivec4 textureProjGrad(isampler2D sampler, vec4 P, vec2 dPdx, vec2 dPdy);
-uvec4 textureProjGrad(usampler2D sampler, vec4 P, vec2 dPdx, vec2 dPdy);
-
- vec4 textureProjGrad( sampler3D sampler, vec4 P, vec3 dPdx, vec3 dPdy);
-ivec4 textureProjGrad(isampler3D sampler, vec4 P, vec3 dPdx, vec3 dPdy);
-uvec4 textureProjGrad(usampler3D sampler, vec4 P, vec3 dPdx, vec3 dPdy);
-
- vec4 textureProjGrad( sampler2DRect sampler, vec3 P, vec2 dPdx, vec2 dPdy);
-ivec4 textureProjGrad(isampler2DRect sampler, vec3 P, vec2 dPdx, vec2 dPdy);
-uvec4 textureProjGrad(usampler2DRect sampler, vec3 P, vec2 dPdx, vec2 dPdy);
- vec4 textureProjGrad( sampler2DRect sampler, vec4 P, vec2 dPdx, vec2 dPdy);
-ivec4 textureProjGrad(isampler2DRect sampler, vec4 P, vec2 dPdx, vec2 dPdy);
-uvec4 textureProjGrad(usampler2DRect sampler, vec4 P, vec2 dPdx, vec2 dPdy);
-
-float textureProjGrad(sampler2DRectShadow sampler, vec4 P, vec2  dPdx, vec2  dPdy);
-
-float textureProjGrad(sampler1DShadow sampler, vec4 P, float dPdx, float dPdy);
-float textureProjGrad(sampler2DShadow sampler, vec4 P, vec2  dPdx, vec2  dPdy);
-
-/* textureProjGradOffset */
- vec4 textureProjGradOffset( sampler1D s, vec2 P, float dx, float dy, int off);
-ivec4 textureProjGradOffset(isampler1D s, vec2 P, float dx, float dy, int off);
-uvec4 textureProjGradOffset(usampler1D s, vec2 P, float dx, float dy, int off);
- vec4 textureProjGradOffset( sampler1D s, vec4 P, float dx, float dy, int off);
-ivec4 textureProjGradOffset(isampler1D s, vec4 P, float dx, float dy, int off);
-uvec4 textureProjGradOffset(usampler1D s, vec4 P, float dx, float dy, int off);
-
- vec4 textureProjGradOffset( sampler2D s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
-ivec4 textureProjGradOffset(isampler2D s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
-uvec4 textureProjGradOffset(usampler2D s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
- vec4 textureProjGradOffset( sampler2D s, vec4 P, vec2 dx, vec2 dy, ivec2 off);
-ivec4 textureProjGradOffset(isampler2D s, vec4 P, vec2 dx, vec2 dy, ivec2 off);
-uvec4 textureProjGradOffset(usampler2D s, vec4 P, vec2 dx, vec2 dy, ivec2 off);
-
- vec4 textureProjGradOffset( sampler2DRect s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
-ivec4 textureProjGradOffset(isampler2DRect s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
-uvec4 textureProjGradOffset(usampler2DRect s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
- vec4 textureProjGradOffset( sampler2DRect s, vec4 P, vec2 dx, vec2 dy, ivec2 off);
-ivec4 textureProjGradOffset(isampler2DRect s, vec4 P, vec2 dx, vec2 dy, ivec2 off);
-uvec4 textureProjGradOffset(usampler2DRect s, vec4 P, vec2 dx, vec2 dy, ivec2 off);
-
-float textureProjGradOffset(sampler2DRectShadow s, vec4 P, vec2 dx, vec2 dy, ivec2 o);
-
- vec4 textureProjGradOffset( sampler3D s, vec4 P, vec3 dx, vec3 dy, ivec3 off);
-ivec4 textureProjGradOffset(isampler3D s, vec4 P, vec3 dx, vec3 dy, ivec3 off);
-uvec4 textureProjGradOffset(usampler3D s, vec4 P, vec3 dx, vec3 dy, ivec3 off);
-
-float textureProjGradOffset(sampler1DShadow s, vec4 P, float dx, float dy, int o);
-float textureProjGradOffset(sampler2DShadow s, vec4 P, vec2 dx, vec2 dy, ivec2 o);
-
-/*
- * The following texture functions are deprecated:
- */
-vec4 texture1D       (sampler1D sampler, float coord);
-vec4 texture1DProj   (sampler1D sampler, vec2  coord);
-vec4 texture1DProj   (sampler1D sampler, vec4  coord);
-vec4 texture1DLod    (sampler1D sampler, float coord, float lod);
-vec4 texture1DProjLod(sampler1D sampler, vec2  coord, float lod);
-vec4 texture1DProjLod(sampler1D sampler, vec4  coord, float lod);
-
-vec4 texture2D       (sampler2D sampler, vec2 coord);
-vec4 texture2DProj   (sampler2D sampler, vec3 coord);
-vec4 texture2DProj   (sampler2D sampler, vec4 coord);
-vec4 texture2DLod    (sampler2D sampler, vec2 coord, float lod);
-vec4 texture2DProjLod(sampler2D sampler, vec3 coord, float lod);
-vec4 texture2DProjLod(sampler2D sampler, vec4 coord, float lod);
-
-vec4 texture3D       (sampler3D sampler, vec3 coord);
-vec4 texture3DProj   (sampler3D sampler, vec4 coord);
-vec4 texture3DLod    (sampler3D sampler, vec3 coord, float lod);
-vec4 texture3DProjLod(sampler3D sampler, vec4 coord, float lod);
-
-vec4 textureCube     (samplerCube sampler, vec3 coord);
-vec4 textureCubeLod  (samplerCube sampler, vec3 coord, float lod);
-
-vec4 shadow1D       (sampler1DShadow sampler, vec3 coord);
-vec4 shadow2D       (sampler2DShadow sampler, vec3 coord);
-vec4 shadow1DProj   (sampler1DShadow sampler, vec4 coord);
-vec4 shadow2DProj   (sampler2DShadow sampler, vec4 coord);
-vec4 shadow1DLod    (sampler1DShadow sampler, vec3 coord, float lod);
-vec4 shadow2DLod    (sampler2DShadow sampler, vec3 coord, float lod);
-vec4 shadow1DProjLod(sampler1DShadow sampler, vec4 coord, float lod);
-vec4 shadow2DProjLod(sampler2DShadow sampler, vec4 coord, float lod);
-
-/*
- * 8.9 - Noise Functions
- */
-float noise1(float x);
-float noise1(vec2  x);
-float noise1(vec3  x);
-float noise1(vec4  x);
-
-vec2  noise2(float x);
-vec2  noise2(vec2  x);
-vec2  noise2(vec3  x);
-vec2  noise2(vec4  x);
-
-vec3  noise3(float x);
-vec3  noise3(vec2  x);
-vec3  noise3(vec3  x);
-vec3  noise3(vec4  x);
-
-vec4  noise4(float x);
-vec4  noise4(vec2  x);
-vec4  noise4(vec3  x);
-vec4  noise4(vec4  x);
diff --git a/src/glsl/builtins/profiles/300es.frag b/src/glsl/builtins/profiles/300es.frag
deleted file mode 100644
index ef412d8..0000000
--- a/src/glsl/builtins/profiles/300es.frag
+++ /dev/null
@@ -1,85 +0,0 @@
-#version 300 es
-precision highp float;
-
-/* texture - bias variants */
- vec4 texture( sampler2D sampler, vec2 P, float bias);
-ivec4 texture(isampler2D sampler, vec2 P, float bias);
-uvec4 texture(usampler2D sampler, vec2 P, float bias);
-
- vec4 texture( sampler3D sampler, vec3 P, float bias);
-ivec4 texture(isampler3D sampler, vec3 P, float bias);
-uvec4 texture(usampler3D sampler, vec3 P, float bias);
-
- vec4 texture( samplerCube sampler, vec3 P, float bias);
-ivec4 texture(isamplerCube sampler, vec3 P, float bias);
-uvec4 texture(usamplerCube sampler, vec3 P, float bias);
-
-float texture(sampler2DShadow   sampler, vec3 P, float bias);
-float texture(samplerCubeShadow sampler, vec4 P, float bias);
-
- vec4 texture( sampler2DArray sampler, vec3 P, float bias);
-ivec4 texture(isampler2DArray sampler, vec3 P, float bias);
-uvec4 texture(usampler2DArray sampler, vec3 P, float bias);
-
-float texture(sampler2DArrayShadow sampler, vec4 P, float bias);
-
-/* textureProj - bias variants */
- vec4 textureProj( sampler2D sampler, vec3 P, float bias);
-ivec4 textureProj(isampler2D sampler, vec3 P, float bias);
-uvec4 textureProj(usampler2D sampler, vec3 P, float bias);
- vec4 textureProj( sampler2D sampler, vec4 P, float bias);
-ivec4 textureProj(isampler2D sampler, vec4 P, float bias);
-uvec4 textureProj(usampler2D sampler, vec4 P, float bias);
-
- vec4 textureProj( sampler3D sampler, vec4 P, float bias);
-ivec4 textureProj(isampler3D sampler, vec4 P, float bias);
-uvec4 textureProj(usampler3D sampler, vec4 P, float bias);
-
-float textureProj(sampler2DShadow sampler, vec4 P, float bias);
-
-/* textureOffset - bias variants */
- vec4 textureOffset( sampler2D sampler, vec2 P, ivec2 offset, float bias);
-ivec4 textureOffset(isampler2D sampler, vec2 P, ivec2 offset, float bias);
-uvec4 textureOffset(usampler2D sampler, vec2 P, ivec2 offset, float bias);
-
- vec4 textureOffset( sampler3D sampler, vec3 P, ivec3 offset, float bias);
-ivec4 textureOffset(isampler3D sampler, vec3 P, ivec3 offset, float bias);
-uvec4 textureOffset(usampler3D sampler, vec3 P, ivec3 offset, float bias);
-
-float textureOffset(sampler2DShadow sampler, vec3 P, ivec2 offset, float bias);
-
- vec4 textureOffset( sampler2DArray sampler, vec3 P, ivec2 offset, float bias);
-ivec4 textureOffset(isampler2DArray sampler, vec3 P, ivec2 offset, float bias);
-uvec4 textureOffset(usampler2DArray sampler, vec3 P, ivec2 offset, float bias);
-
-/* textureProjOffsetOffset - bias variants */
- vec4 textureProjOffset( sampler2D sampler, vec3 P, ivec2 offset, float bias);
-ivec4 textureProjOffset(isampler2D sampler, vec3 P, ivec2 offset, float bias);
-uvec4 textureProjOffset(usampler2D sampler, vec3 P, ivec2 offset, float bias);
- vec4 textureProjOffset( sampler2D sampler, vec4 P, ivec2 offset, float bias);
-ivec4 textureProjOffset(isampler2D sampler, vec4 P, ivec2 offset, float bias);
-uvec4 textureProjOffset(usampler2D sampler, vec4 P, ivec2 offset, float bias);
-
- vec4 textureProjOffset( sampler3D sampler, vec4 P, ivec3 offset, float bias);
-ivec4 textureProjOffset(isampler3D sampler, vec4 P, ivec3 offset, float bias);
-uvec4 textureProjOffset(usampler3D sampler, vec4 P, ivec3 offset, float bias);
-
-float textureProjOffset(sampler2DShadow s, vec4 P, ivec2 offset, float bias);
-
-/*
- * 8.9 - Fragment Processing Functions
- */
-float dFdx(float p);
-vec2  dFdx(vec2  p);
-vec3  dFdx(vec3  p);
-vec4  dFdx(vec4  p);
-
-float dFdy(float p);
-vec2  dFdy(vec2  p);
-vec3  dFdy(vec3  p);
-vec4  dFdy(vec4  p);
-
-float fwidth(float p);
-vec2  fwidth(vec2  p);
-vec3  fwidth(vec3  p);
-vec4  fwidth(vec4  p);
diff --git a/src/glsl/builtins/profiles/300es.glsl b/src/glsl/builtins/profiles/300es.glsl
deleted file mode 100644
index 4b7160d..0000000
--- a/src/glsl/builtins/profiles/300es.glsl
+++ /dev/null
@@ -1,749 +0,0 @@
-#version 300 es
-/*
- * 8.1 - Angle and Trigonometry Functions
- */
-float radians(float degrees);
-vec2  radians(vec2  degrees);
-vec3  radians(vec3  degrees);
-vec4  radians(vec4  degrees);
-
-float degrees(float radians);
-vec2  degrees(vec2  radians);
-vec3  degrees(vec3  radians);
-vec4  degrees(vec4  radians);
-
-float sin(float angle);
-vec2  sin(vec2  angle);
-vec3  sin(vec3  angle);
-vec4  sin(vec4  angle);
-
-float cos(float angle);
-vec2  cos(vec2  angle);
-vec3  cos(vec3  angle);
-vec4  cos(vec4  angle);
-
-float tan(float angle);
-vec2  tan(vec2  angle);
-vec3  tan(vec3  angle);
-vec4  tan(vec4  angle);
-
-float asin(float angle);
-vec2  asin(vec2  angle);
-vec3  asin(vec3  angle);
-vec4  asin(vec4  angle);
-
-float acos(float angle);
-vec2  acos(vec2  angle);
-vec3  acos(vec3  angle);
-vec4  acos(vec4  angle);
-
-float atan(float y, float x);
-vec2  atan(vec2  y, vec2  x);
-vec3  atan(vec3  y, vec3  x);
-vec4  atan(vec4  y, vec4  x);
-
-float atan(float y_over_x);
-vec2  atan(vec2  y_over_x);
-vec3  atan(vec3  y_over_x);
-vec4  atan(vec4  y_over_x);
-
-float sinh(float x);
-vec2  sinh(vec2  x);
-vec3  sinh(vec3  x);
-vec4  sinh(vec4  x);
-
-float cosh(float x);
-vec2  cosh(vec2  x);
-vec3  cosh(vec3  x);
-vec4  cosh(vec4  x);
-
-float tanh(float x);
-vec2  tanh(vec2  x);
-vec3  tanh(vec3  x);
-vec4  tanh(vec4  x);
-
-float asinh(float x);
-vec2  asinh(vec2  x);
-vec3  asinh(vec3  x);
-vec4  asinh(vec4  x);
-
-float acosh(float x);
-vec2  acosh(vec2  x);
-vec3  acosh(vec3  x);
-vec4  acosh(vec4  x);
-
-float atanh(float x);
-vec2  atanh(vec2  x);
-vec3  atanh(vec3  x);
-vec4  atanh(vec4  x);
-
-/*
- * 8.2 - Exponential Functions
- */
-float pow(float x, float y);
-vec2  pow(vec2  x, vec2  y);
-vec3  pow(vec3  x, vec3  y);
-vec4  pow(vec4  x, vec4  y);
-
-float exp(float x);
-vec2  exp(vec2  x);
-vec3  exp(vec3  x);
-vec4  exp(vec4  x);
-
-float log(float x);
-vec2  log(vec2  x);
-vec3  log(vec3  x);
-vec4  log(vec4  x);
-
-float exp2(float x);
-vec2  exp2(vec2  x);
-vec3  exp2(vec3  x);
-vec4  exp2(vec4  x);
-
-float log2(float x);
-vec2  log2(vec2  x);
-vec3  log2(vec3  x);
-vec4  log2(vec4  x);
-
-float sqrt(float x);
-vec2  sqrt(vec2  x);
-vec3  sqrt(vec3  x);
-vec4  sqrt(vec4  x);
-
-float inversesqrt(float x);
-vec2  inversesqrt(vec2  x);
-vec3  inversesqrt(vec3  x);
-vec4  inversesqrt(vec4  x);
-
-/*
- * 8.3 - Common Functions
- */
-float abs(float x);
-vec2  abs(vec2  x);
-vec3  abs(vec3  x);
-vec4  abs(vec4  x);
-int   abs(int   x);
-ivec2 abs(ivec2 x);
-ivec3 abs(ivec3 x);
-ivec4 abs(ivec4 x);
-
-float sign(float x);
-vec2  sign(vec2  x);
-vec3  sign(vec3  x);
-vec4  sign(vec4  x);
-int   sign(int   x);
-ivec2 sign(ivec2 x);
-ivec3 sign(ivec3 x);
-ivec4 sign(ivec4 x);
-
-float floor(float x);
-vec2  floor(vec2  x);
-vec3  floor(vec3  x);
-vec4  floor(vec4  x);
-
-float trunc(float x);
-vec2  trunc(vec2  x);
-vec3  trunc(vec3  x);
-vec4  trunc(vec4  x);
-
-float round(float x);
-vec2  round(vec2  x);
-vec3  round(vec3  x);
-vec4  round(vec4  x);
-
-float roundEven(float x);
-vec2  roundEven(vec2  x);
-vec3  roundEven(vec3  x);
-vec4  roundEven(vec4  x);
-
-float ceil(float x);
-vec2  ceil(vec2  x);
-vec3  ceil(vec3  x);
-vec4  ceil(vec4  x);
-
-float fract(float x);
-vec2  fract(vec2  x);
-vec3  fract(vec3  x);
-vec4  fract(vec4  x);
-
-float mod(float x, float y);
-vec2  mod(vec2  x, float y);
-vec3  mod(vec3  x, float y);
-vec4  mod(vec4  x, float y);
-
-vec2  mod(vec2  x, vec2  y);
-vec3  mod(vec3  x, vec3  y);
-vec4  mod(vec4  x, vec4  y);
-
-float modf(float x, out float i);
-vec2  modf(vec2  x, out vec2  i);
-vec3  modf(vec3  x, out vec3  i);
-vec4  modf(vec4  x, out vec4  i);
-
-float min(float x, float y);
-vec2  min(vec2  x, vec2  y);
-vec3  min(vec3  x, vec3  y);
-vec4  min(vec4  x, vec4  y);
-
-vec2  min(vec2  x, float y);
-vec3  min(vec3  x, float y);
-vec4  min(vec4  x, float y);
-
-int   min(int   x, int   y);
-ivec2 min(ivec2 x, ivec2 y);
-ivec3 min(ivec3 x, ivec3 y);
-ivec4 min(ivec4 x, ivec4 y);
-
-ivec2 min(ivec2 x, int   y);
-ivec3 min(ivec3 x, int   y);
-ivec4 min(ivec4 x, int   y);
-
-uint  min(uint  x, uint  y);
-uvec2 min(uvec2 x, uvec2 y);
-uvec3 min(uvec3 x, uvec3 y);
-uvec4 min(uvec4 x, uvec4 y);
-
-uvec2 min(uvec2 x, uint  y);
-uvec3 min(uvec3 x, uint  y);
-uvec4 min(uvec4 x, uint  y);
-
-float max(float x, float y);
-vec2  max(vec2  x, vec2  y);
-vec3  max(vec3  x, vec3  y);
-vec4  max(vec4  x, vec4  y);
-
-vec2  max(vec2  x, float y);
-vec3  max(vec3  x, float y);
-vec4  max(vec4  x, float y);
-
-int   max(int   x, int   y);
-ivec2 max(ivec2 x, ivec2 y);
-ivec3 max(ivec3 x, ivec3 y);
-ivec4 max(ivec4 x, ivec4 y);
-
-ivec2 max(ivec2 x, int   y);
-ivec3 max(ivec3 x, int   y);
-ivec4 max(ivec4 x, int   y);
-
-uint  max(uint  x, uint  y);
-uvec2 max(uvec2 x, uvec2 y);
-uvec3 max(uvec3 x, uvec3 y);
-uvec4 max(uvec4 x, uvec4 y);
-
-uvec2 max(uvec2 x, uint  y);
-uvec3 max(uvec3 x, uint  y);
-uvec4 max(uvec4 x, uint  y);
-
-float clamp(float x, float minVal, float maxVal);
-vec2  clamp(vec2  x, vec2  minVal, vec2  maxVal);
-vec3  clamp(vec3  x, vec3  minVal, vec3  maxVal);
-vec4  clamp(vec4  x, vec4  minVal, vec4  maxVal);
-
-vec2  clamp(vec2  x, float minVal, float maxVal);
-vec3  clamp(vec3  x, float minVal, float maxVal);
-vec4  clamp(vec4  x, float minVal, float maxVal);
-
-int   clamp(int   x, int   minVal, int   maxVal);
-ivec2 clamp(ivec2 x, ivec2 minVal, ivec2 maxVal);
-ivec3 clamp(ivec3 x, ivec3 minVal, ivec3 maxVal);
-ivec4 clamp(ivec4 x, ivec4 minVal, ivec4 maxVal);
-
-ivec2 clamp(ivec2 x, int   minVal, int   maxVal);
-ivec3 clamp(ivec3 x, int   minVal, int   maxVal);
-ivec4 clamp(ivec4 x, int   minVal, int   maxVal);
-
-uint  clamp(uint  x, uint  minVal, uint  maxVal);
-uvec2 clamp(uvec2 x, uvec2 minVal, uvec2 maxVal);
-uvec3 clamp(uvec3 x, uvec3 minVal, uvec3 maxVal);
-uvec4 clamp(uvec4 x, uvec4 minVal, uvec4 maxVal);
-
-uvec2 clamp(uvec2 x, uint  minVal, uint  maxVal);
-uvec3 clamp(uvec3 x, uint  minVal, uint  maxVal);
-uvec4 clamp(uvec4 x, uint  minVal, uint  maxVal);
-
-float mix(float x, float y, float a);
-vec2  mix(vec2  x, vec2  y, vec2  a);
-vec3  mix(vec3  x, vec3  y, vec3  a);
-vec4  mix(vec4  x, vec4  y, vec4  a);
-
-vec2  mix(vec2  x, vec2  y, float a);
-vec3  mix(vec3  x, vec3  y, float a);
-vec4  mix(vec4  x, vec4  y, float a);
-
-float mix(float x, float y, bool  a);
-vec2  mix(vec2  x, vec2  y, bvec2 a);
-vec3  mix(vec3  x, vec3  y, bvec3 a);
-vec4  mix(vec4  x, vec4  y, bvec4 a);
-
-float step(float edge, float x);
-vec2  step(vec2  edge, vec2  x);
-vec3  step(vec3  edge, vec3  x);
-vec4  step(vec4  edge, vec4  x);
-
-vec2  step(float edge, vec2  x);
-vec3  step(float edge, vec3  x);
-vec4  step(float edge, vec4  x);
-
-float smoothstep(float edge0, float edge1, float x);
-vec2  smoothstep(vec2  edge0, vec2  edge1, vec2  x);
-vec3  smoothstep(vec3  edge0, vec3  edge1, vec3  x);
-vec4  smoothstep(vec4  edge0, vec4  edge1, vec4  x);
-
-vec2  smoothstep(float edge0, float edge1, vec2  x);
-vec3  smoothstep(float edge0, float edge1, vec3  x);
-vec4  smoothstep(float edge0, float edge1, vec4  x);
-
-bool  isnan(float x);
-bvec2 isnan(vec2  x);
-bvec3 isnan(vec3  x);
-bvec4 isnan(vec4  x);
-
-bool  isinf(float x);
-bvec2 isinf(vec2  x);
-bvec3 isinf(vec3  x);
-bvec4 isinf(vec4  x);
-
-int   floatBitsToInt(float value);
-ivec2 floatBitsToInt(vec2  value);
-ivec3 floatBitsToInt(vec3  value);
-ivec4 floatBitsToInt(vec4  value);
-
-uint  floatBitsToUint(float value);
-uvec2 floatBitsToUint(vec2  value);
-uvec3 floatBitsToUint(vec3  value);
-uvec4 floatBitsToUint(vec4  value);
-
-float intBitsToFloat(int   value);
-vec2  intBitsToFloat(ivec2 value);
-vec3  intBitsToFloat(ivec3 value);
-vec4  intBitsToFloat(ivec4 value);
-
-float uintBitsToFloat(uint  value);
-vec2  uintBitsToFloat(uvec2 value);
-vec3  uintBitsToFloat(uvec3 value);
-vec4  uintBitsToFloat(uvec4 value);
-
-/*
- * 8.4 - Floating-Point Pack and Unpack Functions
- */
-highp   uint packSnorm2x16(        vec2 v);
-highp   uint packUnorm2x16(        vec2 v);
-highp   uint packHalf2x16 (mediump vec2 v);
-
-highp   vec2 unpackSnorm2x16(highp uint p);
-highp   vec2 unpackUnorm2x16(highp uint p);
-mediump vec2 unpackHalf2x16 (highp uint p);
-
-/*
- * 8.5 - Geometric Functions
- */
-float length(float x);
-float length(vec2  x);
-float length(vec3  x);
-float length(vec4  x);
-
-float distance(float p0, float p1);
-float distance(vec2  p0, vec2  p1);
-float distance(vec3  p0, vec3  p1);
-float distance(vec4  p0, vec4  p1);
-
-float dot(float x, float y);
-float dot(vec2  x, vec2  y);
-float dot(vec3  x, vec3  y);
-float dot(vec4  x, vec4  y);
-
-vec3 cross(vec3 x, vec3 y);
-
-float normalize(float x);
-vec2  normalize(vec2  x);
-vec3  normalize(vec3  x);
-vec4  normalize(vec4  x);
-
-float faceforward(float N, float I, float Nref);
-vec2  faceforward(vec2  N, vec2  I, vec2  Nref);
-vec3  faceforward(vec3  N, vec3  I, vec3  Nref);
-vec4  faceforward(vec4  N, vec4  I, vec4  Nref);
-
-float reflect(float I, float N);
-vec2  reflect(vec2  I, vec2  N);
-vec3  reflect(vec3  I, vec3  N);
-vec4  reflect(vec4  I, vec4  N);
-
-float refract(float I, float N, float eta);
-vec2  refract(vec2  I, vec2  N, float eta);
-vec3  refract(vec3  I, vec3  N, float eta);
-vec4  refract(vec4  I, vec4  N, float eta);
-
-/*
- * 8.6 - Matrix Functions
- */
-mat2 matrixCompMult(mat2 x, mat2 y);
-mat3 matrixCompMult(mat3 x, mat3 y);
-mat4 matrixCompMult(mat4 x, mat4 y);
-mat2x3 matrixCompMult(mat2x3 x, mat2x3 y);
-mat2x4 matrixCompMult(mat2x4 x, mat2x4 y);
-mat3x2 matrixCompMult(mat3x2 x, mat3x2 y);
-mat3x4 matrixCompMult(mat3x4 x, mat3x4 y);
-mat4x2 matrixCompMult(mat4x2 x, mat4x2 y);
-mat4x3 matrixCompMult(mat4x3 x, mat4x3 y);
-
-mat2   outerProduct(vec2 c, vec2 r);
-mat3   outerProduct(vec3 c, vec3 r);
-mat4   outerProduct(vec4 c, vec4 r);
-
-mat2x3 outerProduct(vec3 c, vec2 r);
-mat3x2 outerProduct(vec2 c, vec3 r);
-
-mat2x4 outerProduct(vec4 c, vec2 r);
-mat4x2 outerProduct(vec2 c, vec4 r);
-
-mat3x4 outerProduct(vec4 c, vec3 r);
-mat4x3 outerProduct(vec3 c, vec4 r);
-
-mat2   transpose(mat2 m);
-mat3   transpose(mat3 m);
-mat4   transpose(mat4 m);
-
-mat2x3 transpose(mat3x2 m);
-mat3x2 transpose(mat2x3 m);
-
-mat2x4 transpose(mat4x2 m);
-mat4x2 transpose(mat2x4 m);
-
-mat3x4 transpose(mat4x3 m);
-mat4x3 transpose(mat3x4 m);
-
-float determinant(mat2 m);
-float determinant(mat3 m);
-float determinant(mat4 m);
-
-mat2 inverse(mat2 m);
-mat3 inverse(mat3 m);
-mat4 inverse(mat4 m);
-
-/*
- * 8.7 - Vector Relational Functions
- */
-bvec2 lessThan( vec2 x,  vec2 y);
-bvec3 lessThan( vec3 x,  vec3 y);
-bvec4 lessThan( vec4 x,  vec4 y);
-bvec2 lessThan(ivec2 x, ivec2 y);
-bvec3 lessThan(ivec3 x, ivec3 y);
-bvec4 lessThan(ivec4 x, ivec4 y);
-bvec2 lessThan(uvec2 x, uvec2 y);
-bvec3 lessThan(uvec3 x, uvec3 y);
-bvec4 lessThan(uvec4 x, uvec4 y);
-
-bvec2 lessThanEqual( vec2 x,  vec2 y);
-bvec3 lessThanEqual( vec3 x,  vec3 y);
-bvec4 lessThanEqual( vec4 x,  vec4 y);
-bvec2 lessThanEqual(ivec2 x, ivec2 y);
-bvec3 lessThanEqual(ivec3 x, ivec3 y);
-bvec4 lessThanEqual(ivec4 x, ivec4 y);
-bvec2 lessThanEqual(uvec2 x, uvec2 y);
-bvec3 lessThanEqual(uvec3 x, uvec3 y);
-bvec4 lessThanEqual(uvec4 x, uvec4 y);
-
-bvec2 greaterThan( vec2 x,  vec2 y);
-bvec3 greaterThan( vec3 x,  vec3 y);
-bvec4 greaterThan( vec4 x,  vec4 y);
-bvec2 greaterThan(ivec2 x, ivec2 y);
-bvec3 greaterThan(ivec3 x, ivec3 y);
-bvec4 greaterThan(ivec4 x, ivec4 y);
-bvec2 greaterThan(uvec2 x, uvec2 y);
-bvec3 greaterThan(uvec3 x, uvec3 y);
-bvec4 greaterThan(uvec4 x, uvec4 y);
-
-bvec2 greaterThanEqual( vec2 x,  vec2 y);
-bvec3 greaterThanEqual( vec3 x,  vec3 y);
-bvec4 greaterThanEqual( vec4 x,  vec4 y);
-bvec2 greaterThanEqual(ivec2 x, ivec2 y);
-bvec3 greaterThanEqual(ivec3 x, ivec3 y);
-bvec4 greaterThanEqual(ivec4 x, ivec4 y);
-bvec2 greaterThanEqual(uvec2 x, uvec2 y);
-bvec3 greaterThanEqual(uvec3 x, uvec3 y);
-bvec4 greaterThanEqual(uvec4 x, uvec4 y);
-
-bvec2 equal( vec2 x,  vec2 y);
-bvec3 equal( vec3 x,  vec3 y);
-bvec4 equal( vec4 x,  vec4 y);
-bvec2 equal(ivec2 x, ivec2 y);
-bvec3 equal(ivec3 x, ivec3 y);
-bvec4 equal(ivec4 x, ivec4 y);
-bvec2 equal(uvec2 x, uvec2 y);
-bvec3 equal(uvec3 x, uvec3 y);
-bvec4 equal(uvec4 x, uvec4 y);
-bvec2 equal(bvec2 x, bvec2 y);
-bvec3 equal(bvec3 x, bvec3 y);
-bvec4 equal(bvec4 x, bvec4 y);
-
-bvec2 notEqual( vec2 x,  vec2 y);
-bvec3 notEqual( vec3 x,  vec3 y);
-bvec4 notEqual( vec4 x,  vec4 y);
-bvec2 notEqual(ivec2 x, ivec2 y);
-bvec3 notEqual(ivec3 x, ivec3 y);
-bvec4 notEqual(ivec4 x, ivec4 y);
-bvec2 notEqual(uvec2 x, uvec2 y);
-bvec3 notEqual(uvec3 x, uvec3 y);
-bvec4 notEqual(uvec4 x, uvec4 y);
-bvec2 notEqual(bvec2 x, bvec2 y);
-bvec3 notEqual(bvec3 x, bvec3 y);
-bvec4 notEqual(bvec4 x, bvec4 y);
-
-bool any(bvec2 x);
-bool any(bvec3 x);
-bool any(bvec4 x);
-
-bool all(bvec2 x);
-bool all(bvec3 x);
-bool all(bvec4 x);
-
-bvec2 not(bvec2 x);
-bvec3 not(bvec3 x);
-bvec4 not(bvec4 x);
-
-/*
- * 8.8 - Texture Lookup Functions
- */
-
-/* textureSize */
-ivec2 textureSize( sampler2D sampler, int lod);
-ivec2 textureSize(isampler2D sampler, int lod);
-ivec2 textureSize(usampler2D sampler, int lod);
-
-ivec3 textureSize( sampler3D sampler, int lod);
-ivec3 textureSize(isampler3D sampler, int lod);
-ivec3 textureSize(usampler3D sampler, int lod);
-
-ivec2 textureSize( samplerCube sampler, int lod);
-ivec2 textureSize(isamplerCube sampler, int lod);
-ivec2 textureSize(usamplerCube sampler, int lod);
-
-ivec2 textureSize(sampler2DShadow   sampler, int lod);
-ivec2 textureSize(samplerCubeShadow sampler, int lod);
-
-ivec3 textureSize( sampler2DArray sampler, int lod);
-ivec3 textureSize(isampler2DArray sampler, int lod);
-ivec3 textureSize(usampler2DArray sampler, int lod);
-
-ivec3 textureSize(sampler2DArrayShadow sampler, int lod);
-
-/* texture - no bias */
- vec4 texture( sampler2D sampler, vec2 P);
-ivec4 texture(isampler2D sampler, vec2 P);
-uvec4 texture(usampler2D sampler, vec2 P);
-
- vec4 texture( sampler3D sampler, vec3 P);
-ivec4 texture(isampler3D sampler, vec3 P);
-uvec4 texture(usampler3D sampler, vec3 P);
-
- vec4 texture( samplerCube sampler, vec3 P);
-ivec4 texture(isamplerCube sampler, vec3 P);
-uvec4 texture(usamplerCube sampler, vec3 P);
-
-float texture(sampler2DShadow   sampler, vec3 P);
-float texture(samplerCubeShadow sampler, vec4 P);
-
- vec4 texture( sampler2DArray sampler, vec3 P);
-ivec4 texture(isampler2DArray sampler, vec3 P);
-uvec4 texture(usampler2DArray sampler, vec3 P);
-
-float texture(sampler2DArrayShadow sampler, vec4 P);
-
-/* textureProj - no bias */
- vec4 textureProj( sampler2D sampler, vec3 P);
-ivec4 textureProj(isampler2D sampler, vec3 P);
-uvec4 textureProj(usampler2D sampler, vec3 P);
- vec4 textureProj( sampler2D sampler, vec4 P);
-ivec4 textureProj(isampler2D sampler, vec4 P);
-uvec4 textureProj(usampler2D sampler, vec4 P);
-
- vec4 textureProj( sampler3D sampler, vec4 P);
-ivec4 textureProj(isampler3D sampler, vec4 P);
-uvec4 textureProj(usampler3D sampler, vec4 P);
-
-float textureProj(sampler2DShadow sampler, vec4 P);
-
-/* textureLod */
- vec4 textureLod( sampler2D sampler, vec2 P, float lod);
-ivec4 textureLod(isampler2D sampler, vec2 P, float lod);
-uvec4 textureLod(usampler2D sampler, vec2 P, float lod);
-
- vec4 textureLod( sampler3D sampler, vec3 P, float lod);
-ivec4 textureLod(isampler3D sampler, vec3 P, float lod);
-uvec4 textureLod(usampler3D sampler, vec3 P, float lod);
-
- vec4 textureLod( samplerCube sampler, vec3 P, float lod);
-ivec4 textureLod(isamplerCube sampler, vec3 P, float lod);
-uvec4 textureLod(usamplerCube sampler, vec3 P, float lod);
-
-float textureLod(sampler2DShadow sampler, vec3 P, float lod);
-
- vec4 textureLod( sampler2DArray sampler, vec3 P, float lod);
-ivec4 textureLod(isampler2DArray sampler, vec3 P, float lod);
-uvec4 textureLod(usampler2DArray sampler, vec3 P, float lod);
-
-/* textureOffset - no bias */
- vec4 textureOffset( sampler2D sampler, vec2 P, ivec2 offset);
-ivec4 textureOffset(isampler2D sampler, vec2 P, ivec2 offset);
-uvec4 textureOffset(usampler2D sampler, vec2 P, ivec2 offset);
-
- vec4 textureOffset( sampler3D sampler, vec3 P, ivec3 offset);
-ivec4 textureOffset(isampler3D sampler, vec3 P, ivec3 offset);
-uvec4 textureOffset(usampler3D sampler, vec3 P, ivec3 offset);
-
-float textureOffset(sampler2DShadow sampler, vec3 P, ivec2 offset);
-
- vec4 textureOffset( sampler2DArray sampler, vec3 P, ivec2 offset);
-ivec4 textureOffset(isampler2DArray sampler, vec3 P, ivec2 offset);
-uvec4 textureOffset(usampler2DArray sampler, vec3 P, ivec2 offset);
-
-/* texelFetch */
- vec4 texelFetch( sampler2D sampler, ivec2 P, int lod);
-ivec4 texelFetch(isampler2D sampler, ivec2 P, int lod);
-uvec4 texelFetch(usampler2D sampler, ivec2 P, int lod);
-
- vec4 texelFetch( sampler3D sampler, ivec3 P, int lod);
-ivec4 texelFetch(isampler3D sampler, ivec3 P, int lod);
-uvec4 texelFetch(usampler3D sampler, ivec3 P, int lod);
-
- vec4 texelFetch( sampler2DArray sampler, ivec3 P, int lod);
-ivec4 texelFetch(isampler2DArray sampler, ivec3 P, int lod);
-uvec4 texelFetch(usampler2DArray sampler, ivec3 P, int lod);
-
-/* texelFetchOffset */
- vec4 texelFetchOffset( sampler2D sampler, ivec2 P, int lod, ivec2 offset);
-ivec4 texelFetchOffset(isampler2D sampler, ivec2 P, int lod, ivec2 offset);
-uvec4 texelFetchOffset(usampler2D sampler, ivec2 P, int lod, ivec2 offset);
-
- vec4 texelFetchOffset( sampler3D sampler, ivec3 P, int lod, ivec3 offset);
-ivec4 texelFetchOffset(isampler3D sampler, ivec3 P, int lod, ivec3 offset);
-uvec4 texelFetchOffset(usampler3D sampler, ivec3 P, int lod, ivec3 offset);
-
- vec4 texelFetchOffset( sampler2DArray sampler, ivec3 P, int lod, ivec2 offset);
-ivec4 texelFetchOffset(isampler2DArray sampler, ivec3 P, int lod, ivec2 offset);
-uvec4 texelFetchOffset(usampler2DArray sampler, ivec3 P, int lod, ivec2 offset);
-
-/* textureProjOffset - no bias */
- vec4 textureProjOffset( sampler2D sampler, vec3 P, ivec2 offset);
-ivec4 textureProjOffset(isampler2D sampler, vec3 P, ivec2 offset);
-uvec4 textureProjOffset(usampler2D sampler, vec3 P, ivec2 offset);
- vec4 textureProjOffset( sampler2D sampler, vec4 P, ivec2 offset);
-ivec4 textureProjOffset(isampler2D sampler, vec4 P, ivec2 offset);
-uvec4 textureProjOffset(usampler2D sampler, vec4 P, ivec2 offset);
-
- vec4 textureProjOffset( sampler3D sampler, vec4 P, ivec3 offset);
-ivec4 textureProjOffset(isampler3D sampler, vec4 P, ivec3 offset);
-uvec4 textureProjOffset(usampler3D sampler, vec4 P, ivec3 offset);
-
-float textureProjOffset(sampler2DShadow sampler, vec4 P, ivec2 offset);
-
-/* textureLodOffset */
- vec4 textureLodOffset( sampler2D sampler, vec2 P, float lod, ivec2 offset);
-ivec4 textureLodOffset(isampler2D sampler, vec2 P, float lod, ivec2 offset);
-uvec4 textureLodOffset(usampler2D sampler, vec2 P, float lod, ivec2 offset);
-
- vec4 textureLodOffset( sampler3D sampler, vec3 P, float lod, ivec3 offset);
-ivec4 textureLodOffset(isampler3D sampler, vec3 P, float lod, ivec3 offset);
-uvec4 textureLodOffset(usampler3D sampler, vec3 P, float lod, ivec3 offset);
-
-float textureLodOffset(sampler2DShadow samp, vec3 P, float lod, ivec2 offset);
-
- vec4 textureLodOffset( sampler2DArray samp, vec3 P, float lod, ivec2 offset);
-ivec4 textureLodOffset(isampler2DArray samp, vec3 P, float lod, ivec2 offset);
-uvec4 textureLodOffset(usampler2DArray samp, vec3 P, float lod, ivec2 offset);
-
-/* textureProjLod */
- vec4 textureProjLod( sampler2D sampler, vec3 P, float lod);
-ivec4 textureProjLod(isampler2D sampler, vec3 P, float lod);
-uvec4 textureProjLod(usampler2D sampler, vec3 P, float lod);
- vec4 textureProjLod( sampler2D sampler, vec4 P, float lod);
-ivec4 textureProjLod(isampler2D sampler, vec4 P, float lod);
-uvec4 textureProjLod(usampler2D sampler, vec4 P, float lod);
-
- vec4 textureProjLod( sampler3D sampler, vec4 P, float lod);
-ivec4 textureProjLod(isampler3D sampler, vec4 P, float lod);
-uvec4 textureProjLod(usampler3D sampler, vec4 P, float lod);
-
-float textureProjLod(sampler2DShadow sampler, vec4 P, float lod);
-
-/* textureProjLodOffset */
- vec4 textureProjLodOffset( sampler2D sampler, vec3 P, float lod, ivec2 offset);
-ivec4 textureProjLodOffset(isampler2D sampler, vec3 P, float lod, ivec2 offset);
-uvec4 textureProjLodOffset(usampler2D sampler, vec3 P, float lod, ivec2 offset);
- vec4 textureProjLodOffset( sampler2D sampler, vec4 P, float lod, ivec2 offset);
-ivec4 textureProjLodOffset(isampler2D sampler, vec4 P, float lod, ivec2 offset);
-uvec4 textureProjLodOffset(usampler2D sampler, vec4 P, float lod, ivec2 offset);
-
- vec4 textureProjLodOffset( sampler3D sampler, vec4 P, float lod, ivec3 offset);
-ivec4 textureProjLodOffset(isampler3D sampler, vec4 P, float lod, ivec3 offset);
-uvec4 textureProjLodOffset(usampler3D sampler, vec4 P, float lod, ivec3 offset);
-
-float textureProjLodOffset(sampler2DShadow s, vec4 P, float lod, ivec2 offset);
-
-/* textureGrad */
- vec4 textureGrad( sampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy);
-ivec4 textureGrad(isampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy);
-uvec4 textureGrad(usampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy);
-
- vec4 textureGrad( sampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy);
-ivec4 textureGrad(isampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy);
-uvec4 textureGrad(usampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy);
-
- vec4 textureGrad( samplerCube sampler, vec3 P, vec3 dPdx, vec3 dPdy);
-ivec4 textureGrad(isamplerCube sampler, vec3 P, vec3 dPdx, vec3 dPdy);
-uvec4 textureGrad(usamplerCube sampler, vec3 P, vec3 dPdx, vec3 dPdy);
-
-float textureGrad(sampler2DShadow   sampler, vec3 P, vec2  dPdx, vec2  dPdy);
-float textureGrad(samplerCubeShadow sampler, vec4 P, vec3  dPdx, vec3  dPdy);
-
- vec4 textureGrad( sampler2DArray sampler, vec3 P, vec2 dPdx, vec2 dPdy);
-ivec4 textureGrad(isampler2DArray sampler, vec3 P, vec2 dPdx, vec2 dPdy);
-uvec4 textureGrad(usampler2DArray sampler, vec3 P, vec2 dPdx, vec2 dPdy);
-
-float textureGrad(sampler2DArrayShadow sampler, vec4 P, vec2  dPdx, vec2  dPdy);
-
-/* textureGradOffset */
- vec4 textureGradOffset( sampler2D s, vec2 P, vec2 dx, vec2 dy, ivec2 offset);
-ivec4 textureGradOffset(isampler2D s, vec2 P, vec2 dx, vec2 dy, ivec2 offset);
-uvec4 textureGradOffset(usampler2D s, vec2 P, vec2 dx, vec2 dy, ivec2 offset);
-
- vec4 textureGradOffset( sampler3D s, vec3 P, vec3 dx, vec3 dy, ivec3 offset);
-ivec4 textureGradOffset(isampler3D s, vec3 P, vec3 dx, vec3 dy, ivec3 offset);
-uvec4 textureGradOffset(usampler3D s, vec3 P, vec3 dx, vec3 dy, ivec3 offset);
-
-float textureGradOffset(sampler2DShadow s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
-
- vec4 textureGradOffset( sampler2DArray s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
-ivec4 textureGradOffset(isampler2DArray s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
-uvec4 textureGradOffset(usampler2DArray s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
-
-float textureGradOffset(sampler2DArrayShadow s, vec4 P, vec2 dx, vec2 dy, ivec2 o);
-
-/* textureProjGrad */
- vec4 textureProjGrad( sampler2D sampler, vec3 P, vec2 dPdx, vec2 dPdy);
-ivec4 textureProjGrad(isampler2D sampler, vec3 P, vec2 dPdx, vec2 dPdy);
-uvec4 textureProjGrad(usampler2D sampler, vec3 P, vec2 dPdx, vec2 dPdy);
- vec4 textureProjGrad( sampler2D sampler, vec4 P, vec2 dPdx, vec2 dPdy);
-ivec4 textureProjGrad(isampler2D sampler, vec4 P, vec2 dPdx, vec2 dPdy);
-uvec4 textureProjGrad(usampler2D sampler, vec4 P, vec2 dPdx, vec2 dPdy);
-
- vec4 textureProjGrad( sampler3D sampler, vec4 P, vec3 dPdx, vec3 dPdy);
-ivec4 textureProjGrad(isampler3D sampler, vec4 P, vec3 dPdx, vec3 dPdy);
-uvec4 textureProjGrad(usampler3D sampler, vec4 P, vec3 dPdx, vec3 dPdy);
-
-float textureProjGrad(sampler2DShadow sampler, vec4 P, vec2  dPdx, vec2  dPdy);
-
-/* textureProjGradOffset */
- vec4 textureProjGradOffset( sampler2D s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
-ivec4 textureProjGradOffset(isampler2D s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
-uvec4 textureProjGradOffset(usampler2D s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
- vec4 textureProjGradOffset( sampler2D s, vec4 P, vec2 dx, vec2 dy, ivec2 off);
-ivec4 textureProjGradOffset(isampler2D s, vec4 P, vec2 dx, vec2 dy, ivec2 off);
-uvec4 textureProjGradOffset(usampler2D s, vec4 P, vec2 dx, vec2 dy, ivec2 off);
-
- vec4 textureProjGradOffset( sampler3D s, vec4 P, vec3 dx, vec3 dy, ivec3 off);
-ivec4 textureProjGradOffset(isampler3D s, vec4 P, vec3 dx, vec3 dy, ivec3 off);
-uvec4 textureProjGradOffset(usampler3D s, vec4 P, vec3 dx, vec3 dy, ivec3 off);
-
-float textureProjGradOffset(sampler2DShadow s, vec4 P, vec2 dx, vec2 dy, ivec2 o);
diff --git a/src/glsl/builtins/profiles/330.frag b/src/glsl/builtins/profiles/330.frag
deleted file mode 100644
index 224854b..0000000
--- a/src/glsl/builtins/profiles/330.frag
+++ /dev/null
@@ -1,140 +0,0 @@
-#version 330
-/* texture - bias variants */
- vec4 texture( sampler1D sampler, float P, float bias);
-ivec4 texture(isampler1D sampler, float P, float bias);
-uvec4 texture(usampler1D sampler, float P, float bias);
-
- vec4 texture( sampler2D sampler, vec2 P, float bias);
-ivec4 texture(isampler2D sampler, vec2 P, float bias);
-uvec4 texture(usampler2D sampler, vec2 P, float bias);
-
- vec4 texture( sampler3D sampler, vec3 P, float bias);
-ivec4 texture(isampler3D sampler, vec3 P, float bias);
-uvec4 texture(usampler3D sampler, vec3 P, float bias);
-
- vec4 texture( samplerCube sampler, vec3 P, float bias);
-ivec4 texture(isamplerCube sampler, vec3 P, float bias);
-uvec4 texture(usamplerCube sampler, vec3 P, float bias);
-
-float texture(sampler1DShadow   sampler, vec3 P, float bias);
-float texture(sampler2DShadow   sampler, vec3 P, float bias);
-float texture(samplerCubeShadow sampler, vec4 P, float bias);
-
- vec4 texture( sampler1DArray sampler, vec2 P, float bias);
-ivec4 texture(isampler1DArray sampler, vec2 P, float bias);
-uvec4 texture(usampler1DArray sampler, vec2 P, float bias);
-
- vec4 texture( sampler2DArray sampler, vec3 P, float bias);
-ivec4 texture(isampler2DArray sampler, vec3 P, float bias);
-uvec4 texture(usampler2DArray sampler, vec3 P, float bias);
-
-float texture(sampler1DArrayShadow sampler, vec3 P, float bias);
-
-/* textureProj - bias variants */
- vec4 textureProj( sampler1D sampler, vec2 P, float bias);
-ivec4 textureProj(isampler1D sampler, vec2 P, float bias);
-uvec4 textureProj(usampler1D sampler, vec2 P, float bias);
- vec4 textureProj( sampler1D sampler, vec4 P, float bias);
-ivec4 textureProj(isampler1D sampler, vec4 P, float bias);
-uvec4 textureProj(usampler1D sampler, vec4 P, float bias);
-
- vec4 textureProj( sampler2D sampler, vec3 P, float bias);
-ivec4 textureProj(isampler2D sampler, vec3 P, float bias);
-uvec4 textureProj(usampler2D sampler, vec3 P, float bias);
- vec4 textureProj( sampler2D sampler, vec4 P, float bias);
-ivec4 textureProj(isampler2D sampler, vec4 P, float bias);
-uvec4 textureProj(usampler2D sampler, vec4 P, float bias);
-
- vec4 textureProj( sampler3D sampler, vec4 P, float bias);
-ivec4 textureProj(isampler3D sampler, vec4 P, float bias);
-uvec4 textureProj(usampler3D sampler, vec4 P, float bias);
-
-float textureProj(sampler1DShadow sampler, vec4 P, float bias);
-float textureProj(sampler2DShadow sampler, vec4 P, float bias);
-
-/* textureOffset - bias variants */
- vec4 textureOffset( sampler1D sampler, float P, int offset, float bias);
-ivec4 textureOffset(isampler1D sampler, float P, int offset, float bias);
-uvec4 textureOffset(usampler1D sampler, float P, int offset, float bias);
-
- vec4 textureOffset( sampler2D sampler, vec2 P, ivec2 offset, float bias);
-ivec4 textureOffset(isampler2D sampler, vec2 P, ivec2 offset, float bias);
-uvec4 textureOffset(usampler2D sampler, vec2 P, ivec2 offset, float bias);
-
- vec4 textureOffset( sampler3D sampler, vec3 P, ivec3 offset, float bias);
-ivec4 textureOffset(isampler3D sampler, vec3 P, ivec3 offset, float bias);
-uvec4 textureOffset(usampler3D sampler, vec3 P, ivec3 offset, float bias);
-
-float textureOffset(sampler1DShadow sampler, vec3 P, int offset, float bias);
-float textureOffset(sampler2DShadow sampler, vec3 P, ivec2 offset, float bias);
-
- vec4 textureOffset( sampler1DArray sampler, vec2 P, int offset, float bias);
-ivec4 textureOffset(isampler1DArray sampler, vec2 P, int offset, float bias);
-uvec4 textureOffset(usampler1DArray sampler, vec2 P, int offset, float bias);
-
- vec4 textureOffset( sampler2DArray sampler, vec3 P, ivec2 offset, float bias);
-ivec4 textureOffset(isampler2DArray sampler, vec3 P, ivec2 offset, float bias);
-uvec4 textureOffset(usampler2DArray sampler, vec3 P, ivec2 offset, float bias);
-
-float textureOffset(sampler1DArrayShadow samp, vec3 P, int offset, float bias);
-
-/* textureProjOffsetOffset - bias variants */
- vec4 textureProjOffset( sampler1D sampler, vec2 P, int offset, float bias);
-ivec4 textureProjOffset(isampler1D sampler, vec2 P, int offset, float bias);
-uvec4 textureProjOffset(usampler1D sampler, vec2 P, int offset, float bias);
- vec4 textureProjOffset( sampler1D sampler, vec4 P, int offset, float bias);
-ivec4 textureProjOffset(isampler1D sampler, vec4 P, int offset, float bias);
-uvec4 textureProjOffset(usampler1D sampler, vec4 P, int offset, float bias);
-
- vec4 textureProjOffset( sampler2D sampler, vec3 P, ivec2 offset, float bias);
-ivec4 textureProjOffset(isampler2D sampler, vec3 P, ivec2 offset, float bias);
-uvec4 textureProjOffset(usampler2D sampler, vec3 P, ivec2 offset, float bias);
- vec4 textureProjOffset( sampler2D sampler, vec4 P, ivec2 offset, float bias);
-ivec4 textureProjOffset(isampler2D sampler, vec4 P, ivec2 offset, float bias);
-uvec4 textureProjOffset(usampler2D sampler, vec4 P, ivec2 offset, float bias);
-
- vec4 textureProjOffset( sampler3D sampler, vec4 P, ivec3 offset, float bias);
-ivec4 textureProjOffset(isampler3D sampler, vec4 P, ivec3 offset, float bias);
-uvec4 textureProjOffset(usampler3D sampler, vec4 P, ivec3 offset, float bias);
-
-float textureProjOffset(sampler1DShadow s, vec4 P, int offset, float bias);
-float textureProjOffset(sampler2DShadow s, vec4 P, ivec2 offset, float bias);
-
-/*
- * The following texture functions are deprecated:
- */
-vec4 texture1D       (sampler1D sampler, float coord, float bias);
-vec4 texture1DProj   (sampler1D sampler, vec2  coord, float bias);
-vec4 texture1DProj   (sampler1D sampler, vec4  coord, float bias);
-
-vec4 texture2D       (sampler2D sampler, vec2 coord, float bias);
-vec4 texture2DProj   (sampler2D sampler, vec3 coord, float bias);
-vec4 texture2DProj   (sampler2D sampler, vec4 coord, float bias);
-
-vec4 texture3D       (sampler3D sampler, vec3 coord, float bias);
-vec4 texture3DProj   (sampler3D sampler, vec4 coord, float bias);
-
-vec4 textureCube     (samplerCube sampler, vec3 coord, float bias);
-
-vec4 shadow1D       (sampler1DShadow sampler, vec3 coord, float bias);
-vec4 shadow2D       (sampler2DShadow sampler, vec3 coord, float bias);
-vec4 shadow1DProj   (sampler1DShadow sampler, vec4 coord, float bias);
-vec4 shadow2DProj   (sampler2DShadow sampler, vec4 coord, float bias);
-
-/*
- * 8.8 - Fragment Processing Functions
- */
-float dFdx(float p);
-vec2  dFdx(vec2  p);
-vec3  dFdx(vec3  p);
-vec4  dFdx(vec4  p);
-
-float dFdy(float p);
-vec2  dFdy(vec2  p);
-vec3  dFdy(vec3  p);
-vec4  dFdy(vec4  p);
-
-float fwidth(float p);
-vec2  fwidth(vec2  p);
-vec3  fwidth(vec3  p);
-vec4  fwidth(vec4  p);
diff --git a/src/glsl/builtins/profiles/330.glsl b/src/glsl/builtins/profiles/330.glsl
deleted file mode 100644
index 8f63897..0000000
--- a/src/glsl/builtins/profiles/330.glsl
+++ /dev/null
@@ -1,1029 +0,0 @@
-#version 330
-/*
- * 8.1 - Angle and Trigonometry Functions
- */
-float radians(float degrees);
-vec2  radians(vec2  degrees);
-vec3  radians(vec3  degrees);
-vec4  radians(vec4  degrees);
-
-float degrees(float radians);
-vec2  degrees(vec2  radians);
-vec3  degrees(vec3  radians);
-vec4  degrees(vec4  radians);
-
-float sin(float angle);
-vec2  sin(vec2  angle);
-vec3  sin(vec3  angle);
-vec4  sin(vec4  angle);
-
-float cos(float angle);
-vec2  cos(vec2  angle);
-vec3  cos(vec3  angle);
-vec4  cos(vec4  angle);
-
-float tan(float angle);
-vec2  tan(vec2  angle);
-vec3  tan(vec3  angle);
-vec4  tan(vec4  angle);
-
-float asin(float angle);
-vec2  asin(vec2  angle);
-vec3  asin(vec3  angle);
-vec4  asin(vec4  angle);
-
-float acos(float angle);
-vec2  acos(vec2  angle);
-vec3  acos(vec3  angle);
-vec4  acos(vec4  angle);
-
-float atan(float y, float x);
-vec2  atan(vec2  y, vec2  x);
-vec3  atan(vec3  y, vec3  x);
-vec4  atan(vec4  y, vec4  x);
-
-float atan(float y_over_x);
-vec2  atan(vec2  y_over_x);
-vec3  atan(vec3  y_over_x);
-vec4  atan(vec4  y_over_x);
-
-float sinh(float x);
-vec2  sinh(vec2  x);
-vec3  sinh(vec3  x);
-vec4  sinh(vec4  x);
-
-float cosh(float x);
-vec2  cosh(vec2  x);
-vec3  cosh(vec3  x);
-vec4  cosh(vec4  x);
-
-float tanh(float x);
-vec2  tanh(vec2  x);
-vec3  tanh(vec3  x);
-vec4  tanh(vec4  x);
-
-float asinh(float x);
-vec2  asinh(vec2  x);
-vec3  asinh(vec3  x);
-vec4  asinh(vec4  x);
-
-float acosh(float x);
-vec2  acosh(vec2  x);
-vec3  acosh(vec3  x);
-vec4  acosh(vec4  x);
-
-float atanh(float x);
-vec2  atanh(vec2  x);
-vec3  atanh(vec3  x);
-vec4  atanh(vec4  x);
-
-/*
- * 8.2 - Exponential Functions
- */
-float pow(float x, float y);
-vec2  pow(vec2  x, vec2  y);
-vec3  pow(vec3  x, vec3  y);
-vec4  pow(vec4  x, vec4  y);
-
-float exp(float x);
-vec2  exp(vec2  x);
-vec3  exp(vec3  x);
-vec4  exp(vec4  x);
-
-float log(float x);
-vec2  log(vec2  x);
-vec3  log(vec3  x);
-vec4  log(vec4  x);
-
-float exp2(float x);
-vec2  exp2(vec2  x);
-vec3  exp2(vec3  x);
-vec4  exp2(vec4  x);
-
-float log2(float x);
-vec2  log2(vec2  x);
-vec3  log2(vec3  x);
-vec4  log2(vec4  x);
-
-float sqrt(float x);
-vec2  sqrt(vec2  x);
-vec3  sqrt(vec3  x);
-vec4  sqrt(vec4  x);
-
-float inversesqrt(float x);
-vec2  inversesqrt(vec2  x);
-vec3  inversesqrt(vec3  x);
-vec4  inversesqrt(vec4  x);
-
-/*
- * 8.3 - Common Functions
- */
-float abs(float x);
-vec2  abs(vec2  x);
-vec3  abs(vec3  x);
-vec4  abs(vec4  x);
-int   abs(int   x);
-ivec2 abs(ivec2 x);
-ivec3 abs(ivec3 x);
-ivec4 abs(ivec4 x);
-
-float sign(float x);
-vec2  sign(vec2  x);
-vec3  sign(vec3  x);
-vec4  sign(vec4  x);
-int   sign(int   x);
-ivec2 sign(ivec2 x);
-ivec3 sign(ivec3 x);
-ivec4 sign(ivec4 x);
-
-float floor(float x);
-vec2  floor(vec2  x);
-vec3  floor(vec3  x);
-vec4  floor(vec4  x);
-
-float trunc(float x);
-vec2  trunc(vec2  x);
-vec3  trunc(vec3  x);
-vec4  trunc(vec4  x);
-
-float round(float x);
-vec2  round(vec2  x);
-vec3  round(vec3  x);
-vec4  round(vec4  x);
-
-float roundEven(float x);
-vec2  roundEven(vec2  x);
-vec3  roundEven(vec3  x);
-vec4  roundEven(vec4  x);
-
-float ceil(float x);
-vec2  ceil(vec2  x);
-vec3  ceil(vec3  x);
-vec4  ceil(vec4  x);
-
-float fract(float x);
-vec2  fract(vec2  x);
-vec3  fract(vec3  x);
-vec4  fract(vec4  x);
-
-float mod(float x, float y);
-vec2  mod(vec2  x, float y);
-vec3  mod(vec3  x, float y);
-vec4  mod(vec4  x, float y);
-
-vec2  mod(vec2  x, vec2  y);
-vec3  mod(vec3  x, vec3  y);
-vec4  mod(vec4  x, vec4  y);
-
-float modf(float x, out float i);
-vec2  modf(vec2  x, out vec2  i);
-vec3  modf(vec3  x, out vec3  i);
-vec4  modf(vec4  x, out vec4  i);
-
-float min(float x, float y);
-vec2  min(vec2  x, vec2  y);
-vec3  min(vec3  x, vec3  y);
-vec4  min(vec4  x, vec4  y);
-
-vec2  min(vec2  x, float y);
-vec3  min(vec3  x, float y);
-vec4  min(vec4  x, float y);
-
-int   min(int   x, int   y);
-ivec2 min(ivec2 x, ivec2 y);
-ivec3 min(ivec3 x, ivec3 y);
-ivec4 min(ivec4 x, ivec4 y);
-
-ivec2 min(ivec2 x, int   y);
-ivec3 min(ivec3 x, int   y);
-ivec4 min(ivec4 x, int   y);
-
-uint  min(uint  x, uint  y);
-uvec2 min(uvec2 x, uvec2 y);
-uvec3 min(uvec3 x, uvec3 y);
-uvec4 min(uvec4 x, uvec4 y);
-
-uvec2 min(uvec2 x, uint  y);
-uvec3 min(uvec3 x, uint  y);
-uvec4 min(uvec4 x, uint  y);
-
-float max(float x, float y);
-vec2  max(vec2  x, vec2  y);
-vec3  max(vec3  x, vec3  y);
-vec4  max(vec4  x, vec4  y);
-
-vec2  max(vec2  x, float y);
-vec3  max(vec3  x, float y);
-vec4  max(vec4  x, float y);
-
-int   max(int   x, int   y);
-ivec2 max(ivec2 x, ivec2 y);
-ivec3 max(ivec3 x, ivec3 y);
-ivec4 max(ivec4 x, ivec4 y);
-
-ivec2 max(ivec2 x, int   y);
-ivec3 max(ivec3 x, int   y);
-ivec4 max(ivec4 x, int   y);
-
-uint  max(uint  x, uint  y);
-uvec2 max(uvec2 x, uvec2 y);
-uvec3 max(uvec3 x, uvec3 y);
-uvec4 max(uvec4 x, uvec4 y);
-
-uvec2 max(uvec2 x, uint  y);
-uvec3 max(uvec3 x, uint  y);
-uvec4 max(uvec4 x, uint  y);
-
-float clamp(float x, float minVal, float maxVal);
-vec2  clamp(vec2  x, vec2  minVal, vec2  maxVal);
-vec3  clamp(vec3  x, vec3  minVal, vec3  maxVal);
-vec4  clamp(vec4  x, vec4  minVal, vec4  maxVal);
-
-vec2  clamp(vec2  x, float minVal, float maxVal);
-vec3  clamp(vec3  x, float minVal, float maxVal);
-vec4  clamp(vec4  x, float minVal, float maxVal);
-
-int   clamp(int   x, int   minVal, int   maxVal);
-ivec2 clamp(ivec2 x, ivec2 minVal, ivec2 maxVal);
-ivec3 clamp(ivec3 x, ivec3 minVal, ivec3 maxVal);
-ivec4 clamp(ivec4 x, ivec4 minVal, ivec4 maxVal);
-
-ivec2 clamp(ivec2 x, int   minVal, int   maxVal);
-ivec3 clamp(ivec3 x, int   minVal, int   maxVal);
-ivec4 clamp(ivec4 x, int   minVal, int   maxVal);
-
-uint  clamp(uint  x, uint  minVal, uint  maxVal);
-uvec2 clamp(uvec2 x, uvec2 minVal, uvec2 maxVal);
-uvec3 clamp(uvec3 x, uvec3 minVal, uvec3 maxVal);
-uvec4 clamp(uvec4 x, uvec4 minVal, uvec4 maxVal);
-
-uvec2 clamp(uvec2 x, uint  minVal, uint  maxVal);
-uvec3 clamp(uvec3 x, uint  minVal, uint  maxVal);
-uvec4 clamp(uvec4 x, uint  minVal, uint  maxVal);
-
-float mix(float x, float y, float a);
-vec2  mix(vec2  x, vec2  y, vec2  a);
-vec3  mix(vec3  x, vec3  y, vec3  a);
-vec4  mix(vec4  x, vec4  y, vec4  a);
-
-vec2  mix(vec2  x, vec2  y, float a);
-vec3  mix(vec3  x, vec3  y, float a);
-vec4  mix(vec4  x, vec4  y, float a);
-
-float mix(float x, float y, bool  a);
-vec2  mix(vec2  x, vec2  y, bvec2 a);
-vec3  mix(vec3  x, vec3  y, bvec3 a);
-vec4  mix(vec4  x, vec4  y, bvec4 a);
-
-float step(float edge, float x);
-vec2  step(vec2  edge, vec2  x);
-vec3  step(vec3  edge, vec3  x);
-vec4  step(vec4  edge, vec4  x);
-
-vec2  step(float edge, vec2  x);
-vec3  step(float edge, vec3  x);
-vec4  step(float edge, vec4  x);
-
-float smoothstep(float edge0, float edge1, float x);
-vec2  smoothstep(vec2  edge0, vec2  edge1, vec2  x);
-vec3  smoothstep(vec3  edge0, vec3  edge1, vec3  x);
-vec4  smoothstep(vec4  edge0, vec4  edge1, vec4  x);
-
-vec2  smoothstep(float edge0, float edge1, vec2  x);
-vec3  smoothstep(float edge0, float edge1, vec3  x);
-vec4  smoothstep(float edge0, float edge1, vec4  x);
-
-bool  isnan(float x);
-bvec2 isnan(vec2  x);
-bvec3 isnan(vec3  x);
-bvec4 isnan(vec4  x);
-
-bool  isinf(float x);
-bvec2 isinf(vec2  x);
-bvec3 isinf(vec3  x);
-bvec4 isinf(vec4  x);
-
-int   floatBitsToInt(float value);
-ivec2 floatBitsToInt(vec2  value);
-ivec3 floatBitsToInt(vec3  value);
-ivec4 floatBitsToInt(vec4  value);
-
-uint  floatBitsToUint(float value);
-uvec2 floatBitsToUint(vec2  value);
-uvec3 floatBitsToUint(vec3  value);
-uvec4 floatBitsToUint(vec4  value);
-
-float intBitsToFloat(int   value);
-vec2  intBitsToFloat(ivec2 value);
-vec3  intBitsToFloat(ivec3 value);
-vec4  intBitsToFloat(ivec4 value);
-
-float uintBitsToFloat(uint  value);
-vec2  uintBitsToFloat(uvec2 value);
-vec3  uintBitsToFloat(uvec3 value);
-vec4  uintBitsToFloat(uvec4 value);
-
-/*
- * 8.4 - Geometric Functions
- */
-float length(float x);
-float length(vec2  x);
-float length(vec3  x);
-float length(vec4  x);
-
-float distance(float p0, float p1);
-float distance(vec2  p0, vec2  p1);
-float distance(vec3  p0, vec3  p1);
-float distance(vec4  p0, vec4  p1);
-
-float dot(float x, float y);
-float dot(vec2  x, vec2  y);
-float dot(vec3  x, vec3  y);
-float dot(vec4  x, vec4  y);
-
-vec3 cross(vec3 x, vec3 y);
-
-float normalize(float x);
-vec2  normalize(vec2  x);
-vec3  normalize(vec3  x);
-vec4  normalize(vec4  x);
-
-float faceforward(float N, float I, float Nref);
-vec2  faceforward(vec2  N, vec2  I, vec2  Nref);
-vec3  faceforward(vec3  N, vec3  I, vec3  Nref);
-vec4  faceforward(vec4  N, vec4  I, vec4  Nref);
-
-float reflect(float I, float N);
-vec2  reflect(vec2  I, vec2  N);
-vec3  reflect(vec3  I, vec3  N);
-vec4  reflect(vec4  I, vec4  N);
-
-float refract(float I, float N, float eta);
-vec2  refract(vec2  I, vec2  N, float eta);
-vec3  refract(vec3  I, vec3  N, float eta);
-vec4  refract(vec4  I, vec4  N, float eta);
-
-
-/*
- * 8.5 - Matrix Functions
- */
-mat2   matrixCompMult(mat2   x, mat2   y);
-mat3   matrixCompMult(mat3   x, mat3   y);
-mat4   matrixCompMult(mat4   x, mat4   y);
-mat2x3 matrixCompMult(mat2x3 x, mat2x3 y);
-mat2x4 matrixCompMult(mat2x4 x, mat2x4 y);
-mat3x2 matrixCompMult(mat3x2 x, mat3x2 y);
-mat3x4 matrixCompMult(mat3x4 x, mat3x4 y);
-mat4x2 matrixCompMult(mat4x2 x, mat4x2 y);
-mat4x3 matrixCompMult(mat4x3 x, mat4x3 y);
-
-mat2   outerProduct(vec2 c, vec2 r);
-mat3   outerProduct(vec3 c, vec3 r);
-mat4   outerProduct(vec4 c, vec4 r);
-
-mat2x3 outerProduct(vec3 c, vec2 r);
-mat3x2 outerProduct(vec2 c, vec3 r);
-
-mat2x4 outerProduct(vec4 c, vec2 r);
-mat4x2 outerProduct(vec2 c, vec4 r);
-
-mat3x4 outerProduct(vec4 c, vec3 r);
-mat4x3 outerProduct(vec3 c, vec4 r);
-
-mat2   transpose(mat2 m);
-mat3   transpose(mat3 m);
-mat4   transpose(mat4 m);
-
-mat2x3 transpose(mat3x2 m);
-mat3x2 transpose(mat2x3 m);
-
-mat2x4 transpose(mat4x2 m);
-mat4x2 transpose(mat2x4 m);
-
-mat3x4 transpose(mat4x3 m);
-mat4x3 transpose(mat3x4 m);
-
-float determinant(mat2 m);
-float determinant(mat3 m);
-float determinant(mat4 m);
-
-mat2 inverse(mat2 m);
-mat3 inverse(mat3 m);
-mat4 inverse(mat4 m);
-
-/*
- * 8.6 - Vector Relational Functions
- */
-bvec2 lessThan( vec2 x,  vec2 y);
-bvec3 lessThan( vec3 x,  vec3 y);
-bvec4 lessThan( vec4 x,  vec4 y);
-bvec2 lessThan(ivec2 x, ivec2 y);
-bvec3 lessThan(ivec3 x, ivec3 y);
-bvec4 lessThan(ivec4 x, ivec4 y);
-bvec2 lessThan(uvec2 x, uvec2 y);
-bvec3 lessThan(uvec3 x, uvec3 y);
-bvec4 lessThan(uvec4 x, uvec4 y);
-
-bvec2 lessThanEqual( vec2 x,  vec2 y);
-bvec3 lessThanEqual( vec3 x,  vec3 y);
-bvec4 lessThanEqual( vec4 x,  vec4 y);
-bvec2 lessThanEqual(ivec2 x, ivec2 y);
-bvec3 lessThanEqual(ivec3 x, ivec3 y);
-bvec4 lessThanEqual(ivec4 x, ivec4 y);
-bvec2 lessThanEqual(uvec2 x, uvec2 y);
-bvec3 lessThanEqual(uvec3 x, uvec3 y);
-bvec4 lessThanEqual(uvec4 x, uvec4 y);
-
-bvec2 greaterThan( vec2 x,  vec2 y);
-bvec3 greaterThan( vec3 x,  vec3 y);
-bvec4 greaterThan( vec4 x,  vec4 y);
-bvec2 greaterThan(ivec2 x, ivec2 y);
-bvec3 greaterThan(ivec3 x, ivec3 y);
-bvec4 greaterThan(ivec4 x, ivec4 y);
-bvec2 greaterThan(uvec2 x, uvec2 y);
-bvec3 greaterThan(uvec3 x, uvec3 y);
-bvec4 greaterThan(uvec4 x, uvec4 y);
-
-bvec2 greaterThanEqual( vec2 x,  vec2 y);
-bvec3 greaterThanEqual( vec3 x,  vec3 y);
-bvec4 greaterThanEqual( vec4 x,  vec4 y);
-bvec2 greaterThanEqual(ivec2 x, ivec2 y);
-bvec3 greaterThanEqual(ivec3 x, ivec3 y);
-bvec4 greaterThanEqual(ivec4 x, ivec4 y);
-bvec2 greaterThanEqual(uvec2 x, uvec2 y);
-bvec3 greaterThanEqual(uvec3 x, uvec3 y);
-bvec4 greaterThanEqual(uvec4 x, uvec4 y);
-
-bvec2 equal( vec2 x,  vec2 y);
-bvec3 equal( vec3 x,  vec3 y);
-bvec4 equal( vec4 x,  vec4 y);
-bvec2 equal(ivec2 x, ivec2 y);
-bvec3 equal(ivec3 x, ivec3 y);
-bvec4 equal(ivec4 x, ivec4 y);
-bvec2 equal(uvec2 x, uvec2 y);
-bvec3 equal(uvec3 x, uvec3 y);
-bvec4 equal(uvec4 x, uvec4 y);
-bvec2 equal(bvec2 x, bvec2 y);
-bvec3 equal(bvec3 x, bvec3 y);
-bvec4 equal(bvec4 x, bvec4 y);
-
-bvec2 notEqual( vec2 x,  vec2 y);
-bvec3 notEqual( vec3 x,  vec3 y);
-bvec4 notEqual( vec4 x,  vec4 y);
-bvec2 notEqual(ivec2 x, ivec2 y);
-bvec3 notEqual(ivec3 x, ivec3 y);
-bvec4 notEqual(ivec4 x, ivec4 y);
-bvec2 notEqual(uvec2 x, uvec2 y);
-bvec3 notEqual(uvec3 x, uvec3 y);
-bvec4 notEqual(uvec4 x, uvec4 y);
-bvec2 notEqual(bvec2 x, bvec2 y);
-bvec3 notEqual(bvec3 x, bvec3 y);
-bvec4 notEqual(bvec4 x, bvec4 y);
-
-bool any(bvec2 x);
-bool any(bvec3 x);
-bool any(bvec4 x);
-
-bool all(bvec2 x);
-bool all(bvec3 x);
-bool all(bvec4 x);
-
-bvec2 not(bvec2 x);
-bvec3 not(bvec3 x);
-bvec4 not(bvec4 x);
-
-/*
- * 8.7 - Texture Lookup Functions
- */
-
-/* textureSize */
-int   textureSize( sampler1D sampler, int lod);
-int   textureSize(isampler1D sampler, int lod);
-int   textureSize(usampler1D sampler, int lod);
-
-ivec2 textureSize( sampler2D sampler, int lod);
-ivec2 textureSize(isampler2D sampler, int lod);
-ivec2 textureSize(usampler2D sampler, int lod);
-
-ivec3 textureSize( sampler3D sampler, int lod);
-ivec3 textureSize(isampler3D sampler, int lod);
-ivec3 textureSize(usampler3D sampler, int lod);
-
-ivec2 textureSize( samplerCube sampler, int lod);
-ivec2 textureSize(isamplerCube sampler, int lod);
-ivec2 textureSize(usamplerCube sampler, int lod);
-
-int   textureSize(sampler1DShadow   sampler, int lod);
-ivec2 textureSize(sampler2DShadow   sampler, int lod);
-ivec2 textureSize(samplerCubeShadow sampler, int lod);
-
-ivec2 textureSize( sampler1DArray sampler, int lod);
-ivec2 textureSize(isampler1DArray sampler, int lod);
-ivec2 textureSize(usampler1DArray sampler, int lod);
-ivec3 textureSize( sampler2DArray sampler, int lod);
-ivec3 textureSize(isampler2DArray sampler, int lod);
-ivec3 textureSize(usampler2DArray sampler, int lod);
-
-ivec2 textureSize(sampler1DArrayShadow sampler, int lod);
-ivec3 textureSize(sampler2DArrayShadow sampler, int lod);
-
-ivec2 textureSize(sampler2DRect sampler);
-ivec2 textureSize(isampler2DRect sampler);
-ivec2 textureSize(usampler2DRect sampler);
-ivec2 textureSize(sampler2DRectShadow sampler);
-
-int  textureSize( samplerBuffer sampler);
-int  textureSize(isamplerBuffer sampler);
-int  textureSize(usamplerBuffer sampler);
-
-ivec2 textureSize( sampler2DMS sampler);
-ivec2 textureSize(isampler2DMS sampler);
-ivec2 textureSize(usampler2DMS sampler);
-
-ivec3 textureSize( sampler2DMSArray sampler);
-ivec3 textureSize(isampler2DMSArray sampler);
-ivec3 textureSize(usampler2DMSArray sampler);
-
-/* texture - no bias */
- vec4 texture( sampler1D sampler, float P);
-ivec4 texture(isampler1D sampler, float P);
-uvec4 texture(usampler1D sampler, float P);
-
- vec4 texture( sampler2D sampler, vec2 P);
-ivec4 texture(isampler2D sampler, vec2 P);
-uvec4 texture(usampler2D sampler, vec2 P);
-
- vec4 texture( sampler3D sampler, vec3 P);
-ivec4 texture(isampler3D sampler, vec3 P);
-uvec4 texture(usampler3D sampler, vec3 P);
-
- vec4 texture( samplerCube sampler, vec3 P);
-ivec4 texture(isamplerCube sampler, vec3 P);
-uvec4 texture(usamplerCube sampler, vec3 P);
-
-float texture(sampler1DShadow   sampler, vec3 P);
-float texture(sampler2DShadow   sampler, vec3 P);
-float texture(samplerCubeShadow sampler, vec4 P);
-
- vec4 texture( sampler1DArray sampler, vec2 P);
-ivec4 texture(isampler1DArray sampler, vec2 P);
-uvec4 texture(usampler1DArray sampler, vec2 P);
-
- vec4 texture( sampler2DArray sampler, vec3 P);
-ivec4 texture(isampler2DArray sampler, vec3 P);
-uvec4 texture(usampler2DArray sampler, vec3 P);
-
-float texture(sampler1DArrayShadow sampler, vec3 P);
-float texture(sampler2DArrayShadow sampler, vec4 P);
-
- vec4 texture( sampler2DRect sampler, vec2 P);
-ivec4 texture(isampler2DRect sampler, vec2 P);
-uvec4 texture(usampler2DRect sampler, vec2 P);
-
-float texture(sampler2DRectShadow sampler, vec3 P);
-
-/* textureProj - no bias */
- vec4 textureProj( sampler1D sampler, vec2 P);
-ivec4 textureProj(isampler1D sampler, vec2 P);
-uvec4 textureProj(usampler1D sampler, vec2 P);
- vec4 textureProj( sampler1D sampler, vec4 P);
-ivec4 textureProj(isampler1D sampler, vec4 P);
-uvec4 textureProj(usampler1D sampler, vec4 P);
-
- vec4 textureProj( sampler2D sampler, vec3 P);
-ivec4 textureProj(isampler2D sampler, vec3 P);
-uvec4 textureProj(usampler2D sampler, vec3 P);
- vec4 textureProj( sampler2D sampler, vec4 P);
-ivec4 textureProj(isampler2D sampler, vec4 P);
-uvec4 textureProj(usampler2D sampler, vec4 P);
-
- vec4 textureProj( sampler3D sampler, vec4 P);
-ivec4 textureProj(isampler3D sampler, vec4 P);
-uvec4 textureProj(usampler3D sampler, vec4 P);
-
-float textureProj(sampler1DShadow sampler, vec4 P);
-float textureProj(sampler2DShadow sampler, vec4 P);
-
- vec4 textureProj( sampler2DRect sampler, vec3 P);
-ivec4 textureProj(isampler2DRect sampler, vec3 P);
-uvec4 textureProj(usampler2DRect sampler, vec3 P);
- vec4 textureProj( sampler2DRect sampler, vec4 P);
-ivec4 textureProj(isampler2DRect sampler, vec4 P);
-uvec4 textureProj(usampler2DRect sampler, vec4 P);
-
-float textureProj(sampler2DRectShadow sampler, vec4 P);
-
-/* textureLod */
- vec4 textureLod( sampler1D sampler, float P, float lod);
-ivec4 textureLod(isampler1D sampler, float P, float lod);
-uvec4 textureLod(usampler1D sampler, float P, float lod);
-
- vec4 textureLod( sampler2D sampler, vec2 P, float lod);
-ivec4 textureLod(isampler2D sampler, vec2 P, float lod);
-uvec4 textureLod(usampler2D sampler, vec2 P, float lod);
-
- vec4 textureLod( sampler3D sampler, vec3 P, float lod);
-ivec4 textureLod(isampler3D sampler, vec3 P, float lod);
-uvec4 textureLod(usampler3D sampler, vec3 P, float lod);
-
- vec4 textureLod( samplerCube sampler, vec3 P, float lod);
-ivec4 textureLod(isamplerCube sampler, vec3 P, float lod);
-uvec4 textureLod(usamplerCube sampler, vec3 P, float lod);
-
-float textureLod(sampler1DShadow sampler, vec3 P, float lod);
-float textureLod(sampler2DShadow sampler, vec3 P, float lod);
-
- vec4 textureLod( sampler1DArray sampler, vec2 P, float lod);
-ivec4 textureLod(isampler1DArray sampler, vec2 P, float lod);
-uvec4 textureLod(usampler1DArray sampler, vec2 P, float lod);
-
- vec4 textureLod( sampler2DArray sampler, vec3 P, float lod);
-ivec4 textureLod(isampler2DArray sampler, vec3 P, float lod);
-uvec4 textureLod(usampler2DArray sampler, vec3 P, float lod);
-
-float textureLod(sampler1DArrayShadow sampler, vec3 P, float lod);
-
-/* textureOffset - no bias */
- vec4 textureOffset( sampler1D sampler, float P, int offset);
-ivec4 textureOffset(isampler1D sampler, float P, int offset);
-uvec4 textureOffset(usampler1D sampler, float P, int offset);
-
- vec4 textureOffset( sampler2D sampler, vec2 P, ivec2 offset);
-ivec4 textureOffset(isampler2D sampler, vec2 P, ivec2 offset);
-uvec4 textureOffset(usampler2D sampler, vec2 P, ivec2 offset);
-
- vec4 textureOffset( sampler3D sampler, vec3 P, ivec3 offset);
-ivec4 textureOffset(isampler3D sampler, vec3 P, ivec3 offset);
-uvec4 textureOffset(usampler3D sampler, vec3 P, ivec3 offset);
-
- vec4 textureOffset( sampler2DRect sampler, vec2 P, ivec2 offset);
-ivec4 textureOffset(isampler2DRect sampler, vec2 P, ivec2 offset);
-uvec4 textureOffset(usampler2DRect sampler, vec2 P, ivec2 offset);
-
-float textureOffset(sampler2DRectShadow sampler, vec3 P, ivec2 offset);
-
-float textureOffset(sampler1DShadow sampler, vec3 P, int offset);
-float textureOffset(sampler2DShadow sampler, vec3 P, ivec2 offset);
-
- vec4 textureOffset( sampler1DArray sampler, vec2 P, int offset);
-ivec4 textureOffset(isampler1DArray sampler, vec2 P, int offset);
-uvec4 textureOffset(usampler1DArray sampler, vec2 P, int offset);
-
- vec4 textureOffset( sampler2DArray sampler, vec3 P, ivec2 offset);
-ivec4 textureOffset(isampler2DArray sampler, vec3 P, ivec2 offset);
-uvec4 textureOffset(usampler2DArray sampler, vec3 P, ivec2 offset);
-
-float textureOffset(sampler1DArrayShadow sampler, vec3 P, int offset);
-
-/* texelFetch */
- vec4 texelFetch( sampler1D sampler, int P, int lod);
-ivec4 texelFetch(isampler1D sampler, int P, int lod);
-uvec4 texelFetch(usampler1D sampler, int P, int lod);
-
- vec4 texelFetch( sampler2D sampler, ivec2 P, int lod);
-ivec4 texelFetch(isampler2D sampler, ivec2 P, int lod);
-uvec4 texelFetch(usampler2D sampler, ivec2 P, int lod);
-
- vec4 texelFetch( sampler3D sampler, ivec3 P, int lod);
-ivec4 texelFetch(isampler3D sampler, ivec3 P, int lod);
-uvec4 texelFetch(usampler3D sampler, ivec3 P, int lod);
-
- vec4 texelFetch( sampler2DRect sampler, ivec2 P);
-ivec4 texelFetch(isampler2DRect sampler, ivec2 P);
-uvec4 texelFetch(usampler2DRect sampler, ivec2 P);
-
- vec4 texelFetch( sampler1DArray sampler, ivec2 P, int lod);
-ivec4 texelFetch(isampler1DArray sampler, ivec2 P, int lod);
-uvec4 texelFetch(usampler1DArray sampler, ivec2 P, int lod);
-
- vec4 texelFetch( sampler2DArray sampler, ivec3 P, int lod);
-ivec4 texelFetch(isampler2DArray sampler, ivec3 P, int lod);
-uvec4 texelFetch(usampler2DArray sampler, ivec3 P, int lod);
-
- vec4 texelFetch( samplerBuffer sampler, int P);
-ivec4 texelFetch(isamplerBuffer sampler, int P);
-uvec4 texelFetch(usamplerBuffer sampler, int P);
-
- vec4 texelFetch( sampler2DMS sampler, ivec2 P, int sample);
-ivec4 texelFetch(isampler2DMS sampler, ivec2 P, int sample);
-uvec4 texelFetch(usampler2DMS sampler, ivec2 P, int sample);
-
- vec4 texelFetch( sampler2DMSArray sampler, ivec3 P, int sample);
-ivec4 texelFetch(isampler2DMSArray sampler, ivec3 P, int sample);
-uvec4 texelFetch(usampler2DMSArray sampler, ivec3 P, int sample);
-
-/* texelFetchOffset */
- vec4 texelFetchOffset( sampler1D sampler, int P, int lod, int offset);
-ivec4 texelFetchOffset(isampler1D sampler, int P, int lod, int offset);
-uvec4 texelFetchOffset(usampler1D sampler, int P, int lod, int offset);
-
- vec4 texelFetchOffset( sampler2D sampler, ivec2 P, int lod, ivec2 offset);
-ivec4 texelFetchOffset(isampler2D sampler, ivec2 P, int lod, ivec2 offset);
-uvec4 texelFetchOffset(usampler2D sampler, ivec2 P, int lod, ivec2 offset);
-
- vec4 texelFetchOffset( sampler3D sampler, ivec3 P, int lod, ivec3 offset);
-ivec4 texelFetchOffset(isampler3D sampler, ivec3 P, int lod, ivec3 offset);
-uvec4 texelFetchOffset(usampler3D sampler, ivec3 P, int lod, ivec3 offset);
-
- vec4 texelFetchOffset( sampler2DRect sampler, ivec2 P, ivec2 offset);
-ivec4 texelFetchOffset(isampler2DRect sampler, ivec2 P, ivec2 offset);
-uvec4 texelFetchOffset(usampler2DRect sampler, ivec2 P, ivec2 offset);
-
- vec4 texelFetchOffset( sampler1DArray sampler, ivec2 P, int lod, int offset);
-ivec4 texelFetchOffset(isampler1DArray sampler, ivec2 P, int lod, int offset);
-uvec4 texelFetchOffset(usampler1DArray sampler, ivec2 P, int lod, int offset);
-
- vec4 texelFetchOffset( sampler2DArray sampler, ivec3 P, int lod, ivec2 offset);
-ivec4 texelFetchOffset(isampler2DArray sampler, ivec3 P, int lod, ivec2 offset);
-uvec4 texelFetchOffset(usampler2DArray sampler, ivec3 P, int lod, ivec2 offset);
-
-/* textureProjOffset - no bias */
- vec4 textureProjOffset( sampler1D sampler, vec2 P, int offset);
-ivec4 textureProjOffset(isampler1D sampler, vec2 P, int offset);
-uvec4 textureProjOffset(usampler1D sampler, vec2 P, int offset);
- vec4 textureProjOffset( sampler1D sampler, vec4 P, int offset);
-ivec4 textureProjOffset(isampler1D sampler, vec4 P, int offset);
-uvec4 textureProjOffset(usampler1D sampler, vec4 P, int offset);
-
- vec4 textureProjOffset( sampler2D sampler, vec3 P, ivec2 offset);
-ivec4 textureProjOffset(isampler2D sampler, vec3 P, ivec2 offset);
-uvec4 textureProjOffset(usampler2D sampler, vec3 P, ivec2 offset);
- vec4 textureProjOffset( sampler2D sampler, vec4 P, ivec2 offset);
-ivec4 textureProjOffset(isampler2D sampler, vec4 P, ivec2 offset);
-uvec4 textureProjOffset(usampler2D sampler, vec4 P, ivec2 offset);
-
- vec4 textureProjOffset( sampler3D sampler, vec4 P, ivec3 offset);
-ivec4 textureProjOffset(isampler3D sampler, vec4 P, ivec3 offset);
-uvec4 textureProjOffset(usampler3D sampler, vec4 P, ivec3 offset);
-
- vec4 textureProjOffset( sampler2DRect sampler, vec3 P, ivec2 offset);
-ivec4 textureProjOffset(isampler2DRect sampler, vec3 P, ivec2 offset);
-uvec4 textureProjOffset(usampler2DRect sampler, vec3 P, ivec2 offset);
- vec4 textureProjOffset( sampler2DRect sampler, vec4 P, ivec2 offset);
-ivec4 textureProjOffset(isampler2DRect sampler, vec4 P, ivec2 offset);
-uvec4 textureProjOffset(usampler2DRect sampler, vec4 P, ivec2 offset);
-
-float textureProjOffset(sampler2DRectShadow sampler, vec4 P, ivec2 offset);
-
-float textureProjOffset(sampler1DShadow sampler, vec4 P, int offset);
-float textureProjOffset(sampler2DShadow sampler, vec4 P, ivec2 offset);
-
-/* textureLodOffset */
- vec4 textureLodOffset( sampler1D sampler, float P, float lod, int offset);
-ivec4 textureLodOffset(isampler1D sampler, float P, float lod, int offset);
-uvec4 textureLodOffset(usampler1D sampler, float P, float lod, int offset);
-
- vec4 textureLodOffset( sampler2D sampler, vec2 P, float lod, ivec2 offset);
-ivec4 textureLodOffset(isampler2D sampler, vec2 P, float lod, ivec2 offset);
-uvec4 textureLodOffset(usampler2D sampler, vec2 P, float lod, ivec2 offset);
-
- vec4 textureLodOffset( sampler3D sampler, vec3 P, float lod, ivec3 offset);
-ivec4 textureLodOffset(isampler3D sampler, vec3 P, float lod, ivec3 offset);
-uvec4 textureLodOffset(usampler3D sampler, vec3 P, float lod, ivec3 offset);
-
-float textureLodOffset(sampler1DShadow samp, vec3 P, float lod, int offset);
-float textureLodOffset(sampler2DShadow samp, vec3 P, float lod, ivec2 offset);
-
- vec4 textureLodOffset( sampler1DArray sampler, vec2 P, float lod, int offset);
-ivec4 textureLodOffset(isampler1DArray sampler, vec2 P, float lod, int offset);
-uvec4 textureLodOffset(usampler1DArray sampler, vec2 P, float lod, int offset);
-
- vec4 textureLodOffset( sampler2DArray samp, vec3 P, float lod, ivec2 offset);
-ivec4 textureLodOffset(isampler2DArray samp, vec3 P, float lod, ivec2 offset);
-uvec4 textureLodOffset(usampler2DArray samp, vec3 P, float lod, ivec2 offset);
-
-float textureLodOffset(sampler1DArrayShadow s, vec3 P, float lod, int offset);
-
-/* textureProjLod */
- vec4 textureProjLod( sampler1D sampler, vec2 P, float lod);
-ivec4 textureProjLod(isampler1D sampler, vec2 P, float lod);
-uvec4 textureProjLod(usampler1D sampler, vec2 P, float lod);
- vec4 textureProjLod( sampler1D sampler, vec4 P, float lod);
-ivec4 textureProjLod(isampler1D sampler, vec4 P, float lod);
-uvec4 textureProjLod(usampler1D sampler, vec4 P, float lod);
-
- vec4 textureProjLod( sampler2D sampler, vec3 P, float lod);
-ivec4 textureProjLod(isampler2D sampler, vec3 P, float lod);
-uvec4 textureProjLod(usampler2D sampler, vec3 P, float lod);
- vec4 textureProjLod( sampler2D sampler, vec4 P, float lod);
-ivec4 textureProjLod(isampler2D sampler, vec4 P, float lod);
-uvec4 textureProjLod(usampler2D sampler, vec4 P, float lod);
-
- vec4 textureProjLod( sampler3D sampler, vec4 P, float lod);
-ivec4 textureProjLod(isampler3D sampler, vec4 P, float lod);
-uvec4 textureProjLod(usampler3D sampler, vec4 P, float lod);
-
-float textureProjLod(sampler1DShadow sampler, vec4 P, float lod);
-float textureProjLod(sampler2DShadow sampler, vec4 P, float lod);
-
-/* textureProjLodOffset */
- vec4 textureProjLodOffset( sampler1D sampler, vec2 P, float lod, int offset);
-ivec4 textureProjLodOffset(isampler1D sampler, vec2 P, float lod, int offset);
-uvec4 textureProjLodOffset(usampler1D sampler, vec2 P, float lod, int offset);
- vec4 textureProjLodOffset( sampler1D sampler, vec4 P, float lod, int offset);
-ivec4 textureProjLodOffset(isampler1D sampler, vec4 P, float lod, int offset);
-uvec4 textureProjLodOffset(usampler1D sampler, vec4 P, float lod, int offset);
-
- vec4 textureProjLodOffset( sampler2D sampler, vec3 P, float lod, ivec2 offset);
-ivec4 textureProjLodOffset(isampler2D sampler, vec3 P, float lod, ivec2 offset);
-uvec4 textureProjLodOffset(usampler2D sampler, vec3 P, float lod, ivec2 offset);
- vec4 textureProjLodOffset( sampler2D sampler, vec4 P, float lod, ivec2 offset);
-ivec4 textureProjLodOffset(isampler2D sampler, vec4 P, float lod, ivec2 offset);
-uvec4 textureProjLodOffset(usampler2D sampler, vec4 P, float lod, ivec2 offset);
-
- vec4 textureProjLodOffset( sampler3D sampler, vec4 P, float lod, ivec3 offset);
-ivec4 textureProjLodOffset(isampler3D sampler, vec4 P, float lod, ivec3 offset);
-uvec4 textureProjLodOffset(usampler3D sampler, vec4 P, float lod, ivec3 offset);
-
-float textureProjLodOffset(sampler1DShadow s, vec4 P, float lod, int offset);
-float textureProjLodOffset(sampler2DShadow s, vec4 P, float lod, ivec2 offset);
-
-/* textureGrad */
- vec4 textureGrad( sampler1D sampler, float P, float dPdx, float dPdy);
-ivec4 textureGrad(isampler1D sampler, float P, float dPdx, float dPdy);
-uvec4 textureGrad(usampler1D sampler, float P, float dPdx, float dPdy);
-
- vec4 textureGrad( sampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy);
-ivec4 textureGrad(isampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy);
-uvec4 textureGrad(usampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy);
-
- vec4 textureGrad( sampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy);
-ivec4 textureGrad(isampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy);
-uvec4 textureGrad(usampler3D sampler, vec3 P, vec3 dPdx, vec3 dPdy);
-
- vec4 textureGrad( samplerCube sampler, vec3 P, vec3 dPdx, vec3 dPdy);
-ivec4 textureGrad(isamplerCube sampler, vec3 P, vec3 dPdx, vec3 dPdy);
-uvec4 textureGrad(usamplerCube sampler, vec3 P, vec3 dPdx, vec3 dPdy);
-
- vec4 textureGrad( sampler2DRect sampler, vec2 P, vec2 dPdx, vec2 dPdy);
-ivec4 textureGrad(isampler2DRect sampler, vec2 P, vec2 dPdx, vec2 dPdy);
-uvec4 textureGrad(usampler2DRect sampler, vec2 P, vec2 dPdx, vec2 dPdy);
-
-float textureGrad(sampler2DRectShadow   sampler, vec3 P, vec2  dPdx, vec2  dPdy);
-
-float textureGrad(sampler1DShadow   sampler, vec3 P, float dPdx, float dPdy);
-float textureGrad(sampler2DShadow   sampler, vec3 P, vec2  dPdx, vec2  dPdy);
-float textureGrad(samplerCubeShadow sampler, vec4 P, vec3  dPdx, vec3  dPdy);
-
- vec4 textureGrad( sampler1DArray sampler, vec2 P, float dPdx, float dPdy);
-ivec4 textureGrad(isampler1DArray sampler, vec2 P, float dPdx, float dPdy);
-uvec4 textureGrad(usampler1DArray sampler, vec2 P, float dPdx, float dPdy);
-
- vec4 textureGrad( sampler2DArray sampler, vec3 P, vec2 dPdx, vec2 dPdy);
-ivec4 textureGrad(isampler2DArray sampler, vec3 P, vec2 dPdx, vec2 dPdy);
-uvec4 textureGrad(usampler2DArray sampler, vec3 P, vec2 dPdx, vec2 dPdy);
-
-float textureGrad(sampler1DArrayShadow sampler, vec3 P, float dPdx, float dPdy);
-float textureGrad(sampler2DArrayShadow sampler, vec4 P, vec2  dPdx, vec2  dPdy);
-
-/* textureGradOffset */
- vec4 textureGradOffset( sampler1D s, float P, float dx, float dy, int off);
-ivec4 textureGradOffset(isampler1D s, float P, float dx, float dy, int offset);
-uvec4 textureGradOffset(usampler1D s, float P, float dx, float dy, int offset);
-
- vec4 textureGradOffset( sampler2D s, vec2 P, vec2 dx, vec2 dy, ivec2 offset);
-ivec4 textureGradOffset(isampler2D s, vec2 P, vec2 dx, vec2 dy, ivec2 offset);
-uvec4 textureGradOffset(usampler2D s, vec2 P, vec2 dx, vec2 dy, ivec2 offset);
-
- vec4 textureGradOffset( sampler3D s, vec3 P, vec3 dx, vec3 dy, ivec3 offset);
-ivec4 textureGradOffset(isampler3D s, vec3 P, vec3 dx, vec3 dy, ivec3 offset);
-uvec4 textureGradOffset(usampler3D s, vec3 P, vec3 dx, vec3 dy, ivec3 offset);
-
- vec4 textureGradOffset( sampler2DRect s, vec2 P, vec2 dx, vec2 dy, ivec2 offset);
-ivec4 textureGradOffset(isampler2DRect s, vec2 P, vec2 dx, vec2 dy, ivec2 offset);
-uvec4 textureGradOffset(usampler2DRect s, vec2 P, vec2 dx, vec2 dy, ivec2 offset);
-
-float textureGradOffset(sampler2DRectShadow s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
-
-float textureGradOffset(sampler1DShadow s, vec3 P, float dx, float dy, int off);
-float textureGradOffset(sampler2DShadow s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
-
- vec4 textureGradOffset( sampler1DArray s, vec2 P, float dx, float dy, int off);
-ivec4 textureGradOffset(isampler1DArray s, vec2 P, float dx, float dy, int off);
-uvec4 textureGradOffset(usampler1DArray s, vec2 P, float dx, float dy, int off);
-
- vec4 textureGradOffset( sampler2DArray s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
-ivec4 textureGradOffset(isampler2DArray s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
-uvec4 textureGradOffset(usampler2DArray s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
-
-float textureGradOffset(sampler1DArrayShadow s, vec3 P, float dx, float dy, int o);
-float textureGradOffset(sampler2DArrayShadow s, vec4 P, vec2 dx, vec2 dy, ivec2 o);
-
-/* textureProjGrad */
- vec4 textureProjGrad( sampler1D sampler, vec2 P, float dPdx, float dPdy);
-ivec4 textureProjGrad(isampler1D sampler, vec2 P, float dPdx, float dPdy);
-uvec4 textureProjGrad(usampler1D sampler, vec2 P, float dPdx, float dPdy);
- vec4 textureProjGrad( sampler1D sampler, vec4 P, float dPdx, float dPdy);
-ivec4 textureProjGrad(isampler1D sampler, vec4 P, float dPdx, float dPdy);
-uvec4 textureProjGrad(usampler1D sampler, vec4 P, float dPdx, float dPdy);
-
- vec4 textureProjGrad( sampler2D sampler, vec3 P, vec2 dPdx, vec2 dPdy);
-ivec4 textureProjGrad(isampler2D sampler, vec3 P, vec2 dPdx, vec2 dPdy);
-uvec4 textureProjGrad(usampler2D sampler, vec3 P, vec2 dPdx, vec2 dPdy);
- vec4 textureProjGrad( sampler2D sampler, vec4 P, vec2 dPdx, vec2 dPdy);
-ivec4 textureProjGrad(isampler2D sampler, vec4 P, vec2 dPdx, vec2 dPdy);
-uvec4 textureProjGrad(usampler2D sampler, vec4 P, vec2 dPdx, vec2 dPdy);
-
- vec4 textureProjGrad( sampler3D sampler, vec4 P, vec3 dPdx, vec3 dPdy);
-ivec4 textureProjGrad(isampler3D sampler, vec4 P, vec3 dPdx, vec3 dPdy);
-uvec4 textureProjGrad(usampler3D sampler, vec4 P, vec3 dPdx, vec3 dPdy);
-
- vec4 textureProjGrad( sampler2DRect sampler, vec3 P, vec2 dPdx, vec2 dPdy);
-ivec4 textureProjGrad(isampler2DRect sampler, vec3 P, vec2 dPdx, vec2 dPdy);
-uvec4 textureProjGrad(usampler2DRect sampler, vec3 P, vec2 dPdx, vec2 dPdy);
- vec4 textureProjGrad( sampler2DRect sampler, vec4 P, vec2 dPdx, vec2 dPdy);
-ivec4 textureProjGrad(isampler2DRect sampler, vec4 P, vec2 dPdx, vec2 dPdy);
-uvec4 textureProjGrad(usampler2DRect sampler, vec4 P, vec2 dPdx, vec2 dPdy);
-
-float textureProjGrad(sampler2DRectShadow sampler, vec4 P, vec2  dPdx, vec2  dPdy);
-
-float textureProjGrad(sampler1DShadow sampler, vec4 P, float dPdx, float dPdy);
-float textureProjGrad(sampler2DShadow sampler, vec4 P, vec2  dPdx, vec2  dPdy);
-
-/* textureProjGradOffset */
- vec4 textureProjGradOffset( sampler1D s, vec2 P, float dx, float dy, int off);
-ivec4 textureProjGradOffset(isampler1D s, vec2 P, float dx, float dy, int off);
-uvec4 textureProjGradOffset(usampler1D s, vec2 P, float dx, float dy, int off);
- vec4 textureProjGradOffset( sampler1D s, vec4 P, float dx, float dy, int off);
-ivec4 textureProjGradOffset(isampler1D s, vec4 P, float dx, float dy, int off);
-uvec4 textureProjGradOffset(usampler1D s, vec4 P, float dx, float dy, int off);
-
- vec4 textureProjGradOffset( sampler2D s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
-ivec4 textureProjGradOffset(isampler2D s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
-uvec4 textureProjGradOffset(usampler2D s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
- vec4 textureProjGradOffset( sampler2D s, vec4 P, vec2 dx, vec2 dy, ivec2 off);
-ivec4 textureProjGradOffset(isampler2D s, vec4 P, vec2 dx, vec2 dy, ivec2 off);
-uvec4 textureProjGradOffset(usampler2D s, vec4 P, vec2 dx, vec2 dy, ivec2 off);
-
- vec4 textureProjGradOffset( sampler2DRect s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
-ivec4 textureProjGradOffset(isampler2DRect s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
-uvec4 textureProjGradOffset(usampler2DRect s, vec3 P, vec2 dx, vec2 dy, ivec2 off);
- vec4 textureProjGradOffset( sampler2DRect s, vec4 P, vec2 dx, vec2 dy, ivec2 off);
-ivec4 textureProjGradOffset(isampler2DRect s, vec4 P, vec2 dx, vec2 dy, ivec2 off);
-uvec4 textureProjGradOffset(usampler2DRect s, vec4 P, vec2 dx, vec2 dy, ivec2 off);
-
-float textureProjGradOffset(sampler2DRectShadow s, vec4 P, vec2 dx, vec2 dy, ivec2 o);
-
- vec4 textureProjGradOffset( sampler3D s, vec4 P, vec3 dx, vec3 dy, ivec3 off);
-ivec4 textureProjGradOffset(isampler3D s, vec4 P, vec3 dx, vec3 dy, ivec3 off);
-uvec4 textureProjGradOffset(usampler3D s, vec4 P, vec3 dx, vec3 dy, ivec3 off);
-
-float textureProjGradOffset(sampler1DShadow s, vec4 P, float dx, float dy, int o);
-float textureProjGradOffset(sampler2DShadow s, vec4 P, vec2 dx, vec2 dy, ivec2 o);
-
-/*
- * The following texture functions are deprecated:
- */
-vec4 texture1D       (sampler1D sampler, float coord);
-vec4 texture1DProj   (sampler1D sampler, vec2  coord);
-vec4 texture1DProj   (sampler1D sampler, vec4  coord);
-vec4 texture1DLod    (sampler1D sampler, float coord, float lod);
-vec4 texture1DProjLod(sampler1D sampler, vec2  coord, float lod);
-vec4 texture1DProjLod(sampler1D sampler, vec4  coord, float lod);
-
-vec4 texture2D       (sampler2D sampler, vec2 coord);
-vec4 texture2DProj   (sampler2D sampler, vec3 coord);
-vec4 texture2DProj   (sampler2D sampler, vec4 coord);
-vec4 texture2DLod    (sampler2D sampler, vec2 coord, float lod);
-vec4 texture2DProjLod(sampler2D sampler, vec3 coord, float lod);
-vec4 texture2DProjLod(sampler2D sampler, vec4 coord, float lod);
-
-vec4 texture3D       (sampler3D sampler, vec3 coord);
-vec4 texture3DProj   (sampler3D sampler, vec4 coord);
-vec4 texture3DLod    (sampler3D sampler, vec3 coord, float lod);
-vec4 texture3DProjLod(sampler3D sampler, vec4 coord, float lod);
-
-vec4 textureCube     (samplerCube sampler, vec3 coord);
-vec4 textureCubeLod  (samplerCube sampler, vec3 coord, float lod);
-
-vec4 shadow1D       (sampler1DShadow sampler, vec3 coord);
-vec4 shadow2D       (sampler2DShadow sampler, vec3 coord);
-vec4 shadow1DProj   (sampler1DShadow sampler, vec4 coord);
-vec4 shadow2DProj   (sampler2DShadow sampler, vec4 coord);
-vec4 shadow1DLod    (sampler1DShadow sampler, vec3 coord, float lod);
-vec4 shadow2DLod    (sampler2DShadow sampler, vec3 coord, float lod);
-vec4 shadow1DProjLod(sampler1DShadow sampler, vec4 coord, float lod);
-vec4 shadow2DProjLod(sampler2DShadow sampler, vec4 coord, float lod);
-
-/*
- * 8.9 - Noise Functions
- */
-float noise1(float x);
-float noise1(vec2  x);
-float noise1(vec3  x);
-float noise1(vec4  x);
-
-vec2  noise2(float x);
-vec2  noise2(vec2  x);
-vec2  noise2(vec3  x);
-vec2  noise2(vec4  x);
-
-vec3  noise3(float x);
-vec3  noise3(vec2  x);
-vec3  noise3(vec3  x);
-vec3  noise3(vec4  x);
-
-vec4  noise4(float x);
-vec4  noise4(vec2  x);
-vec4  noise4(vec3  x);
-vec4  noise4(vec4  x);
diff --git a/src/glsl/builtins/profiles/ARB_gpu_shader5.glsl b/src/glsl/builtins/profiles/ARB_gpu_shader5.glsl
deleted file mode 100644
index 0baea3c..0000000
--- a/src/glsl/builtins/profiles/ARB_gpu_shader5.glsl
+++ /dev/null
@@ -1,81 +0,0 @@
-#version 150
-#extension GL_ARB_gpu_shader5 : enable
-
-int   bitfieldExtract(int   value, int offset, int bits);
-ivec2 bitfieldExtract(ivec2 value, int offset, int bits);
-ivec3 bitfieldExtract(ivec3 value, int offset, int bits);
-ivec4 bitfieldExtract(ivec4 value, int offset, int bits);
-uint  bitfieldExtract(uint  value, int offset, int bits);
-uvec2 bitfieldExtract(uvec2 value, int offset, int bits);
-uvec3 bitfieldExtract(uvec3 value, int offset, int bits);
-uvec4 bitfieldExtract(uvec4 value, int offset, int bits);
-
-int   bitfieldInsert(int   base, int   insert, int offset, int bits);
-ivec2 bitfieldInsert(ivec2 base, ivec2 insert, int offset, int bits);
-ivec3 bitfieldInsert(ivec3 base, ivec3 insert, int offset, int bits);
-ivec4 bitfieldInsert(ivec4 base, ivec4 insert, int offset, int bits);
-uint  bitfieldInsert(uint  base, uint  insert, int offset, int bits);
-uvec2 bitfieldInsert(uvec2 base, uvec2 insert, int offset, int bits);
-uvec3 bitfieldInsert(uvec3 base, uvec3 insert, int offset, int bits);
-uvec4 bitfieldInsert(uvec4 base, uvec4 insert, int offset, int bits);
-
-int   bitfieldReverse(int   value);
-ivec2 bitfieldReverse(ivec2 value);
-ivec3 bitfieldReverse(ivec3 value);
-ivec4 bitfieldReverse(ivec4 value);
-uint  bitfieldReverse(uint  value);
-uvec2 bitfieldReverse(uvec2 value);
-uvec3 bitfieldReverse(uvec3 value);
-uvec4 bitfieldReverse(uvec4 value);
-
-int   bitCount(int   value);
-ivec2 bitCount(ivec2 value);
-ivec3 bitCount(ivec3 value);
-ivec4 bitCount(ivec4 value);
-int   bitCount(uint  value);
-ivec2 bitCount(uvec2 value);
-ivec3 bitCount(uvec3 value);
-ivec4 bitCount(uvec4 value);
-
-int   findLSB(int   value);
-ivec2 findLSB(ivec2 value);
-ivec3 findLSB(ivec3 value);
-ivec4 findLSB(ivec4 value);
-int   findLSB(uint  value);
-ivec2 findLSB(uvec2 value);
-ivec3 findLSB(uvec3 value);
-ivec4 findLSB(uvec4 value);
-
-int   findMSB(int   value);
-ivec2 findMSB(ivec2 value);
-ivec3 findMSB(ivec3 value);
-ivec4 findMSB(ivec4 value);
-int   findMSB(uint  value);
-ivec2 findMSB(uvec2 value);
-ivec3 findMSB(uvec3 value);
-ivec4 findMSB(uvec4 value);
-
-float fma(float a, float b, float c);
-vec2  fma(vec2  a, vec2  b, vec2  c);
-vec3  fma(vec3  a, vec3  b, vec3  c);
-vec4  fma(vec4  a, vec4  b, vec4  c);
-
-int   floatBitsToInt(float value);
-ivec2 floatBitsToInt(vec2  value);
-ivec3 floatBitsToInt(vec3  value);
-ivec4 floatBitsToInt(vec4  value);
-
-uint  floatBitsToUint(float value);
-uvec2 floatBitsToUint(vec2  value);
-uvec3 floatBitsToUint(vec3  value);
-uvec4 floatBitsToUint(vec4  value);
-
-float intBitsToFloat(int   value);
-vec2  intBitsToFloat(ivec2 value);
-vec3  intBitsToFloat(ivec3 value);
-vec4  intBitsToFloat(ivec4 value);
-
-float uintBitsToFloat(uint  value);
-vec2  uintBitsToFloat(uvec2 value);
-vec3  uintBitsToFloat(uvec3 value);
-vec4  uintBitsToFloat(uvec4 value);
diff --git a/src/glsl/builtins/profiles/ARB_shader_bit_encoding.glsl b/src/glsl/builtins/profiles/ARB_shader_bit_encoding.glsl
deleted file mode 100644
index e034594..0000000
--- a/src/glsl/builtins/profiles/ARB_shader_bit_encoding.glsl
+++ /dev/null
@@ -1,22 +0,0 @@
-#version 130
-#extension GL_ARB_shader_bit_encoding : enable
-
-int   floatBitsToInt(float value);
-ivec2 floatBitsToInt(vec2  value);
-ivec3 floatBitsToInt(vec3  value);
-ivec4 floatBitsToInt(vec4  value);
-
-uint  floatBitsToUint(float value);
-uvec2 floatBitsToUint(vec2  value);
-uvec3 floatBitsToUint(vec3  value);
-uvec4 floatBitsToUint(vec4  value);
-
-float intBitsToFloat(int   value);
-vec2  intBitsToFloat(ivec2 value);
-vec3  intBitsToFloat(ivec3 value);
-vec4  intBitsToFloat(ivec4 value);
-
-float uintBitsToFloat(uint  value);
-vec2  uintBitsToFloat(uvec2 value);
-vec3  uintBitsToFloat(uvec3 value);
-vec4  uintBitsToFloat(uvec4 value);
diff --git a/src/glsl/builtins/profiles/ARB_shader_texture_lod.frag b/src/glsl/builtins/profiles/ARB_shader_texture_lod.frag
deleted file mode 100644
index 26e84d0..0000000
--- a/src/glsl/builtins/profiles/ARB_shader_texture_lod.frag
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * The existing isotropic vertex texture functions are added to the
- * built-in functions for fragment shaders.
- */
-vec4 texture1DLod    (sampler1D sampler, float coord, float lod);
-vec4 texture1DProjLod(sampler1D sampler, vec2  coord, float lod);
-vec4 texture1DProjLod(sampler1D sampler, vec4  coord, float lod);
-vec4 texture2DLod    (sampler2D sampler, vec2 coord, float lod);
-vec4 texture2DProjLod(sampler2D sampler, vec3 coord, float lod);
-vec4 texture2DProjLod(sampler2D sampler, vec4 coord, float lod);
-vec4 texture3DLod    (sampler3D sampler, vec3 coord, float lod);
-vec4 texture3DProjLod(sampler3D sampler, vec4 coord, float lod);
-vec4 textureCubeLod  (samplerCube sampler, vec3 coord, float lod);
-vec4 shadow1DLod    (sampler1DShadow sampler, vec3 coord, float lod);
-vec4 shadow2DLod    (sampler2DShadow sampler, vec3 coord, float lod);
-vec4 shadow1DProjLod(sampler1DShadow sampler, vec4 coord, float lod);
-vec4 shadow2DProjLod(sampler2DShadow sampler, vec4 coord, float lod);
diff --git a/src/glsl/builtins/profiles/ARB_shader_texture_lod.glsl b/src/glsl/builtins/profiles/ARB_shader_texture_lod.glsl
deleted file mode 100644
index edfed26..0000000
--- a/src/glsl/builtins/profiles/ARB_shader_texture_lod.glsl
+++ /dev/null
@@ -1,46 +0,0 @@
-/* New anisotropic texture functions, providing explicit derivatives: */
-vec4 texture1DGradARB        (sampler1D sampler,
-                              float P, float dPdx, float dPdy);
-vec4 texture1DProjGradARB    (sampler1D sampler,
-                              vec2  P, float dPdx, float dPdy);
-vec4 texture1DProjGradARB    (sampler1D sampler,
-                              vec4  P, float dPdx, float dPdy);
-
-vec4 texture2DGradARB        (sampler2D sampler,
-                              vec2  P, vec2  dPdx, vec2  dPdy);
-vec4 texture2DProjGradARB    (sampler2D sampler,
-                              vec3  P, vec2  dPdx, vec2  dPdy);
-vec4 texture2DProjGradARB    (sampler2D sampler,
-                              vec4  P, vec2  dPdx, vec2  dPdy);
-
-vec4 texture3DGradARB        (sampler3D sampler,
-                              vec3  P, vec3  dPdx, vec3  dPdy);
-vec4 texture3DProjGradARB    (sampler3D sampler,
-                              vec4  P, vec3  dPdx, vec3  dPdy);
-
-vec4 textureCubeGradARB      (samplerCube sampler,
-                              vec3  P, vec3  dPdx, vec3  dPdy);
-
-vec4 shadow1DGradARB         (sampler1DShadow sampler,
-                              vec3  P, float dPdx, float dPdy);
-vec4 shadow1DProjGradARB     (sampler1DShadow sampler,
-                              vec4  P, float dPdx, float dPdy);
-
-vec4 shadow2DGradARB         (sampler2DShadow sampler,
-                              vec3  P, vec2  dPdx, vec2  dPdy);
-vec4 shadow2DProjGradARB     (sampler2DShadow sampler,
-                              vec4  P, vec2  dPdx, vec2  dPdy);
-
-#ifdef GL_ARB_texture_rectangle
-vec4 texture2DRectGradARB    (sampler2DRect sampler,
-                              vec2  P, vec2  dPdx, vec2  dPdy);
-vec4 texture2DRectProjGradARB(sampler2DRect sampler,
-                              vec3  P, vec2  dPdx, vec2  dPdy);
-vec4 texture2DRectProjGradARB(sampler2DRect sampler,
-                              vec4  P, vec2  dPdx, vec2  dPdy);
-
-vec4 shadow2DRectGradARB     (sampler2DRectShadow sampler,
-                              vec3  P, vec2  dPdx, vec2  dPdy);
-vec4 shadow2DRectProjGradARB (sampler2DRectShadow sampler,
-                              vec4  P, vec2  dPdx, vec2  dPdy);
-#endif
diff --git a/src/glsl/builtins/profiles/ARB_shading_language_packing.glsl b/src/glsl/builtins/profiles/ARB_shading_language_packing.glsl
deleted file mode 100644
index 210af51..0000000
--- a/src/glsl/builtins/profiles/ARB_shading_language_packing.glsl
+++ /dev/null
@@ -1,14 +0,0 @@
-#version 130
-#extension GL_ARB_shading_language_packing : enable
-
-highp   uint packSnorm2x16(        vec2 v);
-highp   uint packUnorm2x16(        vec2 v);
-highp   uint packSnorm4x8 (        vec4 v);
-highp   uint packUnorm4x8 (        vec4 v);
-highp   uint packHalf2x16 (mediump vec2 v);
-
-highp   vec2 unpackSnorm2x16(highp uint p);
-highp   vec2 unpackUnorm2x16(highp uint p);
-highp   vec4 unpackSnorm4x8 (highp uint p);
-highp   vec4 unpackUnorm4x8 (highp uint p);
-mediump vec2 unpackHalf2x16 (highp uint p);
diff --git a/src/glsl/builtins/profiles/ARB_texture_cube_map_array.frag b/src/glsl/builtins/profiles/ARB_texture_cube_map_array.frag
deleted file mode 100644
index 0d9f4f6..0000000
--- a/src/glsl/builtins/profiles/ARB_texture_cube_map_array.frag
+++ /dev/null
@@ -1,6 +0,0 @@
-#version 130
-#extension GL_ARB_texture_cube_map_array : enable
-
- vec4 texture( samplerCubeArray sampler, vec4 coord, float bias);
-ivec4 texture(isamplerCubeArray sampler, vec4 coord, float bias);
-uvec4 texture(usamplerCubeArray sampler, vec4 coord, float bias);
diff --git a/src/glsl/builtins/profiles/ARB_texture_cube_map_array.glsl b/src/glsl/builtins/profiles/ARB_texture_cube_map_array.glsl
deleted file mode 100644
index 73659b3..0000000
--- a/src/glsl/builtins/profiles/ARB_texture_cube_map_array.glsl
+++ /dev/null
@@ -1,20 +0,0 @@
-#version 130
-#extension GL_ARB_texture_cube_map_array : enable
-
-ivec3 textureSize(samplerCubeArray sampler, int lod);
-ivec3 textureSize(isamplerCubeArray sampler, int lod);
-ivec3 textureSize(usamplerCubeArray sampler, int lod);
-ivec3 textureSize(samplerCubeArrayShadow sampler, int lod);
-
- vec4 texture( samplerCubeArray sampler, vec4 coord);
-ivec4 texture(isamplerCubeArray sampler, vec4 coord);
-uvec4 texture(usamplerCubeArray sampler, vec4 coord);
-float texture( samplerCubeArrayShadow sampler, vec4 P, float compare);
-
- vec4 textureGrad( samplerCubeArray sampler, vec4 P, vec3 dPdx, vec3 dPdy);
-ivec4 textureGrad( isamplerCubeArray sampler, vec4 P, vec3 dPdx, vec3 dPdy);
-uvec4 textureGrad( usamplerCubeArray sampler, vec4 P, vec3 dPdx, vec3 dPdy);
-
- vec4 textureLod( samplerCubeArray sampler, vec4 P, float lod);
-ivec4 textureLod( isamplerCubeArray sampler, vec4 P, float lod);
-uvec4 textureLod( usamplerCubeArray sampler, vec4 P, float lod);
diff --git a/src/glsl/builtins/profiles/ARB_texture_multisample.glsl b/src/glsl/builtins/profiles/ARB_texture_multisample.glsl
deleted file mode 100644
index 4fa67e9..0000000
--- a/src/glsl/builtins/profiles/ARB_texture_multisample.glsl
+++ /dev/null
@@ -1,18 +0,0 @@
-#version 130
-#extension GL_ARB_texture_multisample : enable
-
-ivec2 textureSize( sampler2DMS sampler);
-ivec2 textureSize(isampler2DMS sampler);
-ivec2 textureSize(usampler2DMS sampler);
-
-ivec3 textureSize( sampler2DMSArray sampler);
-ivec3 textureSize(isampler2DMSArray sampler);
-ivec3 textureSize(usampler2DMSArray sampler);
-
- vec4 texelFetch( sampler2DMS sampler, ivec2 P, int sample);
-ivec4 texelFetch(isampler2DMS sampler, ivec2 P, int sample);
-uvec4 texelFetch(usampler2DMS sampler, ivec2 P, int sample);
-
- vec4 texelFetch( sampler2DMSArray sampler, ivec3 P, int sample);
-ivec4 texelFetch(isampler2DMSArray sampler, ivec3 P, int sample);
-uvec4 texelFetch(usampler2DMSArray sampler, ivec3 P, int sample);
diff --git a/src/glsl/builtins/profiles/ARB_texture_query_lod.frag b/src/glsl/builtins/profiles/ARB_texture_query_lod.frag
deleted file mode 100644
index 5d76127..0000000
--- a/src/glsl/builtins/profiles/ARB_texture_query_lod.frag
+++ /dev/null
@@ -1,38 +0,0 @@
-#version 130
-#extension GL_ARB_texture_query_lod : enable
-#extension GL_ARB_texture_cube_map_array : enable
-
-vec2 textureQueryLOD( sampler1D sampler, float coord);
-vec2 textureQueryLOD(isampler1D sampler, float coord);
-vec2 textureQueryLOD(usampler1D sampler, float coord);
-
-vec2 textureQueryLOD( sampler2D sampler, vec2 coord);
-vec2 textureQueryLOD(isampler2D sampler, vec2 coord);
-vec2 textureQueryLOD(usampler2D sampler, vec2 coord);
-
-vec2 textureQueryLOD( sampler3D sampler, vec3 coord);
-vec2 textureQueryLOD(isampler3D sampler, vec3 coord);
-vec2 textureQueryLOD(usampler3D sampler, vec3 coord);
-
-vec2 textureQueryLOD( samplerCube sampler, vec3 coord);
-vec2 textureQueryLOD(isamplerCube sampler, vec3 coord);
-vec2 textureQueryLOD(usamplerCube sampler, vec3 coord);
-
-vec2 textureQueryLOD( sampler1DArray sampler, float coord);
-vec2 textureQueryLOD(isampler1DArray sampler, float coord);
-vec2 textureQueryLOD(usampler1DArray sampler, float coord);
-
-vec2 textureQueryLOD( sampler2DArray sampler, vec2 coord);
-vec2 textureQueryLOD(isampler2DArray sampler, vec2 coord);
-vec2 textureQueryLOD(usampler2DArray sampler, vec2 coord);
-
-vec2 textureQueryLOD( samplerCubeArray sampler, vec3 coord);
-vec2 textureQueryLOD(isamplerCubeArray sampler, vec3 coord);
-vec2 textureQueryLOD(usamplerCubeArray sampler, vec3 coord);
-
-vec2 textureQueryLOD(sampler1DShadow sampler, float coord);
-vec2 textureQueryLOD(sampler2DShadow sampler, vec2 coord);
-vec2 textureQueryLOD(samplerCubeShadow sampler, vec3 coord);
-vec2 textureQueryLOD(sampler1DArrayShadow sampler, float coord);
-vec2 textureQueryLOD(sampler2DArrayShadow sampler, vec2 coord);
-vec2 textureQueryLOD(samplerCubeArrayShadow sampler, vec3 coord);
diff --git a/src/glsl/builtins/profiles/ARB_texture_rectangle.glsl b/src/glsl/builtins/profiles/ARB_texture_rectangle.glsl
deleted file mode 100644
index 8938aa3..0000000
--- a/src/glsl/builtins/profiles/ARB_texture_rectangle.glsl
+++ /dev/null
@@ -1,7 +0,0 @@
-#extension GL_ARB_texture_rectangle : enable
-vec4 texture2DRect(sampler2DRect sampler, vec2 coord);
-vec4 texture2DRectProj(sampler2DRect sampler, vec3 coord);
-vec4 texture2DRectProj(sampler2DRect sampler, vec4 coord);
-
-vec4 shadow2DRect(sampler2DRectShadow sampler, vec3 coord);
-vec4 shadow2DRectProj(sampler2DRectShadow sampler, vec4 coord);
diff --git a/src/glsl/builtins/profiles/EXT_texture_array.frag b/src/glsl/builtins/profiles/EXT_texture_array.frag
deleted file mode 100644
index d0ce981..0000000
--- a/src/glsl/builtins/profiles/EXT_texture_array.frag
+++ /dev/null
@@ -1,11 +0,0 @@
-#extension GL_EXT_texture_array : enable
-vec4 texture1DArray(sampler1DArray sampler, vec2 coord);
-vec4 texture1DArray(sampler1DArray sampler, vec2 coord, float bias);
-
-vec4 texture2DArray(sampler2DArray sampler, vec3 coord);
-vec4 texture2DArray(sampler2DArray sampler, vec3 coord, float bias);
-
-vec4 shadow1DArray(sampler1DArrayShadow sampler, vec3 coord);
-vec4 shadow1DArray(sampler1DArrayShadow sampler, vec3 coord, float bias);
-
-vec4 shadow2DArray(sampler2DArrayShadow sampler, vec4 coord);
diff --git a/src/glsl/builtins/profiles/EXT_texture_array.geom b/src/glsl/builtins/profiles/EXT_texture_array.geom
deleted file mode 100644
index 2308ba7..0000000
--- a/src/glsl/builtins/profiles/EXT_texture_array.geom
+++ /dev/null
@@ -1,12 +0,0 @@
-#extension GL_ARB_geometry_shader4 : enable
-#extension GL_EXT_texture_array : enable
-vec4 texture1DArray(sampler1DArray sampler, vec2 coord);
-vec4 texture1DArrayLod(sampler1DArray sampler, vec2 coord, float lod);
-
-vec4 texture2DArray(sampler2DArray sampler, vec3 coord);
-vec4 texture2DArrayLod(sampler2DArray sampler, vec3 coord, float lod);
-
-vec4 shadow1DArray(sampler1DArrayShadow sampler, vec3 coord);
-vec4 shadow1DArrayLod(sampler1DArrayShadow sampler, vec3 coord, float lod);
-
-vec4 shadow2DArray(sampler2DArrayShadow sampler, vec4 coord);
diff --git a/src/glsl/builtins/profiles/EXT_texture_array.vert b/src/glsl/builtins/profiles/EXT_texture_array.vert
deleted file mode 100644
index 6b1b7f2..0000000
--- a/src/glsl/builtins/profiles/EXT_texture_array.vert
+++ /dev/null
@@ -1,11 +0,0 @@
-#extension GL_EXT_texture_array : enable
-vec4 texture1DArray(sampler1DArray sampler, vec2 coord);
-vec4 texture1DArrayLod(sampler1DArray sampler, vec2 coord, float lod);
-
-vec4 texture2DArray(sampler2DArray sampler, vec3 coord);
-vec4 texture2DArrayLod(sampler2DArray sampler, vec3 coord, float lod);
-
-vec4 shadow1DArray(sampler1DArrayShadow sampler, vec3 coord);
-vec4 shadow1DArrayLod(sampler1DArrayShadow sampler, vec3 coord, float lod);
-
-vec4 shadow2DArray(sampler2DArrayShadow sampler, vec4 coord);
diff --git a/src/glsl/builtins/profiles/OES_EGL_image_external.glsl b/src/glsl/builtins/profiles/OES_EGL_image_external.glsl
deleted file mode 100644
index 90300ec..0000000
--- a/src/glsl/builtins/profiles/OES_EGL_image_external.glsl
+++ /dev/null
@@ -1,7 +0,0 @@
-#version 100
-#extension GL_OES_EGL_image_external : enable
-precision highp float;
-
-vec4 texture2D(samplerExternalOES sampler, vec2 coord);
-vec4 texture2DProj(samplerExternalOES sampler, vec3 coord);
-vec4 texture2DProj(samplerExternalOES sampler, vec4 coord);
diff --git a/src/glsl/builtins/profiles/OES_standard_derivatives.frag b/src/glsl/builtins/profiles/OES_standard_derivatives.frag
deleted file mode 100644
index 44991ef..0000000
--- a/src/glsl/builtins/profiles/OES_standard_derivatives.frag
+++ /dev/null
@@ -1,21 +0,0 @@
-#version 100
-#extension GL_OES_standard_derivatives : enable
-precision highp float;
-
-/*
- * 8.8 - Fragment Processing Functions
- */
-float dFdx(float p);
-vec2  dFdx(vec2  p);
-vec3  dFdx(vec3  p);
-vec4  dFdx(vec4  p);
-
-float dFdy(float p);
-vec2  dFdy(vec2  p);
-vec3  dFdy(vec3  p);
-vec4  dFdy(vec4  p);
-
-float fwidth(float p);
-vec2  fwidth(vec2  p);
-vec3  fwidth(vec3  p);
-vec4  fwidth(vec4  p);
diff --git a/src/glsl/builtins/profiles/OES_texture_3D.frag b/src/glsl/builtins/profiles/OES_texture_3D.frag
deleted file mode 100644
index c2c3339..0000000
--- a/src/glsl/builtins/profiles/OES_texture_3D.frag
+++ /dev/null
@@ -1,8 +0,0 @@
-#version 100
-#extension GL_OES_texture_3D : enable
-precision highp float;
-
-vec4 texture3D (sampler3D sampler, vec3 coord);
-vec4 texture3DProj (sampler3D sampler, vec4 coord);
-vec4 texture3D (sampler3D sampler, vec3 coord, float bias);
-vec4 texture3DProj (sampler3D sampler, vec4 coord, float bias);
diff --git a/src/glsl/builtins/profiles/OES_texture_3D.vert b/src/glsl/builtins/profiles/OES_texture_3D.vert
deleted file mode 100644
index 81d12f5..0000000
--- a/src/glsl/builtins/profiles/OES_texture_3D.vert
+++ /dev/null
@@ -1,7 +0,0 @@
-#version 100
-#extension GL_OES_texture_3D : enable
-
-vec4 texture3D (sampler3D sampler, vec3 coord);
-vec4 texture3DProj (sampler3D sampler, vec4 coord);
-vec4 texture3DLod (sampler3D sampler, vec3 coord, float lod);
-vec4 texture3DProjLod (sampler3D sampler, vec4 coord, float lod);
diff --git a/src/glsl/builtins/tools/generate_builtins.py b/src/glsl/builtins/tools/generate_builtins.py
deleted file mode 100755
index 70e9d75..0000000
--- a/src/glsl/builtins/tools/generate_builtins.py
+++ /dev/null
@@ -1,306 +0,0 @@
-#!/usr/bin/python
-# -*- coding: utf-8 -*-
-
-from __future__ import with_statement
-
-import re
-import sys
-from glob import glob
-from os import path
-from subprocess import Popen, PIPE
-from sys import argv
-
-# Local module: generator for texture lookup builtins
-from texture_builtins import generate_texture_functions
-
-builtins_dir = path.join(path.dirname(path.abspath(__file__)), "..")
-
-# Get the path to the standalone GLSL compiler
-if len(argv) != 2:
-    print "Usage:", argv[0], "<path to compiler>"
-    sys.exit(1)
-
-compiler = argv[1]
-
-# Read the files in builtins/ir/*...add them to the supplied dictionary.
-def read_ir_files(fs):
-    for filename in glob(path.join(path.join(builtins_dir, 'ir'), '*.ir')):
-        function_name = path.basename(filename).split('.')[0]
-        with open(filename) as f:
-            fs[function_name] = f.read()
-
-def read_glsl_files(fs):
-    for filename in glob(path.join(path.join(builtins_dir, 'glsl'), '*.glsl')):
-        function_name = path.basename(filename).split('.')[0]
-        (output, returncode) = run_compiler([filename])
-        if (returncode):
-            sys.stderr.write("Failed to compile builtin: " + filename + "\n")
-            sys.stderr.write("Result:\n")
-            sys.stderr.write(output)
-        else:
-            fs[function_name] = output;
-
-# Return a dictionary containing all builtin definitions (even generated)
-def get_builtin_definitions():
-    fs = {}
-    generate_texture_functions(fs)
-    read_ir_files(fs)
-    read_glsl_files(fs)
-    return fs
-
-def stringify(s):
-    # Work around MSVC's 65535 byte limit by outputting an array of characters
-    # rather than actual string literals.
-    if len(s) >= 65535:
-        #t = "/* Warning: length " + repr(len(s)) + " too large */\n"
-        t = ""
-        for c in re.sub('\s\s+', ' ', s):
-            if c == '\n':
-                t += '\n'
-            else:
-                t += "'" + c + "',"
-        return '{' + t[:-1] + '}'
-
-    t = s.replace('\\', '\\\\').replace('"', '\\"').replace('\n', '\\n"\n   "')
-    return '   "' + t + '"\n'
-
-def write_function_definitions():
-    fs = get_builtin_definitions()
-    for k, v in sorted(fs.iteritems()):
-        print 'static const char builtin_' + k + '[] ='
-        print stringify(v), ';'
-
-def run_compiler(args):
-    command = [compiler, '--dump-hir'] + args
-    p = Popen(command, 1, stdout=PIPE, shell=False)
-    output = p.communicate()[0]
-
-    if (p.returncode):
-        sys.stderr.write("Failed to compile builtins with command:\n")
-        for arg in command:
-            sys.stderr.write(arg + " ")
-        sys.stderr.write("\n")
-        sys.stderr.write("Result:\n")
-        sys.stderr.write(output)
-
-    # Clean up output a bit by killing whitespace before a closing paren.
-    kill_paren_whitespace = re.compile(r'[ \n]*\)', re.MULTILINE)
-    output = kill_paren_whitespace.sub(')', output)
-
-    # Also toss any duplicate newlines
-    output = output.replace('\n\n', '\n')
-
-    # Kill any global variable declarations.  We don't want them.
-    kill_globals = re.compile(r'^\(declare.*\n', re.MULTILINE)
-    output = kill_globals.sub('', output)
-
-    return (output, p.returncode)
-
-def write_profile(filename, profile):
-    (proto_ir, returncode) = run_compiler([filename])
-
-    if returncode != 0:
-        print '#error builtins profile', profile, 'failed to compile'
-        return
-
-    print 'static const char prototypes_for_' + profile + '[] ='
-    print stringify(proto_ir), ';'
-
-    # Print a table of all the functions (not signatures) referenced.
-    # This is done so we can avoid bothering with a hash table in the C++ code.
-
-    function_names = set()
-    for func in re.finditer(r'\(function (.+)\n', proto_ir):
-        function_names.add(func.group(1))
-
-    print 'static const char *functions_for_' + profile + ' [] = {'
-    for func in sorted(function_names):
-        print '   builtin_' + func + ','
-    print '};'
-
-def write_profiles():
-    profiles = get_profile_list()
-    for (filename, profile) in profiles:
-        write_profile(filename, profile)
-
-def get_profile_list():
-    profile_files = []
-    for extension in ['glsl', 'frag', 'vert', 'geom']:
-        path_glob = path.join(
-            path.join(builtins_dir, 'profiles'), '*.' + extension)
-        profile_files.extend(glob(path_glob))
-    profiles = []
-    for pfile in sorted(profile_files):
-        profiles.append((pfile, path.basename(pfile).replace('.', '_')))
-    return profiles
-
-if __name__ == "__main__":
-    print """/* DO NOT MODIFY - automatically generated by generate_builtins.py */
-/*
- * Copyright © 2010 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- */
-
-#include <stdio.h>
-#include "main/core.h" /* for struct gl_shader */
-#include "glsl_parser_extras.h"
-#include "ir_reader.h"
-#include "program.h"
-#include "ast.h"
-
-extern "C" struct gl_shader *
-_mesa_new_shader(struct gl_context *ctx, GLuint name, GLenum type);
-
-gl_shader *
-read_builtins(GLenum target, const char *protos, const char **functions, unsigned count)
-{
-   struct gl_context fakeCtx;
-   fakeCtx.API = API_OPENGL_COMPAT;
-   fakeCtx.Const.GLSLVersion = 330;
-   fakeCtx.Extensions.ARB_ES2_compatibility = true;
-   fakeCtx.Extensions.ARB_ES3_compatibility = true;
-   fakeCtx.Const.ForceGLSLExtensionsWarn = false;
-   gl_shader *sh = _mesa_new_shader(NULL, 0, target);
-   struct _mesa_glsl_parse_state *st =
-      new(sh) _mesa_glsl_parse_state(&fakeCtx, target, sh);
-
-   st->language_version = 330;
-   st->symbols->separate_function_namespace = false;
-   st->ARB_texture_rectangle_enable = true;
-   st->EXT_texture_array_enable = true;
-   st->OES_EGL_image_external_enable = true;
-   st->ARB_shader_bit_encoding_enable = true;
-   st->ARB_texture_cube_map_array_enable = true;
-   st->ARB_shading_language_packing_enable = true;
-   st->ARB_texture_multisample_enable = true;
-   st->ARB_texture_query_lod_enable = true;
-   st->ARB_gpu_shader5_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]);
-         printf("Info log:\\n%s\\n", st->info_log);
-         ralloc_free(sh);
-         return NULL;
-      }
-   }
-
-   reparent_ir(sh->ir, sh);
-   delete st;
-
-   return sh;
-}
-"""
-
-    write_function_definitions()
-    write_profiles()
-
-    profiles = get_profile_list()
-
-    print 'static gl_shader *builtin_profiles[%d];' % len(profiles)
-
-    print """
-static void *builtin_mem_ctx = NULL;
-
-void
-_mesa_glsl_release_functions(void)
-{
-   ralloc_free(builtin_mem_ctx);
-   builtin_mem_ctx = NULL;
-   memset(builtin_profiles, 0, sizeof(builtin_profiles));
-}
-
-static void
-_mesa_read_profile(struct _mesa_glsl_parse_state *state,
-                   int profile_index,
-		   const char *prototypes,
-		   const char **functions,
-                   int count)
-{
-   gl_shader *sh = builtin_profiles[profile_index];
-
-   if (sh == NULL) {
-      sh = read_builtins(GL_VERTEX_SHADER, prototypes, functions, count);
-      ralloc_steal(builtin_mem_ctx, sh);
-      builtin_profiles[profile_index] = sh;
-   }
-
-   state->builtins_to_link[state->num_builtins_to_link] = sh;
-   state->num_builtins_to_link++;
-}
-
-void
-_mesa_glsl_initialize_functions(struct _mesa_glsl_parse_state *state)
-{
-   /* If we've already initialized the built-ins, bail early. */
-   if (state->num_builtins_to_link > 0)
-      return;
-
-   if (builtin_mem_ctx == NULL) {
-      builtin_mem_ctx = ralloc_context(NULL); // "GLSL built-in functions"
-      memset(&builtin_profiles, 0, sizeof(builtin_profiles));
-   }
-"""
-
-    i = 0
-    for (filename, profile) in profiles:
-        if profile.endswith('_vert'):
-            check = 'state->target == vertex_shader && '
-        elif profile.endswith('_frag'):
-            check = 'state->target == fragment_shader && '
-        elif profile.endswith('_geom'):
-            check = 'state->target == geometry_shader && '
-        else:
-            check = ''
-
-        version = re.sub(r'_(glsl|vert|frag|geom)$', '', profile)
-        if version[0].isdigit():
-            is_es = version.endswith('es')
-            if is_es:
-                version = version[:-2]
-            check += 'state->language_version == ' + version
-            check += ' && {0}state->es_shader'.format('' if is_es else '!')
-        else: # an extension name
-            check += 'state->' + version + '_enable'
-
-        print '   if (' + check + ') {'
-        print '      _mesa_read_profile(state, %d,' % i
-        print '                         prototypes_for_' + profile + ','
-        print '                         functions_for_' + profile + ','
-        print '                         Elements(functions_for_' + profile + '));'
-        print '   }'
-        print
-        i = i + 1
-    print '}'
-
diff --git a/src/glsl/builtins/tools/generate_matrixCompMultGLSL.py b/src/glsl/builtins/tools/generate_matrixCompMultGLSL.py
deleted file mode 100755
index 391ad11..0000000
--- a/src/glsl/builtins/tools/generate_matrixCompMultGLSL.py
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/python
-
-def gen_matrix(x, y = 0):
-    if y == 0:
-        y = x
-    type = "mat" + str(x)
-    if x != y:
-        type = type + "x" + str(y)
-    print type + " matrixCompMult(" + type + " x, " + type + " y)\n{"
-    print "    " + type + " z;"
-
-    for i in range(x):
-        print "    z[" + str(i) + "] = x[" + str(i) + "] * y[" + str(i) + "];"
-    print "    return z;\n}"
-
-print "#version 120"
-# 1.10
-gen_matrix(2)
-gen_matrix(3)
-gen_matrix(4)
-
-# 1.20
-gen_matrix(2,3) # mat2x3 means 2 columns, 3 rows
-gen_matrix(3,2)
-gen_matrix(2,4)
-gen_matrix(4,2)
-gen_matrix(3,4)
-gen_matrix(4,3)
diff --git a/src/glsl/builtins/tools/generate_outerProductGLSL.py b/src/glsl/builtins/tools/generate_outerProductGLSL.py
deleted file mode 100755
index c561cc3..0000000
--- a/src/glsl/builtins/tools/generate_outerProductGLSL.py
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/usr/bin/python
-
-def gen(x, y):
-    type = "mat" + str(x)
-    if x != y:
-        type = type + "x" + str(y)
-    print type + " outerProduct(vec" + str(y) + " u, vec" + str(x) + " v)\n{"
-    print "    " + type + " m;"
-
-    for i in range(x):
-        print "    m[" + str(i) + "] = u * v[" + str(i) + "];"
-    print "    return m;\n}"
-
-print "#version 120"
-gen(2,2)
-gen(2,3) # mat2x3 means 2 columns, 3 rows
-gen(2,4)
-gen(3,2)
-gen(3,3)
-gen(3,4)
-gen(4,2)
-gen(4,3)
-gen(4,4)
diff --git a/src/glsl/builtins/tools/generate_transposeGLSL.py b/src/glsl/builtins/tools/generate_transposeGLSL.py
deleted file mode 100755
index 8f669ce..0000000
--- a/src/glsl/builtins/tools/generate_transposeGLSL.py
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/python
-
-def gen(x, y):
-    origtype = "mat" + str(x)
-    trantype = "mat" + str(y)
-    if x != y:
-        origtype = origtype + "x" + str(y)
-        trantype = trantype + "x" + str(x)
-    print trantype + " transpose(" + origtype + " m)\n{"
-    print "    " + trantype + " t;"
-
-    # The obvious implementation of transpose
-    for i in range(x):
-        for j in range(y):
-            print "    t[" + str(j) + "][" + str(i) + "] =",
-            print "m[" + str(i) + "][" + str(j) + "];"
-    print "    return t;\n}"
-
-print "#version 120"
-gen(2,2)
-gen(2,3) # mat2x3 means 2 columns, 3 rows
-gen(2,4)
-gen(3,2)
-gen(3,3)
-gen(3,4)
-gen(4,2)
-gen(4,3)
-gen(4,4)
diff --git a/src/glsl/builtins/tools/texture_builtins.py b/src/glsl/builtins/tools/texture_builtins.py
deleted file mode 100755
index 6ef20d5..0000000
--- a/src/glsl/builtins/tools/texture_builtins.py
+++ /dev/null
@@ -1,664 +0,0 @@
-#!/usr/bin/python
-
-import sys
-import StringIO
-
-# Bitfield constants for the 'variant' argument to generate_sigs
-Proj = 1
-Offset = 2
-Single = 4
-
-def vec_type(g, size):
-    if size == 1:
-        if g == "i":
-            return "int"
-        elif g == "u":
-            return "uint"
-        return "float"
-    return g + "vec" + str(size)
-
-# Get the sampler dimension - i.e. sampler3D gives 3
-def get_sampler_dim(sampler_type):
-    if sampler_type[0].isdigit():
-        sampler_dim = int(sampler_type[0])
-    elif sampler_type.startswith("Cube"):
-        sampler_dim = 3
-    elif sampler_type == "ExternalOES":
-        sampler_dim = 2
-    elif sampler_type == "Buffer":
-        sampler_dim = 1
-    else:
-        assert False ("coord_dim: invalid sampler_type: " + sampler_type)
-    return sampler_dim
-
-# Get the coordinate dimension for a given sampler type.
-# Array samplers also get +1 here since the layer is really an extra coordinate
-def get_coord_dim(sampler_type, tex_inst):
-    coord_dim = get_sampler_dim(sampler_type)
-    if sampler_type.find("Array") != -1 and tex_inst != "lod":
-        coord_dim += 1
-    return coord_dim
-
-# Get the number of extra vector components (i.e. shadow comparitor)
-def get_extra_dim(sampler_type, use_proj, unused_fields, tex_inst):
-    extra_dim = unused_fields
-    if sampler_type == "CubeArrayShadow":
-        return 0
-    if sampler_type.find("Shadow") != -1 and tex_inst != "lod":
-        extra_dim += 1
-    if use_proj:
-        extra_dim += 1
-    return extra_dim
-
-def get_txs_dim(sampler_type, tex_inst):
-    if sampler_type.startswith("CubeArray"):
-        return 3
-    if sampler_type.startswith("Cube"):
-        return 2
-    return get_coord_dim(sampler_type, tex_inst)
-
-def has_lod(sampler_type):
-    if 'Buffer' in sampler_type: return False
-    if 'Rect' in sampler_type: return False
-    if 'MS' in sampler_type: return False
-    return True
-
-def generate_sigs(g, tex_inst, sampler_type, variant = 0, unused_fields = 0):
-    coord_dim = get_coord_dim(sampler_type, tex_inst)
-    extra_dim = get_extra_dim(sampler_type, variant & Proj, unused_fields, tex_inst)
-    sampler_dim = get_sampler_dim(sampler_type)
-
-    if variant & Single:
-        return_type = "float"
-    elif tex_inst == "txs":
-        return_type = vec_type("i", get_txs_dim(sampler_type, tex_inst))
-    elif tex_inst == "lod":
-        return_type = "vec2"
-    else:
-        return_type = g + "vec4"
-
-    # Print parameters
-    print "   (signature", return_type
-    print "     (parameters"
-    print "       (declare (in) " + g + "sampler" + sampler_type + " sampler)",
-    if tex_inst != "txs":
-        print "\n       (declare (in) " + vec_type("i" if tex_inst in ['txf','txf_ms'] else "", coord_dim + extra_dim) + " P)",
-    if tex_inst == "txl":
-        print "\n       (declare (in) float lod)",
-    elif tex_inst in ['txf', 'txs'] and has_lod(sampler_type):
-        print "\n       (declare (in) int lod)",
-    elif tex_inst == "txf_ms":
-        print "\n       (declare (in) int sample)",
-    elif tex_inst == "txd":
-        grad_type = vec_type("", sampler_dim)
-        print "\n       (declare (in) " + grad_type + " dPdx)",
-        print "\n       (declare (in) " + grad_type + " dPdy)",
-    if sampler_type == "CubeArrayShadow" and tex_inst == "tex":
-        print "\n       (declare (in) float compare)",
-
-    if variant & Offset:
-        print "\n       (declare (const_in) " + vec_type("i", sampler_dim) + " offset)",
-    if tex_inst == "txb":
-        print "\n       (declare (in) float bias)",
-
-    print ")\n     ((return (" + tex_inst, return_type, "(var_ref sampler)",
-
-    if tex_inst != "txs":
-        # Coordinate
-        if extra_dim > 0:
-            print "(swiz " + "xyzw"[:coord_dim] + " (var_ref P))",
-        else:
-            print "(var_ref P)",
-
-    if tex_inst not in ['txf_ms', 'txs', 'lod']:
-        # Coordinate offset
-        if variant & Offset:
-            print "(var_ref offset)",
-        else:
-            print "0",
-
-    if tex_inst not in ['txf', 'txf_ms', 'txs', 'lod']:
-        # Projective divisor
-        if variant & Proj:
-            print "(swiz " + "xyzw"[coord_dim + extra_dim-1] + " (var_ref P))",
-        else:
-            print "1",
-
-        # Shadow comparitor
-        if sampler_type == "CubeArrayShadow": # a special case
-            print "(var_ref compare)",
-        elif sampler_type == "2DArrayShadow" or sampler_type == "CubeShadow": # a special case:
-            print "(swiz w (var_ref P))",   # ...array layer is z; shadow is w
-        elif sampler_type.endswith("Shadow"):
-            print "(swiz z (var_ref P))",
-        else:
-            print "()",
-
-    # Bias/explicit LOD/gradient:
-    if tex_inst == "txb":
-        print "(var_ref bias)",
-    elif tex_inst in ['txs', 'txf', 'txf_ms']:
-        if has_lod(sampler_type):
-            print "(var_ref lod)",
-        elif tex_inst == 'txf_ms':
-            print "(var_ref sample)",
-        else:
-            print "(constant int (0))",
-    elif tex_inst == "txl":
-        print "(var_ref lod)",
-    elif tex_inst == "txd":
-        print "((var_ref dPdx) (var_ref dPdy))",
-    print "))))\n"
-
-def generate_fiu_sigs(tex_inst, sampler_type, variant = 0, unused_fields = 0):
-    generate_sigs("",  tex_inst, sampler_type, variant, unused_fields)
-    generate_sigs("i", tex_inst, sampler_type, variant, unused_fields)
-    generate_sigs("u", tex_inst, sampler_type, variant, unused_fields)
-
-def start_function(name):
-    sys.stdout = StringIO.StringIO()
-    print "((function " + name
-
-def end_function(fs, name):
-    print "))"
-    fs[name] = sys.stdout.getvalue();
-    sys.stdout.close()
-
-# Generate all the functions and store them in the supplied dictionary.
-# This is better than writing them to actual files since they should never be
-# edited; it'd also be easy to confuse them with the many hand-generated files.
-#
-# Takes a dictionary as an argument.
-def generate_texture_functions(fs):
-    start_function("textureSize")
-    generate_fiu_sigs("txs", "1D")
-    generate_fiu_sigs("txs", "2D")
-    generate_fiu_sigs("txs", "3D")
-    generate_fiu_sigs("txs", "Cube")
-    generate_fiu_sigs("txs", "1DArray")
-    generate_fiu_sigs("txs", "2DArray")
-    generate_sigs("", "txs", "1DShadow")
-    generate_sigs("", "txs", "2DShadow")
-    generate_sigs("", "txs", "CubeShadow")
-    generate_sigs("", "txs", "1DArrayShadow")
-    generate_sigs("", "txs", "2DArrayShadow")
-    generate_fiu_sigs("txs", "2DRect")
-    generate_sigs("", "txs", "2DRectShadow")
-    generate_fiu_sigs("txs", "Buffer")
-    generate_fiu_sigs("txs", "CubeArray")
-    generate_sigs("", "txs", "CubeArrayShadow")
-    generate_fiu_sigs("txs", "2DMS")
-    generate_fiu_sigs("txs", "2DMSArray")
-    end_function(fs, "textureSize")
-
-    start_function("texture")
-    generate_fiu_sigs("tex", "1D")
-    generate_fiu_sigs("tex", "2D")
-    generate_fiu_sigs("tex", "3D")
-    generate_fiu_sigs("tex", "Cube")
-    generate_fiu_sigs("tex", "1DArray")
-    generate_fiu_sigs("tex", "2DArray")
-    generate_sigs("", "tex", "1DShadow", Single, 1);
-    generate_sigs("", "tex", "2DShadow", Single);
-    generate_sigs("", "tex", "CubeShadow", Single);
-    generate_sigs("", "tex", "1DArrayShadow", Single);
-    generate_sigs("", "tex", "2DArrayShadow", Single);
-    generate_fiu_sigs("tex", "2DRect")
-    generate_sigs("", "tex", "2DRectShadow", Single);
-    # ARB_texture_cube_map_array extension
-    generate_fiu_sigs("tex", "CubeArray")
-    generate_sigs("", "tex", "CubeArrayShadow", Single);
-
-    generate_fiu_sigs("txb", "1D")
-    generate_fiu_sigs("txb", "2D")
-    generate_fiu_sigs("txb", "3D")
-    generate_fiu_sigs("txb", "Cube")
-    generate_fiu_sigs("txb", "1DArray")
-    generate_fiu_sigs("txb", "2DArray")
-    generate_fiu_sigs("txb", "CubeArray")
-    generate_sigs("", "txb", "1DShadow", Single, 1);
-    generate_sigs("", "txb", "2DShadow", Single);
-    generate_sigs("", "txb", "CubeShadow", Single);
-    generate_sigs("", "txb", "1DArrayShadow", Single);
-    generate_sigs("", "txb", "2DArrayShadow", Single);
-    end_function(fs, "texture")
-
-    start_function("textureProj")
-    generate_fiu_sigs("tex", "1D", Proj)
-    generate_fiu_sigs("tex", "1D", Proj, 2)
-    generate_fiu_sigs("tex", "2D", Proj)
-    generate_fiu_sigs("tex", "2D", Proj, 1)
-    generate_fiu_sigs("tex", "3D", Proj)
-    generate_sigs("", "tex", "1DShadow", Proj | Single, 1);
-    generate_sigs("", "tex", "2DShadow", Proj | Single);
-    generate_fiu_sigs("tex", "2DRect", Proj)
-    generate_fiu_sigs("tex", "2DRect", Proj, 1)
-    generate_sigs("", "tex", "2DRectShadow", Proj | Single);
-
-    generate_fiu_sigs("txb", "1D", Proj)
-    generate_fiu_sigs("txb", "1D", Proj, 2)
-    generate_fiu_sigs("txb", "2D", Proj)
-    generate_fiu_sigs("txb", "2D", Proj, 1)
-    generate_fiu_sigs("txb", "3D", Proj)
-    generate_sigs("", "txb", "1DShadow", Proj | Single, 1);
-    generate_sigs("", "txb", "2DShadow", Proj | Single);
-    end_function(fs, "textureProj")
-
-    start_function("textureLod")
-    generate_fiu_sigs("txl", "1D")
-    generate_fiu_sigs("txl", "2D")
-    generate_fiu_sigs("txl", "3D")
-    generate_fiu_sigs("txl", "Cube")
-    generate_fiu_sigs("txl", "1DArray")
-    generate_fiu_sigs("txl", "2DArray")
-    generate_sigs("", "txl", "1DShadow", Single, 1);
-    generate_sigs("", "txl", "2DShadow", Single);
-    generate_sigs("", "txl", "1DArrayShadow", Single);
-    # ARB_texture_cube_map_array extension
-    generate_fiu_sigs("txl", "CubeArray")
-    end_function(fs, "textureLod")
-
-    start_function("textureLodOffset")
-    generate_fiu_sigs("txl", "1D", Offset)
-    generate_fiu_sigs("txl", "2D", Offset)
-    generate_fiu_sigs("txl", "3D", Offset)
-    generate_fiu_sigs("txl", "1DArray", Offset)
-    generate_fiu_sigs("txl", "2DArray", Offset)
-    generate_sigs("", "txl", "1DShadow", Offset | Single, 1);
-    generate_sigs("", "txl", "2DShadow", Offset | Single);
-    generate_sigs("", "txl", "1DArrayShadow", Offset | Single);
-    end_function(fs, "textureLodOffset")
-
-    start_function("textureOffset")
-    generate_fiu_sigs("tex", "1D", Offset)
-    generate_fiu_sigs("tex", "2D", Offset)
-    generate_fiu_sigs("tex", "3D", Offset)
-    generate_fiu_sigs("tex", "2DRect", Offset)
-    generate_sigs("", "tex", "2DRectShadow", Offset | Single);
-    generate_fiu_sigs("tex", "1DArray", Offset)
-    generate_fiu_sigs("tex", "2DArray", Offset)
-    generate_sigs("", "tex", "1DShadow", Offset | Single, 1);
-    generate_sigs("", "tex", "2DShadow", Offset | Single);
-    generate_sigs("", "tex", "1DArrayShadow", Offset | Single);
-
-    generate_fiu_sigs("txb", "1D", Offset)
-    generate_fiu_sigs("txb", "2D", Offset)
-    generate_fiu_sigs("txb", "3D", Offset)
-    generate_fiu_sigs("txb", "1DArray", Offset)
-    generate_fiu_sigs("txb", "2DArray", Offset)
-    generate_sigs("", "txb", "1DShadow", Offset | Single, 1);
-    generate_sigs("", "txb", "2DShadow", Offset | Single);
-    generate_sigs("", "txb", "1DArrayShadow", Offset | Single);
-    end_function(fs, "textureOffset")
-
-    start_function("texelFetch")
-    generate_fiu_sigs("txf", "1D")
-    generate_fiu_sigs("txf", "2D")
-    generate_fiu_sigs("txf", "3D")
-    generate_fiu_sigs("txf", "2DRect")
-    generate_fiu_sigs("txf", "1DArray")
-    generate_fiu_sigs("txf", "2DArray")
-    generate_fiu_sigs("txf", "Buffer")
-    generate_fiu_sigs("txf_ms", "2DMS")
-    generate_fiu_sigs("txf_ms", "2DMSArray")
-    end_function(fs, "texelFetch")
-
-    start_function("texelFetchOffset")
-    generate_fiu_sigs("txf", "1D", Offset)
-    generate_fiu_sigs("txf", "2D", Offset)
-    generate_fiu_sigs("txf", "3D", Offset)
-    generate_fiu_sigs("txf", "2DRect", Offset)
-    generate_fiu_sigs("txf", "1DArray", Offset)
-    generate_fiu_sigs("txf", "2DArray", Offset)
-    end_function(fs, "texelFetchOffset")
-
-    start_function("textureProjOffset")
-    generate_fiu_sigs("tex", "1D", Proj | Offset)
-    generate_fiu_sigs("tex", "1D", Proj | Offset, 2)
-    generate_fiu_sigs("tex", "2D", Proj | Offset)
-    generate_fiu_sigs("tex", "2D", Proj | Offset, 1)
-    generate_fiu_sigs("tex", "3D", Proj | Offset)
-    generate_fiu_sigs("tex", "2DRect", Proj | Offset)
-    generate_fiu_sigs("tex", "2DRect", Proj | Offset, 1)
-    generate_sigs("", "tex", "2DRectShadow", Proj | Offset | Single);
-    generate_sigs("", "tex", "1DShadow", Proj | Offset | Single, 1);
-    generate_sigs("", "tex", "2DShadow", Proj | Offset | Single);
-
-    generate_fiu_sigs("txb", "1D", Proj | Offset)
-    generate_fiu_sigs("txb", "1D", Proj | Offset, 2)
-    generate_fiu_sigs("txb", "2D", Proj | Offset)
-    generate_fiu_sigs("txb", "2D", Proj | Offset, 1)
-    generate_fiu_sigs("txb", "3D", Proj | Offset)
-    generate_sigs("", "txb", "1DShadow", Proj | Offset | Single, 1);
-    generate_sigs("", "txb", "2DShadow", Proj | Offset | Single);
-    end_function(fs, "textureProjOffset")
-
-    start_function("textureProjLod")
-    generate_fiu_sigs("txl", "1D", Proj)
-    generate_fiu_sigs("txl", "1D", Proj, 2)
-    generate_fiu_sigs("txl", "2D", Proj)
-    generate_fiu_sigs("txl", "2D", Proj, 1)
-    generate_fiu_sigs("txl", "3D", Proj)
-    generate_sigs("", "txl", "1DShadow", Proj | Single, 1);
-    generate_sigs("", "txl", "2DShadow", Proj | Single);
-    end_function(fs, "textureProjLod")
-
-    start_function("textureProjLodOffset")
-    generate_fiu_sigs("txl", "1D", Proj | Offset)
-    generate_fiu_sigs("txl", "1D", Proj | Offset, 2)
-    generate_fiu_sigs("txl", "2D", Proj | Offset)
-    generate_fiu_sigs("txl", "2D", Proj | Offset, 1)
-    generate_fiu_sigs("txl", "3D", Proj | Offset)
-    generate_sigs("", "txl", "1DShadow", Proj | Offset | Single, 1);
-    generate_sigs("", "txl", "2DShadow", Proj | Offset | Single);
-    end_function(fs, "textureProjLodOffset")
-
-    start_function("textureGrad")
-    generate_fiu_sigs("txd", "1D")
-    generate_fiu_sigs("txd", "2D")
-    generate_fiu_sigs("txd", "3D")
-    generate_fiu_sigs("txd", "Cube")
-    generate_fiu_sigs("txd", "1DArray")
-    generate_fiu_sigs("txd", "2DArray")
-    generate_fiu_sigs("txd", "2DRect")
-    generate_sigs("", "txd", "2DRectShadow", Single);
-    generate_sigs("", "txd", "1DShadow", Single, 1);
-    generate_sigs("", "txd", "2DShadow", Single);
-    generate_sigs("", "txd", "CubeShadow", Single);
-    generate_sigs("", "txd", "1DArrayShadow", Single);
-    generate_sigs("", "txd", "2DArrayShadow", Single);
-    # ARB_texture_cube_map_array extension
-    generate_fiu_sigs("txd", "CubeArray")
-    end_function(fs, "textureGrad")
-
-    start_function("textureGradOffset")
-    generate_fiu_sigs("txd", "1D", Offset)
-    generate_fiu_sigs("txd", "2D", Offset)
-    generate_fiu_sigs("txd", "3D", Offset)
-    generate_fiu_sigs("txd", "2DRect", Offset)
-    generate_sigs("", "txd", "2DRectShadow", Offset | Single);
-    generate_fiu_sigs("txd", "1DArray", Offset)
-    generate_fiu_sigs("txd", "2DArray", Offset)
-    generate_sigs("", "txd", "1DShadow", Offset | Single, 1);
-    generate_sigs("", "txd", "2DShadow", Offset | Single);
-    generate_sigs("", "txd", "1DArrayShadow", Offset | Single);
-    generate_sigs("", "txd", "2DArrayShadow", Offset | Single);
-    end_function(fs, "textureGradOffset")
-
-    start_function("textureProjGrad")
-    generate_fiu_sigs("txd", "1D", Proj)
-    generate_fiu_sigs("txd", "1D", Proj, 2)
-    generate_fiu_sigs("txd", "2D", Proj)
-    generate_fiu_sigs("txd", "2D", Proj, 1)
-    generate_fiu_sigs("txd", "3D", Proj)
-    generate_fiu_sigs("txd", "2DRect", Proj)
-    generate_fiu_sigs("txd", "2DRect", Proj, 1)
-    generate_sigs("", "txd", "2DRectShadow", Proj | Single);
-    generate_sigs("", "txd", "1DShadow", Proj | Single, 1);
-    generate_sigs("", "txd", "2DShadow", Proj | Single);
-    end_function(fs, "textureProjGrad")
-
-    start_function("textureProjGradOffset")
-    generate_fiu_sigs("txd", "1D", Proj | Offset)
-    generate_fiu_sigs("txd", "1D", Proj | Offset, 2)
-    generate_fiu_sigs("txd", "2D", Proj | Offset)
-    generate_fiu_sigs("txd", "2D", Proj | Offset, 1)
-    generate_fiu_sigs("txd", "3D", Proj | Offset)
-    generate_fiu_sigs("txd", "2DRect", Proj | Offset)
-    generate_fiu_sigs("txd", "2DRect", Proj | Offset, 1)
-    generate_sigs("", "txd", "2DRectShadow", Proj | Offset | Single);
-    generate_sigs("", "txd", "1DShadow", Proj | Offset | Single, 1);
-    generate_sigs("", "txd", "2DShadow", Proj | Offset | Single);
-    end_function(fs, "textureProjGradOffset")
-
-
-    # ARB_texture_rectangle extension
-    start_function("texture2DRect")
-    generate_sigs("", "tex", "2DRect")
-    end_function(fs, "texture2DRect")
-
-    start_function("texture2DRectProj")
-    generate_sigs("", "tex", "2DRect", Proj)
-    generate_sigs("", "tex", "2DRect", Proj, 1)
-    end_function(fs, "texture2DRectProj")
-
-    start_function("shadow2DRect")
-    generate_sigs("", "tex", "2DRectShadow")
-    end_function(fs, "shadow2DRect")
-
-    start_function("shadow2DRectProj")
-    generate_sigs("", "tex", "2DRectShadow", Proj)
-    end_function(fs, "shadow2DRectProj")
-
-    # EXT_texture_array extension
-    start_function("texture1DArray")
-    generate_sigs("", "tex", "1DArray")
-    generate_sigs("", "txb", "1DArray")
-    end_function(fs, "texture1DArray")
-
-    start_function("texture1DArrayLod")
-    generate_sigs("", "txl", "1DArray")
-    end_function(fs, "texture1DArrayLod")
-
-    start_function("texture2DArray")
-    generate_sigs("", "tex", "2DArray")
-    generate_sigs("", "txb", "2DArray")
-    end_function(fs, "texture2DArray")
-
-    start_function("texture2DArrayLod")
-    generate_sigs("", "txl", "2DArray")
-    end_function(fs, "texture2DArrayLod")
-
-    start_function("shadow1DArray")
-    generate_sigs("", "tex", "1DArrayShadow")
-    generate_sigs("", "txb", "1DArrayShadow")
-    end_function(fs, "shadow1DArray")
-
-    start_function("shadow1DArrayLod")
-    generate_sigs("", "txl", "1DArrayShadow")
-    end_function(fs, "shadow1DArrayLod")
-
-    start_function("shadow2DArray")
-    generate_sigs("", "tex", "2DArrayShadow")
-    end_function(fs, "shadow2DArray")
-
-    # ARB_shader_texture_lod extension
-    start_function("texture1DGradARB")
-    generate_fiu_sigs("txd", "1D")
-    end_function(fs, "texture1DGradARB")
-
-    start_function("texture2DGradARB")
-    generate_fiu_sigs("txd", "2D")
-    end_function(fs, "texture2DGradARB")
-
-    start_function("texture3DGradARB")
-    generate_fiu_sigs("txd", "3D")
-    end_function(fs, "texture3DGradARB")
-
-    start_function("textureCubeGradARB")
-    generate_fiu_sigs("txd", "Cube")
-    end_function(fs, "textureCubeGradARB")
-
-    start_function("texture1DProjGradARB")
-    generate_fiu_sigs("txd", "1D", True)
-    generate_fiu_sigs("txd", "1D", True, 2)
-    end_function(fs, "texture1DProjGradARB")
-
-    start_function("texture2DProjGradARB")
-    generate_fiu_sigs("txd", "2D", True)
-    generate_fiu_sigs("txd", "2D", True, 1)
-    end_function(fs, "texture2DProjGradARB")
-
-    start_function("texture3DProjGradARB")
-    generate_fiu_sigs("txd", "3D", True)
-    end_function(fs, "texture3DProjGradARB")
-
-    start_function("shadow1DGradARB")
-    generate_sigs("", "txd", "1DShadow", False, 1)
-    end_function(fs, "shadow1DGradARB")
-
-    start_function("shadow1DProjGradARB")
-    generate_sigs("", "txd", "1DShadow", True, 1)
-    end_function(fs, "shadow1DProjGradARB")
-
-    start_function("shadow2DGradARB")
-    generate_sigs("", "txd", "2DShadow", False)
-    end_function(fs, "shadow2DGradARB")
-
-    start_function("shadow2DProjGradARB")
-    generate_sigs("", "txd", "2DShadow", True)
-    end_function(fs, "shadow2DProjGradARB")
-
-    start_function("texture2DRectGradARB")
-    generate_sigs("", "txd", "2DRect")
-    end_function(fs, "texture2DRectGradARB")
-
-    start_function("texture2DRectProjGradARB")
-    generate_sigs("", "txd", "2DRect", True)
-    generate_sigs("", "txd", "2DRect", True, 1)
-    end_function(fs, "texture2DRectProjGradARB")
-
-    start_function("shadow2DRectGradARB")
-    generate_sigs("", "txd", "2DRectShadow", False)
-    end_function(fs, "shadow2DRectGradARB")
-
-    start_function("shadow2DRectProjGradARB")
-    generate_sigs("", "txd", "2DRectShadow", True)
-    end_function(fs, "shadow2DRectProjGradARB")
-
-    # Deprecated (110/120 style) functions with silly names:
-    start_function("texture1D")
-    generate_sigs("", "tex", "1D")
-    generate_sigs("", "txb", "1D")
-    end_function(fs, "texture1D")
-
-    start_function("texture1DLod")
-    generate_sigs("", "txl", "1D")
-    end_function(fs, "texture1DLod")
-
-    start_function("texture1DProj")
-    generate_sigs("", "tex", "1D", Proj)
-    generate_sigs("", "tex", "1D", Proj, 2)
-    generate_sigs("", "txb", "1D", Proj)
-    generate_sigs("", "txb", "1D", Proj, 2)
-    end_function(fs, "texture1DProj")
-
-    start_function("texture1DProjLod")
-    generate_sigs("", "txl", "1D", Proj)
-    generate_sigs("", "txl", "1D", Proj, 2)
-    end_function(fs, "texture1DProjLod")
-
-    start_function("texture2D")
-    generate_sigs("", "tex", "2D")
-    generate_sigs("", "txb", "2D")
-    # OES_EGL_image_external
-    generate_sigs("", "tex", "ExternalOES")
-    end_function(fs, "texture2D")
-
-    start_function("texture2DLod")
-    generate_sigs("", "txl", "2D")
-    end_function(fs, "texture2DLod")
-
-    start_function("texture2DProj")
-    generate_sigs("", "tex", "2D", Proj)
-    generate_sigs("", "tex", "2D", Proj, 1)
-    generate_sigs("", "txb", "2D", Proj)
-    generate_sigs("", "txb", "2D", Proj, 1)
-    # OES_EGL_image_external
-    generate_sigs("", "tex", "ExternalOES", Proj)
-    generate_sigs("", "tex", "ExternalOES", Proj, 1)
-    end_function(fs, "texture2DProj")
-
-    start_function("texture2DProjLod")
-    generate_sigs("", "txl", "2D", Proj)
-    generate_sigs("", "txl", "2D", Proj, 1)
-    end_function(fs, "texture2DProjLod")
-
-    start_function("texture3D")
-    generate_sigs("", "tex", "3D")
-    generate_sigs("", "txb", "3D")
-    end_function(fs, "texture3D")
-
-    start_function("texture3DLod")
-    generate_sigs("", "txl", "3D")
-    end_function(fs, "texture3DLod")
-
-    start_function("texture3DProj")
-    generate_sigs("", "tex", "3D", Proj)
-    generate_sigs("", "txb", "3D", Proj)
-    end_function(fs, "texture3DProj")
-
-    start_function("texture3DProjLod")
-    generate_sigs("", "txl", "3D", Proj)
-    end_function(fs, "texture3DProjLod")
-
-    start_function("textureCube")
-    generate_sigs("", "tex", "Cube")
-    generate_sigs("", "txb", "Cube")
-    end_function(fs, "textureCube")
-
-    start_function("textureCubeLod")
-    generate_sigs("", "txl", "Cube")
-    end_function(fs, "textureCubeLod")
-
-    start_function("shadow1D")
-    generate_sigs("", "tex", "1DShadow", False, 1)
-    generate_sigs("", "txb", "1DShadow", False, 1)
-    end_function(fs, "shadow1D")
-
-    start_function("shadow1DLod")
-    generate_sigs("", "txl", "1DShadow", False, 1)
-    end_function(fs, "shadow1DLod")
-
-    start_function("shadow1DProj")
-    generate_sigs("", "tex", "1DShadow", Proj, 1)
-    generate_sigs("", "txb", "1DShadow", Proj, 1)
-    end_function(fs, "shadow1DProj")
-
-    start_function("shadow1DProjLod")
-    generate_sigs("", "txl", "1DShadow", Proj, 1)
-    end_function(fs, "shadow1DProjLod")
-
-    start_function("shadow2D")
-    generate_sigs("", "tex", "2DShadow")
-    generate_sigs("", "txb", "2DShadow")
-    end_function(fs, "shadow2D")
-
-    start_function("shadow2DLod")
-    generate_sigs("", "txl", "2DShadow")
-    end_function(fs, "shadow2DLod")
-
-    start_function("shadow2DProj")
-    generate_sigs("", "tex", "2DShadow", Proj)
-    generate_sigs("", "txb", "2DShadow", Proj)
-    end_function(fs, "shadow2DProj")
-
-    start_function("shadow2DProjLod")
-    generate_sigs("", "txl", "2DShadow", Proj)
-    end_function(fs, "shadow2DProjLod")
-
-    start_function("textureQueryLOD")
-    generate_fiu_sigs("lod", "1D")
-    generate_fiu_sigs("lod", "2D")
-    generate_fiu_sigs("lod", "3D")
-    generate_fiu_sigs("lod", "Cube")
-    generate_fiu_sigs("lod", "1DArray")
-    generate_fiu_sigs("lod", "2DArray")
-    generate_fiu_sigs("lod", "CubeArray")
-    generate_sigs("", "lod", "1DShadow")
-    generate_sigs("", "lod", "2DShadow")
-    generate_sigs("", "lod", "CubeShadow")
-    generate_sigs("", "lod", "1DArrayShadow")
-    generate_sigs("", "lod", "2DArrayShadow")
-    generate_sigs("", "lod", "CubeArrayShadow")
-    end_function(fs, "textureQueryLOD")
-
-    sys.stdout = sys.__stdout__
-    return fs
-
-# If you actually run this script, it'll print out all the functions.
-if __name__ == "__main__":
-    fs = {}
-    generate_texture_functions(fs);
-    for k, v in fs.iteritems():
-        print v
-- 
1.8.3.4



More information about the mesa-dev mailing list