summaryrefslogtreecommitdiff
path: root/Source/Plugins/Plugin_VideoSoftware/Src/SWmain.cpp
diff options
context:
space:
mode:
authorRachel Bryk <RachelBryk@gmail.com>2013-02-26 18:28:56 -0500
committerRachel Bryk <RachelBryk@gmail.com>2013-02-26 18:28:56 -0500
commit08fe3c213ad71e903fed83edfada5a79c75f11f9 (patch)
tree886413488b7046b9f6f047fc86c4126e9ca3c95a /Source/Plugins/Plugin_VideoSoftware/Src/SWmain.cpp
parentdb838e759b8935e213fa225be88ac0bfc78c27f7 (diff)
Abort loading states from incompatible graphics backends.
Diffstat (limited to 'Source/Plugins/Plugin_VideoSoftware/Src/SWmain.cpp')
-rw-r--r--Source/Plugins/Plugin_VideoSoftware/Src/SWmain.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/Source/Plugins/Plugin_VideoSoftware/Src/SWmain.cpp b/Source/Plugins/Plugin_VideoSoftware/Src/SWmain.cpp
index d78b8ba13b..6976b18690 100644
--- a/Source/Plugins/Plugin_VideoSoftware/Src/SWmain.cpp
+++ b/Source/Plugins/Plugin_VideoSoftware/Src/SWmain.cpp
@@ -41,6 +41,7 @@
#include "Core.h"
#include "OpcodeDecoder.h"
#include "SWVertexLoader.h"
+#include "SWStatistics.h"
#define VSYNC_ENABLED 0
@@ -97,6 +98,11 @@ bool VideoSoftware::Initialize(void *&window_handle)
void VideoSoftware::DoState(PointerWrap& p)
{
+ bool software = true;
+ p.Do(software);
+ if (p.GetMode() == PointerWrap::MODE_READ && software == false)
+ // change mode to abort load of incompatible save state.
+ p.SetMode(PointerWrap::MODE_VERIFY);
// TODO: incomplete
SWCommandProcessor::DoState(p);
SWPixelEngine::DoState(p);
@@ -105,6 +111,7 @@ void VideoSoftware::DoState(PointerWrap& p)
Clipper::DoState(p);
p.Do(swxfregs);
p.Do(bpmem);
+ p.Do(swstats);
// CP Memory
p.DoArray(arraybases, 16);