diff --git a/Source/Core/VideoCommon/Src/MainBase.cpp b/Source/Core/VideoCommon/Src/MainBase.cpp index 4df2361ea9..df29fef606 100644 --- a/Source/Core/VideoCommon/Src/MainBase.cpp +++ b/Source/Core/VideoCommon/Src/MainBase.cpp @@ -186,6 +186,14 @@ void VideoBackendHardware::InitializeShared() void VideoBackendHardware::DoState(PointerWrap& p) { VideoCommon_DoState(p); + p.DoMarker("VideoCommon"); + + p.Do(s_swapRequested); + p.Do(s_efbAccessRequested); + p.Do(s_beginFieldArgs); + p.Do(s_accessEFBArgs); + p.Do(s_AccessEFBResult); + p.DoMarker("VideoBackendHardware"); // Refresh state. if (p.GetMode() == PointerWrap::MODE_READ) diff --git a/Source/Core/VideoCommon/Src/VideoState.cpp b/Source/Core/VideoCommon/Src/VideoState.cpp index 5a677a2460..8b1045b71f 100644 --- a/Source/Core/VideoCommon/Src/VideoState.cpp +++ b/Source/Core/VideoCommon/Src/VideoState.cpp @@ -31,29 +31,42 @@ static void DoState(PointerWrap &p) { // BP Memory p.Do(bpmem); - // CP Memory + p.DoMarker("BP Memory"); + + // 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"); // XF Memory p.Do(xfregs); p.DoArray(xfmem, XFMEM_SIZE); - // Texture decoder + p.DoMarker("XF Memory"); + + // Texture decoder p.DoArray(texMem, TMEM_SIZE); + p.DoMarker("texMem"); // FIFO Fifo_DoState(p); + p.DoMarker("Fifo"); CommandProcessor::DoState(p); - PixelEngine::DoState(p); + p.DoMarker("CommandProcessor"); + + PixelEngine::DoState(p); + p.DoMarker("PixelEngine"); // the old way of replaying current bpmem as writes to push side effects to pixel shader manager doesn't really work. PixelShaderManager::DoState(p); + p.DoMarker("PixelShaderManager"); + VertexShaderManager::DoState(p); + p.DoMarker("VertexShaderManager"); // TODO: search for more data that should be saved and add it here }