aboutsummaryrefslogtreecommitdiff
path: root/src/GPU3D.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/GPU3D.cpp')
-rw-r--r--src/GPU3D.cpp22
1 files changed, 9 insertions, 13 deletions
diff --git a/src/GPU3D.cpp b/src/GPU3D.cpp
index 9b41830..c933c82 100644
--- a/src/GPU3D.cpp
+++ b/src/GPU3D.cpp
@@ -273,7 +273,7 @@ u32 RenderNumPolygons;
u32 FlushRequest;
u32 FlushAttributes;
-
+std::unique_ptr<GPU3D::Renderer3D> CurrentRenderer = {};
bool Init()
{
@@ -2497,12 +2497,12 @@ void CheckFIFODMA()
void VCount144()
{
- if (GPU::Renderer == 0) SoftRenderer::VCount144();
+ CurrentRenderer->VCount144();
}
void RestartFrame()
{
- if (GPU::Renderer == 0) SoftRenderer::SetupRenderThread();
+ CurrentRenderer->RestartFrame();
}
@@ -2597,10 +2597,7 @@ void VBlank()
void VCount215()
{
- if (GPU::Renderer == 0) SoftRenderer::RenderFrame();
-#ifdef OGLRENDERER_ENABLED
- else GLRenderer::RenderFrame();
-#endif
+ CurrentRenderer->RenderFrame();
}
void SetRenderXPos(u16 xpos)
@@ -2614,12 +2611,7 @@ u32 ScrolledLine[256];
u32* GetLine(int line)
{
- u32* rawline = NULL;
-
- if (GPU::Renderer == 0) rawline = SoftRenderer::GetLine(line);
-#ifdef OGLRENDERER_ENABLED
- else rawline = GLRenderer::GetLine(line);
-#endif
+ u32* rawline = CurrentRenderer->GetLine(line);
if (RenderXPos == 0) return rawline;
@@ -3055,5 +3047,9 @@ void Write32(u32 addr, u32 val)
printf("unknown GPU3D write32 %08X %08X\n", addr, val);
}
+Renderer3D::Renderer3D(bool Accelerated)
+: Accelerated(Accelerated)
+{ }
+
}