glsl2: Fix outerProduct builtin.

The type signatures were completely backwards.
diff --git a/src/glsl/builtin_function.cpp b/src/glsl/builtin_function.cpp
index cc957e4..3343cf5 100644
--- a/src/glsl/builtin_function.cpp
+++ b/src/glsl/builtin_function.cpp
@@ -2666,92 +2666,92 @@
    "       (declare (in) vec2 u)\n"
    "       (declare (in) vec2 v))\n"
    "     ((declare () mat2 m)\n"
-   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0)))  (expression vec2 * (var_ref v) (swiz x (var_ref u)))) \n"
-   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1)))  (expression vec2 * (var_ref v) (swiz y (var_ref u)))) \n"
-   "(return (var_ref m))))\n"
+   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))\n"
+   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))\n"
+   "      (return (var_ref m))))\n"
    "\n"
    "   (signature mat2x3\n"
    "     (parameters\n"
-   "       (declare (in) vec2 u)\n"
-   "       (declare (in) vec3 v))\n"
+   "       (declare (in) vec3 u)\n"
+   "       (declare (in) vec2 v))\n"
    "     ((declare () mat2x3 m)\n"
-   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0)))  (expression vec3 * (var_ref v) (swiz x (var_ref u)))) \n"
-   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1)))  (expression vec3 * (var_ref v) (swiz y (var_ref u)))) \n"
-   "(return (var_ref m))))\n"
+   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))\n"
+   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))\n"
+   "      (return (var_ref m))))\n"
    "\n"
    "   (signature mat2x4\n"
    "     (parameters\n"
-   "       (declare (in) vec2 u)\n"
-   "       (declare (in) vec4 v))\n"
+   "       (declare (in) vec4 u)\n"
+   "       (declare (in) vec2 v))\n"
    "     ((declare () mat2x4 m)\n"
-   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0)))  (expression vec4 * (var_ref v) (swiz x (var_ref u)))) \n"
-   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1)))  (expression vec4 * (var_ref v) (swiz y (var_ref u)))) \n"
-   "(return (var_ref m))))\n"
+   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))\n"
+   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))\n"
+   "      (return (var_ref m))))\n"
    "\n"
    "   (signature mat3x2\n"
    "     (parameters\n"
-   "       (declare (in) vec3 u)\n"
-   "       (declare (in) vec2 v))\n"
+   "       (declare (in) vec2 u)\n"
+   "       (declare (in) vec3 v))\n"
    "     ((declare () mat3x2 m)\n"
-   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0)))  (expression vec2 * (var_ref v) (swiz x (var_ref u)))) \n"
-   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1)))  (expression vec2 * (var_ref v) (swiz y (var_ref u)))) \n"
-   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (2)))  (expression vec2 * (var_ref v) (swiz z (var_ref u)))) \n"
-   "(return (var_ref m))))\n"
+   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))\n"
+   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))\n"
+   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (2))) (expression vec2 * (var_ref u) (swiz z (var_ref v))))\n"
+   "      (return (var_ref m))\n"
+   " ))\n"
    "\n"
    "   (signature mat3\n"
    "     (parameters\n"
    "       (declare (in) vec3 u)\n"
    "       (declare (in) vec3 v))\n"
    "     ((declare () mat3 m)\n"
-   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0)))  (expression vec3 * (var_ref v) (swiz x (var_ref u)))) \n"
-   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1)))  (expression vec3 * (var_ref v) (swiz y (var_ref u)))) \n"
-   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (2)))  (expression vec3 * (var_ref v) (swiz z (var_ref u)))) \n"
-   "(return (var_ref m))))\n"
+   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))\n"
+   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))\n"
+   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (2))) (expression vec3 * (var_ref u) (swiz z (var_ref v))))\n"
+   "      (return (var_ref m))))\n"
    "\n"
    "   (signature mat3x4\n"
    "     (parameters\n"
