mirror of https://github.com/PCSX2/pcsx2.git
GS: Expand "progressive" analogue games to full height, in case they lie
This commit is contained in:
parent
748dcbd989
commit
630ebb0583
|
@ -301,7 +301,7 @@ const char* ReportVideoMode()
|
|||
const char* ReportInterlaceMode()
|
||||
{
|
||||
const u64& smode2 = *(u64*)PS2GS_BASE(GS_SMODE2);
|
||||
return (smode2 & 1) ? ((smode2 & 2) ? "Interlaced (Frame)" : "Interlaced (Field)") : "Progressive";
|
||||
return !IsProgressiveVideoMode() ? ((smode2 & 2) ? "Interlaced (Frame)" : "Interlaced (Field)") : "Progressive";
|
||||
}
|
||||
|
||||
double GetVerticalFrequency()
|
||||
|
|
|
@ -368,10 +368,12 @@ bool GSRenderer::Merge(int field)
|
|||
ds = fs;
|
||||
|
||||
// When interlace(FRAME) mode, the rect is half height, so it needs to be stretched.
|
||||
if (m_regs->SMODE2.INT && m_regs->SMODE2.FFMD)
|
||||
const bool is_interlaced_resolution = m_regs->SMODE2.INT || (isReallyInterlaced() && IsAnalogue() && GSConfig.InterlaceMode != GSInterlaceMode::Off);
|
||||
|
||||
if (is_interlaced_resolution && m_regs->SMODE2.FFMD)
|
||||
ds.y *= 2;
|
||||
|
||||
m_real_size = ds;
|
||||
m_real_size = GSVector2i(fs.x, is_interlaced_resolution ? ds.y : fs.y);
|
||||
|
||||
if (tex[0] || tex[1])
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue