Fix software skinning

This commit is contained in:
Henrik Rydgård 2017-07-07 12:57:39 +02:00
parent 087c118003
commit f5e110018b

View file

@ -206,12 +206,12 @@ JittedVertexDecoder VertexDecoderJitCache::Compile(const VertexDecoder &dec, int
MOVAPS(XMM4, MatR(tempReg1));
MOV(PTRBITS, R(tempReg1), ImmPtr(&aOne));
MOVUPS(XMM5, MatR(tempReg1));
MOV(PTRBITS, R(tempReg2), ImmPtr(gstate.boneMatrix));
MOV(PTRBITS, R(tempReg1), ImmPtr(gstate.boneMatrix));
for (int i = 0; i < dec.nweights; i++) {
MOVUPS(XMM0, MDisp(tempReg2, 12 * i));
MOVUPS(XMM1, MDisp(tempReg2, 12 * i + 3));
MOVUPS(XMM2, MDisp(tempReg2, 12 * i + 3 * 2));
MOVUPS(XMM3, MDisp(tempReg2, 12 * i + 3 * 3));
MOVUPS(XMM0, MDisp(tempReg1, (12 * i) * 4));
MOVUPS(XMM1, MDisp(tempReg1, (12 * i + 3) * 4));
MOVUPS(XMM2, MDisp(tempReg1, (12 * i + 3 * 2) * 4));
MOVUPS(XMM3, MDisp(tempReg1, (12 * i + 3 * 3) * 4));
ANDPS(XMM0, R(XMM4));
ANDPS(XMM1, R(XMM4));
ANDPS(XMM2, R(XMM4));