diff options
author | Yuri Kunde Schlesner <yuriks@yuriks.net> | 2015-08-24 06:15:39 +0200 |
---|---|---|
committer | Yuri Kunde Schlesner <yuriks@yuriks.net> | 2015-08-24 06:48:37 +0200 |
commit | d8ef20c85695f6272dd71dbde1b8d04bac012dbe (patch) | |
tree | b93b0daf3ef8f8bf2b8e64159625d69c9d119053 | |
parent | Shaders: Fix multiplications between 0.0 and inf (diff) | |
download | yuzu-d8ef20c85695f6272dd71dbde1b8d04bac012dbe.tar yuzu-d8ef20c85695f6272dd71dbde1b8d04bac012dbe.tar.gz yuzu-d8ef20c85695f6272dd71dbde1b8d04bac012dbe.tar.bz2 yuzu-d8ef20c85695f6272dd71dbde1b8d04bac012dbe.tar.lz yuzu-d8ef20c85695f6272dd71dbde1b8d04bac012dbe.tar.xz yuzu-d8ef20c85695f6272dd71dbde1b8d04bac012dbe.tar.zst yuzu-d8ef20c85695f6272dd71dbde1b8d04bac012dbe.zip |
-rw-r--r-- | src/video_core/shader/shader_jit_x64.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/video_core/shader/shader_jit_x64.cpp b/src/video_core/shader/shader_jit_x64.cpp index ddae61cae..c8a669b51 100644 --- a/src/video_core/shader/shader_jit_x64.cpp +++ b/src/video_core/shader/shader_jit_x64.cpp @@ -367,10 +367,10 @@ void JitCompiler::Compile_DPH(Instruction instr) { // Set 4th component to 1.0 BLENDPS(SRC1, R(ONE), 0x8); // 0b1000 } else { - // Reverse to set the 4th component to 1.0 - SHUFPS(SRC1, R(SRC1), _MM_SHUFFLE(0, 1, 2, 3)); - MOVSS(SRC1, R(ONE)); - SHUFPS(SRC1, R(SRC1), _MM_SHUFFLE(0, 1, 2, 3)); + // Set 4th component to 1.0 + MOVAPS(SCRATCH, R(SRC1)); + UNPCKHPS(SCRATCH, R(ONE)); // XYZW, 1111 -> Z1__ + UNPCKLPD(SRC1, R(SCRATCH)); // XYZW, Z1__ -> XYZ1 } Compile_SanitizedMul(SRC1, SRC2, SCRATCH); |