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:
parent
f7a1fabade
commit
e090a92c7e
|
@ -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;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue