GS/HW: Use DECAL/TCC for GT4 render fix

That way the channel gets actually written to alpha.
This commit is contained in:
Stenzek 2023-12-31 00:04:14 +10:00 committed by Connor McLaughlin
parent bcbf390334
commit b67126e917
1 changed files with 8 additions and 0 deletions

View File

@ -739,13 +739,21 @@ bool GSHwHack::GSC_PolyphonyDigitalGames(GSRendererHW& r, int& skip)
continue;
}
// Need the alpha channel.
dst->m_TEX0.PSM = PSMCT32;
// Alpha is unknown, since it comes from RGB.
dst->m_alpha_min = 0;
dst->m_alpha_max = 255;
dst->UpdateValidChannels(PSMCT32, fbmsk);
dst->UpdateValidity(GSVector4i::loadh(size));
GSHWDrawConfig& config = r.BeginHLEHardwareDraw(
dst->GetTexture(), nullptr, dst->GetScale(), src->GetTexture(), src->GetScale(), src->GetUnscaledRect());
config.pal = palette->GetPaletteGSTexture();
config.ps.tfx = TFX_DECAL;
config.ps.tcc = true;
config.ps.channel = ChannelFetch_RED + channel;
config.colormask.wrgba = 8;
r.EndHLEHardwareDraw(false);