mirror of https://github.com/PCSX2/pcsx2.git
The last update was too aggressive, some games didn't save states anymore. This does nearly the same, but saves work again.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@140 a6443dda-0b58-4228-96e9-037be469359c
This commit is contained in:
parent
4b192421b1
commit
5eb9108814
27
pcsx2/GS.cpp
27
pcsx2/GS.cpp
|
@ -221,22 +221,21 @@ void gsInit()
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//commented out for the time, as this costs fps, breaks savestates a bit (ZeroSPU2)
|
|
||||||
//and doesn't seem to help anything (rama)
|
|
||||||
void gsWaitGS()
|
void gsWaitGS()
|
||||||
{
|
{
|
||||||
// if( CHECK_DUALCORE ) {
|
if( CHECK_DUALCORE ) {
|
||||||
// while( *(volatile PU8*)&g_pGSRingPos != *(volatile PU8*)&g_pGSWritePos );
|
while( *(volatile PU8*)&g_pGSRingPos != *(volatile PU8*)&g_pGSWritePos );
|
||||||
// }
|
}
|
||||||
// else {
|
else {
|
||||||
// while( g_pGSRingPos != g_pGSWritePos ) {
|
while( g_pGSRingPos != g_pGSWritePos ) {
|
||||||
//#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
// Sleep(1);
|
Sleep(1);
|
||||||
//#else
|
#else
|
||||||
// usleep(500);
|
usleep(500);
|
||||||
//#endif
|
#endif
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void gsShutdown()
|
void gsShutdown()
|
||||||
|
|
|
@ -636,7 +636,7 @@ int LoadState(char *file) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// stop and reset the system first
|
// stop and reset the system first
|
||||||
gsWaitGS();
|
//gsWaitGS();
|
||||||
|
|
||||||
for (i=0; i<48; i++) ClearTLB(i);
|
for (i=0; i<48; i++) ClearTLB(i);
|
||||||
|
|
||||||
|
@ -716,7 +716,7 @@ int LoadState(char *file) {
|
||||||
// have to call in thread, otherwise weird stuff will start happening
|
// have to call in thread, otherwise weird stuff will start happening
|
||||||
u64 uf = (uptr)f;
|
u64 uf = (uptr)f;
|
||||||
GSRingBufSimplePacket(GS_RINGTYPE_LOAD, (u32)(uf&0xffffffff), (u32)(uf>>32), 0);
|
GSRingBufSimplePacket(GS_RINGTYPE_LOAD, (u32)(uf&0xffffffff), (u32)(uf>>32), 0);
|
||||||
gsWaitGS();
|
// gsWaitGS();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
_PS2Eload(GS);
|
_PS2Eload(GS);
|
||||||
|
|
|
@ -419,7 +419,7 @@ void cpuBranchTest()
|
||||||
// stall mtgs if it is taking too long
|
// stall mtgs if it is taking too long
|
||||||
if( g_MTGSVifCount > 0 ) {
|
if( g_MTGSVifCount > 0 ) {
|
||||||
if( cpuRegs.cycle-g_MTGSVifStart > g_MTGSVifCount ) {
|
if( cpuRegs.cycle-g_MTGSVifStart > g_MTGSVifCount ) {
|
||||||
gsWaitGS();
|
// gsWaitGS();
|
||||||
g_MTGSVifCount = 0;
|
g_MTGSVifCount = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue