mirror of https://github.com/PCSX2/pcsx2.git
GSdx-PCRTC: Apply saturation only for field mode
Previously, the NTSC saturation was also applied for double scan mode (Interlaced and Frame) where the developers send double the height to the DISP registers, saturation shouldn't be performed at such cases as the developers could send a value of 780 while the real size of the output would be 390 due to double scan mode. Doing the saturation later after identifying the real size also seems a bit counter-intuitive as we haven't discovered any cases where double scan games require the NTSC saturation hack. So let's just apply the saturation only for Interlaced (Field) Mode and omit the saturation step for other modes.
This commit is contained in:
parent
17b33afd64
commit
500d2e076d
|
@ -422,7 +422,7 @@ void GSState::SaturateOutputSize(GSVector4i& r)
|
|||
// Limit games to standard NTSC resolutions. games with 512X512 (PAL resolution) on NTSC video mode produces black border on the bottom.
|
||||
// 512 X 448 is the resolution generally used by NTSC, saturating the height value seems to get rid of the black borders.
|
||||
// Though it's quite a bad hack as it affects binaries which are patched to run on a non-native video mode.
|
||||
if (m_NTSC_Saturation && isinterlaced() && videomode == GSVideoMode::NTSC && r.height() > 448 && r.width() < 640)
|
||||
if (m_NTSC_Saturation && (m_regs->SMODE2.INT & !m_regs->SMODE2.FFMD) && videomode == GSVideoMode::NTSC && r.height() > 448 && r.width() < 640)
|
||||
{
|
||||
r.bottom = r.top + 448;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue