Halt GPU on invalid addresses, more accurate GetTicks in CoreTiming

This commit is contained in:
Henrik Rydgard 2012-11-07 15:40:46 +01:00
parent 320eaeb6a4
commit f44a207638
2 changed files with 5 additions and 1 deletions

View File

@ -169,7 +169,7 @@ void Shutdown()
u64 GetTicks()
{
return (u64)globalTimer;
return (u64)globalTimer + slicelength - downcount;
}
u64 GetIdleTicks()

View File

@ -981,6 +981,10 @@ bool GLES_GPU::InterpretList()
finished = false;
while (!finished)
{
if (!Memory::IsValidAddress(dcontext.pc)) {
ERROR_LOG(G3D, "DL PC = %08x WTF!!!!", dcontext.pc);
return true;
}
if (dcontext.pc == dcontext.stallAddr)
return false;