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

@ -400,6 +400,12 @@ protected:
static constexpr u32 MASK = (1 << 19) | (1 << 22);
return ((bits & MASK) == MASK);
}
bool SkipDrawingToActiveField() const
{
static constexpr u32 MASK = (1 << 19) | (1 << 22) | (1 << 10);
static constexpr u32 ACTIVE = (1 << 19) | (1 << 22);
return ((bits & MASK) == ACTIVE);
}
// During transfer/render operations, if ((dst_pixel & mask_and) == 0) { pixel = src_pixel | mask_or }
u16 GetMaskAND() const