From 44433fd020d302cd870625bf71a81cbb611084f8 Mon Sep 17 00:00:00 2001 From: SarahW Date: Sun, 18 Oct 2020 14:04:15 +0100 Subject: [PATCH] Reset Banshee/V3 2D blitter coordinates on new command start. Fixes corruption in Winamp. --- 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 aa942b2..e2a78dd 100644 --- a/src/vid_voodoo_banshee_blitter.c +++ b/src/vid_voodoo_banshee_blitter.c @@ -1190,6 +1190,8 @@ void voodoo_2d_reg_writel(voodoo_t *voodoo, uint32_t addr, uint32_t val) voodoo->banshee_blt.patoff_y = (val & COMMAND_PATOFF_Y_MASK) >> COMMAND_PATOFF_Y_SHIFT; voodoo->banshee_blt.cur_x = 0; voodoo->banshee_blt.cur_y = 0; + voodoo->banshee_blt.dstX = ((int32_t)(voodoo->banshee_blt.dstXY << 19)) >> 19; + voodoo->banshee_blt.dstY = ((int32_t)(voodoo->banshee_blt.dstXY << 3)) >> 19; voodoo->banshee_blt.srcX = ((int32_t)(voodoo->banshee_blt.srcXY << 19)) >> 19; voodoo->banshee_blt.srcY = ((int32_t)(voodoo->banshee_blt.srcXY << 3)) >> 19; voodoo->banshee_blt.old_srcX = voodoo->banshee_blt.srcX;