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
This commit is contained in:
pierre 2011-07-03 20:48:22 +00:00
parent f7a1fabade
commit e090a92c7e
1 changed files with 2 additions and 1 deletions

View File

@ -553,11 +553,12 @@ void BPWritten(const BPCmd& bp)
case BPMEM_TEV_REGISTER_H+4: case BPMEM_TEV_REGISTER_H+4:
case BPMEM_TEV_REGISTER_L+6: // Reg 4 case BPMEM_TEV_REGISTER_L+6: // Reg 4
case BPMEM_TEV_REGISTER_H+6: 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! // don't compare with changes!
int num = (bp.address >> 1) & 0x3; int num = (bp.address >> 1) & 0x3;
PixelShaderManager::SetColorChanged(bpmem.tevregs[num].high.type, num); PixelShaderManager::SetColorChanged(bpmem.tevregs[num].high.type, num);
//is .low.type used for anything in the real HW?
} }
break; break;