diff options
| author | 2015-08-27 15:21:05 +0200 | |
|---|---|---|
| committer | 2015-08-27 15:26:41 +0200 | |
| commit | f52d8c1a9b345464160a29e94e53f14ed0446491 (patch) | |
| tree | 4420d0969c6b2f420c2f98835a67b8ba37667680 /src/video_core | |
| parent | Merge pull request #1074 from lioncash/bool (diff) | |
| download | yuzu-f52d8c1a9b345464160a29e94e53f14ed0446491.tar.gz yuzu-f52d8c1a9b345464160a29e94e53f14ed0446491.tar.xz yuzu-f52d8c1a9b345464160a29e94e53f14ed0446491.zip | |
Shader JIT: Fix float to integer rounding in MOVA
MOVA converts new address register values from floats to integers using truncation
Diffstat (limited to 'src/video_core')
| -rw-r--r-- | src/video_core/shader/shader_jit_x64.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/video_core/shader/shader_jit_x64.cpp b/src/video_core/shader/shader_jit_x64.cpp index cc66fc8d6..a8045d4b0 100644 --- a/src/video_core/shader/shader_jit_x64.cpp +++ b/src/video_core/shader/shader_jit_x64.cpp | |||
| @@ -485,8 +485,8 @@ void JitCompiler::Compile_MOVA(Instruction instr) { | |||
| 485 | 485 | ||
| 486 | Compile_SwizzleSrc(instr, 1, instr.common.src1, SRC1); | 486 | Compile_SwizzleSrc(instr, 1, instr.common.src1, SRC1); |
| 487 | 487 | ||
| 488 | // Convert floats to integers (only care about X and Y components) | 488 | // Convert floats to integers using truncation (only care about X and Y components) |
| 489 | CVTPS2DQ(SRC1, R(SRC1)); | 489 | CVTTPS2DQ(SRC1, R(SRC1)); |
| 490 | 490 | ||
| 491 | // Get result | 491 | // Get result |
| 492 | MOVQ_xmm(R(RAX), SRC1); | 492 | MOVQ_xmm(R(RAX), SRC1); |