mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-08-10 10:09:22 +00:00
_mxr000 hack moved
This commit is contained in:
parent
402df68235
commit
4ceaab10a5
2 changed files with 17 additions and 17 deletions
|
@ -4,7 +4,6 @@
|
||||||
#include "Emu/IdManager.h"
|
#include "Emu/IdManager.h"
|
||||||
|
|
||||||
#include "Emu/Cell/lv2/sys_ppu_thread.h"
|
#include "Emu/Cell/lv2/sys_ppu_thread.h"
|
||||||
#include "Emu/Cell/lv2/sys_event.h"
|
|
||||||
#include "sysPrxForUser.h"
|
#include "sysPrxForUser.h"
|
||||||
|
|
||||||
extern logs::channel sysPrxForUser;
|
extern logs::channel sysPrxForUser;
|
||||||
|
@ -42,22 +41,6 @@ s32 sys_ppu_thread_create(ppu_thread& ppu, vm::ptr<u64> thread_id, u32 entry, u6
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Dirty hack for sound: confirm the creation of _mxr000 event queue
|
|
||||||
if (threadname && std::memcmp(threadname.get_ptr(), "_cellsurMixerMain", 18) == 0)
|
|
||||||
{
|
|
||||||
lv2_obj::sleep(ppu);
|
|
||||||
|
|
||||||
while (!idm::select<lv2_obj, lv2_event_queue>([](u32, lv2_event_queue& eq)
|
|
||||||
{
|
|
||||||
return eq.name == "_mxr000\0"_u64;
|
|
||||||
}))
|
|
||||||
{
|
|
||||||
thread_ctrl::wait_for(50000);
|
|
||||||
}
|
|
||||||
|
|
||||||
ppu.test_state();
|
|
||||||
}
|
|
||||||
|
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
#include "Emu/Cell/ErrorCodes.h"
|
#include "Emu/Cell/ErrorCodes.h"
|
||||||
#include "Emu/Cell/PPUThread.h"
|
#include "Emu/Cell/PPUThread.h"
|
||||||
#include "sys_ppu_thread.h"
|
#include "sys_ppu_thread.h"
|
||||||
|
#include "sys_event.h"
|
||||||
|
|
||||||
namespace vm { using namespace ps3; }
|
namespace vm { using namespace ps3; }
|
||||||
|
|
||||||
|
@ -352,6 +353,22 @@ error_code sys_ppu_thread_start(ppu_thread& ppu, u32 thread_id)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
thread->notify();
|
thread->notify();
|
||||||
|
|
||||||
|
// Dirty hack for sound: confirm the creation of _mxr000 event queue
|
||||||
|
if (thread->m_name == "_cellsurMixerMain")
|
||||||
|
{
|
||||||
|
lv2_obj::sleep(ppu);
|
||||||
|
|
||||||
|
while (!idm::select<lv2_obj, lv2_event_queue>([](u32, lv2_event_queue& eq)
|
||||||
|
{
|
||||||
|
return eq.name == "_mxr000\0"_u64;
|
||||||
|
}))
|
||||||
|
{
|
||||||
|
thread_ctrl::wait_for(50000);
|
||||||
|
}
|
||||||
|
|
||||||
|
ppu.test_state();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue