diff --git a/src/core/PICA/shader_gen_glsl.cpp b/src/core/PICA/shader_gen_glsl.cpp index 50be94f0..0e51ad93 100644 --- a/src/core/PICA/shader_gen_glsl.cpp +++ b/src/core/PICA/shader_gen_glsl.cpp @@ -358,13 +358,13 @@ void FragmentGenerator::getAlphaOperation(std::string& shader, TexEnvConfig::Ope void FragmentGenerator::applyAlphaTest(std::string& shader, const PICARegs& regs) { const u32 alphaConfig = regs[InternalRegs::AlphaTestConfig]; + const auto function = static_cast(Helpers::getBits<4, 3>(alphaConfig)); + // Alpha test disabled - if (Helpers::getBit<0>(alphaConfig) == 0) { + if (Helpers::getBit<0>(alphaConfig) == 0 || function == CompareFunction::Always) { return; } - const auto function = static_cast(Helpers::getBits<4, 3>(alphaConfig)); - shader += "if ("; switch (function) { case CompareFunction::Never: shader += "true"; break;