diff options
| author | skidau <skidau@gmail.com> | 2013-02-03 23:52:18 +1100 |
|---|---|---|
| committer | skidau <skidau@gmail.com> | 2013-02-03 23:52:18 +1100 |
| commit | 2c8c8db731fe4d22fac0ec2f2064f6bceea35cd3 (patch) | |
| tree | 922c6237518d87e6649e8388f3369ace4af64063 | |
| parent | 9a4e9da7c25f1aa72f5b47e9914f464e966ad7f9 (diff) | |
Used AtomicStore to write to the signal interrupts.
| -rw-r--r-- | Source/Core/VideoCommon/Src/PixelEngine.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/Source/Core/VideoCommon/Src/PixelEngine.cpp b/Source/Core/VideoCommon/Src/PixelEngine.cpp index 6d4659e309..60d69ab1fd 100644 --- a/Source/Core/VideoCommon/Src/PixelEngine.cpp +++ b/Source/Core/VideoCommon/Src/PixelEngine.cpp @@ -110,8 +110,8 @@ static UPEAlphaReadReg m_AlphaRead; static UPECtrlReg m_Control; //static u16 m_Token; // token value most recently encountered -static bool g_bSignalTokenInterrupt; -static bool g_bSignalFinishInterrupt; +volatile bool g_bSignalTokenInterrupt; +volatile bool g_bSignalFinishInterrupt; static int et_SetTokenOnMainThread; static int et_SetFinishOnMainThread; @@ -404,7 +404,7 @@ void SetToken(const u16 _token, const int _bSetTokenAcknowledge) { CommandProcessor::interruptTokenWaiting = true; CoreTiming::ScheduleEvent_Threadsafe(0, et_SetTokenOnMainThread, _token | (_bSetTokenAcknowledge << 16)); - g_bSignalTokenInterrupt = true; + Common::AtomicStore(*(volatile u32*)&g_bSignalTokenInterrupt, 1); } IncrementCheckContextId(); @@ -416,7 +416,7 @@ void SetFinish() { CommandProcessor::interruptFinishWaiting = true; CoreTiming::ScheduleEvent_Threadsafe(0, et_SetFinishOnMainThread, 0); - g_bSignalFinishInterrupt = true; + Common::AtomicStore(*(volatile u32*)&g_bSignalFinishInterrupt, 1); INFO_LOG(PIXELENGINE, "VIDEO Set Finish"); IncrementCheckContextId(); } |
