mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2024-11-15 22:09:19 -07:00
86278642dc
I think that isFifoBusy bring better sync with VI (video interface) because the CPU emulated threads are waiting for DrawDone in BP Register. So, I do some modifications. 1) Rename "IsFifoBusy" by "isPossibleWaitingSetDrawDone" 2) Only activate isPossibleWaitingSetDrawDone when bFF_GPLinkEnable is true in fifo loop "Inmediate mode" that is because in theory this drawsync function is using in this mode. 3) Deactivate isPossibleWaitingSetDrawDone also in SetFinish in PixelEngine, beside when 32 block is finish. Please regression in yours games thats can bring some FPS more above all with VPS frame limiter ON (Auto, 60, 50, etc). - Fix waiting in AbortFrame(), please test mp1/mp2 is fixed again. Good look! git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7123 8ced0084-cf51-0410-be5f-012b33b47a6e
51 lines
1.3 KiB
C++
51 lines
1.3 KiB
C++
// Copyright (C) 2003 Dolphin Project.
|
|
|
|
// This program is free software: you can redistribute it and/or modify
|
|
// it under the terms of the GNU General Public License as published by
|
|
// the Free Software Foundation, version 2.0.
|
|
|
|
// This program is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU General Public License 2.0 for more details.
|
|
|
|
// A copy of the GPL 2.0 should have been included with the program.
|
|
// If not, see http://www.gnu.org/licenses/
|
|
|
|
// Official SVN repository and contact information can be found at
|
|
// http://code.google.com/p/dolphin-emu/
|
|
|
|
#ifndef _FIFO_H
|
|
#define _FIFO_H
|
|
|
|
#include "Common.h"
|
|
#include "VideoBackendBase.h"
|
|
|
|
class PointerWrap;
|
|
|
|
#define FIFO_SIZE (1024*1024)
|
|
|
|
extern volatile bool g_bSkipCurrentFrame;
|
|
|
|
|
|
void Fifo_Init();
|
|
void Fifo_Shutdown();
|
|
|
|
void Fifo_SendFifoData(u8* _uData, u32 len);
|
|
|
|
// These two are for dual core mode only.
|
|
void Fifo_EnterLoop();
|
|
void Fifo_ExitLoop();
|
|
void Fifo_RunLoop(bool run);
|
|
bool AtBreakpoint();
|
|
void Fifo_DoState(PointerWrap &f);
|
|
void ResetVideoBuffer();
|
|
void Fifo_SetRendering(bool bEnabled);
|
|
bool IsFifoProcesingData();
|
|
|
|
// Implemented by the Video Plugin
|
|
void VideoFifo_CheckAsyncRequest();
|
|
void VideoFifo_CheckStateRequest();
|
|
|
|
#endif // _FIFO_H
|