diff options
Diffstat (limited to 'src/GPU3D.cpp')
-rw-r--r-- | src/GPU3D.cpp | 22 |
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) +{ } + } |