summaryrefslogtreecommitdiff
path: root/Source/Plugins/Plugin_VideoSoftware/Src/SWmain.cpp
diff options
context:
space:
mode:
authorRachel Bryk <RachelBryk@gmail.com>2013-02-25 23:49:24 -0500
committerRachel Bryk <RachelBryk@gmail.com>2013-02-26 01:36:24 -0500
commitdb838e759b8935e213fa225be88ac0bfc78c27f7 (patch)
treec9445d4ece2dddabbda4617df1c379e519b18ee0 /Source/Plugins/Plugin_VideoSoftware/Src/SWmain.cpp
parent415a2f17c95db405309d9d259134a40f21a3582d (diff)
Improve VideoSoftware save states. They are fairly stable, but not perfect. OpcodeDecoder::DoState() needs to be fixed.
Diffstat (limited to 'Source/Plugins/Plugin_VideoSoftware/Src/SWmain.cpp')
-rw-r--r--Source/Plugins/Plugin_VideoSoftware/Src/SWmain.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/Source/Plugins/Plugin_VideoSoftware/Src/SWmain.cpp b/Source/Plugins/Plugin_VideoSoftware/Src/SWmain.cpp
index 096315af4e..d78b8ba13b 100644
--- a/Source/Plugins/Plugin_VideoSoftware/Src/SWmain.cpp
+++ b/Source/Plugins/Plugin_VideoSoftware/Src/SWmain.cpp
@@ -102,6 +102,19 @@ void VideoSoftware::DoState(PointerWrap& p)
SWPixelEngine::DoState(p);
EfbInterface::DoState(p);
OpcodeDecoder::DoState(p);
+ Clipper::DoState(p);
+ p.Do(swxfregs);
+ p.Do(bpmem);
+
+ // CP Memory
+ p.DoArray(arraybases, 16);
+ p.DoArray(arraystrides, 16);
+ p.Do(MatrixIndexA);
+ p.Do(MatrixIndexB);
+ p.Do(g_VtxDesc.Hex);
+ p.DoArray(g_VtxAttr, 8);
+ p.DoMarker("CP Memory");
+
}
void VideoSoftware::CheckInvalidState()