mirror of
https://github.com/cemu-project/Cemu.git
synced 2025-12-13 04:36:59 +00:00
Initial support for title switching + better Wii U menu compatibility (#907)
This commit is contained in:
parent
bfbeeae6f6
commit
2200cc0ddf
95 changed files with 2549 additions and 746 deletions
|
|
@ -45,6 +45,12 @@ namespace GX2
|
|||
sint32 gx2WriteGatherCurrentMainCoreIndex = -1;
|
||||
bool gx2WriteGatherInited = false;
|
||||
|
||||
void GX2WriteGather_ResetToDefaultState()
|
||||
{
|
||||
gx2WriteGatherCurrentMainCoreIndex = -1;
|
||||
gx2WriteGatherInited = false;
|
||||
}
|
||||
|
||||
void GX2Init_writeGather() // init write gather, make current core
|
||||
{
|
||||
if (gx2WriteGatherPipe.gxRingBuffer == NULL)
|
||||
|
|
@ -289,7 +295,6 @@ namespace GX2
|
|||
|
||||
void GX2CommandInit()
|
||||
{
|
||||
|
||||
cafeExportRegister("gx2", GX2BeginDisplayList, LogType::GX2);
|
||||
cafeExportRegister("gx2", GX2BeginDisplayListEx, LogType::GX2);
|
||||
cafeExportRegister("gx2", GX2EndDisplayList, LogType::GX2);
|
||||
|
|
@ -305,4 +310,9 @@ namespace GX2
|
|||
cafeExportRegister("gx2", GX2PatchDisplayList, LogType::GX2);
|
||||
}
|
||||
|
||||
void GX2CommandResetToDefaultState()
|
||||
{
|
||||
GX2WriteGather_ResetToDefaultState();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -97,5 +97,6 @@ namespace GX2
|
|||
void GX2DirectCallDisplayList(void* addr, uint32 size);
|
||||
|
||||
void GX2Init_writeGather();
|
||||
void GX2CommandInit();
|
||||
void GX2CommandInit();
|
||||
void GX2CommandResetToDefaultState();
|
||||
}
|
||||
|
|
@ -308,4 +308,15 @@ namespace GX2
|
|||
coreinit::OSInitEvent(s_updateRetirementEvent, coreinit::OSEvent::EVENT_STATE::STATE_NOT_SIGNALED, coreinit::OSEvent::EVENT_MODE::MODE_AUTO);
|
||||
coreinit::OSInitSemaphore(s_eventCbQueueSemaphore, 0);
|
||||
}
|
||||
|
||||
void GX2EventResetToDefaultState()
|
||||
{
|
||||
s_callbackThreadLaunched = false;
|
||||
s_lastRetirementTimestamp = 0;
|
||||
for(auto& it : s_eventCallback)
|
||||
{
|
||||
it.callbackFuncPtr = nullptr;
|
||||
it.userData = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,9 +2,10 @@
|
|||
|
||||
namespace GX2
|
||||
{
|
||||
void GX2EventInit();
|
||||
void GX2Init_event();
|
||||
void GX2EventResetToDefaultState();
|
||||
|
||||
void GX2EventInit();
|
||||
void GX2WaitForVsync();
|
||||
void GX2WaitForFlip();
|
||||
void GX2DrawDone();
|
||||
|
|
|
|||
|
|
@ -115,6 +115,9 @@ namespace GX2
|
|||
void _GX2DriverReset()
|
||||
{
|
||||
LatteGPUState.gx2InitCalled = 0;
|
||||
sGX2MainCoreIndex = 0;
|
||||
GX2CommandResetToDefaultState();
|
||||
GX2EventResetToDefaultState();
|
||||
}
|
||||
|
||||
sint32 GX2GetMainCoreId(PPCInterpreter_t* hCPU)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue