Improve for my last commit, also reset the VideoBuffer and Forget turn on GPReadEnable. If this is not enoughs for GC games. I will replace CPReadWriteDistance = 0 for ProcessFifoAllDistance.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6974 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
3078db08c7
commit
c0571ae9de
|
@ -805,11 +805,11 @@ void SetFifoIdleFromVideoPlugin()
|
|||
// to 0 when PI_FIFO_RESET occurs.
|
||||
void AbortFrame()
|
||||
{
|
||||
g_VideoInitialize.pResetGatherPipe();
|
||||
fifo.bFF_GPReadEnable = false;
|
||||
while (CommandProcessor::isFifoBusy)
|
||||
Common::YieldCPU();
|
||||
g_VideoInitialize.pResetGatherPipe();
|
||||
ResetVideoBuffer();
|
||||
fifo.CPReadPointer = fifo.CPWritePointer;
|
||||
fifo.CPReadWriteDistance = 0;
|
||||
fifo.CPBreakpoint = 0;
|
||||
|
@ -817,6 +817,7 @@ void AbortFrame()
|
|||
fifo.CPCmdIdle = false;
|
||||
PixelEngine::ResetSetToken();
|
||||
PixelEngine::ResetSetFinish();
|
||||
fifo.bFF_GPReadEnable = true;
|
||||
}
|
||||
|
||||
void SetOverflowStatusFromGatherPipe()
|
||||
|
|
|
@ -129,6 +129,12 @@ void Fifo_SendFifoData(u8* _uData, u32 len)
|
|||
size += len;
|
||||
}
|
||||
|
||||
void ResetVideoBuffer()
|
||||
{
|
||||
g_pVideoData = videoBuffer;
|
||||
size = 0;
|
||||
}
|
||||
|
||||
|
||||
// Description: Main FIFO update loop
|
||||
// Purpose: Keep the Core HW updated about the CPU-GPU distance
|
||||
|
|
|
@ -40,7 +40,7 @@ void Fifo_ExitLoopNonBlocking();
|
|||
void Fifo_RunLoop(bool run);
|
||||
bool AtBreakpoint();
|
||||
void Fifo_DoState(PointerWrap &f);
|
||||
|
||||
void ResetVideoBuffer();
|
||||
void Fifo_SetRendering(bool bEnabled);
|
||||
|
||||
// Implemented by the Video Plugin
|
||||
|
|
Loading…
Reference in New Issue