summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/Core/Src/HW/CommandProcessor.cpp4
-rw-r--r--Source/Core/VideoCommon/Src/Fifo.cpp4
2 files changed, 8 insertions, 0 deletions
diff --git a/Source/Core/Core/Src/HW/CommandProcessor.cpp b/Source/Core/Core/Src/HW/CommandProcessor.cpp
index 10bb2dd90c..086806d1db 100644
--- a/Source/Core/Core/Src/HW/CommandProcessor.cpp
+++ b/Source/Core/Core/Src/HW/CommandProcessor.cpp
@@ -505,7 +505,11 @@ void GatherPipeBursted()
// Wait for GPU to catch up
while (fifo.CPReadWriteDistance > 0) // TOCHECK: more checks could be needed
;
+#ifdef _WIN32
InterlockedExchange((LONG*)&fifo.Fake_GPWDInterrupt, 0);
+#else
+ Common::InterlockedExchange((int*)&fifo.Fake_GPWDInterrupt, 0);
+#endif
LOGV(COMMANDPROCESSOR, 2, "!!! Fake_GPWDInterrupt raised. Fake_GPWDToken %i",fifo.Fake_GPWDToken);
}
diff --git a/Source/Core/VideoCommon/Src/Fifo.cpp b/Source/Core/VideoCommon/Src/Fifo.cpp
index c1b1009d48..e9badceb00 100644
--- a/Source/Core/VideoCommon/Src/Fifo.cpp
+++ b/Source/Core/VideoCommon/Src/Fifo.cpp
@@ -102,7 +102,11 @@ THREAD_RETURN GPWatchdogThread(void *pArg)
// TODO (mb2): FIX this !!!
//if (token == _fifo.Fake_GPWDToken)
{
+#ifdef _WIN32
InterlockedExchange((LONG*)&_fifo.Fake_GPWDInterrupt, 1);
+#else
+ Common::InterlockedExchange((int*)&_fifo.Fake_GPWDInterrupt, 1);
+#endif
//__Log(LogTypes::VIDEO,"!!! Watchdog hit",_fifo.CPReadWriteDistance);
}
token = _fifo.Fake_GPWDToken;