summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/Src/VideoState.cpp
diff options
context:
space:
mode:
authornitsuja <nitsuja-@hotmail.com>2012-01-01 12:46:02 -0800
committerskidau <skidau@gmail.com>2012-05-26 13:18:07 +1000
commit2be579e8bad372e7a7433a7d6300939ecef4c654 (patch)
treeaf50bcb1d521ea3f9d3c1d18a1d049386188ae7f /Source/Core/VideoCommon/Src/VideoState.cpp
parent19b0b02ad75d9400cd69bfee3729f91662c2064b (diff)
fixed some graphics problems with loading savestates (for example, wrong colors on title screen of metroid prime 3)
Diffstat (limited to 'Source/Core/VideoCommon/Src/VideoState.cpp')
-rw-r--r--Source/Core/VideoCommon/Src/VideoState.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/Source/Core/VideoCommon/Src/VideoState.cpp b/Source/Core/VideoCommon/Src/VideoState.cpp
index b1c1ed0889..5a677a2460 100644
--- a/Source/Core/VideoCommon/Src/VideoState.cpp
+++ b/Source/Core/VideoCommon/Src/VideoState.cpp
@@ -24,6 +24,8 @@
#include "Fifo.h"
#include "CommandProcessor.h"
#include "PixelEngine.h"
+#include "PixelShaderManager.h"
+#include "VertexShaderManager.h"
static void DoState(PointerWrap &p)
{
@@ -48,12 +50,17 @@ static void DoState(PointerWrap &p)
CommandProcessor::DoState(p);
PixelEngine::DoState(p);
+
+ // the old way of replaying current bpmem as writes to push side effects to pixel shader manager doesn't really work.
+ PixelShaderManager::DoState(p);
+ VertexShaderManager::DoState(p);
+
+ // TODO: search for more data that should be saved and add it here
}
void VideoCommon_DoState(PointerWrap &p)
{
DoState(p);
- //TODO: search for more data that should be saved and add it here
}
void VideoCommon_RunLoop(bool enable)