فهرست منبع

Shader JIT: Fix float to integer rounding in MOVA
MOVA converts new address register values from floats to integers using truncation

aroulin 11 سال پیش
والد
کامیت
f52d8c1a9b
1فایلهای تغییر یافته به همراه2 افزوده شده و 2 حذف شده
  1. 2 2
      src/video_core/shader/shader_jit_x64.cpp

+ 2 - 2
src/video_core/shader/shader_jit_x64.cpp

@@ -485,8 +485,8 @@ void JitCompiler::Compile_MOVA(Instruction instr) {
 
     Compile_SwizzleSrc(instr, 1, instr.common.src1, SRC1);
 
-    // Convert floats to integers (only care about X and Y components)
-    CVTPS2DQ(SRC1, R(SRC1));
+    // Convert floats to integers using truncation (only care about X and Y components)
+    CVTTPS2DQ(SRC1, R(SRC1));
 
     // Get result
     MOVQ_xmm(R(RAX), SRC1);