mirror of
https://github.com/melonDS-emu/melonDS.git
synced 2025-07-23 14:19:55 -06:00
VRAM dirty tracking fix reset/savestate load
This commit is contained in:
@ -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);
|
||||
};
|
||||
|
Reference in New Issue
Block a user