Fix non-square matrix-to-matrix constructors.

This fixes some broken tests in dEQP:
functional.shaders.conversions.matrix_to_matrix

BUG=angle:712

Change-Id: I0538595f2913a2c1d4f0da901d65d608a6580d19
Reviewed-on: https://chromium-review.googlesource.com/210882
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
diff --git a/src/compiler/translator/StructureHLSL.cpp b/src/compiler/translator/StructureHLSL.cpp
index cdd10c5..7aaf47c 100644
--- a/src/compiler/translator/StructureHLSL.cpp
+++ b/src/compiler/translator/StructureHLSL.cpp
@@ -306,13 +306,13 @@
         }
         else if (parameter.isMatrix())
         {
-            for (int row = 0; row < rows; row++)
+            for (int col = 0; col < cols; col++)
             {
-                for (int col = 0; col < cols; col++)
+                for (int row = 0; row < rows; row++)
                 {
                     if (row < parameter.getRows() && col < parameter.getCols())
                     {
-                        constructor += TString("x0") + "[" + str(row) + "][" + str(col) + "]";
+                        constructor += TString("x0") + "[" + str(col) + "][" + str(row) + "]";
                     }
                     else
                     {