-   "       (declare (in) vec3 u)\n"
-   "       (declare (in) vec4 v))\n"
+   "       (declare (in) vec4 u)\n"
+   "       (declare (in) vec3 v))\n"
    "     ((declare () mat3x4 m)\n"
-   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0)))  (expression vec4 * (var_ref v) (swiz x (var_ref u)))) \n"
-   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1)))  (expression vec4 * (var_ref v) (swiz y (var_ref u)))) \n"
-   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (2)))  (expression vec4 * (var_ref v) (swiz z (var_ref u)))) \n"
-   "(return (var_ref m))))\n"
+   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))\n"
+   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))\n"
+   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (2))) (expression vec4 * (var_ref u) (swiz z (var_ref v))))\n"
+   "      (return (var_ref m))))\n"
    "\n"
    "   (signature mat4x2\n"
    "     (parameters\n"
-   "       (declare (in) vec4 u)\n"
-   "       (declare (in) vec2 v))\n"
+   "       (declare (in) vec2 u)\n"
+   "       (declare (in) vec4 v))\n"
    "     ((declare () mat4x2 m)\n"
-   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0)))  (expression vec2 * (var_ref v) (swiz x (var_ref u)))) \n"
-   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1)))  (expression vec2 * (var_ref v) (swiz y (var_ref u)))) \n"
-   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (2)))  (expression vec2 * (var_ref v) (swiz z (var_ref u)))) \n"
-   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (3)))  (expression vec2 * (var_ref v) (swiz w (var_ref u)))) \n"
-   "(return (var_ref m))))\n"
+   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))\n"
+   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))\n"
+   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (2))) (expression vec2 * (var_ref u) (swiz z (var_ref v))))\n"
+   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (3))) (expression vec2 * (var_ref u) (swiz w (var_ref v))))\n"
+   "      (return (var_ref m))))\n"
    "\n"
    "   (signature mat4x3\n"
    "     (parameters\n"
-   "       (declare (in) vec4 u)\n"
-   "       (declare (in) vec3 v))\n"
+   "       (declare (in) vec3 u)\n"
+   "       (declare (in) vec4 v))\n"
    "     ((declare () mat4x3 m)\n"
-   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0)))  (expression vec3 * (var_ref v) (swiz x (var_ref u)))) \n"
-   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1)))  (expression vec3 * (var_ref v) (swiz y (var_ref u)))) \n"
-   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (2)))  (expression vec3 * (var_ref v) (swiz z (var_ref u)))) \n"
-   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (3)))  (expression vec3 * (var_ref v) (swiz w (var_ref u)))) \n"
-   "(return (var_ref m))))\n"
+   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))\n"
+   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))\n"
+   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (2))) (expression vec3 * (var_ref u) (swiz z (var_ref v))))\n"
+   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (3))) (expression vec3 * (var_ref u) (swiz w (var_ref v))))\n"
+   "      (return (var_ref m))))\n"
    "\n"
    "   (signature mat4\n"
    "     (parameters\n"
    "       (declare (in) vec4 u)\n"
    "       (declare (in) vec4 v))\n"
    "     ((declare () mat4 m)\n"
-   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0)))  (expression vec4 * (var_ref v) (swiz x (var_ref u)))) \n"
-   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1)))  (expression vec4 * (var_ref v) (swiz y (var_ref u)))) \n"
-   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (2)))  (expression vec4 * (var_ref v) (swiz z (var_ref u)))) \n"
-   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (3)))  (expression vec4 * (var_ref v) (swiz w (var_ref u)))) \n"
-   "(return (var_ref m))))\n"
+   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))\n"
+   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))\n"
+   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (2))) (expression vec4 * (var_ref u) (swiz z (var_ref v))))\n"
+   "      (assign (constant bool (1)) (array_ref (var_ref m) (constant int (3))) (expression vec4 * (var_ref u) (swiz w (var_ref v))))\n"
+   "      (return (var_ref m))))\n"
    "))\n"
-   "\n"
 };
 
 static const char *builtins_120_transpose = {