mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-08-10 01:59:41 +00:00
rsx: Hotfix for semaphore timeout bug
- Add pending flip requests as a reason to invoke the RSX local task handler and release the vblank semaphore
This commit is contained in:
parent
32b5b11a83
commit
3317e13b64
2 changed files with 5 additions and 2 deletions
|
@ -1865,7 +1865,8 @@ void GLGSRender::on_invalidate_memory_range(const utils::address_range &range, r
|
||||||
|
|
||||||
void GLGSRender::on_semaphore_acquire_wait()
|
void GLGSRender::on_semaphore_acquire_wait()
|
||||||
{
|
{
|
||||||
if (!work_queue.empty())
|
if (!work_queue.empty() ||
|
||||||
|
(async_flip_requested & flip_request::emu_requested))
|
||||||
{
|
{
|
||||||
do_local_task(rsx::FIFO_state::lock_wait);
|
do_local_task(rsx::FIFO_state::lock_wait);
|
||||||
}
|
}
|
||||||
|
|
|
@ -741,7 +741,9 @@ void VKGSRender::on_invalidate_memory_range(const utils::address_range &range, r
|
||||||
|
|
||||||
void VKGSRender::on_semaphore_acquire_wait()
|
void VKGSRender::on_semaphore_acquire_wait()
|
||||||
{
|
{
|
||||||
if (m_flush_requests.pending() || m_queue_status & flush_queue_state::deadlock)
|
if (m_flush_requests.pending() ||
|
||||||
|
(async_flip_requested & flip_request::emu_requested) ||
|
||||||
|
(m_queue_status & flush_queue_state::deadlock))
|
||||||
{
|
{
|
||||||
do_local_task(rsx::FIFO_state::lock_wait);
|
do_local_task(rsx::FIFO_state::lock_wait);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue