Skip to content

Commit

Permalink
Fix Sunshine in deterministic mode.
Browse files Browse the repository at this point in the history
When BPMEM_PE_TOKEN_ID is written right after BPMEM_PE_TOKEN_INT_ID in
deterministic mode, don't entirely overwrite interruptTokenData and
forget about the interrupt.  Duh.
  • Loading branch information
comex committed Sep 18, 2013
1 parent 6eeb054 commit af19f5d
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 1 deletion.
1 change: 1 addition & 0 deletions Source/Core/VideoCommon/Src/CommandProcessor.cpp
Expand Up @@ -148,6 +148,7 @@ static void SyncGPU()
if (interruptTokenWaiting)
{
PixelEngine::SetToken_OnMainThread(interruptTokenData, 0);
interruptTokenData = 0;
}
if (interruptFinishWaiting)
{
Expand Down
2 changes: 1 addition & 1 deletion Source/Core/VideoCommon/Src/PixelEngine.cpp
Expand Up @@ -398,7 +398,7 @@ void SetToken(const u16 _token, const int _bSetTokenAcknowledge)
{
u32 data = _token | (_bSetTokenAcknowledge << 16);
if (CommandProcessor::deterministicGPUSync)
CommandProcessor::interruptTokenData = data;
CommandProcessor::interruptTokenData = data | (CommandProcessor::interruptTokenData & 0x10000);
else
CoreTiming::ScheduleEvent_Threadsafe(0, et_SetTokenOnMainThread, data);
IncrementCheckContextId();
Expand Down

0 comments on commit af19f5d

Please sign in to comment.