mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-31 05:08:57 +00:00
OpcodeDecoder: Skip recursiv display lists
This commit is contained in:
parent
e47bfc2788
commit
90613a1bda
3 changed files with 25 additions and 16 deletions
|
@ -251,7 +251,7 @@ static void ReadDataFromFifoOnCPU(u32 readPtr)
|
|||
}
|
||||
}
|
||||
Memory::CopyFromEmu(s_video_buffer_write_ptr, readPtr, len);
|
||||
OpcodeDecoder_Preprocess(write_ptr + len);
|
||||
OpcodeDecoder_Preprocess(write_ptr + len, false);
|
||||
// This would have to be locked if the GPU thread didn't spin.
|
||||
s_video_buffer_write_ptr = write_ptr + len;
|
||||
}
|
||||
|
@ -289,7 +289,7 @@ void RunGpuLoop()
|
|||
// See comment in SyncGPU
|
||||
if (write_ptr > seen_ptr)
|
||||
{
|
||||
OpcodeDecoder_Run(write_ptr);
|
||||
OpcodeDecoder_Run(write_ptr, false);
|
||||
|
||||
{
|
||||
std::lock_guard<std::mutex> vblk(s_video_buffer_lock);
|
||||
|
@ -325,7 +325,7 @@ void RunGpuLoop()
|
|||
|
||||
|
||||
u8* write_ptr = s_video_buffer_write_ptr;
|
||||
cyclesExecuted = OpcodeDecoder_Run(write_ptr);
|
||||
cyclesExecuted = OpcodeDecoder_Run(write_ptr, false);
|
||||
|
||||
|
||||
if (SConfig::GetInstance().m_LocalCoreStartupParameter.bSyncGPU && Common::AtomicLoad(CommandProcessor::VITicks) >= cyclesExecuted)
|
||||
|
@ -399,7 +399,7 @@ void RunGpu()
|
|||
FPURoundMode::SaveSIMDState();
|
||||
FPURoundMode::LoadDefaultSIMDState();
|
||||
ReadDataFromFifo(fifo.CPReadPointer);
|
||||
OpcodeDecoder_Run(s_video_buffer_write_ptr);
|
||||
OpcodeDecoder_Run(s_video_buffer_write_ptr, false);
|
||||
FPURoundMode::LoadSIMDState();
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue