GPU: Implement skip-drawing-to-active-field for interlaced mode

Currently only in the software renderer.
This commit is contained in:
Connor McLaughlin
2020-04-04 00:10:41 +10:00
parent ba98bf345a
commit 48fba47ee6
4 changed files with 13 additions and 1 deletions

View File

@ -574,6 +574,9 @@ void GPU_SW::ShadePixel(u32 x, u32 y, u8 color_r, u8 color_g, u8 color_b, u8 tex
if ((bg_color.bits & mask_and) != 0)
return;
if (m_GPUSTAT.SkipDrawingToActiveField() && BoolToUInt32(m_GPUSTAT.drawing_even_line) != (static_cast<u32>(y) & 1u))
return;
SetPixel(static_cast<u32>(x), static_cast<u32>(y), color.bits | m_GPUSTAT.GetMaskOR());
}