Fix the framerate counter of the software graphic backend.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7363 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
sl1nk3.s 2011-03-16 23:57:13 +00:00
parent 9198e83ae1
commit aabb542d47
2 changed files with 23 additions and 8 deletions

View file

@ -85,7 +85,7 @@ namespace EfbCopy
if (bpmem.triggerEFBCopy.copy_to_xfb)
{
CopyToXfb();
Core::Callback_VideoCopiedToXFB(false);
Core::Callback_VideoCopiedToXFB(true);
swstats.frameCount++;
}

View file

@ -43,7 +43,8 @@
namespace SW
{
static bool fifoStateRun = false;
static volatile bool fifoStateRun = false;
static volatile bool emuRunningState = false;
std::string VideoSoftware::GetName()
@ -94,11 +95,12 @@ void VideoSoftware::DoState(PointerWrap&)
void VideoSoftware::RunLoop(bool enable)
{
//EmulatorState(true);
emuRunningState = enable;
}
void VideoSoftware::EmuStateChange(EMUSTATE_CHANGE newState)
{
emuRunningState = (newState == EMUSTATE_CHANGE_PLAY) ? true : false;
}
void VideoSoftware::Shutdown()
@ -170,11 +172,24 @@ void VideoSoftware::Video_EnterLoop()
while (fifoStateRun)
{
g_video_backend->PeekMessages();
if (!SWCommandProcessor::RunBuffer()) {
if (!SWCommandProcessor::RunBuffer())
{
Common::YieldCPU();
}
if (!emuRunningState)
{
while (!emuRunningState)
{
g_video_backend->PeekMessages();
Common::SleepCurrentThread(1);
}
}
}
}
void VideoSoftware::Video_ExitLoop()
{