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
{