Banshee/Voodoo 3 status returns busy when FIFO thread is busy, regardless
of command/cmdfifo/render thread status. Fixes some 2D races where drivers start to write to framebuffer while (final) 2D blit command is still running.
This commit is contained in:
parent
086287809b
commit
d254f41817
1 changed files with 4 additions and 1 deletions
|
|
@ -698,7 +698,10 @@ static uint32_t banshee_status(banshee_t *banshee)
|
|||
int fifo_size = 0xffff - fifo_entries;
|
||||
int swap_count = voodoo->swap_count;
|
||||
int written = voodoo->cmd_written + voodoo->cmd_written_fifo;
|
||||
int busy = (written - voodoo->cmd_read) || (voodoo->cmdfifo_depth_rd != voodoo->cmdfifo_depth_wr) || voodoo->render_voodoo_busy[0] || voodoo->render_voodoo_busy[1];
|
||||
int busy = (written - voodoo->cmd_read) || (voodoo->cmdfifo_depth_rd != voodoo->cmdfifo_depth_wr) ||
|
||||
voodoo->render_voodoo_busy[0] || voodoo->render_voodoo_busy[1] ||
|
||||
voodoo->render_voodoo_busy[2] || voodoo->render_voodoo_busy[3] ||
|
||||
voodoo->voodoo_busy;
|
||||
uint32_t ret;
|
||||
|
||||
ret = 0;
|
||||
|
|
|
|||
Loading…
Reference in a new issue