mirror of
https://github.com/Lime3DS/Lime3DS
synced 2024-12-27 09:32:30 -06:00
Shader JIT: Fix float to integer rounding in MOVA
MOVA converts new address register values from floats to integers using truncation
This commit is contained in:
parent
32e279c0ca
commit
f52d8c1a9b
1 changed files with 2 additions and 2 deletions
|
@ -485,8 +485,8 @@ void JitCompiler::Compile_MOVA(Instruction instr) {
|
||||||
|
|
||||||
Compile_SwizzleSrc(instr, 1, instr.common.src1, SRC1);
|
Compile_SwizzleSrc(instr, 1, instr.common.src1, SRC1);
|
||||||
|
|
||||||
// Convert floats to integers (only care about X and Y components)
|
// Convert floats to integers using truncation (only care about X and Y components)
|
||||||
CVTPS2DQ(SRC1, R(SRC1));
|
CVTTPS2DQ(SRC1, R(SRC1));
|
||||||
|
|
||||||
// Get result
|
// Get result
|
||||||
MOVQ_xmm(R(RAX), SRC1);
|
MOVQ_xmm(R(RAX), SRC1);
|
||||||
|
|
Loading…
Reference in a new issue