From 69f084b1b789393bf264c8a4b5d0b5dcd0079c67 Mon Sep 17 00:00:00 2001 From: "daniel@transgaming.com" Date: Fri, 23 Apr 2010 18:34:46 +0000 Subject: [PATCH] Fix matrix by matrix multiplication TRAC #11751 Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@187 736b8ea6-26fd-11df-bfd4-992fa37f6226 --- src/compiler/OutputHLSL.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/OutputHLSL.cpp b/src/compiler/OutputHLSL.cpp index 67309f5c2..a9ab3c831 100644 --- a/src/compiler/OutputHLSL.cpp +++ b/src/compiler/OutputHLSL.cpp @@ -950,7 +950,7 @@ bool OutputHLSL::visitBinary(Visit visit, TIntermBinary *node) case EOpMatrixTimesScalar: outputTriplet(visit, "(", " * ", ")"); break; case EOpVectorTimesMatrix: outputTriplet(visit, "mul(", ", transpose(", "))"); break; case EOpMatrixTimesVector: outputTriplet(visit, "mul(transpose(", "), ", ")"); break; - case EOpMatrixTimesMatrix: outputTriplet(visit, "mul(", ", ", ")"); break; + case EOpMatrixTimesMatrix: outputTriplet(visit, "transpose(mul(transpose(", "), transpose(", ")))"); break; case EOpLogicalOr: outputTriplet(visit, "(", " || ", ")"); break; case EOpLogicalXor: outputTriplet(visit, "xor(", ", ", ")"); break; case EOpLogicalAnd: outputTriplet(visit, "(", " && ", ")"); break;