From bf6ed51b870df050c8f093f2944f91e30244c1cd Mon Sep 17 00:00:00 2001 From: "sl1nk3.s" Date: Mon, 28 Dec 2009 19:13:06 +0000 Subject: Fix an issue with BPMEM_LOADTLUT, thanks to revned @ issue 1831, also fix a speed issue int the FIFO loop introduced recently (ZWW was ~20% slower) git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4739 8ced0084-cf51-0410-be5f-012b33b47a6e --- Source/Core/VideoCommon/Src/BPStructs.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'Source/Core/VideoCommon/Src/BPStructs.cpp') diff --git a/Source/Core/VideoCommon/Src/BPStructs.cpp b/Source/Core/VideoCommon/Src/BPStructs.cpp index 665a299458..befd0ad21f 100644 --- a/Source/Core/VideoCommon/Src/BPStructs.cpp +++ b/Source/Core/VideoCommon/Src/BPStructs.cpp @@ -55,7 +55,7 @@ void BPWritten(const BPCmd& bp) some bp cases check the changes variable, because they might not have to be updated all the time NOTE: it seems not all bp cases like checking changes, so calling if (bp.changes == 0 ? false : true) had to be ditched and the games seem to work fine with out it. - NOTE2: Yet Another Gamecube Documentation calls them Bypass Registers but possibly completely wrong + NOTE2: Yet Another Gamecube Documentation calls them Bypass Raster State Registers but possibly completely wrong NOTE3: This controls the register groups: RAS1/2, SU, TF, TEV, C/Z, PEC TODO: Turn into function table. The (future) DisplayList (DL) jit can then call the functions directly, getting rid of dynamic dispatch. Unfortunately, few games use DLs properly - most\ @@ -247,8 +247,9 @@ void BPWritten(const BPCmd& bp) break; } - case BPMEM_LOADTLUT0: // Load a Texture Look Up Table - case BPMEM_LOADTLUT1: + case BPMEM_LOADTLUT0: // This one updates bpmem.tlutXferSrc, no need to do anything here. + break; + case BPMEM_LOADTLUT1: // Load a Texture Look Up Table { DVSTARTSUBPROFILE("LoadBPReg:GXLoadTlut"); -- cgit v1.2.3