VRAM dirty tracking fix reset/savestate load
This commit is contained in:
parent
51b2671aa9
commit
b6de3cc638
|
@ -182,6 +182,8 @@ void ResetVRAMCache()
|
|||
VRAMDirty_BBGExtPal.Reset();
|
||||
VRAMDirty_AOBJExtPal.Reset();
|
||||
VRAMDirty_BOBJExtPal.Reset();
|
||||
VRAMDirty_Texture.Reset();
|
||||
VRAMDirty_TexPal.Reset();
|
||||
|
||||
memset(VRAMFlat_ABG, 0, sizeof(VRAMFlat_ABG));
|
||||
memset(VRAMFlat_BBG, 0, sizeof(VRAMFlat_BBG));
|
||||
|
@ -191,6 +193,8 @@ void ResetVRAMCache()
|
|||
memset(VRAMFlat_BBGExtPal, 0, sizeof(VRAMFlat_BBGExtPal));
|
||||
memset(VRAMFlat_AOBJExtPal, 0, sizeof(VRAMFlat_AOBJExtPal));
|
||||
memset(VRAMFlat_BOBJExtPal, 0, sizeof(VRAMFlat_BOBJExtPal));
|
||||
memset(VRAMFlat_Texture, 0, sizeof(VRAMFlat_Texture));
|
||||
memset(VRAMFlat_TexPal, 0, sizeof(VRAMFlat_TexPal));
|
||||
}
|
||||
|
||||
void Reset()
|
||||
|
|
|
@ -93,7 +93,12 @@ struct VRAMTrackingSet
|
|||
|
||||
void Reset()
|
||||
{
|
||||
memset(Mapping, 0, sizeof(Mapping));
|
||||
for (int i = 0; i < Size / MappingGranularity; i++)
|
||||
{
|
||||
// this is not a real VRAM bank
|
||||
// so it will always be a mismatch => the bank will be completely invalidated
|
||||
Mapping[i] = 0x8000;
|
||||
}
|
||||
}
|
||||
NonStupidBitField<Size/VRAMDirtyGranularity> DeriveState(u32* currentMappings);
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue