summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authoraroulin <andy.roulin@epfl.ch>2015-08-31 08:09:07 +0200
committeraroulin <andy.roulin@epfl.ch>2015-08-31 08:16:15 +0200
commit84959be150e6369db28e73f979fa77b7be633d9c (patch)
tree95194d41fc240609bfdf88a933fee024d0b79b16 /src
parente77dc4e9d2d43ec739c95dd4b92d6a404277b241 (diff)
Shader JIT: Fix SGE/SGEI NaN behavior
SGE was incorrectly emulated w.r.t. NaN behavior as the CMPSS SSE instruction was used with NLT
Diffstat (limited to 'src')
-rw-r--r--src/video_core/shader/shader_jit_x64.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/video_core/shader/shader_jit_x64.cpp b/src/video_core/shader/shader_jit_x64.cpp
index d3cfe109e..c7b63a9b7 100644
--- a/src/video_core/shader/shader_jit_x64.cpp
+++ b/src/video_core/shader/shader_jit_x64.cpp
@@ -434,10 +434,10 @@ void JitCompiler::Compile_SGE(Instruction instr) {
Compile_SwizzleSrc(instr, 2, instr.common.src2, SRC2);
}
- CMPPS(SRC1, R(SRC2), CMP_NLT);
- ANDPS(SRC1, R(ONE));
+ CMPPS(SRC2, R(SRC1), CMP_LE);
+ ANDPS(SRC2, R(ONE));
- Compile_DestEnable(instr, SRC1);
+ Compile_DestEnable(instr, SRC2);
}
void JitCompiler::Compile_SLT(Instruction instr) {