summaryrefslogtreecommitdiff
path: root/src/video_core
diff options
context:
space:
mode:
authorGravatar aroulin2015-08-27 15:21:05 +0200
committerGravatar aroulin2015-08-27 15:26:41 +0200
commitf52d8c1a9b345464160a29e94e53f14ed0446491 (patch)
tree4420d0969c6b2f420c2f98835a67b8ba37667680 /src/video_core
parentMerge pull request #1074 from lioncash/bool (diff)
downloadyuzu-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.cpp4
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);