From cfd0b8a97590c0a98056e0ae6d48a09e7419d737 Mon Sep 17 00:00:00 2001 From: kd-11 Date: Sun, 1 Apr 2018 14:49:17 +0300 Subject: [PATCH] rsx: Fix alphakill --- rpcs3/Emu/RSX/Common/GLSLCommon.h | 2 +- rpcs3/Emu/RSX/RSXThread.cpp | 7 +------ 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/rpcs3/Emu/RSX/Common/GLSLCommon.h b/rpcs3/Emu/RSX/Common/GLSLCommon.h index 10da1a033e..05992a83a6 100644 --- a/rpcs3/Emu/RSX/Common/GLSLCommon.h +++ b/rpcs3/Emu/RSX/Common/GLSLCommon.h @@ -456,7 +456,7 @@ namespace glsl OS << " if ((control_bits & 0x10) > 0)\n"; OS << " {\n"; OS << " //Alphakill\n"; - OS << " if (!comparison_passes(rgba.a, 0., (control_bits >> 5) & 0x7))\n"; + OS << " if (rgba.a < 0.0000000001)\n"; OS << " {\n"; OS << " discard;\n"; OS << " return rgba;\n"; diff --git a/rpcs3/Emu/RSX/RSXThread.cpp b/rpcs3/Emu/RSX/RSXThread.cpp index 2efead0a88..39c82d478b 100644 --- a/rpcs3/Emu/RSX/RSXThread.cpp +++ b/rpcs3/Emu/RSX/RSXThread.cpp @@ -1548,12 +1548,7 @@ namespace rsx if (tex.alpha_kill_enabled()) { //alphakill can be ignored unless a valid comparison function is set - const rsx::comparison_function func = (rsx::comparison_function)tex.zfunc(); - if (func < rsx::comparison_function::always && func >= rsx::comparison_function::never) - { - texture_control |= (1 << 4); //alphakill enable - texture_control |= ((u32)func << 5); //alphakill function - } + texture_control |= (1 << 4); } const u32 texaddr = rsx::get_address(tex.offset(), tex.location());