mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-13 02:08:49 +12:00
Thanks a lot to @3141card for all the relevant information about RSX related lv2 syscalls.
54 lines
964 B
C++
54 lines
964 B
C++
#pragma once
|
|
#include "sysutil_video.h"
|
|
#include "GSRender.h"
|
|
#include "rpcs3/Ini.h"
|
|
|
|
struct GSInfo
|
|
{
|
|
struct
|
|
{
|
|
u8 resolutionId;
|
|
u8 scanMode;
|
|
u8 conversion;
|
|
u8 aspect;
|
|
u8 format;
|
|
u16 refreshRates;
|
|
u32 pitch;
|
|
} mode;
|
|
//CellVideoOutDisplayMode mode;
|
|
|
|
GSInfo()
|
|
{
|
|
}
|
|
|
|
void Init()
|
|
{
|
|
mode.resolutionId = Ini.GSResolution.GetValue();
|
|
mode.scanMode = CELL_VIDEO_OUT_SCAN_MODE_INTERLACE;
|
|
mode.conversion = CELL_VIDEO_OUT_DISPLAY_CONVERSION_NONE;
|
|
mode.aspect = Ini.GSAspectRatio.GetValue();
|
|
mode.refreshRates = CELL_VIDEO_OUT_REFRESH_RATE_50HZ;
|
|
mode.format = CELL_VIDEO_OUT_BUFFER_COLOR_FORMAT_X8R8G8B8;
|
|
mode.pitch = 4;
|
|
}
|
|
};
|
|
|
|
class GSManager
|
|
{
|
|
GSInfo m_info;
|
|
GSRender* m_render;
|
|
|
|
public:
|
|
GSManager();
|
|
|
|
void Init();
|
|
void Close();
|
|
|
|
bool IsInited() const { return m_render != nullptr; }
|
|
|
|
GSInfo& GetInfo() { return m_info; }
|
|
GSRender& GetRender() { assert(m_render); return *m_render; }
|
|
|
|
u8 GetState();
|
|
u8 GetColorSpace();
|
|
};
|