SyncThread before deciding if the fbo is dirty.

Fixes fps drops in yet other games with multithreading enabled.
This commit is contained in:
Unknown W. Brackets 2013-08-10 18:45:07 -07:00
parent 26c072df51
commit 639ab8306b
2 changed files with 7 additions and 1 deletions

View File

@ -304,6 +304,9 @@ void GLES_GPU::SetDisplayFramebuffer(u32 framebuf, u32 stride, GEBufferFormat fo
}
bool GLES_GPU::FramebufferDirty() {
// Allow it to process fully before deciding if it's dirty.
SyncThread();
VirtualFramebuffer *vfb = framebufferManager_.GetDisplayFBO();
if (vfb)
return vfb->dirtyAfterDisplay;

View File

@ -28,7 +28,10 @@ public:
virtual int ListSync(int listid, int mode);
virtual u32 DrawSync(int mode);
virtual void DoState(PointerWrap &p);
virtual bool FramebufferDirty() { return true; }
virtual bool FramebufferDirty() {
SyncThread();
return true;
}
virtual u32 Continue();
virtual u32 Break(int mode);
virtual void ReapplyGfxState();