Vertex decoder: Add fallback for non-SSE4.1

See #16157
This commit is contained in:
Henrik Rydgård 2022-10-03 19:06:02 +02:00
parent 973d0435c1
commit 1469a32a9d

View file

@ -1391,7 +1391,13 @@ void VertexDecoderJitCache::Jit_PosFloatThrough() {
CVTTPS2DQ(fpScratchReg, R(fpScratchReg));
// Use pack to saturate to 0,65535.
PACKUSDW(fpScratchReg, R(fpScratchReg));
if (cpu_info.bSSE4_1) {
PACKUSDW(fpScratchReg, R(fpScratchReg));
} else {
PSLLD(fpScratchReg, 16);
PSRAD(fpScratchReg, 16);
PACKSSDW(fpScratchReg, R(fpScratchReg));
}
PUNPCKLWD(fpScratchReg, R(fpScratchReg2));
CVTDQ2PS(fpScratchReg, R(fpScratchReg));