summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/Src/RenderBase.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/VideoCommon/Src/RenderBase.cpp')
-rw-r--r--Source/Core/VideoCommon/Src/RenderBase.cpp30
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 = "";