GS-hw: Replace alpha factor/alpha source1 with source 1 color.

Output 1 will be used since we want to modify each color channel based on overflow value.
This commit is contained in:
lightningterror 2023-02-26 22:01:03 +01:00
parent af9353298c
commit 24c42ae2d9
1 changed files with 6 additions and 0 deletions

View File

@ -3154,6 +3154,12 @@ void GSRendererHW::EmulateBlending(bool& DATE_PRIMID, bool& DATE_BARRIER, bool&
}
else if (blend_mix2)
{
// Allow to compensate when Cs*(Alpha + 1) overflows, to compensate we change
// the alpha output value for Cd*Alpha.
m_conf.blend = {true, GSDevice::CONST_ONE, GSDevice::SRC1_COLOR, blend.op, false, 0};
m_conf.ps.clr_hw = 3;
m_conf.ps.no_color1 = false;
m_conf.ps.blend_a = 0;
m_conf.ps.blend_b = 2;
m_conf.ps.blend_d = 0;