If Voodoo FIFO is full and FIFO thread is waiting for swap to complete, process swap immediately. Fixes hangs in Carmageddon and TOCA 2.
This commit is contained in:
parent
a2f96effad
commit
17865d84bc
1 changed files with 1 additions and 1 deletions
|
|
@ -2681,7 +2681,7 @@ static void voodoo_reg_writel(uint32_t addr, uint32_t val, void *p)
|
|||
{
|
||||
thread_wait_event(voodoo->wake_fifo_thread, -1);
|
||||
thread_reset_event(voodoo->wake_fifo_thread);
|
||||
if (voodoo->swap_pending && voodoo->flush)
|
||||
if ((voodoo->swap_pending && voodoo->flush) || FIFO_ENTRIES == 65536)
|
||||
{
|
||||
/*Main thread is waiting for FIFO to empty, so skip vsync wait and just swap*/
|
||||
memset(voodoo->dirty_line, 1, 1024);
|
||||
|
|
|
|||
Loading…
Reference in a new issue