mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-02-10 14:39:01 +01:00
Call Do for every member of SCPFifoStruct individually
We need this because VS currently doesn't consider std::is_trivially_copyable<typename std::remove_volatile<SCPFifoStruct>::type>::value to be true and because no compiler should consider it to be true if we replace the volatiles with atomics.
This commit is contained in:
parent
983b986303
commit
8ad5ea2ede
@ -50,6 +50,31 @@ static void UpdateInterrupts_Wrapper(u64 userdata, s64 cyclesLate)
|
|||||||
UpdateInterrupts(userdata);
|
UpdateInterrupts(userdata);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SCPFifoStruct::DoState(PointerWrap& p)
|
||||||
|
{
|
||||||
|
p.Do(CPBase);
|
||||||
|
p.Do(CPEnd);
|
||||||
|
p.Do(CPHiWatermark);
|
||||||
|
p.Do(CPLoWatermark);
|
||||||
|
p.Do(CPReadWriteDistance);
|
||||||
|
p.Do(CPWritePointer);
|
||||||
|
p.Do(CPReadPointer);
|
||||||
|
p.Do(CPBreakpoint);
|
||||||
|
p.Do(SafeCPReadPointer);
|
||||||
|
|
||||||
|
p.Do(bFF_GPLinkEnable);
|
||||||
|
p.Do(bFF_GPReadEnable);
|
||||||
|
p.Do(bFF_BPEnable);
|
||||||
|
p.Do(bFF_BPInt);
|
||||||
|
p.Do(bFF_Breakpoint);
|
||||||
|
|
||||||
|
p.Do(bFF_LoWatermarkInt);
|
||||||
|
p.Do(bFF_HiWatermarkInt);
|
||||||
|
|
||||||
|
p.Do(bFF_LoWatermark);
|
||||||
|
p.Do(bFF_HiWatermark);
|
||||||
|
}
|
||||||
|
|
||||||
void DoState(PointerWrap& p)
|
void DoState(PointerWrap& p)
|
||||||
{
|
{
|
||||||
p.DoPOD(m_CPStatusReg);
|
p.DoPOD(m_CPStatusReg);
|
||||||
@ -60,7 +85,7 @@ void DoState(PointerWrap& p)
|
|||||||
p.Do(m_bboxright);
|
p.Do(m_bboxright);
|
||||||
p.Do(m_bboxbottom);
|
p.Do(m_bboxbottom);
|
||||||
p.Do(m_tokenReg);
|
p.Do(m_tokenReg);
|
||||||
p.Do(fifo);
|
fifo.DoState(p);
|
||||||
|
|
||||||
p.Do(s_interrupt_set);
|
p.Do(s_interrupt_set);
|
||||||
p.Do(s_interrupt_waiting);
|
p.Do(s_interrupt_waiting);
|
||||||
|
@ -38,6 +38,8 @@ struct SCPFifoStruct
|
|||||||
|
|
||||||
volatile u32 bFF_LoWatermark;
|
volatile u32 bFF_LoWatermark;
|
||||||
volatile u32 bFF_HiWatermark;
|
volatile u32 bFF_HiWatermark;
|
||||||
|
|
||||||
|
void DoState(PointerWrap& p);
|
||||||
};
|
};
|
||||||
|
|
||||||
// This one is shared between gfx thread and emulator thread.
|
// This one is shared between gfx thread and emulator thread.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user