diff options
| author | Pierre Bourdon <delroth@gmail.com> | 2013-03-29 00:49:07 +0100 |
|---|---|---|
| committer | Pierre Bourdon <delroth@gmail.com> | 2013-03-29 00:49:07 +0100 |
| commit | 57d4ba8dcca69e26a7897a90a4c01b5922d276b1 (patch) | |
| tree | 47bd045f33336b5228a928a065093bdd81fc5cbb /Source/Plugins/Plugin_VideoSoftware/Src/SWCommandProcessor.cpp | |
| parent | bad4f7f790b6038450488d1c23d8b65329cea4b4 (diff) | |
| parent | 40d919b352a553913f2c1e93e9fa39f2b968b04b (diff) | |
Merge branch 'master' into new-ax-hle
Diffstat (limited to 'Source/Plugins/Plugin_VideoSoftware/Src/SWCommandProcessor.cpp')
| -rw-r--r-- | Source/Plugins/Plugin_VideoSoftware/Src/SWCommandProcessor.cpp | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/Source/Plugins/Plugin_VideoSoftware/Src/SWCommandProcessor.cpp b/Source/Plugins/Plugin_VideoSoftware/Src/SWCommandProcessor.cpp index b9afc1abb5..6cc4ee4dc8 100644 --- a/Source/Plugins/Plugin_VideoSoftware/Src/SWCommandProcessor.cpp +++ b/Source/Plugins/Plugin_VideoSoftware/Src/SWCommandProcessor.cpp @@ -57,6 +57,15 @@ CPReg cpreg; // shared between gfx and emulator thread void DoState(PointerWrap &p) { p.Do(cpreg); + p.DoArray(commandBuffer, commandBufferSize); + p.Do(readPos); + p.Do(writePos); + p.Do(et_UpdateInterrupts); + p.Do(interruptSet); + p.Do(interruptWaiting); + + // Is this right? + p.DoArray(g_pVideoData,writePos); } // does it matter that there is no synchronization between threads during writes? @@ -115,15 +124,15 @@ void RunGpu() if (!SConfig::GetInstance().m_LocalCoreStartupParameter.bCPUThread) { // We are going to do FP math on the main thread so have to save the current state - SaveSSEState(); - LoadDefaultSSEState(); + FPURoundMode::SaveSIMDState(); + FPURoundMode::LoadDefaultSIMDState(); // run the opcode decoder do { RunBuffer(); } while (cpreg.ctrl.GPReadEnable && !AtBreakpoint() && cpreg.readptr != cpreg.writeptr); - LoadSSEState(); + FPURoundMode::LoadSIMDState(); } } |
