From 1ebaa7c640c9270f664d35b93202caf5618cd861 Mon Sep 17 00:00:00 2001 From: SarahW Date: Mon, 17 Aug 2020 21:38:25 +0100 Subject: [PATCH] Banshee 2D blitter should wait for 3D to go idle before starting a blit. Fixes text in Forsaken. --- src/vid_voodoo_banshee_blitter.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/vid_voodoo_banshee_blitter.c b/src/vid_voodoo_banshee_blitter.c index c04ea87..aa942b2 100644 --- a/src/vid_voodoo_banshee_blitter.c +++ b/src/vid_voodoo_banshee_blitter.c @@ -20,6 +20,7 @@ #include "vid_voodoo.h" #include "vid_voodoo_common.h" #include "vid_voodoo_banshee_blitter.h" +#include "vid_voodoo_render.h" #define COMMAND_CMD_MASK (0xf) #define COMMAND_CMD_NOP (0 << 0) @@ -1181,6 +1182,7 @@ void voodoo_2d_reg_writel(voodoo_t *voodoo, uint32_t addr, uint32_t val) // pclog("dstXY=%08x\n", val); break; case 0x70: + voodoo_wait_for_render_thread_idle(voodoo); voodoo->banshee_blt.command = val; voodoo->banshee_blt.rops[0] = val >> 24; // pclog("command=%x %08x\n", voodoo->banshee_blt.command & COMMAND_CMD_MASK, val);