mirror of
https://github.com/melonDS-emu/melonDS.git
synced 2025-07-16 10:49:47 -06:00
* rework GPU's settings interface, make it config-agnostic
* make video settings dialog functional, sorta * fix dialogs that were resizable
This commit is contained in:
@ -157,8 +157,6 @@ u32 NumCommands, CurCommand, ParamCount, TotalParams;
|
||||
bool GeometryEnabled;
|
||||
bool RenderingEnabled;
|
||||
|
||||
int Renderer;
|
||||
|
||||
u32 DispCnt;
|
||||
u8 AlphaRefVal, AlphaRef;
|
||||
|
||||
@ -280,17 +278,11 @@ bool Init()
|
||||
|
||||
CmdStallQueue = new FIFO<CmdFIFOEntry>(64);
|
||||
|
||||
Renderer = -1;
|
||||
// SetRenderer() will be called to set it up later
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void DeInit()
|
||||
{
|
||||
if (Renderer == 0) SoftRenderer::DeInit();
|
||||
else GLRenderer::DeInit();
|
||||
|
||||
delete CmdFIFO;
|
||||
delete CmdPIPE;
|
||||
|
||||
@ -391,8 +383,6 @@ void Reset()
|
||||
FlushAttributes = 0;
|
||||
|
||||
ResetRenderingState();
|
||||
if (Renderer == 0) SoftRenderer::Reset();
|
||||
else GLRenderer::Reset();
|
||||
}
|
||||
|
||||
void DoSavestate(Savestate* file)
|
||||
@ -607,43 +597,6 @@ void SetEnabled(bool geometry, bool rendering)
|
||||
}
|
||||
|
||||
|
||||
int InitRenderer(bool hasGL)
|
||||
{
|
||||
int renderer = hasGL ? Config::_3DRenderer : 0;
|
||||
|
||||
if (renderer == 1)
|
||||
{
|
||||
if (!GLRenderer::Init())
|
||||
renderer = 0;
|
||||
}
|
||||
printf("renderer: %d\n", renderer);
|
||||
if (renderer == 0) SoftRenderer::Init();
|
||||
|
||||
Renderer = renderer;
|
||||
UpdateRendererConfig();
|
||||
GPU::SetDisplaySettings(Renderer != 0);
|
||||
return renderer;
|
||||
}
|
||||
|
||||
void DeInitRenderer()
|
||||
{
|
||||
if (Renderer == 0) SoftRenderer::DeInit();
|
||||
else GLRenderer::DeInit();
|
||||
}
|
||||
|
||||
void UpdateRendererConfig()
|
||||
{
|
||||
if (Renderer == 0)
|
||||
{
|
||||
SoftRenderer::SetupRenderThread();
|
||||
}
|
||||
else
|
||||
{
|
||||
GLRenderer::UpdateDisplaySettings();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void MatrixLoadIdentity(s32* m)
|
||||
{
|
||||
@ -2470,7 +2423,7 @@ void CheckFIFODMA()
|
||||
|
||||
void VCount144()
|
||||
{
|
||||
if (Renderer == 0) SoftRenderer::VCount144();
|
||||
if (GPU::Renderer == 0) SoftRenderer::VCount144();
|
||||
}
|
||||
|
||||
|
||||
@ -2552,14 +2505,14 @@ void VBlank()
|
||||
|
||||
void VCount215()
|
||||
{
|
||||
if (Renderer == 0) SoftRenderer::RenderFrame();
|
||||
else GLRenderer::RenderFrame();
|
||||
if (GPU::Renderer == 0) SoftRenderer::RenderFrame();
|
||||
else GLRenderer::RenderFrame();
|
||||
}
|
||||
|
||||
u32* GetLine(int line)
|
||||
{
|
||||
if (Renderer == 0) return SoftRenderer::GetLine(line);
|
||||
else return GLRenderer::GetLine(line);
|
||||
if (GPU::Renderer == 0) return SoftRenderer::GetLine(line);
|
||||
else return GLRenderer::GetLine(line);
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user