VideoCommon: recreate XFB texture when the XFB size changes.

We need to do this to correctly deal with games which dynamically change the
XFB width and height.
This commit is contained in:
magumagu 2014-05-02 23:07:55 -07:00
parent 2db2f3dce9
commit 716b3fefd4
1 changed files with 9 additions and 2 deletions

View File

@ -46,6 +46,13 @@ const XFBSourceBase* const* FramebufferManagerBase::GetRealXFBSource(u32 xfbAddr
{
xfbCount = 1;
// recreate if needed
if (m_realXFBSource && (m_realXFBSource->texWidth != fbWidth || m_realXFBSource->texHeight != fbHeight))
{
delete m_realXFBSource;
m_realXFBSource = nullptr;
}
if (!m_realXFBSource)
m_realXFBSource = g_framebuffer_manager->CreateXFBSource(fbWidth, fbHeight);
@ -142,8 +149,8 @@ void FramebufferManagerBase::CopyToVirtualXFB(u32 xfbAddr, u32 fbWidth, u32 fbHe
// recreate if needed
if (vxfb->xfbSource && (vxfb->xfbSource->texWidth != target_width || vxfb->xfbSource->texHeight != target_height))
{
//delete vxfb->xfbSource;
//vxfb->xfbSource = nullptr;
delete vxfb->xfbSource;
vxfb->xfbSource = nullptr;
}
if (!vxfb->xfbSource)