- If GPU engine A is disabled, then continue respecting the 3D rendering order when blanking out the 3D framebuffer.
This commit is contained in:
rogerman 2016-03-18 21:25:46 +00:00
parent a0f207c66a
commit fbf2b970a1
1 changed files with 14 additions and 10 deletions

View File

@ -2310,13 +2310,6 @@ void gfx3d_VBlankEndSignal(bool skipFrame)
if (skipFrame) return;
drawPending = FALSE;
if (!CommonSettings.showGpu.main)
{
memset(GPU->GetEngineMain()->Get3DFramebufferRGBA6665(), 0, GPU->GetCustomFramebufferWidth() * GPU->GetCustomFramebufferHeight() * sizeof(FragmentColor));
memset(GPU->GetEngineMain()->Get3DFramebufferRGBA5551(), 0, GPU->GetCustomFramebufferWidth() * GPU->GetCustomFramebufferHeight() * sizeof(u16));
return;
}
if (CurrentRenderer->GetRenderNeedsFinish())
{
@ -2328,9 +2321,20 @@ void gfx3d_VBlankEndSignal(bool skipFrame)
}
GPU->GetEventHandler()->DidRender3DBegin();
CurrentRenderer->SetRenderNeedsFinish(true);
CurrentRenderer->SetTextureProcessingProperties(CommonSettings.GFX3D_Renderer_TextureDeposterize, CommonSettings.GFX3D_Renderer_TextureScalingFactor);
CurrentRenderer->Render(gfx3d);
if (CommonSettings.showGpu.main)
{
CurrentRenderer->SetRenderNeedsFinish(true);
CurrentRenderer->SetTextureProcessingProperties(CommonSettings.GFX3D_Renderer_TextureDeposterize, CommonSettings.GFX3D_Renderer_TextureScalingFactor);
CurrentRenderer->Render(gfx3d);
}
else
{
memset(GPU->GetEngineMain()->Get3DFramebufferRGBA6665(), 0, GPU->GetCustomFramebufferWidth() * GPU->GetCustomFramebufferHeight() * sizeof(FragmentColor));
memset(GPU->GetEngineMain()->Get3DFramebufferRGBA5551(), 0, GPU->GetCustomFramebufferWidth() * GPU->GetCustomFramebufferHeight() * sizeof(u16));
CurrentRenderer->SetRenderNeedsFinish(false);
GPU->GetEventHandler()->DidRender3DEnd();
}
}
//#define _3D_LOG