From f1ef51abc89f181bf519400ee1e07dddefd7cbec Mon Sep 17 00:00:00 2001 From: James Dunne Date: Thu, 14 Mar 2013 01:08:26 -0500 Subject: Removing `Core::IsGPUThread()` and `Core::IsCPUThread()` calls in favor of simple `bool isCPUThread` parameter value. --- Source/Core/VideoCommon/Src/CommandProcessor.cpp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'Source/Core/VideoCommon/Src/CommandProcessor.cpp') diff --git a/Source/Core/VideoCommon/Src/CommandProcessor.cpp b/Source/Core/VideoCommon/Src/CommandProcessor.cpp index eb03730fc3..21bfaa5f7e 100644 --- a/Source/Core/VideoCommon/Src/CommandProcessor.cpp +++ b/Source/Core/VideoCommon/Src/CommandProcessor.cpp @@ -468,7 +468,7 @@ void STACKALIGN GatherPipeBursted() } if (IsOnThread()) - SetCpStatus(); + SetCpStatus(true); // update the fifo-pointer if (fifo.CPWritePointer >= fifo.CPEnd) @@ -518,14 +518,14 @@ void AbortFrame() } -void SetCpStatus() +void SetCpStatus(bool isCPUThread) { // overflow & underflow check fifo.bFF_HiWatermark = (fifo.CPReadWriteDistance > fifo.CPHiWatermark); fifo.bFF_LoWatermark = (fifo.CPReadWriteDistance < fifo.CPLoWatermark); - + // breakpoint - if (Core::IsGPUThread()) + if (!isCPUThread) { if (fifo.bFF_BPEnable) { @@ -556,7 +556,7 @@ void SetCpStatus() bool bpInt = fifo.bFF_Breakpoint && fifo.bFF_BPInt; bool ovfInt = fifo.bFF_HiWatermark && fifo.bFF_HiWatermarkInt; bool undfInt = fifo.bFF_LoWatermark && fifo.bFF_LoWatermarkInt; - + bool interrupt = (bpInt || ovfInt || undfInt) && m_CPCtrlReg.GPReadEnable; isHiWatermarkActive = ovfInt && m_CPCtrlReg.GPReadEnable; @@ -567,15 +567,17 @@ void SetCpStatus() u64 userdata = interrupt?1:0; if (IsOnThread()) { - if(!interrupt || bpInt || undfInt || ovfInt) + if (!interrupt || bpInt || undfInt || ovfInt) { - if (Core::IsGPUThread()) + if (!isCPUThread) { + // GPU thread: interruptWaiting = true; CommandProcessor::UpdateInterruptsFromVideoBackend(userdata); } - else if (Core::IsCPUThread()) + else { + // CPU thread: interruptSet = interrupt; INFO_LOG(COMMANDPROCESSOR,"Interrupt set"); ProcessorInterface::SetInterrupt(INT_CAUSE_CP, interrupt); -- cgit v1.2.3