diff options
| author | Tony Wasserka <neobrainx@gmail.com> | 2014-05-17 10:40:57 +0200 |
|---|---|---|
| committer | Tony Wasserka <neobrainx@gmail.com> | 2014-05-17 10:40:57 +0200 |
| commit | 0fac17da336faf81a69842ad0b3641cdad692262 (patch) | |
| tree | 2bc0fa8c18c0ba4cbb9c6d3948bc665f71481916 /Source/Core/VideoCommon/RenderBase.cpp | |
| parent | d0de0c1222e87435f9b09ff80732a79e74b92ffa (diff) | |
| parent | 6fbf6fad3b2dd1c3cc24a310641841da32de914e (diff) | |
Merge pull request #269 from magumagu/swbackend-xfregisters
SW backend: use VideoCommon XFRegisters struct.
Diffstat (limited to 'Source/Core/VideoCommon/RenderBase.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/RenderBase.cpp | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/Source/Core/VideoCommon/RenderBase.cpp b/Source/Core/VideoCommon/RenderBase.cpp index 8b42d1c23b..744557b54c 100644 --- a/Source/Core/VideoCommon/RenderBase.cpp +++ b/Source/Core/VideoCommon/RenderBase.cpp @@ -502,15 +502,18 @@ void Renderer::CheckFifoRecording() void Renderer::RecordVideoMemory() { - u32 *bpMem = (u32*)&bpmem; - u32 cpMem[256]; - u32 *xfMem = (u32*)xfmem; - u32 *xfRegs = (u32*)&xfregs; - - memset(cpMem, 0, 256 * 4); - FillCPMemoryArray(cpMem); - - FifoRecorder::GetInstance().SetVideoMemory(bpMem, cpMem, xfMem, xfRegs, sizeof(XFRegisters) / 4); + u32 *bpmem_ptr = (u32*)&bpmem; + u32 cpmem[256]; + // The FIFO recording format splits XF memory into xfmem and xfregs; follow + // that split here. + u32 *xfmem_ptr = (u32*)&xfmem; + u32 *xfregs_ptr = (u32*)&xfmem + FifoDataFile::XF_MEM_SIZE; + u32 xfregs_size = sizeof(XFMemory) / 4 - FifoDataFile::XF_MEM_SIZE; + + memset(cpmem, 0, 256 * 4); + FillCPMemoryArray(cpmem); + + FifoRecorder::GetInstance().SetVideoMemory(bpmem_ptr, cpmem, xfmem_ptr, xfregs_ptr, xfregs_size); } void Renderer::Swap(u32 xfbAddr, u32 fbWidth, u32 fbHeight, const EFBRectangle& rc, float Gamma) |
