From 9e40468b9f1b2e83766363f70db7db5c0efaaf7b Mon Sep 17 00:00:00 2001 From: raven02 Date: Thu, 15 Aug 2013 03:43:40 +0800 Subject: [PATCH] Temporary fix issue #3167 in non-multithread mode #1 --- GPU/GLES/DisplayListInterpreter.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/GPU/GLES/DisplayListInterpreter.cpp b/GPU/GLES/DisplayListInterpreter.cpp index d9f10db376..a022903ec8 100644 --- a/GPU/GLES/DisplayListInterpreter.cpp +++ b/GPU/GLES/DisplayListInterpreter.cpp @@ -305,9 +305,12 @@ void GLES_GPU::SetDisplayFramebuffer(u32 framebuf, u32 stride, GEBufferFormat fo bool GLES_GPU::FramebufferDirty() { // FIXME: Workaround for displaylists sometimes hanging unprocessed. Not yet sure of the cause. - ScheduleEvent(GPU_EVENT_PROCESS_QUEUE); - // Allow it to process fully before deciding if it's dirty. - SyncThread(); + if (g_Config.bSeparateCPUThread) { + // FIXME: Workaround for displaylists sometimes hanging unprocessed. Not yet sure of the cause. + ScheduleEvent(GPU_EVENT_PROCESS_QUEUE); + // Allow it to process fully before deciding if it's dirty. + SyncThread(); + } VirtualFramebuffer *vfb = framebufferManager_.GetDisplayFBO(); if (vfb)