The text homebrews take forever to load without XFB enabled. XFB only worked in dual-core mode. I did a small fix that makes it work in single-core mode as well.
I modified the Video_UpdateXFB() function in the OGL plugin (main.cpp, line 321). The changed lines are prefixed with '+++'.
Is it right? Or has it already been tried but dropped it didn't work?
EDIT: attached a patch. I had to upload it as a text file. Rename it to 'xfb_single_core.patch' .
I modified the Video_UpdateXFB() function in the OGL plugin (main.cpp, line 321). The changed lines are prefixed with '+++'.
Code:
void Video_UpdateXFB(u8* _pXFB, u32 _dwWidth, u32 _dwHeight, s32 _dwYOffset, bool scheduling)
{
if (g_Config.bUseXFB && XFB_isInit())
{
if (scheduling) // from CPU in DC without fifo&CP (some 2D homebrews)
{
XFB_SetUpdateArgs(_pXFB, _dwWidth, _dwHeight, _dwYOffset);
g_XFBUpdateRequested = TRUE;
}
else
{
if (_pXFB) // from CPU in SC mode
+++ {
XFB_Draw(_pXFB, _dwWidth, _dwHeight, _dwYOffset);
+++ g_VideoInitialize.pCopiedToXFB();
+++ }
else // from GP in DC without fifo&CP (some 2D homebrews)
{
XFB_Draw();
g_XFBUpdateRequested = FALSE;
}
}
}
}
Is it right? Or has it already been tried but dropped it didn't work?
EDIT: attached a patch. I had to upload it as a text file. Rename it to 'xfb_single_core.patch' .