Commit fc7fab72 by Olli Etuaho

Fix matrix compound multiplication

Matrix compound multiplication was lacking transposes. Add them so that results match normal multiplication. BUG=angleproject:938 TEST=dEQP-GLES3.functional.shaders.matrix.mul_assign.* Change-Id: I4c5159de0727afb4ee2831586f04fa817619de7a Reviewed-on: https://chromium-review.googlesource.com/256366Tested-by: 's avatarOlli Etuaho <oetuaho@nvidia.com> Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarZhenyao Mo <zmo@chromium.org>
parent 51585037
...@@ -1454,13 +1454,13 @@ bool OutputHLSL::visitBinary(Visit visit, TIntermBinary *node) ...@@ -1454,13 +1454,13 @@ bool OutputHLSL::visitBinary(Visit visit, TIntermBinary *node)
} }
else if (visit == InVisit) else if (visit == InVisit)
{ {
out << " = mul("; out << " = transpose(mul(transpose(";
node->getLeft()->traverse(this); node->getLeft()->traverse(this);
out << ", "; out << "), transpose(";
} }
else else
{ {
out << "))"; out << "))))";
} }
break; break;
case EOpDivAssign: outputTriplet(visit, "(", " /= ", ")"); break; case EOpDivAssign: outputTriplet(visit, "(", " /= ", ")"); break;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment