2011-01-31 01:28:32 +00:00
|
|
|
|
|
|
|
#ifndef SW_VIDEO_BACKEND_H_
|
|
|
|
#define SW_VIDEO_BACKEND_H_
|
|
|
|
|
|
|
|
#include "VideoBackendBase.h"
|
|
|
|
|
|
|
|
namespace SW
|
|
|
|
{
|
|
|
|
|
2011-03-16 22:48:17 +00:00
|
|
|
class VideoSoftware : public VideoBackend
|
2011-01-31 01:28:32 +00:00
|
|
|
{
|
2011-02-25 21:14:13 +00:00
|
|
|
bool Initialize(void *&);
|
2011-01-31 01:28:32 +00:00
|
|
|
void Shutdown();
|
|
|
|
|
|
|
|
std::string GetName();
|
|
|
|
|
2011-02-02 04:40:27 +00:00
|
|
|
void EmuStateChange(EMUSTATE_CHANGE newState);
|
2011-01-31 01:28:32 +00:00
|
|
|
|
2011-02-08 11:02:34 +00:00
|
|
|
void RunLoop(bool enable);
|
2011-01-31 01:28:32 +00:00
|
|
|
|
|
|
|
void ShowConfig(void* parent);
|
|
|
|
|
|
|
|
void Video_Prepare();
|
2013-02-26 15:42:32 +00:00
|
|
|
void Video_Cleanup();
|
2011-01-31 01:28:32 +00:00
|
|
|
|
|
|
|
void Video_EnterLoop();
|
|
|
|
void Video_ExitLoop();
|
2013-09-23 06:29:31 +00:00
|
|
|
void Video_BeginField(u32, u32, u32);
|
2011-01-31 01:28:32 +00:00
|
|
|
void Video_EndField();
|
2013-02-16 23:50:40 +00:00
|
|
|
|
2011-01-31 01:28:32 +00:00
|
|
|
u32 Video_AccessEFB(EFBAccessType, u32, u32, u32);
|
2013-02-16 23:50:40 +00:00
|
|
|
u32 Video_GetQueryResult(PerfQueryType type);
|
2011-01-31 01:28:32 +00:00
|
|
|
|
|
|
|
void Video_AddMessage(const char* pstr, unsigned int milliseconds);
|
2011-02-03 19:55:30 +00:00
|
|
|
void Video_ClearMessages();
|
2011-01-31 01:28:32 +00:00
|
|
|
bool Video_Screenshot(const char* filename);
|
|
|
|
|
2013-09-02 06:40:05 +00:00
|
|
|
int Video_LoadTexture(char *imagedata, u32 width, u32 height);
|
|
|
|
void Video_DeleteTexture(int texID);
|
|
|
|
void Video_DrawTexture(int texID, float *coords);
|
|
|
|
|
2011-01-31 01:28:32 +00:00
|
|
|
void Video_SetRendering(bool bEnabled);
|
|
|
|
|
2011-03-16 22:48:17 +00:00
|
|
|
void Video_GatherPipeBursted();
|
2012-03-05 05:40:10 +00:00
|
|
|
bool Video_IsHiWatermarkActive();
|
2011-02-10 04:47:02 +00:00
|
|
|
bool Video_IsPossibleWaitingSetDrawDone();
|
2011-01-31 01:28:32 +00:00
|
|
|
void Video_AbortFrame();
|
|
|
|
|
2011-03-16 22:48:17 +00:00
|
|
|
readFn16 Video_CPRead16();
|
|
|
|
writeFn16 Video_CPWrite16();
|
|
|
|
readFn16 Video_PERead16();
|
|
|
|
writeFn16 Video_PEWrite16();
|
|
|
|
writeFn32 Video_PEWrite32();
|
|
|
|
|
2011-01-31 01:28:32 +00:00
|
|
|
void UpdateFPSDisplay(const char*);
|
|
|
|
unsigned int PeekMessages();
|
2011-12-31 04:16:12 +00:00
|
|
|
|
|
|
|
void PauseAndLock(bool doLock, bool unpauseOnUnlock=true);
|
|
|
|
void DoState(PointerWrap &p);
|
2012-12-23 12:32:23 +00:00
|
|
|
|
|
|
|
public:
|
|
|
|
void CheckInvalidState();
|
2011-01-31 01:28:32 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|