HLSL: matrix and vector truncations for m*v, v*m, m*m

HLSL truncates the vector, or one of the two matrix dimensions if there is a
dimensional mismatch in m*v, v*m, or m*m.

This PR adds that ability.  Conversion constructors are added as required.
This commit is contained in:
LoopDawg
2017-11-22 10:33:34 -07:00
parent 698bf7547a
commit 2e62910633
6 changed files with 523 additions and 0 deletions

View File

@@ -238,6 +238,7 @@ INSTANTIATE_TEST_CASE_P(
{"hlsl.matrixSwizzle.vert", "ShaderFunction"},
{"hlsl.memberFunCall.frag", "main"},
{"hlsl.mintypes.frag", "main"},
{"hlsl.mul-truncate.frag", "main"},
{"hlsl.multiEntry.vert", "RealEntrypoint"},
{"hlsl.multiReturn.frag", "main"},
{"hlsl.matrixindex.frag", "main"},