Disable Banshee lazy overlay update when vertical scaling enabled. Fixes

artifacts in low resolution modes (where the lazy update has little
benefit anyway).
This commit is contained in:
SarahW 2020-11-14 11:38:04 +00:00
commit 5ae201b7e7

View file

@ -1923,13 +1923,12 @@ static void banshee_overlay_draw(svga_t *svga, int displine)
unsigned int y_coeff = (voodoo->overlay.src_y & 0xfffff) >> 4;
int skip_filtering;
if (svga->render == svga_render_null && !svga->changedvram[src_addr >> 12] && !svga->changedvram[src_addr2 >> 12] &&
!svga->fullchange && !voodoo->dirty_line[voodoo->overlay.src_y >> 20])
if (svga->render == svga_render_null &&
!svga->changedvram[src_addr >> 12] && !svga->changedvram[src_addr2 >> 12] &&
!svga->fullchange && !voodoo->dirty_line[voodoo->overlay.src_y >> 20] &&
!(banshee->vidProcCfg & VIDPROCCFG_V_SCALE_ENABLE))
{
if (banshee->vidProcCfg & VIDPROCCFG_V_SCALE_ENABLE)
voodoo->overlay.src_y += voodoo->overlay.vidOverlayDvdy;
else
voodoo->overlay.src_y += (1 << 20);
voodoo->overlay.src_y += (1 << 20);
return;
}