From d6b4c9c9c3760b45b767e0bb4acea5d3573d8257 Mon Sep 17 00:00:00 2001 From: Henrik Rydgard Date: Sat, 27 Jul 2013 13:08:23 +0200 Subject: [PATCH] More bits should be masked off the baseptr and stride of block transfers. Does not fix GT fonts though. --- GPU/GLES/DisplayListInterpreter.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/GPU/GLES/DisplayListInterpreter.cpp b/GPU/GLES/DisplayListInterpreter.cpp index d7b2cbdac5..b1edab0f6a 100644 --- a/GPU/GLES/DisplayListInterpreter.cpp +++ b/GPU/GLES/DisplayListInterpreter.cpp @@ -1007,11 +1007,11 @@ void GLES_GPU::DoBlockTransfer() { // // etc.... - u32 srcBasePtr = (gstate.transfersrc & 0xFFFFFF) | ((gstate.transfersrcw & 0xFF0000) << 8); - u32 srcStride = gstate.transfersrcw & 0x3FF; + u32 srcBasePtr = (gstate.transfersrc & 0xFFFFF0) | ((gstate.transfersrcw & 0xFF0000) << 8); + u32 srcStride = gstate.transfersrcw & 0x3F8; - u32 dstBasePtr = (gstate.transferdst & 0xFFFFFF) | ((gstate.transferdstw & 0xFF0000) << 8); - u32 dstStride = gstate.transferdstw & 0x3FF; + u32 dstBasePtr = (gstate.transferdst & 0xFFFFF0) | ((gstate.transferdstw & 0xFF0000) << 8); + u32 dstStride = gstate.transferdstw & 0x3F8; int srcX = gstate.transfersrcpos & 0x3FF; int srcY = (gstate.transfersrcpos >> 10) & 0x3FF;