mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-23 06:09:50 -06:00
second step in dlist optimizations: test the hashes only when the cpu could change the contents of the dlist, this is after it been processed, or at frame finish.
this is marcos idea so the credits go to him. please test the broken games in my last commits to see if this solve all the issues. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7114 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
@ -30,7 +30,7 @@
|
||||
#include "PixelEngine.h"
|
||||
#include "CommandProcessor.h"
|
||||
#include "HW/ProcessorInterface.h"
|
||||
|
||||
#include "DLCache.h"
|
||||
namespace PixelEngine
|
||||
{
|
||||
|
||||
@ -324,7 +324,6 @@ void UpdateTokenInterrupt(bool active)
|
||||
|
||||
void UpdateFinishInterrupt(bool active)
|
||||
{
|
||||
|
||||
if(interruptSetFinish != active)
|
||||
{
|
||||
ProcessorInterface::SetInterrupt(INT_CAUSE_PE_FINISH, active);
|
||||
@ -346,6 +345,7 @@ void SetToken_OnMainThread(u64 userdata, int cyclesLate)
|
||||
INFO_LOG(PIXELENGINE, "VIDEO Plugin raises INT_CAUSE_PE_TOKEN (btw, token: %04x)", CommandProcessor::fifo.PEToken);
|
||||
UpdateInterrupts();
|
||||
CommandProcessor::interruptTokenWaiting = false;
|
||||
IncrementCheckContextId();
|
||||
//}
|
||||
//else
|
||||
// LOGV(PIXELENGINE, 1, "VIDEO Plugin wrote token: %i", CommandProcessor::fifo.PEToken);
|
||||
@ -380,6 +380,7 @@ void SetToken(const u16 _token, const int _bSetTokenAcknowledge)
|
||||
// 4-byte padded.
|
||||
Common::AtomicStore(*(volatile u32*)&CommandProcessor::fifo.PEToken, _token);
|
||||
}
|
||||
IncrementCheckContextId();
|
||||
}
|
||||
|
||||
// SetFinish
|
||||
@ -390,6 +391,7 @@ void SetFinish()
|
||||
CommandProcessor::interruptFinishWaiting = true;
|
||||
CoreTiming::ScheduleEvent_Threadsafe(0, et_SetFinishOnMainThread, 0);
|
||||
INFO_LOG(PIXELENGINE, "VIDEO Set Finish");
|
||||
IncrementCheckContextId();
|
||||
}
|
||||
|
||||
//This function is used in CommandProcessor when write CTRL_REGISTER and the new fifo is attached.
|
||||
|
Reference in New Issue
Block a user