Commit b210cdef authored by Libretro-Admin's avatar Libretro-Admin
Browse files
parent 5c737031
......@@ -98,6 +98,10 @@ void pvr_WriteReg(u32 paddr,u32 data)
}
break;
case FB_R_SOF2_addr:
data &= 0x00fffffc;
break;
case FB_W_SOF1_addr:
case FB_W_SOF2_addr:
data &= 0x01fffffc;
......
......@@ -866,7 +866,21 @@ void ReadFramebuffer(PixelBuffer<u32>& pb, int& width, int& height)
break;
}
u32 addr = SPG_CONTROL.interlace && !SPG_STATUS.fieldnum ? FB_R_SOF2 : FB_R_SOF1;
u32 addr = FB_R_SOF1;
if (SPG_CONTROL.interlace)
{
if (width == modulus && FB_R_SOF2 == FB_R_SOF1 + width * bpp)
{
// Typical case alternating even and odd lines -> take the whole buffer at once
modulus = 0;
height *= 2;
}
else
{
addr = SPG_STATUS.fieldnum ? FB_R_SOF2 : FB_R_SOF1;
}
}
pb.init(width, height);
u8 *dst = (u8*)pb.data();
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment