mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-01-11 08:39:13 +01: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
49 lines
930 B
C++
49 lines
930 B
C++
|
|
#ifndef SW_VIDEO_BACKEND_H_
|
|
#define SW_VIDEO_BACKEND_H_
|
|
|
|
#include "VideoBackendBase.h"
|
|
|
|
namespace SW
|
|
{
|
|
|
|
class VideoBackend : public VideoBackendLLE
|
|
{
|
|
void Initialize();
|
|
void Shutdown();
|
|
|
|
std::string GetName();
|
|
|
|
void EmuStateChange(EMUSTATE_CHANGE newState);
|
|
|
|
void DoState(PointerWrap &p);
|
|
void RunLoop(bool enable);
|
|
|
|
void ShowConfig(void* parent);
|
|
|
|
void Video_Prepare();
|
|
|
|
void Video_EnterLoop();
|
|
void Video_ExitLoop();
|
|
void Video_BeginField(u32, FieldType, u32, u32);
|
|
void Video_EndField();
|
|
u32 Video_AccessEFB(EFBAccessType, u32, u32, u32);
|
|
|
|
void Video_AddMessage(const char* pstr, unsigned int milliseconds);
|
|
void Video_ClearMessages();
|
|
bool Video_Screenshot(const char* filename);
|
|
|
|
void Video_SetRendering(bool bEnabled);
|
|
|
|
void Video_WaitForFrameFinish();
|
|
bool Video_IsPossibleWaitingSetDrawDone();
|
|
void Video_AbortFrame();
|
|
|
|
void UpdateFPSDisplay(const char*);
|
|
unsigned int PeekMessages();
|
|
};
|
|
|
|
}
|
|
|
|
#endif
|