diff options
| author | Markus Wick <markus+github@selfnet.de> | 2015-05-31 23:26:55 +0200 |
|---|---|---|
| committer | Markus Wick <markus+github@selfnet.de> | 2015-05-31 23:26:55 +0200 |
| commit | aa2576a2c7ebc589a594780726a884df1ad95d89 (patch) | |
| tree | 97a97507b306cd838efa76f68fa0ee690899adea /Source/Core/VideoBackends/Software/CPMemLoader.cpp | |
| parent | ac1f3ef09957bc863737541b23ada77195bf41aa (diff) | |
| parent | 7df69829732745d98b843d37d68a65920d1d883b (diff) | |
Merge pull request #2480 from phire/GamesDoWeirdShit
Fix invalid pointer errors in Burnout 2.
Diffstat (limited to 'Source/Core/VideoBackends/Software/CPMemLoader.cpp')
| -rw-r--r-- | Source/Core/VideoBackends/Software/CPMemLoader.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/Source/Core/VideoBackends/Software/CPMemLoader.cpp b/Source/Core/VideoBackends/Software/CPMemLoader.cpp index 39627f1953..c33cd2dd0e 100644 --- a/Source/Core/VideoBackends/Software/CPMemLoader.cpp +++ b/Source/Core/VideoBackends/Software/CPMemLoader.cpp @@ -23,11 +23,13 @@ void SWLoadCPReg(u32 sub_cmd, u32 value) case 0x50: g_main_cp_state.vtx_desc.Hex &= ~0x1FFFF; // keep the Upper bits g_main_cp_state.vtx_desc.Hex |= value; + g_main_cp_state.bases_dirty = true; break; case 0x60: g_main_cp_state.vtx_desc.Hex &= 0x1FFFF; // keep the lower 17Bits g_main_cp_state.vtx_desc.Hex |= (u64)value << 17; + g_main_cp_state.bases_dirty = true; break; case 0x70: @@ -48,7 +50,7 @@ void SWLoadCPReg(u32 sub_cmd, u32 value) // Pointers to vertex arrays in GC RAM case 0xA0: g_main_cp_state.array_bases[sub_cmd & 0xF] = value; - cached_arraybases[sub_cmd & 0xF] = Memory::GetPointer(value); + g_main_cp_state.bases_dirty = true; break; case 0xB0: |
