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_BBGExtPal.Reset();
|
||||||
VRAMDirty_AOBJExtPal.Reset();
|
VRAMDirty_AOBJExtPal.Reset();
|
||||||
VRAMDirty_BOBJExtPal.Reset();
|
VRAMDirty_BOBJExtPal.Reset();
|
||||||
|
VRAMDirty_Texture.Reset();
|
||||||
|
VRAMDirty_TexPal.Reset();
|
||||||
|
|
||||||
memset(VRAMFlat_ABG, 0, sizeof(VRAMFlat_ABG));
|
memset(VRAMFlat_ABG, 0, sizeof(VRAMFlat_ABG));
|
||||||
memset(VRAMFlat_BBG, 0, sizeof(VRAMFlat_BBG));
|
memset(VRAMFlat_BBG, 0, sizeof(VRAMFlat_BBG));
|
||||||
@ -191,6 +193,8 @@ void ResetVRAMCache()
|
|||||||
memset(VRAMFlat_BBGExtPal, 0, sizeof(VRAMFlat_BBGExtPal));
|
memset(VRAMFlat_BBGExtPal, 0, sizeof(VRAMFlat_BBGExtPal));
|
||||||
memset(VRAMFlat_AOBJExtPal, 0, sizeof(VRAMFlat_AOBJExtPal));
|
memset(VRAMFlat_AOBJExtPal, 0, sizeof(VRAMFlat_AOBJExtPal));
|
||||||
memset(VRAMFlat_BOBJExtPal, 0, sizeof(VRAMFlat_BOBJExtPal));
|
memset(VRAMFlat_BOBJExtPal, 0, sizeof(VRAMFlat_BOBJExtPal));
|
||||||
|
memset(VRAMFlat_Texture, 0, sizeof(VRAMFlat_Texture));
|
||||||
|
memset(VRAMFlat_TexPal, 0, sizeof(VRAMFlat_TexPal));
|
||||||
}
|
}
|
||||||
|
|
||||||
void Reset()
|
void Reset()
|
||||||
|
@ -93,7 +93,12 @@ struct VRAMTrackingSet
|
|||||||
|
|
||||||
void Reset()
|
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);
|
NonStupidBitField<Size/VRAMDirtyGranularity> DeriveState(u32* currentMappings);
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user