Просмотр исходного кода

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

aroulin 11 лет назад
Родитель
Сommit
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);