summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/Src/VideoConfig.cpp
diff options
context:
space:
mode:
authorRachel Bryk <RachelBryk@gmail.com>2013-04-05 17:13:48 -0400
committerRachel Bryk <RachelBryk@gmail.com>2013-04-05 17:13:48 -0400
commite5319700523c0639e7a88d7c5ebf6f23f407a3b2 (patch)
treed0f4ea1d69d30c2ce2553696f919aa8f8ea060d9 /Source/Core/VideoCommon/Src/VideoConfig.cpp
parent3e8ba3f3e87bc4d9016e88613e14b4f14117d6ab (diff)
Round IR scale down to whole number if using 1.5x/2.5x IR, if game ini specifies -1 for EFBScale.
Fixes issue 6210.
Diffstat (limited to 'Source/Core/VideoCommon/Src/VideoConfig.cpp')
-rw-r--r--Source/Core/VideoCommon/Src/VideoConfig.cpp21
1 files changed, 20 insertions, 1 deletions
diff --git a/Source/Core/VideoCommon/Src/VideoConfig.cpp b/Source/Core/VideoCommon/Src/VideoConfig.cpp
index 25ae6c0af9..6910952d5e 100644
--- a/Source/Core/VideoCommon/Src/VideoConfig.cpp
+++ b/Source/Core/VideoCommon/Src/VideoConfig.cpp
@@ -137,7 +137,26 @@ void VideoConfig::GameIniLoad(const char *ini_file)
iniFile.GetIfExists("Video_Settings", "EnablePixelLighting", &bEnablePixelLighting);
iniFile.GetIfExists("Video_Settings", "HackedBufferUpload", &bHackedBufferUpload);
iniFile.GetIfExists("Video_Settings", "MSAA", &iMultisampleMode);
- iniFile.GetIfExists("Video_Settings", "EFBScale", &iEFBScale); // integral
+ int tmp = 0;
+ iniFile.GetIfExists("Video_Settings", "EFBScale", &tmp); // integral
+ if (tmp != -1)
+ iEFBScale = tmp;
+ // Round down to multiple of native IR
+ else
+ {
+ switch (iEFBScale)
+ {
+ case 3: // 1.5x
+ iEFBScale = 2;
+ break;
+ case 5: // 2.5x
+ iEFBScale = 4;
+ break;
+ default:
+ break;
+ }
+ }
+
iniFile.GetIfExists("Video_Settings", "DstAlphaPass", &bDstAlphaPass);
iniFile.GetIfExists("Video_Settings", "DisableFog", &bDisableFog);
iniFile.GetIfExists("Video_Settings", "EnableOpenCL", &bEnableOpenCL);