mirror of https://github.com/PCSX2/pcsx2.git
GS/HW: Use DECAL/TCC for GT4 render fix
That way the channel gets actually written to alpha.
This commit is contained in:
parent
bcbf390334
commit
b67126e917
|
@ -739,13 +739,21 @@ bool GSHwHack::GSC_PolyphonyDigitalGames(GSRendererHW& r, int& skip)
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Need the alpha channel.
|
||||||
dst->m_TEX0.PSM = PSMCT32;
|
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->UpdateValidChannels(PSMCT32, fbmsk);
|
||||||
dst->UpdateValidity(GSVector4i::loadh(size));
|
dst->UpdateValidity(GSVector4i::loadh(size));
|
||||||
|
|
||||||
GSHWDrawConfig& config = r.BeginHLEHardwareDraw(
|
GSHWDrawConfig& config = r.BeginHLEHardwareDraw(
|
||||||
dst->GetTexture(), nullptr, dst->GetScale(), src->GetTexture(), src->GetScale(), src->GetUnscaledRect());
|
dst->GetTexture(), nullptr, dst->GetScale(), src->GetTexture(), src->GetScale(), src->GetUnscaledRect());
|
||||||
config.pal = palette->GetPaletteGSTexture();
|
config.pal = palette->GetPaletteGSTexture();
|
||||||
|
config.ps.tfx = TFX_DECAL;
|
||||||
|
config.ps.tcc = true;
|
||||||
config.ps.channel = ChannelFetch_RED + channel;
|
config.ps.channel = ChannelFetch_RED + channel;
|
||||||
config.colormask.wrgba = 8;
|
config.colormask.wrgba = 8;
|
||||||
r.EndHLEHardwareDraw(false);
|
r.EndHLEHardwareDraw(false);
|
||||||
|
|
Loading…
Reference in New Issue