Fixes to the software plugin command processor. Made it easy to use the command processor in place of the one in video common. Use frame skip setting from the application in the software plugin instead of the internal frame skipping config setting. The WGP does not loop if the write pointer is set beyond the end of the fifo.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4527 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
donkopunchstania
2009-11-11 03:14:38 +00:00
parent c2a4e33313
commit 52da977c73
10 changed files with 245 additions and 159 deletions

View File

@ -37,9 +37,7 @@
PLUGIN_GLOBALS* globals = NULL;
static volatile bool fifoStateRun = false;
SVideoInitialize g_VideoInitialize;
bool g_SkipFrame;
void GetDllInfo (PLUGIN_INFO* _PluginInfo)
@ -76,8 +74,6 @@ void Initialize(void *init)
SVideoInitialize *_pVideoInitialize = (SVideoInitialize*)init;
g_VideoInitialize = *_pVideoInitialize;
g_SkipFrame = false;
g_Config.Load();
InitBPMemory();
@ -158,20 +154,12 @@ void Video_Screenshot(const char *_szFilename)
// -------------------------------
void Video_EnterLoop()
{
fifoStateRun = true;
while (fifoStateRun)
{
g_VideoInitialize.pPeekMessages();
if (!CommandProcessor::RunBuffer()) {
Common::SleepCurrentThread(1);
}
}
Fifo_EnterLoop(g_VideoInitialize);
}
void Video_ExitLoop()
{
fifoStateRun = false;
Fifo_ExitLoop();
}
void Video_AddMessage(const char* pstr, u32 milliseconds)
@ -179,7 +167,8 @@ void Video_AddMessage(const char* pstr, u32 milliseconds)
}
void Video_SetRendering(bool bEnabled)
{
{
Fifo_SetRendering(bEnabled);
}
void Video_CommandProcessorRead16(u16& _rReturnValue, const u32 _Address)