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;