TextureCache: Add "Mono EFB Depth Copy" stereoscopy option.

This commit is contained in:
Jules Blok
2014-11-08 16:19:15 +01:00
parent 9994ccb342
commit 0f63186371
6 changed files with 22 additions and 18 deletions

View File

@ -116,7 +116,8 @@ void TextureCache::OnConfigChanged(VideoConfig& config)
g_texture_cache->ClearRenderTargets();
}
if ((config.iStereoMode > 0) != backup_config.s_stereo_3d)
if ((config.iStereoMode > 0) != backup_config.s_stereo_3d ||
config.bStereoMonoEFBDepth != backup_config.s_mono_efb_depth)
{
g_texture_cache->DeleteShaders();
g_texture_cache->CompileShaders();
@ -133,6 +134,7 @@ void TextureCache::OnConfigChanged(VideoConfig& config)
backup_config.s_hires_textures = config.bHiresTextures;
backup_config.s_copy_cache_enable = config.bEFBCopyCacheEnable;
backup_config.s_stereo_3d = config.iStereoMode > 0;
backup_config.s_mono_efb_depth = config.bStereoMonoEFBDepth;
}
void TextureCache::Cleanup()

View File

@ -146,6 +146,7 @@ private:
bool s_hires_textures;
bool s_copy_cache_enable;
bool s_stereo_3d;
bool s_mono_efb_depth;
} backup_config;
};

View File

@ -70,6 +70,7 @@ void VideoConfig::Load(const std::string& ini_file)
settings->Get("StereoSeparation", &iStereoSeparation, 50);
settings->Get("StereoFocalLength", &iStereoFocalLength, 30);
settings->Get("StereoSwapEyes", &bStereoSwapEyes, false);
settings->Get("StereoMonoEFBDepth", &bStereoMonoEFBDepth, false);
settings->Get("EnablePixelLighting", &bEnablePixelLighting, 0);
settings->Get("FastDepthCalc", &bFastDepthCalc, true);
settings->Get("MSAA", &iMultisampleMode, 0);
@ -145,6 +146,7 @@ void VideoConfig::GameIniLoad()
CHECK_SETTING("Video_Settings", "StereoSeparation", iStereoSeparation);
CHECK_SETTING("Video_Settings", "StereoFocalLength", iStereoFocalLength);
CHECK_SETTING("Video_Settings", "StereoSwapEyes", bStereoSwapEyes);
CHECK_SETTING("Video_Settings", "StereoMonoEFBDepth", bStereoMonoEFBDepth);
CHECK_SETTING("Video_Settings", "EnablePixelLighting", bEnablePixelLighting);
CHECK_SETTING("Video_Settings", "FastDepthCalc", bFastDepthCalc);
CHECK_SETTING("Video_Settings", "MSAA", iMultisampleMode);
@ -237,6 +239,7 @@ void VideoConfig::Save(const std::string& ini_file)
settings->Set("StereoSeparation", iStereoSeparation);
settings->Set("StereoFocalLength", iStereoFocalLength);
settings->Set("StereoSwapEyes", bStereoSwapEyes);
settings->Set("StereoMonoEFBDepth", bStereoMonoEFBDepth);
settings->Set("EnablePixelLighting", bEnablePixelLighting);
settings->Set("FastDepthCalc", bFastDepthCalc);
settings->Set("ShowEFBCopyRegions", bShowEFBCopyRegions);

View File

@ -83,6 +83,7 @@ struct VideoConfig final
int iStereoSeparation;
int iStereoFocalLength;
bool bStereoSwapEyes;
bool bStereoMonoEFBDepth;
// Information
bool bShowFPS;