Voodoo 3/Banshee: Some CMDFIFO fixes.

This commit is contained in:
OBattler
2025-01-06 16:59:15 +01:00
parent 6b05602ea4
commit 50c97f0158

View File

@@ -1095,7 +1095,7 @@ banshee_status(banshee_t *banshee)
int fifo_entries = 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] || voodoo->render_voodoo_busy[2] || voodoo->render_voodoo_busy[3] || voodoo->voodoo_busy;
int busy = (written - voodoo->cmd_read) || (voodoo->cmdfifo_depth_rd != voodoo->cmdfifo_depth_wr) || (voodoo->cmdfifo_depth_rd_2 != voodoo->cmdfifo_depth_wr_2) || 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 = 0;
if (fifo_entries < 0x20)
@@ -1117,6 +1117,9 @@ banshee_status(banshee_t *banshee)
if (voodoo->cmdfifo_depth_rd != voodoo->cmdfifo_depth_wr)
ret |= (1 << 11);
if (voodoo->cmdfifo_depth_rd_2 != voodoo->cmdfifo_depth_wr_2)
ret |= (1 << 12);
if (!voodoo->voodoo_busy)
voodoo_wake_fifo_thread(voodoo);