summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/Src
diff options
context:
space:
mode:
authorpierre <pierre@pirsoft.de>2011-07-03 20:48:22 +0000
committerpierre <pierre@pirsoft.de>2011-07-03 20:48:22 +0000
commite090a92c7e6d69be530837b988198d51d40d4439 (patch)
treedea89eef7f1506de45ed20b509400340c0177f60 /Source/Core/VideoCommon/Src
parentf7a1fabade45469102eae2b2192c6ae0ab6266ad (diff)
VideoCommon: Always update pixel shader constants when tevregs change
Fixes texts staying visible and strange colors in Metroid Prime 3. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7665 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core/VideoCommon/Src')
-rw-r--r--Source/Core/VideoCommon/Src/BPStructs.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/Source/Core/VideoCommon/Src/BPStructs.cpp b/Source/Core/VideoCommon/Src/BPStructs.cpp
index bd9e9ac5f7..df72b2d5de 100644
--- a/Source/Core/VideoCommon/Src/BPStructs.cpp
+++ b/Source/Core/VideoCommon/Src/BPStructs.cpp
@@ -553,11 +553,12 @@ void BPWritten(const BPCmd& bp)
case BPMEM_TEV_REGISTER_H+4:
case BPMEM_TEV_REGISTER_L+6: // Reg 4
case BPMEM_TEV_REGISTER_H+6:
- if (bp.address & 1) // only run this code for the _H! is this right? what if L is set independently?
+ // some games only send the _L part, so always update
{
// don't compare with changes!
int num = (bp.address >> 1) & 0x3;
PixelShaderManager::SetColorChanged(bpmem.tevregs[num].high.type, num);
+ //is .low.type used for anything in the real HW?
}
break;