diff options
Diffstat (limited to 'Source/Core/VideoCommon/Src/RenderBase.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/Src/RenderBase.cpp | 30 |
1 files changed, 27 insertions, 3 deletions
diff --git a/Source/Core/VideoCommon/Src/RenderBase.cpp b/Source/Core/VideoCommon/Src/RenderBase.cpp index 1237af7c55..5b73fdef6b 100644 --- a/Source/Core/VideoCommon/Src/RenderBase.cpp +++ b/Source/Core/VideoCommon/Src/RenderBase.cpp @@ -117,18 +117,33 @@ bool Renderer::CalculateTargetSize(int multiplier) int newEFBWidth, newEFBHeight; switch (s_LastEFBScale) { - case 0: + default: + case 0: // fractional newEFBWidth = (int)(EFB_WIDTH * xScale); newEFBHeight = (int)(EFB_HEIGHT * yScale); break; - case 1: + case 1: // integral newEFBWidth = EFB_WIDTH * (int)ceilf(xScale); newEFBHeight = EFB_HEIGHT * (int)ceilf(yScale); break; - default: + case 2: // 1x + case 3: // 2x + case 4: // 3x newEFBWidth = EFB_WIDTH * (g_ActiveConfig.iEFBScale - 1); newEFBHeight = EFB_HEIGHT * (g_ActiveConfig.iEFBScale - 1); break; + case 5: // 0.75x + newEFBWidth = (EFB_WIDTH * 3) / 4; + newEFBHeight = (EFB_HEIGHT * 3) / 4; + break; + case 6: // 0.5x + newEFBWidth = EFB_WIDTH / 2; + newEFBHeight = EFB_HEIGHT / 2; + break; + case 7: // 0.375x + newEFBWidth = (EFB_WIDTH * 3) / 8; + newEFBHeight = (EFB_HEIGHT * 3) / 8; + break; }; newEFBWidth *= multiplier; @@ -182,6 +197,15 @@ void Renderer::DrawDebugText() case 4: res_text = "3x"; break; + case 5: + res_text = "0.75x"; + break; + case 6: + res_text = "0.5x"; + break; + case 7: + res_text = "0.375x"; + break; } const char* ar_text = ""; |
