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.
|
// to 0 when PI_FIFO_RESET occurs.
|
||||||
void AbortFrame()
|
void AbortFrame()
|
||||||
{
|
{
|
||||||
g_VideoInitialize.pResetGatherPipe();
|
|
||||||
fifo.bFF_GPReadEnable = false;
|
fifo.bFF_GPReadEnable = false;
|
||||||
while (CommandProcessor::isFifoBusy)
|
while (CommandProcessor::isFifoBusy)
|
||||||
Common::YieldCPU();
|
Common::YieldCPU();
|
||||||
g_VideoInitialize.pResetGatherPipe();
|
g_VideoInitialize.pResetGatherPipe();
|
||||||
|
ResetVideoBuffer();
|
||||||
fifo.CPReadPointer = fifo.CPWritePointer;
|
fifo.CPReadPointer = fifo.CPWritePointer;
|
||||||
fifo.CPReadWriteDistance = 0;
|
fifo.CPReadWriteDistance = 0;
|
||||||
fifo.CPBreakpoint = 0;
|
fifo.CPBreakpoint = 0;
|
||||||
|
@ -817,6 +817,7 @@ void AbortFrame()
|
||||||
fifo.CPCmdIdle = false;
|
fifo.CPCmdIdle = false;
|
||||||
PixelEngine::ResetSetToken();
|
PixelEngine::ResetSetToken();
|
||||||
PixelEngine::ResetSetFinish();
|
PixelEngine::ResetSetFinish();
|
||||||
|
fifo.bFF_GPReadEnable = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SetOverflowStatusFromGatherPipe()
|
void SetOverflowStatusFromGatherPipe()
|
||||||
|
|
|
@ -129,6 +129,12 @@ void Fifo_SendFifoData(u8* _uData, u32 len)
|
||||||
size += len;
|
size += len;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ResetVideoBuffer()
|
||||||
|
{
|
||||||
|
g_pVideoData = videoBuffer;
|
||||||
|
size = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Description: Main FIFO update loop
|
// Description: Main FIFO update loop
|
||||||
// Purpose: Keep the Core HW updated about the CPU-GPU distance
|
// Purpose: Keep the Core HW updated about the CPU-GPU distance
|
||||||
|
|
|
@ -40,7 +40,7 @@ void Fifo_ExitLoopNonBlocking();
|
||||||
void Fifo_RunLoop(bool run);
|
void Fifo_RunLoop(bool run);
|
||||||
bool AtBreakpoint();
|
bool AtBreakpoint();
|
||||||
void Fifo_DoState(PointerWrap &f);
|
void Fifo_DoState(PointerWrap &f);
|
||||||
|
void ResetVideoBuffer();
|
||||||
void Fifo_SetRendering(bool bEnabled);
|
void Fifo_SetRendering(bool bEnabled);
|
||||||
|
|
||||||
// Implemented by the Video Plugin
|
// Implemented by the Video Plugin
|
||||||
|
|
Loading…
Reference in New Issue