mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-14 02:38:37 +12:00
semaphore_t, RSX fixes
1) GS_LOCK_WAIT_FLUSH semaphore eliminated 2) GS_LOCK_WAIT_FLIP semaphore left unused 3) cellRescSetWaitFlip/cellGcmSetWaitFlip purged: they don't wait for flip, it's a nonsense, they only generate some RSX command 4) Semaphores rewritten
This commit is contained in:
parent
71a378a3fb
commit
8e1991c1e1
13 changed files with 213 additions and 257 deletions
|
@ -258,6 +258,8 @@ void RSXThread::DoCmd(const u32 fcmd, const u32 cmd, const u32 args_addr, const
|
|||
});
|
||||
}
|
||||
|
||||
m_sem_flip.post_and_wait();
|
||||
|
||||
auto sync = [&]()
|
||||
{
|
||||
double limit;
|
||||
|
@ -2499,14 +2501,6 @@ void RSXThread::Task()
|
|||
|
||||
if (put == get || !Emu.IsRunning())
|
||||
{
|
||||
if (put == get)
|
||||
{
|
||||
if (m_flip_status == 0)
|
||||
m_sem_flip.post_and_wait();
|
||||
|
||||
m_sem_flush.post_and_wait();
|
||||
}
|
||||
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(1)); // hack
|
||||
continue;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue